@uipath/apollo-react 4.22.2 → 4.23.0-pr654.b595ac5

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 (76) 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 +16 -27
  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 +19 -30
  7. package/dist/canvas/components/AddNodePanel/AddNodeManager.js +4 -1
  8. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +2 -2
  9. package/dist/canvas/components/BaseNode/BaseNode.cjs +11 -3
  10. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  11. package/dist/canvas/components/BaseNode/BaseNode.js +11 -3
  12. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +2 -9
  13. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
  14. package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +2 -9
  15. package/dist/canvas/components/LoopNode/LoopNode.cjs +27 -5
  16. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
  17. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +30 -8
  18. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +8 -2
  19. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
  20. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +25 -6
  21. package/dist/canvas/components/LoopNode/LoopNode.js +28 -6
  22. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +6 -9
  23. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  24. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +6 -9
  25. package/dist/canvas/components/Toolbox/ListView.cjs +6 -1
  26. package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
  27. package/dist/canvas/components/Toolbox/ListView.js +6 -1
  28. package/dist/canvas/components/index.cjs +19 -12
  29. package/dist/canvas/components/index.d.ts +1 -0
  30. package/dist/canvas/components/index.d.ts.map +1 -1
  31. package/dist/canvas/components/index.js +1 -0
  32. package/dist/canvas/components/shared/InitialsBadge.cjs +91 -0
  33. package/dist/canvas/components/shared/InitialsBadge.d.ts +10 -0
  34. package/dist/canvas/components/shared/InitialsBadge.d.ts.map +1 -0
  35. package/dist/canvas/components/shared/InitialsBadge.js +44 -0
  36. package/dist/canvas/components/shared/index.cjs +39 -0
  37. package/dist/canvas/components/shared/index.d.ts +3 -0
  38. package/dist/canvas/components/shared/index.d.ts.map +1 -0
  39. package/dist/canvas/components/shared/index.js +2 -0
  40. package/dist/canvas/core/CategoryTreeAdapter.cjs +10 -6
  41. package/dist/canvas/core/CategoryTreeAdapter.js +10 -6
  42. package/dist/canvas/hooks/index.cjs +19 -12
  43. package/dist/canvas/hooks/index.d.ts +1 -0
  44. package/dist/canvas/hooks/index.d.ts.map +1 -1
  45. package/dist/canvas/hooks/index.js +1 -0
  46. package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +18 -5
  47. package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
  48. package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +18 -5
  49. package/dist/canvas/hooks/useCanvasNodeLayout.cjs +66 -0
  50. package/dist/canvas/hooks/useCanvasNodeLayout.d.ts +15 -0
  51. package/dist/canvas/hooks/useCanvasNodeLayout.d.ts.map +1 -0
  52. package/dist/canvas/hooks/useCanvasNodeLayout.js +29 -0
  53. package/dist/canvas/schema/node-definition/category-manifest.cjs +1 -1
  54. package/dist/canvas/schema/node-definition/category-manifest.d.ts +1 -1
  55. package/dist/canvas/schema/node-definition/category-manifest.js +1 -1
  56. package/dist/canvas/schema/node-definition/node-manifest.cjs +1 -1
  57. package/dist/canvas/schema/node-definition/node-manifest.d.ts +2 -2
  58. package/dist/canvas/schema/node-definition/node-manifest.js +1 -1
  59. package/dist/canvas/storybook-utils/manifests/index.d.ts +2 -2
  60. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  61. package/dist/canvas/utils/NodeUtils.cjs +4 -4
  62. package/dist/canvas/utils/NodeUtils.d.ts +1 -1
  63. package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
  64. package/dist/canvas/utils/NodeUtils.js +4 -4
  65. package/dist/canvas/utils/container.cjs +106 -5
  66. package/dist/canvas/utils/container.d.ts +37 -2
  67. package/dist/canvas/utils/container.d.ts.map +1 -1
  68. package/dist/canvas/utils/container.js +101 -6
  69. package/dist/canvas/utils/icon-registry.cjs +8 -0
  70. package/dist/canvas/utils/icon-registry.d.ts +1 -1
  71. package/dist/canvas/utils/icon-registry.d.ts.map +1 -1
  72. package/dist/canvas/utils/icon-registry.js +8 -0
  73. package/dist/canvas/utils/manifest-resolver.cjs +2 -1
  74. package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
  75. package/dist/canvas/utils/manifest-resolver.js +2 -1
  76. package/package.json +1 -1
