@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,53 +1,66 @@
1
1
  import * as React from 'react';
2
- import { Theme } from '@mui/material/styles';
3
- import { SlotComponentProps } from '@mui/utils';
2
+ import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
4
3
  import { TransitionProps } from '@mui/material/transitions';
5
- import { SxProps } from '@mui/system';
6
- import { TreeItemContentProps } from './TreeItemContent';
4
+ import { SlotComponentProps } from '@mui/utils';
5
+ import { UseTreeItemParameters, UseTreeItemStatus } from '../useTreeItem';
7
6
  import { TreeItemClasses } from './treeItemClasses';
8
- import { TreeViewItemId, TreeViewCancellableEventHandler } from '../models';
9
- import { SlotComponentPropsFromProps } from '../internals/models';
10
- import { UseTreeViewIconsSignature } from '../internals/plugins/useTreeViewIcons';
11
- import { UseTreeViewSelectionSignature } from '../internals/plugins/useTreeViewSelection';
12
- import { UseTreeViewItemsSignature } from '../internals/plugins/useTreeViewItems';
13
- import { UseTreeViewFocusSignature } from '../internals/plugins/useTreeViewFocus';
14
- import { UseTreeViewExpansionSignature } from '../internals/plugins/useTreeViewExpansion';
15
- import { UseTreeViewKeyboardNavigationSignature } from '../internals/plugins/useTreeViewKeyboardNavigation';
16
- export interface TreeItemSlots {
7
+ import { TreeItemIconSlotProps, TreeItemIconSlots } from '../TreeItemIcon';
8
+ import { TreeViewCancellableEventHandler } from '../models';
9
+ export interface TreeItemSlots extends TreeItemIconSlots {
17
10
  /**
18
- * The icon used to collapse the item.
11
+ * The component that renders the root.
12
+ * @default TreeItemRoot
19
13
  */
20
- collapseIcon?: React.ElementType;
14
+ root?: React.ElementType;
21
15
  /**
22
- * The icon used to expand the item.
16
+ * The component that renders the content of the item.
17
+ * (e.g.: everything related to this item, not to its children).
18
+ * @default TreeItemContent
23
19
  */
24
- expandIcon?: React.ElementType;
20
+ content?: React.ElementType;
25
21
  /**
26
- * The icon displayed next to an end item.
22
+ * The component that renders the children of the item.
23
+ * @default TreeItemGroupTransition
27
24
  */
28
- endIcon?: React.ElementType;
25
+ groupTransition?: React.ElementType;
29
26
  /**
30
- * The icon to display next to the Tree Item's label.
27
+ * The component that renders the icon.
28
+ * @default TreeItemIconContainer
31
29
  */
32
- icon?: React.ElementType;
30
+ iconContainer?: React.ElementType;
33
31
  /**
34
- * The component that animates the appearance / disappearance of the item's children.
35
- * @default TreeItem2Group
32
+ * The component that renders the item checkbox for selection.
33
+ * @default TreeItemCheckbox
36
34
  */
37
- groupTransition?: React.ElementType;
35
+ checkbox?: React.ElementType;
36
+ /**
37
+ * The component that renders the item label.
38
+ * @default TreeItemLabel
39
+ */
40
+ label?: React.ElementType;
41
+ /**
42
+ * The component that renders the input to edit the label when the item is editable and is currently being edited.
43
+ * @default TreeItemLabelInput
44
+ */
45
+ labelInput?: React.ElementType;
46
+ /**
47
+ * The component that renders the overlay when an item reordering is ongoing.
48
+ * Warning: This slot is only useful when using the `<RichTreeViewPro />` component.
49
+ * @default TreeItemDragAndDropOverlay
50
+ */
51
+ dragAndDropOverlay?: React.ElementType;
38
52
  }
39
- export interface TreeItemSlotProps {
40
- collapseIcon?: SlotComponentProps<'svg', {}, {}>;
41
- expandIcon?: SlotComponentProps<'svg', {}, {}>;
42
- endIcon?: SlotComponentProps<'svg', {}, {}>;
43
- icon?: SlotComponentProps<'svg', {}, {}>;
53
+ export interface TreeItemSlotProps extends TreeItemIconSlotProps {
54
+ root?: SlotComponentProps<'li', {}, {}>;
55
+ content?: SlotComponentProps<'div', {}, {}>;
44
56
  groupTransition?: SlotComponentPropsFromProps<TransitionProps, {}, {}>;
57
+ iconContainer?: SlotComponentProps<'div', {}, {}>;
58
+ checkbox?: SlotComponentProps<'button', {}, {}>;
59
+ label?: SlotComponentProps<'div', {}, {}>;
60
+ labelInput?: SlotComponentProps<'input', {}, {}>;
61
+ dragAndDropOverlay?: SlotComponentProps<'div', {}, {}>;
45
62
  }
46
- export interface TreeItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>, 'onFocus'> {
47
- /**
48
- * The content of the component.
49
- */
50
- children?: React.ReactNode;
63
+ export interface TreeItemProps extends Omit<UseTreeItemParameters, 'rootRef'>, Omit<React.HTMLAttributes<HTMLLIElement>, 'onFocus'> {
51
64
  className?: string;
52
65
  /**
53
66
  * Override or extend the styles applied to the component.
@@ -63,65 +76,19 @@ export interface TreeItemProps extends Omit<React.HTMLAttributes<HTMLLIElement>,
63
76
  * @default {}
64
77
  */
65
78
  slotProps?: TreeItemSlotProps;
66
- /**
67
- * The component used to render the content of the item.
68
- * @deprecated Consider using the `<TreeItem2 />` component or the `useTreeItem2` hook instead. For more details, see https://mui.com/x/react-tree-view/tree-item-customization/.
69
- * @default TreeItemContent
70
- */
71
- ContentComponent?: React.JSXElementConstructor<TreeItemContentProps>;
72
- /**
73
- * Props applied to ContentComponent.
74
- * @deprecated Consider using the `<TreeItem2 />` component or the `useTreeItem2` hook instead. For more details, see https://mui.com/x/react-tree-view/tree-item-customization/.
75
- */
76
- ContentProps?: React.HTMLAttributes<HTMLElement> & {
77
- ref?: React.Ref<HTMLElement>;
78
- };
79
- /**
80
- * If `true`, the item is disabled.
81
- * @default false
82
- */
83
- disabled?: boolean;
84
79
  /**
85
80
  * This prop isn't supported.
86
- * Use the `onItemFocus` callback on the tree if you need to monitor a item's focus.
81
+ * Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
87
82
  */
88
83
  onFocus?: null;
89
84
  /**
90
- * The Tree Item label.
91
- */
92
- label?: React.ReactNode;
93
- /**
94
- * The id of the item.
95
- */
96
- itemId: TreeViewItemId;
97
- /**
98
- * The system prop that allows defining system overrides as well as additional CSS styles.
85
+ * Callback fired when the item root is blurred.
99
86
  */
100
- sx?: SxProps<Theme>;
87
+ onBlur?: TreeViewCancellableEventHandler<React.FocusEvent<HTMLLIElement>>;
101
88
  /**
102
- * Callback fired when a key of the keyboard is pressed on the item.
89
+ * Callback fired when a key is pressed on the keyboard and the tree is in focus.
103
90
  */
104
91
  onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLLIElement>>;
105
92
  }
106
- export interface TreeItemOwnerState extends TreeItemProps {
107
- expanded: boolean;
108
- focused: boolean;
109
- selected: boolean;
110
- disabled: boolean;
111
- indentationAtItemLevel: boolean;
93
+ export interface TreeItemOwnerState extends Omit<TreeItemProps, 'disabled'>, UseTreeItemStatus {
112
94
  }
113
- /**
114
- * Plugins that need to be present in the Tree View in order for Tree Item to work correctly.
115
- */
116
- export type TreeItemMinimalPlugins = readonly [
117
- UseTreeViewIconsSignature,
118
- UseTreeViewSelectionSignature,
119
- UseTreeViewItemsSignature,
120
- UseTreeViewFocusSignature,
121
- UseTreeViewExpansionSignature,
122
- UseTreeViewKeyboardNavigationSignature
123
- ];
124
- /**
125
- * Plugins that Tree Item can use if they are present, but are not required.
126
- */
127
- export type TreeItemOptionalPlugins = readonly [];
@@ -1,6 +1,3 @@
1
- export { TreeItem } from './TreeItem';
1
+ export { TreeItem, TreeItemRoot, TreeItemContent, TreeItemIconContainer, TreeItemGroupTransition, TreeItemCheckbox, TreeItemLabel, } from './TreeItem';
2
2
  export type { TreeItemProps, TreeItemSlots, TreeItemSlotProps } from './TreeItem.types';
3
3
  export * from './treeItemClasses';
4
- export * from './useTreeItemState';
5
- export { TreeItemContent } from './TreeItemContent';
6
- export type { TreeItemContentProps, TreeItemContentClassKey } from './TreeItemContent';
package/TreeItem/index.js CHANGED
@@ -1,4 +1,2 @@
1
- export { TreeItem } from "./TreeItem.js";
2
- export * from "./treeItemClasses.js";
3
- export * from "./useTreeItemState.js";
4
- export { TreeItemContent } from "./TreeItemContent.js";
1
+ export { TreeItem, TreeItemRoot, TreeItemContent, TreeItemIconContainer, TreeItemGroupTransition, TreeItemCheckbox, TreeItemLabel } from "./TreeItem.js";
2
+ export * from "./treeItemClasses.js";
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { TreeItemDragAndDropOverlayProps } from './TreeItemDragAndDropOverlay.types';
3
+ declare function TreeItemDragAndDropOverlay(props: TreeItemDragAndDropOverlayProps): React.JSX.Element | null;
4
+ declare namespace TreeItemDragAndDropOverlay {
5
+ var propTypes: any;
6
+ }
7
+ export { TreeItemDragAndDropOverlay };
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
@@ -5,8 +7,8 @@ import { alpha } from '@mui/material/styles';
5
7
  import { shouldForwardProp } from '@mui/system';
6
8
  import { styled } from "../internals/zero-styled/index.js";
7
9
  import { jsx as _jsx } from "react/jsx-runtime";
8
- const TreeItem2DragAndDropOverlayRoot = styled('div', {
9
- name: 'MuiTreeItem2DragAndDropOverlay',
10
+ const TreeItemDragAndDropOverlayRoot = styled('div', {
11
+ name: 'MuiTreeItemDragAndDropOverlay',
10
12
  slot: 'Root',
11
13
  overridesResolver: (props, styles) => styles.root,
12
14
  shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'action'
@@ -55,13 +57,13 @@ const TreeItem2DragAndDropOverlayRoot = styled('div', {
55
57
  }
56
58
  }]
57
59
  }));
58
- function TreeItem2DragAndDropOverlay(props) {
60
+ function TreeItemDragAndDropOverlay(props) {
59
61
  if (props.action == null) {
60
62
  return null;
61
63
  }
62
- return /*#__PURE__*/_jsx(TreeItem2DragAndDropOverlayRoot, _extends({}, props));
64
+ return /*#__PURE__*/_jsx(TreeItemDragAndDropOverlayRoot, _extends({}, props));
63
65
  }
64
- process.env.NODE_ENV !== "production" ? TreeItem2DragAndDropOverlay.propTypes = {
66
+ process.env.NODE_ENV !== "production" ? TreeItemDragAndDropOverlay.propTypes = {
65
67
  // ----------------------------- Warning --------------------------------
66
68
  // | These PropTypes are generated from the TypeScript type definitions |
67
69
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -69,4 +71,4 @@ process.env.NODE_ENV !== "production" ? TreeItem2DragAndDropOverlay.propTypes =
69
71
  action: PropTypes.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
70
72
  style: PropTypes.object
71
73
  } : void 0;
72
- export { TreeItem2DragAndDropOverlay };
74
+ export { TreeItemDragAndDropOverlay };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { TreeViewItemsReorderingAction } from '../models';
3
- export interface TreeItem2DragAndDropOverlayProps {
3
+ export interface TreeItemDragAndDropOverlayProps {
4
4
  action?: TreeViewItemsReorderingAction;
5
5
  style?: React.CSSProperties;
6
6
  }
@@ -0,0 +1,2 @@
1
+ export { TreeItemDragAndDropOverlay } from './TreeItemDragAndDropOverlay';
2
+ export type { TreeItemDragAndDropOverlayProps } from './TreeItemDragAndDropOverlay.types';
@@ -0,0 +1 @@
1
+ export { TreeItemDragAndDropOverlay } from "./TreeItemDragAndDropOverlay.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sideEffects": false,
3
3
  "module": "./index.js",
4
- "main": "../node/TreeItem2LabelInput/index.js",
4
+ "main": "../node/TreeItemDragAndDropOverlay/index.js",
5
5
  "types": "./index.d.ts"
6
6
  }
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ import { TreeItemIconProps } from './TreeItemIcon.types';
3
+ declare function TreeItemIcon(props: TreeItemIconProps): React.JSX.Element | null;
4
+ declare namespace TreeItemIcon {
5
+ var propTypes: any;
6
+ }
7
+ export { TreeItemIcon };
@@ -1,3 +1,5 @@
1
+ 'use client';
2
+
1
3
  import _extends from "@babel/runtime/helpers/esm/extends";
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
@@ -6,7 +8,7 @@ import useSlotProps from '@mui/utils/useSlotProps';
6
8
  import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
7
9
  import { TreeViewCollapseIcon, TreeViewExpandIcon } from "../icons/index.js";
8
10
  import { jsx as _jsx } from "react/jsx-runtime";
9
- function TreeItem2Icon(props) {
11
+ function TreeItemIcon(props) {
10
12
  const {
11
13
  slots,
12
14
  slotProps,
@@ -42,7 +44,7 @@ function TreeItem2Icon(props) {
42
44
  }
43
45
  return /*#__PURE__*/_jsx(Icon, _extends({}, iconProps));
44
46
  }
45
- process.env.NODE_ENV !== "production" ? TreeItem2Icon.propTypes = {
47
+ process.env.NODE_ENV !== "production" ? TreeItemIcon.propTypes = {
46
48
  // ----------------------------- Warning --------------------------------
47
49
  // | These PropTypes are generated from the TypeScript type definitions |
48
50
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -67,4 +69,4 @@ process.env.NODE_ENV !== "production" ? TreeItem2Icon.propTypes = {
67
69
  selected: PropTypes.bool.isRequired
68
70
  }).isRequired
69
71
  } : void 0;
70
- export { TreeItem2Icon };
72
+ export { TreeItemIcon };
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/utils';
3
- import { UseTreeItem2Status } from '../useTreeItem2';
4
- export interface TreeItem2IconSlots {
3
+ import { UseTreeItemStatus } from '../useTreeItem';
4
+ export interface TreeItemIconSlots {
5
5
  /**
6
6
  * The icon used to collapse the item.
7
7
  */
@@ -19,22 +19,22 @@ export interface TreeItem2IconSlots {
19
19
  */
20
20
  icon?: React.ElementType;
21
21
  }
22
- export interface TreeItem2IconSlotProps {
22
+ export interface TreeItemIconSlotProps {
23
23
  collapseIcon?: SlotComponentProps<'svg', {}, {}>;
24
24
  expandIcon?: SlotComponentProps<'svg', {}, {}>;
25
25
  endIcon?: SlotComponentProps<'svg', {}, {}>;
26
26
  icon?: SlotComponentProps<'svg', {}, {}>;
27
27
  }
28
- export interface TreeItem2IconProps {
29
- status: UseTreeItem2Status;
28
+ export interface TreeItemIconProps {
29
+ status: UseTreeItemStatus;
30
30
  /**
31
31
  * Overridable component slots.
32
32
  * @default {}
33
33
  */
34
- slots?: TreeItem2IconSlots;
34
+ slots?: TreeItemIconSlots;
35
35
  /**
36
36
  * The props used for each component slot.
37
37
  * @default {}
38
38
  */
39
- slotProps?: TreeItem2IconSlotProps;
39
+ slotProps?: TreeItemIconSlotProps;
40
40
  }
@@ -0,0 +1,2 @@
1
+ export { TreeItemIcon } from './TreeItemIcon';
2
+ export type { TreeItemIconProps, TreeItemIconSlots, TreeItemIconSlotProps, } from './TreeItemIcon.types';
@@ -0,0 +1 @@
1
+ export { TreeItemIcon } from "./TreeItemIcon.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sideEffects": false,
3
3
  "module": "./index.js",
4
- "main": "../node/useTreeItem2/index.js",
4
+ "main": "../node/TreeItemIcon/index.js",
5
5
  "types": "./index.d.ts"
6
6
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @ignore - internal component.
3
+ */
4
+ declare const TreeItemLabelInput: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, keyof import("react").ClassAttributes<HTMLInputElement> | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, {}>;
5
+ export { TreeItemLabelInput };
@@ -4,8 +4,8 @@ import { styled } from "../internals/zero-styled/index.js";
4
4
  /**
5
5
  * @ignore - internal component.
6
6
  */
7
- const TreeItem2LabelInput = styled('input', {
8
- name: 'MuiTreeItem2',
7
+ const TreeItemLabelInput = styled('input', {
8
+ name: 'MuiTreeItem',
9
9
  slot: 'LabelInput',
10
10
  overridesResolver: (props, styles) => styles.labelInput
11
11
  })(({
@@ -21,4 +21,4 @@ const TreeItem2LabelInput = styled('input', {
21
21
  outline: `1px solid ${theme.palette.primary.main}`
22
22
  }
23
23
  }));
24
- export { TreeItem2LabelInput };
24
+ export { TreeItemLabelInput };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { TreeViewCancellableEventHandler } from '../models';
3
- export interface TreeItem2LabelInputProps {
3
+ export interface TreeItemLabelInputProps {
4
4
  value?: string;
5
5
  /**
6
6
  * Used to determine if the target of keydown or blur events is the input and prevent the event from propagating to the root.
@@ -0,0 +1,2 @@
1
+ export { TreeItemLabelInput } from './TreeItemLabelInput';
2
+ export type { TreeItemLabelInputProps } from './TreeItemLabelInput.types';
@@ -0,0 +1 @@
1
+ export { TreeItemLabelInput } from "./TreeItemLabelInput.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sideEffects": false,
3
3
  "module": "./index.js",
4
- "main": "../node/TreeItem2Provider/index.js",
4
+ "main": "../node/TreeItemLabelInput/index.js",
5
5
  "types": "./index.d.ts"
6
6
  }
@@ -0,0 +1,9 @@
1
+ import { TreeItemProviderProps } from './TreeItemProvider.types';
2
+ /**
3
+ * @ignore - internal component.
4
+ */
5
+ declare function TreeItemProvider(props: TreeItemProviderProps): import("react").ReactNode;
6
+ declare namespace TreeItemProvider {
7
+ var propTypes: any;
8
+ }
9
+ export { TreeItemProvider };
@@ -0,0 +1,43 @@
1
+ import PropTypes from 'prop-types';
2
+ import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
3
+ import { generateTreeItemIdAttribute } from "../internals/corePlugins/useTreeViewId/useTreeViewId.utils.js";
4
+ import { useSelector } from "../internals/hooks/useSelector.js";
5
+ import { selectorTreeViewId } from "../internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js";
6
+
7
+ /**
8
+ * @ignore - internal component.
9
+ */
10
+ function TreeItemProvider(props) {
11
+ const {
12
+ children,
13
+ itemId,
14
+ id
15
+ } = props;
16
+ const {
17
+ wrapItem,
18
+ instance,
19
+ store
20
+ } = useTreeViewContext();
21
+ const treeId = useSelector(store, selectorTreeViewId);
22
+ const idAttribute = generateTreeItemIdAttribute({
23
+ itemId,
24
+ treeId,
25
+ id
26
+ });
27
+ return wrapItem({
28
+ children,
29
+ itemId,
30
+ instance,
31
+ idAttribute
32
+ });
33
+ }
34
+ TreeItemProvider.propTypes = {
35
+ // ----------------------------- Warning --------------------------------
36
+ // | These PropTypes are generated from the TypeScript type definitions |
37
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
38
+ // ----------------------------------------------------------------------
39
+ children: PropTypes.node,
40
+ id: PropTypes.string,
41
+ itemId: PropTypes.string.isRequired
42
+ };
43
+ export { TreeItemProvider };
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { TreeViewItemId } from '../models';
3
- export interface TreeItem2ProviderProps {
3
+ export interface TreeItemProviderProps {
4
4
  children: React.ReactNode;
5
5
  itemId: TreeViewItemId;
6
+ id: string | undefined;
6
7
  }
@@ -0,0 +1,2 @@
1
+ export { TreeItemProvider } from './TreeItemProvider';
2
+ export type { TreeItemProviderProps } from './TreeItemProvider.types';
@@ -0,0 +1 @@
1
+ export { TreeItemProvider } from "./TreeItemProvider.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sideEffects": false,
3
3
  "module": "./index.js",
4
- "main": "../node/TreeItem2Icon/index.js",
4
+ "main": "../node/TreeItemProvider/index.js",
5
5
  "types": "./index.d.ts"
6
6
  }
package/hooks/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { useTreeViewApiRef } from './useTreeViewApiRef';
2
- export { useTreeItem2Utils } from './useTreeItem2Utils';
2
+ export { useTreeItemUtils } from './useTreeItemUtils';
3
+ export { useTreeItemModel } from './useTreeItemModel';
package/hooks/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export { useTreeViewApiRef } from "./useTreeViewApiRef.js";
2
- export { useTreeItem2Utils } from "./useTreeItem2Utils/index.js";
2
+ export { useTreeItemUtils } from "./useTreeItemUtils/index.js";
3
+ export { useTreeItemModel } from "./useTreeItemModel.js";
@@ -0,0 +1,2 @@
1
+ import { TreeViewBaseItem, TreeViewDefaultItemModelProperties, TreeViewItemId } from '../models';
2
+ export declare const useTreeItemModel: <R extends {} = TreeViewDefaultItemModelProperties>(itemId: TreeViewItemId) => TreeViewBaseItem<R> | null;
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+
3
+ import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
4
+ import { useSelector } from "../internals/hooks/useSelector.js";
5
+ import { selectorItemModel } from "../internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js";
6
+ export const useTreeItemModel = itemId => {
7
+ const {
8
+ store
9
+ } = useTreeViewContext();
10
+ return useSelector(store, selectorItemModel, itemId);
11
+ };
@@ -0,0 +1 @@
1
+ export { useTreeItemUtils } from './useTreeItemUtils';
@@ -0,0 +1 @@
1
+ export { useTreeItemUtils } from "./useTreeItemUtils.js";
@@ -4,9 +4,9 @@ import { UseTreeViewExpansionSignature } from '../../internals/plugins/useTreeVi
4
4
  import { UseTreeViewItemsSignature } from '../../internals/plugins/useTreeViewItems';
5
5
  import { UseTreeViewFocusSignature } from '../../internals/plugins/useTreeViewFocus';
6
6
  import { UseTreeViewLabelSignature } from '../../internals/plugins/useTreeViewLabel';
7
- import type { UseTreeItem2Status } from '../../useTreeItem2';
7
+ import type { UseTreeItemStatus } from '../../useTreeItem';
8
8
  import { TreeViewPublicAPI } from '../../internals/models';
9
- export interface UseTreeItem2Interactions {
9
+ export interface UseTreeItemInteractions {
10
10
  handleExpansion: (event: React.MouseEvent) => void;
11
11
  handleSelection: (event: React.MouseEvent) => void;
12
12
  handleCheckboxSelection: (event: React.ChangeEvent<HTMLInputElement>) => void;
@@ -15,28 +15,29 @@ export interface UseTreeItem2Interactions {
15
15
  handleCancelItemLabelEditing: (event: React.SyntheticEvent) => void;
16
16
  }
17
17
  /**
18
- * Plugins that need to be present in the Tree View in order for `useTreeItem2Utils` to work correctly.
18
+ * Plugins that need to be present in the Tree View in order for `useTreeItemUtils` to work correctly.
19
19
  */
20
- type UseTreeItem2UtilsMinimalPlugins = readonly [
20
+ type UseTreeItemUtilsMinimalPlugins = readonly [
21
21
  UseTreeViewSelectionSignature,
22
22
  UseTreeViewExpansionSignature,
23
23
  UseTreeViewItemsSignature,
24
24
  UseTreeViewFocusSignature
25
25
  ];
26
26
  /**
27
- * Plugins that `useTreeItem2Utils` can use if they are present, but are not required.
27
+ * Plugins that `useTreeItemUtils` can use if they are present, but are not required.
28
28
  */
29
- export type UseTreeItem2UtilsOptionalPlugins = readonly [UseTreeViewLabelSignature];
30
- interface UseTreeItem2UtilsReturnValue<TSignatures extends UseTreeItem2UtilsMinimalPlugins, TOptionalSignatures extends UseTreeItem2UtilsOptionalPlugins> {
31
- interactions: UseTreeItem2Interactions;
32
- status: UseTreeItem2Status;
29
+ export type UseTreeItemUtilsOptionalPlugins = readonly [UseTreeViewLabelSignature];
30
+ interface UseTreeItemUtilsReturnValue<TSignatures extends UseTreeItemUtilsMinimalPlugins, TOptionalSignatures extends UseTreeItemUtilsOptionalPlugins> {
31
+ interactions: UseTreeItemInteractions;
32
+ status: UseTreeItemStatus;
33
33
  /**
34
34
  * The object the allows Tree View manipulation.
35
35
  */
36
36
  publicAPI: TreeViewPublicAPI<TSignatures, TOptionalSignatures>;
37
37
  }
38
- export declare const useTreeItem2Utils: <TSignatures extends UseTreeItem2UtilsMinimalPlugins = UseTreeItem2UtilsMinimalPlugins, TOptionalSignatures extends UseTreeItem2UtilsOptionalPlugins = UseTreeItem2UtilsOptionalPlugins>({ itemId, children, }: {
38
+ export declare const isItemExpandable: (reactChildren: React.ReactNode) => boolean;
39
+ export declare const useTreeItemUtils: <TSignatures extends UseTreeItemUtilsMinimalPlugins = UseTreeItemUtilsMinimalPlugins, TOptionalSignatures extends UseTreeItemUtilsOptionalPlugins = UseTreeItemUtilsOptionalPlugins>({ itemId, children, }: {
39
40
  itemId: string;
40
- children: React.ReactNode;
41
- }) => UseTreeItem2UtilsReturnValue<TSignatures, TOptionalSignatures>;
41
+ children?: React.ReactNode;
42
+ }) => UseTreeItemUtilsReturnValue<TSignatures, TOptionalSignatures>;
42
43
  export {};