@uipath/apollo-react 4.20.0-pr644.f72be25 → 4.21.0-pr644.9f93a11
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/AgentCanvas/agent-flow.manifest.d.ts +3 -2
- package/dist/canvas/components/AgentCanvas/agent-flow.manifest.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.cjs +12 -3
- package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.js +12 -3
- package/dist/canvas/components/BaseNode/BaseNode.types.d.ts +1 -0
- package/dist/canvas/components/BaseNode/BaseNode.types.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/ListView.cjs +28 -32
- 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 +28 -32
- package/dist/canvas/components/Toolbox/ListView.styles.cjs +0 -18
- package/dist/canvas/components/Toolbox/ListView.styles.d.ts +0 -4
- package/dist/canvas/components/Toolbox/ListView.styles.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/ListView.styles.js +1 -16
- 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/components/index.cjs +19 -12
- package/dist/canvas/components/index.d.ts +1 -0
- package/dist/canvas/components/index.d.ts.map +1 -1
- package/dist/canvas/components/index.js +1 -0
- package/dist/canvas/components/shared/InitialsBadge.cjs +83 -0
- package/dist/canvas/components/shared/InitialsBadge.d.ts +8 -0
- package/dist/canvas/components/shared/InitialsBadge.d.ts.map +1 -0
- package/dist/canvas/components/shared/InitialsBadge.js +36 -0
- package/dist/canvas/components/shared/index.cjs +39 -0
- package/dist/canvas/components/shared/index.d.ts +3 -0
- package/dist/canvas/components/shared/index.d.ts.map +1 -0
- package/dist/canvas/components/shared/index.js +2 -0
- package/dist/canvas/core/CategoryTree.cjs +3 -0
- package/dist/canvas/core/CategoryTree.d.ts.map +1 -1
- package/dist/canvas/core/CategoryTree.js +3 -0
- package/dist/canvas/core/NodeTypeRegistry.cjs +3 -1
- package/dist/canvas/core/NodeTypeRegistry.d.ts.map +1 -1
- package/dist/canvas/core/NodeTypeRegistry.js +3 -1
- package/dist/canvas/schema/node-definition/category-manifest.cjs +1 -1
- package/dist/canvas/schema/node-definition/category-manifest.d.ts +1 -1
- package/dist/canvas/schema/node-definition/category-manifest.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/category-manifest.js +1 -1
- package/dist/canvas/schema/node-definition/node-manifest.cjs +2 -1
- package/dist/canvas/schema/node-definition/node-manifest.d.ts +4 -2
- package/dist/canvas/schema/node-definition/node-manifest.d.ts.map +1 -1
- package/dist/canvas/schema/node-definition/node-manifest.js +2 -1
- package/dist/canvas/schema/node-instance/base.cjs +1 -0
- package/dist/canvas/schema/node-instance/base.d.ts +1 -0
- package/dist/canvas/schema/node-instance/base.d.ts.map +1 -1
- package/dist/canvas/schema/node-instance/base.js +1 -0
- package/dist/canvas/schema/node-instance/node.d.ts +1 -0
- package/dist/canvas/schema/node-instance/node.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/index.d.ts +3 -2
- package/dist/canvas/storybook-utils/manifests/index.d.ts.map +1 -1
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/canvas/utils/icon-registry.cjs +8 -0
- package/dist/canvas/utils/icon-registry.d.ts +1 -1
- package/dist/canvas/utils/icon-registry.d.ts.map +1 -1
- package/dist/canvas/utils/icon-registry.js +8 -0
- package/dist/canvas/utils/manifest-resolver.cjs +3 -1
- package/dist/canvas/utils/manifest-resolver.d.ts +1 -1
- package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
- package/dist/canvas/utils/manifest-resolver.js +3 -1
- package/package.json +3 -3
|
@@ -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"}
|
|
@@ -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,8 +27,9 @@ export declare const agentFlowManifest: {
|
|
|
27
27
|
sortOrder: number;
|
|
28
28
|
display: {
|
|
29
29
|
label: string;
|
|
30
|
-
|
|
30
|
+
canvasLabel?: string | undefined;
|
|
31
31
|
description?: string | undefined;
|
|
32
|
+
icon?: string | undefined;
|
|
32
33
|
shape?: "square" | "circle" | "container" | "rectangle" | undefined;
|
|
33
34
|
color?: string | undefined;
|
|
34
35
|
background?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-flow.manifest.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AgentCanvas/agent-flow.manifest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMnF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAmBjD,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,YAsDzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAqDrC,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,YAwBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAwBlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,YAwBxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAwBpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAMF,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"agent-flow.manifest.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/AgentCanvas/agent-flow.manifest.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMnF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAmBjD,CAAC;AAMF,eAAO,MAAM,2BAA2B,EAAE,YAsDzC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,YAqDrC,CAAC;AAMF,eAAO,MAAM,uBAAuB,EAAE,YAwBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAwBlC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,YAwBxC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAwBpC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAwBjC,CAAC;AAMF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAa7B,CAAC"}
|
|
@@ -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,19 @@ 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
|
-
|
|
128
|
-
|
|
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
|
+
"data-testid": "base-node-initials-badge"
|
|
136
|
+
});
|
|
129
137
|
}, [
|
|
130
138
|
iconComponent,
|
|
131
|
-
display.icon
|
|
139
|
+
display.icon,
|
|
140
|
+
display.label
|
|
132
141
|
]);
|
|
133
142
|
const handleConfigurations = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
134
143
|
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;
|
|
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;AAsoB1B,eAAO,MAAM,QAAQ,8CAhmBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAgmBhB,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,19 @@ 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
|
-
|
|
100
|
-
|
|
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
|
+
"data-testid": "base-node-initials-badge"
|
|
108
|
+
});
|
|
101
109
|
}, [
|
|
102
110
|
iconComponent,
|
|
103
|
-
display.icon
|
|
111
|
+
display.icon,
|
|
112
|
+
display.label
|
|
104
113
|
]);
|
|
105
114
|
const handleConfigurations = useMemo(()=>{
|
|
106
115
|
if (handleConfigurationsProp && Array.isArray(handleConfigurationsProp)) return handleConfigurationsProp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QAMf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;IAM1B,WAAW,CAAC,EAAE,OAAO,CAAC;IAOtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
|
|
@@ -34,15 +34,9 @@ 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
|
-
function getInitial(name) {
|
|
40
|
-
const trimmed = name.trim();
|
|
41
|
-
if (!trimmed) return '?';
|
|
42
|
-
return [
|
|
43
|
-
...trimmed
|
|
44
|
-
][0] ?? '?';
|
|
45
|
-
}
|
|
46
40
|
function buildRenderedItems(items, enableSections, loadingSkeleton) {
|
|
47
41
|
const result = [];
|
|
48
42
|
const skeletonConfig = 'object' == typeof loadingSkeleton ? loadingSkeleton : loadingSkeleton ? {} : void 0;
|
|
@@ -170,10 +164,9 @@ const ListViewRow = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(({ in
|
|
|
170
164
|
size: 24
|
|
171
165
|
}),
|
|
172
166
|
item.icon?.Component && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(item.icon.Component, {}),
|
|
173
|
-
!item.icon?.url && !item.icon?.name && !item.icon?.Component && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(
|
|
174
|
-
|
|
175
|
-
"data-testid": "list-item-initials-badge"
|
|
176
|
-
children: getInitial(item.name)
|
|
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"
|
|
177
170
|
})
|
|
178
171
|
]
|
|
179
172
|
}),
|
|
@@ -231,7 +224,7 @@ const ListItemSkeleton = ()=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)
|
|
|
231
224
|
})
|
|
232
225
|
]
|
|
233
226
|
});
|
|
234
|
-
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) {
|
|
235
228
|
const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
|
|
236
229
|
const activeSkeleton = loadingSkeleton ?? (isLoading && 0 === items.length ? true : void 0);
|
|
237
230
|
const renderedItems = (0, external_react_namespaceObject.useMemo)(()=>buildRenderedItems(items, enableSections, activeSkeleton), [
|
|
@@ -259,26 +252,29 @@ const ListViewInner = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRe
|
|
|
259
252
|
onItemClick,
|
|
260
253
|
onItemHover
|
|
261
254
|
]);
|
|
262
|
-
if (0 === renderedItems.length)
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
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
|
+
}
|
|
282
278
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ListView_styles_cjs_namespaceObject.StyledList, {
|
|
283
279
|
id: "toolbox-listbox",
|
|
284
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":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/ListView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,9 @@ 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 {
|
|
8
|
+
import { InitialsBadge } from "../shared/InitialsBadge.js";
|
|
9
|
+
import { IconContainer, ListItemButton, SectionHeader, StyledList } from "./ListView.styles.js";
|
|
9
10
|
const DEFAULT_SKELETON_COUNT = 3;
|
|
10
|
-
function getInitial(name) {
|
|
11
|
-
const trimmed = name.trim();
|
|
12
|
-
if (!trimmed) return '?';
|
|
13
|
-
return [
|
|
14
|
-
...trimmed
|
|
15
|
-
][0] ?? '?';
|
|
16
|
-
}
|
|
17
11
|
function buildRenderedItems(items, enableSections, loadingSkeleton) {
|
|
18
12
|
const result = [];
|
|
19
13
|
const skeletonConfig = 'object' == typeof loadingSkeleton ? loadingSkeleton : loadingSkeleton ? {} : void 0;
|
|
@@ -142,9 +136,8 @@ const ListViewRow = /*#__PURE__*/ memo(({ index, style, ariaAttributes, rendered
|
|
|
142
136
|
}),
|
|
143
137
|
item.icon?.Component && /*#__PURE__*/ jsx(item.icon.Component, {}),
|
|
144
138
|
!item.icon?.url && !item.icon?.name && !item.icon?.Component && /*#__PURE__*/ jsx(InitialsBadge, {
|
|
145
|
-
|
|
146
|
-
"data-testid": "list-item-initials-badge"
|
|
147
|
-
children: getInitial(item.name)
|
|
139
|
+
name: item.name,
|
|
140
|
+
"data-testid": "list-item-initials-badge"
|
|
148
141
|
})
|
|
149
142
|
]
|
|
150
143
|
}),
|
|
@@ -202,7 +195,7 @@ const ListItemSkeleton = ()=>/*#__PURE__*/ jsxs("div", {
|
|
|
202
195
|
})
|
|
203
196
|
]
|
|
204
197
|
});
|
|
205
|
-
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) {
|
|
206
199
|
const { isDarkMode } = useCanvasTheme();
|
|
207
200
|
const activeSkeleton = loadingSkeleton ?? (isLoading && 0 === items.length ? true : void 0);
|
|
208
201
|
const renderedItems = useMemo(()=>buildRenderedItems(items, enableSections, activeSkeleton), [
|
|
@@ -230,26 +223,29 @@ const ListViewInner = /*#__PURE__*/ forwardRef(function({ items, activeIndex = -
|
|
|
230
223
|
onItemClick,
|
|
231
224
|
onItemHover
|
|
232
225
|
]);
|
|
233
|
-
if (0 === renderedItems.length)
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
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
|
+
}
|
|
253
249
|
return /*#__PURE__*/ jsx(StyledList, {
|
|
254
250
|
id: "toolbox-listbox",
|
|
255
251
|
role: "listbox",
|
|
@@ -33,7 +33,6 @@ var __webpack_require__ = {};
|
|
|
33
33
|
var __webpack_exports__ = {};
|
|
34
34
|
__webpack_require__.r(__webpack_exports__);
|
|
35
35
|
__webpack_require__.d(__webpack_exports__, {
|
|
36
|
-
InitialsBadge: ()=>InitialsBadge,
|
|
37
36
|
IconContainer: ()=>IconContainer,
|
|
38
37
|
StyledList: ()=>StyledList,
|
|
39
38
|
SectionHeader: ()=>SectionHeader,
|
|
@@ -93,21 +92,6 @@ const IconContainer = styled_default().div`
|
|
|
93
92
|
// Icons should show below the inset outline
|
|
94
93
|
z-index: -1;
|
|
95
94
|
`;
|
|
96
|
-
const InitialsBadge = styled_default().span`
|
|
97
|
-
display: flex;
|
|
98
|
-
width: 24px;
|
|
99
|
-
height: 24px;
|
|
100
|
-
align-items: center;
|
|
101
|
-
justify-content: center;
|
|
102
|
-
border-radius: 50%;
|
|
103
|
-
background: var(--canvas-primary);
|
|
104
|
-
color: #ffffff;
|
|
105
|
-
font-size: 12px;
|
|
106
|
-
font-weight: 800;
|
|
107
|
-
line-height: 1;
|
|
108
|
-
text-transform: uppercase;
|
|
109
|
-
user-select: none;
|
|
110
|
-
`;
|
|
111
95
|
const StyledList = styled_default()(external_react_window_namespaceObject.List)`
|
|
112
96
|
&::-webkit-scrollbar {
|
|
113
97
|
width: 6px;
|
|
@@ -144,13 +128,11 @@ const StyledList = styled_default()(external_react_window_namespaceObject.List)`
|
|
|
144
128
|
}
|
|
145
129
|
`;
|
|
146
130
|
exports.IconContainer = __webpack_exports__.IconContainer;
|
|
147
|
-
exports.InitialsBadge = __webpack_exports__.InitialsBadge;
|
|
148
131
|
exports.ListItemButton = __webpack_exports__.ListItemButton;
|
|
149
132
|
exports.SectionHeader = __webpack_exports__.SectionHeader;
|
|
150
133
|
exports.StyledList = __webpack_exports__.StyledList;
|
|
151
134
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
152
135
|
"IconContainer",
|
|
153
|
-
"InitialsBadge",
|
|
154
136
|
"ListItemButton",
|
|
155
137
|
"SectionHeader",
|
|
156
138
|
"StyledList"
|
|
@@ -12,9 +12,5 @@ export declare const IconContainer: import("@emotion/styled").StyledComponent<{
|
|
|
12
12
|
} & {
|
|
13
13
|
bgColor?: string;
|
|
14
14
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
15
|
-
export declare const InitialsBadge: import("@emotion/styled").StyledComponent<{
|
|
16
|
-
theme?: import("@emotion/react").Theme;
|
|
17
|
-
as?: React.ElementType;
|
|
18
|
-
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
|
|
19
15
|
export declare const StyledList: typeof List;
|
|
20
16
|
//# sourceMappingURL=ListView.styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListView.styles.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/ListView.styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,eAAO,MAAM,aAAa;;;yGAazB,CAAC;AAEF,eAAO,MAAM,cAAc;;UAqB1B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;cAA0B,MAAM;yGAazD,CAAC;
|
|
1
|
+
{"version":3,"file":"ListView.styles.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/ListView.styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,eAAO,MAAM,aAAa;;;yGAazB,CAAC;AAEF,eAAO,MAAM,cAAc;;UAqB1B,CAAC;AAEF,eAAO,MAAM,aAAa;;;;cAA0B,MAAM;yGAazD,CAAC;AAEF,eAAO,MAAM,UAAU,EAkClB,OAAO,IAAI,CAAC"}
|
|
@@ -51,21 +51,6 @@ const IconContainer = styled.div`
|
|
|
51
51
|
// Icons should show below the inset outline
|
|
52
52
|
z-index: -1;
|
|
53
53
|
`;
|
|
54
|
-
const InitialsBadge = styled.span`
|
|
55
|
-
display: flex;
|
|
56
|
-
width: 24px;
|
|
57
|
-
height: 24px;
|
|
58
|
-
align-items: center;
|
|
59
|
-
justify-content: center;
|
|
60
|
-
border-radius: 50%;
|
|
61
|
-
background: var(--canvas-primary);
|
|
62
|
-
color: #ffffff;
|
|
63
|
-
font-size: 12px;
|
|
64
|
-
font-weight: 800;
|
|
65
|
-
line-height: 1;
|
|
66
|
-
text-transform: uppercase;
|
|
67
|
-
user-select: none;
|
|
68
|
-
`;
|
|
69
54
|
const StyledList = styled(List)`
|
|
70
55
|
&::-webkit-scrollbar {
|
|
71
56
|
width: 6px;
|
|
@@ -101,4 +86,4 @@ const StyledList = styled(List)`
|
|
|
101
86
|
}
|
|
102
87
|
}
|
|
103
88
|
`;
|
|
104
|
-
export { IconContainer,
|
|
89
|
+
export { IconContainer, ListItemButton, SectionHeader, StyledList };
|
|
@@ -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,
|