@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.
- package/dist/canvas/components/AddNodePanel/AddNodePanel.cjs +3 -2
- package/dist/canvas/components/AddNodePanel/AddNodePanel.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodePanel.js +3 -2
- package/dist/canvas/components/AddNodePanel/AddNodePanel.types.d.ts +2 -1
- package/dist/canvas/components/AddNodePanel/AddNodePanel.types.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/ListView.cjs +24 -21
- package/dist/canvas/components/Toolbox/ListView.d.ts +1 -0
- package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/ListView.js +24 -21
- package/dist/canvas/components/Toolbox/Toolbox.cjs +9 -1
- package/dist/canvas/components/Toolbox/Toolbox.d.ts +5 -1
- package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/Toolbox.js +9 -1
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/material/components/ap-chat/locales/de.cjs +1 -1
- package/dist/material/components/ap-chat/locales/de.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/de.js +1 -1
- package/dist/material/components/ap-chat/locales/es-MX.cjs +1 -1
- package/dist/material/components/ap-chat/locales/es-MX.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/es-MX.js +1 -1
- package/dist/material/components/ap-chat/locales/es.cjs +1 -1
- package/dist/material/components/ap-chat/locales/es.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/es.js +1 -1
- package/dist/material/components/ap-chat/locales/fr.cjs +1 -1
- package/dist/material/components/ap-chat/locales/fr.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/fr.js +1 -1
- package/dist/material/components/ap-chat/locales/ja.cjs +1 -1
- package/dist/material/components/ap-chat/locales/ja.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/ja.js +1 -1
- package/dist/material/components/ap-chat/locales/ko.cjs +1 -1
- package/dist/material/components/ap-chat/locales/ko.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/ko.js +1 -1
- package/dist/material/components/ap-chat/locales/pt-BR.cjs +1 -1
- package/dist/material/components/ap-chat/locales/pt-BR.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/pt-BR.js +1 -1
- package/dist/material/components/ap-chat/locales/pt.cjs +1 -1
- package/dist/material/components/ap-chat/locales/pt.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/pt.js +1 -1
- package/dist/material/components/ap-chat/locales/tr.cjs +1 -1
- package/dist/material/components/ap-chat/locales/tr.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/tr.js +1 -1
- package/dist/material/components/ap-chat/locales/zh-CN.cjs +1 -1
- package/dist/material/components/ap-chat/locales/zh-CN.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/zh-CN.js +1 -1
- package/dist/material/components/ap-chat/locales/zh-TW.cjs +1 -1
- package/dist/material/components/ap-chat/locales/zh-TW.d.ts.map +1 -1
- package/dist/material/components/ap-chat/locales/zh-TW.js +1 -1
- 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,
|
|
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;
|
|
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)
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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)
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
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;
|
|
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,
|