@uipath/apollo-react 4.20.0 → 4.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) 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/Toolbox/ListView.cjs +24 -21
  7. package/dist/canvas/components/Toolbox/ListView.d.ts +1 -0
  8. package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
  9. package/dist/canvas/components/Toolbox/ListView.js +24 -21
  10. package/dist/canvas/components/Toolbox/Toolbox.cjs +9 -1
  11. package/dist/canvas/components/Toolbox/Toolbox.d.ts +5 -1
  12. package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
  13. package/dist/canvas/components/Toolbox/Toolbox.js +9 -1
  14. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  15. package/dist/material/components/ap-chat/locales/de.cjs +1 -1
  16. package/dist/material/components/ap-chat/locales/de.d.ts.map +1 -1
  17. package/dist/material/components/ap-chat/locales/de.js +1 -1
  18. package/dist/material/components/ap-chat/locales/es-MX.cjs +1 -1
  19. package/dist/material/components/ap-chat/locales/es-MX.d.ts.map +1 -1
  20. package/dist/material/components/ap-chat/locales/es-MX.js +1 -1
  21. package/dist/material/components/ap-chat/locales/es.cjs +1 -1
  22. package/dist/material/components/ap-chat/locales/es.d.ts.map +1 -1
  23. package/dist/material/components/ap-chat/locales/es.js +1 -1
  24. package/dist/material/components/ap-chat/locales/fr.cjs +1 -1
  25. package/dist/material/components/ap-chat/locales/fr.d.ts.map +1 -1
  26. package/dist/material/components/ap-chat/locales/fr.js +1 -1
  27. package/dist/material/components/ap-chat/locales/ja.cjs +1 -1
  28. package/dist/material/components/ap-chat/locales/ja.d.ts.map +1 -1
  29. package/dist/material/components/ap-chat/locales/ja.js +1 -1
  30. package/dist/material/components/ap-chat/locales/ko.cjs +1 -1
  31. package/dist/material/components/ap-chat/locales/ko.d.ts.map +1 -1
  32. package/dist/material/components/ap-chat/locales/ko.js +1 -1
  33. package/dist/material/components/ap-chat/locales/pt-BR.cjs +1 -1
  34. package/dist/material/components/ap-chat/locales/pt-BR.d.ts.map +1 -1
  35. package/dist/material/components/ap-chat/locales/pt-BR.js +1 -1
  36. package/dist/material/components/ap-chat/locales/pt.cjs +1 -1
  37. package/dist/material/components/ap-chat/locales/pt.d.ts.map +1 -1
  38. package/dist/material/components/ap-chat/locales/pt.js +1 -1
  39. package/dist/material/components/ap-chat/locales/tr.cjs +1 -1
  40. package/dist/material/components/ap-chat/locales/tr.d.ts.map +1 -1
  41. package/dist/material/components/ap-chat/locales/tr.js +1 -1
  42. package/dist/material/components/ap-chat/locales/zh-CN.cjs +1 -1
  43. package/dist/material/components/ap-chat/locales/zh-CN.d.ts.map +1 -1
  44. package/dist/material/components/ap-chat/locales/zh-CN.js +1 -1
  45. package/dist/material/components/ap-chat/locales/zh-TW.cjs +1 -1
  46. package/dist/material/components/ap-chat/locales/zh-TW.d.ts.map +1 -1
  47. package/dist/material/components/ap-chat/locales/zh-TW.js +1 -1
  48. package/package.json +2 -2
@@ -31,7 +31,7 @@ const external_react_namespaceObject = require("react");
31
31
  const index_cjs_namespaceObject = require("../../core/index.cjs");
32
32
  const external_hooks_index_cjs_namespaceObject = require("../../hooks/index.cjs");
33
33
  const external_Toolbox_index_cjs_namespaceObject = require("../Toolbox/index.cjs");
