@uipath/apollo-react 4.22.1 → 4.22.2-pr651.476969

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 (53) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodeManager.cjs +4 -1
  2. package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.cjs +15 -26
  4. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts +3 -3
  5. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts.map +1 -1
  6. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.js +18 -29
  7. package/dist/canvas/components/AddNodePanel/AddNodeManager.js +4 -1
  8. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +2 -9
  9. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
  10. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +2 -9
  11. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +28 -8
  12. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +8 -2
  13. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
  14. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +23 -6
  15. package/dist/canvas/components/StageNode/DraggableTask.cjs +3 -2
  16. package/dist/canvas/components/StageNode/DraggableTask.d.ts +1 -1
  17. package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +1 -1
  18. package/dist/canvas/components/StageNode/DraggableTask.js +3 -2
  19. package/dist/canvas/components/StageNode/DraggableTask.types.d.ts +1 -0
  20. package/dist/canvas/components/StageNode/DraggableTask.types.d.ts.map +1 -1
  21. package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.cjs +5 -2
  22. package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.d.ts.map +1 -1
  23. package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.js +5 -2
  24. package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.cjs +2 -1
  25. package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.d.ts.map +1 -1
  26. package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.js +2 -1
  27. package/dist/canvas/components/StageNode/TaskContent.cjs +109 -111
  28. package/dist/canvas/components/StageNode/TaskContent.d.ts +2 -1
  29. package/dist/canvas/components/StageNode/TaskContent.d.ts.map +1 -1
  30. package/dist/canvas/components/StageNode/TaskContent.js +110 -112
  31. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +6 -9
  32. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  33. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +6 -9
  34. package/dist/canvas/hooks/index.cjs +19 -12
  35. package/dist/canvas/hooks/index.d.ts +1 -0
  36. package/dist/canvas/hooks/index.d.ts.map +1 -1
  37. package/dist/canvas/hooks/index.js +1 -0
  38. package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +18 -5
  39. package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
  40. package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +18 -5
  41. package/dist/canvas/hooks/useCanvasNodeLayout.cjs +66 -0
  42. package/dist/canvas/hooks/useCanvasNodeLayout.d.ts +15 -0
  43. package/dist/canvas/hooks/useCanvasNodeLayout.d.ts.map +1 -0
  44. package/dist/canvas/hooks/useCanvasNodeLayout.js +29 -0
  45. package/dist/canvas/utils/NodeUtils.cjs +4 -4
  46. package/dist/canvas/utils/NodeUtils.d.ts +1 -1
  47. package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
  48. package/dist/canvas/utils/NodeUtils.js +4 -4
  49. package/dist/canvas/utils/container.cjs +3 -2
  50. package/dist/canvas/utils/container.d.ts +1 -0
  51. package/dist/canvas/utils/container.d.ts.map +1 -1
  52. package/dist/canvas/utils/container.js +3 -2
  53. package/package.json +2 -2
@@ -29,7 +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 index_cjs_namespaceObject = require("../../../core/index.cjs");
32
+ const useCanvasNodeLayout_cjs_namespaceObject = require("../../../hooks/useCanvasNodeLayout.cjs");
33
33
  const createPreviewGraph_cjs_namespaceObject = require("../../../utils/createPreviewGraph.cjs");
34
34
  const createPreviewNode_cjs_namespaceObject = require("../../../utils/createPreviewNode.cjs");
35
35
  const BaseCanvasModeProvider_cjs_namespaceObject = require("../../BaseCanvas/BaseCanvasModeProvider.cjs");
