@uipath/apollo-react 4.22.3 → 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 (49) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.cjs +1 -1
  2. package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.js +1 -1
  3. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +2 -2
  4. package/dist/canvas/components/BaseNode/BaseNode.cjs +11 -3
  5. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  6. package/dist/canvas/components/BaseNode/BaseNode.js +11 -3
  7. package/dist/canvas/components/LoopNode/LoopNode.cjs +27 -5
  8. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
  9. package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +3 -1
  10. package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
  11. package/dist/canvas/components/LoopNode/LoopNode.helpers.js +3 -1
  12. package/dist/canvas/components/LoopNode/LoopNode.js +28 -6
  13. package/dist/canvas/components/Toolbox/ListView.cjs +6 -1
  14. package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
  15. package/dist/canvas/components/Toolbox/ListView.js +6 -1
  16. package/dist/canvas/components/index.cjs +19 -12
  17. package/dist/canvas/components/index.d.ts +1 -0
  18. package/dist/canvas/components/index.d.ts.map +1 -1
  19. package/dist/canvas/components/index.js +1 -0
  20. package/dist/canvas/components/shared/InitialsBadge.cjs +91 -0
  21. package/dist/canvas/components/shared/InitialsBadge.d.ts +10 -0
  22. package/dist/canvas/components/shared/InitialsBadge.d.ts.map +1 -0
  23. package/dist/canvas/components/shared/InitialsBadge.js +44 -0
  24. package/dist/canvas/components/shared/index.cjs +39 -0
  25. package/dist/canvas/components/shared/index.d.ts +3 -0
  26. package/dist/canvas/components/shared/index.d.ts.map +1 -0
  27. package/dist/canvas/components/shared/index.js +2 -0
  28. package/dist/canvas/core/CategoryTreeAdapter.cjs +10 -6
  29. package/dist/canvas/core/CategoryTreeAdapter.js +10 -6
  30. package/dist/canvas/schema/node-definition/category-manifest.cjs +1 -1
  31. package/dist/canvas/schema/node-definition/category-manifest.d.ts +1 -1
  32. package/dist/canvas/schema/node-definition/category-manifest.js +1 -1
  33. package/dist/canvas/schema/node-definition/node-manifest.cjs +1 -1
  34. package/dist/canvas/schema/node-definition/node-manifest.d.ts +2 -2
  35. package/dist/canvas/schema/node-definition/node-manifest.js +1 -1
  36. package/dist/canvas/storybook-utils/manifests/index.d.ts +2 -2
  37. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  38. package/dist/canvas/utils/container.cjs +104 -4
  39. package/dist/canvas/utils/container.d.ts +36 -2
  40. package/dist/canvas/utils/container.d.ts.map +1 -1
  41. package/dist/canvas/utils/container.js +99 -5
  42. package/dist/canvas/utils/icon-registry.cjs +8 -0
  43. package/dist/canvas/utils/icon-registry.d.ts +1 -1
  44. package/dist/canvas/utils/icon-registry.d.ts.map +1 -1
  45. package/dist/canvas/utils/icon-registry.js +8 -0
  46. package/dist/canvas/utils/manifest-resolver.cjs +2 -1
  47. package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
  48. package/dist/canvas/utils/manifest-resolver.js +2 -1
  49. package/package.json +1 -1
