@mui/x-tree-view 8.0.0-beta.3 → 8.0.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 (421) hide show
  1. package/CHANGELOG.md +282 -96
  2. package/RichTreeView/RichTreeView.js +11 -6
  3. package/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  4. package/RichTreeView/RichTreeView.plugins.js +1 -2
  5. package/RichTreeView/RichTreeView.types.d.ts +4 -3
  6. package/RichTreeView/index.d.ts +1 -1
  7. package/SimpleTreeView/SimpleTreeView.js +12 -8
  8. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  9. package/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  10. package/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  11. package/TreeItemIcon/TreeItemIcon.js +15 -11
  12. package/esm/RichTreeView/RichTreeView.js +10 -5
  13. package/esm/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  14. package/esm/RichTreeView/RichTreeView.plugins.js +1 -2
  15. package/esm/RichTreeView/RichTreeView.types.d.ts +4 -3
  16. package/esm/RichTreeView/index.d.ts +1 -1
  17. package/esm/SimpleTreeView/SimpleTreeView.js +11 -7
  18. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  19. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  20. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  21. package/esm/TreeItemIcon/TreeItemIcon.js +15 -11
  22. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  23. package/esm/index.js +1 -1
  24. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  25. package/esm/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  26. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  27. package/esm/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  28. package/esm/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  29. package/esm/internals/hooks/useSelector.js +1 -4
  30. package/esm/internals/index.d.ts +2 -3
  31. package/esm/internals/index.js +1 -1
  32. package/esm/internals/models/events.d.ts +2 -6
  33. package/esm/internals/models/plugin.d.ts +63 -38
  34. package/esm/internals/models/treeView.d.ts +0 -5
  35. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -21
  36. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  37. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +21 -1
  38. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  39. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  40. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -7
  41. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +3 -30
  42. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  43. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  44. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  45. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  46. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  47. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  48. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +31 -0
  49. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  50. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  51. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +12 -2
  52. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  53. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  54. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +39 -40
  55. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  56. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +36 -1
  57. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  58. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  59. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +5 -24
  60. package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  61. package/esm/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  62. package/esm/internals/useTreeView/useTreeView.d.ts +10 -1
  63. package/esm/internals/useTreeView/useTreeView.js +22 -25
  64. package/esm/internals/useTreeView/useTreeView.types.d.ts +1 -3
  65. package/esm/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  66. package/esm/internals/utils/models.d.ts +7 -0
  67. package/esm/internals/utils/models.js +23 -0
  68. package/esm/internals/utils/selectors.d.ts +1 -1
  69. package/esm/utils/cache.d.ts +1 -1
  70. package/esm/utils/cache.js +1 -1
  71. package/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  72. package/index.js +1 -1
  73. package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  74. package/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  75. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  76. package/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  77. package/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  78. package/internals/hooks/useSelector.js +1 -5
  79. package/internals/index.d.ts +2 -3
  80. package/internals/index.js +13 -7
  81. package/internals/models/events.d.ts +2 -6
  82. package/internals/models/plugin.d.ts +63 -38
  83. package/internals/models/treeView.d.ts +0 -5
  84. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +33 -19
  85. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  86. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +22 -2
  87. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  88. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  89. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +1 -9
  90. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -30
  91. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  92. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  93. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  94. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  95. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  96. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  97. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +34 -2
  98. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  99. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  100. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +13 -3
  101. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  102. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  103. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +37 -38
  104. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  105. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +37 -2
  106. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  107. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  108. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +6 -26
  109. package/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  110. package/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  111. package/internals/useTreeView/useTreeView.d.ts +10 -1
  112. package/internals/useTreeView/useTreeView.js +22 -25
  113. package/internals/useTreeView/useTreeView.types.d.ts +1 -3
  114. package/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  115. package/internals/utils/models.d.ts +7 -0
  116. package/internals/utils/models.js +30 -0
  117. package/internals/utils/selectors.d.ts +1 -1
  118. package/package.json +4 -12
  119. package/utils/cache.d.ts +1 -1
  120. package/utils/cache.js +1 -1
  121. package/esm/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  122. package/esm/internals/plugins/useTreeViewIcons/index.js +0 -1
  123. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  124. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  125. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  126. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  127. package/esm/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  128. package/esm/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  129. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  130. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  131. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  132. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  133. package/esm/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  134. package/esm/internals/useTreeView/useTreeViewModels.js +0 -62
  135. package/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  136. package/internals/plugins/useTreeViewIcons/index.js +0 -12
  137. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  138. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -32
  139. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  140. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
  141. package/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  142. package/internals/plugins/useTreeViewItemCustomization/index.js +0 -12
  143. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  144. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -32
  145. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  146. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -5
  147. package/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  148. package/internals/useTreeView/useTreeViewModels.js +0 -71
  149. package/modern/RichTreeView/RichTreeView.d.ts +0 -18
  150. package/modern/RichTreeView/RichTreeView.js +0 -322
  151. package/modern/RichTreeView/RichTreeView.plugins.d.ts +0 -13
  152. package/modern/RichTreeView/RichTreeView.plugins.js +0 -10
  153. package/modern/RichTreeView/RichTreeView.types.d.ts +0 -52
  154. package/modern/RichTreeView/RichTreeView.types.js +0 -1
  155. package/modern/RichTreeView/index.d.ts +0 -5
  156. package/modern/RichTreeView/index.js +0 -3
  157. package/modern/RichTreeView/richTreeViewClasses.d.ts +0 -5
  158. package/modern/RichTreeView/richTreeViewClasses.js +0 -6
  159. package/modern/SimpleTreeView/SimpleTreeView.d.ts +0 -20
  160. package/modern/SimpleTreeView/SimpleTreeView.js +0 -265
  161. package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -12
  162. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +0 -10
  163. package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +0 -51
  164. package/modern/SimpleTreeView/SimpleTreeView.types.js +0 -1
  165. package/modern/SimpleTreeView/index.d.ts +0 -3
  166. package/modern/SimpleTreeView/index.js +0 -3
  167. package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +0 -5
  168. package/modern/SimpleTreeView/simpleTreeViewClasses.js +0 -6
  169. package/modern/TreeItem/TreeItem.d.ts +0 -33
  170. package/modern/TreeItem/TreeItem.js +0 -408
  171. package/modern/TreeItem/TreeItem.types.d.ts +0 -107
  172. package/modern/TreeItem/TreeItem.types.js +0 -1
  173. package/modern/TreeItem/index.d.ts +0 -4
  174. package/modern/TreeItem/index.js +0 -2
  175. package/modern/TreeItem/treeItemClasses.d.ts +0 -55
  176. package/modern/TreeItem/treeItemClasses.js +0 -8
  177. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +0 -7
  178. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -74
  179. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +0 -6
  180. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -1
  181. package/modern/TreeItemDragAndDropOverlay/index.d.ts +0 -2
  182. package/modern/TreeItemDragAndDropOverlay/index.js +0 -1
  183. package/modern/TreeItemIcon/TreeItemIcon.d.ts +0 -7
  184. package/modern/TreeItemIcon/TreeItemIcon.js +0 -74
  185. package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +0 -40
  186. package/modern/TreeItemIcon/TreeItemIcon.types.js +0 -1
  187. package/modern/TreeItemIcon/index.d.ts +0 -2
  188. package/modern/TreeItemIcon/index.js +0 -1
  189. package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +0 -5
  190. package/modern/TreeItemLabelInput/TreeItemLabelInput.js +0 -24
  191. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +0 -14
  192. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -1
  193. package/modern/TreeItemLabelInput/index.d.ts +0 -2
  194. package/modern/TreeItemLabelInput/index.js +0 -1
  195. package/modern/TreeItemProvider/TreeItemProvider.d.ts +0 -7
  196. package/modern/TreeItemProvider/TreeItemProvider.js +0 -45
  197. package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +0 -7
  198. package/modern/TreeItemProvider/TreeItemProvider.types.js +0 -1
  199. package/modern/TreeItemProvider/index.d.ts +0 -2
  200. package/modern/TreeItemProvider/index.js +0 -1
  201. package/modern/hooks/index.d.ts +0 -3
  202. package/modern/hooks/index.js +0 -3
  203. package/modern/hooks/useTreeItemModel.d.ts +0 -2
  204. package/modern/hooks/useTreeItemModel.js +0 -11
  205. package/modern/hooks/useTreeItemUtils/index.d.ts +0 -1
  206. package/modern/hooks/useTreeItemUtils/index.js +0 -1
  207. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +0 -42
  208. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +0 -165
  209. package/modern/hooks/useTreeViewApiRef.d.ts +0 -7
  210. package/modern/hooks/useTreeViewApiRef.js +0 -7
  211. package/modern/icons/icons.d.ts +0 -6
  212. package/modern/icons/icons.js +0 -9
  213. package/modern/icons/index.d.ts +0 -1
  214. package/modern/icons/index.js +0 -1
  215. package/modern/index.d.ts +0 -12
  216. package/modern/index.js +0 -22
  217. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +0 -5
  218. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -5
  219. package/modern/internals/TreeViewItemDepthContext/index.d.ts +0 -1
  220. package/modern/internals/TreeViewItemDepthContext/index.js +0 -1
  221. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +0 -17
  222. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +0 -49
  223. package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +0 -8
  224. package/modern/internals/TreeViewProvider/TreeViewContext.js +0 -15
  225. package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +0 -9
  226. package/modern/internals/TreeViewProvider/TreeViewProvider.js +0 -32
  227. package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +0 -21
  228. package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +0 -1
  229. package/modern/internals/TreeViewProvider/TreeViewStyleContext.d.ts +0 -33
  230. package/modern/internals/TreeViewProvider/TreeViewStyleContext.js +0 -13
  231. package/modern/internals/TreeViewProvider/index.d.ts +0 -3
  232. package/modern/internals/TreeViewProvider/index.js +0 -2
  233. package/modern/internals/components/RichTreeViewItems.d.ts +0 -32
  234. package/modern/internals/components/RichTreeViewItems.js +0 -68
  235. package/modern/internals/corePlugins/corePlugins.d.ts +0 -9
  236. package/modern/internals/corePlugins/corePlugins.js +0 -8
  237. package/modern/internals/corePlugins/index.d.ts +0 -2
  238. package/modern/internals/corePlugins/index.js +0 -1
  239. package/modern/internals/corePlugins/useTreeViewId/index.d.ts +0 -2
  240. package/modern/internals/corePlugins/useTreeViewId/index.js +0 -1
  241. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  242. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -39
  243. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -36
  244. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  245. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  246. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -1
  247. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  248. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  249. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  250. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  251. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  252. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -29
  253. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  254. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -1
  255. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  256. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  257. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  258. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  259. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  260. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -1
  261. package/modern/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  262. package/modern/internals/hooks/useInstanceEventHandler.js +0 -77
  263. package/modern/internals/hooks/useLazyRef.d.ts +0 -1
  264. package/modern/internals/hooks/useLazyRef.js +0 -1
  265. package/modern/internals/hooks/useOnMount.d.ts +0 -1
  266. package/modern/internals/hooks/useOnMount.js +0 -1
  267. package/modern/internals/hooks/useSelector.d.ts +0 -4
  268. package/modern/internals/hooks/useSelector.js +0 -9
  269. package/modern/internals/hooks/useTimeout.d.ts +0 -1
  270. package/modern/internals/hooks/useTimeout.js +0 -1
  271. package/modern/internals/index.d.ts +0 -34
  272. package/modern/internals/index.js +0 -24
  273. package/modern/internals/models/events.d.ts +0 -9
  274. package/modern/internals/models/events.js +0 -1
  275. package/modern/internals/models/helpers.d.ts +0 -7
  276. package/modern/internals/models/helpers.js +0 -1
  277. package/modern/internals/models/index.d.ts +0 -4
  278. package/modern/internals/models/index.js +0 -4
  279. package/modern/internals/models/itemPlugin.d.ts +0 -43
  280. package/modern/internals/models/itemPlugin.js +0 -1
  281. package/modern/internals/models/plugin.d.ts +0 -151
  282. package/modern/internals/models/plugin.js +0 -1
  283. package/modern/internals/models/treeView.d.ts +0 -32
  284. package/modern/internals/models/treeView.js +0 -1
  285. package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +0 -2
  286. package/modern/internals/plugins/useTreeViewExpansion/index.js +0 -1
  287. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  288. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -134
  289. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -184
  290. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -24
  291. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -102
  292. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  293. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -7
  294. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -19
  295. package/modern/internals/plugins/useTreeViewFocus/index.d.ts +0 -2
  296. package/modern/internals/plugins/useTreeViewFocus/index.js +0 -1
  297. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  298. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -135
  299. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -182
  300. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +0 -34
  301. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  302. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  303. package/modern/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  304. package/modern/internals/plugins/useTreeViewIcons/index.js +0 -1
  305. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  306. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  307. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  308. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  309. package/modern/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  310. package/modern/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  311. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  312. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  313. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  314. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  315. package/modern/internals/plugins/useTreeViewItems/index.d.ts +0 -3
  316. package/modern/internals/plugins/useTreeViewItems/index.js +0 -2
  317. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  318. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -325
  319. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -1058
  320. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -113
  321. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -205
  322. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  323. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -4
  324. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -8
  325. package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  326. package/modern/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  327. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  328. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -183
  329. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +0 -35
  330. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  331. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  332. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  333. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  334. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -273
  335. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -30
  336. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  337. package/modern/internals/plugins/useTreeViewLabel/index.d.ts +0 -2
  338. package/modern/internals/plugins/useTreeViewLabel/index.js +0 -1
  339. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  340. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +0 -2
  341. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +0 -72
  342. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -73
  343. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -68
  344. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +0 -24
  345. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -60
  346. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  347. package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -1
  348. package/modern/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  349. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -247
  350. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -27
  351. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -82
  352. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  353. package/modern/internals/plugins/useTreeViewSelection/index.d.ts +0 -2
  354. package/modern/internals/plugins/useTreeViewSelection/index.js +0 -1
  355. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  356. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +0 -2
  357. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +0 -80
  358. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -234
  359. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -363
  360. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -46
  361. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -145
  362. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  363. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -38
  364. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -126
  365. package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -22
  366. package/modern/internals/useTreeView/extractPluginParamsFromProps.js +0 -46
  367. package/modern/internals/useTreeView/index.d.ts +0 -1
  368. package/modern/internals/useTreeView/index.js +0 -1
  369. package/modern/internals/useTreeView/useTreeView.d.ts +0 -9
  370. package/modern/internals/useTreeView/useTreeView.js +0 -114
  371. package/modern/internals/useTreeView/useTreeView.types.d.ts +0 -23
  372. package/modern/internals/useTreeView/useTreeView.types.js +0 -1
  373. package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -18
  374. package/modern/internals/useTreeView/useTreeViewBuildContext.js +0 -101
  375. package/modern/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  376. package/modern/internals/useTreeView/useTreeViewModels.js +0 -62
  377. package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  378. package/modern/internals/useTreeView/useTreeViewPlugins.js +0 -0
  379. package/modern/internals/utils/TreeViewStore.d.ts +0 -12
  380. package/modern/internals/utils/TreeViewStore.js +0 -24
  381. package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  382. package/modern/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  383. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  384. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -18
  385. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  386. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  387. package/modern/internals/utils/plugins.d.ts +0 -2
  388. package/modern/internals/utils/plugins.js +0 -4
  389. package/modern/internals/utils/publishTreeViewEvent.d.ts +0 -5
  390. package/modern/internals/utils/publishTreeViewEvent.js +0 -3
  391. package/modern/internals/utils/selectors.d.ts +0 -16
  392. package/modern/internals/utils/selectors.js +0 -46
  393. package/modern/internals/utils/tree.d.ts +0 -32
  394. package/modern/internals/utils/tree.js +0 -203
  395. package/modern/internals/utils/utils.d.ts +0 -2
  396. package/modern/internals/utils/utils.js +0 -17
  397. package/modern/internals/zero-styled/index.d.ts +0 -3
  398. package/modern/internals/zero-styled/index.js +0 -7
  399. package/modern/models/events.d.ts +0 -4
  400. package/modern/models/events.js +0 -1
  401. package/modern/models/index.d.ts +0 -3
  402. package/modern/models/index.js +0 -5
  403. package/modern/models/items.d.ts +0 -13
  404. package/modern/models/items.js +0 -1
  405. package/modern/package.json +0 -1
  406. package/modern/themeAugmentation/components.d.ts +0 -21
  407. package/modern/themeAugmentation/index.d.ts +0 -3
  408. package/modern/themeAugmentation/index.js +0 -0
  409. package/modern/themeAugmentation/overrides.d.ts +0 -16
  410. package/modern/themeAugmentation/props.d.ts +0 -14
  411. package/modern/useTreeItem/index.d.ts +0 -2
  412. package/modern/useTreeItem/index.js +0 -1
  413. package/modern/useTreeItem/useTreeItem.d.ts +0 -2
  414. package/modern/useTreeItem/useTreeItem.js +0 -282
  415. package/modern/useTreeItem/useTreeItem.types.d.ts +0 -201
  416. package/modern/useTreeItem/useTreeItem.types.js +0 -1
  417. package/modern/utils/cache.d.ts +0 -38
  418. package/modern/utils/cache.js +0 -31
  419. package/modern/utils/index.d.ts +0 -1
  420. package/modern/utils/index.js +0 -1
  421. package/tsconfig.build.tsbuildinfo +0 -1
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.RichTreeViewRoot = exports.RichTreeView = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12
  var React = _interopRequireWildcard(require("react"));
