@mui/x-tree-view 6.0.0-alpha.3 → 6.0.0-beta.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 (265) hide show
  1. package/CHANGELOG.md +167 -0
  2. package/TreeItem/TreeItem.js +18 -31
  3. package/TreeItem/useTreeItem.js +18 -27
  4. package/TreeView/TreeView.d.ts +4 -1
  5. package/TreeView/TreeView.js +65 -708
  6. package/TreeView/TreeView.types.d.ts +4 -147
  7. package/index.d.ts +1 -0
  8. package/index.js +3 -2
  9. package/{TreeView/descendants.d.ts → internals/TreeViewProvider/DescendantProvider.d.ts} +1 -5
  10. package/internals/TreeViewProvider/TreeViewContext.d.ts +7 -0
  11. package/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +8 -18
  12. package/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
  13. package/internals/TreeViewProvider/TreeViewProvider.js +21 -0
  14. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +18 -0
  15. package/internals/TreeViewProvider/index.d.ts +2 -0
  16. package/internals/TreeViewProvider/index.js +1 -0
  17. package/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
  18. package/internals/TreeViewProvider/useTreeViewContext.js +3 -0
  19. package/internals/corePlugins/corePlugins.d.ts +7 -0
  20. package/internals/corePlugins/corePlugins.js +6 -0
  21. package/internals/corePlugins/index.d.ts +2 -0
  22. package/internals/corePlugins/index.js +1 -0
  23. package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
  24. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  25. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +8 -0
  26. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +35 -0
  27. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +21 -0
  28. package/internals/hooks/useInstanceEventHandler.d.ts +15 -0
  29. package/internals/hooks/useInstanceEventHandler.js +82 -0
  30. package/internals/models/events.d.ts +9 -0
  31. package/internals/models/helpers.d.ts +13 -0
  32. package/internals/models/helpers.js +1 -0
  33. package/internals/models/index.d.ts +3 -0
  34. package/internals/models/index.js +3 -0
  35. package/internals/models/plugin.d.ts +69 -0
  36. package/internals/models/plugin.js +1 -0
  37. package/internals/models/treeView.d.ts +23 -0
  38. package/internals/models/treeView.js +1 -0
  39. package/internals/plugins/defaultPlugins.d.ts +10 -0
  40. package/internals/plugins/defaultPlugins.js +9 -0
  41. package/internals/plugins/index.d.ts +2 -0
  42. package/internals/plugins/index.js +1 -0
  43. package/internals/plugins/useTreeViewContextValueBuilder/index.d.ts +2 -0
  44. package/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  45. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.d.ts +3 -0
  46. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +24 -0
  47. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.d.ts +34 -0
  48. package/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  49. package/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
  50. package/internals/plugins/useTreeViewExpansion/index.js +1 -0
  51. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
  52. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +63 -0
  53. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +32 -0
  54. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  55. package/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
  56. package/internals/plugins/useTreeViewFocus/index.js +1 -0
  57. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
  58. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +89 -0
  59. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +27 -0
  60. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  61. package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
  62. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  63. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
  64. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +223 -0
  65. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +14 -0
  66. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  67. package/internals/plugins/useTreeViewNodes/index.d.ts +2 -0
  68. package/internals/plugins/useTreeViewNodes/index.js +1 -0
  69. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.d.ts +3 -0
  70. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +60 -0
  71. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.d.ts +27 -0
  72. package/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  73. package/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
  74. package/internals/plugins/useTreeViewSelection/index.js +1 -0
  75. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
  76. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +172 -0
  77. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +49 -0
  78. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  79. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +17 -0
  80. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  81. package/internals/useTreeView/index.d.ts +2 -0
  82. package/internals/useTreeView/index.js +1 -0
  83. package/internals/useTreeView/useTreeView.d.ts +3 -0
  84. package/internals/useTreeView/useTreeView.js +65 -0
  85. package/internals/useTreeView/useTreeView.types.d.ts +20 -0
  86. package/internals/useTreeView/useTreeView.types.js +1 -0
  87. package/internals/useTreeView/useTreeView.utils.d.ts +8 -0
  88. package/internals/useTreeView/useTreeView.utils.js +43 -0
  89. package/internals/useTreeView/useTreeViewModels.d.ts +6 -0
  90. package/internals/useTreeView/useTreeViewModels.js +63 -0
  91. package/internals/utils/EventManager.d.ts +29 -0
  92. package/internals/utils/EventManager.js +69 -0
  93. package/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
  94. package/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  95. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
  96. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +18 -0
  97. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +10 -0
  98. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +38 -0
  99. package/internals/utils/publishTreeViewEvent.d.ts +5 -0
  100. package/internals/utils/publishTreeViewEvent.js +3 -0
  101. package/legacy/TreeItem/TreeItem.js +21 -32
  102. package/legacy/TreeItem/useTreeItem.js +18 -27
  103. package/legacy/TreeView/TreeView.js +65 -766
  104. package/legacy/index.js +3 -2
  105. package/legacy/internals/TreeViewProvider/TreeViewContext.js +21 -0
  106. package/legacy/internals/TreeViewProvider/TreeViewProvider.js +19 -0
  107. package/legacy/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
  108. package/legacy/internals/TreeViewProvider/index.js +1 -0
  109. package/legacy/internals/TreeViewProvider/useTreeViewContext.js +5 -0
  110. package/legacy/internals/corePlugins/corePlugins.js +6 -0
  111. package/legacy/internals/corePlugins/index.js +1 -0
  112. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  113. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +45 -0
  114. package/legacy/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
  115. package/legacy/internals/hooks/useInstanceEventHandler.js +87 -0
  116. package/legacy/internals/models/events.js +1 -0
  117. package/legacy/internals/models/helpers.js +1 -0
  118. package/legacy/internals/models/index.js +3 -0
  119. package/legacy/internals/models/plugin.js +1 -0
  120. package/legacy/internals/models/treeView.js +1 -0
  121. package/legacy/internals/plugins/defaultPlugins.js +9 -0
  122. package/legacy/internals/plugins/index.js +1 -0
  123. package/legacy/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  124. package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +25 -0
  125. package/legacy/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  126. package/legacy/internals/plugins/useTreeViewExpansion/index.js +1 -0
  127. package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +66 -0
  128. package/legacy/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  129. package/legacy/internals/plugins/useTreeViewFocus/index.js +1 -0
  130. package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +99 -0
  131. package/legacy/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  132. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  133. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +226 -0
  134. package/legacy/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  135. package/legacy/internals/plugins/useTreeViewNodes/index.js +1 -0
  136. package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +71 -0
  137. package/legacy/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  138. package/legacy/internals/plugins/useTreeViewSelection/index.js +1 -0
  139. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +188 -0
  140. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  141. package/legacy/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  142. package/legacy/internals/useTreeView/index.js +1 -0
  143. package/legacy/internals/useTreeView/useTreeView.js +71 -0
  144. package/legacy/internals/useTreeView/useTreeView.types.js +1 -0
  145. package/legacy/internals/useTreeView/useTreeView.utils.js +46 -0
  146. package/legacy/internals/useTreeView/useTreeViewModels.js +76 -0
  147. package/legacy/internals/utils/EventManager.js +91 -0
  148. package/legacy/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  149. package/legacy/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +29 -0
  150. package/legacy/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +52 -0
  151. package/legacy/internals/utils/publishTreeViewEvent.js +3 -0
  152. package/modern/TreeItem/TreeItem.js +18 -31
  153. package/modern/TreeItem/useTreeItem.js +18 -27
  154. package/modern/TreeView/TreeView.js +65 -707
  155. package/modern/index.js +3 -2
  156. package/modern/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +8 -18
  157. package/modern/internals/TreeViewProvider/TreeViewProvider.js +21 -0
  158. package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
  159. package/modern/internals/TreeViewProvider/index.js +1 -0
  160. package/modern/internals/TreeViewProvider/useTreeViewContext.js +3 -0
  161. package/modern/internals/corePlugins/corePlugins.js +6 -0
  162. package/modern/internals/corePlugins/index.js +1 -0
  163. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  164. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +35 -0
  165. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
  166. package/modern/internals/hooks/useInstanceEventHandler.js +77 -0
  167. package/modern/internals/models/events.js +1 -0
  168. package/modern/internals/models/helpers.js +1 -0
  169. package/modern/internals/models/index.js +3 -0
  170. package/modern/internals/models/plugin.js +1 -0
  171. package/modern/internals/models/treeView.js +1 -0
  172. package/modern/internals/plugins/defaultPlugins.js +9 -0
  173. package/modern/internals/plugins/index.js +1 -0
  174. package/modern/internals/plugins/useTreeViewContextValueBuilder/index.js +1 -0
  175. package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +24 -0
  176. package/modern/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +1 -0
  177. package/modern/internals/plugins/useTreeViewExpansion/index.js +1 -0
  178. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +57 -0
  179. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  180. package/modern/internals/plugins/useTreeViewFocus/index.js +1 -0
  181. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +84 -0
  182. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  183. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  184. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +222 -0
  185. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  186. package/modern/internals/plugins/useTreeViewNodes/index.js +1 -0
  187. package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +60 -0
  188. package/modern/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +1 -0
  189. package/modern/internals/plugins/useTreeViewSelection/index.js +1 -0
  190. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +169 -0
  191. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  192. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +55 -0
  193. package/modern/internals/useTreeView/index.js +1 -0
  194. package/modern/internals/useTreeView/useTreeView.js +65 -0
  195. package/modern/internals/useTreeView/useTreeView.types.js +1 -0
  196. package/modern/internals/useTreeView/useTreeView.utils.js +43 -0
  197. package/modern/internals/useTreeView/useTreeViewModels.js +63 -0
  198. package/modern/internals/utils/EventManager.js +69 -0
  199. package/modern/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  200. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +18 -0
  201. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +38 -0
  202. package/modern/internals/utils/publishTreeViewEvent.js +3 -0
  203. package/node/TreeItem/TreeItem.js +20 -33
  204. package/node/TreeItem/useTreeItem.js +18 -29
  205. package/node/TreeView/TreeView.js +65 -707
  206. package/node/index.js +14 -2
  207. package/node/{TreeView → internals/TreeViewProvider}/TreeViewContext.js +10 -19
  208. package/node/internals/TreeViewProvider/TreeViewProvider.js +29 -0
  209. package/node/internals/TreeViewProvider/index.js +12 -0
  210. package/node/internals/TreeViewProvider/useTreeViewContext.js +12 -0
  211. package/node/internals/corePlugins/corePlugins.js +13 -0
  212. package/node/internals/corePlugins/index.js +12 -0
  213. package/node/internals/corePlugins/useTreeViewInstanceEvents/index.js +12 -0
  214. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +44 -0
  215. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +5 -0
  216. package/node/internals/hooks/useInstanceEventHandler.js +88 -0
  217. package/node/internals/models/events.js +5 -0
  218. package/node/internals/models/helpers.js +5 -0
  219. package/node/internals/models/index.js +38 -0
  220. package/node/internals/models/plugin.js +5 -0
  221. package/node/internals/models/treeView.js +5 -0
  222. package/node/internals/plugins/defaultPlugins.js +16 -0
  223. package/node/internals/plugins/index.js +12 -0
  224. package/node/internals/plugins/useTreeViewContextValueBuilder/index.js +12 -0
  225. package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.js +32 -0
  226. package/node/internals/plugins/useTreeViewContextValueBuilder/useTreeViewContextValueBuilder.types.js +5 -0
  227. package/node/internals/plugins/useTreeViewExpansion/index.js +12 -0
  228. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +67 -0
  229. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +5 -0
  230. package/node/internals/plugins/useTreeViewFocus/index.js +12 -0
  231. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +94 -0
  232. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +5 -0
  233. package/node/internals/plugins/useTreeViewKeyboardNavigation/index.js +12 -0
  234. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +232 -0
  235. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +5 -0
  236. package/node/internals/plugins/useTreeViewNodes/index.js +12 -0
  237. package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.js +70 -0
  238. package/node/internals/plugins/useTreeViewNodes/useTreeViewNodes.types.js +5 -0
  239. package/node/internals/plugins/useTreeViewSelection/index.js +12 -0
  240. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +179 -0
  241. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +5 -0
  242. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +62 -0
  243. package/node/internals/useTreeView/index.js +12 -0
  244. package/node/internals/useTreeView/useTreeView.js +75 -0
  245. package/node/internals/useTreeView/useTreeView.types.js +5 -0
  246. package/node/internals/useTreeView/useTreeView.utils.js +54 -0
  247. package/node/internals/useTreeView/useTreeViewModels.js +73 -0
  248. package/node/internals/utils/EventManager.js +76 -0
  249. package/node/internals/utils/cleanupTracking/CleanupTracking.js +5 -0
  250. package/node/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +25 -0
  251. package/node/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +45 -0
  252. package/node/internals/utils/publishTreeViewEvent.js +10 -0
  253. package/package.json +1 -1
  254. package/themeAugmentation/props.d.ts +1 -1
  255. package/TreeView/TreeViewContext.d.ts +0 -6
  256. package/internals/models.d.ts +0 -1
  257. package/legacy/TreeView/TreeViewContext.js +0 -41
  258. /package/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  259. /package/internals/{models.js → TreeViewProvider/TreeViewProvider.types.js} +0 -0
  260. /package/{legacy/internals/models.js → internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js} +0 -0
  261. /package/{modern/internals/models.js → internals/models/events.js} +0 -0
  262. /package/legacy/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  263. /package/modern/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  264. /package/node/{TreeView/descendants.js → internals/TreeViewProvider/DescendantProvider.js} +0 -0
  265. /package/node/internals/{models.js → TreeViewProvider/TreeViewProvider.types.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,173 @@
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.16.0
7
+
8
+ _Sep 29, 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
+ - 🎁 Add a clearable behavior to all the single input pickers and fields (#9095) @noraleonte
13
+
14
+ The pickers and fields now have an out-of-the box implementation for clearing the field value. You can see the documentation for this behavior on the [Date Picker documentation](https://mui.com/x/react-date-pickers/date-picker/#clearing-the-value).
15
+
16
+ <img width="380" alt="Clearable behavior" src="https://github.com/mui/mui-x/assets/72460825/e4a66169-83b5-4579-b9f6-6e15bb528411">
17
+
18
+ - 💫 Add Date Picker customization playground (#9581) @noraleonte
19
+
20
+ You can play around with style customization options on the [Date Picker documentation](https://mui.com/x/react-date-pickers/date-picker/#customization).
21
+
22
+ We are thrilled to hear your feedback about this functionality!
23
+
24
+ - 🚀 Fix header filters menu auto closing on render (#10483) @MBilalShafi
25
+ - 🎯 Fix column headers scroll when theme scoping is used (#10437) @cherniavskii
26
+ - 🌍 Improve Russian (ru-RU) locale on the data grid
27
+ - 🐞 Bugfixes
28
+ - 📚 Documentation improvements
29
+
30
+ ### Data Grid
31
+
32
+ #### `@mui/x-data-grid@6.16.0`
33
+
34
+ - [DataGrid] Fix column headers scroll when theme scoping is used (#10437) @cherniavskii
35
+ - [DataGrid] Rename `global` to `globalScope` due to Jest issue (#10470) @romgrk
36
+ - [l10n] Improve Russian (ru-RU) locale (#10464 and #10407) @NKodos
37
+
38
+ #### `@mui/x-data-grid-pro@6.16.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
39
+
40
+ Same changes as in `@mui/x-data-grid@6.16.0`, plus:
41
+
42
+ - [DataGridPro] Fix header filters menu auto closing on render (#10483) @MBilalShafi
43
+
44
+ #### `@mui/x-data-grid-premium@6.16.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
45
+
46
+ Same changes as in `@mui/x-data-grid-pro@6.16.0`.
47
+
48
+ ### Date Pickers
49
+
50
+ #### `@mui/x-date-pickers@6.16.0`
51
+
52
+ - [pickers] Add warning to `shouldDisableDate` validation (#10502) @michelengelen
53
+ - [pickers] Implement `clearable` field behavior (#9095) @noraleonte
54
+ - [pickers] Refactor `dayOfWeekFormatter` (#10345) @michelengelen
55
+
56
+ #### `@mui/x-date-pickers-pro@6.16.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
57
+
58
+ Same changes as in `@mui/x-date-pickers@6.16.0`.
59
+
60
+ ### Charts / `@mui/x-charts@6.0.0-alpha.13`
61
+
62
+ - [charts] Share upfront future Pro features (#10465) @oliviertassinari
63
+
64
+ ### Tree View / `@mui/x-tree-view@6.0.0-beta.0`
65
+
66
+ - [TreeView] Do not try to focus a collapsed node when re-focusing the TreeView (#10422) @flaviendelangle
67
+ - [TreeView] Fix the typing of the `Multiple` generic (#10478) @flaviendelangle
68
+
69
+ ### Docs
70
+
71
+ - [docs] Correct the typo in data grid api docs (#10477) @MBilalShafi
72
+ - [docs] Add customization playground (#9581) @noraleonte
73
+ - [docs] Fix Tree View product ID (#10428) @oliviertassinari
74
+ - [docs] Fix demo crashing when all rows are deleted (#10438) @cherniavskii
75
+ - [docs] Fix mobile scrollbar column resize (#10455) @oliviertassinari
76
+ - [docs] Fix usage of `GridRenderCellParams` interface (#10435) @cherniavskii
77
+
78
+ ### Core
79
+
80
+ - [core] Fix typo in header data grid quick filter @oliviertassinari
81
+ - [core] Group D3 renovate PRs (#10480) @flaviendelangle
82
+ - [core] Link the priority support page (#10495) @michelengelen
83
+ - [core] Move the pickers describes to the test utils folder (#10490) @flaviendelangle
84
+ - [core] Priority Support casing normalization @oliviertassinari
85
+ - [core] Remove automated DataGrid performance tests (#10414) @romgrk
86
+ - [core] Sync `prism-okaidia.css` with docs-infra @oliviertassinari
87
+ - [core] Update issue actions & templates (#10375) @romgrk
88
+ - [core] Update release guide (#10468) @DanailH
89
+
90
+ ## 6.15.0
91
+
92
+ _Sep 22, 2023_
93
+
94
+ We'd like to offer a big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
95
+
96
+ - 🚀 Implement columns auto-sizing (#10180) @romgrk
97
+ - 🎁 Add support for `getRowsToExport` option to print export on the data grid (#10084) @zreecespieces
98
+ - 🌍 Improve Finnish (fi-FI) locale
99
+ - 🐞 Bugfixes
100
+ - 📚 Documentation improvements
101
+
102
+ ### Data Grid
103
+
104
+ #### `@mui/x-data-grid@6.15.0`
105
+
106
+ - [DataGrid] Add support for `getRowsToExport` option to print export (#10084) @zreecespieces
107
+ - [DataGrid] Fix dev warning about `InputLabelProps` (#10413) @romgrk
108
+ - [DataGrid] Refactor `GridMenu` prop `onClickAway` to `onClose` (#10411) @romgrk
109
+ - [DataGrid] Restore focus after `GridMenu` closes (#10412) @romgrk
110
+ - [DataGrid] Fix typing of `GridActionsCellItem` (#10344) @romgrk
111
+ - [DataGrid] Hide `eval` from bundlers (#10329) @romgrk
112
+ - [DataGrid] Add `border: 0` to unmounted focused cell to avoid layout shifts in that row (#10318) @lauri865
113
+
114
+ #### `@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')
115
+
116
+ Same changes as in `@mui/x-data-grid@6.15.0`, plus:
117
+
118
+ - [DataGridPro] Implement columns auto-sizing (#10180) @romgrk
119
+ - [DataGridPro] Fix keyboard navigation issue in header filters (#10358) @MBilalShafi
120
+ - [DataGridPro] Add missing row hover styles (#10252) @cherniavskii
121
+ - [DataGridPro] Make default filter items have stable references in header filters (#10338) @MBilalShafi
122
+
123
+ #### `@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')
124
+
125
+ Same changes as in `@mui/x-data-grid-pro@6.15.0`.
126
+
127
+ ### Date Pickers
128
+
129
+ #### `@mui/x-date-pickers@6.15.0`
130
+
131
+ - [pickers] Support tokens without spaces (#10185) @alexfauquette
132
+ - [l10n] Improve Finnish (fi-FI) locale (#10346) @samijouppila
133
+
134
+ #### `@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')
135
+
136
+ Same changes as in `@mui/x-date-pickers@6.15.0`.
137
+
138
+ ### Charts / `@mui/x-charts@6.0.0-alpha.12`
139
+
140
+ - [charts] Fix sparkline scale and rendering (#10402) @alexfauquette
141
+ - [charts] Remove components from `@mui/material` (#10115) @alexfauquette
142
+
143
+ ### Tree View / `@mui/x-tree-view@6.0.0-alpha.4`
144
+
145
+ - [TreeView] Split features into plugins to prepare for Pro version (#10123) @flaviendelangle
146
+
147
+ ### Docs
148
+
149
+ - [docs] Add charts documentation pages to complete pricing table (#10394) @alexfauquette
150
+ - [docs] Add missing MIT packages on the Licensing page (#10348) @flaviendelangle
151
+ - [docs] Clearer component pattern @oliviertassinari
152
+ - [docs] Easier to understand demo (#10370) @oliviertassinari
153
+ - [docs] Fix `301` to Material UI @oliviertassinari
154
+ - [docs] Improve the column visibility section (#10327) @MBilalShafi
155
+ - [docs] Improve the documentation section `rowIdentifier` (#10326) @MBilalShafi
156
+ - [docs] Improve pickers localization documentation (#10202) @flaviendelangle
157
+ - [docs] Polish typescript ref usage (#10359) @oliviertassinari
158
+ - [docs] Improve charts tooltip wording (#10406) @alexfauquette
159
+
160
+ ### Core
161
+
162
+ - [core] Cleanup GitHub issues template (#10372) @romgrk
163
+ - [core] Fix Circle CI OOM (#10385) @romgrk
164
+ - [core] Improve sleep test helper @oliviertassinari
165
+ - [core] Remove unwanted prefixes @oliviertassinari
166
+ - [core] Remove duplicate label @oliviertassinari
167
+ - [core] Simplify source @oliviertassinari
168
+ - [core] Upgrade monorepo (#10425) @cherniavskii
169
+ - [core] Upgrade monorepo to have the new typescript-to-proptype (#10224) @flaviendelangle
170
+ - [test] Do not use deprecated adapter methods (#10416) @flaviendelangle
171
+ - [test] Name test suites according to sentence case (#10429) @alexfauquette
172
+
6
173
  ## 6.14.0
7
174
 
8
175
  _Sep 14, 2023_
@@ -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 => {
@@ -158,19 +158,11 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
158
158
  other = _objectWithoutPropertiesLoose(props, _excluded);
159
159
  const {
160
160
  icons: contextIcons,
161
- focus,
162
- isExpanded,
163
- isFocused,
164
- isSelected,
165
- isDisabled,
166
161
  multiSelect,
167
162
  disabledItemsFocusable,
168
- mapFirstChar,
169
- unMapFirstChar,
170
- registerNode,
171
- unregisterNode,
172
- treeId
173
- } = React.useContext(TreeViewContext);
163
+ treeId,
164
+ instance
165
+ } = useTreeViewContext();
174
166
  let id;
175
167
  if (idProp != null) {
176
168
  id = idProp;
@@ -189,10 +181,10 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
189
181
  parentId
190
182
  } = useDescendant(descendant);
191
183
  const expandable = Boolean(Array.isArray(children) ? children.length : children);
192
- const expanded = isExpanded ? isExpanded(nodeId) : false;
193
- const focused = isFocused ? isFocused(nodeId) : false;
194
- const selected = isSelected ? isSelected(nodeId) : false;
195
- 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;
196
188
  const ownerState = _extends({}, props, {
197
189
  expanded,
198
190
  focused,
@@ -216,8 +208,8 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
216
208
  }
217
209
  React.useEffect(() => {
218
210
  // On the first render a node's index will be -1. We want to wait for the real index.
219
- if (registerNode && unregisterNode && index !== -1) {
220
- registerNode({
211
+ if (instance && index !== -1) {
212
+ instance.updateNode({
221
213
  id: nodeId,
222
214
  idAttribute: id,
223
215
  index,
@@ -225,22 +217,17 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
225
217
  expandable,
226
218
  disabled: disabledProp
227
219
  });
228
- return () => {
229
- unregisterNode(nodeId);
230
- };
220
+ return () => instance.removeNode(nodeId);
231
221
  }
232
222
  return undefined;
233
- }, [registerNode, unregisterNode, parentId, index, nodeId, expandable, disabledProp, id]);
223
+ }, [instance, parentId, index, nodeId, expandable, disabledProp, id]);
234
224
  React.useEffect(() => {
235
- if (mapFirstChar && unMapFirstChar && label) {
225
+ if (instance && label) {
236
226
  var _contentRef$current$t, _contentRef$current;
237
- mapFirstChar(nodeId, ((_contentRef$current$t = (_contentRef$current = contentRef.current) == null ? void 0 : _contentRef$current.textContent) != null ? _contentRef$current$t : '').substring(0, 1).toLowerCase());
238
- return () => {
239
- unMapFirstChar(nodeId);
240
- };
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());
241
228
  }
242
229
  return undefined;
243
- }, [mapFirstChar, unMapFirstChar, nodeId, label]);
230
+ }, [instance, nodeId, label]);
244
231
  let ariaSelected;
245
232
  if (multiSelect) {
246
233
  ariaSelected = selected;
@@ -267,8 +254,8 @@ export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps,
267
254
  });
268
255
  }
269
256
  const unfocusable = !disabledItemsFocusable && disabled;
270
- if (!focused && event.currentTarget === event.target && !unfocusable) {
271
- focus(event, nodeId);
257
+ if (instance && !focused && event.currentTarget === event.target && !unfocusable) {
258
+ instance.focusNode(event, nodeId);
272
259
  }
273
260
  }
274
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,5 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { TreeViewProps } from './TreeView.types';
3
+ type TreeViewComponent = (<Multiple extends boolean | undefined = undefined>(props: TreeViewProps<Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
4
+ propTypes?: any;
5
+ };
3
6
  /**
4
7
  *
5
8
  * Demos:
@@ -10,5 +13,5 @@ import { TreeViewProps } from './TreeView.types';
10
13
  *
11
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 };