@uipath/apollo-react 4.22.1 → 4.22.2-pr651.476969
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/canvas/components/AddNodePanel/AddNodeManager.cjs +4 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.cjs +15 -26
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts +3 -3
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.js +18 -29
- package/dist/canvas/components/AddNodePanel/AddNodeManager.js +4 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +2 -9
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +2 -9
- package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +28 -8
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +8 -2
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.js +23 -6
- package/dist/canvas/components/StageNode/DraggableTask.cjs +3 -2
- package/dist/canvas/components/StageNode/DraggableTask.d.ts +1 -1
- package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/DraggableTask.js +3 -2
- package/dist/canvas/components/StageNode/DraggableTask.types.d.ts +1 -0
- package/dist/canvas/components/StageNode/DraggableTask.types.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.cjs +5 -2
- package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.js +5 -2
- package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.cjs +2 -1
- package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.js +2 -1
- package/dist/canvas/components/StageNode/TaskContent.cjs +109 -111
- package/dist/canvas/components/StageNode/TaskContent.d.ts +2 -1
- package/dist/canvas/components/StageNode/TaskContent.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/TaskContent.js +110 -112
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +6 -9
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +6 -9
- package/dist/canvas/hooks/index.cjs +19 -12
- package/dist/canvas/hooks/index.d.ts +1 -0
- package/dist/canvas/hooks/index.d.ts.map +1 -1
- package/dist/canvas/hooks/index.js +1 -0
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +18 -5
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +18 -5
- package/dist/canvas/hooks/useCanvasNodeLayout.cjs +66 -0
- package/dist/canvas/hooks/useCanvasNodeLayout.d.ts +15 -0
- package/dist/canvas/hooks/useCanvasNodeLayout.d.ts.map +1 -0
- package/dist/canvas/hooks/useCanvasNodeLayout.js +29 -0
- package/dist/canvas/utils/NodeUtils.cjs +4 -4
- package/dist/canvas/utils/NodeUtils.d.ts +1 -1
- package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
- package/dist/canvas/utils/NodeUtils.js +4 -4
- package/dist/canvas/utils/container.cjs +3 -2
- package/dist/canvas/utils/container.d.ts +1 -0
- package/dist/canvas/utils/container.d.ts.map +1 -1
- package/dist/canvas/utils/container.js +3 -2
- package/package.json +2 -2
|
@@ -29,7 +29,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
29
29
|
const react_cjs_namespaceObject = require("../../../xyflow/react.cjs");
|
|
30
30
|
const external_react_namespaceObject = require("react");
|
|
31
31
|
const external_constants_cjs_namespaceObject = require("../../../constants.cjs");
|
|
32
|
-
const
|
|
32
|
+
const useCanvasNodeLayout_cjs_namespaceObject = require("../../../hooks/useCanvasNodeLayout.cjs");
|
|
33
33
|
const createPreviewGraph_cjs_namespaceObject = require("../../../utils/createPreviewGraph.cjs");
|
|
34
34
|
const createPreviewNode_cjs_namespaceObject = require("../../../utils/createPreviewNode.cjs");
|
|
35
35
|
const BaseCanvasModeProvider_cjs_namespaceObject = require("../../BaseCanvas/BaseCanvasModeProvider.cjs");
|
|
@@ -37,12 +37,9 @@ const LoopNode_helpers_cjs_namespaceObject = require("../../LoopNode/LoopNode.he
|
|
|
37
37
|
const external_useEdgeToolbarPositioning_cjs_namespaceObject = require("./useEdgeToolbarPositioning.cjs");
|
|
38
38
|
function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target, sourceHandleId, targetHandleId, sourcePosition, targetPosition, ignoredNodeTypes }) {
|
|
39
39
|
const reactFlow = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
40
|
-
const
|
|
40
|
+
const { getManifestForNode } = (0, useCanvasNodeLayout_cjs_namespaceObject.useCanvasNodeLayout)();
|
|
41
41
|
const { mode } = (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)();
|
|
42
42
|
const isDesignMode = 'design' === mode;
|
|
43
|
-
const getManifestForNode = (0, external_react_namespaceObject.useCallback)((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
|
|
44
|
-
registry
|
|
45
|
-
]);
|
|
46
43
|
const previewEdge = (0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)({
|
|
47
44
|
id: edgeId,
|
|
48
45
|
source,
|
|
@@ -60,12 +57,13 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
|
|
|
60
57
|
nodeId: source,
|
|
61
58
|
handleId: sourceHandleId ?? external_constants_cjs_namespaceObject.DEFAULT_SOURCE_HANDLE_ID
|
|
62
59
|
};
|
|
63
|
-
const containerOverrides =
|
|
60
|
+
const containerOverrides = (0, LoopNode_helpers_cjs_namespaceObject.resolveContainerAddNodePreview)({
|
|
64
61
|
source: sourceEndpoint,
|
|
65
62
|
sourceHandleType: 'source',
|
|
66
63
|
reactFlowInstance: reactFlow,
|
|
67
|
-
getManifestForNode
|
|
68
|
-
|
|
64
|
+
getManifestForNode,
|
|
65
|
+
replacedEdge: originalEdge
|
|
66
|
+
});
|
|
69
67
|
(0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
70
68
|
source: sourceEndpoint,
|
|
71
69
|
reactFlowInstance: reactFlow,
|
|
@@ -88,7 +86,6 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
|
|
|
88
86
|
source,
|
|
89
87
|
sourceHandleId,
|
|
90
88
|
reactFlow,
|
|
91
|
-
registry,
|
|
92
89
|
getManifestForNode,
|
|
93
90
|
target,
|
|
94
91
|
targetHandleId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,0CAA0C,CAAC;AAQvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,EAAE,wBAAwB,GAAG,gBAAgB,CAyF7C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useReactFlow } from "../../../xyflow/react.js";
|
|
2
2
|
import { useCallback, useMemo } from "react";
|
|
3
3
|
import { DEFAULT_SOURCE_HANDLE_ID } from "../../../constants.js";
|
|
4
|
-
import {
|
|
4
|
+
import { useCanvasNodeLayout } from "../../../hooks/useCanvasNodeLayout.js";
|
|
5
5
|
import { showPreviewGraph } from "../../../utils/createPreviewGraph.js";
|
|
6
6
|
import { isPreviewEdge } from "../../../utils/createPreviewNode.js";
|
|
7
7
|
import { useBaseCanvasMode } from "../../BaseCanvas/BaseCanvasModeProvider.js";
|
|
@@ -9,12 +9,9 @@ import { resolveContainerAddNodePreview } from "../../LoopNode/LoopNode.helpers.
|
|
|
9
9
|
import { useEdgeToolbarPositioning } from "./useEdgeToolbarPositioning.js";
|
|
10
10
|
function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target, sourceHandleId, targetHandleId, sourcePosition, targetPosition, ignoredNodeTypes }) {
|
|
11
11
|
const reactFlow = useReactFlow();
|
|
12
|
-
const
|
|
12
|
+
const { getManifestForNode } = useCanvasNodeLayout();
|
|
13
13
|
const { mode } = useBaseCanvasMode();
|
|
14
14
|
const isDesignMode = 'design' === mode;
|
|
15
|
-
const getManifestForNode = useCallback((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
|
|
16
|
-
registry
|
|
17
|
-
]);
|
|
18
15
|
const previewEdge = isPreviewEdge({
|
|
19
16
|
id: edgeId,
|
|
20
17
|
source,
|
|
@@ -32,12 +29,13 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
|
|
|
32
29
|
nodeId: source,
|
|
33
30
|
handleId: sourceHandleId ?? DEFAULT_SOURCE_HANDLE_ID
|
|
34
31
|
};
|
|
35
|
-
const containerOverrides =
|
|
32
|
+
const containerOverrides = resolveContainerAddNodePreview({
|
|
36
33
|
source: sourceEndpoint,
|
|
37
34
|
sourceHandleType: 'source',
|
|
38
35
|
reactFlowInstance: reactFlow,
|
|
39
|
-
getManifestForNode
|
|
40
|
-
|
|
36
|
+
getManifestForNode,
|
|
37
|
+
replacedEdge: originalEdge
|
|
38
|
+
});
|
|
41
39
|
showPreviewGraph({
|
|
42
40
|
source: sourceEndpoint,
|
|
43
41
|
reactFlowInstance: reactFlow,
|
|
@@ -60,7 +58,6 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
|
|
|
60
58
|
source,
|
|
61
59
|
sourceHandleId,
|
|
62
60
|
reactFlow,
|
|
63
|
-
registry,
|
|
64
61
|
getManifestForNode,
|
|
65
62
|
target,
|
|
66
63
|
targetHandleId,
|
|
@@ -15,6 +15,9 @@ var __webpack_modules__ = {
|
|
|
15
15
|
"./useCanvasEvents" (module) {
|
|
16
16
|
module.exports = require("./useCanvasEvents.cjs");
|
|
17
17
|
},
|
|
18
|
+
"./useCanvasNodeLayout" (module) {
|
|
19
|
+
module.exports = require("./useCanvasNodeLayout.cjs");
|
|
20
|
+
},
|
|
18
21
|
"./useEdgePath" (module) {
|
|
19
22
|
module.exports = require("./useEdgePath.cjs");
|
|
20
23
|
},
|
|
@@ -90,29 +93,33 @@ var __webpack_exports__ = {};
|
|
|
90
93
|
var __rspack_reexport = {};
|
|
91
94
|
for(const __rspack_import_key in _useCanvasEvents__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useCanvasEvents__rspack_import_3[__rspack_import_key];
|
|
92
95
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
93
|
-
var
|
|
96
|
+
var _useCanvasNodeLayout__rspack_import_4 = __webpack_require__("./useCanvasNodeLayout");
|
|
97
|
+
var __rspack_reexport = {};
|
|
98
|
+
for(const __rspack_import_key in _useCanvasNodeLayout__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useCanvasNodeLayout__rspack_import_4[__rspack_import_key];
|
|
99
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
100
|
+
var _useEdgePath__rspack_import_5 = __webpack_require__("./useEdgePath");
|
|
94
101
|
var __rspack_reexport = {};
|
|
95
|
-
for(const __rspack_import_key in
|
|
102
|
+
for(const __rspack_import_key in _useEdgePath__rspack_import_5)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useEdgePath__rspack_import_5[__rspack_import_key];
|
|
96
103
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
97
|
-
var
|
|
104
|
+
var _useExportCanvas__rspack_import_6 = __webpack_require__("./useExportCanvas");
|
|
98
105
|
var __rspack_reexport = {};
|
|
99
|
-
for(const __rspack_import_key in
|
|
106
|
+
for(const __rspack_import_key in _useExportCanvas__rspack_import_6)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useExportCanvas__rspack_import_6[__rspack_import_key];
|
|
100
107
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
101
|
-
var
|
|
108
|
+
var _useNavigationState__rspack_import_7 = __webpack_require__("./useNavigationState");
|
|
102
109
|
var __rspack_reexport = {};
|
|
103
|
-
for(const __rspack_import_key in
|
|
110
|
+
for(const __rspack_import_key in _useNavigationState__rspack_import_7)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useNavigationState__rspack_import_7[__rspack_import_key];
|
|
104
111
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
105
|
-
var
|
|
112
|
+
var _usePreviewNode__rspack_import_8 = __webpack_require__("./usePreviewNode");
|
|
106
113
|
var __rspack_reexport = {};
|
|
107
|
-
for(const __rspack_import_key in
|
|
114
|
+
for(const __rspack_import_key in _usePreviewNode__rspack_import_8)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_usePreviewNode__rspack_import_8[__rspack_import_key];
|
|
108
115
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
109
|
-
var
|
|
116
|
+
var _useStorageState__rspack_import_9 = __webpack_require__("./useStorageState");
|
|
110
117
|
var __rspack_reexport = {};
|
|
111
|
-
for(const __rspack_import_key in
|
|
118
|
+
for(const __rspack_import_key in _useStorageState__rspack_import_9)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useStorageState__rspack_import_9[__rspack_import_key];
|
|
112
119
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
113
|
-
var
|
|
120
|
+
var _ValidationStatusContext__rspack_import_10 = __webpack_require__("./ValidationStatusContext");
|
|
114
121
|
var __rspack_reexport = {};
|
|
115
|
-
for(const __rspack_import_key in
|
|
122
|
+
for(const __rspack_import_key in _ValidationStatusContext__rspack_import_10)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_ValidationStatusContext__rspack_import_10[__rspack_import_key];
|
|
116
123
|
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
117
124
|
})();
|
|
118
125
|
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
@@ -2,6 +2,7 @@ export * from './ExecutionStatusContext';
|
|
|
2
2
|
export * from './ToolbarActionContext';
|
|
3
3
|
export * from './useAddNodeOnConnectEnd';
|
|
4
4
|
export * from './useCanvasEvents';
|
|
5
|
+
export * from './useCanvasNodeLayout';
|
|
5
6
|
export * from './useEdgePath';
|
|
6
7
|
export * from './useExportCanvas';
|
|
7
8
|
export * from './useNavigationState';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC"}
|
|
@@ -2,6 +2,7 @@ export * from "./ExecutionStatusContext.js";
|
|
|
2
2
|
export * from "./ToolbarActionContext.js";
|
|
3
3
|
export * from "./useAddNodeOnConnectEnd.js";
|
|
4
4
|
export * from "./useCanvasEvents.js";
|
|
5
|
+
export * from "./useCanvasNodeLayout.js";
|
|
5
6
|
export * from "./useEdgePath.js";
|
|
6
7
|
export * from "./useExportCanvas.js";
|
|
7
8
|
export * from "./useNavigationState.js";
|
|
@@ -28,7 +28,9 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
28
28
|
});
|
|
29
29
|
const react_cjs_namespaceObject = require("../xyflow/react.cjs");
|
|
30
30
|
const external_react_namespaceObject = require("react");
|
|
31
|
+
const LoopNode_helpers_cjs_namespaceObject = require("../components/LoopNode/LoopNode.helpers.cjs");
|
|
31
32
|
const index_cjs_namespaceObject = require("../utils/index.cjs");
|
|
33
|
+
const external_useCanvasNodeLayout_cjs_namespaceObject = require("./useCanvasNodeLayout.cjs");
|
|
32
34
|
const EMPTY_IGNORED_NODE_TYPES = [];
|
|
33
35
|
function getClientPosition(event) {
|
|
34
36
|
if ('clientX' in event) return {
|
|
@@ -43,24 +45,35 @@ function getClientPosition(event) {
|
|
|
43
45
|
}
|
|
44
46
|
function useAddNodeOnConnectEnd(ignoredNodeTypes = EMPTY_IGNORED_NODE_TYPES) {
|
|
45
47
|
const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
48
|
+
const getManifestForNode = (0, external_useCanvasNodeLayout_cjs_namespaceObject.useNodeManifestResolver)();
|
|
46
49
|
return (0, external_react_namespaceObject.useCallback)((event, connectionState)=>{
|
|
47
50
|
if (!(reactFlowInstance && connectionState.fromNode && connectionState.fromHandle) || connectionState.toHandle) return;
|
|
48
51
|
const clientPosition = getClientPosition(event);
|
|
49
52
|
if (!clientPosition) return;
|
|
50
53
|
const flowDropPosition = reactFlowInstance.screenToFlowPosition(clientPosition);
|
|
54
|
+
const source = {
|
|
55
|
+
nodeId: connectionState.fromNode.id,
|
|
56
|
+
handleId: connectionState.fromHandle.id ?? 'output'
|
|
57
|
+
};
|
|
58
|
+
const containerId = (0, LoopNode_helpers_cjs_namespaceObject.getInnerHandleContainerId)({
|
|
59
|
+
source,
|
|
60
|
+
reactFlowInstance,
|
|
61
|
+
getManifestForNode
|
|
62
|
+
});
|
|
51
63
|
(0, index_cjs_namespaceObject.showPreviewGraph)({
|
|
52
|
-
source
|
|
53
|
-
nodeId: connectionState.fromNode.id,
|
|
54
|
-
handleId: connectionState.fromHandle.id ?? 'output'
|
|
55
|
-
},
|
|
64
|
+
source,
|
|
56
65
|
reactFlowInstance,
|
|
57
66
|
position: flowDropPosition,
|
|
58
67
|
sourceHandleType: connectionState.fromHandle.type,
|
|
59
68
|
handlePosition: connectionState.fromHandle.position,
|
|
60
|
-
ignoredNodeTypes
|
|
69
|
+
ignoredNodeTypes,
|
|
70
|
+
...containerId ? {
|
|
71
|
+
containerId
|
|
72
|
+
} : {}
|
|
61
73
|
});
|
|
62
74
|
}, [
|
|
63
75
|
reactFlowInstance,
|
|
76
|
+
getManifestForNode,
|
|
64
77
|
ignoredNodeTypes
|
|
65
78
|
]);
|
|
66
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAddNodeOnConnectEnd.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useAddNodeOnConnectEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"useAddNodeOnConnectEnd.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useAddNodeOnConnectEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,0CAA0C,CAAC;AAsB3F,wBAAgB,sBAAsB,CAAC,gBAAgB,GAAE,MAAM,EAA6B,gBAyC3F"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { useReactFlow } from "../xyflow/react.js";
|
|
2
2
|
import { useCallback } from "react";
|
|
3
|
+
import { getInnerHandleContainerId } from "../components/LoopNode/LoopNode.helpers.js";
|
|
3
4
|
import { showPreviewGraph } from "../utils/index.js";
|
|
5
|
+
import { useNodeManifestResolver } from "./useCanvasNodeLayout.js";
|
|
4
6
|
const EMPTY_IGNORED_NODE_TYPES = [];
|
|
5
7
|
function getClientPosition(event) {
|
|
6
8
|
if ('clientX' in event) return {
|
|
@@ -15,24 +17,35 @@ function getClientPosition(event) {
|
|
|
15
17
|
}
|
|
16
18
|
function useAddNodeOnConnectEnd(ignoredNodeTypes = EMPTY_IGNORED_NODE_TYPES) {
|
|
17
19
|
const reactFlowInstance = useReactFlow();
|
|
20
|
+
const getManifestForNode = useNodeManifestResolver();
|
|
18
21
|
return useCallback((event, connectionState)=>{
|
|
19
22
|
if (!(reactFlowInstance && connectionState.fromNode && connectionState.fromHandle) || connectionState.toHandle) return;
|
|
20
23
|
const clientPosition = getClientPosition(event);
|
|
21
24
|
if (!clientPosition) return;
|
|
22
25
|
const flowDropPosition = reactFlowInstance.screenToFlowPosition(clientPosition);
|
|
26
|
+
const source = {
|
|
27
|
+
nodeId: connectionState.fromNode.id,
|
|
28
|
+
handleId: connectionState.fromHandle.id ?? 'output'
|
|
29
|
+
};
|
|
30
|
+
const containerId = getInnerHandleContainerId({
|
|
31
|
+
source,
|
|
32
|
+
reactFlowInstance,
|
|
33
|
+
getManifestForNode
|
|
34
|
+
});
|
|
23
35
|
showPreviewGraph({
|
|
24
|
-
source
|
|
25
|
-
nodeId: connectionState.fromNode.id,
|
|
26
|
-
handleId: connectionState.fromHandle.id ?? 'output'
|
|
27
|
-
},
|
|
36
|
+
source,
|
|
28
37
|
reactFlowInstance,
|
|
29
38
|
position: flowDropPosition,
|
|
30
39
|
sourceHandleType: connectionState.fromHandle.type,
|
|
31
40
|
handlePosition: connectionState.fromHandle.position,
|
|
32
|
-
ignoredNodeTypes
|
|
41
|
+
ignoredNodeTypes,
|
|
42
|
+
...containerId ? {
|
|
43
|
+
containerId
|
|
44
|
+
} : {}
|
|
33
45
|
});
|
|
34
46
|
}, [
|
|
35
47
|
reactFlowInstance,
|
|
48
|
+
getManifestForNode,
|
|
36
49
|
ignoredNodeTypes
|
|
37
50
|
]);
|
|
38
51
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
useCanvasNodeLayout: ()=>useCanvasNodeLayout,
|
|
28
|
+
useNodeManifestResolver: ()=>useNodeManifestResolver
|
|
29
|
+
});
|
|
30
|
+
const external_react_namespaceObject = require("react");
|
|
31
|
+
const index_cjs_namespaceObject = require("../core/index.cjs");
|
|
32
|
+
const collapse_cjs_namespaceObject = require("../utils/collapse.cjs");
|
|
33
|
+
const container_cjs_namespaceObject = require("../utils/container.cjs");
|
|
34
|
+
function useNodeManifestResolver() {
|
|
35
|
+
const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
|
|
36
|
+
return (0, external_react_namespaceObject.useCallback)((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
|
|
37
|
+
registry
|
|
38
|
+
]);
|
|
39
|
+
}
|
|
40
|
+
function useCanvasNodeLayout() {
|
|
41
|
+
const getManifestForNode = useNodeManifestResolver();
|
|
42
|
+
return (0, external_react_namespaceObject.useMemo)(()=>{
|
|
43
|
+
const getNodeDimensions = (node)=>{
|
|
44
|
+
const manifest = getManifestForNode(node);
|
|
45
|
+
return (0, container_cjs_namespaceObject.getNodeDimensions)(node, (0, collapse_cjs_namespaceObject.getExpandedSize)(manifest?.display.shape));
|
|
46
|
+
};
|
|
47
|
+
const isContainerNode = (node)=>(0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(node));
|
|
48
|
+
return {
|
|
49
|
+
getManifestForNode,
|
|
50
|
+
getNodeDimensions,
|
|
51
|
+
isContainerNode,
|
|
52
|
+
getContainerFitGeometry: (node)=>isContainerNode(node) ? (0, container_cjs_namespaceObject.getContainerFitGeometry)() : null
|
|
53
|
+
};
|
|
54
|
+
}, [
|
|
55
|
+
getManifestForNode
|
|
56
|
+
]);
|
|
57
|
+
}
|
|
58
|
+
exports.useCanvasNodeLayout = __webpack_exports__.useCanvasNodeLayout;
|
|
59
|
+
exports.useNodeManifestResolver = __webpack_exports__.useNodeManifestResolver;
|
|
60
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
61
|
+
"useCanvasNodeLayout",
|
|
62
|
+
"useNodeManifestResolver"
|
|
63
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
64
|
+
Object.defineProperty(exports, '__esModule', {
|
|
65
|
+
value: true
|
|
66
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Node } from '../xyflow/react.ts';
|
|
2
|
+
import type { NodeManifest } from '../schema/node-definition';
|
|
3
|
+
import { type ContainerFitGeometry, type NodeDimensions } from '../utils/container';
|
|
4
|
+
export type NodeManifestResolver = (node: Node) => NodeManifest | undefined;
|
|
5
|
+
export interface NodeLayout {
|
|
6
|
+
getNodeDimensions: (node: Node) => NodeDimensions;
|
|
7
|
+
isContainerNode: (node: Node) => boolean;
|
|
8
|
+
getContainerFitGeometry: (node: Node) => ContainerFitGeometry | null;
|
|
9
|
+
}
|
|
10
|
+
export interface CanvasNodeLayout extends NodeLayout {
|
|
11
|
+
getManifestForNode: NodeManifestResolver;
|
|
12
|
+
}
|
|
13
|
+
export declare function useNodeManifestResolver(): NodeManifestResolver;
|
|
14
|
+
export declare function useCanvasNodeLayout(): CanvasNodeLayout;
|
|
15
|
+
//# sourceMappingURL=useCanvasNodeLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCanvasNodeLayout.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useCanvasNodeLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EACL,KAAK,oBAAoB,EAIzB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY,GAAG,SAAS,CAAC;AAE5E,MAAM,WAAW,UAAU;IACzB,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC;IAClD,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACzC,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,oBAAoB,GAAG,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAO9D;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAoBtD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useCallback, useMemo } from "react";
|
|
2
|
+
import { useOptionalNodeTypeRegistry } from "../core/index.js";
|
|
3
|
+
import { getExpandedSize } from "../utils/collapse.js";
|
|
4
|
+
import { getContainerFitGeometry, getNodeDimensions as container_js_getNodeDimensions, isContainerNodeManifest } from "../utils/container.js";
|
|
5
|
+
function useNodeManifestResolver() {
|
|
6
|
+
const registry = useOptionalNodeTypeRegistry();
|
|
7
|
+
return useCallback((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
|
|
8
|
+
registry
|
|
9
|
+
]);
|
|
10
|
+
}
|
|
11
|
+
function useCanvasNodeLayout() {
|
|
12
|
+
const getManifestForNode = useNodeManifestResolver();
|
|
13
|
+
return useMemo(()=>{
|
|
14
|
+
const getNodeDimensions = (node)=>{
|
|
15
|
+
const manifest = getManifestForNode(node);
|
|
16
|
+
return container_js_getNodeDimensions(node, getExpandedSize(manifest?.display.shape));
|
|
17
|
+
};
|
|
18
|
+
const isContainerNode = (node)=>isContainerNodeManifest(getManifestForNode(node));
|
|
19
|
+
return {
|
|
20
|
+
getManifestForNode,
|
|
21
|
+
getNodeDimensions,
|
|
22
|
+
isContainerNode,
|
|
23
|
+
getContainerFitGeometry: (node)=>isContainerNode(node) ? getContainerFitGeometry() : null
|
|
24
|
+
};
|
|
25
|
+
}, [
|
|
26
|
+
getManifestForNode
|
|
27
|
+
]);
|
|
28
|
+
}
|
|
29
|
+
export { useCanvasNodeLayout, useNodeManifestResolver };
|
|
@@ -69,11 +69,11 @@ const snapToGrid = (value)=>Math.round(value / external_constants_cjs_namespaceO
|
|
|
69
69
|
const snapUpToGrid = (value)=>Math.ceil(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
70
70
|
const snapDownToGrid = (value)=>Math.floor(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
71
71
|
const clamp = (value, min, max)=>Math.min(Math.max(value, min), max);
|
|
72
|
-
function getBoxesFromNodes(nodes, margin = 0,
|
|
72
|
+
function getBoxesFromNodes(nodes, margin = 0, getNodeDimensions) {
|
|
73
73
|
const boxes = new Array(nodes.length);
|
|
74
74
|
for(let i = 0; i < nodes.length; i++){
|
|
75
75
|
const node = nodes[i];
|
|
76
|
-
const nodeSize =
|
|
76
|
+
const nodeSize = getNodeDimensions?.(node) ?? {
|
|
77
77
|
width: node.width ?? node.measured?.width ?? external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE,
|
|
78
78
|
height: node.height ?? node.measured?.height ?? external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE
|
|
79
79
|
};
|
|
@@ -88,10 +88,10 @@ function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
|
|
|
88
88
|
}
|
|
89
89
|
return boxes;
|
|
90
90
|
}
|
|
91
|
-
const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes,
|
|
91
|
+
const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes, getNodeDimensions } = {})=>{
|
|
92
92
|
const ignoredSet = new Set(ignoredNodeTypes);
|
|
93
93
|
const collisionNodes = ignoredSet.size > 0 ? nodes.filter((n)=>!ignoredSet.has(n.type ?? '')) : nodes;
|
|
94
|
-
const boxes = getBoxesFromNodes(collisionNodes, margin,
|
|
94
|
+
const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeDimensions);
|
|
95
95
|
for(let iter = 0; iter < maxIterations; iter++){
|
|
96
96
|
let moved = false;
|
|
97
97
|
for(let i = 0; i < boxes.length; i++)for(let j = i + 1; j < boxes.length; j++){
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAQlD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAS3F,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAeF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAC9C,MAAM,SAAmB,EACzB,gBAAgB,GAAE,MAAM,EAAO,EAC/B,iBAAiB,GAAE;IAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAA8B,GACvF,UAAU,CAgCZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAE5C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE/D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,
|
|
1
|
+
{"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAQlD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAS3F,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAeF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAC9C,MAAM,SAAmB,EACzB,gBAAgB,GAAE,MAAM,EAAO,EAC/B,iBAAiB,GAAE;IAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAA8B,GACvF,UAAU,CAgCZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAE5C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE/D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,EAAE,CAAC;AAyChG,eAAO,MAAM,iBAAiB,EAAE,kBA8E/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzF,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAMD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,QAAQ,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,aAAa,GAAG,SAAS,CAkB3B;AAoCD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,GAAG,IAAI,CAQf"}
|
|
@@ -32,11 +32,11 @@ const snapToGrid = (value)=>Math.round(value / GRID_SPACING) * GRID_SPACING;
|
|
|
32
32
|
const snapUpToGrid = (value)=>Math.ceil(value / GRID_SPACING) * GRID_SPACING;
|
|
33
33
|
const snapDownToGrid = (value)=>Math.floor(value / GRID_SPACING) * GRID_SPACING;
|
|
34
34
|
const clamp = (value, min, max)=>Math.min(Math.max(value, min), max);
|
|
35
|
-
function getBoxesFromNodes(nodes, margin = 0,
|
|
35
|
+
function getBoxesFromNodes(nodes, margin = 0, getNodeDimensions) {
|
|
36
36
|
const boxes = new Array(nodes.length);
|
|
37
37
|
for(let i = 0; i < nodes.length; i++){
|
|
38
38
|
const node = nodes[i];
|
|
39
|
-
const nodeSize =
|
|
39
|
+
const nodeSize = getNodeDimensions?.(node) ?? {
|
|
40
40
|
width: node.width ?? node.measured?.width ?? DEFAULT_NODE_SIZE,
|
|
41
41
|
height: node.height ?? node.measured?.height ?? DEFAULT_NODE_SIZE
|
|
42
42
|
};
|
|
@@ -51,10 +51,10 @@ function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
|
|
|
51
51
|
}
|
|
52
52
|
return boxes;
|
|
53
53
|
}
|
|
54
|
-
const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * GRID_SPACING, ignoredNodeTypes,
|
|
54
|
+
const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * GRID_SPACING, ignoredNodeTypes, getNodeDimensions } = {})=>{
|
|
55
55
|
const ignoredSet = new Set(ignoredNodeTypes);
|
|
56
56
|
const collisionNodes = ignoredSet.size > 0 ? nodes.filter((n)=>!ignoredSet.has(n.type ?? '')) : nodes;
|
|
57
|
-
const boxes = getBoxesFromNodes(collisionNodes, margin,
|
|
57
|
+
const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeDimensions);
|
|
58
58
|
for(let iter = 0; iter < maxIterations; iter++){
|
|
59
59
|
let moved = false;
|
|
60
60
|
for(let i = 0; i < boxes.length; i++)for(let j = i + 1; j < boxes.length; j++){
|
|
@@ -352,12 +352,13 @@ function collectLinearDownstreamSiblings({ startNodeId, parentId, nodes, edges,
|
|
|
352
352
|
}
|
|
353
353
|
return collectedIds;
|
|
354
354
|
}
|
|
355
|
-
function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
|
|
355
|
+
function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, replacedEdge: exactReplacedEdge, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
|
|
356
356
|
if ('source' !== sourceHandleType || !source.handleId) return null;
|
|
357
|
-
const replacedEdge = getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
|
|
357
|
+
const replacedEdge = exactReplacedEdge ?? getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
|
|
358
358
|
if (!replacedEdge) return null;
|
|
359
359
|
const sourceNode = reactFlowInstance.getNode(replacedEdge.source);
|
|
360
360
|
const targetNode = reactFlowInstance.getNode(replacedEdge.target);
|
|
361
|
+
if (!sourceNode || !targetNode) return null;
|
|
361
362
|
const nodes = reactFlowInstance.getNodes();
|
|
362
363
|
const containerNode = getContainerNodeForEdge(sourceNode, targetNode, nodes);
|
|
363
364
|
if (!containerNode) return null;
|
|
@@ -49,6 +49,7 @@ interface ContainerPreviewContext {
|
|
|
49
49
|
}
|
|
50
50
|
interface ContainerPreviewOptions {
|
|
51
51
|
isContainerNode?: (node: Node) => boolean;
|
|
52
|
+
replacedEdge?: Edge;
|
|
52
53
|
getContainerSafeArea?: (containerNode: Node) => ContainerSafeArea | undefined;
|
|
53
54
|
getContainerContinuationTarget?: (context: {
|
|
54
55
|
containerNode: Node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/container.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -308,12 +308,13 @@ function collectLinearDownstreamSiblings({ startNodeId, parentId, nodes, edges,
|
|
|
308
308
|
}
|
|
309
309
|
return collectedIds;
|
|
310
310
|
}
|
|
311
|
-
function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
|
|
311
|
+
function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, replacedEdge: exactReplacedEdge, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
|
|
312
312
|
if ('source' !== sourceHandleType || !source.handleId) return null;
|
|
313
|
-
const replacedEdge = getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
|
|
313
|
+
const replacedEdge = exactReplacedEdge ?? getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
|
|
314
314
|
if (!replacedEdge) return null;
|
|
315
315
|
const sourceNode = reactFlowInstance.getNode(replacedEdge.source);
|
|
316
316
|
const targetNode = reactFlowInstance.getNode(replacedEdge.target);
|
|
317
|
+
if (!sourceNode || !targetNode) return null;
|
|
317
318
|
const nodes = reactFlowInstance.getNodes();
|
|
318
319
|
const containerNode = getContainerNodeForEdge(sourceNode, targetNode, nodes);
|
|
319
320
|
if (!containerNode) return null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uipath/apollo-react",
|
|
3
|
-
"version": "4.22.
|
|
3
|
+
"version": "4.22.2-pr651.0476969",
|
|
4
4
|
"description": "Apollo Design System - React component library with Material UI theming",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
"zod": "^4.3.5",
|
|
203
203
|
"zustand": "^5.0.9",
|
|
204
204
|
"@uipath/apollo-core": "5.9.0",
|
|
205
|
-
"@uipath/apollo-wind": "2.
|
|
205
|
+
"@uipath/apollo-wind": "2.14.0"
|
|
206
206
|
},
|
|
207
207
|
"devDependencies": {
|
|
208
208
|
"@lingui/cli": "^5.6.1",
|