@uipath/apollo-react 4.22.2 → 4.23.0

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 (73) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodeManager.cjs +4 -1
  2. package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.cjs +15 -26
  4. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts +3 -3
  5. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts.map +1 -1
  6. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.js +18 -29
  7. package/dist/canvas/components/AddNodePanel/AddNodeManager.js +4 -1
  8. package/dist/canvas/components/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.helpers.cjs +28 -8
  16. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +8 -2
  17. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
  18. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +23 -6
  19. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +6 -9
  20. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
  21. package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +6 -9
  22. package/dist/canvas/components/Toolbox/ListView.cjs +6 -1
  23. package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
  24. package/dist/canvas/components/Toolbox/ListView.js +6 -1
  25. package/dist/canvas/components/index.cjs +19 -12
  26. package/dist/canvas/components/index.d.ts +1 -0
  27. package/dist/canvas/components/index.d.ts.map +1 -1
  28. package/dist/canvas/components/index.js +1 -0
  29. package/dist/canvas/components/shared/InitialsBadge.cjs +91 -0
  30. package/dist/canvas/components/shared/InitialsBadge.d.ts +10 -0
  31. package/dist/canvas/components/shared/InitialsBadge.d.ts.map +1 -0
  32. package/dist/canvas/components/shared/InitialsBadge.js +44 -0
  33. package/dist/canvas/components/shared/index.cjs +39 -0
  34. package/dist/canvas/components/shared/index.d.ts +3 -0
  35. package/dist/canvas/components/shared/index.d.ts.map +1 -0
  36. package/dist/canvas/components/shared/index.js +2 -0
  37. package/dist/canvas/core/CategoryTreeAdapter.cjs +10 -6
  38. package/dist/canvas/core/CategoryTreeAdapter.js +10 -6
  39. package/dist/canvas/hooks/index.cjs +19 -12
  40. package/dist/canvas/hooks/index.d.ts +1 -0
  41. package/dist/canvas/hooks/index.d.ts.map +1 -1
  42. package/dist/canvas/hooks/index.js +1 -0
  43. package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +18 -5
  44. package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
  45. package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +18 -5
  46. package/dist/canvas/hooks/useCanvasNodeLayout.cjs +66 -0
  47. package/dist/canvas/hooks/useCanvasNodeLayout.d.ts +15 -0
  48. package/dist/canvas/hooks/useCanvasNodeLayout.d.ts.map +1 -0
  49. package/dist/canvas/hooks/useCanvasNodeLayout.js +29 -0
  50. package/dist/canvas/schema/node-definition/category-manifest.cjs +1 -1
  51. package/dist/canvas/schema/node-definition/category-manifest.d.ts +1 -1
  52. package/dist/canvas/schema/node-definition/category-manifest.js +1 -1
  53. package/dist/canvas/schema/node-definition/node-manifest.cjs +1 -1
  54. package/dist/canvas/schema/node-definition/node-manifest.d.ts +2 -2
  55. package/dist/canvas/schema/node-definition/node-manifest.js +1 -1
  56. package/dist/canvas/storybook-utils/manifests/index.d.ts +2 -2
  57. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  58. package/dist/canvas/utils/NodeUtils.cjs +4 -4
  59. package/dist/canvas/utils/NodeUtils.d.ts +1 -1
  60. package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
  61. package/dist/canvas/utils/NodeUtils.js +4 -4
  62. package/dist/canvas/utils/container.cjs +3 -2
  63. package/dist/canvas/utils/container.d.ts +1 -0
  64. package/dist/canvas/utils/container.d.ts.map +1 -1
  65. package/dist/canvas/utils/container.js +3 -2
  66. package/dist/canvas/utils/icon-registry.cjs +8 -0
  67. package/dist/canvas/utils/icon-registry.d.ts +1 -1
  68. package/dist/canvas/utils/icon-registry.d.ts.map +1 -1
  69. package/dist/canvas/utils/icon-registry.js +8 -0
  70. package/dist/canvas/utils/manifest-resolver.cjs +2 -1
  71. package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
  72. package/dist/canvas/utils/manifest-resolver.js +2 -1
  73. package/package.json +3 -3