34
- const AddNodePanel_AddNodePanel = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ onNodeSelect, onClose, onSearch, onNodeHover, items, title, loading }) {
34
+ const AddNodePanel_AddNodePanel = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ onNodeSelect, onClose, onSearch, onNodeHover, items, title, loading, renderEmptyState }) {
35
35
  const registry = (0, index_cjs_namespaceObject.useOptionalNodeTypeRegistry)();
36
36
  const { previewNodeConnectionInfo } = (0, external_hooks_index_cjs_namespaceObject.usePreviewNode)();
37
37
  const nodeListOptions = (0, external_react_namespaceObject.useMemo)(()=>{
@@ -75,7 +75,8 @@ const AddNodePanel_AddNodePanel = /*#__PURE__*/ (0, external_react_namespaceObje
75
75
  onItemSelect: handleNodeListItemSelect,
76
76
  onSearch: handleSearch,
77
77
  onClose: onClose,
78
- onItemHover: onNodeHover
78
+ onItemHover: onNodeHover,
79
+ renderEmptyState: renderEmptyState
79
80
  });
80
81
  });
81
82
  exports.AddNodePanel = __webpack_exports__.AddNodePanel;
@@ -1 +1 @@
1
- {"version":3,"file":"AddNodePanel.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodePanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAU9D,eAAO,MAAM,YAAY,yDA2EvB,CAAC"}
1
+ {"version":3,"file":"AddNodePanel.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodePanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAU9D,eAAO,MAAM,YAAY,yDA6EvB,CAAC"}
@@ -3,7 +3,7 @@ import { memo, useCallback, useMemo } from "react";
3
3
  import { useOptionalNodeTypeRegistry } from "../../core/index.js";
4
4
  import { usePreviewNode } from "../../hooks/index.js";
5
5
  import { Toolbox } from "../Toolbox/index.js";
6
- const AddNodePanel_AddNodePanel = /*#__PURE__*/ memo(function({ onNodeSelect, onClose, onSearch, onNodeHover, items, title, loading }) {
6
+ const AddNodePanel_AddNodePanel = /*#__PURE__*/ memo(function({ onNodeSelect, onClose, onSearch, onNodeHover, items, title, loading, renderEmptyState }) {
7
7
  const registry = useOptionalNodeTypeRegistry();
8
8
  const { previewNodeConnectionInfo } = usePreviewNode();
9
9
  const nodeListOptions = useMemo(()=>{
@@ -47,7 +47,8 @@ const AddNodePanel_AddNodePanel = /*#__PURE__*/ memo(function({ onNodeSelect, on
47
47
  onItemSelect: handleNodeListItemSelect,
48
48
  onSearch: handleSearch,
49
49
  onClose: onClose,
50
- onItemHover: onNodeHover
50
+ onItemHover: onNodeHover,
51
+ renderEmptyState: renderEmptyState
51
52
  });
52
53
  });
53
54
  export { AddNodePanel_AddNodePanel as AddNodePanel };
@@ -1,4 +1,4 @@
1
- import type { ListItem } from '../Toolbox';
1
+ import type { ListItem, ToolboxEmptyStateRenderer } from '../Toolbox';
2
2
  export interface NodeItemData {
3
3
  type: string;
4
4
  version?: string;
@@ -12,5 +12,6 @@ export interface AddNodePanelProps {
12
12
  title?: string;
13
13
  items?: ListItem[];
14
14
  loading?: boolean;
15
+ renderEmptyState?: ToolboxEmptyStateRenderer<NodeItemData>;
15
16
  }
16
17
  //# sourceMappingURL=AddNodePanel.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AddNodePanel.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodePanel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,YAAY,EAAE,QAAQ,EAAE,KACrB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"AddNodePanel.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AddNodePanel/AddNodePanel.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,YAAY,EAAE,QAAQ,EAAE,KACrB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IAKf,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAOlB,gBAAgB,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;CAC5D"}
@@ -219,7 +219,7 @@ const ListItemSkeleton = ()=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)
219
219
  })
220
220
  ]
221
221
  });
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) {
222
+ 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
223
  const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
224
224
  const activeSkeleton = loadingSkeleton ?? (isLoading && 0 === items.length ? true : void 0);
225
225
  const renderedItems = (0, external_react_namespaceObject.useMemo)(()=>buildRenderedItems(items, enableSections, activeSkeleton), [
@@ -247,26 +247,29 @@ const ListViewInner = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRe
247
247
  onItemClick,
248
248
  onItemHover
249
249
  ]);
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
- });
250
+ if (0 === renderedItems.length) {
251
+ if (renderEmptyState) return renderEmptyState();
252
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
253
+ align: "center",
254
+ justify: "center",
255
+ flex: 1,
256
+ gap: 10,
257
+ style: {
258
+ minHeight: '250px'
259
+ },
260
+ children: [
261
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_utils_index_cjs_namespaceObject.CanvasIcon, {
262
+ icon: emptyStateIcon,
263
+ size: 48,
264
+ color: "var(--canvas-foreground-de-emp)"
265
+ }),
266
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
267
+ className: "text-xs text-foreground-muted",
268
+ children: emptyStateMessage
269
+ })
270
+ ]
271
+ });
272
+ }
270
273
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ListView_styles_cjs_namespaceObject.StyledList, {
271
274
  id: "toolbox-listbox",
272
275
  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":"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"}
@@ -190,7 +190,7 @@ const ListItemSkeleton = ()=>/*#__PURE__*/ jsxs("div", {
190
190
  })
191
191
  ]