@@ -37,12 +37,9 @@ const LoopNode_helpers_cjs_namespaceObject = require("../../LoopNode/LoopNode.he
37
37
  const external_useEdgeToolbarPositioning_cjs_namespaceObject = require("./useEdgeToolbarPositioning.cjs");
38
38
  function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target, sourceHandleId, targetHandleId, sourcePosition, targetPosition, ignoredNodeTypes }) {
39
39
  const reactFlow = (0, react_cjs_namespaceObject.useReactFlow)();
40
- const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
40
+ const { getManifestForNode } = (0, useCanvasNodeLayout_cjs_namespaceObject.useCanvasNodeLayout)();
41
41
  const { mode } = (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)();
42
42
  const isDesignMode = 'design' === mode;
43
- const getManifestForNode = (0, external_react_namespaceObject.useCallback)((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
44
- registry
45
- ]);
46
43
  const previewEdge = (0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)({
47
44
  id: edgeId,
48
45
  source,
@@ -60,12 +57,13 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
60
57
  nodeId: source,
61
58
  handleId: sourceHandleId ?? external_constants_cjs_namespaceObject.DEFAULT_SOURCE_HANDLE_ID
62
59
  };
63
- const containerOverrides = registry ? (0, LoopNode_helpers_cjs_namespaceObject.resolveContainerAddNodePreview)({
60
+ const containerOverrides = (0, LoopNode_helpers_cjs_namespaceObject.resolveContainerAddNodePreview)({
64
61
  source: sourceEndpoint,
65
62
  sourceHandleType: 'source',
66
63
  reactFlowInstance: reactFlow,
67
- getManifestForNode
68
- }) : null;
64
+ getManifestForNode,
65
+ replacedEdge: originalEdge
66
+ });
69
67
  (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
70
68
  source: sourceEndpoint,
71
69
  reactFlowInstance: reactFlow,
@@ -88,7 +86,6 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
88
86
  source,
89
87
  sourceHandleId,
90
88
  reactFlow,
91
- registry,
92
89
  getManifestForNode,
93
90
  target,
94
91
  targetHandleId,
@@ -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;AAQlG,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,CA+F7C"}
1
+ {"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,0CAA0C,CAAC;AAQvF,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,CAyF7C"}
@@ -1,7 +1,7 @@
1
1
  import { useReactFlow } from "../../../xyflow/react.js";
2
2
  import { useCallback, useMemo } from "react";
3
3
  import { DEFAULT_SOURCE_HANDLE_ID } from "../../../constants.js";
4
- import { useOptionalNodeTypeRegistry } from "../../../core/index.js";
4
+ import { useCanvasNodeLayout } from "../../../hooks/useCanvasNodeLayout.js";
5
5
  import { showPreviewGraph } from "../../../utils/createPreviewGraph.js";
6
6
  import { isPreviewEdge } from "../../../utils/createPreviewNode.js";
7
7
  import { useBaseCanvasMode } from "../../BaseCanvas/BaseCanvasModeProvider.js";
@@ -9,12 +9,9 @@ import { resolveContainerAddNodePreview } from "../../LoopNode/LoopNode.helpers.
9
9
  import { useEdgeToolbarPositioning } from "./useEdgeToolbarPositioning.js";
10
10
  function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target, sourceHandleId, targetHandleId, sourcePosition, targetPosition, ignoredNodeTypes }) {
11
11
  const reactFlow = useReactFlow();
12
- const registry = useOptionalNodeTypeRegistry();
12
+ const { getManifestForNode } = useCanvasNodeLayout();
13
13
  const { mode } = useBaseCanvasMode();
14
14
  const isDesignMode = 'design' === mode;
15
- const getManifestForNode = useCallback((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
16
- registry
17
- ]);
18
15
  const previewEdge = isPreviewEdge({
19
16
  id: edgeId,
20
17
  source,
@@ -32,12 +29,13 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
32
29
  nodeId: source,
33
30
  handleId: sourceHandleId ?? DEFAULT_SOURCE_HANDLE_ID
34
31
  };
35
- const containerOverrides = registry ? resolveContainerAddNodePreview({
32
+ const containerOverrides = resolveContainerAddNodePreview({
36
33
  source: sourceEndpoint,
37
34
  sourceHandleType: 'source',
38
35
  reactFlowInstance: reactFlow,
39
- getManifestForNode
40
- }) : null;
36
+ getManifestForNode,
37
+ replacedEdge: originalEdge
38
+ });
41
39
  showPreviewGraph({
42
40
  source: sourceEndpoint,
43
41
  reactFlowInstance: reactFlow,
@@ -60,7 +58,6 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
60
58
  source,
61
59
  sourceHandleId,
62
60
  reactFlow,
63
- registry,
64
61
  getManifestForNode,
65
62
  target,
66
63
  targetHandleId,
@@ -15,6 +15,9 @@ var __webpack_modules__ = {
15
15
  "./useCanvasEvents" (module) {
16
16
  module.exports = require("./useCanvasEvents.cjs");
17
17
  },
18
+ "./useCanvasNodeLayout" (module) {
19
+ module.exports = require("./useCanvasNodeLayout.cjs");
20
+ },
18
21
  "./useEdgePath" (module) {
19
22
  module.exports = require("./useEdgePath.cjs");
20
23
  },
@@ -90,29 +93,33 @@ var __webpack_exports__ = {};
90
93
  var __rspack_reexport = {};
91
94
  for(const __rspack_import_key in _useCanvasEvents__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useCanvasEvents__rspack_import_3[__rspack_import_key];
92
95
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
93
- var _useEdgePath__rspack_import_4 = __webpack_require__("./useEdgePath");
96
+ var _useCanvasNodeLayout__rspack_import_4 = __webpack_require__("./useCanvasNodeLayout");
97
+ var __rspack_reexport = {};
98
+ for(const __rspack_import_key in _useCanvasNodeLayout__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useCanvasNodeLayout__rspack_import_4[__rspack_import_key];
99
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
100
+ var _useEdgePath__rspack_import_5 = __webpack_require__("./useEdgePath");
94
101
  var __rspack_reexport = {};
95
- for(const __rspack_import_key in _useEdgePath__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useEdgePath__rspack_import_4[__rspack_import_key];
102
+ for(const __rspack_import_key in _useEdgePath__rspack_import_5)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useEdgePath__rspack_import_5[__rspack_import_key];
96
103
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
97
- var _useExportCanvas__rspack_import_5 = __webpack_require__("./useExportCanvas");
104
+ var _useExportCanvas__rspack_import_6 = __webpack_require__("./useExportCanvas");
98
105
  var __rspack_reexport = {};
99
- for(const __rspack_import_key in _useExportCanvas__rspack_import_5)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useExportCanvas__rspack_import_5[__rspack_import_key];
106
+ for(const __rspack_import_key in _useExportCanvas__rspack_import_6)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useExportCanvas__rspack_import_6[__rspack_import_key];
100
107
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
101
- var _useNavigationState__rspack_import_6 = __webpack_require__("./useNavigationState");
108
+ var _useNavigationState__rspack_import_7 = __webpack_require__("./useNavigationState");
102
109
  var __rspack_reexport = {};
103
- for(const __rspack_import_key in _useNavigationState__rspack_import_6)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useNavigationState__rspack_import_6[__rspack_import_key];
110
+ for(const __rspack_import_key in _useNavigationState__rspack_import_7)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useNavigationState__rspack_import_7[__rspack_import_key];
104
111
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
105
- var _usePreviewNode__rspack_import_7 = __webpack_require__("./usePreviewNode");
112
+ var _usePreviewNode__rspack_import_8 = __webpack_require__("./usePreviewNode");
106
113
  var __rspack_reexport = {};
107
- for(const __rspack_import_key in _usePreviewNode__rspack_import_7)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_usePreviewNode__rspack_import_7[__rspack_import_key];
114
+ for(const __rspack_import_key in _usePreviewNode__rspack_import_8)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_usePreviewNode__rspack_import_8[__rspack_import_key];
108
115
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
109
- var _useStorageState__rspack_import_8 = __webpack_require__("./useStorageState");
116
+ var _useStorageState__rspack_import_9 = __webpack_require__("./useStorageState");
110
117
  var __rspack_reexport = {};
111
- for(const __rspack_import_key in _useStorageState__rspack_import_8)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useStorageState__rspack_import_8[__rspack_import_key];
118
+ for(const __rspack_import_key in _useStorageState__rspack_import_9)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_useStorageState__rspack_import_9[__rspack_import_key];
112
119
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
113
- var _ValidationStatusContext__rspack_import_9 = __webpack_require__("./ValidationStatusContext");
120
+ var _ValidationStatusContext__rspack_import_10 = __webpack_require__("./ValidationStatusContext");
114
121
  var __rspack_reexport = {};
115
- for(const __rspack_import_key in _ValidationStatusContext__rspack_import_9)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_ValidationStatusContext__rspack_import_9[__rspack_import_key];
122
+ for(const __rspack_import_key in _ValidationStatusContext__rspack_import_10)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_ValidationStatusContext__rspack_import_10[__rspack_import_key];
116
123
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
117
124
  })();
118
125
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -2,6 +2,7 @@ export * from './ExecutionStatusContext';
2
2
  export * from './ToolbarActionContext';
3
3
  export * from './useAddNodeOnConnectEnd';
4
4
  export * from './useCanvasEvents';
5
+ export * from './useCanvasNodeLayout';
5
6
  export * from './useEdgePath';
6
7
  export * from './useExportCanvas';
7
8
  export * from './useNavigationState';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC"}
@@ -2,6 +2,7 @@ export * from "./ExecutionStatusContext.js";
2
2
  export * from "./ToolbarActionContext.js";
3
3
  export * from "./useAddNodeOnConnectEnd.js";
4
4
  export * from "./useCanvasEvents.js";
5
+ export * from "./useCanvasNodeLayout.js";
5
6
  export * from "./useEdgePath.js";
6
7
  export * from "./useExportCanvas.js";
7
8
  export * from "./useNavigationState.js";
@@ -28,7 +28,9 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  });
29
29
  const react_cjs_namespaceObject = require("../xyflow/react.cjs");
30
30
  const external_react_namespaceObject = require("react");
31
+ const LoopNode_helpers_cjs_namespaceObject = require("../components/LoopNode/LoopNode.helpers.cjs");
31
32
  const index_cjs_namespaceObject = require("../utils/index.cjs");
33
+ const external_useCanvasNodeLayout_cjs_namespaceObject = require("./useCanvasNodeLayout.cjs");
32
34
  const EMPTY_IGNORED_NODE_TYPES = [];
33
35
  function getClientPosition(event) {
34
36
  if ('clientX' in event) return {
@@ -43,24 +45,35 @@ function getClientPosition(event) {
43
45
  }
44
46
  function useAddNodeOnConnectEnd(ignoredNodeTypes = EMPTY_IGNORED_NODE_TYPES) {
45
47
  const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
48
+ const getManifestForNode = (0, external_useCanvasNodeLayout_cjs_namespaceObject.useNodeManifestResolver)();
46
49
  return (0, external_react_namespaceObject.useCallback)((event, connectionState)=>{
47
50
  if (!(reactFlowInstance && connectionState.fromNode && connectionState.fromHandle) || connectionState.toHandle) return;
48
51
  const clientPosition = getClientPosition(event);
49
52
  if (!clientPosition) return;
50
53
  const flowDropPosition = reactFlowInstance.screenToFlowPosition(clientPosition);
54
+ const source = {
55
+ nodeId: connectionState.fromNode.id,
56
+ handleId: connectionState.fromHandle.id ?? 'output'
57
+ };
58
+ const containerId = (0, LoopNode_helpers_cjs_namespaceObject.getInnerHandleContainerId)({
59
+ source,
60
+ reactFlowInstance,
61
+ getManifestForNode
62
+ });
51
63
  (0, index_cjs_namespaceObject.showPreviewGraph)({
52
- source: {
53
- nodeId: connectionState.fromNode.id,
54
- handleId: connectionState.fromHandle.id ?? 'output'
55
- },
64
+ source,
56
65
  reactFlowInstance,
57
66
  position: flowDropPosition,
58
67
  sourceHandleType: connectionState.fromHandle.type,
59
68
  handlePosition: connectionState.fromHandle.position,
60
- ignoredNodeTypes
69
+ ignoredNodeTypes,
70
+ ...containerId ? {
71
+ containerId
72
+ } : {}
61
73
  });
62
74
  }, [
63
75
  reactFlowInstance,
76
+ getManifestForNode,
64
77
  ignoredNodeTypes
65
78
  ]);
66
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAddNodeOnConnectEnd.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useAddNodeOnConnectEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,0CAA0C,CAAC;AAoB3F,wBAAgB,sBAAsB,CAAC,gBAAgB,GAAE,MAAM,EAA6B,gBAiC3F"}
1
+ {"version":3,"file":"useAddNodeOnConnectEnd.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useAddNodeOnConnectEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,0CAA0C,CAAC;AAsB3F,wBAAgB,sBAAsB,CAAC,gBAAgB,GAAE,MAAM,EAA6B,gBAyC3F"}
@@ -1,6 +1,8 @@
1
1
  import { useReactFlow } from "../xyflow/react.js";
2
2
  import { useCallback } from "react";
3
+ import { getInnerHandleContainerId } from "../components/LoopNode/LoopNode.helpers.js";
3
4
  import { showPreviewGraph } from "../utils/index.js";
5
+ import { useNodeManifestResolver } from "./useCanvasNodeLayout.js";
4
6
  const EMPTY_IGNORED_NODE_TYPES = [];
5
7
  function getClientPosition(event) {
6
8
  if ('clientX' in event) return {
@@ -15,24 +17,35 @@ function getClientPosition(event) {
15
17
  }
16
18
  function useAddNodeOnConnectEnd(ignoredNodeTypes = EMPTY_IGNORED_NODE_TYPES) {
17
19
  const reactFlowInstance = useReactFlow();
20
+ const getManifestForNode = useNodeManifestResolver();
18
21
  return useCallback((event, connectionState)=>{
19
22
  if (!(reactFlowInstance && connectionState.fromNode && connectionState.fromHandle) || connectionState.toHandle) return;
20
23
  const clientPosition = getClientPosition(event);
21
24
  if (!clientPosition) return;
22
25
  const flowDropPosition = reactFlowInstance.screenToFlowPosition(clientPosition);
26
+ const source = {
27
+ nodeId: connectionState.fromNode.id,
28
+ handleId: connectionState.fromHandle.id ?? 'output'
29
+ };
30
+ const containerId = getInnerHandleContainerId({
31
+ source,
32
+ reactFlowInstance,
33
+ getManifestForNode
34
+ });
23
35
  showPreviewGraph({
24
- source: {
25
- nodeId: connectionState.fromNode.id,
26
- handleId: connectionState.fromHandle.id ?? 'output'
27
- },
36
+ source,
28
37
  reactFlowInstance,
29
38
  position: flowDropPosition,
30
39
  sourceHandleType: connectionState.fromHandle.type,
31
40
  handlePosition: connectionState.fromHandle.position,
32
- ignoredNodeTypes
41
+ ignoredNodeTypes,
42
+ ...containerId ? {
43
+ containerId
44
+ } : {}
33
45
  });
34
46
  }, [
35
47
  reactFlowInstance,
48
+ getManifestForNode,
36
49
  ignoredNodeTypes
37
50
  ]);
38
51
  }
@@ -0,0 +1,66 @@
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
+ useCanvasNodeLayout: ()=>useCanvasNodeLayout,
28
+ useNodeManifestResolver: ()=>useNodeManifestResolver
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ const index_cjs_namespaceObject = require("../core/index.cjs");
32
+ const collapse_cjs_namespaceObject = require("../utils/collapse.cjs");
33
+ const container_cjs_namespaceObject = require("../utils/container.cjs");
34
+ function useNodeManifestResolver() {
35
+ const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
36
+ return (0, external_react_namespaceObject.useCallback)((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
37
+ registry
38
+ ]);
39
+ }
40
+ function useCanvasNodeLayout() {
41
+ const getManifestForNode = useNodeManifestResolver();
42
+ return (0, external_react_namespaceObject.useMemo)(()=>{
43
+ const getNodeDimensions = (node)=>{
44
+ const manifest = getManifestForNode(node);
45
+ return (0, container_cjs_namespaceObject.getNodeDimensions)(node, (0, collapse_cjs_namespaceObject.getExpandedSize)(manifest?.display.shape));
46
+ };
47
+ const isContainerNode = (node)=>(0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(node));
48
+ return {
49
+ getManifestForNode,
50
+ getNodeDimensions,
51
+ isContainerNode,
52
+ getContainerFitGeometry: (node)=>isContainerNode(node) ? (0, container_cjs_namespaceObject.getContainerFitGeometry)() : null
53
+ };
54
+ }, [
55
+ getManifestForNode
56
+ ]);
57
+ }
58
+ exports.useCanvasNodeLayout = __webpack_exports__.useCanvasNodeLayout;
59
+ exports.useNodeManifestResolver = __webpack_exports__.useNodeManifestResolver;
60
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
61
+ "useCanvasNodeLayout",
62
+ "useNodeManifestResolver"
63
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
64
+ Object.defineProperty(exports, '__esModule', {
65
+ value: true
66
+ });
@@ -0,0 +1,15 @@
1
+ import type { Node } from '../xyflow/react.ts';
2
+ import type { NodeManifest } from '../schema/node-definition';
3
+ import { type ContainerFitGeometry, type NodeDimensions } from '../utils/container';
4
+ export type NodeManifestResolver = (node: Node) => NodeManifest | undefined;
5
+ export interface NodeLayout {
6
+ getNodeDimensions: (node: Node) => NodeDimensions;
7
+ isContainerNode: (node: Node) => boolean;
8
+ getContainerFitGeometry: (node: Node) => ContainerFitGeometry | null;
9
+ }
10
+ export interface CanvasNodeLayout extends NodeLayout {
11
+ getManifestForNode: NodeManifestResolver;
12
+ }
13
+ export declare function useNodeManifestResolver(): NodeManifestResolver;
14
+ export declare function useCanvasNodeLayout(): CanvasNodeLayout;
15
+ //# sourceMappingURL=useCanvasNodeLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCanvasNodeLayout.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useCanvasNodeLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EACL,KAAK,oBAAoB,EAIzB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY,GAAG,SAAS,CAAC;AAE5E,MAAM,WAAW,UAAU;IACzB,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC;IAClD,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACzC,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,oBAAoB,GAAG,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAO9D;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAoBtD"}
@@ -0,0 +1,29 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import { useOptionalNodeTypeRegistry } from "../core/index.js";
3
+ import { getExpandedSize } from "../utils/collapse.js";
4
+ import { getContainerFitGeometry, getNodeDimensions as container_js_getNodeDimensions, isContainerNodeManifest } from "../utils/container.js";
5
+ function useNodeManifestResolver() {
6
+ const registry = useOptionalNodeTypeRegistry();
7
+ return useCallback((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
8
+ registry
9
+ ]);
10
+ }
11
+ function useCanvasNodeLayout() {
12
+ const getManifestForNode = useNodeManifestResolver();
13
+ return useMemo(()=>{
14
+ const getNodeDimensions = (node)=>{
15
+ const manifest = getManifestForNode(node);
16
+ return container_js_getNodeDimensions(node, getExpandedSize(manifest?.display.shape));
17
+ };
18
+ const isContainerNode = (node)=>isContainerNodeManifest(getManifestForNode(node));
19
+ return {
20
+ getManifestForNode,
21
+ getNodeDimensions,
22
+ isContainerNode,
23
+ getContainerFitGeometry: (node)=>isContainerNode(node) ? getContainerFitGeometry() : null
24
+ };
25
+ }, [
26
+ getManifestForNode
27
+ ]);
28
+ }
29
+ export { useCanvasNodeLayout, useNodeManifestResolver };
@@ -69,11 +69,11 @@ const snapToGrid = (value)=>Math.round(value / external_constants_cjs_namespaceO
69
69
  const snapUpToGrid = (value)=>Math.ceil(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
70
70
  const snapDownToGrid = (value)=>Math.floor(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
71
71
  const clamp = (value, min, max)=>Math.min(Math.max(value, min), max);
72
- function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
72
+ function getBoxesFromNodes(nodes, margin = 0, getNodeDimensions) {
73
73
  const boxes = new Array(nodes.length);
74
74
  for(let i = 0; i < nodes.length; i++){
75
75
  const node = nodes[i];
76
- const nodeSize = getNodeSize?.(node) ?? {
76
+ const nodeSize = getNodeDimensions?.(node) ?? {
77
77
  width: node.width ?? node.measured?.width ?? external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE,
78
78
  height: node.height ?? node.measured?.height ?? external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE
79
79
  };
@@ -88,10 +88,10 @@ function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
88
88
  }
89
89
  return boxes;
90
90
  }
91
- const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes, getNodeSize } = {})=>{
91
+ const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes, getNodeDimensions } = {})=>{
92
92
  const ignoredSet = new Set(ignoredNodeTypes);
93
93
  const collisionNodes = ignoredSet.size > 0 ? nodes.filter((n)=>!ignoredSet.has(n.type ?? '')) : nodes;
94
- const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeSize);
94
+ const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeDimensions);
95
95
  for(let iter = 0; iter < maxIterations; iter++){
96
96
  let moved = false;
97
97
  for(let i = 0; i < boxes.length; i++)for(let j = i + 1; j < boxes.length; j++){
@@ -20,7 +20,7 @@ export type CollisionAlgorithmOptions = {
20
20
  overlapThreshold?: number;
21
21
  margin?: number;
22
22
  ignoredNodeTypes?: string[];
23
- getNodeSize?: (node: Node) => {
23
+ getNodeDimensions?: (node: Node) => {
24
24
  width: number;
25
25
  height: number;
26
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAQlD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAS3F,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAeF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAC9C,MAAM,SAAmB,EACzB,gBAAgB,GAAE,MAAM,EAAO,EAC/B,iBAAiB,GAAE;IAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAA8B,GACvF,UAAU,CAgCZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAE5C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE/D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,EAAE,CAAC;AAyChG,eAAO,MAAM,iBAAiB,EAAE,kBA8E/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzF,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAMD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,QAAQ,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,aAAa,GAAG,SAAS,CAkB3B;AAoCD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,GAAG,IAAI,CAQf"}
1
+ {"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAQlD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAS3F,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAeF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAC9C,MAAM,SAAmB,EACzB,gBAAgB,GAAE,MAAM,EAAO,EAC/B,iBAAiB,GAAE;IAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAA8B,GACvF,UAAU,CAgCZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAE5C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE/D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,EAAE,CAAC;AAyChG,eAAO,MAAM,iBAAiB,EAAE,kBA8E/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzF,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAMD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,QAAQ,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,aAAa,GAAG,SAAS,CAkB3B;AAoCD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,GAAG,IAAI,CAQf"}
@@ -32,11 +32,11 @@ const snapToGrid = (value)=>Math.round(value / GRID_SPACING) * GRID_SPACING;
32
32
  const snapUpToGrid = (value)=>Math.ceil(value / GRID_SPACING) * GRID_SPACING;
33
33
  const snapDownToGrid = (value)=>Math.floor(value / GRID_SPACING) * GRID_SPACING;
34
34
  const clamp = (value, min, max)=>Math.min(Math.max(value, min), max);
35
- function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
35
+ function getBoxesFromNodes(nodes, margin = 0, getNodeDimensions) {
36
36
  const boxes = new Array(nodes.length);
37
37
  for(let i = 0; i < nodes.length; i++){
38
38
  const node = nodes[i];
39
- const nodeSize = getNodeSize?.(node) ?? {
39
+ const nodeSize = getNodeDimensions?.(node) ?? {
40
40
  width: node.width ?? node.measured?.width ?? DEFAULT_NODE_SIZE,
41
41
  height: node.height ?? node.measured?.height ?? DEFAULT_NODE_SIZE
42
42
  };
@@ -51,10 +51,10 @@ function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
51
51
  }
52
52
  return boxes;
53
53
  }
54
- const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * GRID_SPACING, ignoredNodeTypes, getNodeSize } = {})=>{
54
+ const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * GRID_SPACING, ignoredNodeTypes, getNodeDimensions } = {})=>{
55
55
  const ignoredSet = new Set(ignoredNodeTypes);
56
56
  const collisionNodes = ignoredSet.size > 0 ? nodes.filter((n)=>!ignoredSet.has(n.type ?? '')) : nodes;
57
- const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeSize);
57
+ const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeDimensions);
58
58
  for(let iter = 0; iter < maxIterations; iter++){
59
59
  let moved = false;
60
60
  for(let i = 0; i < boxes.length; i++)for(let j = i + 1; j < boxes.length; j++){
@@ -352,12 +352,13 @@ function collectLinearDownstreamSiblings({ startNodeId, parentId, nodes, edges,
352
352
  }
353
353
  return collectedIds;
354
354
  }
355
- function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
355
+ function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, replacedEdge: exactReplacedEdge, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
356
356
  if ('source' !== sourceHandleType || !source.handleId) return null;
357
- const replacedEdge = getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
357
+ const replacedEdge = exactReplacedEdge ?? getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
358
358
  if (!replacedEdge) return null;
359
359
  const sourceNode = reactFlowInstance.getNode(replacedEdge.source);
360
360
  const targetNode = reactFlowInstance.getNode(replacedEdge.target);
361
+ if (!sourceNode || !targetNode) return null;
361
362
  const nodes = reactFlowInstance.getNodes();
362
363
  const containerNode = getContainerNodeForEdge(sourceNode, targetNode, nodes);
363
364
  if (!containerNode) return null;
@@ -49,6 +49,7 @@ interface ContainerPreviewContext {
49
49
  }
50
50
  interface ContainerPreviewOptions {
51
51
  isContainerNode?: (node: Node) => boolean;
52
+ replacedEdge?: Edge;
52
53
  getContainerSafeArea?: (containerNode: Node) => ContainerSafeArea | undefined;
53
54
  getContainerContinuationTarget?: (context: {
54
55
  containerNode: Node;
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/container.ts"],"names":[],"mappings":"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"}
@@ -308,12 +308,13 @@ function collectLinearDownstreamSiblings({ startNodeId, parentId, nodes, edges,
308
308
  }
309
309
  return collectedIds;
310
310
  }
311
- function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
311
+ function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, replacedEdge: exactReplacedEdge, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
312
312
  if ('source' !== sourceHandleType || !source.handleId) return null;
313
- const replacedEdge = getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
313
+ const replacedEdge = exactReplacedEdge ?? getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
314
314
  if (!replacedEdge) return null;
315
315
  const sourceNode = reactFlowInstance.getNode(replacedEdge.source);
316
316
  const targetNode = reactFlowInstance.getNode(replacedEdge.target);
317
+ if (!sourceNode || !targetNode) return null;
317
318
  const nodes = reactFlowInstance.getNodes();
318
319
  const containerNode = getContainerNodeForEdge(sourceNode, targetNode, nodes);
319
320
  if (!containerNode) return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-react",
3
- "version": "4.22.1",
3
+ "version": "4.22.2-pr651.0476969",
4
4
  "description": "Apollo Design System - React component library with Material UI theming",
5
5
  "repository": {
6
6
  "type": "git",
@@ -202,7 +202,7 @@
202
202
  "zod": "^4.3.5",
203
203
  "zustand": "^5.0.9",
204
204
  "@uipath/apollo-core": "5.9.0",
205
- "@uipath/apollo-wind": "2.13.0"
205
+ "@uipath/apollo-wind": "2.14.0"
206
206
  },
207
207
  "devDependencies": {
208
208
  "@lingui/cli": "^5.6.1",