@uipath/apollo-react 4.15.0-pr605.6f11404 → 4.15.1-pr556.112d99d

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.
Files changed (117) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodeManager.cjs +14 -117
  2. package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/AddNodeManager.js +15 -118
  4. package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +1 -19
  5. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts +1 -2
  6. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
  7. package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +1 -19
  8. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +1 -1
  9. package/dist/canvas/components/BaseNode/BaseNode.cjs +5 -10
  10. package/dist/canvas/components/BaseNode/BaseNode.d.ts +1 -2
  11. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  12. package/dist/canvas/components/BaseNode/BaseNode.js +5 -7
  13. package/dist/canvas/components/BaseNode/BaseNode.types.d.ts +0 -3
  14. package/dist/canvas/components/BaseNode/BaseNode.types.d.ts.map +1 -1
  15. package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +1 -1
  16. package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
  17. package/dist/canvas/components/ButtonHandle/ButtonHandle.js +1 -1
  18. package/dist/canvas/components/ButtonHandle/HandleButton.cjs +9 -13
  19. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
  20. package/dist/canvas/components/ButtonHandle/HandleButton.js +9 -13
  21. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +5 -12
  22. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts +2 -8
  23. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
  24. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +6 -13
  25. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +2 -9
  26. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
  27. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +3 -10
  28. package/dist/canvas/components/HierarchicalCanvas/index.d.ts +1 -1
  29. package/dist/canvas/components/HierarchicalCanvas/index.d.ts.map +1 -1
  30. package/dist/canvas/components/LoopNode/LoopCanvasNode.cjs +9 -20
  31. package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts.map +1 -1
  32. package/dist/canvas/components/LoopNode/LoopCanvasNode.js +10 -21
  33. package/dist/canvas/components/LoopNode/LoopNode.cjs +55 -42
  34. package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +18 -55
  35. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +4 -13
  36. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +1 -1
  37. package/dist/canvas/components/LoopNode/LoopNode.constants.js +5 -15
  38. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
  39. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +48 -88
  40. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +9 -38
  41. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
  42. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +33 -58
  43. package/dist/canvas/components/LoopNode/LoopNode.js +58 -45
  44. package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +13 -12
  45. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts +2 -2
  46. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -1
  47. package/dist/canvas/components/LoopNode/LoopNodePreview.js +13 -12
  48. package/dist/canvas/components/StageNode/StageNodeHeader.cjs +3 -1
  49. package/dist/canvas/components/StageNode/StageNodeHeader.d.ts.map +1 -1
  50. package/dist/canvas/components/StageNode/StageNodeHeader.js +3 -1
  51. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +2 -17
  52. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  53. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +2 -17
  54. package/dist/canvas/constants.cjs +8 -0
  55. package/dist/canvas/constants.d.ts +2 -0
  56. package/dist/canvas/constants.d.ts.map +1 -1
  57. package/dist/canvas/constants.js +3 -1
  58. package/dist/canvas/core/NodeTypeRegistry.cjs +27 -56
  59. package/dist/canvas/core/NodeTypeRegistry.d.ts +5 -10
  60. package/dist/canvas/core/NodeTypeRegistry.d.ts.map +1 -1
  61. package/dist/canvas/core/NodeTypeRegistry.js +28 -57
  62. package/dist/canvas/core/useNodeTypeRegistry.cjs +3 -13
  63. package/dist/canvas/core/useNodeTypeRegistry.d.ts +1 -2
  64. package/dist/canvas/core/useNodeTypeRegistry.d.ts.map +1 -1
  65. package/dist/canvas/core/useNodeTypeRegistry.js +4 -11
  66. package/dist/canvas/hooks/usePreviewNode.cjs +2 -5
  67. package/dist/canvas/hooks/usePreviewNode.d.ts.map +1 -1
  68. package/dist/canvas/hooks/usePreviewNode.js +2 -5
  69. package/dist/canvas/schema/node-definition/node-manifest.cjs +2 -1
  70. package/dist/canvas/schema/node-definition/node-manifest.d.ts +3 -0
  71. package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
  72. package/dist/canvas/schema/node-definition/node-manifest.js +2 -1
  73. package/dist/canvas/schema/node-instance/base.d.ts +1 -0
  74. package/dist/canvas/schema/node-instance/base.d.ts.map +1 -1
  75. package/dist/canvas/schema/node-instance/node.d.ts +1 -0
  76. package/dist/canvas/schema/node-instance/node.d.ts.map +1 -1
  77. package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts +0 -6
  78. package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
  79. package/dist/canvas/storybook-utils/manifests/index.d.ts +1 -1
  80. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  81. package/dist/canvas/storybook-utils/mocks/nodes.d.ts +1 -1
  82. package/dist/canvas/storybook-utils/mocks/nodes.d.ts.map +1 -1
  83. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  84. package/dist/canvas/utils/NodeUtils.cjs +13 -25
  85. package/dist/canvas/utils/NodeUtils.d.ts +2 -8
  86. package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
  87. package/dist/canvas/utils/NodeUtils.js +7 -13
  88. package/dist/canvas/utils/collapse.cjs +5 -5
  89. package/dist/canvas/utils/collapse.d.ts +2 -2
  90. package/dist/canvas/utils/collapse.d.ts.map +1 -1
  91. package/dist/canvas/utils/collapse.js +5 -5
  92. package/dist/canvas/utils/createPreviewGraph.d.ts +0 -1
  93. package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -1
  94. package/dist/canvas/utils/createPreviewNode.cjs +3 -31
  95. package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
  96. package/dist/canvas/utils/createPreviewNode.js +3 -31
  97. package/dist/canvas/utils/index.cjs +22 -36
  98. package/dist/canvas/utils/index.d.ts +0 -2
  99. package/dist/canvas/utils/index.d.ts.map +1 -1
  100. package/dist/canvas/utils/index.js +0 -2
  101. package/dist/canvas/utils/manifest-resolver.cjs +0 -8
  102. package/dist/canvas/utils/manifest-resolver.d.ts +0 -1
  103. package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
  104. package/dist/canvas/utils/manifest-resolver.js +1 -6
  105. package/package.json +1 -1
  106. package/dist/canvas/components/LoopNode/LoopNode.sequence.cjs +0 -433
  107. package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts +0 -57
  108. package/dist/canvas/components/LoopNode/LoopNode.sequence.d.ts.map +0 -1
  109. package/dist/canvas/components/LoopNode/LoopNode.sequence.js +0 -387
  110. package/dist/canvas/utils/container-sizing.cjs +0 -169
  111. package/dist/canvas/utils/container-sizing.d.ts +0 -23
  112. package/dist/canvas/utils/container-sizing.d.ts.map +0 -1
  113. package/dist/canvas/utils/container-sizing.js +0 -132
  114. package/dist/canvas/utils/preview-connection-handles.cjs +0 -55
  115. package/dist/canvas/utils/preview-connection-handles.d.ts +0 -14
  116. package/dist/canvas/utils/preview-connection-handles.d.ts.map +0 -1
  117. package/dist/canvas/utils/preview-connection-handles.js +0 -15
