@mui/x-tree-view 8.0.0-alpha.9 → 8.0.0-beta.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 (805) hide show
  1. package/CHANGELOG.md +1523 -0
  2. package/README.md +1 -1
  3. package/RichTreeView/RichTreeView.d.ts +4 -4
  4. package/RichTreeView/RichTreeView.js +100 -79
  5. package/RichTreeView/RichTreeView.plugins.d.ts +9 -10
  6. package/RichTreeView/RichTreeView.plugins.js +14 -8
  7. package/RichTreeView/RichTreeView.types.d.ts +40 -40
  8. package/RichTreeView/RichTreeView.types.js +5 -1
  9. package/RichTreeView/index.d.ts +5 -5
  10. package/RichTreeView/index.js +39 -3
  11. package/RichTreeView/richTreeViewClasses.d.ts +3 -3
  12. package/RichTreeView/richTreeViewClasses.js +13 -5
  13. package/SimpleTreeView/SimpleTreeView.d.ts +5 -5
  14. package/SimpleTreeView/SimpleTreeView.js +73 -65
  15. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +8 -9
  16. package/SimpleTreeView/SimpleTreeView.plugins.js +14 -8
  17. package/SimpleTreeView/SimpleTreeView.types.d.ts +41 -41
  18. package/SimpleTreeView/SimpleTreeView.types.js +5 -1
  19. package/SimpleTreeView/index.d.ts +3 -3
  20. package/SimpleTreeView/index.js +27 -3
  21. package/SimpleTreeView/simpleTreeViewClasses.d.ts +3 -3
  22. package/SimpleTreeView/simpleTreeViewClasses.js +13 -5
  23. package/TreeItem/TreeItem.d.ts +10 -8
  24. package/TreeItem/TreeItem.js +121 -73
  25. package/TreeItem/TreeItem.types.d.ts +97 -84
  26. package/TreeItem/TreeItem.types.js +5 -1
  27. package/TreeItem/index.d.ts +2 -2
  28. package/TreeItem/index.js +69 -2
  29. package/TreeItem/treeItemClasses.d.ts +29 -29
  30. package/TreeItem/treeItemClasses.js +13 -5
  31. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +3 -3
  32. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +21 -15
  33. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +4 -4
  34. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +5 -1
  35. package/TreeItemDragAndDropOverlay/index.d.ts +2 -2
  36. package/TreeItemDragAndDropOverlay/index.js +12 -1
  37. package/TreeItemIcon/TreeItemIcon.d.ts +3 -3
  38. package/TreeItemIcon/TreeItemIcon.js +35 -27
  39. package/TreeItemIcon/TreeItemIcon.types.d.ts +33 -33
  40. package/TreeItemIcon/TreeItemIcon.types.js +5 -1
  41. package/TreeItemIcon/index.d.ts +2 -2
  42. package/TreeItemIcon/index.js +12 -1
  43. package/TreeItemLabelInput/TreeItemLabelInput.d.ts +1 -1
  44. package/TreeItemLabelInput/TreeItemLabelInput.js +11 -6
  45. package/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +12 -12
  46. package/TreeItemLabelInput/TreeItemLabelInput.types.js +5 -1
  47. package/TreeItemLabelInput/index.d.ts +2 -2
  48. package/TreeItemLabelInput/index.js +12 -1
  49. package/TreeItemProvider/TreeItemProvider.d.ts +3 -3
  50. package/TreeItemProvider/TreeItemProvider.js +22 -16
  51. package/TreeItemProvider/TreeItemProvider.types.d.ts +5 -5
  52. package/TreeItemProvider/TreeItemProvider.types.js +5 -1
  53. package/TreeItemProvider/index.d.ts +2 -2
  54. package/TreeItemProvider/index.js +12 -1
  55. package/esm/RichTreeView/RichTreeView.d.ts +18 -0
  56. package/{node → esm}/RichTreeView/RichTreeView.js +94 -85
  57. package/esm/RichTreeView/RichTreeView.plugins.d.ts +13 -0
  58. package/esm/RichTreeView/RichTreeView.plugins.js +10 -0
  59. package/esm/RichTreeView/RichTreeView.types.d.ts +52 -0
  60. package/esm/RichTreeView/RichTreeView.types.js +1 -0
  61. package/esm/RichTreeView/index.d.ts +5 -0
  62. package/esm/RichTreeView/index.js +3 -0
  63. package/esm/RichTreeView/richTreeViewClasses.d.ts +7 -0
  64. package/esm/RichTreeView/richTreeViewClasses.js +6 -0
  65. package/esm/SimpleTreeView/SimpleTreeView.d.ts +20 -0
  66. package/{node → esm}/SimpleTreeView/SimpleTreeView.js +67 -71
  67. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +12 -0
  68. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +10 -0
  69. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +51 -0
  70. package/esm/SimpleTreeView/SimpleTreeView.types.js +1 -0
  71. package/esm/SimpleTreeView/index.d.ts +3 -0
  72. package/esm/SimpleTreeView/index.js +3 -0
  73. package/esm/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
  74. package/esm/SimpleTreeView/simpleTreeViewClasses.js +6 -0
  75. package/esm/TreeItem/TreeItem.d.ts +33 -0
  76. package/{node → esm}/TreeItem/TreeItem.js +114 -80
  77. package/esm/TreeItem/TreeItem.types.d.ts +107 -0
  78. package/esm/TreeItem/TreeItem.types.js +1 -0
  79. package/esm/TreeItem/index.d.ts +3 -0
  80. package/esm/TreeItem/index.js +2 -0
  81. package/esm/TreeItem/treeItemClasses.d.ts +33 -0
  82. package/esm/TreeItem/treeItemClasses.js +6 -0
  83. package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
  84. package/{node → esm}/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +15 -21
  85. package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +6 -0
  86. package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +1 -0
  87. package/esm/TreeItemDragAndDropOverlay/index.d.ts +2 -0
  88. package/esm/TreeItemDragAndDropOverlay/index.js +1 -0
  89. package/esm/TreeItemIcon/TreeItemIcon.d.ts +7 -0
  90. package/esm/TreeItemIcon/TreeItemIcon.js +74 -0
  91. package/esm/TreeItemIcon/TreeItemIcon.types.d.ts +40 -0
  92. package/esm/TreeItemIcon/TreeItemIcon.types.js +1 -0
  93. package/esm/TreeItemIcon/index.d.ts +2 -0
  94. package/esm/TreeItemIcon/index.js +1 -0
  95. package/esm/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
  96. package/esm/TreeItemLabelInput/TreeItemLabelInput.js +24 -0
  97. package/esm/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +14 -0
  98. package/esm/TreeItemLabelInput/TreeItemLabelInput.types.js +1 -0
  99. package/esm/TreeItemLabelInput/index.d.ts +2 -0
  100. package/esm/TreeItemLabelInput/index.js +1 -0
  101. package/esm/TreeItemProvider/TreeItemProvider.d.ts +7 -0
  102. package/esm/TreeItemProvider/TreeItemProvider.js +45 -0
  103. package/esm/TreeItemProvider/TreeItemProvider.types.d.ts +7 -0
  104. package/esm/TreeItemProvider/TreeItemProvider.types.js +1 -0
  105. package/esm/TreeItemProvider/index.d.ts +2 -0
  106. package/esm/TreeItemProvider/index.js +1 -0
  107. package/esm/hooks/index.d.ts +3 -0
  108. package/esm/hooks/index.js +3 -0
  109. package/esm/hooks/useTreeItemModel.d.ts +2 -0
  110. package/esm/hooks/useTreeItemModel.js +11 -0
  111. package/esm/hooks/useTreeItemUtils/index.d.ts +1 -0
  112. package/esm/hooks/useTreeItemUtils/index.js +1 -0
  113. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +42 -0
  114. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +165 -0
  115. package/esm/hooks/useTreeViewApiRef.d.ts +7 -0
  116. package/esm/hooks/useTreeViewApiRef.js +7 -0
  117. package/esm/icons/icons.d.ts +6 -0
  118. package/esm/icons/icons.js +9 -0
  119. package/esm/icons/index.d.ts +1 -0
  120. package/esm/icons/index.js +1 -0
  121. package/esm/index.d.ts +12 -0
  122. package/esm/index.js +22 -0
  123. package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +5 -0
  124. package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +5 -0
  125. package/esm/internals/TreeViewItemDepthContext/index.d.ts +1 -0
  126. package/esm/internals/TreeViewItemDepthContext/index.js +1 -0
  127. package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +17 -0
  128. package/{node → esm}/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +14 -23
  129. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +6 -0
  130. package/esm/internals/TreeViewProvider/TreeViewContext.js +8 -0
  131. package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
  132. package/esm/internals/TreeViewProvider/TreeViewProvider.js +20 -0
  133. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +19 -0
  134. package/esm/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
  135. package/esm/internals/TreeViewProvider/index.d.ts +3 -0
  136. package/esm/internals/TreeViewProvider/index.js +2 -0
  137. package/esm/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
  138. package/esm/internals/TreeViewProvider/useTreeViewContext.js +9 -0
  139. package/esm/internals/components/RichTreeViewItems.d.ts +32 -0
  140. package/esm/internals/components/RichTreeViewItems.js +68 -0
  141. package/esm/internals/corePlugins/corePlugins.d.ts +9 -0
  142. package/esm/internals/corePlugins/corePlugins.js +8 -0
  143. package/esm/internals/corePlugins/index.d.ts +2 -0
  144. package/esm/internals/corePlugins/index.js +1 -0
  145. package/esm/internals/corePlugins/useTreeViewId/index.d.ts +2 -0
  146. package/esm/internals/corePlugins/useTreeViewId/index.js +1 -0
  147. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -0
  148. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +39 -0
  149. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +36 -0
  150. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +9 -0
  151. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +20 -0
  152. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +1 -0
  153. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +21 -0
  154. package/{node → esm}/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +3 -11
  155. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
  156. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
  157. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +3 -0
  158. package/{node → esm}/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +4 -12
  159. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +22 -0
  160. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
  161. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -0
  162. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +1 -0
  163. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -0
  164. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +12 -0
  165. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +8 -0
  166. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +1 -0
  167. package/esm/internals/hooks/useInstanceEventHandler.d.ts +15 -0
  168. package/{node → esm}/internals/hooks/useInstanceEventHandler.js +7 -16
  169. package/esm/internals/hooks/useLazyRef.d.ts +1 -0
  170. package/esm/internals/hooks/useLazyRef.js +1 -0
  171. package/esm/internals/hooks/useOnMount.d.ts +1 -0
  172. package/esm/internals/hooks/useOnMount.js +1 -0
  173. package/esm/internals/hooks/useSelector.d.ts +4 -0
  174. package/esm/internals/hooks/useSelector.js +9 -0
  175. package/esm/internals/hooks/useTimeout.d.ts +1 -0
  176. package/esm/internals/hooks/useTimeout.js +1 -0
  177. package/esm/internals/index.d.ts +33 -0
  178. package/esm/internals/index.js +24 -0
  179. package/esm/internals/models/events.d.ts +9 -0
  180. package/esm/internals/models/events.js +1 -0
  181. package/esm/internals/models/helpers.d.ts +7 -0
  182. package/esm/internals/models/helpers.js +1 -0
  183. package/esm/internals/models/index.d.ts +4 -0
  184. package/esm/internals/models/index.js +4 -0
  185. package/esm/internals/models/itemPlugin.d.ts +43 -0
  186. package/esm/internals/models/itemPlugin.js +1 -0
  187. package/esm/internals/models/plugin.d.ts +151 -0
  188. package/esm/internals/models/plugin.js +1 -0
  189. package/esm/internals/models/treeView.d.ts +32 -0
  190. package/esm/internals/models/treeView.js +1 -0
  191. package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
  192. package/esm/internals/plugins/useTreeViewExpansion/index.js +1 -0
  193. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
  194. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +134 -0
  195. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +184 -0
  196. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +24 -0
  197. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +102 -0
  198. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
  199. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +7 -0
  200. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +19 -0
  201. package/esm/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
  202. package/esm/internals/plugins/useTreeViewFocus/index.js +1 -0
  203. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
  204. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +135 -0
  205. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +182 -0
  206. package/{node → esm}/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +5 -11
  207. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +45 -0
  208. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
  209. package/esm/internals/plugins/useTreeViewIcons/index.d.ts +2 -0
  210. package/esm/internals/plugins/useTreeViewIcons/index.js +1 -0
  211. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -0
  212. package/{node → esm}/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +2 -10
  213. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +42 -0
  214. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +1 -0
  215. package/esm/internals/plugins/useTreeViewItems/index.d.ts +3 -0
  216. package/esm/internals/plugins/useTreeViewItems/index.js +2 -0
  217. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -0
  218. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +325 -0
  219. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +1058 -0
  220. package/{node → esm}/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +25 -21
  221. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +205 -0
  222. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +1 -0
  223. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +4 -0
  224. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +8 -0
  225. package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -0
  226. package/esm/internals/plugins/useTreeViewJSXItems/index.js +1 -0
  227. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -0
  228. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +183 -0
  229. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +35 -0
  230. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +1 -0
  231. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
  232. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
  233. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
  234. package/{node → esm}/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +56 -58
  235. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +30 -0
  236. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
  237. package/esm/internals/plugins/useTreeViewLabel/index.d.ts +2 -0
  238. package/esm/internals/plugins/useTreeViewLabel/index.js +1 -0
  239. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -0
  240. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -0
  241. package/{node → esm}/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +16 -27
  242. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +73 -0
  243. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +68 -0
  244. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +24 -0
  245. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +60 -0
  246. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +1 -0
  247. package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  248. package/esm/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
  249. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +247 -0
  250. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +27 -0
  251. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
  252. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +1 -0
  253. package/esm/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
  254. package/esm/internals/plugins/useTreeViewSelection/index.js +1 -0
  255. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
  256. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
  257. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +80 -0
  258. package/{node → esm}/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +71 -75
  259. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +363 -0
  260. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +46 -0
  261. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +145 -0
  262. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
  263. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +38 -0
  264. package/{node → esm}/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +16 -26
  265. package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +22 -0
  266. package/{node → esm}/internals/useTreeView/extractPluginParamsFromProps.js +4 -12
  267. package/esm/internals/useTreeView/index.d.ts +1 -0
  268. package/esm/internals/useTreeView/index.js +1 -0
  269. package/esm/internals/useTreeView/useTreeView.d.ts +9 -0
  270. package/{node → esm}/internals/useTreeView/useTreeView.js +19 -29
  271. package/esm/internals/useTreeView/useTreeView.types.d.ts +23 -0
  272. package/esm/internals/useTreeView/useTreeView.types.js +1 -0
  273. package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +18 -0
  274. package/{node → esm}/internals/useTreeView/useTreeViewBuildContext.js +3 -11
  275. package/esm/internals/useTreeView/useTreeViewModels.d.ts +7 -0
  276. package/{node → esm}/internals/useTreeView/useTreeViewModels.js +5 -14
  277. package/esm/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  278. package/esm/internals/useTreeView/useTreeViewPlugins.js +0 -0
  279. package/esm/internals/utils/TreeViewStore.d.ts +12 -0
  280. package/{node → esm}/internals/utils/TreeViewStore.js +2 -9
  281. package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
  282. package/esm/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
  283. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
  284. package/{node → esm}/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +2 -9
  285. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +9 -0
  286. package/{node → esm}/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +2 -9
  287. package/esm/internals/utils/plugins.d.ts +2 -0
  288. package/esm/internals/utils/plugins.js +4 -0
  289. package/esm/internals/utils/publishTreeViewEvent.d.ts +5 -0
  290. package/esm/internals/utils/publishTreeViewEvent.js +3 -0
  291. package/esm/internals/utils/selectors.d.ts +16 -0
  292. package/{node → esm}/internals/utils/selectors.js +14 -12
  293. package/esm/internals/utils/tree.d.ts +32 -0
  294. package/{node → esm}/internals/utils/tree.js +41 -55
  295. package/esm/internals/utils/utils.d.ts +2 -0
  296. package/{node → esm}/internals/utils/utils.js +2 -10
  297. package/esm/internals/zero-styled/index.d.ts +3 -0
  298. package/esm/internals/zero-styled/index.js +7 -0
  299. package/esm/models/events.d.ts +4 -0
  300. package/esm/models/events.js +1 -0
  301. package/esm/models/index.d.ts +3 -0
  302. package/esm/models/index.js +5 -0
  303. package/esm/models/items.d.ts +13 -0
  304. package/esm/models/items.js +1 -0
  305. package/esm/package.json +1 -0
  306. package/esm/themeAugmentation/components.d.ts +21 -0
  307. package/esm/themeAugmentation/index.d.ts +3 -0
  308. package/esm/themeAugmentation/index.js +0 -0
  309. package/esm/themeAugmentation/overrides.d.ts +16 -0
  310. package/esm/themeAugmentation/props.d.ts +14 -0
  311. package/esm/useTreeItem/index.d.ts +2 -0
  312. package/esm/useTreeItem/index.js +1 -0
  313. package/esm/useTreeItem/useTreeItem.d.ts +2 -0
  314. package/{node → esm}/useTreeItem/useTreeItem.js +78 -79
  315. package/esm/useTreeItem/useTreeItem.types.d.ts +192 -0
  316. package/esm/useTreeItem/useTreeItem.types.js +1 -0
  317. package/esm/utils/cache.d.ts +38 -0
  318. package/esm/utils/cache.js +31 -0
  319. package/esm/utils/index.d.ts +1 -0
  320. package/esm/utils/index.js +1 -0
  321. package/hooks/index.d.ts +3 -3
  322. package/hooks/index.js +26 -3
  323. package/hooks/useTreeItemModel.d.ts +2 -2
  324. package/hooks/useTreeItemModel.js +13 -7
  325. package/hooks/useTreeItemUtils/index.d.ts +1 -1
  326. package/hooks/useTreeItemUtils/index.js +12 -1
  327. package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +25 -26
  328. package/hooks/useTreeItemUtils/useTreeItemUtils.js +56 -44
  329. package/hooks/useTreeViewApiRef.d.ts +3 -3
  330. package/hooks/useTreeViewApiRef.js +9 -2
  331. package/icons/icons.d.ts +3 -3
  332. package/icons/icons.js +12 -5
  333. package/icons/index.d.ts +1 -1
  334. package/icons/index.js +16 -1
  335. package/index.d.ts +12 -12
  336. package/index.js +147 -15
  337. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +3 -3
  338. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +9 -2
  339. package/internals/TreeViewItemDepthContext/index.d.ts +1 -1
  340. package/internals/TreeViewItemDepthContext/index.js +12 -1
  341. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +8 -8
  342. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +23 -14
  343. package/internals/TreeViewProvider/TreeViewContext.d.ts +2 -2
  344. package/internals/TreeViewProvider/TreeViewContext.js +9 -2
  345. package/internals/TreeViewProvider/TreeViewProvider.d.ts +3 -3
  346. package/internals/TreeViewProvider/TreeViewProvider.js +12 -5
  347. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +13 -13
  348. package/internals/TreeViewProvider/TreeViewProvider.types.js +5 -1
  349. package/internals/TreeViewProvider/index.d.ts +3 -3
  350. package/internals/TreeViewProvider/index.js +19 -2
  351. package/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -3
  352. package/internals/TreeViewProvider/useTreeViewContext.js +13 -5
  353. package/internals/components/RichTreeViewItems.d.ts +21 -21
  354. package/internals/components/RichTreeViewItems.js +31 -23
  355. package/internals/corePlugins/corePlugins.d.ts +3 -4
  356. package/internals/corePlugins/corePlugins.js +10 -4
  357. package/internals/corePlugins/index.d.ts +2 -2
  358. package/internals/corePlugins/index.js +12 -1
  359. package/internals/corePlugins/useTreeViewId/index.d.ts +2 -2
  360. package/internals/corePlugins/useTreeViewId/index.js +12 -1
  361. package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -3
  362. package/internals/corePlugins/useTreeViewId/useTreeViewId.js +19 -10
  363. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +25 -25
  364. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +8 -2
  365. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +14 -14
  366. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +5 -1
  367. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +10 -6
  368. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +11 -3
  369. package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -2
  370. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +12 -1
  371. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +2 -2
  372. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +12 -4
  373. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +19 -19
  374. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +5 -1
  375. package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -2
  376. package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +12 -1
  377. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -3
  378. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +8 -1
  379. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +4 -4
  380. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +5 -1
  381. package/internals/hooks/useInstanceEventHandler.d.ts +8 -8
  382. package/internals/hooks/useInstanceEventHandler.js +16 -7
  383. package/internals/hooks/useLazyRef.d.ts +1 -1
  384. package/internals/hooks/useLazyRef.js +13 -1
  385. package/internals/hooks/useOnMount.d.ts +1 -1
  386. package/internals/hooks/useOnMount.js +13 -1
  387. package/internals/hooks/useSelector.d.ts +4 -4
  388. package/internals/hooks/useSelector.js +15 -4
  389. package/internals/hooks/useTimeout.d.ts +1 -1
  390. package/internals/hooks/useTimeout.js +13 -1
  391. package/internals/index.d.ts +31 -26
  392. package/internals/index.js +192 -20
  393. package/internals/models/events.d.ts +3 -3
  394. package/internals/models/events.js +5 -1
  395. package/internals/models/helpers.d.ts +1 -1
  396. package/internals/models/helpers.js +5 -1
  397. package/internals/models/index.d.ts +4 -4
  398. package/internals/models/index.js +49 -4
  399. package/internals/models/itemPlugin.d.ts +29 -29
  400. package/internals/models/itemPlugin.js +5 -1
  401. package/internals/models/plugin.d.ts +125 -148
  402. package/internals/models/plugin.js +5 -1
  403. package/internals/models/treeView.d.ts +19 -19
  404. package/internals/models/treeView.js +5 -1
  405. package/internals/plugins/useTreeViewExpansion/index.d.ts +2 -2
  406. package/internals/plugins/useTreeViewExpansion/index.js +12 -1
  407. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -3
  408. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +64 -33
  409. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +141 -137
  410. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +11 -5
  411. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +88 -64
  412. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +5 -1
  413. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +6 -3
  414. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +11 -3
  415. package/internals/plugins/useTreeViewFocus/index.d.ts +2 -2
  416. package/internals/plugins/useTreeViewFocus/index.js +12 -1
  417. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -3
  418. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +40 -31
  419. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +121 -121
  420. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +11 -5
  421. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +32 -36
  422. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +5 -1
  423. package/internals/plugins/useTreeViewIcons/index.d.ts +2 -2
  424. package/internals/plugins/useTreeViewIcons/index.js +12 -1
  425. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -3
  426. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +10 -2
  427. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +31 -32
  428. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +5 -1
  429. package/internals/plugins/useTreeViewItems/index.d.ts +3 -3
  430. package/internals/plugins/useTreeViewItems/index.js +25 -2
  431. package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -3
  432. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +196 -51
  433. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +856 -684
  434. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +31 -15
  435. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +181 -132
  436. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +5 -1
  437. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +2 -2
  438. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +10 -3
  439. package/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -2
  440. package/internals/plugins/useTreeViewJSXItems/index.js +12 -1
  441. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -3
  442. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +56 -47
  443. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +32 -34
  444. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +5 -1
  445. package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -2
  446. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +12 -1
  447. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -3
  448. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +65 -49
  449. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +24 -31
  450. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +5 -1
  451. package/internals/plugins/useTreeViewLabel/index.d.ts +2 -2
  452. package/internals/plugins/useTreeViewLabel/index.js +12 -1
  453. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -3
  454. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -2
  455. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +24 -19
  456. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +37 -34
  457. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +47 -53
  458. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +13 -9
  459. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +46 -50
  460. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +5 -1
  461. package/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  462. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +247 -0
  463. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +33 -0
  464. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
  465. package/internals/plugins/useTreeViewSelection/index.d.ts +2 -2
  466. package/internals/plugins/useTreeViewSelection/index.js +12 -1
  467. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -3
  468. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -2
  469. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +36 -33
  470. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +80 -66
  471. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +337 -6
  472. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +45 -2
  473. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +126 -130
  474. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +5 -1
  475. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +27 -17
  476. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +26 -16
  477. package/internals/useTreeView/extractPluginParamsFromProps.d.ts +18 -9
  478. package/internals/useTreeView/extractPluginParamsFromProps.js +12 -4
  479. package/internals/useTreeView/index.d.ts +1 -1
  480. package/internals/useTreeView/index.js +12 -1
  481. package/internals/useTreeView/useTreeView.d.ts +7 -3
  482. package/internals/useTreeView/useTreeView.js +29 -19
  483. package/internals/useTreeView/useTreeView.types.d.ts +13 -13
  484. package/internals/useTreeView/useTreeView.types.js +5 -1
  485. package/internals/useTreeView/useTreeViewBuildContext.d.ts +17 -11
  486. package/internals/useTreeView/useTreeViewBuildContext.js +11 -3
  487. package/internals/useTreeView/useTreeViewModels.d.ts +3 -3
  488. package/internals/useTreeView/useTreeViewModels.js +14 -5
  489. package/internals/useTreeView/useTreeViewPlugins.js +1 -0
  490. package/internals/utils/TreeViewStore.d.ts +7 -7
  491. package/internals/utils/TreeViewStore.js +9 -2
  492. package/internals/utils/cleanupTracking/CleanupTracking.d.ts +5 -5
  493. package/internals/utils/cleanupTracking/CleanupTracking.js +5 -1
  494. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +6 -6
  495. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +9 -2
  496. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +8 -8
  497. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +9 -2
  498. package/internals/utils/plugins.d.ts +2 -2
  499. package/internals/utils/plugins.js +9 -2
  500. package/internals/utils/publishTreeViewEvent.d.ts +4 -4
  501. package/internals/utils/publishTreeViewEvent.js +9 -2
  502. package/internals/utils/selectors.d.ts +10 -3
  503. package/internals/utils/selectors.js +21 -5
  504. package/internals/utils/tree.d.ts +2 -2
  505. package/internals/utils/tree.js +55 -41
  506. package/internals/utils/utils.d.ts +1 -1
  507. package/internals/utils/utils.js +10 -2
  508. package/internals/zero-styled/index.d.ts +1 -1
  509. package/internals/zero-styled/index.js +14 -4
  510. package/models/events.d.ts +2 -2
  511. package/models/events.js +5 -1
  512. package/models/index.d.ts +3 -3
  513. package/models/index.js +26 -4
  514. package/models/items.d.ts +6 -6
  515. package/models/items.js +5 -1
  516. package/modern/RichTreeView/RichTreeView.d.ts +18 -0
  517. package/modern/RichTreeView/RichTreeView.js +28 -13
  518. package/modern/RichTreeView/RichTreeView.plugins.d.ts +13 -0
  519. package/modern/RichTreeView/RichTreeView.types.d.ts +52 -0
  520. package/modern/RichTreeView/index.d.ts +5 -0
  521. package/modern/RichTreeView/richTreeViewClasses.d.ts +7 -0
  522. package/modern/SimpleTreeView/SimpleTreeView.d.ts +20 -0
  523. package/modern/SimpleTreeView/SimpleTreeView.js +8 -6
  524. package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +12 -0
  525. package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +51 -0
  526. package/modern/SimpleTreeView/index.d.ts +3 -0
  527. package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
  528. package/modern/TreeItem/TreeItem.d.ts +33 -0
  529. package/modern/TreeItem/TreeItem.js +45 -4
  530. package/modern/TreeItem/TreeItem.types.d.ts +107 -0
  531. package/modern/TreeItem/index.d.ts +3 -0
  532. package/modern/TreeItem/treeItemClasses.d.ts +33 -0
  533. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
  534. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +6 -0
  535. package/modern/TreeItemDragAndDropOverlay/index.d.ts +2 -0
  536. package/modern/TreeItemIcon/TreeItemIcon.d.ts +7 -0
  537. package/modern/TreeItemIcon/TreeItemIcon.js +2 -0
  538. package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +40 -0
  539. package/modern/TreeItemIcon/index.d.ts +2 -0
  540. package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
  541. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +14 -0
  542. package/modern/TreeItemLabelInput/index.d.ts +2 -0
  543. package/modern/TreeItemProvider/TreeItemProvider.d.ts +7 -0
  544. package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +7 -0
  545. package/modern/TreeItemProvider/index.d.ts +2 -0
  546. package/modern/hooks/index.d.ts +3 -0
  547. package/modern/hooks/useTreeItemModel.d.ts +2 -0
  548. package/modern/hooks/useTreeItemUtils/index.d.ts +1 -0
  549. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +42 -0
  550. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +29 -23
  551. package/modern/hooks/useTreeViewApiRef.d.ts +7 -0
  552. package/modern/icons/icons.d.ts +6 -0
  553. package/modern/icons/index.d.ts +1 -0
  554. package/modern/index.d.ts +12 -0
  555. package/modern/index.js +1 -1
  556. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +5 -0
  557. package/modern/internals/TreeViewItemDepthContext/index.d.ts +1 -0
  558. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +17 -0
  559. package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +6 -0
  560. package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
  561. package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +19 -0
  562. package/modern/internals/TreeViewProvider/index.d.ts +3 -0
  563. package/modern/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
  564. package/modern/internals/components/RichTreeViewItems.d.ts +32 -0
  565. package/modern/internals/corePlugins/corePlugins.d.ts +9 -0
  566. package/modern/internals/corePlugins/index.d.ts +2 -0
  567. package/modern/internals/corePlugins/useTreeViewId/index.d.ts +2 -0
  568. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -0
  569. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +36 -0
  570. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +20 -0
  571. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +21 -0
  572. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
  573. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +3 -0
  574. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +22 -0
  575. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -0
  576. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -0
  577. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +8 -0
  578. package/modern/internals/hooks/useInstanceEventHandler.d.ts +15 -0
  579. package/modern/internals/hooks/useLazyRef.d.ts +1 -0
  580. package/modern/internals/hooks/useOnMount.d.ts +1 -0
  581. package/modern/internals/hooks/useSelector.d.ts +4 -0
  582. package/modern/internals/hooks/useSelector.js +4 -1
  583. package/modern/internals/hooks/useTimeout.d.ts +1 -0
  584. package/modern/internals/index.d.ts +33 -0
  585. package/modern/internals/index.js +4 -1
  586. package/modern/internals/models/events.d.ts +9 -0
  587. package/modern/internals/models/helpers.d.ts +7 -0
  588. package/modern/internals/models/index.d.ts +4 -0
  589. package/modern/internals/models/itemPlugin.d.ts +43 -0
  590. package/modern/internals/models/plugin.d.ts +151 -0
  591. package/modern/internals/models/treeView.d.ts +32 -0
  592. package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
  593. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
  594. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -12
  595. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +184 -0
  596. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +102 -0
  597. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +7 -0
  598. package/modern/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
  599. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
  600. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +182 -0
  601. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +45 -0
  602. package/modern/internals/plugins/useTreeViewIcons/index.d.ts +2 -0
  603. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -0
  604. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +42 -0
  605. package/modern/internals/plugins/useTreeViewItems/index.d.ts +3 -0
  606. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -0
  607. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +159 -23
  608. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +1058 -0
  609. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +14 -4
  610. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +205 -0
  611. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +4 -0
  612. package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -0
  613. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -0
  614. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +2 -2
  615. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +35 -0
  616. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
  617. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
  618. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +29 -22
  619. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +30 -0
  620. package/modern/internals/plugins/useTreeViewLabel/index.d.ts +2 -0
  621. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -0
  622. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -0
  623. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +9 -12
  624. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +20 -25
  625. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +68 -0
  626. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +5 -7
  627. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +60 -0
  628. package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
  629. package/modern/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
  630. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +247 -0
  631. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +27 -0
  632. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
  633. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +1 -0
  634. package/modern/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
  635. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
  636. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
  637. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +16 -21
  638. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +47 -42
  639. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +363 -0
  640. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +38 -1
  641. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +145 -0
  642. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +38 -0
  643. package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +22 -0
  644. package/modern/internals/useTreeView/index.d.ts +1 -0
  645. package/modern/internals/useTreeView/useTreeView.d.ts +9 -0
  646. package/modern/internals/useTreeView/useTreeView.types.d.ts +23 -0
  647. package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +18 -0
  648. package/modern/internals/useTreeView/useTreeViewModels.d.ts +7 -0
  649. package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  650. package/modern/internals/utils/TreeViewStore.d.ts +12 -0
  651. package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
  652. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
  653. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +9 -0
  654. package/modern/internals/utils/plugins.d.ts +2 -0
  655. package/modern/internals/utils/publishTreeViewEvent.d.ts +5 -0
  656. package/modern/internals/utils/selectors.d.ts +16 -0
  657. package/modern/internals/utils/selectors.js +9 -0
  658. package/modern/internals/utils/tree.d.ts +32 -0
  659. package/modern/internals/utils/utils.d.ts +2 -0
  660. package/modern/internals/zero-styled/index.d.ts +3 -0
  661. package/modern/models/events.d.ts +4 -0
  662. package/modern/models/index.d.ts +3 -0
  663. package/modern/models/items.d.ts +13 -0
  664. package/modern/package.json +1 -0
  665. package/modern/themeAugmentation/components.d.ts +21 -0
  666. package/modern/themeAugmentation/index.d.ts +3 -0
  667. package/modern/themeAugmentation/overrides.d.ts +16 -0
  668. package/modern/themeAugmentation/props.d.ts +14 -0
  669. package/modern/useTreeItem/index.d.ts +2 -0
  670. package/modern/useTreeItem/useTreeItem.d.ts +2 -0
  671. package/modern/useTreeItem/useTreeItem.js +24 -17
  672. package/modern/useTreeItem/useTreeItem.types.d.ts +192 -0
  673. package/modern/utils/cache.d.ts +38 -0
  674. package/modern/utils/cache.js +31 -0
  675. package/modern/utils/index.d.ts +1 -0
  676. package/modern/utils/index.js +1 -0
  677. package/package.json +41 -8
  678. package/themeAugmentation/components.d.ts +1 -3
  679. package/themeAugmentation/index.d.ts +1 -1
  680. package/themeAugmentation/index.js +1 -0
  681. package/themeAugmentation/overrides.d.ts +4 -5
  682. package/themeAugmentation/props.d.ts +4 -6
  683. package/tsconfig.build.tsbuildinfo +1 -0
  684. package/useTreeItem/index.d.ts +2 -2
  685. package/useTreeItem/index.js +12 -1
  686. package/useTreeItem/useTreeItem.d.ts +2 -2
  687. package/useTreeItem/useTreeItem.js +86 -71
  688. package/useTreeItem/useTreeItem.types.d.ts +157 -151
  689. package/useTreeItem/useTreeItem.types.js +5 -1
  690. package/utils/cache.d.ts +38 -0
  691. package/utils/cache.js +38 -0
  692. package/utils/index.d.ts +1 -0
  693. package/{node/icons → utils}/index.js +4 -4
  694. package/RichTreeView/package.json +0 -6
  695. package/SimpleTreeView/package.json +0 -6
  696. package/TreeItem/package.json +0 -6
  697. package/TreeItemDragAndDropOverlay/package.json +0 -6
  698. package/TreeItemIcon/package.json +0 -6
  699. package/TreeItemLabelInput/package.json +0 -6
  700. package/TreeItemProvider/package.json +0 -6
  701. package/hooks/package.json +0 -6
  702. package/icons/package.json +0 -6
  703. package/internals/package.json +0 -6
  704. package/models/package.json +0 -6
  705. package/node/RichTreeView/RichTreeView.plugins.js +0 -16
  706. package/node/RichTreeView/index.js +0 -39
  707. package/node/RichTreeView/richTreeViewClasses.js +0 -14
  708. package/node/SimpleTreeView/SimpleTreeView.plugins.js +0 -16
  709. package/node/SimpleTreeView/index.js +0 -27
  710. package/node/SimpleTreeView/simpleTreeViewClasses.js +0 -14
  711. package/node/TreeItem/TreeItem.types.js +0 -5
  712. package/node/TreeItem/index.js +0 -69
  713. package/node/TreeItem/treeItemClasses.js +0 -14
  714. package/node/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -5
  715. package/node/TreeItemDragAndDropOverlay/index.js +0 -12
  716. package/node/TreeItemIcon/TreeItemIcon.js +0 -78
  717. package/node/TreeItemIcon/TreeItemIcon.types.js +0 -5
  718. package/node/TreeItemIcon/index.js +0 -12
  719. package/node/TreeItemLabelInput/TreeItemLabelInput.js +0 -29
  720. package/node/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -5
  721. package/node/TreeItemLabelInput/index.js +0 -12
  722. package/node/TreeItemProvider/TreeItemProvider.js +0 -51
  723. package/node/TreeItemProvider/TreeItemProvider.types.js +0 -5
  724. package/node/TreeItemProvider/index.js +0 -12
  725. package/node/hooks/index.js +0 -26
  726. package/node/hooks/useTreeItemModel.js +0 -17
  727. package/node/hooks/useTreeItemUtils/index.js +0 -12
  728. package/node/hooks/useTreeItemUtils/useTreeItemUtils.js +0 -165
  729. package/node/hooks/useTreeViewApiRef.js +0 -14
  730. package/node/icons/icons.js +0 -16
  731. package/node/index.js +0 -154
  732. package/node/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -12
  733. package/node/internals/TreeViewItemDepthContext/index.js +0 -12
  734. package/node/internals/TreeViewProvider/TreeViewContext.js +0 -15
  735. package/node/internals/TreeViewProvider/TreeViewProvider.js +0 -27
  736. package/node/internals/TreeViewProvider/TreeViewProvider.types.js +0 -5
  737. package/node/internals/TreeViewProvider/index.js +0 -19
  738. package/node/internals/TreeViewProvider/useTreeViewContext.js +0 -17
  739. package/node/internals/components/RichTreeViewItems.js +0 -76
  740. package/node/internals/corePlugins/corePlugins.js +0 -14
  741. package/node/internals/corePlugins/index.js +0 -12
  742. package/node/internals/corePlugins/useTreeViewId/index.js +0 -12
  743. package/node/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -48
  744. package/node/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
  745. package/node/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -5
  746. package/node/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
  747. package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -5
  748. package/node/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
  749. package/node/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
  750. package/node/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -5
  751. package/node/internals/hooks/useLazyRef.js +0 -13
  752. package/node/internals/hooks/useOnMount.js +0 -13
  753. package/node/internals/hooks/useSelector.js +0 -13
  754. package/node/internals/hooks/useTimeout.js +0 -13
  755. package/node/internals/index.js +0 -160
  756. package/node/internals/models/events.js +0 -5
  757. package/node/internals/models/helpers.js +0 -5
  758. package/node/internals/models/index.js +0 -49
  759. package/node/internals/models/itemPlugin.js +0 -5
  760. package/node/internals/models/plugin.js +0 -5
  761. package/node/internals/models/treeView.js +0 -5
  762. package/node/internals/plugins/useTreeViewExpansion/index.js +0 -12
  763. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -119
  764. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -30
  765. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
  766. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -27
  767. package/node/internals/plugins/useTreeViewFocus/index.js +0 -12
  768. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -144
  769. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
  770. package/node/internals/plugins/useTreeViewIcons/index.js +0 -12
  771. package/node/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
  772. package/node/internals/plugins/useTreeViewItems/index.js +0 -25
  773. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -198
  774. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
  775. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -15
  776. package/node/internals/plugins/useTreeViewJSXItems/index.js +0 -12
  777. package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -192
  778. package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
  779. package/node/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
  780. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
  781. package/node/internals/plugins/useTreeViewLabel/index.js +0 -12
  782. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -87
  783. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +0 -32
  784. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
  785. package/node/internals/plugins/useTreeViewSelection/index.js +0 -12
  786. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +0 -93
  787. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -15
  788. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
  789. package/node/internals/useTreeView/index.js +0 -12
  790. package/node/internals/useTreeView/useTreeView.types.js +0 -5
  791. package/node/internals/useTreeView/useTreeViewPlugins.js +0 -1
  792. package/node/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
  793. package/node/internals/utils/plugins.js +0 -11
  794. package/node/internals/utils/publishTreeViewEvent.js +0 -10
  795. package/node/internals/zero-styled/index.js +0 -17
  796. package/node/models/events.js +0 -5
  797. package/node/models/index.js +0 -27
  798. package/node/models/items.js +0 -5
  799. package/node/themeAugmentation/index.js +0 -1
  800. package/node/useTreeItem/index.js +0 -12
  801. package/node/useTreeItem/useTreeItem.types.js +0 -5
  802. package/themeAugmentation/package.json +0 -6
  803. package/useTreeItem/package.json +0 -6
  804. /package/{node/RichTreeView/RichTreeView.types.js → internals/plugins/useTreeViewLazyLoading/index.js} +0 -0
  805. /package/{node/SimpleTreeView/SimpleTreeView.types.js → internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js} +0 -0
