@uipath/apollo-react 4.15.0 → 4.15.1-pr556.f7e5934

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
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.r = (exports1)=>{
5
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
6
+ value: 'Module'
7
+ });
8
+ Object.defineProperty(exports1, '__esModule', {
9
+ value: true
10
+ });
11
+ };
12
+ })();
13
+ var __webpack_exports__ = {};
14
+ __webpack_require__.r(__webpack_exports__);
15
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
+ Object.defineProperty(exports, '__esModule', {
17
+ value: true
18
+ });
@@ -0,0 +1,22 @@
1
+ import type { Node, NodeProps } from '../../xyflow/react.ts';
2
+ import type { SuggestionType } from '../../types';
3
+ import type { ElementStatusValues } from '../../types/execution';
4
+ import type { BaseNodeData } from '../BaseNode';
5
+ import type { NodeAdornments } from '../BaseNode/BaseNode.types';
6
+ import type { NodeToolbarConfig } from '../Toolbar';
7
+ export type LoopNodeData = BaseNodeData;
8
+ export interface LoopNodeResizeSize {
9
+ width: number;
10
+ height: number;
11
+ }
12
+ export interface LoopNodeConfig {
13
+ toolbarConfig?: NodeToolbarConfig | null;
14
+ adornments?: NodeAdornments;
15
+ executionStatusOverride?: ElementStatusValues;
16
+ suggestionType?: SuggestionType;
17
+ }
18
+ export interface LoopNodeProps extends NodeProps<Node<LoopNodeData>>, LoopNodeConfig {
19
+ onAddFirstChild?: () => void;
20
+ onResize?: (size: LoopNodeResizeSize) => void;
21
+ }
22
+ //# sourceMappingURL=LoopNode.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoopNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC;AAExC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,uBAAuB,CAAC,EAAE,mBAAmB,CAAC;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,cAAc;IAClF,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC/C"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ showCenteredContainerPreview: ()=>showCenteredContainerPreview
28
+ });
29
+ const createPreviewGraph_cjs_namespaceObject = require("../../utils/createPreviewGraph.cjs");
30
+ const NodeUtils_cjs_namespaceObject = require("../../utils/NodeUtils.cjs");
31
+ const external_LoopNode_helpers_cjs_namespaceObject = require("./LoopNode.helpers.cjs");
32
+ function showCenteredContainerPreview({ containerId, reactFlowInstance, previewHandles, trailingEdgeId }) {
33
+ const containerNode = reactFlowInstance.getNode(containerId);
34
+ if (!containerNode) return;
35
+ const allNodes = reactFlowInstance.getNodes();
36
+ const containerAbsolutePosition = (0, NodeUtils_cjs_namespaceObject.getAbsolutePosition)(containerNode, allNodes);
37
+ const relativeCenter = (0, external_LoopNode_helpers_cjs_namespaceObject.getContainerRelativeBodyCenter)(containerNode);
38
+ const previewCenter = {
39
+ x: (0, NodeUtils_cjs_namespaceObject.snapToGrid)(containerAbsolutePosition.x + relativeCenter.x),
40
+ y: (0, NodeUtils_cjs_namespaceObject.snapToGrid)(containerAbsolutePosition.y + relativeCenter.y)
41
+ };
42
+ (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
43
+ sourceNodeId: containerId,
44
+ sourceHandleId: previewHandles.sourceHandleId,
45
+ reactFlowInstance,
46
+ position: previewCenter,
47
+ positionMode: 'center',
48
+ handlePosition: previewHandles.sourceHandlePosition,
49
+ targetNodeId: containerId,
50
+ targetHandleId: previewHandles.targetHandleId,
51
+ containerId,
52
+ trailingEdgeId
53
+ });
54
+ }
55
+ exports.showCenteredContainerPreview = __webpack_exports__.showCenteredContainerPreview;
56
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
57
+ "showCenteredContainerPreview"
58
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
59
+ Object.defineProperty(exports, '__esModule', {
60
+ value: true
61
+ });
@@ -0,0 +1,9 @@
1
+ import type { ReactFlowInstance } from '../../xyflow/react.ts';
2
+ import { type ContainerPreviewConnectionHandles } from './LoopNode.helpers';
3
+ export declare function showCenteredContainerPreview({ containerId, reactFlowInstance, previewHandles, trailingEdgeId, }: {
4
+ containerId: string;
5
+ reactFlowInstance: ReactFlowInstance;
6
+ previewHandles: ContainerPreviewConnectionHandles;
7
+ trailingEdgeId?: string;
8
+ }): void;
9
+ //# sourceMappingURL=LoopNodePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoopNodePreview.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNodePreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAGlF,OAAO,EACL,KAAK,iCAAiC,EAEvC,MAAM,oBAAoB,CAAC;AAE5B,wBAAgB,4BAA4B,CAAC,EAC3C,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,iCAAiC,CAAC;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,QAwBA"}
@@ -0,0 +1,27 @@
1
+ import { showPreviewGraph } from "../../utils/createPreviewGraph.js";
2
+ import { getAbsolutePosition, snapToGrid } from "../../utils/NodeUtils.js";
3
+ import { getContainerRelativeBodyCenter } from "./LoopNode.helpers.js";
4
+ function showCenteredContainerPreview({ containerId, reactFlowInstance, previewHandles, trailingEdgeId }) {
5
+ const containerNode = reactFlowInstance.getNode(containerId);
6
+ if (!containerNode) return;
7
+ const allNodes = reactFlowInstance.getNodes();
8
+ const containerAbsolutePosition = getAbsolutePosition(containerNode, allNodes);
9
+ const relativeCenter = getContainerRelativeBodyCenter(containerNode);
10
+ const previewCenter = {
11
+ x: snapToGrid(containerAbsolutePosition.x + relativeCenter.x),
12
+ y: snapToGrid(containerAbsolutePosition.y + relativeCenter.y)
13
+ };
14
+ showPreviewGraph({
15
+ sourceNodeId: containerId,
16
+ sourceHandleId: previewHandles.sourceHandleId,
17
+ reactFlowInstance,
18
+ position: previewCenter,
19
+ positionMode: 'center',
20
+ handlePosition: previewHandles.sourceHandlePosition,
21
+ targetNodeId: containerId,
22
+ targetHandleId: previewHandles.targetHandleId,
23
+ containerId,
24
+ trailingEdgeId
25
+ });
26
+ }
27
+ export { showCenteredContainerPreview };
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __webpack_modules__ = {
3
+ "./LoopCanvasNode" (module) {
4
+ module.exports = require("./LoopCanvasNode.cjs");
5
+ },
6
+ "./LoopNode?d3ac" (module) {
7
+ module.exports = require("./LoopNode.cjs");
8
+ },
9
+ "./LoopNode.helpers" (module) {
10
+ module.exports = require("./LoopNode.helpers.cjs");
11
+ },
12
+ "./LoopNode.types" (module) {
13
+ module.exports = require("./LoopNode.types.cjs");
14
+ }
15
+ };
16
+ var __webpack_module_cache__ = {};
17
+ function __webpack_require__(moduleId) {
18
+ var cachedModule = __webpack_module_cache__[moduleId];
19
+ if (void 0 !== cachedModule) return cachedModule.exports;
20
+ var module = __webpack_module_cache__[moduleId] = {
21
+ exports: {}
22
+ };
23
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
24
+ return module.exports;
25
+ }
26
+ (()=>{
27
+ __webpack_require__.n = (module)=>{
28
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
29
+ __webpack_require__.d(getter, {
30
+ a: getter
31
+ });
32
+ return getter;
33
+ };
34
+ })();
35
+ (()=>{
36
+ __webpack_require__.d = (exports1, definition)=>{
37
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
38
+ enumerable: true,
39
+ get: definition[key]
40
+ });
41
+ };
42
+ })();
43
+ (()=>{
44
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
45
+ })();
46
+ (()=>{
47
+ __webpack_require__.r = (exports1)=>{
48
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
49
+ value: 'Module'
50
+ });
51
+ Object.defineProperty(exports1, '__esModule', {
52
+ value: true
53
+ });
54
+ };
55
+ })();
56
+ var __webpack_exports__ = {};
57
+ (()=>{
58
+ __webpack_require__.r(__webpack_exports__);
59
+ var _LoopCanvasNode__rspack_import_0 = __webpack_require__("./LoopCanvasNode");
60
+ var __rspack_reexport = {};
61
+ for(const __rspack_import_key in _LoopCanvasNode__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_LoopCanvasNode__rspack_import_0[__rspack_import_key];
62
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
63
+ var _LoopNode__rspack_import_1 = __webpack_require__("./LoopNode?d3ac");
64
+ var __rspack_reexport = {};
65
+ for(const __rspack_import_key in _LoopNode__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_LoopNode__rspack_import_1[__rspack_import_key];
66
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
67
+ var _LoopNode_helpers__rspack_import_2 = __webpack_require__("./LoopNode.helpers");
68
+ var __rspack_reexport = {};
69
+ for(const __rspack_import_key in _LoopNode_helpers__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_LoopNode_helpers__rspack_import_2[__rspack_import_key];
70
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
71
+ var _LoopNode_types__rspack_import_3 = __webpack_require__("./LoopNode.types");
72
+ var __rspack_reexport = {};
73
+ for(const __rspack_import_key in _LoopNode_types__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_LoopNode_types__rspack_import_3[__rspack_import_key];
74
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
75
+ })();
76
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
77
+ Object.defineProperty(exports, '__esModule', {
78
+ value: true
79
+ });
@@ -0,0 +1,5 @@
1
+ export * from './LoopCanvasNode';
2
+ export * from './LoopNode';
3
+ export * from './LoopNode.helpers';
4
+ export * from './LoopNode.types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./LoopCanvasNode.js";
2
+ export * from "./LoopNode.js";
3
+ export * from "./LoopNode.helpers.js";
4
+ export * from "./LoopNode.types.js";
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ NodeViewportOverlay: ()=>NodeViewportOverlay
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const react_cjs_namespaceObject = require("../xyflow/react.cjs");
31
+ const NODE_VIEWPORT_OVERLAY_Z_INDEX = {
32
+ nodeHandleAffordance: 1002,
33
+ nodeToolbar: 1003
34
+ };
35
+ function NodeViewportOverlay({ nodeId, anchor, layer, children }) {
36
+ const internalNode = (0, react_cjs_namespaceObject.useInternalNode)(nodeId);
37
+ const positionAbsolute = internalNode?.internals.positionAbsolute;
38
+ const width = anchor?.width ?? internalNode?.measured?.width ?? internalNode?.width;
39
+ const height = anchor?.height ?? internalNode?.measured?.height ?? internalNode?.height;
40
+ if (!positionAbsolute || null == width || null == height) return children;
41
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_cjs_namespaceObject.ViewportPortal, {
42
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
43
+ className: "absolute pointer-events-none",
44
+ style: {
45
+ position: 'absolute',
46
+ left: positionAbsolute.x + (anchor?.left ?? 0),
47
+ top: positionAbsolute.y + (anchor?.top ?? 0),
48
+ width,
49
+ height,
50
+ transform: anchor?.transform,
51
+ zIndex: layer ? NODE_VIEWPORT_OVERLAY_Z_INDEX[layer] : void 0
52
+ },
53
+ children: children
54
+ })
55
+ });
56
+ }
57
+ exports.NodeViewportOverlay = __webpack_exports__.NodeViewportOverlay;
58
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
59
+ "NodeViewportOverlay"
60
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
61
+ Object.defineProperty(exports, '__esModule', {
62
+ value: true
63
+ });
@@ -0,0 +1,22 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ declare const NODE_VIEWPORT_OVERLAY_Z_INDEX: {
3
+ readonly nodeHandleAffordance: 1002;
4
+ readonly nodeToolbar: 1003;
5
+ };
6
+ type NodeViewportOverlayLayer = keyof typeof NODE_VIEWPORT_OVERLAY_Z_INDEX;
7
+ export type NodeViewportOverlayAnchor = {
8
+ left?: number;
9
+ top?: number;
10
+ width?: number;
11
+ height?: number;
12
+ transform?: CSSProperties['transform'];
13
+ };
14
+ export type NodeViewportOverlayProps = {
15
+ nodeId: string;
16
+ anchor?: NodeViewportOverlayAnchor;
17
+ layer?: NodeViewportOverlayLayer;
18
+ children: ReactNode;
19
+ };
20
+ export declare function NodeViewportOverlay({ nodeId, anchor, layer, children }: NodeViewportOverlayProps): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | null | undefined;
21
+ export {};
22
+ //# sourceMappingURL=NodeViewportOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeViewportOverlay.d.ts","sourceRoot":"","sources":["../../../src/canvas/components/NodeViewportOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,QAAA,MAAM,6BAA6B;;;CAGzB,CAAC;AAEX,KAAK,wBAAwB,GAAG,MAAM,OAAO,6BAA6B,CAAC;AAE3E,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,KAAK,CAAC,EAAE,wBAAwB,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2UA4BhG"}
@@ -0,0 +1,29 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { ViewportPortal, useInternalNode } from "../xyflow/react.js";
3
+ const NODE_VIEWPORT_OVERLAY_Z_INDEX = {
4
+ nodeHandleAffordance: 1002,
5
+ nodeToolbar: 1003
6
+ };
7
+ function NodeViewportOverlay({ nodeId, anchor, layer, children }) {
8
+ const internalNode = useInternalNode(nodeId);
9
+ const positionAbsolute = internalNode?.internals.positionAbsolute;
10
+ const width = anchor?.width ?? internalNode?.measured?.width ?? internalNode?.width;
11
+ const height = anchor?.height ?? internalNode?.measured?.height ?? internalNode?.height;
12
+ if (!positionAbsolute || null == width || null == height) return children;
13
+ return /*#__PURE__*/ jsx(ViewportPortal, {
14
+ children: /*#__PURE__*/ jsx("div", {
15
+ className: "absolute pointer-events-none",
16
+ style: {
17
+ position: 'absolute',
18
+ left: positionAbsolute.x + (anchor?.left ?? 0),
19
+ top: positionAbsolute.y + (anchor?.top ?? 0),
20
+ width,
21
+ height,
22
+ transform: anchor?.transform,
23
+ zIndex: layer ? NODE_VIEWPORT_OVERLAY_Z_INDEX[layer] : void 0
24
+ },
25
+ children: children
26
+ })
27
+ });
28
+ }
29
+ export { NodeViewportOverlay };
@@ -61,7 +61,8 @@ const CHIP_ICONS = {
61
61
  })
