@uipath/apollo-react 4.22.2 → 4.23.0-pr654.3fb62d6

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 +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.cjs +32 -4
  16. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
  17. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +28 -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 +23 -6
  21. package/dist/canvas/components/LoopNode/LoopNode.js +33 -5
  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 +50 -2
  66. package/dist/canvas/utils/container.d.ts +13 -0
  67. package/dist/canvas/utils/container.d.ts.map +1 -1
  68. package/dist/canvas/utils/container.js +48 -3
  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
@@ -24,10 +24,11 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
- resolveContainerAddNodePreview: ()=>resolveContainerAddNodePreview,
28
- resolveContainerPreviewConnectionHandles: ()=>resolveContainerPreviewConnectionHandles,
29
27
  resolveContainerHandleGroups: ()=>resolveContainerHandleGroups,
30
- getContainerRelativeBodyCenter: ()=>getContainerRelativeBodyCenter
28
+ getInnerHandleContainerId: ()=>getInnerHandleContainerId,
29
+ resolveContainerPreviewConnectionHandles: ()=>resolveContainerPreviewConnectionHandles,
30
+ getContainerRelativeBodyCenter: ()=>getContainerRelativeBodyCenter,
31
+ resolveContainerAddNodePreview: ()=>resolveContainerAddNodePreview
31
32
  });
32
33
  const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
33
34
  const container_cjs_namespaceObject = require("../../utils/container.cjs");
@@ -102,7 +103,7 @@ function pickPreferredInnerHandle(groups, type) {
102
103
  }
103
104
  return null;
104
105
  }
