@mui/x-tree-view 8.27.2 → 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 (66) hide show
  1. package/CHANGELOG.md +163 -36
  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/focus/TreeViewFocusPlugin.js +9 -16
  32. package/esm/internals/plugins/items/selectors.d.ts +6 -1
  33. package/esm/internals/plugins/items/selectors.js +6 -2
  34. package/esm/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.d.ts +4 -9
  35. package/esm/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +17 -44
  36. package/esm/internals/plugins/jsxItems/itemPlugin.js +3 -18
  37. package/esm/models/domStructure.d.ts +1 -0
  38. package/esm/models/domStructure.js +1 -0
  39. package/esm/models/index.d.ts +1 -0
  40. package/esm/models/index.js +1 -0
  41. package/esm/useTreeItem/useTreeItem.js +3 -0
  42. package/index.js +1 -1
  43. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +10 -6
  44. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +1 -1
  45. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +2 -2
  46. package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +14 -1
  47. package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +2 -1
  48. package/internals/TreeViewProvider/index.d.ts +1 -0
  49. package/internals/TreeViewProvider/index.js +8 -1
  50. package/internals/components/RichTreeViewItems.d.ts +29 -5
  51. package/internals/components/RichTreeViewItems.js +25 -6
  52. package/internals/hooks/useTreeViewRootProps.d.ts +2 -1
  53. package/internals/index.d.ts +3 -3
  54. package/internals/index.js +12 -0
  55. package/internals/plugins/focus/TreeViewFocusPlugin.js +9 -16
  56. package/internals/plugins/items/selectors.d.ts +6 -1
  57. package/internals/plugins/items/selectors.js +6 -2
  58. package/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.d.ts +4 -9
  59. package/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +16 -43
  60. package/internals/plugins/jsxItems/itemPlugin.js +3 -18
  61. package/models/domStructure.d.ts +1 -0
  62. package/models/domStructure.js +5 -0
  63. package/models/index.d.ts +1 -0
  64. package/models/index.js +11 -0
  65. package/package.json +4 -4
  66. package/useTreeItem/useTreeItem.js +3 -0
package/CHANGELOG.md CHANGED
@@ -1,85 +1,212 @@
1
1
  # Changelog
2
2
 
