@uipath/apollo-react 3.47.2 → 3.48.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.
@@ -38,13 +38,13 @@ class CategoryTree {
38
38
  }
39
39
  static buildMap(tree) {
40
40
  const newCategoryMap = new Map();
41
- const buildMapHelper = (t)=>{
42
- for (const tNode of t){
41
+ const addCategoriesToMap = (categories)=>{
42
+ for (const tNode of categories){
43
43
  newCategoryMap.set(tNode.id, tNode);
44
- buildMapHelper(tNode.nestedCategories);
44
+ addCategoriesToMap(tNode.nestedCategories);
45
45
  }
46
46
  };
47
- buildMapHelper(tree);
47
+ addCategoriesToMap(tree);
48
48
  return newCategoryMap;
49
49
  }
50
50
  static fromPrebuilt(rootCategories, rootNodes) {
@@ -10,13 +10,13 @@ class CategoryTree {
10
10
  }
11
11
  static buildMap(tree) {
12
12
  const newCategoryMap = new Map();
13
- const buildMapHelper = (t)=>{
14
- for (const tNode of t){
13
+ const addCategoriesToMap = (categories)=>{
14
+ for (const tNode of categories){
15
15
  newCategoryMap.set(tNode.id, tNode);
16
- buildMapHelper(tNode.nestedCategories);
16
+ addCategoriesToMap(tNode.nestedCategories);
17
17
  }
18
18
  };
19
- buildMapHelper(tree);
19
+ addCategoriesToMap(tree);
20
20
  return newCategoryMap;
21
21
  }
22
22
  static fromPrebuilt(rootCategories, rootNodes) {
@@ -637,7 +637,7 @@ const allNodeManifests = [
637
637
  },
638
638
  handleConfiguration: [
639
639
  {
640
- position: 'top',
640
+ position: 'bottom',
641
641
  handles: [
642
642
  {
643
643
  id: 'input',
@@ -674,7 +674,7 @@ const allNodeManifests = [
674
674
  },
675
675
  handleConfiguration: [
676
676
  {
677
- position: 'top',
677
+ position: 'bottom',
678
678
  handles: [
679
679
  {
680
680
  id: 'input',
@@ -609,7 +609,7 @@ const allNodeManifests = [
609
609
  },
610
610
  handleConfiguration: [
611
611
  {
612
- position: 'top',
612
+ position: 'bottom',
613
613
  handles: [
614
614
  {
615
615
  id: 'input',
@@ -646,7 +646,7 @@ const allNodeManifests = [
646
646
  },
647
647
  handleConfiguration: [
648
648
  {
649
- position: 'top',
649
+ position: 'bottom',
650
650
  handles: [
651
651
  {
652
652
  id: 'input',
@@ -48,12 +48,15 @@ const getAbsolutePosition = (node, nodes)=>{
48
48
  y
49
49
  };
50
50
  };
51
- function getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeStyle, direction, offset = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes = []) {
51
+ function getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeStyle, direction, offset = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes = [], overflowDirection = {
52
+ x: 'right',
53
+ y: 'down'
54
+ }) {
52
55
  const isOverlapping = nodes.some((node)=>node.id !== external_constants_cjs_namespaceObject.PREVIEW_NODE_ID && !ignoredNodeTypes.includes(node.type ?? '') && node.position.x < newNodePosition.x + newNodeStyle.width && node.position.x + (node.measured?.width ?? 0) > newNodePosition.x && node.position.y < newNodePosition.y + newNodeStyle.height && node.position.y + (node.measured?.height ?? 0) > newNodePosition.y);
53
56
  if (isOverlapping) {
54
- if ('left' === direction || 'right' === direction) newNodePosition.y += offset;
55
- else newNodePosition.x += offset;
56
- return getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeStyle, direction, offset, ignoredNodeTypes);
57
+ if ('left' === direction || 'right' === direction) newNodePosition.y += 'down' === overflowDirection.y ? offset : -offset;
58
+ else newNodePosition.x += 'right' === overflowDirection.x ? offset : -offset;
59
+ return getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeStyle, direction, offset, ignoredNodeTypes, overflowDirection);
57
60
  }
58
61
  return newNodePosition;
59
62
  }
@@ -6,7 +6,10 @@ export declare const getAbsolutePosition: (node: Node, nodes: Node[]) => {
6
6
  export declare function getNonOverlappingPositionForDirection(nodes: Node[], newNodePosition: XYPosition, newNodeStyle: {
7
7
  width: number;
8
8
  height: number;
9
- }, direction: 'left' | 'right' | 'top' | 'bottom', offset?: number, ignoredNodeTypes?: string[]): XYPosition;
9
+ }, direction: 'left' | 'right' | 'top' | 'bottom', offset?: number, ignoredNodeTypes?: string[], overflowDirection?: {
10
+ x: 'left' | 'right';
11
+ y: 'up' | 'down';
12
+ }): XYPosition;
10
13
  export declare const snapToGrid: (value: number) => number;
11
14
  export type CollisionAlgorithmOptions = {
12
15
  maxIterations?: number;
@@ -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,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAUlD,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAcF,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,GAC9B,UAAU,CA+BZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,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;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,EAAE,CAAC;AA6BhG,eAAO,MAAM,iBAAiB,EAAE,kBAwE/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;AAMF,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,QAAQ,GACvB,aAAa,GAAG,SAAS,CAgB3B;AAWD,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,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAUlD,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,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;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,EAAE,CAAC;AA6BhG,eAAO,MAAM,iBAAiB,EAAE,kBAwE/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;AAMF,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,QAAQ,GACvB,aAAa,GAAG,SAAS,CAgB3B;AAWD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,GAAG,IAAI,CAQf"}
@@ -15,12 +15,15 @@ const getAbsolutePosition = (node, nodes)=>{
15
15
  y
16
16
  };
17
17
  };
18
- function getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeStyle, direction, offset = 2 * GRID_SPACING, ignoredNodeTypes = []) {
18
+ function getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeStyle, direction, offset = 2 * GRID_SPACING, ignoredNodeTypes = [], overflowDirection = {
19
+ x: 'right',
20
+ y: 'down'
21
+ }) {
19
22
  const isOverlapping = nodes.some((node)=>node.id !== PREVIEW_NODE_ID && !ignoredNodeTypes.includes(node.type ?? '') && node.position.x < newNodePosition.x + newNodeStyle.width && node.position.x + (node.measured?.width ?? 0) > newNodePosition.x && node.position.y < newNodePosition.y + newNodeStyle.height && node.position.y + (node.measured?.height ?? 0) > newNodePosition.y);
20
23
  if (isOverlapping) {
21
- if ('left' === direction || 'right' === direction) newNodePosition.y += offset;
22
- else newNodePosition.x += offset;
23
- return getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeStyle, direction, offset, ignoredNodeTypes);
24
+ if ('left' === direction || 'right' === direction) newNodePosition.y += 'down' === overflowDirection.y ? offset : -offset;
25
+ else newNodePosition.x += 'right' === overflowDirection.x ? offset : -offset;
26
+ return getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeStyle, direction, offset, ignoredNodeTypes, overflowDirection);
24
27
  }
25
28
  return newNodePosition;
26
29
  }
@@ -74,6 +74,14 @@ function calculatePositionFromDrop(dropPosition, handlePosition, previewNodeSize
74
74
  };
75
75
  }
76
76
  }
77
+ function computeSpreadOffset(handle, size) {
78
+ const index = handle?.index ?? null;
79
+ const count = handle?.count ?? 1;
80
+ if (null === index || count <= 1) return 0;
81
+ if (index < Math.floor(count / 2)) return -size;
82
+ if (index >= Math.ceil(count / 2)) return size;
83
+ return 0;
84
+ }
77
85
  function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, existingNodes, offset = 5 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes = [], handle) {
78
86
  const sourceAbsolutePosition = sourceNode.parentId ? (0, external_NodeUtils_cjs_namespaceObject.getAbsolutePosition)(sourceNode, existingNodes) : sourceNode.position;
79
87
  const sourceWidth = sourceNode.measured?.width ?? 0;
@@ -95,31 +103,22 @@ function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, exis
95
103
  direction = 'left';
96
104
  break;
97
105
  case react_cjs_namespaceObject.Position.Right:
98
- {
99
- let yOffset = 0;
100
- const handleIndex = handle?.index ?? null;
101
- const handleCount = handle?.count ?? 1;
102
- if (null !== handleIndex && handleCount > 1) {
103
- if (handleIndex < Math.floor(handleCount / 2)) yOffset = -previewNodeSize.height;
104
- else if (handleIndex >= Math.ceil(handleCount / 2)) yOffset = previewNodeSize.height;
105
- }
106
- initialPosition = {
107
- x: sourceAbsolutePosition.x + sourceWidth + offset,
108
- y: anchorY - previewNodeSize.height / 2 + yOffset
109
- };
110
- direction = 'right';
111
- break;
112
- }
106
+ initialPosition = {
107
+ x: sourceAbsolutePosition.x + sourceWidth + offset,
108
+ y: anchorY - previewNodeSize.height / 2 + computeSpreadOffset(handle, previewNodeSize.height)
109
+ };
110
+ direction = 'right';
111
+ break;
113
112
  case react_cjs_namespaceObject.Position.Top:
114
113
  initialPosition = {
115
- x: anchorX - previewNodeSize.width / 2,
114
+ x: anchorX - previewNodeSize.width / 2 + computeSpreadOffset(handle, previewNodeSize.width / 2),
116
115
  y: sourceAbsolutePosition.y - previewNodeSize.height - offset
117
116
  };
118
117
  direction = 'top';
119
118
  break;
120
119
  case react_cjs_namespaceObject.Position.Bottom:
121
120
  initialPosition = {
122
- x: anchorX - previewNodeSize.width / 2,
121
+ x: anchorX - previewNodeSize.width / 2 + computeSpreadOffset(handle, previewNodeSize.width / 2),
123
122
  y: sourceAbsolutePosition.y + sourceHeight + offset
124
123
  };
125
124
  direction = 'bottom';
@@ -131,7 +130,11 @@ function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, exis
131
130
  };
132
131
  direction = 'right';
133
132
  }
134
- return (0, external_NodeUtils_cjs_namespaceObject.getNonOverlappingPositionForDirection)(nodesWithAbsolutePositions, initialPosition, previewNodeSize, direction, offset, ignoredNodeTypes);
133
+ const overflowDirection = {
134
+ x: anchorX >= sourceAbsolutePosition.x + sourceWidth / 2 ? 'right' : 'left',
135
+ y: anchorY >= sourceAbsolutePosition.y + sourceHeight / 2 ? 'down' : 'up'
136
+ };
137
+ return (0, external_NodeUtils_cjs_namespaceObject.getNonOverlappingPositionForDirection)(nodesWithAbsolutePositions, initialPosition, previewNodeSize, direction, offset, ignoredNodeTypes, overflowDirection);
135
138
  }
136
139
  function createPreviewNode(sourceNodeId, sourceHandleId, reactFlowInstance, position, data, sourceHandleType = 'source', previewNodeSize = {
137
140
  width: external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE,
@@ -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;AA6KlD,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,GAAG,CAAC,EAC1B,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,GAC9B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAiFnC;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;AAiMlD,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,GAAG,CAAC,EAC1B,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,GAC9B;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CA2FnC;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"}
@@ -44,6 +44,14 @@ function calculatePositionFromDrop(dropPosition, handlePosition, previewNodeSize
44
44
  };
45
45
  }
46
46
  }
47
+ function computeSpreadOffset(handle, size) {
48
+ const index = handle?.index ?? null;
49
+ const count = handle?.count ?? 1;
50
+ if (null === index || count <= 1) return 0;
51
+ if (index < Math.floor(count / 2)) return -size;
52
+ if (index >= Math.ceil(count / 2)) return size;
53
+ return 0;
54
+ }
47
55
  function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, existingNodes, offset = 5 * GRID_SPACING, ignoredNodeTypes = [], handle) {
48
56
  const sourceAbsolutePosition = sourceNode.parentId ? getAbsolutePosition(sourceNode, existingNodes) : sourceNode.position;
49
57
  const sourceWidth = sourceNode.measured?.width ?? 0;
@@ -65,31 +73,22 @@ function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, exis
65
73
  direction = 'left';
66
74
  break;
67
75
  case Position.Right:
68
- {
69
- let yOffset = 0;
70
- const handleIndex = handle?.index ?? null;
71
- const handleCount = handle?.count ?? 1;
72
- if (null !== handleIndex && handleCount > 1) {
73
- if (handleIndex < Math.floor(handleCount / 2)) yOffset = -previewNodeSize.height;
74
- else if (handleIndex >= Math.ceil(handleCount / 2)) yOffset = previewNodeSize.height;
75
- }
76
- initialPosition = {
77
- x: sourceAbsolutePosition.x + sourceWidth + offset,
78
- y: anchorY - previewNodeSize.height / 2 + yOffset
79
- };
80
- direction = 'right';
81
- break;
82
- }
76
+ initialPosition = {
77
+ x: sourceAbsolutePosition.x + sourceWidth + offset,
78
+ y: anchorY - previewNodeSize.height / 2 + computeSpreadOffset(handle, previewNodeSize.height)
79
+ };
80
+ direction = 'right';
81
+ break;
83
82
  case Position.Top:
84
83
  initialPosition = {
85
- x: anchorX - previewNodeSize.width / 2,
84
+ x: anchorX - previewNodeSize.width / 2 + computeSpreadOffset(handle, previewNodeSize.width / 2),
86
85
  y: sourceAbsolutePosition.y - previewNodeSize.height - offset
87
86
  };
88
87
  direction = 'top';
89
88
  break;
90
89
  case Position.Bottom:
91
90
  initialPosition = {
92
- x: anchorX - previewNodeSize.width / 2,
91
+ x: anchorX - previewNodeSize.width / 2 + computeSpreadOffset(handle, previewNodeSize.width / 2),
93
92
  y: sourceAbsolutePosition.y + sourceHeight + offset
94
93
  };
95
94
  direction = 'bottom';
@@ -101,7 +100,11 @@ function calculateAutoPosition(sourceNode, handlePosition, previewNodeSize, exis
101
100
  };
102
101
  direction = 'right';
103
102
  }
104
- return getNonOverlappingPositionForDirection(nodesWithAbsolutePositions, initialPosition, previewNodeSize, direction, offset, ignoredNodeTypes);
103
+ const overflowDirection = {
104
+ x: anchorX >= sourceAbsolutePosition.x + sourceWidth / 2 ? 'right' : 'left',
105
+ y: anchorY >= sourceAbsolutePosition.y + sourceHeight / 2 ? 'down' : 'up'
106
+ };
107
+ return getNonOverlappingPositionForDirection(nodesWithAbsolutePositions, initialPosition, previewNodeSize, direction, offset, ignoredNodeTypes, overflowDirection);
105
108
  }
106
109
  function createPreviewNode(sourceNodeId, sourceHandleId, reactFlowInstance, position, data, sourceHandleType = 'source', previewNodeSize = {
107
110
  width: DEFAULT_NODE_SIZE,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-react",
3
- "version": "3.47.2",
3
+ "version": "3.48.1",
4
4
  "description": "Apollo Design System - React component library with Material UI theming",
5
5
  "repository": {
6
6
  "type": "git",