@@ -2,6 +2,19 @@ import { createSelector } from "../../utils/selectors.js";
2
2
  import { TREE_VIEW_ROOT_PARENT_ID } from "./useTreeViewItems.utils.js";
3
3
  const selectorTreeViewItemsState = state => state.items;
4
4
 
5
+ /**
6
+ * Get the loading state for the Tree View.
7
+ * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
8
+ * @returns {boolean} The loading state for the Tree View.
9
+ */
10
+ export const selectorIsTreeViewLoading = createSelector(selectorTreeViewItemsState, items => items.loading);
11
+ /**
12
+ * Get the error state for the Tree View.
13
+ * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
14
+ * @returns {boolean} The error state for the Tree View.
15
+ */
16
+ export const selectorGetTreeViewError = createSelector(selectorTreeViewItemsState, items => items.error);
17
+
5
18
  /**
6
19
  * Get the meta-information of all items.
7
20
  * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
@@ -24,10 +37,7 @@ export const selectorItemOrderedChildrenIds = createSelector([selectorTreeViewIt
24
37
  * @param {TreeViewItemId} itemId The id of the item to get the model of.
25
38
  * @returns {R} The model of the item.
26
39
  */
27
- export const selectorItemModel = createSelector([selectorTreeViewItemsState, (_, itemId) => itemId], (itemsState, itemId) => {
28
- const a = itemsState.itemModelLookup[itemId];
29
- return a;
30
- });
40
+ export const selectorItemModel = createSelector([selectorTreeViewItemsState, (_, itemId) => itemId], (itemsState, itemId) => itemsState.itemModelLookup[itemId]);
31
41
 
