@uipath/apollo-react 4.14.0 → 4.14.1-pr556.55acf00

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 (207) hide show
  1. package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +9 -3
  2. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +9 -3
  4. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +1 -0
  5. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts.map +1 -1
  6. package/dist/canvas/components/BaseNode/BaseNode.cjs +11 -5
  7. package/dist/canvas/components/BaseNode/BaseNode.d.ts +2 -1
  8. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  9. package/dist/canvas/components/BaseNode/BaseNode.js +9 -6
  10. package/dist/canvas/components/BaseNode/BaseNode.types.d.ts +3 -0
  11. package/dist/canvas/components/BaseNode/BaseNode.types.d.ts.map +1 -1
  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 +17 -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 +17 -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 +34 -25
  31. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts +8 -2
  32. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
  33. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +36 -27
  34. package/dist/canvas/components/HierarchicalCanvas/index.d.ts +1 -1
  35. package/dist/canvas/components/HierarchicalCanvas/index.d.ts.map +1 -1
  36. package/dist/canvas/components/LoopNode/LoopCanvasNode.cjs +86 -0
  37. package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts +6 -0
  38. package/dist/canvas/components/LoopNode/LoopCanvasNode.d.ts.map +1 -0
  39. package/dist/canvas/components/LoopNode/LoopCanvasNode.js +52 -0
  40. package/dist/canvas/components/LoopNode/LoopNode.cjs +434 -0
  41. package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +81 -0
  42. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +13 -0
  43. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +1 -0
  44. package/dist/canvas/components/LoopNode/LoopNode.constants.js +14 -0
  45. package/dist/canvas/components/LoopNode/LoopNode.d.ts +5 -0
  46. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -0
  47. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +144 -0
  48. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +29 -0
  49. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -0
  50. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +98 -0
  51. package/dist/canvas/components/LoopNode/LoopNode.js +400 -0
  52. package/dist/canvas/components/LoopNode/LoopNode.types.cjs +18 -0
  53. package/dist/canvas/components/LoopNode/LoopNode.types.d.ts +22 -0
  54. package/dist/canvas/components/LoopNode/LoopNode.types.d.ts.map +1 -0
  55. package/dist/canvas/components/LoopNode/LoopNode.types.js +0 -0
  56. package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +61 -0
  57. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts +9 -0
  58. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -0
  59. package/dist/canvas/components/LoopNode/LoopNodePreview.js +27 -0
  60. package/dist/canvas/components/LoopNode/index.cjs +79 -0
  61. package/dist/canvas/components/LoopNode/index.d.ts +5 -0
  62. package/dist/canvas/components/LoopNode/index.d.ts.map +1 -0
  63. package/dist/canvas/components/LoopNode/index.js +4 -0
  64. package/dist/canvas/components/NodeViewportOverlay.cjs +63 -0
  65. package/dist/canvas/components/NodeViewportOverlay.d.ts +22 -0
  66. package/dist/canvas/components/NodeViewportOverlay.d.ts.map +1 -0
  67. package/dist/canvas/components/NodeViewportOverlay.js +29 -0
  68. package/dist/canvas/components/StageNode/StageNodeHeader.cjs +6 -1
  69. package/dist/canvas/components/StageNode/StageNodeHeader.d.ts.map +1 -1
  70. package/dist/canvas/components/StageNode/StageNodeHeader.js +6 -1
  71. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.cjs +1 -1
  72. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.js +1 -1
  73. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +25 -23
  74. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  75. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +27 -25
  76. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +10 -3
  77. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts +1 -1
  78. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
  79. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +10 -3
  80. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts +1 -0
  81. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts.map +1 -1
  82. package/dist/canvas/components/index.cjs +27 -20
  83. package/dist/canvas/components/index.d.ts +1 -0
  84. package/dist/canvas/components/index.d.ts.map +1 -1
  85. package/dist/canvas/components/index.js +1 -0
  86. package/dist/canvas/constants.cjs +4 -0
  87. package/dist/canvas/constants.d.ts +1 -0
  88. package/dist/canvas/constants.d.ts.map +1 -1
  89. package/dist/canvas/constants.js +2 -1
  90. package/dist/canvas/core/NodeTypeRegistry.cjs +50 -26
  91. package/dist/canvas/core/NodeTypeRegistry.d.ts +10 -5
  92. package/dist/canvas/core/NodeTypeRegistry.d.ts.map +1 -1
  93. package/dist/canvas/core/NodeTypeRegistry.js +50 -26
  94. package/dist/canvas/core/useNodeTypeRegistry.cjs +13 -3
  95. package/dist/canvas/core/useNodeTypeRegistry.d.ts +2 -1
  96. package/dist/canvas/core/useNodeTypeRegistry.d.ts.map +1 -1
  97. package/dist/canvas/core/useNodeTypeRegistry.js +11 -4
  98. package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +22 -23
  99. package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
  100. package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +23 -24
  101. package/dist/canvas/hooks/usePreviewNode.cjs +7 -3
  102. package/dist/canvas/hooks/usePreviewNode.d.ts.map +1 -1
  103. package/dist/canvas/hooks/usePreviewNode.js +7 -3
  104. package/dist/canvas/locales/de.cjs +1 -1
  105. package/dist/canvas/locales/de.d.ts.map +1 -1
  106. package/dist/canvas/locales/de.js +1 -1
  107. package/dist/canvas/locales/es-MX.cjs +1 -1
  108. package/dist/canvas/locales/es-MX.d.ts.map +1 -1
  109. package/dist/canvas/locales/es-MX.js +1 -1
  110. package/dist/canvas/locales/es.cjs +1 -1
  111. package/dist/canvas/locales/es.d.ts.map +1 -1
  112. package/dist/canvas/locales/es.js +1 -1
  113. package/dist/canvas/locales/fr.cjs +1 -1
  114. package/dist/canvas/locales/fr.d.ts.map +1 -1
  115. package/dist/canvas/locales/fr.js +1 -1
  116. package/dist/canvas/locales/ja.cjs +1 -1
  117. package/dist/canvas/locales/ja.d.ts.map +1 -1
  118. package/dist/canvas/locales/ja.js +1 -1
  119. package/dist/canvas/locales/ko.cjs +1 -1
  120. package/dist/canvas/locales/ko.d.ts.map +1 -1
  121. package/dist/canvas/locales/ko.js +1 -1
  122. package/dist/canvas/locales/pt-BR.cjs +1 -1
  123. package/dist/canvas/locales/pt-BR.d.ts.map +1 -1
  124. package/dist/canvas/locales/pt-BR.js +1 -1
  125. package/dist/canvas/locales/pt.cjs +1 -1
  126. package/dist/canvas/locales/pt.d.ts.map +1 -1
  127. package/dist/canvas/locales/pt.js +1 -1
  128. package/dist/canvas/locales/tr.cjs +1 -1
  129. package/dist/canvas/locales/tr.d.ts.map +1 -1
  130. package/dist/canvas/locales/tr.js +1 -1
  131. package/dist/canvas/locales/zh-CN.cjs +1 -1
  132. package/dist/canvas/locales/zh-CN.d.ts.map +1 -1
  133. package/dist/canvas/locales/zh-CN.js +1 -1
  134. package/dist/canvas/locales/zh-TW.cjs +1 -1
  135. package/dist/canvas/locales/zh-TW.d.ts.map +1 -1
  136. package/dist/canvas/locales/zh-TW.js +1 -1
  137. package/dist/canvas/schema/node-definition/handle.cjs +10 -2
  138. package/dist/canvas/schema/node-definition/handle.d.ts +9 -0
  139. package/dist/canvas/schema/node-definition/handle.d.ts.map +1 -1
  140. package/dist/canvas/schema/node-definition/handle.js +6 -1
  141. package/dist/canvas/schema/node-definition/index.cjs +4 -1
  142. package/dist/canvas/schema/node-definition/index.d.ts +3 -3
  143. package/dist/canvas/schema/node-definition/index.d.ts.map +1 -1
  144. package/dist/canvas/schema/node-definition/index.js +2 -2
  145. package/dist/canvas/schema/node-definition/node-manifest.d.ts +4 -0
  146. package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
  147. package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts +6 -0
  148. package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
  149. package/dist/canvas/storybook-utils/manifests/index.d.ts +1 -0
  150. package/dist/canvas/storybook-utils/manifests/index.d.ts.map +1 -1
  151. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  152. package/dist/canvas/storybook-utils/mocks/nodes.d.ts +1 -1
  153. package/dist/canvas/storybook-utils/mocks/nodes.d.ts.map +1 -1
  154. package/dist/canvas/styles/reactflow-reset.css +2 -2
  155. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  156. package/dist/canvas/utils/collapse.cjs +13 -6
  157. package/dist/canvas/utils/collapse.d.ts +2 -2
  158. package/dist/canvas/utils/collapse.d.ts.map +1 -1
  159. package/dist/canvas/utils/collapse.js +9 -2
  160. package/dist/canvas/utils/createPreviewGraph.cjs +126 -0
  161. package/dist/canvas/utils/createPreviewGraph.d.ts +36 -0
  162. package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -0
  163. package/dist/canvas/utils/createPreviewGraph.js +83 -0
  164. package/dist/canvas/utils/createPreviewNode.cjs +30 -11
  165. package/dist/canvas/utils/createPreviewNode.d.ts +10 -2
  166. package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
  167. package/dist/canvas/utils/createPreviewNode.js +21 -11
  168. package/dist/canvas/utils/index.cjs +33 -26
  169. package/dist/canvas/utils/index.d.ts +2 -1
  170. package/dist/canvas/utils/index.d.ts.map +1 -1
  171. package/dist/canvas/utils/index.js +2 -1
  172. package/dist/canvas/utils/manifest-resolver.cjs +8 -0
  173. package/dist/canvas/utils/manifest-resolver.d.ts +1 -0
  174. package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
  175. package/dist/canvas/utils/manifest-resolver.js +6 -1
  176. package/dist/material/components/ap-tool-call/locales/de.cjs +1 -1
  177. package/dist/material/components/ap-tool-call/locales/de.d.ts.map +1 -1
  178. package/dist/material/components/ap-tool-call/locales/de.js +1 -1
  179. package/dist/material/components/ap-tool-call/locales/es-MX.cjs +1 -1
  180. package/dist/material/components/ap-tool-call/locales/es-MX.js +1 -1
  181. package/dist/material/components/ap-tool-call/locales/es.cjs +1 -1
  182. package/dist/material/components/ap-tool-call/locales/es.js +1 -1
  183. package/dist/material/components/ap-tool-call/locales/fr.cjs +1 -1
  184. package/dist/material/components/ap-tool-call/locales/fr.d.ts.map +1 -1
  185. package/dist/material/components/ap-tool-call/locales/fr.js +1 -1
  186. package/dist/material/components/ap-tool-call/locales/ja.cjs +1 -1
  187. package/dist/material/components/ap-tool-call/locales/ja.d.ts.map +1 -1
  188. package/dist/material/components/ap-tool-call/locales/ja.js +1 -1
  189. package/dist/material/components/ap-tool-call/locales/ko.cjs +1 -1
  190. package/dist/material/components/ap-tool-call/locales/ko.d.ts.map +1 -1
  191. package/dist/material/components/ap-tool-call/locales/ko.js +1 -1
  192. package/dist/material/components/ap-tool-call/locales/pt-BR.cjs +1 -1
  193. package/dist/material/components/ap-tool-call/locales/pt-BR.d.ts.map +1 -1
  194. package/dist/material/components/ap-tool-call/locales/pt-BR.js +1 -1
  195. package/dist/material/components/ap-tool-call/locales/pt.cjs +1 -1
  196. package/dist/material/components/ap-tool-call/locales/pt.d.ts.map +1 -1
  197. package/dist/material/components/ap-tool-call/locales/pt.js +1 -1
  198. package/dist/material/components/ap-tool-call/locales/tr.cjs +1 -1
  199. package/dist/material/components/ap-tool-call/locales/tr.d.ts.map +1 -1
  200. package/dist/material/components/ap-tool-call/locales/tr.js +1 -1
  201. package/dist/material/components/ap-tool-call/locales/zh-CN.cjs +1 -1
  202. package/dist/material/components/ap-tool-call/locales/zh-CN.d.ts.map +1 -1
  203. package/dist/material/components/ap-tool-call/locales/zh-CN.js +1 -1
  204. package/dist/material/components/ap-tool-call/locales/zh-TW.cjs +1 -1
  205. package/dist/material/components/ap-tool-call/locales/zh-TW.d.ts.map +1 -1
  206. package/dist/material/components/ap-tool-call/locales/zh-TW.js +1 -1
  207. package/package.json +2 -2
