@gooddata/sdk-ui-kit 10.38.0-alpha.2 → 10.38.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/esm/@ui/UiTreeview/UITreeviewItem.d.ts +2 -1
- package/esm/@ui/UiTreeview/UITreeviewItem.d.ts.map +1 -1
- package/esm/@ui/UiTreeview/UITreeviewItem.js +10 -19
- package/esm/@ui/UiTreeview/UITreeviewItem.js.map +1 -1
- package/esm/@ui/UiTreeview/UiTreeview.js +15 -19
- package/esm/@ui/UiTreeview/UiTreeview.js.map +1 -1
- package/esm/@ui/UiTreeview/defaults/DefaultUiTreeViewItemComponent.d.ts +1 -1
- package/esm/@ui/UiTreeview/defaults/DefaultUiTreeViewItemComponent.d.ts.map +1 -1
- package/esm/@ui/UiTreeview/defaults/DefaultUiTreeViewItemComponent.js +11 -2
- package/esm/@ui/UiTreeview/defaults/DefaultUiTreeViewItemComponent.js.map +1 -1
- package/esm/@ui/UiTreeview/types.d.ts +3 -7
- package/esm/@ui/UiTreeview/types.d.ts.map +1 -1
- package/esm/@ui/UiTreeview/utils.d.ts +13 -3
- package/esm/@ui/UiTreeview/utils.d.ts.map +1 -1
- package/esm/@ui/UiTreeview/utils.js +56 -20
- package/esm/@ui/UiTreeview/utils.js.map +1 -1
- package/esm/sdk-ui-kit.d.ts +4 -8
- package/package.json +8 -8
@@ -1,5 +1,5 @@
|
|
1
1
|
import React from "react";
|
2
|
-
import
|
2
|
+
import { UiStaticTreeView, LevelTypesUnion, IUiTreeviewItemProps, UiRefsTree } from "./types.js";
|
3
3
|
import { itemsState } from "./utils.js";
|
4
4
|
/**
|
5
5
|
* @internal
|
@@ -15,6 +15,7 @@ interface UITreeviewItemProps<Levels extends [], Level> {
|
|
15
15
|
onSelect: (event: React.MouseEvent | React.KeyboardEvent, path: number[], item: UiStaticTreeView<Level | LevelTypesUnion<Levels>>) => void;
|
16
16
|
onHover: (path: number[]) => void;
|
17
17
|
ItemComponent: React.ComponentType<IUiTreeviewItemProps<Level | LevelTypesUnion<Levels>>>;
|
18
|
+
itemsRef: React.MutableRefObject<UiRefsTree>;
|
18
19
|
}
|
19
20
|
/**
|
20
21
|
* @internal
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UITreeviewItem.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/UITreeviewItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,
|
1
|
+
{"version":3,"file":"UITreeviewItem.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/UITreeviewItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAoB,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D;;GAEG;AACH,UAAU,mBAAmB,CAAC,MAAM,SAAS,EAAE,EAAE,KAAK;IAClD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,CACN,KAAK,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,aAAa,EAC7C,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,gBAAgB,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,KACtD,IAAI,CAAC;IACV,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1F,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,qBA4FjG"}
|
@@ -1,12 +1,13 @@
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
2
2
|
import React, { useCallback } from "react";
|
3
3
|
import { e } from "./treeviewBem.js";
|
4
|
+
import { convertPathToKey } from "./utils.js";
|
4
5
|
/**
|
5
6
|
* @internal
|
6
7
|
*/
|
7
8
|
export function UITreeviewItem(props) {
|
8
|
-
const { getState, focusedItem, selectedItemId, itemDataTestId, onSelect, onHover, ItemComponent, isCompact, } = props;
|
9
|
-
const [state,
|
9
|
+
const { getState, focusedItem, selectedItemId, itemDataTestId, onSelect, onHover, ItemComponent, isCompact, itemsRef, path, } = props;
|
10
|
+
const [state, { toggle }] = getState(props.path);
|
10
11
|
const { item, children } = props.item;
|
11
12
|
const childCount = children?.length ?? 0;
|
12
13
|
const level = props.path.length;
|
@@ -14,13 +15,10 @@ export function UITreeviewItem(props) {
|
|
14
15
|
const isSelected = item.id === selectedItemId;
|
15
16
|
const isExpanded = state.expanded;
|
16
17
|
const handleToggle = useCallback((event, expanded) => {
|
17
|
-
|
18
|
-
...state,
|
19
|
-
expanded,
|
20
|
-
});
|
18
|
+
toggle(expanded);
|
21
19
|
event.stopPropagation();
|
22
20
|
event.preventDefault();
|
23
|
-
}, [
|
21
|
+
}, [toggle]);
|
24
22
|
const handleSelect = useCallback((event) => {
|
25
23
|
onSelect(event, props.path, props.item);
|
26
24
|
}, [props.item, props.path, onSelect]);
|
@@ -28,17 +26,10 @@ export function UITreeviewItem(props) {
|
|
28
26
|
onHover(props.path);
|
29
27
|
}, [props.path, onHover]);
|
30
28
|
return (React.createElement("div", { className: e("treeitem") },
|
31
|
-
React.createElement("div", { className: e("treeitem__container"), "data-testid": itemDataTestId, role: "treeitem", "aria-level": level, "aria-expanded": isExpanded, "aria-selected": isFocused, "aria-disabled": item.isDisabled
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
isExpanded,
|
37
|
-
isDisabled: !!item.isDisabled,
|
38
|
-
}) })),
|
39
|
-
children?.length && isExpanded ? (React.createElement("div", { role: "group", className: e("treeitem__children") }, children.map((child, i) => (React.createElement(UITreeviewItem, { ItemComponent: ItemComponent, onSelect: onSelect, onHover: onHover, getState: getState, focusedItem: focusedItem, selectedItemId: selectedItemId, itemDataTestId: itemDataTestId, isCompact: isCompact, item: child, key: i, path: [...props.path, i] }))))) : null));
|
40
|
-
}
|
41
|
-
function defineVariables(level) {
|
42
|
-
return { "--ui-treeview-item-level": level };
|
29
|
+
React.createElement("div", { className: e("treeitem__container"), "data-testid": itemDataTestId, role: "treeitem", "aria-level": level, "aria-expanded": isExpanded, "aria-selected": isFocused, "aria-disabled": item.isDisabled, ref: (node) => {
|
30
|
+
itemsRef.current[convertPathToKey(path)] = node;
|
31
|
+
} },
|
32
|
+
React.createElement(ItemComponent, { item: item, type: childCount ? "group" : "leaf", childCount: childCount, isCompact: isCompact, isFocused: isFocused, isSelected: isSelected, isExpanded: isExpanded, level: level, onSelect: handleSelect, onToggle: handleToggle, onHover: handleHover })),
|
33
|
+
children?.length && isExpanded ? (React.createElement("div", { role: "group", className: e("treeitem__children") }, children.map((child, i) => (React.createElement(UITreeviewItem, { ItemComponent: ItemComponent, itemsRef: itemsRef, onSelect: onSelect, onHover: onHover, getState: getState, focusedItem: focusedItem, selectedItemId: selectedItemId, itemDataTestId: itemDataTestId, isCompact: isCompact, item: child, key: i, path: [...props.path, i] }))))) : null));
|
43
34
|
}
|
44
35
|
//# sourceMappingURL=UITreeviewItem.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UITreeviewItem.js","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/UITreeviewItem.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"UITreeviewItem.js","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/UITreeviewItem.tsx"],"names":[],"mappings":"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"}
|
@@ -31,10 +31,12 @@ export function UiStaticTreeview(props) {
|
|
31
31
|
export function UiLeveledTreeview(props) {
|
32
32
|
return React.createElement(UiTreeview, { ...props });
|
33
33
|
}
|
34
|
-
function UiTreeview({ items, selectionMode = "groups-and-leafs", expandedMode = "default-expanded", dataTestId, itemDataTestId, width, maxWidth, maxHeight, onSelect, onClose, onUnhandledKeyDown = noop, selectedItemId, ItemComponent = DefaultUiTreeViewItemComponent, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, shouldCloseOnSelect = true, isDisabledFocusable = false, isCompact = false, ariaAttributes, }) {
|
35
|
-
const itemsRef = useRef(
|
34
|
+
function UiTreeview({ items, selectionMode = "groups-and-leafs", expandedMode = "default-expanded", expansionMode = "multiple", dataTestId, itemDataTestId, width, maxWidth, maxHeight, onSelect, onClose, onUnhandledKeyDown = noop, selectedItemId, ItemComponent = DefaultUiTreeViewItemComponent, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, shouldCloseOnSelect = true, isDisabledFocusable = false, isCompact = false, ariaAttributes, }) {
|
35
|
+
const itemsRef = useRef({});
|
36
36
|
const getState = itemsState(useState({}), {
|
37
37
|
expanded: expandedMode === "default-expanded",
|
38
|
+
}, {
|
39
|
+
expansionMode,
|
38
40
|
});
|
39
41
|
const isItemFocusable = useCallback((item) => {
|
40
42
|
if (!item) {
|
@@ -47,7 +49,10 @@ function UiTreeview({ items, selectionMode = "groups-and-leafs", expandedMode =
|
|
47
49
|
// Scroll focused item into view
|
48
50
|
const focusedItemNode = getRefOnFocusedPath(itemsRef.current, focusedPath);
|
49
51
|
useEffect(() => {
|
50
|
-
focusedItemNode?.
|
52
|
+
if (!focusedItemNode?.scrollIntoView) {
|
53
|
+
return;
|
54
|
+
}
|
55
|
+
focusedItemNode.scrollIntoView({ block: "nearest" });
|
51
56
|
}, [focusedItemNode]);
|
52
57
|
const onSelectHandle = useCallback((event, path, item) => {
|
53
58
|
const isDisabled = !isDisabledFocusable && item?.item.isDisabled;
|
@@ -88,11 +93,8 @@ function UiTreeview({ items, selectionMode = "groups-and-leafs", expandedMode =
|
|
88
93
|
return;
|
89
94
|
}
|
90
95
|
// Toggle group is leaf-only selection mode
|
91
|
-
const [state,
|
92
|
-
|
93
|
-
...state,
|
94
|
-
expanded: !state.expanded,
|
95
|
-
});
|
96
|
+
const [state, { toggle }] = getState(path);
|
97
|
+
toggle(!state.expanded);
|
96
98
|
break;
|
97
99
|
}
|
98
100
|
}
|
@@ -131,7 +133,7 @@ function UiTreeview({ items, selectionMode = "groups-and-leafs", expandedMode =
|
|
131
133
|
});
|
132
134
|
},
|
133
135
|
onEnterLevel: () => {
|
134
|
-
const [state,
|
136
|
+
const [state, { toggle }] = getState(focusedPath);
|
135
137
|
if (!focusedItem.children?.length) {
|
136
138
|
return;
|
137
139
|
}
|
@@ -141,24 +143,18 @@ function UiTreeview({ items, selectionMode = "groups-and-leafs", expandedMode =
|
|
141
143
|
});
|
142
144
|
}
|
143
145
|
else {
|
144
|
-
|
145
|
-
...state,
|
146
|
-
expanded: true,
|
147
|
-
});
|
146
|
+
toggle(true);
|
148
147
|
}
|
149
148
|
},
|
150
149
|
onLeaveLevel: () => {
|
151
|
-
const [state,
|
150
|
+
const [state, { toggle }] = getState(focusedPath);
|
152
151
|
if (!focusedItem.children?.length || !state.expanded) {
|
153
152
|
setFocusedPath((prevPath) => {
|
154
153
|
return getParentPathIndex(items, getState, prevPath, isItemFocusable);
|
155
154
|
});
|
156
155
|
}
|
157
156
|
else {
|
158
|
-
|
159
|
-
...state,
|
160
|
-
expanded: false,
|
161
|
-
});
|
157
|
+
toggle(false);
|
162
158
|
}
|
163
159
|
},
|
164
160
|
onSelect: (e) => {
|
@@ -189,6 +185,6 @@ function UiTreeview({ items, selectionMode = "groups-and-leafs", expandedMode =
|
|
189
185
|
// Handle outside keyboard events in the same way as internal keyboard events
|
190
186
|
useUiTreeViewEventSubscriber("keydown", handleKeyDown);
|
191
187
|
return (React.createElement("div", { className: b(), style: { width, maxWidth, maxHeight }, "data-testid": dataTestId },
|
192
|
-
React.createElement(UiTreeviewRoot, { handleKeyDown: handleKeyDown, ariaAttributes: ariaAttributes, focusedItem: focusedItem }, items.map((item, index) => (React.createElement(UITreeviewItem, { ItemComponent: ItemComponent, onSelect: onSelectHandle, onHover: onHoverHandle, getState: getState, focusedItem: focusedItem, selectedItemId: selectedItemId, itemDataTestId: itemDataTestId, isCompact: isCompact, item: item, key: index, path: [index] }))))));
|
188
|
+
React.createElement(UiTreeviewRoot, { handleKeyDown: handleKeyDown, ariaAttributes: ariaAttributes, focusedItem: focusedItem }, items.map((item, index) => (React.createElement(UITreeviewItem, { ItemComponent: ItemComponent, itemsRef: itemsRef, onSelect: onSelectHandle, onHover: onHoverHandle, getState: getState, focusedItem: focusedItem, selectedItemId: selectedItemId, itemDataTestId: itemDataTestId, isCompact: isCompact, item: item, key: index, path: [index] }))))));
|
193
189
|
}
|
194
190
|
//# sourceMappingURL=UiTreeview.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UiTreeview.js","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/UiTreeview.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAUrC,OAAO,EACH,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAQ,KAAoC;IACxE,OAAO,oBAAC,UAAU,OAAgB,KAAK,GAAI,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAA2B,KAAsC;IAC9F,OAAO,oBAAC,UAAU,OAAsB,KAAK,GAAI,CAAC;AACtD,CAAC;AAED,SAAS,UAAU,CAAkC,EACjD,KAAK,EACL,aAAa,GAAG,kBAAkB,EAClC,YAAY,GAAG,kBAAkB,
|
1
|
+
{"version":3,"file":"UiTreeview.js","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/UiTreeview.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAUrC,OAAO,EACH,QAAQ,EACR,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAQ,KAAoC;IACxE,OAAO,oBAAC,UAAU,OAAgB,KAAK,GAAI,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAA2B,KAAsC;IAC9F,OAAO,oBAAC,UAAU,OAAsB,KAAK,GAAI,CAAC;AACtD,CAAC;AAED,SAAS,UAAU,CAAkC,EACjD,KAAK,EACL,aAAa,GAAG,kBAAkB,EAClC,YAAY,GAAG,kBAAkB,EACjC,aAAa,GAAG,UAAU,EAE1B,UAAU,EACV,cAAc,EACd,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,kBAAkB,GAAG,IAAI,EAEzB,cAAc,EAEd,aAAa,GAAG,8BAA8B,EAE9C,kCAAkC,EAClC,mCAAmC,EACnC,mBAAmB,GAAG,IAAI,EAC1B,mBAAmB,GAAG,KAAK,EAC3B,SAAS,GAAG,KAAK,EAEjB,cAAc,GACc;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAa,EAAE,CAAC,CAAC;IAExC,MAAM,QAAQ,GAAG,UAAU,CACvB,QAAQ,CAAkC,EAAE,CAAC,EAC7C;QACI,QAAQ,EAAE,YAAY,KAAK,kBAAkB;KAChD,EACD;QACI,aAAa;KAChB,CACJ,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAC/B,CAAC,IAA0E,EAAE,EAAE;QAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,mBAAmB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IACxD,CAAC,EACD,CAAC,mBAAmB,CAAC,CACxB,CAAC;IAEF,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE,CAC1D,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,CAAC,CACnD,CAAC;IAEF,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7D,gCAAgC;IAChC,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3E,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QACD,eAAe,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzD,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,cAAc,GAAG,WAAW,CAC9B,CAAC,KAA6C,EAAE,IAAc,EAAE,IAA8B,EAAE,EAAE;QAC9F,MAAM,UAAU,GAAG,CAAC,mBAAmB,IAAI,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;QACjE,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,SAAS,QAAQ;YACb,IAAI,KAAK,CAAC,WAAW,YAAY,aAAa,EAAE,CAAC;gBAC7C,QAAQ,EAAE,CACN,IAAI,CAAC,IAAI,EACT;oBACI,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO;iBACzC,EACD,KAAK,CACR,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,QAAQ,EAAE,CACN,IAAI,CAAC,IAAI,EACT;oBACI,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;iBAC3E,EACD,KAAK,CACR,CAAC;YACN,CAAC;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACtB,OAAO,EAAE,EAAE,CAAC;YAChB,CAAC;QACL,CAAC;QAED,QAAQ,aAAa,EAAE,CAAC;YACpB,KAAK,kBAAkB;gBACnB,QAAQ,EAAE,CAAC;gBACX,MAAM;YACV,KAAK,aAAa;gBACd,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,QAAQ,EAAE,CAAC;gBACf,CAAC;gBACD,MAAM;YACV,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,uBAAuB;gBACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/C,QAAQ,EAAE,CAAC;oBACX,OAAO;gBACX,CAAC;gBACD,2CAA2C;gBAC3C,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxB,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CACzF,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,IAAc,EAAE,EAAE;QACjD,cAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,gBAAgB,CAAoC;QACnE,QAAQ;QACR,KAAK;QACL,OAAO;QACP,cAAc;QACd,QAAQ,EAAE,cAAc;QACxB,eAAe;QACf,cAAc;KACjB,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CACzB,GAAG,EAAE,CACD,0BAA0B,CACtB;QACI,eAAe,EAAE,GAAG,EAAE;YAClB,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACxB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACP,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACxB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACP,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,cAAc,CAAC,GAAG,EAAE;gBAChB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACP,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,cAAc,CAAC,GAAG,EAAE;gBAChB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACP,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACjB,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACxB,OAAO,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnD,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACxB,OAAO,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC1E,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACL,CAAC;QACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACZ,IAAI,WAAW,EAAE,CAAC;gBACd,cAAc,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QACD,OAAO;QACP,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;KACJ,EACD;QACI,oBAAoB,EAAE,kCAAkC;QACxD,qBAAqB,EAAE,mCAAmC;KAC7D,CACJ,EACL;QACI,UAAU;QACV,WAAW;QACX,WAAW;QACX,QAAQ;QACR,eAAe;QACf,KAAK;QACL,OAAO;QACP,cAAc;QACd,kBAAkB;QAClB,kCAAkC;QAClC,mCAAmC;KACtC,CACJ,CAAC;IAEF,6EAA6E;IAC7E,4BAA4B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAEvD,OAAO,CACH,6BAAK,SAAS,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAe,UAAU;QAC/E,oBAAC,cAAc,IACX,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,IAEvB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,oBAAC,cAAc,IACX,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,KAAK,EACV,IAAI,EAAE,CAAC,KAAK,CAAC,GACf,CACL,CAAC,CACW,CACf,CACT,CAAC;AACN,CAAC"}
|
@@ -3,5 +3,5 @@ import { IUiTreeviewItemProps } from "../types.js";
|
|
3
3
|
/**
|
4
4
|
* @internal
|
5
5
|
*/
|
6
|
-
export declare function DefaultUiTreeViewItemComponent<Level>({ item, type,
|
6
|
+
export declare function DefaultUiTreeViewItemComponent<Level>({ item, type, level, isExpanded, isFocused, isSelected, isCompact, onToggle, onSelect, }: IUiTreeviewItemProps<Level>): React.ReactNode;
|
7
7
|
//# sourceMappingURL=DefaultUiTreeViewItemComponent.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DefaultUiTreeViewItemComponent.d.ts","sourceRoot":"","sources":["../../../../src/@ui/UiTreeview/defaults/DefaultUiTreeViewItemComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMnD;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,EAClD,IAAI,EACJ,IAAI,EACJ,
|
1
|
+
{"version":3,"file":"DefaultUiTreeViewItemComponent.d.ts","sourceRoot":"","sources":["../../../../src/@ui/UiTreeview/defaults/DefaultUiTreeViewItemComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMnD;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,EAClD,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,GACX,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,CAiD/C"}
|
@@ -7,8 +7,14 @@ import { UiTooltip } from "../../UiTooltip/UiTooltip.js";
|
|
7
7
|
/**
|
8
8
|
* @internal
|
9
9
|
*/
|
10
|
-
export function DefaultUiTreeViewItemComponent({ item, type,
|
11
|
-
return (React.createElement("div", { style:
|
10
|
+
export function DefaultUiTreeViewItemComponent({ item, type, level, isExpanded, isFocused, isSelected, isCompact, onToggle, onSelect, }) {
|
11
|
+
return (React.createElement("div", { style: defineVariables(level), className: e("item", {
|
12
|
+
isFocused,
|
13
|
+
isSelected,
|
14
|
+
isCompact,
|
15
|
+
isExpanded,
|
16
|
+
isDisabled: !!item.isDisabled,
|
17
|
+
}), onClick: item.isDisabled ? undefined : onSelect },
|
12
18
|
type === "group" ? (React.createElement("div", { className: e("item__item-arrow"), onClick: (e) => {
|
13
19
|
onToggle(e, !isExpanded);
|
14
20
|
e.stopPropagation();
|
@@ -21,4 +27,7 @@ export function DefaultUiTreeViewItemComponent({ item, type, defaultClassName, d
|
|
21
27
|
item.tooltip ? (React.createElement(UiTooltip, { anchor: React.createElement("div", { className: e("item__item-explanation") },
|
22
28
|
React.createElement(UiIcon, { type: "question", size: 14, color: "complementary-7" })), content: item.tooltip, triggerBy: ["hover", "focus"], arrowPlacement: "left", optimalPlacement: true, width: 200 })) : null));
|
23
29
|
}
|
30
|
+
function defineVariables(level) {
|
31
|
+
return { "--ui-treeview-item-level": level };
|
32
|
+
}
|
24
33
|
//# sourceMappingURL=DefaultUiTreeViewItemComponent.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DefaultUiTreeViewItemComponent.js","sourceRoot":"","sources":["../../../../src/@ui/UiTreeview/defaults/DefaultUiTreeViewItemComponent.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAQ,EAClD,IAAI,EACJ,IAAI,EACJ,
|
1
|
+
{"version":3,"file":"DefaultUiTreeViewItemComponent.js","sourceRoot":"","sources":["../../../../src/@ui/UiTreeview/defaults/DefaultUiTreeViewItemComponent.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAQ,EAClD,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,GACkB;IAC1B,OAAO,CACH,6BACI,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,SAAS;YACT,UAAU;YACV,SAAS;YACT,UAAU;YACV,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU;SAChC,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QAE9C,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAChB,6BACI,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gBACX,QAAQ,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;gBACzB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,CAAC,CAAC,cAAc,EAAE,CAAC;YACvB,CAAC;YAED,oBAAC,MAAM,IAAC,IAAI,EAAC,eAAe,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,CAC/D,CACT,CAAC,CAAC,CAAC,IAAI;QACP,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CACT,6BAAK,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC;YAChC,oBAAC,MAAM,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,CAC3D,CACT,CAAC,CAAC,CAAC,IAAI;QACR,oBAAC,aAAa,IAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,KAAK,IACnE,IAAI,CAAC,WAAW,CACL;QACf,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACZ,oBAAC,SAAS,IACN,MAAM,EACF,6BAAK,SAAS,EAAE,CAAC,CAAC,wBAAwB,CAAC;gBACvC,oBAAC,MAAM,IAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,GAAG,CAC1D,EAEV,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAC7B,cAAc,EAAC,MAAM,EACrB,gBAAgB,EAAE,IAAI,EACtB,KAAK,EAAE,GAAG,GACZ,CACL,CAAC,CAAC,CAAC,IAAI,CACN,CACT,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IAClC,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAyB,CAAC;AACxE,CAAC"}
|
@@ -88,6 +88,7 @@ export interface IUiTreeViewProps<Levels extends any[], Level> {
|
|
88
88
|
maxHeight?: number;
|
89
89
|
selectionMode?: "groups-and-leafs" | "groups-only" | "leafs-only";
|
90
90
|
expandedMode?: "default-expanded" | "default-collapsed";
|
91
|
+
expansionMode?: "multiple" | "single";
|
91
92
|
onClose?: () => void;
|
92
93
|
onUnhandledKeyDown?: (event: React.KeyboardEvent, context: IUiTreeviewContext<Levels, Level>) => void;
|
93
94
|
selectedItemId?: string;
|
@@ -103,7 +104,7 @@ export interface IUiTreeViewProps<Levels extends any[], Level> {
|
|
103
104
|
*/
|
104
105
|
export interface IUiTreeviewContext<Levels extends any[], Level> {
|
105
106
|
items: UiLeveledTreeView<LevelTypesUnion<Levels>>[] | UiStaticTreeView<Level>[];
|
106
|
-
itemsRef: React.MutableRefObject<UiRefsTree
|
107
|
+
itemsRef: React.MutableRefObject<UiRefsTree>;
|
107
108
|
onClose: () => void;
|
108
109
|
onSelect: (event: React.MouseEvent | React.KeyboardEvent, path: number[], item?: UiStaticTreeView<Level | LevelTypesUnion<Levels>>) => void;
|
109
110
|
isItemFocusable: (item?: UiStaticTreeView<Level> | UiStaticTreeView<LevelTypesUnion<Levels>>) => boolean;
|
@@ -117,8 +118,6 @@ export interface IUiTreeviewItemProps<T> {
|
|
117
118
|
type: "leaf" | "group";
|
118
119
|
childCount: number;
|
119
120
|
item: IUiTreeViewItem<T>;
|
120
|
-
defaultClassName: string;
|
121
|
-
defaultStyle: React.CSSProperties;
|
122
121
|
isFocused: boolean;
|
123
122
|
isExpanded: boolean;
|
124
123
|
isSelected: boolean;
|
@@ -135,10 +134,7 @@ export type UiTreeviewAriaAttributes = Omit<IDropdownBodyRenderProps["ariaAttrib
|
|
135
134
|
/**
|
136
135
|
* @internal
|
137
136
|
*/
|
138
|
-
export type UiRefsTree =
|
139
|
-
item: HTMLLIElement;
|
140
|
-
children?: UiRefsTree[];
|
141
|
-
};
|
137
|
+
export type UiRefsTree = Record<string, HTMLDivElement | null>;
|
142
138
|
/**
|
143
139
|
* @internal
|
144
140
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/types.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/types.ts"],"names":[],"mappings":"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"}
|
@@ -10,16 +10,24 @@ export declare function getItemOnFocusedPath<T>(items: UiStaticTreeView<T>[], fo
|
|
10
10
|
/**
|
11
11
|
* @internal
|
12
12
|
**/
|
13
|
-
export declare function getRefOnFocusedPath(items: UiRefsTree
|
13
|
+
export declare function getRefOnFocusedPath(items: UiRefsTree, focusedPath: number[]): HTMLDivElement | undefined;
|
14
14
|
type ItemsState = [
|
15
15
|
Record<string, UiStateTreeItem> | undefined,
|
16
16
|
React.Dispatch<React.SetStateAction<Record<string, UiStateTreeItem> | undefined>>
|
17
17
|
];
|
18
|
-
type GetItemState = (path: number[]) => [
|
18
|
+
type GetItemState = (path: number[]) => [
|
19
|
+
UiStateTreeItem | undefined,
|
20
|
+
{
|
21
|
+
toggle: (state: boolean) => void;
|
22
|
+
toggleAll: (state: boolean) => void;
|
23
|
+
}
|
24
|
+
];
|
19
25
|
/**
|
20
26
|
* @internal
|
21
27
|
**/
|
22
|
-
export declare function itemsState(state: ItemsState, defaultItem: UiStateTreeItem
|
28
|
+
export declare function itemsState(state: ItemsState, defaultItem: UiStateTreeItem, opts: {
|
29
|
+
expansionMode: "multiple" | "single";
|
30
|
+
}): GetItemState;
|
23
31
|
/**
|
24
32
|
* @internal
|
25
33
|
**/
|
@@ -27,5 +35,7 @@ export declare function findPath<T>(items: UiStaticTreeView<T>[], id: string | u
|
|
27
35
|
export declare function getPrevPathIndex<T>(items: UiStaticTreeView<T>[], getState: ReturnType<typeof itemsState>, path: number[], isFocusableItem: (item?: UiStaticTreeView<T>) => boolean): number[];
|
28
36
|
export declare function getNextPathIndex<T>(items: UiStaticTreeView<T>[], getState: ReturnType<typeof itemsState>, path: number[], isFocusableItem: (item?: UiStaticTreeView<T>) => boolean): number[];
|
29
37
|
export declare function getParentPathIndex<T>(items: UiStaticTreeView<T>[], getState: ReturnType<typeof itemsState>, path: number[], isFocusableItem: (item?: UiStaticTreeView<T>) => boolean): number[];
|
38
|
+
export declare function convertPathToKey(path: number[]): string;
|
39
|
+
export declare function convertKeyToPath(key: string): number[];
|
30
40
|
export {};
|
31
41
|
//# sourceMappingURL=utils.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhF;;IAEI;AACJ,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,UAE9E;AAED;;IAEI;AACJ,wBAAgB,oBAAoB,CAAC,CAAC,EAClC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC5B,WAAW,EAAE,MAAM,EAAE,GACtB,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAajC;AAED;;IAEI;AACJ,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEhF;;IAEI;AACJ,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,UAE9E;AAED;;IAEI;AACJ,wBAAgB,oBAAoB,CAAC,CAAC,EAClC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC5B,WAAW,EAAE,MAAM,EAAE,GACtB,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAajC;AAED;;IAEI;AACJ,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,cAAc,GAAG,SAAS,CAIxG;AAED,KAAK,UAAU,GAAG;IACd,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS;IAC3C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,CAAC,CAAC;CACpF,CAAC;AAEF,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK;IACpC,eAAe,GAAG,SAAS;IAC3B;QACI,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QACjC,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;KACvC;CACJ,CAAC;AAEF;;IAEI;AACJ,wBAAgB,UAAU,CACtB,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE;IACF,aAAa,EAAE,UAAU,GAAG,QAAQ,CAAC;CACxC,GACF,YAAY,CAsCd;AAiCD;;IAEI;AACJ,wBAAgB,QAAQ,CAAC,CAAC,EACtB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC5B,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,OAAO,GACzD,MAAM,EAAE,GAAG,SAAS,CAkBtB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAC9B,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACvC,IAAI,EAAE,MAAM,EAAE,EACd,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,OAAO,GACzD,MAAM,EAAE,CAkCV;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAC9B,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACvC,IAAI,EAAE,MAAM,EAAE,EACd,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,OAAO,GACzD,MAAM,EAAE,CAmCV;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAChC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EACvC,IAAI,EAAE,MAAM,EAAE,EACd,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,OAAO,GACzD,MAAM,EAAE,CA0BV;AAwBD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAEtD"}
|
@@ -24,21 +24,13 @@ export function getItemOnFocusedPath(items, focusedPath) {
|
|
24
24
|
* @internal
|
25
25
|
**/
|
26
26
|
export function getRefOnFocusedPath(items, focusedPath) {
|
27
|
-
|
28
|
-
|
29
|
-
for (let i = 0; i < focusedPath.length; i++) {
|
30
|
-
const index = focusedPath[i];
|
31
|
-
if (index < currentLevel.length) {
|
32
|
-
currentItem = currentLevel[index];
|
33
|
-
currentLevel = currentItem.children;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
return currentItem;
|
27
|
+
const key = convertPathToKey(focusedPath);
|
28
|
+
return items[key];
|
37
29
|
}
|
38
30
|
/**
|
39
31
|
* @internal
|
40
32
|
**/
|
41
|
-
export function itemsState(state, defaultItem) {
|
33
|
+
export function itemsState(state, defaultItem, opts) {
|
42
34
|
return (path) => {
|
43
35
|
// Setter
|
44
36
|
const setter = (item) => {
|
@@ -50,7 +42,30 @@ export function itemsState(state, defaultItem) {
|
|
50
42
|
const getter = () => {
|
51
43
|
return getItemAtPath(state[0], path, defaultItem);
|
52
44
|
};
|
53
|
-
|
45
|
+
// Toggle
|
46
|
+
const toggle = (state) => {
|
47
|
+
// Collapse all if only one root open is allowed
|
48
|
+
if (path.length === 1 && opts.expansionMode === "single") {
|
49
|
+
toggleAll(false);
|
50
|
+
}
|
51
|
+
setter({ expanded: state });
|
52
|
+
};
|
53
|
+
// Toggle all
|
54
|
+
const toggleAll = (expanded) => {
|
55
|
+
state[1]((st) => {
|
56
|
+
const updated = Object.entries(st).map(([key, prop]) => {
|
57
|
+
return [key, { ...prop, expanded }];
|
58
|
+
});
|
59
|
+
return Object.fromEntries(updated);
|
60
|
+
});
|
61
|
+
};
|
62
|
+
return [
|
63
|
+
getter(),
|
64
|
+
{
|
65
|
+
toggle,
|
66
|
+
toggleAll,
|
67
|
+
},
|
68
|
+
];
|
54
69
|
};
|
55
70
|
}
|
56
71
|
function getItemAtPath(state, path, defaultItem) {
|
@@ -100,8 +115,13 @@ export function getPrevPathIndex(items, getState, path, isFocusableItem) {
|
|
100
115
|
const currentKey = convertPathToKey(path);
|
101
116
|
let currentIndex = map.findIndex(([key]) => key === currentKey);
|
102
117
|
// Index not found
|
103
|
-
if (currentIndex
|
104
|
-
|
118
|
+
if (currentIndex < 0) {
|
119
|
+
const first = map[0];
|
120
|
+
const [key, item, expanded] = first;
|
121
|
+
if (isFocusableItem(item) && expanded) {
|
122
|
+
return convertKeyToPath(key);
|
123
|
+
}
|
124
|
+
return getNextPathIndex(items, getState, convertKeyToPath(key), isFocusableItem);
|
105
125
|
}
|
106
126
|
// Previous item index
|
107
127
|
currentIndex--;
|
@@ -114,15 +134,26 @@ export function getPrevPathIndex(items, getState, path, isFocusableItem) {
|
|
114
134
|
currentIndex--;
|
115
135
|
prevItem = map[currentIndex];
|
116
136
|
}
|
117
|
-
|
137
|
+
const first = map[0];
|
138
|
+
const [key, item, expanded] = first;
|
139
|
+
if (isFocusableItem(item) && expanded) {
|
140
|
+
return convertKeyToPath(key);
|
141
|
+
}
|
142
|
+
return convertKeyToPath(currentKey);
|
118
143
|
}
|
119
144
|
export function getNextPathIndex(items, getState, path, isFocusableItem) {
|
120
145
|
const map = getItemsPathEntries(items, getState);
|
121
146
|
const currentKey = convertPathToKey(path);
|
122
147
|
let currentIndex = map.findIndex(([key]) => key === currentKey);
|
148
|
+
currentIndex = currentIndex === -1 ? map.length : currentIndex;
|
123
149
|
// Index not found
|
124
|
-
if (currentIndex
|
125
|
-
|
150
|
+
if (currentIndex > map.length - 1) {
|
151
|
+
const last = map[map.length - 1];
|
152
|
+
const [key, item, expanded] = last;
|
153
|
+
if (isFocusableItem(item) && expanded) {
|
154
|
+
return convertKeyToPath(key);
|
155
|
+
}
|
156
|
+
return getPrevPathIndex(items, getState, convertKeyToPath(key), isFocusableItem);
|
126
157
|
}
|
127
158
|
// Next item index
|
128
159
|
currentIndex++;
|
@@ -135,7 +166,12 @@ export function getNextPathIndex(items, getState, path, isFocusableItem) {
|
|
135
166
|
currentIndex++;
|
136
167
|
nextItem = map[currentIndex];
|
137
168
|
}
|
138
|
-
|
169
|
+
const last = map[map.length - 1];
|
170
|
+
const [key, item, expanded] = last;
|
171
|
+
if (isFocusableItem(item) && expanded) {
|
172
|
+
return convertKeyToPath(key);
|
173
|
+
}
|
174
|
+
return convertKeyToPath(currentKey);
|
139
175
|
}
|
140
176
|
export function getParentPathIndex(items, getState, path, isFocusableItem) {
|
141
177
|
const map = getItemsPathEntries(items, getState);
|
@@ -171,10 +207,10 @@ function getItemsPathEntries(items, getState, path = [], expanded = true) {
|
|
171
207
|
}
|
172
208
|
return entries;
|
173
209
|
}
|
174
|
-
function convertPathToKey(path) {
|
210
|
+
export function convertPathToKey(path) {
|
175
211
|
return path.join("-");
|
176
212
|
}
|
177
|
-
function convertKeyToPath(key) {
|
213
|
+
export function convertKeyToPath(key) {
|
178
214
|
return key.split("-").map((s) => parseInt(s, 10));
|
179
215
|
}
|
180
216
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/utils.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAIhC;;IAEI;AACJ,MAAM,UAAU,UAAU,CAAC,UAAkB,EAAE,IAAgC;IAC3E,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED;;IAEI;AACJ,MAAM,UAAU,oBAAoB,CAChC,KAA4B,EAC5B,WAAqB;IAErB,IAAI,YAAY,GAA0B,KAAK,CAAC;IAChD,IAAI,WAAW,GAAoC,SAAS,CAAC;IAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;YAC9B,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;QACxC,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED;;IAEI;AACJ,MAAM,UAAU,mBAAmB,CAAC,
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/@ui/UiTreeview/utils.ts"],"names":[],"mappings":"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"}
|
package/esm/sdk-ui-kit.d.ts
CHANGED
@@ -609,7 +609,7 @@ export declare const DefaultUiMenuStaticItem: React_2.MemoExoticComponent<(<T ex
|
|
609
609
|
/**
|
610
610
|
* @internal
|
611
611
|
*/
|
612
|
-
export declare function DefaultUiTreeViewItemComponent<Level>({ item, type,
|
612
|
+
export declare function DefaultUiTreeViewItemComponent<Level>({ item, type, level, isExpanded, isFocused, isSelected, isCompact, onToggle, onSelect, }: IUiTreeviewItemProps<Level>): React_2.ReactNode;
|
613
613
|
|
614
614
|
/**
|
615
615
|
* @internal
|
@@ -5010,7 +5010,7 @@ export declare interface IUiStaticTreeViewProps<Level> extends IUiTreeViewProps<
|
|
5010
5010
|
*/
|
5011
5011
|
export declare interface IUiTreeviewContext<Levels extends any[], Level> {
|
5012
5012
|
items: UiLeveledTreeView<LevelTypesUnion<Levels>>[] | UiStaticTreeView<Level>[];
|
5013
|
-
itemsRef: React_2.MutableRefObject<UiRefsTree
|
5013
|
+
itemsRef: React_2.MutableRefObject<UiRefsTree>;
|
5014
5014
|
onClose: () => void;
|
5015
5015
|
onSelect: (event: React_2.MouseEvent | React_2.KeyboardEvent, path: number[], item?: UiStaticTreeView<Level | LevelTypesUnion<Levels>>) => void;
|
5016
5016
|
isItemFocusable: (item?: UiStaticTreeView<Level> | UiStaticTreeView<LevelTypesUnion<Levels>>) => boolean;
|
@@ -5038,8 +5038,6 @@ export declare interface IUiTreeviewItemProps<T> {
|
|
5038
5038
|
type: "leaf" | "group";
|
5039
5039
|
childCount: number;
|
5040
5040
|
item: IUiTreeViewItem<T>;
|
5041
|
-
defaultClassName: string;
|
5042
|
-
defaultStyle: React_2.CSSProperties;
|
5043
5041
|
isFocused: boolean;
|
5044
5042
|
isExpanded: boolean;
|
5045
5043
|
isSelected: boolean;
|
@@ -5061,6 +5059,7 @@ export declare interface IUiTreeViewProps<Levels extends any[], Level> {
|
|
5061
5059
|
maxHeight?: number;
|
5062
5060
|
selectionMode?: "groups-and-leafs" | "groups-only" | "leafs-only";
|
5063
5061
|
expandedMode?: "default-expanded" | "default-collapsed";
|
5062
|
+
expansionMode?: "multiple" | "single";
|
5064
5063
|
onClose?: () => void;
|
5065
5064
|
onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiTreeviewContext<Levels, Level>) => void;
|
5066
5065
|
selectedItemId?: string;
|
@@ -6604,10 +6603,7 @@ export declare interface UiPagedVirtualListSkeletonItemProps {
|
|
6604
6603
|
/**
|
6605
6604
|
* @internal
|
6606
6605
|
*/
|
6607
|
-
export declare type UiRefsTree =
|
6608
|
-
item: HTMLLIElement;
|
6609
|
-
children?: UiRefsTree[];
|
6610
|
-
};
|
6606
|
+
export declare type UiRefsTree = Record<string, HTMLDivElement | null>;
|
6611
6607
|
|
6612
6608
|
/**
|
6613
6609
|
* @internal
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@gooddata/sdk-ui-kit",
|
3
|
-
"version": "10.38.0
|
3
|
+
"version": "10.38.0",
|
4
4
|
"description": "GoodData SDK - UI Building Components",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -75,11 +75,11 @@
|
|
75
75
|
"@floating-ui/dom": "1.6.13",
|
76
76
|
"@floating-ui/react-dom": "2.1.2",
|
77
77
|
"@floating-ui/react": "~0.27.12",
|
78
|
-
"@gooddata/sdk-backend-spi": "10.38.0
|
79
|
-
"@gooddata/sdk-
|
80
|
-
"@gooddata/sdk-
|
81
|
-
"@gooddata/
|
82
|
-
"@gooddata/
|
78
|
+
"@gooddata/sdk-backend-spi": "10.38.0",
|
79
|
+
"@gooddata/sdk-model": "10.38.0",
|
80
|
+
"@gooddata/sdk-ui": "10.38.0",
|
81
|
+
"@gooddata/util": "10.38.0",
|
82
|
+
"@gooddata/sdk-ui-theme-provider": "10.38.0"
|
83
83
|
},
|
84
84
|
"peerDependencies": {
|
85
85
|
"react": "^16.10.0 || ^17.0.0 || ^18.0.0",
|
@@ -135,8 +135,8 @@
|
|
135
135
|
"typescript": "5.8.3",
|
136
136
|
"vitest": "3.2.4",
|
137
137
|
"vitest-dom": "0.1.1",
|
138
|
-
"@gooddata/
|
139
|
-
"@gooddata/
|
138
|
+
"@gooddata/sdk-backend-mockingbird": "10.38.0",
|
139
|
+
"@gooddata/reference-workspace": "10.38.0"
|
140
140
|
},
|
141
141
|
"scripts": {
|
142
142
|
"clean": "../../common/scripts/clean-command-state.sh && rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
|