@uipath/apollo-react 4.20.0-pr644.8243dcd → 4.20.0-pr644.db0028b
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 +2 -3
- package/dist/canvas/components/AddNodePanel/AddNodePanel.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodePanel.js +2 -3
- package/dist/canvas/components/AddNodePanel/AddNodePanel.types.d.ts +1 -2
- package/dist/canvas/components/AddNodePanel/AddNodePanel.types.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.cjs +3 -12
- package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.js +3 -12
- package/dist/canvas/components/Toolbox/ListView.cjs +32 -28
- package/dist/canvas/components/Toolbox/ListView.d.ts +0 -1
- package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/ListView.js +32 -28
- package/dist/canvas/components/Toolbox/ListView.styles.cjs +18 -0
- package/dist/canvas/components/Toolbox/ListView.styles.d.ts +4 -0
- package/dist/canvas/components/Toolbox/ListView.styles.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/ListView.styles.js +16 -1
- package/dist/canvas/components/Toolbox/Toolbox.cjs +1 -9
- package/dist/canvas/components/Toolbox/Toolbox.d.ts +1 -5
- package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/Toolbox.js +1 -9
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- 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 +2 -2
- package/dist/canvas/components/shared/InitialsBadge.cjs +0 -83
- package/dist/canvas/components/shared/InitialsBadge.d.ts +0 -8
- package/dist/canvas/components/shared/InitialsBadge.d.ts.map +0 -1
- package/dist/canvas/components/shared/InitialsBadge.js +0 -36
|
@@ -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 }) {
|
|
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,8 +75,7 @@ const AddNodePanel_AddNodePanel = /*#__PURE__*/ (0, external_react_namespaceObje
|
|
|
75
75
|
onItemSelect: handleNodeListItemSelect,
|
|
76
76
|
onSearch: handleSearch,
|
|
77
77
|
onClose: onClose,
|
|
78
|
-
onItemHover: onNodeHover
|
|
79
|
-
renderEmptyState: renderEmptyState
|
|
78
|
+
onItemHover: onNodeHover
|
|
80
79
|
});
|
|
81
80
|
});
|
|
82
81
|
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,yDA2EvB,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 }) {
|
|
7
7
|
const registry = useOptionalNodeTypeRegistry();
|
|
8
8
|
const { previewNodeConnectionInfo } = usePreviewNode();
|
|
9
9
|
const nodeListOptions = useMemo(()=>{
|
|
@@ -47,8 +47,7 @@ const AddNodePanel_AddNodePanel = /*#__PURE__*/ memo(function({ onNodeSelect, on
|
|
|
47
47
|
onItemSelect: handleNodeListItemSelect,
|
|
48
48
|
onSearch: handleSearch,
|
|
49
49
|
onClose: onClose,
|
|
50
|
-
onItemHover: onNodeHover
|
|
51
|
-
renderEmptyState: renderEmptyState
|
|
50
|
+
onItemHover: onNodeHover
|
|
52
51
|
});
|
|
53
52
|
});
|
|
54
53
|
export { AddNodePanel_AddNodePanel as AddNodePanel };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ListItem
|
|
1
|
+
import type { ListItem } from '../Toolbox';
|
|
2
2
|
export interface NodeItemData {
|
|
3
3
|
type: string;
|
|
4
4
|
version?: string;
|
|
@@ -12,6 +12,5 @@ export interface AddNodePanelProps {
|
|
|
12
12
|
title?: string;
|
|
13
13
|
items?: ListItem[];
|
|
14
14
|
loading?: boolean;
|
|
15
|
-
renderEmptyState?: ToolboxEmptyStateRenderer<NodeItemData>;
|
|
16
15
|
}
|
|
17
16
|
//# 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,
|
|
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"}
|
|
@@ -43,7 +43,6 @@ 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");
|
|
47
46
|
const external_Toolbar_index_cjs_namespaceObject = require("../Toolbar/index.cjs");
|
|
48
47
|
const external_BaseNodeBadgeSlot_cjs_namespaceObject = require("./BaseNodeBadgeSlot.cjs");
|
|
49
48
|
const external_BaseNodeConfigContext_cjs_namespaceObject = require("./BaseNodeConfigContext.cjs");
|
|
@@ -125,19 +124,11 @@ const BaseNodeComponent = (props)=>{
|
|
|
125
124
|
const isStacked = Boolean(manifest?.drillable || data?.isCollapsed);
|
|
126
125
|
const Icon = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
127
126
|
if (void 0 !== iconComponent) return iconComponent;
|
|
128
|
-
|
|
129
|
-
|
|
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
|
-
});
|
|
127
|
+
const IconComponent = (0, icon_registry_cjs_namespaceObject.getIcon)(display.icon);
|
|
128
|
+
return IconComponent ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(IconComponent, {}) : null;
|
|
137
129
|
}, [
|
|
138
130
|
iconComponent,
|
|
139
|
-
display.icon
|
|
140
|
-
display.label
|
|
131
|
+
display.icon
|
|
141
132
|
]);
|
|
142
133
|
const handleConfigurations = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
143
134
|
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;AAuChF,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAynB1B,eAAO,MAAM,QAAQ,8CAnlBa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CAmlBhB,CAAC"}
|
|
@@ -15,7 +15,6 @@ 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";
|
|
19
18
|
import { NodeToolbar } from "../Toolbar/index.js";
|
|
20
19
|
import { BaseBadgeSlot } from "./BaseNodeBadgeSlot.js";
|
|
21
20
|
import { useBaseNodeOverrideConfig } from "./BaseNodeConfigContext.js";
|
|
@@ -97,19 +96,11 @@ const BaseNodeComponent = (props)=>{
|
|
|
97
96
|
const isStacked = Boolean(manifest?.drillable || data?.isCollapsed);
|
|
98
97
|
const Icon = useMemo(()=>{
|
|
99
98
|
if (void 0 !== iconComponent) return iconComponent;
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
});
|
|
99
|
+
const IconComponent = getIcon(display.icon);
|
|
100
|
+
return IconComponent ? /*#__PURE__*/ jsx(IconComponent, {}) : null;
|
|
109
101
|
}, [
|
|
110
102
|
iconComponent,
|
|
111
|
-
display.icon
|
|
112
|
-
display.label
|
|
103
|
+
display.icon
|
|
113
104
|
]);
|
|
114
105
|
const handleConfigurations = useMemo(()=>{
|
|
115
106
|
if (handleConfigurationsProp && Array.isArray(handleConfigurationsProp)) return handleConfigurationsProp;
|
|
@@ -34,9 +34,15 @@ 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");
|
|
38
37
|
const external_ListView_styles_cjs_namespaceObject = require("./ListView.styles.cjs");
|
|
39
38
|
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
|
+
}
|
|
40
46
|
function buildRenderedItems(items, enableSections, loadingSkeleton) {
|
|
41
47
|
const result = [];
|
|
42
48
|
const skeletonConfig = 'object' == typeof loadingSkeleton ? loadingSkeleton : loadingSkeleton ? {} : void 0;
|
|
@@ -164,9 +170,10 @@ const ListViewRow = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(({ in
|
|
|
164
170
|
size: 24
|
|
165
171
|
}),
|
|
166
172
|
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)(
|
|
168
|
-
|
|
169
|
-
"data-testid": "list-item-initials-badge"
|
|
173
|
+
!item.icon?.url && !item.icon?.name && !item.icon?.Component && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ListView_styles_cjs_namespaceObject.InitialsBadge, {
|
|
174
|
+
"aria-hidden": "true",
|
|
175
|
+
"data-testid": "list-item-initials-badge",
|
|
176
|
+
children: getInitial(item.name)
|
|
170
177
|
})
|
|
171
178
|
]
|
|
172
179
|
}),
|
|
@@ -224,7 +231,7 @@ const ListItemSkeleton = ()=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)
|
|
|
224
231
|
})
|
|
225
232
|
]
|
|
226
233
|
});
|
|
227
|
-
const ListViewInner = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(function({ items, activeIndex = -1, listRef, onItemClick, onItemHover, onScroll, emptyStateMessage = 'No items found', emptyStateIcon = 'search-x',
|
|
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) {
|
|
228
235
|
const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
|
|
229
236
|
const activeSkeleton = loadingSkeleton ?? (isLoading && 0 === items.length ? true : void 0);
|
|
230
237
|
const renderedItems = (0, external_react_namespaceObject.useMemo)(()=>buildRenderedItems(items, enableSections, activeSkeleton), [
|
|
@@ -252,29 +259,26 @@ const ListViewInner = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRe
|
|
|
252
259
|
onItemClick,
|
|
253
260
|
onItemHover
|
|
254
261
|
]);
|
|
255
|
-
if (0 === renderedItems.length) {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
]
|
|
276
|
-
});
|
|
277
|
-
}
|
|
262
|
+
if (0 === renderedItems.length) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
|
|
263
|
+
align: "center",
|
|
264
|
+
justify: "center",
|
|
265
|
+
flex: 1,
|
|
266
|
+
gap: 10,
|
|
267
|
+
style: {
|
|
268
|
+
minHeight: '250px'
|
|
269
|
+
},
|
|
270
|
+
children: [
|
|
271
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_utils_index_cjs_namespaceObject.CanvasIcon, {
|
|
272
|
+
icon: emptyStateIcon,
|
|
273
|
+
size: 48,
|
|
274
|
+
color: "var(--canvas-foreground-de-emp)"
|
|
275
|
+
}),
|
|
276
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
277
|
+
className: "text-xs text-foreground-muted",
|
|
278
|
+
children: emptyStateMessage
|
|
279
|
+
})
|
|
280
|
+
]
|
|
281
|
+
});
|
|
278
282
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ListView_styles_cjs_namespaceObject.StyledList, {
|
|
279
283
|
id: "toolbox-listbox",
|
|
280
284
|
role: "listbox",
|
|
@@ -53,7 +53,6 @@ interface ListViewProps<T extends ListItem> {
|
|
|
53
53
|
onScroll?: React.UIEventHandler<HTMLDivElement>;
|
|
54
54
|
emptyStateMessage?: string;
|
|
55
55
|
emptyStateIcon?: string;
|
|
56
|
-
renderEmptyState?: () => React.ReactElement | null;
|
|
57
56
|
isLoading?: boolean;
|
|
58
57
|
enableSections?: boolean;
|
|
59
58
|
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,9 +5,15 @@ 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 "
|
|
9
|
-
import { IconContainer, ListItemButton, SectionHeader, StyledList } from "./ListView.styles.js";
|
|
8
|
+
import { IconContainer, InitialsBadge, ListItemButton, SectionHeader, StyledList } from "./ListView.styles.js";
|
|
10
9
|
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
|
+
}
|
|
11
17
|
function buildRenderedItems(items, enableSections, loadingSkeleton) {
|
|
12
18
|
const result = [];
|
|
13
19
|
const skeletonConfig = 'object' == typeof loadingSkeleton ? loadingSkeleton : loadingSkeleton ? {} : void 0;
|
|
@@ -136,8 +142,9 @@ const ListViewRow = /*#__PURE__*/ memo(({ index, style, ariaAttributes, rendered
|
|
|
136
142
|
}),
|
|
137
143
|
item.icon?.Component && /*#__PURE__*/ jsx(item.icon.Component, {}),
|
|
138
144
|
!item.icon?.url && !item.icon?.name && !item.icon?.Component && /*#__PURE__*/ jsx(InitialsBadge, {
|
|
139
|
-
|
|
140
|
-
"data-testid": "list-item-initials-badge"
|
|
145
|
+
"aria-hidden": "true",
|
|
146
|
+
"data-testid": "list-item-initials-badge",
|
|
147
|
+
children: getInitial(item.name)
|
|
141
148
|
})
|
|
142
149
|
]
|
|
143
150
|
}),
|
|
@@ -195,7 +202,7 @@ const ListItemSkeleton = ()=>/*#__PURE__*/ jsxs("div", {
|
|
|
195
202
|
})
|
|
196
203
|
]
|
|
197
204
|
});
|
|
198
|
-
const ListViewInner = /*#__PURE__*/ forwardRef(function({ items, activeIndex = -1, listRef, onItemClick, onItemHover, onScroll, emptyStateMessage = 'No items found', emptyStateIcon = 'search-x',
|
|
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) {
|
|
199
206
|
const { isDarkMode } = useCanvasTheme();
|
|
200
207
|
const activeSkeleton = loadingSkeleton ?? (isLoading && 0 === items.length ? true : void 0);
|
|
201
208
|
const renderedItems = useMemo(()=>buildRenderedItems(items, enableSections, activeSkeleton), [
|
|
@@ -223,29 +230,26 @@ const ListViewInner = /*#__PURE__*/ forwardRef(function({ items, activeIndex = -
|
|
|
223
230
|
onItemClick,
|
|
224
231
|
onItemHover
|
|
225
232
|
]);
|
|
226
|
-
if (0 === renderedItems.length) {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
]
|
|
247
|
-
});
|
|
248
|
-
}
|
|
233
|
+
if (0 === renderedItems.length) return /*#__PURE__*/ jsxs(Column, {
|
|
234
|
+
align: "center",
|
|
235
|
+
justify: "center",
|
|
236
|
+
flex: 1,
|
|
237
|
+
gap: 10,
|
|
238
|
+
style: {
|
|
239
|
+
minHeight: '250px'
|
|
240
|
+
},
|
|
241
|
+
children: [
|
|
242
|
+
/*#__PURE__*/ jsx(CanvasIcon, {
|
|
243
|
+
icon: emptyStateIcon,
|
|
244
|
+
size: 48,
|
|
245
|
+
color: "var(--canvas-foreground-de-emp)"
|
|
246
|
+
}),
|
|
247
|
+
/*#__PURE__*/ jsx("span", {
|
|
248
|
+
className: "text-xs text-foreground-muted",
|
|
249
|
+
children: emptyStateMessage
|
|
250
|
+
})
|
|
251
|
+
]
|
|
252
|
+
});
|
|
249
253
|
return /*#__PURE__*/ jsx(StyledList, {
|
|
250
254
|
id: "toolbox-listbox",
|
|
251
255
|
role: "listbox",
|
|
@@ -33,6 +33,7 @@ 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,
|
|
36
37
|
IconContainer: ()=>IconContainer,
|
|
37
38
|
StyledList: ()=>StyledList,
|
|
38
39
|
SectionHeader: ()=>SectionHeader,
|
|
@@ -92,6 +93,21 @@ const IconContainer = styled_default().div`
|
|
|
92
93
|
// Icons should show below the inset outline
|
|
93
94
|
z-index: -1;
|
|
94
95
|
`;
|
|
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
|
+
`;
|
|
95
111
|
const StyledList = styled_default()(external_react_window_namespaceObject.List)`
|
|
96
112
|
&::-webkit-scrollbar {
|
|
97
113
|
width: 6px;
|
|
@@ -128,11 +144,13 @@ const StyledList = styled_default()(external_react_window_namespaceObject.List)`
|
|
|
128
144
|
}
|
|
129
145
|
`;
|
|
130
146
|
exports.IconContainer = __webpack_exports__.IconContainer;
|
|
147
|
+
exports.InitialsBadge = __webpack_exports__.InitialsBadge;
|
|
131
148
|
exports.ListItemButton = __webpack_exports__.ListItemButton;
|
|
132
149
|
exports.SectionHeader = __webpack_exports__.SectionHeader;
|
|
133
150
|
exports.StyledList = __webpack_exports__.StyledList;
|
|
134
151
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
135
152
|
"IconContainer",
|
|
153
|
+
"InitialsBadge",
|
|
136
154
|
"ListItemButton",
|
|
137
155
|
"SectionHeader",
|
|
138
156
|
"StyledList"
|
|
@@ -12,5 +12,9 @@ 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>, {}>;
|
|
15
19
|
export declare const StyledList: typeof List;
|
|
16
20
|
//# 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;AAEF,eAAO,MAAM,UAAU,EAkClB,OAAO,IAAI,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;AAQF,eAAO,MAAM,aAAa;;;2GAczB,CAAC;AAEF,eAAO,MAAM,UAAU,EAkClB,OAAO,IAAI,CAAC"}
|
|
@@ -51,6 +51,21 @@ 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
|
+
`;
|
|
54
69
|
const StyledList = styled(List)`
|
|
55
70
|
&::-webkit-scrollbar {
|
|
56
71
|
width: 6px;
|
|
@@ -86,4 +101,4 @@ const StyledList = styled(List)`
|
|
|
86
101
|
}
|
|
87
102
|
}
|
|
88
103
|
`;
|
|
89
|
-
export { IconContainer, ListItemButton, SectionHeader, StyledList };
|
|
104
|
+
export { IconContainer, InitialsBadge, 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 }) {
|
|
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,13 +108,6 @@ 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
|
-
]);
|
|
118
111
|
const displayedItems = (0, external_react_namespaceObject.useMemo)(()=>isSearching && !isSearchingInitialItems ? searchedItems : items, [
|
|
119
112
|
isSearching,
|
|
120
113
|
isSearchingInitialItems,
|
|
@@ -462,7 +455,6 @@ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title,
|
|
|
462
455
|
activeIndex: activeIndex,
|
|
463
456
|
listRef: listRef,
|
|
464
457
|
emptyStateMessage: isSearching ? 'No matching nodes found' : 'No nodes found',
|
|
465
|
-
renderEmptyState: wrappedRenderEmptyState,
|
|
466
458
|
onItemClick: handleItemSelect,
|
|
467
459
|
onItemHover: onItemHover,
|
|
468
460
|
onScroll: handleListScroll,
|
|
@@ -1,8 +1,5 @@
|
|
|
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;
|
|
6
3
|
export type ToolboxSearchHandler<T = any> = (query: string, isTopLevelSearch: boolean, { currentItems, category }: {
|
|
7
4
|
currentItems?: ListItem<T>[];
|
|
8
5
|
category?: string;
|
|
@@ -19,7 +16,6 @@ export interface ToolboxProps<T> {
|
|
|
19
16
|
onBack?: () => void;
|
|
20
17
|
onSearch?: ToolboxSearchHandler<T>;
|
|
21
18
|
quickActions?: ToolboxQuickAction[];
|
|
22
|
-
renderEmptyState?: ToolboxEmptyStateRenderer<T>;
|
|
23
19
|
}
|
|
24
|
-
export declare function Toolbox<T>({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth, fullHeight, quickActions,
|
|
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;
|
|
25
21
|
//# 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;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"}
|
|
@@ -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 }) {
|
|
57
57
|
const [items, setItems] = useState(initialItems);
|
|
58
58
|
const [search, setSearch] = useState('');
|
|
59
59
|
const [searchLoading, setSearchLoading] = useState(false);
|
|
@@ -80,13 +80,6 @@ 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
|
-
]);
|
|
90
83
|
const displayedItems = useMemo(()=>isSearching && !isSearchingInitialItems ? searchedItems : items, [
|
|
91
84
|
isSearching,
|
|
92
85
|
isSearchingInitialItems,
|
|
@@ -434,7 +427,6 @@ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title,
|
|
|
434
427
|
activeIndex: activeIndex,
|
|
435
428
|
listRef: listRef,
|
|
436
429
|
emptyStateMessage: isSearching ? 'No matching nodes found' : 'No nodes found',
|
|
437
|
-
renderEmptyState: wrappedRenderEmptyState,
|
|
438
430
|
onItemClick: handleItemSelect,
|
|
439
431
|
onItemHover: onItemHover,
|
|
440
432
|
onScroll: handleListScroll,
|