@@ -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 };
@@ -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"}
@@ -24,6 +24,7 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ selectIsConnecting: ()=>selectIsConnecting,
27
28
  BaseNode: ()=>BaseNode
28
29
  });
29
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
@@ -69,7 +70,8 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
69
70
  return height || external_constants_cjs_namespaceObject.NODE_HEIGHT_DEFAULT;
70
71
  };
71
72
  const BaseNodeComponent = (props)=>{
72
- const { type, data, selected, id, dragging, width, height } = props;
73
+ const { type, data, selected, id, dragging, width, height, parentId } = props;
74
+ const nodeVersion = (0, manifest_resolver_cjs_namespaceObject.getNodeTypeVersion)(data);
73
75
  const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = (0, external_BaseNodeConfigContext_cjs_namespaceObject.useBaseNodeOverrideConfig)();
74
76
  const updateNodeInternals = (0, react_cjs_namespaceObject.useUpdateNodeInternals)();
75
77
  const { updateNodeData, updateNode } = (0, react_cjs_namespaceObject.useReactFlow)();
@@ -87,9 +89,10 @@ const BaseNodeComponent = (props)=>{
87
89
  const isConnecting = (0, react_cjs_namespaceObject.useStore)(selectIsConnecting);
88
90
  const { multipleNodesSelected } = (0, SelectionStateContext_cjs_namespaceObject.useSelectionState)();
89
91
  const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
90
- const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type), [
92
+ const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type, nodeVersion), [
91
93
  type,
92
- nodeTypeRegistry
94
+ nodeTypeRegistry,
95
+ nodeVersion
93
96
  ]);
