@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
@@ -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 {};
@@ -2,23 +2,12 @@
2
2
 
3
3
  import { useStore } from '@mui/x-internals/store';
4
4
  import { useTreeViewContext } from "../../internals/TreeViewProvider/index.js";
5
- import { useTreeViewLabel } from "../../internals/plugins/useTreeViewLabel/index.js";
6
- import { hasPlugin } from "../../internals/utils/plugins.js";
7
- import { expansionSelectors } from "../../internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
8
- import { focusSelectors } from "../../internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js";
9
- import { itemsSelectors } from "../../internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js";
10
- import { selectionSelectors } from "../../internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
11
- import { lazyLoadingSelectors } from "../../internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js";
12
- import { labelSelectors } from "../../internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
13
-
14
- /**
15
- * Plugins that need to be present in the Tree View in order for `useTreeItemUtils` to work correctly.
16
- */
17
-
18
- /**
19
- * Plugins that `useTreeItemUtils` can use if they are present, but are not required.
20
- */
21
-
5
+ import { expansionSelectors } from "../../internals/plugins/expansion/selectors.js";
6
+ import { focusSelectors } from "../../internals/plugins/focus/selectors.js";
7
+ import { itemsSelectors } from "../../internals/plugins/items/selectors.js";
8
+ import { selectionSelectors } from "../../internals/plugins/selection/selectors.js";
9
+ import { lazyLoadingSelectors } from "../../internals/plugins/lazyLoading/selectors.js";
10
+ import { labelSelectors } from "../../internals/plugins/labelEditing/selectors.js";
22
11
  export const itemHasChildren = reactChildren => {
23
12
  if (Array.isArray(reactChildren)) {
24
13
  return reactChildren.length > 0 && reactChildren.some(itemHasChildren);
@@ -30,7 +19,6 @@ export const useTreeItemUtils = ({
30
19
  children
31
20
  }) => {
32
21
  const {
33
- instance,
34
22
  store,
35
23
  publicAPI
36
24
  } = useTreeViewContext();
@@ -60,14 +48,14 @@ export const useTreeItemUtils = ({
60
48
  return;
61
49
  }
62
50
  if (!status.focused) {
63
- instance.focusItem(event, itemId);
51
+ store.focus.focusItem(event, itemId);
64
52
  }
65
53
  const multiple = selectionSelectors.isMultiSelectEnabled(store.state) && (event.shiftKey || event.ctrlKey || event.metaKey);
66
54
 
67
55
  // If already expanded and trying to toggle selection don't close
68
56
  if (status.expandable && !(multiple && expansionSelectors.isItemExpanded(store.state, itemId))) {
69
57
  // make sure the children selection is propagated again
70
- instance.setItemExpansion({
58
+ store.expansion.setItemExpansion({
71
59
  event,
72
60
  itemId
73
61
  });
@@ -78,21 +66,21 @@ export const useTreeItemUtils = ({
78
66
  return;
79
67
  }
80
68
  if (!status.focused && !status.editing) {
81
- instance.focusItem(event, itemId);
69
+ store.focus.focusItem(event, itemId);
82
70
  }
83
71
  const multiple = selectionSelectors.isMultiSelectEnabled(store.state) && (event.shiftKey || event.ctrlKey || event.metaKey);
84
72
  if (multiple) {
85
73
  if (event.shiftKey) {
86
- instance.expandSelectionRange(event, itemId);
74
+ store.selection.expandSelectionRange(event, itemId);
87
75
  } else {
88
- instance.setItemSelection({
76
+ store.selection.setItemSelection({
89
77
  event,
90
78
  itemId,
91
79
  keepExistingSelection: true
92
80
  });
93
81
  }
94
82
  } else {
95
- instance.setItemSelection({
83
+ store.selection.setItemSelection({
96
84
  event,
97
85
  itemId,
98
86
  shouldBeSelected: true
@@ -103,9 +91,9 @@ export const useTreeItemUtils = ({
103
91
  const hasShift = event.nativeEvent.shiftKey;
104
92
  const isMultiSelectEnabled = selectionSelectors.isMultiSelectEnabled(store.state);
105
93
  if (isMultiSelectEnabled && hasShift) {
106
- instance.expandSelectionRange(event, itemId);
94
+ store.selection.expandSelectionRange(event, itemId);
107
95
  } else {
108
- instance.setItemSelection({
96
+ store.selection.setItemSelection({
109
97
  event,
110
98
  itemId,
111
99
  keepExistingSelection: isMultiSelectEnabled,
@@ -114,17 +102,19 @@ export const useTreeItemUtils = ({
114
102
  }
115
103
  };
116
104
  const toggleItemEditing = () => {
117
- if (!hasPlugin(instance, useTreeViewLabel)) {
105
+ // If the store doesn't support label editing, do nothing
106
+ if (!store.labelEditing) {
118
107
  return;
119
108
  }
120
109
  if (isEditing) {
121
- instance.setEditedItem(null);
110
+ store.labelEditing.setEditedItem(null);
122
111
  } else {
123
- instance.setEditedItem(itemId);
112
+ store.labelEditing.setEditedItem(itemId);
124
113
  }
125
114
  };
126
115
  const handleSaveItemLabel = (event, newLabel) => {
127
- if (!hasPlugin(instance, useTreeViewLabel)) {
116
+ // If the store doesn't support label editing, do nothing
117
+ if (!store.labelEditing) {
128
118
  return;
129
119
  }
130
120
 
@@ -132,18 +122,19 @@ export const useTreeItemUtils = ({
132
122
  // The `onBlur` event is triggered, which calls `handleSaveItemLabel` again.
133
123
  // To avoid creating an unwanted behavior we need to check if the item is being edited before calling `updateItemLabel`
134
124
  if (labelSelectors.isItemBeingEdited(store.state, itemId)) {
135
- instance.updateItemLabel(itemId, newLabel);
125
+ store.labelEditing.updateItemLabel(itemId, newLabel);
136
126
  toggleItemEditing();
137
- instance.focusItem(event, itemId);
127
+ store.focus.focusItem(event, itemId);
138
128
  }
139
129
  };
140
130
  const handleCancelItemLabelEditing = event => {
141
- if (!hasPlugin(instance, useTreeViewLabel)) {
131
+ // If the store doesn't support label editing, do nothing
132
+ if (!store.labelEditing) {
142
133
  return;
143
134
  }
144
135
  if (labelSelectors.isItemBeingEdited(store.state, itemId)) {
145
136
  toggleItemEditing();
146
- instance.focusItem(event, itemId);
137
+ store.focus.focusItem(event, itemId);
147
138
  }
148
139
  };
149
140
  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,8 +1,9 @@
1
1
  'use client';
2
2
 
3
- import * as React from 'react';
3
+ import { useRichTreeViewApiRef } from "./useRichTreeViewApiRef.js";
4
+
4
5
  /**
5
6
  * Hook that instantiates a [[TreeViewApiRef]].
6
7
  * @deprecated Use `useRichTreeViewApiRef()`, `useRichTreeViewProApiRef()` or `useSimpleTreeViewApiRef()` instead.
7
8
  */
8
- export const useTreeViewApiRef = () => React.useRef(undefined);
9
+ export const useTreeViewApiRef = useRichTreeViewApiRef;
package/esm/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/esm/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
@@ -16,7 +16,6 @@ export * from "./TreeItemIcon/index.js";
16
16
  export * from "./TreeItemProvider/index.js";
17
17
  export * from "./TreeItemDragAndDropOverlay/index.js";
18
18
  export * from "./TreeItemLabelInput/index.js";
19
- export { unstable_resetCleanupTracking } from "./internals/hooks/useInstanceEventHandler.js";
20
19
  export * from "./models/index.js";
21
20
  export * from "./icons/index.js";
22
21
  export * from "./hooks/index.js";
@@ -0,0 +1,90 @@
1
+ import { Store } from '@mui/x-internals/store';
2
+ import { MinimalTreeViewParameters, TreeViewParametersToStateMapper, MinimalTreeViewState } from "./MinimalTreeViewStore.types.js";
3
+ import { TreeViewValidItem } from "../../models/index.js";
4
+ import { TimeoutManager } from "./TimeoutManager.js";
5
+ import { TreeViewKeyboardNavigationPlugin } from "../plugins/keyboardNavigation/index.js";
6
+ import { TreeViewFocusPlugin } from "../plugins/focus/TreeViewFocusPlugin.js";
7
+ import { TreeViewItemsPlugin } from "../plugins/items/TreeViewItemsPlugin.js";
8
+ import { TreeViewSelectionPlugin } from "../plugins/selection/TreeViewSelectionPlugin.js";
9
+ import { TreeViewExpansionPlugin } from "../plugins/expansion/index.js";
10
+ import { TreeViewItemPluginManager } from "./TreeViewItemPluginManager.js";
11
+ import { TreeViewEventEvent, TreeViewEventListener, TreeViewEventParameters, TreeViewEvents } from "../models/index.js";
12
+ export declare class MinimalTreeViewStore<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined, State extends MinimalTreeViewState<R, Multiple> = MinimalTreeViewState<R, Multiple>, Parameters extends MinimalTreeViewParameters<R, Multiple> = MinimalTreeViewParameters<R, Multiple>> extends Store<State> {
13
+ private initialParameters;
14
+ private mapper;
15
+ private eventManager;
16
+ instanceName: string;
17
+ parameters: Parameters;
18
+ timeoutManager: TimeoutManager;
19
+ itemPluginManager: TreeViewItemPluginManager<this>;
20
+ items: TreeViewItemsPlugin<R>;
21
+ focus: TreeViewFocusPlugin;
22
+ expansion: TreeViewExpansionPlugin;
23
+ selection: TreeViewSelectionPlugin<Multiple>;
24
+ keyboardNavigation: TreeViewKeyboardNavigationPlugin;
25
+ constructor(parameters: Parameters, instanceName: string, mapper: TreeViewParametersToStateMapper<R, Multiple, State, Parameters>);
26
+ /**
27
+ * Builds an object containing the method that should be exposed publicly by the Tree View components.
28
+ */
29
+ buildPublicAPI(): {
30
+ setItemSelection: ({
31
+ itemId,
32
+ event,
33
+ keepExistingSelection,
34
+ shouldBeSelected
35
+ }: {
36
+ itemId: string;
37
+ event?: React.SyntheticEvent | null;
38
+ shouldBeSelected?: boolean;
39
+ keepExistingSelection?: boolean;
40
+ }) => void;
41
+ isItemExpanded: (itemId: import("../../index.js").TreeViewItemId) => boolean;
42
+ setItemExpansion: ({
43
+ itemId,
44
+ event,
45
+ shouldBeExpanded
46
+ }: {
47
+ itemId: import("../../index.js").TreeViewItemId;
48
+ event?: React.SyntheticEvent | null;
49
+ shouldBeExpanded?: boolean;
50
+ }) => void;
51
+ focusItem: (event: React.SyntheticEvent | null, itemId: import("../../index.js").TreeViewItemId) => void;
52
+ getItem: (itemId: import("../../index.js").TreeViewItemId) => R;
53
+ getItemDOMElement: (itemId: import("../../index.js").TreeViewItemId) => HTMLElement | null;
54
+ getItemOrderedChildrenIds: (itemId: import("../../index.js").TreeViewItemId | null) => import("../../index.js").TreeViewItemId[];
55
+ getItemTree: () => R[];
56
+ getParentId: (itemId: import("../../index.js").TreeViewItemId) => import("../../index.js").TreeViewItemId | null;
57
+ setIsItemDisabled: ({
58
+ itemId,
59
+ shouldBeDisabled
60
+ }: {
61
+ itemId: import("../../index.js").TreeViewItemId;
62
+ shouldBeDisabled?: boolean;
63
+ }) => void;
64
+ };
65
+ /**
66
+ * Updates the state of the Tree View based on the new parameters provided to the root component.
67
+ */
68
+ updateStateFromParameters(parameters: Parameters): void;
69
+ /**
70
+ * Returns a cleanup function that need to be called when the store is destroyed.
71
+ */
72
+ disposeEffect: () => () => void;
73
+ /**
74
+ * Whether updates based on `props.items` change should be ignored.
75
+ */
76
+ shouldIgnoreItemsStateUpdate: () => boolean;
77
+ /**
78
+ * Registers an effect to be run when the value returned by the selector changes.
79
+ */
80
+ registerStoreEffect: <Value>(selector: (state: State) => Value, effect: (previous: Value, next: Value) => void) => void;
81
+ /**
82
+ * Publishes an event to all its subscribers.
83
+ */
84
+ publishEvent: <E extends TreeViewEvents>(name: E, params: TreeViewEventParameters<E>, event: TreeViewEventEvent<E>) => void;
85
+ /**
86
+ * Subscribe to an event emitted by the store.
87
+ * For now, the subscription is only removed when the store is destroyed.
88
+ */
89
+ subscribeEvent: <E extends TreeViewEvents>(eventName: E, handler: TreeViewEventListener<E>) => void;
90
+ }
@@ -0,0 +1,126 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { Store } from '@mui/x-internals/store';
3
+ import { warnOnce } from '@mui/x-internals/warning';
4
+ import { EventManager } from '@mui/x-internals/EventManager';
5
+ import { createMinimalInitialState, createTreeViewDefaultId, deriveStateFromParameters } from "./MinimalTreeViewStore.utils.js";
6
+ import { TimeoutManager } from "./TimeoutManager.js";
7
+ import { TreeViewKeyboardNavigationPlugin } from "../plugins/keyboardNavigation/index.js";
8
+ import { TreeViewFocusPlugin } from "../plugins/focus/TreeViewFocusPlugin.js";
9
+ import { TreeViewItemsPlugin } from "../plugins/items/TreeViewItemsPlugin.js";
10
+ import { TreeViewSelectionPlugin } from "../plugins/selection/TreeViewSelectionPlugin.js";
11
+ import { TreeViewExpansionPlugin } from "../plugins/expansion/index.js";
12
+ import { TreeViewItemPluginManager } from "./TreeViewItemPluginManager.js";
13
+ export class MinimalTreeViewStore extends Store {
14
+ initialParameters = null;
15
+ eventManager = (() => new EventManager())();
16
+ timeoutManager = (() => new TimeoutManager())();
17
+ itemPluginManager = (() => new TreeViewItemPluginManager())();
18
+ constructor(parameters, instanceName, mapper) {
19
+ const minimalInitialState = createMinimalInitialState(parameters);
20
+ const initialState = mapper.getInitialState(minimalInitialState, parameters);
21
+ super(initialState);
22
+ this.parameters = parameters;
23
+ this.instanceName = instanceName;
24
+ this.mapper = mapper;
25
+
26
+ // We mount the plugins in the constructor to make sure all the methods of the store are available to the plugins during their construction.
27
+ this.items = new TreeViewItemsPlugin(this);
28
+ this.focus = new TreeViewFocusPlugin(this);
29
+ this.expansion = new TreeViewExpansionPlugin(this);
30
+ this.selection = new TreeViewSelectionPlugin(this);
31
+ this.keyboardNavigation = new TreeViewKeyboardNavigationPlugin(this);
32
+ if (process.env.NODE_ENV !== 'production') {
33
+ this.initialParameters = parameters;
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Builds an object containing the method that should be exposed publicly by the Tree View components.
39
+ */
40
+ buildPublicAPI() {
41
+ return _extends({}, this.items.buildPublicAPI(), this.focus.buildPublicAPI(), this.expansion.buildPublicAPI(), this.selection.buildPublicAPI());
42
+ }
43
+
44
+ /**
45
+ * Updates the state of the Tree View based on the new parameters provided to the root component.
46
+ */
47
+ updateStateFromParameters(parameters) {
48
+ const updateModel = (mutableNewState, controlledProp, defaultProp) => {
49
+ if (parameters[controlledProp] !== undefined) {
50
+ mutableNewState[controlledProp] = parameters[controlledProp];
51
+ }
52
+ if (process.env.NODE_ENV !== 'production') {
53
+ const defaultValue = parameters[defaultProp];
54
+ const isControlled = parameters[controlledProp] !== undefined;
55
+ const initialDefaultValue = this.initialParameters?.[defaultProp];
56
+ const initialIsControlled = this.initialParameters?.[controlledProp] !== undefined;
57
+ if (initialIsControlled !== isControlled) {
58
+ warnOnce([`MUI X Tree View: A component is changing the ${initialIsControlled ? '' : 'un'}controlled ${controlledProp} state of ${this.instanceName} to be ${initialIsControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${controlledProp} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'], 'error');
59
+ } else if (JSON.stringify(initialDefaultValue) !== JSON.stringify(defaultValue)) {
60
+ warnOnce([`MUI X Tree View: A component is changing the default ${controlledProp} state of an uncontrolled ${this.instanceName} after being initialized. `, `To suppress this warning opt to use a controlled ${this.instanceName}.`], 'error');
61
+ }
62
+ }
63
+ };
64
+ const newMinimalState = deriveStateFromParameters(parameters);
65
+ updateModel(newMinimalState, 'expandedItems', 'defaultExpandedItems');
66
+ updateModel(newMinimalState, 'selectedItems', 'defaultSelectedItems');
67
+ if (this.state.providedTreeId !== parameters.id || this.state.treeId === undefined) {
68
+ newMinimalState.treeId = createTreeViewDefaultId();
69
+ }
70
+ if (!this.mapper.shouldIgnoreItemsStateUpdate(parameters) && TreeViewItemsPlugin.shouldRebuildItemsState(parameters, this.parameters)) {
71
+ Object.assign(newMinimalState, TreeViewItemsPlugin.buildItemsStateIfNeeded(parameters));
72
+ }
73
+ const newState = this.mapper.updateStateFromParameters(newMinimalState, parameters, updateModel);
74
+ this.update(newState);
75
+ this.parameters = parameters;
76
+ }
77
+
78
+ /**
79
+ * Returns a cleanup function that need to be called when the store is destroyed.
80
+ */
81
+ disposeEffect = () => {
82
+ return this.timeoutManager.clearAll;
83
+ };
84
+
85
+ /**
86
+ * Whether updates based on `props.items` change should be ignored.
87
+ */
88
+ shouldIgnoreItemsStateUpdate = () => {
89
+ return this.mapper.shouldIgnoreItemsStateUpdate(this.parameters);
90
+ };
91
+
92
+ /**
93
+ * Registers an effect to be run when the value returned by the selector changes.
94
+ */
95
+ registerStoreEffect = (selector, effect) => {
96
+ let previousValue = selector(this.state);
97
+ this.subscribe(state => {
98
+ const nextValue = selector(state);
99
+ if (nextValue !== previousValue) {
100
+ effect(previousValue, nextValue);
101
+ previousValue = nextValue;
102
+ }
103
+ });
104
+ };
105
+
106
+ /**
107
+ * Publishes an event to all its subscribers.
108
+ */
109
+ publishEvent = (name, params, event) => {
110
+ if (isSyntheticEvent(event) && event.isPropagationStopped()) {
111
+ return;
112
+ }
113
+ this.eventManager.emit(name, params, event);
114
+ };
115
+
116
+ /**
117
+ * Subscribe to an event emitted by the store.
118
+ * For now, the subscription is only removed when the store is destroyed.
119
+ */
120
+ subscribeEvent = (eventName, handler) => {
121
+ this.eventManager.on(eventName, handler);
122
+ };
123
+ }
124
+ function isSyntheticEvent(event) {
125
+ return event.isPropagationStopped !== undefined;
126
+ }