@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,153 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.TreeItemContent = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
- var React = _interopRequireWildcard(require("react"));
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _clsx = _interopRequireDefault(require("clsx"));
14
- var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
15
- var _useTreeItemState = require("./useTreeItemState");
16
- var _TreeItem2DragAndDropOverlay = require("../TreeItem2DragAndDropOverlay");
17
- var _TreeItem2LabelInput = require("../TreeItem2LabelInput");
18
- var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["classes", "className", "displayIcon", "expansionIcon", "icon", "label", "itemId", "onClick", "onMouseDown", "dragAndDropOverlayProps", "labelInputProps"];
20
- /**
21
- * @ignore - internal component.
22
- */
23
- const TreeItemContent = exports.TreeItemContent = /*#__PURE__*/React.forwardRef(function TreeItemContent(props, ref) {
24
- const {
25
- classes,
26
- className,
27
- displayIcon,
28
- expansionIcon,
29
- icon: iconProp,
30
- label,
31
- itemId,
32
- onClick,
33
- onMouseDown,
34
- dragAndDropOverlayProps,
35
- labelInputProps
36
- } = props,
37
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
38
- const {
39
- disabled,
40
- expanded,
41
- selected,
42
- focused,
43
- editing,
44
- editable,
45
- disableSelection,
46
- checkboxSelection,
47
- handleExpansion,
48
- handleSelection,
49
- handleCheckboxSelection,
50
- handleContentClick,
51
- preventSelection,
52
- expansionTrigger,
53
- toggleItemEditing
54
- } = (0, _useTreeItemState.useTreeItemState)(itemId);
55
- const icon = iconProp || expansionIcon || displayIcon;
56
- const checkboxRef = React.useRef(null);
57
- const handleMouseDown = event => {
58
- preventSelection(event);
59
- if (onMouseDown) {
60
- onMouseDown(event);
61
- }
62
- };
63
- const handleClick = event => {
64
- handleContentClick?.(event, itemId);
65
- if (checkboxRef.current?.contains(event.target)) {
66
- return;
67
- }
68
- if (expansionTrigger === 'content') {
69
- handleExpansion(event);
70
- }
71
- if (!checkboxSelection) {
72
- handleSelection(event);
73
- }
74
- if (onClick) {
75
- onClick(event);
76
- }
77
- };
78
- const handleLabelDoubleClick = event => {
79
- if (event.defaultMuiPrevented) {
80
- return;
81
- }
82
- toggleItemEditing();
83
- };
84
- 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 */(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({}, other, {
85
- className: (0, _clsx.default)(classes.root, className, expanded && classes.expanded, selected && classes.selected, focused && classes.focused, disabled && classes.disabled, editing && classes.editing, editable && classes.editable),
86
- onClick: handleClick,
87
- onMouseDown: handleMouseDown,
88
- ref: ref,
89
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
90
- className: classes.iconContainer,
91
- children: icon
92
- }), checkboxSelection && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, {
93
- className: classes.checkbox,
94
- checked: selected,
95
- onChange: handleCheckboxSelection,
96
- disabled: disabled || disableSelection,
97
- ref: checkboxRef,
98
- tabIndex: -1
99
- }), editing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem2LabelInput.TreeItem2LabelInput, (0, _extends2.default)({}, labelInputProps, {
100
- className: classes.labelInput
101
- })) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _extends2.default)({
102
- className: classes.label
103
- }, editable && {
104
- onDoubleClick: handleLabelDoubleClick
105
- }, {
106
- children: label
107
- })), dragAndDropOverlayProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem2DragAndDropOverlay.TreeItem2DragAndDropOverlay, (0, _extends2.default)({}, dragAndDropOverlayProps))]
108
- }));
109
- });
110
- process.env.NODE_ENV !== "production" ? TreeItemContent.propTypes = {
111
- // ----------------------------- Warning --------------------------------
112
- // | These PropTypes are generated from the TypeScript type definitions |
113
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
114
- // ----------------------------------------------------------------------
115
- /**
116
- * Override or extend the styles applied to the component.
117
- */
118
- classes: _propTypes.default.object.isRequired,
119
- className: _propTypes.default.string,
120
- /**
121
- * The icon to display next to the Tree Item's label. Either a parent or end icon.
122
- */
123
- displayIcon: _propTypes.default.node,
124
- dragAndDropOverlayProps: _propTypes.default.shape({
125
- action: _propTypes.default.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
126
- style: _propTypes.default.object
127
- }),
128
- /**
129
- * The icon to display next to the Tree Item's label. Either an expansion or collapse icon.
130
- */
131
- expansionIcon: _propTypes.default.node,
132
- /**
133
- * The icon to display next to the Tree Item's label.
134
- */
135
- icon: _propTypes.default.node,
136
- /**
137
- * The id of the item.
138
- */
139
- itemId: _propTypes.default.string.isRequired,
140
- /**
141
- * The Tree Item label.
142
- */
143
- label: _propTypes.default.node,
144
- labelInputProps: _propTypes.default.shape({
145
- autoFocus: _propTypes.default.oneOf([true]),
146
- 'data-element': _propTypes.default.oneOf(['labelInput']),
147
- onBlur: _propTypes.default.func,
148
- onChange: _propTypes.default.func,
149
- onKeyDown: _propTypes.default.func,
150
- type: _propTypes.default.oneOf(['text']),
151
- value: _propTypes.default.string
152
- })
153
- } : void 0;
@@ -1,148 +0,0 @@
1
- "use strict";
2
- 'use client';
3
-
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useTreeItemState = useTreeItemState;
8
- var _TreeViewProvider = require("../internals/TreeViewProvider");
9
- var _useTreeViewLabel = require("../internals/plugins/useTreeViewLabel");
10
- var _plugins = require("../internals/utils/plugins");
11
- function useTreeItemState(itemId) {
12
- const {
13
- instance,
14
- items: {
15
- onItemClick
16
- },
17
- selection: {
18
- multiSelect,
19
- checkboxSelection,
20
- disableSelection
21
- },
22
- expansion: {
23
- expansionTrigger
24
- }
25
- } = (0, _TreeViewProvider.useTreeViewContext)();
26
- const expandable = instance.isItemExpandable(itemId);
27
- const expanded = instance.isItemExpanded(itemId);
28
- const focused = instance.isItemFocused(itemId);
29
- const selected = instance.isItemSelected(itemId);
30
- const disabled = instance.isItemDisabled(itemId);
31
- const editing = instance?.isItemBeingEdited ? instance?.isItemBeingEdited(itemId) : false;
32
- const editable = instance.isItemEditable ? instance.isItemEditable(itemId) : false;
33
- const handleExpansion = event => {
34
- if (!disabled) {
35
- if (!focused) {
36
- instance.focusItem(event, itemId);
37
- }
38
- const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
39
-
40
- // If already expanded and trying to toggle selection don't close
41
- if (expandable && !(multiple && instance.isItemExpanded(itemId))) {
42
- instance.toggleItemExpansion(event, itemId);
43
- }
44
- }
45
- };
46
- const handleSelection = event => {
47
- if (!disabled) {
48
- if (!focused) {
49
- instance.focusItem(event, itemId);
50
- }
51
- const multiple = multiSelect && (event.shiftKey || event.ctrlKey || event.metaKey);
52
- if (multiple) {
53
- if (event.shiftKey) {
54
- instance.expandSelectionRange(event, itemId);
55
- } else {
56
- instance.selectItem({
57
- event,
58
- itemId,
59
- keepExistingSelection: true
60
- });
61
- }
62
- } else {
63
- instance.selectItem({
64
- event,
65
- itemId,
66
- shouldBeSelected: true
67
- });
68
- }
69
- }
70
- };
71
- const handleCheckboxSelection = event => {
72
- if (disableSelection || disabled) {
73
- return;
74
- }
75
- const hasShift = event.nativeEvent.shiftKey;
76
- if (multiSelect && hasShift) {
77
- instance.expandSelectionRange(event, itemId);
78
- } else {
79
- instance.selectItem({
80
- event,
81
- itemId,
82
- keepExistingSelection: multiSelect,
83
- shouldBeSelected: event.target.checked
84
- });
85
- }
86
- };
87
- const preventSelection = event => {
88
- if (event.shiftKey || event.ctrlKey || event.metaKey || disabled) {
89
- // Prevent text selection
90
- event.preventDefault();
91
- }
92
- };
93
- const toggleItemEditing = () => {
94
- if (!(0, _plugins.hasPlugin)(instance, _useTreeViewLabel.useTreeViewLabel)) {
95
- return;
96
- }
97
- if (instance.isItemEditable(itemId)) {
98
- if (instance.isItemBeingEdited(itemId)) {
99
- instance.setEditedItemId(null);
100
- } else {
101
- instance.setEditedItemId(itemId);
102
- }
103
- }
104
- };
105
- const handleSaveItemLabel = (event, label) => {
106
- if (!(0, _plugins.hasPlugin)(instance, _useTreeViewLabel.useTreeViewLabel)) {
107
- return;
108
- }
109
-
110
- // As a side effect of `instance.focusItem` called here and in `handleCancelItemLabelEditing` the `labelInput` is blurred
111
- // The `onBlur` event is triggered, which calls `handleSaveItemLabel` again.
112
- // To avoid creating an unwanted behavior we need to check if the item is being edited before calling `updateItemLabel`
113
- // using `instance.isItemBeingEditedRef` instead of `instance.isItemBeingEdited` since the state is not yet updated in this point
114
- if (instance.isItemBeingEditedRef(itemId)) {
115
- instance.updateItemLabel(itemId, label);
116
- toggleItemEditing();
117
- instance.focusItem(event, itemId);
118
- }
119
- };
120
- const handleCancelItemLabelEditing = event => {
121
- if (!(0, _plugins.hasPlugin)(instance, _useTreeViewLabel.useTreeViewLabel)) {
122
- return;
123
- }
124
- if (instance.isItemBeingEditedRef(itemId)) {
125
- toggleItemEditing();
126
- instance.focusItem(event, itemId);
127
- }
128
- };
129
- return {
130
- disabled,
131
- expanded,
132
- selected,
133
- focused,
134
- editable,
135
- editing,
136
- disableSelection,
137
- checkboxSelection,
138
- handleExpansion,
139
- handleSelection,
140
- handleCheckboxSelection,
141
- handleContentClick: onItemClick,
142
- preventSelection,
143
- expansionTrigger,
144
- toggleItemEditing,
145
- handleSaveItemLabel,
146
- handleCancelItemLabelEditing
147
- };
148
- }
@@ -1,394 +0,0 @@
1
- "use strict";
2
- 'use client';
3
-
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
- Object.defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.TreeItem2Root = exports.TreeItem2Label = exports.TreeItem2IconContainer = exports.TreeItem2GroupTransition = exports.TreeItem2Content = exports.TreeItem2Checkbox = exports.TreeItem2 = void 0;
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
- var React = _interopRequireWildcard(require("react"));
13
- var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _clsx = _interopRequireDefault(require("clsx"));
15
- var _unsupportedProp = _interopRequireDefault(require("@mui/utils/unsupportedProp"));
16
- var _styles = require("@mui/material/styles");
17
- var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
18
- var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
19
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
20
- var _createStyled = require("@mui/system/createStyled");
21
- var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
22
- var _zeroStyled = require("../internals/zero-styled");
23
- var _useTreeItem = require("../useTreeItem2");
24
- var _TreeItem = require("../TreeItem");
25
- var _TreeItem2Icon = require("../TreeItem2Icon");
26
- var _TreeItem2DragAndDropOverlay = require("../TreeItem2DragAndDropOverlay");
27
- var _TreeItem2Provider = require("../TreeItem2Provider");
28
- var _TreeItem2LabelInput = require("../TreeItem2LabelInput");
29
- var _jsxRuntime = require("react/jsx-runtime");
30
- const _excluded = ["visible"],
31
- _excluded2 = ["id", "itemId", "label", "disabled", "children", "slots", "slotProps"];
32
- const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiTreeItem2');
33
- const TreeItem2Root = exports.TreeItem2Root = (0, _zeroStyled.styled)('li', {
34
- name: 'MuiTreeItem2',
35
- slot: 'Root',
36
- overridesResolver: (props, styles) => styles.root
37
- })({
38
- listStyle: 'none',
39
- margin: 0,
40
- padding: 0,
41
- outline: 0
42
- });
43
- const TreeItem2Content = exports.TreeItem2Content = (0, _zeroStyled.styled)('div', {
44
- name: 'MuiTreeItem2',
45
- slot: 'Content',
46
- overridesResolver: (props, styles) => styles.content,
47
- shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'status' && prop !== 'indentationAtItemLevel'
48
- })(({
49
- theme
50
- }) => ({
51
- padding: theme.spacing(0.5, 1),
52
- borderRadius: theme.shape.borderRadius,
53
- width: '100%',
54
- boxSizing: 'border-box',
55
- // prevent width + padding to overflow
56
- position: 'relative',
57
- display: 'flex',
58
- alignItems: 'center',
59
- gap: theme.spacing(1),
60
- cursor: 'pointer',
61
- WebkitTapHighlightColor: 'transparent',
62
- '&:hover': {
63
- backgroundColor: (theme.vars || theme).palette.action.hover,
64
- // Reset on touch devices, it doesn't add specificity
65
- '@media (hover: none)': {
66
- backgroundColor: 'transparent'
67
- }
68
- },
69
- variants: [{
70
- props: {
71
- indentationAtItemLevel: true
72
- },
73
- style: {
74
- paddingLeft: `calc(${theme.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`
75
- }
76
- }, {
77
- props: ({
78
- status
79
- }) => status.disabled,
80
- style: {
81
- opacity: (theme.vars || theme).palette.action.disabledOpacity,
82
- backgroundColor: 'transparent'
83
- }
84
- }, {
85
- props: ({
86
- status
87
- }) => status.focused,
88
- style: {
89
- backgroundColor: (theme.vars || theme).palette.action.focus
90
- }
91
- }, {
92
- props: ({
93
- status
94
- }) => status.selected,
95
- style: {
96
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity),
97
- '&:hover': {
98
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
99
- // Reset on touch devices, it doesn't add specificity
100
- '@media (hover: none)': {
101
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity)
102
- }
103
- }
104
- }
105
- }, {
106
- props: ({
107
- status
108
- }) => status.selected && status.focused,
109
- style: {
110
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
111
- }
112
- }]
113
- }));
114
- const TreeItem2Label = exports.TreeItem2Label = (0, _zeroStyled.styled)('div', {
115
- name: 'MuiTreeItem2',
116
- slot: 'Label',
117
- overridesResolver: (props, styles) => styles.label,
118
- shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'editable'
119
- })(({
120
- theme
121
- }) => (0, _extends2.default)({
122
- width: '100%',
123
- boxSizing: 'border-box',
124
- // prevent width + padding to overflow
125
- // fixes overflow - see https://github.com/mui/material-ui/issues/27372
126
- minWidth: 0,
127
- position: 'relative',
128
- overflow: 'hidden'
129
- }, theme.typography.body1, {
130
- variants: [{
131
- props: ({
132
- editable
133
- }) => editable,
134
- style: {
135
- paddingLeft: '2px'
136
- }
137
- }]
138
- }));
139
- const TreeItem2IconContainer = exports.TreeItem2IconContainer = (0, _zeroStyled.styled)('div', {
140
- name: 'MuiTreeItem2',
141
- slot: 'IconContainer',
142
- overridesResolver: (props, styles) => styles.iconContainer
143
- })({
144
- width: 16,
145
- display: 'flex',
146
- flexShrink: 0,
147
- justifyContent: 'center',
148
- '& svg': {
149
- fontSize: 18
150
- }
151
- });
152
- const TreeItem2GroupTransition = exports.TreeItem2GroupTransition = (0, _zeroStyled.styled)(_Collapse.default, {
153
- name: 'MuiTreeItem2',
154
- slot: 'GroupTransition',
155
- overridesResolver: (props, styles) => styles.groupTransition,
156
- shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'indentationAtItemLevel'
157
- })({
158
- margin: 0,
159
- padding: 0,
160
- paddingLeft: 'var(--TreeView-itemChildrenIndentation)',
161
- variants: [{
162
- props: {
163
- indentationAtItemLevel: true
164
- },
165
- style: {
166
- paddingLeft: 0
167
- }
168
- }]
169
- });
170
- const TreeItem2Checkbox = exports.TreeItem2Checkbox = (0, _zeroStyled.styled)(/*#__PURE__*/React.forwardRef((props, ref) => {
171
- const {
172
- visible
173
- } = props,
174
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
175
- if (!visible) {
176
- return null;
177
- }
178
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, (0, _extends2.default)({}, other, {
179
- ref: ref
180
- }));
181
- }), {
182
- name: 'MuiTreeItem2',
183
- slot: 'Checkbox',
184
- overridesResolver: (props, styles) => styles.checkbox
185
- })({
186
- padding: 0
187
- });
188
- const useUtilityClasses = ownerState => {
189
- const {
190
- classes
191
- } = ownerState;
192
- const slots = {
193
- root: ['root'],
194
- content: ['content'],
195
- expanded: ['expanded'],
196
- editing: ['editing'],
197
- editable: ['editable'],
198
- selected: ['selected'],
199
- focused: ['focused'],
200
- disabled: ['disabled'],
201
- iconContainer: ['iconContainer'],
202
- checkbox: ['checkbox'],
203
- label: ['label'],
204
- groupTransition: ['groupTransition'],
205
- labelInput: ['labelInput'],
206
- dragAndDropOverlay: ['dragAndDropOverlay']
207
- };
208
- return (0, _composeClasses.default)(slots, _TreeItem.getTreeItemUtilityClass, classes);
209
- };
210
- /**
211
- *
212
- * Demos:
213
- *
214
- * - [Tree View](https://mui.com/x/react-tree-view/)
215
- *
216
- * API:
217
- *
218
- * - [TreeItem2 API](https://mui.com/x/api/tree-view/tree-item-2/)
219
- */
220
- const TreeItem2 = exports.TreeItem2 = /*#__PURE__*/React.forwardRef(function TreeItem2(inProps, forwardedRef) {
221
- const props = useThemeProps({
222
- props: inProps,
223
- name: 'MuiTreeItem2'
224
- });
225
- const {
226
- id,
227
- itemId,
228
- label,
229
- disabled,
230
- children,
231
- slots = {},
232
- slotProps = {}
233
- } = props,
234
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
235
- const {
236
- getRootProps,
237
- getContentProps,
238
- getIconContainerProps,
239
- getCheckboxProps,
240
- getLabelProps,
241
- getGroupTransitionProps,
242
- getLabelInputProps,
243
- getDragAndDropOverlayProps,
244
- status
245
- } = (0, _useTreeItem.useTreeItem2)({
246
- id,
247
- itemId,
248
- children,
249
- label,
250
- disabled
251
- });
252
- const ownerState = (0, _extends2.default)({}, props, status);
253
- const classes = useUtilityClasses(ownerState);
254
- const Root = slots.root ?? TreeItem2Root;
255
- const rootProps = (0, _useSlotProps.default)({
256
- elementType: Root,
257
- getSlotProps: getRootProps,
258
- externalForwardedProps: other,
259
- externalSlotProps: slotProps.root,
260
- additionalProps: {
261
- ref: forwardedRef
262
- },
263
- ownerState: {},
264
- className: classes.root
265
- });
266
- const Content = slots.content ?? TreeItem2Content;
267
- const contentProps = (0, _useSlotProps.default)({
268
- elementType: Content,
269
- getSlotProps: getContentProps,
270
- externalSlotProps: slotProps.content,
271
- ownerState: {},
272
- className: (0, _clsx.default)(classes.content, status.expanded && classes.expanded, status.selected && classes.selected, status.focused && classes.focused, status.disabled && classes.disabled, status.editing && classes.editing, status.editable && classes.editable)
273
- });
274
- const IconContainer = slots.iconContainer ?? TreeItem2IconContainer;
275
- const iconContainerProps = (0, _useSlotProps.default)({
276
- elementType: IconContainer,
277
- getSlotProps: getIconContainerProps,
278
- externalSlotProps: slotProps.iconContainer,
279
- ownerState: {},
280
- className: classes.iconContainer
281
- });
282
- const Label = slots.label ?? TreeItem2Label;
283
- const labelProps = (0, _useSlotProps.default)({
284
- elementType: Label,
285
- getSlotProps: getLabelProps,
286
- externalSlotProps: slotProps.label,
287
- ownerState: {},
288
- className: classes.label
289
- });
290
- const Checkbox = slots.checkbox ?? TreeItem2Checkbox;
291
- const checkboxProps = (0, _useSlotProps.default)({
292
- elementType: Checkbox,
293
- getSlotProps: getCheckboxProps,
294
- externalSlotProps: slotProps.checkbox,
295
- ownerState: {},
296
- className: classes.checkbox
297
- });
298
- const GroupTransition = slots.groupTransition ?? undefined;
299
- const groupTransitionProps = (0, _useSlotProps.default)({
300
- elementType: GroupTransition,
301
- getSlotProps: getGroupTransitionProps,
302
- externalSlotProps: slotProps.groupTransition,
303
- ownerState: {},
304
- className: classes.groupTransition
305
- });
306
- const LabelInput = slots.labelInput ?? _TreeItem2LabelInput.TreeItem2LabelInput;
307
- const labelInputProps = (0, _useSlotProps.default)({
308
- elementType: LabelInput,
309
- getSlotProps: getLabelInputProps,
310
- externalSlotProps: slotProps.labelInput,
311
- ownerState: {},
312
- className: classes.labelInput
313
- });
314
- const DragAndDropOverlay = slots.dragAndDropOverlay ?? _TreeItem2DragAndDropOverlay.TreeItem2DragAndDropOverlay;
315
- const dragAndDropOverlayProps = (0, _useSlotProps.default)({
316
- elementType: DragAndDropOverlay,
317
- getSlotProps: getDragAndDropOverlayProps,
318
- externalSlotProps: slotProps.dragAndDropOverlay,
319
- ownerState: {},
320
- className: classes.dragAndDropOverlay
321
- });
322
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem2Provider.TreeItem2Provider, {
323
- itemId: itemId,
324
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
325
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Content, (0, _extends2.default)({}, contentProps, {
326
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconContainer, (0, _extends2.default)({}, iconContainerProps, {
327
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItem2Icon.TreeItem2Icon, {
328
- status: status,
329
- slots: slots,
330
- slotProps: slotProps
331
- })
332
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, checkboxProps)), status.editing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LabelInput, (0, _extends2.default)({}, labelInputProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({}, labelProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(DragAndDropOverlay, (0, _extends2.default)({}, dragAndDropOverlayProps))]
333
- })), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItem2GroupTransition, (0, _extends2.default)({
334
- as: GroupTransition
335
- }, groupTransitionProps))]
336
- }))
337
- });
338
- });
339
- process.env.NODE_ENV !== "production" ? TreeItem2.propTypes = {
340
- // ----------------------------- Warning --------------------------------
341
- // | These PropTypes are generated from the TypeScript type definitions |
342
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
343
- // ----------------------------------------------------------------------
344
- /**
345
- * The content of the component.
346
- */
347
- children: _propTypes.default.node,
348
- /**
349
- * Override or extend the styles applied to the component.
350
- */
351
- classes: _propTypes.default.object,
352
- className: _propTypes.default.string,
353
- /**
354
- * If `true`, the item is disabled.
355
- * @default false
356
- */
357
- disabled: _propTypes.default.bool,
358
- /**
359
- * The id attribute of the item. If not provided, it will be generated.
360
- */
361
- id: _propTypes.default.string,
362
- /**
363
- * The id of the item.
364
- * Must be unique.
365
- */
366
- itemId: _propTypes.default.string.isRequired,
367
- /**
368
- * The label of the item.
369
- */
370
- label: _propTypes.default.node,
371
- /**
372
- * Callback fired when the item root is blurred.
373
- */
374
- onBlur: _propTypes.default.func,
375
- /**
376
- * This prop isn't supported.
377
- * Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
378
- */
379
- onFocus: _unsupportedProp.default,
380
- /**
381
- * Callback fired when a key is pressed on the keyboard and the tree is in focus.
382
- */
383
- onKeyDown: _propTypes.default.func,
384
- /**
385
- * The props used for each component slot.
386
- * @default {}
387
- */
388
- slotProps: _propTypes.default.object,
389
- /**
390
- * Overridable component slots.
391
- * @default {}
392
- */
393
- slots: _propTypes.default.object
394
- } : void 0;