94
97
  const statusContext = (0, external_react_namespaceObject.useMemo)(()=>({
95
98
  nodeId: id,
@@ -340,7 +343,8 @@ const BaseNodeComponent = (props)=>{
340
343
  showNotches,
341
344
  nodeWidth: width,
342
345
  nodeHeight: height,
343
- shouldShowAddButtonFn
346
+ shouldShowAddButtonFn,
347
+ portalActions: !!parentId
344
348
  });
345
349
  const smartHandleElements = (0, external_react_namespaceObject.useMemo)(()=>{
346
350
  if (!useSmartHandles) return null;
@@ -485,8 +489,10 @@ const BaseNodeComponent = (props)=>{
485
489
  };
486
490
  const BaseNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(BaseNodeComponent);
487
491
  exports.BaseNode = __webpack_exports__.BaseNode;
492
+ exports.selectIsConnecting = __webpack_exports__.selectIsConnecting;
488
493
  for(var __rspack_i in __webpack_exports__)if (-1 === [
489
- "BaseNode"
494
+ "BaseNode",
495
+ "selectIsConnecting"
490
496
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
491
497
  Object.defineProperty(exports, '__esModule', {
492
498
  value: true
@@ -1,4 +1,5 @@
1
- import type { Node, NodeProps } from '../../xyflow/react.ts';
1
+ import type { Node, NodeProps, ReactFlowState } from '../../xyflow/react.ts';
2
2
  import type { BaseNodeData } from './BaseNode.types';
3
+ export declare const selectIsConnecting: (state: ReactFlowState) => boolean;
3
4
  export declare const BaseNode: import("react").MemoExoticComponent<(props: NodeProps<Node<BaseNodeData>>) => import("react/jsx-runtime").JSX.Element>;
4
5
  //# sourceMappingURL=BaseNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,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,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAsChG,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAa1B,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAunB3F,eAAO,MAAM,QAAQ,8CAvlBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAulBhB,CAAC"}
@@ -6,7 +6,7 @@ import { useNodeTypeRegistry } from "../../core/index.js";
6
6
  import { useElementValidationStatus, useNodeExecutionState } from "../../hooks/index.js";
7
7
  import { resolveAdornments } from "../../utils/adornment-resolver.js";
8
8
  import { getIcon } from "../../utils/icon-registry.js";
9
- import { resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
9
+ import { getNodeTypeVersion, resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
10
10
  import { resolveToolbar } from "../../utils/toolbar-resolver.js";
11
11
  import { useBaseCanvasMode } from "../BaseCanvas/BaseCanvasModeProvider.js";
12
12
  import { useCanvasTheme } from "../BaseCanvas/CanvasThemeContext.js";
@@ -41,7 +41,8 @@ const getContainerHeight = (height, hasFooter, footerVariant)=>{
41
41
  return height || NODE_HEIGHT_DEFAULT;
42
42
  };
43
43
  const BaseNodeComponent = (props)=>{
44
- const { type, data, selected, id, dragging, width, height } = props;
44
+ const { type, data, selected, id, dragging, width, height, parentId } = props;
45
+ const nodeVersion = getNodeTypeVersion(data);
45
46
  const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = useBaseNodeOverrideConfig();
46
47
  const updateNodeInternals = useUpdateNodeInternals();
47
48
  const { updateNodeData, updateNode } = useReactFlow();
@@ -59,9 +60,10 @@ const BaseNodeComponent = (props)=>{
59
60
  const isConnecting = useStore(selectIsConnecting);
60
61
  const { multipleNodesSelected } = useSelectionState();
61
62
  const { isDarkMode } = useCanvasTheme();
62
- const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type), [
63
+ const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type, nodeVersion), [
63
64
  type,
64
- nodeTypeRegistry
65
+ nodeTypeRegistry,
66
+ nodeVersion
65
67
  ]);
66
68
  const statusContext = useMemo(()=>({
67
69
  nodeId: id,
@@ -312,7 +314,8 @@ const BaseNodeComponent = (props)=>{
312
314
  showNotches,
313
315
  nodeWidth: width,
314
316
  nodeHeight: height,
315
- shouldShowAddButtonFn
317
+ shouldShowAddButtonFn,
318
+ portalActions: !!parentId
316
319
  });
317
320
  const smartHandleElements = useMemo(()=>{
318
321
  if (!useSmartHandles) return null;
@@ -456,4 +459,4 @@ const BaseNodeComponent = (props)=>{
456
459
  return nodeContent;
457
460
  };
458
461
  const BaseNode = /*#__PURE__*/ memo(BaseNodeComponent);
459
- export { BaseNode };
462
+ export { BaseNode, selectIsConnecting };
@@ -3,6 +3,9 @@ import type { ExecutionState } from '../../types/execution';
3
3
  import type { ValidationState } from '../../types/validation';
4
4
  export type FooterVariant = 'none' | 'button' | 'single' | 'double';
5
5
  export interface BaseNodeData extends Record<string, unknown> {
6
+ nodeType?: string;
7
+ typeVersion?: string;
8
+ parameters?: Record<string, unknown>;
6
9
  display?: {
7
10
  label?: string;
8
11
  subLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;IAM1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;IAM1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -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":"AAAA,OAAO,EAAU,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAG5E,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,qCAAqC,CAAC;AAW/F,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAG7D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC;CACjC;AAUD,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;IAGnB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,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;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAiOF,eAAO,MAAM,YAAY,mRA1MtB,iBAAiB,6CA0M8B,CAAC;AAqLnD,MAAM,WAAW,kBAAkB;IAEjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,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;AAqGD,eAAO,MAAM,aAAa,0OAnFvB;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,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;IAEpB,aAAa,CAAC,EAAE,OAAO,CAAC;IAUxB,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,6CAkDmD,CAAC"}