@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.
Files changed (58) hide show
  1. package/CHANGELOG.md +204 -5
  2. package/RichTreeView/RichTreeView.js +32 -19
  3. package/RichTreeView/RichTreeView.types.d.ts +2 -5
  4. package/RichTreeView/useExtractRichTreeViewParameters.js +9 -5
  5. package/SimpleTreeView/SimpleTreeView.js +5 -0
  6. package/SimpleTreeView/useExtractSimpleTreeViewParameters.js +6 -4
  7. package/TreeItem/TreeItem.d.ts +1 -1
  8. package/TreeItem/TreeItem.js +3 -2
  9. package/TreeItemIcon/TreeItemIcon.js +2 -2
  10. package/esm/RichTreeView/RichTreeView.js +32 -19
  11. package/esm/RichTreeView/RichTreeView.types.d.ts +2 -5
  12. package/esm/RichTreeView/useExtractRichTreeViewParameters.js +9 -5
  13. package/esm/SimpleTreeView/SimpleTreeView.js +5 -0
  14. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.js +6 -4
  15. package/esm/TreeItem/TreeItem.d.ts +1 -1
  16. package/esm/TreeItem/TreeItem.js +2 -1
  17. package/esm/TreeItemIcon/TreeItemIcon.js +1 -1
  18. package/esm/index.js +1 -1
  19. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +10 -6
  20. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +1 -1
  21. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +2 -2
  22. package/esm/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +14 -1
  23. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.js +2 -1
  24. package/esm/internals/TreeViewProvider/index.d.ts +1 -0
  25. package/esm/internals/TreeViewProvider/index.js +2 -1
  26. package/esm/internals/components/RichTreeViewItems.d.ts +29 -5
  27. package/esm/internals/components/RichTreeViewItems.js +25 -7
  28. package/esm/internals/hooks/useTreeViewRootProps.d.ts +2 -1
  29. package/esm/internals/index.d.ts +3 -3
  30. package/esm/internals/index.js +2 -2
  31. package/esm/internals/plugins/items/selectors.d.ts +6 -1
  32. package/esm/internals/plugins/items/selectors.js +5 -1
  33. package/esm/models/domStructure.d.ts +1 -0
  34. package/esm/models/domStructure.js +1 -0
  35. package/esm/models/index.d.ts +1 -0
  36. package/esm/models/index.js +1 -0
  37. package/esm/useTreeItem/useTreeItem.js +3 -0
  38. package/index.js +1 -1
  39. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +10 -6
  40. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +1 -1
  41. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +2 -2
  42. package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +14 -1
  43. package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +2 -1
  44. package/internals/TreeViewProvider/index.d.ts +1 -0
  45. package/internals/TreeViewProvider/index.js +8 -1
  46. package/internals/components/RichTreeViewItems.d.ts +29 -5
  47. package/internals/components/RichTreeViewItems.js +25 -6
  48. package/internals/hooks/useTreeViewRootProps.d.ts +2 -1
  49. package/internals/index.d.ts +3 -3
  50. package/internals/index.js +12 -0
  51. package/internals/plugins/items/selectors.d.ts +6 -1
  52. package/internals/plugins/items/selectors.js +5 -1
  53. package/models/domStructure.d.ts +1 -0
  54. package/models/domStructure.js +5 -0
  55. package/models/index.d.ts +1 -0
  56. package/models/index.js +11 -0
  57. package/package.json +4 -4
  58. 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 function RichTreeViewItems(props: RichTreeViewItemsProps): import("react/jsx-runtime").JSX.Element;
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?: RichTreeViewItemsSlots;
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 WrappedTreeItem = /*#__PURE__*/React.memo(function WrappedTreeItem({
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") WrappedTreeItem.displayName = "WrappedTreeItem";
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)(WrappedTreeItem, {
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: items.map(renderItem)
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
- export declare function useTreeViewRootProps<TStore extends TreeViewAnyStore>(store: TStore, forwardedProps: React.HTMLAttributes<HTMLUListElement>, ref: React.Ref<HTMLUListElement | null> | undefined): (otherHandlers: EventHandlers) => {
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;
@@ -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";
@@ -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: MinimalTreeViewState<any, any>) => "flat" | "nested";
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';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/models/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./items.js";
2
2
  export * from "./events.js";
3
+ export * from "./domStructure.js";
3
4
  export type { PropsFromSlot } from '@mui/x-internals/slots';
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": "8.27.1",
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.4",
34
+ "@babel/runtime": "^7.28.6",
35
35
  "@base-ui/utils": "^0.2.3",
36
- "@mui/utils": "^7.3.5",
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": "8.26.0"
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),