@mui/x-tree-view 6.0.0-alpha.2 → 6.0.0-alpha.4

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 (267) hide show
  1. package/CHANGELOG.md +162 -1
  2. package/README.md +3 -9
  3. package/TreeItem/TreeItem.d.ts +2 -2
  4. package/TreeItem/TreeItem.js +25 -34
  5. package/TreeItem/useTreeItem.js +18 -27
  6. package/TreeView/TreeView.d.ts +6 -3
  7. package/TreeView/TreeView.js +67 -710
  8. package/TreeView/TreeView.types.d.ts +4 -147
  9. package/index.d.ts +1 -0
  10. package/index.js +3 -2
  11. package/{TreeView/descendants.d.ts → internals/TreeViewProvider/DescendantProvider.d.ts} +1 -5
  12. package/internals/TreeViewProvider/TreeViewContext.d.ts +7 -0
  13. package/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +8 -18
  14. package/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
  15. package/internals/TreeViewProvider/TreeViewProvider.js +21 -0
  16. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +18 -0
  17. package/internals/TreeViewProvider/index.d.ts +2 -0
  18. package/internals/TreeViewProvider/index.js +1 -0
  19. package/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
  20. package/internals/TreeViewProvider/useTreeViewContext.js +3 -0
  21. package/internals/corePlugins/corePlugins.d.ts +7 -0
  22. package/internals/corePlugins/corePlugins.js +6 -0
  23. package/internals/corePlugins/index.d.ts +2 -0
  24. package/internals/corePlugins/index.js +1 -0
  25. package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
  26. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  27. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +8 -0
  28. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +35 -0
  29. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +21 -0
  30. package/internals/hooks/useInstanceEventHandler.d.ts +15 -0
  31. package/internals/hooks/useInstanceEventHandler.js +82 -0
  32. package/internals/models/events.d.ts +9 -0
  33. package/internals/models/helpers.d.ts +13 -0
  34. package/internals/models/helpers.js +1 -0
  35. package/internals/models/index.d.ts +3 -0
  36. package/internals/models/index.js +3 -0
  37. package/internals/models/plugin.d.ts +69 -0
  38. package/internals/models/plugin.js +1 -0
  39. package/internals/models/treeView.d.ts +23 -0
  40. package/internals/models/treeView.js +1 -0
  41. package/internals/plugins/defaultPlugins.d.ts +10 -0
  42. package/internals/plugins/defaultPlugins.js +9 -0
  43. package/internals/plugins/index.d.ts +2 -0
  44. package/internals/plugins/index.js +1 -0
  45. package/internals/plugins/useTreeViewContextValueBuilder/index.d.ts +2 -0
  46. package/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  47. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.d.ts +3 -0
  48. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +24 -0
  49. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.d.ts +34 -0
  50. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  51. package/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
  52. package/internals/plugins/useTreeViewExpansion/index.js +1 -0
  53. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
  54. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +63 -0
  55. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +32 -0
  56. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  57. package/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
  58. package/internals/plugins/useTreeViewFocus/index.js +1 -0
  59. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
  60. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +77 -0
  61. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +25 -0
  62. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  63. package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
  64. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  65. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
  66. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +223 -0
  67. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +14 -0
  68. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  69. package/internals/plugins/useTreeViewNodes/index.d.ts +2 -0
  70. package/internals/plugins/useTreeViewNodes/index.js +1 -0
  71. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.d.ts +3 -0
  72. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +60 -0
  73. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.d.ts +27 -0
  74. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  75. package/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
  76. package/internals/plugins/useTreeViewSelection/index.js +1 -0
  77. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
  78. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +172 -0
  79. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +49 -0
  80. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  81. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +17 -0
  82. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  83. package/internals/useTreeView/index.d.ts +2 -0
  84. package/internals/useTreeView/index.js +1 -0
  85. package/internals/useTreeView/useTreeView.d.ts +3 -0
  86. package/internals/useTreeView/useTreeView.js +65 -0
  87. package/internals/useTreeView/useTreeView.types.d.ts +20 -0
  88. package/internals/useTreeView/useTreeView.types.js +1 -0
  89. package/internals/useTreeView/useTreeView.utils.d.ts +8 -0
  90. package/internals/useTreeView/useTreeView.utils.js +43 -0
  91. package/internals/useTreeView/useTreeViewModels.d.ts +6 -0
  92. package/internals/useTreeView/useTreeViewModels.js +63 -0
  93. package/internals/utils/EventManager.d.ts +29 -0
  94. package/internals/utils/EventManager.js +69 -0
  95. package/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
  96. package/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  97. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
  98. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +18 -0
  99. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +10 -0
  100. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +38 -0
  101. package/internals/utils/publishTreeViewEvent.d.ts +5 -0
  102. package/internals/utils/publishTreeViewEvent.js +3 -0
  103. package/legacy/TreeItem/TreeItem.js +28 -35
  104. package/legacy/TreeItem/useTreeItem.js +18 -27
  105. package/legacy/TreeView/TreeView.js +67 -768
  106. package/legacy/index.js +3 -2
  107. package/legacy/internals/TreeViewProvider/TreeViewContext.js +21 -0
  108. package/legacy/internals/TreeViewProvider/TreeViewProvider.js +19 -0
  109. package/legacy/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
  110. package/legacy/internals/TreeViewProvider/index.js +1 -0
  111. package/legacy/internals/TreeViewProvider/useTreeViewContext.js +5 -0
  112. package/legacy/internals/corePlugins/corePlugins.js +6 -0
  113. package/legacy/internals/corePlugins/index.js +1 -0
  114. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  115. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +45 -0
  116. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
  117. package/legacy/internals/hooks/useInstanceEventHandler.js +87 -0
  118. package/legacy/internals/models/events.js +1 -0
  119. package/legacy/internals/models/helpers.js +1 -0
  120. package/legacy/internals/models/index.js +3 -0
  121. package/legacy/internals/models/plugin.js +1 -0
  122. package/legacy/internals/models/treeView.js +1 -0
  123. package/legacy/internals/plugins/defaultPlugins.js +9 -0
  124. package/legacy/internals/plugins/index.js +1 -0
  125. package/legacy/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  126. package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +25 -0
  127. package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  128. package/legacy/internals/plugins/useTreeViewExpansion/index.js +1 -0
  129. package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +66 -0
  130. package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  131. package/legacy/internals/plugins/useTreeViewFocus/index.js +1 -0
  132. package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +87 -0
  133. package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  134. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  135. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +226 -0
  136. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  137. package/legacy/internals/plugins/useTreeViewNodes/index.js +1 -0
  138. package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +71 -0
  139. package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  140. package/legacy/internals/plugins/useTreeViewSelection/index.js +1 -0
  141. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +188 -0
  142. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  143. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  144. package/legacy/internals/useTreeView/index.js +1 -0
  145. package/legacy/internals/useTreeView/useTreeView.js +71 -0
  146. package/legacy/internals/useTreeView/useTreeView.types.js +1 -0
  147. package/legacy/internals/useTreeView/useTreeView.utils.js +46 -0
  148. package/legacy/internals/useTreeView/useTreeViewModels.js +76 -0
  149. package/legacy/internals/utils/EventManager.js +91 -0
  150. package/legacy/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  151. package/legacy/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +29 -0
  152. package/legacy/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +52 -0
  153. package/legacy/internals/utils/publishTreeViewEvent.js +3 -0
  154. package/modern/TreeItem/TreeItem.js +25 -34
  155. package/modern/TreeItem/useTreeItem.js +18 -27
  156. package/modern/TreeView/TreeView.js +67 -709
  157. package/modern/index.js +3 -2
  158. package/modern/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +8 -18
  159. package/modern/internals/TreeViewProvider/TreeViewProvider.js +21 -0
  160. package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
  161. package/modern/internals/TreeViewProvider/index.js +1 -0
  162. package/modern/internals/TreeViewProvider/useTreeViewContext.js +3 -0
  163. package/modern/internals/corePlugins/corePlugins.js +6 -0
  164. package/modern/internals/corePlugins/index.js +1 -0
  165. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  166. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +35 -0
  167. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
  168. package/modern/internals/hooks/useInstanceEventHandler.js +77 -0
  169. package/modern/internals/models/events.js +1 -0
  170. package/modern/internals/models/helpers.js +1 -0
  171. package/modern/internals/models/index.js +3 -0
  172. package/modern/internals/models/plugin.js +1 -0
  173. package/modern/internals/models/treeView.js +1 -0
  174. package/modern/internals/plugins/defaultPlugins.js +9 -0
  175. package/modern/internals/plugins/index.js +1 -0
  176. package/modern/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  177. package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +24 -0
  178. package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  179. package/modern/internals/plugins/useTreeViewExpansion/index.js +1 -0
  180. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +57 -0
  181. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  182. package/modern/internals/plugins/useTreeViewFocus/index.js +1 -0
  183. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +72 -0
  184. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  185. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  186. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +222 -0
  187. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  188. package/modern/internals/plugins/useTreeViewNodes/index.js +1 -0
  189. package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +60 -0
  190. package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  191. package/modern/internals/plugins/useTreeViewSelection/index.js +1 -0
  192. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +169 -0
  193. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  194. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  195. package/modern/internals/useTreeView/index.js +1 -0
  196. package/modern/internals/useTreeView/useTreeView.js +65 -0
  197. package/modern/internals/useTreeView/useTreeView.types.js +1 -0
  198. package/modern/internals/useTreeView/useTreeView.utils.js +43 -0
  199. package/modern/internals/useTreeView/useTreeViewModels.js +63 -0
  200. package/modern/internals/utils/EventManager.js +69 -0
  201. package/modern/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  202. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +18 -0
  203. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +38 -0
  204. package/modern/internals/utils/publishTreeViewEvent.js +3 -0
  205. package/node/TreeItem/TreeItem.js +27 -36
  206. package/node/TreeItem/useTreeItem.js +18 -29
  207. package/node/TreeView/TreeView.js +67 -709
  208. package/node/index.js +14 -2
  209. package/node/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +10 -19
  210. package/node/internals/TreeViewProvider/TreeViewProvider.js +29 -0
  211. package/node/internals/TreeViewProvider/index.js +12 -0
  212. package/node/internals/TreeViewProvider/useTreeViewContext.js +12 -0
  213. package/node/internals/corePlugins/corePlugins.js +13 -0
  214. package/node/internals/corePlugins/index.js +12 -0
  215. package/node/internals/corePlugins/useTreeViewInstanceEvents/index.js +12 -0
  216. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +44 -0
  217. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +5 -0
  218. package/node/internals/hooks/useInstanceEventHandler.js +88 -0
  219. package/node/internals/models/events.js +5 -0
  220. package/node/internals/models/helpers.js +5 -0
  221. package/node/internals/models/index.js +38 -0
  222. package/node/internals/models/plugin.js +5 -0
  223. package/node/internals/models/treeView.js +5 -0
  224. package/node/internals/plugins/defaultPlugins.js +16 -0
  225. package/node/internals/plugins/index.js +12 -0
  226. package/node/internals/plugins/useTreeViewContextValueBuilder/index.js +12 -0
  227. package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +32 -0
  228. package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +5 -0
  229. package/node/internals/plugins/useTreeViewExpansion/index.js +12 -0
  230. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +67 -0
  231. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +5 -0
  232. package/node/internals/plugins/useTreeViewFocus/index.js +12 -0
  233. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +82 -0
  234. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +5 -0
  235. package/node/internals/plugins/useTreeViewKeyboardNavigation/index.js +12 -0
  236. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +232 -0
  237. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +5 -0
  238. package/node/internals/plugins/useTreeViewNodes/index.js +12 -0
  239. package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +70 -0
  240. package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +5 -0
  241. package/node/internals/plugins/useTreeViewSelection/index.js +12 -0
  242. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +179 -0
  243. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +5 -0
  244. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +62 -0
  245. package/node/internals/useTreeView/index.js +12 -0
  246. package/node/internals/useTreeView/useTreeView.js +75 -0
  247. package/node/internals/useTreeView/useTreeView.types.js +5 -0
  248. package/node/internals/useTreeView/useTreeView.utils.js +54 -0
  249. package/node/internals/useTreeView/useTreeViewModels.js +73 -0
  250. package/node/internals/utils/EventManager.js +76 -0
  251. package/node/internals/utils/cleanupTracking/CleanupTracking.js +5 -0
  252. package/node/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +25 -0
  253. package/node/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +45 -0
  254. package/node/internals/utils/publishTreeViewEvent.js +10 -0
  255. package/package.json +3 -3
  256. package/themeAugmentation/props.d.ts +1 -1
  257. package/TreeView/TreeViewContext.d.ts +0 -6
  258. package/internals/models.d.ts +0 -1
  259. package/legacy/TreeView/TreeViewContext.js +0 -41
  260. /package/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  261. /package/internals/{models.js → TreeViewProvider/TreeViewProvider.types.js} +0 -0
  262. /package/{legacy/internals/models.js → internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js} +0 -0
  263. /package/{modern/internals/models.js → internals/models/events.js} +0 -0
  264. /package/legacy/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  265. /package/modern/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  266. /package/node/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  267. /package/node/internals/{models.js → TreeViewProvider/TreeViewProvider.types.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,166 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 6.15.0
7
+
8
+ _Sep 22, 2023_
9
+
10
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🚀 Implement columns auto-sizing (#10180) @romgrk
13
+ - 🎁 Add support for `getRowsToExport` option to print export on the data grid (#10084) @zreecespieces
14
+ - 🌍 Improve Finnish (fi-FI) locale
15
+ - 🐞 Bugfixes
16
+ - 📚 Documentation improvements
17
+
18
+ ### Data Grid
19
+
20
+ #### `@mui/x-data-grid@6.15.0`
21
+
22
+ - [DataGrid] Add support for `getRowsToExport` option to print export (#10084) @zreecespieces
23
+ - [DataGrid] Fix dev warning about `InputLabelProps` (#10413) @romgrk
24
+ - [DataGrid] Refactor `GridMenu` prop `onClickAway` to `onClose` (#10411) @romgrk
25
+ - [DataGrid] Restore focus after `GridMenu` closes (#10412) @romgrk
26
+ - [DataGrid] Fix typing of `GridActionsCellItem` (#10344) @romgrk
27
+ - [DataGrid] Hide `eval` from bundlers (#10329) @romgrk
28
+ - [DataGrid] Add `border: 0` to unmounted focused cell to avoid layout shifts in that row (#10318) @lauri865
29
+
30
+ #### `@mui/x-data-grid-pro@6.15.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
31
+
32
+ Same changes as in `@mui/x-data-grid@6.15.0`, plus:
33
+
34
+ - [DataGridPro] Implement columns auto-sizing (#10180) @romgrk
35
+ - [DataGridPro] Fix keyboard navigation issue in header filters (#10358) @MBilalShafi
36
+ - [DataGridPro] Add missing row hover styles (#10252) @cherniavskii
37
+ - [DataGridPro] Make default filter items have stable references in header filters (#10338) @MBilalShafi
38
+
39
+ #### `@mui/x-data-grid-premium@6.15.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
40
+
41
+ Same changes as in `@mui/x-data-grid-pro@6.15.0`.
42
+
43
+ ### Date Pickers
44
+
45
+ #### `@mui/x-date-pickers@6.15.0`
46
+
47
+ - [pickers] Support tokens without spaces (#10185) @alexfauquette
48
+ - [l10n] Improve Finnish (fi-FI) locale (#10346) @samijouppila
49
+
50
+ #### `@mui/x-date-pickers-pro@6.15.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
51
+
52
+ Same changes as in `@mui/x-date-pickers@6.15.0`.
53
+
54
+ ### Charts / `@mui/x-charts@6.0.0-alpha.12`
55
+
56
+ - [charts] Fix sparkline scale and rendering (#10402) @alexfauquette
57
+ - [charts] Remove components from `@mui/material` (#10115) @alexfauquette
58
+
59
+ ### Tree View / `@mui/x-tree-view@6.0.0-alpha.4`
60
+
61
+ - [TreeView] Split features into plugins to prepare for Pro version (#10123) @flaviendelangle
62
+
63
+ ### Docs
64
+
65
+ - [docs] Add charts documentation pages to complete pricing table (#10394) @alexfauquette
66
+ - [docs] Add missing MIT packages on the Licensing page (#10348) @flaviendelangle
67
+ - [docs] Clearer component pattern @oliviertassinari
68
+ - [docs] Easier to understand demo (#10370) @oliviertassinari
69
+ - [docs] Fix `301` to Material UI @oliviertassinari
70
+ - [docs] Improve the column visibility section (#10327) @MBilalShafi
71
+ - [docs] Improve the documentation section `rowIdentifier` (#10326) @MBilalShafi
72
+ - [docs] Improve pickers localization documentation (#10202) @flaviendelangle
73
+ - [docs] Polish typescript ref usage (#10359) @oliviertassinari
74
+ - [docs] Improve charts tooltip wording (#10406) @alexfauquette
75
+
76
+ ### Core
77
+
78
+ - [core] Cleanup GitHub issues template (#10372) @romgrk
79
+ - [core] Fix Circle CI OOM (#10385) @romgrk
80
+ - [core] Improve sleep test helper @oliviertassinari
81
+ - [core] Remove unwanted prefixes @oliviertassinari
82
+ - [core] Remove duplicate label @oliviertassinari
83
+ - [core] Simplify source @oliviertassinari
84
+ - [core] Upgrade monorepo (#10425) @cherniavskii
85
+ - [core] Upgrade monorepo to have the new typescript-to-proptype (#10224) @flaviendelangle
86
+ - [test] Do not use deprecated adapter methods (#10416) @flaviendelangle
87
+ - [test] Name test suites according to sentence case (#10429) @alexfauquette
88
+
89
+ ## 6.14.0
90
+
91
+ _Sep 14, 2023_
92
+
93
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
94
+
95
+ - 🎁 Fix `YearCalendar` and `MonthCalendar` accessibility (#10312) @LukasTy
96
+
97
+ The `YearCalendar` and `MonthCalendar` items role has been changed from `button` to `radio` in order to improve the component's a11y support.
98
+ If you were relying on the mentioned components having a `button` role for items, you will need to update your usage to expect a `radio` role instead.
99
+
100
+ - 🌍 Improve Japanese (ja-JP), Persian (fa-IR), and Vietnamese (vi-VN) locales on the data grid
101
+ - 🐞 Bugfixes
102
+ - 📚 Documentation improvements
103
+
104
+ ### Data Grid
105
+
106
+ #### `@mui/x-data-grid@6.14.0`
107
+
108
+ - [l10n] Improve Japanese (ja-JP) locale (#10299) @makoto14
109
+ - [l10n] Improve Persian (fa-IR) locale (#10277) @aminsaedi
110
+ - [l10n] Improve Vietnamese (vi-VN) locale (#10280) @khangnguyen2100
111
+
112
+ #### `@mui/x-data-grid-pro@6.14.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
113
+
114
+ Same changes as in `@mui/x-data-grid@6.14.0`.
115
+
116
+ #### `@mui/x-data-grid-premium@6.14.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
117
+
118
+ Same changes as in `@mui/x-data-grid-pro@6.14.0`, plus:
119
+
120
+ - [DataGridPremium] Fix clipboard import cutting off at 100 rows (#9930) @gitstart
121
+
122
+ ### Date Pickers
123
+
124
+ #### `@mui/x-date-pickers@6.14.0`
125
+
126
+ - [pickers] Fix `YearCalendar` and `MonthCalendar` a11y (#10312) @LukasTy
127
+ - [pickers] Localize `TimeClock` meridiem text (#10324) @LukasTy
128
+
129
+ #### `@mui/x-date-pickers-pro@6.14.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
130
+
131
+ Same changes as in `@mui/x-date-pickers@6.14.0`.
132
+
133
+ ### Charts / `@mui/x-charts@6.0.0-alpha.11`
134
+
135
+ - [charts] Add default `barGapRatio` and increase `categoryGapRatio` (#10317) @LukasTy
136
+ - [charts] Enable `eslint` on the package (#10330) @LukasTy
137
+
138
+ ### Tree View / `@mui/x-tree-view@6.0.0-alpha.3`
139
+
140
+ - [TreeView] Fix box-sizing dependency (#10255) @oliviertassinari
141
+
142
+ ### Docs
143
+
144
+ - [docs] Add conditional range picker props example (#10227) @LukasTy
145
+ - [docs] Add toolbar to the multi-filters demo (#10223) @MBilalShafi
146
+ - [docs] Avoid the use of "We" @oliviertassinari
147
+ - [docs] Clarify MUI vs. MUI Core difference @oliviertassinari
148
+ - [docs] Enable `ariaV7` flag for demos using `useDemoData` hook (#10204) @cherniavskii
149
+ - [docs] Fix Tree View link to API references (#10282) @oliviertassinari
150
+ - [docs] Fix image layout shift (#10313) @oliviertassinari
151
+ - [docs] Fix link to MUI X from readme logo @oliviertassinari
152
+ - [docs] Fix redirection to Base UI URLs @oliviertassinari
153
+ - [docs] Improve Tree View demos (#10268) @oliviertassinari
154
+ - [docs] Improve docs for ref type props (#10273) @michelengelen
155
+ - [docs] Improve npm package README (#10269) @oliviertassinari
156
+ - [docs] Improve the clarity of the npm links @oliviertassinari
157
+ - [docs] Keep installation readme simple @oliviertassinari
158
+ - [docs] Make each component feel more standalone @oliviertassinari
159
+
160
+ ### Core
161
+
162
+ - [core] Add types extension for clarity @oliviertassinari
163
+ - [core] Set logo height to fix layout shift in GitHub @oliviertassinari
164
+ - [core] TrapFocus was renamed to FocusTrap @oliviertassinari
165
+
6
166
  ## 6.13.0
7
167
 
8
168
  _Sep 8, 2023_
@@ -12,6 +172,7 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
12
172
  - 🎁 Fix `anchorRef` behavior on range pickers (#10077) @LukasTy
13
173
 
14
174
  The range picker popup will now be anchored to the first input element and left aligned like other pickers.
175
+
15
176
  - 🌍 Improve Slovak (sk-SK) locale on the data grid
16
177
  - 🐞 Bugfixes
17
178
  - 📚 Documentation improvements
@@ -1838,7 +1999,7 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
1838
1999
  #### Changes
1839
2000
 
1840
2001
  - [DataGrid] Add interface for `singleSelect` column (#7685) @m4theushw
1841
- - [DataGrid] Allow to pass props to the `TrapFocus` inside the panel wrapper (#7733) @ivek-Prajapatii
2002
+ - [DataGrid] Allow to pass props to the `FocusTrap` inside the panel wrapper (#7733) @ivek-Prajapatii
1842
2003
  - [DataGrid] Avoid unnecessary rerenders after `updateRows` (#7857) @cherniavskii
1843
2004
  - [DataGridPro] Change cursor when dragging a column (#7725) @sai6855
1844
2005
  - [DataGridPremium] Fix `leafField` to have correct focus value (#7950) @MBilalShafi
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # @mui/x-tree-view
1
+ # MUI X Tree View
2
2
 
3
3
  This package is the community edition of the tree view components.
4
- It's part of MUI X, an open-core extension of MUI, with advanced components.
4
+ It's part of [MUI X](https://mui.com/x/), an open-core extension of MUI Core, with advanced components.
5
5
 
6
6
  ## Installation
7
7
 
@@ -11,12 +11,6 @@ Install the package in your project directory with:
11
11
  npm install @mui/x-tree-view
12
12
  ```
13
13
 
14
- or
15
-
16
- ```bash
17
- yarn add @mui/x-tree-view
18
- ```
19
-
20
14
  This component has the following peer dependencies that you will need to install as well.
21
15
 
22
16
  ```json
@@ -30,4 +24,4 @@ This component has the following peer dependencies that you will need to install
30
24
 
31
25
  ## Documentation
32
26
 
33
- WIP
27
+ Visit [https://mui.com/x/react-tree-view/](https://mui.com/x/react-tree-view/) to view the full documentation.
@@ -4,10 +4,10 @@ import { TreeItemProps } from './TreeItem.types';
4
4
  *
5
5
  * Demos:
6
6
  *
7
- * - [Tree View](https://mui.com/material-ui/react-tree-view/)
7
+ * - [Tree View](https://mui.com/x/react-tree-view/)
8
8
  *
9
9
  * API:
10
10
  *
11
- * - [TreeItem API](https://mui.com/material-ui/api/tree-item/)
11
+ * - [TreeItem API](https://mui.com/x/api/tree-view/tree-item/)
12
12
  */
13
13
  export declare const TreeItem: React.ForwardRefExoticComponent<TreeItemProps & React.RefAttributes<HTMLLIElement>>;
@@ -11,10 +11,10 @@ import useForkRef from '@mui/utils/useForkRef';
11
11
  import unsupportedProp from '@mui/utils/unsupportedProp';
12
12
  import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';
13
13
  import { unstable_composeClasses as composeClasses } from '@mui/base';
14
- import { TreeViewContext } from '../TreeView/TreeViewContext';
15
- import { DescendantProvider, useDescendant } from '../TreeView/descendants';
14
+ import { DescendantProvider, useDescendant } from '../internals/TreeViewProvider/DescendantProvider';
16
15
  import { TreeItemContent } from './TreeItemContent';
17
16
  import { treeItemClasses, getTreeItemUtilityClass } from './treeItemClasses';
17
+ import { useTreeViewContext } from '../internals/TreeViewProvider/useTreeViewContext';
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  import { jsxs as _jsxs } from "react/jsx-runtime";
20
20
  const useUtilityClasses = ownerState => {
@@ -59,6 +59,8 @@ const StyledTreeItemContent = styled(TreeItemContent, {
59
59
  }) => ({
60
60
  padding: '0 8px',
61
61
  width: '100%',
62
+ boxSizing: 'border-box',
63
+ // prevent width + padding to overflow
62
64
  display: 'flex',
63
65
  alignItems: 'center',
64
66
  cursor: 'pointer',
@@ -101,10 +103,12 @@ const StyledTreeItemContent = styled(TreeItemContent, {
101
103
  }
102
104
  },
103
105
  [`& .${treeItemClasses.label}`]: _extends({
106
+ paddingLeft: 4,
104
107
  width: '100%',
108
+ boxSizing: 'border-box',
109
+ // prevent width + padding to overflow
105
110
  // fixes overflow - see https://github.com/mui/material-ui/issues/27372
106
111
  minWidth: 0,
107
- paddingLeft: 4,
108
112
  position: 'relative'
109
113
  }, theme.typography.body1)
110
114
  }));
@@ -122,11 +126,11 @@ const TreeItemGroup = styled(Collapse, {
122
126
  *
123
127
  * Demos:
124
128
  *
125
- * - [Tree View](https://mui.com/material-ui/react-tree-view/)
129
+ * - [Tree View](https://mui.com/x/react-tree-view/)
126
130
  *
127
131
  * API:
128
132
  *
129
- * - [TreeItem API](https://mui.com/material-ui/api/tree-item/)
133
+ * - [TreeItem API](https://mui.com/x/api/tree-view/tree-item/)
130
134
  */
131
135
  export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, ref) {
132
136
  const props = useThemeProps({
@@ -154,19 +158,11 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
154
158
  other = _objectWithoutPropertiesLoose(props, _excluded);
155
159
  const {
156
160
  icons: contextIcons,
157
- focus,
158
- isExpanded,
159
- isFocused,
160
- isSelected,
161
- isDisabled,
162
161
  multiSelect,
163
162
  disabledItemsFocusable,
164
- mapFirstChar,
165
- unMapFirstChar,
166
- registerNode,
167
- unregisterNode,
168
- treeId
169
- } = React.useContext(TreeViewContext);
163
+ treeId,
164
+ instance
165
+ } = useTreeViewContext();
170
166
  let id;
171
167
  if (idProp != null) {
172
168
  id = idProp;
@@ -185,10 +181,10 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
185
181
  parentId
186
182
  } = useDescendant(descendant);
187
183
  const expandable = Boolean(Array.isArray(children) ? children.length : children);
188
- const expanded = isExpanded ? isExpanded(nodeId) : false;
189
- const focused = isFocused ? isFocused(nodeId) : false;
190
- const selected = isSelected ? isSelected(nodeId) : false;
191
- const disabled = isDisabled ? isDisabled(nodeId) : false;
184
+ const expanded = instance ? instance.isNodeExpanded(nodeId) : false;
185
+ const focused = instance ? instance.isNodeFocused(nodeId) : false;
186
+ const selected = instance ? instance.isNodeSelected(nodeId) : false;
187
+ const disabled = instance ? instance.isNodeDisabled(nodeId) : false;
192
188
  const ownerState = _extends({}, props, {
193
189
  expanded,
194
190
  focused,
@@ -212,8 +208,8 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
212
208
  }
213
209
  React.useEffect(() => {
214
210
  // On the first render a node's index will be -1. We want to wait for the real index.
215
- if (registerNode && unregisterNode && index !== -1) {
216
- registerNode({
211
+ if (instance && index !== -1) {
212
+ instance.updateNode({
217
213
  id: nodeId,
218
214
  idAttribute: id,
219
215
  index,
@@ -221,22 +217,17 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
221
217
  expandable,
222
218
  disabled: disabledProp
223
219
  });
224
- return () => {
225
- unregisterNode(nodeId);
226
- };
220
+ return () => instance.removeNode(nodeId);
227
221
  }
228
222
  return undefined;
229
- }, [registerNode, unregisterNode, parentId, index, nodeId, expandable, disabledProp, id]);
223
+ }, [instance, parentId, index, nodeId, expandable, disabledProp, id]);
230
224
  React.useEffect(() => {
231
- if (mapFirstChar && unMapFirstChar && label) {
225
+ if (instance && label) {
232
226
  var _contentRef$current$t, _contentRef$current;
233
- mapFirstChar(nodeId, ((_contentRef$current$t = (_contentRef$current = contentRef.current) == null ? void 0 : _contentRef$current.textContent) != null ? _contentRef$current$t : '').substring(0, 1).toLowerCase());
234
- return () => {
235
- unMapFirstChar(nodeId);
236
- };
227
+ return instance.mapFirstChar(nodeId, ((_contentRef$current$t = (_contentRef$current = contentRef.current) == null ? void 0 : _contentRef$current.textContent) != null ? _contentRef$current$t : '').substring(0, 1).toLowerCase());
237
228
  }
238
229
  return undefined;
239
- }, [mapFirstChar, unMapFirstChar, nodeId, label]);
230
+ }, [instance, nodeId, label]);
240
231
  let ariaSelected;
241
232
  if (multiSelect) {
242
233
  ariaSelected = selected;
@@ -263,8 +254,8 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
263
254
  });
264
255
  }
265
256
  const unfocusable = !disabledItemsFocusable && disabled;
266
- if (!focused && event.currentTarget === event.target && !unfocusable) {
267
- focus(event, nodeId);
257
+ if (instance && !focused && event.currentTarget === event.target && !unfocusable) {
258
+ instance.focusNode(event, nodeId);
268
259
  }
269
260
  }
270
261
  return /*#__PURE__*/_jsxs(TreeItemRoot, _extends({
@@ -1,52 +1,43 @@
1
- import * as React from 'react';
2
- import { TreeViewContext } from '../TreeView/TreeViewContext';
1
+ import { useTreeViewContext } from '../internals/TreeViewProvider/useTreeViewContext';
3
2
  export function useTreeItem(nodeId) {
4
3
  const {
5
- focus,
6
- isExpanded,
7
- isExpandable,
8
- isFocused,
9
- isDisabled,
10
- isSelected,
11
- multiSelect,
12
- selectNode,
13
- selectRange,
14
- toggleExpansion
15
- } = React.useContext(TreeViewContext);
16
- const expandable = isExpandable ? isExpandable(nodeId) : false;
17
- const expanded = isExpanded ? isExpanded(nodeId) : false;
18
- const focused = isFocused ? isFocused(nodeId) : false;
19
- const disabled = isDisabled ? isDisabled(nodeId) : false;
20
- const selected = isSelected ? isSelected(nodeId) : false;
4
+ instance,
5
+ multiSelect
6
+ } = useTreeViewContext();
7
+ const expandable = instance ? instance.isNodeExpandable(nodeId) : false;
8
+ const expanded = instance ? instance.isNodeExpanded(nodeId) : false;
9
+ const focused = instance ? instance.isNodeFocused(nodeId) : false;
10
+ const selected = instance ? instance.isNodeSelected(nodeId) : false;
11
+ const disabled = instance ? instance.isNodeDisabled(nodeId) : false;
21
12
  const handleExpansion = event => {
22
- if (!disabled) {
13
+ if (instance && !disabled) {
23
14
  if (!focused) {
24
- focus(event, nodeId);
15
+ instance.focusNode(event, nodeId);
25
16
  }
26
17
  const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
27
18
 
28
19
  // If already expanded and trying to toggle selection don't close
29
- if (expandable && !(multiple && isExpanded(nodeId))) {
30
- toggleExpansion(event, nodeId);
20
+ if (expandable && !(multiple && instance.isNodeExpanded(nodeId))) {
21
+ instance.toggleNodeExpansion(event, nodeId);
31
22
  }
32
23
  }
33
24
  };
34
25
  const handleSelection = event => {
35
- if (!disabled) {
26
+ if (instance && !disabled) {
36
27
  if (!focused) {
37
- focus(event, nodeId);
28
+ instance.focusNode(event, nodeId);
38
29
  }
39
30
  const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
40
31
  if (multiple) {
41
32
  if (event.shiftKey) {
42
- selectRange(event, {
33
+ instance.selectRange(event, {
43
34
  end: nodeId
44
35
  });
45
36
  } else {
46
- selectNode(event, nodeId, true);
37
+ instance.selectNode(event, nodeId, true);
47
38
  }
48
39
  } else {
49
- selectNode(event, nodeId);
40
+ instance.selectNode(event, nodeId);
50
41
  }
51
42
  }
52
43
  };
@@ -1,14 +1,17 @@
1
1
  import * as React from 'react';
2
2
  import { TreeViewProps } from './TreeView.types';
3
+ type TreeViewComponent = (<Multiple extends boolean | undefined>(props: TreeViewProps<Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
4
+ propTypes?: any;
5
+ };
3
6
  /**
4
7
  *
5
8
  * Demos:
6
9
  *
7
- * - [Tree View](https://mui.com/material-ui/react-tree-view/)
10
+ * - [Tree View](https://mui.com/x/react-tree-view/)
8
11
  *
9
12
  * API:
10
13
  *
11
- * - [TreeView API](https://mui.com/material-ui/api/tree-view/)
14
+ * - [TreeView API](https://mui.com/x/api/tree-view/tree-view/)
12
15
  */
13
- declare const TreeView: React.ForwardRefExoticComponent<TreeViewProps & React.RefAttributes<HTMLUListElement>>;
16
+ declare const TreeView: TreeViewComponent;
14
17
  export { TreeView };