@mui/x-tree-view 8.22.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 (497) hide show
  1. package/CHANGELOG.md +312 -0
  2. package/RichTreeView/RichTreeView.d.ts +1 -1
  3. package/RichTreeView/RichTreeView.js +41 -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/TreeItem/TreeItem.js +9 -2
  16. package/TreeItemProvider/TreeItemProvider.js +3 -10
  17. package/esm/RichTreeView/RichTreeView.d.ts +1 -1
  18. package/esm/RichTreeView/RichTreeView.js +40 -27
  19. package/esm/RichTreeView/RichTreeView.types.d.ts +6 -4
  20. package/esm/RichTreeView/index.d.ts +1 -3
  21. package/esm/RichTreeView/index.js +1 -1
  22. package/esm/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
  23. package/esm/RichTreeView/useExtractRichTreeViewParameters.js +83 -0
  24. package/esm/SimpleTreeView/SimpleTreeView.d.ts +1 -1
  25. package/esm/SimpleTreeView/SimpleTreeView.js +29 -23
  26. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
  27. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
  28. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.js +70 -0
  29. package/esm/TreeItem/TreeItem.d.ts +1 -1
  30. package/esm/TreeItem/TreeItem.js +9 -2
  31. package/esm/TreeItemProvider/TreeItemProvider.js +3 -10
  32. package/esm/hooks/useApplyPropagationToSelectedItemsOnMount.js +2 -2
  33. package/esm/hooks/useRichTreeViewApiRef.d.ts +2 -2
  34. package/esm/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
  35. package/esm/hooks/useTreeItemModel.d.ts +2 -2
  36. package/esm/hooks/useTreeItemModel.js +1 -1
  37. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
  38. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +26 -35
  39. package/esm/hooks/useTreeViewApiRef.d.ts +3 -5
  40. package/esm/hooks/useTreeViewApiRef.js +4 -3
  41. package/esm/index.d.ts +0 -1
  42. package/esm/index.js +1 -2
  43. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
  44. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +126 -0
  45. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
  46. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
  47. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +49 -0
  48. package/esm/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
  49. package/esm/internals/MinimalTreeViewStore/TimeoutManager.js +39 -0
  50. package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
  51. package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +16 -0
  52. package/esm/internals/MinimalTreeViewStore/index.d.ts +2 -0
  53. package/esm/internals/MinimalTreeViewStore/index.js +2 -0
  54. package/esm/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
  55. package/esm/internals/RichTreeViewStore/RichTreeViewStore.js +21 -0
  56. package/esm/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
  57. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
  58. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.js +15 -0
  59. package/esm/internals/RichTreeViewStore/index.d.ts +3 -0
  60. package/esm/internals/RichTreeViewStore/index.js +3 -0
  61. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
  62. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +18 -0
  63. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
  64. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
  65. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +5 -0
  66. package/esm/internals/SimpleTreeViewStore/index.d.ts +2 -0
  67. package/esm/internals/SimpleTreeViewStore/index.js +2 -0
  68. package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
  69. package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -3
  70. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
  71. package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
  72. package/esm/internals/TreeViewProvider/TreeViewProvider.js +11 -6
  73. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
  74. package/esm/internals/TreeViewProvider/index.d.ts +1 -1
  75. package/esm/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
  76. package/esm/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
  77. package/esm/internals/components/RichTreeViewItems.js +3 -3
  78. package/esm/internals/hooks/useTreeViewRootProps.d.ts +287 -0
  79. package/esm/internals/hooks/useTreeViewRootProps.js +30 -0
  80. package/esm/internals/hooks/useTreeViewStore.d.ts +10 -0
  81. package/esm/internals/hooks/useTreeViewStore.js +19 -0
  82. package/esm/internals/index.d.ts +15 -21
  83. package/esm/internals/index.js +11 -14
  84. package/esm/internals/models/events.d.ts +24 -3
  85. package/esm/internals/models/index.d.ts +2 -3
  86. package/esm/internals/models/index.js +2 -3
  87. package/esm/internals/models/itemPlugin.d.ts +9 -0
  88. package/esm/internals/models/treeView.d.ts +6 -9
  89. package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
  90. package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.js +124 -0
  91. package/esm/internals/plugins/expansion/index.d.ts +2 -0
  92. package/esm/internals/plugins/expansion/index.js +2 -0
  93. package/esm/internals/plugins/expansion/selectors.d.ts +27 -0
  94. package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +5 -5
  95. package/esm/internals/plugins/expansion/utils.d.ts +5 -0
  96. package/esm/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
  97. package/esm/internals/plugins/focus/TreeViewFocusPlugin.js +107 -0
  98. package/esm/internals/plugins/focus/index.d.ts +2 -0
  99. package/esm/internals/plugins/focus/index.js +2 -0
  100. package/esm/internals/plugins/focus/selectors.d.ts +21 -0
  101. package/esm/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +6 -6
  102. package/esm/internals/plugins/id/index.d.ts +1 -0
  103. package/esm/internals/plugins/id/index.js +1 -0
  104. package/esm/internals/plugins/id/selectors.d.ts +13 -0
  105. package/esm/internals/plugins/id/selectors.js +18 -0
  106. package/esm/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
  107. package/esm/internals/plugins/items/TreeViewItemsPlugin.js +223 -0
  108. package/esm/internals/plugins/items/index.d.ts +3 -0
  109. package/esm/internals/plugins/items/index.js +3 -0
  110. package/esm/internals/plugins/items/selectors.d.ts +60 -0
  111. package/esm/internals/plugins/items/selectors.js +64 -0
  112. package/esm/internals/plugins/items/utils.d.ts +43 -0
  113. package/esm/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -49
  114. package/esm/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
  115. package/esm/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +81 -0
  116. package/esm/internals/plugins/jsxItems/index.d.ts +1 -0
  117. package/esm/internals/plugins/jsxItems/index.js +1 -0
  118. package/esm/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
  119. package/esm/internals/plugins/jsxItems/itemPlugin.js +88 -0
  120. package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
  121. package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +306 -0
  122. package/esm/internals/plugins/keyboardNavigation/index.d.ts +1 -0
  123. package/esm/internals/plugins/keyboardNavigation/index.js +1 -0
  124. package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
  125. package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +50 -0
  126. package/esm/internals/plugins/labelEditing/index.d.ts +2 -0
  127. package/esm/internals/plugins/labelEditing/index.js +2 -0
  128. package/{internals/plugins/useTreeViewLabel → esm/internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
  129. package/esm/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +2 -2
  130. package/esm/internals/plugins/labelEditing/selectors.d.ts +15 -0
  131. package/esm/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
  132. package/esm/internals/plugins/lazyLoading/index.d.ts +2 -0
  133. package/esm/internals/plugins/lazyLoading/index.js +2 -0
  134. package/esm/internals/plugins/lazyLoading/selectors.d.ts +19 -0
  135. package/esm/internals/plugins/lazyLoading/selectors.js +25 -0
  136. package/esm/internals/plugins/lazyLoading/types.d.ts +5 -0
  137. package/esm/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
  138. package/esm/internals/plugins/selection/TreeViewSelectionPlugin.js +319 -0
  139. package/esm/internals/plugins/selection/index.d.ts +2 -0
  140. package/esm/internals/plugins/selection/index.js +2 -0
  141. package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
  142. package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +8 -8
  143. package/esm/internals/plugins/selection/selectors.d.ts +48 -0
  144. package/esm/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +19 -9
  145. package/esm/internals/utils/tree.d.ts +8 -10
  146. package/esm/internals/utils/tree.js +2 -2
  147. package/esm/models/items.d.ts +5 -2
  148. package/esm/useTreeItem/useTreeItem.d.ts +18 -2
  149. package/esm/useTreeItem/useTreeItem.js +15 -19
  150. package/esm/useTreeItem/useTreeItem.types.d.ts +9 -19
  151. package/hooks/useApplyPropagationToSelectedItemsOnMount.js +3 -3
  152. package/hooks/useRichTreeViewApiRef.d.ts +2 -2
  153. package/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
  154. package/hooks/useTreeItemModel.d.ts +2 -2
  155. package/hooks/useTreeItemModel.js +2 -2
  156. package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
  157. package/hooks/useTreeItemUtils/useTreeItemUtils.js +41 -49
  158. package/hooks/useTreeViewApiRef.d.ts +3 -5
  159. package/hooks/useTreeViewApiRef.js +3 -5
  160. package/index.d.ts +0 -1
  161. package/index.js +1 -22
  162. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
  163. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +134 -0
  164. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
  165. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
  166. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +58 -0
  167. package/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
  168. package/internals/MinimalTreeViewStore/TimeoutManager.js +46 -0
  169. package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
  170. package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +23 -0
  171. package/internals/MinimalTreeViewStore/index.d.ts +2 -0
  172. package/internals/MinimalTreeViewStore/index.js +27 -0
  173. package/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
  174. package/internals/RichTreeViewStore/RichTreeViewStore.js +30 -0
  175. package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
  176. package/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
  177. package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +22 -0
  178. package/internals/RichTreeViewStore/index.d.ts +3 -0
  179. package/internals/RichTreeViewStore/index.js +38 -0
  180. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
  181. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +26 -0
  182. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
  183. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
  184. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +11 -0
  185. package/internals/SimpleTreeViewStore/index.d.ts +2 -0
  186. package/internals/SimpleTreeViewStore/index.js +27 -0
  187. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
  188. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -4
  189. package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
  190. package/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
  191. package/internals/TreeViewProvider/TreeViewProvider.js +14 -9
  192. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
  193. package/internals/TreeViewProvider/index.d.ts +1 -1
  194. package/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
  195. package/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
  196. package/internals/components/RichTreeViewItems.js +9 -9
  197. package/internals/hooks/useTreeViewRootProps.d.ts +287 -0
  198. package/internals/hooks/useTreeViewRootProps.js +36 -0
  199. package/internals/hooks/useTreeViewStore.d.ts +10 -0
  200. package/internals/hooks/useTreeViewStore.js +26 -0
  201. package/internals/index.d.ts +15 -21
  202. package/internals/index.js +40 -70
  203. package/internals/models/events.d.ts +24 -3
  204. package/internals/models/index.d.ts +2 -3
  205. package/internals/models/index.js +11 -22
  206. package/internals/models/itemPlugin.d.ts +9 -0
  207. package/internals/models/treeView.d.ts +6 -9
  208. package/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
  209. package/internals/plugins/expansion/TreeViewExpansionPlugin.js +132 -0
  210. package/internals/plugins/expansion/index.d.ts +2 -0
  211. package/internals/plugins/expansion/index.js +27 -0
  212. package/internals/plugins/expansion/selectors.d.ts +27 -0
  213. package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +8 -8
  214. package/internals/plugins/expansion/utils.d.ts +5 -0
  215. package/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
  216. package/internals/plugins/focus/TreeViewFocusPlugin.js +114 -0
  217. package/internals/plugins/focus/index.d.ts +2 -0
  218. package/internals/plugins/focus/index.js +27 -0
  219. package/internals/plugins/focus/selectors.d.ts +21 -0
  220. package/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +9 -9
  221. package/internals/plugins/id/index.d.ts +1 -0
  222. package/internals/plugins/id/index.js +16 -0
  223. package/internals/plugins/id/selectors.d.ts +13 -0
  224. package/internals/plugins/id/selectors.js +24 -0
  225. package/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
  226. package/internals/plugins/items/TreeViewItemsPlugin.js +231 -0
  227. package/internals/plugins/items/index.d.ts +3 -0
  228. package/internals/plugins/items/index.js +46 -0
  229. package/internals/plugins/items/selectors.d.ts +60 -0
  230. package/internals/plugins/{useTreeViewItems/useTreeViewItems.selectors.js → items/selectors.js} +18 -14
  231. package/internals/plugins/items/utils.d.ts +43 -0
  232. package/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -50
  233. package/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
  234. package/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +89 -0
  235. package/internals/plugins/jsxItems/index.d.ts +1 -0
  236. package/internals/plugins/jsxItems/index.js +16 -0
  237. package/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
  238. package/internals/plugins/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +35 -20
  239. package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
  240. package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +313 -0
  241. package/internals/plugins/keyboardNavigation/index.d.ts +1 -0
  242. package/internals/plugins/keyboardNavigation/index.js +16 -0
  243. package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
  244. package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +58 -0
  245. package/internals/plugins/labelEditing/index.d.ts +2 -0
  246. package/internals/plugins/labelEditing/index.js +27 -0
  247. package/{esm/internals/plugins/useTreeViewLabel → internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
  248. package/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +6 -6
  249. package/internals/plugins/labelEditing/selectors.d.ts +15 -0
  250. package/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
  251. package/internals/plugins/lazyLoading/index.d.ts +2 -0
  252. package/internals/plugins/lazyLoading/index.js +27 -0
  253. package/internals/plugins/lazyLoading/selectors.d.ts +19 -0
  254. package/internals/plugins/{useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js → lazyLoading/selectors.js} +11 -6
  255. package/internals/plugins/lazyLoading/types.d.ts +5 -0
  256. package/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
  257. package/internals/plugins/selection/TreeViewSelectionPlugin.js +327 -0
  258. package/internals/plugins/selection/index.d.ts +2 -0
  259. package/internals/plugins/selection/index.js +27 -0
  260. package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
  261. package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +16 -16
  262. package/internals/plugins/selection/selectors.d.ts +48 -0
  263. package/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +19 -9
  264. package/internals/utils/tree.d.ts +8 -10
  265. package/internals/utils/tree.js +33 -33
  266. package/models/items.d.ts +5 -2
  267. package/package.json +3 -3
  268. package/useTreeItem/useTreeItem.d.ts +18 -2
  269. package/useTreeItem/useTreeItem.js +19 -24
  270. package/useTreeItem/useTreeItem.types.d.ts +9 -19
  271. package/RichTreeView/RichTreeView.plugins.d.ts +0 -10
  272. package/RichTreeView/RichTreeView.plugins.js +0 -15
  273. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
  274. package/SimpleTreeView/SimpleTreeView.plugins.js +0 -15
  275. package/esm/RichTreeView/RichTreeView.plugins.d.ts +0 -10
  276. package/esm/RichTreeView/RichTreeView.plugins.js +0 -9
  277. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
  278. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +0 -9
  279. package/esm/internals/corePlugins/corePlugins.d.ts +0 -9
  280. package/esm/internals/corePlugins/corePlugins.js +0 -8
  281. package/esm/internals/corePlugins/index.d.ts +0 -2
  282. package/esm/internals/corePlugins/index.js +0 -1
  283. package/esm/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
  284. package/esm/internals/corePlugins/useTreeViewId/index.js +0 -2
  285. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  286. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -38
  287. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
  288. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  289. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  290. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  291. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  292. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  293. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  294. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  295. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -31
  296. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  297. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  298. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  299. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  300. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  301. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  302. package/esm/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  303. package/esm/internals/hooks/useInstanceEventHandler.js +0 -79
  304. package/esm/internals/models/helpers.d.ts +0 -7
  305. package/esm/internals/models/plugin.d.ts +0 -166
  306. package/esm/internals/models/plugin.js +0 -1
  307. package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
  308. package/esm/internals/plugins/useTreeViewExpansion/index.js +0 -2
  309. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  310. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -149
  311. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
  312. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
  313. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  314. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
  315. package/esm/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
  316. package/esm/internals/plugins/useTreeViewFocus/index.js +0 -2
  317. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  318. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -113
  319. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
  320. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  321. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  322. package/esm/internals/plugins/useTreeViewItems/index.d.ts +0 -4
  323. package/esm/internals/plugins/useTreeViewItems/index.js +0 -3
  324. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  325. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -218
  326. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -56
  327. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -60
  328. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -197
  329. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  330. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
  331. package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  332. package/esm/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  333. package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
  334. package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.js +0 -74
  335. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  336. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -104
  337. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  338. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  339. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  340. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  341. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -305
  342. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
  343. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  344. package/esm/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
  345. package/esm/internals/plugins/useTreeViewLabel/index.js +0 -2
  346. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  347. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -70
  348. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
  349. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
  350. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  351. package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
  352. package/esm/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  353. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
  354. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -20
  355. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
  356. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  357. package/esm/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
  358. package/esm/internals/plugins/useTreeViewSelection/index.js +0 -2
  359. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  360. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -230
  361. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -40
  362. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
  363. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  364. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
  365. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -107
  366. package/esm/internals/useTreeView/index.d.ts +0 -1
  367. package/esm/internals/useTreeView/index.js +0 -1
  368. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
  369. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -51
  370. package/esm/internals/useTreeView/useTreeView.d.ts +0 -18
  371. package/esm/internals/useTreeView/useTreeView.js +0 -102
  372. package/esm/internals/useTreeView/useTreeView.types.d.ts +0 -20
  373. package/esm/internals/useTreeView/useTreeView.types.js +0 -1
  374. package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
  375. package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  376. package/esm/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  377. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  378. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -14
  379. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  380. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  381. package/esm/internals/utils/plugins.d.ts +0 -2
  382. package/esm/internals/utils/plugins.js +0 -4
  383. package/esm/internals/utils/publishTreeViewEvent.d.ts +0 -5
  384. package/esm/internals/utils/publishTreeViewEvent.js +0 -3
  385. package/internals/corePlugins/corePlugins.d.ts +0 -9
  386. package/internals/corePlugins/corePlugins.js +0 -14
  387. package/internals/corePlugins/index.d.ts +0 -2
  388. package/internals/corePlugins/index.js +0 -12
  389. package/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
  390. package/internals/corePlugins/useTreeViewId/index.js +0 -19
  391. package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  392. package/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -46
  393. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
  394. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
  395. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  396. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  397. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -34
  398. package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  399. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
  400. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  401. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -38
  402. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  403. package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  404. package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
  405. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  406. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
  407. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  408. package/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  409. package/internals/hooks/useInstanceEventHandler.js +0 -87
  410. package/internals/models/helpers.d.ts +0 -7
  411. package/internals/models/plugin.d.ts +0 -166
  412. package/internals/models/plugin.js +0 -5
  413. package/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
  414. package/internals/plugins/useTreeViewExpansion/index.js +0 -19
  415. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  416. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -157
  417. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
  418. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
  419. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
  420. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
  421. package/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
  422. package/internals/plugins/useTreeViewFocus/index.js +0 -19
  423. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  424. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -121
  425. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
  426. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  427. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
  428. package/internals/plugins/useTreeViewItems/index.d.ts +0 -4
  429. package/internals/plugins/useTreeViewItems/index.js +0 -32
  430. package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  431. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -226
  432. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -56
  433. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -197
  434. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
  435. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
  436. package/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  437. package/internals/plugins/useTreeViewJSXItems/index.js +0 -12
  438. package/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
  439. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  440. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -112
  441. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
  442. package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  443. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
  444. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  445. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -312
  446. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
  447. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
  448. package/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
  449. package/internals/plugins/useTreeViewLabel/index.js +0 -19
  450. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  451. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -78
  452. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
  453. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
  454. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
  455. package/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
  456. package/internals/plugins/useTreeViewLazyLoading/index.js +0 -12
  457. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
  458. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
  459. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -5
  460. package/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
  461. package/internals/plugins/useTreeViewSelection/index.js +0 -19
  462. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  463. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -239
  464. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -40
  465. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
  466. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
  467. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
  468. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -116
  469. package/internals/useTreeView/index.d.ts +0 -1
  470. package/internals/useTreeView/index.js +0 -12
  471. package/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
  472. package/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -60
  473. package/internals/useTreeView/useTreeView.d.ts +0 -18
  474. package/internals/useTreeView/useTreeView.js +0 -112
  475. package/internals/useTreeView/useTreeView.types.d.ts +0 -20
  476. package/internals/useTreeView/useTreeView.types.js +0 -5
  477. package/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
  478. package/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  479. package/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
  480. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  481. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -21
  482. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  483. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -45
  484. package/internals/utils/plugins.d.ts +0 -2
  485. package/internals/utils/plugins.js +0 -11
  486. package/internals/utils/publishTreeViewEvent.d.ts +0 -5
  487. package/internals/utils/publishTreeViewEvent.js +0 -10
  488. /package/esm/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
  489. /package/esm/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
  490. /package/esm/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
  491. /package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
  492. /package/esm/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
  493. /package/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
  494. /package/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
  495. /package/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
  496. /package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
  497. /package/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
@@ -1,10 +1,8 @@
1
- import { TreeViewState } from "../models/index.js";
2
- import type { UseTreeViewExpansionSignature } from "../plugins/useTreeViewExpansion/index.js";
3
- import type { UseTreeViewItemsSignature } from "../plugins/useTreeViewItems/index.js";
4
- export declare const getPreviousNavigableItem: (state: TreeViewState<[UseTreeViewItemsSignature, UseTreeViewExpansionSignature]>, itemId: string) => string | null;
5
- export declare const getNextNavigableItem: (state: TreeViewState<[UseTreeViewItemsSignature, UseTreeViewExpansionSignature]>, itemId: string) => string | null;
6
- export declare const getLastNavigableItem: (state: TreeViewState<[UseTreeViewExpansionSignature, UseTreeViewItemsSignature]>) => string;
7
- export declare const getFirstNavigableItem: (state: TreeViewState<[UseTreeViewExpansionSignature, UseTreeViewItemsSignature]>) => string;
1
+ import { MinimalTreeViewState } from "../MinimalTreeViewStore/index.js";
2
+ export declare const getPreviousNavigableItem: (state: MinimalTreeViewState<any, any>, itemId: string) => string | null;
3
+ export declare const getNextNavigableItem: (state: MinimalTreeViewState<any, any>, itemId: string) => string | null;
4
+ export declare const getLastNavigableItem: (state: MinimalTreeViewState<any, any>) => string;
5
+ export declare const getFirstNavigableItem: (state: MinimalTreeViewState<any, any>) => string;
8
6
  /**
9
7
  * This is used to determine the start and end of a selection range so
10
8
  * we can get the items between the two border items.
@@ -19,9 +17,9 @@ export declare const getFirstNavigableItem: (state: TreeViewState<[UseTreeViewEx
19
17
  * Another way to put it is which item is shallower in a trémaux tree
20
18
  * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree
21
19
  */
22
- export declare const findOrderInTremauxTree: (state: TreeViewState<[UseTreeViewExpansionSignature, UseTreeViewItemsSignature]>, itemAId: string, itemBId: string) => string[];
23
- export declare const getNonDisabledItemsInRange: (state: TreeViewState<[UseTreeViewItemsSignature, UseTreeViewExpansionSignature]>, itemAId: string, itemBId: string) => string[];
24
- export declare const getAllNavigableItems: (state: TreeViewState<[UseTreeViewItemsSignature, UseTreeViewExpansionSignature]>) => string[];
20
+ export declare const findOrderInTremauxTree: (state: MinimalTreeViewState<any, any>, itemAId: string, itemBId: string) => string[];
21
+ export declare const getNonDisabledItemsInRange: (state: MinimalTreeViewState<any, any>, itemAId: string, itemBId: string) => string[];
22
+ export declare const getAllNavigableItems: (state: MinimalTreeViewState<any, any>) => string[];
25
23
  /**
26
24
  * Checks if the target is in a descendant of this item.
27
25
  * This can prevent from firing some logic on the ancestors on the interacted item when the event handler is on the root.
@@ -1,5 +1,5 @@
1
- import { expansionSelectors } from "../plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
2
- import { itemsSelectors } from "../plugins/useTreeViewItems/useTreeViewItems.selectors.js";
1
+ import { expansionSelectors } from "../plugins/expansion/selectors.js";
2
+ import { itemsSelectors } from "../plugins/items/selectors.js";
3
3
  const getLastNavigableItemInArray = (state, items) => {
4
4
  // Equivalent to Array.prototype.findLastIndex
5
5
  let itemIndex = items.length - 1;
@@ -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 {};
@@ -4,17 +4,19 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import { useStore } from '@mui/x-internals/store';
6
6
  import extractEventHandlers from '@mui/utils/extractEventHandlers';
7
- import { useMergedRefs } from '@base-ui-components/utils/useMergedRefs';
7
+ import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
8
8
  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.
@@ -18,6 +11,11 @@ export interface UseTreeItemParameters {
18
11
  * @default false
19
12
  */
20
13
  disabled?: boolean;
14
+ /**
15
+ * If `true`, the item cannot be selected.
16
+ * @default false
17
+ */
18
+ disableSelection?: boolean;
21
19
  /**
22
20
  * The id of the item.
23
21
  * Must be unique.
@@ -110,7 +108,7 @@ export interface UseTreeItemStatus {
110
108
  loading: boolean;
111
109
  error: boolean;
112
110
  }
113
- export interface UseTreeItemReturnValue<TSignatures extends UseTreeItemMinimalPlugins, TOptionalSignatures extends UseTreeItemOptionalPlugins> {
111
+ export interface UseTreeItemReturnValue<TStore extends TreeViewAnyStore> {
114
112
  /**
115
113
  * Resolver for the context provider's props.
116
114
  * @returns {UseTreeItemContextProviderProps} Props that should be spread on the context provider slot.
@@ -190,13 +188,5 @@ export interface UseTreeItemReturnValue<TSignatures extends UseTreeItemMinimalPl
190
188
  /**
191
189
  * The object the allows Tree View manipulation.
192
190
  */
193
- publicAPI: TreeViewPublicAPI<TSignatures, TOptionalSignatures>;
194
- }
195
- /**
196
- * Plugins that need to be present in the Tree View in order for `UseTreeItem` to work correctly.
197
- */
198
- export type UseTreeItemMinimalPlugins = readonly [UseTreeViewSelectionSignature, UseTreeViewExpansionSignature, UseTreeViewItemsSignature, UseTreeViewFocusSignature, UseTreeViewKeyboardNavigationSignature, UseTreeViewLabelSignature];
199
- /**
200
- * Plugins that `UseTreeItem` can use if they are present, but are not required.
201
- */
202
- export type UseTreeItemOptionalPlugins = readonly [UseTreeViewLazyLoadingSignature];
191
+ publicAPI: TreeViewPublicAPI<TStore>;
192
+ }
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useApplyPropagationToSelectedItemsOnMount = useApplyPropagationToSelectedItemsOnMount;
7
- var _useRefWithInit = require("@base-ui-components/utils/useRefWithInit");
8
- var _useTreeViewSelection = require("../internals/plugins/useTreeViewSelection/useTreeViewSelection.utils");
7
+ var _useRefWithInit = require("@base-ui/utils/useRefWithInit");
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 (status.disabled) {
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
- * @deprecated Use `useRichTreeViewApiRef`, `useRichTreeViewProApiRef` or `useSimpleTreeViewApiRef` instead.
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
- * @deprecated Use `useRichTreeViewApiRef`, `useRichTreeViewProApiRef` or `useSimpleTreeViewApiRef` instead.
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";