@uipath/apollo-react 4.18.3 → 4.20.0-pr644.8243dcd

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 (97) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodePanel.cjs +3 -2
  2. package/dist/canvas/components/AddNodePanel/AddNodePanel.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/AddNodePanel.js +3 -2
  4. package/dist/canvas/components/AddNodePanel/AddNodePanel.types.d.ts +2 -1
  5. package/dist/canvas/components/AddNodePanel/AddNodePanel.types.d.ts.map +1 -1
  6. package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts +2 -2
  7. package/dist/canvas/components/BaseNode/BaseNode.cjs +12 -3
  8. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  9. package/dist/canvas/components/BaseNode/BaseNode.js +12 -3
  10. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.cjs +95 -75
  11. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.d.ts +2 -1
  12. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.d.ts.map +1 -1
  13. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.js +95 -75
  14. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.cjs +2 -2
  15. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.d.ts +2 -2
  16. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.d.ts.map +1 -1
  17. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.js +2 -2
  18. package/dist/canvas/components/Toolbox/ListView.cjs +30 -22
  19. package/dist/canvas/components/Toolbox/ListView.d.ts +1 -0
  20. package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
  21. package/dist/canvas/components/Toolbox/ListView.js +30 -22
  22. package/dist/canvas/components/Toolbox/QuickActionsRow.cjs +84 -0
  23. package/dist/canvas/components/Toolbox/QuickActionsRow.d.ts +17 -0
  24. package/dist/canvas/components/Toolbox/QuickActionsRow.d.ts.map +1 -0
  25. package/dist/canvas/components/Toolbox/QuickActionsRow.js +50 -0
  26. package/dist/canvas/components/Toolbox/Toolbox.cjs +13 -1
  27. package/dist/canvas/components/Toolbox/Toolbox.d.ts +7 -1
  28. package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
  29. package/dist/canvas/components/Toolbox/Toolbox.js +13 -1
  30. package/dist/canvas/components/Toolbox/Toolbox.styles.cjs +2 -2
  31. package/dist/canvas/components/Toolbox/Toolbox.styles.js +2 -2
  32. package/dist/canvas/components/Toolbox/index.d.ts +1 -0
  33. package/dist/canvas/components/Toolbox/index.d.ts.map +1 -1
  34. package/dist/canvas/components/shared/InitialsBadge.cjs +83 -0
  35. package/dist/canvas/components/shared/InitialsBadge.d.ts +8 -0
  36. package/dist/canvas/components/shared/InitialsBadge.d.ts.map +1 -0
  37. package/dist/canvas/components/shared/InitialsBadge.js +36 -0
  38. package/dist/canvas/icons/ConnectorHandleIcon.cjs +69 -0
  39. package/dist/canvas/icons/ConnectorHandleIcon.d.ts +7 -0
  40. package/dist/canvas/icons/ConnectorHandleIcon.d.ts.map +1 -0
  41. package/dist/canvas/icons/ConnectorHandleIcon.js +35 -0
  42. package/dist/canvas/icons/index.cjs +6 -2
  43. package/dist/canvas/icons/index.d.ts +1 -0
  44. package/dist/canvas/icons/index.d.ts.map +1 -1
  45. package/dist/canvas/icons/index.js +2 -1
  46. package/dist/canvas/schema/node-definition/category-manifest.cjs +1 -1
  47. package/dist/canvas/schema/node-definition/category-manifest.d.ts +1 -1
  48. package/dist/canvas/schema/node-definition/category-manifest.d.ts.map +1 -1
  49. package/dist/canvas/schema/node-definition/category-manifest.js +1 -1
  50. package/dist/canvas/schema/node-definition/node-manifest.cjs +1 -1
  51. package/dist/canvas/schema/node-definition/node-manifest.d.ts +2 -2
  52. package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
  53. package/dist/canvas/schema/node-definition/node-manifest.js +1 -1
  54. package/dist/canvas/storybook-utils/manifests/index.d.ts +2 -2
  55. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  56. package/dist/canvas/utils/icon-registry.cjs +8 -0
  57. package/dist/canvas/utils/icon-registry.d.ts +1 -1
  58. package/dist/canvas/utils/icon-registry.d.ts.map +1 -1
  59. package/dist/canvas/utils/icon-registry.js +8 -0
  60. package/dist/canvas/utils/manifest-resolver.cjs +0 -1
  61. package/dist/canvas/utils/manifest-resolver.d.ts +1 -1
  62. package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
  63. package/dist/canvas/utils/manifest-resolver.js +0 -1
  64. package/dist/material/components/ap-chat/locales/de.cjs +1 -1
  65. package/dist/material/components/ap-chat/locales/de.d.ts.map +1 -1
  66. package/dist/material/components/ap-chat/locales/de.js +1 -1
  67. package/dist/material/components/ap-chat/locales/es-MX.cjs +1 -1
  68. package/dist/material/components/ap-chat/locales/es-MX.d.ts.map +1 -1
  69. package/dist/material/components/ap-chat/locales/es-MX.js +1 -1
  70. package/dist/material/components/ap-chat/locales/es.cjs +1 -1
  71. package/dist/material/components/ap-chat/locales/es.d.ts.map +1 -1
  72. package/dist/material/components/ap-chat/locales/es.js +1 -1
  73. package/dist/material/components/ap-chat/locales/fr.cjs +1 -1
  74. package/dist/material/components/ap-chat/locales/fr.d.ts.map +1 -1
  75. package/dist/material/components/ap-chat/locales/fr.js +1 -1
  76. package/dist/material/components/ap-chat/locales/ja.cjs +1 -1
  77. package/dist/material/components/ap-chat/locales/ja.d.ts.map +1 -1
  78. package/dist/material/components/ap-chat/locales/ja.js +1 -1
  79. package/dist/material/components/ap-chat/locales/ko.cjs +1 -1
  80. package/dist/material/components/ap-chat/locales/ko.d.ts.map +1 -1
  81. package/dist/material/components/ap-chat/locales/ko.js +1 -1
  82. package/dist/material/components/ap-chat/locales/pt-BR.cjs +1 -1
  83. package/dist/material/components/ap-chat/locales/pt-BR.d.ts.map +1 -1
  84. package/dist/material/components/ap-chat/locales/pt-BR.js +1 -1
  85. package/dist/material/components/ap-chat/locales/pt.cjs +1 -1
  86. package/dist/material/components/ap-chat/locales/pt.d.ts.map +1 -1
  87. package/dist/material/components/ap-chat/locales/pt.js +1 -1
  88. package/dist/material/components/ap-chat/locales/tr.cjs +1 -1
  89. package/dist/material/components/ap-chat/locales/tr.d.ts.map +1 -1
  90. package/dist/material/components/ap-chat/locales/tr.js +1 -1
  91. package/dist/material/components/ap-chat/locales/zh-CN.cjs +1 -1
  92. package/dist/material/components/ap-chat/locales/zh-CN.d.ts.map +1 -1
  93. package/dist/material/components/ap-chat/locales/zh-CN.js +1 -1
  94. package/dist/material/components/ap-chat/locales/zh-TW.cjs +1 -1
  95. package/dist/material/components/ap-chat/locales/zh-TW.d.ts.map +1 -1
  96. package/dist/material/components/ap-chat/locales/zh-TW.js +1 -1
  97. package/package.json +3 -3