@@ -2,6 +2,7 @@ export * from './ExecutionStatusContext';
2
2
  export * from './ToolbarActionContext';
3
3
  export * from './useAddNodeOnConnectEnd';
4
4
  export * from './useCanvasEvents';
5
+ export * from './useCanvasNodeLayout';
5
6
  export * from './useEdgePath';
6
7
  export * from './useExportCanvas';
7
8
  export * from './useNavigationState';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC"}
@@ -2,6 +2,7 @@ export * from "./ExecutionStatusContext.js";
2
2
  export * from "./ToolbarActionContext.js";
3
3
  export * from "./useAddNodeOnConnectEnd.js";
4
4
  export * from "./useCanvasEvents.js";
5
+ export * from "./useCanvasNodeLayout.js";
5
6
  export * from "./useEdgePath.js";
6
7
  export * from "./useExportCanvas.js";
7
8
  export * from "./useNavigationState.js";
@@ -28,7 +28,9 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  });
29
29
  const react_cjs_namespaceObject = require("../xyflow/react.cjs");
30
30
  const external_react_namespaceObject = require("react");
31
+ const LoopNode_helpers_cjs_namespaceObject = require("../components/LoopNode/LoopNode.helpers.cjs");
31
32
  const index_cjs_namespaceObject = require("../utils/index.cjs");
33
+ const external_useCanvasNodeLayout_cjs_namespaceObject = require("./useCanvasNodeLayout.cjs");
32
34
  const EMPTY_IGNORED_NODE_TYPES = [];
