@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,211 +0,0 @@
1
- 'use client';
2
-
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import composeClasses from '@mui/utils/composeClasses';
7
- import { styled, createUseThemeProps } from "../internals/zero-styled/index.js";
8
- import { getTreeViewUtilityClass } from "./treeViewClasses.js";
9
- import { SimpleTreeView, SimpleTreeViewRoot } from "../SimpleTreeView/index.js";
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- const useThemeProps = createUseThemeProps('MuiTreeView');
12
- const useUtilityClasses = ownerState => {
13
- const {
14
- classes
15
- } = ownerState;
16
- const slots = {
17
- root: ['root']
18
- };
19
- return composeClasses(slots, getTreeViewUtilityClass, classes);
20
- };
21
- const TreeViewRoot = styled(SimpleTreeViewRoot, {
22
- name: 'MuiTreeView',
23
- slot: 'Root',
24
- overridesResolver: (props, styles) => styles.root
25
- })({});
26
- let warnedOnce = false;
27
- const warn = () => {
28
- if (!warnedOnce) {
29
- console.warn(['MUI X: The TreeView component was renamed SimpleTreeView.', 'The component with the old naming will be removed in the version v8.0.0.', '', "You should use `import { SimpleTreeView } from '@mui/x-tree-view'`", "or `import { SimpleTreeView } from '@mui/x-tree-view/TreeView'`"].join('\n'));
30
- warnedOnce = true;
31
- }
32
- };
33
-
34
- /**
35
- * This component has been deprecated in favor of the new Simple Tree View component.
36
- * You can have a look at how to migrate to the new component in the v7 [migration guide](https://mui.com/x/migration/migration-tree-view-v6/#use-simpletreeview-instead-of-treeview)
37
- *
38
- * Demos:
39
- *
40
- * - [Tree View](https://mui.com/x/react-tree-view/)
41
- *
42
- * API:
43
- *
44
- * - [TreeView API](https://mui.com/x/api/tree-view/tree-view/)
45
- *
46
- * @deprecated
47
- */
48
- const TreeView = /*#__PURE__*/React.forwardRef(function TreeView(inProps, ref) {
49
- if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {
50
- warn();
51
- }
52
- const props = useThemeProps({
53
- props: inProps,
54
- name: 'MuiTreeView'
55
- });
56
- const classes = useUtilityClasses(props);
57
- return /*#__PURE__*/_jsx(SimpleTreeView, _extends({}, props, {
58
- ref: ref,
59
- classes: classes,
60
- slots: _extends({
61
- root: TreeViewRoot
62
- }, props.slots)
63
- }));
64
- });
65
- process.env.NODE_ENV !== "production" ? TreeView.propTypes = {
66
- // ----------------------------- Warning --------------------------------
67
- // | These PropTypes are generated from the TypeScript type definitions |
68
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
69
- // ----------------------------------------------------------------------
70
- /**
71
- * The ref object that allows Tree View manipulation. Can be instantiated with `useTreeViewApiRef()`.
72
- */
73
- apiRef: PropTypes.shape({
74
- current: PropTypes.shape({
75
- focusItem: PropTypes.func.isRequired,
76
- getItem: PropTypes.func.isRequired,
77
- getItemDOMElement: PropTypes.func.isRequired,
78
- getItemOrderedChildrenIds: PropTypes.func.isRequired,
79
- getItemTree: PropTypes.func.isRequired,
80
- selectItem: PropTypes.func.isRequired,
81
- setItemExpansion: PropTypes.func.isRequired
82
- })
83
- }),
84
- /**
85
- * If `true`, the Tree View renders a checkbox at the left of its label that allows selecting it.
86
- * @default false
87
- */
88
- checkboxSelection: PropTypes.bool,
89
- /**
90
- * The content of the component.
91
- */
92
- children: PropTypes.node,
93
- /**
94
- * Override or extend the styles applied to the component.
95
- */
96
- classes: PropTypes.object,
97
- className: PropTypes.string,
98
- /**
99
- * Expanded item ids.
100
- * Used when the item's expansion is not controlled.
101
- * @default []
102
- */
103
- defaultExpandedItems: PropTypes.arrayOf(PropTypes.string),
104
- /**
105
- * Selected item ids. (Uncontrolled)
106
- * When `multiSelect` is true this takes an array of strings; when false (default) a string.
107
- * @default []
108
- */
109
- defaultSelectedItems: PropTypes.any,
110
- /**
111
- * If `true`, will allow focus on disabled items.
112
- * @default false
113
- */
114
- disabledItemsFocusable: PropTypes.bool,
115
- /**
116
- * If `true` selection is disabled.
117
- * @default false
118
- */
119
- disableSelection: PropTypes.bool,
120
- /**
121
- * Expanded item ids.
122
- * Used when the item's expansion is controlled.
123
- */
124
- expandedItems: PropTypes.arrayOf(PropTypes.string),
125
- /**
126
- * The slot that triggers the item's expansion when clicked.
127
- * @default 'content'
128
- */
129
- expansionTrigger: PropTypes.oneOf(['content', 'iconContainer']),
130
- /**
131
- * Unstable features, breaking changes might be introduced.
132
- * For each feature, if the flag is not explicitly set to `true`,
133
- * the feature will be fully disabled and any property / method call will not have any effect.
134
- */
135
- experimentalFeatures: PropTypes.shape({
136
- indentationAtItemLevel: PropTypes.bool
137
- }),
138
- /**
139
- * This prop is used to help implement the accessibility logic.
140
- * If you don't provide this prop. It falls back to a randomly generated id.
141
- */
142
- id: PropTypes.string,
143
- /**
144
- * Horizontal indentation between an item and its children.
145
- * Examples: 24, "24px", "2rem", "2em".
146
- * @default 12px
147
- */
148
- itemChildrenIndentation: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
149
- /**
150
- * If `true`, `ctrl` and `shift` will trigger multiselect.
151
- * @default false
152
- */
153
- multiSelect: PropTypes.bool,
154
- /**
155
- * Callback fired when Tree Items are expanded/collapsed.
156
- * @param {React.SyntheticEvent} event The DOM event that triggered the change.
157
- * @param {array} itemIds The ids of the expanded items.
158
- */
159
- onExpandedItemsChange: PropTypes.func,
160
- /**
161
- * Callback fired when the `content` slot of a given Tree Item is clicked.
162
- * @param {React.MouseEvent} event The DOM event that triggered the change.
163
- * @param {string} itemId The id of the focused item.
164
- */
165
- onItemClick: PropTypes.func,
166
- /**
167
- * Callback fired when a Tree Item is expanded or collapsed.
168
- * @param {React.SyntheticEvent} event The DOM event that triggered the change.
169
- * @param {array} itemId The itemId of the modified item.
170
- * @param {array} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
171
- */
172
- onItemExpansionToggle: PropTypes.func,
173
- /**
174
- * Callback fired when a given Tree Item is focused.
175
- * @param {React.SyntheticEvent | null} event The DOM event that triggered the change. **Warning**: This is a generic event not a focus event.
176
- * @param {string} itemId The id of the focused item.
177
- */
178
- onItemFocus: PropTypes.func,
179
- /**
180
- * Callback fired when a Tree Item is selected or deselected.
181
- * @param {React.SyntheticEvent} event The DOM event that triggered the change.
182
- * @param {array} itemId The itemId of the modified item.
183
- * @param {array} isSelected `true` if the item has just been selected, `false` if it has just been deselected.
184
- */
185
- onItemSelectionToggle: PropTypes.func,
186
- /**
187
- * Callback fired when Tree Items are selected/deselected.
188
- * @param {React.SyntheticEvent} event The DOM event that triggered the change.
189
- * @param {string[] | string} itemIds The ids of the selected items.
190
- * When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
191
- */
192
- onSelectedItemsChange: PropTypes.func,
193
- /**
194
- * Selected item ids. (Controlled)
195
- * When `multiSelect` is true this takes an array of strings; when false (default) a string.
196
- */
197
- selectedItems: PropTypes.any,
198
- /**
199
- * The props used for each component slot.
200
- */
201
- slotProps: PropTypes.object,
202
- /**
203
- * Overridable component slots.
204
- */
205
- slots: PropTypes.object,
206
- /**
207
- * The system prop that allows defining system overrides as well as additional CSS styles.
208
- */
209
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
210
- } : void 0;
211
- export { TreeView };
@@ -1,9 +0,0 @@
1
- import { SimpleTreeViewProps, SimpleTreeViewSlotProps, SimpleTreeViewSlots } from '../SimpleTreeView';
2
- export interface TreeViewProps<Multiple extends boolean | undefined> extends SimpleTreeViewProps<Multiple> {
3
- }
4
- export interface TreeViewSlots extends SimpleTreeViewSlots {
5
- }
6
- export interface TreeViewSlotProps extends SimpleTreeViewSlotProps {
7
- }
8
- export type SingleSelectTreeViewProps = SimpleTreeViewProps<false>;
9
- export type MultiSelectTreeViewProps = SimpleTreeViewProps<true>;
@@ -1,3 +0,0 @@
1
- export * from './TreeView';
2
- export * from './treeViewClasses';
3
- export type { TreeViewProps, SingleSelectTreeViewProps, MultiSelectTreeViewProps, TreeViewSlots, TreeViewSlotProps, } from './TreeView.types';
package/TreeView/index.js DELETED
@@ -1,3 +0,0 @@
1
- export * from "./TreeView.js";
2
- export * from "./treeViewClasses.js";
3
- export {};
@@ -1,6 +0,0 @@
1
- {
2
- "sideEffects": false,
3
- "module": "./index.js",
4
- "main": "../node/TreeView/index.js",
5
- "types": "./index.d.ts"
6
- }
@@ -1,7 +0,0 @@
1
- export interface TreeViewClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- }
5
- export type TreeViewClassKey = keyof TreeViewClasses;
6
- export declare function getTreeViewUtilityClass(slot: string): string;
7
- export declare const treeViewClasses: TreeViewClasses;
@@ -1,6 +0,0 @@
1
- import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
- import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
- export function getTreeViewUtilityClass(slot) {
4
- return generateUtilityClass('MuiTreeView', slot);
5
- }
6
- export const treeViewClasses = generateUtilityClasses('MuiTreeView', ['root']);
@@ -1 +0,0 @@
1
- export { useTreeItem2Utils } from './useTreeItem2Utils';
@@ -1 +0,0 @@
1
- export { useTreeItem2Utils } from "./useTreeItem2Utils.js";
@@ -1,146 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["classes", "className", "displayIcon", "expansionIcon", "icon", "label", "itemId", "onClick", "onMouseDown", "dragAndDropOverlayProps", "labelInputProps"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import clsx from 'clsx';
7
- import Checkbox from '@mui/material/Checkbox';
8
- import { useTreeItemState } from "./useTreeItemState.js";
9
- import { TreeItem2DragAndDropOverlay } from "../TreeItem2DragAndDropOverlay/index.js";
10
- import { TreeItem2LabelInput } from "../TreeItem2LabelInput/index.js";
11
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- /**
13
- * @ignore - internal component.
14
- */
15
- const TreeItemContent = /*#__PURE__*/React.forwardRef(function TreeItemContent(props, ref) {
16
- const {
17
- classes,
18
- className,
19
- displayIcon,
20
- expansionIcon,
21
- icon: iconProp,
22
- label,
23
- itemId,
24
- onClick,
25
- onMouseDown,
26
- dragAndDropOverlayProps,
27
- labelInputProps
28
- } = props,
29
- other = _objectWithoutPropertiesLoose(props, _excluded);
30
- const {
31
- disabled,
32
- expanded,
33
- selected,
34
- focused,
35
- editing,
36
- editable,
37
- disableSelection,
38
- checkboxSelection,
39
- handleExpansion,
40
- handleSelection,
41
- handleCheckboxSelection,
42
- handleContentClick,
43
- preventSelection,
44
- expansionTrigger,
45
- toggleItemEditing
46
- } = useTreeItemState(itemId);
47
- const icon = iconProp || expansionIcon || displayIcon;
48
- const checkboxRef = React.useRef(null);
49
- const handleMouseDown = event => {
50
- preventSelection(event);
51
- if (onMouseDown) {
52
- onMouseDown(event);
53
- }
54
- };
55
- const handleClick = event => {
56
- handleContentClick?.(event, itemId);
57
- if (checkboxRef.current?.contains(event.target)) {
58
- return;
59
- }
60
- if (expansionTrigger === 'content') {
61
- handleExpansion(event);
62
- }
63
- if (!checkboxSelection) {
64
- handleSelection(event);
65
- }
66
- if (onClick) {
67
- onClick(event);
68
- }
69
- };
70
- const handleLabelDoubleClick = event => {
71
- if (event.defaultMuiPrevented) {
72
- return;
73
- }
74
- toggleItemEditing();
75
- };
76
- return /*#__PURE__*/ /* eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions -- Key event is handled by the TreeView */_jsxs("div", _extends({}, other, {
77
- className: clsx(classes.root, className, expanded && classes.expanded, selected && classes.selected, focused && classes.focused, disabled && classes.disabled, editing && classes.editing, editable && classes.editable),
78
- onClick: handleClick,
79
- onMouseDown: handleMouseDown,
80
- ref: ref,
81
- children: [/*#__PURE__*/_jsx("div", {
82
- className: classes.iconContainer,
83
- children: icon
84
- }), checkboxSelection && /*#__PURE__*/_jsx(Checkbox, {
85
- className: classes.checkbox,
86
- checked: selected,
87
- onChange: handleCheckboxSelection,
88
- disabled: disabled || disableSelection,
89
- ref: checkboxRef,
90
- tabIndex: -1
91
- }), editing ? /*#__PURE__*/_jsx(TreeItem2LabelInput, _extends({}, labelInputProps, {
92
- className: classes.labelInput
93
- })) : /*#__PURE__*/_jsx("div", _extends({
94
- className: classes.label
95
- }, editable && {
96
- onDoubleClick: handleLabelDoubleClick
97
- }, {
98
- children: label
99
- })), dragAndDropOverlayProps && /*#__PURE__*/_jsx(TreeItem2DragAndDropOverlay, _extends({}, dragAndDropOverlayProps))]
100
- }));
101
- });
102
- process.env.NODE_ENV !== "production" ? TreeItemContent.propTypes = {
103
- // ----------------------------- Warning --------------------------------
104
- // | These PropTypes are generated from the TypeScript type definitions |
105
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
106
- // ----------------------------------------------------------------------
107
- /**
108
- * Override or extend the styles applied to the component.
109
- */
110
- classes: PropTypes.object.isRequired,
111
- className: PropTypes.string,
112
- /**
113
- * The icon to display next to the Tree Item's label. Either a parent or end icon.
114
- */
115
- displayIcon: PropTypes.node,
116
- dragAndDropOverlayProps: PropTypes.shape({
117
- action: PropTypes.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
118
- style: PropTypes.object
119
- }),
120
- /**
121
- * The icon to display next to the Tree Item's label. Either an expansion or collapse icon.
122
- */
123
- expansionIcon: PropTypes.node,
124
- /**
125
- * The icon to display next to the Tree Item's label.
126
- */
127
- icon: PropTypes.node,
128
- /**
129
- * The id of the item.
130
- */
131
- itemId: PropTypes.string.isRequired,
132
- /**
133
- * The Tree Item label.
134
- */
135
- label: PropTypes.node,
136
- labelInputProps: PropTypes.shape({
137
- autoFocus: PropTypes.oneOf([true]),
138
- 'data-element': PropTypes.oneOf(['labelInput']),
139
- onBlur: PropTypes.func,
140
- onChange: PropTypes.func,
141
- onKeyDown: PropTypes.func,
142
- type: PropTypes.oneOf(['text']),
143
- value: PropTypes.string
144
- })
145
- } : void 0;
146
- export { TreeItemContent };
@@ -1,143 +0,0 @@
1
- 'use client';
2
-
3
- import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
4
- import { useTreeViewLabel } from "../internals/plugins/useTreeViewLabel/index.js";
5
- import { hasPlugin } from "../internals/utils/plugins.js";
6
- export function useTreeItemState(itemId) {
7
- const {
8
- instance,
9
- items: {
10
- onItemClick
11
- },
12
- selection: {
13
- multiSelect,
14
- checkboxSelection,
15
- disableSelection
16
- },
17
- expansion: {
18
- expansionTrigger
19
- }
20
- } = useTreeViewContext();
21
- const expandable = instance.isItemExpandable(itemId);
22
- const expanded = instance.isItemExpanded(itemId);
23
- const focused = instance.isItemFocused(itemId);
24
- const selected = instance.isItemSelected(itemId);
25
- const disabled = instance.isItemDisabled(itemId);
26
- const editing = instance?.isItemBeingEdited ? instance?.isItemBeingEdited(itemId) : false;
27
- const editable = instance.isItemEditable ? instance.isItemEditable(itemId) : false;
28
- const handleExpansion = event => {
29
- if (!disabled) {
30
- if (!focused) {
31
- instance.focusItem(event, itemId);
32
- }
33
- const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
34
-
35
- // If already expanded and trying to toggle selection don't close
36
- if (expandable && !(multiple && instance.isItemExpanded(itemId))) {
37
- instance.toggleItemExpansion(event, itemId);
38
- }
39
- }
40
- };
41
- const handleSelection = event => {
42
- if (!disabled) {
43
- if (!focused) {
44
- instance.focusItem(event, itemId);
45
- }
46
- const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
47
- if (multiple) {
48
- if (event.shiftKey) {
49
- instance.expandSelectionRange(event, itemId);
50
- } else {
51
- instance.selectItem({
52
- event,
53
- itemId,
54
- keepExistingSelection: true
55
- });
56
- }
57
- } else {
58
- instance.selectItem({
59
- event,
60
- itemId,
61
- shouldBeSelected: true
62
- });
63
- }
64
- }
65
- };
66
- const handleCheckboxSelection = event => {
67
- if (disableSelection || disabled) {
68
- return;
69
- }
70
- const hasShift = event.nativeEvent.shiftKey;
71
- if (multiSelect && hasShift) {
72
- instance.expandSelectionRange(event, itemId);
73
- } else {
74
- instance.selectItem({
75
- event,
76
- itemId,
77
- keepExistingSelection: multiSelect,
78
- shouldBeSelected: event.target.checked
79
- });
80
- }
81
- };
82
- const preventSelection = event => {
83
- if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {
84
- // Prevent text selection
85
- event.preventDefault();
86
- }
87
- };
88
- const toggleItemEditing = () => {
89
- if (!hasPlugin(instance, useTreeViewLabel)) {
90
- return;
91
- }
92
- if (instance.isItemEditable(itemId)) {
93
- if (instance.isItemBeingEdited(itemId)) {
94
- instance.setEditedItemId(null);
95
- } else {
96
- instance.setEditedItemId(itemId);
97
- }
98
- }
99
- };
100
- const handleSaveItemLabel = (event, label) => {
101
- if (!hasPlugin(instance, useTreeViewLabel)) {
102
- return;
103
- }
104
-
105
- // As a side effect of `instance.focusItem` called here and in `handleCancelItemLabelEditing` the `labelInput` is blurred
106
- // The `onBlur` event is triggered, which calls `handleSaveItemLabel` again.
107
- // To avoid creating an unwanted behavior we need to check if the item is being edited before calling `updateItemLabel`
108
- // using `instance.isItemBeingEditedRef` instead of `instance.isItemBeingEdited` since the state is not yet updated in this point
109
- if (instance.isItemBeingEditedRef(itemId)) {
110
- instance.updateItemLabel(itemId, label);
111
- toggleItemEditing();
112
- instance.focusItem(event, itemId);
113
- }
114
- };
115
- const handleCancelItemLabelEditing = event => {
116
- if (!hasPlugin(instance, useTreeViewLabel)) {
117
- return;
118
- }
119
- if (instance.isItemBeingEditedRef(itemId)) {
120
- toggleItemEditing();
121
- instance.focusItem(event, itemId);
122
- }
123
- };
124
- return {
125
- disabled,
126
- expanded,
127
- selected,
128
- focused,
129
- editable,
130
- editing,
131
- disableSelection,
132
- checkboxSelection,
133
- handleExpansion,
134
- handleSelection,
135
- handleCheckboxSelection,
136
- handleContentClick: onItemClick,
137
- preventSelection,
138
- expansionTrigger,
139
- toggleItemEditing,
140
- handleSaveItemLabel,
141
- handleCancelItemLabelEditing
142
- };
143
- }