3
- > For full v8 changelog, please refer to the [v.8x branch](https://github.com/mui/mui-x/blob/v8.x/CHANGELOG.md).
3
+ ## 9.0.0-alpha.0
4
4
 
5
- All notable changes to this project will be documented in this file.
6
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+ _Feb 16, 2026_
7
6
 
8
- ## 8.27.2
7
+ We'd like to extend a big thank you to the 21 contributors who made this release possible. Here are some highlights ✨:
9
8
 
10
- _Feb 20, 2026_
9
+ - Add support for virtualized items on `<RichTreeViewPro />`:
11
10
 
12
- We'd like to extend a big thank you to the 3 contributors who made this release possible. Here are some highlights ✨:
11
+ ```tsx
12
+ <RichTreeViewPro items={ITEMS} virtualization itemHeight={48} />
13
+ ```
13
14
 
14
- - 🐞 Bugfixes
15
+ - Add Thai (`thTH`) locale on the Data Grid and the Date and Time Pickers (#21116) @siriwatknp
16
+ - Add a new `AdapterDayjsBuddhist` adapter for Date and Time Pickers (#20984) @siriwatknp
17
+ - Add support for virtualization in the rich tree view (#20780) @flaviendelangle
18
+ - Add WebGL renderer to Heatmap (#20756) @bernardobelchior
19
+
20
+ Special thanks go out to these community members for their valuable contributions:
21
+ @jhe-iqbis
22
+
23
+ The following team members contributed to this release:
24
+ @alexfauquette, @arminmeh, @bernardobelchior, @brijeshb42, @cherniavskii, @dav-is, @flaviendelangle, @Janpot, @JCQuintas, @mapache-salvaje, @MBilalShafi, @michelengelen, @mj12albert, @noraleonte, @oliviertassinari, @rita-codes, @romgrk, @sai6855, @siriwatknp
15
25
 
16
26
  ### Data Grid
17
27
 
18
- #### `@mui/x-data-grid@8.27.2`
28
+ #### `@mui/x-data-grid@9.0.0-alpha.0`
19
29
 
20
- Internal changes.
30
+ - [DataGrid] Update default `logicOperator` behavior in filtering docs (#21098) @michelengelen
31
+ - [DataGrid] Add `thTH` locale (#21116) @siriwatknp
32
+ - [DataGrid] Fix initial filter value state in CustomMultiValueOperator demo (#21217) @sai6855
21
33
 
22
- #### `@mui/x-data-grid-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
34
+ #### `@mui/x-data-grid-pro@9.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
23
35
 
24
- Same changes as in `@mui/x-data-grid@8.27.2`, plus:
36
+ Same changes as in `@mui/x-data-grid@9.0.0-alpha.0`, plus:
25
37
 
26
- - [DataGridPro] Fix number input visibility in header filters (#21345) @michelengelen
38
+ - [DataGridPro] Cleanup outdated rows on `dataSource` reference update (#21138) @MBilalShafi
27
39
 
28
- #### `@mui/x-data-grid-premium@8.27.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
40
+ #### `@mui/x-data-grid-premium@9.0.0-alpha.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
29
41
 
30
- Same changes as in `@mui/x-data-grid-pro@8.27.2`.
42
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-alpha.0`.
31
43
 
32
44
  ### Date and Time Pickers
33
45
 
34
- #### `@mui/x-date-pickers@8.27.2`
46
+ #### `@mui/x-date-pickers@9.0.0-alpha.0`
35
47
 
36
- - [DatePicker] Add keyboard support for selecting day, month, and year (#21399) @michelengelen
48
+ - [pickers] Add `AdapterDayjsBuddhist` adapter (#20984) @siriwatknp
49
+ - [pickers] Add `thTH` locale (#21116) @siriwatknp
37
50
 
38
- #### `@mui/x-date-pickers-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
51
+ #### `@mui/x-date-pickers-pro@9.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
39
52
 
40
- Same changes as in `@mui/x-date-pickers@8.27.2`, plus:
41
-
42
- - [DateRangePicker] Fix timezone update issue leading to `invalidRange` error (#21382) @michelengelen
53
+ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.0`.
43
54
 
44
55
  ### Charts
45
56
 
46
- #### `@mui/x-charts@8.27.2`
57
+ #### `@mui/x-charts@9.0.0-alpha.0`
47
58
 
48
- Internal changes.
59
+ - [charts] Add Legend actions (#20404) @JCQuintas
60
+ - [charts] Add `Chart` suffix to MUI Classes (#21042) @JCQuintas
61
+ - [charts] Add `axesGap` props to put space between axes (#20904) @alexfauquette
62
+ - [charts] Add `cleanIdentifier` function to charts series instance (#20832) @JCQuintas
63
+ - [charts] Add `initialHiddenItems` prop to set initial state (#20894) @JCQuintas
64
+ - [charts] Add `useXAxisCoordinates` and `useYAxisCoordinates` hooks (#20972) @bernardobelchior
65
+ - [charts] Add axis slots and expose axis ticks hooks (#20935) @bernardobelchior
66
+ - [charts] Change `line` legend marker to be a line (#21059) @JCQuintas
67
+ - [charts] Codemod test pattern with function (#21111) @JCQuintas
68
+ - [charts] Control the item tooltip (#20617) @alexfauquette
69
+ - [charts] Enable keyboard navigation in radar chart (#20765) @alexfauquette
70
+ - [charts] Export `CartesianChartSeriesType` and `StackableChartSeriesType` (#21012) @bernardobelchior
71
+ - [charts] Export plugins from premium (#20866) @JCQuintas
72
+ - [charts] Filter hidden series from axis tooltip (#21273) @Copilot
73
+ - [charts] Filter hidden series from axis tooltip (#21273) @Copilot
74
+ - [charts] Fix rename `getSVGPoint` to `getChartPoint` (#21335) @bernardobelchior
75
+ - [charts] Fix cleanup function in useChartInteractionListener to correctly remove event listeners with options (#21218) @sai6855
76
+ - [charts] Fix import rename in codemod (#21112) @JCQuintas
77
+ - [charts] Fix multiple exports of `HighlightScope` (#21270) @bernardobelchior
78
+ - [charts] Fix test inconsistency in charts (#20907) @JCQuintas
79
+ - [charts] Fix tooltip position for stacked line series (#20901) @alexfauquette
80
+ - [charts] Make Highlight scope a generic (#21189) @alexfauquette
81
+ - [charts] Make `LegendItemParams.type` required (#21003) @alexfauquette
82
+ - [charts] Make `seriesId` a string only (#20997) @alexfauquette
83
+ - [charts] Make the `useChartRootRef` support typing parameter (#21023) @alexfauquette
84
+ - [charts] Memoize HeatmapItem to avoid re-render when fading/highlighting (#20865) @bernardobelchior
85
+ - [charts] Move axis id to `data-axis-id` attribute instead of class (#21037) @JCQuintas
86
+ - [charts] Move `cleanIdentifier` and `serializeIdentifier` instance methods to `useChartSeriesConfig` plugin (#21025) @JCQuintas
87
+ - [charts] Move `seriesConfig` to `useChartSeriesConfig` plugin (#21004) @JCQuintas
88
+ - [charts] Move element refs to `useChartElementRef` plugin (#21099) @JCQuintas
89
+ - [charts] Move types related to `seriesConfig` into the `useChartSeriesConfig` plugin folder (#21026) @JCQuintas
90
+ - [charts] Remove `data-has-focused-item` from `ChartsSurface` (#21255) @bernardobelchior
91
+ - [charts] Remove default generic of item identifiers (#21182) @alexfauquette
92
+ - [charts] Remove deprecated `id` from `LegendItemParams` (#21055) @alexfauquette
93
+ - [charts] Remove deprecated `ChartApi` export from `ChartContainer` (#20975) @JCQuintas
94
+ - [charts] Remove deprecated `useAxisTooltip` in favor of `useAxesTooltip` (#20962) @Copilot
95
+ - [charts] Remove deprecated series type helpers and functions (#20998) @alexfauquette
96
+ - [charts] Rename `ChartContainer` to `ChartsContainer` (#21173) @JCQuintas
97
+ - [charts] Rename `getSVGPoint` to `getChartPoint` (#21322) @bernardobelchior
98
+ - [charts] Rename `TickItemType` to `TickItem` (#21008) @bernardobelchior
99
+ - [charts] Replace props `id` by `seriesId` when necessary (#21057) @alexfauquette
100
+ - [charts] Revert `touch-action: pan-y` removal when zoom is disabled (#20852) @bernardobelchior
101
+ - [charts] The `useXxxSeries([])` return empty array (#21001) @alexfauquette
102
+ - [charts] Use `NumberValue` in domain limit function (#21054) @JCQuintas
49
103
 
50
- #### `@mui/x-charts-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
104
+ #### `@mui/x-charts-pro@9.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
51
105
 
52
- Same changes as in `@mui/x-charts@8.27.2`, plus:
106
+ Same changes as in `@mui/x-charts@9.0.0-alpha.0`, plus:
107
+
108
+ - [charts-pro] Add border radius to heatmap (#20931) @bernardobelchior
109
+ - [charts-pro] Add keyboard navigation to funnel (#20766) @alexfauquette
110
+ - [charts-pro] Add keyboard navigation to heatmap (#20786) @alexfauquette
111
+ - [charts-pro] Add keyboard navigation to sankey (#20777) @alexfauquette
112
+ - [charts-pro] Fix Heatmap's `onItemClick` not triggering (#21016) @bernardobelchior
113
+ - [charts-pro] Fix crash when two same-direction axes have a zoom preview (#20916) @bernardobelchior
114
+ - [charts-pro] Handle edge case in export image (#21190) @bernardobelchior
115
+ - [charts-pro] Prefer global pointer interaction tracker in Heatmap (#20697) @bernardobelchior
116
+ - [charts-pro] Support composition for Sankey (#20604) @alexfauquette
117
+ - [charts-pro] Update Heatmap identifier (#21124) @alexfauquette
118
+ - [charts-pro] Update default value of `hideLegend` prop in `Heatmap` (#20961) @Copilot
53
119
 
54
- - [charts-pro] Handle edge case in export image (#21206) @bernardobelchior
120
+ #### `@mui/x-charts-premium@9.0.0-alpha.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
55
121
 
56
- #### `@mui/x-charts-premium@8.27.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
122
+ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.0`, plus:
57
123
 
58
- Same changes as in `@mui/x-charts-pro@8.27.2`.
124
+ - [charts-premium] Add WebGL renderer to Heatmap (#20756) @bernardobelchior
125
+ - [charts-premium] Add `ChartContainerPremium` (#20910) @bernardobelchior
126
+ - [charts-premium] Add `HeatmapPremium` (#20930) @bernardobelchior
127
+ - [charts-premium] Add keyboard navigation to range-bar (#21272) @alexfauquette
128
+ - [charts-premium] Extract `HeatmapSVGPlot` from `HeatmapPlot` component (#21015) @bernardobelchior
129
+ - [charts-premium] Fix `ChartDataProviderPremium` tests (#20868) @bernardobelchior
130
+ - [charts-premium] Fix links in comments for chart containers and data providers (#21105) @bernardobelchior
59
131
 
60
132
  ### Tree View
61
133
 
62
- #### `@mui/x-tree-view@8.27.2`
134
+ #### `@mui/x-tree-view@9.0.0-alpha.0`
135
+
136
+ _No changes._
63
137
 
64
- - [tree view] Focus item sibling on unmount instead of the 1st item (#21386) @flaviendelangle
138
+ #### `@mui/x-tree-view-pro@9.0.0-alpha.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
65
139
 
66
- #### `@mui/x-tree-view-pro@8.27.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
140
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.0`, plus:
67
141
 
68
- Same changes as in `@mui/x-tree-view@8.27.2`.
142
+ - [RichTreeViewPro] Add support for virtualization (#20780) @flaviendelangle
69
143
 
70
144
  ### Codemod
71
145
 
72
- #### `@mui/x-codemod@8.27.2`
146
+ #### `@mui/x-codemod@9.0.0-alpha.0`
73
147
 
74
- Internal changes.
148
+ - [codemod] Document and Clean the codemod utils (#21014) @alexfauquette
149
+
150
+ ### Docs
151
+
152
+ - [docs] Add focus highlight in composition snipets (#20614) @alexfauquette
153
+ - [docs] Add simple candlestick chart demo (#20912) @bernardobelchior
154
+ - [docs] Fix Waterfall Chart documentation badge from Pro to Premium (#20888) @Copilot
155
+ - [docs] Fix broken links on Data Grid Editing sub-pages (#20911) @arminmeh
156
+ - [docs] Fix docs API for HeatmapPremium (#21137) @alexfauquette
157
+ - [docs] Fix horizontal overflow in heatmap docs (#20968) @bernardobelchior
158
+ - [docs] Move Range Bar Chart to existing charts (#21120) @bernardobelchior
159
+ - [docs] Prepare the scheduler doc for the alpha (#21268) @flaviendelangle
160
+ - [docs] Rewording of the heatmap item click (#20987) @alexfauquette
161
+ - [scheduler][docs] Create the Quickstart page (#20913) @flaviendelangle
162
+ - [charts][docs] Revise the Charts CSP doc (#20906) @mapache-salvaje
163
+ - [charts][docs] Revise the Charts Composition doc (#20032) @mapache-salvaje
164
+ - [charts][docs] Revise the Charts Hooks Overview doc (#20921) @mapache-salvaje
165
+ - [charts][docs] Revise the Charts Legend doc (#20821) @mapache-salvaje
166
+ - [charts][docs] Revise the Charts Localization doc (#20800) @mapache-salvaje
167
+ - [charts][docs] Revise the Charts Plugins doc (#20933) @mapache-salvaje
168
+ - [charts][docs] Revise the Charts Stacking doc (#20830) @mapache-salvaje
169
+ - [charts][docs] Revise the Charts Styling doc (#20835) @mapache-salvaje
170
+ - [charts][docs] Revise the Charts Toolbar doc (#20867) @mapache-salvaje
171
+ - [charts][docs] Revise the Charts Tooltip doc (#20869) @mapache-salvaje
172
+ - [charts][docs] Revise the Charts Zoom and Pan doc (#20893) @mapache-salvaje
173
+ - [DataGrid][docs] Add a recipe for handling long text cell (#20754) @siriwatknp
174
+ - [DataGrid][docs] Add high-level competitor comparison to Overview doc (DX-117) (#20870) @mapache-salvaje
175
+ - [DataGrid][docs] Remove Bundling section from quickstart (#21177) @MBilalShafi
75
176
 
76
177
  ### Core
77
178
 
78
- - [code-infra] Only ignore `renovate[bot]` in changelog generation script (#21188) @bernardobelchior
179
+ - [code-infra] Add `MUI_TEST_ENV` global (#21187) @Janpot
180
+ - [code-infra] Fix `material-ui/disallow-react-api-in-server-components` (#20909) @JCQuintas
181
+ - [code-infra] Fix `renameImports` codemod not preserving comments (#20977) @JCQuintas
182
+ - [code-infra] Fix the label comparison to use lower case (#20934) @brijeshb42
183
+ - [code-infra] Github action to sync title and label (#20922) @brijeshb42
184
+ - [code-infra] Ignore scheduler demo with random data (#20982) @JCQuintas
185
+ - [code-infra] Improve `codemod` testing setup (#20981) @JCQuintas
186
+ - [code-infra] Only ignore renovate[bot] in changelog generation script (#21185) @bernardobelchior
187
+ - [code-infra] Prepare for v9 (#20860) @JCQuintas
188
+ - [code-infra] Set `rasterizehtml` version in pnpm catalog (#21175) @bernardobelchior
189
+ - [code-infra] Update codeowners (#20886) @JCQuintas
190
+ - [code-infra] V9 preparation (#20928) @JCQuintas
191
+ - [code-infra] eslint rule rename (#21172) @Janpot
192
+ - [code-infra][docs] V9 charts migration doc kickoff (#20973) @JCQuintas
193
+ - [docs-infra] Add Cookie Banner and Analytics Provider (#21228) @dav-is
194
+ - [docs-infra] Fix missing slots section on API page (#20915) @Janpot
195
+ - [docs-infra] Fix two broken links (#20914) @Janpot
196
+ - [docs-infra] Port demo changes (#20971) @Janpot
197
+ - [internal] Add information about codemods to AGENTS.md (#21011) @bernardobelchior
198
+ - [internal] Fix codemod versioning instructions in `AGENTS.md` (#21024) @bernardobelchior
199
+ - [internal] Fix missing generated props in master (#21142) @bernardobelchior
200
+ - [internal] Headless sorting plugin (#21089) @arminmeh
201
+ - [internal] Remove duplicate code (#20896) @oliviertassinari
202
+
203
+ ### Miscellaneous
79
204
 
80
- ## v8.27.1
205
+ - Bump next to ^15.5.11 (#21171) @Copilot
206
+ - [core] Fix CI (#21223) @flaviendelangle
207
+ - [PoC] Headless data grid (#20645) @cherniavskii
81
208
 
82
- <!-- generated comparing v8.27.0..v8.x -->
209
+ ## v8.27.1
83
210
 
84
211
  _Feb 13, 2026_
85
212
 
@@ -15,14 +15,12 @@ var _store = require("@mui/x-internals/store");
15
15
  var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
16
16
  var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
17
17
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
18
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
19
18
  var _warning = require("@mui/x-internals/warning");
20
19
  var _richTreeViewClasses = require("./richTreeViewClasses");
21
20
  var _zeroStyled = require("../internals/zero-styled");
22
21
  var _TreeViewProvider = require("../internals/TreeViewProvider");
23
22
  var _RichTreeViewItems = require("../internals/components/RichTreeViewItems");
24
23
  var _lazyLoading = require("../internals/plugins/lazyLoading");
25
- var _useTreeViewRootProps = require("../internals/hooks/useTreeViewRootProps");
26
24
  var _TreeViewItemDepthContext = require("../internals/TreeViewItemDepthContext");
27
25
  var _useExtractRichTreeViewParameters = require("./useExtractRichTreeViewParameters");
28
26
  var _items = require("../internals/plugins/items");
@@ -81,27 +79,29 @@ const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(functi
81
79
  }
82
80
  }
83
81
  const {
84
- slots,
82
+ slots: inSlots,
85
83
  slotProps,
86
84
  apiRef,
87
85
  parameters,
88
86
  forwardedProps
89
87
  } = (0, _useExtractRichTreeViewParameters.useExtractRichTreeViewParameters)(props);
88
+
89
+ // Context hooks
90
90
  const store = (0, _useTreeViewStore.useTreeViewStore)(_RichTreeViewStore.RichTreeViewStore, parameters);
91
+
92
+ // Ref hooks
91
93
  const ref = React.useRef(null);
92
94
  const handleRef = (0, _useMergedRefs.useMergedRefs)(forwardedRef, ref);
93
- const getRootProps = (0, _useTreeViewRootProps.useTreeViewRootProps)(store, forwardedProps, handleRef);
94
- const classes = useUtilityClasses(props);
95
+
96
+ // Selector hooks
95
97
  const isLoading = (0, _store.useStore)(store, _lazyLoading.lazyLoadingSelectors.isItemLoading, null);
96
98
  const error = (0, _store.useStore)(store, _lazyLoading.lazyLoadingSelectors.itemError, null);
97
- const Root = slots?.root ?? RichTreeViewRoot;
98
- const rootProps = (0, _useSlotProps.default)({
99
- elementType: Root,
100
- externalSlotProps: slotProps?.root,
101
- className: classes.root,
102
- getSlotProps: getRootProps,
103
- ownerState: props
104
- });
99
+
100
+ // Feature hooks
101
+ const classes = useUtilityClasses(props);
102
+ const slots = React.useMemo(() => (0, _extends2.default)({
103
+ root: RichTreeViewRoot
104
+ }, inSlots), [inSlots]);
105
105
  if (isLoading) {
106
106
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
107
107
  children: "Loading..."
@@ -122,12 +122,13 @@ const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(functi
122
122
  rootRef: ref,
123
123
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewItemDepthContext.TreeViewItemDepthContext.Provider, {
124
124
  value: _items.itemsSelectors.itemDepth,
125
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({}, rootProps, {
126
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RichTreeViewItems.RichTreeViewItems, {
127
- slots: slots,
128
- slotProps: slotProps
129
- })
130
- }))
125
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RichTreeViewItems.RichTreeViewItems, {
126
+ slots: slots,
127
+ slotProps: slotProps,
128
+ forwardedProps: forwardedProps,
129
+ ownerState: props,
130
+ rootRef: handleRef
131
+ })
131
132
  })
132
133
  });
133
134
  });
@@ -188,6 +189,13 @@ process.env.NODE_ENV !== "production" ? RichTreeView.propTypes = {
188
189
  * @default false
189
190
  */
190
191
  disableSelection: _propTypes.default.bool,
192
+ /**
193
+ * When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
194
+ * When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
195
+ * Nested DOM structure is not compatible with collapse / expansion animations.
196
+ * @default 'nested'
197
+ */
198
+ domStructure: _propTypes.default.oneOf(['flat', 'nested']),
191
199
  /**
192
200
  * Expanded item ids.
193
201
  * Used when the item's expansion is controlled.
@@ -258,6 +266,11 @@ process.env.NODE_ENV !== "production" ? RichTreeView.propTypes = {
258
266
  * @default 12px
259
267
  */
260
268
  itemChildrenIndentation: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
269
+ /**
270
+ * Sets the height in pixel of an item.
271
+ * If not provided, no height restriction is applied to the tree item content element.
272
+ */
273
+ itemHeight: _propTypes.default.number,
261
274
  items: _propTypes.default.array.isRequired,
262
275
  /**
263
276
  * Whether multiple items can be selected.
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Theme } from '@mui/material/styles';
3
3
  import { SxProps } from '@mui/system/styleFunctionSx';
4
- import { SlotComponentProps } from '@mui/utils/types';
5
4
  import { RichTreeViewClasses } from "./richTreeViewClasses.js";
6
5
  import { RichTreeViewItemsSlotProps, RichTreeViewItemsSlots } from "../internals/components/RichTreeViewItems.js";
7
6
  import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
@@ -9,16 +8,14 @@ import { RichTreeViewStore } from "../internals/RichTreeViewStore/index.js";
9
8
  import { TreeViewValidItem } from "../models/items.js";
10
9
  import { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.js";
11
10
  import { TreeViewPublicAPI } from "../internals/models/index.js";
12
- export interface RichTreeViewSlots extends TreeViewSlots, RichTreeViewItemsSlots {
11
+ export interface RichTreeViewSlots extends TreeViewSlots, Omit<RichTreeViewItemsSlots, 'root'> {
13
12
  /**
14
13
  * Element rendered at the root.
15
14
  * @default RichTreeViewRoot
16
15
  */
17
16
  root?: React.ElementType;
18
17
  }
19
- export interface RichTreeViewSlotProps<R extends {}, Multiple extends boolean | undefined> extends TreeViewSlotProps, RichTreeViewItemsSlotProps {
20
- root?: SlotComponentProps<'ul', {}, RichTreeViewProps<R, Multiple>>;
21
- }
18
+ export interface RichTreeViewSlotProps<R extends {}, Multiple extends boolean | undefined> extends TreeViewSlotProps, RichTreeViewItemsSlotProps<RichTreeViewProps<R, Multiple>> {}
22
19
  export type RichTreeViewApiRef<R extends TreeViewValidItem<R> = any, Multiple extends boolean | undefined = any> = React.RefObject<Partial<TreeViewPublicAPI<RichTreeViewStore<R, Multiple>>> | undefined>;
23
20
  export interface RichTreeViewPropsBase extends React.HTMLAttributes<HTMLUListElement> {
24
21
  className?: string;
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.useExtractRichTreeViewParameters = useExtractRichTreeViewParameters;
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
- const _excluded = ["apiRef", "slots", "slotProps", "disabledItemsFocusable", "items", "isItemDisabled", "isItemSelectionDisabled", "getItemLabel", "getItemChildren", "getItemId", "onItemClick", "itemChildrenIndentation", "id", "expandedItems", "defaultExpandedItems", "onExpandedItemsChange", "onItemExpansionToggle", "expansionTrigger", "disableSelection", "selectedItems", "defaultSelectedItems", "multiSelect", "checkboxSelection", "selectionPropagation", "onSelectedItemsChange", "onItemSelectionToggle", "onItemFocus", "onItemLabelChange", "isItemEditable"];
11
+ const _excluded = ["apiRef", "slots", "slotProps", "disabledItemsFocusable", "items", "isItemDisabled", "isItemSelectionDisabled", "getItemLabel", "getItemChildren", "getItemId", "onItemClick", "itemChildrenIndentation", "id", "expandedItems", "defaultExpandedItems", "onExpandedItemsChange", "onItemExpansionToggle", "expansionTrigger", "disableSelection", "selectedItems", "defaultSelectedItems", "multiSelect", "checkboxSelection", "selectionPropagation", "onSelectedItemsChange", "onItemSelectionToggle", "onItemFocus", "itemHeight", "onItemLabelChange", "isItemEditable", "domStructure"];
12
12
  function useExtractRichTreeViewParameters(props) {
13
13
  const {
14
14
  // Props for Provider
@@ -40,9 +40,11 @@ function useExtractRichTreeViewParameters(props) {
40
40
  onSelectedItemsChange,
41
41
  onItemSelectionToggle,
42
42
  onItemFocus,
43
+ itemHeight,
43
44
  // RichTreeViewStore parameters
44
45
  onItemLabelChange,
45
- isItemEditable
46
+ isItemEditable,
47
+ domStructure
46
48
 
47
49
  // Forwarded props
48
50
  } = props,
@@ -73,14 +75,16 @@ function useExtractRichTreeViewParameters(props) {
73
75
  onSelectedItemsChange,
74
76
  onItemSelectionToggle,
75
77
  onItemFocus,
78
+ itemHeight,
76
79
  // RichTreeViewStore parameters
77
80
  onItemLabelChange,
78
- isItemEditable
81
+ isItemEditable,
82
+ domStructure
79
83
  }), [
80
84
  // Shared parameters
81
- disabledItemsFocusable, items, isItemDisabled, isItemSelectionDisabled, getItemLabel, getItemChildren, getItemId, onItemClick, itemChildrenIndentation, id, expandedItems, defaultExpandedItems, onExpandedItemsChange, onItemExpansionToggle, expansionTrigger, disableSelection, selectedItems, defaultSelectedItems, multiSelect, checkboxSelection, selectionPropagation, onSelectedItemsChange, onItemSelectionToggle, onItemFocus,
85
+ disabledItemsFocusable, items, isItemDisabled, isItemSelectionDisabled, getItemLabel, getItemChildren, getItemId, onItemClick, itemChildrenIndentation, id, expandedItems, defaultExpandedItems, onExpandedItemsChange, onItemExpansionToggle, expansionTrigger, disableSelection, selectedItems, defaultSelectedItems, multiSelect, checkboxSelection, selectionPropagation, onSelectedItemsChange, onItemSelectionToggle, onItemFocus, itemHeight,
82
86
  // RichTreeViewStore parameters
83
- onItemLabelChange, isItemEditable]);
87
+ onItemLabelChange, isItemEditable, domStructure]);
84
88
  return {
85
89
  apiRef,
86
90
  slots,
@@ -192,6 +192,11 @@ process.env.NODE_ENV !== "production" ? SimpleTreeView.propTypes = {
192
192
  * @default 12px
193
193
  */
194
194
  itemChildrenIndentation: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
195
+ /**
196
+ * Sets the height in pixel of an item.
197
+ * If not provided, no height restriction is applied to the tree item content element.
198
+ */
199
+ itemHeight: _propTypes.default.number,
195
200
  /**
196
201
  * Whether multiple items can be selected.
197
202
  * @default false
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.useExtractSimpleTreeViewParameters = useExtractSimpleTreeViewParameters;
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
- const _excluded = ["apiRef", "slots", "slotProps", "disabledItemsFocusable", "onItemClick", "itemChildrenIndentation", "id", "expandedItems", "defaultExpandedItems", "onExpandedItemsChange", "onItemExpansionToggle", "expansionTrigger", "disableSelection", "selectedItems", "defaultSelectedItems", "multiSelect", "checkboxSelection", "selectionPropagation", "onSelectedItemsChange", "onItemSelectionToggle", "onItemFocus"];
11
+ const _excluded = ["apiRef", "slots", "slotProps", "disabledItemsFocusable", "onItemClick", "itemChildrenIndentation", "id", "expandedItems", "defaultExpandedItems", "onExpandedItemsChange", "onItemExpansionToggle", "expansionTrigger", "disableSelection", "selectedItems", "defaultSelectedItems", "multiSelect", "checkboxSelection", "selectionPropagation", "onSelectedItemsChange", "onItemSelectionToggle", "onItemFocus", "itemHeight"];
12
12
  function useExtractSimpleTreeViewParameters(props) {
13
13
  const {
14
14
  // Props for Provider
@@ -33,7 +33,8 @@ function useExtractSimpleTreeViewParameters(props) {
33
33
  selectionPropagation,
34
34
  onSelectedItemsChange,
35
35
  onItemSelectionToggle,
36
- onItemFocus
36
+ onItemFocus,
37
+ itemHeight
37
38
 
38
39
  // SimpleTreeViewStore parameters
39
40
 
@@ -59,12 +60,13 @@ function useExtractSimpleTreeViewParameters(props) {
59
60
  selectionPropagation,
60
61
  onSelectedItemsChange,
61
62
  onItemSelectionToggle,
62
- onItemFocus
63
+ onItemFocus,
64
+ itemHeight
63
65
 
64
66
  // SimpleTreeViewStore parameters
65
67
  }), [
66
68
  // Shared parameters
67
- disabledItemsFocusable, onItemClick, itemChildrenIndentation, id, expandedItems, defaultExpandedItems, onExpandedItemsChange, onItemExpansionToggle, expansionTrigger, disableSelection, selectedItems, defaultSelectedItems, multiSelect, checkboxSelection, selectionPropagation, onSelectedItemsChange, onItemSelectionToggle, onItemFocus
69
+ disabledItemsFocusable, onItemClick, itemChildrenIndentation, id, expandedItems, defaultExpandedItems, onExpandedItemsChange, onItemExpansionToggle, expansionTrigger, disableSelection, selectedItems, defaultSelectedItems, multiSelect, checkboxSelection, selectionPropagation, onSelectedItemsChange, onItemSelectionToggle, onItemFocus, itemHeight
68
70
 
69
71
  // SimpleTreeViewStore parameters
70
72
  ]);
@@ -15,7 +15,7 @@ export declare const TreeItemErrorContainer: import("@emotion/styled").StyledCom
15
15
  export declare const TreeItemLoadingContainer: import("@emotion/styled").StyledComponent<Pick<import("@mui/material/CircularProgress").CircularProgressProps, keyof import("@mui/material/CircularProgress").CircularProgressProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
16
16
  export declare const TreeItemCheckbox: import("@emotion/styled").StyledComponent<Pick<Omit<CheckboxProps & {
17
17
  visible?: boolean;
18
- }, "ref"> & React.RefAttributes<HTMLButtonElement>, "form" | "slot" | "style" | "title" | "aria-expanded" | "aria-disabled" | "onDoubleClick" | "aria-hidden" | "content" | "disabled" | "slots" | "slotProps" | "className" | "classes" | "color" | "sx" | "suppressHydrationWarning" | "id" | "lang" | "name" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-dropeffect" | "aria-errormessage" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "icon" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "action" | "checked" | "visible" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "nonce" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "exportparts" | "part" | "indeterminate" | "readOnly" | "required" | "size" | "component" | "checkedIcon" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "inputProps" | "inputRef" | "indeterminateIcon" | keyof React.RefAttributes<HTMLButtonElement>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
18
+ }, "ref"> & React.RefAttributes<HTMLButtonElement>, "form" | "slot" | "style" | "title" | "aria-expanded" | "aria-disabled" | "onDoubleClick" | "aria-hidden" | "content" | "disabled" | "slots" | "slotProps" | "className" | "classes" | "color" | "sx" | "suppressHydrationWarning" | "id" | "lang" | "name" | "nonce" | "part" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-dropeffect" | "aria-errormessage" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "icon" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "action" | "checked" | "visible" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "spellCheck" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "exportparts" | "indeterminate" | "readOnly" | "required" | "size" | "component" | "checkedIcon" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "inputProps" | "inputRef" | "indeterminateIcon" | keyof React.RefAttributes<HTMLButtonElement>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
19
19
  type TreeItemComponent = ((props: TreeItemProps & React.RefAttributes<HTMLLIElement>) => React.JSX.Element) & {
20
20
  propTypes?: any;
21
21
  };
@@ -27,7 +27,7 @@ var _TreeItemIcon = require("../TreeItemIcon");
27
27
  var _TreeItemDragAndDropOverlay = require("../TreeItemDragAndDropOverlay");
28
28
  var _TreeItemProvider = require("../TreeItemProvider");
29
29
  var _TreeItemLabelInput = require("../TreeItemLabelInput");
30
- var _TreeViewStyleContext = require("../internals/TreeViewProvider/TreeViewStyleContext");
30
+ var _TreeViewProvider = require("../internals/TreeViewProvider");
31
31
  var _jsxRuntime = require("react/jsx-runtime");
32
32
  const _excluded = ["visible"],
33
33
  _excluded2 = ["id", "itemId", "label", "disabled", "disableSelection", "children", "slots", "slotProps", "classes"];
@@ -52,6 +52,7 @@ const TreeItemContent = exports.TreeItemContent = (0, _zeroStyled.styled)('div',
52
52
  paddingLeft: `calc(${theme.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`,
53
53
  borderRadius: theme.shape.borderRadius,
54
54
  width: '100%',
55
+ height: 'var(--TreeView-itemHeight, unset)',
55
56
  boxSizing: 'border-box',
56
57
  // prevent width + padding to overflow
57
58
  position: 'relative',
@@ -173,7 +174,7 @@ if (process.env.NODE_ENV !== "production") TreeItemCheckbox.displayName = "TreeI
173
174
  const useUtilityClasses = classesProp => {
174
175
  const {
175
176
  classes: classesFromTreeView
176
- } = (0, _TreeViewStyleContext.useTreeViewStyleContext)();
177
+ } = (0, _TreeViewProvider.useTreeViewStyleContext)();
177
178
  const classes = (0, _extends2.default)({}, classesProp, {
178
179
  root: (0, _clsx.default)(classesProp?.root, classesFromTreeView.root),
179
180
  content: (0, _clsx.default)(classesProp?.content, classesFromTreeView.itemContent),
@@ -13,7 +13,7 @@ var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
15
15
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
16
- var _TreeViewStyleContext = require("../internals/TreeViewProvider/TreeViewStyleContext");
16
+ var _TreeViewProvider = require("../internals/TreeViewProvider");
17
17
  var _icons = require("../icons");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  const _excluded = ["ownerState"];
@@ -35,7 +35,7 @@ function TreeItemIcon(props) {
35
35
  const {
36
36
  slots: slotsFromTreeView,
37
37
  slotProps: slotPropsFromTreeView
38
- } = (0, _TreeViewStyleContext.useTreeViewStyleContext)();
38
+ } = (0, _TreeViewProvider.useTreeViewStyleContext)();
39
39
  const slots = {
40
40
  collapseIcon: pickIcon(slotsFromTreeItem?.collapseIcon, slotsFromTreeView.collapseIcon, _icons.TreeViewCollapseIcon),
41
41
  expandIcon: pickIcon(slotsFromTreeItem?.expandIcon, slotsFromTreeView.expandIcon, _icons.TreeViewExpandIcon),