33
35
  function getClientPosition(event) {
34
36
  if ('clientX' in event) return {
@@ -43,24 +45,35 @@ function getClientPosition(event) {
43
45
  }
44
46
  function useAddNodeOnConnectEnd(ignoredNodeTypes = EMPTY_IGNORED_NODE_TYPES) {
45
47
  const reactFlowInstance = (0, react_cjs_namespaceObject.useReactFlow)();
48
+ const getManifestForNode = (0, external_useCanvasNodeLayout_cjs_namespaceObject.useNodeManifestResolver)();
46
49
  return (0, external_react_namespaceObject.useCallback)((event, connectionState)=>{
47
50
  if (!(reactFlowInstance && connectionState.fromNode && connectionState.fromHandle) || connectionState.toHandle) return;
48
51
  const clientPosition = getClientPosition(event);
49
52
  if (!clientPosition) return;
50
53
  const flowDropPosition = reactFlowInstance.screenToFlowPosition(clientPosition);
54
+ const source = {
55
+ nodeId: connectionState.fromNode.id,
56
+ handleId: connectionState.fromHandle.id ?? 'output'
57
+ };
58
+ const containerId = (0, LoopNode_helpers_cjs_namespaceObject.getInnerHandleContainerId)({
59
+ source,
60
+ reactFlowInstance,
61
+ getManifestForNode
62
+ });
51
63
  (0, index_cjs_namespaceObject.showPreviewGraph)({
52
- source: {
53
- nodeId: connectionState.fromNode.id,
54
- handleId: connectionState.fromHandle.id ?? 'output'
55
- },
64
+ source,
56
65
  reactFlowInstance,
57
66
  position: flowDropPosition,
58
67
  sourceHandleType: connectionState.fromHandle.type,
59
68
  handlePosition: connectionState.fromHandle.position,
60
- ignoredNodeTypes
69
+ ignoredNodeTypes,
70
+ ...containerId ? {
71
+ containerId
72
+ } : {}
61
73
  });
62
74
  }, [
63
75
  reactFlowInstance,
76
+ getManifestForNode,
64
77
  ignoredNodeTypes
65
78
  ]);
66
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useAddNodeOnConnectEnd.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useAddNodeOnConnectEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,0CAA0C,CAAC;AAoB3F,wBAAgB,sBAAsB,CAAC,gBAAgB,GAAE,MAAM,EAA6B,gBAiC3F"}
1
+ {"version":3,"file":"useAddNodeOnConnectEnd.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useAddNodeOnConnectEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,0CAA0C,CAAC;AAsB3F,wBAAgB,sBAAsB,CAAC,gBAAgB,GAAE,MAAM,EAA6B,gBAyC3F"}
@@ -1,6 +1,8 @@
1
1
  import { useReactFlow } from "../xyflow/react.js";
2
2
  import { useCallback } from "react";
3
+ import { getInnerHandleContainerId } from "../components/LoopNode/LoopNode.helpers.js";
3
4
  import { showPreviewGraph } from "../utils/index.js";
5
+ import { useNodeManifestResolver } from "./useCanvasNodeLayout.js";
4
6
  const EMPTY_IGNORED_NODE_TYPES = [];
5
7
  function getClientPosition(event) {
6
8
  if ('clientX' in event) return {
@@ -15,24 +17,35 @@ function getClientPosition(event) {
15
17
  }
16
18
  function useAddNodeOnConnectEnd(ignoredNodeTypes = EMPTY_IGNORED_NODE_TYPES) {
17
19
  const reactFlowInstance = useReactFlow();
20
+ const getManifestForNode = useNodeManifestResolver();
18
21
  return useCallback((event, connectionState)=>{
19
22
  if (!(reactFlowInstance && connectionState.fromNode && connectionState.fromHandle) || connectionState.toHandle) return;
20
23
  const clientPosition = getClientPosition(event);
21
24
  if (!clientPosition) return;
22
25
  const flowDropPosition = reactFlowInstance.screenToFlowPosition(clientPosition);
26
+ const source = {
27
+ nodeId: connectionState.fromNode.id,
28
+ handleId: connectionState.fromHandle.id ?? 'output'
29
+ };
30
+ const containerId = getInnerHandleContainerId({
31
+ source,
32
+ reactFlowInstance,
33
+ getManifestForNode
34
+ });
23
35
  showPreviewGraph({
24
- source: {
25
- nodeId: connectionState.fromNode.id,
26
- handleId: connectionState.fromHandle.id ?? 'output'
27
- },
36
+ source,
28
37
  reactFlowInstance,
29
38
  position: flowDropPosition,
30
39
  sourceHandleType: connectionState.fromHandle.type,
31
40
  handlePosition: connectionState.fromHandle.position,
32
- ignoredNodeTypes
41
+ ignoredNodeTypes,
42
+ ...containerId ? {
43
+ containerId
44
+ } : {}
33
45
  });
34
46
  }, [
35
47
  reactFlowInstance,
48
+ getManifestForNode,
36
49
  ignoredNodeTypes
37
50
  ]);
38
51
  }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useCanvasNodeLayout: ()=>useCanvasNodeLayout,
28
+ useNodeManifestResolver: ()=>useNodeManifestResolver
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ const index_cjs_namespaceObject = require("../core/index.cjs");
32
+ const collapse_cjs_namespaceObject = require("../utils/collapse.cjs");
33
+ const container_cjs_namespaceObject = require("../utils/container.cjs");
34
+ function useNodeManifestResolver() {
35
+ const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
36
+ return (0, external_react_namespaceObject.useCallback)((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
37
+ registry
38
+ ]);
39
+ }
40
+ function useCanvasNodeLayout() {
41
+ const getManifestForNode = useNodeManifestResolver();
42
+ return (0, external_react_namespaceObject.useMemo)(()=>{
43
+ const getNodeDimensions = (node)=>{
44
+ const manifest = getManifestForNode(node);
45
+ return (0, container_cjs_namespaceObject.getNodeDimensions)(node, (0, collapse_cjs_namespaceObject.getExpandedSize)(manifest?.display.shape));
46
+ };
47
+ const isContainerNode = (node)=>(0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(node));
48
+ return {
49
+ getManifestForNode,
50
+ getNodeDimensions,
51
+ isContainerNode,
52
+ getContainerFitGeometry: (node)=>isContainerNode(node) ? (0, container_cjs_namespaceObject.getContainerFitGeometry)() : null
53
+ };
54
+ }, [
55
+ getManifestForNode
56
+ ]);
57
+ }
58
+ exports.useCanvasNodeLayout = __webpack_exports__.useCanvasNodeLayout;
59
+ exports.useNodeManifestResolver = __webpack_exports__.useNodeManifestResolver;
60
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
61
+ "useCanvasNodeLayout",
62
+ "useNodeManifestResolver"
63
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
64
+ Object.defineProperty(exports, '__esModule', {
65
+ value: true
66
+ });
@@ -0,0 +1,15 @@
1
+ import type { Node } from '../xyflow/react.ts';
2
+ import type { NodeManifest } from '../schema/node-definition';
3
+ import { type ContainerFitGeometry, type NodeDimensions } from '../utils/container';
4
+ export type NodeManifestResolver = (node: Node) => NodeManifest | undefined;
5
+ export interface NodeLayout {
6
+ getNodeDimensions: (node: Node) => NodeDimensions;
7
+ isContainerNode: (node: Node) => boolean;
8
+ getContainerFitGeometry: (node: Node) => ContainerFitGeometry | null;
9
+ }
10
+ export interface CanvasNodeLayout extends NodeLayout {
11
+ getManifestForNode: NodeManifestResolver;
12
+ }
13
+ export declare function useNodeManifestResolver(): NodeManifestResolver;
14
+ export declare function useCanvasNodeLayout(): CanvasNodeLayout;
15
+ //# sourceMappingURL=useCanvasNodeLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCanvasNodeLayout.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useCanvasNodeLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAGrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EACL,KAAK,oBAAoB,EAIzB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY,GAAG,SAAS,CAAC;AAE5E,MAAM,WAAW,UAAU;IACzB,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,cAAc,CAAC;IAClD,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACzC,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,oBAAoB,GAAG,IAAI,CAAC;CACtE;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C;AAED,wBAAgB,uBAAuB,IAAI,oBAAoB,CAO9D;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAoBtD"}
@@ -0,0 +1,29 @@
1
+ import { useCallback, useMemo } from "react";
2
+ import { useOptionalNodeTypeRegistry } from "../core/index.js";
3
+ import { getExpandedSize } from "../utils/collapse.js";
4
+ import { getContainerFitGeometry, getNodeDimensions as container_js_getNodeDimensions, isContainerNodeManifest } from "../utils/container.js";
5
+ function useNodeManifestResolver() {
6
+ const registry = useOptionalNodeTypeRegistry();
7
+ return useCallback((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
8
+ registry
9
+ ]);
10
+ }
11
+ function useCanvasNodeLayout() {
12
+ const getManifestForNode = useNodeManifestResolver();
13
+ return useMemo(()=>{
14
+ const getNodeDimensions = (node)=>{
15
+ const manifest = getManifestForNode(node);
16
+ return container_js_getNodeDimensions(node, getExpandedSize(manifest?.display.shape));
17
+ };
18
+ const isContainerNode = (node)=>isContainerNodeManifest(getManifestForNode(node));
19
+ return {
20
+ getManifestForNode,
21
+ getNodeDimensions,
22
+ isContainerNode,
23
+ getContainerFitGeometry: (node)=>isContainerNode(node) ? getContainerFitGeometry() : null
24
+ };
25
+ }, [
26
+ getManifestForNode
27
+ ]);
28
+ }
29
+ export { useCanvasNodeLayout, useNodeManifestResolver };
@@ -34,7 +34,7 @@ const categoryManifestSchema = external_zod_namespaceObject.z.object({
34
34
  sortOrder: external_zod_namespaceObject.z.number().int().nonnegative(),
35
35
  color: external_zod_namespaceObject.z.string().min(1).optional(),
36
36
  colorDark: external_zod_namespaceObject.z.string().min(1).optional(),
37
- icon: external_zod_namespaceObject.z.string().min(1),
37
+ icon: external_zod_namespaceObject.z.string().min(1).optional(),
38
38
  tags: external_zod_namespaceObject.z.array(external_zod_namespaceObject.z.string())
39
39
  });
40
40
  exports.categoryManifestSchema = __webpack_exports__.categoryManifestSchema;
@@ -6,7 +6,7 @@ export declare const categoryManifestSchema: z.ZodObject<{
6
6
  sortOrder: z.ZodNumber;
7
7
  color: z.ZodOptional<z.ZodString>;
8
8
  colorDark: z.ZodOptional<z.ZodString>;
9
- icon: z.ZodString;
9
+ icon: z.ZodOptional<z.ZodString>;
10
10
  tags: z.ZodArray<z.ZodString>;
11
11
  }, z.core.$strip>;
12
12
  export type CategoryManifest = z.infer<typeof categoryManifestSchema>;
@@ -6,7 +6,7 @@ const categoryManifestSchema = z.object({
6
6
  sortOrder: z.number().int().nonnegative(),
7
7
  color: z.string().min(1).optional(),
8
8
  colorDark: z.string().min(1).optional(),
9
- icon: z.string().min(1),
9
+ icon: z.string().min(1).optional(),
10
10
  tags: z.array(z.string())
11
11
  });
12
12
  export { categoryManifestSchema };
@@ -46,7 +46,7 @@ const nodeDisplayManifestSchema = external_zod_namespaceObject.z.object({
46
46
  label: external_zod_namespaceObject.z.string().min(1),
47
47
  canvasLabel: external_zod_namespaceObject.z.string().min(1).optional(),
48
48
  description: external_zod_namespaceObject.z.string().optional(),
49
- icon: external_zod_namespaceObject.z.string().min(1),
49
+ icon: external_zod_namespaceObject.z.string().min(1).optional(),
50
50
  shape: nodeShapeSchema.optional(),
51
51
  color: external_zod_namespaceObject.z.string().optional(),
52
52
  background: external_zod_namespaceObject.z.string().optional(),
@@ -13,7 +13,7 @@ export declare const nodeDisplayManifestSchema: z.ZodObject<{
13
13
  label: z.ZodString;
14
14
  canvasLabel: z.ZodOptional<z.ZodString>;
15
15
  description: z.ZodOptional<z.ZodString>;
16
- icon: z.ZodString;
16
+ icon: z.ZodOptional<z.ZodString>;
17
17
  shape: z.ZodOptional<z.ZodEnum<{
18
18
  square: "square";
19
19
  circle: "circle";
@@ -42,7 +42,7 @@ export declare const nodeManifestSchema: z.ZodObject<{
42
42
  label: z.ZodString;
43
43
  canvasLabel: z.ZodOptional<z.ZodString>;
44
44
  description: z.ZodOptional<z.ZodString>;
45
- icon: z.ZodString;
45
+ icon: z.ZodOptional<z.ZodString>;
46
46
  shape: z.ZodOptional<z.ZodEnum<{
47
47
  square: "square";
48
48
  circle: "circle";
@@ -14,7 +14,7 @@ const nodeDisplayManifestSchema = z.object({
14
14
  label: z.string().min(1),
15
15
  canvasLabel: z.string().min(1).optional(),
16
16
  description: z.string().optional(),
17
- icon: z.string().min(1),
17
+ icon: z.string().min(1).optional(),
18
18
  shape: nodeShapeSchema.optional(),
19
19
  color: z.string().optional(),
20
20
  background: z.string().optional(),
@@ -6,11 +6,11 @@ export declare const defaultWorkflowManifest: {
6
6
  id: string;
7
7
  name: string;
8
8
  sortOrder: number;
9
- icon: string;
10
9
  tags: string[];
11
10
  parentId?: string | undefined;
12
11
  color?: string | undefined;
13
12
  colorDark?: string | undefined;
13
+ icon?: string | undefined;
14
14
  }[];
15
15
  nodes: {
16
16
  nodeType: string;
@@ -19,9 +19,9 @@ export declare const defaultWorkflowManifest: {
19
19
  sortOrder: number;
20
20
  display: {
21
21
  label: string;
22
- icon: string;
23
22
  canvasLabel?: string | undefined;
24
23
  description?: string | undefined;
24
+ icon?: string | undefined;
25
25
  shape?: "square" | "circle" | "container" | "rectangle" | undefined;
26
26
  color?: string | undefined;
27
27
  background?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"node-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/manifests/node-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAq4B1C,CAAC"}
1
+ {"version":3,"file":"node-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/manifests/node-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,YAAY,EA65B1C,CAAC"}
@@ -69,11 +69,11 @@ const snapToGrid = (value)=>Math.round(value / external_constants_cjs_namespaceO
69
69
  const snapUpToGrid = (value)=>Math.ceil(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
70
70
  const snapDownToGrid = (value)=>Math.floor(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
71
71
  const clamp = (value, min, max)=>Math.min(Math.max(value, min), max);
72
- function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
72
+ function getBoxesFromNodes(nodes, margin = 0, getNodeDimensions) {
73
73
  const boxes = new Array(nodes.length);
74
74
  for(let i = 0; i < nodes.length; i++){
75
75
  const node = nodes[i];
76
- const nodeSize = getNodeSize?.(node) ?? {
76
+ const nodeSize = getNodeDimensions?.(node) ?? {
77
77
  width: node.width ?? node.measured?.width ?? external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE,
78
78
  height: node.height ?? node.measured?.height ?? external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE
79
79
  };
@@ -88,10 +88,10 @@ function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
88
88
  }
89
89
  return boxes;
90
90
  }
91
- const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes, getNodeSize } = {})=>{
91
+ const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes, getNodeDimensions } = {})=>{
92
92
  const ignoredSet = new Set(ignoredNodeTypes);
93
93
  const collisionNodes = ignoredSet.size > 0 ? nodes.filter((n)=>!ignoredSet.has(n.type ?? '')) : nodes;
94
- const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeSize);
94
+ const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeDimensions);
95
95
  for(let iter = 0; iter < maxIterations; iter++){
96
96
  let moved = false;
97
97
  for(let i = 0; i < boxes.length; i++)for(let j = i + 1; j < boxes.length; j++){
@@ -20,7 +20,7 @@ export type CollisionAlgorithmOptions = {
20
20
  overlapThreshold?: number;
21
21
  margin?: number;
22
22
  ignoredNodeTypes?: string[];
23
- getNodeSize?: (node: Node) => {
23
+ getNodeDimensions?: (node: Node) => {
24
24
  width: number;
25
25
  height: number;
26
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAQlD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAS3F,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAeF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAC9C,MAAM,SAAmB,EACzB,gBAAgB,GAAE,MAAM,EAAO,EAC/B,iBAAiB,GAAE;IAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAA8B,GACvF,UAAU,CAgCZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAE5C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE/D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,EAAE,CAAC;AAyChG,eAAO,MAAM,iBAAiB,EAAE,kBA8E/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzF,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAMD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,QAAQ,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,aAAa,GAAG,SAAS,CAkB3B;AAoCD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,GAAG,IAAI,CAQf"}
1
+ {"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAQlD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAS3F,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAeF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAC9C,MAAM,SAAmB,EACzB,gBAAgB,GAAE,MAAM,EAAO,EAC/B,iBAAiB,GAAE;IAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAA8B,GACvF,UAAU,CAgCZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAE5C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE/D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,EAAE,CAAC;AAyChG,eAAO,MAAM,iBAAiB,EAAE,kBA8E/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzF,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAMD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,QAAQ,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,aAAa,GAAG,SAAS,CAkB3B;AAoCD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,GAAG,IAAI,CAQf"}
@@ -32,11 +32,11 @@ const snapToGrid = (value)=>Math.round(value / GRID_SPACING) * GRID_SPACING;
32
32
  const snapUpToGrid = (value)=>Math.ceil(value / GRID_SPACING) * GRID_SPACING;
33
33
  const snapDownToGrid = (value)=>Math.floor(value / GRID_SPACING) * GRID_SPACING;
34
34
  const clamp = (value, min, max)=>Math.min(Math.max(value, min), max);
35
- function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
35
+ function getBoxesFromNodes(nodes, margin = 0, getNodeDimensions) {
36
36
  const boxes = new Array(nodes.length);
37
37
  for(let i = 0; i < nodes.length; i++){
38
38
  const node = nodes[i];
39
- const nodeSize = getNodeSize?.(node) ?? {
39
+ const nodeSize = getNodeDimensions?.(node) ?? {
40
40
  width: node.width ?? node.measured?.width ?? DEFAULT_NODE_SIZE,
41
41
  height: node.height ?? node.measured?.height ?? DEFAULT_NODE_SIZE
42
42
  };
@@ -51,10 +51,10 @@ function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
51
51
  }
52
52
  return boxes;
53
53
  }
54
- const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * GRID_SPACING, ignoredNodeTypes, getNodeSize } = {})=>{
54
+ const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * GRID_SPACING, ignoredNodeTypes, getNodeDimensions } = {})=>{
55
55
  const ignoredSet = new Set(ignoredNodeTypes);
56
56
  const collisionNodes = ignoredSet.size > 0 ? nodes.filter((n)=>!ignoredSet.has(n.type ?? '')) : nodes;
57
- const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeSize);
57
+ const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeDimensions);
58
58
  for(let iter = 0; iter < maxIterations; iter++){
59
59
  let moved = false;
60
60
  for(let i = 0; i < boxes.length; i++)for(let j = i + 1; j < boxes.length; j++){
@@ -352,12 +352,13 @@ function collectLinearDownstreamSiblings({ startNodeId, parentId, nodes, edges,
352
352
  }
353
353
  return collectedIds;
354
354
  }
355
- function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
355
+ function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, replacedEdge: exactReplacedEdge, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
356
356
  if ('source' !== sourceHandleType || !source.handleId) return null;
357
- const replacedEdge = getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
357
+ const replacedEdge = exactReplacedEdge ?? getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
358
358
  if (!replacedEdge) return null;
359
359
  const sourceNode = reactFlowInstance.getNode(replacedEdge.source);
360
360
  const targetNode = reactFlowInstance.getNode(replacedEdge.target);
361
+ if (!sourceNode || !targetNode) return null;
361
362
  const nodes = reactFlowInstance.getNodes();
362
363
  const containerNode = getContainerNodeForEdge(sourceNode, targetNode, nodes);
363
364
  if (!containerNode) return null;
@@ -49,6 +49,7 @@ interface ContainerPreviewContext {
49
49
  }
50
50
  interface ContainerPreviewOptions {
51
51
  isContainerNode?: (node: Node) => boolean;
52
+ replacedEdge?: Edge;
52
53
  getContainerSafeArea?: (containerNode: Node) => ContainerSafeArea | undefined;
53
54
  getContainerContinuationTarget?: (context: {
54
55
  containerNode: Node;
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/container.ts"],"names":[],"mappings":"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"}
@@ -308,12 +308,13 @@ function collectLinearDownstreamSiblings({ startNodeId, parentId, nodes, edges,
308
308
  }
309
309
  return collectedIds;
310
310
  }
311
- function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
311
+ function resolveInsertPreview({ source, sourceHandleType, reactFlowInstance, isContainerNode, replacedEdge: exactReplacedEdge, getContainerSafeArea, previewNodeSize, gap, getNodeDimensions }) {
312
312
  if ('source' !== sourceHandleType || !source.handleId) return null;
313
- const replacedEdge = getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
313
+ const replacedEdge = exactReplacedEdge ?? getSingleOutgoingEdge(source.nodeId, source.handleId, reactFlowInstance.getEdges());
314
314
  if (!replacedEdge) return null;
315
315
  const sourceNode = reactFlowInstance.getNode(replacedEdge.source);
316
316
  const targetNode = reactFlowInstance.getNode(replacedEdge.target);
317
+ if (!sourceNode || !targetNode) return null;
317
318
  const nodes = reactFlowInstance.getNodes();
318
319
  const containerNode = getContainerNodeForEdge(sourceNode, targetNode, nodes);
319
320
  if (!containerNode) return null;
@@ -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",
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-core": "5.9.0",
205
- "@uipath/apollo-wind": "2.14.0"
204
+ "@uipath/apollo-wind": "2.14.0",
205
+ "@uipath/apollo-core": "5.9.0"
206
206
  },
207
207
  "devDependencies": {
208
208
  "@lingui/cli": "^5.6.1",