@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,64 +0,0 @@
1
- import { createSelector } from '@mui/x-internals/store';
2
- import { isItemDisabled, TREE_VIEW_ROOT_PARENT_ID } from "./useTreeViewItems.utils.js";
3
- const EMPTY_CHILDREN = [];
4
- export const itemsSelectors = {
5
- /**
6
- * Gets the DOM structure of the Tree View.
7
- */
8
- domStructure: createSelector(state => state.items.domStructure),
9
- /**
10
- * Checks whether the disabled items are focusable.
11
- */
12
- disabledItemFocusable: createSelector(state => state.items.disabledItemsFocusable),
13
- /**
14
- * Gets the meta-information of all items.
15
- */
16
- itemMetaLookup: createSelector(state => state.items.itemMetaLookup),
17
- /**
18
- * Gets the ordered children ids of all items.
19
- */
20
- itemOrderedChildrenIdsLookup: createSelector(state => state.items.itemOrderedChildrenIdsLookup),
21
- /**
22
- * Gets the meta-information of an item.
23
- */
24
- itemMeta: createSelector((state, itemId) => state.items.itemMetaLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? null),
25
- /**
26
- * Gets the ordered children ids of an item.
27
- */
28
- itemOrderedChildrenIds: createSelector((state, itemId) => state.items.itemOrderedChildrenIdsLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN),
29
- /**
30
- * Gets the model of an item.
31
- */
32
- itemModel: createSelector((state, itemId) => state.items.itemModelLookup[itemId]),
33
- /**
34
- * Checks whether an item is disabled.
35
- */
36
- isItemDisabled: createSelector((state, itemId) => isItemDisabled(state.items.itemMetaLookup, itemId)),
37
- /**
38
- * Gets the index of an item in its parent's children.
39
- */
40
- itemIndex: createSelector((state, itemId) => {
41
- const itemMeta = state.items.itemMetaLookup[itemId];
42
- if (itemMeta == null) {
43
- return -1;
44
- }
45
- const parentIndexes = state.items.itemChildrenIndexesLookup[itemMeta.parentId ?? TREE_VIEW_ROOT_PARENT_ID];
46
- return parentIndexes[itemMeta.id];
47
- }),
48
- /**
49
- * Gets the id of an item's parent.
50
- */
51
- itemParentId: createSelector((state, itemId) => state.items.itemMetaLookup[itemId]?.parentId ?? null),
52
- /**
53
- * Gets the depth of an item (items at the root level have a depth of 0).
54
- */
55
- itemDepth: createSelector((state, itemId) => state.items.itemMetaLookup[itemId]?.depth ?? 0),
56
- /**
57
- * Checks whether an item can be focused.
58
- */
59
- canItemBeFocused: createSelector((state, itemId) => state.items.disabledItemsFocusable || !isItemDisabled(state.items.itemMetaLookup, itemId)),
60
- /**
61
- * Checks whether an item is selectable based on the `isItemSelectionDisabled` prop.
62
- */
63
- isItemSelectable: createSelector((state, itemId) => state.items.itemMetaLookup[itemId]?.selectable ?? true)
64
- };
@@ -1,204 +0,0 @@
1
- import * as React from 'react';
2
- import { DefaultizedProps } from '@mui/x-internals/types';
3
- import { TreeViewItemMeta, TreeViewPluginSignature } from "../../models/index.js";
4
- import { TreeViewBaseItem, TreeViewDefaultItemModelProperties, TreeViewItemId } from "../../../models/index.js";
5
- export type SetItemChildrenParameters<R> = {
6
- items: readonly R[];
7
- parentId: TreeViewItemId | null;
8
- getChildrenCount: (item: R) => number;
9
- };
10
- export interface UseTreeViewItemsPublicAPI<R extends {}> {
11
- /**
12
- * Get the item with the given id.
13
- * When used in the Simple Tree View, it returns an object with the `id` and `label` properties.
14
- * @param {TreeViewItemId} itemId The id of the item to retrieve.
15
- * @returns {R} The item with the given id.
16
- */
17
- getItem: (itemId: TreeViewItemId) => R;
18
- /**
19
- * Get the DOM element of the item with the given id.
20
- * @param {TreeViewItemId} itemId The id of the item to get the DOM element of.
21
- * @returns {HTMLElement | null} The DOM element of the item with the given id.
22
- */
23
- getItemDOMElement: (itemId: TreeViewItemId) => HTMLElement | null;
24
- /**
25
- * Get the ids of a given item's children.
26
- * Those ids are returned in the order they should be rendered.
27
- * To get the root items, pass `null` as the `itemId`.
28
- * @param {TreeViewItemId | null} itemId The id of the item to get the children of.
29
- * @returns {TreeViewItemId[]} The ids of the item's children.
30
- */
31
- getItemOrderedChildrenIds: (itemId: TreeViewItemId | null) => TreeViewItemId[];
32
- /**
33
- * Get all the items in the same format as provided by `props.items`.
34
- * @returns {TreeViewBaseItem[]} The items in the tree.
35
- */
36
- getItemTree: () => TreeViewBaseItem[];
37
- /**
38
- * Toggle the disabled state of the item with the given id.
39
- * @param {object} parameters The params of the method.
40
- * @param {TreeViewItemId } parameters.itemId The id of the item to get the children of.
41
- * @param {boolean } parameters.shouldBeDisabled true if the item should be disabled.
42
- */
43
- setIsItemDisabled: (parameters: {
44
- itemId: TreeViewItemId;
45
- shouldBeDisabled?: boolean;
46
- }) => void;
47
- /** * Get the id of the parent item.
48
- * @param {TreeViewItemId} itemId The id of the item to whose parentId we want to retrieve.
49
- * @returns {TreeViewItemId | null} The id of the parent item.
50
- */
51
- getParentId: (itemId: TreeViewItemId) => TreeViewItemId | null;
52
- }
53
- export interface UseTreeViewItemsInstance<R extends {}> extends Pick<UseTreeViewItemsPublicAPI<R>, 'getItemDOMElement'> {
54
- /**
55
- * Freeze any future update to the state based on the `items` prop.
56
- * This is useful when `useTreeViewJSXItems` is used to avoid having conflicting sources of truth.
57
- */
58
- preventItemUpdates: () => void;
59
- /**
60
- * Check if the updates to the state based on the `items` prop are prevented.
61
- * This is useful when `useTreeViewJSXItems` is used to avoid having conflicting sources of truth.
62
- * @returns {boolean} `true` if the updates to the state based on the `items` prop are prevented.
63
- */
64
- areItemUpdatesPrevented: () => boolean;
65
- /**
66
- * Add an array of items to the tree.
67
- * @param {SetItemChildrenParameters<R>} args The items to add to the tree and information about their ancestors.
68
- */
69
- setItemChildren: (args: SetItemChildrenParameters<R>) => void;
70
- /**
71
- * Remove the children of an item.
72
- * @param {TreeViewItemId | null} parentId The id of the item to remove the children of.
73
- */
74
- removeChildren: (parentId: TreeViewItemId | null) => void;
75
- /**
76
- * Event handler to fire when the `content` slot of a given Tree Item is clicked.
77
- * @param {React.MouseEvent} event The DOM event that triggered the change.
78
- * @param {TreeViewItemId} itemId The id of the item being clicked.
79
- */
80
- handleItemClick: (event: React.MouseEvent, itemId: TreeViewItemId) => void;
81
- /**
82
- * Mark a list of items as expandable.
83
- * @param {TreeViewItemId[]} items The ids of the items to mark as expandable.
84
- */
85
- addExpandableItems: (items: TreeViewItemId[]) => void;
86
- }
87
- export interface UseTreeViewItemsParameters<R extends {
88
- children?: R[];
89
- }> {
90
- /**
91
- * Whether the items should be focusable when disabled.
92
- * @default false
93
- */
94
- disabledItemsFocusable?: boolean;
95
- items: readonly R[];
96
- /**
97
- * Used to determine if a given item should be disabled.
98
- * @template R
99
- * @param {R} item The item to check.
100
- * @returns {boolean} `true` if the item should be disabled.
101
- */
102
- isItemDisabled?: (item: R) => boolean;
103
- /**
104
- * Used to determine if a given item should have selection disabled.
105
- * @template R
106
- * @param {R} item The item to check.
107
- * @returns {boolean} `true` if the item should have selection disabled.
108
- */
109
- isItemSelectionDisabled?: (item: R) => boolean;
110
- /**
111
- * Used to determine the string label for a given item.
112
- *
113
- * @template R
114
- * @param {R} item The item to check.
115
- * @returns {string} The label of the item.
116
- * @default (item) => item.label
117
- */
118
- getItemLabel?: (item: R) => string;
119
- /**
120
- * Used to determine the children of a given item.
121
- *
122
- * @template R
123
- * @param {R} item The item to check.
124
- * @returns {R[]} The children of the item.
125
- * @default (item) => item.children
126
- */
127
- getItemChildren?: (item: R) => R[] | undefined;
128
- /**
129
- * Used to determine the id of a given item.
130
- *
131
- * @template R
132
- * @param {R} item The item to check.
133
- * @returns {TreeViewItemId} The id of the item.
134
- * @default (item) => item.id
135
- */
136
- getItemId?: (item: R) => TreeViewItemId;
137
- /**
138
- * Callback fired when the `content` slot of a given Tree Item is clicked.
139
- * @param {React.MouseEvent} event The DOM event that triggered the change.
140
- * @param {TreeViewItemId} itemId The id of the focused item.
141
- */
142
- onItemClick?: (event: React.MouseEvent, itemId: TreeViewItemId) => void;
143
- /**
144
- * Horizontal indentation between an item and its children.
145
- * Examples: 24, "24px", "2rem", "2em".
146
- * @default 12px
147
- */
148
- itemChildrenIndentation?: string | number;
149
- }
150
- export type UseTreeViewItemsParametersWithDefaults<R extends {
151
- children?: R[];
152
- }> = DefaultizedProps<UseTreeViewItemsParameters<R>, 'disabledItemsFocusable' | 'itemChildrenIndentation'>;
153
- export interface UseTreeViewItemsState<R extends {}> {
154
- items: {
155
- /**
156
- * Whether the items should be focusable when disabled.
157
- * Always equal to `props.disabledItemsFocusable` (or `false` if not provided).
158
- */
159
- disabledItemsFocusable: boolean;
160
- /**
161
- * Model of each item as provided by `props.items` or by imperative items updates.
162
- * It is not updated when properties derived from the model are updated:
163
- * - when the label of an item is updated, `itemMetaLookup` is updated, not `itemModelLookup`.
164
- * - when the children of an item are updated, `itemOrderedChildrenIdsLookup` and `itemChildrenIndexesLookup` are updated, not `itemModelLookup`.
165
- * This means that the `children`, `label` or `id` properties of an item model should never be used directly, always use the structured sub-states instead.
166
- */
167
- itemModelLookup: {
168
- [itemId: string]: TreeViewBaseItem<R>;
169
- };
170
- /**
171
- * Meta data of each item.
172
- */
173
- itemMetaLookup: {
174
- [itemId: string]: TreeViewItemMeta;
175
- };
176
- /**
177
- * Ordered children ids of each item.
178
- */
179
- itemOrderedChildrenIdsLookup: {
180
- [parentItemId: string]: TreeViewItemId[];
181
- };
182
- /**
183
- * Index of each child in the ordered children ids of its parent.
184
- */
185
- itemChildrenIndexesLookup: {
186
- [parentItemId: string]: {
187
- [itemId: string]: number;
188
- };
189
- };
190
- /**
191
- * When equal to 'flat', the tree is rendered as a flat list (children are rendered as siblings of their parents).
192
- * When equal to 'nested', the tree is rendered with nested children (children are rendered inside the groupTransition slot of their children).
193
- * Nested DOM structure is not compatible with collapse / expansion animations.
194
- */
195
- domStructure: 'flat' | 'nested';
196
- };
197
- }
198
- export type UseTreeViewItemsSignature = TreeViewPluginSignature<{
199
- params: UseTreeViewItemsParameters<any>;
200
- paramsWithDefaults: UseTreeViewItemsParametersWithDefaults<any>;
201
- instance: UseTreeViewItemsInstance<any>;
202
- publicAPI: UseTreeViewItemsPublicAPI<any>;
203
- state: UseTreeViewItemsState<TreeViewDefaultItemModelProperties>;
204
- }>;
@@ -1,49 +0,0 @@
1
- import { TreeViewBaseItem, TreeViewItemId } from "../../../models/index.js";
2
- import { TreeViewItemMeta } from "../../models/index.js";
3
- import { UseTreeViewItemsParametersWithDefaults, UseTreeViewItemsState } from "./useTreeViewItems.types.js";
4
- export declare const TREE_VIEW_ROOT_PARENT_ID = "__TREE_VIEW_ROOT_PARENT_ID__";
5
- export declare const buildSiblingIndexes: (siblings: string[]) => {
6
- [itemId: string]: number;
7
- };
8
- /**
9
- * Check if an item is disabled.
10
- * This method should only be used in selectors that are checking if several items are disabled.
11
- * Otherwise, use the `itemsSelector.isItemDisabled` selector.
12
- * @returns
13
- */
14
- export declare const isItemDisabled: (itemMetaLookup: {
15
- [itemId: string]: TreeViewItemMeta;
16
- }, itemId: TreeViewItemId) => boolean;
17
- type State = UseTreeViewItemsState<any>['items'];
18
- export declare function buildItemsState(parameters: BuildItemsStateParameters): State;
19
- interface BuildItemsStateParameters extends Pick<BuildItemsLookupsParameters, 'items' | 'config'> {
20
- disabledItemsFocusable: boolean;
21
- }
22
- export declare function buildItemsLookups(parameters: BuildItemsLookupsParameters): {
23
- metaLookup: {
24
- [itemId: string]: TreeViewItemMeta;
25
- };
26
- modelLookup: {
27
- [itemId: string]: any;
28
- };
29
- orderedChildrenIds: string[];
30
- childrenIndexes: {
31
- [itemId: string]: number;
32
- };
33
- itemsChildren: {
34
- id: string | null;
35
- children: TreeViewBaseItem[];
36
- }[];
37
- };
38
- interface BuildItemsLookupsParameters {
39
- items: readonly TreeViewBaseItem[];
40
- config: BuildItemsLookupConfig;
41
- parentId: string | null;
42
- depth: number;
43
- isItemExpandable: (item: TreeViewBaseItem, children: TreeViewBaseItem[] | undefined) => boolean;
44
- otherItemsMetaLookup: {
45
- [itemId: string]: TreeViewItemMeta;
46
- };
47
- }
48
- export interface BuildItemsLookupConfig extends Pick<UseTreeViewItemsParametersWithDefaults<TreeViewBaseItem>, 'isItemDisabled' | 'isItemSelectionDisabled' | 'getItemLabel' | 'getItemChildren' | 'getItemId'> {}
49
- export {};
@@ -1,2 +0,0 @@
1
- export { useTreeViewJSXItems } from "./useTreeViewJSXItems.js";
2
- export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters, UseTreeViewItemsParametersWithDefaults } from "./useTreeViewJSXItems.types.js";
@@ -1 +0,0 @@
1
- export { useTreeViewJSXItems } from "./useTreeViewJSXItems.js";
@@ -1,2 +0,0 @@
1
- import { TreeViewItemPlugin } from "../../models/index.js";
2
- export declare const useTreeViewJSXItemsItemPlugin: TreeViewItemPlugin;
@@ -1,3 +0,0 @@
1
- import { TreeViewPlugin } from "../../models/index.js";
2
- import { UseTreeViewJSXItemsSignature } from "./useTreeViewJSXItems.types.js";
3
- export declare const useTreeViewJSXItems: TreeViewPlugin<UseTreeViewJSXItemsSignature>;
@@ -1,104 +0,0 @@
1
- 'use client';
2
-
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import * as React from 'react';
5
- import { useStableCallback } from '@base-ui/utils/useStableCallback';
6
- import { TreeViewChildrenItemProvider } from "../../TreeViewProvider/TreeViewChildrenItemProvider.js";
7
- import { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "../useTreeViewItems/useTreeViewItems.utils.js";
8
- import { TreeViewItemDepthContext } from "../../TreeViewItemDepthContext/index.js";
9
- import { useTreeViewJSXItemsItemPlugin } from "./itemPlugin.js";
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- export const useTreeViewJSXItems = ({
12
- instance,
13
- store
14
- }) => {
15
- instance.preventItemUpdates();
16
- const insertJSXItem = useStableCallback(item => {
17
- if (store.state.items.itemMetaLookup[item.id] != null) {
18
- throw new Error(['MUI X: The Tree View component requires all items to have a unique `id` property.', 'Alternatively, you can use the `getItemId` prop to specify a custom id for each item.', `Two items were provided with the same id in the \`items\` prop: "${item.id}"`].join('\n'));
19
- }
20
- store.set('items', _extends({}, store.state.items, {
21
- itemMetaLookup: _extends({}, store.state.items.itemMetaLookup, {
22
- [item.id]: item
23
- }),
24
- // For Simple Tree View, we don't have a proper `item` object, so we create a very basic one.
25
- itemModelLookup: _extends({}, store.state.items.itemModelLookup, {
26
- [item.id]: {
27
- id: item.id,
28
- label: item.label ?? ''
29
- }
30
- })
31
- }));
32
- return () => {
33
- const newItemMetaLookup = _extends({}, store.state.items.itemMetaLookup);
34
- const newItemModelLookup = _extends({}, store.state.items.itemModelLookup);
35
- delete newItemMetaLookup[item.id];
36
- delete newItemModelLookup[item.id];
37
- store.set('items', _extends({}, store.state.items, {
38
- itemMetaLookup: newItemMetaLookup,
39
- itemModelLookup: newItemModelLookup
40
- }));
41
- };
42
- });
43
- const setJSXItemsOrderedChildrenIds = (parentId, orderedChildrenIds) => {
44
- const parentIdWithDefault = parentId ?? TREE_VIEW_ROOT_PARENT_ID;
45
- store.set('items', _extends({}, store.state.items, {
46
- itemOrderedChildrenIdsLookup: _extends({}, store.state.items.itemOrderedChildrenIdsLookup, {
47
- [parentIdWithDefault]: orderedChildrenIds
48
- }),
49
- itemChildrenIndexesLookup: _extends({}, store.state.items.itemChildrenIndexesLookup, {
50
- [parentIdWithDefault]: buildSiblingIndexes(orderedChildrenIds)
51
- })
52
- }));
53
- };
54
- const mapLabelFromJSX = useStableCallback((itemId, label) => {
55
- instance.updateLabelMap(labelMap => {
56
- labelMap[itemId] = label;
57
- return labelMap;
58
- });
59
- return () => {
60
- instance.updateLabelMap(labelMap => {
61
- const newMap = _extends({}, labelMap);
62
- delete newMap[itemId];
63
- return newMap;
64
- });
65
- };
66
- });
67
- return {
68
- instance: {
69
- insertJSXItem,
70
- setJSXItemsOrderedChildrenIds,
71
- mapLabelFromJSX
72
- }
73
- };
74
- };
75
- useTreeViewJSXItems.itemPlugin = useTreeViewJSXItemsItemPlugin;
76
- useTreeViewJSXItems.wrapItem = ({
77
- children,
78
- itemId,
79
- idAttribute
80
- }) => {
81
- // eslint-disable-next-line react-hooks/rules-of-hooks
82
- const depthContext = React.useContext(TreeViewItemDepthContext);
83
- return /*#__PURE__*/_jsx(TreeViewChildrenItemProvider, {
84
- itemId: itemId,
85
- idAttribute: idAttribute,
86
- children: /*#__PURE__*/_jsx(TreeViewItemDepthContext.Provider, {
87
- value: depthContext + 1,
88
- children: children
89
- })
90
- });
91
- };
92
- if (process.env.NODE_ENV !== "production") useTreeViewJSXItems.wrapItem.displayName = "useTreeViewJSXItems.wrapItem";
93
- useTreeViewJSXItems.wrapRoot = ({
94
- children
95
- }) => /*#__PURE__*/_jsx(TreeViewChildrenItemProvider, {
96
- itemId: null,
97
- idAttribute: null,
98
- children: /*#__PURE__*/_jsx(TreeViewItemDepthContext.Provider, {
99
- value: 0,
100
- children: children
101
- })
102
- });
103
- if (process.env.NODE_ENV !== "production") useTreeViewJSXItems.wrapRoot.displayName = "useTreeViewJSXItems.wrapRoot";
104
- useTreeViewJSXItems.params = {};
@@ -1,2 +0,0 @@
1
- export { useTreeViewKeyboardNavigation } from "./useTreeViewKeyboardNavigation.js";
2
- export type { UseTreeViewKeyboardNavigationSignature } from "./useTreeViewKeyboardNavigation.types.js";
@@ -1 +0,0 @@
1
- export { useTreeViewKeyboardNavigation } from "./useTreeViewKeyboardNavigation.js";
@@ -1,3 +0,0 @@
1
- import { TreeViewPlugin } from "../../models/index.js";
2
- import { UseTreeViewKeyboardNavigationSignature } from "./useTreeViewKeyboardNavigation.types.js";
3
- export declare const useTreeViewKeyboardNavigation: TreeViewPlugin<UseTreeViewKeyboardNavigationSignature>;