@uipath/apollo-react 4.15.0 → 4.15.1-pr556.1c525e4

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 (134) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodeManager.cjs +3 -1
  2. package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/AddNodeManager.js +3 -1
  4. package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +9 -3
  5. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
  6. package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +9 -3
  7. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +2 -1
  8. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts.map +1 -1
  9. package/dist/canvas/components/BaseNode/BaseNode.cjs +5 -4
  10. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  11. package/dist/canvas/components/BaseNode/BaseNode.js +4 -3
  12. package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +222 -13
  13. package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts +10 -5
  14. package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
  15. package/dist/canvas/components/ButtonHandle/ButtonHandle.js +223 -14
  16. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.cjs +10 -2
  17. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts +2 -0
  18. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts.map +1 -1
  19. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.js +5 -3
  20. package/dist/canvas/components/ButtonHandle/HandleButton.cjs +13 -2
  21. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts +10 -1
  22. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
  23. package/dist/canvas/components/ButtonHandle/HandleButton.js +13 -2
  24. package/dist/canvas/components/ButtonHandle/useButtonHandles.cjs +4 -2
  25. package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts +2 -1
  26. package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts.map +1 -1
  27. package/dist/canvas/components/ButtonHandle/useButtonHandles.js +4 -2
  28. package/dist/canvas/components/Edges/SequenceEdge.cjs +8 -4
  29. package/dist/canvas/components/Edges/SequenceEdge.js +8 -4
  30. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +24 -22
  31. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
  32. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +25 -23
  33. package/dist/canvas/components/LoopNode/LoopCanvasNode.cjs +75 -0
  34. package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts +6 -0
  35. package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts.map +1 -0
  36. package/dist/canvas/components/LoopNode/LoopCanvasNode.js +41 -0
  37. package/dist/canvas/components/LoopNode/LoopNode.cjs +432 -0
  38. package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +73 -0
  39. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +11 -0
  40. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +1 -0
  41. package/dist/canvas/components/LoopNode/LoopNode.constants.js +12 -0
  42. package/dist/canvas/components/LoopNode/LoopNode.d.ts +5 -0
  43. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -0
  44. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +145 -0
  45. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +29 -0
  46. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -0
  47. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +99 -0
  48. package/dist/canvas/components/LoopNode/LoopNode.js +398 -0
  49. package/dist/canvas/components/LoopNode/LoopNode.types.cjs +18 -0
  50. package/dist/canvas/components/LoopNode/LoopNode.types.d.ts +22 -0
  51. package/dist/canvas/components/LoopNode/LoopNode.types.d.ts.map +1 -0
  52. package/dist/canvas/components/LoopNode/LoopNode.types.js +0 -0
  53. package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +61 -0
  54. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts +9 -0
  55. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -0
  56. package/dist/canvas/components/LoopNode/LoopNodePreview.js +27 -0
  57. package/dist/canvas/components/LoopNode/index.cjs +79 -0
  58. package/dist/canvas/components/LoopNode/index.d.ts +5 -0
  59. package/dist/canvas/components/LoopNode/index.d.ts.map +1 -0
  60. package/dist/canvas/components/LoopNode/index.js +4 -0
  61. package/dist/canvas/components/NodeViewportOverlay.cjs +63 -0
  62. package/dist/canvas/components/NodeViewportOverlay.d.ts +22 -0
  63. package/dist/canvas/components/NodeViewportOverlay.d.ts.map +1 -0
  64. package/dist/canvas/components/NodeViewportOverlay.js +29 -0
  65. package/dist/canvas/components/StageNode/StageNodeHeader.cjs +3 -1
  66. package/dist/canvas/components/StageNode/StageNodeHeader.d.ts.map +1 -1
  67. package/dist/canvas/components/StageNode/StageNodeHeader.js +3 -1
  68. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.cjs +1 -1
  69. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.js +1 -1
  70. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +25 -23
  71. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  72. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +27 -25
  73. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +10 -3
  74. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts +1 -1
  75. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
  76. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +10 -3
  77. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts +1 -0
  78. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts.map +1 -1
  79. package/dist/canvas/components/index.cjs +27 -20
  80. package/dist/canvas/components/index.d.ts +1 -0
  81. package/dist/canvas/components/index.d.ts.map +1 -1
  82. package/dist/canvas/components/index.js +1 -0
  83. package/dist/canvas/constants.cjs +12 -0
  84. package/dist/canvas/constants.d.ts +3 -0
  85. package/dist/canvas/constants.d.ts.map +1 -1
  86. package/dist/canvas/constants.js +4 -1
  87. package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +22 -23
  88. package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
  89. package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +23 -24
  90. package/dist/canvas/hooks/usePreviewNode.cjs +2 -1
  91. package/dist/canvas/hooks/usePreviewNode.d.ts.map +1 -1
  92. package/dist/canvas/hooks/usePreviewNode.js +2 -1
  93. package/dist/canvas/schema/node-definition/handle.cjs +10 -2
  94. package/dist/canvas/schema/node-definition/handle.d.ts +9 -0
  95. package/dist/canvas/schema/node-definition/handle.d.ts.map +1 -1
  96. package/dist/canvas/schema/node-definition/handle.js +6 -1
  97. package/dist/canvas/schema/node-definition/index.cjs +4 -1
  98. package/dist/canvas/schema/node-definition/index.d.ts +3 -3
  99. package/dist/canvas/schema/node-definition/index.d.ts.map +1 -1
  100. package/dist/canvas/schema/node-definition/index.js +2 -2
  101. package/dist/canvas/schema/node-definition/node-manifest.cjs +2 -1
  102. package/dist/canvas/schema/node-definition/node-manifest.d.ts +7 -0
  103. package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
  104. package/dist/canvas/schema/node-definition/node-manifest.js +2 -1
  105. package/dist/canvas/schema/node-instance/base.d.ts +1 -0
  106. package/dist/canvas/schema/node-instance/base.d.ts.map +1 -1
  107. package/dist/canvas/schema/node-instance/node.d.ts +1 -0
  108. package/dist/canvas/schema/node-instance/node.d.ts.map +1 -1
  109. package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
  110. package/dist/canvas/storybook-utils/manifests/index.d.ts +2 -1
  111. package/dist/canvas/storybook-utils/manifests/index.d.ts.map +1 -1
  112. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  113. package/dist/canvas/styles/reactflow-reset.css +2 -2
  114. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  115. package/dist/canvas/utils/NodeUtils.cjs +4 -0
  116. package/dist/canvas/utils/NodeUtils.d.ts +2 -1
  117. package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
  118. package/dist/canvas/utils/NodeUtils.js +2 -1
  119. package/dist/canvas/utils/collapse.cjs +13 -6
  120. package/dist/canvas/utils/collapse.d.ts.map +1 -1
  121. package/dist/canvas/utils/collapse.js +9 -2
  122. package/dist/canvas/utils/createPreviewGraph.cjs +126 -0
  123. package/dist/canvas/utils/createPreviewGraph.d.ts +36 -0
  124. package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -0
  125. package/dist/canvas/utils/createPreviewGraph.js +83 -0
  126. package/dist/canvas/utils/createPreviewNode.cjs +30 -11
  127. package/dist/canvas/utils/createPreviewNode.d.ts +10 -2
  128. package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
  129. package/dist/canvas/utils/createPreviewNode.js +21 -11
  130. package/dist/canvas/utils/index.cjs +33 -26
  131. package/dist/canvas/utils/index.d.ts +2 -1
  132. package/dist/canvas/utils/index.d.ts.map +1 -1
  133. package/dist/canvas/utils/index.js +2 -1
  134. package/package.json +1 -1
