@mui/x-tree-view 8.27.1 → 9.0.0-alpha.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/CHANGELOG.md +204 -5
- package/RichTreeView/RichTreeView.js +32 -19
- package/RichTreeView/RichTreeView.types.d.ts +2 -5
- package/RichTreeView/useExtractRichTreeViewParameters.js +9 -5
- package/SimpleTreeView/SimpleTreeView.js +5 -0
- package/SimpleTreeView/useExtractSimpleTreeViewParameters.js +6 -4
- package/TreeItem/TreeItem.d.ts +1 -1
- package/TreeItem/TreeItem.js +3 -2
- package/TreeItemIcon/TreeItemIcon.js +2 -2
- package/esm/RichTreeView/RichTreeView.js +32 -19
- package/esm/RichTreeView/RichTreeView.types.d.ts +2 -5
- package/esm/RichTreeView/useExtractRichTreeViewParameters.js +9 -5
- package/esm/SimpleTreeView/SimpleTreeView.js +5 -0
- package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.js +6 -4
- package/esm/TreeItem/TreeItem.d.ts +1 -1
- package/esm/TreeItem/TreeItem.js +2 -1
- package/esm/TreeItemIcon/TreeItemIcon.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +10 -6
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +1 -1
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +2 -2
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +14 -1
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.js +2 -1
- package/esm/internals/TreeViewProvider/index.d.ts +1 -0
- package/esm/internals/TreeViewProvider/index.js +2 -1
- package/esm/internals/components/RichTreeViewItems.d.ts +29 -5
- package/esm/internals/components/RichTreeViewItems.js +25 -7
- package/esm/internals/hooks/useTreeViewRootProps.d.ts +2 -1
- package/esm/internals/index.d.ts +3 -3
- package/esm/internals/index.js +2 -2
- package/esm/internals/plugins/items/selectors.d.ts +6 -1
- package/esm/internals/plugins/items/selectors.js +5 -1
- package/esm/models/domStructure.d.ts +1 -0
- package/esm/models/domStructure.js +1 -0
- package/esm/models/index.d.ts +1 -0
- package/esm/models/index.js +1 -0
- package/esm/useTreeItem/useTreeItem.js +3 -0
- package/index.js +1 -1
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +10 -6
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +1 -1
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +2 -2
- package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +14 -1
- package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +2 -1
- package/internals/TreeViewProvider/index.d.ts +1 -0
- package/internals/TreeViewProvider/index.js +8 -1
- package/internals/components/RichTreeViewItems.d.ts +29 -5
- package/internals/components/RichTreeViewItems.js +25 -6
- package/internals/hooks/useTreeViewRootProps.d.ts +2 -1
- package/internals/index.d.ts +3 -3
- package/internals/index.js +12 -0
- package/internals/plugins/items/selectors.d.ts +6 -1
- package/internals/plugins/items/selectors.js +5 -1
- package/models/domStructure.d.ts +1 -0
- package/models/domStructure.js +5 -0
- package/models/index.d.ts +1 -0
- package/models/index.js +11 -0
- package/package.json +4 -4
- package/useTreeItem/useTreeItem.js +3 -0
|
@@ -8,7 +8,6 @@ export declare function deriveStateFromParameters<R extends TreeViewValidItem<R>
|
|
|
8
8
|
isItemEditable?: any;
|
|
9
9
|
}): {
|
|
10
10
|
disabledItemsFocusable: boolean;
|
|
11
|
-
domStructure: "nested";
|
|
12
11
|
itemChildrenIndentation: string | number;
|
|
13
12
|
providedTreeId: string | undefined;
|
|
14
13
|
expansionTrigger: "content" | "iconContainer";
|
|
@@ -16,6 +15,7 @@ export declare function deriveStateFromParameters<R extends TreeViewValidItem<R>
|
|
|
16
15
|
multiSelect: boolean | NonNullable<Multiple>;
|
|
17
16
|
checkboxSelection: boolean;
|
|
18
17
|
selectionPropagation: Readonly<{}>;
|
|
18
|
+
itemHeight: number | null;
|
|
19
19
|
};
|
|
20
20
|
export declare function createMinimalInitialState<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined>(parameters: MinimalTreeViewParameters<R, Multiple>): MinimalTreeViewState<R, Multiple>;
|
|
21
21
|
export declare const createTreeViewDefaultId: () => string;
|
|
@@ -18,7 +18,6 @@ var _items = require("../plugins/items");
|
|
|
18
18
|
function deriveStateFromParameters(parameters) {
|
|
19
19
|
return {
|
|
20
20
|
disabledItemsFocusable: parameters.disabledItemsFocusable ?? false,
|
|
21
|
-
domStructure: 'nested',
|
|
22
21
|
itemChildrenIndentation: parameters.itemChildrenIndentation ?? '12px',
|
|
23
22
|
providedTreeId: parameters.id,
|
|
24
23
|
// TODO: Fix
|
|
@@ -29,7 +28,8 @@ function deriveStateFromParameters(parameters) {
|
|
|
29
28
|
disableSelection: parameters.disableSelection ?? false,
|
|
30
29
|
multiSelect: parameters.multiSelect ?? false,
|
|
31
30
|
checkboxSelection: parameters.checkboxSelection ?? false,
|
|
32
|
-
selectionPropagation: parameters.selectionPropagation ?? _empty.EMPTY_OBJECT
|
|
31
|
+
selectionPropagation: parameters.selectionPropagation ?? _empty.EMPTY_OBJECT,
|
|
32
|
+
itemHeight: parameters.itemHeight ?? null
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
function applyModelInitialValue(controlledValue, defaultValue, fallback) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TreeViewItemId, TreeViewValidItem } from "../../models/index.js";
|
|
1
|
+
import { TreeViewDOMStructure, TreeViewItemId, TreeViewValidItem } from "../../models/index.js";
|
|
2
2
|
import { MinimalTreeViewParameters, MinimalTreeViewState } from "../MinimalTreeViewStore/index.js";
|
|
3
3
|
import { RichTreeViewLazyLoadedItemsStatus } from "../plugins/lazyLoading/index.js";
|
|
4
4
|
export interface RichTreeViewState<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined> extends MinimalTreeViewState<R, Multiple> {
|
|
@@ -15,6 +15,12 @@ export interface RichTreeViewState<R extends TreeViewValidItem<R>, Multiple exte
|
|
|
15
15
|
* Is null if lazy loading is not enabled.
|
|
16
16
|
*/
|
|
17
17
|
lazyLoadedItems: RichTreeViewLazyLoadedItemsStatus | null;
|
|
18
|
+
/**
|
|
19
|
+
* When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
|
|
20
|
+
* When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
|
|
21
|
+
* Nested DOM structure is not compatible with collapse / expansion animations.
|
|
22
|
+
*/
|
|
23
|
+
domStructure: TreeViewDOMStructure;
|
|
18
24
|
}
|
|
19
25
|
export interface RichTreeViewStoreParameters<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined> extends MinimalTreeViewParameters<R, Multiple> {
|
|
20
26
|
/**
|
|
@@ -31,4 +37,11 @@ export interface RichTreeViewStoreParameters<R extends TreeViewValidItem<R>, Mul
|
|
|
31
37
|
* @default () => false
|
|
32
38
|
*/
|
|
33
39
|
isItemEditable?: boolean | ((item: R) => boolean);
|
|
40
|
+
/**
|
|
41
|
+
* When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
|
|
42
|
+
* When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
|
|
43
|
+
* Nested DOM structure is not compatible with collapse / expansion animations.
|
|
44
|
+
* @default 'nested'
|
|
45
|
+
*/
|
|
46
|
+
domStructure?: TreeViewDOMStructure;
|
|
34
47
|
}
|
|
@@ -12,7 +12,8 @@ const deriveStateFromParameters = parameters => ({
|
|
|
12
12
|
const parametersToStateMapper = exports.parametersToStateMapper = {
|
|
13
13
|
getInitialState: (minimalInitialState, parameters) => (0, _extends2.default)({}, minimalInitialState, deriveStateFromParameters(parameters), {
|
|
14
14
|
editedItemId: null,
|
|
15
|
-
lazyLoadedItems: null
|
|
15
|
+
lazyLoadedItems: null,
|
|
16
|
+
domStructure: parameters.domStructure ?? 'nested'
|
|
16
17
|
}),
|
|
17
18
|
updateStateFromParameters: (newMinimalState, parameters) => {
|
|
18
19
|
const newState = (0, _extends2.default)({}, newMinimalState, deriveStateFromParameters(parameters));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { TreeViewProvider } from "./TreeViewProvider.js";
|
|
2
2
|
export { useTreeViewContext } from "./TreeViewContext.js";
|
|
3
|
+
export { useTreeViewStyleContext } from "./TreeViewStyleContext.js";
|
|
3
4
|
export type { TreeViewProviderProps, TreeViewContextValue, TreeViewItemPluginsRunner, TreeViewStoreInContext } from "./TreeViewProvider.types.js";
|
|
@@ -15,5 +15,12 @@ Object.defineProperty(exports, "useTreeViewContext", {
|
|
|
15
15
|
return _TreeViewContext.useTreeViewContext;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "useTreeViewStyleContext", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _TreeViewStyleContext.useTreeViewStyleContext;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
var _TreeViewProvider = require("./TreeViewProvider");
|
|
19
|
-
var _TreeViewContext = require("./TreeViewContext");
|
|
25
|
+
var _TreeViewContext = require("./TreeViewContext");
|
|
26
|
+
var _TreeViewStyleContext = require("./TreeViewStyleContext");
|
|
@@ -2,31 +2,55 @@ import * as React from 'react';
|
|
|
2
2
|
import { SlotComponentProps } from '@mui/utils/types';
|
|
3
3
|
import { TreeItem, TreeItemProps } from "../../TreeItem/index.js";
|
|
4
4
|
import { TreeViewItemId } from "../../models/index.js";
|
|
5
|
-
export declare
|
|
5
|
+
export declare const RichTreeViewItem: React.NamedExoticComponent<RichTreeViewItemProps>;
|
|
6
|
+
export declare function RichTreeViewItems<TProps extends object>(props: RichTreeViewItemsProps<TProps>): import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
interface RichTreeViewItemsOwnerState {
|
|
7
8
|
itemId: TreeViewItemId;
|
|
8
9
|
label: string;
|
|
9
10
|
}
|
|
10
11
|
export interface RichTreeViewItemsSlots {
|
|
12
|
+
/**
|
|
13
|
+
* Element rendered at the root.
|
|
14
|
+
* @default RichTreeViewProRoot
|
|
15
|
+
*/
|
|
16
|
+
root: React.ElementType;
|
|
11
17
|
/**
|
|
12
18
|
* Custom component to render a Tree Item.
|
|
13
19
|
* @default TreeItem.
|
|
14
20
|
*/
|
|
15
21
|
item?: React.JSXElementConstructor<TreeItemProps>;
|
|
16
22
|
}
|
|
17
|
-
export interface RichTreeViewItemsSlotProps {
|
|
23
|
+
export interface RichTreeViewItemsSlotProps<TProps extends object> {
|
|
18
24
|
item?: SlotComponentProps<typeof TreeItem, {}, RichTreeViewItemsOwnerState>;
|
|
25
|
+
root?: SlotComponentProps<'ul', {}, TProps>;
|
|
19
26
|
}
|
|
20
|
-
export interface RichTreeViewItemsProps {
|
|
27
|
+
export interface RichTreeViewItemsProps<TProps extends object> {
|
|
21
28
|
/**
|
|
22
29
|
* Overridable component slots.
|
|
23
30
|
* @default {}
|
|
24
31
|
*/
|
|
25
|
-
slots
|
|
32
|
+
slots: RichTreeViewItemsSlots;
|
|
26
33
|
/**
|
|
27
34
|
* The props used for each component slot.
|
|
28
35
|
* @default {}
|
|
29
36
|
*/
|
|
30
|
-
slotProps?: RichTreeViewItemsSlotProps
|
|
37
|
+
slotProps?: RichTreeViewItemsSlotProps<TProps>;
|
|
38
|
+
/**
|
|
39
|
+
* Owner state applied to the root slot component.
|
|
40
|
+
*/
|
|
41
|
+
ownerState: TProps;
|
|
42
|
+
/**
|
|
43
|
+
* Props provided to the component and applied to the root element.
|
|
44
|
+
*/
|
|
45
|
+
forwardedProps: React.HTMLAttributes<HTMLUListElement>;
|
|
46
|
+
/**
|
|
47
|
+
* Ref forwarded to the root element.
|
|
48
|
+
*/
|
|
49
|
+
rootRef: React.Ref<HTMLUListElement>;
|
|
50
|
+
}
|
|
51
|
+
interface RichTreeViewItemProps extends Pick<TreeItemProps, 'id' | 'itemId' | 'children'> {
|
|
52
|
+
itemSlot: React.JSXElementConstructor<TreeItemProps> | undefined;
|
|
53
|
+
itemSlotProps: SlotComponentProps<typeof TreeItem, {}, RichTreeViewItemsOwnerState> | undefined;
|
|
54
|
+
skipChildren: boolean;
|
|
31
55
|
}
|
|
32
56
|
export {};
|
|
@@ -6,6 +6,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
+
exports.RichTreeViewItem = void 0;
|
|
9
10
|
exports.RichTreeViewItems = RichTreeViewItems;
|
|
10
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
12
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
@@ -18,13 +19,14 @@ var _TreeItem = require("../../TreeItem");
|
|
|
18
19
|
var _items = require("../plugins/items");
|
|
19
20
|
var _TreeViewProvider = require("../TreeViewProvider");
|
|
20
21
|
var _expansion = require("../plugins/expansion");
|
|
22
|
+
var _useTreeViewRootProps = require("../hooks/useTreeViewRootProps");
|
|
21
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
24
|
const _excluded = ["ownerState"];
|
|
23
25
|
const RichTreeViewItemsContext = /*#__PURE__*/React.createContext(null);
|
|
24
26
|
if (process.env.NODE_ENV !== "production") RichTreeViewItemsContext.displayName = "RichTreeViewItemsContext";
|
|
25
27
|
const selectorNoChildren = () => _empty.EMPTY_ARRAY;
|
|
26
28
|
const selectorChildrenIdsNull = state => _items.itemsSelectors.itemOrderedChildrenIds(state, null);
|
|
27
|
-
const
|
|
29
|
+
const RichTreeViewItem = exports.RichTreeViewItem = /*#__PURE__*/React.memo(function RichTreeViewItem({
|
|
28
30
|
itemSlot,
|
|
29
31
|
itemSlotProps,
|
|
30
32
|
itemId,
|
|
@@ -52,25 +54,40 @@ const WrappedTreeItem = /*#__PURE__*/React.memo(function WrappedTreeItem({
|
|
|
52
54
|
}),
|
|
53
55
|
itemProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded);
|
|
54
56
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Item, (0, _extends2.default)({}, itemProps, {
|
|
55
|
-
children: children?.map(renderItemForRichTreeView)
|
|
57
|
+
children: renderItemForRichTreeView ? children?.map(renderItemForRichTreeView) : null
|
|
56
58
|
}));
|
|
57
59
|
}, _fastObjectShallowCompare.fastObjectShallowCompare);
|
|
58
|
-
if (process.env.NODE_ENV !== "production")
|
|
60
|
+
if (process.env.NODE_ENV !== "production") RichTreeViewItem.displayName = "RichTreeViewItem";
|
|
59
61
|
function RichTreeViewItems(props) {
|
|
60
62
|
const {
|
|
61
63
|
slots,
|
|
62
|
-
slotProps
|
|
64
|
+
slotProps,
|
|
65
|
+
ownerState,
|
|
66
|
+
forwardedProps,
|
|
67
|
+
rootRef
|
|
63
68
|
} = props;
|
|
64
69
|
const {
|
|
65
70
|
store
|
|
66
71
|
} = (0, _TreeViewProvider.useTreeViewContext)();
|
|
72
|
+
const {
|
|
73
|
+
classes
|
|
74
|
+
} = (0, _TreeViewProvider.useTreeViewStyleContext)();
|
|
67
75
|
const itemSlot = slots?.item;
|
|
68
76
|
const itemSlotProps = slotProps?.item;
|
|
69
77
|
const domStructure = (0, _store.useStore)(store, _items.itemsSelectors.domStructure);
|
|
70
78
|
const items = (0, _store.useStore)(store, domStructure === 'flat' ? _expansion.expansionSelectors.flatList : selectorChildrenIdsNull);
|
|
79
|
+
const getRootProps = (0, _useTreeViewRootProps.useTreeViewRootProps)(store, forwardedProps, rootRef);
|
|
80
|
+
const Root = slots.root;
|
|
81
|
+
const rootProps = (0, _useSlotProps2.default)({
|
|
82
|
+
elementType: Root,
|
|
83
|
+
externalSlotProps: slotProps?.root,
|
|
84
|
+
className: classes.root,
|
|
85
|
+
getSlotProps: getRootProps,
|
|
86
|
+
ownerState
|
|
87
|
+
});
|
|
71
88
|
const skipChildren = domStructure === 'flat';
|
|
72
89
|
const renderItem = React.useCallback(itemId => {
|
|
73
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
90
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RichTreeViewItem, {
|
|
74
91
|
itemSlot: itemSlot,
|
|
75
92
|
itemSlotProps: itemSlotProps,
|
|
76
93
|
itemId: itemId,
|
|
@@ -79,6 +96,8 @@ function RichTreeViewItems(props) {
|
|
|
79
96
|
}, [itemSlot, itemSlotProps, skipChildren]);
|
|
80
97
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RichTreeViewItemsContext.Provider, {
|
|
81
98
|
value: renderItem,
|
|
82
|
-
children:
|
|
99
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({}, rootProps, {
|
|
100
|
+
children: items.map(renderItem)
|
|
101
|
+
}))
|
|
83
102
|
});
|
|
84
103
|
}
|
|
@@ -2,7 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import { EventHandlers } from '@mui/utils/types';
|
|
3
3
|
import { TreeViewCancellableEvent } from "../../models/index.js";
|
|
4
4
|
import { TreeViewAnyStore } from "../models/index.js";
|
|
5
|
-
|
|
5
|
+
import { TreeViewStoreInContext } from "../TreeViewProvider/index.js";
|
|
6
|
+
export declare function useTreeViewRootProps<TStore extends TreeViewAnyStore>(store: TreeViewStoreInContext<TStore>, forwardedProps: React.HTMLAttributes<HTMLUListElement>, ref: React.Ref<HTMLUListElement | null> | undefined): (otherHandlers: EventHandlers) => {
|
|
6
7
|
style: React.CSSProperties;
|
|
7
8
|
onFocus: (event: React.FocusEvent<HTMLUListElement> & TreeViewCancellableEvent) => void;
|
|
8
9
|
onBlur: (event: React.FocusEvent<HTMLUListElement> & TreeViewCancellableEvent) => void;
|
package/internals/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { TreeViewProvider, useTreeViewContext } from "./TreeViewProvider/index.js";
|
|
2
|
-
export { RichTreeViewItems } from "./components/RichTreeViewItems.js";
|
|
3
|
-
export type { RichTreeViewItemsSlots, RichTreeViewItemsSlotProps } from "./components/RichTreeViewItems.js";
|
|
1
|
+
export { TreeViewProvider, useTreeViewContext, useTreeViewStyleContext } from "./TreeViewProvider/index.js";
|
|
2
|
+
export { RichTreeViewItems, RichTreeViewItem } from "./components/RichTreeViewItems.js";
|
|
3
|
+
export type { RichTreeViewItemsProps, RichTreeViewItemsSlots, RichTreeViewItemsSlotProps } from "./components/RichTreeViewItems.js";
|
|
4
4
|
export { useTreeViewRootProps } from "./hooks/useTreeViewRootProps.js";
|
|
5
5
|
export { useTreeViewStore } from "./hooks/useTreeViewStore.js";
|
|
6
6
|
export type { UseTreeViewStoreParameters } from "./hooks/useTreeViewStore.js";
|
package/internals/index.js
CHANGED
|
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "MinimalTreeViewStore", {
|
|
|
15
15
|
return _MinimalTreeViewStore.MinimalTreeViewStore;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "RichTreeViewItem", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _RichTreeViewItems.RichTreeViewItem;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
Object.defineProperty(exports, "RichTreeViewItems", {
|
|
19
25
|
enumerable: true,
|
|
20
26
|
get: function () {
|
|
@@ -99,6 +105,12 @@ Object.defineProperty(exports, "useTreeViewStore", {
|
|
|
99
105
|
return _useTreeViewStore.useTreeViewStore;
|
|
100
106
|
}
|
|
101
107
|
});
|
|
108
|
+
Object.defineProperty(exports, "useTreeViewStyleContext", {
|
|
109
|
+
enumerable: true,
|
|
110
|
+
get: function () {
|
|
111
|
+
return _TreeViewProvider.useTreeViewStyleContext;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
102
114
|
var _TreeViewProvider = require("./TreeViewProvider");
|
|
103
115
|
var _RichTreeViewItems = require("./components/RichTreeViewItems");
|
|
104
116
|
var _useTreeViewRootProps = require("./hooks/useTreeViewRootProps");
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { TreeViewItemMeta } from "../../models/index.js";
|
|
2
2
|
import { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
|
|
3
|
+
import { RichTreeViewState } from "../../RichTreeViewStore/index.js";
|
|
3
4
|
export declare const itemsSelectors: {
|
|
4
5
|
/**
|
|
5
6
|
* Gets the DOM structure of the Tree View.
|
|
6
7
|
*/
|
|
7
|
-
domStructure: (state:
|
|
8
|
+
domStructure: (state: RichTreeViewState<any, any>) => import("../../../index.js").TreeViewDOMStructure;
|
|
8
9
|
/**
|
|
9
10
|
* Checks whether the disabled items are focusable.
|
|
10
11
|
*/
|
|
@@ -57,4 +58,8 @@ export declare const itemsSelectors: {
|
|
|
57
58
|
* Gets the identation between an item and its children.
|
|
58
59
|
*/
|
|
59
60
|
itemChildrenIndentation: (state: MinimalTreeViewState<any, any>) => string | number;
|
|
61
|
+
/**
|
|
62
|
+
* Gets the height of an individual item.
|
|
63
|
+
*/
|
|
64
|
+
itemHeight: (state: MinimalTreeViewState<any, any>) => number | null;
|
|
60
65
|
};
|
|
@@ -66,5 +66,9 @@ const itemsSelectors = exports.itemsSelectors = {
|
|
|
66
66
|
/**
|
|
67
67
|
* Gets the identation between an item and its children.
|
|
68
68
|
*/
|
|
69
|
-
itemChildrenIndentation: (0, _store.createSelector)(state => state.itemChildrenIndentation)
|
|
69
|
+
itemChildrenIndentation: (0, _store.createSelector)(state => state.itemChildrenIndentation),
|
|
70
|
+
/**
|
|
71
|
+
* Gets the height of an individual item.
|
|
72
|
+
*/
|
|
73
|
+
itemHeight: (0, _store.createSelector)(state => state.itemHeight)
|
|
70
74
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type TreeViewDOMStructure = 'flat' | 'nested';
|
package/models/index.d.ts
CHANGED
package/models/index.js
CHANGED
|
@@ -24,4 +24,15 @@ Object.keys(_events).forEach(function (key) {
|
|
|
24
24
|
return _events[key];
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
|
+
});
|
|
28
|
+
var _domStructure = require("./domStructure");
|
|
29
|
+
Object.keys(_domStructure).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _domStructure[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _domStructure[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
27
38
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-tree-view",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0-alpha.0",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The community edition of the MUI X Tree View components.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"directory": "packages/x-tree-view"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@babel/runtime": "^7.28.
|
|
34
|
+
"@babel/runtime": "^7.28.6",
|
|
35
35
|
"@base-ui/utils": "^0.2.3",
|
|
36
|
-
"@mui/utils": "^7.3.
|
|
36
|
+
"@mui/utils": "^7.3.7",
|
|
37
37
|
"@types/react-transition-group": "^4.4.12",
|
|
38
38
|
"clsx": "^2.1.1",
|
|
39
39
|
"prop-types": "^15.8.1",
|
|
40
40
|
"react-transition-group": "^4.4.5",
|
|
41
|
-
"@mui/x-internals": "
|
|
41
|
+
"@mui/x-internals": "9.0.0-alpha.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@emotion/react": "^11.9.0",
|
|
@@ -64,6 +64,7 @@ const useTreeItem = parameters => {
|
|
|
64
64
|
const isCheckboxSelectionEnabled = (0, _store.useStore)(store, _selection.selectionSelectors.isCheckboxSelectionEnabled);
|
|
65
65
|
const idAttribute = (0, _store.useStore)(store, _id.idSelectors.treeItemIdAttribute, itemId, id);
|
|
66
66
|
const shouldBeAccessibleWithTab = (0, _store.useStore)(store, _focus.focusSelectors.isItemTheDefaultFocusableItem, itemId);
|
|
67
|
+
const itemHeight = (0, _store.useStore)(store, _items.itemsSelectors.itemHeight);
|
|
67
68
|
const sharedPropsEnhancerParams = {
|
|
68
69
|
rootRefObject,
|
|
69
70
|
contentRefObject,
|
|
@@ -159,6 +160,8 @@ const useTreeItem = parameters => {
|
|
|
159
160
|
}, externalProps, {
|
|
160
161
|
style: (0, _extends2.default)({}, externalProps.style ?? {}, {
|
|
161
162
|
'--TreeView-itemDepth': depth
|
|
163
|
+
}, itemHeight == null ? {} : {
|
|
164
|
+
'--TreeView-itemHeight': `${itemHeight}px`
|
|
162
165
|
}),
|
|
163
166
|
onFocus: createRootHandleFocus(externalEventHandlers),
|
|
164
167
|
onBlur: createRootHandleBlur(externalEventHandlers),
|