@uipath/apollo-react 4.14.1 → 4.15.0-pr605.6ea14a7
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 +101 -10
- package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.js +101 -10
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +27 -3
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +27 -3
- package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +1 -0
- package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.cjs +11 -5
- package/dist/canvas/components/BaseNode/BaseNode.d.ts +2 -1
- package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.js +9 -6
- package/dist/canvas/components/BaseNode/BaseNode.types.d.ts +3 -0
- package/dist/canvas/components/BaseNode/BaseNode.types.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +222 -13
- package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts +10 -5
- package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.js +223 -14
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.cjs +10 -2
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts +2 -0
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.js +5 -3
- package/dist/canvas/components/ButtonHandle/HandleButton.cjs +17 -2
- package/dist/canvas/components/ButtonHandle/HandleButton.d.ts +10 -1
- package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/HandleButton.js +17 -2
- package/dist/canvas/components/ButtonHandle/useButtonHandles.cjs +4 -2
- package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts +2 -1
- package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/useButtonHandles.js +4 -2
- package/dist/canvas/components/Edges/SequenceEdge.cjs +18 -12
- package/dist/canvas/components/Edges/SequenceEdge.d.ts.map +1 -1
- package/dist/canvas/components/Edges/SequenceEdge.js +18 -12
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +34 -25
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts +8 -2
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +36 -27
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +4 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +4 -1
- package/dist/canvas/components/HierarchicalCanvas/index.d.ts +1 -1
- package/dist/canvas/components/HierarchicalCanvas/index.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopCanvasNode.cjs +86 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts +6 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopCanvasNode.js +52 -0
- package/dist/canvas/components/LoopNode/LoopNode.cjs +434 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +93 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +16 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.constants.js +17 -0
- package/dist/canvas/components/LoopNode/LoopNode.d.ts +5 -0
- package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +185 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +58 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.helpers.js +124 -0
- package/dist/canvas/components/LoopNode/LoopNode.js +400 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.cjs +386 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts +47 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.sequence.js +343 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.cjs +18 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.d.ts +22 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNode.types.js +0 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +57 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts +9 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/LoopNodePreview.js +23 -0
- package/dist/canvas/components/LoopNode/index.cjs +79 -0
- package/dist/canvas/components/LoopNode/index.d.ts +5 -0
- package/dist/canvas/components/LoopNode/index.d.ts.map +1 -0
- package/dist/canvas/components/LoopNode/index.js +4 -0
- package/dist/canvas/components/NodeViewportOverlay.cjs +63 -0
- package/dist/canvas/components/NodeViewportOverlay.d.ts +22 -0
- package/dist/canvas/components/NodeViewportOverlay.d.ts.map +1 -0
- package/dist/canvas/components/NodeViewportOverlay.js +29 -0
- package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.cjs +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.js +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +33 -23
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +35 -25
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +10 -3
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +10 -3
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts +1 -0
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts.map +1 -1
- package/dist/canvas/components/index.cjs +27 -20
- package/dist/canvas/components/index.d.ts +1 -0
- package/dist/canvas/components/index.d.ts.map +1 -1
- package/dist/canvas/components/index.js +1 -0
- package/dist/canvas/constants.cjs +4 -0
- package/dist/canvas/constants.d.ts +1 -0
- package/dist/canvas/constants.d.ts.map +1 -1
- package/dist/canvas/constants.js +2 -1
- package/dist/canvas/core/NodeTypeRegistry.cjs +50 -26
- package/dist/canvas/core/NodeTypeRegistry.d.ts +10 -5
- package/dist/canvas/core/NodeTypeRegistry.d.ts.map +1 -1
- package/dist/canvas/core/NodeTypeRegistry.js +50 -26
- package/dist/canvas/core/useNodeTypeRegistry.cjs +13 -3
- package/dist/canvas/core/useNodeTypeRegistry.d.ts +2 -1
- package/dist/canvas/core/useNodeTypeRegistry.d.ts.map +1 -1
- package/dist/canvas/core/useNodeTypeRegistry.js +11 -4
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +22 -23
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +23 -24
- package/dist/canvas/hooks/usePreviewNode.cjs +7 -3
- package/dist/canvas/hooks/usePreviewNode.d.ts.map +1 -1
- package/dist/canvas/hooks/usePreviewNode.js +7 -3
- package/dist/canvas/locales/de.cjs +1 -1
- package/dist/canvas/locales/de.d.ts.map +1 -1
- package/dist/canvas/locales/de.js +1 -1
- package/dist/canvas/locales/es-MX.cjs +1 -1
- package/dist/canvas/locales/es-MX.d.ts.map +1 -1
- package/dist/canvas/locales/es-MX.js +1 -1
- package/dist/canvas/locales/es.cjs +1 -1
- package/dist/canvas/locales/es.d.ts.map +1 -1
- package/dist/canvas/locales/es.js +1 -1
- package/dist/canvas/locales/fr.cjs +1 -1
- package/dist/canvas/locales/fr.d.ts.map +1 -1
- package/dist/canvas/locales/fr.js +1 -1
- package/dist/canvas/locales/ja.cjs +1 -1
- package/dist/canvas/locales/ja.d.ts.map +1 -1
- package/dist/canvas/locales/ja.js +1 -1
- package/dist/canvas/locales/ko.cjs +1 -1
- package/dist/canvas/locales/ko.d.ts.map +1 -1
- package/dist/canvas/locales/ko.js +1 -1
- package/dist/canvas/locales/pt-BR.cjs +1 -1
- package/dist/canvas/locales/pt-BR.d.ts.map +1 -1
- package/dist/canvas/locales/pt-BR.js +1 -1
- package/dist/canvas/locales/pt.cjs +1 -1
- package/dist/canvas/locales/pt.d.ts.map +1 -1
- package/dist/canvas/locales/pt.js +1 -1
- package/dist/canvas/locales/tr.cjs +1 -1
- package/dist/canvas/locales/tr.d.ts.map +1 -1
- package/dist/canvas/locales/tr.js +1 -1
- package/dist/canvas/locales/zh-CN.cjs +1 -1
- package/dist/canvas/locales/zh-CN.d.ts.map +1 -1
- package/dist/canvas/locales/zh-CN.js +1 -1
- package/dist/canvas/locales/zh-TW.cjs +1 -1
- package/dist/canvas/locales/zh-TW.d.ts.map +1 -1
- package/dist/canvas/locales/zh-TW.js +1 -1
- package/dist/canvas/schema/node-definition/handle.cjs +10 -2
- package/dist/canvas/schema/node-definition/handle.d.ts +9 -0
- package/dist/canvas/schema/node-definition/handle.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/handle.js +6 -1
- package/dist/canvas/schema/node-definition/index.cjs +4 -1
- package/dist/canvas/schema/node-definition/index.d.ts +3 -3
- package/dist/canvas/schema/node-definition/index.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/index.js +2 -2
- package/dist/canvas/schema/node-definition/node-manifest.d.ts +4 -0
- package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts +6 -0
- package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/index.d.ts +1 -0
- package/dist/canvas/storybook-utils/manifests/index.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/mocks/nodes.d.ts +1 -1
- package/dist/canvas/storybook-utils/mocks/nodes.d.ts.map +1 -1
- package/dist/canvas/styles/reactflow-reset.css +2 -2
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/canvas/utils/NodeUtils.cjs +25 -9
- package/dist/canvas/utils/NodeUtils.d.ts +7 -0
- package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
- package/dist/canvas/utils/NodeUtils.js +13 -6
- package/dist/canvas/utils/collapse.cjs +13 -6
- package/dist/canvas/utils/collapse.d.ts +2 -2
- package/dist/canvas/utils/collapse.d.ts.map +1 -1
- package/dist/canvas/utils/collapse.js +9 -2
- package/dist/canvas/utils/container-sizing.cjs +168 -0
- package/dist/canvas/utils/container-sizing.d.ts +23 -0
- package/dist/canvas/utils/container-sizing.d.ts.map +1 -0
- package/dist/canvas/utils/container-sizing.js +131 -0
- package/dist/canvas/utils/createPreviewGraph.cjs +126 -0
- package/dist/canvas/utils/createPreviewGraph.d.ts +37 -0
- package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -0
- package/dist/canvas/utils/createPreviewGraph.js +83 -0
- package/dist/canvas/utils/createPreviewNode.cjs +59 -12
- package/dist/canvas/utils/createPreviewNode.d.ts +10 -2
- package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewNode.js +50 -12
- package/dist/canvas/utils/index.cjs +40 -26
- package/dist/canvas/utils/index.d.ts +3 -1
- package/dist/canvas/utils/index.d.ts.map +1 -1
- package/dist/canvas/utils/index.js +3 -1
- package/dist/canvas/utils/manifest-resolver.cjs +8 -0
- package/dist/canvas/utils/manifest-resolver.d.ts +1 -0
- package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
- package/dist/canvas/utils/manifest-resolver.js +6 -1
- package/dist/material/components/ap-tool-call/locales/de.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/de.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/de.js +1 -1
- package/dist/material/components/ap-tool-call/locales/es-MX.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/es-MX.js +1 -1
- package/dist/material/components/ap-tool-call/locales/es.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/es.js +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/fr.js +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/ja.js +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/ko.js +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/pt-BR.js +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/pt.js +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/tr.js +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-CN.js +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.cjs +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.d.ts.map +1 -1
- package/dist/material/components/ap-tool-call/locales/zh-TW.js +1 -1
- package/package.json +3 -3
|
@@ -33,8 +33,87 @@ const external_constants_cjs_namespaceObject = require("../../constants.cjs");
|
|
|
33
33
|
const index_cjs_namespaceObject = require("../../core/index.cjs");
|
|
34
34
|
const usePreviewNode_cjs_namespaceObject = require("../../hooks/usePreviewNode.cjs");
|
|
35
35
|
const external_utils_index_cjs_namespaceObject = require("../../utils/index.cjs");
|
|
36
|
+
const collapse_cjs_namespaceObject = require("../../utils/collapse.cjs");
|
|
37
|
+
const container_sizing_cjs_namespaceObject = require("../../utils/container-sizing.cjs");
|
|
38
|
+
const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
|
|
36
39
|
const external_FloatingCanvasPanel_index_cjs_namespaceObject = require("../FloatingCanvasPanel/index.cjs");
|
|
40
|
+
const LoopNode_helpers_cjs_namespaceObject = require("../LoopNode/LoopNode.helpers.cjs");
|
|
41
|
+
const LoopNode_sequence_cjs_namespaceObject = require("../LoopNode/LoopNode.sequence.cjs");
|
|
37
42
|
const external_AddNodePanel_cjs_namespaceObject = require("./AddNodePanel.cjs");
|
|
43
|
+
function getManifestForNode(registry, node) {
|
|
44
|
+
return node.type ? registry?.getManifest(node.type, (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(node.data)) : void 0;
|
|
45
|
+
}
|
|
46
|
+
function getManifestAwareNodeDimensions(registry, node) {
|
|
47
|
+
const manifest = getManifestForNode(registry, node);
|
|
48
|
+
const expandedShape = (0, collapse_cjs_namespaceObject.getExpandedShape)(manifest?.display.shape);
|
|
49
|
+
const fallbackDimensions = (0, collapse_cjs_namespaceObject.getExpandedSize)(expandedShape, manifest);
|
|
50
|
+
return (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(node, fallbackDimensions);
|
|
51
|
+
}
|
|
52
|
+
function getContainerFitGeometry(registry, node) {
|
|
53
|
+
const manifest = getManifestForNode(registry, node);
|
|
54
|
+
return (0, LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(manifest) ? (0, LoopNode_helpers_cjs_namespaceObject.getLoopContainerFitGeometry)() : null;
|
|
55
|
+
}
|
|
56
|
+
function centerNodeOnPreview(previewNode, nodeDimensions) {
|
|
57
|
+
const previewDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(previewNode);
|
|
58
|
+
return {
|
|
59
|
+
x: previewNode.position.x + (previewDimensions.width - nodeDimensions.width) / 2,
|
|
60
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function centerNodeVerticallyOnPreview(previewNode, nodeDimensions) {
|
|
64
|
+
const previewDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(previewNode);
|
|
65
|
+
return {
|
|
66
|
+
x: previewNode.position.x,
|
|
67
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function resolveSiblingCollisions(nodes, insertedNode, options) {
|
|
71
|
+
const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
|
|
72
|
+
const resolvedSiblings = (0, external_utils_index_cjs_namespaceObject.resolveCollisions)(siblingNodes, options);
|
|
73
|
+
const resolvedSiblingsById = new Map(resolvedSiblings.map((node)=>[
|
|
74
|
+
node.id,
|
|
75
|
+
node
|
|
76
|
+
]));
|
|
77
|
+
return nodes.map((node)=>resolvedSiblingsById.get(node.id) ?? node);
|
|
78
|
+
}
|
|
79
|
+
function resolveNodePlacement(nodes, insertedNode, registry, ignoredNodeTypes, edges, loopSequencePlacement) {
|
|
80
|
+
const getNodeSize = (node)=>getManifestAwareNodeDimensions(registry, node);
|
|
81
|
+
if (!insertedNode.parentId) {
|
|
82
|
+
const resolvedNodes = (0, external_utils_index_cjs_namespaceObject.resolveCollisions)(nodes, {
|
|
83
|
+
ignoredNodeTypes,
|
|
84
|
+
getNodeSize
|
|
85
|
+
});
|
|
86
|
+
return {
|
|
87
|
+
nodes: resolvedNodes,
|
|
88
|
+
insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const loopSequenceNodes = loopSequencePlacement ? (0, LoopNode_sequence_cjs_namespaceObject.resolveLoopSequenceMaterializedNodes)({
|
|
92
|
+
nodes,
|
|
93
|
+
edges,
|
|
94
|
+
insertedNode,
|
|
95
|
+
placement: loopSequencePlacement,
|
|
96
|
+
getNodeSize
|
|
97
|
+
}) : null;
|
|
98
|
+
let resolvedNodes = loopSequenceNodes;
|
|
99
|
+
if (!resolvedNodes) resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
|
|
100
|
+
ignoredNodeTypes,
|
|
101
|
+
getNodeSize
|
|
102
|
+
});
|
|
103
|
+
const fittedNodes = (0, container_sizing_cjs_namespaceObject.ensureContainersFitChildren)(resolvedNodes, {
|
|
104
|
+
containerIds: [
|
|
105
|
+
insertedNode.parentId
|
|
106
|
+
],
|
|
107
|
+
getContainerFitGeometry: (node)=>getContainerFitGeometry(registry, node),
|
|
108
|
+
getNodeDimensions: getNodeSize,
|
|
109
|
+
ignoredNodeTypes,
|
|
110
|
+
includeAncestors: true
|
|
111
|
+
});
|
|
112
|
+
return {
|
|
113
|
+
nodes: fittedNodes,
|
|
114
|
+
insertedNode: fittedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
115
|
+
};
|
|
116
|
+
}
|
|
38
117
|
const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
|
|
39
118
|
const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
40
119
|
const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
|
|
@@ -70,28 +149,39 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
70
149
|
const handleNodeSelect = (0, external_react_namespaceObject.useCallback)((nodeItem)=>{
|
|
71
150
|
const currentPreviewNode = reactFlowInstance.getNode(external_constants_cjs_namespaceObject.PREVIEW_NODE_ID);
|
|
72
151
|
if (!currentPreviewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return;
|
|
152
|
+
const loopSequencePlacement = (0, LoopNode_sequence_cjs_namespaceObject.getLoopSequencePlacementFromPreviewGraph)(currentPreviewNode, previewNodeConnectionInfo);
|
|
73
153
|
const newNodeId = `${nodeItem.data.type}-${Date.now()}`;
|
|
74
154
|
const baseNodeData = createNodeData ? createNodeData(nodeItem) : {
|
|
75
155
|
label: nodeItem.name,
|
|
76
156
|
subLabel: nodeItem.description
|
|
77
157
|
};
|
|
78
|
-
const nodeData =
|
|
158
|
+
const nodeData = {
|
|
79
159
|
...baseNodeData,
|
|
80
|
-
|
|
81
|
-
|
|
160
|
+
...nodeItem.data.version ? {
|
|
161
|
+
typeVersion: nodeItem.data.version
|
|
162
|
+
} : {},
|
|
163
|
+
...currentPreviewNode.data?.useSmartHandles ? {
|
|
164
|
+
useSmartHandles: true
|
|
165
|
+
} : {}
|
|
166
|
+
};
|
|
82
167
|
const newNode = {
|
|
83
168
|
id: newNodeId,
|
|
84
169
|
type: nodeItem.data.type,
|
|
85
170
|
position: currentPreviewNode.position,
|
|
171
|
+
parentId: currentPreviewNode.parentId,
|
|
172
|
+
extent: currentPreviewNode.extent,
|
|
86
173
|
selected: true,
|
|
87
174
|
data: nodeData
|
|
88
175
|
};
|
|
89
|
-
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
176
|
+
const newNodeManifest = registry?.getManifest(nodeItem.data.type, nodeItem.data.version);
|
|
177
|
+
const newNodeDimensions = getManifestAwareNodeDimensions(registry, newNode);
|
|
178
|
+
if (currentPreviewNode.parentId) newNode.position = centerNodeOnPreview(currentPreviewNode, newNodeDimensions);
|
|
179
|
+
else if ((0, LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(newNodeManifest)) newNode.position = centerNodeVerticallyOnPreview(currentPreviewNode, newNodeDimensions);
|
|
90
180
|
const newEdges = [];
|
|
91
181
|
const previewEdgeIds = [];
|
|
92
182
|
for (const connectionInfoItem of previewNodeConnectionInfo){
|
|
93
183
|
const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
|
|
94
|
-
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
|
|
184
|
+
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType, nodeItem.data.version) : void 0;
|
|
95
185
|
const newNodeHandleId = newNodeDefaultHandle?.id;
|
|
96
186
|
const edgeSourceTargetData = connectionInfoItem.addNewNodeAsSource ? {
|
|
97
187
|
source: newNode.id,
|
|
@@ -116,6 +206,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
116
206
|
newNode,
|
|
117
207
|
newEdges
|
|
118
208
|
};
|
|
209
|
+
let resolvedFinalNode = finalNode;
|
|
119
210
|
reactFlowInstance.setNodes((nodes)=>{
|
|
120
211
|
const newNodes = [
|
|
121
212
|
...nodes.filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID).map((n)=>({
|
|
@@ -124,9 +215,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
124
215
|
})),
|
|
125
216
|
finalNode
|
|
126
217
|
];
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
218
|
+
const placement = resolveNodePlacement(newNodes, finalNode, registry, ignoredNodeTypes, reactFlowInstance.getEdges(), loopSequencePlacement);
|
|
219
|
+
resolvedFinalNode = placement.insertedNode;
|
|
220
|
+
return placement.nodes;
|
|
130
221
|
});
|
|
131
222
|
reactFlowInstance.setEdges((edges)=>[
|
|
132
223
|
...edges.filter((e)=>!previewEdgeIds.includes(e.id)),
|
|
@@ -134,7 +225,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
134
225
|
]);
|
|
135
226
|
const [firstConnection] = previewNodeConnectionInfo;
|
|
136
227
|
if (firstConnection) {
|
|
137
|
-
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source')?.id : firstConnection.existingHandleId;
|
|
228
|
+
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source', nodeItem.data.version)?.id : firstConnection.existingHandleId;
|
|
138
229
|
const firstEdgeData = firstConnection.addNewNodeAsSource ? {
|
|
139
230
|
source: finalNode.id,
|
|
140
231
|
sourceHandle: firstEdgeSourceHandle ?? 'output'
|
|
@@ -142,7 +233,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
142
233
|
source: firstConnection.existingNodeId,
|
|
143
234
|
sourceHandle: firstConnection.existingHandleId
|
|
144
235
|
};
|
|
145
|
-
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle,
|
|
236
|
+
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, resolvedFinalNode);
|
|
146
237
|
}
|
|
147
238
|
restoreEdgesRef.current = null;
|
|
148
239
|
handleClose();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNodeManager.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodeManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AddNodeManager.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodeManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAKlC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;IAI7E,YAAY,CAAC,EAAE,OAAO,CAAC;IAIvB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAK7F,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,YAAY,CAAC;IAOtE,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;IAK7F,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,IAAI,CAAC;IAMpF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAuHD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAiOxD,CAAC"}
|
|
@@ -5,8 +5,87 @@ import { FLOATING_CANVAS_PANEL_OFFSET, PREVIEW_NODE_ID } from "../../constants.j
|
|
|
5
5
|
import { useOptionalNodeTypeRegistry } from "../../core/index.js";
|
|
6
6
|
import { usePreviewNode } from "../../hooks/usePreviewNode.js";
|
|
7
7
|
import { resolveCollisions } from "../../utils/index.js";
|
|
8
|
+
import { getExpandedShape, getExpandedSize } from "../../utils/collapse.js";
|
|
9
|
+
import { ensureContainersFitChildren, getNodeDimensions } from "../../utils/container-sizing.js";
|
|
10
|
+
import { getNodeTypeVersion } from "../../utils/manifest-resolver.js";
|
|
8
11
|
import { FloatingCanvasPanel } from "../FloatingCanvasPanel/index.js";
|
|
12
|
+
import { getLoopContainerFitGeometry, isLoopContainerManifest } from "../LoopNode/LoopNode.helpers.js";
|
|
13
|
+
import { getLoopSequencePlacementFromPreviewGraph, resolveLoopSequenceMaterializedNodes } from "../LoopNode/LoopNode.sequence.js";
|
|
9
14
|
import { AddNodePanel } from "./AddNodePanel.js";
|
|
15
|
+
function getManifestForNode(registry, node) {
|
|
16
|
+
return node.type ? registry?.getManifest(node.type, getNodeTypeVersion(node.data)) : void 0;
|
|
17
|
+
}
|
|
18
|
+
function getManifestAwareNodeDimensions(registry, node) {
|
|
19
|
+
const manifest = getManifestForNode(registry, node);
|
|
20
|
+
const expandedShape = getExpandedShape(manifest?.display.shape);
|
|
21
|
+
const fallbackDimensions = getExpandedSize(expandedShape, manifest);
|
|
22
|
+
return getNodeDimensions(node, fallbackDimensions);
|
|
23
|
+
}
|
|
24
|
+
function getContainerFitGeometry(registry, node) {
|
|
25
|
+
const manifest = getManifestForNode(registry, node);
|
|
26
|
+
return isLoopContainerManifest(manifest) ? getLoopContainerFitGeometry() : null;
|
|
27
|
+
}
|
|
28
|
+
function centerNodeOnPreview(previewNode, nodeDimensions) {
|
|
29
|
+
const previewDimensions = getNodeDimensions(previewNode);
|
|
30
|
+
return {
|
|
31
|
+
x: previewNode.position.x + (previewDimensions.width - nodeDimensions.width) / 2,
|
|
32
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function centerNodeVerticallyOnPreview(previewNode, nodeDimensions) {
|
|
36
|
+
const previewDimensions = getNodeDimensions(previewNode);
|
|
37
|
+
return {
|
|
38
|
+
x: previewNode.position.x,
|
|
39
|
+
y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function resolveSiblingCollisions(nodes, insertedNode, options) {
|
|
43
|
+
const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
|
|
44
|
+
const resolvedSiblings = resolveCollisions(siblingNodes, options);
|
|
45
|
+
const resolvedSiblingsById = new Map(resolvedSiblings.map((node)=>[
|
|
46
|
+
node.id,
|
|
47
|
+
node
|
|
48
|
+
]));
|
|
49
|
+
return nodes.map((node)=>resolvedSiblingsById.get(node.id) ?? node);
|
|
50
|
+
}
|
|
51
|
+
function resolveNodePlacement(nodes, insertedNode, registry, ignoredNodeTypes, edges, loopSequencePlacement) {
|
|
52
|
+
const getNodeSize = (node)=>getManifestAwareNodeDimensions(registry, node);
|
|
53
|
+
if (!insertedNode.parentId) {
|
|
54
|
+
const resolvedNodes = resolveCollisions(nodes, {
|
|
55
|
+
ignoredNodeTypes,
|
|
56
|
+
getNodeSize
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
nodes: resolvedNodes,
|
|
60
|
+
insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const loopSequenceNodes = loopSequencePlacement ? resolveLoopSequenceMaterializedNodes({
|
|
64
|
+
nodes,
|
|
65
|
+
edges,
|
|
66
|
+
insertedNode,
|
|
67
|
+
placement: loopSequencePlacement,
|
|
68
|
+
getNodeSize
|
|
69
|
+
}) : null;
|
|
70
|
+
let resolvedNodes = loopSequenceNodes;
|
|
71
|
+
if (!resolvedNodes) resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
|
|
72
|
+
ignoredNodeTypes,
|
|
73
|
+
getNodeSize
|
|
74
|
+
});
|
|
75
|
+
const fittedNodes = ensureContainersFitChildren(resolvedNodes, {
|
|
76
|
+
containerIds: [
|
|
77
|
+
insertedNode.parentId
|
|
78
|
+
],
|
|
79
|
+
getContainerFitGeometry: (node)=>getContainerFitGeometry(registry, node),
|
|
80
|
+
getNodeDimensions: getNodeSize,
|
|
81
|
+
ignoredNodeTypes,
|
|
82
|
+
includeAncestors: true
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
nodes: fittedNodes,
|
|
86
|
+
insertedNode: fittedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
|
|
87
|
+
};
|
|
88
|
+
}
|
|
10
89
|
const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
|
|
11
90
|
const reactFlowInstance = useReactFlow();
|
|
12
91
|
const registry = useOptionalNodeTypeRegistry();
|
|
@@ -42,28 +121,39 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
42
121
|
const handleNodeSelect = useCallback((nodeItem)=>{
|
|
43
122
|
const currentPreviewNode = reactFlowInstance.getNode(PREVIEW_NODE_ID);
|
|
44
123
|
if (!currentPreviewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return;
|
|
124
|
+
const loopSequencePlacement = getLoopSequencePlacementFromPreviewGraph(currentPreviewNode, previewNodeConnectionInfo);
|
|
45
125
|
const newNodeId = `${nodeItem.data.type}-${Date.now()}`;
|
|
46
126
|
const baseNodeData = createNodeData ? createNodeData(nodeItem) : {
|
|
47
127
|
label: nodeItem.name,
|
|
48
128
|
subLabel: nodeItem.description
|
|
49
129
|
};
|
|
50
|
-
const nodeData =
|
|
130
|
+
const nodeData = {
|
|
51
131
|
...baseNodeData,
|
|
52
|
-
|
|
53
|
-
|
|
132
|
+
...nodeItem.data.version ? {
|
|
133
|
+
typeVersion: nodeItem.data.version
|
|
134
|
+
} : {},
|
|
135
|
+
...currentPreviewNode.data?.useSmartHandles ? {
|
|
136
|
+
useSmartHandles: true
|
|
137
|
+
} : {}
|
|
138
|
+
};
|
|
54
139
|
const newNode = {
|
|
55
140
|
id: newNodeId,
|
|
56
141
|
type: nodeItem.data.type,
|
|
57
142
|
position: currentPreviewNode.position,
|
|
143
|
+
parentId: currentPreviewNode.parentId,
|
|
144
|
+
extent: currentPreviewNode.extent,
|
|
58
145
|
selected: true,
|
|
59
146
|
data: nodeData
|
|
60
147
|
};
|
|
61
|
-
const newNodeManifest = registry?.getManifest(nodeItem.data.type);
|
|
148
|
+
const newNodeManifest = registry?.getManifest(nodeItem.data.type, nodeItem.data.version);
|
|
149
|
+
const newNodeDimensions = getManifestAwareNodeDimensions(registry, newNode);
|
|
150
|
+
if (currentPreviewNode.parentId) newNode.position = centerNodeOnPreview(currentPreviewNode, newNodeDimensions);
|
|
151
|
+
else if (isLoopContainerManifest(newNodeManifest)) newNode.position = centerNodeVerticallyOnPreview(currentPreviewNode, newNodeDimensions);
|
|
62
152
|
const newEdges = [];
|
|
63
153
|
const previewEdgeIds = [];
|
|
64
154
|
for (const connectionInfoItem of previewNodeConnectionInfo){
|
|
65
155
|
const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
|
|
66
|
-
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
|
|
156
|
+
const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType, nodeItem.data.version) : void 0;
|
|
67
157
|
const newNodeHandleId = newNodeDefaultHandle?.id;
|
|
68
158
|
const edgeSourceTargetData = connectionInfoItem.addNewNodeAsSource ? {
|
|
69
159
|
source: newNode.id,
|
|
@@ -88,6 +178,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
88
178
|
newNode,
|
|
89
179
|
newEdges
|
|
90
180
|
};
|
|
181
|
+
let resolvedFinalNode = finalNode;
|
|
91
182
|
reactFlowInstance.setNodes((nodes)=>{
|
|
92
183
|
const newNodes = [
|
|
93
184
|
...nodes.filter((n)=>n.id !== PREVIEW_NODE_ID).map((n)=>({
|
|
@@ -96,9 +187,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
96
187
|
})),
|
|
97
188
|
finalNode
|
|
98
189
|
];
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
190
|
+
const placement = resolveNodePlacement(newNodes, finalNode, registry, ignoredNodeTypes, reactFlowInstance.getEdges(), loopSequencePlacement);
|
|
191
|
+
resolvedFinalNode = placement.insertedNode;
|
|
192
|
+
return placement.nodes;
|
|
102
193
|
});
|
|
103
194
|
reactFlowInstance.setEdges((edges)=>[
|
|
104
195
|
...edges.filter((e)=>!previewEdgeIds.includes(e.id)),
|
|
@@ -106,7 +197,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
106
197
|
]);
|
|
107
198
|
const [firstConnection] = previewNodeConnectionInfo;
|
|
108
199
|
if (firstConnection) {
|
|
109
|
-
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source')?.id : firstConnection.existingHandleId;
|
|
200
|
+
const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source', nodeItem.data.version)?.id : firstConnection.existingHandleId;
|
|
110
201
|
const firstEdgeData = firstConnection.addNewNodeAsSource ? {
|
|
111
202
|
source: finalNode.id,
|
|
112
203
|
sourceHandle: firstEdgeSourceHandle ?? 'output'
|
|
@@ -114,7 +205,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
|
|
|
114
205
|
source: firstConnection.existingNodeId,
|
|
115
206
|
sourceHandle: firstConnection.existingHandleId
|
|
116
207
|
};
|
|
117
|
-
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle,
|
|
208
|
+
onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, resolvedFinalNode);
|
|
118
209
|
}
|
|
119
210
|
restoreEdgesRef.current = null;
|
|
120
211
|
handleClose();
|
|
@@ -27,10 +27,34 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
27
27
|
createAddNodePreview: ()=>createAddNodePreview
|
|
28
28
|
});
|
|
29
29
|
const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
|
|
30
|
-
const
|
|
30
|
+
const createPreviewGraph_cjs_namespaceObject = require("../../utils/createPreviewGraph.cjs");
|
|
31
|
+
const LoopNode_sequence_cjs_namespaceObject = require("../LoopNode/LoopNode.sequence.cjs");
|
|
31
32
|
function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = react_cjs_namespaceObject.Position.Right, sourceHandleType = 'source', ignoredNodeTypes = []) {
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
if ('source' === sourceHandleType) {
|
|
34
|
+
const loopPreview = (0, LoopNode_sequence_cjs_namespaceObject.resolveLoopAddNodePreview)({
|
|
35
|
+
sourceNodeId,
|
|
36
|
+
sourceHandleId,
|
|
37
|
+
reactFlowInstance
|
|
38
|
+
});
|
|
39
|
+
if ('skip' === loopPreview.action) return;
|
|
40
|
+
if ('create-preview' === loopPreview.action) return void (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
41
|
+
sourceNodeId,
|
|
42
|
+
sourceHandleId,
|
|
43
|
+
reactFlowInstance,
|
|
44
|
+
sourceHandleType,
|
|
45
|
+
handlePosition,
|
|
46
|
+
ignoredNodeTypes,
|
|
47
|
+
...loopPreview.previewGraphOptions
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
(0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
51
|
+
sourceNodeId,
|
|
52
|
+
sourceHandleId,
|
|
53
|
+
reactFlowInstance,
|
|
54
|
+
sourceHandleType,
|
|
55
|
+
handlePosition,
|
|
56
|
+
ignoredNodeTypes
|
|
57
|
+
});
|
|
34
58
|
}
|
|
35
59
|
exports.createAddNodePreview = __webpack_exports__.createAddNodePreview;
|
|
36
60
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAddNodePreview.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/createAddNodePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"createAddNodePreview.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/createAddNodePreview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAc5F,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,GAAE,QAAyB,EACzC,gBAAgB,GAAE,QAAQ,GAAG,QAAmB,EAChD,gBAAgB,GAAE,MAAM,EAAO,GAC9B,IAAI,CAkCN"}
|
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
import { Position } from "../../xyflow/react.js";
|
|
2
|
-
import {
|
|
2
|
+
import { showPreviewGraph } from "../../utils/createPreviewGraph.js";
|
|
3
|
+
import { resolveLoopAddNodePreview } from "../LoopNode/LoopNode.sequence.js";
|
|
3
4
|
function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = Position.Right, sourceHandleType = 'source', ignoredNodeTypes = []) {
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
if ('source' === sourceHandleType) {
|
|
6
|
+
const loopPreview = resolveLoopAddNodePreview({
|
|
7
|
+
sourceNodeId,
|
|
8
|
+
sourceHandleId,
|
|
9
|
+
reactFlowInstance
|
|
10
|
+
});
|
|
11
|
+
if ('skip' === loopPreview.action) return;
|
|
12
|
+
if ('create-preview' === loopPreview.action) return void showPreviewGraph({
|
|
13
|
+
sourceNodeId,
|
|
14
|
+
sourceHandleId,
|
|
15
|
+
reactFlowInstance,
|
|
16
|
+
sourceHandleType,
|
|
17
|
+
handlePosition,
|
|
18
|
+
ignoredNodeTypes,
|
|
19
|
+
...loopPreview.previewGraphOptions
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
showPreviewGraph({
|
|
23
|
+
sourceNodeId,
|
|
24
|
+
sourceHandleId,
|
|
25
|
+
reactFlowInstance,
|
|
26
|
+
sourceHandleType,
|
|
27
|
+
handlePosition,
|
|
28
|
+
ignoredNodeTypes
|
|
29
|
+
});
|
|
6
30
|
}
|
|
7
31
|
export { createAddNodePreview };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-flow.manifest.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AgentCanvas/agent-flow.manifest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMnF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAmBjD,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,YAsDzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAqDrC,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,YAwBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAwBlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,YAwBxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAwBpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAMF,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"agent-flow.manifest.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AgentCanvas/agent-flow.manifest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMnF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAmBjD,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,YAsDzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAqDrC,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,YAwBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAwBlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,YAwBxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAwBpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAMF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAa7B,CAAC"}
|
|
@@ -24,6 +24,7 @@ var __webpack_require__ = {};
|
|
|
24
24
|
var __webpack_exports__ = {};
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
selectIsConnecting: ()=>selectIsConnecting,
|
|
27
28
|
BaseNode: ()=>BaseNode
|
|
28
29
|
});
|
|
29
30
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
@@ -69,7 +70,8 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
|
|
|
69
70
|
return height || external_constants_cjs_namespaceObject.NODE_HEIGHT_DEFAULT;
|
|
70
71
|
};
|
|
71
72
|
const BaseNodeComponent = (props)=>{
|
|
72
|
-
const { type, data, selected, id, dragging, width, height } = props;
|
|
73
|
+
const { type, data, selected, id, dragging, width, height, parentId } = props;
|
|
74
|
+
const nodeVersion = (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(data);
|
|
73
75
|
const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = (0, external_BaseNodeConfigContext_cjs_namespaceObject.useBaseNodeOverrideConfig)();
|
|
74
76
|
const updateNodeInternals = (0, react_cjs_namespaceObject.useUpdateNodeInternals)();
|
|
75
77
|
const { updateNodeData, updateNode } = (0, react_cjs_namespaceObject.useReactFlow)();
|
|
@@ -87,9 +89,10 @@ const BaseNodeComponent = (props)=>{
|
|
|
87
89
|
const isConnecting = (0, react_cjs_namespaceObject.useStore)(selectIsConnecting);
|
|
88
90
|
const { multipleNodesSelected } = (0, SelectionStateContext_cjs_namespaceObject.useSelectionState)();
|
|
89
91
|
const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
|
|
90
|
-
const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type), [
|
|
92
|
+
const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type, nodeVersion), [
|
|
91
93
|
type,
|
|
92
|
-
nodeTypeRegistry
|
|
94
|
+
nodeTypeRegistry,
|
|
95
|
+
nodeVersion
|
|
93
96
|
]);
|
|
94
97
|
const statusContext = (0, external_react_namespaceObject.useMemo)(()=>({
|
|
95
98
|
nodeId: id,
|
|
@@ -340,7 +343,8 @@ const BaseNodeComponent = (props)=>{
|
|
|
340
343
|
showNotches,
|
|
341
344
|
nodeWidth: width,
|
|
342
345
|
nodeHeight: height,
|
|
343
|
-
shouldShowAddButtonFn
|
|
346
|
+
shouldShowAddButtonFn,
|
|
347
|
+
portalActions: !!parentId
|
|
344
348
|
});
|
|
345
349
|
const smartHandleElements = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
346
350
|
if (!useSmartHandles) return null;
|
|
@@ -485,8 +489,10 @@ const BaseNodeComponent = (props)=>{
|
|
|
485
489
|
};
|
|
486
490
|
const BaseNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(BaseNodeComponent);
|
|
487
491
|
exports.BaseNode = __webpack_exports__.BaseNode;
|
|
492
|
+
exports.selectIsConnecting = __webpack_exports__.selectIsConnecting;
|
|
488
493
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
489
|
-
"BaseNode"
|
|
494
|
+
"BaseNode",
|
|
495
|
+
"selectIsConnecting"
|
|
490
496
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
491
497
|
Object.defineProperty(exports, '__esModule', {
|
|
492
498
|
value: true
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Node, NodeProps } from '../../xyflow/react.ts';
|
|
1
|
+
import type { Node, NodeProps, ReactFlowState } from '../../xyflow/react.ts';
|
|
2
2
|
import type { BaseNodeData } from './BaseNode.types';
|
|
3
|
+
export declare const selectIsConnecting: (state: ReactFlowState) => boolean;
|
|
3
4
|
export declare const BaseNode: import("react").MemoExoticComponent<(props: NodeProps<Node<BaseNodeData>>) => import("react/jsx-runtime").JSX.Element>;
|
|
4
5
|
//# sourceMappingURL=BaseNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAsChG,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAa1B,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAunB3F,eAAO,MAAM,QAAQ,8CAvlBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAulBhB,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { useNodeTypeRegistry } from "../../core/index.js";
|
|
|
6
6
|
import { useElementValidationStatus, useNodeExecutionState } from "../../hooks/index.js";
|
|
7
7
|
import { resolveAdornments } from "../../utils/adornment-resolver.js";
|
|
8
8
|
import { getIcon } from "../../utils/icon-registry.js";
|
|
9
|
-
import { resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
|
|
9
|
+
import { getNodeTypeVersion, resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
|
|
10
10
|
import { resolveToolbar } from "../../utils/toolbar-resolver.js";
|
|
11
11
|
import { useBaseCanvasMode } from "../BaseCanvas/BaseCanvasModeProvider.js";
|
|
12
12
|
import { useCanvasTheme } from "../BaseCanvas/CanvasThemeContext.js";
|
|
@@ -41,7 +41,8 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
|
|
|
41
41
|
return height || NODE_HEIGHT_DEFAULT;
|
|
42
42
|
};
|
|
43
43
|
const BaseNodeComponent = (props)=>{
|
|
44
|
-
const { type, data, selected, id, dragging, width, height } = props;
|
|
44
|
+
const { type, data, selected, id, dragging, width, height, parentId } = props;
|
|
45
|
+
const nodeVersion = getNodeTypeVersion(data);
|
|
45
46
|
const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = useBaseNodeOverrideConfig();
|
|
46
47
|
const updateNodeInternals = useUpdateNodeInternals();
|
|
47
48
|
const { updateNodeData, updateNode } = useReactFlow();
|
|
@@ -59,9 +60,10 @@ const BaseNodeComponent = (props)=>{
|
|
|
59
60
|
const isConnecting = useStore(selectIsConnecting);
|
|
60
61
|
const { multipleNodesSelected } = useSelectionState();
|
|
61
62
|
const { isDarkMode } = useCanvasTheme();
|
|
62
|
-
const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type), [
|
|
63
|
+
const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type, nodeVersion), [
|
|
63
64
|
type,
|
|
64
|
-
nodeTypeRegistry
|
|
65
|
+
nodeTypeRegistry,
|
|
66
|
+
nodeVersion
|
|
65
67
|
]);
|
|
66
68
|
const statusContext = useMemo(()=>({
|
|
67
69
|
nodeId: id,
|
|
@@ -312,7 +314,8 @@ const BaseNodeComponent = (props)=>{
|
|
|
312
314
|
showNotches,
|
|
313
315
|
nodeWidth: width,
|
|
314
316
|
nodeHeight: height,
|
|
315
|
-
shouldShowAddButtonFn
|
|
317
|
+
shouldShowAddButtonFn,
|
|
318
|
+
portalActions: !!parentId
|
|
316
319
|
});
|
|
317
320
|
const smartHandleElements = useMemo(()=>{
|
|
318
321
|
if (!useSmartHandles) return null;
|
|
@@ -456,4 +459,4 @@ const BaseNodeComponent = (props)=>{
|
|
|
456
459
|
return nodeContent;
|
|
457
460
|
};
|
|
458
461
|
const BaseNode = /*#__PURE__*/ memo(BaseNodeComponent);
|
|
459
|
-
export { BaseNode };
|
|
462
|
+
export { BaseNode, selectIsConnecting };
|
|
@@ -3,6 +3,9 @@ import type { ExecutionState } from '../../types/execution';
|
|
|
3
3
|
import type { ValidationState } from '../../types/validation';
|
|
4
4
|
export type FooterVariant = 'none' | 'button' | 'single' | 'double';
|
|
5
5
|
export interface BaseNodeData extends Record<string, unknown> {
|
|
6
|
+
nodeType?: string;
|
|
7
|
+
typeVersion?: string;
|
|
8
|
+
parameters?: Record<string, unknown>;
|
|
6
9
|
display?: {
|
|
7
10
|
label?: string;
|
|
8
11
|
subLabel?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;IAM1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
1
|
+
{"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;IAM1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|