@@ -84,7 +84,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
84
84
  type: nodeItem.data.type,
85
85
  position: currentPreviewNode.position,
86
86
  selected: true,
87
- data: nodeData
87
+ data: nodeData,
88
+ parentId: currentPreviewNode.parentId,
89
+ extent: currentPreviewNode.extent
88
90
  };
89
91
  const newNodeManifest = registry?.getManifest(nodeItem.data.type);
90
92
  const newEdges = [];
@@ -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;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,CAqMxD,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"}
@@ -56,7 +56,9 @@ const AddNodeManager = ({ initializing, customPanel: CustomPanel, createNodeData
56
56
  type: nodeItem.data.type,
57
57
  position: currentPreviewNode.position,
58
58
  selected: true,
59
- data: nodeData
59
+ data: nodeData,
60
+ parentId: currentPreviewNode.parentId,
61
+ extent: currentPreviewNode.extent
60
62
  };
61
63
  const newNodeManifest = registry?.getManifest(nodeItem.data.type);
62
64
  const newEdges = [];
@@ -27,10 +27,16 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  createAddNodePreview: ()=>createAddNodePreview
28
28
  });
29
29
  const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
30
- const createPreviewNode_cjs_namespaceObject = require("../../utils/createPreviewNode.cjs");
30
+ const createPreviewGraph_cjs_namespaceObject = require("../../utils/createPreviewGraph.cjs");
31
31
  function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = react_cjs_namespaceObject.Position.Right, sourceHandleType = 'source', ignoredNodeTypes = []) {
32
- const preview = (0, createPreviewNode_cjs_namespaceObject.createPreviewNode)(sourceNodeId, sourceHandleId, reactFlowInstance, void 0, void 0, sourceHandleType, void 0, handlePosition, ignoredNodeTypes);
33
- if (preview) (0, createPreviewNode_cjs_namespaceObject.applyPreviewToReactFlow)(preview, reactFlowInstance);
32
+ (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
33
+ sourceNodeId,
34
+ sourceHandleId,
35
+ reactFlowInstance,
36
+ sourceHandleType,
37
+ handlePosition,
38
+ ignoredNodeTypes
39
+ });
34
40
  }