12
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
14
  var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
@@ -24,6 +25,7 @@ var _RichTreeViewItems = require("../internals/components/RichTreeViewItems");
24
25
  var _useSelector = require("../internals/hooks/useSelector");
25
26
  var _useTreeViewItems = require("../internals/plugins/useTreeViewItems/useTreeViewItems.selectors");
26
27
  var _jsxRuntime = require("react/jsx-runtime");
28
+ const _excluded = ["slots", "slotProps"];
27
29
  const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiRichTreeView');
28
30
  const useUtilityClasses = ownerState => {
29
31
  const {
@@ -71,6 +73,11 @@ const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(functi
71
73
  props: inProps,
72
74
  name: 'MuiRichTreeView'
73
75
  });
76
+ const {
77
+ slots,
78
+ slotProps
79
+ } = props,
80
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
74
81
  if (process.env.NODE_ENV !== 'production') {
75
82
  if (props.children != null) {
76
83
  (0, _warning.warnOnce)(['MUI X: The Rich Tree View component does not support JSX children.', 'If you want to add items, you need to use the `items` prop.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/.']);
@@ -82,14 +89,10 @@ const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(functi
82
89
  } = (0, _useTreeView.useTreeView)({
83
90
  plugins: _RichTreeView.RICH_TREE_VIEW_PLUGINS,
84
91
  rootRef: ref,
85
- props
92
+ props: other
86
93
  });
87
94
  const isLoading = (0, _useSelector.useSelector)(contextValue.store, _useTreeViewItems.selectorIsTreeViewLoading);
88
95
  const treeViewError = (0, _useSelector.useSelector)(contextValue.store, _useTreeViewItems.selectorGetTreeViewError);
89
- const {
90
- slots,
91
- slotProps
92
- } = props;
93
96
  const classes = useUtilityClasses(props);
94
97
  const Root = slots?.root ?? RichTreeViewRoot;
95
98
  const rootProps = (0, _useSlotProps.default)({
@@ -113,6 +116,8 @@ const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(functi
113
116
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewProvider.TreeViewProvider, {
114
117
  contextValue: contextValue,
115
118
  classes: classes,
119
+ slots: slots,
120
+ slotProps: slotProps,
116
121
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({}, rootProps, {
117
122
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RichTreeViewItems.RichTreeViewItems, {
118
123
  slots: slots,
@@ -3,11 +3,8 @@ import { UseTreeViewItemsParameters } from "../internals/plugins/useTreeViewItem
3
3
  import { UseTreeViewExpansionParameters } from "../internals/plugins/useTreeViewExpansion/index.js";
4
4
  import { UseTreeViewSelectionParameters } from "../internals/plugins/useTreeViewSelection/index.js";
5
5
  import { UseTreeViewFocusParameters } from "../internals/plugins/useTreeViewFocus/index.js";
6
- import { UseTreeViewIconsParameters } from "../internals/plugins/useTreeViewIcons/index.js";
7
- import { ConvertPluginsIntoSignatures, MergeSignaturesProperty } from "../internals/models/index.js";
6
+ import { ConvertPluginsIntoSignatures } from "../internals/models/index.js";
8
7
  import { UseTreeViewLabelParameters } from "../internals/plugins/useTreeViewLabel/index.js";
9
- export declare const RICH_TREE_VIEW_PLUGINS: readonly [import("../internals").TreeViewPlugin<import("../internals").UseTreeViewItemsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewExpansionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewSelectionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewFocusSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewKeyboardNavigationSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewIconsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewLabelSignature>];
8
+ export declare const RICH_TREE_VIEW_PLUGINS: readonly [import("../internals").TreeViewPlugin<import("../internals").UseTreeViewItemsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewExpansionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewSelectionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewFocusSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewKeyboardNavigationSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewLabelSignature>];
10
9
  export type RichTreeViewPluginSignatures = ConvertPluginsIntoSignatures<typeof RICH_TREE_VIEW_PLUGINS>;
11
- export type RichTreeViewPluginSlots = MergeSignaturesProperty<RichTreeViewPluginSignatures, 'slots'>;
12
- export type RichTreeViewPluginSlotProps = MergeSignaturesProperty<RichTreeViewPluginSignatures, 'slotProps'>;
13
- export interface RichTreeViewPluginParameters<R extends {}, Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, UseTreeViewItemsParameters<R>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple>, UseTreeViewIconsParameters, UseTreeViewLabelParameters<R> {}
10
+ export interface RichTreeViewPluginParameters<R extends {}, Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, UseTreeViewItemsParameters<R>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple>, UseTreeViewLabelParameters<R> {}
@@ -9,8 +9,7 @@ var _useTreeViewExpansion = require("../internals/plugins/useTreeViewExpansion")
9
9
  var _useTreeViewSelection = require("../internals/plugins/useTreeViewSelection");
10
10
  var _useTreeViewFocus = require("../internals/plugins/useTreeViewFocus");
11
11
  var _useTreeViewKeyboardNavigation = require("../internals/plugins/useTreeViewKeyboardNavigation");
12
- var _useTreeViewIcons = require("../internals/plugins/useTreeViewIcons");
13
12
  var _useTreeViewLabel = require("../internals/plugins/useTreeViewLabel");
14
- const RICH_TREE_VIEW_PLUGINS = exports.RICH_TREE_VIEW_PLUGINS = [_useTreeViewItems.useTreeViewItems, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewIcons.useTreeViewIcons, _useTreeViewLabel.useTreeViewLabel];
13
+ const RICH_TREE_VIEW_PLUGINS = exports.RICH_TREE_VIEW_PLUGINS = [_useTreeViewItems.useTreeViewItems, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewLabel.useTreeViewLabel];
15
14
 
16
15
  // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -3,17 +3,18 @@ import { Theme } from '@mui/material/styles';
3
3
  import { SxProps } from '@mui/system/styleFunctionSx';
4
4
  import { SlotComponentProps } from '@mui/utils/types';
5
5
  import { RichTreeViewClasses } from "./richTreeViewClasses.js";
6
- import { RichTreeViewPluginParameters, RichTreeViewPluginSlotProps, RichTreeViewPluginSlots, RichTreeViewPluginSignatures } from "./RichTreeView.plugins.js";
6
+ import { RichTreeViewPluginParameters, RichTreeViewPluginSignatures } from "./RichTreeView.plugins.js";
7
7
  import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
8
8
  import { RichTreeViewItemsSlotProps, RichTreeViewItemsSlots } from "../internals/components/RichTreeViewItems.js";
9
- export interface RichTreeViewSlots extends RichTreeViewPluginSlots, RichTreeViewItemsSlots {
9
+ import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
10
+ export interface RichTreeViewSlots extends TreeViewSlots, RichTreeViewItemsSlots {
10
11
  /**
11
12
  * Element rendered at the root.
12
13
  * @default RichTreeViewRoot
13
14
  */
14
15
  root?: React.ElementType;
15
16
  }
16
- export interface RichTreeViewSlotProps<R extends {}, Multiple extends boolean | undefined> extends RichTreeViewPluginSlotProps, RichTreeViewItemsSlotProps {
17
+ export interface RichTreeViewSlotProps<R extends {}, Multiple extends boolean | undefined> extends TreeViewSlotProps, RichTreeViewItemsSlotProps {
17
18
  root?: SlotComponentProps<'ul', {}, RichTreeViewProps<R, Multiple>>;
18
19
  }
19
20
  export type RichTreeViewApiRef = React.RefObject<TreeViewPublicAPI<RichTreeViewPluginSignatures> | undefined>;
@@ -2,4 +2,4 @@ export * from "./RichTreeView.js";
2
2
  export * from "./richTreeViewClasses.js";
3
3
  export type { RichTreeViewProps, RichTreeViewPropsBase, RichTreeViewSlots, RichTreeViewSlotProps } from './RichTreeView.types';
4
4
  export { RICH_TREE_VIEW_PLUGINS } from "./RichTreeView.plugins.js";
5
- export type { RichTreeViewPluginSlots, RichTreeViewPluginSlotProps, RichTreeViewPluginParameters } from './RichTreeView.plugins';
5
+ export type { RichTreeViewPluginParameters } from './RichTreeView.plugins';
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.SimpleTreeViewRoot = exports.SimpleTreeView = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12
  var React = _interopRequireWildcard(require("react"));
12
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
@@ -19,6 +20,7 @@ var _useTreeView = require("../internals/useTreeView");
19
20
  var _TreeViewProvider = require("../internals/TreeViewProvider");
20
21
  var _SimpleTreeView = require("./SimpleTreeView.plugins");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
23
+ const _excluded = ["slots", "slotProps"];
22
24
  const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiSimpleTreeView');
23
25
  const useUtilityClasses = ownerState => {
24
26
  const {
@@ -68,7 +70,11 @@ const SimpleTreeView = exports.SimpleTreeView = /*#__PURE__*/React.forwardRef(fu
68
70
  props: inProps,
69
71
  name: 'MuiSimpleTreeView'
70
72
  });
71
- const ownerState = props;
73
+ const {
74
+ slots,
75
+ slotProps
76
+ } = props,
77
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
72
78
  if (process.env.NODE_ENV !== 'production') {
73
79
  if (props.items != null) {
74
80
  (0, _warning.warnOnce)(['MUI X: The Simple Tree View component does not support the `items` prop.', 'If you want to add items, you need to pass them as JSX children.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/simple-tree-view/items/.']);
@@ -80,14 +86,10 @@ const SimpleTreeView = exports.SimpleTreeView = /*#__PURE__*/React.forwardRef(fu
80
86
  } = (0, _useTreeView.useTreeView)({
81
87
  plugins: _SimpleTreeView.SIMPLE_TREE_VIEW_PLUGINS,
82
88
  rootRef: ref,
83
- props: (0, _extends2.default)({}, props, {
89
+ props: (0, _extends2.default)({}, other, {
84
90
  items: EMPTY_ITEMS
85
91
  })
86
92
  });
87
- const {
88
- slots,
89
- slotProps
90
- } = props;
91
93
  const classes = useUtilityClasses(props);
92
94
  const Root = slots?.root ?? SimpleTreeViewRoot;
93
95
  const rootProps = (0, _useSlotProps.default)({
@@ -95,11 +97,13 @@ const SimpleTreeView = exports.SimpleTreeView = /*#__PURE__*/React.forwardRef(fu
95
97
  externalSlotProps: slotProps?.root,
96
98
  className: classes.root,
97
99
  getSlotProps: getRootProps,
98
- ownerState
100
+ ownerState: props
99
101
  });
100
102
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewProvider.TreeViewProvider, {
101
103
  contextValue: contextValue,
102
104
  classes: classes,
105
+ slots: slots,
106
+ slotProps: slotProps,
103
107
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({}, rootProps))
104
108
  });
105
109
  });
@@ -3,10 +3,7 @@ import { UseTreeViewItemsParameters } from "../internals/plugins/useTreeViewItem
3
3
  import { UseTreeViewExpansionParameters } from "../internals/plugins/useTreeViewExpansion/index.js";
4
4
  import { UseTreeViewSelectionParameters } from "../internals/plugins/useTreeViewSelection/index.js";
5
5
  import { UseTreeViewFocusParameters } from "../internals/plugins/useTreeViewFocus/index.js";
6
- import { UseTreeViewIconsParameters } from "../internals/plugins/useTreeViewIcons/index.js";
7
- import { ConvertPluginsIntoSignatures, MergeSignaturesProperty } from "../internals/models/index.js";
8
- export declare const SIMPLE_TREE_VIEW_PLUGINS: readonly [import("../internals").TreeViewPlugin<import("../internals").UseTreeViewItemsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewExpansionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewSelectionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewFocusSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewKeyboardNavigationSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewIconsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewJSXItemsSignature>];
6
+ import { ConvertPluginsIntoSignatures } from "../internals/models/index.js";
7
+ export declare const SIMPLE_TREE_VIEW_PLUGINS: readonly [import("../internals").TreeViewPlugin<import("../internals").UseTreeViewItemsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewExpansionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewSelectionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewFocusSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewKeyboardNavigationSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewJSXItemsSignature>];
9
8
  export type SimpleTreeViewPluginSignatures = ConvertPluginsIntoSignatures<typeof SIMPLE_TREE_VIEW_PLUGINS>;
10
- export type SimpleTreeViewPluginSlots = MergeSignaturesProperty<SimpleTreeViewPluginSignatures, 'slots'>;
11
- export type SimpleTreeViewPluginSlotProps = MergeSignaturesProperty<SimpleTreeViewPluginSignatures, 'slotProps'>;
12
- export interface SimpleTreeViewPluginParameters<Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, Omit<UseTreeViewItemsParameters<any>, 'items' | 'isItemDisabled' | 'getItemLabel' | 'getItemId'>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple>, UseTreeViewIconsParameters {}
9
+ export interface SimpleTreeViewPluginParameters<Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, Omit<UseTreeViewItemsParameters<any>, 'items' | 'isItemDisabled' | 'getItemLabel' | 'getItemId'>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple> {}
@@ -9,8 +9,7 @@ var _useTreeViewExpansion = require("../internals/plugins/useTreeViewExpansion")
9
9
  var _useTreeViewSelection = require("../internals/plugins/useTreeViewSelection");
10
10
  var _useTreeViewFocus = require("../internals/plugins/useTreeViewFocus");
11
11
  var _useTreeViewKeyboardNavigation = require("../internals/plugins/useTreeViewKeyboardNavigation");
12
- var _useTreeViewIcons = require("../internals/plugins/useTreeViewIcons");
13
12
  var _useTreeViewJSXItems = require("../internals/plugins/useTreeViewJSXItems");
14
- const SIMPLE_TREE_VIEW_PLUGINS = exports.SIMPLE_TREE_VIEW_PLUGINS = [_useTreeViewItems.useTreeViewItems, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewIcons.useTreeViewIcons, _useTreeViewJSXItems.useTreeViewJSXItems];
13
+ const SIMPLE_TREE_VIEW_PLUGINS = exports.SIMPLE_TREE_VIEW_PLUGINS = [_useTreeViewItems.useTreeViewItems, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewJSXItems.useTreeViewJSXItems];
15
14
 
16
15
  // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -3,16 +3,17 @@ import { Theme } from '@mui/material/styles';
3
3
  import { SlotComponentProps } from '@mui/utils/types';
4
4
  import { SxProps } from '@mui/system/styleFunctionSx';
5
5
  import { SimpleTreeViewClasses } from "./simpleTreeViewClasses.js";
6
- import { SimpleTreeViewPluginParameters, SimpleTreeViewPluginSlotProps, SimpleTreeViewPluginSlots, SimpleTreeViewPluginSignatures } from "./SimpleTreeView.plugins.js";
6
+ import { SimpleTreeViewPluginParameters, SimpleTreeViewPluginSignatures } from "./SimpleTreeView.plugins.js";
7
7
  import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
8
- export interface SimpleTreeViewSlots extends SimpleTreeViewPluginSlots {
8
+ import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
9
+ export interface SimpleTreeViewSlots extends TreeViewSlots {
9
10
  /**
10
11
  * Element rendered at the root.
11
12
  * @default SimpleTreeViewRoot
12
13
  */
13
14
  root?: React.ElementType;
14
15
  }
15
- export interface SimpleTreeViewSlotProps extends SimpleTreeViewPluginSlotProps {
16
+ export interface SimpleTreeViewSlotProps extends TreeViewSlotProps {
16
17
  root?: SlotComponentProps<'ul', {}, {}>;
17
18
  }
18
19
  export type SimpleTreeViewApiRef = React.RefObject<TreeViewPublicAPI<SimpleTreeViewPluginSignatures> | undefined>;
@@ -12,21 +12,25 @@ var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
14
14
  var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
15
- var _TreeViewProvider = require("../internals/TreeViewProvider");
15
+ var _TreeViewStyleContext = require("../internals/TreeViewProvider/TreeViewStyleContext");
16
16
  var _icons = require("../icons");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  function TreeItemIcon(props) {
19
19
  const {
20
- slots,
21
- slotProps,
20
+ slots: slotsFromTreeItem,
21
+ slotProps: slotPropsFromTreeItem,
22
22
  status
23
23
  } = props;
24
- const context = (0, _TreeViewProvider.useTreeViewContext)();
25
- const contextIcons = (0, _extends2.default)({}, context.icons.slots, {
26
- expandIcon: context.icons.slots.expandIcon ?? _icons.TreeViewExpandIcon,
27
- collapseIcon: context.icons.slots.collapseIcon ?? _icons.TreeViewCollapseIcon
28
- });
29
- const contextIconProps = context.icons.slotProps;
24
+ const {
25
+ slots: slotsFromTreeView,
26
+ slotProps: slotPropsFromTreeView
27
+ } = (0, _TreeViewStyleContext.useTreeViewStyleContext)();
28
+ const slots = {
29
+ collapseIcon: slotsFromTreeItem?.collapseIcon ?? slotsFromTreeView.collapseIcon ?? _icons.TreeViewCollapseIcon,
30
+ expandIcon: slotsFromTreeItem?.expandIcon ?? slotsFromTreeView.expandIcon ?? _icons.TreeViewExpandIcon,
31
+ endIcon: slotsFromTreeItem?.endIcon ?? slotsFromTreeView.endIcon,
32
+ icon: slotsFromTreeItem?.icon
33
+ };
30
34
  let iconName;
31
35
  if (slots?.icon) {
32
36
  iconName = 'icon';
@@ -39,10 +43,10 @@ function TreeItemIcon(props) {
39
43
  } else {
40
44
  iconName = 'endIcon';
41
45
  }
42
- const Icon = slots?.[iconName] ?? contextIcons[iconName];
46
+ const Icon = slots[iconName];
43
47
  const iconProps = (0, _useSlotProps.default)({
44
48
  elementType: Icon,
45
- externalSlotProps: tempOwnerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(contextIconProps[iconName], tempOwnerState), (0, _resolveComponentProps.default)(slotProps?.[iconName], tempOwnerState)),
49
+ externalSlotProps: tempOwnerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(slotPropsFromTreeView[iconName], tempOwnerState), (0, _resolveComponentProps.default)(slotPropsFromTreeItem?.[iconName], tempOwnerState)),
46
50
  // TODO: Add proper ownerState
47
51
  ownerState: {}
48
52
  });
@@ -1,6 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
+ const _excluded = ["slots", "slotProps"];
4
6
  import * as React from 'react';
5
7
  import PropTypes from 'prop-types';
6
8
  import Alert from '@mui/material/Alert';
@@ -64,6 +66,11 @@ const RichTreeView = /*#__PURE__*/React.forwardRef(function RichTreeView(inProps
64
66
  props: inProps,
65
67
  name: 'MuiRichTreeView'
66
68
  });
69
+ const {
70
+ slots,
71
+ slotProps
72
+ } = props,
73
+ other = _objectWithoutPropertiesLoose(props, _excluded);
67
74
  if (process.env.NODE_ENV !== 'production') {
68
75
  if (props.children != null) {
69
76
  warnOnce(['MUI X: The Rich Tree View component does not support JSX children.', 'If you want to add items, you need to use the `items` prop.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/.']);
@@ -75,14 +82,10 @@ const RichTreeView = /*#__PURE__*/React.forwardRef(function RichTreeView(inProps
75
82
  } = useTreeView({
76
83
  plugins: RICH_TREE_VIEW_PLUGINS,
77
84
  rootRef: ref,
78
- props
85
+ props: other
79
86
  });
80
87
  const isLoading = useSelector(contextValue.store, selectorIsTreeViewLoading);
81
88
  const treeViewError = useSelector(contextValue.store, selectorGetTreeViewError);
82
- const {
83
- slots,
84
- slotProps
85
- } = props;
86
89
  const classes = useUtilityClasses(props);
87
90
  const Root = slots?.root ?? RichTreeViewRoot;
88
91
  const rootProps = useSlotProps({
@@ -106,6 +109,8 @@ const RichTreeView = /*#__PURE__*/React.forwardRef(function RichTreeView(inProps
106
109
  return /*#__PURE__*/_jsx(TreeViewProvider, {
107
110
  contextValue: contextValue,
108
111
  classes: classes,
112
+ slots: slots,
113
+ slotProps: slotProps,
109
114
  children: /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {
110
115
  children: /*#__PURE__*/_jsx(RichTreeViewItems, {
111
116
  slots: slots,
@@ -3,11 +3,8 @@ import { UseTreeViewItemsParameters } from "../internals/plugins/useTreeViewItem
3
3
  import { UseTreeViewExpansionParameters } from "../internals/plugins/useTreeViewExpansion/index.js";
4
4
  import { UseTreeViewSelectionParameters } from "../internals/plugins/useTreeViewSelection/index.js";
5
5
  import { UseTreeViewFocusParameters } from "../internals/plugins/useTreeViewFocus/index.js";
6
- import { UseTreeViewIconsParameters } from "../internals/plugins/useTreeViewIcons/index.js";
7
- import { ConvertPluginsIntoSignatures, MergeSignaturesProperty } from "../internals/models/index.js";
6
+ import { ConvertPluginsIntoSignatures } from "../internals/models/index.js";
8
7
  import { UseTreeViewLabelParameters } from "../internals/plugins/useTreeViewLabel/index.js";
9
- export declare const RICH_TREE_VIEW_PLUGINS: readonly [import("../internals").TreeViewPlugin<import("../internals").UseTreeViewItemsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewExpansionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewSelectionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewFocusSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewKeyboardNavigationSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewIconsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewLabelSignature>];
8
+ export declare const RICH_TREE_VIEW_PLUGINS: readonly [import("../internals").TreeViewPlugin<import("../internals").UseTreeViewItemsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewExpansionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewSelectionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewFocusSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewKeyboardNavigationSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewLabelSignature>];
10
9
  export type RichTreeViewPluginSignatures = ConvertPluginsIntoSignatures<typeof RICH_TREE_VIEW_PLUGINS>;
11
- export type RichTreeViewPluginSlots = MergeSignaturesProperty<RichTreeViewPluginSignatures, 'slots'>;
12
- export type RichTreeViewPluginSlotProps = MergeSignaturesProperty<RichTreeViewPluginSignatures, 'slotProps'>;
13
- export interface RichTreeViewPluginParameters<R extends {}, Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, UseTreeViewItemsParameters<R>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple>, UseTreeViewIconsParameters, UseTreeViewLabelParameters<R> {}
10
+ export interface RichTreeViewPluginParameters<R extends {}, Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, UseTreeViewItemsParameters<R>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple>, UseTreeViewLabelParameters<R> {}
@@ -3,8 +3,7 @@ import { useTreeViewExpansion } from "../internals/plugins/useTreeViewExpansion/
3
3
  import { useTreeViewSelection } from "../internals/plugins/useTreeViewSelection/index.js";
4
4
  import { useTreeViewFocus } from "../internals/plugins/useTreeViewFocus/index.js";
5
5
  import { useTreeViewKeyboardNavigation } from "../internals/plugins/useTreeViewKeyboardNavigation/index.js";
6
- import { useTreeViewIcons } from "../internals/plugins/useTreeViewIcons/index.js";
7
6
  import { useTreeViewLabel } from "../internals/plugins/useTreeViewLabel/index.js";
8
- export const RICH_TREE_VIEW_PLUGINS = [useTreeViewItems, useTreeViewExpansion, useTreeViewSelection, useTreeViewFocus, useTreeViewKeyboardNavigation, useTreeViewIcons, useTreeViewLabel];
7
+ export const RICH_TREE_VIEW_PLUGINS = [useTreeViewItems, useTreeViewExpansion, useTreeViewSelection, useTreeViewFocus, useTreeViewKeyboardNavigation, useTreeViewLabel];
9
8
 
10
9
  // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -3,17 +3,18 @@ import { Theme } from '@mui/material/styles';
3
3
  import { SxProps } from '@mui/system/styleFunctionSx';
4
4
  import { SlotComponentProps } from '@mui/utils/types';
5
5
  import { RichTreeViewClasses } from "./richTreeViewClasses.js";
6
- import { RichTreeViewPluginParameters, RichTreeViewPluginSlotProps, RichTreeViewPluginSlots, RichTreeViewPluginSignatures } from "./RichTreeView.plugins.js";
6
+ import { RichTreeViewPluginParameters, RichTreeViewPluginSignatures } from "./RichTreeView.plugins.js";
7
7
  import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
8
8
  import { RichTreeViewItemsSlotProps, RichTreeViewItemsSlots } from "../internals/components/RichTreeViewItems.js";
9
- export interface RichTreeViewSlots extends RichTreeViewPluginSlots, RichTreeViewItemsSlots {
9
+ import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
10
+ export interface RichTreeViewSlots extends TreeViewSlots, RichTreeViewItemsSlots {
10
11
  /**
11
12
  * Element rendered at the root.
12
13
  * @default RichTreeViewRoot
13
14
  */
14
15
  root?: React.ElementType;
15
16
  }
16
- export interface RichTreeViewSlotProps<R extends {}, Multiple extends boolean | undefined> extends RichTreeViewPluginSlotProps, RichTreeViewItemsSlotProps {
17
+ export interface RichTreeViewSlotProps<R extends {}, Multiple extends boolean | undefined> extends TreeViewSlotProps, RichTreeViewItemsSlotProps {
17
18
  root?: SlotComponentProps<'ul', {}, RichTreeViewProps<R, Multiple>>;
18
19
  }
19
20
  export type RichTreeViewApiRef = React.RefObject<TreeViewPublicAPI<RichTreeViewPluginSignatures> | undefined>;
@@ -2,4 +2,4 @@ export * from "./RichTreeView.js";
2
2
  export * from "./richTreeViewClasses.js";
3
3
  export type { RichTreeViewProps, RichTreeViewPropsBase, RichTreeViewSlots, RichTreeViewSlotProps } from './RichTreeView.types';
4
4
  export { RICH_TREE_VIEW_PLUGINS } from "./RichTreeView.plugins.js";
5
- export type { RichTreeViewPluginSlots, RichTreeViewPluginSlotProps, RichTreeViewPluginParameters } from './RichTreeView.plugins';
5
+ export type { RichTreeViewPluginParameters } from './RichTreeView.plugins';
@@ -1,6 +1,8 @@
1
1
  'use client';
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
+ const _excluded = ["slots", "slotProps"];
4
6
  import * as React from 'react';
5
7
  import PropTypes from 'prop-types';
6
8
  import composeClasses from '@mui/utils/composeClasses';
@@ -61,7 +63,11 @@ const SimpleTreeView = /*#__PURE__*/React.forwardRef(function SimpleTreeView(inP
61
63
  props: inProps,
62
64
  name: 'MuiSimpleTreeView'
63
65
  });
64
- const ownerState = props;
66
+ const {
67
+ slots,
68
+ slotProps
69
+ } = props,
70
+ other = _objectWithoutPropertiesLoose(props, _excluded);
65
71
  if (process.env.NODE_ENV !== 'production') {
66
72
  if (props.items != null) {
67
73
  warnOnce(['MUI X: The Simple Tree View component does not support the `items` prop.', 'If you want to add items, you need to pass them as JSX children.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/simple-tree-view/items/.']);
@@ -73,14 +79,10 @@ const SimpleTreeView = /*#__PURE__*/React.forwardRef(function SimpleTreeView(inP
73
79
  } = useTreeView({
74
80
  plugins: SIMPLE_TREE_VIEW_PLUGINS,
75
81
  rootRef: ref,
76
- props: _extends({}, props, {
82
+ props: _extends({}, other, {
77
83
  items: EMPTY_ITEMS
78
84
  })
79
85
  });
80
- const {
81
- slots,
82
- slotProps
83
- } = props;
84
86
  const classes = useUtilityClasses(props);
85
87
  const Root = slots?.root ?? SimpleTreeViewRoot;
86
88
  const rootProps = useSlotProps({
@@ -88,11 +90,13 @@ const SimpleTreeView = /*#__PURE__*/React.forwardRef(function SimpleTreeView(inP
88
90
  externalSlotProps: slotProps?.root,
89
91
  className: classes.root,
90
92
  getSlotProps: getRootProps,
91
- ownerState
93
+ ownerState: props
92
94
  });
93
95
  return /*#__PURE__*/_jsx(TreeViewProvider, {
94
96
  contextValue: contextValue,
95
97
  classes: classes,
98
+ slots: slots,
99
+ slotProps: slotProps,
96
100
  children: /*#__PURE__*/_jsx(Root, _extends({}, rootProps))
97
101
  });
98
102
  });
@@ -3,10 +3,7 @@ import { UseTreeViewItemsParameters } from "../internals/plugins/useTreeViewItem
3
3
  import { UseTreeViewExpansionParameters } from "../internals/plugins/useTreeViewExpansion/index.js";
4
4
  import { UseTreeViewSelectionParameters } from "../internals/plugins/useTreeViewSelection/index.js";
5
5
  import { UseTreeViewFocusParameters } from "../internals/plugins/useTreeViewFocus/index.js";
6
- import { UseTreeViewIconsParameters } from "../internals/plugins/useTreeViewIcons/index.js";
7
- import { ConvertPluginsIntoSignatures, MergeSignaturesProperty } from "../internals/models/index.js";
8
- export declare const SIMPLE_TREE_VIEW_PLUGINS: readonly [import("../internals").TreeViewPlugin<import("../internals").UseTreeViewItemsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewExpansionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewSelectionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewFocusSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewKeyboardNavigationSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewIconsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewJSXItemsSignature>];
6
+ import { ConvertPluginsIntoSignatures } from "../internals/models/index.js";
7
+ export declare const SIMPLE_TREE_VIEW_PLUGINS: readonly [import("../internals").TreeViewPlugin<import("../internals").UseTreeViewItemsSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewExpansionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewSelectionSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewFocusSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewKeyboardNavigationSignature>, import("../internals").TreeViewPlugin<import("../internals").UseTreeViewJSXItemsSignature>];
9
8
  export type SimpleTreeViewPluginSignatures = ConvertPluginsIntoSignatures<typeof SIMPLE_TREE_VIEW_PLUGINS>;
10
- export type SimpleTreeViewPluginSlots = MergeSignaturesProperty<SimpleTreeViewPluginSignatures, 'slots'>;
11
- export type SimpleTreeViewPluginSlotProps = MergeSignaturesProperty<SimpleTreeViewPluginSignatures, 'slotProps'>;
12
- export interface SimpleTreeViewPluginParameters<Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, Omit<UseTreeViewItemsParameters<any>, 'items' | 'isItemDisabled' | 'getItemLabel' | 'getItemId'>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple>, UseTreeViewIconsParameters {}
9
+ export interface SimpleTreeViewPluginParameters<Multiple extends boolean | undefined> extends TreeViewCorePluginParameters, Omit<UseTreeViewItemsParameters<any>, 'items' | 'isItemDisabled' | 'getItemLabel' | 'getItemId'>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple> {}
@@ -3,8 +3,7 @@ import { useTreeViewExpansion } from "../internals/plugins/useTreeViewExpansion/
3
3
  import { useTreeViewSelection } from "../internals/plugins/useTreeViewSelection/index.js";
4
4
  import { useTreeViewFocus } from "../internals/plugins/useTreeViewFocus/index.js";
5
5
  import { useTreeViewKeyboardNavigation } from "../internals/plugins/useTreeViewKeyboardNavigation/index.js";
6
- import { useTreeViewIcons } from "../internals/plugins/useTreeViewIcons/index.js";
7
6
  import { useTreeViewJSXItems } from "../internals/plugins/useTreeViewJSXItems/index.js";
8
- export const SIMPLE_TREE_VIEW_PLUGINS = [useTreeViewItems, useTreeViewExpansion, useTreeViewSelection, useTreeViewFocus, useTreeViewKeyboardNavigation, useTreeViewIcons, useTreeViewJSXItems];
7
+ export const SIMPLE_TREE_VIEW_PLUGINS = [useTreeViewItems, useTreeViewExpansion, useTreeViewSelection, useTreeViewFocus, useTreeViewKeyboardNavigation, useTreeViewJSXItems];
9
8
 
10
9
  // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -3,16 +3,17 @@ import { Theme } from '@mui/material/styles';
3
3
  import { SlotComponentProps } from '@mui/utils/types';
4
4
  import { SxProps } from '@mui/system/styleFunctionSx';
5
5
  import { SimpleTreeViewClasses } from "./simpleTreeViewClasses.js";
6
- import { SimpleTreeViewPluginParameters, SimpleTreeViewPluginSlotProps, SimpleTreeViewPluginSlots, SimpleTreeViewPluginSignatures } from "./SimpleTreeView.plugins.js";
6
+ import { SimpleTreeViewPluginParameters, SimpleTreeViewPluginSignatures } from "./SimpleTreeView.plugins.js";
7
7
  import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
8
- export interface SimpleTreeViewSlots extends SimpleTreeViewPluginSlots {
8
+ import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
9
+ export interface SimpleTreeViewSlots extends TreeViewSlots {
9
10
  /**
10
11
  * Element rendered at the root.
11
12
  * @default SimpleTreeViewRoot
12
13
  */
13
14
  root?: React.ElementType;
14
15
  }
15
- export interface SimpleTreeViewSlotProps extends SimpleTreeViewPluginSlotProps {
16
+ export interface SimpleTreeViewSlotProps extends TreeViewSlotProps {
16
17
  root?: SlotComponentProps<'ul', {}, {}>;
17
18
  }
18
19
  export type SimpleTreeViewApiRef = React.RefObject<TreeViewPublicAPI<SimpleTreeViewPluginSignatures> | undefined>;
@@ -5,21 +5,25 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import resolveComponentProps from '@mui/utils/resolveComponentProps';
7
7
  import useSlotProps from '@mui/utils/useSlotProps';
8
- import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
8
+ import { useTreeViewStyleContext } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
9
9
  import { TreeViewCollapseIcon, TreeViewExpandIcon } from "../icons/index.js";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  function TreeItemIcon(props) {
12
12
  const {
13
- slots,
14
- slotProps,
13
+ slots: slotsFromTreeItem,
14
+ slotProps: slotPropsFromTreeItem,
15
15
  status
16
16
  } = props;
17
- const context = useTreeViewContext();
18
- const contextIcons = _extends({}, context.icons.slots, {
19
- expandIcon: context.icons.slots.expandIcon ?? TreeViewExpandIcon,
20
- collapseIcon: context.icons.slots.collapseIcon ?? TreeViewCollapseIcon
21
- });
22
- const contextIconProps = context.icons.slotProps;
17
+ const {
18
+ slots: slotsFromTreeView,
19
+ slotProps: slotPropsFromTreeView
20
+ } = useTreeViewStyleContext();
21
+ const slots = {
22
+ collapseIcon: slotsFromTreeItem?.collapseIcon ?? slotsFromTreeView.collapseIcon ?? TreeViewCollapseIcon,
23
+ expandIcon: slotsFromTreeItem?.expandIcon ?? slotsFromTreeView.expandIcon ?? TreeViewExpandIcon,
24
+ endIcon: slotsFromTreeItem?.endIcon ?? slotsFromTreeView.endIcon,
25
+ icon: slotsFromTreeItem?.icon
26
+ };
23
27
  let iconName;
24
28
  if (slots?.icon) {
25
29
  iconName = 'icon';
@@ -32,10 +36,10 @@ function TreeItemIcon(props) {
32
36
  } else {
33
37
  iconName = 'endIcon';
34
38
  }
35
- const Icon = slots?.[iconName] ?? contextIcons[iconName];
39
+ const Icon = slots[iconName];
36
40
  const iconProps = useSlotProps({
37
41
  elementType: Icon,
38
- externalSlotProps: tempOwnerState => _extends({}, resolveComponentProps(contextIconProps[iconName], tempOwnerState), resolveComponentProps(slotProps?.[iconName], tempOwnerState)),
42
+ externalSlotProps: tempOwnerState => _extends({}, resolveComponentProps(slotPropsFromTreeView[iconName], tempOwnerState), resolveComponentProps(slotPropsFromTreeItem?.[iconName], tempOwnerState)),
39
43
  // TODO: Add proper ownerState
40
44
  ownerState: {}
41
45
  });
@@ -79,7 +79,7 @@ export const useTreeItemUtils = ({
79
79
  if (status.disabled) {
80
80
  return;
81
81
  }
82
- if (!status.focused) {
82
+ if (!status.focused && !status.editing) {
83
83
  instance.focusItem(event, itemId);
84
84
  }
85
85
  const multiple = isMultiSelectEnabled && (event.shiftKey || event.ctrlKey || event.metaKey);
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v8.0.0-beta.3
2
+ * @mui/x-tree-view v8.0.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -4,5 +4,5 @@ import { TreeViewContextValue } from "./TreeViewProvider.types.js";
4
4
  /**
5
5
  * @ignore - internal component.
6
6
  */
7
- export declare const TreeViewContext: React.Context<TreeViewContextValue<any> | null>;
7
+ export declare const TreeViewContext: React.Context<TreeViewContextValue<any, []> | null>;
8
8
  export declare const useTreeViewContext: <TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []>() => TreeViewContextValue<TSignatures, TOptionalSignatures>;
@@ -13,13 +13,23 @@ export function TreeViewProvider(props) {
13
13
  const {
14
14
  contextValue,
15
15
  classes = EMPTY_OBJECT,
16
+ slots = EMPTY_OBJECT,
17
+ slotProps = EMPTY_OBJECT,
16
18
  children
17
19
  } = props;
18
-
19
- // TODO: Add the icons to this context and drop useTreeViewIcons
20
20
  const styleContextValue = React.useMemo(() => ({
21
- classes
22
- }), [classes]);
21
+ classes,
22
+ slots: {
23
+ collapseIcon: slots.collapseIcon,
24
+ expandIcon: slots.expandIcon,
25
+ endIcon: slots.endIcon
26
+ },
27
+ slotProps: {
28
+ collapseIcon: slotProps.collapseIcon,
29
+ expandIcon: slotProps.expandIcon,
30
+ endIcon: slotProps.endIcon
31
+ }
32
+ }), [classes, slots.collapseIcon, slots.expandIcon, slots.endIcon, slotProps.collapseIcon, slotProps.expandIcon, slotProps.endIcon]);
23
33
  return /*#__PURE__*/_jsx(TreeViewContext.Provider, {
24
34
  value: contextValue,
25
35
  children: /*#__PURE__*/_jsx(TreeViewStyleContext.Provider, {