@@ -196,7 +196,7 @@ function placeAddedNode({ nodes, edges, previewNode, insertedNode, layout, ignor
196
196
  getNodeDimensions,
197
197
  ignoredNodeTypes,
198
198
  gap: container_cjs_namespaceObject.CONTAINER_SEQUENCE_GAP_PX
199
- });
199
+ }).nodes;
200
200
  return {
201
201
  nodes: fittedNodes,
202
202
  insertedNode: fittedNodes.find((node)=>node.id === placementResult.insertedNode.id) ?? placementResult.insertedNode
@@ -166,7 +166,7 @@ function placeAddedNode({ nodes, edges, previewNode, insertedNode, layout, ignor
166
166
  getNodeDimensions,
167
167
  ignoredNodeTypes,
168
168
  gap: CONTAINER_SEQUENCE_GAP_PX
169
- });
169
+ }).nodes;
170
170
  return {
171
171
  nodes: fittedNodes,
172
172
  insertedNode: fittedNodes.find((node)=>node.id === placementResult.insertedNode.id) ?? placementResult.insertedNode
@@ -14,11 +14,11 @@ export declare const agentFlowManifest: {
14
14
  id: string;
15
15
  name: string;
16
16
  sortOrder: number;
17
- icon: string;
18
17
  tags: string[];
19
18
  parentId?: string | undefined;
20
19
  color?: string | undefined;
21
20
  colorDark?: string | undefined;
21
+ icon?: string | undefined;
22
22
  }[];
23
23
  nodes: {
24
24
  nodeType: string;
@@ -27,9 +27,9 @@ export declare const agentFlowManifest: {
27
27
  sortOrder: number;
28
28
  display: {
29
29
  label: string;
30
- icon: string;
31
30
  canvasLabel?: string | undefined;
32
31
  description?: string | undefined;
32
+ icon?: string | undefined;
33
33
  shape?: "square" | "circle" | "container" | "rectangle" | undefined;
34
34
  color?: string | undefined;
35
35
  background?: string | undefined;
@@ -43,6 +43,7 @@ const ConnectedHandlesContext_cjs_namespaceObject = require("../BaseCanvas/Conne
43
43
  const SelectionStateContext_cjs_namespaceObject = require("../BaseCanvas/SelectionStateContext.cjs");
44
44
  const SmartHandle_cjs_namespaceObject = require("../ButtonHandle/SmartHandle.cjs");
45
45
  const useButtonHandles_cjs_namespaceObject = require("../ButtonHandle/useButtonHandles.cjs");
46
+ const InitialsBadge_cjs_namespaceObject = require("../shared/InitialsBadge.cjs");
46
47
  const external_Toolbar_index_cjs_namespaceObject = require("../Toolbar/index.cjs");
47
48
  const external_BaseNodeBadgeSlot_cjs_namespaceObject = require("./BaseNodeBadgeSlot.cjs");
48
49
  const external_BaseNodeConfigContext_cjs_namespaceObject = require("./BaseNodeConfigContext.cjs");
@@ -124,11 +125,18 @@ const BaseNodeComponent = (props)=>{
124
125
  const isStacked = Boolean(manifest?.drillable || data?.isCollapsed);
125
126
  const Icon = (0, external_react_namespaceObject.useMemo)(()=>{
126
127
  if (void 0 !== iconComponent) return iconComponent;
127
- const IconComponent = (0, icon_registry_cjs_namespaceObject.getIcon)(display.icon);
128
- return IconComponent ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(IconComponent, {}) : null;
128
+ if (display.icon) {
129
+ const IconComponent = (0, icon_registry_cjs_namespaceObject.getIcon)(display.icon);
130
+ return IconComponent ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(IconComponent, {}) : null;
131
+ }
132
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(InitialsBadge_cjs_namespaceObject.InitialsBadge, {
133
+ name: display.label,
134
+ size: "var(--icon-size)"
135
+ });
129
136
  }, [
130
137
  iconComponent,
131
- display.icon
138
+ display.icon,
139
+ display.label
132
140
  ]);
133
141
  const handleConfigurations = (0, external_react_namespaceObject.useMemo)(()=>{
134
142
  if (handleConfigurationsProp && Array.isArray(handleConfigurationsProp)) return handleConfigurationsProp;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAuChF,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAynB1B,eAAO,MAAM,QAAQ,8CAnlBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAmlBhB,CAAC"}
1
+ {"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAwChF,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAynB1B,eAAO,MAAM,QAAQ,8CAnlBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAmlBhB,CAAC"}
@@ -15,6 +15,7 @@ import { useConnectedHandles } from "../BaseCanvas/ConnectedHandlesContext.js";
15
15
  import { useSelectionState } from "../BaseCanvas/SelectionStateContext.js";
16
16
  import { SmartHandle, SmartHandleProvider } from "../ButtonHandle/SmartHandle.js";
17
17
  import { useButtonHandles } from "../ButtonHandle/useButtonHandles.js";
18
+ import { InitialsBadge } from "../shared/InitialsBadge.js";
18
19
  import { NodeToolbar } from "../Toolbar/index.js";
19
20
  import { BaseBadgeSlot } from "./BaseNodeBadgeSlot.js";
20
21
  import { useBaseNodeOverrideConfig } from "./BaseNodeConfigContext.js";
@@ -96,11 +97,18 @@ const BaseNodeComponent = (props)=>{
96
97
  const isStacked = Boolean(manifest?.drillable || data?.isCollapsed);
97
98
  const Icon = useMemo(()=>{
98
99
  if (void 0 !== iconComponent) return iconComponent;
99
- const IconComponent = getIcon(display.icon);
100
- return IconComponent ? /*#__PURE__*/ jsx(IconComponent, {}) : null;
100
+ if (display.icon) {
101
+ const IconComponent = getIcon(display.icon);
102
+ return IconComponent ? /*#__PURE__*/ jsx(IconComponent, {}) : null;
103
+ }
104
+ return /*#__PURE__*/ jsx(InitialsBadge, {
105
+ name: display.label,
106
+ size: "var(--icon-size)"
107
+ });
101
108
  }, [
102
109
  iconComponent,
103
- display.icon
110
+ display.icon,
111
+ display.label
104
112
  ]);
105
113
  const handleConfigurations = useMemo(()=>{
106
114
  if (handleConfigurationsProp && Array.isArray(handleConfigurationsProp)) return handleConfigurationsProp;
@@ -101,6 +101,23 @@ function useHasChildNodes(id, enabled) {
101
101
  enabled
102
102
  ]));
103
103
  }
104
+ function areContainerResizeMinimumsEqual(left, right) {
105
+ return left.leftWidth === right.leftWidth && left.rightWidth === right.rightWidth && left.topHeight === right.topHeight && left.bottomHeight === right.bottomHeight;
106
+ }
107
+ function useContainerResizeMinimums(id) {
108
+ return (0, react_cjs_namespaceObject.useStore)((0, external_react_namespaceObject.useCallback)((state)=>(0, container_cjs_namespaceObject.getContainerResizeMinimums)({
109
+ nodes: state.nodes,
110
+ containerId: id
111
+ }), [
112
+ id
113
+ ]), areContainerResizeMinimumsEqual);
114
+ }
115
+ function getResizeControlMinimumSize(minimums, position) {
116
+ return {
117
+ width: position.includes('left') ? minimums.leftWidth : minimums.rightWidth,
118
+ height: position.includes('top') ? minimums.topHeight : minimums.bottomHeight
119
+ };
120
+ }
104
121
  function useContainerNodeInternalsRefresh(id, handleGroups, width, height) {
105
122
  const updateNodeInternals = (0, react_cjs_namespaceObject.useUpdateNodeInternals)();
106
123
  (0, external_react_namespaceObject.useEffect)(()=>{
@@ -170,6 +187,7 @@ function LoopNodeComponent(props) {
170
187
  const isDropTarget = true === resolvedData.isDropTarget;
171
188
  const containerWidth = width || container_cjs_namespaceObject.DEFAULT_CONTAINER_WIDTH;
172
189
  const containerHeight = height || container_cjs_namespaceObject.DEFAULT_CONTAINER_HEIGHT;
190
+ const resizeMinimums = useContainerResizeMinimums(id);
173
191
  const nodeSizeStyle = {
174
192
  width: containerWidth,
175
193
  height: containerHeight,
@@ -262,6 +280,7 @@ function LoopNodeComponent(props) {
262
280
  visible: showResizeControls
263
281
  }),
264
282
  showResizeControls ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ResizeControls, {
283
+ minimums: resizeMinimums,
265
284
  onResize: handleResize
266
285
  }) : null,
267
286
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Header, {
@@ -371,13 +390,15 @@ function BodyFrame({ isEmpty, isLoading }) {
371
390
  }) : null
372
391
  });
373
392
  }
374
- function ResizeControls({ onResize }) {
393
+ function ResizeControls({ minimums, onResize }) {
375
394
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
376
- children: RESIZE_CONTROLS.map(({ position, cursor })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_cjs_namespaceObject.NodeResizeControl, {
395
+ children: RESIZE_CONTROLS.map(({ position, cursor })=>{
396
+ const minimumSize = getResizeControlMinimumSize(minimums, position);
397
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_cjs_namespaceObject.NodeResizeControl, {
377
398
  style: RESIZE_CONTROL_STYLE,
378
399
  position: position,
379
- minWidth: container_cjs_namespaceObject.DEFAULT_CONTAINER_MIN_WIDTH,
380
- minHeight: container_cjs_namespaceObject.DEFAULT_CONTAINER_MIN_HEIGHT,
400
+ minWidth: minimumSize.width,
401
+ minHeight: minimumSize.height,
381
402
  onResize: onResize,
382
403
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
383
404
  className: "absolute bottom-0 right-0 h-5 w-5 pointer-events-auto",
@@ -385,7 +406,8 @@ function ResizeControls({ onResize }) {
385
406
  cursor
386
407
  }
387
408
  })
388
- }, position))
409
+ }, position);
410
+ })
389
411
  });
390
412
  }
391
413
  function ResizeCornerIndicators({ visible }) {
@@ -1 +1 @@
1
- {"version":3,"file":"LoopNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAyEtD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,aAAa,2CAgO9C;AAED,eAAO,MAAM,QAAQ,+DAA0B,CAAC"}
1
+ {"version":3,"file":"LoopNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/LoopNode/LoopNode.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA6GtD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,aAAa,2CAmO9C;AAED,eAAO,MAAM,QAAQ,+DAA0B,CAAC"}
@@ -132,12 +132,14 @@ function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowIns
132
132
  if (clickedHandle?.handleType !== 'output') return null;
133
133
  const sourceNode = reactFlowInstance.getNode(source.nodeId);
134
134
  const sourceIsContainer = void 0 !== sourceNode && (0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(sourceNode));
135
- if (sourceIsContainer && 'inner' !== clickedHandle.boundary) return null;
135
+ const allowedContainerId = sourceIsContainer && 'inner' !== clickedHandle.boundary ? sourceNode?.parentId : void 0;
136
+ if (sourceIsContainer && 'inner' !== clickedHandle.boundary && !allowedContainerId) return null;
136
137
  return (0, container_cjs_namespaceObject.resolveContainerPreview)({
137
138
  source,
138
139
  sourceHandleType,
139
140
  reactFlowInstance,
140
141
  replacedEdge,
142
+ allowedContainerId,
141
143
  isContainerNode: (node)=>(0, container_cjs_namespaceObject.isContainerNodeManifest)(getManifestForNode(node)),
142
144
  getContainerSafeArea: container_cjs_namespaceObject.getContainerSafeArea,
143
145
  getContainerContinuationTarget: ({ containerNode })=>{
@@ -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,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"}
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,CAmD/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"}
@@ -100,12 +100,14 @@ function resolveContainerAddNodePreview({ source, sourceHandleType, reactFlowIns
100
100
  if (clickedHandle?.handleType !== 'output') return null;
101
101
  const sourceNode = reactFlowInstance.getNode(source.nodeId);
102
102
  const sourceIsContainer = void 0 !== sourceNode && isContainerNodeManifest(getManifestForNode(sourceNode));
103
- if (sourceIsContainer && 'inner' !== clickedHandle.boundary) return null;
103
+ const allowedContainerId = sourceIsContainer && 'inner' !== clickedHandle.boundary ? sourceNode?.parentId : void 0;
104
+ if (sourceIsContainer && 'inner' !== clickedHandle.boundary && !allowedContainerId) return null;
104
105
  return resolveContainerPreview({
105
106
  source,
106
107
  sourceHandleType,
107
108
  reactFlowInstance,
108
109
  replacedEdge,
110
+ allowedContainerId,
109
111
  isContainerNode: (node)=>isContainerNodeManifest(getManifestForNode(node)),
110
112
  getContainerSafeArea: getContainerSafeArea,
111
113
  getContainerContinuationTarget: ({ containerNode })=>{
@@ -5,7 +5,7 @@ import { memo, useCallback, useEffect, useMemo, useState } from "react";
5
5
  import { useOptionalNodeTypeRegistry } from "../../core/index.js";
6
6
  import { useElementValidationStatus, useNodeExecutionState } from "../../hooks/index.js";
7
7
  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";
8
+ import { DEFAULT_CONTAINER_HEIGHT, DEFAULT_CONTAINER_MIN_HEIGHT, DEFAULT_CONTAINER_MIN_WIDTH, DEFAULT_CONTAINER_WIDTH, getContainerResizeMinimums } from "../../utils/container.js";
9
9
  import { CanvasIcon } from "../../utils/icon-registry.js";
10
10
  import { resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
11
11
  import { selectIsConnecting, snapToGrid } from "../../utils/NodeUtils.js";
@@ -73,6 +73,23 @@ function useHasChildNodes(id, enabled) {
73
73
  enabled
74
74
  ]));
75
75
  }
76
+ function areContainerResizeMinimumsEqual(left, right) {
77
+ return left.leftWidth === right.leftWidth && left.rightWidth === right.rightWidth && left.topHeight === right.topHeight && left.bottomHeight === right.bottomHeight;
78
+ }
79
+ function useContainerResizeMinimums(id) {
80
+ return useStore(useCallback((state)=>getContainerResizeMinimums({
81
+ nodes: state.nodes,
82
+ containerId: id
83
+ }), [
84
+ id
85
+ ]), areContainerResizeMinimumsEqual);
86
+ }
87
+ function getResizeControlMinimumSize(minimums, position) {
88
+ return {
89
+ width: position.includes('left') ? minimums.leftWidth : minimums.rightWidth,
90
+ height: position.includes('top') ? minimums.topHeight : minimums.bottomHeight
91
+ };
92
+ }
76
93
  function useContainerNodeInternalsRefresh(id, handleGroups, width, height) {
77
94
  const updateNodeInternals = useUpdateNodeInternals();
78
95
  useEffect(()=>{
@@ -142,6 +159,7 @@ function LoopNodeComponent(props) {
142
159
  const isDropTarget = true === resolvedData.isDropTarget;
143
160
  const containerWidth = width || DEFAULT_CONTAINER_WIDTH;
144
161
  const containerHeight = height || DEFAULT_CONTAINER_HEIGHT;
162
+ const resizeMinimums = useContainerResizeMinimums(id);
145
163
  const nodeSizeStyle = {
146
164
  width: containerWidth,
147
165
  height: containerHeight,
@@ -234,6 +252,7 @@ function LoopNodeComponent(props) {
234
252
  visible: showResizeControls
235
253
  }),
236
254
  showResizeControls ? /*#__PURE__*/ jsx(ResizeControls, {
255
+ minimums: resizeMinimums,
237
256
  onResize: handleResize
238
257
  }) : null,
239
258
  /*#__PURE__*/ jsx(Header, {
@@ -343,13 +362,15 @@ function BodyFrame({ isEmpty, isLoading }) {
343
362
  }) : null
344
363
  });
345
364
  }
346
- function ResizeControls({ onResize }) {
365
+ function ResizeControls({ minimums, onResize }) {
347
366
  return /*#__PURE__*/ jsx(Fragment, {
348
- children: RESIZE_CONTROLS.map(({ position, cursor })=>/*#__PURE__*/ jsx(NodeResizeControl, {
367
+ children: RESIZE_CONTROLS.map(({ position, cursor })=>{
368
+ const minimumSize = getResizeControlMinimumSize(minimums, position);
369
+ return /*#__PURE__*/ jsx(NodeResizeControl, {
349
370
  style: RESIZE_CONTROL_STYLE,
350
371
  position: position,
351
- minWidth: DEFAULT_CONTAINER_MIN_WIDTH,
352
- minHeight: DEFAULT_CONTAINER_MIN_HEIGHT,
372
+ minWidth: minimumSize.width,
373
+ minHeight: minimumSize.height,
353
374
  onResize: onResize,
354
375
  children: /*#__PURE__*/ jsx("div", {
355
376
  className: "absolute bottom-0 right-0 h-5 w-5 pointer-events-auto",
@@ -357,7 +378,8 @@ function ResizeControls({ onResize }) {
357
378
  cursor
358
379
  }
359
380
  })
360
- }, position))
381
+ }, position);
382
+ })
361
383
  });
362
384
  }
363
385
  function ResizeCornerIndicators({ visible }) {
@@ -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"}
@@ -0,0 +1,44 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import styled from "@emotion/styled";
3
+ const InitialsBadgeRoot = styled.span`
4
+ display: inline-flex;
5
+ width: var(--initials-badge-size, 24px);
6
+ height: var(--initials-badge-size, 24px);
7
+ align-items: center;
8
+ justify-content: center;
9
+ border-radius: 50%;
10
+ background: var(--canvas-primary);
11
+ color: var(--canvas-on-primary, #ffffff);
12
+ font-size: calc(var(--initials-badge-size, 24px) * 0.5);
13
+ font-weight: 800;
14
+ line-height: 1;
15
+ text-transform: uppercase;
16
+ user-select: none;
17
+ `;
18
+ function getInitial(name) {
19
+ const trimmed = name.trim();
20
+ if (!trimmed) return '?';
21
+ return [
22
+ ...trimmed
23
+ ][0] ?? '?';
24
+ }
25
+ function InitialsBadge({ name, size, className, style, 'data-testid': dataTestId }) {
26
+ const mergedStyle = (()=>{
27
+ const sizeStyle = size ? {
28
+ ['--initials-badge-size']: size
29
+ } : void 0;
30
+ if (!sizeStyle && !style) return;
31
+ return {
32
+ ...sizeStyle,
33
+ ...style
34
+ };
35
+ })();
36
+ return /*#__PURE__*/ jsx(InitialsBadgeRoot, {
37
+ "aria-hidden": "true",
38
+ className: className,
39
+ "data-testid": dataTestId,
40
+ style: mergedStyle,
41
+ children: getInitial(name)
42
+ });
43
+ }
44
+ export { InitialsBadge, getInitial };