35
41
  exports.createAddNodePreview = __webpack_exports__.createAddNodePreview;
36
42
  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;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,CAiBN"}
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,7 +1,13 @@
1
1
  import { Position } from "../../xyflow/react.js";
2
- import { applyPreviewToReactFlow, createPreviewNode } from "../../utils/createPreviewNode.js";
2
+ import { showPreviewGraph } from "../../utils/createPreviewGraph.js";
3
3
  function createAddNodePreview(sourceNodeId, sourceHandleId, reactFlowInstance, handlePosition = Position.Right, sourceHandleType = 'source', ignoredNodeTypes = []) {
4
- const preview = createPreviewNode(sourceNodeId, sourceHandleId, reactFlowInstance, void 0, void 0, sourceHandleType, void 0, handlePosition, ignoredNodeTypes);
5
- if (preview) applyPreviewToReactFlow(preview, reactFlowInstance);
4
+ showPreviewGraph({
5
+ sourceNodeId,
6
+ sourceHandleId,
7
+ reactFlowInstance,
8
+ sourceHandleType,
9
+ handlePosition,
10
+ ignoredNodeTypes
11
+ });
6
12
  }
7
13
  export { createAddNodePreview };
@@ -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;
@@ -77,6 +77,7 @@ export declare const agentFlowManifest: {
77
77
  } | undefined;
78
78
  isDefaultForType?: boolean | undefined;
79
79
  }[];
