@xyflow/react 12.0.0-next.1 → 12.0.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base.css +6 -1
- package/dist/esm/components/EdgeWrapper/EdgeUpdateAnchors.d.ts +2 -2
- package/dist/esm/components/EdgeWrapper/EdgeUpdateAnchors.d.ts.map +1 -1
- package/dist/esm/components/EdgeWrapper/index.d.ts +1 -1
- package/dist/esm/components/EdgeWrapper/index.d.ts.map +1 -1
- package/dist/esm/container/EdgeRenderer/index.d.ts +1 -1
- package/dist/esm/container/EdgeRenderer/index.d.ts.map +1 -1
- package/dist/esm/container/GraphView/index.d.ts.map +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/index.mjs +7 -7
- package/dist/esm/types/edges.d.ts +0 -2
- package/dist/esm/types/edges.d.ts.map +1 -1
- package/dist/style.css +6 -6
- package/dist/umd/components/EdgeWrapper/EdgeUpdateAnchors.d.ts +2 -2
- package/dist/umd/components/EdgeWrapper/EdgeUpdateAnchors.d.ts.map +1 -1
- package/dist/umd/components/EdgeWrapper/index.d.ts +1 -1
- package/dist/umd/components/EdgeWrapper/index.d.ts.map +1 -1
- package/dist/umd/container/EdgeRenderer/index.d.ts +1 -1
- package/dist/umd/container/EdgeRenderer/index.d.ts.map +1 -1
- package/dist/umd/container/GraphView/index.d.ts.map +1 -1
- package/dist/umd/index.js +1 -1
- package/dist/umd/types/edges.d.ts +0 -2
- package/dist/umd/types/edges.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/base.css
CHANGED
|
@@ -101,6 +101,11 @@
|
|
|
101
101
|
.react-flow__edges {
|
|
102
102
|
position: absolute;
|
|
103
103
|
}
|
|
104
|
+
.react-flow__edges svg {
|
|
105
|
+
overflow: visible;
|
|
106
|
+
position: absolute;
|
|
107
|
+
pointer-events: none;
|
|
108
|
+
}
|
|
104
109
|
.react-flow__edge {
|
|
105
110
|
pointer-events: visibleStroke;
|
|
106
111
|
cursor: pointer;
|
|
@@ -142,7 +147,7 @@
|
|
|
142
147
|
stroke-dasharray: 5;
|
|
143
148
|
animation: dashdraw 0.5s linear infinite;
|
|
144
149
|
}
|
|
145
|
-
.react-flow__connectionline {
|
|
150
|
+
svg.react-flow__connectionline {
|
|
146
151
|
z-index: 1001;
|
|
147
152
|
overflow: visible;
|
|
148
153
|
position: absolute;
|
|
@@ -4,8 +4,8 @@ type EdgeUpdateAnchorsProps = {
|
|
|
4
4
|
edge: Edge;
|
|
5
5
|
isUpdatable: boolean | 'source' | 'target';
|
|
6
6
|
edgeUpdaterRadius: EdgeWrapperProps['edgeUpdaterRadius'];
|
|
7
|
-
sourceHandleId:
|
|
8
|
-
targetHandleId:
|
|
7
|
+
sourceHandleId: Edge['sourceHandle'];
|
|
8
|
+
targetHandleId: Edge['targetHandle'];
|
|
9
9
|
onEdgeUpdate: EdgeWrapperProps['onEdgeUpdate'];
|
|
10
10
|
onEdgeUpdateStart: EdgeWrapperProps['onEdgeUpdateStart'];
|
|
11
11
|
onEdgeUpdateEnd: EdgeWrapperProps['onEdgeUpdateEnd'];
|
|
@@ -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,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzD,cAAc,EAAE,
|
|
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,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,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,cAAc,CAAC,CAAC;IAC/C,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzD,eAAe,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACrD,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,GAAG,YAAY,CAAC;AAEjB,iBAAS,iBAAiB,CAAC,EACzB,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,2CAiGxB;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { EdgeWrapperProps } from '../../types';
|
|
3
|
-
declare function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, onClick, onDoubleClick,
|
|
3
|
+
declare function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, onClick, onDoubleClick, onContextMenu, onMouseEnter, onMouseMove, onMouseLeave, edgeUpdaterRadius, onEdgeUpdate, onEdgeUpdateStart, onEdgeUpdateEnd, rfId, edgeTypes, noPanClassName, onError, }: EdgeWrapperProps): JSX.Element | null;
|
|
4
4
|
declare namespace EdgeWrapper {
|
|
5
5
|
var displayName: string;
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/EdgeWrapper/index.tsx"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,iBAAS,WAAW,CAAC,EACnB,EAAE,EACF,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/EdgeWrapper/index.tsx"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,iBAAS,WAAW,CAAC,EACnB,EAAE,EACF,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,SAAS,EACT,cAAc,EACd,OAAO,GACR,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA+NvC;kBAlPQ,WAAW;;;;AAsPpB,wBAAiC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { GraphViewProps } from '../GraphView';
|
|
3
3
|
type EdgeRendererProps = Pick<GraphViewProps, 'onEdgeClick' | 'onEdgeDoubleClick' | 'defaultMarkerColor' | 'onlyRenderVisibleElements' | 'onEdgeUpdate' | 'onEdgeContextMenu' | 'onEdgeMouseEnter' | 'onEdgeMouseMove' | 'onEdgeMouseLeave' | 'onEdgeUpdateStart' | 'onEdgeUpdateEnd' | 'edgeUpdaterRadius' | 'noPanClassName' | 'rfId' | 'disableKeyboardA11y' | 'edgeTypes'> & {
|
|
4
|
-
children
|
|
4
|
+
children?: ReactNode;
|
|
5
5
|
};
|
|
6
6
|
declare const _default: import("react").MemoExoticComponent<{
|
|
7
7
|
({ defaultMarkerColor, onlyRenderVisibleElements, rfId, edgeTypes, noPanClassName, onEdgeUpdate, onEdgeContextMenu, onEdgeMouseEnter, onEdgeMouseMove, onEdgeMouseLeave, onEdgeClick, edgeUpdaterRadius, onEdgeDoubleClick, onEdgeUpdateStart, onEdgeUpdateEnd, children, }: EdgeRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/EdgeRenderer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,OAAO,CAAC;AAMxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,KAAK,iBAAiB,GAAG,IAAI,CAC3B,cAAc,EACZ,aAAa,GACb,mBAAmB,GACnB,oBAAoB,GACpB,2BAA2B,GAC3B,cAAc,GACd,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,MAAM,GACN,qBAAqB,GACrB,WAAW,CACd,GAAG;IACF,QAAQ,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/EdgeRenderer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,OAAO,CAAC;AAMxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,KAAK,iBAAiB,GAAG,IAAI,CAC3B,cAAc,EACZ,aAAa,GACb,mBAAmB,GACnB,oBAAoB,GACpB,2BAA2B,GAC3B,cAAc,GACd,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,MAAM,GACN,qBAAqB,GACrB,WAAW,CACd,GAAG;IACF,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;;;;;AAqEF,wBAAkC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/GraphView/index.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,sBAAsB,CAC1G,GACC,QAAQ,CACN,IAAI,CACF,cAAc,EACZ,kBAAkB,GAClB,eAAe,GACf,uBAAuB,GACvB,oBAAoB,GACpB,2BAA2B,GAC3B,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,qBAAqB,GACrB,YAAY,CACf,CACF,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/GraphView/index.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,sBAAsB,CAC1G,GACC,QAAQ,CACN,IAAI,CACF,cAAc,EACZ,kBAAkB,GAClB,eAAe,GACf,uBAAuB,GACvB,oBAAoB,GACpB,2BAA2B,GAC3B,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,qBAAqB,GACrB,YAAY,CACf,CACF,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;;;;;AAiKJ,wBAA+B"}
|
package/dist/esm/index.js
CHANGED
|
@@ -2098,7 +2098,7 @@ function EdgeUpdateAnchors({ isUpdatable, edgeUpdaterRadius, edge, targetHandleI
|
|
|
2098
2098
|
return (jsxs(Fragment, { children: [(isUpdatable === 'source' || isUpdatable === true) && (jsx(EdgeAnchor, { position: sourcePosition, centerX: sourceX, centerY: sourceY, radius: edgeUpdaterRadius, onMouseDown: onEdgeUpdaterSourceMouseDown, onMouseEnter: onEdgeUpdaterMouseEnter, onMouseOut: onEdgeUpdaterMouseOut, type: "source" })), (isUpdatable === 'target' || isUpdatable === true) && (jsx(EdgeAnchor, { position: targetPosition, centerX: targetX, centerY: targetY, radius: edgeUpdaterRadius, onMouseDown: onEdgeUpdaterTargetMouseDown, onMouseEnter: onEdgeUpdaterMouseEnter, onMouseOut: onEdgeUpdaterMouseOut, type: "target" }))] }));
|
|
2099
2099
|
}
|
|
2100
2100
|
|
|
2101
|
-
function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, onClick, onDoubleClick,
|
|
2101
|
+
function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, onClick, onDoubleClick, onContextMenu, onMouseEnter, onMouseMove, onMouseLeave, edgeUpdaterRadius, onEdgeUpdate, onEdgeUpdateStart, onEdgeUpdateEnd, rfId, edgeTypes, noPanClassName, onError, }) {
|
|
2102
2102
|
let edge = useStore((s) => s.edgeLookup.get(id));
|
|
2103
2103
|
const defaultEdgeOptions = useStore((s) => s.defaultEdgeOptions);
|
|
2104
2104
|
edge = defaultEdgeOptions ? { ...defaultEdgeOptions, ...edge } : edge;
|
|
@@ -2130,8 +2130,8 @@ function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, o
|
|
|
2130
2130
|
id,
|
|
2131
2131
|
sourceNode,
|
|
2132
2132
|
targetNode,
|
|
2133
|
-
sourceHandle:
|
|
2134
|
-
targetHandle:
|
|
2133
|
+
sourceHandle: edge.sourceHandle || null,
|
|
2134
|
+
targetHandle: edge.targetHandle || null,
|
|
2135
2135
|
connectionMode: store.connectionMode,
|
|
2136
2136
|
onError,
|
|
2137
2137
|
});
|
|
@@ -2146,7 +2146,7 @@ function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, o
|
|
|
2146
2146
|
zIndex,
|
|
2147
2147
|
...(edgePosition || nullPosition),
|
|
2148
2148
|
};
|
|
2149
|
-
}, [edge.source, edge.target, edge.selected, edge.zIndex]), shallow);
|
|
2149
|
+
}, [edge.source, edge.target, edge.sourceHandle, edge.targetHandle, edge.selected, edge.zIndex]), shallow);
|
|
2150
2150
|
const markerStartUrl = useMemo(() => (edge.markerStart ? `url(#${getMarkerId(edge.markerStart, rfId)})` : undefined), [edge.markerStart, rfId]);
|
|
2151
2151
|
const markerEndUrl = useMemo(() => (edge.markerEnd ? `url(#${getMarkerId(edge.markerEnd, rfId)})` : undefined), [edge.markerEnd, rfId]);
|
|
2152
2152
|
if (edge.hidden || !sourceX || !sourceY || !targetX || !targetY) {
|
|
@@ -2217,7 +2217,7 @@ function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, o
|
|
|
2217
2217
|
inactive: !isSelectable && !onClick,
|
|
2218
2218
|
updating: updateHover,
|
|
2219
2219
|
},
|
|
2220
|
-
]), onClick: onEdgeClick, onDoubleClick: onEdgeDoubleClick, onContextMenu: onEdgeContextMenu, onMouseEnter: onEdgeMouseEnter, onMouseMove: onEdgeMouseMove, onMouseLeave: onEdgeMouseLeave, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, role: isFocusable ? 'button' : 'img', "data-id": id, "data-testid": `rf__edge-${id}`, "aria-label": edge.ariaLabel === null ? undefined : edge.ariaLabel || `Edge from ${edge.source} to ${edge.target}`, "aria-describedby": isFocusable ? `${ARIA_EDGE_DESC_KEY}-${rfId}` : undefined, ref: edgeRef, children: [!updating && (jsx(EdgeComponent, { id: id, source: edge.source, target: edge.target, selected: edge.selected, animated: edge.animated, label: edge.label, labelStyle: edge.labelStyle, labelShowBg: edge.labelShowBg, labelBgStyle: edge.labelBgStyle, labelBgPadding: edge.labelBgPadding, labelBgBorderRadius: edge.labelBgBorderRadius, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, data: edge.data, style: edge.style, sourceHandleId:
|
|
2220
|
+
]), onClick: onEdgeClick, onDoubleClick: onEdgeDoubleClick, onContextMenu: onEdgeContextMenu, onMouseEnter: onEdgeMouseEnter, onMouseMove: onEdgeMouseMove, onMouseLeave: onEdgeMouseLeave, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, role: isFocusable ? 'button' : 'img', "data-id": id, "data-testid": `rf__edge-${id}`, "aria-label": edge.ariaLabel === null ? undefined : edge.ariaLabel || `Edge from ${edge.source} to ${edge.target}`, "aria-describedby": isFocusable ? `${ARIA_EDGE_DESC_KEY}-${rfId}` : undefined, ref: edgeRef, children: [!updating && (jsx(EdgeComponent, { id: id, source: edge.source, target: edge.target, selected: edge.selected, animated: edge.animated, label: edge.label, labelStyle: edge.labelStyle, labelShowBg: edge.labelShowBg, labelBgStyle: edge.labelBgStyle, labelBgPadding: edge.labelBgPadding, labelBgBorderRadius: edge.labelBgBorderRadius, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, data: edge.data, style: edge.style, sourceHandleId: edge.sourceHandle, targetHandleId: edge.targetHandle, markerStart: markerStartUrl, markerEnd: markerEndUrl, pathOptions: 'pathOptions' in edge ? edge.pathOptions : undefined, interactionWidth: edge.interactionWidth })), isUpdatable && (jsx(EdgeUpdateAnchors, { edge: edge, isUpdatable: isUpdatable, edgeUpdaterRadius: edgeUpdaterRadius, onEdgeUpdate: onEdgeUpdate, onEdgeUpdateStart: onEdgeUpdateStart, onEdgeUpdateEnd: onEdgeUpdateEnd, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, setUpdateHover: setUpdateHover, setUpdating: setUpdating, sourceHandleId: edge.sourceHandle, targetHandleId: edge.targetHandle }))] }) }));
|
|
2221
2221
|
}
|
|
2222
2222
|
EdgeWrapper.displayName = 'EdgeWrapper';
|
|
2223
2223
|
var EdgeWrapper$1 = memo(EdgeWrapper);
|
|
@@ -2362,7 +2362,7 @@ function ConnectionLineWrapper({ containerStyle, style, type, component }) {
|
|
|
2362
2362
|
if (!isValid) {
|
|
2363
2363
|
return null;
|
|
2364
2364
|
}
|
|
2365
|
-
return (jsx("svg", { style: containerStyle, width: width, height: height, className: "react-
|
|
2365
|
+
return (jsx("svg", { style: containerStyle, width: width, height: height, className: "react-flow__connectionline react-flow__container", children: jsx("g", { className: cc(['react-flow__connection', connectionStatus]), children: jsx(ConnectionLine, { nodeId: nodeId, handleType: handleType, style: style, type: type, CustomComponent: component, connectionStatus: connectionStatus }) }) }));
|
|
2366
2366
|
}
|
|
2367
2367
|
|
|
2368
2368
|
const emptyTypes = {};
|
|
@@ -2385,7 +2385,7 @@ const GraphView = ({ nodeTypes, edgeTypes, onInit, onNodeClick, onEdgeClick, onN
|
|
|
2385
2385
|
useNodeOrEdgeTypesWarning(edgeTypes);
|
|
2386
2386
|
useOnInitHandler(onInit);
|
|
2387
2387
|
useViewportSync(viewport);
|
|
2388
|
-
return (jsx(FlowRenderer$1, { onPaneClick: onPaneClick, onPaneMouseEnter: onPaneMouseEnter, onPaneMouseMove: onPaneMouseMove, onPaneMouseLeave: onPaneMouseLeave, onPaneContextMenu: onPaneContextMenu, onPaneScroll: onPaneScroll, deleteKeyCode: deleteKeyCode, selectionKeyCode: selectionKeyCode, selectionOnDrag: selectionOnDrag, selectionMode: selectionMode, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionEnd, multiSelectionKeyCode: multiSelectionKeyCode, panActivationKeyCode: panActivationKeyCode, zoomActivationKeyCode: zoomActivationKeyCode, elementsSelectable: elementsSelectable, zoomOnScroll: zoomOnScroll, zoomOnPinch: zoomOnPinch, zoomOnDoubleClick: zoomOnDoubleClick, panOnScroll: panOnScroll, panOnScrollSpeed: panOnScrollSpeed, panOnScrollMode: panOnScrollMode, panOnDrag: panOnDrag, defaultViewport: defaultViewport, translateExtent: translateExtent, minZoom: minZoom, maxZoom: maxZoom, onSelectionContextMenu: onSelectionContextMenu, preventScrolling: preventScrolling, noDragClassName: noDragClassName, noWheelClassName: noWheelClassName, noPanClassName: noPanClassName, disableKeyboardA11y: disableKeyboardA11y, onViewportChange: onViewportChange, isControlledViewport: !!viewport, children: jsxs(Viewport, { children: [jsx(EdgeRenderer$1, { edgeTypes: edgeTypes, onEdgeClick: onEdgeClick, onEdgeDoubleClick: onEdgeDoubleClick, onEdgeUpdate: onEdgeUpdate, onlyRenderVisibleElements: onlyRenderVisibleElements, onEdgeContextMenu: onEdgeContextMenu, onEdgeMouseEnter: onEdgeMouseEnter, onEdgeMouseMove: onEdgeMouseMove, onEdgeMouseLeave: onEdgeMouseLeave, onEdgeUpdateStart: onEdgeUpdateStart, onEdgeUpdateEnd: onEdgeUpdateEnd, edgeUpdaterRadius: edgeUpdaterRadius, defaultMarkerColor: defaultMarkerColor, noPanClassName: noPanClassName, disableKeyboardA11y: disableKeyboardA11y, rfId: rfId,
|
|
2388
|
+
return (jsx(FlowRenderer$1, { onPaneClick: onPaneClick, onPaneMouseEnter: onPaneMouseEnter, onPaneMouseMove: onPaneMouseMove, onPaneMouseLeave: onPaneMouseLeave, onPaneContextMenu: onPaneContextMenu, onPaneScroll: onPaneScroll, deleteKeyCode: deleteKeyCode, selectionKeyCode: selectionKeyCode, selectionOnDrag: selectionOnDrag, selectionMode: selectionMode, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionEnd, multiSelectionKeyCode: multiSelectionKeyCode, panActivationKeyCode: panActivationKeyCode, zoomActivationKeyCode: zoomActivationKeyCode, elementsSelectable: elementsSelectable, zoomOnScroll: zoomOnScroll, zoomOnPinch: zoomOnPinch, zoomOnDoubleClick: zoomOnDoubleClick, panOnScroll: panOnScroll, panOnScrollSpeed: panOnScrollSpeed, panOnScrollMode: panOnScrollMode, panOnDrag: panOnDrag, defaultViewport: defaultViewport, translateExtent: translateExtent, minZoom: minZoom, maxZoom: maxZoom, onSelectionContextMenu: onSelectionContextMenu, preventScrolling: preventScrolling, noDragClassName: noDragClassName, noWheelClassName: noWheelClassName, noPanClassName: noPanClassName, disableKeyboardA11y: disableKeyboardA11y, onViewportChange: onViewportChange, isControlledViewport: !!viewport, children: jsxs(Viewport, { children: [jsx(EdgeRenderer$1, { edgeTypes: edgeTypes, onEdgeClick: onEdgeClick, onEdgeDoubleClick: onEdgeDoubleClick, onEdgeUpdate: onEdgeUpdate, onlyRenderVisibleElements: onlyRenderVisibleElements, onEdgeContextMenu: onEdgeContextMenu, onEdgeMouseEnter: onEdgeMouseEnter, onEdgeMouseMove: onEdgeMouseMove, onEdgeMouseLeave: onEdgeMouseLeave, onEdgeUpdateStart: onEdgeUpdateStart, onEdgeUpdateEnd: onEdgeUpdateEnd, edgeUpdaterRadius: edgeUpdaterRadius, defaultMarkerColor: defaultMarkerColor, noPanClassName: noPanClassName, disableKeyboardA11y: disableKeyboardA11y, rfId: rfId }), jsx(ConnectionLineWrapper, { style: connectionLineStyle, type: connectionLineType, component: connectionLineComponent, containerStyle: connectionLineContainerStyle }), jsx("div", { className: "react-flow__edgelabel-renderer" }), jsx("div", { className: "react-flow__viewport-portal" }), jsx(NodeRenderer$1, { nodeTypes: nodeTypes, onNodeClick: onNodeClick, onNodeDoubleClick: onNodeDoubleClick, onNodeMouseEnter: onNodeMouseEnter, onNodeMouseMove: onNodeMouseMove, onNodeMouseLeave: onNodeMouseLeave, onNodeContextMenu: onNodeContextMenu, onlyRenderVisibleElements: onlyRenderVisibleElements, noPanClassName: noPanClassName, noDragClassName: noDragClassName, disableKeyboardA11y: disableKeyboardA11y, nodeOrigin: nodeOrigin, nodeExtent: nodeExtent, rfId: rfId })] }) }));
|
|
2389
2389
|
};
|
|
2390
2390
|
GraphView.displayName = 'GraphView';
|
|
2391
2391
|
var GraphView$1 = memo(GraphView);
|
package/dist/esm/index.mjs
CHANGED
|
@@ -2098,7 +2098,7 @@ function EdgeUpdateAnchors({ isUpdatable, edgeUpdaterRadius, edge, targetHandleI
|
|
|
2098
2098
|
return (jsxs(Fragment, { children: [(isUpdatable === 'source' || isUpdatable === true) && (jsx(EdgeAnchor, { position: sourcePosition, centerX: sourceX, centerY: sourceY, radius: edgeUpdaterRadius, onMouseDown: onEdgeUpdaterSourceMouseDown, onMouseEnter: onEdgeUpdaterMouseEnter, onMouseOut: onEdgeUpdaterMouseOut, type: "source" })), (isUpdatable === 'target' || isUpdatable === true) && (jsx(EdgeAnchor, { position: targetPosition, centerX: targetX, centerY: targetY, radius: edgeUpdaterRadius, onMouseDown: onEdgeUpdaterTargetMouseDown, onMouseEnter: onEdgeUpdaterMouseEnter, onMouseOut: onEdgeUpdaterMouseOut, type: "target" }))] }));
|
|
2099
2099
|
}
|
|
2100
2100
|
|
|
2101
|
-
function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, onClick, onDoubleClick,
|
|
2101
|
+
function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, onClick, onDoubleClick, onContextMenu, onMouseEnter, onMouseMove, onMouseLeave, edgeUpdaterRadius, onEdgeUpdate, onEdgeUpdateStart, onEdgeUpdateEnd, rfId, edgeTypes, noPanClassName, onError, }) {
|
|
2102
2102
|
let edge = useStore((s) => s.edgeLookup.get(id));
|
|
2103
2103
|
const defaultEdgeOptions = useStore((s) => s.defaultEdgeOptions);
|
|
2104
2104
|
edge = defaultEdgeOptions ? { ...defaultEdgeOptions, ...edge } : edge;
|
|
@@ -2130,8 +2130,8 @@ function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, o
|
|
|
2130
2130
|
id,
|
|
2131
2131
|
sourceNode,
|
|
2132
2132
|
targetNode,
|
|
2133
|
-
sourceHandle:
|
|
2134
|
-
targetHandle:
|
|
2133
|
+
sourceHandle: edge.sourceHandle || null,
|
|
2134
|
+
targetHandle: edge.targetHandle || null,
|
|
2135
2135
|
connectionMode: store.connectionMode,
|
|
2136
2136
|
onError,
|
|
2137
2137
|
});
|
|
@@ -2146,7 +2146,7 @@ function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, o
|
|
|
2146
2146
|
zIndex,
|
|
2147
2147
|
...(edgePosition || nullPosition),
|
|
2148
2148
|
};
|
|
2149
|
-
}, [edge.source, edge.target, edge.selected, edge.zIndex]), shallow);
|
|
2149
|
+
}, [edge.source, edge.target, edge.sourceHandle, edge.targetHandle, edge.selected, edge.zIndex]), shallow);
|
|
2150
2150
|
const markerStartUrl = useMemo(() => (edge.markerStart ? `url(#${getMarkerId(edge.markerStart, rfId)})` : undefined), [edge.markerStart, rfId]);
|
|
2151
2151
|
const markerEndUrl = useMemo(() => (edge.markerEnd ? `url(#${getMarkerId(edge.markerEnd, rfId)})` : undefined), [edge.markerEnd, rfId]);
|
|
2152
2152
|
if (edge.hidden || !sourceX || !sourceY || !targetX || !targetY) {
|
|
@@ -2217,7 +2217,7 @@ function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, o
|
|
|
2217
2217
|
inactive: !isSelectable && !onClick,
|
|
2218
2218
|
updating: updateHover,
|
|
2219
2219
|
},
|
|
2220
|
-
]), onClick: onEdgeClick, onDoubleClick: onEdgeDoubleClick, onContextMenu: onEdgeContextMenu, onMouseEnter: onEdgeMouseEnter, onMouseMove: onEdgeMouseMove, onMouseLeave: onEdgeMouseLeave, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, role: isFocusable ? 'button' : 'img', "data-id": id, "data-testid": `rf__edge-${id}`, "aria-label": edge.ariaLabel === null ? undefined : edge.ariaLabel || `Edge from ${edge.source} to ${edge.target}`, "aria-describedby": isFocusable ? `${ARIA_EDGE_DESC_KEY}-${rfId}` : undefined, ref: edgeRef, children: [!updating && (jsx(EdgeComponent, { id: id, source: edge.source, target: edge.target, selected: edge.selected, animated: edge.animated, label: edge.label, labelStyle: edge.labelStyle, labelShowBg: edge.labelShowBg, labelBgStyle: edge.labelBgStyle, labelBgPadding: edge.labelBgPadding, labelBgBorderRadius: edge.labelBgBorderRadius, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, data: edge.data, style: edge.style, sourceHandleId:
|
|
2220
|
+
]), onClick: onEdgeClick, onDoubleClick: onEdgeDoubleClick, onContextMenu: onEdgeContextMenu, onMouseEnter: onEdgeMouseEnter, onMouseMove: onEdgeMouseMove, onMouseLeave: onEdgeMouseLeave, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, role: isFocusable ? 'button' : 'img', "data-id": id, "data-testid": `rf__edge-${id}`, "aria-label": edge.ariaLabel === null ? undefined : edge.ariaLabel || `Edge from ${edge.source} to ${edge.target}`, "aria-describedby": isFocusable ? `${ARIA_EDGE_DESC_KEY}-${rfId}` : undefined, ref: edgeRef, children: [!updating && (jsx(EdgeComponent, { id: id, source: edge.source, target: edge.target, selected: edge.selected, animated: edge.animated, label: edge.label, labelStyle: edge.labelStyle, labelShowBg: edge.labelShowBg, labelBgStyle: edge.labelBgStyle, labelBgPadding: edge.labelBgPadding, labelBgBorderRadius: edge.labelBgBorderRadius, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, data: edge.data, style: edge.style, sourceHandleId: edge.sourceHandle, targetHandleId: edge.targetHandle, markerStart: markerStartUrl, markerEnd: markerEndUrl, pathOptions: 'pathOptions' in edge ? edge.pathOptions : undefined, interactionWidth: edge.interactionWidth })), isUpdatable && (jsx(EdgeUpdateAnchors, { edge: edge, isUpdatable: isUpdatable, edgeUpdaterRadius: edgeUpdaterRadius, onEdgeUpdate: onEdgeUpdate, onEdgeUpdateStart: onEdgeUpdateStart, onEdgeUpdateEnd: onEdgeUpdateEnd, sourceX: sourceX, sourceY: sourceY, targetX: targetX, targetY: targetY, sourcePosition: sourcePosition, targetPosition: targetPosition, setUpdateHover: setUpdateHover, setUpdating: setUpdating, sourceHandleId: edge.sourceHandle, targetHandleId: edge.targetHandle }))] }) }));
|
|
2221
2221
|
}
|
|
2222
2222
|
EdgeWrapper.displayName = 'EdgeWrapper';
|
|
2223
2223
|
var EdgeWrapper$1 = memo(EdgeWrapper);
|
|
@@ -2362,7 +2362,7 @@ function ConnectionLineWrapper({ containerStyle, style, type, component }) {
|
|
|
2362
2362
|
if (!isValid) {
|
|
2363
2363
|
return null;
|
|
2364
2364
|
}
|
|
2365
|
-
return (jsx("svg", { style: containerStyle, width: width, height: height, className: "react-
|
|
2365
|
+
return (jsx("svg", { style: containerStyle, width: width, height: height, className: "react-flow__connectionline react-flow__container", children: jsx("g", { className: cc(['react-flow__connection', connectionStatus]), children: jsx(ConnectionLine, { nodeId: nodeId, handleType: handleType, style: style, type: type, CustomComponent: component, connectionStatus: connectionStatus }) }) }));
|
|
2366
2366
|
}
|
|
2367
2367
|
|
|
2368
2368
|
const emptyTypes = {};
|
|
@@ -2385,7 +2385,7 @@ const GraphView = ({ nodeTypes, edgeTypes, onInit, onNodeClick, onEdgeClick, onN
|
|
|
2385
2385
|
useNodeOrEdgeTypesWarning(edgeTypes);
|
|
2386
2386
|
useOnInitHandler(onInit);
|
|
2387
2387
|
useViewportSync(viewport);
|
|
2388
|
-
return (jsx(FlowRenderer$1, { onPaneClick: onPaneClick, onPaneMouseEnter: onPaneMouseEnter, onPaneMouseMove: onPaneMouseMove, onPaneMouseLeave: onPaneMouseLeave, onPaneContextMenu: onPaneContextMenu, onPaneScroll: onPaneScroll, deleteKeyCode: deleteKeyCode, selectionKeyCode: selectionKeyCode, selectionOnDrag: selectionOnDrag, selectionMode: selectionMode, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionEnd, multiSelectionKeyCode: multiSelectionKeyCode, panActivationKeyCode: panActivationKeyCode, zoomActivationKeyCode: zoomActivationKeyCode, elementsSelectable: elementsSelectable, zoomOnScroll: zoomOnScroll, zoomOnPinch: zoomOnPinch, zoomOnDoubleClick: zoomOnDoubleClick, panOnScroll: panOnScroll, panOnScrollSpeed: panOnScrollSpeed, panOnScrollMode: panOnScrollMode, panOnDrag: panOnDrag, defaultViewport: defaultViewport, translateExtent: translateExtent, minZoom: minZoom, maxZoom: maxZoom, onSelectionContextMenu: onSelectionContextMenu, preventScrolling: preventScrolling, noDragClassName: noDragClassName, noWheelClassName: noWheelClassName, noPanClassName: noPanClassName, disableKeyboardA11y: disableKeyboardA11y, onViewportChange: onViewportChange, isControlledViewport: !!viewport, children: jsxs(Viewport, { children: [jsx(EdgeRenderer$1, { edgeTypes: edgeTypes, onEdgeClick: onEdgeClick, onEdgeDoubleClick: onEdgeDoubleClick, onEdgeUpdate: onEdgeUpdate, onlyRenderVisibleElements: onlyRenderVisibleElements, onEdgeContextMenu: onEdgeContextMenu, onEdgeMouseEnter: onEdgeMouseEnter, onEdgeMouseMove: onEdgeMouseMove, onEdgeMouseLeave: onEdgeMouseLeave, onEdgeUpdateStart: onEdgeUpdateStart, onEdgeUpdateEnd: onEdgeUpdateEnd, edgeUpdaterRadius: edgeUpdaterRadius, defaultMarkerColor: defaultMarkerColor, noPanClassName: noPanClassName, disableKeyboardA11y: disableKeyboardA11y, rfId: rfId,
|
|
2388
|
+
return (jsx(FlowRenderer$1, { onPaneClick: onPaneClick, onPaneMouseEnter: onPaneMouseEnter, onPaneMouseMove: onPaneMouseMove, onPaneMouseLeave: onPaneMouseLeave, onPaneContextMenu: onPaneContextMenu, onPaneScroll: onPaneScroll, deleteKeyCode: deleteKeyCode, selectionKeyCode: selectionKeyCode, selectionOnDrag: selectionOnDrag, selectionMode: selectionMode, onSelectionStart: onSelectionStart, onSelectionEnd: onSelectionEnd, multiSelectionKeyCode: multiSelectionKeyCode, panActivationKeyCode: panActivationKeyCode, zoomActivationKeyCode: zoomActivationKeyCode, elementsSelectable: elementsSelectable, zoomOnScroll: zoomOnScroll, zoomOnPinch: zoomOnPinch, zoomOnDoubleClick: zoomOnDoubleClick, panOnScroll: panOnScroll, panOnScrollSpeed: panOnScrollSpeed, panOnScrollMode: panOnScrollMode, panOnDrag: panOnDrag, defaultViewport: defaultViewport, translateExtent: translateExtent, minZoom: minZoom, maxZoom: maxZoom, onSelectionContextMenu: onSelectionContextMenu, preventScrolling: preventScrolling, noDragClassName: noDragClassName, noWheelClassName: noWheelClassName, noPanClassName: noPanClassName, disableKeyboardA11y: disableKeyboardA11y, onViewportChange: onViewportChange, isControlledViewport: !!viewport, children: jsxs(Viewport, { children: [jsx(EdgeRenderer$1, { edgeTypes: edgeTypes, onEdgeClick: onEdgeClick, onEdgeDoubleClick: onEdgeDoubleClick, onEdgeUpdate: onEdgeUpdate, onlyRenderVisibleElements: onlyRenderVisibleElements, onEdgeContextMenu: onEdgeContextMenu, onEdgeMouseEnter: onEdgeMouseEnter, onEdgeMouseMove: onEdgeMouseMove, onEdgeMouseLeave: onEdgeMouseLeave, onEdgeUpdateStart: onEdgeUpdateStart, onEdgeUpdateEnd: onEdgeUpdateEnd, edgeUpdaterRadius: edgeUpdaterRadius, defaultMarkerColor: defaultMarkerColor, noPanClassName: noPanClassName, disableKeyboardA11y: disableKeyboardA11y, rfId: rfId }), jsx(ConnectionLineWrapper, { style: connectionLineStyle, type: connectionLineType, component: connectionLineComponent, containerStyle: connectionLineContainerStyle }), jsx("div", { className: "react-flow__edgelabel-renderer" }), jsx("div", { className: "react-flow__viewport-portal" }), jsx(NodeRenderer$1, { nodeTypes: nodeTypes, onNodeClick: onNodeClick, onNodeDoubleClick: onNodeDoubleClick, onNodeMouseEnter: onNodeMouseEnter, onNodeMouseMove: onNodeMouseMove, onNodeMouseLeave: onNodeMouseLeave, onNodeContextMenu: onNodeContextMenu, onlyRenderVisibleElements: onlyRenderVisibleElements, noPanClassName: noPanClassName, noDragClassName: noDragClassName, disableKeyboardA11y: disableKeyboardA11y, nodeOrigin: nodeOrigin, nodeExtent: nodeExtent, rfId: rfId })] }) }));
|
|
2389
2389
|
};
|
|
2390
2390
|
GraphView.displayName = 'GraphView';
|
|
2391
2391
|
var GraphView$1 = memo(GraphView);
|
|
@@ -42,8 +42,6 @@ export type EdgeWrapperProps = {
|
|
|
42
42
|
noPanClassName: string;
|
|
43
43
|
onClick?: EdgeMouseHandler;
|
|
44
44
|
onDoubleClick?: EdgeMouseHandler;
|
|
45
|
-
sourceHandleId?: string | null;
|
|
46
|
-
targetHandleId?: string | null;
|
|
47
45
|
onEdgeUpdate?: OnEdgeUpdateFunc;
|
|
48
46
|
onContextMenu?: EdgeMouseHandler;
|
|
49
47
|
onMouseEnter?: EdgeMouseHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/types/edges.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,IAAI,eAAe,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACpH,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,WAAW,CAAC,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAC1D,gBAAgB,GAAG;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEJ,KAAK,kBAAkB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEzG,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,
|
|
1
|
+
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/types/edges.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,IAAI,eAAe,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACpH,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,WAAW,CAAC,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAC1D,gBAAgB,GAAG;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEJ,KAAK,kBAAkB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEzG,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACzF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,GACpD,gBAAgB,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACnC,IAAI,CAAC,CAAC,CAAC,EACP,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CACxE,GACC,YAAY,GACZ,gBAAgB,GAAG;IACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAC3C,gBAAgB,GAAG;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAEJ,MAAM,MAAM,4BAA4B,CAAC,WAAW,IAAI,kBAAkB,GAAG;IAC3E,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,qBAAqB,CAAC,CAAC;AAEtF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;AAE9F;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,IAAI,CAAC;AAE9F,MAAM,MAAM,4BAA4B,GAAG;IACzC,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,QAAQ,CAAC;IACvB,UAAU,EAAE,QAAQ,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC"}
|
package/dist/style.css
CHANGED
|
@@ -132,6 +132,11 @@
|
|
|
132
132
|
.react-flow__edges {
|
|
133
133
|
position: absolute;
|
|
134
134
|
}
|
|
135
|
+
.react-flow__edges svg {
|
|
136
|
+
overflow: visible;
|
|
137
|
+
position: absolute;
|
|
138
|
+
pointer-events: none;
|
|
139
|
+
}
|
|
135
140
|
.react-flow__edge {
|
|
136
141
|
pointer-events: visibleStroke;
|
|
137
142
|
cursor: pointer;
|
|
@@ -173,7 +178,7 @@
|
|
|
173
178
|
stroke-dasharray: 5;
|
|
174
179
|
animation: dashdraw 0.5s linear infinite;
|
|
175
180
|
}
|
|
176
|
-
.react-flow__connectionline {
|
|
181
|
+
svg.react-flow__connectionline {
|
|
177
182
|
z-index: 1001;
|
|
178
183
|
overflow: visible;
|
|
179
184
|
position: absolute;
|
|
@@ -374,11 +379,6 @@
|
|
|
374
379
|
max-height: 12px;
|
|
375
380
|
fill: currentColor;
|
|
376
381
|
}
|
|
377
|
-
.react-flow__edges svg {
|
|
378
|
-
overflow: visible;
|
|
379
|
-
position: absolute;
|
|
380
|
-
pointer-events: none;
|
|
381
|
-
}
|
|
382
382
|
.react-flow__edge.updating .react-flow__edge-path {
|
|
383
383
|
stroke: #777;
|
|
384
384
|
}
|
|
@@ -4,8 +4,8 @@ type EdgeUpdateAnchorsProps = {
|
|
|
4
4
|
edge: Edge;
|
|
5
5
|
isUpdatable: boolean | 'source' | 'target';
|
|
6
6
|
edgeUpdaterRadius: EdgeWrapperProps['edgeUpdaterRadius'];
|
|
7
|
-
sourceHandleId:
|
|
8
|
-
targetHandleId:
|
|
7
|
+
sourceHandleId: Edge['sourceHandle'];
|
|
8
|
+
targetHandleId: Edge['targetHandle'];
|
|
9
9
|
onEdgeUpdate: EdgeWrapperProps['onEdgeUpdate'];
|
|
10
10
|
onEdgeUpdateStart: EdgeWrapperProps['onEdgeUpdateStart'];
|
|
11
11
|
onEdgeUpdateEnd: EdgeWrapperProps['onEdgeUpdateEnd'];
|
|
@@ -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,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzD,cAAc,EAAE,
|
|
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,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,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,cAAc,CAAC,CAAC;IAC/C,iBAAiB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IACzD,eAAe,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACrD,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,GAAG,YAAY,CAAC;AAEjB,iBAAS,iBAAiB,CAAC,EACzB,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,2CAiGxB;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { EdgeWrapperProps } from '../../types';
|
|
3
|
-
declare function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, onClick, onDoubleClick,
|
|
3
|
+
declare function EdgeWrapper({ id, edgesFocusable, edgesUpdatable, elementsSelectable, onClick, onDoubleClick, onContextMenu, onMouseEnter, onMouseMove, onMouseLeave, edgeUpdaterRadius, onEdgeUpdate, onEdgeUpdateStart, onEdgeUpdateEnd, rfId, edgeTypes, noPanClassName, onError, }: EdgeWrapperProps): JSX.Element | null;
|
|
4
4
|
declare namespace EdgeWrapper {
|
|
5
5
|
var displayName: string;
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/EdgeWrapper/index.tsx"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,iBAAS,WAAW,CAAC,EACnB,EAAE,EACF,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/components/EdgeWrapper/index.tsx"],"names":[],"mappings":";AAaA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,iBAAS,WAAW,CAAC,EACnB,EAAE,EACF,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,aAAa,EACb,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,IAAI,EACJ,SAAS,EACT,cAAc,EACd,OAAO,GACR,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CA+NvC;kBAlPQ,WAAW;;;;AAsPpB,wBAAiC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { GraphViewProps } from '../GraphView';
|
|
3
3
|
type EdgeRendererProps = Pick<GraphViewProps, 'onEdgeClick' | 'onEdgeDoubleClick' | 'defaultMarkerColor' | 'onlyRenderVisibleElements' | 'onEdgeUpdate' | 'onEdgeContextMenu' | 'onEdgeMouseEnter' | 'onEdgeMouseMove' | 'onEdgeMouseLeave' | 'onEdgeUpdateStart' | 'onEdgeUpdateEnd' | 'edgeUpdaterRadius' | 'noPanClassName' | 'rfId' | 'disableKeyboardA11y' | 'edgeTypes'> & {
|
|
4
|
-
children
|
|
4
|
+
children?: ReactNode;
|
|
5
5
|
};
|
|
6
6
|
declare const _default: import("react").MemoExoticComponent<{
|
|
7
7
|
({ defaultMarkerColor, onlyRenderVisibleElements, rfId, edgeTypes, noPanClassName, onEdgeUpdate, onEdgeContextMenu, onEdgeMouseEnter, onEdgeMouseMove, onEdgeMouseLeave, onEdgeClick, edgeUpdaterRadius, onEdgeDoubleClick, onEdgeUpdateStart, onEdgeUpdateEnd, children, }: EdgeRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/EdgeRenderer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,OAAO,CAAC;AAMxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,KAAK,iBAAiB,GAAG,IAAI,CAC3B,cAAc,EACZ,aAAa,GACb,mBAAmB,GACnB,oBAAoB,GACpB,2BAA2B,GAC3B,cAAc,GACd,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,MAAM,GACN,qBAAqB,GACrB,WAAW,CACd,GAAG;IACF,QAAQ,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/EdgeRenderer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,OAAO,CAAC;AAMxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAI9C,KAAK,iBAAiB,GAAG,IAAI,CAC3B,cAAc,EACZ,aAAa,GACb,mBAAmB,GACnB,oBAAoB,GACpB,2BAA2B,GAC3B,cAAc,GACd,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,MAAM,GACN,qBAAqB,GACrB,WAAW,CACd,GAAG;IACF,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;;;;;AAqEF,wBAAkC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/GraphView/index.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,sBAAsB,CAC1G,GACC,QAAQ,CACN,IAAI,CACF,cAAc,EACZ,kBAAkB,GAClB,eAAe,GACf,uBAAuB,GACvB,oBAAoB,GACpB,2BAA2B,GAC3B,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,qBAAqB,GACrB,YAAY,CACf,CACF,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/react/src/container/GraphView/index.tsx"],"names":[],"mappings":";AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,mBAAmB,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,sBAAsB,CAC1G,GACC,QAAQ,CACN,IAAI,CACF,cAAc,EACZ,kBAAkB,GAClB,eAAe,GACf,uBAAuB,GACvB,oBAAoB,GACpB,2BAA2B,GAC3B,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,iBAAiB,GACjB,qBAAqB,GACrB,YAAY,CACf,CACF,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;;;;;AAiKJ,wBAA+B"}
|
package/dist/umd/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
|
-
*/Rr.exports=function(){if($r)return Tr;$r=1;var e=n,t=Vr(),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=t.useSyncExternalStore,i=e.useRef,a=e.useEffect,s=e.useMemo,l=e.useDebugValue;return Tr.useSyncExternalStoreWithSelector=function(e,t,n,c,d){var u=i(null);if(null===u.current){var h={hasValue:!1,value:null};u.current=h}else h=u.current;u=s((function(){function e(e){if(!a){if(a=!0,r=e,e=c(e),void 0!==d&&h.hasValue){var t=h.value;if(d(t,e))return i=t}return i=e}if(t=i,o(r,e))return t;var n=c(e);return void 0!==d&&d(t,n)?t:(r=e,i=n)}var r,i,a=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]}),[t,n,c,d]);var f=r(e,u[0],u[1]);return a((function(){h.hasValue=!0,h.value=f}),[f]),l(f),f},Tr}();var Lr=Ar(Rr.exports);const Hr=e=>{let t;const n=new Set,o=(e,o)=>{const r="function"==typeof e?e(t):e;if(!Object.is(r,t)){const e=t;t=(null!=o?o:"object"!=typeof r)?r:Object.assign({},t,r),n.forEach((n=>n(t,e)))}},r=()=>t,i={setState:o,getState:r,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}};return t=e(o,r,i),i},{useSyncExternalStoreWithSelector:Xr}=Lr;function Zr(e,t=e.getState,o){const r=Xr(e.subscribe,e.getState,e.getServerState||e.getState,t,o);return n.useDebugValue(r),r}const Yr=(e,t)=>{const n=(e=>e?Hr(e):Hr)(e),o=(e,o=t)=>Zr(n,e,o);return Object.assign(o,n),o},Ur=n.createContext(null),Wr=Ur.Provider,Fr=Qn.error001();function Kr(e,t){const o=n.useContext(Ur);if(null===o)throw new Error(Fr);return Zr(o,e,t)}const Gr=()=>{const e=n.useContext(Ur);if(null===e)throw new Error(Fr);return n.useMemo((()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy})),[e])},qr=e=>e.userSelectionActive?"none":"all";function Qr({position:e,children:n,className:o,style:i,...a}){const s=Kr(qr),l=`${e}`.split("-");return t.jsx("div",{className:r(["react-flow__panel",o,...l]),style:{...i,pointerEvents:s},...a,children:n})}function Jr({proOptions:e,position:n="bottom-right"}){return e?.hideAttribution?null:t.jsx(Qr,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:t.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}function ei(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,o]of e)if(!Object.is(o,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let o=0;o<n.length;o++)if(!Object.prototype.hasOwnProperty.call(t,n[o])||!Object.is(e[n[o]],t[n[o]]))return!1;return!0}const ti=e=>({selectedNodes:e.nodes.filter((e=>e.selected)),selectedEdges:e.edges.filter((e=>e.selected))}),ni=e=>e.id;function oi(e,t){return ei(e.selectedNodes.map(ni),t.selectedNodes.map(ni))&&ei(e.selectedEdges.map(ni),t.selectedEdges.map(ni))}const ri=n.memo((({onSelectionChange:e})=>{const t=Gr(),{selectedNodes:o,selectedEdges:r}=Kr(ti,oi);return n.useEffect((()=>{const n={nodes:o,edges:r};e?.(n),t.getState().onSelectionChangeHandlers.forEach((e=>e(n)))}),[o,r,e]),null}));ri.displayName="SelectionListener";const ii=e=>!!e.onSelectionChangeHandlers;function ai({onSelectionChange:e}){const n=Kr(ii);return e||n?t.jsx(ri,{onSelectionChange:e}):null}const si=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","nodesConnectable","nodesFocusable","edgesFocusable","edgesUpdatable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","onBeforeDelete","rfId"],li=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset}),ci=e=>{const{setNodes:t,setEdges:o,setDefaultNodesAndEdges:r,setMinZoom:i,setMaxZoom:a,setTranslateExtent:s,setNodeExtent:l,reset:c}=Kr(li,ei),d=Gr();n.useEffect((()=>{const t=e.defaultEdges?.map((t=>({...t,...e.defaultEdgeOptions})));return r(e.defaultNodes,t),()=>{c()}}),[]);const u=n.useRef({translateExtent:eo,nodeOrigin:Ns,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"});return n.useEffect((()=>{for(const n of si){const r=e[n];r!==u.current[n]&&(void 0!==e[n]&&("nodes"===n?t(r):"edges"===n?o(r):"minZoom"===n?i(r):"maxZoom"===n?a(r):"translateExtent"===n?s(r):"nodeExtent"===n?l(r):"fitView"===n?d.setState({fitViewOnInit:r}):"fitViewOptions"===n?d.setState({fitViewOnInitOptions:r}):d.setState({[n]:r})))}u.current=e}),si.map((t=>e[t]))),null},di={display:"none"},ui={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},hi="react-flow__node-desc",fi="react-flow__edge-desc",pi="react-flow__aria-live",gi=e=>e.ariaLiveMessage;function mi({rfId:e}){const n=Kr(gi);return t.jsx("div",{id:`${pi}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ui,children:n})}function yi({rfId:e,disableKeyboardA11y:n}){return t.jsxs(t.Fragment,{children:[t.jsxs("div",{id:`${hi}-${e}`,style:di,children:["Press enter or space to select a node.",!n&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),t.jsx("div",{id:`${fi}-${e}`,style:di,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!n&&t.jsx(mi,{rfId:e})]})}const vi="undefined"!=typeof document?document:null;var xi=(e=null,t={target:vi,actInsideInputWithModifier:!0})=>{const[o,r]=n.useState(!1),i=n.useRef(!1),a=n.useRef(new Set([])),[s,l]=n.useMemo((()=>{if(null!==e){const t=(Array.isArray(e)?e:[e]).filter((e=>"string"==typeof e)).map((e=>e.split("+"))),n=t.reduce(((e,t)=>e.concat(...t)),[]);return[t,n]}return[[],[]]}),[e]);return n.useEffect((()=>{const n=t?.target||vi;if(null!==e){const e=e=>{i.current=e.ctrlKey||e.metaKey||e.shiftKey;if((!i.current||i.current&&!t.actInsideInputWithModifier)&&jo(e))return!1;const n=bi(e.code,l);a.current.add(e[n]),wi(s,a.current,!1)&&(e.preventDefault(),r(!0))},o=e=>{if((!i.current||i.current&&!t.actInsideInputWithModifier)&&jo(e))return!1;const n=bi(e.code,l);wi(s,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[n]),i.current=!1},c=()=>{a.current.clear(),r(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",o),window.addEventListener("blur",c),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",o),window.removeEventListener("blur",c)}}}),[e,r]),o};function wi(e,t,n){return e.filter((e=>n||e.length===t.size)).some((e=>e.every((e=>t.has(e)))))}function bi(e,t){return t.includes(e)?"code":"key"}const Si=e=>!!e.panZoom,Ci=()=>{const e=Gr(),t=Kr(Si),o=n.useMemo((()=>({zoomIn:t=>e.getState().panZoom?.scaleBy(1.2,{duration:t?.duration}),zoomOut:t=>e.getState().panZoom?.scaleBy(1/1.2,{duration:t?.duration}),zoomTo:(t,n)=>e.getState().panZoom?.scaleTo(t,{duration:n?.duration}),getZoom:()=>e.getState().transform[2],setViewport:(t,n)=>{const{transform:[o,r,i],panZoom:a}=e.getState();a?.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??i},{duration:n?.duration})},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},fitView:t=>{const{nodes:n,width:o,height:r,nodeOrigin:i,minZoom:a,maxZoom:s,panZoom:l}=e.getState();return!!l&&mo({nodes:n,width:o,height:r,nodeOrigin:i,minZoom:a,maxZoom:s,panZoom:l},t)},setCenter:(t,n,o)=>{const{width:r,height:i,maxZoom:a,panZoom:s}=e.getState(),l=void 0!==o?.zoom?o.zoom:a,c=r/2-t*l,d=i/2-n*l;s?.setViewport({x:c,y:d,zoom:l},{duration:o?.duration})},fitBounds:(t,n)=>{const{width:o,height:r,minZoom:i,maxZoom:a,panZoom:s}=e.getState(),l=Do(t,o,r,i,a,n?.padding??.1);s?.setViewport(l,{duration:n?.duration})},screenToFlowPosition:t=>{const{transform:n,snapToGrid:o,snapGrid:r,domNode:i}=e.getState();if(!i)return t;const{x:a,y:s}=i.getBoundingClientRect(),l={x:t.x-a,y:t.y-s};return Oo(l,n,o,r||[1,1])},flowToScreenPosition:t=>{const{transform:n,domNode:o}=e.getState();if(!o)return t;const{x:r,y:i}=o.getBoundingClientRect(),a=Ao(t,n);return{x:a.x+r,y:a.y+i}},viewportInitialized:t})),[t]);return o};function Ei(e,t){const n=e.find((e=>e.id===t.parentNode));if(n){n.computed||(n.computed={});const e=t.position.x+t.computed.width-n.computed.width,o=t.position.y+t.computed.height-n.computed.height;if(e>0||o>0||t.position.x<0||t.position.y<0){if(n.style={...n.style}||{},n.style.width=n.style.width??n.computed.width,n.style.height=n.style.height??n.computed.height,e>0&&(n.style.width+=e),o>0&&(n.style.height+=o),t.position.x<0){const e=Math.abs(t.position.x);n.position.x=n.position.x-e,n.style.width+=e,t.position.x=0}if(t.position.y<0){const e=Math.abs(t.position.y);n.position.y=n.position.y-e,n.style.height+=e,t.position.y=0}n.computed.width=n.style.width,n.computed.height=n.style.height}}}function _i(e,t){if(e.some((e=>"reset"===e.type)))return e.filter((e=>"reset"===e.type)).map((e=>e.item));let n=e;const o=[];for(const e of t){const t=[],r=[];for(const i of n)"add"===i.type?o.push(i.item):i.id===e.id?t.push(i):r.push(i);if(n=r,0===t.length){o.push(e);continue}const i={...e};for(const e of t){if(e)switch(e.type){case"select":i.selected=e.selected;break;case"position":void 0!==e.position&&(i.position=e.position),void 0!==e.positionAbsolute&&(i.computed||(i.computed={}),i.computed.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(i.dragging=e.dragging),i.expandParent&&Ei(o,i);break;case"dimensions":void 0!==e.dimensions&&(i.computed||(i.computed={}),i.computed.width=e.dimensions.width,i.computed.height=e.dimensions.height),void 0!==e.updateStyle&&(i.style={...i.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(i.resizing=e.resizing),i.expandParent&&Ei(o,i);break;case"remove":continue}o.push(i)}}return o}function Ni(e,t){return _i(e,t)}function Mi(e,t){return _i(e,t)}const ki=(e,t)=>({id:e,type:"select",selected:t});function Pi(e,t=new Set,n=!1){const o=[];for(const r of e){const e=t.has(r.id);void 0===r.selected&&!e||r.selected===e||(n&&(r.selected=e),o.push(ki(r.id,e)))}return o}const zi=e=>"id"in e&&!("source"in e)&&!("target"in e),Oi=uo,Ai=(e,t,n)=>{if(!e.id)return[];const o=new Set;return n.forEach((t=>{t.source===e.id&&o.add(t.target)})),t.filter((e=>o.has(e.id)))},Di=(e,t,n)=>{if(!e.id)return[];const o=new Set;return n.forEach((t=>{t.target===e.id&&o.add(t.source)})),t.filter((e=>o.has(e.id)))},Ii=(e,t)=>{if(!e.source||!e.target)return t;let n;return n=uo(e)?{...e}:{...e,id:Ko(e)},((e,t)=>t.some((t=>!(t.source!==e.source||t.target!==e.target||t.sourceHandle!==e.sourceHandle&&(t.sourceHandle||e.sourceHandle)||t.targetHandle!==e.targetHandle&&(t.targetHandle||e.targetHandle)))))(n,t)?t:(null===n.sourceHandle&&delete n.sourceHandle,null===n.targetHandle&&delete n.targetHandle,t.concat(n))},$i=(e,t,n,o={shouldReplaceId:!0})=>{const{id:r,...i}=e;if(!t.source||!t.target)return n;if(!n.find((t=>t.id===e.id)))return n;const a={...i,id:o.shouldReplaceId?Ko(t):r,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle};return n.filter((e=>e.id!==r)).concat(a)},Ri=go;function Ti(){const e=Ci(),t=Gr(),o=n.useCallback((()=>t.getState().nodes.map((e=>({...e})))),[]),r=n.useCallback((e=>t.getState().nodeLookup.get(e)),[]),i=n.useCallback((()=>{const{edges:e=[]}=t.getState();return e.map((e=>({...e})))}),[]),a=n.useCallback((e=>{const{edges:n=[]}=t.getState();return n.find((t=>t.id===e))}),[]),s=n.useCallback((e=>{const{nodes:n,setNodes:o,hasDefaultNodes:r,onNodesChange:i}=t.getState(),a="function"==typeof e?e(n):e;if(r)o(a);else if(i){i(0===a.length?n.map((e=>({type:"remove",id:e.id}))):a.map((e=>({item:e,type:"reset"}))))}}),[]),l=n.useCallback((e=>{const{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:i}=t.getState(),a="function"==typeof e?e(n):e;if(r)o(a);else if(i){i(0===a.length?n.map((e=>({type:"remove",id:e.id}))):a.map((e=>({item:e,type:"reset"}))))}}),[]),c=n.useCallback((e=>{const n=Array.isArray(e)?e:[e],{nodes:o,hasDefaultNodes:r,onNodesChange:i,setNodes:a}=t.getState();if(r){a([...o,...n])}else if(i){i(n.map((e=>({item:e,type:"add"}))))}}),[]),d=n.useCallback((e=>{const n=Array.isArray(e)?e:[e],{edges:o=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:a}=t.getState();if(i)r([...o,...n]);else if(a){a(n.map((e=>({item:e,type:"add"}))))}}),[]),u=n.useCallback((()=>{const{nodes:e=[],edges:n=[],transform:o}=t.getState(),[r,i,a]=o;return{nodes:e.map((e=>({...e}))),edges:n.map((e=>({...e}))),viewport:{x:r,y:i,zoom:a}}}),[]),h=n.useCallback((async({nodes:e=[],edges:n=[],onBeforeDelete:o})=>{const{nodes:r,edges:i,hasDefaultNodes:a,hasDefaultEdges:s,onNodesDelete:l,onEdgesDelete:c,onNodesChange:d,onEdgesChange:u,onDelete:h}=t.getState(),{nodes:f,edges:p}=await async function({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:r}){const i=e.map((e=>e.id)),a=[];for(const e of n){if(!1===e.deletable)continue;const t=i.includes(e.id),n=!t&&e.parentNode&&a.find((t=>t.id===e.parentNode));(t||n)&&a.push(e)}const s=t.map((e=>e.id)),l=o.filter((e=>!1!==e.deletable)),c=go(a,l);for(const e of l)s.includes(e.id)&&!c.find((t=>t.id===e.id))&&c.push(e);if(!r)return{edges:c,nodes:a};const d=await r({nodes:a,edges:c});return"boolean"==typeof d?d?{edges:c,nodes:a}:{edges:[],nodes:[]}:d}({nodesToRemove:e,edgesToRemove:n,nodes:r,edges:i,onBeforeDelete:o}),g=p.length>0,m=f.length>0;return g&&(s&&t.setState({edges:i.filter((e=>!p.some((t=>t.id===e.id))))}),c?.(p),u?.(p.map((e=>({id:e.id,type:"remove"}))))),m&&(a&&t.setState({nodes:r.filter((e=>!f.some((t=>t.id===e.id))))}),l?.(f),d?.(f.map((e=>({id:e.id,type:"remove"}))))),(m||g)&&h?.({nodes:f,edges:p}),{deletedNodes:f,deletedEdges:p}}),[]),f=n.useCallback((e=>{const n=ko(e),o=n?null:t.getState().nodeLookup.get(e.id);return[n?e:_o(o),o,n]}),[]),p=n.useCallback(((e,n=!0,o)=>{const[r,i,a]=f(e);return r?(o||t.getState().nodes).filter((e=>{if(!(a||e.id!==i.id&&e.computed?.positionAbsolute))return!1;const t=_o(e),o=Mo(t,r);return n&&o>0||o>=r.width*r.height})):[]}),[]),g=n.useCallback(((e,t,n=!0)=>{const[o]=f(e);if(!o)return!1;const r=Mo(o,t);return n&&r>0||r>=o.width*o.height}),[]),m=n.useCallback(((e,t,n={replace:!0})=>{s((o=>o.map((o=>{if(o.id===e){const e="function"==typeof t?t(o):t;return n.replace&&zi(e)?e:{...o,...e}}return o}))))}),[s]),y=n.useCallback(((e,t,n={replace:!1})=>{m(e,(e=>{const o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}}),n)}),[m]);return n.useMemo((()=>({...e,getNodes:o,getNode:r,getEdges:i,getEdge:a,setNodes:s,setEdges:l,addNodes:c,addEdges:d,toObject:u,deleteElements:h,getIntersectingNodes:p,isNodeIntersecting:g,updateNode:m,updateNodeData:y})),[e,o,r,i,a,s,l,c,d,u,h,p,g,m,y])}const Bi=e=>e.selected,ji={actInsideInputWithModifier:!1};const Vi={position:"absolute",width:"100%",height:"100%",top:0,left:0},Li=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib}),Hi=({onPaneContextMenu:o,zoomOnScroll:r=!0,zoomOnPinch:i=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:l=e.PanOnScrollMode.Free,zoomOnDoubleClick:c=!0,panOnDrag:d=!0,defaultViewport:u,translateExtent:h,minZoom:f,maxZoom:p,zoomActivationKeyCode:g,preventScrolling:m=!0,children:y,noWheelClassName:v,noPanClassName:x,onViewportChange:w,isControlledViewport:b})=>{const S=Gr(),C=n.useRef(null),{userSelectionActive:E,lib:_}=Kr(Li,ei),N=xi(g),M=n.useRef();return function(e){const t=Gr();n.useEffect((()=>{const n=()=>{if(!e.current)return!1;const n=Ro(e.current);0!==n.height&&0!==n.width||t.getState().onError?.("004",Qn.error004()),t.setState({width:n.width||500,height:n.height||500})};if(e.current){n(),window.addEventListener("resize",n);const t=new ResizeObserver((()=>n()));return t.observe(e.current),()=>{window.removeEventListener("resize",n),t&&e.current&&t.unobserve(e.current)}}}),[])}(C),n.useEffect((()=>{if(C.current){M.current=Or({domNode:C.current,minZoom:f,maxZoom:p,translateExtent:h,viewport:u,onTransformChange:e=>{w?.({x:e[0],y:e[1],zoom:e[2]}),b||S.setState({transform:e})},onDraggingChange:e=>S.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{const{onViewportChangeStart:n,onMoveStart:o}=S.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{const{onViewportChange:n,onMove:o}=S.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{const{onViewportChangeEnd:n,onMoveEnd:o}=S.getState();o?.(e,t),n?.(t)}});const{x:e,y:t,zoom:n}=M.current.getViewport();return S.setState({panZoom:M.current,transform:[e,t,n],domNode:C.current.closest(".react-flow")}),()=>{M.current?.destroy()}}}),[]),n.useEffect((()=>{M.current?.update({onPaneContextMenu:o,zoomOnScroll:r,zoomOnPinch:i,panOnScroll:a,panOnScrollSpeed:s,panOnScrollMode:l,zoomOnDoubleClick:c,panOnDrag:d,zoomActivationKeyPressed:N,preventScrolling:m,noPanClassName:x,userSelectionActive:E,noWheelClassName:v,lib:_})}),[o,r,i,a,s,l,c,d,N,m,x,E,v,_]),t.jsx("div",{className:"react-flow__renderer",ref:C,style:Vi,children:y})},Xi=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Zi(){const{userSelectionActive:e,userSelectionRect:n}=Kr(Xi,ei);return e&&n?t.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const Yi=(e,t)=>n=>{n.target===t.current&&e?.(n)},Ui=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Wi=n.memo((({isSelecting:o,selectionMode:i=e.SelectionMode.Full,panOnDrag:a,onSelectionStart:s,onSelectionEnd:l,onPaneClick:c,onPaneContextMenu:d,onPaneScroll:u,onPaneMouseEnter:h,onPaneMouseMove:f,onPaneMouseLeave:p,children:g})=>{const m=n.useRef(null),y=Gr(),v=n.useRef(0),x=n.useRef(0),w=n.useRef(),{userSelectionActive:b,elementsSelectable:S,dragging:C}=Kr(Ui,ei),E=()=>{y.setState({userSelectionActive:!1,userSelectionRect:null}),v.current=0,x.current=0},_=e=>{c?.(e),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},N=u?e=>u(e):void 0,M=S&&(o||b);return t.jsxs("div",{className:r(["react-flow__pane",{dragging:C,selection:o}]),onClick:M?void 0:Yi(_,m),onContextMenu:Yi((e=>{Array.isArray(a)&&a?.includes(2)?e.preventDefault():d?.(e)}),m),onWheel:Yi(N,m),onMouseEnter:M?void 0:h,onMouseDown:M?e=>{const{resetSelectedElements:t,domNode:n}=y.getState();if(w.current=n?.getBoundingClientRect(),!S||!o||0!==e.button||e.target!==m.current||!w.current)return;const{x:r,y:i}=Lo(e.nativeEvent,w.current);t(),y.setState({userSelectionRect:{width:0,height:0,startX:r,startY:i,x:r,y:i}}),s?.(e)}:void 0,onMouseMove:M?t=>{const{userSelectionRect:n,edges:r,transform:a,nodeOrigin:s,nodes:l,onNodesChange:c,onEdgesChange:d}=y.getState();if(!o||!w.current||!n)return;y.setState({userSelectionActive:!0,nodesSelectionActive:!1});const u=Lo(t.nativeEvent,w.current),h=n.startX??0,f=n.startY??0,p={...n,x:u.x<h?u.x:h,y:u.y<f?u.y:f,width:Math.abs(u.x-h),height:Math.abs(u.y-f)},g=po(l,p,a,i===e.SelectionMode.Partial,!0,s),m=new Set,b=new Set;for(const e of g){b.add(e.id);for(const t of r)t.source!==e.id&&t.target!==e.id||m.add(t.id)}if(v.current!==b.size){v.current=b.size;const e=Pi(l,b,!0);e.length&&c?.(e)}if(x.current!==m.size){x.current=m.size;const e=Pi(r,m);e.length&&d?.(e)}y.setState({userSelectionRect:p})}:f,onMouseUp:M?e=>{if(0!==e.button)return;const{userSelectionRect:t}=y.getState();!b&&t&&e.target===m.current&&_?.(e),y.setState({nodesSelectionActive:v.current>0}),E(),l?.(e)}:void 0,onMouseLeave:M?e=>{b&&(y.setState({nodesSelectionActive:v.current>0}),l?.(e)),E()}:p,ref:m,style:Vi,children:[g,t.jsx(Zi,{})]})}));function Fi({id:e,store:t,unselect:n=!1,nodeRef:o}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:s,onError:l}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(i({nodes:[c],edges:[]}),requestAnimationFrame((()=>o?.current?.blur()))):r([e])):l?.("012",Qn.error012(e))}function Ki({nodeRef:e,disabled:t=!1,noDragClassName:o,handleSelector:r,nodeId:i,isSelectable:a}){const s=Gr(),[l,c]=n.useState(!1),d=n.useRef();return n.useEffect((()=>{e?.current&&(d.current=function({domNode:e,onNodeMouseDown:t,getStoreItems:n,onDragStart:o,onDrag:r,onDragStop:i}){let a={x:null,y:null},s=0,l=[],c=!1,d={x:0,y:0},u=null,h=null,f=!1;const p=Se(e);return{update:function({noDragClassName:e,handleSelector:g,domNode:m,isSelectable:y,nodeId:v}){function x({x:e,y:t}){const{nodes:o,nodeLookup:i,nodeExtent:s,snapGrid:c,snapToGrid:d,nodeOrigin:h,onNodeDrag:f,onSelectionDrag:p,onError:g,updateNodePositions:m}=n();a={x:e,y:t};let y=!1,x={x:0,y:0,x2:0,y2:0};if(l.length>1&&s){const e=fo(l,h);x=Co(e)}if(l=l.map((n=>{let r={x:e-n.distance.x,y:t-n.distance.y};d&&(r=zo(r,c));const i=[[s[0][0],s[0][1]],[s[1][0],s[1][1]]];l.length>1&&s&&!n.extent&&(i[0][0]=n.computed.positionAbsolute.x-x.x+s[0][0],i[1][0]=n.computed.positionAbsolute.x+(n.computed?.width??0)-x.x2+s[1][0],i[0][1]=n.computed.positionAbsolute.y-x.y+s[0][1],i[1][1]=n.computed.positionAbsolute.y+(n.computed?.height??0)-x.y2+s[1][1]);const a=yo(n,r,o,i,h,g);return y=y||n.position.x!==a.position.x||n.position.y!==a.position.y,n.position=a.position,n.computed.positionAbsolute=a.positionAbsolute,n})),!y)return;m(l,!0,!0);const w=v?f:ur(p);if(u&&(r||w)){const[e,t]=gr({nodeId:v,dragItems:l,nodeLookup:i});r?.(u,l,e,t),w?.(u,e,t)}}function w(){if(!h)return;const[e,t]=bo(d,h);if(0!==e||0!==t){const{transform:o,panBy:r}=n();a.x=(a.x??0)-e/o[2],a.y=(a.y??0)-t/o[2],r({x:e,y:t})&&x(a)}s=requestAnimationFrame(w)}function b(e){const{nodes:r,nodeLookup:i,multiSelectionActive:s,nodesDraggable:c,transform:d,snapGrid:u,snapToGrid:h,selectNodesOnDrag:p,onNodeDragStart:g,onSelectionDragStart:m,unselectNodesAndEdges:x}=n();f=!0,p&&y||s||!v||i.get(v)?.selected||x(),y&&p&&v&&t?.(v);const w=$o(e.sourceEvent,{transform:d,snapGrid:u,snapToGrid:h});a=w,l=pr(r,c,w,v);const b=v?g:ur(m);if(l&&(o||b)){const[t,n]=gr({nodeId:v,dragItems:l,nodeLookup:i});o?.(e.sourceEvent,l,t,n),b?.(e.sourceEvent,t,n)}}const S=Re().on("start",(e=>{const{domNode:t,nodeDragThreshold:o,transform:r,snapGrid:i,snapToGrid:s}=n();0===o&&b(e);const l=$o(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:s});a=l,h=t?.getBoundingClientRect()||null,d=Lo(e.sourceEvent,h)})).on("drag",(e=>{const{autoPanOnNodeDrag:t,transform:o,snapGrid:r,snapToGrid:i,nodeDragThreshold:s}=n(),p=$o(e.sourceEvent,{transform:o,snapGrid:r,snapToGrid:i});if(!c&&t&&f&&(c=!0,w()),!f){const t=p.xSnapped-(a.x??0),n=p.ySnapped-(a.y??0);Math.sqrt(t*t+n*n)>s&&b(e)}(a.x!==p.xSnapped||a.y!==p.ySnapped)&&l&&f&&(u=e.sourceEvent,d=Lo(e.sourceEvent,h),x(p))})).on("end",(e=>{if(f&&(c=!1,f=!1,cancelAnimationFrame(s),l)){const{nodeLookup:t,updateNodePositions:o,onNodeDragStop:r,onSelectionDragStop:a}=n(),s=v?r:ur(a);if(o(l,!1,!1),i||s){const[n,o]=gr({nodeId:v,dragItems:l,nodeLookup:t});i?.(e.sourceEvent,l,n,o),s?.(e.sourceEvent,n,o)}}})).filter((t=>{const n=t.target;return!t.button&&(!e||!fr(n,`.${e}`,m))&&(!g||fr(n,g,m))}));p.call(S)},destroy:function(){p.on(".drag",null)}}}({domNode:e.current,getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{Fi({id:t,store:s,nodeRef:e})},onDragStart:()=>{c(!0)},onDragStop:()=>{c(!1)}}))}),[]),n.useEffect((()=>{if(!t)return d.current?.update({noDragClassName:o,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:i}),()=>{d.current?.destroy()};d.current?.destroy()}),[o,r,t,a,e,i]),l}Wi.displayName="Pane";const Gi=e=>t=>t.selected&&(t.draggable||e&&void 0===t.draggable);function qi(){const e=Gr();return n.useCallback((t=>{const{nodeExtent:n,nodes:o,snapToGrid:r,snapGrid:i,nodesDraggable:a,onError:s,updateNodePositions:l}=e.getState(),c=o.filter(Gi(a)),d=r?i[0]:5,u=r?i[1]:5,h=t.isShiftPressed?4:1,f=t.x*d*h,p=t.y*u*h;l(c.map((e=>{if(e.computed?.positionAbsolute){let t={x:e.computed?.positionAbsolute.x+f,y:e.computed?.positionAbsolute.y+p};r&&(t=zo(t,i));const{positionAbsolute:a,position:l}=yo(e,t,o,n,void 0,s);e.position=l,e.computed||(e.computed={}),e.computed.positionAbsolute=a}return e})),!0,!1)}),[])}const Qi=n.createContext(null),Ji=Qi.Provider;Qi.Consumer;const ea=()=>n.useContext(Qi),ta=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),na=n.forwardRef((({type:n="source",position:o=e.Position.Top,isValidConnection:i,isConnectable:a=!0,isConnectableStart:s=!0,isConnectableEnd:l=!0,id:c,onConnect:d,children:u,className:h,onMouseDown:f,onTouchStart:p,...g},m)=>{const y=c||null,v="target"===n,x=Gr(),w=ea(),{connectOnClick:b,noPanClassName:S}=Kr(ta,ei),{connecting:C,clickConnecting:E}=Kr(((e,t,n)=>o=>{const{connectionStartHandle:r,connectionEndHandle:i,connectionClickStartHandle:a}=o;return{connecting:r?.nodeId===e&&r?.handleId===t&&r?.type===n||i?.nodeId===e&&i?.handleId===t&&i?.type===n,clickConnecting:a?.nodeId===e&&a?.handleId===t&&a?.type===n}})(w,y,n),ei);w||x.getState().onError?.("010",Qn.error010());const _=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=x.getState(),r={...t,...e};if(o){const{edges:e,setEdges:t}=x.getState();t(Ii(r,e))}n?.(r),d?.(r)},N=e=>{if(!w)return;const t=Vo(e.nativeEvent);if(s&&(t&&0===e.button||!t)){const t=x.getState();Cr.onPointerDown(e.nativeEvent,{autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodes:t.nodes,lib:t.lib,isTarget:v,handleId:y,nodeId:w,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:_,isValidConnection:i||t.isValidConnection,getTransform:()=>x.getState().transform})}t?f?.(e):p?.(e)};return t.jsx("div",{"data-handleid":y,"data-nodeid":w,"data-handlepos":o,"data-id":`${w}-${y}-${n}`,className:r(["react-flow__handle",`react-flow__handle-${o}`,"nodrag",S,h,{source:!v,target:v,connectable:a,connectablestart:s,connectableend:l,connecting:E,connectionindicator:a&&(s&&!C||l&&C)}]),onMouseDown:N,onTouchStart:N,onClick:b?e=>{const{onClickConnectStart:t,onClickConnectEnd:o,connectionClickStartHandle:r,connectionMode:a,isValidConnection:l,lib:c}=x.getState();if(!w||!r&&!s)return;if(!r)return t?.(e.nativeEvent,{nodeId:w,handleId:y,handleType:n}),void x.setState({connectionClickStartHandle:{nodeId:w,type:n,handleId:y}});const d=To(e.target),u=i||l,{connection:h,isValid:f}=Cr.isValid(e.nativeEvent,{handle:{nodeId:w,id:y,type:n},connectionMode:a,fromNodeId:r.nodeId,fromHandleId:r.handleId||null,fromType:r.type,isValidConnection:u,doc:d,lib:c});f&&h&&_(h),o?.(e),x.setState({connectionClickStartHandle:null})}:void 0,ref:m,...g,children:u})}));na.displayName="Handle";var oa=n.memo(na);const ra=({data:n,isConnectable:o,sourcePosition:r=e.Position.Bottom})=>t.jsxs(t.Fragment,{children:[n?.label,t.jsx(oa,{type:"source",position:r,isConnectable:o})]});ra.displayName="InputNode";var ia=n.memo(ra);const aa=({data:n,isConnectable:o,targetPosition:r=e.Position.Top,sourcePosition:i=e.Position.Bottom})=>t.jsxs(t.Fragment,{children:[t.jsx(oa,{type:"target",position:r,isConnectable:o}),n?.label,t.jsx(oa,{type:"source",position:i,isConnectable:o})]});aa.displayName="DefaultNode";var sa=n.memo(aa);const la=()=>null;la.displayName="GroupNode";const ca=({data:n,isConnectable:o,targetPosition:r=e.Position.Top})=>t.jsxs(t.Fragment,{children:[t.jsx(oa,{type:"target",position:r,isConnectable:o}),n?.label]});ca.displayName="OutputNode";var da=n.memo(ca);const ua={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ha={input:ia,default:sa,output:da,group:la},fa=e=>{const t=e.nodes.filter((e=>e.selected)),{width:n,height:o,x:r,y:i}=fo(t,e.nodeOrigin);return{width:n,height:o,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${i}px)`}};var pa=n.memo((function({onSelectionContextMenu:e,noPanClassName:o,disableKeyboardA11y:i}){const a=Gr(),{width:s,height:l,transformString:c,userSelectionActive:d}=Kr(fa,ei),u=qi(),h=n.useRef(null);if(n.useEffect((()=>{i||h.current?.focus({preventScroll:!0})}),[i]),Ki({nodeRef:h}),d||!s||!l)return null;const f=e?t=>{const n=a.getState().nodes.filter((e=>e.selected));e(t,n)}:void 0;return t.jsx("div",{className:r(["react-flow__nodesselection","react-flow__container",o]),style:{transform:c},children:t.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:i?void 0:-1,onKeyDown:i?void 0:e=>{Object.prototype.hasOwnProperty.call(ua,e.key)&&u({x:ua[e.key].x,y:ua[e.key].y,isShiftPressed:e.shiftKey})},style:{width:s,height:l}})})}));const ga=e=>e.nodesSelectionActive,ma=({children:e,onPaneClick:o,onPaneMouseEnter:r,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:l,deleteKeyCode:c,selectionKeyCode:d,selectionOnDrag:u,selectionMode:h,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:g,panActivationKeyCode:m,zoomActivationKeyCode:y,elementsSelectable:v,zoomOnScroll:x,zoomOnPinch:w,panOnScroll:b,panOnScrollSpeed:S,panOnScrollMode:C,zoomOnDoubleClick:E,panOnDrag:_,defaultViewport:N,translateExtent:M,minZoom:k,maxZoom:P,preventScrolling:z,onSelectionContextMenu:O,noWheelClassName:A,noPanClassName:D,disableKeyboardA11y:I,onViewportChange:$,isControlledViewport:R})=>{const T=Kr(ga),B=xi(d),j=xi(m),V=j||_,L=j||b,H=B||u&&!0!==V;return(({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const o=Gr(),{deleteElements:r}=Ti(),i=xi(e,ji),a=xi(t);n.useEffect((()=>{if(i){const{edges:e,nodes:t,onBeforeDelete:n}=o.getState();r({nodes:t.filter(Bi),edges:e.filter(Bi),onBeforeDelete:n}),o.setState({nodesSelectionActive:!1})}}),[i]),n.useEffect((()=>{o.setState({multiSelectionActive:a})}),[a])})({deleteKeyCode:c,multiSelectionKeyCode:g}),t.jsx(Hi,{onPaneContextMenu:s,elementsSelectable:v,zoomOnScroll:x,zoomOnPinch:w,panOnScroll:L,panOnScrollSpeed:S,panOnScrollMode:C,zoomOnDoubleClick:E,panOnDrag:!B&&V,defaultViewport:N,translateExtent:M,minZoom:k,maxZoom:P,zoomActivationKeyCode:y,preventScrolling:z,noWheelClassName:A,noPanClassName:D,onViewportChange:$,isControlledViewport:R,children:t.jsxs(Wi,{onSelectionStart:f,onSelectionEnd:p,onPaneClick:o,onPaneMouseEnter:r,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:l,panOnDrag:V,isSelecting:!!H,selectionMode:h,children:[e,T&&t.jsx(pa,{onSelectionContextMenu:O,noPanClassName:D,disableKeyboardA11y:I})]})})};ma.displayName="FlowRenderer";var ya=n.memo(ma);function va(e){return Kr(n.useCallback((e=>t=>e?po(t.nodes,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map((e=>e.id)):Array.from(t.nodeLookup.keys()))(e),[e]),ei)}const xa=e=>e.updateNodeDimensions;const wa=({id:e,onClick:o,onMouseEnter:i,onMouseMove:a,onMouseLeave:s,onContextMenu:l,onDoubleClick:c,nodesDraggable:d,elementsSelectable:u,nodesConnectable:h,nodesFocusable:f,resizeObserver:p,noDragClassName:g,noPanClassName:m,disableKeyboardA11y:y,rfId:v,nodeTypes:x,nodeExtent:w,nodeOrigin:b,onError:S})=>{const{node:C,positionAbsoluteX:E,positionAbsoluteY:_,zIndex:N,isParent:M}=Kr((t=>{const n=t.nodeLookup.get(e),o=w?xo(n.computed?.positionAbsolute,w):n.computed?.positionAbsolute||{x:0,y:0};return{node:n,positionAbsoluteX:o.x,positionAbsoluteY:o.y,zIndex:n[Jn]?.z??0,isParent:!!n[Jn]?.isParent}}),ei);let k=C.type||"default",P=x?.[k]||ha[k];void 0===P&&(S?.("003",Qn.error003(k)),k="default",P=ha.default);const z=!!(C.draggable||d&&void 0===C.draggable),O=!!(C.selectable||u&&void 0===C.selectable),A=!!(C.connectable||h&&void 0===C.connectable),D=!!(C.focusable||f&&void 0===C.focusable),I=Gr(),$=n.useRef(null),R=n.useRef(C.sourcePosition),T=n.useRef(C.targetPosition),B=n.useRef(k),j=qi();n.useEffect((()=>{if($.current&&!C.hidden){const e=$.current;return p?.observe(e),()=>p?.unobserve(e)}}),[C.hidden]),n.useEffect((()=>{const t=B.current!==k,n=R.current!==C.sourcePosition,o=T.current!==C.targetPosition;$.current&&(t||n||o)&&(t&&(B.current=k),n&&(R.current=C.sourcePosition),o&&(T.current=C.targetPosition),I.getState().updateNodeDimensions(new Map([[e,{id:e,nodeElement:$.current,forceUpdate:!0}]])))}),[e,k,C.sourcePosition,C.targetPosition]);const V=Ki({nodeRef:$,disabled:C.hidden||!z,noDragClassName:g,handleSelector:C.dragHandle,nodeId:e,isSelectable:O});if(C.hidden)return null;const L=C.width??void 0,H=C.height??void 0,X=C.computed?.width,Z=C.computed?.height,Y=(({x:e,y:t,width:n,height:o,origin:r=[0,0]})=>!n||!o||r[0]<0||r[1]<0||r[0]>1||r[1]>1?{x:e,y:t}:{x:e-n*r[0],y:t-o*r[1]})({x:E,y:_,width:X??L??0,height:Z??H??0,origin:C.origin||b}),U=!!X&&!!Z||!!L&&!!H,W=O||z||o||i||a||s,F=i?e=>i(e,{...C}):void 0,K=a?e=>a(e,{...C}):void 0,G=s?e=>s(e,{...C}):void 0,q=l?e=>l(e,{...C}):void 0,Q=c?e=>c(e,{...C}):void 0;return t.jsx("div",{className:r(["react-flow__node",`react-flow__node-${k}`,{[m]:z},C.className,{selected:C.selected,selectable:O,parent:M,dragging:V}]),ref:$,style:{zIndex:N,transform:`translate(${Y.x}px,${Y.y}px)`,pointerEvents:W?"all":"none",visibility:U?"visible":"hidden",width:L,height:H,...C.style},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:F,onMouseMove:K,onMouseLeave:G,onContextMenu:q,onClick:t=>{const{selectNodesOnDrag:n,nodeDragThreshold:r}=I.getState();O&&(!n||!z||r>0)&&Fi({id:e,store:I,nodeRef:$}),o&&o(t,{...C})},onDoubleClick:Q,onKeyDown:D?t=>{if(!jo(t.nativeEvent))if(to.includes(t.key)&&O){const n="Escape"===t.key;Fi({id:e,store:I,unselect:n,nodeRef:$})}else!y&&z&&C.selected&&Object.prototype.hasOwnProperty.call(ua,t.key)&&(I.setState({ariaLiveMessage:`Moved selected node ${t.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~E}, y: ${~~_}`}),j({x:ua[t.key].x,y:ua[t.key].y,isShiftPressed:t.shiftKey}))}:void 0,tabIndex:D?0:void 0,role:D?"button":void 0,"aria-describedby":y?void 0:`${hi}-${v}`,"aria-label":C.ariaLabel,children:t.jsx(Ji,{value:e,children:t.jsx(P,{id:e,data:C.data,type:k,width:X,height:Z,positionAbsoluteX:E,positionAbsoluteY:_,selected:C.selected,isConnectable:A,sourcePosition:C.sourcePosition,targetPosition:C.targetPosition,dragging:V,dragHandle:C.dragHandle,zIndex:N})})})};wa.displayName="NodeWrapper";var ba=n.memo(wa);const Sa=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError}),Ca=e=>{const{nodesDraggable:o,nodesConnectable:r,nodesFocusable:i,elementsSelectable:a,onError:s}=Kr(Sa,ei),l=va(e.onlyRenderVisibleElements),c=function(){const e=Kr(xa),t=n.useRef(),o=n.useMemo((()=>{if("undefined"==typeof ResizeObserver)return null;const n=new ResizeObserver((t=>{const n=new Map;t.forEach((e=>{const t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,forceUpdate:!0})})),e(n)}));return t.current=n,n}),[]);return n.useEffect((()=>()=>{t?.current?.disconnect()}),[]),o}();return t.jsx("div",{className:"react-flow__nodes",style:Vi,children:l.map((n=>t.jsx(ba,{id:n,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,nodeOrigin:e.nodeOrigin,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:c,nodesDraggable:o,nodesConnectable:r,nodesFocusable:i,elementsSelectable:a,onError:s},n)))})};Ca.displayName="NodeRenderer";var Ea=n.memo(Ca);const _a={[e.MarkerType.Arrow]:({color:e="none",strokeWidth:n=1})=>t.jsx("polyline",{style:{stroke:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[e.MarkerType.ArrowClosed]:({color:e="none",strokeWidth:n=1})=>t.jsx("polyline",{style:{stroke:e,fill:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})};const Na=({id:e,type:o,color:r,width:i=12.5,height:a=12.5,markerUnits:s="strokeWidth",strokeWidth:l,orient:c="auto-start-reverse"})=>{const d=function(e){const t=Gr();return n.useMemo((()=>Object.prototype.hasOwnProperty.call(_a,e)?_a[e]:(t.getState().onError?.("009",Qn.error009(e)),null)),[e])}(o);return d?t.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:c,refX:"0",refY:"0",children:t.jsx(d,{color:r,strokeWidth:l})}):null},Ma=({defaultColor:e,rfId:t})=>n=>{const o=function(e,{id:t,defaultColor:n}){const o=[];return e.reduce(((e,r)=>([r.markerStart,r.markerEnd].forEach((r=>{if(r&&"object"==typeof r){const i=ir(r,t);o.includes(i)||(e.push({id:i,color:r.color||n,...r}),o.push(i))}})),e)),[]).sort(((e,t)=>e.id.localeCompare(t.id)))}(n.edges,{id:t,defaultColor:e});return o},ka=(e,t)=>!(e.length!==t.length||e.some(((e,n)=>e.id!==t[n].id))),Pa=({defaultColor:e,rfId:o})=>{const r=Kr(n.useCallback(Ma({defaultColor:e,rfId:o}),[e,o]),ka);return r.length?t.jsx("svg",{className:"react-flow__marker",children:t.jsx("defs",{children:r.map((e=>t.jsx(Na,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id)))})}):null};Pa.displayName="MarkerDefinitions";var za=n.memo(Pa);var Oa=n.memo((({x:e,y:o,label:i,labelStyle:a={},labelShowBg:s=!0,labelBgStyle:l={},labelBgPadding:c=[2,4],labelBgBorderRadius:d=2,children:u,className:h,...f})=>{const[p,g]=n.useState({x:1,y:0,width:0,height:0}),m=r(["react-flow__edge-textwrapper",h]),y=n.useCallback((e=>{if(null===e)return;const t=e.getBBox();g({x:t.x,y:t.y,width:t.width,height:t.height})}),[]);return void 0!==i&&i?t.jsxs("g",{transform:`translate(${e-p.width/2} ${o-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...f,children:[s&&t.jsx("rect",{width:p.width+2*c[0],x:-c[0],y:-c[1],height:p.height+2*c[1],className:"react-flow__edge-textbg",style:l,rx:d,ry:d}),t.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:y,style:a,children:i}),u]}):null}));const Aa=({id:e,path:n,labelX:o,labelY:i,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,markerEnd:f,markerStart:p,className:g,interactionWidth:m=20})=>t.jsxs(t.Fragment,{children:[t.jsx("path",{id:e,style:h,d:n,fill:"none",className:r(["react-flow__edge-path",g]),markerEnd:f,markerStart:p}),m&&t.jsx("path",{d:n,fill:"none",strokeOpacity:0,strokeWidth:m,className:"react-flow__edge-interaction"}),a&&Po(o)&&Po(i)?t.jsx(Oa,{x:o,y:i,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u}):null]});function Da({pos:t,x1:n,y1:o,x2:r,y2:i}){return t===e.Position.Left||t===e.Position.Right?[.5*(n+r),o]:[n,.5*(o+i)]}function Ia({sourceX:t,sourceY:n,sourcePosition:o=e.Position.Bottom,targetX:r,targetY:i,targetPosition:a=e.Position.Top}){const[s,l]=Da({pos:o,x1:t,y1:n,x2:r,y2:i}),[c,d]=Da({pos:a,x1:r,y1:i,x2:t,y2:n}),[u,h,f,p]=Xo({sourceX:t,sourceY:n,targetX:r,targetY:i,sourceControlX:s,sourceControlY:l,targetControlX:c,targetControlY:d});return[`M${t},${n} C${s},${l} ${c},${d} ${r},${i}`,u,h,f,p]}function $a(o){return n.memo((({id:n,sourceX:r,sourceY:i,targetX:a,targetY:s,sourcePosition:l=e.Position.Bottom,targetPosition:c=e.Position.Top,label:d,labelStyle:u,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:m,markerEnd:y,markerStart:v,interactionWidth:x})=>{const[w,b,S]=Ia({sourceX:r,sourceY:i,sourcePosition:l,targetX:a,targetY:s,targetPosition:c}),C=o.isInternal?void 0:n;return t.jsx(Aa,{id:C,path:w,labelX:b,labelY:S,label:d,labelStyle:u,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:m,markerEnd:y,markerStart:v,interactionWidth:x})}))}Aa.displayName="BaseEdge";const Ra=$a({isInternal:!1}),Ta=$a({isInternal:!0});function Ba(o){return n.memo((({id:n,sourceX:r,sourceY:i,targetX:a,targetY:s,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:p,sourcePosition:g=e.Position.Bottom,targetPosition:m=e.Position.Top,markerEnd:y,markerStart:v,pathOptions:x,interactionWidth:w})=>{const[b,S,C]=er({sourceX:r,sourceY:i,sourcePosition:g,targetX:a,targetY:s,targetPosition:m,borderRadius:x?.borderRadius,offset:x?.offset}),E=o.isInternal?void 0:n;return t.jsx(Aa,{id:E,path:b,labelX:S,labelY:C,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:y,markerStart:v,interactionWidth:w})}))}Ra.displayName="SimpleBezierEdge",Ta.displayName="SimpleBezierEdgeInternal";const ja=Ba({isInternal:!1}),Va=Ba({isInternal:!0});function La(e){return n.memo((({id:o,...r})=>{const i=e.isInternal?void 0:o;return t.jsx(ja,{...r,id:i,pathOptions:n.useMemo((()=>({borderRadius:0,offset:r.pathOptions?.offset})),[r.pathOptions?.offset])})}))}ja.displayName="SmoothStepEdge",Va.displayName="SmoothStepEdgeInternal";const Ha=La({isInternal:!1}),Xa=La({isInternal:!0});function Za(e){return n.memo((({id:n,sourceX:o,sourceY:r,targetX:i,targetY:a,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:p,markerStart:g,interactionWidth:m})=>{const[y,v,x]=Go({sourceX:o,sourceY:r,targetX:i,targetY:a}),w=e.isInternal?void 0:n;return t.jsx(Aa,{id:w,path:y,labelX:v,labelY:x,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:p,markerStart:g,interactionWidth:m})}))}Ha.displayName="StepEdge",Xa.displayName="StepEdgeInternal";const Ya=Za({isInternal:!1}),Ua=Za({isInternal:!0});function Wa(o){return n.memo((({id:n,sourceX:r,sourceY:i,targetX:a,targetY:s,sourcePosition:l=e.Position.Bottom,targetPosition:c=e.Position.Top,label:d,labelStyle:u,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:m,markerEnd:y,markerStart:v,pathOptions:x,interactionWidth:w})=>{const[b,S,C]=Uo({sourceX:r,sourceY:i,sourcePosition:l,targetX:a,targetY:s,targetPosition:c,curvature:x?.curvature}),E=o.isInternal?void 0:n;return t.jsx(Aa,{id:E,path:b,labelX:S,labelY:C,label:d,labelStyle:u,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:m,markerEnd:y,markerStart:v,interactionWidth:w})}))}Ya.displayName="StraightEdge",Ua.displayName="StraightEdgeInternal";const Fa=Wa({isInternal:!1}),Ka=Wa({isInternal:!0});Fa.displayName="BezierEdge",Ka.displayName="BezierEdgeInternal";const Ga={default:Ka,straight:Ua,step:Xa,smoothstep:Va,simplebezier:Ta},qa={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},Qa=(t,n,o)=>o===e.Position.Left?t-n:o===e.Position.Right?t+n:t,Ja=(t,n,o)=>o===e.Position.Top?t-n:o===e.Position.Bottom?t+n:t,es="react-flow__edgeupdater",ts=({position:e,centerX:n,centerY:o,radius:i=10,onMouseDown:a,onMouseEnter:s,onMouseOut:l,type:c})=>t.jsx("circle",{onMouseDown:a,onMouseEnter:s,onMouseOut:l,className:r([es,`${es}-${c}`]),cx:Qa(n,i,e),cy:Ja(o,i,e),r:i,stroke:"transparent",fill:"transparent"});function ns({isUpdatable:e,edgeUpdaterRadius:n,edge:o,targetHandleId:r,sourceHandleId:i,sourceX:a,sourceY:s,targetX:l,targetY:c,sourcePosition:d,targetPosition:u,onEdgeUpdate:h,onEdgeUpdateStart:f,onEdgeUpdateEnd:p,setUpdating:g,setUpdateHover:m}){const y=Gr(),v=(e,t)=>{if(0!==e.button)return;const{autoPanOnConnect:n,domNode:a,isValidConnection:s,connectionMode:l,connectionRadius:c,lib:d,onConnectStart:u,onConnectEnd:m,cancelConnection:v,nodes:x,panBy:w,updateConnection:b}=y.getState(),S=t?o.target:o.source,C=(t?r:i)||null,E=t?"target":"source",_=t;g(!0),f?.(e,o,E);Cr.onPointerDown(e.nativeEvent,{autoPanOnConnect:n,connectionMode:l,connectionRadius:c,domNode:a,handleId:C,nodeId:S,nodes:x,isTarget:_,edgeUpdaterType:E,lib:d,cancelConnection:v,panBy:w,isValidConnection:s,onConnect:e=>h?.(o,e),onConnectStart:u,onConnectEnd:m,onEdgeUpdateEnd:e=>{g(!1),p?.(e,o,E)},updateConnection:b,getTransform:()=>y.getState().transform})},x=()=>m(!0),w=()=>m(!1);return t.jsxs(t.Fragment,{children:[("source"===e||!0===e)&&t.jsx(ts,{position:d,centerX:a,centerY:s,radius:n,onMouseDown:e=>v(e,!0),onMouseEnter:x,onMouseOut:w,type:"source"}),("target"===e||!0===e)&&t.jsx(ts,{position:u,centerX:l,centerY:c,radius:n,onMouseDown:e=>v(e,!1),onMouseEnter:x,onMouseOut:w,type:"target"})]})}function os({id:o,edgesFocusable:i,edgesUpdatable:a,elementsSelectable:s,onClick:l,onDoubleClick:c,sourceHandleId:d,targetHandleId:u,onContextMenu:h,onMouseEnter:f,onMouseMove:p,onMouseLeave:g,edgeUpdaterRadius:m,onEdgeUpdate:y,onEdgeUpdateStart:v,onEdgeUpdateEnd:x,rfId:w,edgeTypes:b,noPanClassName:S,onError:C}){let E=Kr((e=>e.edgeLookup.get(o)));const _=Kr((e=>e.defaultEdgeOptions));E=_?{..._,...E}:E;let N=E.type||"default",M=b?.[N]||Ga[N];void 0===M&&(C?.("011",Qn.error011(N)),N="default",M=Ga.default);const k=!!(E.focusable||i&&void 0===E.focusable),P=void 0!==y&&(E.updatable||a&&void 0===E.updatable),z=!!(E.selectable||s&&void 0===E.selectable),O=n.useRef(null),[A,D]=n.useState(!1),[I,$]=n.useState(!1),R=Gr(),{zIndex:T,sourceX:B,sourceY:j,targetX:V,targetY:L,sourcePosition:H,targetPosition:X}=Kr(n.useCallback((t=>{const n=t.nodeLookup.get(E.source),r=t.nodeLookup.get(E.target);if(!n||!r)return{zIndex:E.zIndex,...qa};const i=function(t){const{sourceNode:n,targetNode:o}=t;if(!tr(n)||!tr(o))return null;const r=n[Jn]?.handleBounds||nr(n.handles),i=o[Jn]?.handleBounds||nr(o.handles),a=rr(r?.source??[],t.sourceHandle),s=rr(t.connectionMode===e.ConnectionMode.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),t.targetHandle),l=a?.position||e.Position.Bottom,c=s?.position||e.Position.Top;if(!a||!s)return t.onError?.("008",Qn.error008(a?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;const[d,u]=or(l,n,a),[h,f]=or(c,o,s);return{sourceX:d,sourceY:u,targetX:h,targetY:f,sourcePosition:l,targetPosition:c}}({id:o,sourceNode:n,targetNode:r,sourceHandle:d||null,targetHandle:u||null,connectionMode:t.connectionMode,onError:C}),a=function({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:r=!1}){if(!r)return o;const i=n||t.selected||e.selected,a=Math.max(e[Jn]?.z||0,t[Jn]?.z||0,1e3);return o+(i?a:0)}({selected:E.selected,zIndex:E.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect});return{zIndex:a,...i||qa}}),[E.source,E.target,E.selected,E.zIndex]),ei),Z=n.useMemo((()=>E.markerStart?`url(#${ir(E.markerStart,w)})`:void 0),[E.markerStart,w]),Y=n.useMemo((()=>E.markerEnd?`url(#${ir(E.markerEnd,w)})`:void 0),[E.markerEnd,w]);if(E.hidden||!B||!j||!V||!L)return null;const U=c?e=>{c(e,{...E})}:void 0,W=h?e=>{h(e,{...E})}:void 0,F=f?e=>{f(e,{...E})}:void 0,K=p?e=>{p(e,{...E})}:void 0,G=g?e=>{g(e,{...E})}:void 0;return t.jsx("svg",{style:{zIndex:T},children:t.jsxs("g",{className:r(["react-flow__edge",`react-flow__edge-${N}`,E.className,S,{selected:E.selected,animated:E.animated,inactive:!z&&!l,updating:A}]),onClick:e=>{const{addSelectedEdges:t,unselectNodesAndEdges:n,multiSelectionActive:r}=R.getState();z&&(R.setState({nodesSelectionActive:!1}),E.selected&&r?(n({nodes:[],edges:[E]}),O.current?.blur()):t([o])),l&&l(e,E)},onDoubleClick:U,onContextMenu:W,onMouseEnter:F,onMouseMove:K,onMouseLeave:G,onKeyDown:k?e=>{if(to.includes(e.key)&&z){const{unselectNodesAndEdges:t,addSelectedEdges:n}=R.getState();"Escape"===e.key?(O.current?.blur(),t({edges:[E]})):n([o])}}:void 0,tabIndex:k?0:void 0,role:k?"button":"img","data-id":o,"data-testid":`rf__edge-${o}`,"aria-label":null===E.ariaLabel?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":k?`${fi}-${w}`:void 0,ref:O,children:[!I&&t.jsx(M,{id:o,source:E.source,target:E.target,selected:E.selected,animated:E.animated,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:B,sourceY:j,targetX:V,targetY:L,sourcePosition:H,targetPosition:X,data:E.data,style:E.style,sourceHandleId:d,targetHandleId:u,markerStart:Z,markerEnd:Y,pathOptions:"pathOptions"in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),P&&t.jsx(ns,{edge:E,isUpdatable:P,edgeUpdaterRadius:m,onEdgeUpdate:y,onEdgeUpdateStart:v,onEdgeUpdateEnd:x,sourceX:B,sourceY:j,targetX:V,targetY:L,sourcePosition:H,targetPosition:X,setUpdateHover:D,setUpdating:$,sourceHandleId:d,targetHandleId:u})]})})}os.displayName="EdgeWrapper";var rs=n.memo(os);const is=e=>({width:e.width,height:e.height,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError}),as=({defaultMarkerColor:e,onlyRenderVisibleElements:o,rfId:r,edgeTypes:i,noPanClassName:a,onEdgeUpdate:s,onEdgeContextMenu:l,onEdgeMouseEnter:c,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:h,edgeUpdaterRadius:f,onEdgeDoubleClick:p,onEdgeUpdateStart:g,onEdgeUpdateEnd:m,children:y})=>{const{edgesFocusable:v,edgesUpdatable:x,elementsSelectable:w,onError:b}=Kr(is,ei),S=(C=o,Kr(n.useCallback((e=>{if(!C)return e.edges.map((e=>e.id));const t=[];if(e.width&&e.height)for(const n of e.edges){const o=e.nodeLookup.get(n.source),r=e.nodeLookup.get(n.target);o&&r&&Fo({sourceNode:o,targetNode:r,width:e.width,height:e.height,transform:e.transform})&&t.push(n.id)}return t}),[C]),ei));var C;return t.jsxs("div",{className:"react-flow__edges",children:[t.jsx(za,{defaultColor:e,rfId:r}),S.map((e=>t.jsx(rs,{id:e,edgesFocusable:v,edgesUpdatable:x,elementsSelectable:w,noPanClassName:a,onEdgeUpdate:s,onContextMenu:l,onMouseEnter:c,onMouseMove:d,onMouseLeave:u,onClick:h,edgeUpdaterRadius:f,onDoubleClick:p,onEdgeUpdateStart:g,onEdgeUpdateEnd:m,rfId:r,onError:b,edgeTypes:i},e))),y]})};as.displayName="EdgeRenderer";var ss=n.memo(as);const ls=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function cs({children:e}){const n=Kr(ls);return t.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}const ds=e=>e.panZoom?.syncViewport;const us={[e.Position.Left]:e.Position.Right,[e.Position.Right]:e.Position.Left,[e.Position.Top]:e.Position.Bottom,[e.Position.Bottom]:e.Position.Top},hs=({nodeId:o,handleType:r,style:i,type:a=e.ConnectionLineType.Bezier,CustomComponent:s,connectionStatus:l})=>{const{fromNode:c,handleId:d,toX:u,toY:h,connectionMode:f}=Kr(n.useCallback((e=>({fromNode:e.nodeLookup.get(o),handleId:e.connectionStartHandle?.handleId,toX:(e.connectionPosition.x-e.transform[0])/e.transform[2],toY:(e.connectionPosition.y-e.transform[1])/e.transform[2],connectionMode:e.connectionMode})),[o]),ei),p=c?.[Jn]?.handleBounds;let g=p?.[r];if(f===e.ConnectionMode.Loose&&(g=g||p?.["source"===r?"target":"source"]),!c||!g)return null;const m=d?g.find((e=>e.id===d)):g[0],y=m?m.x+m.width/2:(c.computed?.width??0)/2,v=m?m.y+m.height/2:c.computed?.height??0,x=(c.computed?.positionAbsolute?.x??0)+y,w=(c.computed?.positionAbsolute?.y??0)+v,b=m?.position,S=b?us[b]:null;if(!b||!S)return null;if(s)return t.jsx(s,{connectionLineType:a,connectionLineStyle:i,fromNode:c,fromHandle:m,fromX:x,fromY:w,toX:u,toY:h,fromPosition:b,toPosition:S,connectionStatus:l});let C="";const E={sourceX:x,sourceY:w,sourcePosition:b,targetX:u,targetY:h,targetPosition:S};return a===e.ConnectionLineType.Bezier?[C]=Uo(E):a===e.ConnectionLineType.Step?[C]=er({...E,borderRadius:0}):a===e.ConnectionLineType.SmoothStep?[C]=er(E):a===e.ConnectionLineType.SimpleBezier?[C]=Ia(E):C=`M${x},${w} ${u},${h}`,t.jsx("path",{d:C,fill:"none",className:"react-flow__connection-path",style:i})};hs.displayName="ConnectionLine";const fs=e=>({nodeId:e.connectionStartHandle?.nodeId,handleType:e.connectionStartHandle?.type,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function ps({containerStyle:e,style:n,type:o,component:i}){const{nodeId:a,handleType:s,nodesConnectable:l,width:c,height:d,connectionStatus:u}=Kr(fs,ei);return!!(a&&s&&c&&l)?t.jsx("svg",{style:e,width:c,height:d,className:"react-flow__edges react-flow__connectionline react-flow__container",children:t.jsx("g",{className:r(["react-flow__connection",u]),children:t.jsx(hs,{nodeId:a,handleType:s,style:n,type:o,CustomComponent:i,connectionStatus:u})})}):null}const gs={};function ms(e=gs){n.useRef(0),Gr(),n.useEffect((()=>{}),[e])}const ys=({nodeTypes:e,edgeTypes:o,onInit:r,onNodeClick:i,onEdgeClick:a,onNodeDoubleClick:s,onEdgeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:h,onSelectionContextMenu:f,onSelectionStart:p,onSelectionEnd:g,connectionLineType:m,connectionLineStyle:y,connectionLineComponent:v,connectionLineContainerStyle:x,selectionKeyCode:w,selectionOnDrag:b,selectionMode:S,multiSelectionKeyCode:C,panActivationKeyCode:E,zoomActivationKeyCode:_,deleteKeyCode:N,onlyRenderVisibleElements:M,elementsSelectable:k,defaultViewport:P,translateExtent:z,minZoom:O,maxZoom:A,preventScrolling:D,defaultMarkerColor:I,zoomOnScroll:$,zoomOnPinch:R,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:j,zoomOnDoubleClick:V,panOnDrag:L,onPaneClick:H,onPaneMouseEnter:X,onPaneMouseMove:Z,onPaneMouseLeave:Y,onPaneScroll:U,onPaneContextMenu:W,onEdgeUpdate:F,onEdgeContextMenu:K,onEdgeMouseEnter:G,onEdgeMouseMove:q,onEdgeMouseLeave:Q,edgeUpdaterRadius:J,onEdgeUpdateStart:ee,onEdgeUpdateEnd:te,noDragClassName:ne,noWheelClassName:oe,noPanClassName:re,disableKeyboardA11y:ie,nodeOrigin:ae,nodeExtent:se,rfId:le,viewport:ce,onViewportChange:de})=>(ms(e),ms(o),function(e){const t=Ti(),o=n.useRef(!1);n.useEffect((()=>{!o.current&&t.viewportInitialized&&e&&(setTimeout((()=>e(t)),1),o.current=!0)}),[e,t.viewportInitialized])}(r),function(e){const t=Kr(ds),o=Gr();n.useEffect((()=>{e&&(t?.(e),o.setState({transform:[e.x,e.y,e.zoom]}))}),[e,t])}(ce),t.jsx(ya,{onPaneClick:H,onPaneMouseEnter:X,onPaneMouseMove:Z,onPaneMouseLeave:Y,onPaneContextMenu:W,onPaneScroll:U,deleteKeyCode:N,selectionKeyCode:w,selectionOnDrag:b,selectionMode:S,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:C,panActivationKeyCode:E,zoomActivationKeyCode:_,elementsSelectable:k,zoomOnScroll:$,zoomOnPinch:R,zoomOnDoubleClick:V,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:j,panOnDrag:L,defaultViewport:P,translateExtent:z,minZoom:O,maxZoom:A,onSelectionContextMenu:f,preventScrolling:D,noDragClassName:ne,noWheelClassName:oe,noPanClassName:re,disableKeyboardA11y:ie,onViewportChange:de,isControlledViewport:!!ce,children:t.jsxs(cs,{children:[t.jsx(ss,{edgeTypes:o,onEdgeClick:a,onEdgeDoubleClick:l,onEdgeUpdate:F,onlyRenderVisibleElements:M,onEdgeContextMenu:K,onEdgeMouseEnter:G,onEdgeMouseMove:q,onEdgeMouseLeave:Q,onEdgeUpdateStart:ee,onEdgeUpdateEnd:te,edgeUpdaterRadius:J,defaultMarkerColor:I,noPanClassName:re,disableKeyboardA11y:ie,rfId:le,children:t.jsx(ps,{style:y,type:m,component:v,containerStyle:x})}),t.jsx("div",{className:"react-flow__edgelabel-renderer"}),t.jsx("div",{className:"react-flow__viewport-portal"}),t.jsx(Ea,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:h,onlyRenderVisibleElements:M,noPanClassName:re,noDragClassName:ne,disableKeyboardA11y:ie,nodeOrigin:ae,nodeExtent:se,rfId:le})]})}));ys.displayName="GraphView";var vs=n.memo(ys);function xs(e,t){return t.map((t=>{const n=e.find((e=>e.id===t.id));return n&&(t.selected=n.selected),t}))}function ws({changedNodes:e,changedEdges:t,get:n,set:o}){const{nodes:r,edges:i,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:l,hasDefaultEdges:c}=n();e?.length&&(l&&o({nodes:xs(e,r)}),a?.(e)),t?.length&&(c&&o({edges:xs(t,i)}),s?.(t))}const bs=({nodes:t=[],edges:n=[],width:o,height:r,fitView:i}={})=>{const a=new Map,s=new Map,l=new Map;dr(s,l,n);const c=lr(t,a,{nodeOrigin:[0,0],elevateNodesOnSelect:!1});let d=[0,0,1];if(i&&o&&r){const e=c.filter((e=>e.width&&e.height)),t=fo(e,[0,0]),{x:n,y:i,zoom:a}=Do(t,o,r,.5,2,.1);d=[n,i,a]}return{rfId:"1",width:0,height:0,transform:d,nodes:c,nodeLookup:a,edges:n,edgeLookup:l,connectionLookup:s,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,panZoom:null,minZoom:.5,maxZoom:2,translateExtent:eo,nodeExtent:eo,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:e.ConnectionMode.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,fitViewOnInit:!1,fitViewDone:!1,fitViewOnInitOptions:void 0,selectNodesOnDrag:!0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:()=>null,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react"}},Ss=({nodes:e,edges:t,width:n,height:o,fitView:r})=>{return i=(i,a)=>({...bs({nodes:e,edges:t,width:n,height:o,fitView:r}),setNodes:e=>{const{nodeLookup:t,nodeOrigin:n,elevateNodesOnSelect:o}=a(),r=lr(e,t,{nodeOrigin:n,elevateNodesOnSelect:o});i({nodes:r})},setEdges:e=>{const{connectionLookup:t,edgeLookup:n}=a();dr(t,n,e),i({edges:e})},setDefaultNodesAndEdges:(e,t)=>{const n=void 0!==e,o=void 0!==t,r={hasDefaultNodes:n,hasDefaultEdges:o};if(n){const{nodeLookup:t,nodeOrigin:n,elevateNodesOnSelect:o}=a();r.nodes=lr(e,t,{nodeOrigin:n,elevateNodesOnSelect:o})}if(o){const{connectionLookup:e,edgeLookup:n}=a();dr(e,n,t),r.edges=t}i(r)},updateNodeDimensions:e=>{const{onNodesChange:t,fitView:n,nodes:o,nodeLookup:r,fitViewOnInit:s,fitViewDone:l,fitViewOnInitOptions:c,domNode:d,nodeOrigin:u}=a(),h=[],f=function(e,t,n,o,r,i){const a=o?.querySelector(".xyflow__viewport");if(!a)return null;const s=window.getComputedStyle(a),{m22:l}=new window.DOMMatrixReadOnly(s.transform);return t.map((t=>{const o=e.get(t.id);if(o){const e=Ro(o.nodeElement);if(e.width&&e.height&&(t.computed?.width!==e.width||t.computed?.height!==e.height||o.forceUpdate)){i?.(t.id,e);const a={...t,computed:{...t.computed,...e},[Jn]:{...t[Jn],handleBounds:{source:Ho(".source",o.nodeElement,l,t.origin||r),target:Ho(".target",o.nodeElement,l,t.origin||r)}}};return n.set(t.id,a),a}}return t}))}(e,o,r,d,u,((e,t)=>{h.push({id:e,type:"dimensions",dimensions:t})}));if(!f)return;const p=sr(f,r,u);let g=l;!l&&s&&(g=n(p,{...c,nodes:c?.nodes||p})),i({nodes:p,fitViewDone:g}),h?.length>0&&t?.(h)},updateNodePositions:(e,t=!0,n=!1)=>{const o=e.map((e=>{const o={id:e.id,type:"position",dragging:n};return t&&(o.positionAbsolute=e.computed?.positionAbsolute,o.position=e.position),o}));a().triggerNodeChanges(o)},triggerNodeChanges:e=>{const{onNodesChange:t,nodeLookup:n,nodes:o,hasDefaultNodes:r,nodeOrigin:s,elevateNodesOnSelect:l}=a();if(e?.length){if(r){const t=lr(Ni(e,o),n,{nodeOrigin:s,elevateNodesOnSelect:l});i({nodes:t})}t?.(e)}},addSelectedNodes:e=>{const{multiSelectionActive:t,edges:n,nodes:o}=a();let r,s=null;t?r=e.map((e=>ki(e,!0))):(r=Pi(o,new Set([...e]),!0),s=Pi(n)),ws({changedNodes:r,changedEdges:s,get:a,set:i})},addSelectedEdges:e=>{const{multiSelectionActive:t,edges:n,nodes:o}=a();let r,s=null;t?r=e.map((e=>ki(e,!0))):(r=Pi(n,new Set([...e])),s=Pi(o,new Set,!0)),ws({changedNodes:s,changedEdges:r,get:a,set:i})},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{const{edges:n,nodes:o}=a(),r=t||n;ws({changedNodes:(e||o).map((e=>(e.selected=!1,ki(e.id,!1)))),changedEdges:r.map((e=>ki(e.id,!1))),get:a,set:i})},setMinZoom:e=>{const{panZoom:t,maxZoom:n}=a();t?.setScaleExtent([e,n]),i({minZoom:e})},setMaxZoom:e=>{const{panZoom:t,minZoom:n}=a();t?.setScaleExtent([n,e]),i({maxZoom:e})},setTranslateExtent:e=>{a().panZoom?.setTranslateExtent(e),i({translateExtent:e})},resetSelectedElements:()=>{const{edges:e,nodes:t}=a();ws({changedNodes:t.filter((e=>e.selected)).map((e=>ki(e.id,!1))),changedEdges:e.filter((e=>e.selected)).map((e=>ki(e.id,!1))),get:a,set:i})},setNodeExtent:e=>{const{nodes:t}=a();i({nodeExtent:e,nodes:t.map((t=>{const n=xo(t.position,e);return{...t,computed:{...t.computed,positionAbsolute:n}}}))})},panBy:e=>{const{transform:t,width:n,height:o,panZoom:r,translateExtent:i}=a();return function({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return!1;const a=t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}({delta:e,panZoom:r,transform:t,translateExtent:i,width:n,height:o})},fitView:(e,t)=>{const{panZoom:n,width:o,height:r,minZoom:i,maxZoom:s,nodeOrigin:l}=a();return!!n&&mo({nodes:e,width:o,height:r,panZoom:n,minZoom:i,maxZoom:s,nodeOrigin:l},t)},cancelConnection:()=>i({connectionStatus:null,connectionStartHandle:null,connectionEndHandle:null}),updateConnection:e=>{const{connectionStatus:t,connectionStartHandle:n,connectionEndHandle:o,connectionPosition:r}=a(),s={connectionPosition:e.connectionPosition??r,connectionStatus:e.connectionStatus??t,connectionStartHandle:e.connectionStartHandle??n,connectionEndHandle:e.connectionEndHandle??o};i(s)},reset:()=>{}}),a=Object.is,i?Yr(i,a):Yr;var i,a};function Cs({children:e,initialNodes:o,initialEdges:r,initialWidth:i,initialHeight:a,fitView:s}){const l=n.useRef(null);return l.current||(l.current=Ss({nodes:o,edges:r,width:i,height:a,fitView:s})),t.jsx(Wr,{value:l.current,children:e})}function Es({children:e,nodes:o,edges:r,width:i,height:a,fitView:s}){return n.useContext(Ur)?t.jsx(t.Fragment,{children:e}):t.jsx(Cs,{initialNodes:o,initialEdges:r,initialWidth:i,initialHeight:a,fitView:s,children:e})}function _s(){return"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null}Cs.displayName="ReactFlowProvider",Es.displayName="ReactFlowWrapper";const Ns=[0,0],Ms={x:0,y:0,zoom:1},ks={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Ps=n.forwardRef((({nodes:o,edges:i,defaultNodes:a,defaultEdges:s,className:l,nodeTypes:c,edgeTypes:d,onNodeClick:u,onEdgeClick:h,onInit:f,onMove:p,onMoveStart:g,onMoveEnd:m,onConnect:y,onConnectStart:v,onConnectEnd:x,onClickConnectStart:w,onClickConnectEnd:b,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:E,onNodeContextMenu:_,onNodeDoubleClick:N,onNodeDragStart:M,onNodeDrag:k,onNodeDragStop:P,onNodesDelete:z,onEdgesDelete:O,onDelete:A,onSelectionChange:D,onSelectionDragStart:I,onSelectionDrag:$,onSelectionDragStop:R,onSelectionContextMenu:T,onSelectionStart:B,onSelectionEnd:j,onBeforeDelete:V,connectionMode:L,connectionLineType:H=e.ConnectionLineType.Bezier,connectionLineStyle:X,connectionLineComponent:Z,connectionLineContainerStyle:Y,deleteKeyCode:U="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:F=!1,selectionMode:K=e.SelectionMode.Full,panActivationKeyCode:G="Space",multiSelectionKeyCode:q=(Io()?"Meta":"Control"),zoomActivationKeyCode:Q=(Io()?"Meta":"Control"),snapToGrid:J,snapGrid:ee,onlyRenderVisibleElements:te=!1,selectNodesOnDrag:ne,nodesDraggable:oe,nodesConnectable:re,nodesFocusable:ie,nodeOrigin:ae=Ns,edgesFocusable:se,edgesUpdatable:le,elementsSelectable:ce=!0,defaultViewport:de=Ms,minZoom:ue=.5,maxZoom:he=2,translateExtent:fe=eo,preventScrolling:pe=!0,nodeExtent:ge,defaultMarkerColor:me="#b1b1b7",zoomOnScroll:ye=!0,zoomOnPinch:ve=!0,panOnScroll:xe=!1,panOnScrollSpeed:we=.5,panOnScrollMode:be=e.PanOnScrollMode.Free,zoomOnDoubleClick:Se=!0,panOnDrag:Ce=!0,onPaneClick:Ee,onPaneMouseEnter:_e,onPaneMouseMove:Ne,onPaneMouseLeave:Me,onPaneScroll:ke,onPaneContextMenu:Pe,children:ze,onEdgeUpdate:Oe,onEdgeContextMenu:Ae,onEdgeDoubleClick:De,onEdgeMouseEnter:Ie,onEdgeMouseMove:$e,onEdgeMouseLeave:Re,onEdgeUpdateStart:Te,onEdgeUpdateEnd:Be,edgeUpdaterRadius:je=10,onNodesChange:Ve,onEdgesChange:Le,noDragClassName:He="nodrag",noWheelClassName:Xe="nowheel",noPanClassName:Ze="nopan",fitView:Ye,fitViewOptions:Ue,connectOnClick:We,attributionPosition:Fe,proOptions:Ke,defaultEdgeOptions:Ge,elevateNodesOnSelect:qe,elevateEdgesOnSelect:Qe,disableKeyboardA11y:Je=!1,autoPanOnConnect:et,autoPanOnNodeDrag:tt,connectionRadius:nt,isValidConnection:ot,onError:rt,style:it,id:at,nodeDragThreshold:st,viewport:lt,onViewportChange:ct,width:dt,height:ut,colorMode:ht="light",...ft},pt)=>{const gt=at||"1",mt=function(e){const[t,o]=n.useState("system"===e?null:e);return n.useEffect((()=>{if("system"!==e)return void o(e);const t=_s(),n=()=>o(t?.matches?"dark":"light");return n(),t?.addEventListener("change",n),()=>{t?.removeEventListener("change",n)}}),[e]),null!==t?t:_s()?.matches?"dark":"light"}(ht);return t.jsx("div",{...ft,style:{...it,...ks},ref:pt,className:r(["react-flow",l,mt]),"data-testid":"rf__wrapper",id:at,children:t.jsxs(Es,{nodes:o,edges:i,width:dt,height:ut,fitView:Ye,children:[t.jsx(vs,{onInit:f,onNodeClick:u,onEdgeClick:h,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:E,onNodeContextMenu:_,onNodeDoubleClick:N,nodeTypes:c,edgeTypes:d,connectionLineType:H,connectionLineStyle:X,connectionLineComponent:Z,connectionLineContainerStyle:Y,selectionKeyCode:W,selectionOnDrag:F,selectionMode:K,deleteKeyCode:U,multiSelectionKeyCode:q,panActivationKeyCode:G,zoomActivationKeyCode:Q,onlyRenderVisibleElements:te,defaultViewport:de,translateExtent:fe,minZoom:ue,maxZoom:he,preventScrolling:pe,zoomOnScroll:ye,zoomOnPinch:ve,zoomOnDoubleClick:Se,panOnScroll:xe,panOnScrollSpeed:we,panOnScrollMode:be,panOnDrag:Ce,onPaneClick:Ee,onPaneMouseEnter:_e,onPaneMouseMove:Ne,onPaneMouseLeave:Me,onPaneScroll:ke,onPaneContextMenu:Pe,onSelectionContextMenu:T,onSelectionStart:B,onSelectionEnd:j,onEdgeUpdate:Oe,onEdgeContextMenu:Ae,onEdgeDoubleClick:De,onEdgeMouseEnter:Ie,onEdgeMouseMove:$e,onEdgeMouseLeave:Re,onEdgeUpdateStart:Te,onEdgeUpdateEnd:Be,edgeUpdaterRadius:je,defaultMarkerColor:me,noDragClassName:He,noWheelClassName:Xe,noPanClassName:Ze,rfId:gt,disableKeyboardA11y:Je,nodeOrigin:ae,nodeExtent:ge,viewport:lt,onViewportChange:ct}),t.jsx(ci,{nodes:o,edges:i,defaultNodes:a,defaultEdges:s,onConnect:y,onConnectStart:v,onConnectEnd:x,onClickConnectStart:w,onClickConnectEnd:b,nodesDraggable:oe,nodesConnectable:re,nodesFocusable:ie,edgesFocusable:se,edgesUpdatable:le,elementsSelectable:ce,elevateNodesOnSelect:qe,elevateEdgesOnSelect:Qe,minZoom:ue,maxZoom:he,nodeExtent:ge,onNodesChange:Ve,onEdgesChange:Le,snapToGrid:J,snapGrid:ee,connectionMode:L,translateExtent:fe,connectOnClick:We,defaultEdgeOptions:Ge,fitView:Ye,fitViewOptions:Ue,onNodesDelete:z,onEdgesDelete:O,onDelete:A,onNodeDragStart:M,onNodeDrag:k,onNodeDragStop:P,onSelectionDrag:$,onSelectionDragStart:I,onSelectionDragStop:R,onMove:p,onMoveStart:g,onMoveEnd:m,noPanClassName:Ze,nodeOrigin:ae,rfId:gt,autoPanOnConnect:et,autoPanOnNodeDrag:tt,onError:rt,connectionRadius:nt,isValidConnection:ot,selectNodesOnDrag:ne,nodeDragThreshold:st,onBeforeDelete:V}),t.jsx(ai,{onSelectionChange:D}),ze,t.jsx(Jr,{proOptions:Ke,position:Fe}),t.jsx(yi,{rfId:gt,disableKeyboardA11y:Je})]})})}));Ps.displayName="ReactFlow";const zs=e=>e.domNode?.querySelector(".react-flow__edgelabel-renderer");const Os=e=>e.domNode?.querySelector(".react-flow__viewport-portal");const As=e=>e.nodes;const Ds=e=>e.edges;const Is=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});const $s={includeHiddenNodes:!1};const Rs=e=>({startHandle:e.connectionStartHandle,endHandle:e.connectionEndHandle,status:e.connectionStatus,position:e.connectionStartHandle?e.connectionPosition:null});var Ts;function Bs({dimensions:e,lineWidth:n,variant:o,className:i}){return t.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:r(["react-flow__background-pattern",o,i])})}function js({radius:e,className:n}){return t.jsx("circle",{cx:e,cy:e,r:e,className:r(["react-flow__background-pattern","dots",n])})}e.BackgroundVariant=void 0,(Ts=e.BackgroundVariant||(e.BackgroundVariant={})).Lines="lines",Ts.Dots="dots",Ts.Cross="cross";const Vs={[e.BackgroundVariant.Dots]:1,[e.BackgroundVariant.Lines]:1,[e.BackgroundVariant.Cross]:6},Ls=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Hs({id:o,variant:i=e.BackgroundVariant.Dots,gap:a=20,size:s,lineWidth:l=1,offset:c=2,color:d,bgColor:u,style:h,className:f,patternClassName:p}){const g=n.useRef(null),{transform:m,patternId:y}=Kr(Ls,ei),v=s||Vs[i],x=i===e.BackgroundVariant.Dots,w=i===e.BackgroundVariant.Cross,b=Array.isArray(a)?a:[a,a],S=[b[0]*m[2]||1,b[1]*m[2]||1],C=v*m[2],E=w?[C,C]:S,_=x?[C/c,C/c]:[E[0]/c,E[1]/c],N=`${y}${o||""}`;return t.jsxs("svg",{className:r(["react-flow__background",f]),style:{...h,...Vi,"--xy-background-color-props":u,"--xy-background-pattern-color-props":d},ref:g,"data-testid":"rf__background",children:[t.jsx("pattern",{id:N,x:m[0]%S[0],y:m[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${_[0]},-${_[1]})`,children:x?t.jsx(js,{radius:C/c,className:p}):t.jsx(Bs,{dimensions:E,lineWidth:l,variant:i,className:p})}),t.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${N})`})]})}Hs.displayName="Background";var Xs=n.memo(Hs);function Zs(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:t.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Ys(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:t.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Us(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:t.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Ws(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function Fs(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}const Ks=({children:e,className:n,...o})=>t.jsx("button",{type:"button",className:r(["react-flow__controls-button",n]),...o,children:e});Ks.displayName="ControlButton";const Gs=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),qs=({style:e,showZoom:n=!0,showFitView:o=!0,showInteractive:i=!0,fitViewOptions:a,onZoomIn:s,onZoomOut:l,onFitView:c,onInteractiveChange:d,className:u,children:h,position:f="bottom-left"})=>{const p=Gr(),{isInteractive:g,minZoomReached:m,maxZoomReached:y}=Kr(Gs,ei),{zoomIn:v,zoomOut:x,fitView:w}=Ti();return t.jsxs(Qr,{className:r(["react-flow__controls",u]),position:f,style:e,"data-testid":"rf__controls",children:[n&&t.jsxs(t.Fragment,{children:[t.jsx(Ks,{onClick:()=>{v(),s?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:y,children:t.jsx(Zs,{})}),t.jsx(Ks,{onClick:()=>{x(),l?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:m,children:t.jsx(Ys,{})})]}),o&&t.jsx(Ks,{className:"react-flow__controls-fitview",onClick:()=>{w(a),c?.()},title:"fit view","aria-label":"fit view",children:t.jsx(Us,{})}),i&&t.jsx(Ks,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),d?.(!g)},title:"toggle interactivity","aria-label":"toggle interactivity",children:g?t.jsx(Fs,{}):t.jsx(Ws,{})}),h]})};qs.displayName="Controls";var Qs=n.memo(qs);var Js=n.memo((function({id:e,x:n,y:o,width:i,height:a,style:s,color:l,strokeColor:c,strokeWidth:d,className:u,borderRadius:h,shapeRendering:f,selected:p,onClick:g}){const{background:m,backgroundColor:y}=s||{},v=l||m||y;return t.jsx("rect",{className:r(["react-flow__minimap-node",{selected:p},u]),x:n,y:o,rx:h,ry:h,width:i,height:a,style:{fill:v,stroke:c,strokeWidth:d},shapeRendering:f,onClick:g?t=>g(t,e):void 0})}));const el=e=>e.nodeOrigin,tl=e=>e.nodes.map((e=>e.id)),nl=e=>e instanceof Function?e:()=>e;const ol=n.memo((function({id:e,nodeOrigin:n,nodeColorFunc:o,nodeStrokeColorFunc:r,nodeClassNameFunc:i,nodeBorderRadius:a,nodeStrokeWidth:s,shapeRendering:l,NodeComponent:c,onClick:d}){const{node:u,x:h,y:f}=Kr((t=>{const o=t.nodeLookup.get(e),{x:r,y:i}=ho(o,o?.origin||n).positionAbsolute;return{node:o,x:r,y:i}}),ei);return!u||u.hidden||!u.computed?.width&&!u.width||!u.computed?.height&&!u.height?null:t.jsx(c,{x:h,y:f,width:u.computed?.width??u.width??0,height:u.computed?.height??u.height??0,style:u.style,selected:!!u.selected,className:i(u),color:o(u),borderRadius:a,strokeColor:r(u),strokeWidth:s,shapeRendering:l,onClick:d,id:u.id})}));var rl=n.memo((function({nodeStrokeColor:e,nodeColor:n,nodeClassName:o="",nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=Js,onClick:s}){const l=Kr(tl,ei),c=Kr(el),d=nl(n),u=nl(e),h=nl(o),f="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision";return t.jsx(t.Fragment,{children:l.map((e=>t.jsx(ol,{id:e,nodeOrigin:c,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:h,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:s,shapeRendering:f},e)))})}));const il=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodes.length>0?(n=fo(e.nodes,e.nodeOrigin),o=t,Eo(So(Co(n),Co(o)))):t,rfId:e.rfId,nodeOrigin:e.nodeOrigin,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height};var n,o};function al({style:e,className:o,nodeStrokeColor:i,nodeColor:a,nodeClassName:s="",nodeBorderRadius:l=5,nodeStrokeWidth:c,nodeComponent:d,maskColor:u,maskStrokeColor:h="none",maskStrokeWidth:f=1,position:p="bottom-right",onClick:g,onNodeClick:m,pannable:y=!1,zoomable:v=!1,ariaLabel:x="React Flow mini map",inversePan:w,zoomStep:b=10,offsetScale:S=5}){const C=Gr(),E=n.useRef(null),{boundingRect:_,viewBB:N,rfId:M,panZoom:k,translateExtent:P,flowWidth:z,flowHeight:O}=Kr(il,ei),A=e?.width??200,D=e?.height??150,I=_.width/A,$=_.height/D,R=Math.max(I,$),T=R*A,B=R*D,j=S*R,V=_.x-(T-_.width)/2-j,L=_.y-(B-_.height)/2-j,H=T+2*j,X=B+2*j,Z=`react-flow__minimap-desc-${M}`,Y=n.useRef(0),U=n.useRef();Y.current=R,n.useEffect((()=>{if(E.current&&k)return U.current=function({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const r=Se(e);return{update:function({translateExtent:e,width:i,height:a,zoomStep:s=10,pannable:l=!0,zoomable:c=!0,inversePan:d=!1}){const u=qn().on("zoom",l?r=>{const s=n();if("mousemove"!==r.sourceEvent.type||!t)return;const l=o()*Math.max(s[2],Math.log(s[2]))*(d?-1:1),c={x:s[0]-r.sourceEvent.movementX*l,y:s[1]-r.sourceEvent.movementY*l},u=[[0,0],[i,a]];t.setViewportConstrained({x:c.x,y:c.y,zoom:s[2]},u,e)}:null).on("zoom.wheel",c?e=>{const o=n();if("wheel"!==e.sourceEvent.type||!t)return;const r=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*s,i=o[2]*Math.pow(2,r);t.scaleTo(i)}:null);r.call(u,{})},destroy:function(){r.on("zoom",null)},pointer:Ce}}({domNode:E.current,panZoom:k,getTransform:()=>C.getState().transform,getViewScale:()=>Y.current}),()=>{U.current?.destroy()}}),[k]),n.useEffect((()=>{U.current?.update({translateExtent:P,width:z,height:O,inversePan:w,pannable:y,zoomStep:b,zoomable:v})}),[y,v,w,b,P,z,O]);const W=g?e=>{const[t,n]=U.current?.pointer(e)||[0,0];g(e,{x:t,y:n})}:void 0,F=m?n.useCallback(((e,t)=>{const n=C.getState().nodeLookup.get(t);m(e,n)}),[]):void 0;return t.jsx(Qr,{position:p,style:{...e,"--xy-minimap-mask-color-props":"string"==typeof u?u:void 0,"--xy-minimap-node-background-color-props":"string"==typeof a?a:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof i?i:void 0,"--xy-minimap-node-stroke-width-props":"string"==typeof c?c:void 0},className:r(["react-flow__minimap",o]),"data-testid":"rf__minimap",children:t.jsxs("svg",{width:A,height:D,viewBox:`${V} ${L} ${H} ${X}`,role:"img","aria-labelledby":Z,ref:E,onClick:W,children:[x&&t.jsx("title",{id:Z,children:x}),t.jsx(rl,{onClick:F,nodeColor:a,nodeStrokeColor:i,nodeBorderRadius:l,nodeClassName:s,nodeStrokeWidth:c,nodeComponent:d}),t.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-j},${L-j}h${H+2*j}v${X+2*j}h${-H-2*j}z\n M${N.x},${N.y}h${N.width}v${N.height}h${-N.width}z`,fillRule:"evenodd",stroke:h,strokeWidth:f,pointerEvents:"none"})]})})}al.displayName="MiniMap";var sl,ll=n.memo(al);e.ResizeControlVariant=void 0,(sl=e.ResizeControlVariant||(e.ResizeControlVariant={})).Line="line",sl.Handle="handle";const cl={width:0,height:0,x:0,y:0},dl={...cl,pointerX:0,pointerY:0,aspectRatio:1};var ul=n.memo((function({nodeId:o,position:i,variant:a=e.ResizeControlVariant.Handle,className:s,style:l={},children:c,color:d,minWidth:u=10,minHeight:h=10,maxWidth:f=Number.MAX_VALUE,maxHeight:p=Number.MAX_VALUE,keepAspectRatio:g=!1,shouldResize:m,onResizeStart:y,onResize:v,onResizeEnd:x}){const w=ea(),b="string"==typeof o?o:w,S=Gr(),C=n.useRef(null),E=n.useRef(dl),_=n.useRef(cl),N=a===e.ResizeControlVariant.Line?"right":"bottom-right",M=i??N;n.useEffect((()=>{if(!C.current||!b)return;const e=Se(C.current),t=M.includes("right")||M.includes("left"),n=M.includes("bottom")||M.includes("top"),o=M.includes("left"),r=M.includes("top"),i=Re().on("start",(e=>{const{nodeLookup:t,transform:n,snapGrid:o,snapToGrid:r}=S.getState(),i=t.get(b),{xSnapped:a,ySnapped:s}=$o(e.sourceEvent,{transform:n,snapGrid:o,snapToGrid:r});_.current={width:i?.computed?.width??0,height:i?.computed?.height??0,x:i?.position.x??0,y:i?.position.y??0},E.current={..._.current,pointerX:a,pointerY:s,aspectRatio:_.current.width/_.current.height},y?.(e,{..._.current})})).on("drag",(e=>{const{nodeLookup:i,transform:a,snapGrid:s,snapToGrid:l,triggerNodeChanges:c}=S.getState(),{xSnapped:d,ySnapped:y}=$o(e.sourceEvent,{transform:a,snapGrid:s,snapToGrid:l}),x=i.get(b);if(x){const i=[],{pointerX:a,pointerY:s,width:l,height:w,x:S,y:C,aspectRatio:N}=E.current,{x:M,y:k,width:P,height:z}=_.current,O=Math.floor(t?d-a:0),A=Math.floor(n?y-s:0);let D=vo(l+(o?-O:O),u,f),I=vo(w+(r?-A:A),h,p);if(g){const e=D/I,o=t&&n;D=e<=N&&o||n&&!t?I*N:D,I=e>N&&o||t&&!n?D/N:I,D>=f?(D=f,I=f/N):D<=u&&(D=u,I=u/N),I>=p?(I=p,D=p*N):I<=h&&(I=h,D=h*N)}const $=D!==P,R=I!==z;if(o||r){const e=o?S-(D-l):S,t=r?C-(I-w):C,n=e!==M&&$,a=t!==k&&R;if(n||a){const o={id:x.id,type:"position",position:{x:n?e:M,y:a?t:k}};i.push(o),_.current.x=o.position.x,_.current.y=o.position.y}}if($||R){const e={id:b,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:D,height:I}};i.push(e),_.current.width=D,_.current.height=I}if(0===i.length)return;const T=function({width:e,prevWidth:t,height:n,prevHeight:o,invertX:r,invertY:i}){const a=e-t,s=n-o,l=[a>0?1:a<0?-1:0,s>0?1:s<0?-1:0];return a&&r&&(l[0]=-1*l[0]),s&&i&&(l[1]=-1*l[1]),l}({width:_.current.width,prevWidth:P,height:_.current.height,prevHeight:z,invertX:o,invertY:r}),B={..._.current,direction:T},j=m?.(e,B);if(!1===j)return;v?.(e,B),c(i)}})).on("end",(e=>{const t={id:b,type:"dimensions",resizing:!1};x?.(e,{..._.current}),S.getState().triggerNodeChanges([t])}));return e.call(i),()=>{e.on(".drag",null)}}),[b,M,u,h,f,p,g,y,v,x]);const k=M.split("-"),P=a===e.ResizeControlVariant.Line?"borderColor":"backgroundColor",z=d?{...l,[P]:d}:l;return t.jsx("div",{className:r(["react-flow__resize-control","nodrag",...k,a,s]),ref:C,style:z,children:c})}));const hl=["top-left","top-right","bottom-left","bottom-right"],fl=["top","right","bottom","left"];const pl=e=>e.domNode?.querySelector(".react-flow__renderer");function gl({children:e}){const t=Kr(pl);return t?o.createPortal(e,t):null}const ml=(e,t)=>e.length===t.length&&!e.some(((e,n)=>((e,t)=>e?.computed?.positionAbsolute?.x!==t?.computed?.positionAbsolute?.x||e?.computed?.positionAbsolute?.y!==t?.computed?.positionAbsolute?.y||e?.computed?.width!==t?.computed?.width||e?.computed?.height!==t?.computed?.height||e?.selected!==t?.selected||e?.[Jn]?.z!==t?.[Jn]?.z)(e,t[n]))),yl=e=>({viewport:{x:e.transform[0],y:e.transform[1],zoom:e.transform[2]},nodeOrigin:e.nodeOrigin,selectedNodesCount:e.nodes.filter((e=>e.selected)).length});e.Background=Xs,e.BaseEdge=Aa,e.BezierEdge=Fa,e.ControlButton=Ks,e.Controls=Qs,e.EdgeLabelRenderer=function({children:e}){const t=Kr(zs);return t?o.createPortal(e,t):null},e.EdgeText=Oa,e.Handle=oa,e.MiniMap=ll,e.NodeResizeControl=ul,e.NodeResizer=function({nodeId:n,isVisible:o=!0,handleClassName:r,handleStyle:i,lineClassName:a,lineStyle:s,color:l,minWidth:c=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:f=!1,shouldResize:p,onResizeStart:g,onResize:m,onResizeEnd:y}){return o?t.jsxs(t.Fragment,{children:[fl.map((o=>t.jsx(ul,{className:a,style:s,nodeId:n,position:o,variant:e.ResizeControlVariant.Line,color:l,minWidth:c,minHeight:d,maxWidth:u,maxHeight:h,onResizeStart:g,keepAspectRatio:f,shouldResize:p,onResize:m,onResizeEnd:y},o))),hl.map((e=>t.jsx(ul,{className:r,style:i,nodeId:n,position:e,color:l,minWidth:c,minHeight:d,maxWidth:u,maxHeight:h,onResizeStart:g,keepAspectRatio:f,shouldResize:p,onResize:m,onResizeEnd:y},e)))]}):null},e.NodeToolbar=function({nodeId:o,children:i,className:a,style:s,isVisible:l,position:c=e.Position.Top,offset:d=10,align:u="center",...h}){const f=ea(),p=n.useCallback((e=>(Array.isArray(o)?o:[o||f||""]).reduce(((t,n)=>{const o=e.nodeLookup.get(n);return o&&t.push(o),t}),[])),[o,f]),g=Kr(p,ml),{viewport:m,nodeOrigin:y,selectedNodesCount:v}=Kr(yl,ei);if(!("boolean"==typeof l?l:1===g.length&&g[0].selected&&1===v)||!g.length)return null;const x=fo(g,y),w=Math.max(...g.map((e=>(e[Jn]?.z||1)+1))),b={position:"absolute",transform:ar(x,m,c,d,u),zIndex:w,...s};return t.jsx(gl,{children:t.jsx("div",{style:b,className:r(["react-flow__node-toolbar",a]),...h,"data-id":g.reduce(((e,t)=>`${e}${t.id} `),"").trim(),children:i})})},e.Panel=Qr,e.ReactFlow=Ps,e.ReactFlowProvider=Cs,e.SimpleBezierEdge=Ra,e.SmoothStepEdge=ja,e.StepEdge=Ha,e.StraightEdge=Ya,e.ViewportPortal=function({children:e}){const t=Kr(Os);return t?o.createPortal(e,t):null},e.addEdge=Ii,e.applyEdgeChanges=Mi,e.applyNodeChanges=Ni,e.getBezierEdgeCenter=Xo,e.getBezierPath=Uo,e.getConnectedEdges=Ri,e.getEdgeCenter=Wo,e.getIncomers=Di,e.getNodesBounds=fo,e.getOutgoers=Ai,e.getSimpleBezierPath=Ia,e.getSmoothStepPath=er,e.getStraightPath=Go,e.getViewportForBounds=Do,e.handleParentExpand=Ei,e.internalsSymbol=Jn,e.isEdge=Oi,e.isNode=zi,e.updateEdge=$i,e.useConnection=function(){return Kr(Rs,ei)},e.useEdges=function(){return Kr(Ds,ei)},e.useEdgesState=function(e){const[t,o]=n.useState(e),r=n.useCallback((e=>o((t=>Mi(e,t)))),[]);return[t,o,r]},e.useHandleConnections=function({type:e,id:t=null,nodeId:o,onConnect:r,onDisconnect:i}){const a=ea(),s=n.useRef(null),l=o||a,c=Kr((n=>n.connectionLookup.get(`${l}-${e}-${t}`)),lo);return n.useEffect((()=>{if(s.current&&s.current!==c){const e=c??new Map;co(s.current,e,i),co(e,s.current,r)}s.current=c??new Map}),[c,r,i]),n.useMemo((()=>Array.from(c?.values()??[])),[c])},e.useKeyPress=xi,e.useNodeId=ea,e.useNodes=function(){return Kr(As,ei)},e.useNodesData=function(e){return Kr(n.useCallback((t=>{if(!Array.isArray(e))return t.nodeLookup.get(e)?.data||null;const n=[];for(const o of e){const e=t.nodeLookup.get(o)?.data;e&&n.push(e)}return n}),[e]),ei)},e.useNodesInitialized=function(e=$s){return Kr((e=>t=>0!==t.nodes.length&&t.nodes.filter((t=>!!e.includeHiddenNodes||!t.hidden)).every((e=>void 0!==e[Jn]?.handleBounds)))(e))},e.useNodesState=function(e){const[t,o]=n.useState(e),r=n.useCallback((e=>o((t=>Ni(e,t)))),[]);return[t,o,r]},e.useOnSelectionChange=function({onChange:e}){const t=Gr();n.useEffect((()=>{const n=[...t.getState().onSelectionChangeHandlers,e];return t.setState({onSelectionChangeHandlers:n}),()=>{const n=t.getState().onSelectionChangeHandlers.filter((t=>t!==e));t.setState({onSelectionChangeHandlers:n})}}),[e])},e.useOnViewportChange=function({onStart:e,onChange:t,onEnd:o}){const r=Gr();n.useEffect((()=>{r.setState({onViewportChangeStart:e})}),[e]),n.useEffect((()=>{r.setState({onViewportChange:t})}),[t]),n.useEffect((()=>{r.setState({onViewportChangeEnd:o})}),[o])},e.useReactFlow=Ti,e.useStore=Kr,e.useStoreApi=Gr,e.useUpdateNodeInternals=function(){const e=Gr();return n.useCallback((t=>{const{domNode:n,updateNodeDimensions:o}=e.getState(),r=Array.isArray(t)?t:[t],i=new Map;r.forEach((e=>{const t=n?.querySelector(`.react-flow__node[data-id="${e}"]`);t&&i.set(e,{id:e,nodeElement:t,forceUpdate:!0})})),requestAnimationFrame((()=>o(i)))}),[])},e.useViewport=function(){return Kr(Is,ei)}}));
|
|
10
|
+
*/Rr.exports=function(){if($r)return Tr;$r=1;var e=n,t=Vr(),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=t.useSyncExternalStore,i=e.useRef,a=e.useEffect,s=e.useMemo,l=e.useDebugValue;return Tr.useSyncExternalStoreWithSelector=function(e,t,n,c,d){var u=i(null);if(null===u.current){var h={hasValue:!1,value:null};u.current=h}else h=u.current;u=s((function(){function e(e){if(!a){if(a=!0,r=e,e=c(e),void 0!==d&&h.hasValue){var t=h.value;if(d(t,e))return i=t}return i=e}if(t=i,o(r,e))return t;var n=c(e);return void 0!==d&&d(t,n)?t:(r=e,i=n)}var r,i,a=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]}),[t,n,c,d]);var f=r(e,u[0],u[1]);return a((function(){h.hasValue=!0,h.value=f}),[f]),l(f),f},Tr}();var Lr=Ar(Rr.exports);const Hr=e=>{let t;const n=new Set,o=(e,o)=>{const r="function"==typeof e?e(t):e;if(!Object.is(r,t)){const e=t;t=(null!=o?o:"object"!=typeof r)?r:Object.assign({},t,r),n.forEach((n=>n(t,e)))}},r=()=>t,i={setState:o,getState:r,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}};return t=e(o,r,i),i},{useSyncExternalStoreWithSelector:Xr}=Lr;function Zr(e,t=e.getState,o){const r=Xr(e.subscribe,e.getState,e.getServerState||e.getState,t,o);return n.useDebugValue(r),r}const Yr=(e,t)=>{const n=(e=>e?Hr(e):Hr)(e),o=(e,o=t)=>Zr(n,e,o);return Object.assign(o,n),o},Ur=n.createContext(null),Wr=Ur.Provider,Fr=Qn.error001();function Kr(e,t){const o=n.useContext(Ur);if(null===o)throw new Error(Fr);return Zr(o,e,t)}const Gr=()=>{const e=n.useContext(Ur);if(null===e)throw new Error(Fr);return n.useMemo((()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy})),[e])},qr=e=>e.userSelectionActive?"none":"all";function Qr({position:e,children:n,className:o,style:i,...a}){const s=Kr(qr),l=`${e}`.split("-");return t.jsx("div",{className:r(["react-flow__panel",o,...l]),style:{...i,pointerEvents:s},...a,children:n})}function Jr({proOptions:e,position:n="bottom-right"}){return e?.hideAttribution?null:t.jsx(Qr,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:t.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}function ei(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[n,o]of e)if(!Object.is(o,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let o=0;o<n.length;o++)if(!Object.prototype.hasOwnProperty.call(t,n[o])||!Object.is(e[n[o]],t[n[o]]))return!1;return!0}const ti=e=>({selectedNodes:e.nodes.filter((e=>e.selected)),selectedEdges:e.edges.filter((e=>e.selected))}),ni=e=>e.id;function oi(e,t){return ei(e.selectedNodes.map(ni),t.selectedNodes.map(ni))&&ei(e.selectedEdges.map(ni),t.selectedEdges.map(ni))}const ri=n.memo((({onSelectionChange:e})=>{const t=Gr(),{selectedNodes:o,selectedEdges:r}=Kr(ti,oi);return n.useEffect((()=>{const n={nodes:o,edges:r};e?.(n),t.getState().onSelectionChangeHandlers.forEach((e=>e(n)))}),[o,r,e]),null}));ri.displayName="SelectionListener";const ii=e=>!!e.onSelectionChangeHandlers;function ai({onSelectionChange:e}){const n=Kr(ii);return e||n?t.jsx(ri,{onSelectionChange:e}):null}const si=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","nodesConnectable","nodesFocusable","edgesFocusable","edgesUpdatable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","onBeforeDelete","rfId"],li=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset}),ci=e=>{const{setNodes:t,setEdges:o,setDefaultNodesAndEdges:r,setMinZoom:i,setMaxZoom:a,setTranslateExtent:s,setNodeExtent:l,reset:c}=Kr(li,ei),d=Gr();n.useEffect((()=>{const t=e.defaultEdges?.map((t=>({...t,...e.defaultEdgeOptions})));return r(e.defaultNodes,t),()=>{c()}}),[]);const u=n.useRef({translateExtent:eo,nodeOrigin:Ns,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"});return n.useEffect((()=>{for(const n of si){const r=e[n];r!==u.current[n]&&(void 0!==e[n]&&("nodes"===n?t(r):"edges"===n?o(r):"minZoom"===n?i(r):"maxZoom"===n?a(r):"translateExtent"===n?s(r):"nodeExtent"===n?l(r):"fitView"===n?d.setState({fitViewOnInit:r}):"fitViewOptions"===n?d.setState({fitViewOnInitOptions:r}):d.setState({[n]:r})))}u.current=e}),si.map((t=>e[t]))),null},di={display:"none"},ui={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},hi="react-flow__node-desc",fi="react-flow__edge-desc",pi="react-flow__aria-live",gi=e=>e.ariaLiveMessage;function mi({rfId:e}){const n=Kr(gi);return t.jsx("div",{id:`${pi}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ui,children:n})}function yi({rfId:e,disableKeyboardA11y:n}){return t.jsxs(t.Fragment,{children:[t.jsxs("div",{id:`${hi}-${e}`,style:di,children:["Press enter or space to select a node.",!n&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "]}),t.jsx("div",{id:`${fi}-${e}`,style:di,children:"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."}),!n&&t.jsx(mi,{rfId:e})]})}const vi="undefined"!=typeof document?document:null;var xi=(e=null,t={target:vi,actInsideInputWithModifier:!0})=>{const[o,r]=n.useState(!1),i=n.useRef(!1),a=n.useRef(new Set([])),[s,l]=n.useMemo((()=>{if(null!==e){const t=(Array.isArray(e)?e:[e]).filter((e=>"string"==typeof e)).map((e=>e.split("+"))),n=t.reduce(((e,t)=>e.concat(...t)),[]);return[t,n]}return[[],[]]}),[e]);return n.useEffect((()=>{const n=t?.target||vi;if(null!==e){const e=e=>{i.current=e.ctrlKey||e.metaKey||e.shiftKey;if((!i.current||i.current&&!t.actInsideInputWithModifier)&&jo(e))return!1;const n=bi(e.code,l);a.current.add(e[n]),wi(s,a.current,!1)&&(e.preventDefault(),r(!0))},o=e=>{if((!i.current||i.current&&!t.actInsideInputWithModifier)&&jo(e))return!1;const n=bi(e.code,l);wi(s,a.current,!0)?(r(!1),a.current.clear()):a.current.delete(e[n]),i.current=!1},c=()=>{a.current.clear(),r(!1)};return n?.addEventListener("keydown",e),n?.addEventListener("keyup",o),window.addEventListener("blur",c),()=>{n?.removeEventListener("keydown",e),n?.removeEventListener("keyup",o),window.removeEventListener("blur",c)}}}),[e,r]),o};function wi(e,t,n){return e.filter((e=>n||e.length===t.size)).some((e=>e.every((e=>t.has(e)))))}function bi(e,t){return t.includes(e)?"code":"key"}const Si=e=>!!e.panZoom,Ci=()=>{const e=Gr(),t=Kr(Si),o=n.useMemo((()=>({zoomIn:t=>e.getState().panZoom?.scaleBy(1.2,{duration:t?.duration}),zoomOut:t=>e.getState().panZoom?.scaleBy(1/1.2,{duration:t?.duration}),zoomTo:(t,n)=>e.getState().panZoom?.scaleTo(t,{duration:n?.duration}),getZoom:()=>e.getState().transform[2],setViewport:(t,n)=>{const{transform:[o,r,i],panZoom:a}=e.getState();a?.setViewport({x:t.x??o,y:t.y??r,zoom:t.zoom??i},{duration:n?.duration})},getViewport:()=>{const[t,n,o]=e.getState().transform;return{x:t,y:n,zoom:o}},fitView:t=>{const{nodes:n,width:o,height:r,nodeOrigin:i,minZoom:a,maxZoom:s,panZoom:l}=e.getState();return!!l&&mo({nodes:n,width:o,height:r,nodeOrigin:i,minZoom:a,maxZoom:s,panZoom:l},t)},setCenter:(t,n,o)=>{const{width:r,height:i,maxZoom:a,panZoom:s}=e.getState(),l=void 0!==o?.zoom?o.zoom:a,c=r/2-t*l,d=i/2-n*l;s?.setViewport({x:c,y:d,zoom:l},{duration:o?.duration})},fitBounds:(t,n)=>{const{width:o,height:r,minZoom:i,maxZoom:a,panZoom:s}=e.getState(),l=Do(t,o,r,i,a,n?.padding??.1);s?.setViewport(l,{duration:n?.duration})},screenToFlowPosition:t=>{const{transform:n,snapToGrid:o,snapGrid:r,domNode:i}=e.getState();if(!i)return t;const{x:a,y:s}=i.getBoundingClientRect(),l={x:t.x-a,y:t.y-s};return Oo(l,n,o,r||[1,1])},flowToScreenPosition:t=>{const{transform:n,domNode:o}=e.getState();if(!o)return t;const{x:r,y:i}=o.getBoundingClientRect(),a=Ao(t,n);return{x:a.x+r,y:a.y+i}},viewportInitialized:t})),[t]);return o};function Ei(e,t){const n=e.find((e=>e.id===t.parentNode));if(n){n.computed||(n.computed={});const e=t.position.x+t.computed.width-n.computed.width,o=t.position.y+t.computed.height-n.computed.height;if(e>0||o>0||t.position.x<0||t.position.y<0){if(n.style={...n.style}||{},n.style.width=n.style.width??n.computed.width,n.style.height=n.style.height??n.computed.height,e>0&&(n.style.width+=e),o>0&&(n.style.height+=o),t.position.x<0){const e=Math.abs(t.position.x);n.position.x=n.position.x-e,n.style.width+=e,t.position.x=0}if(t.position.y<0){const e=Math.abs(t.position.y);n.position.y=n.position.y-e,n.style.height+=e,t.position.y=0}n.computed.width=n.style.width,n.computed.height=n.style.height}}}function _i(e,t){if(e.some((e=>"reset"===e.type)))return e.filter((e=>"reset"===e.type)).map((e=>e.item));let n=e;const o=[];for(const e of t){const t=[],r=[];for(const i of n)"add"===i.type?o.push(i.item):i.id===e.id?t.push(i):r.push(i);if(n=r,0===t.length){o.push(e);continue}const i={...e};for(const e of t){if(e)switch(e.type){case"select":i.selected=e.selected;break;case"position":void 0!==e.position&&(i.position=e.position),void 0!==e.positionAbsolute&&(i.computed||(i.computed={}),i.computed.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(i.dragging=e.dragging),i.expandParent&&Ei(o,i);break;case"dimensions":void 0!==e.dimensions&&(i.computed||(i.computed={}),i.computed.width=e.dimensions.width,i.computed.height=e.dimensions.height),void 0!==e.updateStyle&&(i.style={...i.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(i.resizing=e.resizing),i.expandParent&&Ei(o,i);break;case"remove":continue}o.push(i)}}return o}function Ni(e,t){return _i(e,t)}function Mi(e,t){return _i(e,t)}const ki=(e,t)=>({id:e,type:"select",selected:t});function Pi(e,t=new Set,n=!1){const o=[];for(const r of e){const e=t.has(r.id);void 0===r.selected&&!e||r.selected===e||(n&&(r.selected=e),o.push(ki(r.id,e)))}return o}const zi=e=>"id"in e&&!("source"in e)&&!("target"in e),Oi=uo,Ai=(e,t,n)=>{if(!e.id)return[];const o=new Set;return n.forEach((t=>{t.source===e.id&&o.add(t.target)})),t.filter((e=>o.has(e.id)))},Di=(e,t,n)=>{if(!e.id)return[];const o=new Set;return n.forEach((t=>{t.target===e.id&&o.add(t.source)})),t.filter((e=>o.has(e.id)))},Ii=(e,t)=>{if(!e.source||!e.target)return t;let n;return n=uo(e)?{...e}:{...e,id:Ko(e)},((e,t)=>t.some((t=>!(t.source!==e.source||t.target!==e.target||t.sourceHandle!==e.sourceHandle&&(t.sourceHandle||e.sourceHandle)||t.targetHandle!==e.targetHandle&&(t.targetHandle||e.targetHandle)))))(n,t)?t:(null===n.sourceHandle&&delete n.sourceHandle,null===n.targetHandle&&delete n.targetHandle,t.concat(n))},$i=(e,t,n,o={shouldReplaceId:!0})=>{const{id:r,...i}=e;if(!t.source||!t.target)return n;if(!n.find((t=>t.id===e.id)))return n;const a={...i,id:o.shouldReplaceId?Ko(t):r,source:t.source,target:t.target,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle};return n.filter((e=>e.id!==r)).concat(a)},Ri=go;function Ti(){const e=Ci(),t=Gr(),o=n.useCallback((()=>t.getState().nodes.map((e=>({...e})))),[]),r=n.useCallback((e=>t.getState().nodeLookup.get(e)),[]),i=n.useCallback((()=>{const{edges:e=[]}=t.getState();return e.map((e=>({...e})))}),[]),a=n.useCallback((e=>{const{edges:n=[]}=t.getState();return n.find((t=>t.id===e))}),[]),s=n.useCallback((e=>{const{nodes:n,setNodes:o,hasDefaultNodes:r,onNodesChange:i}=t.getState(),a="function"==typeof e?e(n):e;if(r)o(a);else if(i){i(0===a.length?n.map((e=>({type:"remove",id:e.id}))):a.map((e=>({item:e,type:"reset"}))))}}),[]),l=n.useCallback((e=>{const{edges:n=[],setEdges:o,hasDefaultEdges:r,onEdgesChange:i}=t.getState(),a="function"==typeof e?e(n):e;if(r)o(a);else if(i){i(0===a.length?n.map((e=>({type:"remove",id:e.id}))):a.map((e=>({item:e,type:"reset"}))))}}),[]),c=n.useCallback((e=>{const n=Array.isArray(e)?e:[e],{nodes:o,hasDefaultNodes:r,onNodesChange:i,setNodes:a}=t.getState();if(r){a([...o,...n])}else if(i){i(n.map((e=>({item:e,type:"add"}))))}}),[]),d=n.useCallback((e=>{const n=Array.isArray(e)?e:[e],{edges:o=[],setEdges:r,hasDefaultEdges:i,onEdgesChange:a}=t.getState();if(i)r([...o,...n]);else if(a){a(n.map((e=>({item:e,type:"add"}))))}}),[]),u=n.useCallback((()=>{const{nodes:e=[],edges:n=[],transform:o}=t.getState(),[r,i,a]=o;return{nodes:e.map((e=>({...e}))),edges:n.map((e=>({...e}))),viewport:{x:r,y:i,zoom:a}}}),[]),h=n.useCallback((async({nodes:e=[],edges:n=[],onBeforeDelete:o})=>{const{nodes:r,edges:i,hasDefaultNodes:a,hasDefaultEdges:s,onNodesDelete:l,onEdgesDelete:c,onNodesChange:d,onEdgesChange:u,onDelete:h}=t.getState(),{nodes:f,edges:p}=await async function({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:o,onBeforeDelete:r}){const i=e.map((e=>e.id)),a=[];for(const e of n){if(!1===e.deletable)continue;const t=i.includes(e.id),n=!t&&e.parentNode&&a.find((t=>t.id===e.parentNode));(t||n)&&a.push(e)}const s=t.map((e=>e.id)),l=o.filter((e=>!1!==e.deletable)),c=go(a,l);for(const e of l)s.includes(e.id)&&!c.find((t=>t.id===e.id))&&c.push(e);if(!r)return{edges:c,nodes:a};const d=await r({nodes:a,edges:c});return"boolean"==typeof d?d?{edges:c,nodes:a}:{edges:[],nodes:[]}:d}({nodesToRemove:e,edgesToRemove:n,nodes:r,edges:i,onBeforeDelete:o}),g=p.length>0,m=f.length>0;return g&&(s&&t.setState({edges:i.filter((e=>!p.some((t=>t.id===e.id))))}),c?.(p),u?.(p.map((e=>({id:e.id,type:"remove"}))))),m&&(a&&t.setState({nodes:r.filter((e=>!f.some((t=>t.id===e.id))))}),l?.(f),d?.(f.map((e=>({id:e.id,type:"remove"}))))),(m||g)&&h?.({nodes:f,edges:p}),{deletedNodes:f,deletedEdges:p}}),[]),f=n.useCallback((e=>{const n=ko(e),o=n?null:t.getState().nodeLookup.get(e.id);return[n?e:_o(o),o,n]}),[]),p=n.useCallback(((e,n=!0,o)=>{const[r,i,a]=f(e);return r?(o||t.getState().nodes).filter((e=>{if(!(a||e.id!==i.id&&e.computed?.positionAbsolute))return!1;const t=_o(e),o=Mo(t,r);return n&&o>0||o>=r.width*r.height})):[]}),[]),g=n.useCallback(((e,t,n=!0)=>{const[o]=f(e);if(!o)return!1;const r=Mo(o,t);return n&&r>0||r>=o.width*o.height}),[]),m=n.useCallback(((e,t,n={replace:!0})=>{s((o=>o.map((o=>{if(o.id===e){const e="function"==typeof t?t(o):t;return n.replace&&zi(e)?e:{...o,...e}}return o}))))}),[s]),y=n.useCallback(((e,t,n={replace:!1})=>{m(e,(e=>{const o="function"==typeof t?t(e):t;return n.replace?{...e,data:o}:{...e,data:{...e.data,...o}}}),n)}),[m]);return n.useMemo((()=>({...e,getNodes:o,getNode:r,getEdges:i,getEdge:a,setNodes:s,setEdges:l,addNodes:c,addEdges:d,toObject:u,deleteElements:h,getIntersectingNodes:p,isNodeIntersecting:g,updateNode:m,updateNodeData:y})),[e,o,r,i,a,s,l,c,d,u,h,p,g,m,y])}const Bi=e=>e.selected,ji={actInsideInputWithModifier:!1};const Vi={position:"absolute",width:"100%",height:"100%",top:0,left:0},Li=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib}),Hi=({onPaneContextMenu:o,zoomOnScroll:r=!0,zoomOnPinch:i=!0,panOnScroll:a=!1,panOnScrollSpeed:s=.5,panOnScrollMode:l=e.PanOnScrollMode.Free,zoomOnDoubleClick:c=!0,panOnDrag:d=!0,defaultViewport:u,translateExtent:h,minZoom:f,maxZoom:p,zoomActivationKeyCode:g,preventScrolling:m=!0,children:y,noWheelClassName:v,noPanClassName:x,onViewportChange:w,isControlledViewport:b})=>{const S=Gr(),C=n.useRef(null),{userSelectionActive:E,lib:_}=Kr(Li,ei),N=xi(g),M=n.useRef();return function(e){const t=Gr();n.useEffect((()=>{const n=()=>{if(!e.current)return!1;const n=Ro(e.current);0!==n.height&&0!==n.width||t.getState().onError?.("004",Qn.error004()),t.setState({width:n.width||500,height:n.height||500})};if(e.current){n(),window.addEventListener("resize",n);const t=new ResizeObserver((()=>n()));return t.observe(e.current),()=>{window.removeEventListener("resize",n),t&&e.current&&t.unobserve(e.current)}}}),[])}(C),n.useEffect((()=>{if(C.current){M.current=Or({domNode:C.current,minZoom:f,maxZoom:p,translateExtent:h,viewport:u,onTransformChange:e=>{w?.({x:e[0],y:e[1],zoom:e[2]}),b||S.setState({transform:e})},onDraggingChange:e=>S.setState({paneDragging:e}),onPanZoomStart:(e,t)=>{const{onViewportChangeStart:n,onMoveStart:o}=S.getState();o?.(e,t),n?.(t)},onPanZoom:(e,t)=>{const{onViewportChange:n,onMove:o}=S.getState();o?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{const{onViewportChangeEnd:n,onMoveEnd:o}=S.getState();o?.(e,t),n?.(t)}});const{x:e,y:t,zoom:n}=M.current.getViewport();return S.setState({panZoom:M.current,transform:[e,t,n],domNode:C.current.closest(".react-flow")}),()=>{M.current?.destroy()}}}),[]),n.useEffect((()=>{M.current?.update({onPaneContextMenu:o,zoomOnScroll:r,zoomOnPinch:i,panOnScroll:a,panOnScrollSpeed:s,panOnScrollMode:l,zoomOnDoubleClick:c,panOnDrag:d,zoomActivationKeyPressed:N,preventScrolling:m,noPanClassName:x,userSelectionActive:E,noWheelClassName:v,lib:_})}),[o,r,i,a,s,l,c,d,N,m,x,E,v,_]),t.jsx("div",{className:"react-flow__renderer",ref:C,style:Vi,children:y})},Xi=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Zi(){const{userSelectionActive:e,userSelectionRect:n}=Kr(Xi,ei);return e&&n?t.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const Yi=(e,t)=>n=>{n.target===t.current&&e?.(n)},Ui=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),Wi=n.memo((({isSelecting:o,selectionMode:i=e.SelectionMode.Full,panOnDrag:a,onSelectionStart:s,onSelectionEnd:l,onPaneClick:c,onPaneContextMenu:d,onPaneScroll:u,onPaneMouseEnter:h,onPaneMouseMove:f,onPaneMouseLeave:p,children:g})=>{const m=n.useRef(null),y=Gr(),v=n.useRef(0),x=n.useRef(0),w=n.useRef(),{userSelectionActive:b,elementsSelectable:S,dragging:C}=Kr(Ui,ei),E=()=>{y.setState({userSelectionActive:!1,userSelectionRect:null}),v.current=0,x.current=0},_=e=>{c?.(e),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},N=u?e=>u(e):void 0,M=S&&(o||b);return t.jsxs("div",{className:r(["react-flow__pane",{dragging:C,selection:o}]),onClick:M?void 0:Yi(_,m),onContextMenu:Yi((e=>{Array.isArray(a)&&a?.includes(2)?e.preventDefault():d?.(e)}),m),onWheel:Yi(N,m),onMouseEnter:M?void 0:h,onMouseDown:M?e=>{const{resetSelectedElements:t,domNode:n}=y.getState();if(w.current=n?.getBoundingClientRect(),!S||!o||0!==e.button||e.target!==m.current||!w.current)return;const{x:r,y:i}=Lo(e.nativeEvent,w.current);t(),y.setState({userSelectionRect:{width:0,height:0,startX:r,startY:i,x:r,y:i}}),s?.(e)}:void 0,onMouseMove:M?t=>{const{userSelectionRect:n,edges:r,transform:a,nodeOrigin:s,nodes:l,onNodesChange:c,onEdgesChange:d}=y.getState();if(!o||!w.current||!n)return;y.setState({userSelectionActive:!0,nodesSelectionActive:!1});const u=Lo(t.nativeEvent,w.current),h=n.startX??0,f=n.startY??0,p={...n,x:u.x<h?u.x:h,y:u.y<f?u.y:f,width:Math.abs(u.x-h),height:Math.abs(u.y-f)},g=po(l,p,a,i===e.SelectionMode.Partial,!0,s),m=new Set,b=new Set;for(const e of g){b.add(e.id);for(const t of r)t.source!==e.id&&t.target!==e.id||m.add(t.id)}if(v.current!==b.size){v.current=b.size;const e=Pi(l,b,!0);e.length&&c?.(e)}if(x.current!==m.size){x.current=m.size;const e=Pi(r,m);e.length&&d?.(e)}y.setState({userSelectionRect:p})}:f,onMouseUp:M?e=>{if(0!==e.button)return;const{userSelectionRect:t}=y.getState();!b&&t&&e.target===m.current&&_?.(e),y.setState({nodesSelectionActive:v.current>0}),E(),l?.(e)}:void 0,onMouseLeave:M?e=>{b&&(y.setState({nodesSelectionActive:v.current>0}),l?.(e)),E()}:p,ref:m,style:Vi,children:[g,t.jsx(Zi,{})]})}));function Fi({id:e,store:t,unselect:n=!1,nodeRef:o}){const{addSelectedNodes:r,unselectNodesAndEdges:i,multiSelectionActive:a,nodeLookup:s,onError:l}=t.getState(),c=s.get(e);c?(t.setState({nodesSelectionActive:!1}),c.selected?(n||c.selected&&a)&&(i({nodes:[c],edges:[]}),requestAnimationFrame((()=>o?.current?.blur()))):r([e])):l?.("012",Qn.error012(e))}function Ki({nodeRef:e,disabled:t=!1,noDragClassName:o,handleSelector:r,nodeId:i,isSelectable:a}){const s=Gr(),[l,c]=n.useState(!1),d=n.useRef();return n.useEffect((()=>{e?.current&&(d.current=function({domNode:e,onNodeMouseDown:t,getStoreItems:n,onDragStart:o,onDrag:r,onDragStop:i}){let a={x:null,y:null},s=0,l=[],c=!1,d={x:0,y:0},u=null,h=null,f=!1;const p=Se(e);return{update:function({noDragClassName:e,handleSelector:g,domNode:m,isSelectable:y,nodeId:v}){function x({x:e,y:t}){const{nodes:o,nodeLookup:i,nodeExtent:s,snapGrid:c,snapToGrid:d,nodeOrigin:h,onNodeDrag:f,onSelectionDrag:p,onError:g,updateNodePositions:m}=n();a={x:e,y:t};let y=!1,x={x:0,y:0,x2:0,y2:0};if(l.length>1&&s){const e=fo(l,h);x=Co(e)}if(l=l.map((n=>{let r={x:e-n.distance.x,y:t-n.distance.y};d&&(r=zo(r,c));const i=[[s[0][0],s[0][1]],[s[1][0],s[1][1]]];l.length>1&&s&&!n.extent&&(i[0][0]=n.computed.positionAbsolute.x-x.x+s[0][0],i[1][0]=n.computed.positionAbsolute.x+(n.computed?.width??0)-x.x2+s[1][0],i[0][1]=n.computed.positionAbsolute.y-x.y+s[0][1],i[1][1]=n.computed.positionAbsolute.y+(n.computed?.height??0)-x.y2+s[1][1]);const a=yo(n,r,o,i,h,g);return y=y||n.position.x!==a.position.x||n.position.y!==a.position.y,n.position=a.position,n.computed.positionAbsolute=a.positionAbsolute,n})),!y)return;m(l,!0,!0);const w=v?f:ur(p);if(u&&(r||w)){const[e,t]=gr({nodeId:v,dragItems:l,nodeLookup:i});r?.(u,l,e,t),w?.(u,e,t)}}function w(){if(!h)return;const[e,t]=bo(d,h);if(0!==e||0!==t){const{transform:o,panBy:r}=n();a.x=(a.x??0)-e/o[2],a.y=(a.y??0)-t/o[2],r({x:e,y:t})&&x(a)}s=requestAnimationFrame(w)}function b(e){const{nodes:r,nodeLookup:i,multiSelectionActive:s,nodesDraggable:c,transform:d,snapGrid:u,snapToGrid:h,selectNodesOnDrag:p,onNodeDragStart:g,onSelectionDragStart:m,unselectNodesAndEdges:x}=n();f=!0,p&&y||s||!v||i.get(v)?.selected||x(),y&&p&&v&&t?.(v);const w=$o(e.sourceEvent,{transform:d,snapGrid:u,snapToGrid:h});a=w,l=pr(r,c,w,v);const b=v?g:ur(m);if(l&&(o||b)){const[t,n]=gr({nodeId:v,dragItems:l,nodeLookup:i});o?.(e.sourceEvent,l,t,n),b?.(e.sourceEvent,t,n)}}const S=Re().on("start",(e=>{const{domNode:t,nodeDragThreshold:o,transform:r,snapGrid:i,snapToGrid:s}=n();0===o&&b(e);const l=$o(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:s});a=l,h=t?.getBoundingClientRect()||null,d=Lo(e.sourceEvent,h)})).on("drag",(e=>{const{autoPanOnNodeDrag:t,transform:o,snapGrid:r,snapToGrid:i,nodeDragThreshold:s}=n(),p=$o(e.sourceEvent,{transform:o,snapGrid:r,snapToGrid:i});if(!c&&t&&f&&(c=!0,w()),!f){const t=p.xSnapped-(a.x??0),n=p.ySnapped-(a.y??0);Math.sqrt(t*t+n*n)>s&&b(e)}(a.x!==p.xSnapped||a.y!==p.ySnapped)&&l&&f&&(u=e.sourceEvent,d=Lo(e.sourceEvent,h),x(p))})).on("end",(e=>{if(f&&(c=!1,f=!1,cancelAnimationFrame(s),l)){const{nodeLookup:t,updateNodePositions:o,onNodeDragStop:r,onSelectionDragStop:a}=n(),s=v?r:ur(a);if(o(l,!1,!1),i||s){const[n,o]=gr({nodeId:v,dragItems:l,nodeLookup:t});i?.(e.sourceEvent,l,n,o),s?.(e.sourceEvent,n,o)}}})).filter((t=>{const n=t.target;return!t.button&&(!e||!fr(n,`.${e}`,m))&&(!g||fr(n,g,m))}));p.call(S)},destroy:function(){p.on(".drag",null)}}}({domNode:e.current,getStoreItems:()=>s.getState(),onNodeMouseDown:t=>{Fi({id:t,store:s,nodeRef:e})},onDragStart:()=>{c(!0)},onDragStop:()=>{c(!1)}}))}),[]),n.useEffect((()=>{if(!t)return d.current?.update({noDragClassName:o,handleSelector:r,domNode:e.current,isSelectable:a,nodeId:i}),()=>{d.current?.destroy()};d.current?.destroy()}),[o,r,t,a,e,i]),l}Wi.displayName="Pane";const Gi=e=>t=>t.selected&&(t.draggable||e&&void 0===t.draggable);function qi(){const e=Gr();return n.useCallback((t=>{const{nodeExtent:n,nodes:o,snapToGrid:r,snapGrid:i,nodesDraggable:a,onError:s,updateNodePositions:l}=e.getState(),c=o.filter(Gi(a)),d=r?i[0]:5,u=r?i[1]:5,h=t.isShiftPressed?4:1,f=t.x*d*h,p=t.y*u*h;l(c.map((e=>{if(e.computed?.positionAbsolute){let t={x:e.computed?.positionAbsolute.x+f,y:e.computed?.positionAbsolute.y+p};r&&(t=zo(t,i));const{positionAbsolute:a,position:l}=yo(e,t,o,n,void 0,s);e.position=l,e.computed||(e.computed={}),e.computed.positionAbsolute=a}return e})),!0,!1)}),[])}const Qi=n.createContext(null),Ji=Qi.Provider;Qi.Consumer;const ea=()=>n.useContext(Qi),ta=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),na=n.forwardRef((({type:n="source",position:o=e.Position.Top,isValidConnection:i,isConnectable:a=!0,isConnectableStart:s=!0,isConnectableEnd:l=!0,id:c,onConnect:d,children:u,className:h,onMouseDown:f,onTouchStart:p,...g},m)=>{const y=c||null,v="target"===n,x=Gr(),w=ea(),{connectOnClick:b,noPanClassName:S}=Kr(ta,ei),{connecting:C,clickConnecting:E}=Kr(((e,t,n)=>o=>{const{connectionStartHandle:r,connectionEndHandle:i,connectionClickStartHandle:a}=o;return{connecting:r?.nodeId===e&&r?.handleId===t&&r?.type===n||i?.nodeId===e&&i?.handleId===t&&i?.type===n,clickConnecting:a?.nodeId===e&&a?.handleId===t&&a?.type===n}})(w,y,n),ei);w||x.getState().onError?.("010",Qn.error010());const _=e=>{const{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:o}=x.getState(),r={...t,...e};if(o){const{edges:e,setEdges:t}=x.getState();t(Ii(r,e))}n?.(r),d?.(r)},N=e=>{if(!w)return;const t=Vo(e.nativeEvent);if(s&&(t&&0===e.button||!t)){const t=x.getState();Cr.onPointerDown(e.nativeEvent,{autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodes:t.nodes,lib:t.lib,isTarget:v,handleId:y,nodeId:w,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:t.onConnectEnd,updateConnection:t.updateConnection,onConnect:_,isValidConnection:i||t.isValidConnection,getTransform:()=>x.getState().transform})}t?f?.(e):p?.(e)};return t.jsx("div",{"data-handleid":y,"data-nodeid":w,"data-handlepos":o,"data-id":`${w}-${y}-${n}`,className:r(["react-flow__handle",`react-flow__handle-${o}`,"nodrag",S,h,{source:!v,target:v,connectable:a,connectablestart:s,connectableend:l,connecting:E,connectionindicator:a&&(s&&!C||l&&C)}]),onMouseDown:N,onTouchStart:N,onClick:b?e=>{const{onClickConnectStart:t,onClickConnectEnd:o,connectionClickStartHandle:r,connectionMode:a,isValidConnection:l,lib:c}=x.getState();if(!w||!r&&!s)return;if(!r)return t?.(e.nativeEvent,{nodeId:w,handleId:y,handleType:n}),void x.setState({connectionClickStartHandle:{nodeId:w,type:n,handleId:y}});const d=To(e.target),u=i||l,{connection:h,isValid:f}=Cr.isValid(e.nativeEvent,{handle:{nodeId:w,id:y,type:n},connectionMode:a,fromNodeId:r.nodeId,fromHandleId:r.handleId||null,fromType:r.type,isValidConnection:u,doc:d,lib:c});f&&h&&_(h),o?.(e),x.setState({connectionClickStartHandle:null})}:void 0,ref:m,...g,children:u})}));na.displayName="Handle";var oa=n.memo(na);const ra=({data:n,isConnectable:o,sourcePosition:r=e.Position.Bottom})=>t.jsxs(t.Fragment,{children:[n?.label,t.jsx(oa,{type:"source",position:r,isConnectable:o})]});ra.displayName="InputNode";var ia=n.memo(ra);const aa=({data:n,isConnectable:o,targetPosition:r=e.Position.Top,sourcePosition:i=e.Position.Bottom})=>t.jsxs(t.Fragment,{children:[t.jsx(oa,{type:"target",position:r,isConnectable:o}),n?.label,t.jsx(oa,{type:"source",position:i,isConnectable:o})]});aa.displayName="DefaultNode";var sa=n.memo(aa);const la=()=>null;la.displayName="GroupNode";const ca=({data:n,isConnectable:o,targetPosition:r=e.Position.Top})=>t.jsxs(t.Fragment,{children:[t.jsx(oa,{type:"target",position:r,isConnectable:o}),n?.label]});ca.displayName="OutputNode";var da=n.memo(ca);const ua={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},ha={input:ia,default:sa,output:da,group:la},fa=e=>{const t=e.nodes.filter((e=>e.selected)),{width:n,height:o,x:r,y:i}=fo(t,e.nodeOrigin);return{width:n,height:o,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${i}px)`}};var pa=n.memo((function({onSelectionContextMenu:e,noPanClassName:o,disableKeyboardA11y:i}){const a=Gr(),{width:s,height:l,transformString:c,userSelectionActive:d}=Kr(fa,ei),u=qi(),h=n.useRef(null);if(n.useEffect((()=>{i||h.current?.focus({preventScroll:!0})}),[i]),Ki({nodeRef:h}),d||!s||!l)return null;const f=e?t=>{const n=a.getState().nodes.filter((e=>e.selected));e(t,n)}:void 0;return t.jsx("div",{className:r(["react-flow__nodesselection","react-flow__container",o]),style:{transform:c},children:t.jsx("div",{ref:h,className:"react-flow__nodesselection-rect",onContextMenu:f,tabIndex:i?void 0:-1,onKeyDown:i?void 0:e=>{Object.prototype.hasOwnProperty.call(ua,e.key)&&u({x:ua[e.key].x,y:ua[e.key].y,isShiftPressed:e.shiftKey})},style:{width:s,height:l}})})}));const ga=e=>e.nodesSelectionActive,ma=({children:e,onPaneClick:o,onPaneMouseEnter:r,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:l,deleteKeyCode:c,selectionKeyCode:d,selectionOnDrag:u,selectionMode:h,onSelectionStart:f,onSelectionEnd:p,multiSelectionKeyCode:g,panActivationKeyCode:m,zoomActivationKeyCode:y,elementsSelectable:v,zoomOnScroll:x,zoomOnPinch:w,panOnScroll:b,panOnScrollSpeed:S,panOnScrollMode:C,zoomOnDoubleClick:E,panOnDrag:_,defaultViewport:N,translateExtent:M,minZoom:k,maxZoom:P,preventScrolling:z,onSelectionContextMenu:O,noWheelClassName:A,noPanClassName:D,disableKeyboardA11y:I,onViewportChange:$,isControlledViewport:R})=>{const T=Kr(ga),B=xi(d),j=xi(m),V=j||_,L=j||b,H=B||u&&!0!==V;return(({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const o=Gr(),{deleteElements:r}=Ti(),i=xi(e,ji),a=xi(t);n.useEffect((()=>{if(i){const{edges:e,nodes:t,onBeforeDelete:n}=o.getState();r({nodes:t.filter(Bi),edges:e.filter(Bi),onBeforeDelete:n}),o.setState({nodesSelectionActive:!1})}}),[i]),n.useEffect((()=>{o.setState({multiSelectionActive:a})}),[a])})({deleteKeyCode:c,multiSelectionKeyCode:g}),t.jsx(Hi,{onPaneContextMenu:s,elementsSelectable:v,zoomOnScroll:x,zoomOnPinch:w,panOnScroll:L,panOnScrollSpeed:S,panOnScrollMode:C,zoomOnDoubleClick:E,panOnDrag:!B&&V,defaultViewport:N,translateExtent:M,minZoom:k,maxZoom:P,zoomActivationKeyCode:y,preventScrolling:z,noWheelClassName:A,noPanClassName:D,onViewportChange:$,isControlledViewport:R,children:t.jsxs(Wi,{onSelectionStart:f,onSelectionEnd:p,onPaneClick:o,onPaneMouseEnter:r,onPaneMouseMove:i,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:l,panOnDrag:V,isSelecting:!!H,selectionMode:h,children:[e,T&&t.jsx(pa,{onSelectionContextMenu:O,noPanClassName:D,disableKeyboardA11y:I})]})})};ma.displayName="FlowRenderer";var ya=n.memo(ma);function va(e){return Kr(n.useCallback((e=>t=>e?po(t.nodes,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map((e=>e.id)):Array.from(t.nodeLookup.keys()))(e),[e]),ei)}const xa=e=>e.updateNodeDimensions;const wa=({id:e,onClick:o,onMouseEnter:i,onMouseMove:a,onMouseLeave:s,onContextMenu:l,onDoubleClick:c,nodesDraggable:d,elementsSelectable:u,nodesConnectable:h,nodesFocusable:f,resizeObserver:p,noDragClassName:g,noPanClassName:m,disableKeyboardA11y:y,rfId:v,nodeTypes:x,nodeExtent:w,nodeOrigin:b,onError:S})=>{const{node:C,positionAbsoluteX:E,positionAbsoluteY:_,zIndex:N,isParent:M}=Kr((t=>{const n=t.nodeLookup.get(e),o=w?xo(n.computed?.positionAbsolute,w):n.computed?.positionAbsolute||{x:0,y:0};return{node:n,positionAbsoluteX:o.x,positionAbsoluteY:o.y,zIndex:n[Jn]?.z??0,isParent:!!n[Jn]?.isParent}}),ei);let k=C.type||"default",P=x?.[k]||ha[k];void 0===P&&(S?.("003",Qn.error003(k)),k="default",P=ha.default);const z=!!(C.draggable||d&&void 0===C.draggable),O=!!(C.selectable||u&&void 0===C.selectable),A=!!(C.connectable||h&&void 0===C.connectable),D=!!(C.focusable||f&&void 0===C.focusable),I=Gr(),$=n.useRef(null),R=n.useRef(C.sourcePosition),T=n.useRef(C.targetPosition),B=n.useRef(k),j=qi();n.useEffect((()=>{if($.current&&!C.hidden){const e=$.current;return p?.observe(e),()=>p?.unobserve(e)}}),[C.hidden]),n.useEffect((()=>{const t=B.current!==k,n=R.current!==C.sourcePosition,o=T.current!==C.targetPosition;$.current&&(t||n||o)&&(t&&(B.current=k),n&&(R.current=C.sourcePosition),o&&(T.current=C.targetPosition),I.getState().updateNodeDimensions(new Map([[e,{id:e,nodeElement:$.current,forceUpdate:!0}]])))}),[e,k,C.sourcePosition,C.targetPosition]);const V=Ki({nodeRef:$,disabled:C.hidden||!z,noDragClassName:g,handleSelector:C.dragHandle,nodeId:e,isSelectable:O});if(C.hidden)return null;const L=C.width??void 0,H=C.height??void 0,X=C.computed?.width,Z=C.computed?.height,Y=(({x:e,y:t,width:n,height:o,origin:r=[0,0]})=>!n||!o||r[0]<0||r[1]<0||r[0]>1||r[1]>1?{x:e,y:t}:{x:e-n*r[0],y:t-o*r[1]})({x:E,y:_,width:X??L??0,height:Z??H??0,origin:C.origin||b}),U=!!X&&!!Z||!!L&&!!H,W=O||z||o||i||a||s,F=i?e=>i(e,{...C}):void 0,K=a?e=>a(e,{...C}):void 0,G=s?e=>s(e,{...C}):void 0,q=l?e=>l(e,{...C}):void 0,Q=c?e=>c(e,{...C}):void 0;return t.jsx("div",{className:r(["react-flow__node",`react-flow__node-${k}`,{[m]:z},C.className,{selected:C.selected,selectable:O,parent:M,dragging:V}]),ref:$,style:{zIndex:N,transform:`translate(${Y.x}px,${Y.y}px)`,pointerEvents:W?"all":"none",visibility:U?"visible":"hidden",width:L,height:H,...C.style},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:F,onMouseMove:K,onMouseLeave:G,onContextMenu:q,onClick:t=>{const{selectNodesOnDrag:n,nodeDragThreshold:r}=I.getState();O&&(!n||!z||r>0)&&Fi({id:e,store:I,nodeRef:$}),o&&o(t,{...C})},onDoubleClick:Q,onKeyDown:D?t=>{if(!jo(t.nativeEvent))if(to.includes(t.key)&&O){const n="Escape"===t.key;Fi({id:e,store:I,unselect:n,nodeRef:$})}else!y&&z&&C.selected&&Object.prototype.hasOwnProperty.call(ua,t.key)&&(I.setState({ariaLiveMessage:`Moved selected node ${t.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~E}, y: ${~~_}`}),j({x:ua[t.key].x,y:ua[t.key].y,isShiftPressed:t.shiftKey}))}:void 0,tabIndex:D?0:void 0,role:D?"button":void 0,"aria-describedby":y?void 0:`${hi}-${v}`,"aria-label":C.ariaLabel,children:t.jsx(Ji,{value:e,children:t.jsx(P,{id:e,data:C.data,type:k,width:X,height:Z,positionAbsoluteX:E,positionAbsoluteY:_,selected:C.selected,isConnectable:A,sourcePosition:C.sourcePosition,targetPosition:C.targetPosition,dragging:V,dragHandle:C.dragHandle,zIndex:N})})})};wa.displayName="NodeWrapper";var ba=n.memo(wa);const Sa=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError}),Ca=e=>{const{nodesDraggable:o,nodesConnectable:r,nodesFocusable:i,elementsSelectable:a,onError:s}=Kr(Sa,ei),l=va(e.onlyRenderVisibleElements),c=function(){const e=Kr(xa),t=n.useRef(),o=n.useMemo((()=>{if("undefined"==typeof ResizeObserver)return null;const n=new ResizeObserver((t=>{const n=new Map;t.forEach((e=>{const t=e.target.getAttribute("data-id");n.set(t,{id:t,nodeElement:e.target,forceUpdate:!0})})),e(n)}));return t.current=n,n}),[]);return n.useEffect((()=>()=>{t?.current?.disconnect()}),[]),o}();return t.jsx("div",{className:"react-flow__nodes",style:Vi,children:l.map((n=>t.jsx(ba,{id:n,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,nodeOrigin:e.nodeOrigin,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:c,nodesDraggable:o,nodesConnectable:r,nodesFocusable:i,elementsSelectable:a,onError:s},n)))})};Ca.displayName="NodeRenderer";var Ea=n.memo(Ca);const _a={[e.MarkerType.Arrow]:({color:e="none",strokeWidth:n=1})=>t.jsx("polyline",{style:{stroke:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[e.MarkerType.ArrowClosed]:({color:e="none",strokeWidth:n=1})=>t.jsx("polyline",{style:{stroke:e,fill:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})};const Na=({id:e,type:o,color:r,width:i=12.5,height:a=12.5,markerUnits:s="strokeWidth",strokeWidth:l,orient:c="auto-start-reverse"})=>{const d=function(e){const t=Gr();return n.useMemo((()=>Object.prototype.hasOwnProperty.call(_a,e)?_a[e]:(t.getState().onError?.("009",Qn.error009(e)),null)),[e])}(o);return d?t.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${i}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:c,refX:"0",refY:"0",children:t.jsx(d,{color:r,strokeWidth:l})}):null},Ma=({defaultColor:e,rfId:t})=>n=>{const o=function(e,{id:t,defaultColor:n}){const o=[];return e.reduce(((e,r)=>([r.markerStart,r.markerEnd].forEach((r=>{if(r&&"object"==typeof r){const i=ir(r,t);o.includes(i)||(e.push({id:i,color:r.color||n,...r}),o.push(i))}})),e)),[]).sort(((e,t)=>e.id.localeCompare(t.id)))}(n.edges,{id:t,defaultColor:e});return o},ka=(e,t)=>!(e.length!==t.length||e.some(((e,n)=>e.id!==t[n].id))),Pa=({defaultColor:e,rfId:o})=>{const r=Kr(n.useCallback(Ma({defaultColor:e,rfId:o}),[e,o]),ka);return r.length?t.jsx("svg",{className:"react-flow__marker",children:t.jsx("defs",{children:r.map((e=>t.jsx(Na,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id)))})}):null};Pa.displayName="MarkerDefinitions";var za=n.memo(Pa);var Oa=n.memo((({x:e,y:o,label:i,labelStyle:a={},labelShowBg:s=!0,labelBgStyle:l={},labelBgPadding:c=[2,4],labelBgBorderRadius:d=2,children:u,className:h,...f})=>{const[p,g]=n.useState({x:1,y:0,width:0,height:0}),m=r(["react-flow__edge-textwrapper",h]),y=n.useCallback((e=>{if(null===e)return;const t=e.getBBox();g({x:t.x,y:t.y,width:t.width,height:t.height})}),[]);return void 0!==i&&i?t.jsxs("g",{transform:`translate(${e-p.width/2} ${o-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...f,children:[s&&t.jsx("rect",{width:p.width+2*c[0],x:-c[0],y:-c[1],height:p.height+2*c[1],className:"react-flow__edge-textbg",style:l,rx:d,ry:d}),t.jsx("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:y,style:a,children:i}),u]}):null}));const Aa=({id:e,path:n,labelX:o,labelY:i,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:h,markerEnd:f,markerStart:p,className:g,interactionWidth:m=20})=>t.jsxs(t.Fragment,{children:[t.jsx("path",{id:e,style:h,d:n,fill:"none",className:r(["react-flow__edge-path",g]),markerEnd:f,markerStart:p}),m&&t.jsx("path",{d:n,fill:"none",strokeOpacity:0,strokeWidth:m,className:"react-flow__edge-interaction"}),a&&Po(o)&&Po(i)?t.jsx(Oa,{x:o,y:i,label:a,labelStyle:s,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u}):null]});function Da({pos:t,x1:n,y1:o,x2:r,y2:i}){return t===e.Position.Left||t===e.Position.Right?[.5*(n+r),o]:[n,.5*(o+i)]}function Ia({sourceX:t,sourceY:n,sourcePosition:o=e.Position.Bottom,targetX:r,targetY:i,targetPosition:a=e.Position.Top}){const[s,l]=Da({pos:o,x1:t,y1:n,x2:r,y2:i}),[c,d]=Da({pos:a,x1:r,y1:i,x2:t,y2:n}),[u,h,f,p]=Xo({sourceX:t,sourceY:n,targetX:r,targetY:i,sourceControlX:s,sourceControlY:l,targetControlX:c,targetControlY:d});return[`M${t},${n} C${s},${l} ${c},${d} ${r},${i}`,u,h,f,p]}function $a(o){return n.memo((({id:n,sourceX:r,sourceY:i,targetX:a,targetY:s,sourcePosition:l=e.Position.Bottom,targetPosition:c=e.Position.Top,label:d,labelStyle:u,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:m,markerEnd:y,markerStart:v,interactionWidth:x})=>{const[w,b,S]=Ia({sourceX:r,sourceY:i,sourcePosition:l,targetX:a,targetY:s,targetPosition:c}),C=o.isInternal?void 0:n;return t.jsx(Aa,{id:C,path:w,labelX:b,labelY:S,label:d,labelStyle:u,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:m,markerEnd:y,markerStart:v,interactionWidth:x})}))}Aa.displayName="BaseEdge";const Ra=$a({isInternal:!1}),Ta=$a({isInternal:!0});function Ba(o){return n.memo((({id:n,sourceX:r,sourceY:i,targetX:a,targetY:s,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:p,sourcePosition:g=e.Position.Bottom,targetPosition:m=e.Position.Top,markerEnd:y,markerStart:v,pathOptions:x,interactionWidth:w})=>{const[b,S,C]=er({sourceX:r,sourceY:i,sourcePosition:g,targetX:a,targetY:s,targetPosition:m,borderRadius:x?.borderRadius,offset:x?.offset}),E=o.isInternal?void 0:n;return t.jsx(Aa,{id:E,path:b,labelX:S,labelY:C,label:l,labelStyle:c,labelShowBg:d,labelBgStyle:u,labelBgPadding:h,labelBgBorderRadius:f,style:p,markerEnd:y,markerStart:v,interactionWidth:w})}))}Ra.displayName="SimpleBezierEdge",Ta.displayName="SimpleBezierEdgeInternal";const ja=Ba({isInternal:!1}),Va=Ba({isInternal:!0});function La(e){return n.memo((({id:o,...r})=>{const i=e.isInternal?void 0:o;return t.jsx(ja,{...r,id:i,pathOptions:n.useMemo((()=>({borderRadius:0,offset:r.pathOptions?.offset})),[r.pathOptions?.offset])})}))}ja.displayName="SmoothStepEdge",Va.displayName="SmoothStepEdgeInternal";const Ha=La({isInternal:!1}),Xa=La({isInternal:!0});function Za(e){return n.memo((({id:n,sourceX:o,sourceY:r,targetX:i,targetY:a,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:p,markerStart:g,interactionWidth:m})=>{const[y,v,x]=Go({sourceX:o,sourceY:r,targetX:i,targetY:a}),w=e.isInternal?void 0:n;return t.jsx(Aa,{id:w,path:y,labelX:v,labelY:x,label:s,labelStyle:l,labelShowBg:c,labelBgStyle:d,labelBgPadding:u,labelBgBorderRadius:h,style:f,markerEnd:p,markerStart:g,interactionWidth:m})}))}Ha.displayName="StepEdge",Xa.displayName="StepEdgeInternal";const Ya=Za({isInternal:!1}),Ua=Za({isInternal:!0});function Wa(o){return n.memo((({id:n,sourceX:r,sourceY:i,targetX:a,targetY:s,sourcePosition:l=e.Position.Bottom,targetPosition:c=e.Position.Top,label:d,labelStyle:u,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:m,markerEnd:y,markerStart:v,pathOptions:x,interactionWidth:w})=>{const[b,S,C]=Uo({sourceX:r,sourceY:i,sourcePosition:l,targetX:a,targetY:s,targetPosition:c,curvature:x?.curvature}),E=o.isInternal?void 0:n;return t.jsx(Aa,{id:E,path:b,labelX:S,labelY:C,label:d,labelStyle:u,labelShowBg:h,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:g,style:m,markerEnd:y,markerStart:v,interactionWidth:w})}))}Ya.displayName="StraightEdge",Ua.displayName="StraightEdgeInternal";const Fa=Wa({isInternal:!1}),Ka=Wa({isInternal:!0});Fa.displayName="BezierEdge",Ka.displayName="BezierEdgeInternal";const Ga={default:Ka,straight:Ua,step:Xa,smoothstep:Va,simplebezier:Ta},qa={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},Qa=(t,n,o)=>o===e.Position.Left?t-n:o===e.Position.Right?t+n:t,Ja=(t,n,o)=>o===e.Position.Top?t-n:o===e.Position.Bottom?t+n:t,es="react-flow__edgeupdater",ts=({position:e,centerX:n,centerY:o,radius:i=10,onMouseDown:a,onMouseEnter:s,onMouseOut:l,type:c})=>t.jsx("circle",{onMouseDown:a,onMouseEnter:s,onMouseOut:l,className:r([es,`${es}-${c}`]),cx:Qa(n,i,e),cy:Ja(o,i,e),r:i,stroke:"transparent",fill:"transparent"});function ns({isUpdatable:e,edgeUpdaterRadius:n,edge:o,targetHandleId:r,sourceHandleId:i,sourceX:a,sourceY:s,targetX:l,targetY:c,sourcePosition:d,targetPosition:u,onEdgeUpdate:h,onEdgeUpdateStart:f,onEdgeUpdateEnd:p,setUpdating:g,setUpdateHover:m}){const y=Gr(),v=(e,t)=>{if(0!==e.button)return;const{autoPanOnConnect:n,domNode:a,isValidConnection:s,connectionMode:l,connectionRadius:c,lib:d,onConnectStart:u,onConnectEnd:m,cancelConnection:v,nodes:x,panBy:w,updateConnection:b}=y.getState(),S=t?o.target:o.source,C=(t?r:i)||null,E=t?"target":"source",_=t;g(!0),f?.(e,o,E);Cr.onPointerDown(e.nativeEvent,{autoPanOnConnect:n,connectionMode:l,connectionRadius:c,domNode:a,handleId:C,nodeId:S,nodes:x,isTarget:_,edgeUpdaterType:E,lib:d,cancelConnection:v,panBy:w,isValidConnection:s,onConnect:e=>h?.(o,e),onConnectStart:u,onConnectEnd:m,onEdgeUpdateEnd:e=>{g(!1),p?.(e,o,E)},updateConnection:b,getTransform:()=>y.getState().transform})},x=()=>m(!0),w=()=>m(!1);return t.jsxs(t.Fragment,{children:[("source"===e||!0===e)&&t.jsx(ts,{position:d,centerX:a,centerY:s,radius:n,onMouseDown:e=>v(e,!0),onMouseEnter:x,onMouseOut:w,type:"source"}),("target"===e||!0===e)&&t.jsx(ts,{position:u,centerX:l,centerY:c,radius:n,onMouseDown:e=>v(e,!1),onMouseEnter:x,onMouseOut:w,type:"target"})]})}function os({id:o,edgesFocusable:i,edgesUpdatable:a,elementsSelectable:s,onClick:l,onDoubleClick:c,onContextMenu:d,onMouseEnter:u,onMouseMove:h,onMouseLeave:f,edgeUpdaterRadius:p,onEdgeUpdate:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:y,rfId:v,edgeTypes:x,noPanClassName:w,onError:b}){let S=Kr((e=>e.edgeLookup.get(o)));const C=Kr((e=>e.defaultEdgeOptions));S=C?{...C,...S}:S;let E=S.type||"default",_=x?.[E]||Ga[E];void 0===_&&(b?.("011",Qn.error011(E)),E="default",_=Ga.default);const N=!!(S.focusable||i&&void 0===S.focusable),M=void 0!==g&&(S.updatable||a&&void 0===S.updatable),k=!!(S.selectable||s&&void 0===S.selectable),P=n.useRef(null),[z,O]=n.useState(!1),[A,D]=n.useState(!1),I=Gr(),{zIndex:$,sourceX:R,sourceY:T,targetX:B,targetY:j,sourcePosition:V,targetPosition:L}=Kr(n.useCallback((t=>{const n=t.nodeLookup.get(S.source),r=t.nodeLookup.get(S.target);if(!n||!r)return{zIndex:S.zIndex,...qa};const i=function(t){const{sourceNode:n,targetNode:o}=t;if(!tr(n)||!tr(o))return null;const r=n[Jn]?.handleBounds||nr(n.handles),i=o[Jn]?.handleBounds||nr(o.handles),a=rr(r?.source??[],t.sourceHandle),s=rr(t.connectionMode===e.ConnectionMode.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),t.targetHandle),l=a?.position||e.Position.Bottom,c=s?.position||e.Position.Top;if(!a||!s)return t.onError?.("008",Qn.error008(a?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;const[d,u]=or(l,n,a),[h,f]=or(c,o,s);return{sourceX:d,sourceY:u,targetX:h,targetY:f,sourcePosition:l,targetPosition:c}}({id:o,sourceNode:n,targetNode:r,sourceHandle:S.sourceHandle||null,targetHandle:S.targetHandle||null,connectionMode:t.connectionMode,onError:b}),a=function({sourceNode:e,targetNode:t,selected:n=!1,zIndex:o=0,elevateOnSelect:r=!1}){if(!r)return o;const i=n||t.selected||e.selected,a=Math.max(e[Jn]?.z||0,t[Jn]?.z||0,1e3);return o+(i?a:0)}({selected:S.selected,zIndex:S.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect});return{zIndex:a,...i||qa}}),[S.source,S.target,S.sourceHandle,S.targetHandle,S.selected,S.zIndex]),ei),H=n.useMemo((()=>S.markerStart?`url(#${ir(S.markerStart,v)})`:void 0),[S.markerStart,v]),X=n.useMemo((()=>S.markerEnd?`url(#${ir(S.markerEnd,v)})`:void 0),[S.markerEnd,v]);if(S.hidden||!R||!T||!B||!j)return null;const Z=c?e=>{c(e,{...S})}:void 0,Y=d?e=>{d(e,{...S})}:void 0,U=u?e=>{u(e,{...S})}:void 0,W=h?e=>{h(e,{...S})}:void 0,F=f?e=>{f(e,{...S})}:void 0;return t.jsx("svg",{style:{zIndex:$},children:t.jsxs("g",{className:r(["react-flow__edge",`react-flow__edge-${E}`,S.className,w,{selected:S.selected,animated:S.animated,inactive:!k&&!l,updating:z}]),onClick:e=>{const{addSelectedEdges:t,unselectNodesAndEdges:n,multiSelectionActive:r}=I.getState();k&&(I.setState({nodesSelectionActive:!1}),S.selected&&r?(n({nodes:[],edges:[S]}),P.current?.blur()):t([o])),l&&l(e,S)},onDoubleClick:Z,onContextMenu:Y,onMouseEnter:U,onMouseMove:W,onMouseLeave:F,onKeyDown:N?e=>{if(to.includes(e.key)&&k){const{unselectNodesAndEdges:t,addSelectedEdges:n}=I.getState();"Escape"===e.key?(P.current?.blur(),t({edges:[S]})):n([o])}}:void 0,tabIndex:N?0:void 0,role:N?"button":"img","data-id":o,"data-testid":`rf__edge-${o}`,"aria-label":null===S.ariaLabel?void 0:S.ariaLabel||`Edge from ${S.source} to ${S.target}`,"aria-describedby":N?`${fi}-${v}`:void 0,ref:P,children:[!A&&t.jsx(_,{id:o,source:S.source,target:S.target,selected:S.selected,animated:S.animated,label:S.label,labelStyle:S.labelStyle,labelShowBg:S.labelShowBg,labelBgStyle:S.labelBgStyle,labelBgPadding:S.labelBgPadding,labelBgBorderRadius:S.labelBgBorderRadius,sourceX:R,sourceY:T,targetX:B,targetY:j,sourcePosition:V,targetPosition:L,data:S.data,style:S.style,sourceHandleId:S.sourceHandle,targetHandleId:S.targetHandle,markerStart:H,markerEnd:X,pathOptions:"pathOptions"in S?S.pathOptions:void 0,interactionWidth:S.interactionWidth}),M&&t.jsx(ns,{edge:S,isUpdatable:M,edgeUpdaterRadius:p,onEdgeUpdate:g,onEdgeUpdateStart:m,onEdgeUpdateEnd:y,sourceX:R,sourceY:T,targetX:B,targetY:j,sourcePosition:V,targetPosition:L,setUpdateHover:O,setUpdating:D,sourceHandleId:S.sourceHandle,targetHandleId:S.targetHandle})]})})}os.displayName="EdgeWrapper";var rs=n.memo(os);const is=e=>({width:e.width,height:e.height,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError}),as=({defaultMarkerColor:e,onlyRenderVisibleElements:o,rfId:r,edgeTypes:i,noPanClassName:a,onEdgeUpdate:s,onEdgeContextMenu:l,onEdgeMouseEnter:c,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:h,edgeUpdaterRadius:f,onEdgeDoubleClick:p,onEdgeUpdateStart:g,onEdgeUpdateEnd:m,children:y})=>{const{edgesFocusable:v,edgesUpdatable:x,elementsSelectable:w,onError:b}=Kr(is,ei),S=(C=o,Kr(n.useCallback((e=>{if(!C)return e.edges.map((e=>e.id));const t=[];if(e.width&&e.height)for(const n of e.edges){const o=e.nodeLookup.get(n.source),r=e.nodeLookup.get(n.target);o&&r&&Fo({sourceNode:o,targetNode:r,width:e.width,height:e.height,transform:e.transform})&&t.push(n.id)}return t}),[C]),ei));var C;return t.jsxs("div",{className:"react-flow__edges",children:[t.jsx(za,{defaultColor:e,rfId:r}),S.map((e=>t.jsx(rs,{id:e,edgesFocusable:v,edgesUpdatable:x,elementsSelectable:w,noPanClassName:a,onEdgeUpdate:s,onContextMenu:l,onMouseEnter:c,onMouseMove:d,onMouseLeave:u,onClick:h,edgeUpdaterRadius:f,onDoubleClick:p,onEdgeUpdateStart:g,onEdgeUpdateEnd:m,rfId:r,onError:b,edgeTypes:i},e))),y]})};as.displayName="EdgeRenderer";var ss=n.memo(as);const ls=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function cs({children:e}){const n=Kr(ls);return t.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}const ds=e=>e.panZoom?.syncViewport;const us={[e.Position.Left]:e.Position.Right,[e.Position.Right]:e.Position.Left,[e.Position.Top]:e.Position.Bottom,[e.Position.Bottom]:e.Position.Top},hs=({nodeId:o,handleType:r,style:i,type:a=e.ConnectionLineType.Bezier,CustomComponent:s,connectionStatus:l})=>{const{fromNode:c,handleId:d,toX:u,toY:h,connectionMode:f}=Kr(n.useCallback((e=>({fromNode:e.nodeLookup.get(o),handleId:e.connectionStartHandle?.handleId,toX:(e.connectionPosition.x-e.transform[0])/e.transform[2],toY:(e.connectionPosition.y-e.transform[1])/e.transform[2],connectionMode:e.connectionMode})),[o]),ei),p=c?.[Jn]?.handleBounds;let g=p?.[r];if(f===e.ConnectionMode.Loose&&(g=g||p?.["source"===r?"target":"source"]),!c||!g)return null;const m=d?g.find((e=>e.id===d)):g[0],y=m?m.x+m.width/2:(c.computed?.width??0)/2,v=m?m.y+m.height/2:c.computed?.height??0,x=(c.computed?.positionAbsolute?.x??0)+y,w=(c.computed?.positionAbsolute?.y??0)+v,b=m?.position,S=b?us[b]:null;if(!b||!S)return null;if(s)return t.jsx(s,{connectionLineType:a,connectionLineStyle:i,fromNode:c,fromHandle:m,fromX:x,fromY:w,toX:u,toY:h,fromPosition:b,toPosition:S,connectionStatus:l});let C="";const E={sourceX:x,sourceY:w,sourcePosition:b,targetX:u,targetY:h,targetPosition:S};return a===e.ConnectionLineType.Bezier?[C]=Uo(E):a===e.ConnectionLineType.Step?[C]=er({...E,borderRadius:0}):a===e.ConnectionLineType.SmoothStep?[C]=er(E):a===e.ConnectionLineType.SimpleBezier?[C]=Ia(E):C=`M${x},${w} ${u},${h}`,t.jsx("path",{d:C,fill:"none",className:"react-flow__connection-path",style:i})};hs.displayName="ConnectionLine";const fs=e=>({nodeId:e.connectionStartHandle?.nodeId,handleType:e.connectionStartHandle?.type,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function ps({containerStyle:e,style:n,type:o,component:i}){const{nodeId:a,handleType:s,nodesConnectable:l,width:c,height:d,connectionStatus:u}=Kr(fs,ei);return!!(a&&s&&c&&l)?t.jsx("svg",{style:e,width:c,height:d,className:"react-flow__connectionline react-flow__container",children:t.jsx("g",{className:r(["react-flow__connection",u]),children:t.jsx(hs,{nodeId:a,handleType:s,style:n,type:o,CustomComponent:i,connectionStatus:u})})}):null}const gs={};function ms(e=gs){n.useRef(0),Gr(),n.useEffect((()=>{}),[e])}const ys=({nodeTypes:e,edgeTypes:o,onInit:r,onNodeClick:i,onEdgeClick:a,onNodeDoubleClick:s,onEdgeDoubleClick:l,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:h,onSelectionContextMenu:f,onSelectionStart:p,onSelectionEnd:g,connectionLineType:m,connectionLineStyle:y,connectionLineComponent:v,connectionLineContainerStyle:x,selectionKeyCode:w,selectionOnDrag:b,selectionMode:S,multiSelectionKeyCode:C,panActivationKeyCode:E,zoomActivationKeyCode:_,deleteKeyCode:N,onlyRenderVisibleElements:M,elementsSelectable:k,defaultViewport:P,translateExtent:z,minZoom:O,maxZoom:A,preventScrolling:D,defaultMarkerColor:I,zoomOnScroll:$,zoomOnPinch:R,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:j,zoomOnDoubleClick:V,panOnDrag:L,onPaneClick:H,onPaneMouseEnter:X,onPaneMouseMove:Z,onPaneMouseLeave:Y,onPaneScroll:U,onPaneContextMenu:W,onEdgeUpdate:F,onEdgeContextMenu:K,onEdgeMouseEnter:G,onEdgeMouseMove:q,onEdgeMouseLeave:Q,edgeUpdaterRadius:J,onEdgeUpdateStart:ee,onEdgeUpdateEnd:te,noDragClassName:ne,noWheelClassName:oe,noPanClassName:re,disableKeyboardA11y:ie,nodeOrigin:ae,nodeExtent:se,rfId:le,viewport:ce,onViewportChange:de})=>(ms(e),ms(o),function(e){const t=Ti(),o=n.useRef(!1);n.useEffect((()=>{!o.current&&t.viewportInitialized&&e&&(setTimeout((()=>e(t)),1),o.current=!0)}),[e,t.viewportInitialized])}(r),function(e){const t=Kr(ds),o=Gr();n.useEffect((()=>{e&&(t?.(e),o.setState({transform:[e.x,e.y,e.zoom]}))}),[e,t])}(ce),t.jsx(ya,{onPaneClick:H,onPaneMouseEnter:X,onPaneMouseMove:Z,onPaneMouseLeave:Y,onPaneContextMenu:W,onPaneScroll:U,deleteKeyCode:N,selectionKeyCode:w,selectionOnDrag:b,selectionMode:S,onSelectionStart:p,onSelectionEnd:g,multiSelectionKeyCode:C,panActivationKeyCode:E,zoomActivationKeyCode:_,elementsSelectable:k,zoomOnScroll:$,zoomOnPinch:R,zoomOnDoubleClick:V,panOnScroll:T,panOnScrollSpeed:B,panOnScrollMode:j,panOnDrag:L,defaultViewport:P,translateExtent:z,minZoom:O,maxZoom:A,onSelectionContextMenu:f,preventScrolling:D,noDragClassName:ne,noWheelClassName:oe,noPanClassName:re,disableKeyboardA11y:ie,onViewportChange:de,isControlledViewport:!!ce,children:t.jsxs(cs,{children:[t.jsx(ss,{edgeTypes:o,onEdgeClick:a,onEdgeDoubleClick:l,onEdgeUpdate:F,onlyRenderVisibleElements:M,onEdgeContextMenu:K,onEdgeMouseEnter:G,onEdgeMouseMove:q,onEdgeMouseLeave:Q,onEdgeUpdateStart:ee,onEdgeUpdateEnd:te,edgeUpdaterRadius:J,defaultMarkerColor:I,noPanClassName:re,disableKeyboardA11y:ie,rfId:le}),t.jsx(ps,{style:y,type:m,component:v,containerStyle:x}),t.jsx("div",{className:"react-flow__edgelabel-renderer"}),t.jsx("div",{className:"react-flow__viewport-portal"}),t.jsx(Ea,{nodeTypes:e,onNodeClick:i,onNodeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:h,onlyRenderVisibleElements:M,noPanClassName:re,noDragClassName:ne,disableKeyboardA11y:ie,nodeOrigin:ae,nodeExtent:se,rfId:le})]})}));ys.displayName="GraphView";var vs=n.memo(ys);function xs(e,t){return t.map((t=>{const n=e.find((e=>e.id===t.id));return n&&(t.selected=n.selected),t}))}function ws({changedNodes:e,changedEdges:t,get:n,set:o}){const{nodes:r,edges:i,onNodesChange:a,onEdgesChange:s,hasDefaultNodes:l,hasDefaultEdges:c}=n();e?.length&&(l&&o({nodes:xs(e,r)}),a?.(e)),t?.length&&(c&&o({edges:xs(t,i)}),s?.(t))}const bs=({nodes:t=[],edges:n=[],width:o,height:r,fitView:i}={})=>{const a=new Map,s=new Map,l=new Map;dr(s,l,n);const c=lr(t,a,{nodeOrigin:[0,0],elevateNodesOnSelect:!1});let d=[0,0,1];if(i&&o&&r){const e=c.filter((e=>e.width&&e.height)),t=fo(e,[0,0]),{x:n,y:i,zoom:a}=Do(t,o,r,.5,2,.1);d=[n,i,a]}return{rfId:"1",width:0,height:0,transform:d,nodes:c,nodeLookup:a,edges:n,edgeLookup:l,connectionLookup:s,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,panZoom:null,minZoom:.5,maxZoom:2,translateExtent:eo,nodeExtent:eo,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:e.ConnectionMode.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!1,fitViewOnInit:!1,fitViewDone:!1,fitViewOnInitOptions:void 0,selectNodesOnDrag:!0,multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:()=>null,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react"}},Ss=({nodes:e,edges:t,width:n,height:o,fitView:r})=>{return i=(i,a)=>({...bs({nodes:e,edges:t,width:n,height:o,fitView:r}),setNodes:e=>{const{nodeLookup:t,nodeOrigin:n,elevateNodesOnSelect:o}=a(),r=lr(e,t,{nodeOrigin:n,elevateNodesOnSelect:o});i({nodes:r})},setEdges:e=>{const{connectionLookup:t,edgeLookup:n}=a();dr(t,n,e),i({edges:e})},setDefaultNodesAndEdges:(e,t)=>{const n=void 0!==e,o=void 0!==t,r={hasDefaultNodes:n,hasDefaultEdges:o};if(n){const{nodeLookup:t,nodeOrigin:n,elevateNodesOnSelect:o}=a();r.nodes=lr(e,t,{nodeOrigin:n,elevateNodesOnSelect:o})}if(o){const{connectionLookup:e,edgeLookup:n}=a();dr(e,n,t),r.edges=t}i(r)},updateNodeDimensions:e=>{const{onNodesChange:t,fitView:n,nodes:o,nodeLookup:r,fitViewOnInit:s,fitViewDone:l,fitViewOnInitOptions:c,domNode:d,nodeOrigin:u}=a(),h=[],f=function(e,t,n,o,r,i){const a=o?.querySelector(".xyflow__viewport");if(!a)return null;const s=window.getComputedStyle(a),{m22:l}=new window.DOMMatrixReadOnly(s.transform);return t.map((t=>{const o=e.get(t.id);if(o){const e=Ro(o.nodeElement);if(e.width&&e.height&&(t.computed?.width!==e.width||t.computed?.height!==e.height||o.forceUpdate)){i?.(t.id,e);const a={...t,computed:{...t.computed,...e},[Jn]:{...t[Jn],handleBounds:{source:Ho(".source",o.nodeElement,l,t.origin||r),target:Ho(".target",o.nodeElement,l,t.origin||r)}}};return n.set(t.id,a),a}}return t}))}(e,o,r,d,u,((e,t)=>{h.push({id:e,type:"dimensions",dimensions:t})}));if(!f)return;const p=sr(f,r,u);let g=l;!l&&s&&(g=n(p,{...c,nodes:c?.nodes||p})),i({nodes:p,fitViewDone:g}),h?.length>0&&t?.(h)},updateNodePositions:(e,t=!0,n=!1)=>{const o=e.map((e=>{const o={id:e.id,type:"position",dragging:n};return t&&(o.positionAbsolute=e.computed?.positionAbsolute,o.position=e.position),o}));a().triggerNodeChanges(o)},triggerNodeChanges:e=>{const{onNodesChange:t,nodeLookup:n,nodes:o,hasDefaultNodes:r,nodeOrigin:s,elevateNodesOnSelect:l}=a();if(e?.length){if(r){const t=lr(Ni(e,o),n,{nodeOrigin:s,elevateNodesOnSelect:l});i({nodes:t})}t?.(e)}},addSelectedNodes:e=>{const{multiSelectionActive:t,edges:n,nodes:o}=a();let r,s=null;t?r=e.map((e=>ki(e,!0))):(r=Pi(o,new Set([...e]),!0),s=Pi(n)),ws({changedNodes:r,changedEdges:s,get:a,set:i})},addSelectedEdges:e=>{const{multiSelectionActive:t,edges:n,nodes:o}=a();let r,s=null;t?r=e.map((e=>ki(e,!0))):(r=Pi(n,new Set([...e])),s=Pi(o,new Set,!0)),ws({changedNodes:s,changedEdges:r,get:a,set:i})},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{const{edges:n,nodes:o}=a(),r=t||n;ws({changedNodes:(e||o).map((e=>(e.selected=!1,ki(e.id,!1)))),changedEdges:r.map((e=>ki(e.id,!1))),get:a,set:i})},setMinZoom:e=>{const{panZoom:t,maxZoom:n}=a();t?.setScaleExtent([e,n]),i({minZoom:e})},setMaxZoom:e=>{const{panZoom:t,minZoom:n}=a();t?.setScaleExtent([n,e]),i({maxZoom:e})},setTranslateExtent:e=>{a().panZoom?.setTranslateExtent(e),i({translateExtent:e})},resetSelectedElements:()=>{const{edges:e,nodes:t}=a();ws({changedNodes:t.filter((e=>e.selected)).map((e=>ki(e.id,!1))),changedEdges:e.filter((e=>e.selected)).map((e=>ki(e.id,!1))),get:a,set:i})},setNodeExtent:e=>{const{nodes:t}=a();i({nodeExtent:e,nodes:t.map((t=>{const n=xo(t.position,e);return{...t,computed:{...t.computed,positionAbsolute:n}}}))})},panBy:e=>{const{transform:t,width:n,height:o,panZoom:r,translateExtent:i}=a();return function({delta:e,panZoom:t,transform:n,translateExtent:o,width:r,height:i}){if(!t||!e.x&&!e.y)return!1;const a=t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[r,i]],o);return!!a&&(a.x!==n[0]||a.y!==n[1]||a.k!==n[2])}({delta:e,panZoom:r,transform:t,translateExtent:i,width:n,height:o})},fitView:(e,t)=>{const{panZoom:n,width:o,height:r,minZoom:i,maxZoom:s,nodeOrigin:l}=a();return!!n&&mo({nodes:e,width:o,height:r,panZoom:n,minZoom:i,maxZoom:s,nodeOrigin:l},t)},cancelConnection:()=>i({connectionStatus:null,connectionStartHandle:null,connectionEndHandle:null}),updateConnection:e=>{const{connectionStatus:t,connectionStartHandle:n,connectionEndHandle:o,connectionPosition:r}=a(),s={connectionPosition:e.connectionPosition??r,connectionStatus:e.connectionStatus??t,connectionStartHandle:e.connectionStartHandle??n,connectionEndHandle:e.connectionEndHandle??o};i(s)},reset:()=>{}}),a=Object.is,i?Yr(i,a):Yr;var i,a};function Cs({children:e,initialNodes:o,initialEdges:r,initialWidth:i,initialHeight:a,fitView:s}){const l=n.useRef(null);return l.current||(l.current=Ss({nodes:o,edges:r,width:i,height:a,fitView:s})),t.jsx(Wr,{value:l.current,children:e})}function Es({children:e,nodes:o,edges:r,width:i,height:a,fitView:s}){return n.useContext(Ur)?t.jsx(t.Fragment,{children:e}):t.jsx(Cs,{initialNodes:o,initialEdges:r,initialWidth:i,initialHeight:a,fitView:s,children:e})}function _s(){return"undefined"!=typeof window&&window.matchMedia?window.matchMedia("(prefers-color-scheme: dark)"):null}Cs.displayName="ReactFlowProvider",Es.displayName="ReactFlowWrapper";const Ns=[0,0],Ms={x:0,y:0,zoom:1},ks={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Ps=n.forwardRef((({nodes:o,edges:i,defaultNodes:a,defaultEdges:s,className:l,nodeTypes:c,edgeTypes:d,onNodeClick:u,onEdgeClick:h,onInit:f,onMove:p,onMoveStart:g,onMoveEnd:m,onConnect:y,onConnectStart:v,onConnectEnd:x,onClickConnectStart:w,onClickConnectEnd:b,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:E,onNodeContextMenu:_,onNodeDoubleClick:N,onNodeDragStart:M,onNodeDrag:k,onNodeDragStop:P,onNodesDelete:z,onEdgesDelete:O,onDelete:A,onSelectionChange:D,onSelectionDragStart:I,onSelectionDrag:$,onSelectionDragStop:R,onSelectionContextMenu:T,onSelectionStart:B,onSelectionEnd:j,onBeforeDelete:V,connectionMode:L,connectionLineType:H=e.ConnectionLineType.Bezier,connectionLineStyle:X,connectionLineComponent:Z,connectionLineContainerStyle:Y,deleteKeyCode:U="Backspace",selectionKeyCode:W="Shift",selectionOnDrag:F=!1,selectionMode:K=e.SelectionMode.Full,panActivationKeyCode:G="Space",multiSelectionKeyCode:q=(Io()?"Meta":"Control"),zoomActivationKeyCode:Q=(Io()?"Meta":"Control"),snapToGrid:J,snapGrid:ee,onlyRenderVisibleElements:te=!1,selectNodesOnDrag:ne,nodesDraggable:oe,nodesConnectable:re,nodesFocusable:ie,nodeOrigin:ae=Ns,edgesFocusable:se,edgesUpdatable:le,elementsSelectable:ce=!0,defaultViewport:de=Ms,minZoom:ue=.5,maxZoom:he=2,translateExtent:fe=eo,preventScrolling:pe=!0,nodeExtent:ge,defaultMarkerColor:me="#b1b1b7",zoomOnScroll:ye=!0,zoomOnPinch:ve=!0,panOnScroll:xe=!1,panOnScrollSpeed:we=.5,panOnScrollMode:be=e.PanOnScrollMode.Free,zoomOnDoubleClick:Se=!0,panOnDrag:Ce=!0,onPaneClick:Ee,onPaneMouseEnter:_e,onPaneMouseMove:Ne,onPaneMouseLeave:Me,onPaneScroll:ke,onPaneContextMenu:Pe,children:ze,onEdgeUpdate:Oe,onEdgeContextMenu:Ae,onEdgeDoubleClick:De,onEdgeMouseEnter:Ie,onEdgeMouseMove:$e,onEdgeMouseLeave:Re,onEdgeUpdateStart:Te,onEdgeUpdateEnd:Be,edgeUpdaterRadius:je=10,onNodesChange:Ve,onEdgesChange:Le,noDragClassName:He="nodrag",noWheelClassName:Xe="nowheel",noPanClassName:Ze="nopan",fitView:Ye,fitViewOptions:Ue,connectOnClick:We,attributionPosition:Fe,proOptions:Ke,defaultEdgeOptions:Ge,elevateNodesOnSelect:qe,elevateEdgesOnSelect:Qe,disableKeyboardA11y:Je=!1,autoPanOnConnect:et,autoPanOnNodeDrag:tt,connectionRadius:nt,isValidConnection:ot,onError:rt,style:it,id:at,nodeDragThreshold:st,viewport:lt,onViewportChange:ct,width:dt,height:ut,colorMode:ht="light",...ft},pt)=>{const gt=at||"1",mt=function(e){const[t,o]=n.useState("system"===e?null:e);return n.useEffect((()=>{if("system"!==e)return void o(e);const t=_s(),n=()=>o(t?.matches?"dark":"light");return n(),t?.addEventListener("change",n),()=>{t?.removeEventListener("change",n)}}),[e]),null!==t?t:_s()?.matches?"dark":"light"}(ht);return t.jsx("div",{...ft,style:{...it,...ks},ref:pt,className:r(["react-flow",l,mt]),"data-testid":"rf__wrapper",id:at,children:t.jsxs(Es,{nodes:o,edges:i,width:dt,height:ut,fitView:Ye,children:[t.jsx(vs,{onInit:f,onNodeClick:u,onEdgeClick:h,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:E,onNodeContextMenu:_,onNodeDoubleClick:N,nodeTypes:c,edgeTypes:d,connectionLineType:H,connectionLineStyle:X,connectionLineComponent:Z,connectionLineContainerStyle:Y,selectionKeyCode:W,selectionOnDrag:F,selectionMode:K,deleteKeyCode:U,multiSelectionKeyCode:q,panActivationKeyCode:G,zoomActivationKeyCode:Q,onlyRenderVisibleElements:te,defaultViewport:de,translateExtent:fe,minZoom:ue,maxZoom:he,preventScrolling:pe,zoomOnScroll:ye,zoomOnPinch:ve,zoomOnDoubleClick:Se,panOnScroll:xe,panOnScrollSpeed:we,panOnScrollMode:be,panOnDrag:Ce,onPaneClick:Ee,onPaneMouseEnter:_e,onPaneMouseMove:Ne,onPaneMouseLeave:Me,onPaneScroll:ke,onPaneContextMenu:Pe,onSelectionContextMenu:T,onSelectionStart:B,onSelectionEnd:j,onEdgeUpdate:Oe,onEdgeContextMenu:Ae,onEdgeDoubleClick:De,onEdgeMouseEnter:Ie,onEdgeMouseMove:$e,onEdgeMouseLeave:Re,onEdgeUpdateStart:Te,onEdgeUpdateEnd:Be,edgeUpdaterRadius:je,defaultMarkerColor:me,noDragClassName:He,noWheelClassName:Xe,noPanClassName:Ze,rfId:gt,disableKeyboardA11y:Je,nodeOrigin:ae,nodeExtent:ge,viewport:lt,onViewportChange:ct}),t.jsx(ci,{nodes:o,edges:i,defaultNodes:a,defaultEdges:s,onConnect:y,onConnectStart:v,onConnectEnd:x,onClickConnectStart:w,onClickConnectEnd:b,nodesDraggable:oe,nodesConnectable:re,nodesFocusable:ie,edgesFocusable:se,edgesUpdatable:le,elementsSelectable:ce,elevateNodesOnSelect:qe,elevateEdgesOnSelect:Qe,minZoom:ue,maxZoom:he,nodeExtent:ge,onNodesChange:Ve,onEdgesChange:Le,snapToGrid:J,snapGrid:ee,connectionMode:L,translateExtent:fe,connectOnClick:We,defaultEdgeOptions:Ge,fitView:Ye,fitViewOptions:Ue,onNodesDelete:z,onEdgesDelete:O,onDelete:A,onNodeDragStart:M,onNodeDrag:k,onNodeDragStop:P,onSelectionDrag:$,onSelectionDragStart:I,onSelectionDragStop:R,onMove:p,onMoveStart:g,onMoveEnd:m,noPanClassName:Ze,nodeOrigin:ae,rfId:gt,autoPanOnConnect:et,autoPanOnNodeDrag:tt,onError:rt,connectionRadius:nt,isValidConnection:ot,selectNodesOnDrag:ne,nodeDragThreshold:st,onBeforeDelete:V}),t.jsx(ai,{onSelectionChange:D}),ze,t.jsx(Jr,{proOptions:Ke,position:Fe}),t.jsx(yi,{rfId:gt,disableKeyboardA11y:Je})]})})}));Ps.displayName="ReactFlow";const zs=e=>e.domNode?.querySelector(".react-flow__edgelabel-renderer");const Os=e=>e.domNode?.querySelector(".react-flow__viewport-portal");const As=e=>e.nodes;const Ds=e=>e.edges;const Is=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});const $s={includeHiddenNodes:!1};const Rs=e=>({startHandle:e.connectionStartHandle,endHandle:e.connectionEndHandle,status:e.connectionStatus,position:e.connectionStartHandle?e.connectionPosition:null});var Ts;function Bs({dimensions:e,lineWidth:n,variant:o,className:i}){return t.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:r(["react-flow__background-pattern",o,i])})}function js({radius:e,className:n}){return t.jsx("circle",{cx:e,cy:e,r:e,className:r(["react-flow__background-pattern","dots",n])})}e.BackgroundVariant=void 0,(Ts=e.BackgroundVariant||(e.BackgroundVariant={})).Lines="lines",Ts.Dots="dots",Ts.Cross="cross";const Vs={[e.BackgroundVariant.Dots]:1,[e.BackgroundVariant.Lines]:1,[e.BackgroundVariant.Cross]:6},Ls=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Hs({id:o,variant:i=e.BackgroundVariant.Dots,gap:a=20,size:s,lineWidth:l=1,offset:c=2,color:d,bgColor:u,style:h,className:f,patternClassName:p}){const g=n.useRef(null),{transform:m,patternId:y}=Kr(Ls,ei),v=s||Vs[i],x=i===e.BackgroundVariant.Dots,w=i===e.BackgroundVariant.Cross,b=Array.isArray(a)?a:[a,a],S=[b[0]*m[2]||1,b[1]*m[2]||1],C=v*m[2],E=w?[C,C]:S,_=x?[C/c,C/c]:[E[0]/c,E[1]/c],N=`${y}${o||""}`;return t.jsxs("svg",{className:r(["react-flow__background",f]),style:{...h,...Vi,"--xy-background-color-props":u,"--xy-background-pattern-color-props":d},ref:g,"data-testid":"rf__background",children:[t.jsx("pattern",{id:N,x:m[0]%S[0],y:m[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${_[0]},-${_[1]})`,children:x?t.jsx(js,{radius:C/c,className:p}):t.jsx(Bs,{dimensions:E,lineWidth:l,variant:i,className:p})}),t.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${N})`})]})}Hs.displayName="Background";var Xs=n.memo(Hs);function Zs(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:t.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Ys(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:t.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Us(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:t.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function Ws(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function Fs(){return t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:t.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}const Ks=({children:e,className:n,...o})=>t.jsx("button",{type:"button",className:r(["react-flow__controls-button",n]),...o,children:e});Ks.displayName="ControlButton";const Gs=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),qs=({style:e,showZoom:n=!0,showFitView:o=!0,showInteractive:i=!0,fitViewOptions:a,onZoomIn:s,onZoomOut:l,onFitView:c,onInteractiveChange:d,className:u,children:h,position:f="bottom-left"})=>{const p=Gr(),{isInteractive:g,minZoomReached:m,maxZoomReached:y}=Kr(Gs,ei),{zoomIn:v,zoomOut:x,fitView:w}=Ti();return t.jsxs(Qr,{className:r(["react-flow__controls",u]),position:f,style:e,"data-testid":"rf__controls",children:[n&&t.jsxs(t.Fragment,{children:[t.jsx(Ks,{onClick:()=>{v(),s?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:y,children:t.jsx(Zs,{})}),t.jsx(Ks,{onClick:()=>{x(),l?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:m,children:t.jsx(Ys,{})})]}),o&&t.jsx(Ks,{className:"react-flow__controls-fitview",onClick:()=>{w(a),c?.()},title:"fit view","aria-label":"fit view",children:t.jsx(Us,{})}),i&&t.jsx(Ks,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),d?.(!g)},title:"toggle interactivity","aria-label":"toggle interactivity",children:g?t.jsx(Fs,{}):t.jsx(Ws,{})}),h]})};qs.displayName="Controls";var Qs=n.memo(qs);var Js=n.memo((function({id:e,x:n,y:o,width:i,height:a,style:s,color:l,strokeColor:c,strokeWidth:d,className:u,borderRadius:h,shapeRendering:f,selected:p,onClick:g}){const{background:m,backgroundColor:y}=s||{},v=l||m||y;return t.jsx("rect",{className:r(["react-flow__minimap-node",{selected:p},u]),x:n,y:o,rx:h,ry:h,width:i,height:a,style:{fill:v,stroke:c,strokeWidth:d},shapeRendering:f,onClick:g?t=>g(t,e):void 0})}));const el=e=>e.nodeOrigin,tl=e=>e.nodes.map((e=>e.id)),nl=e=>e instanceof Function?e:()=>e;const ol=n.memo((function({id:e,nodeOrigin:n,nodeColorFunc:o,nodeStrokeColorFunc:r,nodeClassNameFunc:i,nodeBorderRadius:a,nodeStrokeWidth:s,shapeRendering:l,NodeComponent:c,onClick:d}){const{node:u,x:h,y:f}=Kr((t=>{const o=t.nodeLookup.get(e),{x:r,y:i}=ho(o,o?.origin||n).positionAbsolute;return{node:o,x:r,y:i}}),ei);return!u||u.hidden||!u.computed?.width&&!u.width||!u.computed?.height&&!u.height?null:t.jsx(c,{x:h,y:f,width:u.computed?.width??u.width??0,height:u.computed?.height??u.height??0,style:u.style,selected:!!u.selected,className:i(u),color:o(u),borderRadius:a,strokeColor:r(u),strokeWidth:s,shapeRendering:l,onClick:d,id:u.id})}));var rl=n.memo((function({nodeStrokeColor:e,nodeColor:n,nodeClassName:o="",nodeBorderRadius:r=5,nodeStrokeWidth:i,nodeComponent:a=Js,onClick:s}){const l=Kr(tl,ei),c=Kr(el),d=nl(n),u=nl(e),h=nl(o),f="undefined"==typeof window||window.chrome?"crispEdges":"geometricPrecision";return t.jsx(t.Fragment,{children:l.map((e=>t.jsx(ol,{id:e,nodeOrigin:c,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:h,nodeBorderRadius:r,nodeStrokeWidth:i,NodeComponent:a,onClick:s,shapeRendering:f},e)))})}));const il=e=>{const t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodes.length>0?(n=fo(e.nodes,e.nodeOrigin),o=t,Eo(So(Co(n),Co(o)))):t,rfId:e.rfId,nodeOrigin:e.nodeOrigin,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height};var n,o};function al({style:e,className:o,nodeStrokeColor:i,nodeColor:a,nodeClassName:s="",nodeBorderRadius:l=5,nodeStrokeWidth:c,nodeComponent:d,maskColor:u,maskStrokeColor:h="none",maskStrokeWidth:f=1,position:p="bottom-right",onClick:g,onNodeClick:m,pannable:y=!1,zoomable:v=!1,ariaLabel:x="React Flow mini map",inversePan:w,zoomStep:b=10,offsetScale:S=5}){const C=Gr(),E=n.useRef(null),{boundingRect:_,viewBB:N,rfId:M,panZoom:k,translateExtent:P,flowWidth:z,flowHeight:O}=Kr(il,ei),A=e?.width??200,D=e?.height??150,I=_.width/A,$=_.height/D,R=Math.max(I,$),T=R*A,B=R*D,j=S*R,V=_.x-(T-_.width)/2-j,L=_.y-(B-_.height)/2-j,H=T+2*j,X=B+2*j,Z=`react-flow__minimap-desc-${M}`,Y=n.useRef(0),U=n.useRef();Y.current=R,n.useEffect((()=>{if(E.current&&k)return U.current=function({domNode:e,panZoom:t,getTransform:n,getViewScale:o}){const r=Se(e);return{update:function({translateExtent:e,width:i,height:a,zoomStep:s=10,pannable:l=!0,zoomable:c=!0,inversePan:d=!1}){const u=qn().on("zoom",l?r=>{const s=n();if("mousemove"!==r.sourceEvent.type||!t)return;const l=o()*Math.max(s[2],Math.log(s[2]))*(d?-1:1),c={x:s[0]-r.sourceEvent.movementX*l,y:s[1]-r.sourceEvent.movementY*l},u=[[0,0],[i,a]];t.setViewportConstrained({x:c.x,y:c.y,zoom:s[2]},u,e)}:null).on("zoom.wheel",c?e=>{const o=n();if("wheel"!==e.sourceEvent.type||!t)return;const r=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*s,i=o[2]*Math.pow(2,r);t.scaleTo(i)}:null);r.call(u,{})},destroy:function(){r.on("zoom",null)},pointer:Ce}}({domNode:E.current,panZoom:k,getTransform:()=>C.getState().transform,getViewScale:()=>Y.current}),()=>{U.current?.destroy()}}),[k]),n.useEffect((()=>{U.current?.update({translateExtent:P,width:z,height:O,inversePan:w,pannable:y,zoomStep:b,zoomable:v})}),[y,v,w,b,P,z,O]);const W=g?e=>{const[t,n]=U.current?.pointer(e)||[0,0];g(e,{x:t,y:n})}:void 0,F=m?n.useCallback(((e,t)=>{const n=C.getState().nodeLookup.get(t);m(e,n)}),[]):void 0;return t.jsx(Qr,{position:p,style:{...e,"--xy-minimap-mask-color-props":"string"==typeof u?u:void 0,"--xy-minimap-node-background-color-props":"string"==typeof a?a:void 0,"--xy-minimap-node-stroke-color-props":"string"==typeof i?i:void 0,"--xy-minimap-node-stroke-width-props":"string"==typeof c?c:void 0},className:r(["react-flow__minimap",o]),"data-testid":"rf__minimap",children:t.jsxs("svg",{width:A,height:D,viewBox:`${V} ${L} ${H} ${X}`,role:"img","aria-labelledby":Z,ref:E,onClick:W,children:[x&&t.jsx("title",{id:Z,children:x}),t.jsx(rl,{onClick:F,nodeColor:a,nodeStrokeColor:i,nodeBorderRadius:l,nodeClassName:s,nodeStrokeWidth:c,nodeComponent:d}),t.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-j},${L-j}h${H+2*j}v${X+2*j}h${-H-2*j}z\n M${N.x},${N.y}h${N.width}v${N.height}h${-N.width}z`,fillRule:"evenodd",stroke:h,strokeWidth:f,pointerEvents:"none"})]})})}al.displayName="MiniMap";var sl,ll=n.memo(al);e.ResizeControlVariant=void 0,(sl=e.ResizeControlVariant||(e.ResizeControlVariant={})).Line="line",sl.Handle="handle";const cl={width:0,height:0,x:0,y:0},dl={...cl,pointerX:0,pointerY:0,aspectRatio:1};var ul=n.memo((function({nodeId:o,position:i,variant:a=e.ResizeControlVariant.Handle,className:s,style:l={},children:c,color:d,minWidth:u=10,minHeight:h=10,maxWidth:f=Number.MAX_VALUE,maxHeight:p=Number.MAX_VALUE,keepAspectRatio:g=!1,shouldResize:m,onResizeStart:y,onResize:v,onResizeEnd:x}){const w=ea(),b="string"==typeof o?o:w,S=Gr(),C=n.useRef(null),E=n.useRef(dl),_=n.useRef(cl),N=a===e.ResizeControlVariant.Line?"right":"bottom-right",M=i??N;n.useEffect((()=>{if(!C.current||!b)return;const e=Se(C.current),t=M.includes("right")||M.includes("left"),n=M.includes("bottom")||M.includes("top"),o=M.includes("left"),r=M.includes("top"),i=Re().on("start",(e=>{const{nodeLookup:t,transform:n,snapGrid:o,snapToGrid:r}=S.getState(),i=t.get(b),{xSnapped:a,ySnapped:s}=$o(e.sourceEvent,{transform:n,snapGrid:o,snapToGrid:r});_.current={width:i?.computed?.width??0,height:i?.computed?.height??0,x:i?.position.x??0,y:i?.position.y??0},E.current={..._.current,pointerX:a,pointerY:s,aspectRatio:_.current.width/_.current.height},y?.(e,{..._.current})})).on("drag",(e=>{const{nodeLookup:i,transform:a,snapGrid:s,snapToGrid:l,triggerNodeChanges:c}=S.getState(),{xSnapped:d,ySnapped:y}=$o(e.sourceEvent,{transform:a,snapGrid:s,snapToGrid:l}),x=i.get(b);if(x){const i=[],{pointerX:a,pointerY:s,width:l,height:w,x:S,y:C,aspectRatio:N}=E.current,{x:M,y:k,width:P,height:z}=_.current,O=Math.floor(t?d-a:0),A=Math.floor(n?y-s:0);let D=vo(l+(o?-O:O),u,f),I=vo(w+(r?-A:A),h,p);if(g){const e=D/I,o=t&&n;D=e<=N&&o||n&&!t?I*N:D,I=e>N&&o||t&&!n?D/N:I,D>=f?(D=f,I=f/N):D<=u&&(D=u,I=u/N),I>=p?(I=p,D=p*N):I<=h&&(I=h,D=h*N)}const $=D!==P,R=I!==z;if(o||r){const e=o?S-(D-l):S,t=r?C-(I-w):C,n=e!==M&&$,a=t!==k&&R;if(n||a){const o={id:x.id,type:"position",position:{x:n?e:M,y:a?t:k}};i.push(o),_.current.x=o.position.x,_.current.y=o.position.y}}if($||R){const e={id:b,type:"dimensions",updateStyle:!0,resizing:!0,dimensions:{width:D,height:I}};i.push(e),_.current.width=D,_.current.height=I}if(0===i.length)return;const T=function({width:e,prevWidth:t,height:n,prevHeight:o,invertX:r,invertY:i}){const a=e-t,s=n-o,l=[a>0?1:a<0?-1:0,s>0?1:s<0?-1:0];return a&&r&&(l[0]=-1*l[0]),s&&i&&(l[1]=-1*l[1]),l}({width:_.current.width,prevWidth:P,height:_.current.height,prevHeight:z,invertX:o,invertY:r}),B={..._.current,direction:T},j=m?.(e,B);if(!1===j)return;v?.(e,B),c(i)}})).on("end",(e=>{const t={id:b,type:"dimensions",resizing:!1};x?.(e,{..._.current}),S.getState().triggerNodeChanges([t])}));return e.call(i),()=>{e.on(".drag",null)}}),[b,M,u,h,f,p,g,y,v,x]);const k=M.split("-"),P=a===e.ResizeControlVariant.Line?"borderColor":"backgroundColor",z=d?{...l,[P]:d}:l;return t.jsx("div",{className:r(["react-flow__resize-control","nodrag",...k,a,s]),ref:C,style:z,children:c})}));const hl=["top-left","top-right","bottom-left","bottom-right"],fl=["top","right","bottom","left"];const pl=e=>e.domNode?.querySelector(".react-flow__renderer");function gl({children:e}){const t=Kr(pl);return t?o.createPortal(e,t):null}const ml=(e,t)=>e.length===t.length&&!e.some(((e,n)=>((e,t)=>e?.computed?.positionAbsolute?.x!==t?.computed?.positionAbsolute?.x||e?.computed?.positionAbsolute?.y!==t?.computed?.positionAbsolute?.y||e?.computed?.width!==t?.computed?.width||e?.computed?.height!==t?.computed?.height||e?.selected!==t?.selected||e?.[Jn]?.z!==t?.[Jn]?.z)(e,t[n]))),yl=e=>({viewport:{x:e.transform[0],y:e.transform[1],zoom:e.transform[2]},nodeOrigin:e.nodeOrigin,selectedNodesCount:e.nodes.filter((e=>e.selected)).length});e.Background=Xs,e.BaseEdge=Aa,e.BezierEdge=Fa,e.ControlButton=Ks,e.Controls=Qs,e.EdgeLabelRenderer=function({children:e}){const t=Kr(zs);return t?o.createPortal(e,t):null},e.EdgeText=Oa,e.Handle=oa,e.MiniMap=ll,e.NodeResizeControl=ul,e.NodeResizer=function({nodeId:n,isVisible:o=!0,handleClassName:r,handleStyle:i,lineClassName:a,lineStyle:s,color:l,minWidth:c=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:h=Number.MAX_VALUE,keepAspectRatio:f=!1,shouldResize:p,onResizeStart:g,onResize:m,onResizeEnd:y}){return o?t.jsxs(t.Fragment,{children:[fl.map((o=>t.jsx(ul,{className:a,style:s,nodeId:n,position:o,variant:e.ResizeControlVariant.Line,color:l,minWidth:c,minHeight:d,maxWidth:u,maxHeight:h,onResizeStart:g,keepAspectRatio:f,shouldResize:p,onResize:m,onResizeEnd:y},o))),hl.map((e=>t.jsx(ul,{className:r,style:i,nodeId:n,position:e,color:l,minWidth:c,minHeight:d,maxWidth:u,maxHeight:h,onResizeStart:g,keepAspectRatio:f,shouldResize:p,onResize:m,onResizeEnd:y},e)))]}):null},e.NodeToolbar=function({nodeId:o,children:i,className:a,style:s,isVisible:l,position:c=e.Position.Top,offset:d=10,align:u="center",...h}){const f=ea(),p=n.useCallback((e=>(Array.isArray(o)?o:[o||f||""]).reduce(((t,n)=>{const o=e.nodeLookup.get(n);return o&&t.push(o),t}),[])),[o,f]),g=Kr(p,ml),{viewport:m,nodeOrigin:y,selectedNodesCount:v}=Kr(yl,ei);if(!("boolean"==typeof l?l:1===g.length&&g[0].selected&&1===v)||!g.length)return null;const x=fo(g,y),w=Math.max(...g.map((e=>(e[Jn]?.z||1)+1))),b={position:"absolute",transform:ar(x,m,c,d,u),zIndex:w,...s};return t.jsx(gl,{children:t.jsx("div",{style:b,className:r(["react-flow__node-toolbar",a]),...h,"data-id":g.reduce(((e,t)=>`${e}${t.id} `),"").trim(),children:i})})},e.Panel=Qr,e.ReactFlow=Ps,e.ReactFlowProvider=Cs,e.SimpleBezierEdge=Ra,e.SmoothStepEdge=ja,e.StepEdge=Ha,e.StraightEdge=Ya,e.ViewportPortal=function({children:e}){const t=Kr(Os);return t?o.createPortal(e,t):null},e.addEdge=Ii,e.applyEdgeChanges=Mi,e.applyNodeChanges=Ni,e.getBezierEdgeCenter=Xo,e.getBezierPath=Uo,e.getConnectedEdges=Ri,e.getEdgeCenter=Wo,e.getIncomers=Di,e.getNodesBounds=fo,e.getOutgoers=Ai,e.getSimpleBezierPath=Ia,e.getSmoothStepPath=er,e.getStraightPath=Go,e.getViewportForBounds=Do,e.handleParentExpand=Ei,e.internalsSymbol=Jn,e.isEdge=Oi,e.isNode=zi,e.updateEdge=$i,e.useConnection=function(){return Kr(Rs,ei)},e.useEdges=function(){return Kr(Ds,ei)},e.useEdgesState=function(e){const[t,o]=n.useState(e),r=n.useCallback((e=>o((t=>Mi(e,t)))),[]);return[t,o,r]},e.useHandleConnections=function({type:e,id:t=null,nodeId:o,onConnect:r,onDisconnect:i}){const a=ea(),s=n.useRef(null),l=o||a,c=Kr((n=>n.connectionLookup.get(`${l}-${e}-${t}`)),lo);return n.useEffect((()=>{if(s.current&&s.current!==c){const e=c??new Map;co(s.current,e,i),co(e,s.current,r)}s.current=c??new Map}),[c,r,i]),n.useMemo((()=>Array.from(c?.values()??[])),[c])},e.useKeyPress=xi,e.useNodeId=ea,e.useNodes=function(){return Kr(As,ei)},e.useNodesData=function(e){return Kr(n.useCallback((t=>{if(!Array.isArray(e))return t.nodeLookup.get(e)?.data||null;const n=[];for(const o of e){const e=t.nodeLookup.get(o)?.data;e&&n.push(e)}return n}),[e]),ei)},e.useNodesInitialized=function(e=$s){return Kr((e=>t=>0!==t.nodes.length&&t.nodes.filter((t=>!!e.includeHiddenNodes||!t.hidden)).every((e=>void 0!==e[Jn]?.handleBounds)))(e))},e.useNodesState=function(e){const[t,o]=n.useState(e),r=n.useCallback((e=>o((t=>Ni(e,t)))),[]);return[t,o,r]},e.useOnSelectionChange=function({onChange:e}){const t=Gr();n.useEffect((()=>{const n=[...t.getState().onSelectionChangeHandlers,e];return t.setState({onSelectionChangeHandlers:n}),()=>{const n=t.getState().onSelectionChangeHandlers.filter((t=>t!==e));t.setState({onSelectionChangeHandlers:n})}}),[e])},e.useOnViewportChange=function({onStart:e,onChange:t,onEnd:o}){const r=Gr();n.useEffect((()=>{r.setState({onViewportChangeStart:e})}),[e]),n.useEffect((()=>{r.setState({onViewportChange:t})}),[t]),n.useEffect((()=>{r.setState({onViewportChangeEnd:o})}),[o])},e.useReactFlow=Ti,e.useStore=Kr,e.useStoreApi=Gr,e.useUpdateNodeInternals=function(){const e=Gr();return n.useCallback((t=>{const{domNode:n,updateNodeDimensions:o}=e.getState(),r=Array.isArray(t)?t:[t],i=new Map;r.forEach((e=>{const t=n?.querySelector(`.react-flow__node[data-id="${e}"]`);t&&i.set(e,{id:e,nodeElement:t,forceUpdate:!0})})),requestAnimationFrame((()=>o(i)))}),[])},e.useViewport=function(){return Kr(Is,ei)}}));
|
|
@@ -42,8 +42,6 @@ export type EdgeWrapperProps = {
|
|
|
42
42
|
noPanClassName: string;
|
|
43
43
|
onClick?: EdgeMouseHandler;
|
|
44
44
|
onDoubleClick?: EdgeMouseHandler;
|
|
45
|
-
sourceHandleId?: string | null;
|
|
46
|
-
targetHandleId?: string | null;
|
|
47
45
|
onEdgeUpdate?: OnEdgeUpdateFunc;
|
|
48
46
|
onContextMenu?: EdgeMouseHandler;
|
|
49
47
|
onMouseEnter?: EdgeMouseHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/types/edges.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,IAAI,eAAe,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACpH,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,WAAW,CAAC,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAC1D,gBAAgB,GAAG;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEJ,KAAK,kBAAkB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEzG,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,
|
|
1
|
+
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../../../packages/react/src/types/edges.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,UAAU,IAAI,eAAe,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACpH,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AAEpC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;AAEjD,MAAM,MAAM,WAAW,CAAC,QAAQ,GAAG,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAC1D,gBAAgB,GAAG;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEJ,KAAK,kBAAkB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IAC5C,IAAI,EAAE,YAAY,CAAC;IACnB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACxC,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAEF,KAAK,YAAY,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEzG,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACzF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,CAAC,GACpD,gBAAgB,GAAG;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CACnC,IAAI,CAAC,CAAC,CAAC,EACP,IAAI,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CACxE,GACC,YAAY,GACZ,gBAAgB,GAAG;IACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG;IAC7C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAC3C,gBAAgB,GAAG;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACrB,WAAW,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC;CAC9C,CAAC;AAEJ,MAAM,MAAM,4BAA4B,CAAC,WAAW,IAAI,kBAAkB,GAAG;IAC3E,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;AAE9E;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,4BAA4B,CAAC,qBAAqB,CAAC,CAAC;AAEtF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC;AAE9F;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,IAAI,CAAC;AAE9F,MAAM,MAAM,4BAA4B,GAAG;IACzC,mBAAmB,CAAC,EAAE,aAAa,CAAC;IACpC,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,QAAQ,CAAC;IACvB,UAAU,EAAE,QAAQ,CAAC;IACrB,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC"}
|
package/package.json
CHANGED