62
62
  };
63
63
  const StageNodeHeaderInner = ({ props, isReadOnly, isException, status, handleTaskAddClick })=>{
64
- const { id, stageDetails, execution, addTaskLabel = 'Add task', onTaskAdd, onAddTaskFromToolbox, onStageTitleChange } = props;
64
+ const { id, stageDetails, execution, addTaskLabel = 'Add task', onTaskAdd, onAddTaskFromToolbox, onStageTitleChange, loadingTaskIds } = props;
65
+ const isAddTaskDisabled = (loadingTaskIds?.size ?? 0) > 0;
65
66
  const icon = stageDetails?.icon;
66
67
  const statusLabel = execution?.stageStatus?.label;
67
68
  const stageDuration = execution?.stageStatus?.duration;
@@ -229,6 +230,7 @@ const StageNodeHeaderInner = ({ props, isReadOnly, isException, status, handleTa
229
230
  className: "h-6 w-6",
230
231
  onClick: handleTaskAddClick,
231
232
  "aria-label": addTaskLabel,
233
+ disabled: isAddTaskDisabled,
232
234
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
233
235
  icon: "plus",
234
236
  size: 20
@@ -1 +1 @@
1
- {"version":3,"file":"StageNodeHeader.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeHeader.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgMrE,eAAO,MAAM,eAAe,wGA/KzB;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACvD,6CAyKwD,CAAC"}
1
+ {"version":3,"file":"StageNodeHeader.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeHeader.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAoMrE,eAAO,MAAM,eAAe,wGAnLzB;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACvD,6CA6KwD,CAAC"}
@@ -33,7 +33,8 @@ const CHIP_ICONS = {
33
33
  })
34
34
  };
35
35
  const StageNodeHeaderInner = ({ props, isReadOnly, isException, status, handleTaskAddClick })=>{
36
- const { id, stageDetails, execution, addTaskLabel = 'Add task', onTaskAdd, onAddTaskFromToolbox, onStageTitleChange } = props;
36
+ const { id, stageDetails, execution, addTaskLabel = 'Add task', onTaskAdd, onAddTaskFromToolbox, onStageTitleChange, loadingTaskIds } = props;
37
+ const isAddTaskDisabled = (loadingTaskIds?.size ?? 0) > 0;
37
38
  const icon = stageDetails?.icon;
38
39
  const statusLabel = execution?.stageStatus?.label;
39
40
  const stageDuration = execution?.stageStatus?.duration;
@@ -201,6 +202,7 @@ const StageNodeHeaderInner = ({ props, isReadOnly, isException, status, handleTa
201
202
  className: "h-6 w-6",
202
203
  onClick: handleTaskAddClick,
203
204
  "aria-label": addTaskLabel,
205
+ disabled: isAddTaskDisabled,
204
206
  children: /*#__PURE__*/ jsx(CanvasIcon, {
205
207
  icon: "plus",
206
208
  size: 20
@@ -38,7 +38,7 @@ const EdgeToolbarComponent = ({ edgeId, visible, positioning, config, onMouseEnt
38
38
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_cjs_namespaceObject.EdgeLabelRenderer, {
39
39
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.AnimatePresence, {
40
40
  children: visible && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
41
- className: "nodrag nopan absolute top-0 left-0 pointer-events-auto z-[1000] flex flex-row items-center gap-1",
41
+ className: "nodrag nopan absolute top-0 left-0 z-1004 pointer-events-auto flex flex-row items-center gap-1",
42
42
  initial: {
43
43
  opacity: 0
44
44
  },
@@ -10,7 +10,7 @@ const EdgeToolbarComponent = ({ edgeId, visible, positioning, config, onMouseEnt
10
10
  return /*#__PURE__*/ jsx(EdgeLabelRenderer, {
11
11
  children: /*#__PURE__*/ jsx(AnimatePresence, {
12
12
  children: visible && /*#__PURE__*/ jsx(motion.div, {
13
- className: "nodrag nopan absolute top-0 left-0 pointer-events-auto z-[1000] flex flex-row items-center gap-1",
13
+ className: "nodrag nopan absolute top-0 left-0 z-1004 pointer-events-auto flex flex-row items-center gap-1",
14
14
  initial: {
15
15
  opacity: 0
16
16
  },
@@ -29,6 +29,7 @@ __webpack_require__.d(__webpack_exports__, {
29
29
  const react_cjs_namespaceObject = require("../../../xyflow/react.cjs");
30
30
  const external_react_namespaceObject = require("react");
31
31
  const external_constants_cjs_namespaceObject = require("../../../constants.cjs");
32
+ const createPreviewGraph_cjs_namespaceObject = require("../../../utils/createPreviewGraph.cjs");
32
33
  const createPreviewNode_cjs_namespaceObject = require("../../../utils/createPreviewNode.cjs");
33
34
  const BaseCanvasModeProvider_cjs_namespaceObject = require("../../BaseCanvas/BaseCanvasModeProvider.cjs");
34
35
  const external_useEdgeToolbarPositioning_cjs_namespaceObject = require("./useEdgeToolbarPositioning.cjs");
@@ -36,10 +37,14 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
36
37
  const reactFlow = (0, react_cjs_namespaceObject.useReactFlow)();
37
38
  const { mode } = (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)();
38
39
  const isDesignMode = 'design' === mode;
39
- const isPreviewEdge = source === external_constants_cjs_namespaceObject.PREVIEW_NODE_ID || target === external_constants_cjs_namespaceObject.PREVIEW_NODE_ID;
40
+ const previewEdge = (0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)({
41
+ id: edgeId,
42
+ source,
43
+ target
44
+ });
40
45
  const { positionData, handleMouseMoveOnPath } = (0, external_useEdgeToolbarPositioning_cjs_namespaceObject.useEdgeToolbarPositioning)({
41
46
  pathElementRef,
42
- isEnabled: isHovered && isDesignMode && !isPreviewEdge,
47
+ isEnabled: isHovered && isDesignMode && !previewEdge,
43
48
  targetPosition
44
49
  });
45
50
  const handleAddNodeOnEdge = (0, external_react_namespaceObject.useCallback)((position)=>{
@@ -51,26 +56,23 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
51
56
  targetHandle: targetHandleId,
52
57
  type: 'default'
53
58
  };
54
- const preview = (0, createPreviewNode_cjs_namespaceObject.createPreviewNode)(source, sourceHandleId || 'output', reactFlow, position, {
55
- originalEdge
56
- }, 'source', void 0, sourcePosition, ignoredNodeTypes);
57
- if (!preview) return;
58
- const secondEdge = {
59
- id: `${external_constants_cjs_namespaceObject.PREVIEW_NODE_ID}-${target}`,
60
- source: external_constants_cjs_namespaceObject.PREVIEW_NODE_ID,
61
- sourceHandle: 'output',
62
- target,
63
- targetHandle: targetHandleId,
64
- type: 'default'
65
- };
66
- (0, createPreviewNode_cjs_namespaceObject.applyPreviewToReactFlow)(preview, reactFlow);
67
- reactFlow.setEdges((edges)=>[
68
- ...edges.filter((e)=>e.id !== edgeId).map((e)=>({
69
- ...e,
70
- selected: false
71
- })),
72
- secondEdge
73
- ]);
59
+ (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
60
+ sourceNodeId: source,
61
+ sourceHandleId: sourceHandleId ?? external_constants_cjs_namespaceObject.DEFAULT_SOURCE_HANDLE_ID,
62
+ reactFlowInstance: reactFlow,
63
+ position,
64
+ data: {
65
+ originalEdge
66
+ },
67
+ sourceHandleType: 'source',
68
+ handlePosition: sourcePosition,
69
+ ignoredNodeTypes: ignoredNodeTypes ?? [],
70
+ targetNodeId: target,
71
+ targetHandleId,
72
+ removedEdgeIds: [
73
+ edgeId
74
+ ]
75
+ });
74
76
  }, [
75
77
  sourcePosition,
76
78
  source,
@@ -96,7 +98,7 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
96
98
  }), [
97
99
  handleAddNodeOnEdge
98
100
  ]);
99
- const showToolbar = isHovered && isDesignMode && null !== positionData && !isPreviewEdge;
101
+ const showToolbar = isHovered && isDesignMode && null !== positionData && !previewEdge;
100
102
  return {
101
103
  showToolbar,
102
104
  toolbarPositioning: positionData,
@@ -1 +1 @@
1
- {"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAgB,MAAM,0CAA0C,CAAC;AAKlG,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,EAAE,wBAAwB,GAAG,gBAAgB,CAoG7C"}
1
+ {"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAgB,MAAM,0CAA0C,CAAC;AAMlG,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,EAAE,wBAAwB,GAAG,gBAAgB,CAgF7C"}
@@ -1,17 +1,22 @@
1
1
  import { useReactFlow } from "../../../xyflow/react.js";
2
2
  import { useCallback, useMemo } from "react";
3
- import { PREVIEW_NODE_ID } from "../../../constants.js";
4
- import { applyPreviewToReactFlow, createPreviewNode } from "../../../utils/createPreviewNode.js";
3
+ import { DEFAULT_SOURCE_HANDLE_ID } from "../../../constants.js";
4
+ import { showPreviewGraph } from "../../../utils/createPreviewGraph.js";
5
+ import { isPreviewEdge } from "../../../utils/createPreviewNode.js";
5
6
  import { useBaseCanvasMode } from "../../BaseCanvas/BaseCanvasModeProvider.js";
6
7
  import { useEdgeToolbarPositioning } from "./useEdgeToolbarPositioning.js";
7
8
  function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target, sourceHandleId, targetHandleId, sourcePosition, targetPosition, ignoredNodeTypes }) {
8
9
  const reactFlow = useReactFlow();
9
10
  const { mode } = useBaseCanvasMode();
10
11
  const isDesignMode = 'design' === mode;
11
- const isPreviewEdge = source === PREVIEW_NODE_ID || target === PREVIEW_NODE_ID;
12
+ const previewEdge = isPreviewEdge({
13
+ id: edgeId,
14
+ source,
15
+ target
16
+ });
12
17
  const { positionData, handleMouseMoveOnPath } = useEdgeToolbarPositioning({
13
18
  pathElementRef,
14
- isEnabled: isHovered && isDesignMode && !isPreviewEdge,
19
+ isEnabled: isHovered && isDesignMode && !previewEdge,
15
20
  targetPosition
16
21
  });
17
22
  const handleAddNodeOnEdge = useCallback((position)=>{
@@ -23,26 +28,23 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
23
28
  targetHandle: targetHandleId,
24
29
  type: 'default'
25
30
  };
26
- const preview = createPreviewNode(source, sourceHandleId || 'output', reactFlow, position, {
27
- originalEdge
28
- }, 'source', void 0, sourcePosition, ignoredNodeTypes);
29
- if (!preview) return;
30
- const secondEdge = {
31
- id: `${PREVIEW_NODE_ID}-${target}`,
32
- source: PREVIEW_NODE_ID,
33
- sourceHandle: 'output',
34
- target,
35
- targetHandle: targetHandleId,
36
- type: 'default'
37
- };
38
- applyPreviewToReactFlow(preview, reactFlow);
39
- reactFlow.setEdges((edges)=>[
40
- ...edges.filter((e)=>e.id !== edgeId).map((e)=>({
41
- ...e,
42
- selected: false
43
- })),
44
- secondEdge
45
- ]);
31
+ showPreviewGraph({
32
+ sourceNodeId: source,
33
+ sourceHandleId: sourceHandleId ?? DEFAULT_SOURCE_HANDLE_ID,
34
+ reactFlowInstance: reactFlow,
35
+ position,
36
+ data: {
37
+ originalEdge
38
+ },
39
+ sourceHandleType: 'source',
40
+ handlePosition: sourcePosition,
41
+ ignoredNodeTypes: ignoredNodeTypes ?? [],
42
+ targetNodeId: target,
43
+ targetHandleId,
44
+ removedEdgeIds: [
45
+ edgeId
46
+ ]
47
+ });
46
48
  }, [
47
49
  sourcePosition,
48
50
  source,
@@ -68,7 +70,7 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
68
70
  }), [
69
71
  handleAddNodeOnEdge
70
72
  ]);
71
- const showToolbar = isHovered && isDesignMode && null !== positionData && !isPreviewEdge;
73
+ const showToolbar = isHovered && isDesignMode && null !== positionData && !previewEdge;
72
74
  return {
73
75
  showToolbar,
74
76
  toolbarPositioning: positionData,