105
- function resolveClickedHandleType({ source, reactFlowInstance, getManifestForNode }) {
106
+ function resolveClickedHandle({ source, reactFlowInstance, getManifestForNode }) {
106
107
  if (!source.handleId) return;
107
108
  const sourceNode = reactFlowInstance.getNode(source.nodeId);
108
109
  if (!sourceNode) return;
@@ -116,20 +117,27 @@ function resolveClickedHandleType({ source, reactFlowInstance, getManifestForNod
116
117
  });
117
118
  for (const group of sourceHandles){
118
119
  const handle = group.handles.find((candidate)=>candidate.id === source.handleId);
119
- if (handle) return handle.handleType;
120
+ if (handle) return {
121
+ boundary: group.boundary ?? 'outer',
122
+ handleType: handle.handleType
123
+ };
120
124
  }
121
125
  }
122
- function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowInstance, getManifestForNode }) {
123
- const clickedHandleType = resolveClickedHandleType({
126
+ function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowInstance, getManifestForNode, replacedEdge }) {
127
+ const clickedHandle = resolveClickedHandle({
124
128
  source,
125
129
  reactFlowInstance,
126
130
  getManifestForNode
127
131
  });
128
- if ('output' !== clickedHandleType) return null;
132
+ if (clickedHandle?.handleType !== 'output') return null;
133
+ const sourceNode = reactFlowInstance.getNode(source.nodeId);
134
+ const sourceIsContainer = void 0 !== sourceNode && (0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(sourceNode));
135
+ if (sourceIsContainer && 'inner' !== clickedHandle.boundary) return null;
129
136
  return (0, container_cjs_namespaceObject.resolveContainerPreview)({
130
137
  source,
131
138
  sourceHandleType,
132
139
  reactFlowInstance,
140
+ replacedEdge,
133
141
  isContainerNode: (node)=>(0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(node)),
134
142
  getContainerSafeArea: container_cjs_namespaceObject.getContainerSafeArea,
135
143
  getContainerContinuationTarget: ({ containerNode })=>{
@@ -144,12 +152,24 @@ function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowIns
144
152
  }
145
153
  });
146
154
  }
155
+ function getInnerHandleContainerId({ source, reactFlowInstance, getManifestForNode }) {
156
+ const sourceNode = reactFlowInstance.getNode(source.nodeId);
157
+ if (!sourceNode || !(0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(sourceNode))) return;
158
+ const clickedHandle = resolveClickedHandle({
159
+ source,
160
+ reactFlowInstance,
161
+ getManifestForNode
162
+ });
163
+ return clickedHandle?.boundary === 'inner' ? sourceNode.id : void 0;
164
+ }
147
165
  exports.getContainerRelativeBodyCenter = __webpack_exports__.getContainerRelativeBodyCenter;
166
+ exports.getInnerHandleContainerId = __webpack_exports__.getInnerHandleContainerId;
148
167
  exports.resolveContainerAddNodePreview = __webpack_exports__.resolveContainerAddNodePreview;
149
168
  exports.resolveContainerHandleGroups = __webpack_exports__.resolveContainerHandleGroups;
150
169
  exports.resolveContainerPreviewConnectionHandles = __webpack_exports__.resolveContainerPreviewConnectionHandles;
151
170
  for(var __rspack_i in __webpack_exports__)if (-1 === [
152
171
  "getContainerRelativeBodyCenter",
172
+ "getInnerHandleContainerId",
153
173
  "resolveContainerAddNodePreview",
154
174
  "resolveContainerHandleGroups",
155
175
  "resolveContainerPreviewConnectionHandles"
@@ -1,4 +1,4 @@
1
- import { type Node, Position, type ReactFlowInstance } from '../../xyflow/react.ts';
1
+ import { type Edge, type Node, Position, type ReactFlowInstance } from '../../xyflow/react.ts';
2
2
  import type { NodeManifest } from '../../schema/node-definition';
3
3
  import type { PreviewEndpoint, PreviewGraphOverrides } from '../../utils/createPreviewGraph';
4
4
  import type { ResolutionContext, ResolvedHandleGroup } from '../../utils/manifest-resolver';
@@ -19,10 +19,16 @@ export declare function getContainerRelativeBodyCenter(containerNode: Pick<Node,
19
19
  y: number;
20
20
  };
21
21
  export declare function resolveContainerPreviewConnectionHandles(manifest: Pick<NodeManifest, 'handleConfiguration'> | undefined, context: ResolutionContext): ContainerPreviewConnectionHandles | null;
22
- export declare function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowInstance, getManifestForNode, }: {
22
+ export declare function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowInstance, getManifestForNode, replacedEdge, }: {
23
23
  source: PreviewEndpoint;
24
24
  sourceHandleType: 'source' | 'target';
25
25
  reactFlowInstance: ReactFlowInstance;
26
26
  getManifestForNode: ContainerPreviewManifestResolver;
27
+ replacedEdge?: Edge;
27
28
  }): PreviewGraphOverrides | null;
29
+ export declare function getInnerHandleContainerId({ source, reactFlowInstance, getManifestForNode, }: {
30
+ source: PreviewEndpoint;
31
+ reactFlowInstance: ReactFlowInstance;
32
+ getManifestForNode: ContainerPreviewManifestResolver;
33
+ }): string | undefined;
28
34
  //# sourceMappingURL=LoopNode.helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoopNode.helpers.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,iBAAiB,EACvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAOtF,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAI5F,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,OAAO,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,QAAQ,EAAE,uBAAuB,CAAC;IAClC,kBAAkB,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,iCAAiC;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,QAAQ,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gCAAgC,GAAG,CAC7C,IAAI,EAAE,IAAI,KACP,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,qBAAqB,CAAC,GAAG,SAAS,CAAC;AAOvE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,mBAAmB,EAAE,GAC5B,oBAAoB,EAAE,CAaxB;AAMD,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;;;EAQrE;AAwBD,wBAAgB,wCAAwC,CACtD,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,GAAG,SAAS,EAC/D,OAAO,EAAE,iBAAiB,GACzB,iCAAiC,GAAG,IAAI,CAgB1C;AAuDD,wBAAgB,8BAA8B,CAAC,EAC7C,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACtC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,kBAAkB,EAAE,gCAAgC,CAAC;CACtD,GAAG,qBAAqB,GAAG,IAAI,CAuC/B"}
1
+ {"version":3,"file":"LoopNode.helpers.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,IAAI,EACT,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,iBAAiB,EACvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAuB,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAOtF,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAI5F,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,OAAO,CAAC;AACxD,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,QAAQ,EAAE,uBAAuB,CAAC;IAClC,kBAAkB,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,iCAAiC;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,QAAQ,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,gCAAgC,GAAG,CAC7C,IAAI,EAAE,IAAI,KACP,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,qBAAqB,CAAC,GAAG,SAAS,CAAC;AAOvE,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,mBAAmB,EAAE,GAC5B,oBAAoB,EAAE,CAaxB;AAMD,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;;;EAQrE;AAwBD,wBAAgB,wCAAwC,CACtD,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,GAAG,SAAS,EAC/D,OAAO,EAAE,iBAAiB,GACzB,iCAAiC,GAAG,IAAI,CAgB1C;AA4DD,wBAAgB,8BAA8B,CAAC,EAC7C,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GACb,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACtC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,kBAAkB,EAAE,gCAAgC,CAAC;IACrD,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB,GAAG,qBAAqB,GAAG,IAAI,CA+C/B;AAMD,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,iBAAiB,EACjB,kBAAkB,GACnB,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,kBAAkB,EAAE,gCAAgC,CAAC;CACtD,GAAG,MAAM,GAAG,SAAS,CAarB"}
@@ -71,7 +71,7 @@ function pickPreferredInnerHandle(groups, type) {
71
71
  }
72
72
  return null;
73
73
  }