@@ -19,9 +19,9 @@ import { useMarkdownShortcuts } from "./useMarkdownShortcuts.js";
19
19
  import { useScrollCapture } from "./useScrollCapture.js";
20
20
  const minWidth = 8 * GRID_SPACING;
21
21
  const minHeight = 8 * GRID_SPACING;
22
- const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = 'Add text', renderPlaceholderOnSelect = false, onContentChange, onColorChange, onResize })=>{
22
+ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = 'Add text', renderPlaceholderOnSelect = false, readOnly = false, onContentChange, onColorChange, onResize })=>{
23
23
  const { updateNodeData, deleteElements } = useReactFlow();
24
- const [isEditing, setIsEditing] = useState(data.autoFocus ?? false);
24
+ const [isEditing, setIsEditing] = useState(!readOnly && (data.autoFocus ?? false));
25
25
  const [isResizing, setIsResizing] = useState(false);
26
26
  const [isColorPickerOpen, setIsColorPickerOpen] = useState(false);
27
27
  const [localContent, setLocalContent] = useState(data.content || '');
@@ -48,14 +48,15 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
48
48
  textAreaRef.current.focus();
49
49
  textAreaRef.current.select();
50
50
  }
51
- if (data.autoFocus) updateNodeData(id, {
51
+ if (!readOnly && data.autoFocus) updateNodeData(id, {
52
52
  autoFocus: false
53
53
  });
54
54
  }, [
55
55
  isEditing,
56
56
  data.autoFocus,
57
57
  id,
58
- updateNodeData
58
+ updateNodeData,
59
+ readOnly
59
60
  ]);