192
192
  });
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) {
193
+ 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
194
  const { isDarkMode } = useCanvasTheme();
195
195
  const activeSkeleton = loadingSkeleton ?? (isLoading && 0 === items.length ? true : void 0);
196
196
  const renderedItems = useMemo(()=>buildRenderedItems(items, enableSections, activeSkeleton), [
@@ -218,26 +218,29 @@ const ListViewInner = /*#__PURE__*/ forwardRef(function({ items, activeIndex = -
218
218
  onItemClick,
219
219
  onItemHover
220
220
  ]);
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
- });
221
+ if (0 === renderedItems.length) {
222
+ if (renderEmptyState) return renderEmptyState();
223
+ return /*#__PURE__*/ jsxs(Column, {
224
+ align: "center",
225
+ justify: "center",
226
+ flex: 1,
227
+ gap: 10,
228
+ style: {
229
+ minHeight: '250px'
230
+ },
231
+ children: [
232
+ /*#__PURE__*/ jsx(CanvasIcon, {
233
+ icon: emptyStateIcon,
234
+ size: 48,
235
+ color: "var(--canvas-foreground-de-emp)"
236
+ }),
237
+ /*#__PURE__*/ jsx("span", {
238
+ className: "text-xs text-foreground-muted",
239
+ children: emptyStateMessage
240
+ })
241
+ ]
242
+ });
243
+ }
241
244
  return /*#__PURE__*/ jsx(StyledList, {
242
245
  id: "toolbox-listbox",
243
246
  role: "listbox",
@@ -81,7 +81,7 @@ function searchLeafItems(items, query) {
81
81
  }
82
82
  return results;
83
83
  }
84
- function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth = false, fullHeight = false, quickActions }) {
84
+ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth = false, fullHeight = false, quickActions, renderEmptyState }) {
85
85
  const [items, setItems] = (0, external_react_namespaceObject.useState)(initialItems);
86
86
  const [search, setSearch] = (0, external_react_namespaceObject.useState)('');
87
87
  const [searchLoading, setSearchLoading] = (0, external_react_namespaceObject.useState)(false);
@@ -108,6 +108,13 @@ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title,
108
108
  const isSearching = (0, external_react_namespaceObject.useMemo)(()=>search.length > 0, [
109
109
  search
110
110
  ]);
111
+ const wrappedRenderEmptyState = (0, external_react_namespaceObject.useMemo)(()=>renderEmptyState && !isSearching ? ()=>renderEmptyState({
112
+ currentCategory: currentParentItem ?? void 0
113
+ }) : void 0, [
114
+ renderEmptyState,
115
+ isSearching,
116
+ currentParentItem
117
+ ]);
111
118
  const displayedItems = (0, external_react_namespaceObject.useMemo)(()=>isSearching && !isSearchingInitialItems ? searchedItems : items, [
112
119
  isSearching,
113
120
  isSearchingInitialItems,
@@ -455,6 +462,7 @@ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title,
455
462
  activeIndex: activeIndex,
456
463
  listRef: listRef,
457
464
  emptyStateMessage: isSearching ? 'No matching nodes found' : 'No nodes found',
465
+ renderEmptyState: wrappedRenderEmptyState,
458
466
  onItemClick: handleItemSelect,
459
467
  onItemHover: onItemHover,
460
468
  onScroll: handleListScroll,
@@ -1,5 +1,8 @@
1
1
  import { type ListItem } from './ListView';
2
2
  import { type ToolboxQuickAction } from './QuickActionsRow';
3
+ export type ToolboxEmptyStateRenderer<T = any> = (ctx: {
4
+ currentCategory?: ListItem<T>;
5
+ }) => React.ReactElement | null;
3
6
  export type ToolboxSearchHandler<T = any> = (query: string, isTopLevelSearch: boolean, { currentItems, category }: {
4
7
  currentItems?: ListItem<T>[];
5
8
  category?: string;
@@ -16,6 +19,7 @@ export interface ToolboxProps<T> {
16
19
  onBack?: () => void;
17
20
  onSearch?: ToolboxSearchHandler<T>;
18
21
  quickActions?: ToolboxQuickAction[];
22
+ renderEmptyState?: ToolboxEmptyStateRenderer<T>;
19
23
  }
20
- export declare function Toolbox<T>({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth, fullHeight, quickActions, }: ToolboxProps<T>): import("react/jsx-runtime").JSX.Element;
24
+ export declare function Toolbox<T>({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth, fullHeight, quickActions, renderEmptyState, }: ToolboxProps<T>): import("react/jsx-runtime").JSX.Element;
21
25
  //# sourceMappingURL=Toolbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbox.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/Toolbox.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,QAAQ,EAAkD,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAwC7E,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,GAAG,IAAI,CAC1C,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;IAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5E,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE5B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAOnC,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACrC;AAgDD,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACzB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,SAAiB,EACjB,UAAkB,EAClB,YAAY,GACb,EAAE,YAAY,CAAC,CAAC,CAAC,2CA+fjB"}
1
+ {"version":3,"file":"Toolbox.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/Toolbox.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,QAAQ,EAAkD,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA+C7E,MAAM,MAAM,yBAAyB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IACrD,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CAC/B,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAEhC,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,GAAG,IAAI,CAC1C,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;IAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5E,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE5B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAOnC,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAOpC,gBAAgB,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;CACjD;AAgDD,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACzB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,SAAiB,EACjB,UAAkB,EAClB,YAAY,EACZ,gBAAgB,GACjB,EAAE,YAAY,CAAC,CAAC,CAAC,2CA4gBjB"}
@@ -53,7 +53,7 @@ function searchLeafItems(items, query) {
53
53
  }
54
54
  return results;
55
55
  }
56
- function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth = false, fullHeight = false, quickActions }) {
56
+ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth = false, fullHeight = false, quickActions, renderEmptyState }) {
57
57
  const [items, setItems] = useState(initialItems);
58
58
  const [search, setSearch] = useState('');
59
59
  const [searchLoading, setSearchLoading] = useState(false);
@@ -80,6 +80,13 @@ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title,
80
80
  const isSearching = useMemo(()=>search.length > 0, [
81
81
  search
82
82
  ]);
83
+ const wrappedRenderEmptyState = useMemo(()=>renderEmptyState && !isSearching ? ()=>renderEmptyState({
84
+ currentCategory: currentParentItem ?? void 0
85
+ }) : void 0, [
86
+ renderEmptyState,
87
+ isSearching,
88
+ currentParentItem
89
+ ]);
83
90
  const displayedItems = useMemo(()=>isSearching && !isSearchingInitialItems ? searchedItems : items, [
84
91
  isSearching,
85
92
  isSearchingInitialItems,
@@ -427,6 +434,7 @@ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title,
427
434
  activeIndex: activeIndex,
428
435
  listRef: listRef,
429
436
  emptyStateMessage: isSearching ? 'No matching nodes found' : 'No nodes found',
437
+ renderEmptyState: wrappedRenderEmptyState,
430
438
  onItemClick: handleItemSelect,
431
439
  onItemHover: onItemHover,
432
440
  onScroll: handleListScroll,