74
- function resolveClickedHandleType({ source, reactFlowInstance, getManifestForNode }) {
74
+ function resolveClickedHandle({ source, reactFlowInstance, getManifestForNode }) {
75
75
  if (!source.handleId) return;
76
76
  const sourceNode = reactFlowInstance.getNode(source.nodeId);
77
77
  if (!sourceNode) return;
@@ -85,20 +85,27 @@ function resolveClickedHandleType({ source, reactFlowInstance, getManifestForNod
85
85
  });
86
86
  for (const group of sourceHandles){
87
87
  const handle = group.handles.find((candidate)=>candidate.id === source.handleId);
88
- if (handle) return handle.handleType;
88
+ if (handle) return {
89
+ boundary: group.boundary ?? 'outer',
90
+ handleType: handle.handleType
91
+ };
89
92
  }
90
93
  }
91
- function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowInstance, getManifestForNode }) {
92
- const clickedHandleType = resolveClickedHandleType({
94
+ function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowInstance, getManifestForNode, replacedEdge }) {
95
+ const clickedHandle = resolveClickedHandle({
93
96
  source,
94
97
  reactFlowInstance,
95
98
  getManifestForNode
96
99
  });
97
- if ('output' !== clickedHandleType) return null;
100
+ if (clickedHandle?.handleType !== 'output') return null;
101
+ const sourceNode = reactFlowInstance.getNode(source.nodeId);
102
+ const sourceIsContainer = void 0 !== sourceNode && isContainerNodeManifest(getManifestForNode(sourceNode));
103
+ if (sourceIsContainer && 'inner' !== clickedHandle.boundary) return null;
98
104
  return resolveContainerPreview({
99
105
  source,
100
106
  sourceHandleType,
101
107
  reactFlowInstance,
108
+ replacedEdge,
102
109
  isContainerNode: (node)=>isContainerNodeManifest(getManifestForNode(node)),
103
110
  getContainerSafeArea: getContainerSafeArea,
104
111
  getContainerContinuationTarget: ({ containerNode })=>{
@@ -113,4 +120,14 @@ function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowIns
113
120
  }
114
121
  });
115
122
  }
116
- export { getContainerRelativeBodyCenter, resolveContainerAddNodePreview, resolveContainerHandleGroups, resolveContainerPreviewConnectionHandles };
123
+ function getInnerHandleContainerId({ source, reactFlowInstance, getManifestForNode }) {
124
+ const sourceNode = reactFlowInstance.getNode(source.nodeId);
125
+ if (!sourceNode || !isContainerNodeManifest(getManifestForNode(sourceNode))) return;
126
+ const clickedHandle = resolveClickedHandle({
127
+ source,
128
+ reactFlowInstance,
129
+ getManifestForNode
130
+ });
131
+ return clickedHandle?.boundary === 'inner' ? sourceNode.id : void 0;
132
+ }
133
+ export { getContainerRelativeBodyCenter, getInnerHandleContainerId, resolveContainerAddNodePreview, resolveContainerHandleGroups, resolveContainerPreviewConnectionHandles };
@@ -2,10 +2,11 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { NodeResizeControl, useStore, useUpdateNodeInternals } from "../../xyflow/react.js";
3
3
  import { cn } from "@uipath/apollo-wind";
4
4
  import { memo, useCallback, useEffect, useMemo, useState } from "react";
5
+ import { shallow } from "zustand/shallow";
5
6
  import { useOptionalNodeTypeRegistry } from "../../core/index.js";
6
7
  import { useElementValidationStatus, useNodeExecutionState } from "../../hooks/index.js";
7
8
  import { resolveAdornments } from "../../utils/adornment-resolver.js";
8
- import { DEFAULT_CONTAINER_HEIGHT, DEFAULT_CONTAINER_MIN_HEIGHT, DEFAULT_CONTAINER_MIN_WIDTH, DEFAULT_CONTAINER_WIDTH } from "../../utils/container.js";
9
+ import { DEFAULT_CONTAINER_HEIGHT, DEFAULT_CONTAINER_MIN_HEIGHT, DEFAULT_CONTAINER_MIN_WIDTH, DEFAULT_CONTAINER_WIDTH, getContainerResizeMinimums } from "../../utils/container.js";
9
10
  import { CanvasIcon } from "../../utils/icon-registry.js";
10
11
  import { resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
11
12
  import { selectIsConnecting, snapToGrid } from "../../utils/NodeUtils.js";
@@ -25,21 +26,29 @@ const EMPTY_DATA = {};
25
26
  const RESIZE_CONTROLS = [
26
27
  {
27
28
  position: 'top-left',
29
+ widthSide: 'left',
30
+ heightSide: 'top',
28
31
  cursor: 'nwse-resize',
29
32
  indicatorClassName: 'top-[-4px] left-[-4px]'
30
33
  },
31
34
  {
32
35
  position: 'top-right',
36
+ widthSide: 'right',
37
+ heightSide: 'top',
33
38
  cursor: 'nesw-resize',
34
39
  indicatorClassName: 'top-[-4px] right-[-4px]'
35
40
  },
36
41
  {
37
42
  position: 'bottom-left',
43
+ widthSide: 'left',
44
+ heightSide: 'bottom',
38
45
  cursor: 'nesw-resize',
39
46
  indicatorClassName: 'bottom-[-4px] left-[-4px]'
40
47
  },
41
48
  {
42
49
  position: 'bottom-right',
50
+ widthSide: 'right',
51
+ heightSide: 'bottom',
43
52
  cursor: 'nwse-resize',
44
53
  indicatorClassName: 'bottom-[-4px] right-[-4px]'
45
54
  }
@@ -49,6 +58,12 @@ const RESIZE_CONTROL_STYLE = {
49
58
  border: 'none',
50
59
  zIndex: 100
51
60
  };
61
+ const DEFAULT_RESIZE_MINIMUMS = {
62
+ left: DEFAULT_CONTAINER_MIN_WIDTH,
63
+ right: DEFAULT_CONTAINER_MIN_WIDTH,
64
+ top: DEFAULT_CONTAINER_MIN_HEIGHT,
65
+ bottom: DEFAULT_CONTAINER_MIN_HEIGHT
66
+ };
52
67
  const ADORNMENT_SLOT_POSITIONS = [
53
68
  'topLeft',
54
69
  'topRight',
@@ -73,6 +88,17 @@ function useHasChildNodes(id, enabled) {
73
88
  enabled
74
89
  ]));
75
90
  }
91
+ function useContainerResizeMinimums(id, width, height) {
92
+ return useStore(useCallback((state)=>getContainerResizeMinimums({
93
+ id,
94
+ width,
95
+ height
96
+ }, state.nodes), [
97
+ height,
98
+ id,
99
+ width
100
+ ]), shallow);
101
+ }
76
102
  function useContainerNodeInternalsRefresh(id, handleGroups, width, height) {
77
103
  const updateNodeInternals = useUpdateNodeInternals();
78
104
  useEffect(()=>{
@@ -142,6 +168,7 @@ function LoopNodeComponent(props) {
142
168
  const isDropTarget = true === resolvedData.isDropTarget;
143
169
  const containerWidth = width || DEFAULT_CONTAINER_WIDTH;
144
170
  const containerHeight = height || DEFAULT_CONTAINER_HEIGHT;
171
+ const resizeMinimums = useContainerResizeMinimums(id, containerWidth, containerHeight);
145
172
  const nodeSizeStyle = {
146
173
  width: containerWidth,
147
174
  height: containerHeight,
@@ -234,6 +261,7 @@ function LoopNodeComponent(props) {
234
261
  visible: showResizeControls
235
262
  }),
236
263
  showResizeControls ? /*#__PURE__*/ jsx(ResizeControls, {
264
+ minimums: resizeMinimums,
237
265
  onResize: handleResize
238
266
  }) : null,
239
267
  /*#__PURE__*/ jsx(Header, {
@@ -343,13 +371,13 @@ function BodyFrame({ isEmpty, isLoading }) {
343
371
  }) : null
344
372
  });
345
373
  }
346
- function ResizeControls({ onResize }) {
374
+ function ResizeControls({ minimums = DEFAULT_RESIZE_MINIMUMS, onResize }) {
347
375
  return /*#__PURE__*/ jsx(Fragment, {
348
- children: RESIZE_CONTROLS.map(({ position, cursor })=>/*#__PURE__*/ jsx(NodeResizeControl, {
376
+ children: RESIZE_CONTROLS.map(({ position, widthSide, heightSide, cursor })=>/*#__PURE__*/ jsx(NodeResizeControl, {
349
377
  style: RESIZE_CONTROL_STYLE,
350
378
  position: position,
351
- minWidth: DEFAULT_CONTAINER_MIN_WIDTH,
352
- minHeight: DEFAULT_CONTAINER_MIN_HEIGHT,
379
+ minWidth: minimums[widthSide],
380
+ minHeight: minimums[heightSide],
353
381
  onResize: onResize,
354
382
  children: /*#__PURE__*/ jsx("div", {
355
383
  className: "absolute bottom-0 right-0 h-5 w-5 pointer-events-auto",
@@ -29,7 +29,7 @@ __webpack_require__.d(__webpack_exports__, {
29
29
  const react_cjs_namespaceObject = require("../../../xyflow/react.cjs");
30
30
  const external_react_namespaceObject = require("react");
31
31
  const external_constants_cjs_namespaceObject = require("../../../constants.cjs");
32
- const index_cjs_namespaceObject = require("../../../core/index.cjs");
32
+ const useCanvasNodeLayout_cjs_namespaceObject = require("../../../hooks/useCanvasNodeLayout.cjs");
33
33
  const createPreviewGraph_cjs_namespaceObject = require("../../../utils/createPreviewGraph.cjs");
34
34
  const createPreviewNode_cjs_namespaceObject = require("../../../utils/createPreviewNode.cjs");
35
35
  const BaseCanvasModeProvider_cjs_namespaceObject = require("../../BaseCanvas/BaseCanvasModeProvider.cjs");
@@ -37,12 +37,9 @@ const LoopNode_helpers_cjs_namespaceObject = require("../../LoopNode/LoopNode.he
37
37
  const external_useEdgeToolbarPositioning_cjs_namespaceObject = require("./useEdgeToolbarPositioning.cjs");
38
38
  function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target, sourceHandleId, targetHandleId, sourcePosition, targetPosition, ignoredNodeTypes }) {
39
39
  const reactFlow = (0, react_cjs_namespaceObject.useReactFlow)();
40
- const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
40
+ const { getManifestForNode } = (0, useCanvasNodeLayout_cjs_namespaceObject.useCanvasNodeLayout)();
41
41
  const { mode } = (0, BaseCanvasModeProvider_cjs_namespaceObject.useBaseCanvasMode)();
42
42
  const isDesignMode = 'design' === mode;
43
- const getManifestForNode = (0, external_react_namespaceObject.useCallback)((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
44
- registry
45
- ]);
46
43
  const previewEdge = (0, createPreviewNode_cjs_namespaceObject.isPreviewEdge)({
47
44
  id: edgeId,
48
45
  source,
@@ -60,12 +57,13 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
60
57
  nodeId: source,
61
58
  handleId: sourceHandleId ?? external_constants_cjs_namespaceObject.DEFAULT_SOURCE_HANDLE_ID
62
59
  };
63
- const containerOverrides = registry ? (0, LoopNode_helpers_cjs_namespaceObject.resolveContainerAddNodePreview)({
60
+ const containerOverrides = (0, LoopNode_helpers_cjs_namespaceObject.resolveContainerAddNodePreview)({
64
61
  source: sourceEndpoint,
65
62
  sourceHandleType: 'source',
66
63
  reactFlowInstance: reactFlow,
67
- getManifestForNode
68
- }) : null;
64
+ getManifestForNode,
65
+ replacedEdge: originalEdge
66
+ });
69
67
  (0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
70
68
  source: sourceEndpoint,
71
69
  reactFlowInstance: reactFlow,
@@ -88,7 +86,6 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
88
86
  source,
89
87
  sourceHandleId,
90
88
  reactFlow,
91
- registry,
92
89
  getManifestForNode,
93
90
  target,
94
91
  targetHandleId,
@@ -1 +1 @@
1
- {"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAgB,MAAM,0CAA0C,CAAC;AAQlG,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,EAAE,wBAAwB,GAAG,gBAAgB,CA+F7C"}
1
+ {"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,0CAA0C,CAAC;AAQvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,EAAE,wBAAwB,GAAG,gBAAgB,CAyF7C"}
@@ -1,7 +1,7 @@
1
1
  import { useReactFlow } from "../../../xyflow/react.js";
2
2
  import { useCallback, useMemo } from "react";
3
3
  import { DEFAULT_SOURCE_HANDLE_ID } from "../../../constants.js";
4
- import { useOptionalNodeTypeRegistry } from "../../../core/index.js";
4
+ import { useCanvasNodeLayout } from "../../../hooks/useCanvasNodeLayout.js";
5
5
  import { showPreviewGraph } from "../../../utils/createPreviewGraph.js";
6
6
  import { isPreviewEdge } from "../../../utils/createPreviewNode.js";
7
7
  import { useBaseCanvasMode } from "../../BaseCanvas/BaseCanvasModeProvider.js";
@@ -9,12 +9,9 @@ import { resolveContainerAddNodePreview } from "../../LoopNode/LoopNode.helpers.
9
9
  import { useEdgeToolbarPositioning } from "./useEdgeToolbarPositioning.js";
10
10
  function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target, sourceHandleId, targetHandleId, sourcePosition, targetPosition, ignoredNodeTypes }) {
11
11
  const reactFlow = useReactFlow();
12
- const registry = useOptionalNodeTypeRegistry();
12
+ const { getManifestForNode } = useCanvasNodeLayout();
13
13
  const { mode } = useBaseCanvasMode();
14
14
  const isDesignMode = 'design' === mode;
15
- const getManifestForNode = useCallback((node)=>node.type ? registry?.getManifest(node.type) : void 0, [
16
- registry
17
- ]);
18
15
  const previewEdge = isPreviewEdge({
19
16
  id: edgeId,
20
17
  source,
@@ -32,12 +29,13 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
32
29
  nodeId: source,
33
30
  handleId: sourceHandleId ?? DEFAULT_SOURCE_HANDLE_ID
34
31
  };
35
- const containerOverrides = registry ? resolveContainerAddNodePreview({
32
+ const containerOverrides = resolveContainerAddNodePreview({
36
33
  source: sourceEndpoint,
37
34
  sourceHandleType: 'source',
38
35
  reactFlowInstance: reactFlow,
39
- getManifestForNode
40
- }) : null;
36
+ getManifestForNode,
37
+ replacedEdge: originalEdge
38
+ });
41
39
  showPreviewGraph({
42
40
  source: sourceEndpoint,
43
41
  reactFlowInstance: reactFlow,
@@ -60,7 +58,6 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
60
58
  source,
61
59
  sourceHandleId,
62
60
  reactFlow,
63
- registry,
64
61
  getManifestForNode,
65
62
  target,
66
63
  targetHandleId,
@@ -34,6 +34,7 @@ const apollo_wind_namespaceObject = require("@uipath/apollo-wind");
34
34
  const external_react_namespaceObject = require("react");
35
35
  const CanvasThemeContext_cjs_namespaceObject = require("../BaseCanvas/CanvasThemeContext.cjs");
36
36
  const external_CanvasTooltip_cjs_namespaceObject = require("../CanvasTooltip.cjs");
37
+ const InitialsBadge_cjs_namespaceObject = require("../shared/InitialsBadge.cjs");
37
38
  const external_ListView_styles_cjs_namespaceObject = require("./ListView.styles.cjs");
38
39
  const DEFAULT_SKELETON_COUNT = 3;
39
40
  function buildRenderedItems(items, enableSections, loadingSkeleton) {
@@ -162,7 +163,11 @@ const ListViewRow = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(({ in
162
163
  icon: item.icon.name,
163
164
  size: 24
164
165
  }),
165
- item.icon?.Component && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(item.icon.Component, {})
166
+ item.icon?.Component && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(item.icon.Component, {}),
167
+ !item.icon?.url && !item.icon?.name && !item.icon?.Component && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(InitialsBadge_cjs_namespaceObject.InitialsBadge, {
168
+ name: item.name,
169
+ "data-testid": "list-item-initials-badge"
170
+ })
166
171
  ]
167
172
  }),
168
173
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/ListView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/ListView.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { Skeleton } from "@uipath/apollo-wind";
5
5
  import { forwardRef, memo, useCallback, useImperativeHandle, useMemo } from "react";
6
6
  import { useCanvasTheme } from "../BaseCanvas/CanvasThemeContext.js";
7
7
  import { CanvasTooltip } from "../CanvasTooltip.js";
8
+ import { InitialsBadge } from "../shared/InitialsBadge.js";
8
9
  import { IconContainer, ListItemButton, SectionHeader, StyledList } from "./ListView.styles.js";
9
10
  const DEFAULT_SKELETON_COUNT = 3;
10
11
  function buildRenderedItems(items, enableSections, loadingSkeleton) {
@@ -133,7 +134,11 @@ const ListViewRow = /*#__PURE__*/ memo(({ index, style, ariaAttributes, rendered
133
134
  icon: item.icon.name,
134
135
  size: 24
135
136
  }),
136
- item.icon?.Component && /*#__PURE__*/ jsx(item.icon.Component, {})
137
+ item.icon?.Component && /*#__PURE__*/ jsx(item.icon.Component, {}),
138
+ !item.icon?.url && !item.icon?.name && !item.icon?.Component && /*#__PURE__*/ jsx(InitialsBadge, {
139
+ name: item.name,
140
+ "data-testid": "list-item-initials-badge"
141
+ })
137
142
  ]
138
143
  }),
139
144
  /*#__PURE__*/ jsxs(Column, {
@@ -68,6 +68,9 @@ var __webpack_modules__ = {
68
68
  },
69
69
  "./TriggerNode" (module) {
70
70
  module.exports = require("./TriggerNode/index.cjs");
71
+ },
72
+ "./shared" (module) {
73
+ module.exports = require("./shared/index.cjs");
71
74
  }
72
75
  };
73
76
  var __webpack_module_cache__ = {};
@@ -181,29 +184,33 @@ var __webpack_exports__ = {};
181
184
  var __rspack_reexport = {};
182
185
  for(const __rspack_import_key in _NodePropertiesPanel__rspack_import_16)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_NodePropertiesPanel__rspack_import_16[__rspack_import_key];
183
186
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
184
- var _StageNode__rspack_import_17 = __webpack_require__("./StageNode");
187
+ var _shared__rspack_import_17 = __webpack_require__("./shared");
188
+ var __rspack_reexport = {};
189
+ for(const __rspack_import_key in _shared__rspack_import_17)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_shared__rspack_import_17[__rspack_import_key];
190
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
191
+ var _StageNode__rspack_import_18 = __webpack_require__("./StageNode");
185
192
  var __rspack_reexport = {};
186
- for(const __rspack_import_key in _StageNode__rspack_import_17)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_StageNode__rspack_import_17[__rspack_import_key];
193
+ for(const __rspack_import_key in _StageNode__rspack_import_18)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_StageNode__rspack_import_18[__rspack_import_key];
187
194
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
188
- var _StickyNoteNode__rspack_import_18 = __webpack_require__("./StickyNoteNode?d2a3");
195
+ var _StickyNoteNode__rspack_import_19 = __webpack_require__("./StickyNoteNode?d2a3");
189
196
  var __rspack_reexport = {};
190
- for(const __rspack_import_key in _StickyNoteNode__rspack_import_18)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_StickyNoteNode__rspack_import_18[__rspack_import_key];
197
+ for(const __rspack_import_key in _StickyNoteNode__rspack_import_19)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_StickyNoteNode__rspack_import_19[__rspack_import_key];
191
198
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
192
- var _TaskIcon__rspack_import_19 = __webpack_require__("./TaskIcon");
199
+ var _TaskIcon__rspack_import_20 = __webpack_require__("./TaskIcon");
193
200
  var __rspack_reexport = {};
194
- for(const __rspack_import_key in _TaskIcon__rspack_import_19)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_TaskIcon__rspack_import_19[__rspack_import_key];
201
+ for(const __rspack_import_key in _TaskIcon__rspack_import_20)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_TaskIcon__rspack_import_20[__rspack_import_key];
195
202
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
196
- var _Toolbar__rspack_import_20 = __webpack_require__("./Toolbar");
203
+ var _Toolbar__rspack_import_21 = __webpack_require__("./Toolbar");
197
204
  var __rspack_reexport = {};
198
- for(const __rspack_import_key in _Toolbar__rspack_import_20)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_Toolbar__rspack_import_20[__rspack_import_key];
205
+ for(const __rspack_import_key in _Toolbar__rspack_import_21)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_Toolbar__rspack_import_21[__rspack_import_key];
199
206
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
200
- var _Toolbox__rspack_import_21 = __webpack_require__("./Toolbox?2740");
207
+ var _Toolbox__rspack_import_22 = __webpack_require__("./Toolbox?2740");
201
208
  var __rspack_reexport = {};
202
- for(const __rspack_import_key in _Toolbox__rspack_import_21)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_Toolbox__rspack_import_21[__rspack_import_key];
209
+ for(const __rspack_import_key in _Toolbox__rspack_import_22)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_Toolbox__rspack_import_22[__rspack_import_key];
203
210
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
204
- var _TriggerNode__rspack_import_22 = __webpack_require__("./TriggerNode");
211
+ var _TriggerNode__rspack_import_23 = __webpack_require__("./TriggerNode");
205
212
  var __rspack_reexport = {};
206
- for(const __rspack_import_key in _TriggerNode__rspack_import_22)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_TriggerNode__rspack_import_22[__rspack_import_key];
213
+ for(const __rspack_import_key in _TriggerNode__rspack_import_23)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_TriggerNode__rspack_import_23[__rspack_import_key];
207
214
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
208
215
  })();
209
216
  for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
@@ -15,6 +15,7 @@ export * from './MiniCanvasNavigator';
15
15
  export * from './NodeContextMenu';
16
16
  export * from './NodeInspector';
17
17
  export * from './NodePropertiesPanel';
18
+ export * from './shared';
18
19
  export * from './StageNode';
19
20
  export * from './StickyNoteNode';
20
21
  export * from './TaskIcon';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/canvas/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC"}
@@ -15,6 +15,7 @@ export * from "./MiniCanvasNavigator/index.js";
15
15
  export * from "./NodeContextMenu/index.js";
16
16
  export * from "./NodeInspector.js";
17
17
  export * from "./NodePropertiesPanel/index.js";
18
+ export * from "./shared/index.js";
18
19
  export * from "./StageNode/index.js";
19
20
  export * from "./StickyNoteNode/index.js";
20
21
  export * from "./TaskIcon/index.js";
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ getInitial: ()=>getInitial,
37
+ InitialsBadge: ()=>InitialsBadge
38
+ });
39
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
40
+ const styled_namespaceObject = require("@emotion/styled");
41
+ var styled_default = /*#__PURE__*/ __webpack_require__.n(styled_namespaceObject);
42
+ const InitialsBadgeRoot = styled_default().span`
43
+ display: inline-flex;
44
+ width: var(--initials-badge-size, 24px);
45
+ height: var(--initials-badge-size, 24px);
46
+ align-items: center;
47
+ justify-content: center;
48
+ border-radius: 50%;
49
+ background: var(--canvas-primary);
50
+ color: var(--canvas-on-primary, #ffffff);
51
+ font-size: calc(var(--initials-badge-size, 24px) * 0.5);
52
+ font-weight: 800;
53
+ line-height: 1;
54
+ text-transform: uppercase;
55
+ user-select: none;
56
+ `;
57
+ function getInitial(name) {
58
+ const trimmed = name.trim();
59
+ if (!trimmed) return '?';
60
+ return [
61
+ ...trimmed
62
+ ][0] ?? '?';
63
+ }
64
+ function InitialsBadge({ name, size, className, style, 'data-testid': dataTestId }) {
65
+ const mergedStyle = (()=>{
66
+ const sizeStyle = size ? {
67
+ ['--initials-badge-size']: size
68
+ } : void 0;
69
+ if (!sizeStyle && !style) return;
70
+ return {
71
+ ...sizeStyle,
72
+ ...style
73
+ };
74
+ })();
75
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(InitialsBadgeRoot, {
76
+ "aria-hidden": "true",
77
+ className: className,
78
+ "data-testid": dataTestId,
79
+ style: mergedStyle,
80
+ children: getInitial(name)
81
+ });
82
+ }
83
+ exports.InitialsBadge = __webpack_exports__.InitialsBadge;
84
+ exports.getInitial = __webpack_exports__.getInitial;
85
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
86
+ "InitialsBadge",
87
+ "getInitial"
88
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
89
+ Object.defineProperty(exports, '__esModule', {
90
+ value: true
91
+ });
@@ -0,0 +1,10 @@
1
+ export interface InitialsBadgeProps {
2
+ name: string;
3
+ size?: string;
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ 'data-testid'?: string;
7
+ }
8
+ export declare function getInitial(name: string): string;
9
+ export declare function InitialsBadge({ name, size, className, style, 'data-testid': dataTestId, }: InitialsBadgeProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=InitialsBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitialsBadge.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/shared/InitialsBadge.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAOD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAU,GAC1B,EAAE,kBAAkB,2CAmBpB"}