32
42
  /**
33
43
  * Get the meta-information of an item.
@@ -0,0 +1,205 @@
1
+ import * as React from 'react';
2
+ import { DefaultizedProps } from '@mui/x-internals/types';
3
+ import { TreeViewItemMeta, TreeViewPluginSignature } from "../../models/index.js";
4
+ import { TreeViewBaseItem, TreeViewDefaultItemModelProperties, TreeViewItemId } from "../../../models/index.js";
5
+ export type AddItemsParameters<R> = {
6
+ items: readonly R[];
7
+ parentId?: TreeViewItemId;
8
+ depth: number;
9
+ getChildrenCount?: (item: R) => number;
10
+ };
11
+ export interface UseTreeViewItemsPublicAPI<R extends {}> {
12
+ /**
13
+ * Get the item with the given id.
14
+ * When used in the Simple Tree View, it returns an object with the `id` and `label` properties.
15
+ * @param {string} itemId The id of the item to retrieve.
16
+ * @returns {R} The item with the given id.
17
+ */
18
+ getItem: (itemId: TreeViewItemId) => R;
19
+ /**
20
+ * Get the DOM element of the item with the given id.
21
+ * @param {TreeViewItemId} itemId The id of the item to get the DOM element of.
22
+ * @returns {HTMLElement | null} The DOM element of the item with the given id.
23
+ */
24
+ getItemDOMElement: (itemId: TreeViewItemId) => HTMLElement | null;
25
+ /**
26
+ * Get the ids of a given item's children.
27
+ * Those ids are returned in the order they should be rendered.
28
+ * To get the root items, pass `null` as the `itemId`.
29
+ * @param {TreeViewItemId | null} itemId The id of the item to get the children of.
30
+ * @returns {TreeViewItemId[]} The ids of the item's children.
31
+ */
32
+ getItemOrderedChildrenIds: (itemId: TreeViewItemId | null) => TreeViewItemId[];
33
+ /**
34
+ * Get all the items in the same format as provided by `props.items`.
35
+ * @returns {TreeViewBaseItem[]} The items in the tree.
36
+ */
37
+ getItemTree: () => TreeViewBaseItem[];
38
+ /**
39
+ * Toggle the disabled state of the item with the given id.
40
+ * @param {object} parameters The params of the method.
41
+ * @param {TreeViewItemId } parameters.itemId The id of the item to get the children of.
42
+ * @param {boolean } parameters.shouldBeDisabled true if the item should be disabled.
43
+ */
44
+ setIsItemDisabled: (parameters: {
45
+ itemId: TreeViewItemId;
46
+ shouldBeDisabled?: boolean;
47
+ }) => void;
48
+ /** * Get the id of the parent item.
49
+ * @param {string} itemId The id of the item to whose parentId we want to retrieve.
50
+ * @returns {TreeViewItemId | null} The id of the parent item.
51
+ */
52
+ getParentId: (itemId: TreeViewItemId) => TreeViewItemId | null;
53
+ }
54
+ export interface UseTreeViewItemsInstance<R extends {}> extends Pick<UseTreeViewItemsPublicAPI<R>, 'getItemDOMElement'> {
55
+ /**
56
+ * Freeze any future update to the state based on the `items` prop.
57
+ * This is useful when `useTreeViewJSXItems` is used to avoid having conflicting sources of truth.
58
+ */
59
+ preventItemUpdates: () => void;
60
+ /**
61
+ * Check if the updates to the state based on the `items` prop are prevented.
62
+ * This is useful when `useTreeViewJSXItems` is used to avoid having conflicting sources of truth.
63
+ * @returns {boolean} `true` if the updates to the state based on the `items` prop are prevented.
64
+ */
65
+ areItemUpdatesPrevented: () => boolean;
66
+ /**
67
+ * Add an array of items to the tree.
68
+ * @param {AddItemsParameters<R>} args The items to add to the tree and information about their ancestors.
69
+ */
70
+ addItems: (args: AddItemsParameters<R>) => void;
71
+ /**
72
+ * Remove the children of an item.
73
+ * @param {TreeViewItemId} parentId The id of the item to remove the children of.
74
+ */
75
+ removeChildren: (parentId?: TreeViewItemId) => void;
76
+ /**
77
+ * Set the loading state of the tree.
78
+ * @param {boolean} loading True if the tree view is loading.
79
+ */
80
+ setTreeViewLoading: (loading: boolean) => void;
81
+ /**
82
+ * Set the error state of the tree.
83
+ * @param {Error | null} error The error on the tree view.
84
+ */
85
+ setTreeViewError: (error: Error | null) => void;
86
+ /**
87
+ * Event handler to fire when the `content` slot of a given Tree Item is clicked.
88
+ * @param {React.MouseEvent} event The DOM event that triggered the change.
89
+ * @param {TreeViewItemId} itemId The id of the item being clicked.
90
+ */
91
+ handleItemClick: (event: React.MouseEvent, itemId: TreeViewItemId) => void;
92
+ }
93
+ export interface UseTreeViewItemsParameters<R extends {
94
+ children?: R[];
95
+ }> {
96
+ /**
97
+ * If `true`, will allow focus on disabled items.
98
+ * @default false
99
+ */
100
+ disabledItemsFocusable?: boolean;
101
+ items: readonly R[];
102
+ /**
103
+ * Used to determine if a given item should be disabled.
104
+ * @template R
105
+ * @param {R} item The item to check.
106
+ * @returns {boolean} `true` if the item should be disabled.
107
+ */
108
+ isItemDisabled?: (item: R) => boolean;
109
+ /**
110
+ * Used to determine the string label for a given item.
111
+ *
112
+ * @template R
113
+ * @param {R} item The item to check.
114
+ * @returns {string} The label of the item.
115
+ * @default (item) => item.label
116
+ */
117
+ getItemLabel?: (item: R) => string;
118
+ /**
119
+ * Used to determine the id of a given item.
120
+ *
121
+ * @template R
122
+ * @param {R} item The item to check.
123
+ * @returns {string} The id of the item.
124
+ * @default (item) => item.id
125
+ */
126
+ getItemId?: (item: R) => TreeViewItemId;
127
+ /**
128
+ * Callback fired when the `content` slot of a given Tree Item is clicked.
129
+ * @param {React.MouseEvent} event The DOM event that triggered the change.
130
+ * @param {string} itemId The id of the focused item.
131
+ */
132
+ onItemClick?: (event: React.MouseEvent, itemId: string) => void;
133
+ /**
134
+ * Horizontal indentation between an item and its children.
135
+ * Examples: 24, "24px", "2rem", "2em".
136
+ * @default 12px
137
+ */
138
+ itemChildrenIndentation?: string | number;
139
+ }
140
+ export type UseTreeViewItemsDefaultizedParameters<R extends {
141
+ children?: R[];
142
+ }> = DefaultizedProps<UseTreeViewItemsParameters<R>, 'disabledItemsFocusable' | 'itemChildrenIndentation'>;
143
+ interface UseTreeViewItemsEventLookup {
144
+ removeItem: {
145
+ params: {
146
+ id: string;
147
+ };
148
+ };
149
+ }
150
+ export interface UseTreeViewItemsState<R extends {}> {
151
+ items: {
152
+ /**
153
+ * If `true`, will allow focus on disabled items.
154
+ * Always equal to `props.disabledItemsFocusable` (or `false` if not provided).
155
+ */
156
+ disabledItemsFocusable: boolean;
157
+ /**
158
+ * Model of each item as provided by `props.items` or by imperative items updates.
159
+ * It is not updated when properties derived from the model are updated:
160
+ * - when the label of an item is updated, `itemMetaLookup` is updated, not `itemModelLookup`.
161
+ * - when the children of an item are updated, `itemOrderedChildrenIdsLookup` and `itemChildrenIndexesLookup` are updated, not `itemModelLookup`.
162
+ * This means that the `children`, `label` or `id` properties of an item model should never be used directly, always use the structured sub-states instead.
163
+ */
164
+ itemModelLookup: {
165
+ [itemId: string]: TreeViewBaseItem<R>;
166
+ };
167
+ /**
168
+ * Meta data of each item.
169
+ */
170
+ itemMetaLookup: {
171
+ [itemId: string]: TreeViewItemMeta;
172
+ };
173
+ /**
174
+ * Ordered children ids of each item.
175
+ */
176
+ itemOrderedChildrenIdsLookup: {
177
+ [parentItemId: string]: string[];
178
+ };
179
+ /**
180
+ * Index of each child in the ordered children ids of its parent.
181
+ */
182
+ itemChildrenIndexesLookup: {
183
+ [parentItemId: string]: {
184
+ [itemId: string]: number;
185
+ };
186
+ };
187
+ /**
188
+ * The loading state of the tree.
189
+ */
190
+ loading: boolean;
191
+ /**
192
+ * The error state of the tree.
193
+ */
194
+ error: Error | null;
195
+ };
196
+ }
197
+ export type UseTreeViewItemsSignature = TreeViewPluginSignature<{
198
+ params: UseTreeViewItemsParameters<any>;
199
+ defaultizedParams: UseTreeViewItemsDefaultizedParameters<any>;
200
+ instance: UseTreeViewItemsInstance<any>;
201
+ publicAPI: UseTreeViewItemsPublicAPI<any>;
202
+ events: UseTreeViewItemsEventLookup;
203
+ state: UseTreeViewItemsState<TreeViewDefaultItemModelProperties>;
204
+ }>;
205
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const TREE_VIEW_ROOT_PARENT_ID = "__TREE_VIEW_ROOT_PARENT_ID__";
2
+ export declare const buildSiblingIndexes: (siblings: string[]) => {
3
+ [itemId: string]: number;
4
+ };
@@ -0,0 +1,2 @@
1
+ export { useTreeViewJSXItems } from "./useTreeViewJSXItems.js";
2
+ export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters, UseTreeViewItemsDefaultizedParameters } from './useTreeViewJSXItems.types';
@@ -0,0 +1,3 @@
1
+ import { TreeViewPlugin } from "../../models/index.js";
2
+ import { UseTreeViewJSXItemsSignature } from "./useTreeViewJSXItems.types.js";
3
+ export declare const useTreeViewJSXItems: TreeViewPlugin<UseTreeViewJSXItemsSignature>;
@@ -9,7 +9,7 @@ import { TreeViewChildrenItemContext, TreeViewChildrenItemProvider } from "../..
9
9
  import { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "../useTreeViewItems/useTreeViewItems.utils.js";
10
10
  import { TreeViewItemDepthContext } from "../../TreeViewItemDepthContext/index.js";
11
11
  import { generateTreeItemIdAttribute } from "../../corePlugins/useTreeViewId/useTreeViewId.utils.js";
12
- import { isItemExpandable } from "../../../hooks/useTreeItemUtils/useTreeItemUtils.js";
12
+ import { itemHasChildren } from "../../../hooks/useTreeItemUtils/useTreeItemUtils.js";
13
13
  import { useSelector } from "../../hooks/useSelector.js";
14
14
  import { selectorTreeViewId } from "../../corePlugins/useTreeViewId/useTreeViewId.selectors.js";
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -115,7 +115,7 @@ const useTreeViewJSXItemsItemPlugin = ({
115
115
  unregisterChild,
116
116
  parentId
117
117
  } = parentContext;
118
- const expandable = isItemExpandable(children);
118
+ const expandable = itemHasChildren(children);
119
119
  const pluginContentRef = React.useRef(null);
120
120
  const handleContentRef = useForkRef(pluginContentRef, contentRef);
121
121
  const treeId = useSelector(store, selectorTreeViewId);
@@ -0,0 +1,35 @@
1
+ import { TreeViewItemMeta, TreeViewPluginSignature } from "../../models/index.js";
2
+ import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
3
+ import { UseTreeViewKeyboardNavigationSignature } from "../useTreeViewKeyboardNavigation/index.js";
4
+ import { TreeViewItemId } from "../../../models/index.js";
5
+ export interface UseTreeViewItemsInstance {
6
+ /**
7
+ * Insert a new item in the state from a Tree Item component.
8
+ * @param {TreeViewItemMeta} item The meta-information of the item to insert.
9
+ * @returns {() => void} A function to remove the item from the state.
10
+ */
11
+ insertJSXItem: (item: TreeViewItemMeta) => () => void;
12
+ /**
13
+ * Updates the `firstCharMap` to register the first character of the given item's label.
14
+ * This map is used to navigate the tree using type-ahead search.
15
+ * @param {TreeViewItemId} itemId The id of the item to map the first character of.
16
+ * @param {string} firstChar The first character of the item's label.
17
+ * @returns {() => void} A function to remove the item from the `firstCharMap`.
18
+ */
19
+ mapFirstCharFromJSX: (itemId: TreeViewItemId, firstChar: string) => () => void;
20
+ /**
21
+ * Store the ids of a given item's children in the state.
22
+ * Those ids must be passed in the order they should be rendered.
23
+ * @param {TreeViewItemId | null} parentId The id of the item to store the children of.
24
+ * @param {TreeViewItemId[]} orderedChildrenIds The ids of the item's children.
25
+ */
26
+ setJSXItemsOrderedChildrenIds: (parentId: TreeViewItemId | null, orderedChildrenIds: TreeViewItemId[]) => void;
27
+ }
28
+ export interface UseTreeViewJSXItemsParameters {}
29
+ export interface UseTreeViewItemsDefaultizedParameters {}
30
+ export type UseTreeViewJSXItemsSignature = TreeViewPluginSignature<{
31
+ params: UseTreeViewJSXItemsParameters;
32
+ defaultizedParams: UseTreeViewItemsDefaultizedParameters;
33
+ instance: UseTreeViewItemsInstance;
34
+ dependencies: [UseTreeViewItemsSignature, UseTreeViewKeyboardNavigationSignature];
35
+ }>;
@@ -0,0 +1,2 @@
1
+ export { useTreeViewKeyboardNavigation } from "./useTreeViewKeyboardNavigation.js";
2
+ export type { UseTreeViewKeyboardNavigationSignature } from './useTreeViewKeyboardNavigation.types';
@@ -0,0 +1,3 @@
1
+ import { TreeViewPlugin } from "../../models/index.js";
2
+ import { UseTreeViewKeyboardNavigationSignature } from "./useTreeViewKeyboardNavigation.types.js";
3
+ export declare const useTreeViewKeyboardNavigation: TreeViewPlugin<UseTreeViewKeyboardNavigationSignature>;
@@ -7,7 +7,7 @@ import { useTreeViewLabel } from "../useTreeViewLabel/index.js";
7
7
  import { useSelector } from "../../hooks/useSelector.js";
8
8
  import { selectorItemMetaLookup, selectorIsItemDisabled, selectorItemParentId } from "../useTreeViewItems/useTreeViewItems.selectors.js";
9
9
  import { selectorIsItemBeingEdited, selectorIsItemEditable } from "../useTreeViewLabel/useTreeViewLabel.selectors.js";
10
- import { selectorIsItemSelected } from "../useTreeViewSelection/useTreeViewSelection.selectors.js";
10
+ import { selectorIsItemSelected, selectorIsMultiSelectEnabled, selectorIsSelectionEnabled } from "../useTreeViewSelection/useTreeViewSelection.selectors.js";
11
11
  import { selectorIsItemExpandable, selectorIsItemExpanded } from "../useTreeViewExpansion/useTreeViewExpansion.selectors.js";
12
12
  function isPrintableKey(string) {
13
13
  return !!string && string.length === 1 && !!string.match(/\S/);
@@ -58,13 +58,13 @@ export const useTreeViewKeyboardNavigation = ({
58
58
  }
59
59
  return matchingItemId;
60
60
  };
61
- const canToggleItemSelection = itemId => !params.disableSelection && !selectorIsItemDisabled(store.value, itemId);
61
+ const canToggleItemSelection = itemId => selectorIsSelectionEnabled(store.value) && !selectorIsItemDisabled(store.value, itemId);
62
62
  const canToggleItemExpansion = itemId => {
63
63
  return !selectorIsItemDisabled(store.value, itemId) && selectorIsItemExpandable(store.value, itemId);
64
64
  };
65
65
 
66
66
  // ARIA specification: https://www.w3.org/WAI/ARIA/apg/patterns/treeview/#keyboardinteraction
67
- const handleItemKeyDown = (event, itemId) => {
67
+ const handleItemKeyDown = async (event, itemId) => {
68
68
  if (event.defaultMuiPrevented) {
69
69
  return;
70
70
  }
@@ -73,6 +73,7 @@ export const useTreeViewKeyboardNavigation = ({
73
73
  }
74
74
  const ctrlPressed = event.ctrlKey || event.metaKey;
75
75
  const key = event.key;
76
+ const isMultiSelectEnabled = selectorIsMultiSelectEnabled(store.value);
76
77
 
77
78
  // eslint-disable-next-line default-case
78
79
  switch (true) {
@@ -80,14 +81,14 @@ export const useTreeViewKeyboardNavigation = ({
80
81
  case key === ' ' && canToggleItemSelection(itemId):
81
82
  {
82
83
  event.preventDefault();
83
- if (params.multiSelect && event.shiftKey) {
84
+ if (isMultiSelectEnabled && event.shiftKey) {
84
85
  instance.expandSelectionRange(event, itemId);
85
86
  } else {
86
- instance.selectItem({
87
+ instance.setItemSelection({
87
88
  event,
88
89
  itemId,
89
- keepExistingSelection: params.multiSelect,
90
- shouldBeSelected: params.multiSelect ? undefined : true
90
+ keepExistingSelection: isMultiSelectEnabled,
91
+ shouldBeSelected: undefined
91
92
  });
92
93
  }
93
94
  break;
@@ -97,24 +98,24 @@ export const useTreeViewKeyboardNavigation = ({
97
98
  // If the focused item has no children, we select it.
98
99
  case key === 'Enter':
99
100
  {
100
- if (hasPlugin(instance, useTreeViewLabel) && selectorIsItemEditable(store.value, {
101
- itemId,
102
- isItemEditable: params.isItemEditable
103
- }) && !selectorIsItemBeingEdited(store.value, itemId)) {
101
+ if (hasPlugin(instance, useTreeViewLabel) && selectorIsItemEditable(store.value, itemId) && !selectorIsItemBeingEdited(store.value, itemId)) {
104
102
  instance.setEditedItemId(itemId);
105
103
  } else if (canToggleItemExpansion(itemId)) {
106
- instance.toggleItemExpansion(event, itemId);
104
+ instance.setItemExpansion({
105
+ event,
106
+ itemId
107
+ });
107
108
  event.preventDefault();
108
109
  } else if (canToggleItemSelection(itemId)) {
109
- if (params.multiSelect) {
110
+ if (isMultiSelectEnabled) {
110
111
  event.preventDefault();
111
- instance.selectItem({
112
+ instance.setItemSelection({
112
113
  event,
113
114
  itemId,
114
115
  keepExistingSelection: true
115
116
  });
116
117
  } else if (!selectorIsItemSelected(store.value, itemId)) {
117
- instance.selectItem({
118
+ instance.setItemSelection({
118
119
  event,
119
120
  itemId
120
121
  });
@@ -134,7 +135,7 @@ export const useTreeViewKeyboardNavigation = ({
134
135
 
135
136
  // Multi select behavior when pressing Shift + ArrowDown
136
137
  // Toggles the selection state of the next item
137
- if (params.multiSelect && event.shiftKey && canToggleItemSelection(nextItem)) {
138
+ if (isMultiSelectEnabled && event.shiftKey && canToggleItemSelection(nextItem)) {
138
139
  instance.selectItemFromArrowNavigation(event, itemId, nextItem);
139
140
  }
140
141
  }
@@ -151,7 +152,7 @@ export const useTreeViewKeyboardNavigation = ({
151
152
 
152
153
  // Multi select behavior when pressing Shift + ArrowUp
153
154
  // Toggles the selection state of the previous item
154
- if (params.multiSelect && event.shiftKey && canToggleItemSelection(previousItem)) {
155
+ if (isMultiSelectEnabled && event.shiftKey && canToggleItemSelection(previousItem)) {
155
156
  instance.selectItemFromArrowNavigation(event, itemId, previousItem);
156
157
  }
157
158
  }
@@ -172,7 +173,10 @@ export const useTreeViewKeyboardNavigation = ({
172
173
  event.preventDefault();
173
174
  }
174
175
  } else if (canToggleItemExpansion(itemId)) {
175
- instance.toggleItemExpansion(event, itemId);
176
+ instance.setItemExpansion({
177
+ event,
178
+ itemId
179
+ });
176
180
  event.preventDefault();
177
181
  }
178
182
  break;
@@ -186,7 +190,10 @@ export const useTreeViewKeyboardNavigation = ({
186
190
  return;
187
191
  }
188
192
  if (canToggleItemExpansion(itemId) && selectorIsItemExpanded(store.value, itemId)) {
189
- instance.toggleItemExpansion(event, itemId);
193
+ instance.setItemExpansion({
194
+ event,
195
+ itemId
196
+ });
190
197
  event.preventDefault();
191
198
  } else {
192
199
  const parent = selectorItemParentId(store.value, itemId);
@@ -203,7 +210,7 @@ export const useTreeViewKeyboardNavigation = ({
203
210
  {
204
211
  // Multi select behavior when pressing Ctrl + Shift + Home
205
212
  // Selects the focused item and all items up to the first item.
206
- if (canToggleItemSelection(itemId) && params.multiSelect && ctrlPressed && event.shiftKey) {
213
+ if (canToggleItemSelection(itemId) && isMultiSelectEnabled && ctrlPressed && event.shiftKey) {
207
214
  instance.selectRangeFromStartToItem(event, itemId);
208
215
  } else {
209
216
  instance.focusItem(event, getFirstNavigableItem(store.value));
@@ -217,7 +224,7 @@ export const useTreeViewKeyboardNavigation = ({
217
224
  {
218
225
  // Multi select behavior when pressing Ctrl + Shirt + End
219
226
  // Selects the focused item and all the items down to the last item.
220
- if (canToggleItemSelection(itemId) && params.multiSelect && ctrlPressed && event.shiftKey) {
227
+ if (canToggleItemSelection(itemId) && isMultiSelectEnabled && ctrlPressed && event.shiftKey) {
221
228
  instance.selectRangeFromItemToEnd(event, itemId);
222
229
  } else {
223
230
  instance.focusItem(event, getLastNavigableItem(store.value));
@@ -236,7 +243,7 @@ export const useTreeViewKeyboardNavigation = ({
236
243
 
237
244
  // Multi select behavior when pressing Ctrl + a
238
245
  // Selects all the items
239
- case String.fromCharCode(event.keyCode) === 'A' && ctrlPressed && params.multiSelect && !params.disableSelection:
246
+ case String.fromCharCode(event.keyCode) === 'A' && ctrlPressed && isMultiSelectEnabled && selectorIsSelectionEnabled(store.value):
240
247
  {
241
248
  instance.selectAllNavigableItems(event);
242
249
  event.preventDefault();
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ import { TreeViewPluginSignature } from "../../models/index.js";
3
+ import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
4
+ import { UseTreeViewSelectionSignature } from "../useTreeViewSelection/index.js";
5
+ import { UseTreeViewFocusSignature } from "../useTreeViewFocus/index.js";
6
+ import { UseTreeViewExpansionSignature } from "../useTreeViewExpansion/index.js";
7
+ import { TreeViewItemId, TreeViewCancellableEvent } from "../../../models/index.js";
8
+ export interface UseTreeViewKeyboardNavigationInstance {
9
+ /**
10
+ * Updates the `firstCharMap` to add/remove the first character of some item's labels.
11
+ * This map is used to navigate the tree using type-ahead search.
12
+ * This method is only used by the `useTreeViewJSXItems` plugin, otherwise the updates are handled internally.
13
+ * @param {(map: TreeViewFirstCharMap) => TreeViewFirstCharMap} updater The function to update the map.
14
+ */
15
+ updateFirstCharMap: (updater: (map: TreeViewFirstCharMap) => TreeViewFirstCharMap) => void;
16
+ /**
17
+ * Callback fired when a key is pressed on an item.
18
+ * Handles all the keyboard navigation logic.
19
+ * @param {React.KeyboardEvent<HTMLElement> & TreeViewCancellableEvent} event The keyboard event that triggered the callback.
20
+ * @param {TreeViewItemId} itemId The id of the item that the event was triggered on.
21
+ */
22
+ handleItemKeyDown: (event: React.KeyboardEvent<HTMLElement> & TreeViewCancellableEvent, itemId: TreeViewItemId) => void;
23
+ }
24
+ export type UseTreeViewKeyboardNavigationSignature = TreeViewPluginSignature<{
25
+ instance: UseTreeViewKeyboardNavigationInstance;
26
+ dependencies: [UseTreeViewItemsSignature, UseTreeViewSelectionSignature, UseTreeViewFocusSignature, UseTreeViewExpansionSignature];
27
+ }>;
28
+ export type TreeViewFirstCharMap = {
29
+ [itemId: string]: string;
30
+ };
@@ -0,0 +1,2 @@
1
+ export { useTreeViewLabel } from "./useTreeViewLabel.js";
2
+ export type { UseTreeViewLabelSignature, UseTreeViewLabelParameters } from './useTreeViewLabel.types';
@@ -0,0 +1,3 @@
1
+ import { TreeViewPlugin } from "../../models/index.js";
2
+ import { UseTreeViewLabelSignature } from "./useTreeViewLabel.types.js";
3
+ export declare const useTreeViewLabel: TreeViewPlugin<UseTreeViewLabelSignature>;
@@ -0,0 +1,2 @@
1
+ import { TreeViewItemPlugin } from "../../models/index.js";
2
+ export declare const useTreeViewLabelItemPlugin: TreeViewItemPlugin;
@@ -6,33 +6,30 @@ export const useTreeViewLabelItemPlugin = ({
6
6
  props
7
7
  }) => {
8
8
  const {
9
- store,
10
- label: {
11
- isItemEditable
12
- }
9
+ store
13
10
  } = useTreeViewContext();
14
11
  const {
15
12
  label,
16
13
  itemId
17
14
  } = props;
18
15
  const [labelInputValue, setLabelInputValue] = React.useState(label);
19
- const editable = useSelector(store, selectorIsItemEditable, {
20
- itemId,
21
- isItemEditable
22
- });
23
- const editing = useSelector(store, selectorIsItemBeingEdited, itemId);
16
+ const isItemEditable = useSelector(store, selectorIsItemEditable, itemId);
17
+ const isItemBeingEdited = useSelector(store, selectorIsItemBeingEdited, itemId);
24
18
  React.useEffect(() => {
25
- if (!editing) {
19
+ if (!isItemBeingEdited) {
26
20
  setLabelInputValue(label);
27
21
  }
28
- }, [editing, label]);
22
+ }, [isItemBeingEdited, label]);
29
23
  return {
30
24
  propsEnhancers: {
25
+ label: () => ({
26
+ editable: isItemEditable
27
+ }),
31
28
  labelInput: ({
32
29
  externalEventHandlers,
33
30
  interactions
34
31
  }) => {
35
- if (!editable) {
32
+ if (!isItemEditable) {
36
33
  return {};
37
34
  }
38
35
  const handleKeydown = event => {
@@ -1,6 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { warnOnce } from '@mui/x-internals/warning';
2
+ import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
4
3
  import { useTreeViewLabelItemPlugin } from "./useTreeViewLabel.itemPlugin.js";
5
4
  export const useTreeViewLabel = ({
6
5
  store,
@@ -8,9 +7,9 @@ export const useTreeViewLabel = ({
8
7
  }) => {
9
8
  const setEditedItemId = editedItemId => {
10
9
  store.update(prevState => _extends({}, prevState, {
11
- label: {
10
+ label: _extends({}, prevState.label, {
12
11
  editedItemId
13
- }
12
+ })
14
13
  }));
15
14
  };
16
15
  const updateItemLabel = (itemId, label) => {
@@ -36,11 +35,14 @@ export const useTreeViewLabel = ({
36
35
  params.onItemLabelChange(itemId, label);
37
36
  }
38
37
  };
39
- const pluginContextValue = React.useMemo(() => ({
40
- label: {
41
- isItemEditable: params.isItemEditable
42
- }
43
- }), [params.isItemEditable]);
38
+ useEnhancedEffect(() => {
39
+ const isItemEditable = params.isItemEditable;
40
+ store.update(prevState => _extends({}, prevState, {
41
+ label: _extends({}, prevState.label, {
42
+ isItemEditable: typeof isItemEditable === 'boolean' ? () => isItemEditable : isItemEditable
43
+ })
44
+ }));
45
+ }, [store, params.isItemEditable]);
44
46
  return {
45
47
  instance: {
46
48
  setEditedItemId,
@@ -48,27 +50,20 @@ export const useTreeViewLabel = ({
48
50
  },
49
51
  publicAPI: {
50
52
  updateItemLabel
51
- },
52
- contextValue: pluginContextValue
53
+ }
53
54
  };
54
55
  };
55
56
  useTreeViewLabel.itemPlugin = useTreeViewLabelItemPlugin;
56
57
  useTreeViewLabel.getDefaultizedParams = ({
57
- params,
58
- experimentalFeatures
59
- }) => {
60
- const canUseFeature = experimentalFeatures?.labelEditing;
61
- if (process.env.NODE_ENV !== 'production') {
62
- if (params.isItemEditable && !canUseFeature) {
63
- warnOnce(['MUI X: The label editing feature requires the `labelEditing` experimental feature to be enabled.', 'You can do it by passing `experimentalFeatures={{ labelEditing: true}}` to the Rich Tree View Pro component.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/editing/']);
64
- }
65
- }
66
- return _extends({}, params, {
67
- isItemEditable: canUseFeature ? params.isItemEditable ?? false : false
68
- });
69
- };
70
- useTreeViewLabel.getInitialState = () => ({
58
+ params
59
+ }) => _extends({}, params, {
60
+ isItemEditable: params.isItemEditable ?? false
61
+ });
62
+ useTreeViewLabel.getInitialState = ({
63
+ isItemEditable
64
+ }) => ({
71
65
  label: {
66
+ isItemEditable: typeof isItemEditable === 'boolean' ? () => isItemEditable : isItemEditable,
72
67
  editedItemId: null
73
68
  }
74
69
  });