@mui/x-tree-view 7.22.1 → 8.0.0-alpha.1

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 (296) hide show
  1. package/CHANGELOG.md +486 -11
  2. package/README.md +4 -4
  3. package/RichTreeView/RichTreeView.js +22 -5
  4. package/RichTreeView/RichTreeView.types.d.ts +4 -17
  5. package/SimpleTreeView/SimpleTreeView.js +21 -3
  6. package/TreeItem/TreeItem.d.ts +20 -2
  7. package/TreeItem/TreeItem.js +241 -371
  8. package/TreeItem/TreeItem.types.d.ts +52 -85
  9. package/TreeItem/index.d.ts +1 -4
  10. package/TreeItem/index.js +2 -4
  11. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
  12. package/{modern/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +8 -6
  13. package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.d.ts → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts} +1 -1
  14. package/TreeItemDragAndDropOverlay/index.d.ts +2 -0
  15. package/TreeItemDragAndDropOverlay/index.js +1 -0
  16. package/{TreeItem2LabelInput → TreeItemDragAndDropOverlay}/package.json +1 -1
  17. package/TreeItemIcon/TreeItemIcon.d.ts +7 -0
  18. package/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +5 -3
  19. package/{TreeItem2Icon/TreeItem2Icon.types.d.ts → TreeItemIcon/TreeItemIcon.types.d.ts} +7 -7
  20. package/TreeItemIcon/index.d.ts +2 -0
  21. package/TreeItemIcon/index.js +1 -0
  22. package/{useTreeItem2 → TreeItemIcon}/package.json +1 -1
  23. package/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
  24. package/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
  25. package/{TreeItem2LabelInput/TreeItem2LabelInput.types.d.ts → TreeItemLabelInput/TreeItemLabelInput.types.d.ts} +1 -1
  26. package/TreeItemLabelInput/index.d.ts +2 -0
  27. package/TreeItemLabelInput/index.js +1 -0
  28. package/{TreeItem2Provider → TreeItemLabelInput}/package.json +1 -1
  29. package/TreeItemProvider/TreeItemProvider.d.ts +9 -0
  30. package/TreeItemProvider/TreeItemProvider.js +43 -0
  31. package/{TreeItem2Provider/TreeItem2Provider.types.d.ts → TreeItemProvider/TreeItemProvider.types.d.ts} +2 -1
  32. package/TreeItemProvider/index.d.ts +2 -0
  33. package/TreeItemProvider/index.js +1 -0
  34. package/{TreeItem2Icon → TreeItemProvider}/package.json +1 -1
  35. package/hooks/index.d.ts +2 -1
  36. package/hooks/index.js +2 -1
  37. package/hooks/useTreeItemModel.d.ts +2 -0
  38. package/hooks/useTreeItemModel.js +11 -0
  39. package/hooks/useTreeItemUtils/index.d.ts +1 -0
  40. package/hooks/useTreeItemUtils/index.js +1 -0
  41. package/hooks/{useTreeItem2Utils/useTreeItem2Utils.d.ts → useTreeItemUtils/useTreeItemUtils.d.ts} +13 -12
  42. package/{modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js → hooks/useTreeItemUtils/useTreeItemUtils.js} +36 -18
  43. package/index.d.ts +5 -7
  44. package/index.js +6 -8
  45. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +3 -1
  46. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +2 -1
  47. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +6 -22
  48. package/internals/TreeViewProvider/TreeViewProvider.js +1 -2
  49. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +5 -2
  50. package/internals/components/RichTreeViewItems.d.ts +3 -6
  51. package/internals/components/RichTreeViewItems.js +42 -30
  52. package/internals/corePlugins/useTreeViewId/useTreeViewId.js +10 -11
  53. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +36 -0
  54. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +9 -0
  55. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +1 -5
  56. package/internals/hooks/useSelector.d.ts +4 -0
  57. package/internals/hooks/useSelector.js +6 -0
  58. package/internals/index.d.ts +6 -1
  59. package/internals/index.js +5 -1
  60. package/internals/models/helpers.d.ts +0 -2
  61. package/internals/models/itemPlugin.d.ts +13 -10
  62. package/internals/models/plugin.d.ts +20 -8
  63. package/internals/models/treeView.d.ts +6 -0
  64. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +36 -24
  65. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +124 -0
  66. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +17 -0
  67. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +8 -15
  68. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +1 -0
  69. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +7 -0
  70. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +62 -40
  71. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +182 -0
  72. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +34 -0
  73. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +4 -16
  74. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +15 -13
  75. package/internals/plugins/useTreeViewItems/index.d.ts +1 -1
  76. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +58 -100
  77. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +718 -0
  78. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +103 -0
  79. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +16 -55
  80. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +29 -26
  81. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +27 -18
  82. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +1 -1
  83. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +13 -5
  84. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +19 -30
  85. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +74 -0
  86. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +26 -0
  87. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +13 -29
  88. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
  89. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +88 -0
  90. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +79 -43
  91. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +32 -0
  92. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +9 -0
  93. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +39 -9
  94. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +20 -1
  95. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +105 -0
  96. package/internals/useTreeView/useTreeView.js +30 -17
  97. package/internals/useTreeView/useTreeView.types.d.ts +1 -2
  98. package/internals/useTreeView/useTreeViewBuildContext.d.ts +3 -1
  99. package/internals/useTreeView/useTreeViewBuildContext.js +24 -18
  100. package/internals/utils/TreeViewStore.d.ts +12 -0
  101. package/internals/utils/TreeViewStore.js +24 -0
  102. package/internals/utils/selectors.d.ts +9 -0
  103. package/internals/utils/selectors.js +37 -0
  104. package/internals/utils/tree.d.ts +8 -8
  105. package/internals/utils/tree.js +51 -43
  106. package/models/items.d.ts +7 -2
  107. package/modern/RichTreeView/RichTreeView.js +22 -5
  108. package/modern/SimpleTreeView/SimpleTreeView.js +21 -3
  109. package/modern/TreeItem/TreeItem.js +241 -371
  110. package/modern/TreeItem/index.js +2 -4
  111. package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +8 -6
  112. package/modern/TreeItemDragAndDropOverlay/index.js +1 -0
  113. package/modern/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +5 -3
  114. package/modern/TreeItemIcon/index.js +1 -0
  115. package/modern/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
  116. package/modern/TreeItemLabelInput/index.js +1 -0
  117. package/modern/TreeItemProvider/TreeItemProvider.js +43 -0
  118. package/modern/TreeItemProvider/index.js +1 -0
  119. package/modern/hooks/index.js +2 -1
  120. package/modern/hooks/useTreeItemModel.js +11 -0
  121. package/modern/hooks/useTreeItemUtils/index.js +1 -0
  122. package/{hooks/useTreeItem2Utils/useTreeItem2Utils.js → modern/hooks/useTreeItemUtils/useTreeItemUtils.js} +36 -18
  123. package/modern/index.js +6 -8
  124. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +6 -22
  125. package/modern/internals/TreeViewProvider/TreeViewProvider.js +1 -2
  126. package/modern/internals/components/RichTreeViewItems.js +42 -30
  127. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.js +10 -11
  128. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +9 -0
  129. package/modern/internals/hooks/useSelector.js +6 -0
  130. package/modern/internals/index.js +5 -1
  131. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +36 -24
  132. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +17 -0
  133. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +7 -0
  134. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +62 -40
  135. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +34 -0
  136. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +15 -13
  137. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +58 -100
  138. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +103 -0
  139. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +29 -26
  140. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +27 -18
  141. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +13 -5
  142. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +19 -30
  143. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +26 -0
  144. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +88 -0
  145. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +79 -43
  146. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +9 -0
  147. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +105 -0
  148. package/modern/internals/useTreeView/useTreeView.js +30 -17
  149. package/modern/internals/useTreeView/useTreeViewBuildContext.js +24 -18
  150. package/modern/internals/utils/TreeViewStore.js +24 -0
  151. package/modern/internals/utils/selectors.js +37 -0
  152. package/modern/internals/utils/tree.js +51 -43
  153. package/modern/useTreeItem/index.js +1 -0
  154. package/modern/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +45 -51
  155. package/node/RichTreeView/RichTreeView.js +22 -5
  156. package/node/SimpleTreeView/SimpleTreeView.js +21 -3
  157. package/node/TreeItem/TreeItem.js +242 -372
  158. package/node/TreeItem/index.js +38 -16
  159. package/node/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +7 -6
  160. package/node/TreeItemDragAndDropOverlay/index.js +12 -0
  161. package/node/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +4 -3
  162. package/node/TreeItemIcon/index.js +12 -0
  163. package/node/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
  164. package/node/TreeItemLabelInput/index.js +12 -0
  165. package/node/{TreeItem2Provider/TreeItem2Provider.js → TreeItemProvider/TreeItemProvider.js} +22 -6
  166. package/node/TreeItemProvider/index.js +12 -0
  167. package/node/hooks/index.js +10 -3
  168. package/node/hooks/useTreeItemModel.js +17 -0
  169. package/node/hooks/useTreeItemUtils/index.js +12 -0
  170. package/node/hooks/{useTreeItem2Utils/useTreeItem2Utils.js → useTreeItemUtils/useTreeItemUtils.js} +37 -19
  171. package/node/index.js +18 -42
  172. package/node/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +6 -22
  173. package/node/internals/TreeViewProvider/TreeViewProvider.js +1 -2
  174. package/node/internals/components/RichTreeViewItems.js +42 -30
  175. package/node/internals/corePlugins/useTreeViewId/useTreeViewId.js +12 -13
  176. package/node/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +15 -0
  177. package/node/internals/hooks/useSelector.js +13 -0
  178. package/node/internals/index.js +47 -1
  179. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +36 -24
  180. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +23 -0
  181. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +14 -0
  182. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +62 -40
  183. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +40 -0
  184. package/node/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +16 -13
  185. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +60 -102
  186. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +109 -0
  187. package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +30 -27
  188. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +27 -18
  189. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +13 -5
  190. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +19 -30
  191. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +32 -0
  192. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +96 -0
  193. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +78 -42
  194. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +15 -0
  195. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +109 -2
  196. package/node/internals/useTreeView/useTreeView.js +30 -17
  197. package/node/internals/useTreeView/useTreeViewBuildContext.js +25 -18
  198. package/node/internals/utils/TreeViewStore.js +31 -0
  199. package/node/internals/utils/selectors.js +44 -0
  200. package/node/internals/utils/tree.js +51 -43
  201. package/node/useTreeItem/index.js +12 -0
  202. package/node/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +46 -53
  203. package/package.json +7 -5
  204. package/themeAugmentation/components.d.ts +0 -10
  205. package/themeAugmentation/overrides.d.ts +0 -3
  206. package/themeAugmentation/props.d.ts +1 -5
  207. package/useTreeItem/index.d.ts +2 -0
  208. package/useTreeItem/index.js +1 -0
  209. package/{TreeItem2 → useTreeItem}/package.json +1 -1
  210. package/useTreeItem/useTreeItem.d.ts +2 -0
  211. package/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +45 -51
  212. package/{useTreeItem2/useTreeItem2.types.d.ts → useTreeItem/useTreeItem.types.d.ts} +51 -58
  213. package/TreeItem/TreeItemContent.d.ts +0 -61
  214. package/TreeItem/TreeItemContent.js +0 -146
  215. package/TreeItem/useTreeItemState.d.ts +0 -21
  216. package/TreeItem/useTreeItemState.js +0 -143
  217. package/TreeItem2/TreeItem2.d.ts +0 -34
  218. package/TreeItem2/TreeItem2.js +0 -387
  219. package/TreeItem2/TreeItem2.types.d.ts +0 -92
  220. package/TreeItem2/index.d.ts +0 -2
  221. package/TreeItem2/index.js +0 -1
  222. package/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.d.ts +0 -7
  223. package/TreeItem2DragAndDropOverlay/index.d.ts +0 -2
  224. package/TreeItem2DragAndDropOverlay/index.js +0 -1
  225. package/TreeItem2DragAndDropOverlay/package.json +0 -6
  226. package/TreeItem2Icon/TreeItem2Icon.d.ts +0 -7
  227. package/TreeItem2Icon/index.d.ts +0 -2
  228. package/TreeItem2Icon/index.js +0 -1
  229. package/TreeItem2LabelInput/TreeItem2LabelInput.d.ts +0 -5
  230. package/TreeItem2LabelInput/index.d.ts +0 -2
  231. package/TreeItem2LabelInput/index.js +0 -1
  232. package/TreeItem2Provider/TreeItem2Provider.d.ts +0 -6
  233. package/TreeItem2Provider/TreeItem2Provider.js +0 -26
  234. package/TreeItem2Provider/index.d.ts +0 -2
  235. package/TreeItem2Provider/index.js +0 -1
  236. package/TreeView/TreeView.d.ts +0 -21
  237. package/TreeView/TreeView.js +0 -211
  238. package/TreeView/TreeView.types.d.ts +0 -9
  239. package/TreeView/index.d.ts +0 -3
  240. package/TreeView/index.js +0 -3
  241. package/TreeView/package.json +0 -6
  242. package/TreeView/treeViewClasses.d.ts +0 -7
  243. package/TreeView/treeViewClasses.js +0 -6
  244. package/hooks/useTreeItem2Utils/index.d.ts +0 -1
  245. package/hooks/useTreeItem2Utils/index.js +0 -1
  246. package/modern/TreeItem/TreeItemContent.js +0 -146
  247. package/modern/TreeItem/useTreeItemState.js +0 -143
  248. package/modern/TreeItem2/TreeItem2.js +0 -387
  249. package/modern/TreeItem2/index.js +0 -1
  250. package/modern/TreeItem2DragAndDropOverlay/index.js +0 -1
  251. package/modern/TreeItem2Icon/index.js +0 -1
  252. package/modern/TreeItem2LabelInput/index.js +0 -1
  253. package/modern/TreeItem2Provider/TreeItem2Provider.js +0 -26
  254. package/modern/TreeItem2Provider/TreeItem2Provider.types.js +0 -1
  255. package/modern/TreeItem2Provider/index.js +0 -1
  256. package/modern/TreeView/TreeView.js +0 -211
  257. package/modern/TreeView/TreeView.types.js +0 -1
  258. package/modern/TreeView/index.js +0 -3
  259. package/modern/TreeView/treeViewClasses.js +0 -6
  260. package/modern/hooks/useTreeItem2Utils/index.js +0 -1
  261. package/modern/useTreeItem2/index.js +0 -4
  262. package/modern/useTreeItem2/useTreeItem2.types.js +0 -1
  263. package/node/TreeItem/TreeItemContent.js +0 -153
  264. package/node/TreeItem/useTreeItemState.js +0 -148
  265. package/node/TreeItem2/TreeItem2.js +0 -394
  266. package/node/TreeItem2/index.js +0 -48
  267. package/node/TreeItem2DragAndDropOverlay/index.js +0 -12
  268. package/node/TreeItem2Icon/index.js +0 -12
  269. package/node/TreeItem2LabelInput/index.js +0 -12
  270. package/node/TreeItem2Provider/index.js +0 -12
  271. package/node/TreeView/TreeView.js +0 -217
  272. package/node/TreeView/TreeView.types.js +0 -5
  273. package/node/TreeView/index.js +0 -27
  274. package/node/TreeView/treeViewClasses.js +0 -14
  275. package/node/hooks/useTreeItem2Utils/index.js +0 -12
  276. package/node/useTreeItem2/index.js +0 -10
  277. package/node/useTreeItem2/useTreeItem2.types.js +0 -5
  278. package/useTreeItem2/index.d.ts +0 -3
  279. package/useTreeItem2/index.js +0 -4
  280. package/useTreeItem2/useTreeItem2.d.ts +0 -2
  281. package/useTreeItem2/useTreeItem2.types.js +0 -1
  282. /package/{TreeItem2/TreeItem2.types.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  283. /package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemIcon/TreeItemIcon.types.js} +0 -0
  284. /package/{TreeItem2Icon/TreeItem2Icon.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  285. /package/{TreeItem2LabelInput/TreeItem2LabelInput.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  286. /package/{TreeItem2Provider/TreeItem2Provider.types.js → modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  287. /package/{TreeView/TreeView.types.js → modern/TreeItemIcon/TreeItemIcon.types.js} +0 -0
  288. /package/modern/{TreeItem2/TreeItem2.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  289. /package/modern/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  290. /package/modern/{TreeItem2Icon/TreeItem2Icon.types.js → useTreeItem/useTreeItem.types.js} +0 -0
  291. /package/node/{TreeItem2/TreeItem2.types.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  292. /package/node/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemIcon/TreeItemIcon.types.js} +0 -0
  293. /package/node/{TreeItem2Icon/TreeItem2Icon.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  294. /package/node/{TreeItem2LabelInput/TreeItem2LabelInput.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  295. /package/node/{TreeItem2Provider/TreeItem2Provider.types.js → useTreeItem/useTreeItem.types.js} +0 -0
  296. /package/{modern/TreeItem2LabelInput/TreeItem2LabelInput.types.js → useTreeItem/useTreeItem.types.js} +0 -0
@@ -1,27 +1,30 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
6
  Object.defineProperty(exports, "__esModule", {
6
7
  value: true
7
8
  });
8
- exports.useTreeItem2 = void 0;
9
+ exports.useTreeItem = void 0;
9
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
11
  var React = _interopRequireWildcard(require("react"));
11
12
  var _extractEventHandlers = _interopRequireDefault(require("@mui/utils/extractEventHandlers"));
12
13
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
13
14
  var _TreeViewProvider = require("../internals/TreeViewProvider");
14
- var _useTreeItem2Utils = require("../hooks/useTreeItem2Utils");
15
+ var _useTreeItemUtils = require("../hooks/useTreeItemUtils");
15
16
  var _TreeViewItemDepthContext = require("../internals/TreeViewItemDepthContext");
16
17
  var _tree = require("../internals/utils/tree");
18
+ var _useSelector = require("../internals/hooks/useSelector");
19
+ var _useTreeViewFocus = require("../internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors");
17
20
  var _useTreeViewId = require("../internals/corePlugins/useTreeViewId/useTreeViewId.utils");
18
- const useTreeItem2 = parameters => {
21
+ var _useTreeViewItems = require("../internals/plugins/useTreeViewItems/useTreeViewItems.selectors");
22
+ var _useTreeViewId2 = require("../internals/corePlugins/useTreeViewId/useTreeViewId.selectors");
23
+ const useTreeItem = parameters => {
19
24
  const {
20
25
  runItemPlugins,
21
26
  items: {
22
- onItemClick,
23
- disabledItemsFocusable,
24
- indentationAtItemLevel
27
+ onItemClick
25
28
  },
26
29
  selection: {
27
30
  disableSelection,
@@ -30,11 +33,18 @@ const useTreeItem2 = parameters => {
30
33
  expansion: {
31
34
  expansionTrigger
32
35
  },
33
- treeId,
36
+ label: labelContext,
34
37
  instance,
35
- publicAPI
38
+ publicAPI,
39
+ store
36
40
  } = (0, _TreeViewProvider.useTreeViewContext)();
37
41
  const depthContext = React.useContext(_TreeViewItemDepthContext.TreeViewItemDepthContext);
42
+ const depth = (0, _useSelector.useSelector)(store, (...params) => {
43
+ if (typeof depthContext === 'function') {
44
+ return depthContext(...params);
45
+ }
46
+ return depthContext;
47
+ }, parameters.itemId);
38
48
  const {
39
49
  id,
40
50
  itemId,
@@ -50,7 +60,7 @@ const useTreeItem2 = parameters => {
50
60
  const {
51
61
  interactions,
52
62
  status
53
- } = (0, _useTreeItem2Utils.useTreeItem2Utils)({
63
+ } = (0, _useTreeItemUtils.useTreeItemUtils)({
54
64
  itemId,
55
65
  children
56
66
  });
@@ -59,24 +69,25 @@ const useTreeItem2 = parameters => {
59
69
  const handleRootRef = (0, _useForkRef.default)(rootRef, pluginRootRef, rootRefObject);
60
70
  const handleContentRef = (0, _useForkRef.default)(contentRef, contentRefObject);
61
71
  const checkboxRef = React.useRef(null);
72
+ const treeId = (0, _useSelector.useSelector)(store, _useTreeViewId2.selectorTreeViewId);
62
73
  const idAttribute = (0, _useTreeViewId.generateTreeItemIdAttribute)({
63
74
  itemId,
64
75
  treeId,
65
76
  id
66
77
  });
67
- const rootTabIndex = instance.canItemBeTabbed(itemId) ? 0 : -1;
78
+ const shouldBeAccessibleWithTab = (0, _useSelector.useSelector)(store, _useTreeViewFocus.selectorIsItemTheDefaultFocusableItem, itemId);
68
79
  const sharedPropsEnhancerParams = {
69
80
  rootRefObject,
70
81
  contentRefObject,
71
- interactions
82
+ interactions,
83
+ status
72
84
  };
73
85
  const createRootHandleFocus = otherHandlers => event => {
74
86
  otherHandlers.onFocus?.(event);
75
87
  if (event.defaultMuiPrevented) {
76
88
  return;
77
89
  }
78
- const canBeFocused = !status.disabled || disabledItemsFocusable;
79
- if (!status.focused && canBeFocused && event.currentTarget === event.target) {
90
+ if (!status.focused && (0, _useTreeViewItems.selectorCanItemBeFocused)(store.value, itemId) && event.currentTarget === event.target) {
80
91
  instance.focusItem(event, itemId);
81
92
  }
82
93
  };
@@ -114,7 +125,7 @@ const useTreeItem2 = parameters => {
114
125
  };
115
126
  const createContentHandleClick = otherHandlers => event => {
116
127
  otherHandlers.onClick?.(event);
117
- onItemClick?.(event, itemId);
128
+ onItemClick(event, itemId);
118
129
  if (event.defaultMuiPrevented || checkboxRef.current?.contains(event.target)) {
119
130
  return;
120
131
  }
@@ -136,16 +147,6 @@ const useTreeItem2 = parameters => {
136
147
  event.preventDefault();
137
148
  }
138
149
  };
139
- const createCheckboxHandleChange = otherHandlers => event => {
140
- otherHandlers.onChange?.(event);
141
- if (event.defaultMuiPrevented) {
142
- return;
143
- }
144
- if (disableSelection || status.disabled) {
145
- return;
146
- }
147
- interactions.handleCheckboxSelection(event);
148
- };
149
150
  const createIconContainerHandleClick = otherHandlers => event => {
150
151
  otherHandlers.onClick?.(event);
151
152
  if (event.defaultMuiPrevented) {
@@ -155,6 +156,10 @@ const useTreeItem2 = parameters => {
155
156
  interactions.handleExpansion(event);
156
157
  }
157
158
  };
159
+ const getContextProviderProps = () => ({
160
+ itemId,
161
+ id
162
+ });
158
163
  const getRootProps = (externalProps = {}) => {
159
164
  const externalEventHandlers = (0, _extends2.default)({}, (0, _extractEventHandlers.default)(parameters), (0, _extractEventHandlers.default)(externalProps));
160
165
 
@@ -173,21 +178,19 @@ const useTreeItem2 = parameters => {
173
178
  const props = (0, _extends2.default)({}, externalEventHandlers, {
174
179
  ref: handleRootRef,
175
180
  role: 'treeitem',
176
- tabIndex: rootTabIndex,
181
+ tabIndex: shouldBeAccessibleWithTab ? 0 : -1,
177
182
  id: idAttribute,
178
183
  'aria-expanded': status.expandable ? status.expanded : undefined,
179
184
  'aria-selected': ariaSelected,
180
185
  'aria-disabled': status.disabled || undefined
181
186
  }, externalProps, {
187
+ style: (0, _extends2.default)({}, externalProps.style ?? {}, {
188
+ '--TreeView-itemDepth': depth
189
+ }),
182
190
  onFocus: createRootHandleFocus(externalEventHandlers),
183
191
  onBlur: createRootHandleBlur(externalEventHandlers),
184
192
  onKeyDown: createRootHandleKeyDown(externalEventHandlers)
185
193
  });
186
- if (indentationAtItemLevel) {
187
- props.style = {
188
- '--TreeView-itemDepth': typeof depthContext === 'function' ? depthContext(itemId) : depthContext
189
- };
190
- }
191
194
  const enhancedRootProps = propsEnhancers.root?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
192
195
  externalEventHandlers
193
196
  })) ?? {};
@@ -201,9 +204,6 @@ const useTreeItem2 = parameters => {
201
204
  onMouseDown: createContentHandleMouseDown(externalEventHandlers),
202
205
  status
203
206
  });
204
- if (indentationAtItemLevel) {
205
- props.indentationAtItemLevel = true;
206
- }
207
207
  const enhancedContentProps = propsEnhancers.content?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
208
208
  externalEventHandlers
209
209
  })) ?? {};
@@ -211,15 +211,13 @@ const useTreeItem2 = parameters => {
211
211
  };
212
212
  const getCheckboxProps = (externalProps = {}) => {
213
213
  const externalEventHandlers = (0, _extractEventHandlers.default)(externalProps);
214
- return (0, _extends2.default)({}, externalEventHandlers, {
215
- visible: checkboxSelection,
216
- ref: checkboxRef,
217
- checked: status.selected,
218
- disabled: disableSelection || status.disabled,
219
- tabIndex: -1
220
- }, externalProps, {
221
- onChange: createCheckboxHandleChange(externalEventHandlers)
222
- });
214
+ const props = (0, _extends2.default)({}, externalEventHandlers, {
215
+ ref: checkboxRef
216
+ }, externalProps);
217
+ const enhancedCheckboxProps = propsEnhancers.checkbox?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
218
+ externalEventHandlers
219
+ })) ?? {};
220
+ return (0, _extends2.default)({}, props, enhancedCheckboxProps);
223
221
  };
224
222
  const getLabelProps = (externalProps = {}) => {
225
223
  const externalEventHandlers = (0, _extends2.default)({}, (0, _extractEventHandlers.default)(externalProps));
@@ -228,19 +226,16 @@ const useTreeItem2 = parameters => {
228
226
  }, externalProps, {
229
227
  onDoubleClick: createLabelHandleDoubleClick(externalEventHandlers)
230
228
  });
231
- if (instance.isTreeViewEditable) {
229
+ if (labelContext?.isItemEditable) {
232
230
  props.editable = status.editable;
233
231
  }
234
232
  return props;
235
233
  };
236
234
  const getLabelInputProps = (externalProps = {}) => {
237
235
  const externalEventHandlers = (0, _extractEventHandlers.default)(externalProps);
238
- const enhancedLabelInputProps = propsEnhancers.labelInput?.({
239
- rootRefObject,
240
- contentRefObject,
241
- externalEventHandlers,
242
- interactions
243
- }) ?? {};
236
+ const enhancedLabelInputProps = propsEnhancers.labelInput?.((0, _extends2.default)({}, sharedPropsEnhancerParams, {
237
+ externalEventHandlers
238
+ })) ?? {};
244
239
  return (0, _extends2.default)({}, externalProps, enhancedLabelInputProps);
245
240
  };
246
241
  const getIconContainerProps = (externalProps = {}) => {
@@ -258,9 +253,6 @@ const useTreeItem2 = parameters => {
258
253
  in: status.expanded,
259
254
  children
260
255
  }, externalProps);
261
- if (indentationAtItemLevel) {
262
- response.indentationAtItemLevel = true;
263
- }
264
256
  return response;
265
257
  };
266
258
  const getDragAndDropOverlayProps = (externalProps = {}) => {
@@ -271,6 +263,7 @@ const useTreeItem2 = parameters => {
271
263
  return (0, _extends2.default)({}, externalProps, enhancedDragAndDropOverlayProps);
272
264
  };
273
265
  return {
266
+ getContextProviderProps,
274
267
  getRootProps,
275
268
  getContentProps,
276
269
  getGroupTransitionProps,
@@ -284,4 +277,4 @@ const useTreeItem2 = parameters => {
284
277
  publicAPI
285
278
  };
286
279
  };
287
- exports.useTreeItem2 = useTreeItem2;
280
+ exports.useTreeItem = useTreeItem;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-tree-view",
3
- "version": "7.22.1",
3
+ "version": "8.0.0-alpha.1",
4
4
  "description": "The community edition of the Tree View components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -33,21 +33,23 @@
33
33
  "directory": "packages/x-tree-view"
34
34
  },
35
35
  "dependencies": {
36
- "@babel/runtime": "^7.25.7",
36
+ "@babel/runtime": "^7.26.0",
37
37
  "@mui/utils": "^5.16.6 || ^6.0.0",
38
38
  "@types/react-transition-group": "^4.4.11",
39
39
  "clsx": "^2.1.1",
40
40
  "prop-types": "^15.8.1",
41
41
  "react-transition-group": "^4.4.5",
42
- "@mui/x-internals": "7.21.0"
42
+ "reselect": "^5.1.1",
43
+ "use-sync-external-store": "^1.2.2",
44
+ "@mui/x-internals": "8.0.0-alpha.1"
43
45
  },
44
46
  "peerDependencies": {
45
47
  "@emotion/react": "^11.9.0",
46
48
  "@emotion/styled": "^11.8.1",
47
49
  "@mui/material": "^5.15.14 || ^6.0.0",
48
50
  "@mui/system": "^5.15.14 || ^6.0.0",
49
- "react": "^17.0.0 || ^18.0.0",
50
- "react-dom": "^17.0.0 || ^18.0.0"
51
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
52
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
51
53
  },
52
54
  "peerDependenciesMeta": {
53
55
  "@emotion/react": {
@@ -11,21 +11,11 @@ export interface TreeViewComponents<Theme = unknown> {
11
11
  styleOverrides?: ComponentsOverrides<Theme>['MuiRichTreeView'];
12
12
  variants?: ComponentsVariants<Theme>['MuiRichTreeView'];
13
13
  };
14
- MuiTreeView?: {
15
- defaultProps?: ComponentsProps['MuiTreeView'];
16
- styleOverrides?: ComponentsOverrides<Theme>['MuiTreeView'];
17
- variants?: ComponentsVariants<Theme>['MuiTreeView'];
18
- };
19
14
  MuiTreeItem?: {
20
15
  defaultProps?: ComponentsProps['MuiTreeItem'];
21
16
  styleOverrides?: ComponentsOverrides<Theme>['MuiTreeItem'];
22
17
  variants?: ComponentsVariants<Theme>['MuiTreeItem'];
23
18
  };
24
- MuiTreeItem2?: {
25
- defaultProps?: ComponentsProps['MuiTreeItem2'];
26
- styleOverrides?: ComponentsOverrides<Theme>['MuiTreeItem2'];
27
- variants?: ComponentsVariants<Theme>['MuiTreeItem2'];
28
- };
29
19
  }
30
20
 
31
21
  declare module '@mui/material/styles' {
@@ -1,15 +1,12 @@
1
1
  import { RichTreeViewClassKey } from '../RichTreeView';
2
2
  import { SimpleTreeViewClassKey } from '../SimpleTreeView';
3
- import { TreeViewClassKey } from '../TreeView';
4
3
  import { TreeItemClassKey } from '../TreeItem';
5
4
 
6
5
  // prettier-ignore
7
6
  export interface TreeViewComponentNameToClassKey {
8
7
  MuiSimpleTreeView: SimpleTreeViewClassKey;
9
8
  MuiRichTreeView: RichTreeViewClassKey;
10
- MuiTreeView: TreeViewClassKey;
11
9
  MuiTreeItem: TreeItemClassKey;
12
- MuiTreeItem2: TreeItemClassKey;
13
10
  }
14
11
 
15
12
  declare module '@mui/material/styles' {
@@ -1,15 +1,11 @@
1
- import { TreeItemProps } from '../TreeItem';
2
- import { TreeViewProps } from '../TreeView';
3
1
  import { SimpleTreeViewProps } from '../SimpleTreeView';
4
2
  import { RichTreeViewProps } from '../RichTreeView';
5
- import { TreeItem2Props } from '../TreeItem2';
3
+ import { TreeItemProps } from '../TreeItem';
6
4
 
7
5
  export interface TreeViewComponentsPropsList {
8
6
  MuiSimpleTreeView: SimpleTreeViewProps<any>;
9
7
  MuiRichTreeView: RichTreeViewProps<any, any>;
10
- MuiTreeView: TreeViewProps<any>;
11
8
  MuiTreeItem: TreeItemProps;
12
- MuiTreeItem2: TreeItem2Props;
13
9
  }
14
10
 
15
11
  declare module '@mui/material/styles' {
@@ -0,0 +1,2 @@
1
+ export { useTreeItem } from './useTreeItem';
2
+ export type { UseTreeItemParameters, UseTreeItemReturnValue, UseTreeItemStatus, UseTreeItemRootSlotOwnProps, UseTreeItemContentSlotOwnProps, UseTreeItemLabelInputSlotOwnProps, UseTreeItemLabelSlotOwnProps, UseTreeItemCheckboxSlotOwnProps, UseTreeItemIconContainerSlotOwnProps, UseTreeItemGroupTransitionSlotOwnProps, UseTreeItemDragAndDropOverlaySlotOwnProps, } from './useTreeItem.types';
@@ -0,0 +1 @@
1
+ export { useTreeItem } from "./useTreeItem.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sideEffects": false,
3
3
  "module": "./index.js",
4
- "main": "../node/TreeItem2/index.js",
4
+ "main": "../node/useTreeItem/index.js",
5
5
  "types": "./index.d.ts"
6
6
  }
@@ -0,0 +1,2 @@
1
+ import { UseTreeItemParameters, UseTreeItemReturnValue, UseTreeItemMinimalPlugins, UseTreeItemOptionalPlugins } from './useTreeItem.types';
2
+ export declare const useTreeItem: <TSignatures extends UseTreeItemMinimalPlugins = UseTreeItemMinimalPlugins, TOptionalSignatures extends UseTreeItemOptionalPlugins = readonly []>(parameters: UseTreeItemParameters) => UseTreeItemReturnValue<TSignatures, TOptionalSignatures>;
@@ -1,19 +1,23 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import extractEventHandlers from '@mui/utils/extractEventHandlers';
4
6
  import useForkRef from '@mui/utils/useForkRef';
5
7
  import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
6
- import { useTreeItem2Utils } from "../hooks/useTreeItem2Utils/index.js";
8
+ import { useTreeItemUtils } from "../hooks/useTreeItemUtils/index.js";
7
9
  import { TreeViewItemDepthContext } from "../internals/TreeViewItemDepthContext/index.js";
8
10
  import { isTargetInDescendants } from "../internals/utils/tree.js";
11
+ import { useSelector } from "../internals/hooks/useSelector.js";
12
+ import { selectorIsItemTheDefaultFocusableItem } from "../internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js";
9
13
  import { generateTreeItemIdAttribute } from "../internals/corePlugins/useTreeViewId/useTreeViewId.utils.js";
10
- export const useTreeItem2 = parameters => {
14
+ import { selectorCanItemBeFocused } from "../internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js";
15
+ import { selectorTreeViewId } from "../internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js";
16
+ export const useTreeItem = parameters => {
11
17
  const {
12
18
  runItemPlugins,
13
19
  items: {
14
- onItemClick,
15
- disabledItemsFocusable,
16
- indentationAtItemLevel
20
+ onItemClick
17
21
  },
18
22
  selection: {
19
23
  disableSelection,
@@ -22,11 +26,18 @@ export const useTreeItem2 = parameters => {
22
26
  expansion: {
23
27
  expansionTrigger
24
28
  },
25
- treeId,
29
+ label: labelContext,
26
30
  instance,
27
- publicAPI
31
+ publicAPI,
32
+ store
28
33
  } = useTreeViewContext();
29
34
  const depthContext = React.useContext(TreeViewItemDepthContext);
35
+ const depth = useSelector(store, (...params) => {
36
+ if (typeof depthContext === 'function') {
37
+ return depthContext(...params);
38
+ }
39
+ return depthContext;
40
+ }, parameters.itemId);
30
41
  const {
31
42
  id,
32
43
  itemId,
@@ -42,7 +53,7 @@ export const useTreeItem2 = parameters => {
42
53
  const {
43
54
  interactions,
44
55
  status
45
- } = useTreeItem2Utils({
56
+ } = useTreeItemUtils({
46
57
  itemId,
47
58
  children
48
59
  });
@@ -51,24 +62,25 @@ export const useTreeItem2 = parameters => {
51
62
  const handleRootRef = useForkRef(rootRef, pluginRootRef, rootRefObject);
52
63
  const handleContentRef = useForkRef(contentRef, contentRefObject);
53
64
  const checkboxRef = React.useRef(null);
65
+ const treeId = useSelector(store, selectorTreeViewId);
54
66
  const idAttribute = generateTreeItemIdAttribute({
55
67
  itemId,
56
68
  treeId,
57
69
  id
58
70
  });
59
- const rootTabIndex = instance.canItemBeTabbed(itemId) ? 0 : -1;
71
+ const shouldBeAccessibleWithTab = useSelector(store, selectorIsItemTheDefaultFocusableItem, itemId);
60
72
  const sharedPropsEnhancerParams = {
61
73
  rootRefObject,
62
74
  contentRefObject,
63
- interactions
75
+ interactions,
76
+ status
64
77
  };
65
78
  const createRootHandleFocus = otherHandlers => event => {
66
79
  otherHandlers.onFocus?.(event);
67
80
  if (event.defaultMuiPrevented) {
68
81
  return;
69
82
  }
70
- const canBeFocused = !status.disabled || disabledItemsFocusable;
71
- if (!status.focused && canBeFocused && event.currentTarget === event.target) {
83
+ if (!status.focused && selectorCanItemBeFocused(store.value, itemId) && event.currentTarget === event.target) {
72
84
  instance.focusItem(event, itemId);
73
85
  }
74
86
  };
@@ -106,7 +118,7 @@ export const useTreeItem2 = parameters => {
106
118
  };
107
119
  const createContentHandleClick = otherHandlers => event => {
108
120
  otherHandlers.onClick?.(event);
109
- onItemClick?.(event, itemId);
121
+ onItemClick(event, itemId);
110
122
  if (event.defaultMuiPrevented || checkboxRef.current?.contains(event.target)) {
111
123
  return;
112
124
  }
@@ -128,16 +140,6 @@ export const useTreeItem2 = parameters => {
128
140
  event.preventDefault();
129
141
  }
130
142
  };
131
- const createCheckboxHandleChange = otherHandlers => event => {
132
- otherHandlers.onChange?.(event);
133
- if (event.defaultMuiPrevented) {
134
- return;
135
- }
136
- if (disableSelection || status.disabled) {
137
- return;
138
- }
139
- interactions.handleCheckboxSelection(event);
140
- };
141
143
  const createIconContainerHandleClick = otherHandlers => event => {
142
144
  otherHandlers.onClick?.(event);
143
145
  if (event.defaultMuiPrevented) {
@@ -147,6 +149,10 @@ export const useTreeItem2 = parameters => {
147
149
  interactions.handleExpansion(event);
148
150
  }
149
151
  };
152
+ const getContextProviderProps = () => ({
153
+ itemId,
154
+ id
155
+ });
150
156
  const getRootProps = (externalProps = {}) => {
151
157
  const externalEventHandlers = _extends({}, extractEventHandlers(parameters), extractEventHandlers(externalProps));
152
158
 
@@ -165,21 +171,19 @@ export const useTreeItem2 = parameters => {
165
171
  const props = _extends({}, externalEventHandlers, {
166
172
  ref: handleRootRef,
167
173
  role: 'treeitem',
168
- tabIndex: rootTabIndex,
174
+ tabIndex: shouldBeAccessibleWithTab ? 0 : -1,
169
175
  id: idAttribute,
170
176
  'aria-expanded': status.expandable ? status.expanded : undefined,
171
177
  'aria-selected': ariaSelected,
172
178
  'aria-disabled': status.disabled || undefined
173
179
  }, externalProps, {
180
+ style: _extends({}, externalProps.style ?? {}, {
181
+ '--TreeView-itemDepth': depth
182
+ }),
174
183
  onFocus: createRootHandleFocus(externalEventHandlers),
175
184
  onBlur: createRootHandleBlur(externalEventHandlers),
176
185
  onKeyDown: createRootHandleKeyDown(externalEventHandlers)
177
186
  });
178
- if (indentationAtItemLevel) {
179
- props.style = {
180
- '--TreeView-itemDepth': typeof depthContext === 'function' ? depthContext(itemId) : depthContext
181
- };
182
- }
183
187
  const enhancedRootProps = propsEnhancers.root?.(_extends({}, sharedPropsEnhancerParams, {
184
188
  externalEventHandlers
185
189
  })) ?? {};
@@ -193,9 +197,6 @@ export const useTreeItem2 = parameters => {
193
197
  onMouseDown: createContentHandleMouseDown(externalEventHandlers),
194
198
  status
195
199
  });
196
- if (indentationAtItemLevel) {
197
- props.indentationAtItemLevel = true;
198
- }
199
200
  const enhancedContentProps = propsEnhancers.content?.(_extends({}, sharedPropsEnhancerParams, {
200
201
  externalEventHandlers
201
202
  })) ?? {};
@@ -203,15 +204,13 @@ export const useTreeItem2 = parameters => {
203
204
  };
204
205
  const getCheckboxProps = (externalProps = {}) => {
205
206
  const externalEventHandlers = extractEventHandlers(externalProps);
206
- return _extends({}, externalEventHandlers, {
207
- visible: checkboxSelection,
208
- ref: checkboxRef,
209
- checked: status.selected,
210
- disabled: disableSelection || status.disabled,
211
- tabIndex: -1
212
- }, externalProps, {
213
- onChange: createCheckboxHandleChange(externalEventHandlers)
214
- });
207
+ const props = _extends({}, externalEventHandlers, {
208
+ ref: checkboxRef
209
+ }, externalProps);
210
+ const enhancedCheckboxProps = propsEnhancers.checkbox?.(_extends({}, sharedPropsEnhancerParams, {
211
+ externalEventHandlers
212
+ })) ?? {};
213
+ return _extends({}, props, enhancedCheckboxProps);
215
214
  };
216
215
  const getLabelProps = (externalProps = {}) => {
217
216
  const externalEventHandlers = _extends({}, extractEventHandlers(externalProps));
@@ -220,19 +219,16 @@ export const useTreeItem2 = parameters => {
220
219
  }, externalProps, {
221
220
  onDoubleClick: createLabelHandleDoubleClick(externalEventHandlers)
222
221
  });
223
- if (instance.isTreeViewEditable) {
222
+ if (labelContext?.isItemEditable) {
224
223
  props.editable = status.editable;
225
224
  }
226
225
  return props;
227
226
  };
228
227
  const getLabelInputProps = (externalProps = {}) => {
229
228
  const externalEventHandlers = extractEventHandlers(externalProps);
230
- const enhancedLabelInputProps = propsEnhancers.labelInput?.({
231
- rootRefObject,
232
- contentRefObject,
233
- externalEventHandlers,
234
- interactions
235
- }) ?? {};
229
+ const enhancedLabelInputProps = propsEnhancers.labelInput?.(_extends({}, sharedPropsEnhancerParams, {
230
+ externalEventHandlers
231
+ })) ?? {};
236
232
  return _extends({}, externalProps, enhancedLabelInputProps);
237
233
  };
238
234
  const getIconContainerProps = (externalProps = {}) => {
@@ -250,9 +246,6 @@ export const useTreeItem2 = parameters => {
250
246
  in: status.expanded,
251
247
  children
252
248
  }, externalProps);
253
- if (indentationAtItemLevel) {
254
- response.indentationAtItemLevel = true;
255
- }
256
249
  return response;
257
250
  };
258
251
  const getDragAndDropOverlayProps = (externalProps = {}) => {
@@ -263,6 +256,7 @@ export const useTreeItem2 = parameters => {
263
256
  return _extends({}, externalProps, enhancedDragAndDropOverlayProps);
264
257
  };
265
258
  return {
259
+ getContextProviderProps,
266
260
  getRootProps,
267
261
  getContentProps,
268
262
  getGroupTransitionProps,