60
61
  useEffect(()=>{
61
62
  if (!selected || isResizing) setIsColorPickerOpen(false);
@@ -63,8 +64,17 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
63
64
  selected,
64
65
  isResizing
65
66
  ]);
67
+ useEffect(()=>{
68
+ if (readOnly) {
69
+ setIsEditing(false);
70
+ setLocalContent(data.content || '');
71
+ }
72
+ }, [
73
+ readOnly,
74
+ data.content
75
+ ]);
66
76
  const handleDoubleClick = useCallback(()=>{
67
- if (isEditing) return;
77
+ if (readOnly || isEditing) return;
68
78
  setIsEditing(true);
69
79
  setTimeout(()=>{
70
80
  if (textAreaRef.current) {
@@ -73,10 +83,12 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
73
83
  }
74
84
  }, 0);
75
85
  }, [
76
- isEditing
86
+ isEditing,
87
+ readOnly
77
88
  ]);
78
89
  const handleBlur = useCallback(()=>{
79
90
  setIsEditing(false);
91
+ if (readOnly) return;
80
92
  if (localContent !== data.content) {
81
93
  onContentChange?.(localContent);
82
94
  updateNodeData(id, {
@@ -88,7 +100,8 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
88
100
  localContent,
89
101
  data.content,
90
102
  updateNodeData,
91
- onContentChange
103
+ onContentChange,
104
+ readOnly
92
105
  ]);
93
106
  const handleChange = useCallback((e)=>{
94
107
  setLocalContent(e.target.value);
@@ -165,6 +178,7 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
165
178
  setIsColorPickerOpen((prev)=>!prev);
166
179
  }, []);
167
180
  const handleEditClick = useCallback(()=>{
181
+ if (readOnly) return;
168
182
  setIsEditing(true);
169
183
  setTimeout(()=>{
170
184
  if (textAreaRef.current) {
@@ -172,7 +186,9 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
172
186
  textAreaRef.current.select();
173
187
  }
174
188
  }, 0);
175
- }, []);
189
+ }, [
190
+ readOnly
191
+ ]);
176
192
  const handleDelete = useCallback(()=>{
177
193
  deleteElements({
178
194
  nodes: [
@@ -259,69 +275,73 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
259
275
  }),
260
276
  /*#__PURE__*/ jsxs(StickyNoteWrapper, {
261
277
  children: [
262
- /*#__PURE__*/ jsx(NodeResizeControl, {
263
- style: {
264
- background: 'transparent',
265
- border: 'none',
266
- zIndex: RESIZE_CONTROL_Z_INDEX
267
- },
268
- position: "top-left",
269
- minWidth: minWidth,
270
- minHeight: minHeight,
271
- onResizeStart: handleResizeStart,
272
- onResizeEnd: handleResizeEnd,
273
- children: /*#__PURE__*/ jsx(ResizeHandle, {
274
- selected: selected,
275
- cursor: "nwse-resize"
276
- })
277
- }),
278
- /*#__PURE__*/ jsx(NodeResizeControl, {
279
- style: {
280
- background: 'transparent',
281
- border: 'none',
282
- zIndex: RESIZE_CONTROL_Z_INDEX
283
- },
284
- position: "top-right",
285
- minWidth: minWidth,
286
- minHeight: minHeight,
287
- onResizeStart: handleResizeStart,
288
- onResizeEnd: handleResizeEnd,
289
- children: /*#__PURE__*/ jsx(ResizeHandle, {
290
- selected: selected,
291
- cursor: "nesw-resize"
292
- })
293
- }),
294
- /*#__PURE__*/ jsx(NodeResizeControl, {
295
- style: {
296
- background: 'transparent',
297
- border: 'none',
298
- zIndex: RESIZE_CONTROL_Z_INDEX
299
- },
300
- position: "bottom-left",
301
- minWidth: minWidth,
302
- minHeight: minHeight,
303
- onResizeStart: handleResizeStart,
304
- onResizeEnd: handleResizeEnd,
305
- children: /*#__PURE__*/ jsx(ResizeHandle, {
306
- selected: selected,
307
- cursor: "nesw-resize"
308
- })
309
- }),
310
- /*#__PURE__*/ jsx(NodeResizeControl, {
311
- style: {
312
- background: 'transparent',
313
- border: 'none',
314
- zIndex: RESIZE_CONTROL_Z_INDEX
315
- },
316
- position: "bottom-right",
317
- minWidth: minWidth,
318
- minHeight: minHeight,
319
- onResizeStart: handleResizeStart,
320
- onResizeEnd: handleResizeEnd,
321
- children: /*#__PURE__*/ jsx(ResizeHandle, {
322
- selected: selected,
323
- cursor: "nwse-resize"
324
- })
278
+ !readOnly && /*#__PURE__*/ jsxs(Fragment, {
279
+ children: [
280
+ /*#__PURE__*/ jsx(NodeResizeControl, {
281
+ style: {
282
+ background: 'transparent',
283
+ border: 'none',
284
+ zIndex: RESIZE_CONTROL_Z_INDEX
285
+ },
286
+ position: "top-left",
287
+ minWidth: minWidth,
288
+ minHeight: minHeight,
289
+ onResizeStart: handleResizeStart,
290
+ onResizeEnd: handleResizeEnd,
291
+ children: /*#__PURE__*/ jsx(ResizeHandle, {
292
+ selected: selected,
293
+ cursor: "nwse-resize"
294
+ })
295
+ }),
296
+ /*#__PURE__*/ jsx(NodeResizeControl, {
297
+ style: {
298
+ background: 'transparent',
299
+ border: 'none',
300
+ zIndex: RESIZE_CONTROL_Z_INDEX
301
+ },
302
+ position: "top-right",
303
+ minWidth: minWidth,
304
+ minHeight: minHeight,
305
+ onResizeStart: handleResizeStart,
306
+ onResizeEnd: handleResizeEnd,
307
+ children: /*#__PURE__*/ jsx(ResizeHandle, {
308
+ selected: selected,
309
+ cursor: "nesw-resize"
310
+ })
311
+ }),
312
+ /*#__PURE__*/ jsx(NodeResizeControl, {
313
+ style: {
314
+ background: 'transparent',
315
+ border: 'none',
316
+ zIndex: RESIZE_CONTROL_Z_INDEX
317
+ },
318
+ position: "bottom-left",
319
+ minWidth: minWidth,
320
+ minHeight: minHeight,
321
+ onResizeStart: handleResizeStart,
322
+ onResizeEnd: handleResizeEnd,
323
+ children: /*#__PURE__*/ jsx(ResizeHandle, {
324
+ selected: selected,
325
+ cursor: "nesw-resize"
326
+ })
327
+ }),
328
+ /*#__PURE__*/ jsx(NodeResizeControl, {
329
+ style: {
330
+ background: 'transparent',
331
+ border: 'none',
332
+ zIndex: RESIZE_CONTROL_Z_INDEX
333
+ },
334
+ position: "bottom-right",
335
+ minWidth: minWidth,
336
+ minHeight: minHeight,
337
+ onResizeStart: handleResizeStart,
338
+ onResizeEnd: handleResizeEnd,
339
+ children: /*#__PURE__*/ jsx(ResizeHandle, {
340
+ selected: selected,
341
+ cursor: "nwse-resize"
342
+ })
343
+ })
344
+ ]
325
345
  }),
326
346
  /*#__PURE__*/ jsxs(StickyNoteContainer, {
327
347
  backgroundColor: colorWithAlpha,
@@ -331,10 +351,10 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
331
351
  onDoubleClick: handleDoubleClick,
332
352
  children: [
333
353
  /*#__PURE__*/ jsx(TopCornerIndicators, {
334
- selected: selected
354
+ visible: selected && !readOnly
335
355
  }),
336
356
  /*#__PURE__*/ jsx(BottomCornerIndicators, {
337
- selected: selected
357
+ visible: selected && !readOnly
338
358
  }),
339
359
  isEditing ? /*#__PURE__*/ jsxs(ApI18nProvider, {
340
360
  component: "canvas",
@@ -379,13 +399,13 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
379
399
  })
380
400
  ]
381
401
  }),
382
- selected && !dragging && !isResizing && /*#__PURE__*/ jsx(NodeToolbar, {
402
+ !readOnly && selected && !dragging && !isResizing && /*#__PURE__*/ jsx(NodeToolbar, {
383
403
  nodeId: id,
384
404
  config: toolbarConfig,
385
405
  expanded: true
386
406
  }),
387
407
  /*#__PURE__*/ jsx(AnimatePresence, {
388
- children: selected && !dragging && !isResizing && isColorPickerOpen && /*#__PURE__*/ jsx("div", {
408
+ children: !readOnly && selected && !dragging && !isResizing && isColorPickerOpen && /*#__PURE__*/ jsx("div", {
389
409
  style: {
390
410
  position: 'absolute',
391
411
  top: -40,
@@ -281,7 +281,7 @@ const TopCornerIndicators = styled_default().div`
281
281
  position: absolute;
282
282
  inset: 0;
283
283
  pointer-events: none;
284
- opacity: ${(props)=>props.selected ? 1 : 0};
284
+ opacity: ${(props)=>props.visible ? 1 : 0};
285
285
 
286
286
  /* Top-left corner */
287
287
  &::before {
@@ -313,7 +313,7 @@ const BottomCornerIndicators = styled_default().div`
313
313
  position: absolute;
314
314
  inset: 0;
315
315
  pointer-events: none;
316
- opacity: ${(props)=>props.selected ? 1 : 0};
316
+ opacity: ${(props)=>props.visible ? 1 : 0};
317
317
 
318
318
  /* Bottom-left corner */
319
319
  &::before {
@@ -35,13 +35,13 @@ export declare const TopCornerIndicators: import("@emotion/styled").StyledCompon
35
35
  theme?: import("@emotion/react").Theme;
36
36
  as?: React.ElementType;
37
37
  } & {
38
- selected?: boolean;
38
+ visible?: boolean;
39
39
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
40
40
  export declare const BottomCornerIndicators: import("@emotion/styled").StyledComponent<{
41
41
  theme?: import("@emotion/react").Theme;
42
42
  as?: React.ElementType;
43
43
  } & {
44
- selected?: boolean;
44
+ visible?: boolean;
45
45
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
46
46
  export declare const ColorPickerPanel: import("@emotion/styled").StyledComponent<Omit<import("motion/react").HTMLMotionProps<"div">, "ref"> & import("react").RefAttributes<HTMLDivElement> & {
47
47
  theme?: import("@emotion/react").Theme;
@@ -1 +1 @@
1
- {"version":3,"file":"StickyNoteNode.styles.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StickyNoteNode/StickyNoteNode.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,8BAA8B,MAAM,CAAC;AA4BlD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,eAAO,MAAM,sBAAsB,2CAUlC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;yGAI7B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;iBACjB,MAAM;qBACF,MAAM;eACZ,OAAO;eACP,OAAO;yGAuBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;eAAgC,OAAO;2HAsBrE,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;yGA8H9B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;eAA2B,OAAO;aAAW,MAAM;yGAW3E,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;eAA2B,OAAO;yGA+BjE,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;eAA2B,OAAO;yGA+BpE,CAAC;AAEF,eAAO,MAAM,gBAAgB;;UAa5B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;WAA0B,MAAM;gBAAc,OAAO;qHAkB5E,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;iBAA6B,MAAM;yGAQzE,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;cAA6B,OAAO;qHAoBhE,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;yGAK5B,CAAC"}
1
+ {"version":3,"file":"StickyNoteNode.styles.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StickyNoteNode/StickyNoteNode.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,8BAA8B,MAAM,CAAC;AA4BlD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,eAAO,MAAM,sBAAsB,2CAUlC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;yGAI7B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;iBACjB,MAAM;qBACF,MAAM;eACZ,OAAO;eACP,OAAO;yGAuBnB,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;eAAgC,OAAO;2HAsBrE,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;yGA8H9B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;eAA2B,OAAO;aAAW,MAAM;yGAW3E,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;cAA0B,OAAO;yGA+BhE,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;cAA0B,OAAO;yGA+BnE,CAAC;AAEF,eAAO,MAAM,gBAAgB;;UAa5B,CAAC;AAEF,eAAO,MAAM,WAAW;;;;WAA0B,MAAM;gBAAc,OAAO;qHAkB5E,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;iBAA6B,MAAM;yGAQzE,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;cAA6B,OAAO;qHAoBhE,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;yGAK5B,CAAC"}
@@ -229,7 +229,7 @@ const TopCornerIndicators = styled.div`
229
229
  position: absolute;
230
230
  inset: 0;
231
231
  pointer-events: none;
232
- opacity: ${(props)=>props.selected ? 1 : 0};
232
+ opacity: ${(props)=>props.visible ? 1 : 0};
233
233
 
234
234
  /* Top-left corner */
235
235
  &::before {
@@ -261,7 +261,7 @@ const BottomCornerIndicators = styled.div`
261
261
  position: absolute;
262
262
  inset: 0;
263
263
  pointer-events: none;
264
- opacity: ${(props)=>props.selected ? 1 : 0};
264
+ opacity: ${(props)=>props.visible ? 1 : 0};
265
265
 
266
266
  /* Bottom-left corner */
267
267
  &::before {
@@ -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, {
@@ -219,7 +224,7 @@ const ListItemSkeleton = ()=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)
219
224
  })
220
225
  ]
221
226
  });
222
- const ListViewInner = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(function({ items, activeIndex = -1, listRef, onItemClick, onItemHover, onScroll, emptyStateMessage = 'No items found', emptyStateIcon = 'search-x', isLoading = false, enableSections = true, loadingSkeleton }, ref) {
227
+ const ListViewInner = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(function({ items, activeIndex = -1, listRef, onItemClick, onItemHover, onScroll, emptyStateMessage = 'No items found', emptyStateIcon = 'search-x', renderEmptyState, isLoading = false, enableSections = true, loadingSkeleton }, ref) {
223
228
  const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
224
229
  const activeSkeleton = loadingSkeleton ?? (isLoading && 0 === items.length ? true : void 0);
225
230
  const renderedItems = (0, external_react_namespaceObject.useMemo)(()=>buildRenderedItems(items, enableSections, activeSkeleton), [
@@ -247,26 +252,29 @@ const ListViewInner = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRe
247
252
  onItemClick,
248
253
  onItemHover
249
254
  ]);
250
- if (0 === renderedItems.length) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
251
- align: "center",
252
- justify: "center",
253
- flex: 1,
254
- gap: 10,
255
- style: {
256
- minHeight: '250px'
257
- },
258
- children: [
259
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_utils_index_cjs_namespaceObject.CanvasIcon, {
260
- icon: emptyStateIcon,
261
- size: 48,
262
- color: "var(--canvas-foreground-de-emp)"
263
- }),
264
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
265
- className: "text-xs text-foreground-muted",
266
- children: emptyStateMessage
267
- })
268
- ]
269
- });
255
+ if (0 === renderedItems.length) {
256
+ if (renderEmptyState) return renderEmptyState();
257
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
258
+ align: "center",
259
+ justify: "center",
260
+ flex: 1,
261
+ gap: 10,
262
+ style: {
263
+ minHeight: '250px'
264
+ },
265
+ children: [
266
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_utils_index_cjs_namespaceObject.CanvasIcon, {
267
+ icon: emptyStateIcon,
268
+ size: 48,
269
+ color: "var(--canvas-foreground-de-emp)"
270
+ }),
271
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
272
+ className: "text-xs text-foreground-muted",
273
+ children: emptyStateMessage
274
+ })
275
+ ]
276
+ });
277
+ }
270
278
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ListView_styles_cjs_namespaceObject.StyledList, {
271
279
  id: "toolbox-listbox",
272
280
  role: "listbox",
@@ -53,6 +53,7 @@ interface ListViewProps<T extends ListItem> {
53
53
  onScroll?: React.UIEventHandler<HTMLDivElement>;
54
54
  emptyStateMessage?: string;
55
55
  emptyStateIcon?: string;
56
+ renderEmptyState?: () => React.ReactElement | null;
56
57
  isLoading?: boolean;
57
58
  enableSections?: boolean;
58
59
  loadingSkeleton?: boolean | ChildrenLoadingSpec;
@@ -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":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,cAAc,CAAC;AAMzE,MAAM,WAAW,YAAY;IAI3B,IAAI,CAAC,EAAE,MAAM,CAAC;IAId,GAAG,CAAC,EAAE,MAAM,CAAC;IAIb,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACjC;AAUD,MAAM,MAAM,mBAAmB,GAAG;IAKhC,KAAK,CAAC,EAAE,MAAM,CAAC;IAOf,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAQlF,eAAe,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,QAAQ,IACrC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAIzB,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,QAAQ,EACnD,KAAK,EAAE,CAAC,EAAE,EACV,cAAc,EAAE,OAAO,EACvB,eAAe,CAAC,EAAE,OAAO,GAAG,mBAAmB,GAC9C,UAAU,CAAC,CAAC,CAAC,EAAE,CA4DjB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,QAAQ;IAClD,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACjC;AAqGD,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAC3D,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC;AAED,UAAU,aAAa,CAAC,CAAC,SAAS,QAAQ;IACxC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACpD,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IAQxB,gBAAgB,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IAOzB,eAAe,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;CACjD;AA0FD,eAAO,MAAM,QAAQ,EAA0B,CAAC,CAAC,SAAS,QAAQ,EAChE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC7D,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC"}
@@ -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, {
@@ -190,7 +195,7 @@ const ListItemSkeleton = ()=>/*#__PURE__*/ jsxs("div", {
190
195
  })
191
196
  ]
192
197
  });
193
- const ListViewInner = /*#__PURE__*/ forwardRef(function({ items, activeIndex = -1, listRef, onItemClick, onItemHover, onScroll, emptyStateMessage = 'No items found', emptyStateIcon = 'search-x', isLoading = false, enableSections = true, loadingSkeleton }, ref) {
198
+ const ListViewInner = /*#__PURE__*/ forwardRef(function({ items, activeIndex = -1, listRef, onItemClick, onItemHover, onScroll, emptyStateMessage = 'No items found', emptyStateIcon = 'search-x', renderEmptyState, isLoading = false, enableSections = true, loadingSkeleton }, ref) {
194
199
  const { isDarkMode } = useCanvasTheme();
195
200
  const activeSkeleton = loadingSkeleton ?? (isLoading && 0 === items.length ? true : void 0);
196
201
  const renderedItems = useMemo(()=>buildRenderedItems(items, enableSections, activeSkeleton), [
@@ -218,26 +223,29 @@ const ListViewInner = /*#__PURE__*/ forwardRef(function({ items, activeIndex = -
218
223
  onItemClick,
219
224
  onItemHover
220
225
  ]);
221
- if (0 === renderedItems.length) return /*#__PURE__*/ jsxs(Column, {
222
- align: "center",
223
- justify: "center",
224
- flex: 1,
225
- gap: 10,
226
- style: {
227
- minHeight: '250px'
228
- },
229
- children: [
230
- /*#__PURE__*/ jsx(CanvasIcon, {
231
- icon: emptyStateIcon,
232
- size: 48,
233
- color: "var(--canvas-foreground-de-emp)"
234
- }),
235
- /*#__PURE__*/ jsx("span", {
236
- className: "text-xs text-foreground-muted",
237
- children: emptyStateMessage
238
- })
239
- ]
240
- });
226
+ if (0 === renderedItems.length) {
227
+ if (renderEmptyState) return renderEmptyState();
228
+ return /*#__PURE__*/ jsxs(Column, {
229
+ align: "center",
230
+ justify: "center",
231
+ flex: 1,
232
+ gap: 10,
233
+ style: {
234
+ minHeight: '250px'
235
+ },
236
+ children: [
237
+ /*#__PURE__*/ jsx(CanvasIcon, {
238
+ icon: emptyStateIcon,
239
+ size: 48,
240
+ color: "var(--canvas-foreground-de-emp)"
241
+ }),
242
+ /*#__PURE__*/ jsx("span", {
243
+ className: "text-xs text-foreground-muted",
244
+ children: emptyStateMessage
245
+ })
246
+ ]
247
+ });
248
+ }
241
249
  return /*#__PURE__*/ jsx(StyledList, {
242
250
  id: "toolbox-listbox",
243
251
  role: "listbox",
@@ -0,0 +1,84 @@
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
+ QuickActionsRow: ()=>QuickActionsRow_QuickActionsRow
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const apollo_wind_namespaceObject = require("@uipath/apollo-wind");
31
+ const external_react_namespaceObject = require("react");
32
+ const external_constants_cjs_namespaceObject = require("../../constants.cjs");
33
+ const external_CanvasTooltip_cjs_namespaceObject = require("../CanvasTooltip.cjs");
34
+ function QuickActionButton({ action, wide }) {
35
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
36
+ content: action.title,
37
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
38
+ type: "button",
39
+ variant: "ghost",
40
+ size: "icon",
41
+ className: wide ? 'h-9 w-14 aspect-auto [&_svg]:size-6' : 'h-9 w-9 [&_svg]:size-6',
42
+ "aria-label": action.title,
43
+ disabled: action.disabled,
44
+ onClick: action.onClick,
45
+ onMouseEnter: action.onMouseEnter,
46
+ onMouseLeave: action.onMouseLeave,
47
+ "data-testid": `toolbox-quick-action-${action.id}`,
48
+ children: action.icon
49
+ })
50
+ });
51
+ }
52
+ const QuickActionsRow_QuickActionsRow = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ actions }) {
53
+ if (!actions.length) return null;
54
+ const leading = actions.filter((a)=>!a.trailing);
55
+ const trailing = actions.filter((a)=>a.trailing);
56
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
57
+ className: "flex items-center justify-center gap-3 min-h-11 pb-2 border-b border-border shrink-0",
58
+ style: {
59
+ paddingInline: external_constants_cjs_namespaceObject.TOOLBOX_PADDING_X,
60
+ marginInline: -external_constants_cjs_namespaceObject.TOOLBOX_PADDING_X
61
+ },
62
+ "data-testid": "toolbox-quick-actions",
63
+ children: [
64
+ leading.map((action)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(QuickActionButton, {
65
+ action: action
66
+ }, action.id)),
67
+ trailing.length > 0 && leading.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
68
+ className: "w-px self-stretch mx-1 bg-border shrink-0",
69
+ "data-testid": "toolbox-quick-actions-separator"
70
+ }),
71
+ trailing.map((action)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(QuickActionButton, {
72
+ action: action,
73
+ wide: true
74
+ }, action.id))
75
+ ]
76
+ });
77
+ });
78
+ exports.QuickActionsRow = __webpack_exports__.QuickActionsRow;
79
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
80
+ "QuickActionsRow"
81
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
82
+ Object.defineProperty(exports, '__esModule', {
83
+ value: true
84
+ });
@@ -0,0 +1,17 @@
1
+ import { type MouseEvent, type ReactNode } from 'react';
2
+ export type ToolboxQuickAction = {
3
+ id: string;
4
+ title: string;
5
+ icon: ReactNode;
6
+ onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
7
+ onMouseEnter?: () => void;
8
+ onMouseLeave?: () => void;
9
+ trailing?: boolean;
10
+ disabled?: boolean;
11
+ };
12
+ interface QuickActionsRowProps {
13
+ actions: ToolboxQuickAction[];
14
+ }
15
+ export declare const QuickActionsRow: import("react").NamedExoticComponent<QuickActionsRowProps>;
16
+ export {};
17
+ //# sourceMappingURL=QuickActionsRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuickActionsRow.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/QuickActionsRow.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,UAAU,oBAAoB;IAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAuBD,eAAO,MAAM,eAAe,4DA0B1B,CAAC"}