80
+ boundary?: "outer" | "inner" | undefined;
80
81
  customPositionAndOffsets?: {
81
82
  height?: number | undefined;
82
83
  width?: number | undefined;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAa7B,CAAC"}
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"}
@@ -35,6 +35,7 @@ const external_hooks_index_cjs_namespaceObject = require("../../hooks/index.cjs"
35
35
  const adornment_resolver_cjs_namespaceObject = require("../../utils/adornment-resolver.cjs");
36
36
  const icon_registry_cjs_namespaceObject = require("../../utils/icon-registry.cjs");
37
37
  const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
38
+ const NodeUtils_cjs_namespaceObject = require("../../utils/NodeUtils.cjs");
38
39
  const toolbar_resolver_cjs_namespaceObject = require("../../utils/toolbar-resolver.cjs");
39
40
  const BaseCanvasModeProvider_cjs_namespaceObject = require("../BaseCanvas/BaseCanvasModeProvider.cjs");
40
41
  const CanvasThemeContext_cjs_namespaceObject = require("../BaseCanvas/CanvasThemeContext.cjs");
@@ -49,7 +50,6 @@ const external_BaseNodeContainer_cjs_namespaceObject = require("./BaseNodeContai
49
50
  const external_BaseNodeInnerShape_cjs_namespaceObject = require("./BaseNodeInnerShape.cjs");
50
51
  const external_BaseNodeMissingManifest_cjs_namespaceObject = require("./BaseNodeMissingManifest.cjs");
51
52
  const external_NodeLabel_cjs_namespaceObject = require("./NodeLabel.cjs");
52
- const selectIsConnecting = (state)=>!!state.connection.inProgress;
53
53
  const getContainerWidth = (shape, width)=>{
54
54
  const defaultWidth = 'rectangle' === shape ? external_constants_cjs_namespaceObject.DEFAULT_RECTANGLE_NODE_WIDTH : external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE;
55
55
  if (width && width !== external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE && width !== external_constants_cjs_namespaceObject.DEFAULT_RECTANGLE_NODE_WIDTH) return width;
@@ -69,7 +69,7 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
69
69
  return height || external_constants_cjs_namespaceObject.NODE_HEIGHT_DEFAULT;
70
70
  };
71
71
  const BaseNodeComponent = (props)=>{
72
- const { type, data, selected, id, dragging, width, height } = props;
72
+ const { type, data, selected, id, dragging, width, height, parentId } = props;
73
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)();
74
74
  const updateNodeInternals = (0, react_cjs_namespaceObject.useUpdateNodeInternals)();
75
75
  const { updateNodeData, updateNode } = (0, react_cjs_namespaceObject.useReactFlow)();
@@ -84,7 +84,7 @@ const BaseNodeComponent = (props)=>{
84
84
  const nodeTypeRegistry = (0, index_cjs_namespaceObject.useNodeTypeRegistry)();
85
85
  const { mode } = (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)();
86
86
  const connectedHandleIds = (0, ConnectedHandlesContext_cjs_namespaceObject.useConnectedHandles)(id);
87
- const isConnecting = (0, react_cjs_namespaceObject.useStore)(selectIsConnecting);
87
+ const isConnecting = (0, react_cjs_namespaceObject.useStore)(NodeUtils_cjs_namespaceObject.selectIsConnecting);
88
88
  const { multipleNodesSelected } = (0, SelectionStateContext_cjs_namespaceObject.useSelectionState)();
89
89
  const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
90
90
  const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type), [
@@ -340,7 +340,8 @@ const BaseNodeComponent = (props)=>{
340
340
  showNotches,
341
341
  nodeWidth: width,
342
342
  nodeHeight: height,
343
- shouldShowAddButtonFn
343
+ shouldShowAddButtonFn,
344
+ portalActions: !!parentId
344
345
  });
345
346
  const smartHandleElements = (0, external_react_namespaceObject.useMemo)(()=>{
346
347
  if (!useSmartHandles) return null;
@@ -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,EAAkB,MAAM,0CAA0C,CAAC;AAsChG,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AA+nB1B,eAAO,MAAM,QAAQ,8CAllBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAklBhB,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"}
@@ -7,6 +7,7 @@ import { useElementValidationStatus, useNodeExecutionState } from "../../hooks/i
7
7
  import { resolveAdornments } from "../../utils/adornment-resolver.js";
8
8
  import { getIcon } from "../../utils/icon-registry.js";
9
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;
@@ -41,7 +41,7 @@ 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
45
  const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = useBaseNodeOverrideConfig();
46
46
  const updateNodeInternals = useUpdateNodeInternals();
47
47
  const { updateNodeData, updateNode } = useReactFlow();
@@ -312,7 +312,8 @@ const BaseNodeComponent = (props)=>{
312
312
  showNotches,
313
313
  nodeWidth: width,
314
314
  nodeHeight: height,
315
- shouldShowAddButtonFn
315
+ shouldShowAddButtonFn,
316
+ portalActions: !!parentId
316
317
  });
317
318
  const smartHandleElements = useMemo(()=>{
318
319
  if (!useSmartHandles) return null;
@@ -30,6 +30,7 @@ __webpack_require__.d(__webpack_exports__, {
30
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
31
31
  const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
32
32
  const external_react_namespaceObject = require("react");
33
+ const external_constants_cjs_namespaceObject = require("../../constants.cjs");
33
34
  const CanvasEventBus_cjs_namespaceObject = require("../../utils/CanvasEventBus.cjs");
34
35
  const CssUtil_cjs_namespaceObject = require("../../utils/CssUtil.cjs");
35
36
  const external_ButtonHandleStyleUtils_cjs_namespaceObject = require("./ButtonHandleStyleUtils.cjs");
@@ -37,7 +38,14 @@ const external_HandleButton_cjs_namespaceObject = require("./HandleButton.cjs");
37
38
  const external_HandleLabel_cjs_namespaceObject = require("./HandleLabel.cjs");
38
39
  const external_HandleNotch_cjs_namespaceObject = require("./HandleNotch.cjs");
39
40
  const external_useButtonHandleSizeAndPosition_cjs_namespaceObject = require("./useButtonHandleSizeAndPosition.cjs");
40
- const ButtonHandleBase = ({ id, nodeId, type, position, handleType, label, labelIcon, labelBackgroundColor, visible = true, showButton = true, selected = false, index = 0, total = 1, onAction, showNotches = true, customPositionAndOffsets, nodeWidth, nodeHeight })=>{
41
+ const INWARD_HANDLE_ANCHOR_SIZE_PX = external_constants_cjs_namespaceObject.GRID_SPACING;
42
+ const INWARD_HANDLE_ANCHOR_RADIUS_PX = INWARD_HANDLE_ANCHOR_SIZE_PX / 2;
43
+ const INWARD_NOTCH_OVERLAP_PX = {
44
+ artifact: 5,
45
+ input: 4,
46
+ output: 6
47
+ };
48
+ const ButtonHandleBase = ({ id, nodeId, type, position, connectionPosition = position, handleType, label, labelIcon, labelBackgroundColor, visible = true, showButton = true, selected = false, index = 0, total = 1, onAction, showNotches = true, customPositionAndOffsets, nodeWidth, nodeHeight, portalAction = false })=>{
41
49
  const handleRef = (0, external_react_namespaceObject.useRef)(null);
42
50
  const [isHovered, setIsHovered] = (0, external_react_namespaceObject.useState)(false);
43
51
  const isVertical = position === react_cjs_namespaceObject.Position.Top || position === react_cjs_namespaceObject.Position.Bottom;
@@ -62,7 +70,7 @@ const ButtonHandleBase = ({ id, nodeId, type, position, handleType, label, label
62
70
  handleId: id,
63
71
  nodeId,
64
72
  handleType,
65
- position,
73
+ position: connectionPosition,
66
74
  originalEvent: event
67
75
  };
68
76
  onAction?.(actionEvent);
@@ -70,23 +78,83 @@ const ButtonHandleBase = ({ id, nodeId, type, position, handleType, label, label
70
78
  handleId: id,
71
79
  nodeId,
72
80
  handleType,
73
- position
81
+ position: connectionPosition
74
82
  });
75
83
  }, [
84
+ connectionPosition,
76
85
  id,
77
86
  nodeId,
78
87
  handleType,
79
- position,
80
88
  onAction
81
89
  ]);
82
90
  const markAsHovered = (0, external_react_namespaceObject.useCallback)(()=>setIsHovered(true), []);
83
91
  const unmarkAsHovered = (0, external_react_namespaceObject.useCallback)(()=>setIsHovered(false), []);
92
+ const showActionButton = !!onAction && 'source' === type;
84
93
  const { width: handleWidth, height: handleHeight, top, bottom, left, right, transform } = (0, external_useButtonHandleSizeAndPosition_cjs_namespaceObject.useButtonHandleSizeAndPosition)({
85
94
  position,
86
95
  positionPercent,
87
96
  numHandles: total,
88
97
  customPositionAndOffsets
89
98
  });
99
+ if (connectionPosition !== position) {
100
+ const layout = getInwardHandleLayout(position, handleType);
101
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
102
+ className: (0, CssUtil_cjs_namespaceObject.cx)('absolute flex overflow-visible', visible ? 'pointer-events-auto opacity-100' : 'pointer-events-none opacity-0'),
103
+ style: {
104
+ top,
105
+ bottom,
106
+ left,
107
+ right,
108
+ transform: layout.rootTransform
109
+ },
110
+ onMouseEnter: markAsHovered,
111
+ onMouseLeave: unmarkAsHovered,
112
+ onMouseDown: unmarkAsHovered,
113
+ children: [
114
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(InwardHandleContent, {
115
+ handleType: handleType,
116
+ isVertical: isVertical,
117
+ selected: selected,
118
+ hovered: isHovered,
119
+ showNotch: showNotches,
120
+ label: label,
121
+ labelIcon: labelIcon,
122
+ labelBackgroundColor: labelBackgroundColor,
123
+ layout: layout
124
+ }),
125
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_cjs_namespaceObject.Handle, {
126
+ ref: handleRef,
127
+ type: type,
128
+ position: connectionPosition,
129
+ id: id,
130
+ onMouseEnter: markAsHovered,
131
+ onMouseLeave: unmarkAsHovered,
132
+ onMouseDown: unmarkAsHovered,
133
+ className: (0, CssUtil_cjs_namespaceObject.cx)('absolute! z-20 flex! items-center! justify-center! overflow-visible! border-0! rounded-none! bg-transparent!', visible ? 'cursor-crosshair! pointer-events-auto! opacity-100' : 'cursor-default! pointer-events-none! opacity-0'),
134
+ style: {
135
+ ...layout.anchorStyle,
136
+ width: INWARD_HANDLE_ANCHOR_SIZE_PX,
137
+ height: INWARD_HANDLE_ANCHOR_SIZE_PX
138
+ }
139
+ }),
140
+ showActionButton ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_HandleButton_cjs_namespaceObject.HandleButton, {
141
+ visible: showButton,
142
+ labelVisible: visible,
143
+ position: connectionPosition,
144
+ onAction: handleButtonClick,
145
+ handleRef: handleRef
146
+ }) : null
147
+ ]
148
+ });
149
+ }
150
+ const portal = showActionButton && portalAction && !customPositionAndOffsets ? getHandleActionPortal({
151
+ nodeId,
152
+ position,
153
+ positionPercent,
154
+ total,
155
+ nodeWidth,
156
+ nodeHeight
157
+ }) : void 0;
90
158
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(react_cjs_namespaceObject.Handle, {
91
159
  ref: handleRef,
92
160
  type: type,
@@ -113,7 +181,7 @@ const ButtonHandleBase = ({ id, nodeId, type, position, handleType, label, label
113
181
  hovered: isHovered,
114
182
  showNotch: showNotches
115
183
  }),
116
- onAction && 'source' === type ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_HandleButton_cjs_namespaceObject.HandleButton, {
184
+ showActionButton ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_HandleButton_cjs_namespaceObject.HandleButton, {
117
185
  visible: showButton,
118
186
  labelVisible: visible,
119
187
  position: position,
@@ -121,7 +189,8 @@ const ButtonHandleBase = ({ id, nodeId, type, position, handleType, label, label
121
189
  handleRef: handleRef,
122
190
  label: label,
123
191
  labelIcon: labelIcon,
124
- labelBackgroundColor: labelBackgroundColor
192
+ labelBackgroundColor: labelBackgroundColor,
193
+ portal: portal
125
194
  }) : label && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_HandleLabel_cjs_namespaceObject.HandleLabel, {
126
195
  position: position,
127
196
  backgroundColor: labelBackgroundColor,
@@ -132,7 +201,142 @@ const ButtonHandleBase = ({ id, nodeId, type, position, handleType, label, label
132
201
  });
133
202
  };
134
203
  const ButtonHandle = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(ButtonHandleBase);
135
- const ButtonHandlesBase = ({ nodeId, handles, position, selected = false, hovered = false, visible = true, showAddButton = true, showNotches = true, customPositionAndOffsets, shouldShowAddButtonFn = ({ showAddButton, selected, hovered })=>showAddButton && (selected || hovered), nodeWidth, nodeHeight })=>{
204
+ function getHandleActionPortal({ nodeId, position, positionPercent, total, nodeWidth, nodeHeight }) {
205
+ if (!nodeWidth || !nodeHeight) return;
206
+ const edgeCoverageRatio = external_ButtonHandleStyleUtils_cjs_namespaceObject.HANDLE_EDGE_COVERAGE_RATIO / total;
207
+ const horizontalWidth = nodeWidth * edgeCoverageRatio;
208
+ const verticalHeight = nodeHeight * edgeCoverageRatio;
209
+ const x = positionPercent / 100 * nodeWidth;
210
+ const y = positionPercent / 100 * nodeHeight;
211
+ switch(position){
212
+ case react_cjs_namespaceObject.Position.Top:
213
+ return {
214
+ nodeId,
215
+ left: x,
216
+ top: 0,
217
+ width: horizontalWidth,
218
+ height: external_ButtonHandleStyleUtils_cjs_namespaceObject.HANDLE_CROSS_AXIS_SIZE_PX,
219
+ transform: 'translate(-50%, -50%)'
220
+ };
221
+ case react_cjs_namespaceObject.Position.Bottom:
222
+ return {
223
+ nodeId,
224
+ left: x,
225
+ top: nodeHeight - external_ButtonHandleStyleUtils_cjs_namespaceObject.HANDLE_CROSS_AXIS_SIZE_PX,
226
+ width: horizontalWidth,
227
+ height: external_ButtonHandleStyleUtils_cjs_namespaceObject.HANDLE_CROSS_AXIS_SIZE_PX,
228
+ transform: 'translate(-50%, 50%)'
229
+ };
230
+ case react_cjs_namespaceObject.Position.Left:
231
+ return {
232
+ nodeId,
233
+ left: 0,
234
+ top: y,
235
+ width: external_ButtonHandleStyleUtils_cjs_namespaceObject.HANDLE_CROSS_AXIS_SIZE_PX,
236
+ height: verticalHeight,
237
+ transform: 'translate(-50%, -50%)'
238
+ };
239
+ case react_cjs_namespaceObject.Position.Right:
240
+ return {
241
+ nodeId,
242
+ left: nodeWidth - external_ButtonHandleStyleUtils_cjs_namespaceObject.HANDLE_CROSS_AXIS_SIZE_PX,
243
+ top: y,
244
+ width: external_ButtonHandleStyleUtils_cjs_namespaceObject.HANDLE_CROSS_AXIS_SIZE_PX,
245
+ height: verticalHeight,
246
+ transform: 'translate(50%, -50%)'
247
+ };
248
+ }
249
+ }
250
+ function InwardHandleContent({ handleType, isVertical, selected, hovered, showNotch, label, labelIcon, labelBackgroundColor, layout }) {
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'),
253
+ style: labelBackgroundColor ? {
254
+ backgroundColor: labelBackgroundColor
255
+ } : void 0,
256
+ children: [
257
+ labelIcon,
258
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
259
+ children: label
260
+ })
261
+ ]
262
+ }) : null;
263
+ const notchElement = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
264
+ className: "relative z-10 flex shrink-0",
265
+ style: layout.notchStyle,
266
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_HandleNotch_cjs_namespaceObject.HandleNotch, {
267
+ handleType: handleType,
268
+ isVertical: isVertical,
269
+ selected: selected,
270
+ hovered: hovered,
271
+ showNotch: showNotch
272
+ })
273
+ });
274
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
275
+ className: (0, CssUtil_cjs_namespaceObject.cx)('flex items-center', layout.contentDirectionClassName),
276
+ children: [
277
+ labelElement,
278
+ notchElement
279
+ ]
280
+ });
281
+ }
282
+ function getInwardHandleLayout(position, handleType) {
283
+ const notchOverlap = -INWARD_NOTCH_OVERLAP_PX[handleType];
284
+ switch(position){
285
+ case react_cjs_namespaceObject.Position.Left:
286
+ return {
287
+ rootTransform: 'translate(0, -50%)',
288
+ contentDirectionClassName: 'flex-row',
289
+ notchStyle: {
290
+ marginLeft: notchOverlap
291
+ },
292
+ anchorStyle: {
293
+ left: `calc(100% - ${INWARD_HANDLE_ANCHOR_RADIUS_PX}px)`,
294
+ top: '50%',
295
+ transform: 'translateY(-50%)'
296
+ }
297
+ };
298
+ case react_cjs_namespaceObject.Position.Right:
299
+ return {
300
+ rootTransform: 'translate(0, -50%)',
301
+ contentDirectionClassName: 'flex-row-reverse',
302
+ notchStyle: {
303
+ marginRight: notchOverlap
304
+ },
305
+ anchorStyle: {
306
+ left: -INWARD_HANDLE_ANCHOR_RADIUS_PX,
307
+ top: '50%',
308
+ transform: 'translateY(-50%)'
309
+ }
310
+ };
311
+ case react_cjs_namespaceObject.Position.Top:
312
+ return {
313
+ rootTransform: 'translate(-50%, 0)',
314
+ contentDirectionClassName: 'flex-col',
315
+ notchStyle: {
316
+ marginTop: notchOverlap
317
+ },
318
+ anchorStyle: {
319
+ left: '50%',
320
+ top: `calc(100% - ${INWARD_HANDLE_ANCHOR_RADIUS_PX}px)`,
321
+ transform: 'translateX(-50%)'
322
+ }
323
+ };
324
+ case react_cjs_namespaceObject.Position.Bottom:
325
+ return {
326
+ rootTransform: 'translate(-50%, 0)',
327
+ contentDirectionClassName: 'flex-col-reverse',
328
+ notchStyle: {
329
+ marginBottom: notchOverlap
330
+ },
331
+ anchorStyle: {
332
+ left: '50%',
333
+ top: -INWARD_HANDLE_ANCHOR_RADIUS_PX,
334
+ transform: 'translateX(-50%)'
335
+ }
336
+ };
337
+ }
338
+ }
339
+ const ButtonHandlesBase = ({ nodeId, handles, position, connectionPosition = position, selected = false, hovered = false, visible = true, showAddButton = true, showNotches = true, customPositionAndOffsets, shouldShowAddButtonFn = ({ showAddButton, selected, hovered })=>showAddButton && (selected || hovered), nodeWidth, nodeHeight, portalActions = false })=>{
136
340
  const finalSelected = shouldShowAddButtonFn({
137
341
  showAddButton,
138
342
  selected,
@@ -143,14 +347,17 @@ const ButtonHandlesBase = ({ nodeId, handles, position, selected = false, hovere
143
347
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
144
348
  children: [
145
349
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_HandleButton_cjs_namespaceObject.HandleHoverBridge, {
146
- position: position,
350
+ position: connectionPosition,
147
351
  visible: hasSourceButtons && finalSelected
148
352
  }),
149
- visibleHandles.map((handle, index)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ButtonHandle, {
353
+ visibleHandles.map((handle, index)=>{
354
+ const handleVisible = handle.showHandle ?? visible;
355
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ButtonHandle, {
150
356
  id: handle.id,
151
357
  nodeId: nodeId,
152
358
  type: handle.type,
153
359
  position: position,
360
+ connectionPosition: connectionPosition,
154
361
  handleType: handle.handleType,
155
362
  label: handle.label,
156
363
  labelIcon: handle.labelIcon,
@@ -158,14 +365,16 @@ const ButtonHandlesBase = ({ nodeId, handles, position, selected = false, hovere
158
365
  index: index,
159
366
  total: visibleHandles.length,
160
367
  selected: selected,
161
- visible: handle.showHandle ?? visible,
162
- showButton: finalSelected && (handle.showHandle ?? visible) && handle.showButton,
368
+ visible: handleVisible,
369
+ showButton: finalSelected && handleVisible && handle.showButton,
163
370
  onAction: handle.onAction,
164
371
  showNotches: showNotches,
165
372
  customPositionAndOffsets: customPositionAndOffsets,
166
373
  nodeWidth: nodeWidth,
167
- nodeHeight: nodeHeight
168
- }, handle.id))
374
+ nodeHeight: nodeHeight,
375
+ portalAction: portalActions && 'source' === handle.type
376
+ }, handle.id);
377
+ })
169
378
  ]
170
379
  });
171
380
  };
@@ -1,9 +1,10 @@
1
1
  import { Position } from '../../xyflow/react.ts';
2
2
  import type { HandleConfigurationSpecificPosition } from '../../schema/node-definition/handle';
3
+ import { type HandleType } from './HandleNotch';
3
4
  export interface HandleActionEvent {
4
5
  handleId: string;
5
6
  nodeId: string;
6
- handleType: 'artifact' | 'input' | 'output';
7
+ handleType: HandleType;
7
8
  position: Position;
8
9
  originalEvent: React.MouseEvent;
9
10
  }
@@ -12,7 +13,8 @@ type ButtonHandleProps = {
12
13
  nodeId: string;
13
14
  type: 'source' | 'target';
14
15
  position: Position;
15
- handleType: 'artifact' | 'input' | 'output';
16
+ connectionPosition?: Position;
17
+ handleType: HandleType;
16
18
  label?: string;
17
19
  labelIcon?: React.ReactNode;
18
20
  labelBackgroundColor?: string;
@@ -26,12 +28,13 @@ type ButtonHandleProps = {
26
28
  customPositionAndOffsets?: HandleConfigurationSpecificPosition;
27
29
  nodeWidth?: number;
28
30
  nodeHeight?: number;
31
+ portalAction?: boolean;
29
32
  };
30
- export declare const ButtonHandle: import("react").MemoExoticComponent<({ id, nodeId, type, position, handleType, label, labelIcon, labelBackgroundColor, visible, showButton, selected, index, total, onAction, showNotches, customPositionAndOffsets, nodeWidth, nodeHeight, }: ButtonHandleProps) => import("react/jsx-runtime").JSX.Element>;
33
+ export declare const ButtonHandle: import("react").MemoExoticComponent<({ id, nodeId, type, position, connectionPosition, handleType, label, labelIcon, labelBackgroundColor, visible, showButton, selected, index, total, onAction, showNotches, customPositionAndOffsets, nodeWidth, nodeHeight, portalAction, }: ButtonHandleProps) => import("react/jsx-runtime").JSX.Element>;
31
34
  export interface ButtonHandleConfig {
32
35
  id: string;
33
36
  type: 'source' | 'target';
34
- handleType: 'artifact' | 'input' | 'output';
37
+ handleType: HandleType;
35
38
  label?: string;
36
39
  labelIcon?: React.ReactNode;
37
40
  showButton?: boolean;
@@ -41,10 +44,11 @@ export interface ButtonHandleConfig {
41
44
  onAction?: (event: HandleActionEvent) => void;
42
45
  customPositionAndOffsets?: HandleConfigurationSpecificPosition;
43
46
  }
44
- export declare const ButtonHandles: import("react").MemoExoticComponent<({ nodeId, handles, position, selected, hovered, visible, showAddButton, showNotches, customPositionAndOffsets, shouldShowAddButtonFn, nodeWidth, nodeHeight, }: {
47
+ export declare const ButtonHandles: import("react").MemoExoticComponent<({ nodeId, handles, position, connectionPosition, selected, hovered, visible, showAddButton, showNotches, customPositionAndOffsets, shouldShowAddButtonFn, nodeWidth, nodeHeight, portalActions, }: {
45
48
  nodeId: string;
46
49
  handles: ButtonHandleConfig[];
47
50
  position: Position;
51
+ connectionPosition?: Position;
48
52
  selected?: boolean;
49
53
  hovered?: boolean;
50
54
  visible?: boolean;
@@ -53,6 +57,7 @@ export declare const ButtonHandles: import("react").MemoExoticComponent<({ nodeI
53
57
  customPositionAndOffsets?: HandleConfigurationSpecificPosition;
54
58
  nodeWidth?: number;
55
59
  nodeHeight?: number;
60
+ portalActions?: boolean;
56
61
  shouldShowAddButtonFn?: ({ showAddButton, selected, hovered, }: {
57
62
  showAddButton: boolean;
58
63
  selected: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonHandle.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/ButtonHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAE5E,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAS/F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC;CACjC;AAED,KAAK,iBAAiB,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB,CAAC,EAAE,mCAAmC,CAAC;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAiJF,eAAO,MAAM,YAAY,iPA5HtB,iBAAiB,6CA4H8B,CAAC;AAEnD,MAAM,WAAW,kBAAkB;IAEjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,wBAAwB,CAAC,EAAE,mCAAmC,CAAC;CAChE;AAuFD,eAAO,MAAM,aAAa,uMAvEvB;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB,CAAC,EAAE,mCAAmC,CAAC;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,qBAAqB,CAAC,EAAE,CAAC,EACvB,aAAa,EACb,QAAQ,EACR,OAAO,GACR,EAAE;QACD,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,OAAO,EAAE,OAAO,CAAC;KAClB,KAAK,OAAO,CAAC;CACf,6CAyCmD,CAAC"}
1
+ {"version":3,"file":"ButtonHandle.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/ButtonHandle.tsx"],"names":[],"mappings":"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"}