@uipath/apollo-react 4.17.0 → 4.18.1

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 (71) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodeManager.cjs +35 -21
  2. package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.cjs +208 -0
  4. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts +20 -0
  5. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts.map +1 -0
  6. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.js +168 -0
  7. package/dist/canvas/components/AddNodePanel/AddNodeManager.js +35 -21
  8. package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +34 -4
  9. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts +5 -1
  10. package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
  11. package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +34 -4
  12. package/dist/canvas/components/AddNodePanel/index.d.ts +1 -1
  13. package/dist/canvas/components/AddNodePanel/index.d.ts.map +1 -1
  14. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +23 -1
  15. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
  16. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +23 -1
  17. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +0 -14
  18. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
  19. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +2 -16
  20. package/dist/canvas/components/LoopNode/LoopNode.cjs +38 -32
  21. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
  22. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +33 -42
  23. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +9 -10
  24. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
  25. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +25 -31
  26. package/dist/canvas/components/LoopNode/LoopNode.js +30 -24
  27. package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +20 -5
  28. package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -1
  29. package/dist/canvas/components/LoopNode/LoopNodePreview.js +20 -5
  30. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +26 -14
  31. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  32. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +26 -14
  33. package/dist/canvas/constants.cjs +0 -8
  34. package/dist/canvas/constants.d.ts +0 -2
  35. package/dist/canvas/constants.d.ts.map +1 -1
  36. package/dist/canvas/constants.js +1 -3
  37. package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +4 -2
  38. package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
  39. package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +4 -2
  40. package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
  41. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  42. package/dist/canvas/storybook-utils/mocks/nodes.d.ts +6 -6
  43. package/dist/canvas/storybook-utils/mocks/nodes.d.ts.map +1 -1
  44. package/dist/canvas/utils/NodeUtils.cjs +41 -13
  45. package/dist/canvas/utils/NodeUtils.d.ts +12 -1
  46. package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
  47. package/dist/canvas/utils/NodeUtils.js +28 -9
  48. package/dist/canvas/utils/collapse.cjs +3 -3
  49. package/dist/canvas/utils/collapse.d.ts.map +1 -1
  50. package/dist/canvas/utils/collapse.js +1 -1
  51. package/dist/canvas/utils/container.cjs +670 -0
  52. package/dist/canvas/utils/container.d.ts +110 -0
  53. package/dist/canvas/utils/container.d.ts.map +1 -0
  54. package/dist/canvas/utils/container.js +591 -0
  55. package/dist/canvas/utils/createPreviewGraph.cjs +25 -15
  56. package/dist/canvas/utils/createPreviewGraph.d.ts +11 -7
  57. package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -1
  58. package/dist/canvas/utils/createPreviewGraph.js +25 -15
  59. package/dist/canvas/utils/createPreviewNode.cjs +24 -15
  60. package/dist/canvas/utils/createPreviewNode.d.ts +21 -7
  61. package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
  62. package/dist/canvas/utils/createPreviewNode.js +24 -15
  63. package/dist/canvas/utils/index.cjs +29 -22
  64. package/dist/canvas/utils/index.d.ts +1 -0
  65. package/dist/canvas/utils/index.d.ts.map +1 -1
  66. package/dist/canvas/utils/index.js +1 -0
  67. package/package.json +3 -3
  68. package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +0 -56
  69. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +0 -7
  70. package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +0 -1
  71. package/dist/canvas/components/LoopNode/LoopNode.constants.js +0 -7
@@ -1,14 +1,19 @@
1
1
  import type { Edge, Node, Position, ReactFlowInstance } from '../xyflow/react.ts';
2
+ import type { CSSProperties } from 'react';
2
3
  import { type PreviewNodePositionMode } from './createPreviewNode';
4
+ import { type HandleBoundaryResolver } from './NodeUtils';
3
5
  export interface PreviewGraph {
4
6
  node: Node;
5
7
  edges: Edge[];
6
- removedEdgeIds?: string[];
8
+ }
9
+ export interface PreviewEndpoint {
10
+ nodeId: string;
11
+ handleId?: string | null;
7
12
  }