@@ -33,86 +33,8 @@ 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");
39
36
  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");
42
37
  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 fallbackDimensions = (0, collapse_cjs_namespaceObject.getExpandedSize)(manifest?.display.shape, manifest);
49
- return (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(node, fallbackDimensions);
50
- }
51
- function getContainerFitGeometry(registry, node) {
52
- const manifest = getManifestForNode(registry, node);
53
- return (0, LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(manifest) ? (0, LoopNode_helpers_cjs_namespaceObject.getLoopContainerFitGeometry)() : null;
54
- }
55
- function centerNodeOnPreview(previewNode, nodeDimensions) {
56
- const previewDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(previewNode);
57
- return {
58
- x: previewNode.position.x + (previewDimensions.width - nodeDimensions.width) / 2,
59
- y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
60
- };
61
- }
62
- function centerNodeVerticallyOnPreview(previewNode, nodeDimensions) {
63
- const previewDimensions = (0, container_sizing_cjs_namespaceObject.getNodeDimensions)(previewNode);
64
- return {
65
- x: previewNode.position.x,
66
- y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
67
- };
68
- }
69
- function resolveSiblingCollisions(nodes, insertedNode, options) {
70
- const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
71
- const resolvedSiblings = (0, external_utils_index_cjs_namespaceObject.resolveCollisions)(siblingNodes, options);
72
- const resolvedSiblingsById = new Map(resolvedSiblings.map((node)=>[
73
- node.id,
74
- node
75
- ]));
76
- return nodes.map((node)=>resolvedSiblingsById.get(node.id) ?? node);
77
- }
78
- function resolveNodePlacement(nodes, insertedNode, registry, ignoredNodeTypes, edges, loopSequencePlacement) {
79
- const getNodeSize = (node)=>getManifestAwareNodeDimensions(registry, node);
80
- if (!insertedNode.parentId) {
81
- const resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
82
- ignoredNodeTypes,
83
- getNodeSize
84
- });
85
- return {
86
- nodes: resolvedNodes,
87
- insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
88
- };
89
- }
90
- const loopSequenceNodes = loopSequencePlacement ? (0, LoopNode_sequence_cjs_namespaceObject.resolveLoopSequenceMaterializedNodes)({
91
- nodes,
92
- edges,
93
- insertedNode,
94
- placement: loopSequencePlacement,
95
- getNodeSize
96
- }) : null;
97
- let resolvedNodes = loopSequenceNodes;
98
- if (!resolvedNodes) resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
99
- ignoredNodeTypes,
100
- getNodeSize
101
- });
102
- const fittedNodes = (0, container_sizing_cjs_namespaceObject.ensureContainersFitChildren)(resolvedNodes, {
103
- containerIds: [
104
- insertedNode.parentId
105
- ],
106
- getContainerFitGeometry: (node)=>getContainerFitGeometry(registry, node),
107
- getNodeDimensions: getNodeSize,
108
- ignoredNodeTypes,
109
- includeAncestors: true
110
- });
111
- return {
112
- nodes: fittedNodes,
113
- insertedNode: fittedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
114
- };
115
- }
116
38
  const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
