@mui/x-tree-view 8.23.0 → 8.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/CHANGELOG.md +111 -1
  2. package/RichTreeView/RichTreeView.d.ts +1 -1
  3. package/RichTreeView/RichTreeView.js +34 -28
  4. package/RichTreeView/RichTreeView.types.d.ts +6 -4
  5. package/RichTreeView/index.d.ts +1 -3
  6. package/RichTreeView/index.js +1 -13
  7. package/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
  8. package/RichTreeView/useExtractRichTreeViewParameters.js +91 -0
  9. package/SimpleTreeView/SimpleTreeView.d.ts +1 -1
  10. package/SimpleTreeView/SimpleTreeView.js +30 -24
  11. package/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
  12. package/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
  13. package/SimpleTreeView/useExtractSimpleTreeViewParameters.js +78 -0
  14. package/TreeItem/TreeItem.d.ts +1 -1
  15. package/TreeItemProvider/TreeItemProvider.js +3 -10
  16. package/esm/RichTreeView/RichTreeView.d.ts +1 -1
  17. package/esm/RichTreeView/RichTreeView.js +33 -27
  18. package/esm/RichTreeView/RichTreeView.types.d.ts +6 -4
  19. package/esm/RichTreeView/index.d.ts +1 -3
  20. package/esm/RichTreeView/index.js +1 -1
  21. package/esm/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
  22. package/esm/RichTreeView/useExtractRichTreeViewParameters.js +83 -0
  23. package/esm/SimpleTreeView/SimpleTreeView.d.ts +1 -1
  24. package/esm/SimpleTreeView/SimpleTreeView.js +29 -23
  25. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
  26. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
  27. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.js +70 -0
  28. package/esm/TreeItem/TreeItem.d.ts +1 -1
  29. package/esm/TreeItemProvider/TreeItemProvider.js +3 -10
  30. package/esm/hooks/useApplyPropagationToSelectedItemsOnMount.js +1 -1
  31. package/esm/hooks/useRichTreeViewApiRef.d.ts +2 -2
  32. package/esm/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
  33. package/esm/hooks/useTreeItemModel.d.ts +2 -2
  34. package/esm/hooks/useTreeItemModel.js +1 -1
  35. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
  36. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +25 -34
  37. package/esm/hooks/useTreeViewApiRef.d.ts +2 -4
  38. package/esm/hooks/useTreeViewApiRef.js +3 -2
  39. package/esm/index.d.ts +0 -1
  40. package/esm/index.js +1 -2
  41. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
  42. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +126 -0
  43. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
  44. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
  45. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +49 -0
  46. package/esm/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
  47. package/esm/internals/MinimalTreeViewStore/TimeoutManager.js +39 -0
  48. package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
  49. package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +16 -0
  50. package/esm/internals/MinimalTreeViewStore/index.d.ts +2 -0
  51. package/esm/internals/MinimalTreeViewStore/index.js +2 -0
  52. package/esm/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
  53. package/esm/internals/RichTreeViewStore/RichTreeViewStore.js +21 -0
  54. package/esm/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
  55. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
  56. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.js +15 -0
  57. package/esm/internals/RichTreeViewStore/index.d.ts +3 -0
  58. package/esm/internals/RichTreeViewStore/index.js +3 -0
  59. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
  60. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +18 -0
  61. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
  62. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
  63. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +5 -0
  64. package/esm/internals/SimpleTreeViewStore/index.d.ts +2 -0
  65. package/esm/internals/SimpleTreeViewStore/index.js +2 -0
  66. package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
  67. package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -3
  68. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
  69. package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
  70. package/esm/internals/TreeViewProvider/TreeViewProvider.js +11 -6
  71. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
  72. package/esm/internals/TreeViewProvider/index.d.ts +1 -1
  73. package/esm/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
  74. package/esm/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
  75. package/esm/internals/components/RichTreeViewItems.js +3 -3
  76. package/esm/internals/hooks/useTreeViewRootProps.d.ts +287 -0
  77. package/esm/internals/hooks/useTreeViewRootProps.js +30 -0
  78. package/esm/internals/hooks/useTreeViewStore.d.ts +10 -0
  79. package/esm/internals/hooks/useTreeViewStore.js +19 -0
  80. package/esm/internals/index.d.ts +15 -21
  81. package/esm/internals/index.js +11 -14
  82. package/esm/internals/models/events.d.ts +24 -3
  83. package/esm/internals/models/index.d.ts +2 -3
  84. package/esm/internals/models/index.js +2 -3
  85. package/esm/internals/models/itemPlugin.d.ts +9 -0
  86. package/esm/internals/models/treeView.d.ts +5 -9
  87. package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
  88. package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.js +124 -0
  89. package/esm/internals/plugins/expansion/index.d.ts +2 -0
  90. package/esm/internals/plugins/expansion/index.js +2 -0
  91. package/esm/internals/plugins/expansion/selectors.d.ts +27 -0
  92. package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +5 -5
  93. package/esm/internals/plugins/expansion/utils.d.ts +5 -0
  94. package/esm/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
  95. package/esm/internals/plugins/focus/TreeViewFocusPlugin.js +107 -0
  96. package/esm/internals/plugins/focus/index.d.ts +2 -0
  97. package/esm/internals/plugins/focus/index.js +2 -0
  98. package/esm/internals/plugins/focus/selectors.d.ts +21 -0
  99. package/esm/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +6 -6
  100. package/esm/internals/plugins/id/index.d.ts +1 -0
  101. package/esm/internals/plugins/id/index.js +1 -0
  102. package/esm/internals/plugins/id/selectors.d.ts +13 -0
  103. package/esm/internals/plugins/id/selectors.js +18 -0
  104. package/esm/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
  105. package/esm/internals/plugins/items/TreeViewItemsPlugin.js +223 -0
  106. package/esm/internals/plugins/items/index.d.ts +3 -0
  107. package/esm/internals/plugins/items/index.js +3 -0
  108. package/esm/internals/plugins/items/selectors.d.ts +60 -0
  109. package/esm/internals/plugins/items/selectors.js +64 -0
  110. package/esm/internals/plugins/items/utils.d.ts +43 -0
  111. package/esm/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -50
  112. package/esm/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
  113. package/esm/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +81 -0
  114. package/esm/internals/plugins/jsxItems/index.d.ts +1 -0
  115. package/esm/internals/plugins/jsxItems/index.js +1 -0
  116. package/esm/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
  117. package/esm/internals/plugins/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +29 -17
  118. package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
  119. package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +306 -0
  120. package/esm/internals/plugins/keyboardNavigation/index.d.ts +1 -0
  121. package/esm/internals/plugins/keyboardNavigation/index.js +1 -0
  122. package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
  123. package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +50 -0
  124. package/esm/internals/plugins/labelEditing/index.d.ts +2 -0
  125. package/esm/internals/plugins/labelEditing/index.js +2 -0
  126. package/{internals/plugins/useTreeViewLabel → esm/internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
  127. package/esm/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +2 -2
  128. package/esm/internals/plugins/labelEditing/selectors.d.ts +15 -0
  129. package/esm/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
  130. package/esm/internals/plugins/lazyLoading/index.d.ts +2 -0
  131. package/esm/internals/plugins/lazyLoading/index.js +2 -0
  132. package/esm/internals/plugins/lazyLoading/selectors.d.ts +19 -0
  133. package/esm/internals/plugins/lazyLoading/selectors.js +25 -0
  134. package/esm/internals/plugins/lazyLoading/types.d.ts +5 -0
  135. package/esm/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
  136. package/esm/internals/plugins/selection/TreeViewSelectionPlugin.js +319 -0
  137. package/esm/internals/plugins/selection/index.d.ts +2 -0
  138. package/esm/internals/plugins/selection/index.js +2 -0
  139. package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
  140. package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +3 -3
  141. package/esm/internals/plugins/selection/selectors.d.ts +48 -0
  142. package/esm/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +14 -9
  143. package/esm/internals/utils/tree.d.ts +8 -10
  144. package/esm/internals/utils/tree.js +2 -2
  145. package/esm/models/items.d.ts +5 -2
  146. package/esm/useTreeItem/useTreeItem.d.ts +18 -2
  147. package/esm/useTreeItem/useTreeItem.js +14 -18
  148. package/esm/useTreeItem/useTreeItem.types.d.ts +4 -19
  149. package/hooks/useApplyPropagationToSelectedItemsOnMount.js +2 -2
  150. package/hooks/useRichTreeViewApiRef.d.ts +2 -2
  151. package/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
  152. package/hooks/useTreeItemModel.d.ts +2 -2
  153. package/hooks/useTreeItemModel.js +2 -2
  154. package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
  155. package/hooks/useTreeItemUtils/useTreeItemUtils.js +41 -49
  156. package/hooks/useTreeViewApiRef.d.ts +2 -4
  157. package/hooks/useTreeViewApiRef.js +2 -4
  158. package/index.d.ts +0 -1
  159. package/index.js +1 -22
  160. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
  161. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +134 -0
  162. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
  163. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
  164. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +58 -0
  165. package/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
  166. package/internals/MinimalTreeViewStore/TimeoutManager.js +46 -0
  167. package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
  168. package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +23 -0
  169. package/internals/MinimalTreeViewStore/index.d.ts +2 -0
  170. package/internals/MinimalTreeViewStore/index.js +27 -0
  171. package/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
  172. package/internals/RichTreeViewStore/RichTreeViewStore.js +30 -0
  173. package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
  174. package/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
  175. package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +22 -0
  176. package/internals/RichTreeViewStore/index.d.ts +3 -0
  177. package/internals/RichTreeViewStore/index.js +38 -0
  178. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
  179. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +26 -0
  180. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
  181. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
  182. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +11 -0
  183. package/internals/SimpleTreeViewStore/index.d.ts +2 -0
  184. package/internals/SimpleTreeViewStore/index.js +27 -0
  185. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
  186. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -4
  187. package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
  188. package/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
  189. package/internals/TreeViewProvider/TreeViewProvider.js +14 -9
  190. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
  191. package/internals/TreeViewProvider/index.d.ts +1 -1
  192. package/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
  193. package/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
  194. package/internals/components/RichTreeViewItems.js +9 -9
  195. package/internals/hooks/useTreeViewRootProps.d.ts +287 -0
  196. package/internals/hooks/useTreeViewRootProps.js +36 -0
  197. package/internals/hooks/useTreeViewStore.d.ts +10 -0
  198. package/internals/hooks/useTreeViewStore.js +26 -0
  199. package/internals/index.d.ts +15 -21
  200. package/internals/index.js +40 -70
  201. package/internals/models/events.d.ts +24 -3
  202. package/internals/models/index.d.ts +2 -3
  203. package/internals/models/index.js +11 -22
  204. package/internals/models/itemPlugin.d.ts +9 -0
  205. package/internals/models/treeView.d.ts +5 -9
  206. package/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
  207. package/internals/plugins/expansion/TreeViewExpansionPlugin.js +132 -0
  208. package/internals/plugins/expansion/index.d.ts +2 -0
  209. package/internals/plugins/expansion/index.js +27 -0
  210. package/internals/plugins/expansion/selectors.d.ts +27 -0
  211. package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +8 -8
  212. package/internals/plugins/expansion/utils.d.ts +5 -0
  213. package/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
  214. package/internals/plugins/focus/TreeViewFocusPlugin.js +114 -0
  215. package/internals/plugins/focus/index.d.ts +2 -0
  216. package/internals/plugins/focus/index.js +27 -0
  217. package/internals/plugins/focus/selectors.d.ts +21 -0
  218. package/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +9 -9
  219. package/internals/plugins/id/index.d.ts +1 -0
  220. package/internals/plugins/id/index.js +16 -0
  221. package/internals/plugins/id/selectors.d.ts +13 -0
  222. package/internals/plugins/id/selectors.js +24 -0
  223. package/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
  224. package/internals/plugins/items/TreeViewItemsPlugin.js +231 -0
  225. package/internals/plugins/items/index.d.ts +3 -0
  226. package/internals/plugins/items/index.js +46 -0
  227. package/internals/plugins/items/selectors.d.ts +60 -0
  228. package/internals/plugins/{useTreeViewItems/useTreeViewItems.selectors.js → items/selectors.js} +16 -16
  229. package/internals/plugins/items/utils.d.ts +43 -0
  230. package/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -51
  231. package/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
  232. package/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +89 -0
  233. package/internals/plugins/jsxItems/index.d.ts +1 -0
  234. package/internals/plugins/jsxItems/index.js +16 -0
  235. package/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
  236. package/internals/plugins/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +30 -17
  237. package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
  238. package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +313 -0
  239. package/internals/plugins/keyboardNavigation/index.d.ts +1 -0
  240. package/internals/plugins/keyboardNavigation/index.js +16 -0
  241. package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
  242. package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +58 -0
  243. package/internals/plugins/labelEditing/index.d.ts +2 -0
  244. package/internals/plugins/labelEditing/index.js +27 -0
  245. package/{esm/internals/plugins/useTreeViewLabel → internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
  246. package/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +6 -6
  247. package/internals/plugins/labelEditing/selectors.d.ts +15 -0
  248. package/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
  249. package/internals/plugins/lazyLoading/index.d.ts +2 -0
  250. package/internals/plugins/lazyLoading/index.js +27 -0
  251. package/internals/plugins/lazyLoading/selectors.d.ts +19 -0
  252. package/internals/plugins/{useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js → lazyLoading/selectors.js} +11 -6
  253. package/internals/plugins/lazyLoading/types.d.ts +5 -0
  254. package/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
  255. package/internals/plugins/selection/TreeViewSelectionPlugin.js +327 -0
  256. package/internals/plugins/selection/index.d.ts +2 -0
  257. package/internals/plugins/selection/index.js +27 -0
  258. package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
  259. package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +13 -13
  260. package/internals/plugins/selection/selectors.d.ts +48 -0
  261. package/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +14 -9
  262. package/internals/utils/tree.d.ts +8 -10
  263. package/internals/utils/tree.js +33 -33
  264. package/models/items.d.ts +5 -2
  265. package/package.json +2 -2
  266. package/useTreeItem/useTreeItem.d.ts +18 -2
  267. package/useTreeItem/useTreeItem.js +18 -23
  268. package/useTreeItem/useTreeItem.types.d.ts +4 -19
  269. package/RichTreeView/RichTreeView.plugins.d.ts +0 -10
  270. package/RichTreeView/RichTreeView.plugins.js +0 -15
  271. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
  272. package/SimpleTreeView/SimpleTreeView.plugins.js +0 -15
  273. package/esm/RichTreeView/RichTreeView.plugins.d.ts +0 -10
  274. package/esm/RichTreeView/RichTreeView.plugins.js +0 -9
  275. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
  276. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +0 -9
  277. package/esm/internals/corePlugins/corePlugins.d.ts +0 -9
  278. package/esm/internals/corePlugins/corePlugins.js +0 -8
  279. package/esm/internals/corePlugins/index.d.ts +0 -2
  280. package/esm/internals/corePlugins/index.js +0 -1
  281. package/esm/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
  282. package/esm/internals/corePlugins/useTreeViewId/index.js +0 -2
  283. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  284. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -38
  285. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
  286. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  287. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  288. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  289. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  290. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  291. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  292. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  293. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -31
  294. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  295. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  296. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  297. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  298. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  299. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  300. package/esm/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  301. package/esm/internals/hooks/useInstanceEventHandler.js +0 -79
  302. package/esm/internals/models/helpers.d.ts +0 -7
  303. package/esm/internals/models/plugin.d.ts +0 -166
  304. package/esm/internals/models/plugin.js +0 -1
  305. package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
  306. package/esm/internals/plugins/useTreeViewExpansion/index.js +0 -2
  307. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  308. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -149
  309. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
  310. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
  311. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  312. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
  313. package/esm/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
  314. package/esm/internals/plugins/useTreeViewFocus/index.js +0 -2
  315. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  316. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -113
  317. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
  318. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  319. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  320. package/esm/internals/plugins/useTreeViewItems/index.d.ts +0 -4
  321. package/esm/internals/plugins/useTreeViewItems/index.js +0 -3
  322. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  323. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -223
  324. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -60
  325. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -64
  326. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -204
  327. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  328. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
  329. package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  330. package/esm/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  331. package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
  332. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  333. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -104
  334. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  335. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  336. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  337. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  338. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -305
  339. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
  340. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  341. package/esm/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
  342. package/esm/internals/plugins/useTreeViewLabel/index.js +0 -2
  343. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  344. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -70
  345. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
  346. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
  347. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  348. package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
  349. package/esm/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  350. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
  351. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -20
  352. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
  353. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  354. package/esm/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
  355. package/esm/internals/plugins/useTreeViewSelection/index.js +0 -2
  356. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  357. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -231
  358. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -45
  359. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
  360. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  361. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
  362. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -107
  363. package/esm/internals/useTreeView/index.d.ts +0 -1
  364. package/esm/internals/useTreeView/index.js +0 -1
  365. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
  366. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -51
  367. package/esm/internals/useTreeView/useTreeView.d.ts +0 -18
  368. package/esm/internals/useTreeView/useTreeView.js +0 -102
  369. package/esm/internals/useTreeView/useTreeView.types.d.ts +0 -20
  370. package/esm/internals/useTreeView/useTreeView.types.js +0 -1
  371. package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
  372. package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  373. package/esm/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  374. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  375. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -14
  376. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  377. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  378. package/esm/internals/utils/plugins.d.ts +0 -2
  379. package/esm/internals/utils/plugins.js +0 -4
  380. package/esm/internals/utils/publishTreeViewEvent.d.ts +0 -5
  381. package/esm/internals/utils/publishTreeViewEvent.js +0 -3
  382. package/internals/corePlugins/corePlugins.d.ts +0 -9
  383. package/internals/corePlugins/corePlugins.js +0 -14
  384. package/internals/corePlugins/index.d.ts +0 -2
  385. package/internals/corePlugins/index.js +0 -12
  386. package/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
  387. package/internals/corePlugins/useTreeViewId/index.js +0 -19
  388. package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  389. package/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -46
  390. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
  391. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
  392. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  393. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  394. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -34
  395. package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  396. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
  397. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  398. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -38
  399. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  400. package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  401. package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
  402. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  403. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
  404. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  405. package/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  406. package/internals/hooks/useInstanceEventHandler.js +0 -87
  407. package/internals/models/helpers.d.ts +0 -7
  408. package/internals/models/plugin.d.ts +0 -166
  409. package/internals/models/plugin.js +0 -5
  410. package/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
  411. package/internals/plugins/useTreeViewExpansion/index.js +0 -19
  412. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  413. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -157
  414. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
  415. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
  416. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
  417. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
  418. package/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
  419. package/internals/plugins/useTreeViewFocus/index.js +0 -19
  420. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  421. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -121
  422. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
  423. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  424. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
  425. package/internals/plugins/useTreeViewItems/index.d.ts +0 -4
  426. package/internals/plugins/useTreeViewItems/index.js +0 -32
  427. package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  428. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -231
  429. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -60
  430. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -204
  431. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
  432. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
  433. package/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  434. package/internals/plugins/useTreeViewJSXItems/index.js +0 -12
  435. package/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
  436. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  437. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -112
  438. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
  439. package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  440. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
  441. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  442. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -312
  443. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
  444. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
  445. package/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
  446. package/internals/plugins/useTreeViewLabel/index.js +0 -19
  447. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  448. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -78
  449. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
  450. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
  451. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
  452. package/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
  453. package/internals/plugins/useTreeViewLazyLoading/index.js +0 -12
  454. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
  455. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
  456. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -5
  457. package/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
  458. package/internals/plugins/useTreeViewSelection/index.js +0 -19
  459. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  460. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -240
  461. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -45
  462. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
  463. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
  464. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
  465. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -116
  466. package/internals/useTreeView/index.d.ts +0 -1
  467. package/internals/useTreeView/index.js +0 -12
  468. package/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
  469. package/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -60
  470. package/internals/useTreeView/useTreeView.d.ts +0 -18
  471. package/internals/useTreeView/useTreeView.js +0 -112
  472. package/internals/useTreeView/useTreeView.types.d.ts +0 -20
  473. package/internals/useTreeView/useTreeView.types.js +0 -5
  474. package/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
  475. package/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  476. package/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
  477. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  478. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -21
  479. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  480. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -45
  481. package/internals/utils/plugins.d.ts +0 -2
  482. package/internals/utils/plugins.js +0 -11
  483. package/internals/utils/publishTreeViewEvent.d.ts +0 -5
  484. package/internals/utils/publishTreeViewEvent.js +0 -10
  485. /package/esm/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
  486. /package/esm/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
  487. /package/esm/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
  488. /package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
  489. /package/esm/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
  490. /package/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
  491. /package/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
  492. /package/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
  493. /package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
  494. /package/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
@@ -4,10 +4,13 @@ export type TreeViewDefaultItemModelProperties = {
4
4
  label: string;
5
5
  children?: TreeViewDefaultItemModelProperties[];
6
6
  };
7
- export type TreeViewBaseItem<R extends object = TreeViewDefaultItemModelProperties> = R & {
7
+ /**
8
+ * @deprecated Use `TreeViewDefaultItemModelProperties` instead, or define your own item model interface.
9
+ */
10
+ export type TreeViewBaseItem<R extends {} = TreeViewDefaultItemModelProperties> = R & {
8
11
  children?: TreeViewBaseItem<R>[];
9
12
  };
10
- export type TreeViewValidItem<R extends object> = {
13
+ export type TreeViewValidItem<R extends {}> = {
11
14
  children?: R[];
12
15
  };
13
16
  export type TreeViewItemsReorderingAction = 'reorder-above' | 'reorder-below' | 'make-child' | 'move-to-parent';
@@ -1,2 +1,18 @@
1
- import { UseTreeItemParameters, UseTreeItemReturnValue, UseTreeItemMinimalPlugins, UseTreeItemOptionalPlugins } from "./useTreeItem.types.js";
2
- export declare const useTreeItem: <TSignatures extends UseTreeItemMinimalPlugins = UseTreeItemMinimalPlugins, TOptionalSignatures extends UseTreeItemOptionalPlugins = UseTreeItemOptionalPlugins>(parameters: UseTreeItemParameters) => UseTreeItemReturnValue<TSignatures, TOptionalSignatures>;
1
+ import { TreeViewItemId } from "../models/index.js";
2
+ import { UseTreeItemParameters, UseTreeItemReturnValue } from "./useTreeItem.types.js";
3
+ import { TreeViewAnyStore, TreeViewPublicAPI } from "../internals/models/index.js";
4
+ import { RichTreeViewStore } from "../internals/RichTreeViewStore/index.js";
5
+ interface DefaultStore extends RichTreeViewStore<any, any> {
6
+ buildPublicAPI: () => TreeViewPublicAPI<RichTreeViewStore<any, any>> & {
7
+ /**
8
+ * Method used for updating an item's children.
9
+ * Only relevant for lazy-loaded tree views.
10
+ *
11
+ * @param {TreeViewItemId} itemId The The id of the item to update the children of.
12
+ * @returns {Promise<void>} The promise resolved when the items are fetched.
13
+ */
14
+ updateItemChildren: (itemId: TreeViewItemId) => Promise<void>;
15
+ };
16
+ }
17
+ export declare const useTreeItem: <TStore extends TreeViewAnyStore = DefaultStore>(parameters: UseTreeItemParameters) => UseTreeItemReturnValue<TStore>;
18
+ export {};
@@ -9,12 +9,14 @@ import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
9
9
  import { useTreeItemUtils } from "../hooks/useTreeItemUtils/index.js";
10
10
  import { TreeViewItemDepthContext } from "../internals/TreeViewItemDepthContext/index.js";
11
11
  import { isTargetInDescendants } from "../internals/utils/tree.js";
12
- import { generateTreeItemIdAttribute } from "../internals/corePlugins/useTreeViewId/useTreeViewId.utils.js";
13
- import { focusSelectors } from "../internals/plugins/useTreeViewFocus/index.js";
14
- import { itemsSelectors } from "../internals/plugins/useTreeViewItems/index.js";
15
- import { idSelectors } from "../internals/corePlugins/useTreeViewId/index.js";
16
- import { expansionSelectors } from "../internals/plugins/useTreeViewExpansion/index.js";
17
- import { selectionSelectors } from "../internals/plugins/useTreeViewSelection/index.js";
12
+ import { focusSelectors } from "../internals/plugins/focus/index.js";
13
+ import { itemsSelectors } from "../internals/plugins/items/index.js";
14
+ import { idSelectors } from "../internals/plugins/id/index.js";
15
+ import { expansionSelectors } from "../internals/plugins/expansion/index.js";
16
+ import { selectionSelectors } from "../internals/plugins/selection/index.js";
17
+
18
+ // TODO v8: Remove the lazy loading plugin from the typing on the community useTreeItem and ask users to pass the TStore generic.
19
+
18
20
  const depthSelector = (state, itemId, depthContext) => {
19
21
  if (typeof depthContext === 'function') {
20
22
  return depthContext(state, itemId);
@@ -24,7 +26,6 @@ const depthSelector = (state, itemId, depthContext) => {
24
26
  export const useTreeItem = parameters => {
25
27
  const {
26
28
  runItemPlugins,
27
- instance,
28
29
  publicAPI,
29
30
  store
30
31
  } = useTreeViewContext();
@@ -54,13 +55,8 @@ export const useTreeItem = parameters => {
54
55
  const handleRootRef = useMergedRefs(rootRef, pluginRootRef, rootRefObject);
55
56
  const handleContentRef = useMergedRefs(contentRef, contentRefObject);
56
57
  const checkboxRef = React.useRef(null);
57
- const treeId = useStore(store, idSelectors.treeId);
58
58
  const isCheckboxSelectionEnabled = useStore(store, selectionSelectors.isCheckboxSelectionEnabled);
59
- const idAttribute = generateTreeItemIdAttribute({
60
- itemId,
61
- treeId,
62
- id
63
- });
59
+ const idAttribute = useStore(store, idSelectors.treeItemIdAttribute, itemId, id);
64
60
  const shouldBeAccessibleWithTab = useStore(store, focusSelectors.isItemTheDefaultFocusableItem, itemId);
65
61
  const sharedPropsEnhancerParams = {
66
62
  rootRefObject,
@@ -73,7 +69,7 @@ export const useTreeItem = parameters => {
73
69
  return;
74
70
  }
75
71
  if (!status.focused && itemsSelectors.canItemBeFocused(store.state, itemId) && event.currentTarget === event.target) {
76
- instance.focusItem(event, itemId);
72
+ store.focus.focusItem(event, itemId);
77
73
  }
78
74
  };
79
75
  const createRootHandleBlur = otherHandlers => event => {
@@ -81,7 +77,7 @@ export const useTreeItem = parameters => {
81
77
  if (event.defaultMuiPrevented) {
82
78
  return;
83
79
  }
84
- const rootElement = instance.getItemDOMElement(itemId);
80
+ const rootElement = store.items.getItemDOMElement(itemId);
85
81
 
86
82
  // Don't blur the root when switching to editing mode
87
83
  // the input that triggers the root blur can be either the relatedTarget (when entering editing state) or the target (when exiting editing state)
@@ -92,14 +88,14 @@ export const useTreeItem = parameters => {
92
88
  event.relatedTarget && isTargetInDescendants(event.relatedTarget, rootElement) && (event.target && event.target?.dataset?.element === 'labelInput' && isTargetInDescendants(event.target, rootElement) || event.relatedTarget?.dataset?.element === 'labelInput')) {
93
89
  return;
94
90
  }
95
- instance.removeFocusedItem();
91
+ store.focus.removeFocusedItem();
96
92
  };
97
93
  const createRootHandleKeyDown = otherHandlers => event => {
98
94
  otherHandlers.onKeyDown?.(event);
99
95
  if (event.defaultMuiPrevented || event.target?.dataset?.element === 'labelInput') {
100
96
  return;
101
97
  }
102
- instance.handleItemKeyDown(event, itemId);
98
+ store.keyboardNavigation.handleItemKeyDown(event, itemId);
103
99
  };
104
100
  const createLabelHandleDoubleClick = otherHandlers => event => {
105
101
  otherHandlers.onDoubleClick?.(event);
@@ -110,7 +106,7 @@ export const useTreeItem = parameters => {
110
106
  };
111
107
  const createContentHandleClick = otherHandlers => event => {
112
108
  otherHandlers.onClick?.(event);
113
- instance.handleItemClick(event, itemId);
109
+ store.items.handleItemClick(event, itemId);
114
110
  if (event.defaultMuiPrevented || checkboxRef.current?.contains(event.target)) {
115
111
  return;
116
112
  }
@@ -1,13 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { TreeViewItemId, TreeViewCancellableEventHandler } from "../models/index.js";
3
- import { TreeViewPublicAPI } from "../internals/models/index.js";
4
- import { UseTreeViewSelectionSignature } from "../internals/plugins/useTreeViewSelection/index.js";
5
- import { UseTreeViewItemsSignature } from "../internals/plugins/useTreeViewItems/index.js";
6
- import { UseTreeViewFocusSignature } from "../internals/plugins/useTreeViewFocus/index.js";
7
- import { UseTreeViewKeyboardNavigationSignature } from "../internals/plugins/useTreeViewKeyboardNavigation/index.js";
8
- import { UseTreeViewLabelSignature } from "../internals/plugins/useTreeViewLabel/index.js";
9
- import { UseTreeViewExpansionSignature } from "../internals/plugins/useTreeViewExpansion/index.js";
10
- import { UseTreeViewLazyLoadingSignature } from "../internals/plugins/useTreeViewLazyLoading/index.js";
3
+ import { TreeViewPublicAPI, TreeViewAnyStore } from "../internals/models/index.js";
11
4
  export interface UseTreeItemParameters {
12
5
  /**
13
6
  * The id attribute of the item. If not provided, it will be generated.
@@ -115,7 +108,7 @@ export interface UseTreeItemStatus {
115
108
  loading: boolean;
116
109
  error: boolean;
117
110
  }
118
- export interface UseTreeItemReturnValue<TSignatures extends UseTreeItemMinimalPlugins, TOptionalSignatures extends UseTreeItemOptionalPlugins> {
111
+ export interface UseTreeItemReturnValue<TStore extends TreeViewAnyStore> {
119
112
  /**
120
113
  * Resolver for the context provider's props.
121
114
  * @returns {UseTreeItemContextProviderProps} Props that should be spread on the context provider slot.
@@ -195,13 +188,5 @@ export interface UseTreeItemReturnValue<TSignatures extends UseTreeItemMinimalPl
195
188
  /**
196
189
  * The object the allows Tree View manipulation.
197
190
  */
198
- publicAPI: TreeViewPublicAPI<TSignatures, TOptionalSignatures>;
199
- }
200
- /**
201
- * Plugins that need to be present in the Tree View in order for `UseTreeItem` to work correctly.
202
- */
203
- export type UseTreeItemMinimalPlugins = readonly [UseTreeViewSelectionSignature, UseTreeViewExpansionSignature, UseTreeViewItemsSignature, UseTreeViewFocusSignature, UseTreeViewKeyboardNavigationSignature, UseTreeViewLabelSignature];
204
- /**
205
- * Plugins that `UseTreeItem` can use if they are present, but are not required.
206
- */
207
- export type UseTreeItemOptionalPlugins = readonly [UseTreeViewLazyLoadingSignature];
191
+ publicAPI: TreeViewPublicAPI<TStore>;
192
+ }
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useApplyPropagationToSelectedItemsOnMount = useApplyPropagationToSelectedItemsOnMount;
7
7
  var _useRefWithInit = require("@base-ui/utils/useRefWithInit");
8
- var _useTreeViewSelection = require("../internals/plugins/useTreeViewSelection/useTreeViewSelection.utils");
8
+ var _TreeViewSelectionPlugin = require("../internals/plugins/selection/TreeViewSelectionPlugin");
9
9
  const defaultGetItemId = item => item.id;
10
10
  const defaultGetItemChildren = item => item.children;
11
11
 
@@ -59,7 +59,7 @@ function useApplyPropagationToSelectedItemsOnMount(parameters) {
59
59
  selectionPropagation
60
60
  } = parameters;
61
61
  return (0, _useRefWithInit.useRefWithInit)(() => {
62
- const lookup = (0, _useTreeViewSelection.getLookupFromArray)(selectedItems);
62
+ const lookup = (0, _TreeViewSelectionPlugin.getLookupFromArray)(selectedItems);
63
63
  function walk(items, isParentSelected) {
64
64
  for (const item of items) {
65
65
  const itemId = getItemId(item);
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { TreeViewDefaultItemModelProperties, TreeViewValidItem } from "../models/index.js";
3
3
  import { TreeViewPublicAPI } from "../internals/models/index.js";
4
- import { RichTreeViewPluginSignatures } from "../RichTreeView/RichTreeView.plugins.js";
4
+ import { RichTreeViewStore } from "../internals/RichTreeViewStore/index.js";
5
5
  /**
6
6
  * Creates the ref to pass to the `apiRef` prop of the `RichTreeView` component.
7
7
  */
8
- export declare function useRichTreeViewApiRef<R extends TreeViewValidItem<R> = TreeViewDefaultItemModelProperties>(): React.RefObject<TreeViewPublicAPI<RichTreeViewPluginSignatures> | undefined>;
8
+ export declare function useRichTreeViewApiRef<R extends TreeViewValidItem<R> = TreeViewDefaultItemModelProperties>(): React.RefObject<TreeViewPublicAPI<RichTreeViewStore<R, boolean>> | undefined>;
@@ -1,8 +1,7 @@
1
1
  import * as React from 'react';
2
- import { TreeViewDefaultItemModelProperties, TreeViewValidItem } from "../models/index.js";
3
2
  import { TreeViewPublicAPI } from "../internals/models/index.js";
4
- import { SimpleTreeViewPluginSignatures } from "../SimpleTreeView/SimpleTreeView.plugins.js";
3
+ import { SimpleTreeViewStore } from "../internals/SimpleTreeViewStore/index.js";
5
4
  /**
6
5
  * Creates the ref to pass to the `apiRef` prop of the `SimpleTreeView` component.
7
6
  */
8
- export declare function useSimpleTreeViewApiRef<R extends TreeViewValidItem<R> = TreeViewDefaultItemModelProperties>(): React.RefObject<TreeViewPublicAPI<SimpleTreeViewPluginSignatures> | undefined>;
7
+ export declare function useSimpleTreeViewApiRef(): React.RefObject<TreeViewPublicAPI<SimpleTreeViewStore<boolean>> | undefined>;
@@ -1,2 +1,2 @@
1
- import { TreeViewBaseItem, TreeViewDefaultItemModelProperties, TreeViewItemId } from "../models/index.js";
2
- export declare const useTreeItemModel: <R extends {} = TreeViewDefaultItemModelProperties>(itemId: TreeViewItemId) => TreeViewBaseItem<R> | null;
1
+ import { TreeViewDefaultItemModelProperties, TreeViewItemId } from "../models/index.js";
2
+ export declare const useTreeItemModel: <R extends {} = TreeViewDefaultItemModelProperties>(itemId: TreeViewItemId) => R | null;
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useTreeItemModel = void 0;
8
8
  var _store = require("@mui/x-internals/store");
9
9
  var _TreeViewProvider = require("../internals/TreeViewProvider");
10
- var _useTreeViewItems = require("../internals/plugins/useTreeViewItems");
10
+ var _items = require("../internals/plugins/items");
11
11
  const useTreeItemModel = itemId => {
12
12
  const {
13
13
  store
14
14
  } = (0, _TreeViewProvider.useTreeViewContext)();
15
- return (0, _store.useStore)(store, _useTreeViewItems.itemsSelectors.itemModel, itemId);
15
+ return (0, _store.useStore)(store, _items.itemsSelectors.itemModel, itemId);
16
16
  };
17
17
  exports.useTreeItemModel = useTreeItemModel;
@@ -1,12 +1,7 @@
1
1
  import * as React from 'react';
2
- import type { UseTreeViewLazyLoadingSignature } from "../../internals/plugins/useTreeViewLazyLoading/index.js";
3
- import type { UseTreeViewSelectionSignature } from "../../internals/plugins/useTreeViewSelection/index.js";
4
- import type { UseTreeViewExpansionSignature } from "../../internals/plugins/useTreeViewExpansion/index.js";
5
- import type { UseTreeViewItemsSignature } from "../../internals/plugins/useTreeViewItems/index.js";
6
- import type { UseTreeViewFocusSignature } from "../../internals/plugins/useTreeViewFocus/index.js";
7
- import { UseTreeViewLabelSignature } from "../../internals/plugins/useTreeViewLabel/index.js";
8
2
  import type { UseTreeItemStatus } from "../../useTreeItem/index.js";
9
- import { TreeViewPublicAPI } from "../../internals/models/index.js";
3
+ import { TreeViewPublicAPI, TreeViewAnyStore } from "../../internals/models/index.js";
4
+ import { TreeViewLabelEditingPlugin } from "../../internals/plugins/labelEditing/index.js";
10
5
  export interface UseTreeItemInteractions {
11
6
  handleExpansion: (event: React.MouseEvent) => void;
12
7
  handleSelection: (event: React.MouseEvent) => void;
@@ -15,28 +10,23 @@ export interface UseTreeItemInteractions {
15
10
  handleSaveItemLabel: (event: React.SyntheticEvent, label: string) => void;
16
11
  handleCancelItemLabelEditing: (event: React.SyntheticEvent) => void;
17
12
  }
18
- /**
19
- * Plugins that need to be present in the Tree View in order for `useTreeItemUtils` to work correctly.
20
- */
21
- type UseTreeItemUtilsMinimalPlugins = readonly [UseTreeViewSelectionSignature, UseTreeViewExpansionSignature, UseTreeViewItemsSignature, UseTreeViewFocusSignature];
22
- /**
23
- * Plugins that `useTreeItemUtils` can use if they are present, but are not required.
24
- */
25
- export type UseTreeItemUtilsOptionalPlugins = readonly [UseTreeViewLabelSignature, UseTreeViewLazyLoadingSignature];
26
- interface UseTreeItemUtilsReturnValue<TSignatures extends UseTreeItemUtilsMinimalPlugins, TOptionalSignatures extends UseTreeItemUtilsOptionalPlugins> {
13
+ interface UseTreeItemUtilsReturnValue<TStore extends TreeViewAnyStore> {
27
14
  interactions: UseTreeItemInteractions;
28
15
  status: UseTreeItemStatus;
29
16
  /**
30
17
  * The object the allows Tree View manipulation.
31
18
  */
32
- publicAPI: TreeViewPublicAPI<TSignatures, TOptionalSignatures>;
19
+ publicAPI: TreeViewPublicAPI<TStore>;
33
20
  }
21
+ type TreeViewStoreWithLabelEditing = TreeViewAnyStore & {
22
+ labelEditing?: TreeViewLabelEditingPlugin;
23
+ };
34
24
  export declare const itemHasChildren: (reactChildren: React.ReactNode) => boolean;
35
- export declare const useTreeItemUtils: <TSignatures extends UseTreeItemUtilsMinimalPlugins = UseTreeItemUtilsMinimalPlugins, TOptionalSignatures extends UseTreeItemUtilsOptionalPlugins = UseTreeItemUtilsOptionalPlugins>({
25
+ export declare const useTreeItemUtils: <TStore extends TreeViewStoreWithLabelEditing = TreeViewStoreWithLabelEditing>({
36
26
  itemId,
37
27
  children
38
28
  }: {
39
29
  itemId: string;
40
30
  children?: React.ReactNode;
41
- }) => UseTreeItemUtilsReturnValue<TSignatures, TOptionalSignatures>;
31
+ }) => UseTreeItemUtilsReturnValue<TStore>;
42
32
  export {};
@@ -7,22 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.useTreeItemUtils = exports.itemHasChildren = void 0;
8
8
  var _store = require("@mui/x-internals/store");
9
9
  var _TreeViewProvider = require("../../internals/TreeViewProvider");
10
- var _useTreeViewLabel = require("../../internals/plugins/useTreeViewLabel");
11
- var _plugins = require("../../internals/utils/plugins");
12
- var _useTreeViewExpansion = require("../../internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors");
13
- var _useTreeViewFocus = require("../../internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors");
14
- var _useTreeViewItems = require("../../internals/plugins/useTreeViewItems/useTreeViewItems.selectors");
15
- var _useTreeViewSelection = require("../../internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors");
16
- var _useTreeViewLazyLoading = require("../../internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors");
17
- var _useTreeViewLabel2 = require("../../internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors");
18
- /**
19
- * Plugins that need to be present in the Tree View in order for `useTreeItemUtils` to work correctly.
20
- */
21
-
22
- /**
23
- * Plugins that `useTreeItemUtils` can use if they are present, but are not required.
24
- */
25
-
10
+ var _selectors = require("../../internals/plugins/expansion/selectors");
11
+ var _selectors2 = require("../../internals/plugins/focus/selectors");
12
+ var _selectors3 = require("../../internals/plugins/items/selectors");
13
+ var _selectors4 = require("../../internals/plugins/selection/selectors");
14
+ var _selectors5 = require("../../internals/plugins/lazyLoading/selectors");
15
+ var _selectors6 = require("../../internals/plugins/labelEditing/selectors");
26
16
  const itemHasChildren = reactChildren => {
27
17
  if (Array.isArray(reactChildren)) {
28
18
  return reactChildren.length > 0 && reactChildren.some(itemHasChildren);
@@ -35,20 +25,19 @@ const useTreeItemUtils = ({
35
25
  children
36
26
  }) => {
37
27
  const {
38
- instance,
39
28
  store,
40
29
  publicAPI
41
30
  } = (0, _TreeViewProvider.useTreeViewContext)();
42
- const isItemExpandable = (0, _store.useStore)(store, _useTreeViewExpansion.expansionSelectors.isItemExpandable, itemId);
43
- const isLoading = (0, _store.useStore)(store, _useTreeViewLazyLoading.lazyLoadingSelectors.isItemLoading, itemId);
44
- const hasError = (0, _store.useStore)(store, _useTreeViewLazyLoading.lazyLoadingSelectors.itemHasError, itemId);
31
+ const isItemExpandable = (0, _store.useStore)(store, _selectors.expansionSelectors.isItemExpandable, itemId);
32
+ const isLoading = (0, _store.useStore)(store, _selectors5.lazyLoadingSelectors.isItemLoading, itemId);
33
+ const hasError = (0, _store.useStore)(store, _selectors5.lazyLoadingSelectors.itemHasError, itemId);
45
34
  const isExpandable = itemHasChildren(children) || isItemExpandable;
46
- const isExpanded = (0, _store.useStore)(store, _useTreeViewExpansion.expansionSelectors.isItemExpanded, itemId);
47
- const isFocused = (0, _store.useStore)(store, _useTreeViewFocus.focusSelectors.isItemFocused, itemId);
48
- const isSelected = (0, _store.useStore)(store, _useTreeViewSelection.selectionSelectors.isItemSelected, itemId);
49
- const isDisabled = (0, _store.useStore)(store, _useTreeViewItems.itemsSelectors.isItemDisabled, itemId);
50
- const isEditing = (0, _store.useStore)(store, _useTreeViewLabel2.labelSelectors.isItemBeingEdited, itemId);
51
- const isEditable = (0, _store.useStore)(store, _useTreeViewLabel2.labelSelectors.isItemEditable, itemId);
35
+ const isExpanded = (0, _store.useStore)(store, _selectors.expansionSelectors.isItemExpanded, itemId);
36
+ const isFocused = (0, _store.useStore)(store, _selectors2.focusSelectors.isItemFocused, itemId);
37
+ const isSelected = (0, _store.useStore)(store, _selectors4.selectionSelectors.isItemSelected, itemId);
38
+ const isDisabled = (0, _store.useStore)(store, _selectors3.itemsSelectors.isItemDisabled, itemId);
39
+ const isEditing = (0, _store.useStore)(store, _selectors6.labelSelectors.isItemBeingEdited, itemId);
40
+ const isEditable = (0, _store.useStore)(store, _selectors6.labelSelectors.isItemEditable, itemId);
52
41
  const status = {
53
42
  expandable: isExpandable,
54
43
  expanded: isExpanded,
@@ -65,39 +54,39 @@ const useTreeItemUtils = ({
65
54
  return;
66
55
  }
67
56
  if (!status.focused) {
68
- instance.focusItem(event, itemId);
57
+ store.focus.focusItem(event, itemId);
69
58
  }
70
- const multiple = _useTreeViewSelection.selectionSelectors.isMultiSelectEnabled(store.state) && (event.shiftKey || event.ctrlKey || event.metaKey);
59
+ const multiple = _selectors4.selectionSelectors.isMultiSelectEnabled(store.state) && (event.shiftKey || event.ctrlKey || event.metaKey);
71
60
 
72
61
  // If already expanded and trying to toggle selection don't close
73
- if (status.expandable && !(multiple && _useTreeViewExpansion.expansionSelectors.isItemExpanded(store.state, itemId))) {
62
+ if (status.expandable && !(multiple && _selectors.expansionSelectors.isItemExpanded(store.state, itemId))) {
74
63
  // make sure the children selection is propagated again
75
- instance.setItemExpansion({
64
+ store.expansion.setItemExpansion({
76
65
  event,
77
66
  itemId
78
67
  });
79
68
  }
80
69
  };
81
70
  const handleSelection = event => {
82
- if (!_useTreeViewSelection.selectionSelectors.canItemBeSelected(store.state, itemId)) {
71
+ if (!_selectors4.selectionSelectors.canItemBeSelected(store.state, itemId)) {
83
72
  return;
84
73
  }
85
74
  if (!status.focused && !status.editing) {
86
- instance.focusItem(event, itemId);
75
+ store.focus.focusItem(event, itemId);
87
76
  }
88
- const multiple = _useTreeViewSelection.selectionSelectors.isMultiSelectEnabled(store.state) && (event.shiftKey || event.ctrlKey || event.metaKey);
77
+ const multiple = _selectors4.selectionSelectors.isMultiSelectEnabled(store.state) && (event.shiftKey || event.ctrlKey || event.metaKey);
89
78
  if (multiple) {
90
79
  if (event.shiftKey) {
91
- instance.expandSelectionRange(event, itemId);
80
+ store.selection.expandSelectionRange(event, itemId);
92
81
  } else {
93
- instance.setItemSelection({
82
+ store.selection.setItemSelection({
94
83
  event,
95
84
  itemId,
96
85
  keepExistingSelection: true
97
86
  });
98
87
  }
99
88
  } else {
100
- instance.setItemSelection({
89
+ store.selection.setItemSelection({
101
90
  event,
102
91
  itemId,
103
92
  shouldBeSelected: true
@@ -106,11 +95,11 @@ const useTreeItemUtils = ({
106
95
  };
107
96
  const handleCheckboxSelection = event => {
108
97
  const hasShift = event.nativeEvent.shiftKey;
109
- const isMultiSelectEnabled = _useTreeViewSelection.selectionSelectors.isMultiSelectEnabled(store.state);
98
+ const isMultiSelectEnabled = _selectors4.selectionSelectors.isMultiSelectEnabled(store.state);
110
99
  if (isMultiSelectEnabled && hasShift) {
111
- instance.expandSelectionRange(event, itemId);
100
+ store.selection.expandSelectionRange(event, itemId);
112
101
  } else {
113
- instance.setItemSelection({
102
+ store.selection.setItemSelection({
114
103
  event,
115
104
  itemId,
116
105
  keepExistingSelection: isMultiSelectEnabled,
@@ -119,36 +108,39 @@ const useTreeItemUtils = ({
119
108
  }
120
109
  };
121
110
  const toggleItemEditing = () => {
122
- if (!(0, _plugins.hasPlugin)(instance, _useTreeViewLabel.useTreeViewLabel)) {
111
+ // If the store doesn't support label editing, do nothing
112
+ if (!store.labelEditing) {
123
113
  return;
124
114
  }
125
115
  if (isEditing) {
126
- instance.setEditedItem(null);
116
+ store.labelEditing.setEditedItem(null);
127
117
  } else {
128
- instance.setEditedItem(itemId);
118
+ store.labelEditing.setEditedItem(itemId);
129
119
  }
130
120
  };
131
121
  const handleSaveItemLabel = (event, newLabel) => {
132
- if (!(0, _plugins.hasPlugin)(instance, _useTreeViewLabel.useTreeViewLabel)) {
122
+ // If the store doesn't support label editing, do nothing
123
+ if (!store.labelEditing) {
133
124
  return;
134
125
  }
135
126
 
136
127
  // As a side effect of `instance.focusItem` called here and in `handleCancelItemLabelEditing` the `labelInput` is blurred
137
128
  // The `onBlur` event is triggered, which calls `handleSaveItemLabel` again.
138
129
  // To avoid creating an unwanted behavior we need to check if the item is being edited before calling `updateItemLabel`
139
- if (_useTreeViewLabel2.labelSelectors.isItemBeingEdited(store.state, itemId)) {
140
- instance.updateItemLabel(itemId, newLabel);
130
+ if (_selectors6.labelSelectors.isItemBeingEdited(store.state, itemId)) {
131
+ store.labelEditing.updateItemLabel(itemId, newLabel);
141
132
  toggleItemEditing();
142
- instance.focusItem(event, itemId);
133
+ store.focus.focusItem(event, itemId);
143
134
  }
144
135
  };
145
136
  const handleCancelItemLabelEditing = event => {
146
- if (!(0, _plugins.hasPlugin)(instance, _useTreeViewLabel.useTreeViewLabel)) {
137
+ // If the store doesn't support label editing, do nothing
138
+ if (!store.labelEditing) {
147
139
  return;
148
140
  }
149
- if (_useTreeViewLabel2.labelSelectors.isItemBeingEdited(store.state, itemId)) {
141
+ if (_selectors6.labelSelectors.isItemBeingEdited(store.state, itemId)) {
150
142
  toggleItemEditing();
151
- instance.focusItem(event, itemId);
143
+ store.focus.focusItem(event, itemId);
152
144
  }
153
145
  };
154
146
  const interactions = {
@@ -1,8 +1,6 @@
1
- import * as React from 'react';
2
- import { TreeViewAnyPluginSignature, TreeViewPublicAPI } from "../internals/models/index.js";
3
- import { RichTreeViewPluginSignatures } from "../RichTreeView/RichTreeView.plugins.js";
1
+ import { useRichTreeViewApiRef } from "./useRichTreeViewApiRef.js";
4
2
  /**
5
3
  * Hook that instantiates a [[TreeViewApiRef]].
6
4
  * @deprecated Use `useRichTreeViewApiRef()`, `useRichTreeViewProApiRef()` or `useSimpleTreeViewApiRef()` instead.
7
5
  */
8
- export declare const useTreeViewApiRef: <TSignatures extends readonly TreeViewAnyPluginSignature[] = RichTreeViewPluginSignatures>() => React.RefObject<TreeViewPublicAPI<TSignatures> | undefined>;
6
+ export declare const useTreeViewApiRef: typeof useRichTreeViewApiRef;
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useTreeViewApiRef = void 0;
9
- var React = _interopRequireWildcard(require("react"));
8
+ var _useRichTreeViewApiRef = require("./useRichTreeViewApiRef");
10
9
  /**
11
10
  * Hook that instantiates a [[TreeViewApiRef]].
12
11
  * @deprecated Use `useRichTreeViewApiRef()`, `useRichTreeViewProApiRef()` or `useSimpleTreeViewApiRef()` instead.
13
12
  */
14
- const useTreeViewApiRef = () => React.useRef(undefined);
15
- exports.useTreeViewApiRef = useTreeViewApiRef;
13
+ const useTreeViewApiRef = exports.useTreeViewApiRef = _useRichTreeViewApiRef.useRichTreeViewApiRef;
package/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export * from "./TreeItemIcon/index.js";
6
6
  export * from "./TreeItemProvider/index.js";
7
7
  export * from "./TreeItemDragAndDropOverlay/index.js";
8
8
  export * from "./TreeItemLabelInput/index.js";
9
- export { unstable_resetCleanupTracking } from "./internals/hooks/useInstanceEventHandler.js";
10
9
  export * from "./models/index.js";
11
10
  export * from "./icons/index.js";
12
11
  export * from "./hooks/index.js";
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v8.23.0
2
+ * @mui/x-tree-view v8.24.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -10,19 +10,9 @@
10
10
  Object.defineProperty(exports, "__esModule", {
11
11
  value: true
12
12
  });
13
- var _exportNames = {
14
- unstable_resetCleanupTracking: true
15
- };
16
- Object.defineProperty(exports, "unstable_resetCleanupTracking", {
17
- enumerable: true,
18
- get: function () {
19
- return _useInstanceEventHandler.unstable_resetCleanupTracking;
20
- }
21
- });
22
13
  var _SimpleTreeView = require("./SimpleTreeView");
23
14
  Object.keys(_SimpleTreeView).forEach(function (key) {
24
15
  if (key === "default" || key === "__esModule") return;
25
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
26
16
  if (key in exports && exports[key] === _SimpleTreeView[key]) return;
27
17
  Object.defineProperty(exports, key, {
28
18
  enumerable: true,
@@ -34,7 +24,6 @@ Object.keys(_SimpleTreeView).forEach(function (key) {
34
24
  var _RichTreeView = require("./RichTreeView");
35
25
  Object.keys(_RichTreeView).forEach(function (key) {
36
26
  if (key === "default" || key === "__esModule") return;
37
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
38
27
  if (key in exports && exports[key] === _RichTreeView[key]) return;
39
28
  Object.defineProperty(exports, key, {
40
29
  enumerable: true,
@@ -46,7 +35,6 @@ Object.keys(_RichTreeView).forEach(function (key) {
46
35
  var _TreeItem = require("./TreeItem");
47
36
  Object.keys(_TreeItem).forEach(function (key) {
48
37
  if (key === "default" || key === "__esModule") return;
49
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
50
38
  if (key in exports && exports[key] === _TreeItem[key]) return;
51
39
  Object.defineProperty(exports, key, {
52
40
  enumerable: true,
@@ -58,7 +46,6 @@ Object.keys(_TreeItem).forEach(function (key) {
58
46
  var _useTreeItem = require("./useTreeItem");
59
47
  Object.keys(_useTreeItem).forEach(function (key) {
60
48
  if (key === "default" || key === "__esModule") return;
61
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
62
49
  if (key in exports && exports[key] === _useTreeItem[key]) return;
63
50
  Object.defineProperty(exports, key, {
64
51
  enumerable: true,
@@ -70,7 +57,6 @@ Object.keys(_useTreeItem).forEach(function (key) {
70
57
  var _TreeItemIcon = require("./TreeItemIcon");
71
58
  Object.keys(_TreeItemIcon).forEach(function (key) {
72
59
  if (key === "default" || key === "__esModule") return;
73
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
74
60
  if (key in exports && exports[key] === _TreeItemIcon[key]) return;
75
61
  Object.defineProperty(exports, key, {
76
62
  enumerable: true,
@@ -82,7 +68,6 @@ Object.keys(_TreeItemIcon).forEach(function (key) {
82
68
  var _TreeItemProvider = require("./TreeItemProvider");
83
69
  Object.keys(_TreeItemProvider).forEach(function (key) {
84
70
  if (key === "default" || key === "__esModule") return;
85
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
86
71
  if (key in exports && exports[key] === _TreeItemProvider[key]) return;
87
72
  Object.defineProperty(exports, key, {
88
73
  enumerable: true,
@@ -94,7 +79,6 @@ Object.keys(_TreeItemProvider).forEach(function (key) {
94
79
  var _TreeItemDragAndDropOverlay = require("./TreeItemDragAndDropOverlay");
95
80
  Object.keys(_TreeItemDragAndDropOverlay).forEach(function (key) {
96
81
  if (key === "default" || key === "__esModule") return;
97
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
98
82
  if (key in exports && exports[key] === _TreeItemDragAndDropOverlay[key]) return;
99
83
  Object.defineProperty(exports, key, {
100
84
  enumerable: true,
@@ -106,7 +90,6 @@ Object.keys(_TreeItemDragAndDropOverlay).forEach(function (key) {
106
90
  var _TreeItemLabelInput = require("./TreeItemLabelInput");
107
91
  Object.keys(_TreeItemLabelInput).forEach(function (key) {
108
92
  if (key === "default" || key === "__esModule") return;
109
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
110
93
  if (key in exports && exports[key] === _TreeItemLabelInput[key]) return;
111
94
  Object.defineProperty(exports, key, {
112
95
  enumerable: true,
@@ -115,11 +98,9 @@ Object.keys(_TreeItemLabelInput).forEach(function (key) {
115
98
  }
116
99
  });
117
100
  });
118
- var _useInstanceEventHandler = require("./internals/hooks/useInstanceEventHandler");
119
101
  var _models = require("./models");
120
102
  Object.keys(_models).forEach(function (key) {
121
103
  if (key === "default" || key === "__esModule") return;
122
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
123
104
  if (key in exports && exports[key] === _models[key]) return;
124
105
  Object.defineProperty(exports, key, {
125
106
  enumerable: true,
@@ -131,7 +112,6 @@ Object.keys(_models).forEach(function (key) {
131
112
  var _icons = require("./icons");
132
113
  Object.keys(_icons).forEach(function (key) {
133
114
  if (key === "default" || key === "__esModule") return;
134
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
135
115
  if (key in exports && exports[key] === _icons[key]) return;
136
116
  Object.defineProperty(exports, key, {
137
117
  enumerable: true,
@@ -143,7 +123,6 @@ Object.keys(_icons).forEach(function (key) {
143
123
  var _hooks = require("./hooks");
144
124
  Object.keys(_hooks).forEach(function (key) {
145
125
  if (key === "default" || key === "__esModule") return;
146
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
147
126
  if (key in exports && exports[key] === _hooks[key]) return;
148
127
  Object.defineProperty(exports, key, {
149
128
  enumerable: true,