8
13
  export interface CreatePreviewGraphOptions {
9
- sourceNodeId: string;
10
- sourceHandleId: string;
11
14
  reactFlowInstance: ReactFlowInstance;
15
+ source: PreviewEndpoint;
16
+ target?: PreviewEndpoint;
12
17
  position?: {
13
18
  x: number;
14
19
  y: number;
@@ -22,13 +27,12 @@ export interface CreatePreviewGraphOptions {
22
27
  handlePosition?: Position;
23
28
  ignoredNodeTypes?: string[];
24
29
  positionMode?: PreviewNodePositionMode;
25
- targetNodeId?: string;
26
- targetHandleId?: string | null;
27
30
  containerId?: string;
28
- removedEdgeIds?: string[];
29
31
  trailingEdgeId?: string;
30
- trailingEdgeStyle?: Edge['style'];
32
+ trailingEdgeStyle?: CSSProperties;
33
+ sourceBoundaryOf?: HandleBoundaryResolver;
31
34
  }
35
+ export type PreviewGraphOverrides = Partial<Pick<CreatePreviewGraphOptions, 'containerId' | 'data' | 'position' | 'positionMode' | 'target' | 'trailingEdgeId' | 'trailingEdgeStyle'>>;
32
36
  export declare function reparentPreviewNodeToContainer(previewNode: Node, containerId: string, reactFlowInstance: ReactFlowInstance): Node | null;
33
37
  export declare function createPreviewGraph(options: CreatePreviewGraphOptions): PreviewGraph | null;
34
38
  export declare function showPreviewGraph(options: CreatePreviewGraphOptions): PreviewGraph | null;
@@ -1 +1 @@
1
- {"version":3,"file":"createPreviewGraph.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/createPreviewGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACvC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;CACnC;AAsBD,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,IAAI,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,GAAG,IAAI,CAoBb;AAkDD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAyB1F;AAOD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAMxF;AAOD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,YAAY,EACrB,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,CAgBN"}
1
+ {"version":3,"file":"createPreviewGraph.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/createPreviewGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,iBAAiB,EAClB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAG/E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAGD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAMD,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACvC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,aAAa,CAAC;IAOlC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED,MAAM,MAAM,qBAAqB,GAAG,OAAO,CACzC,IAAI,CACF,yBAAyB,EACvB,aAAa,GACb,MAAM,GACN,UAAU,GACV,cAAc,GACd,QAAQ,GACR,gBAAgB,GAChB,mBAAmB,CACtB,CACF,CAAC;AA0BF,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,IAAI,EACjB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,GAAG,IAAI,CAkBb;AAwDD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAqB1F;AAOD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,YAAY,GAAG,IAAI,CAMxF;AAOD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,YAAY,EACrB,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,CAgBN"}
@@ -21,28 +21,39 @@ function reparentPreviewNodeToContainer(previewNode, containerId, reactFlowInsta
21
21
  extent: 'parent'
22
22
  };
23
23
  }
24
- function createPreviewNodeForGraph({ sourceNodeId, sourceHandleId, reactFlowInstance, position, data, sourceHandleType, previewNodeSize, handlePosition, ignoredNodeTypes, positionMode }) {
25
- return createPreviewNode(sourceNodeId, sourceHandleId, reactFlowInstance, position, data, sourceHandleType, previewNodeSize, handlePosition, ignoredNodeTypes, positionMode);
24
+ function createPreviewNodeForGraph({ source, reactFlowInstance, position, data, sourceHandleType, previewNodeSize, handlePosition, ignoredNodeTypes, positionMode, sourceBoundaryOf }) {
25
+ return createPreviewNode({
26
+ sourceNodeId: source.nodeId,
27
+ sourceHandleId: source.handleId ?? DEFAULT_SOURCE_HANDLE_ID,
28
+ reactFlowInstance,
29
+ position,
30
+ data,
31
+ sourceHandleType,
32
+ previewNodeSize,
33
+ handlePosition,
34
+ ignoredNodeTypes,
35
+ positionMode,
36
+ sourceBoundaryOf
37
+ });
26
38
  }
27
- function createTrailingPreviewEdge({ targetNodeId, targetHandleId, trailingEdgeId, trailingEdgeStyle = PREVIEW_EDGE_STYLE }) {
28
- if (!targetNodeId) return null;
39
+ function createTrailingPreviewEdge({ target, trailingEdgeId, trailingEdgeStyle = PREVIEW_EDGE_STYLE }) {
40
+ if (!target) return null;
29
41
  return {
30
- id: trailingEdgeId ?? `${PREVIEW_NODE_ID}-${targetNodeId}`,
42
+ id: trailingEdgeId ?? `${PREVIEW_NODE_ID}-${target.nodeId}`,
31
43
  source: PREVIEW_NODE_ID,
32
44
  sourceHandle: DEFAULT_SOURCE_HANDLE_ID,
33
- target: targetNodeId,
34
- targetHandle: targetHandleId,
45
+ target: target.nodeId,
46
+ targetHandle: target.handleId,
35
47
  type: 'default',
36
48
  style: trailingEdgeStyle
37
49
  };
38
50
  }
39
51
  function createPreviewGraph(options) {
40
- const { reactFlowInstance, targetNodeId, containerId, removedEdgeIds, sourceNodeId } = options;
52
+ const { reactFlowInstance, target, containerId, source } = options;
41
53
  const preview = createPreviewNodeForGraph(options);
42
54
  if (!preview) return null;
43
- const sourceNode = reactFlowInstance.getNode(sourceNodeId);
44
- if (!sourceNode) return null;
45
- const targetNode = targetNodeId ? reactFlowInstance.getNode(targetNodeId) : void 0;
55
+ const sourceNode = reactFlowInstance.getNode(source.nodeId);
56
+ const targetNode = target ? reactFlowInstance.getNode(target.nodeId) : void 0;
46
57
  const resolvedContainerId = containerId ?? inferPreviewContainerId(sourceNode, targetNode);
47
58
  const finalPreviewNode = resolvedContainerId ? reparentPreviewNodeToContainer(preview.node, resolvedContainerId, reactFlowInstance) : preview.node;
48
59
  if (!finalPreviewNode) return null;
@@ -55,8 +66,7 @@ function createPreviewGraph(options) {
55
66
  ];
56
67
  return {
57
68
  node: finalPreviewNode,
58
- edges,
59
- removedEdgeIds
69
+ edges
60
70
  };
61
71
  }
62
72
  function showPreviewGraph(options) {
@@ -65,7 +75,7 @@ function showPreviewGraph(options) {
65
75
  return preview;
66
76
  }
67
77
  function applyPreviewGraphToReactFlow(preview, reactFlowInstance) {
68
- const removedEdgeIds = new Set(preview.removedEdgeIds ?? []);
78
+ const originalEdge = preview.node.data?.originalEdge;
69
79
  setTimeout(()=>{
70
80
  reactFlowInstance.setNodes((nodes)=>[
71
81
  ...nodes.filter((node)=>node.id !== PREVIEW_NODE_ID).map((node)=>({
@@ -75,7 +85,7 @@ function applyPreviewGraphToReactFlow(preview, reactFlowInstance) {
75
85
  preview.node
76
86
  ]);
77
87
  reactFlowInstance.setEdges((edges)=>[
78
- ...edges.filter((edge)=>!isPreviewEdge(edge) && !removedEdgeIds.has(edge.id)),
88
+ ...edges.filter((edge)=>!isPreviewEdge(edge) && edge.id !== originalEdge?.id),
79
89
  ...preview.edges
80
90
  ]);
81
91
  }, 0);
@@ -33,6 +33,7 @@ __webpack_require__.d(__webpack_exports__, {
33
33
  });
34
34
  const react_cjs_namespaceObject = require("../xyflow/react.cjs");
35
35
  const external_constants_cjs_namespaceObject = require("../constants.cjs");
36
+ const external_container_cjs_namespaceObject = require("./container.cjs");
36
37
  const external_NodeUtils_cjs_namespaceObject = require("./NodeUtils.cjs");
37
38
  const PREVIEW_EDGE_STYLE = {
38
39
  strokeDasharray: '5,5',
@@ -102,11 +103,16 @@ function computeSpreadOffset(handle, size) {
102
103
  }
103
104
  function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, existingNodes, offset = 5 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes = [], handle) {
104
105
  const sourceAbsolutePosition = sourceNode.parentId ? (0, external_NodeUtils_cjs_namespaceObject.getAbsolutePosition)(sourceNode, existingNodes) : sourceNode.position;
105
- const sourceWidth = sourceNode.measured?.width ?? 0;
106
- const sourceHeight = sourceNode.measured?.height ?? 0;
107
- const anchorX = handle?.anchor.x ?? sourceAbsolutePosition.x + sourceWidth / 2;
108
- const anchorY = handle?.anchor.y ?? sourceAbsolutePosition.y + sourceHeight / 2;
109
- const nodesWithAbsolutePositions = existingNodes.map((node)=>({
106
+ const sourceSize = (0, external_container_cjs_namespaceObject.getNodeDimensions)(sourceNode);
107
+ const anchorX = handle?.anchor.x ?? sourceAbsolutePosition.x + sourceSize.width / 2;
108
+ const anchorY = handle?.anchor.y ?? sourceAbsolutePosition.y + sourceSize.height / 2;
109
+ const ignoredNodeIds = new Set();
110
+ let parentId = sourceNode.parentId;
111
+ while(parentId){
112
+ ignoredNodeIds.add(parentId);
113
+ parentId = existingNodes.find((node)=>node.id === parentId)?.parentId;
114
+ }
115
+ const nodesWithAbsolutePositions = existingNodes.filter((node)=>node.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID && !ignoredNodeIds.has(node.id)).map((node)=>({
110
116
  ...node,
111
117
  position: node.parentId ? (0, external_NodeUtils_cjs_namespaceObject.getAbsolutePosition)(node, existingNodes) : node.position
112
118
  }));
@@ -122,7 +128,7 @@ function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, exis
122
128
  break;
123
129
  case react_cjs_namespaceObject.Position.Right:
124
130
  initialPosition = {
125
- x: sourceAbsolutePosition.x + sourceWidth + offset,
131
+ x: sourceAbsolutePosition.x + sourceSize.width + offset,
126
132
  y: anchorY - previewNodeSize.height / 2 + computeSpreadOffset(handle, previewNodeSize.height)
127
133
  };
128
134
  direction = 'right';
@@ -137,27 +143,28 @@ function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, exis
137
143
  case react_cjs_namespaceObject.Position.Bottom:
138
144
  initialPosition = {
139
145
  x: anchorX - previewNodeSize.width / 2 + computeSpreadOffset(handle, previewNodeSize.width / 2),
140
- y: sourceAbsolutePosition.y + sourceHeight + offset
146
+ y: sourceAbsolutePosition.y + sourceSize.height + offset
141
147
  };
142
148
  direction = 'bottom';
143
149
  break;
144
150
  default:
145
151
  initialPosition = {
146
- x: sourceAbsolutePosition.x + sourceWidth + offset,
152
+ x: sourceAbsolutePosition.x + sourceSize.width + offset,
147
153
  y: anchorY - previewNodeSize.height / 2
148
154
  };
149
155
  direction = 'right';
150
156
  }
151
157
  const overflowDirection = {
152
- x: anchorX >= sourceAbsolutePosition.x + sourceWidth / 2 ? 'right' : 'left',
153
- y: anchorY >= sourceAbsolutePosition.y + sourceHeight / 2 ? 'down' : 'up'
158
+ x: anchorX >= sourceAbsolutePosition.x + sourceSize.width / 2 ? 'right' : 'left',
159
+ y: anchorY >= sourceAbsolutePosition.y + sourceSize.height / 2 ? 'down' : 'up'
154
160
  };
155
161
  return (0, external_NodeUtils_cjs_namespaceObject.getNonOverlappingPositionForDirection)(nodesWithAbsolutePositions, initialPosition, previewNodeSize, direction, offset, ignoredNodeTypes, overflowDirection);
156
162
  }
157
- function createPreviewNode(sourceNodeId, sourceHandleId, reactFlowInstance, position, data, sourceHandleType = 'source', previewNodeSize = {
158
- width: external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE,
159
- height: external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE
160
- }, handlePosition = react_cjs_namespaceObject.Position.Right, ignoredNodeTypes = [], positionMode = 'drop') {
163
+ function createPreviewNode(options) {
164
+ const { sourceNodeId, sourceHandleId, reactFlowInstance, position, data, sourceHandleType = 'source', previewNodeSize = {
165
+ width: external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE,
166
+ height: external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE
167
+ }, handlePosition = react_cjs_namespaceObject.Position.Right, ignoredNodeTypes = [], positionMode = 'drop', sourceBoundaryOf } = options;
161
168
  const sourceNode = reactFlowInstance.getNode(sourceNodeId);
162
169
  if (!sourceNode) {
163
170
  console.warn(`Source node ${sourceNodeId} not found`);
@@ -166,7 +173,9 @@ function createPreviewNode(sourceNodeId, sourceHandleId, reactFlowInstance, posi
166
173
  const treatPreviewAsSource = 'target' === sourceHandleType;
167
174
  const existingNodes = reactFlowInstance.getNodes().filter((n)=>n.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID);
168
175
  const internalNode = void 0 === position ? reactFlowInstance.getInternalNode(sourceNodeId) : void 0;
169
- const handle = internalNode ? (0, external_NodeUtils_cjs_namespaceObject.resolveHandleContext)(internalNode, sourceHandleId, handlePosition) : void 0;
176
+ const handle = internalNode ? (0, external_NodeUtils_cjs_namespaceObject.resolveHandleContext)(internalNode, sourceHandleId, handlePosition, {
177
+ boundaryOf: sourceBoundaryOf
178
+ }) : void 0;
170
179
  const nodePosition = position ? 'center' === positionMode ? calculateCenteredPosition(position, previewNodeSize) : calculatePositionFromDrop(position, handlePosition, previewNodeSize) : calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, existingNodes, void 0, ignoredNodeTypes, handle);
171
180
  const handleFacingSource = getOppositePosition(handlePosition);
172
181
  const finalData = {
@@ -1,4 +1,5 @@
1
1
  import { type Edge, type Node, Position, type ReactFlowInstance } from '../xyflow/react.ts';
2
+ import { type HandleBoundaryResolver } from './NodeUtils';
2
3
  export type PreviewNodePositionMode = 'drop' | 'center';
3
4
  export declare const PREVIEW_EDGE_STYLE: Edge['style'];
4
5
  export declare function isPreviewEdge(edge: {
@@ -7,13 +8,26 @@ export declare function isPreviewEdge(edge: {
7
8
  target?: string;
8
9
  }): boolean;
9
10
  export declare function getOppositePosition(position: Position): Position;
10
- export declare function createPreviewNode(sourceNodeId: string, sourceHandleId: string, reactFlowInstance: ReactFlowInstance, position?: {
11
- x: number;
12
- y: number;
13
- }, data?: Record<string, unknown>, sourceHandleType?: 'source' | 'target', previewNodeSize?: {
14
- width: number;
15
- height: number;
16
- }, handlePosition?: Position, ignoredNodeTypes?: string[], positionMode?: PreviewNodePositionMode): {
11
+ export interface CreatePreviewNodeOptions {
12
+ sourceNodeId: string;
13
+ sourceHandleId: string;
14
+ reactFlowInstance: ReactFlowInstance;
15
+ position?: {
16
+ x: number;
17
+ y: number;
18
+ };
19
+ data?: Record<string, unknown>;
20
+ sourceHandleType?: 'source' | 'target';
21
+ previewNodeSize?: {
22
+ width: number;
23
+ height: number;
24
+ };
25
+ handlePosition?: Position;
26
+ ignoredNodeTypes?: string[];
27
+ positionMode?: PreviewNodePositionMode;
28
+ sourceBoundaryOf?: HandleBoundaryResolver;
29
+ }
30
+ export declare function createPreviewNode(options: CreatePreviewNodeOptions): {
17
31
  node: Node;
18
32
  edge: Edge;
19
33
  } | null;
@@ -1 +1 @@
1
- {"version":3,"file":"createPreviewNode.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/createPreviewNode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,EACT,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,iBAAiB,EACvB,MAAM,0CAA0C,CAAC;AASlD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD,eAAO,MAAM,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAK5C,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAM9F;AAMD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAahE;AAiLD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACnC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,gBAAgB,GAAE,QAAQ,GAAG,QAAmB,EAChD,eAAe,GAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAG/C,EACD,cAAc,GAAE,QAAyB,EACzC,gBAAgB,GAAE,MAAM,EAAO,EAC/B,YAAY,GAAE,uBAAgC,GAC7C;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAwFnC;AAMD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,EACnC,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,CAcN;AAKD,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAGrF"}
1
+ {"version":3,"file":"createPreviewNode.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/createPreviewNode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,EACT,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,iBAAiB,EACvB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAGL,KAAK,sBAAsB,EAG5B,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD,eAAO,MAAM,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAK5C,CAAC;AAEF,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAM9F;AAMD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAahE;AAqLD,MAAM,WAAW,wBAAwB;IAEvC,YAAY,EAAE,MAAM,CAAC;IAErB,cAAc,EAAE,MAAM,CAAC;IAEvB,iBAAiB,EAAE,iBAAiB,CAAC;IAMrC,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM/B,gBAAgB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAKvC,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpD,cAAc,CAAC,EAAE,QAAQ,CAAC;IAE1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAM5B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IAOvC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAOD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,wBAAwB,GAChC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAwGnC;AAMD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,EACnC,iBAAiB,EAAE,iBAAiB,GACnC,IAAI,CAcN;AAKD,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAGrF"}
@@ -1,5 +1,6 @@
1
1
  import { Position } from "../xyflow/react.js";
2
2
  import { DEFAULT_NODE_SIZE, GRID_SPACING, PREVIEW_EDGE_ID, PREVIEW_NODE_ID } from "../constants.js";
3
+ import { getNodeDimensions } from "./container.js";
3
4
  import { getAbsolutePosition, getNonOverlappingPositionForDirection, resolveHandleContext } from "./NodeUtils.js";
4
5
  const PREVIEW_EDGE_STYLE = {
5
6
  strokeDasharray: '5,5',
@@ -69,11 +70,16 @@ function computeSpreadOffset(handle, size) {
69
70
  }
70
71
  function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, existingNodes, offset = 5 * GRID_SPACING, ignoredNodeTypes = [], handle) {
71
72
  const sourceAbsolutePosition = sourceNode.parentId ? getAbsolutePosition(sourceNode, existingNodes) : sourceNode.position;
72
- const sourceWidth = sourceNode.measured?.width ?? 0;
73
- const sourceHeight = sourceNode.measured?.height ?? 0;
74
- const anchorX = handle?.anchor.x ?? sourceAbsolutePosition.x + sourceWidth / 2;
75
- const anchorY = handle?.anchor.y ?? sourceAbsolutePosition.y + sourceHeight / 2;
76
- const nodesWithAbsolutePositions = existingNodes.map((node)=>({
73
+ const sourceSize = getNodeDimensions(sourceNode);
74
+ const anchorX = handle?.anchor.x ?? sourceAbsolutePosition.x + sourceSize.width / 2;
75
+ const anchorY = handle?.anchor.y ?? sourceAbsolutePosition.y + sourceSize.height / 2;
76
+ const ignoredNodeIds = new Set();
77
+ let parentId = sourceNode.parentId;
78
+ while(parentId){
79
+ ignoredNodeIds.add(parentId);
80
+ parentId = existingNodes.find((node)=>node.id === parentId)?.parentId;
81
+ }
82
+ const nodesWithAbsolutePositions = existingNodes.filter((node)=>node.id !== PREVIEW_NODE_ID && !ignoredNodeIds.has(node.id)).map((node)=>({
77
83
  ...node,
78
84
  position: node.parentId ? getAbsolutePosition(node, existingNodes) : node.position
79
85
  }));
@@ -89,7 +95,7 @@ function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, exis
89
95
  break;
90
96
  case Position.Right:
91
97
  initialPosition = {
92
- x: sourceAbsolutePosition.x + sourceWidth + offset,
98
+ x: sourceAbsolutePosition.x + sourceSize.width + offset,
93
99
  y: anchorY - previewNodeSize.height / 2 + computeSpreadOffset(handle, previewNodeSize.height)
94
100
  };
95
101
  direction = 'right';
@@ -104,27 +110,28 @@ function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, exis
104
110
  case Position.Bottom:
105
111
  initialPosition = {
106
112
  x: anchorX - previewNodeSize.width / 2 + computeSpreadOffset(handle, previewNodeSize.width / 2),
107
- y: sourceAbsolutePosition.y + sourceHeight + offset
113
+ y: sourceAbsolutePosition.y + sourceSize.height + offset
108
114
  };
109
115
  direction = 'bottom';
110
116
  break;
111
117
  default:
112
118
  initialPosition = {
113
- x: sourceAbsolutePosition.x + sourceWidth + offset,
119
+ x: sourceAbsolutePosition.x + sourceSize.width + offset,
114
120
  y: anchorY - previewNodeSize.height / 2
115
121
  };
116
122
  direction = 'right';
117
123
  }
118
124
  const overflowDirection = {
119
- x: anchorX >= sourceAbsolutePosition.x + sourceWidth / 2 ? 'right' : 'left',
120
- y: anchorY >= sourceAbsolutePosition.y + sourceHeight / 2 ? 'down' : 'up'
125
+ x: anchorX >= sourceAbsolutePosition.x + sourceSize.width / 2 ? 'right' : 'left',
126
+ y: anchorY >= sourceAbsolutePosition.y + sourceSize.height / 2 ? 'down' : 'up'
121
127
  };
122
128
  return getNonOverlappingPositionForDirection(nodesWithAbsolutePositions, initialPosition, previewNodeSize, direction, offset, ignoredNodeTypes, overflowDirection);
123
129
  }
124
- function createPreviewNode(sourceNodeId, sourceHandleId, reactFlowInstance, position, data, sourceHandleType = 'source', previewNodeSize = {
125
- width: DEFAULT_NODE_SIZE,
126
- height: DEFAULT_NODE_SIZE
127
- }, handlePosition = Position.Right, ignoredNodeTypes = [], positionMode = 'drop') {
130
+ function createPreviewNode(options) {
131
+ const { sourceNodeId, sourceHandleId, reactFlowInstance, position, data, sourceHandleType = 'source', previewNodeSize = {
132
+ width: DEFAULT_NODE_SIZE,
133
+ height: DEFAULT_NODE_SIZE
134
+ }, handlePosition = Position.Right, ignoredNodeTypes = [], positionMode = 'drop', sourceBoundaryOf } = options;
128
135
  const sourceNode = reactFlowInstance.getNode(sourceNodeId);
129
136
  if (!sourceNode) {
130
137
  console.warn(`Source node ${sourceNodeId} not found`);
@@ -133,7 +140,9 @@ function createPreviewNode(sourceNodeId, sourceHandleId, reactFlowInstance, posi
133
140
  const treatPreviewAsSource = 'target' === sourceHandleType;
134
141
  const existingNodes = reactFlowInstance.getNodes().filter((n)=>n.id !== PREVIEW_NODE_ID);
135
142
  const internalNode = void 0 === position ? reactFlowInstance.getInternalNode(sourceNodeId) : void 0;
136
- const handle = internalNode ? resolveHandleContext(internalNode, sourceHandleId, handlePosition) : void 0;
143
+ const handle = internalNode ? resolveHandleContext(internalNode, sourceHandleId, handlePosition, {
144
+ boundaryOf: sourceBoundaryOf
145
+ }) : void 0;
137
146
  const nodePosition = position ? 'center' === positionMode ? calculateCenteredPosition(position, previewNodeSize) : calculatePositionFromDrop(position, handlePosition, previewNodeSize) : calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, existingNodes, void 0, ignoredNodeTypes, handle);
138
147
  const handleFacingSource = getOppositePosition(handlePosition);
139
148
  const finalData = {
@@ -36,6 +36,9 @@ var __webpack_modules__ = {
36
36
  "./constraint-validator" (module) {
37
37
  module.exports = require("./constraint-validator.cjs");
38
38
  },
39
+ "./container" (module) {
40
+ module.exports = require("./container.cjs");
41
+ },
39
42
  "./createPreviewGraph" (module) {
40
43
  module.exports = require("./createPreviewGraph.cjs");
41
44
  },
@@ -133,49 +136,53 @@ var __webpack_exports__ = {};
133
136
  var __rspack_reexport = {};
134
137
  for(const __rspack_import_key in _constraint_validator__rspack_import_7)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_constraint_validator__rspack_import_7[__rspack_import_key];
135
138
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
136
- var _createPreviewGraph__rspack_import_8 = __webpack_require__("./createPreviewGraph");
139
+ var _container__rspack_import_8 = __webpack_require__("./container");
140
+ var __rspack_reexport = {};
141
+ for(const __rspack_import_key in _container__rspack_import_8)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_container__rspack_import_8[__rspack_import_key];
142
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
143
+ var _createPreviewGraph__rspack_import_9 = __webpack_require__("./createPreviewGraph");
137
144
  var __rspack_reexport = {};
138
- for(const __rspack_import_key in _createPreviewGraph__rspack_import_8)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_createPreviewGraph__rspack_import_8[__rspack_import_key];
145
+ for(const __rspack_import_key in _createPreviewGraph__rspack_import_9)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_createPreviewGraph__rspack_import_9[__rspack_import_key];
139
146
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
140
- var _createPreviewNode__rspack_import_9 = __webpack_require__("./createPreviewNode");
147
+ var _createPreviewNode__rspack_import_10 = __webpack_require__("./createPreviewNode");
141
148
  var __rspack_reexport = {};
142
- for(const __rspack_import_key in _createPreviewNode__rspack_import_9)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_createPreviewNode__rspack_import_9[__rspack_import_key];
149
+ for(const __rspack_import_key in _createPreviewNode__rspack_import_10)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_createPreviewNode__rspack_import_10[__rspack_import_key];
143
150
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
144
- var _export_canvas__rspack_import_10 = __webpack_require__("./export-canvas");
151
+ var _export_canvas__rspack_import_11 = __webpack_require__("./export-canvas");
145
152
  var __rspack_reexport = {};
146
- for(const __rspack_import_key in _export_canvas__rspack_import_10)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_export_canvas__rspack_import_10[__rspack_import_key];
153
+ for(const __rspack_import_key in _export_canvas__rspack_import_11)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_export_canvas__rspack_import_11[__rspack_import_key];
147
154
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
148
- var _GroupModificationUtils__rspack_import_11 = __webpack_require__("./GroupModificationUtils");
155
+ var _GroupModificationUtils__rspack_import_12 = __webpack_require__("./GroupModificationUtils");
149
156
  var __rspack_reexport = {};
150
- for(const __rspack_import_key in _GroupModificationUtils__rspack_import_11)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_GroupModificationUtils__rspack_import_11[__rspack_import_key];
157
+ for(const __rspack_import_key in _GroupModificationUtils__rspack_import_12)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_GroupModificationUtils__rspack_import_12[__rspack_import_key];
151
158
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
152
- var _icon_registry__rspack_import_12 = __webpack_require__("./icon-registry");
159
+ var _icon_registry__rspack_import_13 = __webpack_require__("./icon-registry");
153
160
  var __rspack_reexport = {};
154
- for(const __rspack_import_key in _icon_registry__rspack_import_12)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_icon_registry__rspack_import_12[__rspack_import_key];
161
+ for(const __rspack_import_key in _icon_registry__rspack_import_13)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_icon_registry__rspack_import_13[__rspack_import_key];
155
162
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
156
- var _manifest_resolver__rspack_import_13 = __webpack_require__("./manifest-resolver");
163
+ var _manifest_resolver__rspack_import_14 = __webpack_require__("./manifest-resolver");
157
164
  var __rspack_reexport = {};
158
- for(const __rspack_import_key in _manifest_resolver__rspack_import_13)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_manifest_resolver__rspack_import_13[__rspack_import_key];
165
+ for(const __rspack_import_key in _manifest_resolver__rspack_import_14)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_manifest_resolver__rspack_import_14[__rspack_import_key];
159
166
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
160
- var _NodeUtils__rspack_import_14 = __webpack_require__("./NodeUtils");
167
+ var _NodeUtils__rspack_import_15 = __webpack_require__("./NodeUtils");
161
168
  var __rspack_reexport = {};
162
- for(const __rspack_import_key in _NodeUtils__rspack_import_14)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_NodeUtils__rspack_import_14[__rspack_import_key];
169
+ for(const __rspack_import_key in _NodeUtils__rspack_import_15)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_NodeUtils__rspack_import_15[__rspack_import_key];
163
170
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
164
- var _props_helpers__rspack_import_15 = __webpack_require__("./props-helpers");
171
+ var _props_helpers__rspack_import_16 = __webpack_require__("./props-helpers");
165
172
  var __rspack_reexport = {};
166
- for(const __rspack_import_key in _props_helpers__rspack_import_15)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_props_helpers__rspack_import_15[__rspack_import_key];
173
+ for(const __rspack_import_key in _props_helpers__rspack_import_16)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_props_helpers__rspack_import_16[__rspack_import_key];
167
174
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
168
- var _resource_operations__rspack_import_16 = __webpack_require__("./resource-operations");
175
+ var _resource_operations__rspack_import_17 = __webpack_require__("./resource-operations");
169
176
  var __rspack_reexport = {};
170
- for(const __rspack_import_key in _resource_operations__rspack_import_16)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_resource_operations__rspack_import_16[__rspack_import_key];
177
+ for(const __rspack_import_key in _resource_operations__rspack_import_17)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_resource_operations__rspack_import_17[__rspack_import_key];
171
178
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
172
- var _Storage__rspack_import_17 = __webpack_require__("./Storage");
179
+ var _Storage__rspack_import_18 = __webpack_require__("./Storage");
173
180
  var __rspack_reexport = {};
174
- for(const __rspack_import_key in _Storage__rspack_import_17)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_Storage__rspack_import_17[__rspack_import_key];
181
+ for(const __rspack_import_key in _Storage__rspack_import_18)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_Storage__rspack_import_18[__rspack_import_key];
175
182
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
176
- var _StyleUtil__rspack_import_18 = __webpack_require__("./StyleUtil");
183
+ var _StyleUtil__rspack_import_19 = __webpack_require__("./StyleUtil");
177
184
  var __rspack_reexport = {};
178
- for(const __rspack_import_key in _StyleUtil__rspack_import_18)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_StyleUtil__rspack_import_18[__rspack_import_key];
185
+ for(const __rspack_import_key in _StyleUtil__rspack_import_19)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_StyleUtil__rspack_import_19[__rspack_import_key];
179
186
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
180
187
  })();
181
188
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -6,6 +6,7 @@ export * from './coded-agents/d3-layout';
6
6
  export * from './coded-agents/mermaid-parser';
7
7
  export * from './collapse';
8
8
  export * from './constraint-validator';
9
+ export * from './container';
9
10
  export * from './createPreviewGraph';
10
11
  export * from './createPreviewNode';
11
12
  export * from './export-canvas';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -6,6 +6,7 @@ export * from "./coded-agents/d3-layout.js";
6
6
  export * from "./coded-agents/mermaid-parser.js";
7
7
  export * from "./collapse.js";
8
8
  export * from "./constraint-validator.js";
9
+ export * from "./container.js";
9
10
  export * from "./createPreviewGraph.js";
10
11
  export * from "./createPreviewNode.js";
11
12
  export * from "./export-canvas.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-react",
3
- "version": "4.17.0",
3
+ "version": "4.18.1",
4
4
  "description": "Apollo Design System - React component library with Material UI theming",
5
5
  "repository": {
6
6
  "type": "git",
@@ -201,8 +201,8 @@
201
201
  "use-sync-external-store": "^1.2.0",
202
202
  "zod": "^4.3.5",
203
203
  "zustand": "^5.0.9",
204
- "@uipath/apollo-wind": "2.9.0",
205
- "@uipath/apollo-core": "5.9.0"
204
+ "@uipath/apollo-core": "5.9.0",
205
+ "@uipath/apollo-wind": "2.9.0"
206
206
  },
207
207
  "devDependencies": {
208
208
  "@lingui/cli": "^5.6.1",
@@ -1,56 +0,0 @@
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
- CONTAINER_FRAME_INSET_PX: ()=>CONTAINER_FRAME_INSET_PX,
28
- DEFAULT_CONTAINER_HEADER_HEIGHT_PX: ()=>DEFAULT_CONTAINER_HEADER_HEIGHT_PX,
29
- DEFAULT_CONTAINER_MIN_HEIGHT: ()=>DEFAULT_CONTAINER_MIN_HEIGHT,
30
- DEFAULT_CONTAINER_MIN_WIDTH: ()=>DEFAULT_CONTAINER_MIN_WIDTH,
31
- DEFAULT_LOOP_ICON: ()=>DEFAULT_LOOP_ICON,
32
- DEFAULT_LOOP_TITLE: ()=>DEFAULT_LOOP_TITLE
33
- });
34
- const DEFAULT_LOOP_ICON = 'repeat';
35
- const DEFAULT_LOOP_TITLE = 'Loop';
36
- const DEFAULT_CONTAINER_HEADER_HEIGHT_PX = 40;
37
- const DEFAULT_CONTAINER_MIN_WIDTH = 400;
38
- const DEFAULT_CONTAINER_MIN_HEIGHT = 220;
39
- const CONTAINER_FRAME_INSET_PX = 10;
40
- exports.CONTAINER_FRAME_INSET_PX = __webpack_exports__.CONTAINER_FRAME_INSET_PX;
41
- exports.DEFAULT_CONTAINER_HEADER_HEIGHT_PX = __webpack_exports__.DEFAULT_CONTAINER_HEADER_HEIGHT_PX;
42
- exports.DEFAULT_CONTAINER_MIN_HEIGHT = __webpack_exports__.DEFAULT_CONTAINER_MIN_HEIGHT;
43
- exports.DEFAULT_CONTAINER_MIN_WIDTH = __webpack_exports__.DEFAULT_CONTAINER_MIN_WIDTH;
44
- exports.DEFAULT_LOOP_ICON = __webpack_exports__.DEFAULT_LOOP_ICON;
45
- exports.DEFAULT_LOOP_TITLE = __webpack_exports__.DEFAULT_LOOP_TITLE;
46
- for(var __rspack_i in __webpack_exports__)if (-1 === [
47
- "CONTAINER_FRAME_INSET_PX",
48
- "DEFAULT_CONTAINER_HEADER_HEIGHT_PX",
49
- "DEFAULT_CONTAINER_MIN_HEIGHT",
50
- "DEFAULT_CONTAINER_MIN_WIDTH",
51
- "DEFAULT_LOOP_ICON",
52
- "DEFAULT_LOOP_TITLE"
53
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
54
- Object.defineProperty(exports, '__esModule', {
55
- value: true
56
- });
@@ -1,7 +0,0 @@
1
- export declare const DEFAULT_LOOP_ICON = "repeat";
2
- export declare const DEFAULT_LOOP_TITLE = "Loop";
3
- export declare const DEFAULT_CONTAINER_HEADER_HEIGHT_PX = 40;
4
- export declare const DEFAULT_CONTAINER_MIN_WIDTH = 400;
5
- export declare const DEFAULT_CONTAINER_MIN_HEIGHT = 220;
6
- export declare const CONTAINER_FRAME_INSET_PX = 10;
7
- //# sourceMappingURL=LoopNode.constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoopNode.constants.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,kBAAkB,SAAS,CAAC;AACzC,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAErD,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAC/C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,wBAAwB,KAAK,CAAC"}
@@ -1,7 +0,0 @@
1
- const DEFAULT_LOOP_ICON = 'repeat';
2
- const DEFAULT_LOOP_TITLE = 'Loop';
3
- const DEFAULT_CONTAINER_HEADER_HEIGHT_PX = 40;
4
- const DEFAULT_CONTAINER_MIN_WIDTH = 400;
5
- const DEFAULT_CONTAINER_MIN_HEIGHT = 220;
6
- const CONTAINER_FRAME_INSET_PX = 10;
7
- export { CONTAINER_FRAME_INSET_PX, DEFAULT_CONTAINER_HEADER_HEIGHT_PX, DEFAULT_CONTAINER_MIN_HEIGHT, DEFAULT_CONTAINER_MIN_WIDTH, DEFAULT_LOOP_ICON, DEFAULT_LOOP_TITLE };