117
39
  const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
118
40
  const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
@@ -148,49 +70,30 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
148
70
  const handleNodeSelect = (0, external_react_namespaceObject.useCallback)((nodeItem)=>{
149
71
  const currentPreviewNode = reactFlowInstance.getNode(external_constants_cjs_namespaceObject.PREVIEW_NODE_ID);
150
72
  if (!currentPreviewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return;
151
- const loopSequenceResolverOptions = (0, LoopNode_sequence_cjs_namespaceObject.createLoopSequenceResolverOptions)(registry);
152
- const loopSequencePlacement = (0, LoopNode_sequence_cjs_namespaceObject.getLoopSequencePlacementFromPreviewGraph)(currentPreviewNode, previewNodeConnectionInfo, {
153
- isLoopContainerId: (containerId)=>{
154
- const containerNode = reactFlowInstance.getNode(containerId);
155
- return containerNode ? loopSequenceResolverOptions.isLoopContainerNode?.(containerNode) ?? false : false;
156
- }
157
- });
158
73
  const newNodeId = `${nodeItem.data.type}-${Date.now()}`;
159
74
  const baseNodeData = createNodeData ? createNodeData(nodeItem) : {
160
75
  label: nodeItem.name,
161
76
  subLabel: nodeItem.description
162
77
  };
163
- const nodeData = {
78
+ const nodeData = currentPreviewNode.data?.useSmartHandles ? {
164
79
  ...baseNodeData,
165
- ...nodeItem.data.version ? {
166
- typeVersion: nodeItem.data.version
167
- } : {},
168
- ...currentPreviewNode.data?.useSmartHandles ? {
169
- useSmartHandles: true
170
- } : {}
171
- };
80
+ useSmartHandles: true
81
+ } : baseNodeData;
172
82
  const newNode = {
173
83
  id: newNodeId,
174
84
  type: nodeItem.data.type,
175
85
  position: currentPreviewNode.position,
176
- parentId: currentPreviewNode.parentId,
177
- extent: currentPreviewNode.extent,
178
86
  selected: true,
179
- data: nodeData
87
+ data: nodeData,
88
+ parentId: currentPreviewNode.parentId,
89
+ extent: currentPreviewNode.extent
180
90
  };
181
- const newNodeManifest = registry?.getManifest(nodeItem.data.type, nodeItem.data.version);
182
- const newNodeDimensions = getManifestAwareNodeDimensions(registry, newNode);
183
- if (currentPreviewNode.parentId) newNode.position = centerNodeOnPreview(currentPreviewNode, newNodeDimensions);
184
- else if ((0, LoopNode_helpers_cjs_namespaceObject.isLoopContainerManifest)(newNodeManifest)) newNode.position = centerNodeVerticallyOnPreview(currentPreviewNode, newNodeDimensions);
91
+ const newNodeManifest = registry?.getManifest(nodeItem.data.type);
185
92
  const newEdges = [];
186
93
  const previewEdgeIds = [];
187
94
  for (const connectionInfoItem of previewNodeConnectionInfo){
188
- const newNodeDefaultHandle = newNodeManifest ? (0, external_utils_index_cjs_namespaceObject.getNodeHandleForPreviewConnection)({
189
- manifest: newNodeManifest,
190
- connection: connectionInfoItem,
191
- connections: previewNodeConnectionInfo,
192
- getDefaultHandle: (handleType)=>registry?.getDefaultHandle(newNodeManifest.nodeType, handleType, nodeItem.data.version)
193
- }) : void 0;
95
+ const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
96
+ const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
194
97
  const newNodeHandleId = newNodeDefaultHandle?.id;
195
98
  const edgeSourceTargetData = connectionInfoItem.addNewNodeAsSource ? {
196
99
  source: newNode.id,
@@ -215,7 +118,6 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
215
118
  newNode,
216
119
  newEdges
217
120
  };
218
- let resolvedFinalNode = finalNode;
219
121
  reactFlowInstance.setNodes((nodes)=>{
220
122
  const newNodes = [
221
123
  ...nodes.filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID).map((n)=>({
@@ -224,9 +126,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
224
126
  })),
225
127
  finalNode
226
128
  ];
227
- const placement = resolveNodePlacement(newNodes, finalNode, registry, ignoredNodeTypes, reactFlowInstance.getEdges(), loopSequencePlacement);
228
- resolvedFinalNode = placement.insertedNode;
229
- return placement.nodes;
129
+ return (0, external_utils_index_cjs_namespaceObject.resolveCollisions)(newNodes, {
130
+ ignoredNodeTypes
131
+ });
230
132
  });
231
133
  reactFlowInstance.setEdges((edges)=>[
232
134
  ...edges.filter((e)=>!previewEdgeIds.includes(e.id)),
@@ -234,12 +136,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
234
136
  ]);
235
137
  const [firstConnection] = previewNodeConnectionInfo;
236
138
  if (firstConnection) {
237
- const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && (0, external_utils_index_cjs_namespaceObject.getNodeHandleForPreviewConnection)({
238
- manifest: newNodeManifest,
239
- connection: firstConnection,
240
- connections: previewNodeConnectionInfo,
241
- getDefaultHandle: (handleType)=>registry?.getDefaultHandle(newNodeManifest.nodeType, handleType, nodeItem.data.version)
242
- })?.id : firstConnection.existingHandleId;
139
+ const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source')?.id : firstConnection.existingHandleId;
243
140
  const firstEdgeData = firstConnection.addNewNodeAsSource ? {
244
141
  source: finalNode.id,
245
142
  sourceHandle: firstEdgeSourceHandle ?? 'output'
@@ -247,7 +144,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
247
144
  source: firstConnection.existingNodeId,
248
145
  sourceHandle: firstConnection.existingHandleId
249
146
  };
250
- onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, resolvedFinalNode);
147
+ onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, finalNode);
251
148
  }
252
149
  restoreEdgesRef.current = null;
253
150
  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;AAS/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAShD,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;AAsHD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAwPxD,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;AAM/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,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;AASD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAuMxD,CAAC"}
@@ -4,87 +4,9 @@ import { useCallback, useEffect, useRef } from "react";
4
4
  import { FLOATING_CANVAS_PANEL_OFFSET, PREVIEW_NODE_ID } from "../../constants.js";
5
5
  import { useOptionalNodeTypeRegistry } from "../../core/index.js";
6
6
  import { usePreviewNode } from "../../hooks/usePreviewNode.js";
7
- import { getNodeHandleForPreviewConnection, resolveCollisions } from "../../utils/index.js";
8
- import { getExpandedSize } from "../../utils/collapse.js";
9
- import { ensureContainersFitChildren, getNodeDimensions } from "../../utils/container-sizing.js";
10
- import { getNodeTypeVersion } from "../../utils/manifest-resolver.js";
7
+ import { resolveCollisions } from "../../utils/index.js";
11
8
  import { FloatingCanvasPanel } from "../FloatingCanvasPanel/index.js";
12
- import { getLoopContainerFitGeometry, isLoopContainerManifest } from "../LoopNode/LoopNode.helpers.js";
13
- import { createLoopSequenceResolverOptions, getLoopSequencePlacementFromPreviewGraph, resolveLoopSequenceMaterializedNodes } from "../LoopNode/LoopNode.sequence.js";
14
9
  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 fallbackDimensions = getExpandedSize(manifest?.display.shape, manifest);
21
- return getNodeDimensions(node, fallbackDimensions);
22
- }
23
- function getContainerFitGeometry(registry, node) {
24
- const manifest = getManifestForNode(registry, node);
25
- return isLoopContainerManifest(manifest) ? getLoopContainerFitGeometry() : null;
26
- }
27
- function centerNodeOnPreview(previewNode, nodeDimensions) {
28
- const previewDimensions = getNodeDimensions(previewNode);
29
- return {
30
- x: previewNode.position.x + (previewDimensions.width - nodeDimensions.width) / 2,
31
- y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
32
- };
33
- }
34
- function centerNodeVerticallyOnPreview(previewNode, nodeDimensions) {
35
- const previewDimensions = getNodeDimensions(previewNode);
36
- return {
37
- x: previewNode.position.x,
38
- y: previewNode.position.y + (previewDimensions.height - nodeDimensions.height) / 2
39
- };
40
- }
41
- function resolveSiblingCollisions(nodes, insertedNode, options) {
42
- const siblingNodes = nodes.filter((node)=>node.parentId === insertedNode.parentId);
43
- const resolvedSiblings = resolveCollisions(siblingNodes, options);
44
- const resolvedSiblingsById = new Map(resolvedSiblings.map((node)=>[
45
- node.id,
46
- node
47
- ]));
48
- return nodes.map((node)=>resolvedSiblingsById.get(node.id) ?? node);
49
- }
50
- function resolveNodePlacement(nodes, insertedNode, registry, ignoredNodeTypes, edges, loopSequencePlacement) {
51
- const getNodeSize = (node)=>getManifestAwareNodeDimensions(registry, node);
52
- if (!insertedNode.parentId) {
53
- const resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
54
- ignoredNodeTypes,
55
- getNodeSize
56
- });
57
- return {
58
- nodes: resolvedNodes,
59
- insertedNode: resolvedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
60
- };
61
- }
62
- const loopSequenceNodes = loopSequencePlacement ? resolveLoopSequenceMaterializedNodes({
63
- nodes,
64
- edges,
65
- insertedNode,
66
- placement: loopSequencePlacement,
67
- getNodeSize
68
- }) : null;
69
- let resolvedNodes = loopSequenceNodes;
70
- if (!resolvedNodes) resolvedNodes = resolveSiblingCollisions(nodes, insertedNode, {
71
- ignoredNodeTypes,
72
- getNodeSize
73
- });
74
- const fittedNodes = ensureContainersFitChildren(resolvedNodes, {
75
- containerIds: [
76
- insertedNode.parentId
77
- ],
78
- getContainerFitGeometry: (node)=>getContainerFitGeometry(registry, node),
79
- getNodeDimensions: getNodeSize,
80
- ignoredNodeTypes,
81
- includeAncestors: true
82
- });
83
- return {
84
- nodes: fittedNodes,
85
- insertedNode: fittedNodes.find((node)=>node.id === insertedNode.id) ?? insertedNode
86
- };
87
- }
88
10
  const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData, onBeforeNodeAdded, onNodeAdded, ignoredNodeTypes })=>{
89
11
  const reactFlowInstance = useReactFlow();
90
12
  const registry = useOptionalNodeTypeRegistry();
@@ -120,49 +42,30 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
120
42
  const handleNodeSelect = useCallback((nodeItem)=>{
121
43
  const currentPreviewNode = reactFlowInstance.getNode(PREVIEW_NODE_ID);
122
44
  if (!currentPreviewNode || !previewNodeConnectionInfo || 0 === previewNodeConnectionInfo.length) return;
123
- const loopSequenceResolverOptions = createLoopSequenceResolverOptions(registry);
124
- const loopSequencePlacement = getLoopSequencePlacementFromPreviewGraph(currentPreviewNode, previewNodeConnectionInfo, {
125
- isLoopContainerId: (containerId)=>{
126
- const containerNode = reactFlowInstance.getNode(containerId);
127
- return containerNode ? loopSequenceResolverOptions.isLoopContainerNode?.(containerNode) ?? false : false;
128
- }
129
- });
130
45
  const newNodeId = `${nodeItem.data.type}-${Date.now()}`;
131
46
  const baseNodeData = createNodeData ? createNodeData(nodeItem) : {
132
47
  label: nodeItem.name,
133
48
  subLabel: nodeItem.description
134
49
  };
135
- const nodeData = {
50
+ const nodeData = currentPreviewNode.data?.useSmartHandles ? {
136
51
  ...baseNodeData,
137
- ...nodeItem.data.version ? {
138
- typeVersion: nodeItem.data.version
139
- } : {},
140
- ...currentPreviewNode.data?.useSmartHandles ? {
141
- useSmartHandles: true
142
- } : {}
143
- };
52
+ useSmartHandles: true
53
+ } : baseNodeData;
144
54
  const newNode = {
145
55
  id: newNodeId,
146
56
  type: nodeItem.data.type,
147
57
  position: currentPreviewNode.position,
148
- parentId: currentPreviewNode.parentId,
149
- extent: currentPreviewNode.extent,
150
58
  selected: true,
151
- data: nodeData
59
+ data: nodeData,
60
+ parentId: currentPreviewNode.parentId,
61
+ extent: currentPreviewNode.extent
152
62
  };
153
- const newNodeManifest = registry?.getManifest(nodeItem.data.type, nodeItem.data.version);
154
- const newNodeDimensions = getManifestAwareNodeDimensions(registry, newNode);
155
- if (currentPreviewNode.parentId) newNode.position = centerNodeOnPreview(currentPreviewNode, newNodeDimensions);
156
- else if (isLoopContainerManifest(newNodeManifest)) newNode.position = centerNodeVerticallyOnPreview(currentPreviewNode, newNodeDimensions);
63
+ const newNodeManifest = registry?.getManifest(nodeItem.data.type);
157
64
  const newEdges = [];
158
65
  const previewEdgeIds = [];
159
66
  for (const connectionInfoItem of previewNodeConnectionInfo){
160
- const newNodeDefaultHandle = newNodeManifest ? getNodeHandleForPreviewConnection({
161
- manifest: newNodeManifest,
162
- connection: connectionInfoItem,
163
- connections: previewNodeConnectionInfo,
164
- getDefaultHandle: (handleType)=>registry?.getDefaultHandle(newNodeManifest.nodeType, handleType, nodeItem.data.version)
165
- }) : void 0;
67
+ const newNodeHandleType = connectionInfoItem.addNewNodeAsSource ? 'source' : 'target';
68
+ const newNodeDefaultHandle = newNodeManifest ? registry?.getDefaultHandle(newNodeManifest.nodeType, newNodeHandleType) : void 0;
166
69
  const newNodeHandleId = newNodeDefaultHandle?.id;
167
70
  const edgeSourceTargetData = connectionInfoItem.addNewNodeAsSource ? {
168
71
  source: newNode.id,
@@ -187,7 +90,6 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
187
90
  newNode,
188
91
  newEdges
189
92
  };
190
- let resolvedFinalNode = finalNode;
191
93
  reactFlowInstance.setNodes((nodes)=>{
192
94
  const newNodes = [
193
95
  ...nodes.filter((n)=>n.id !== PREVIEW_NODE_ID).map((n)=>({
@@ -196,9 +98,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
196
98
  })),
197
99
  finalNode
198
100
  ];
199
- const placement = resolveNodePlacement(newNodes, finalNode, registry, ignoredNodeTypes, reactFlowInstance.getEdges(), loopSequencePlacement);
200
- resolvedFinalNode = placement.insertedNode;
201
- return placement.nodes;
101
+ return resolveCollisions(newNodes, {
102
+ ignoredNodeTypes
103
+ });
202
104
  });
203
105
  reactFlowInstance.setEdges((edges)=>[
204
106
  ...edges.filter((e)=>!previewEdgeIds.includes(e.id)),
@@ -206,12 +108,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
206
108
  ]);
207
109
  const [firstConnection] = previewNodeConnectionInfo;
208
110
  if (firstConnection) {
209
- const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && getNodeHandleForPreviewConnection({
210
- manifest: newNodeManifest,
211
- connection: firstConnection,
212
- connections: previewNodeConnectionInfo,
213
- getDefaultHandle: (handleType)=>registry?.getDefaultHandle(newNodeManifest.nodeType, handleType, nodeItem.data.version)
214
- })?.id : firstConnection.existingHandleId;
111
+ const firstEdgeSourceHandle = firstConnection.addNewNodeAsSource ? newNodeManifest && registry?.getDefaultHandle(newNodeManifest.nodeType, 'source')?.id : firstConnection.existingHandleId;
215
112
  const firstEdgeData = firstConnection.addNewNodeAsSource ? {
216
113
  source: finalNode.id,
217
114
  sourceHandle: firstEdgeSourceHandle ?? 'output'
@@ -219,7 +116,7 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
219
116
  source: firstConnection.existingNodeId,
220
117
  sourceHandle: firstConnection.existingHandleId
221
118
  };
222
- onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, resolvedFinalNode);
119
+ onNodeAdded?.(firstEdgeData.source, firstEdgeData.sourceHandle, finalNode);
223
120
  }
224
121
  restoreEdgesRef.current = null;
225
122
  handleClose();
@@ -28,25 +28,7 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  });
29
29
  const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
30
30
  const createPreviewGraph_cjs_namespaceObject = require("../../utils/createPreviewGraph.cjs");
31
- const LoopNode_sequence_cjs_namespaceObject = require("../LoopNode/LoopNode.sequence.cjs");
32
- function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = react_cjs_namespaceObject.Position.Right, sourceHandleType = 'source', ignoredNodeTypes = [], resolverOptions = (0, LoopNode_sequence_cjs_namespaceObject.createLoopSequenceResolverOptions)(null)) {
33
- if ('source' === sourceHandleType) {
34
- const loopPreview = (0, LoopNode_sequence_cjs_namespaceObject.resolveLoopAddNodePreview)({
35
- sourceNodeId,
36
- sourceHandleId,
37
- reactFlowInstance,
38
- resolverOptions
39
- });
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
- }
31
+ function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = react_cjs_namespaceObject.Position.Right, sourceHandleType = 'source', ignoredNodeTypes = []) {
50
32
  (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
51
33
  sourceNodeId,
52
34
  sourceHandleId,
@@ -1,4 +1,3 @@
1
1
  import { Position, type ReactFlowInstance } from '../../xyflow/react.ts';
2
- import { type LoopSequenceResolverOptions } from '../LoopNode/LoopNode.sequence';
3
- export declare function createAddNodePreview(sourceNodeId: string, sourceHandleId: string, reactFlowInstance: ReactFlowInstance, handlePosition?: Position, sourceHandleType?: 'source' | 'target', ignoredNodeTypes?: string[], resolverOptions?: LoopSequenceResolverOptions): void;
2
+ export declare function createAddNodePreview(sourceNodeId: string, sourceHandleId: string, reactFlowInstance: ReactFlowInstance, handlePosition?: Position, sourceHandleType?: 'source' | 'target', ignoredNodeTypes?: string[]): void;
4
3
  //# sourceMappingURL=createAddNodePreview.d.ts.map
@@ -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;AAE5F,OAAO,EAEL,KAAK,2BAA2B,EAEjC,MAAM,+BAA+B,CAAC;AAcvC,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,EAC/B,eAAe,GAAE,2BAAqE,GACrF,IAAI,CA+BN"}
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;AAa5F,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,CASN"}
@@ -1,24 +1,6 @@
1
1
  import { Position } from "../../xyflow/react.js";
2
2
  import { showPreviewGraph } from "../../utils/createPreviewGraph.js";
3
- import { createLoopSequenceResolverOptions, resolveLoopAddNodePreview } from "../LoopNode/LoopNode.sequence.js";
4
- function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = Position.Right, sourceHandleType = 'source', ignoredNodeTypes = [], resolverOptions = createLoopSequenceResolverOptions(null)) {
5
- if ('source' === sourceHandleType) {
6
- const loopPreview = resolveLoopAddNodePreview({
7
- sourceNodeId,
8
- sourceHandleId,
9
- reactFlowInstance,
10
- resolverOptions
11
- });
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
- }
3
+ function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = Position.Right, sourceHandleType = 'source', ignoredNodeTypes = []) {
22
4
  showPreviewGraph({
23
5
  sourceNodeId,
24
6
  sourceHandleId,
@@ -29,7 +29,7 @@ export declare const agentFlowManifest: {
29
29
  label: string;
30
30
  icon: string;
31
31
  description?: string | undefined;
32
- shape?: "square" | "circle" | "rectangle" | undefined;
32
+ shape?: "square" | "circle" | "container" | "rectangle" | undefined;
33
33
  color?: string | undefined;
34
34
  background?: string | undefined;
35
35
  iconBackground?: string | undefined;
@@ -24,7 +24,6 @@ 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,
28
27
  BaseNode: ()=>BaseNode
29
28
  });
30
29
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
@@ -36,6 +35,7 @@ const external_hooks_index_cjs_namespaceObject = require("../../hooks/index.cjs"
36
35
  const adornment_resolver_cjs_namespaceObject = require("../../utils/adornment-resolver.cjs");
37
36
  const icon_registry_cjs_namespaceObject = require("../../utils/icon-registry.cjs");
38
37
  const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
38
+ const NodeUtils_cjs_namespaceObject = require("../../utils/NodeUtils.cjs");
39
39
  const toolbar_resolver_cjs_namespaceObject = require("../../utils/toolbar-resolver.cjs");
40
40
  const BaseCanvasModeProvider_cjs_namespaceObject = require("../BaseCanvas/BaseCanvasModeProvider.cjs");
41
41
  const CanvasThemeContext_cjs_namespaceObject = require("../BaseCanvas/CanvasThemeContext.cjs");
@@ -50,7 +50,6 @@ const external_BaseNodeContainer_cjs_namespaceObject = require("./BaseNodeContai
50
50
  const external_BaseNodeInnerShape_cjs_namespaceObject = require("./BaseNodeInnerShape.cjs");
51
51
  const external_BaseNodeMissingManifest_cjs_namespaceObject = require("./BaseNodeMissingManifest.cjs");
52
52
  const external_NodeLabel_cjs_namespaceObject = require("./NodeLabel.cjs");
53
- const selectIsConnecting = (state)=>!!state.connection.inProgress;
54
53
  const getContainerWidth = (shape, width)=>{
55
54
  const defaultWidth = 'rectangle' === shape ? external_constants_cjs_namespaceObject.DEFAULT_RECTANGLE_NODE_WIDTH : external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE;
56
55
  if (width && width !== external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE && width !== external_constants_cjs_namespaceObject.DEFAULT_RECTANGLE_NODE_WIDTH) return width;
@@ -71,7 +70,6 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
71
70
  };
72
71
  const BaseNodeComponent = (props)=>{
73
72
  const { type, data, selected, id, dragging, width, height, parentId } = props;
74
- const nodeVersion = (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(data);
75
73
  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)();
76
74
  const updateNodeInternals = (0, react_cjs_namespaceObject.useUpdateNodeInternals)();
77
75
  const { updateNodeData, updateNode } = (0, react_cjs_namespaceObject.useReactFlow)();
@@ -86,13 +84,12 @@ const BaseNodeComponent = (props)=>{
86
84
  const nodeTypeRegistry = (0, index_cjs_namespaceObject.useNodeTypeRegistry)();
87
85
  const { mode } = (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)();
88
86
  const connectedHandleIds = (0, ConnectedHandlesContext_cjs_namespaceObject.useConnectedHandles)(id);
89
- const isConnecting = (0, react_cjs_namespaceObject.useStore)(selectIsConnecting);
87
+ const isConnecting = (0, react_cjs_namespaceObject.useStore)(NodeUtils_cjs_namespaceObject.selectIsConnecting);
90
88
  const { multipleNodesSelected } = (0, SelectionStateContext_cjs_namespaceObject.useSelectionState)();
91
89
  const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
92
- const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type, nodeVersion), [
90
+ const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type), [
93
91
  type,
94
- nodeTypeRegistry,
95
- nodeVersion
92
+ nodeTypeRegistry
96
93
  ]);
97
94
  const statusContext = (0, external_react_namespaceObject.useMemo)(()=>({
98
95
  nodeId: id,
@@ -489,10 +486,8 @@ const BaseNodeComponent = (props)=>{
489
486
  };
490
487
  const BaseNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(BaseNodeComponent);
491
488
  exports.BaseNode = __webpack_exports__.BaseNode;
492
- exports.selectIsConnecting = __webpack_exports__.selectIsConnecting;
493
489
  for(var __rspack_i in __webpack_exports__)if (-1 === [
494
- "BaseNode",
495
- "selectIsConnecting"
490
+ "BaseNode"
496
491
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
497
492
  Object.defineProperty(exports, '__esModule', {
498
493
  value: true
@@ -1,5 +1,4 @@
1
- import type { Node, NodeProps, ReactFlowState } from '../../xyflow/react.ts';
1
+ import type { Node, NodeProps } from '../../xyflow/react.ts';
2
2
  import type { BaseNodeData } from './BaseNode.types';
3
- export declare const selectIsConnecting: (state: ReactFlowState) => boolean;
4
3
  export declare const BaseNode: import("react").MemoExoticComponent<(props: NodeProps<Node<BaseNodeData>>) => import("react/jsx-runtime").JSX.Element>;
5
4
  //# 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,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"}
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,MAAM,0CAA0C,CAAC;AAuChF,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAynB1B,eAAO,MAAM,QAAQ,8CAnlBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAmlBhB,CAAC"}
@@ -6,7 +6,8 @@ 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 { getNodeTypeVersion, resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
9
+ import { resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
10
+ import { selectIsConnecting } from "../../utils/NodeUtils.js";
10
11
  import { resolveToolbar } from "../../utils/toolbar-resolver.js";
11
12
  import { useBaseCanvasMode } from "../BaseCanvas/BaseCanvasModeProvider.js";
12
13
  import { useCanvasTheme } from "../BaseCanvas/CanvasThemeContext.js";
@@ -21,7 +22,6 @@ import { BaseContainer } from "./BaseNodeContainer.js";
21
22
  import { BaseInnerShape } from "./BaseNodeInnerShape.js";
22
23
  import { MissingManifestNode } from "./BaseNodeMissingManifest.js";
23
24
  import { NodeLabel } from "./NodeLabel.js";
24
- const selectIsConnecting = (state)=>!!state.connection.inProgress;
25
25
  const getContainerWidth = (shape, width)=>{
26
26
  const defaultWidth = 'rectangle' === shape ? DEFAULT_RECTANGLE_NODE_WIDTH : DEFAULT_NODE_SIZE;
27
27
  if (width && width !== DEFAULT_NODE_SIZE && width !== DEFAULT_RECTANGLE_NODE_WIDTH) return width;
@@ -42,7 +42,6 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
42
42
  };
43
43
  const BaseNodeComponent = (props)=>{
44
44
  const { type, data, selected, id, dragging, width, height, parentId } = props;
45
- const nodeVersion = getNodeTypeVersion(data);
46
45
  const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = useBaseNodeOverrideConfig();
47
46
  const updateNodeInternals = useUpdateNodeInternals();
48
47
  const { updateNodeData, updateNode } = useReactFlow();
@@ -60,10 +59,9 @@ const BaseNodeComponent = (props)=>{
60
59
  const isConnecting = useStore(selectIsConnecting);
61
60
  const { multipleNodesSelected } = useSelectionState();
62
61
  const { isDarkMode } = useCanvasTheme();
63
- const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type, nodeVersion), [
62
+ const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type), [
64
63
  type,
65
- nodeTypeRegistry,
66
- nodeVersion
64
+ nodeTypeRegistry
67
65
  ]);
68
66
  const statusContext = useMemo(()=>({
69
67
  nodeId: id,
@@ -459,4 +457,4 @@ const BaseNodeComponent = (props)=>{
459
457
  return nodeContent;
460
458
  };
461
459
  const BaseNode = /*#__PURE__*/ memo(BaseNodeComponent);
462
- export { BaseNode, selectIsConnecting };
460
+ export { BaseNode };
@@ -3,9 +3,6 @@ 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>;
9
6
  display?: {
10
7
  label?: string;
11
8
  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,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"}
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"}
@@ -249,7 +249,7 @@ function getHandleActionPortal({ nodeId, position, positionPercent, total, nodeW
249
249
  }
250
250
  function InwardHandleContent({ handleType, isVertical, selected, hovered, showNotch, label, labelIcon, labelBackgroundColor, layout }) {
251
251
  const labelElement = label ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
252
- className: (0, CssUtil_cjs_namespaceObject.cx)('pointer-events-none flex h-6 items-center gap-1.5 whitespace-nowrap rounded-full border border-border-subtle bg-surface-overlay px-2.5', 'text-xs font-medium text-foreground'),
252
+ className: (0, CssUtil_cjs_namespaceObject.cx)('pointer-events-none flex items-center gap-1.5 whitespace-nowrap rounded-full border border-border-subtle bg-transparent px-2 py-0.5', 'text-xs font-medium leading-4 text-foreground-muted'),
253
253
  style: labelBackgroundColor ? {
254
254
  backgroundColor: labelBackgroundColor
255
255
  } : void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonHandle.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/ButtonHandle.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ButtonHandle.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/ButtonHandle.tsx"],"names":[],"mappings":"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"}