@@ -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++){
@@ -29,11 +29,13 @@ __webpack_require__.d(__webpack_exports__, {
29
29
  DEFAULT_CONTAINER_HEIGHT: ()=>DEFAULT_CONTAINER_HEIGHT,
30
30
  getContainerSafeArea: ()=>container_getContainerSafeArea,
31
31
  DEFAULT_CONTAINER_WIDTH: ()=>DEFAULT_CONTAINER_WIDTH,
32
+ getContainerResizeMinimums: ()=>getContainerResizeMinimums,
32
33
  isContainerNodeManifest: ()=>isContainerNodeManifest,
33
34
  fitContainersAndPushSiblings: ()=>fitContainersAndPushSiblings,
34
35
  DEFAULT_CONTAINER_MIN_HEIGHT: ()=>DEFAULT_CONTAINER_MIN_HEIGHT,
35
36
  placeContainerNode: ()=>placeContainerNode,
36
37
  getContainerNodeForEdge: ()=>getContainerNodeForEdge,
38
+ pushSiblingsAfterContainerResize: ()=>pushSiblingsAfterContainerResize,
37
39
  resolveContainerPreview: ()=>resolveContainerPreview,
38
40
  getContainerFitGeometry: ()=>container_getContainerFitGeometry,
39
41
  CONTAINER_FRAME_INSET_PX: ()=>CONTAINER_FRAME_INSET_PX,
@@ -108,6 +110,39 @@ function container_getContainerFitGeometry() {
108
110
  function isContainerNodeManifest(manifest) {
109
111
  return manifest?.display.shape === 'container';
110
112
  }
113
+ function getContainerResizeMinimums({ nodes, containerId, getContainerFitGeometry: resolveContainerFitGeometry = container_getContainerFitGeometry, getNodeDimensions: resolveNodeDimensions = container_getNodeDimensions, ignoredNodeTypes = [] }) {
114
+ const containerNode = nodes.find((node)=>node.id === containerId);
115
+ const geometry = containerNode ? resolveContainerFitGeometry(containerNode) : null;
116
+ if (!containerNode || !geometry) return {
117
+ leftWidth: DEFAULT_CONTAINER_MIN_WIDTH,
118
+ rightWidth: DEFAULT_CONTAINER_MIN_WIDTH,
119
+ topHeight: DEFAULT_CONTAINER_MIN_HEIGHT,
120
+ bottomHeight: DEFAULT_CONTAINER_MIN_HEIGHT
121
+ };
122
+ const currentSize = resolveNodeDimensions(containerNode);
123
+ const ignoredTypes = new Set(ignoredNodeTypes);
124
+ const padding = geometry.padding ?? {};
125
+ let minimumChildX = 1 / 0;
126
+ let minimumChildY = 1 / 0;
127
+ let rightRequiredWidth = geometry.minWidth;
128
+ let bottomRequiredHeight = geometry.minHeight;
129
+ for (const childNode of nodes){
130
+ if (childNode.id === external_constants_cjs_namespaceObject.PREVIEW_NODE_ID || childNode.hidden || childNode.parentId !== containerId || ignoredTypes.has(childNode.type ?? '')) continue;
131
+ const childSize = resolveNodeDimensions(childNode);
132
+ minimumChildX = Math.min(minimumChildX, childNode.position.x);
133
+ minimumChildY = Math.min(minimumChildY, childNode.position.y);
134
+ rightRequiredWidth = Math.max(rightRequiredWidth, childNode.position.x + childSize.width + (padding.right ?? 0));
135
+ bottomRequiredHeight = Math.max(bottomRequiredHeight, childNode.position.y + childSize.height + (padding.bottom ?? 0));
136
+ }
137
+ const leftRequiredWidth = Number.isFinite(minimumChildX) ? currentSize.width - minimumChildX + (padding.left ?? 0) : geometry.minWidth;
138
+ const topRequiredHeight = Number.isFinite(minimumChildY) ? currentSize.height - minimumChildY + (padding.top ?? 0) : geometry.minHeight;
139
+ return {
140
+ leftWidth: (0, external_NodeUtils_cjs_namespaceObject.snapUpToGrid)(Math.max(geometry.minWidth, leftRequiredWidth)),
141
+ rightWidth: (0, external_NodeUtils_cjs_namespaceObject.snapUpToGrid)(rightRequiredWidth),
142
+ topHeight: (0, external_NodeUtils_cjs_namespaceObject.snapUpToGrid)(Math.max(geometry.minHeight, topRequiredHeight)),
143
+ bottomHeight: (0, external_NodeUtils_cjs_namespaceObject.snapUpToGrid)(bottomRequiredHeight)
144
+ };
145
+ }
111
146
  function getAncestorContainerIds(containerId, nodesById) {
112
147
  const ancestors = [];
113
148
  let parentId = nodesById.get(containerId)?.parentId;
@@ -352,15 +387,17 @@ function collectLinearDownstreamSiblings({ startNodeId, parentId, nodes, edges,
352
387
  }
353
388
  return collectedIds;
354
389
  }
355
- function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
390
+ function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, allowedContainerId, replacedEdge: exactReplacedEdge, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
356
391
  if ('source' !== sourceHandleType || !source.handleId) return null;
357
- const replacedEdge = getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
392
+ const replacedEdge = exactReplacedEdge ?? getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
358
393
  if (!replacedEdge) return null;
359
394
  const sourceNode = reactFlowInstance.getNode(replacedEdge.source);
360
395
  const targetNode = reactFlowInstance.getNode(replacedEdge.target);
396
+ if (!sourceNode || !targetNode) return null;
361
397
  const nodes = reactFlowInstance.getNodes();
362
398
  const containerNode = getContainerNodeForEdge(sourceNode, targetNode, nodes);
363
399
  if (!containerNode) return null;
400
+ if (allowedContainerId && containerNode.id !== allowedContainerId) return null;
364
401
  if (isContainerNode && !isContainerNode(containerNode)) return null;
365
402
  const containerPlacement = getPreviewPlacement({
366
403
  sourceNode,
@@ -400,6 +437,7 @@ function resolveAppendPreview({ source, sourceHandleType, reactFlowInstance, ...
400
437
  if (outgoingEdges.length > 0) return null;
401
438
  const nodes = reactFlowInstance.getNodes();
402
439
  const containerNode = nodes.find((node)=>node.id === sourceNode.parentId);
440
+ if (options.allowedContainerId && containerNode.id !== options.allowedContainerId) return null;
403
441
  if (options.isContainerNode && !options.isContainerNode(containerNode)) return null;
404
442
  const continuationTarget = options.getContainerContinuationTarget?.({
405
443
  containerNode,
@@ -570,8 +608,21 @@ function pushSiblingsAfterContainerGrowth({ nodes, changes, getNodeDimensions, g
570
608
  shifted
571
609
  };
572
610
  }
573
- function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeometry, getNodeDimensions, ignoredNodeTypes, gap }) {
611
+ function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeometry, getNodeDimensions, ignoredNodeTypes, gap, initialChanges = [] }) {
612
+ let changed = false;
613
+ let shifted = false;
574
614
  let nextNodes = nodes;
615
+ if (initialChanges.length > 0) {
616
+ const pushResult = pushSiblingsAfterContainerGrowth({
617
+ nodes: nextNodes,
618
+ changes: initialChanges,
619
+ getNodeDimensions,
620
+ gap
621
+ });
622
+ nextNodes = pushResult.nodes;
623
+ shifted = pushResult.shifted;
624
+ changed = pushResult.shifted;
625
+ }
575
626
  for(let iteration = 0; iteration < 10; iteration += 1){
576
627
  const fitResult = ensureContainersFitChildren(nextNodes, {
577
628
  containerIds,
@@ -582,6 +633,7 @@ function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeom
582
633
  });
583
634
  nextNodes = fitResult.nodes;
584
635
  if (0 === fitResult.changes.length) break;
636
+ changed = true;
585
637
  const pushResult = pushSiblingsAfterContainerGrowth({
586
638
  nodes: nextNodes,
587
639
  changes: fitResult.changes,
@@ -589,9 +641,54 @@ function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeom
589
641
  gap
590
642
  });
591
643
  nextNodes = pushResult.nodes;
644
+ shifted ||= pushResult.shifted;
645
+ changed ||= pushResult.shifted;
592
646
  if (!pushResult.shifted) break;
593
647
  }
594
- return nextNodes;
648
+ return {
649
+ nodes: nextNodes,
650
+ changed,
651
+ shifted
652
+ };
653
+ }
654
+ function pushSiblingsAfterContainerResize({ nodes, containerId, previousSize, nextSize, getContainerFitGeometry: resolveContainerFitGeometry = container_getContainerFitGeometry, getNodeDimensions: resolveNodeDimensions = container_getNodeDimensions, ignoredNodeTypes, gap = CONTAINER_SEQUENCE_GAP_PX }) {
655
+ const containerNode = nodes.find((node)=>node.id === containerId);
656
+ if (!containerNode) return {
657
+ nodes,
658
+ changed: false,
659
+ shifted: false
660
+ };
661
+ const currentSize = resolveNodeDimensions(containerNode);
662
+ let changed = currentSize.width !== nextSize.width || currentSize.height !== nextSize.height;
663
+ let shifted = false;
664
+ let nextNodes = changed ? nodes.map((node)=>node.id === containerId ? withNodeDimensions(node, nextSize) : node) : nodes;
665
+ const resizedWidthDelta = nextSize.width - previousSize.width;
666
+ const resizedHeightDelta = nextSize.height - previousSize.height;
667
+ const result = fitContainersAndPushSiblings({
668
+ nodes: nextNodes,
669
+ containerIds: [
670
+ containerId
671
+ ],
672
+ getContainerFitGeometry: resolveContainerFitGeometry,
673
+ getNodeDimensions: resolveNodeDimensions,
674
+ ignoredNodeTypes,
675
+ gap,
676
+ initialChanges: resizedWidthDelta > 0 || resizedHeightDelta > 0 ? [
677
+ {
678
+ containerId,
679
+ previousSize,
680
+ nextSize
681
+ }
682
+ ] : []
683
+ });
684
+ nextNodes = result.nodes;
685
+ shifted = result.shifted;
686
+ changed ||= result.changed;
687
+ return {
688
+ nodes: nextNodes,
689
+ changed,
690
+ shifted
691
+ };
595
692
  }
596
693
  function getContainerPlacement(previewNode) {
597
694
  const placement = previewNode.data?.[PLACEMENT_DATA_KEY];
@@ -660,7 +757,7 @@ function placeContainerNode({ nodes, insertedNode, placement, safeArea, getConta
660
757
  getNodeDimensions: resolveNodeDimensions,
661
758
  ignoredNodeTypes,
662
759
  gap
663
- });
760
+ }).nodes;
664
761
  }
665
762
  exports.CONTAINER_FRAME_INSET_PX = __webpack_exports__.CONTAINER_FRAME_INSET_PX;
666
763
  exports.CONTAINER_SEQUENCE_GAP_PX = __webpack_exports__.CONTAINER_SEQUENCE_GAP_PX;
@@ -674,10 +771,12 @@ exports.fitContainersAndPushSiblings = __webpack_exports__.fitContainersAndPushS
674
771
  exports.getContainerFitGeometry = __webpack_exports__.getContainerFitGeometry;
675
772
  exports.getContainerNodeForEdge = __webpack_exports__.getContainerNodeForEdge;
676
773
  exports.getContainerPlacement = __webpack_exports__.getContainerPlacement;
774
+ exports.getContainerResizeMinimums = __webpack_exports__.getContainerResizeMinimums;
677
775
  exports.getContainerSafeArea = __webpack_exports__.getContainerSafeArea;
678
776
  exports.getNodeDimensions = __webpack_exports__.getNodeDimensions;
679
777
  exports.isContainerNodeManifest = __webpack_exports__.isContainerNodeManifest;
680
778
  exports.placeContainerNode = __webpack_exports__.placeContainerNode;
779
+ exports.pushSiblingsAfterContainerResize = __webpack_exports__.pushSiblingsAfterContainerResize;
681
780
  exports.resolveContainerPreview = __webpack_exports__.resolveContainerPreview;
682
781
  for(var __rspack_i in __webpack_exports__)if (-1 === [
683
782
  "CONTAINER_FRAME_INSET_PX",
@@ -692,10 +791,12 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
692
791
  "getContainerFitGeometry",
693
792
  "getContainerNodeForEdge",
694
793
  "getContainerPlacement",
794
+ "getContainerResizeMinimums",
695
795
  "getContainerSafeArea",
696
796
  "getNodeDimensions",
697
797
  "isContainerNodeManifest",
698
798
  "placeContainerNode",
799
+ "pushSiblingsAfterContainerResize",
699
800
  "resolveContainerPreview"
700
801
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
701
802
  Object.defineProperty(exports, '__esModule', {
@@ -5,6 +5,12 @@ export interface NodeDimensions {
5
5
  width: number;
6
6
  height: number;
7
7
  }
8
+ export interface ContainerResizeMinimums {
9
+ leftWidth: number;
10
+ rightWidth: number;
11
+ topHeight: number;
12
+ bottomHeight: number;
13
+ }
8
14
  export interface ContainerFitGeometry {
9
15
  minWidth: number;
10
16
  minHeight: number;
@@ -36,6 +42,11 @@ export interface EnsureContainersFitChildrenResult {
36
42
  nodes: Node[];
37
43
  changes: ContainerSizeChange[];
38
44
  }
45
+ export interface PushSiblingsAfterContainerResizeResult {
46
+ nodes: Node[];
47
+ changed: boolean;
48
+ shifted: boolean;
49
+ }
39
50
  export interface ContainerPlacement {
40
51
  containerId: string;
41
52
  sourceNodeId?: string;
@@ -49,6 +60,8 @@ interface ContainerPreviewContext {
49
60
  }
50
61
  interface ContainerPreviewOptions {
51
62
  isContainerNode?: (node: Node) => boolean;
63
+ allowedContainerId?: string;
64
+ replacedEdge?: Edge;
52
65
  getContainerSafeArea?: (containerNode: Node) => ContainerSafeArea | undefined;
53
66
  getContainerContinuationTarget?: (context: {
54
67
  containerNode: Node;
@@ -79,6 +92,13 @@ export declare function getNodeDimensions(node: Pick<Node, 'width' | 'height' |
79
92
  export declare function getContainerSafeArea(containerNode: Pick<Node, 'width' | 'height' | 'measured' | 'style'>, fallback?: NodeDimensions): ContainerSafeArea;
80
93
  export declare function getContainerFitGeometry(): ContainerFitGeometry;
81
94
  export declare function isContainerNodeManifest(manifest: Pick<NodeManifest, 'display'> | undefined): boolean;
95
+ export declare function getContainerResizeMinimums({ nodes, containerId, getContainerFitGeometry: resolveContainerFitGeometry, getNodeDimensions: resolveNodeDimensions, ignoredNodeTypes, }: {
96
+ nodes: Node[];
97
+ containerId: string;
98
+ getContainerFitGeometry?: (containerNode: Node) => ContainerFitGeometry | null | undefined;
99
+ getNodeDimensions?: (node: Node) => NodeDimensions;
100
+ ignoredNodeTypes?: string[];
101
+ }): ContainerResizeMinimums;
82
102
  export declare function ensureContainersFitChildren(nodes: Node[], { containerIds, getContainerFitGeometry: resolveContainerFitGeometry, getNodeDimensions: resolveNodeDimensions, ignoredNodeTypes, includeAncestors, }?: {
83
103
  containerIds?: Iterable<string>;
84
104
  getContainerFitGeometry?: (containerNode: Node) => ContainerFitGeometry | null | undefined;
@@ -96,14 +116,29 @@ export declare function collectLinearDownstreamSiblings({ startNodeId, parentId,
96
116
  getNextNodeId?: NextNodeResolver;
97
117
  }): string[];
98
118
  export declare function resolveContainerPreview({ source, sourceHandleType, reactFlowInstance, ...options }: ContainerPreviewContext & ContainerPreviewOptions): PreviewGraphOverrides | null;
99
- export declare function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeometry, getNodeDimensions, ignoredNodeTypes, gap, }: {
119
+ export declare function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeometry, getNodeDimensions, ignoredNodeTypes, gap, initialChanges, }: {
100
120
  nodes: Node[];
101
121
  containerIds: Iterable<string>;
102
122
  getContainerFitGeometry: (containerNode: Node) => ContainerFitGeometry | null | undefined;
103
123
  getNodeDimensions: (node: Node) => NodeDimensions;
104
124
  ignoredNodeTypes?: string[];
105
125
  gap: number;
106
- }): Node[];
126
+ initialChanges?: ContainerSizeChange[];
127
+ }): {
128
+ nodes: Node[];
129
+ changed: boolean;
130
+ shifted: boolean;
131
+ };
132
+ export declare function pushSiblingsAfterContainerResize({ nodes, containerId, previousSize, nextSize, getContainerFitGeometry: resolveContainerFitGeometry, getNodeDimensions: resolveNodeDimensions, ignoredNodeTypes, gap, }: {
133
+ nodes: Node[];
134
+ containerId: string;
135
+ previousSize: NodeDimensions;
136
+ nextSize: NodeDimensions;
137
+ getContainerFitGeometry?: (containerNode: Node) => ContainerFitGeometry | null | undefined;
138
+ getNodeDimensions?: (node: Node) => NodeDimensions;
139
+ ignoredNodeTypes?: string[];
140
+ gap?: number;
141
+ }): PushSiblingsAfterContainerResizeResult;
107
142
  export declare function getContainerPlacement(previewNode: Pick<Node, 'data' | 'parentId'>): ContainerPlacement | null;
108
143
  export declare function placeContainerNode({ nodes, insertedNode, placement, safeArea, getContainerFitGeometry: resolveContainerFitGeometry, getNodeDimensions: resolveNodeDimensions, gap, downstreamNodeIds, ignoredNodeTypes, edges, }: {
109
144
  nodes: 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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"}
@@ -64,6 +64,39 @@ function container_getContainerFitGeometry() {
64
64
  function isContainerNodeManifest(manifest) {
65
65
  return manifest?.display.shape === 'container';
66
66
  }
67
+ function getContainerResizeMinimums({ nodes, containerId, getContainerFitGeometry: resolveContainerFitGeometry = container_getContainerFitGeometry, getNodeDimensions: resolveNodeDimensions = container_getNodeDimensions, ignoredNodeTypes = [] }) {
68
+ const containerNode = nodes.find((node)=>node.id === containerId);
69
+ const geometry = containerNode ? resolveContainerFitGeometry(containerNode) : null;
70
+ if (!containerNode || !geometry) return {
71
+ leftWidth: DEFAULT_CONTAINER_MIN_WIDTH,
72
+ rightWidth: DEFAULT_CONTAINER_MIN_WIDTH,
73
+ topHeight: DEFAULT_CONTAINER_MIN_HEIGHT,
74
+ bottomHeight: DEFAULT_CONTAINER_MIN_HEIGHT
75
+ };
76
+ const currentSize = resolveNodeDimensions(containerNode);
77
+ const ignoredTypes = new Set(ignoredNodeTypes);
78
+ const padding = geometry.padding ?? {};
79
+ let minimumChildX = 1 / 0;
80
+ let minimumChildY = 1 / 0;
81
+ let rightRequiredWidth = geometry.minWidth;
82
+ let bottomRequiredHeight = geometry.minHeight;
83
+ for (const childNode of nodes){
84
+ if (childNode.id === PREVIEW_NODE_ID || childNode.hidden || childNode.parentId !== containerId || ignoredTypes.has(childNode.type ?? '')) continue;
85
+ const childSize = resolveNodeDimensions(childNode);
86
+ minimumChildX = Math.min(minimumChildX, childNode.position.x);
87
+ minimumChildY = Math.min(minimumChildY, childNode.position.y);
88
+ rightRequiredWidth = Math.max(rightRequiredWidth, childNode.position.x + childSize.width + (padding.right ?? 0));
89
+ bottomRequiredHeight = Math.max(bottomRequiredHeight, childNode.position.y + childSize.height + (padding.bottom ?? 0));
90
+ }
91
+ const leftRequiredWidth = Number.isFinite(minimumChildX) ? currentSize.width - minimumChildX + (padding.left ?? 0) : geometry.minWidth;
92
+ const topRequiredHeight = Number.isFinite(minimumChildY) ? currentSize.height - minimumChildY + (padding.top ?? 0) : geometry.minHeight;
93
+ return {
94
+ leftWidth: snapUpToGrid(Math.max(geometry.minWidth, leftRequiredWidth)),
95
+ rightWidth: snapUpToGrid(rightRequiredWidth),
96
+ topHeight: snapUpToGrid(Math.max(geometry.minHeight, topRequiredHeight)),
97
+ bottomHeight: snapUpToGrid(bottomRequiredHeight)
98
+ };
99
+ }
67
100
  function getAncestorContainerIds(containerId, nodesById) {
68
101
  const ancestors = [];
69
102
  let parentId = nodesById.get(containerId)?.parentId;
@@ -308,15 +341,17 @@ function collectLinearDownstreamSiblings({ startNodeId, parentId, nodes, edges,
308
341
  }
309
342
  return collectedIds;
310
343
  }
311
- function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
344
+ function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, allowedContainerId, replacedEdge: exactReplacedEdge, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
312
345
  if ('source' !== sourceHandleType || !source.handleId) return null;
313
- const replacedEdge = getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
346
+ const replacedEdge = exactReplacedEdge ?? getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
314
347
  if (!replacedEdge) return null;
315
348
  const sourceNode = reactFlowInstance.getNode(replacedEdge.source);
316
349
  const targetNode = reactFlowInstance.getNode(replacedEdge.target);
350
+ if (!sourceNode || !targetNode) return null;
317
351
  const nodes = reactFlowInstance.getNodes();
318
352
  const containerNode = getContainerNodeForEdge(sourceNode, targetNode, nodes);
319
353
  if (!containerNode) return null;
354
+ if (allowedContainerId && containerNode.id !== allowedContainerId) return null;
320
355
  if (isContainerNode && !isContainerNode(containerNode)) return null;
321
356
  const containerPlacement = getPreviewPlacement({
322
357
  sourceNode,
@@ -356,6 +391,7 @@ function resolveAppendPreview({ source, sourceHandleType, reactFlowInstance, ...
356
391
  if (outgoingEdges.length > 0) return null;
357
392
  const nodes = reactFlowInstance.getNodes();
358
393
  const containerNode = nodes.find((node)=>node.id === sourceNode.parentId);
394
+ if (options.allowedContainerId && containerNode.id !== options.allowedContainerId) return null;
359
395
  if (options.isContainerNode && !options.isContainerNode(containerNode)) return null;
360
396
  const continuationTarget = options.getContainerContinuationTarget?.({
361
397
  containerNode,
@@ -526,8 +562,21 @@ function pushSiblingsAfterContainerGrowth({ nodes, changes, getNodeDimensions, g
526
562
  shifted
527
563
  };
528
564
  }
529
- function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeometry, getNodeDimensions, ignoredNodeTypes, gap }) {
565
+ function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeometry, getNodeDimensions, ignoredNodeTypes, gap, initialChanges = [] }) {
566
+ let changed = false;
567
+ let shifted = false;
530
568
  let nextNodes = nodes;
569
+ if (initialChanges.length > 0) {
570
+ const pushResult = pushSiblingsAfterContainerGrowth({
571
+ nodes: nextNodes,
572
+ changes: initialChanges,
573
+ getNodeDimensions,
574
+ gap
575
+ });
576
+ nextNodes = pushResult.nodes;
577
+ shifted = pushResult.shifted;
578
+ changed = pushResult.shifted;
579
+ }
531
580
  for(let iteration = 0; iteration < 10; iteration += 1){
532
581
  const fitResult = ensureContainersFitChildren(nextNodes, {
533
582
  containerIds,
@@ -538,6 +587,7 @@ function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeom
538
587
  });
539
588
  nextNodes = fitResult.nodes;
540
589
  if (0 === fitResult.changes.length) break;
590
+ changed = true;
541
591
  const pushResult = pushSiblingsAfterContainerGrowth({
542
592
  nodes: nextNodes,
543
593
  changes: fitResult.changes,
@@ -545,9 +595,54 @@ function fitContainersAndPushSiblings({ nodes, containerIds, getContainerFitGeom
545
595
  gap
546
596
  });
547
597
  nextNodes = pushResult.nodes;
598
+ shifted ||= pushResult.shifted;
599
+ changed ||= pushResult.shifted;
548
600
  if (!pushResult.shifted) break;
549
601
  }
550
- return nextNodes;
602
+ return {
603
+ nodes: nextNodes,
604
+ changed,
605
+ shifted
606
+ };
607
+ }
608
+ function pushSiblingsAfterContainerResize({ nodes, containerId, previousSize, nextSize, getContainerFitGeometry: resolveContainerFitGeometry = container_getContainerFitGeometry, getNodeDimensions: resolveNodeDimensions = container_getNodeDimensions, ignoredNodeTypes, gap = CONTAINER_SEQUENCE_GAP_PX }) {
609
+ const containerNode = nodes.find((node)=>node.id === containerId);
610
+ if (!containerNode) return {
611
+ nodes,
612
+ changed: false,
613
+ shifted: false
614
+ };
615
+ const currentSize = resolveNodeDimensions(containerNode);
616
+ let changed = currentSize.width !== nextSize.width || currentSize.height !== nextSize.height;
617
+ let shifted = false;
618
+ let nextNodes = changed ? nodes.map((node)=>node.id === containerId ? withNodeDimensions(node, nextSize) : node) : nodes;
619
+ const resizedWidthDelta = nextSize.width - previousSize.width;
620
+ const resizedHeightDelta = nextSize.height - previousSize.height;
621
+ const result = fitContainersAndPushSiblings({
622
+ nodes: nextNodes,
623
+ containerIds: [
624
+ containerId
625
+ ],
626
+ getContainerFitGeometry: resolveContainerFitGeometry,
627
+ getNodeDimensions: resolveNodeDimensions,
628
+ ignoredNodeTypes,
629
+ gap,
630
+ initialChanges: resizedWidthDelta > 0 || resizedHeightDelta > 0 ? [
631
+ {
632
+ containerId,
633
+ previousSize,
634
+ nextSize
635
+ }
636
+ ] : []
637
+ });
638
+ nextNodes = result.nodes;
639
+ shifted = result.shifted;
640
+ changed ||= result.changed;
641
+ return {
642
+ nodes: nextNodes,
643
+ changed,
644
+ shifted
645
+ };
551
646
  }
552
647
  function getContainerPlacement(previewNode) {
553
648
  const placement = previewNode.data?.[PLACEMENT_DATA_KEY];
@@ -616,6 +711,6 @@ function placeContainerNode({ nodes, insertedNode, placement, safeArea, getConta
616
711
  getNodeDimensions: resolveNodeDimensions,
617
712
  ignoredNodeTypes,
618
713
  gap
619
- });
714
+ }).nodes;
620
715
  }
621
- export { CONTAINER_FRAME_INSET_PX, CONTAINER_SEQUENCE_GAP_PX, DEFAULT_CONTAINER_HEIGHT, DEFAULT_CONTAINER_MIN_HEIGHT, DEFAULT_CONTAINER_MIN_WIDTH, DEFAULT_CONTAINER_WIDTH, collectLinearDownstreamSiblings, ensureContainersFitChildren, fitContainersAndPushSiblings, container_getContainerFitGeometry as getContainerFitGeometry, getContainerNodeForEdge, getContainerPlacement, container_getContainerSafeArea as getContainerSafeArea, container_getNodeDimensions as getNodeDimensions, isContainerNodeManifest, placeContainerNode, resolveContainerPreview };
716
+ export { CONTAINER_FRAME_INSET_PX, CONTAINER_SEQUENCE_GAP_PX, DEFAULT_CONTAINER_HEIGHT, DEFAULT_CONTAINER_MIN_HEIGHT, DEFAULT_CONTAINER_MIN_WIDTH, DEFAULT_CONTAINER_WIDTH, collectLinearDownstreamSiblings, ensureContainersFitChildren, fitContainersAndPushSiblings, container_getContainerFitGeometry as getContainerFitGeometry, getContainerNodeForEdge, getContainerPlacement, getContainerResizeMinimums, container_getContainerSafeArea as getContainerSafeArea, container_getNodeDimensions as getNodeDimensions, isContainerNodeManifest, placeContainerNode, pushSiblingsAfterContainerResize, resolveContainerPreview };
@@ -111,6 +111,14 @@ function isValidUrl(input) {
111
111
  return 'http:' === url.protocol || 'https:' === url.protocol;
112
112
  }
113
113
  function getIcon(iconId) {
114
+ if (!iconId) {
115
+ const BoxIcon = external_lucide_react_namespaceObject.icons.Box;
116
+ return ({ w, h, color })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(BoxIcon, {
117
+ width: w ?? 24,
118
+ height: h ?? 24,
119
+ color: color
120
+ });
121
+ }
114
122
  if (isValidUrl(iconId)) return ({ w, h })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("img", {
115
123
  src: iconId,
116
124
  alt: "icon",
@@ -4,7 +4,7 @@ export type IconComponent = (props: {
4
4
  h?: number;
5
5
  color?: string;
6
6
  }) => JSX.Element;
7
- export declare function getIcon(iconId: string): IconComponent;
7
+ export declare function getIcon(iconId?: string): IconComponent;
8
8
  export interface CanvasIconProps {
9
9
  icon?: string;
10
10
  size?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"icon-registry.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/icon-registry.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,GAAG,EAAiB,MAAM,OAAO,CAAC;AAGhD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,GAAG,CAAC,OAAO,CAAC;AAuD/F,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAkCrD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,eAAO,MAAM,UAAU,uDAIrB,CAAC;AAGH,eAAO,MAAM,QAAQ,uDAAa,CAAC"}
1
+ {"version":3,"file":"icon-registry.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/icon-registry.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,GAAG,EAAiB,MAAM,OAAO,CAAC;AAGhD,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,GAAG,CAAC,OAAO,CAAC;AAsD/F,wBAAgB,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAuCtD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,eAAO,MAAM,UAAU,uDAIrB,CAAC;AAGH,eAAO,MAAM,QAAQ,uDAAa,CAAC"}
@@ -81,6 +81,14 @@ function isValidUrl(input) {
81
81
  return 'http:' === url.protocol || 'https:' === url.protocol;
82
82
  }
83
83
  function getIcon(iconId) {
84
+ if (!iconId) {
85
+ const BoxIcon = icons.Box;
86
+ return ({ w, h, color })=>/*#__PURE__*/ jsx(BoxIcon, {
87
+ width: w ?? 24,
88
+ height: h ?? 24,
89
+ color: color
90
+ });
91
+ }
84
92
  if (isValidUrl(iconId)) return ({ w, h })=>/*#__PURE__*/ jsx("img", {
85
93
  src: iconId,
86
94
  alt: "icon",
@@ -32,7 +32,7 @@ __webpack_require__.d(__webpack_exports__, {
32
32
  const external_collapse_cjs_namespaceObject = require("./collapse.cjs");
33
33
  function resolveDisplay(manifestDisplay, context) {
34
34
  if (!manifestDisplay) return {
35
- icon: 'circle-question-mark',
35
+ icon: '',
36
36
  shape: 'square',
37
37
  label: context?.display?.label || 'Unknown Node'
38
38
  };
@@ -46,6 +46,7 @@ function resolveDisplay(manifestDisplay, context) {
46
46
  ...context?.display,
47
47
  label: resolvedLabel,
48
48
  canvasLabel: context?.display?.canvasLabel ?? manifestDisplay.canvasLabel,
49
+ icon: context?.display?.icon ?? manifestDisplay.icon ?? '',
49
50
  shape: isCollapsed ? collapsedShape : expandedShape
50
51
  };
51
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-resolver.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/manifest-resolver.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAMrE,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEhE,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAEhC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAMD,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5C,CAAC;AAKF,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAE7F,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC/C;AAKD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC;IAE/E,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAKD,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD,wBAAgB,cAAc,CAC5B,eAAe,CAAC,EAAE,mBAAmB,EACrC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,eAAe,CAwCjB;AA6BD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAmBT;AAiCD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAKhF;AAuCD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,mBAAmB,EAAE,EACnC,OAAO,EAAE,iBAAiB,GACzB,mBAAmB,EAAE,CAmEvB"}
1
+ {"version":3,"file":"manifest-resolver.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/manifest-resolver.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAMrE,MAAM,WAAW,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAEhE,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAEhC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAUD,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5C,CAAC;AAKF,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAE7F,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC/C;AAKD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC;IAE/E,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAKD,UAAU,YAAY;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkBD,wBAAgB,cAAc,CAC5B,eAAe,CAAC,EAAE,mBAAmB,EACrC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,eAAe,CAyCjB;AA6BD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAmBT;AAiCD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAKhF;AAuCD,wBAAgB,cAAc,CAC5B,YAAY,EAAE,mBAAmB,EAAE,EACnC,OAAO,EAAE,iBAAiB,GACzB,mBAAmB,EAAE,CAmEvB"}
@@ -1,7 +1,7 @@
1
1
  import { getCollapsedShape } from "./collapse.js";
2
2
  function resolveDisplay(manifestDisplay, context) {
3
3
  if (!manifestDisplay) return {
4
- icon: 'circle-question-mark',
4
+ icon: '',
5
5
  shape: 'square',
6
6
  label: context?.display?.label || 'Unknown Node'
7
7
  };
@@ -15,6 +15,7 @@ function resolveDisplay(manifestDisplay, context) {
15
15
  ...context?.display,
16
16
  label: resolvedLabel,
17
17
  canvasLabel: context?.display?.canvasLabel ?? manifestDisplay.canvasLabel,
18
+ icon: context?.display?.icon ?? manifestDisplay.icon ?? '',
18
19
  shape: isCollapsed ? collapsedShape : expandedShape
19
20
  };
20
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-react",
3
- "version": "4.22.2",
3
+ "version": "4.23.0-pr654.b595ac5",
4
4
  "description": "Apollo Design System - React component library with Material UI theming",
5
5
  "repository": {
6
6
  "type": "git",