@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
@@ -0,0 +1,13 @@
1
+ import { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
2
+ export declare const idSelectors: {
3
+ /**
4
+ * Get the id attribute of the tree view.
5
+ */
6
+ treeId: (state: MinimalTreeViewState<any, any>) => string | undefined;
7
+ /**
8
+ * Generate the id attribute (i.e.: the `id` attribute passed to the DOM element) of a Tree Item.
9
+ * If the user explicitly defined an id attribute, it will be returned.
10
+ * Otherwise, the method creates a unique id for the item based on the Tree View id attribute and the item `itemId`
11
+ */
12
+ treeItemIdAttribute: (args_0: MinimalTreeViewState<any, any>, itemId: string, providedIdAttribute: string | undefined) => string;
13
+ };
@@ -0,0 +1,18 @@
1
+ import { createSelector } from '@mui/x-internals/store';
2
+ export const idSelectors = {
3
+ /**
4
+ * Get the id attribute of the tree view.
5
+ */
6
+ treeId: createSelector(state => state.treeId),
7
+ /**
8
+ * Generate the id attribute (i.e.: the `id` attribute passed to the DOM element) of a Tree Item.
9
+ * If the user explicitly defined an id attribute, it will be returned.
10
+ * Otherwise, the method creates a unique id for the item based on the Tree View id attribute and the item `itemId`
11
+ */
12
+ treeItemIdAttribute: createSelector(state => state.treeId, (treeId, itemId, providedIdAttribute) => {
13
+ if (providedIdAttribute != null) {
14
+ return providedIdAttribute;
15
+ }
16
+ return `${treeId ?? ''}-${itemId}`;
17
+ })
18
+ };
@@ -0,0 +1,105 @@
1
+ import { TreeViewItemId, TreeViewValidItem } from "../../../models/index.js";
2
+ import { MinimalTreeViewParameters } from "../../MinimalTreeViewStore/MinimalTreeViewStore.types.js";
3
+ export declare class TreeViewItemsPlugin<R extends TreeViewValidItem<R>> {
4
+ private store;
5
+ constructor(store: any);
6
+ /**
7
+ * Determines if the items state should be rebuilt based on the new and previous parameters.
8
+ */
9
+ static shouldRebuildItemsState: <R2 extends TreeViewValidItem<R2>>(newParameters: MinimalTreeViewParameters<R2, any>, previousParameters: MinimalTreeViewParameters<R2, any>) => boolean;
10
+ /**
11
+ * Builds the state properties derived from the `items` prop.
12
+ */
13
+ static buildItemsStateIfNeeded: <R2 extends TreeViewValidItem<R2>>(parameters: Pick<MinimalTreeViewParameters<R2, any>, "items" | "isItemDisabled" | "isItemSelectionDisabled" | "getItemId" | "getItemLabel" | "getItemChildren">) => {
14
+ itemMetaLookup: {
15
+ [itemId: string]: import("../../index.js").TreeViewItemMeta;
16
+ };
17
+ itemModelLookup: {
18
+ [itemId: string]: R2;
19
+ };
20
+ itemOrderedChildrenIdsLookup: {
21
+ [parentItemId: string]: string[];
22
+ };
23
+ itemChildrenIndexesLookup: {
24
+ [parentItemId: string]: {
25
+ [itemId: string]: number;
26
+ };
27
+ };
28
+ };
29
+ /**
30
+ * Get the item with the given id.
31
+ * When used in the Simple Tree View, it returns an object with the `id` and `label` properties.
32
+ * @param {TreeViewItemId} itemId The id of the item to retrieve.
33
+ * @returns {R} The item with the given id.
34
+ */
35
+ private getItem;
36
+ /**
37
+ * Get all the items in the same format as provided by `props.items`.
38
+ * @returns {R[]} The items in the tree.
39
+ */
40
+ private getItemTree;
41
+ /**
42
+ * Get the ids of a given item's children.
43
+ * Those ids are returned in the order they should be rendered.
44
+ * To get the root items, pass `null` as the `itemId`.
45
+ * @param {TreeViewItemId | null} itemId The id of the item to get the children of.
46
+ * @returns {TreeViewItemId[]} The ids of the item's children.
47
+ */
48
+ private getItemOrderedChildrenIds;
49
+ /** * Get the id of the parent item.
50
+ * @param {TreeViewItemId} itemId The id of the item to whose parentId we want to retrieve.
51
+ * @returns {TreeViewItemId | null} The id of the parent item.
52
+ */
53
+ private getParentId;
54
+ /**
55
+ * Toggle the disabled state of the item with the given id.
56
+ * @param {object} parameters The params of the method.
57
+ * @param {TreeViewItemId } parameters.itemId The id of the item to get the children of.
58
+ * @param {boolean } parameters.shouldBeDisabled true if the item should be disabled.
59
+ */
60
+ private setIsItemDisabled;
61
+ buildPublicAPI: () => {
62
+ getItem: (itemId: TreeViewItemId) => R;
63
+ getItemDOMElement: (itemId: TreeViewItemId) => HTMLElement | null;
64
+ getItemOrderedChildrenIds: (itemId: TreeViewItemId | null) => TreeViewItemId[];
65
+ getItemTree: () => R[];
66
+ getParentId: (itemId: TreeViewItemId) => TreeViewItemId | null;
67
+ setIsItemDisabled: ({
68
+ itemId,
69
+ shouldBeDisabled
70
+ }: {
71
+ itemId: TreeViewItemId;
72
+ shouldBeDisabled?: boolean;
73
+ }) => void;
74
+ };
75
+ /**
76
+ * Get the DOM element of the item with the given id.
77
+ * @param {TreeViewItemId} itemId The id of the item to get the DOM element of.
78
+ * @returns {HTMLElement | null} The DOM element of the item with the given id.
79
+ */
80
+ getItemDOMElement: (itemId: TreeViewItemId) => HTMLElement | null;
81
+ /**
82
+ * Add an array of items to the tree.
83
+ * @param {SetItemChildrenParameters<R>} args The items to add to the tree and information about their ancestors.
84
+ */
85
+ setItemChildren: ({
86
+ items,
87
+ parentId,
88
+ getChildrenCount
89
+ }: {
90
+ items: readonly R[];
91
+ parentId: TreeViewItemId | null;
92
+ getChildrenCount: (item: R) => number;
93
+ }) => void;
94
+ /**
95
+ * Remove the children of an item.
96
+ * @param {TreeViewItemId | null} parentId The id of the item to remove the children of.
97
+ */
98
+ removeChildren: (parentId: TreeViewItemId | null) => void;
99
+ /**
100
+ * Callback fired when the `content` slot of a given Tree Item is clicked.
101
+ * @param {React.MouseEvent} event The DOM event that triggered the change.
102
+ * @param {TreeViewItemId} itemId The id of the item being clicked.
103
+ */
104
+ handleItemClick: (event: React.MouseEvent, itemId: TreeViewItemId) => void;
105
+ }
@@ -0,0 +1,223 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { idSelectors } from "../id/index.js";
3
+ import { itemsSelectors } from "./selectors.js";
4
+ import { buildItemsLookups, TREE_VIEW_ROOT_PARENT_ID } from "./utils.js";
5
+ export class TreeViewItemsPlugin {
6
+ // We can't type `store`, otherwise we get the following TS error:
7
+ // 'items' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
8
+ constructor(store) {
9
+ this.store = store;
10
+ }
11
+
12
+ /**
13
+ * Determines if the items state should be rebuilt based on the new and previous parameters.
14
+ */
15
+ static shouldRebuildItemsState = (newParameters, previousParameters) => {
16
+ return ['items', 'isItemDisabled', 'isItemSelectionDisabled', 'getItemId', 'getItemLabel', 'getItemChildren'].some(key => {
17
+ const typedKey = key;
18
+ return newParameters[typedKey] !== previousParameters[typedKey];
19
+ });
20
+ };
21
+
22
+ /**
23
+ * Builds the state properties derived from the `items` prop.
24
+ */
25
+ static buildItemsStateIfNeeded = parameters => {
26
+ const itemMetaLookup = {};
27
+ const itemModelLookup = {};
28
+ const itemOrderedChildrenIdsLookup = {};
29
+ const itemChildrenIndexesLookup = {};
30
+ function processSiblings(items, parentId, depth) {
31
+ const parentIdWithDefault = parentId ?? TREE_VIEW_ROOT_PARENT_ID;
32
+ const {
33
+ metaLookup,
34
+ modelLookup,
35
+ orderedChildrenIds,
36
+ childrenIndexes,
37
+ itemsChildren
38
+ } = buildItemsLookups({
39
+ storeParameters: parameters,
40
+ items,
41
+ parentId,
42
+ depth,
43
+ isItemExpandable: (item, children) => !!children && children.length > 0,
44
+ otherItemsMetaLookup: itemMetaLookup
45
+ });
46
+ Object.assign(itemMetaLookup, metaLookup);
47
+ Object.assign(itemModelLookup, modelLookup);
48
+ itemOrderedChildrenIdsLookup[parentIdWithDefault] = orderedChildrenIds;
49
+ itemChildrenIndexesLookup[parentIdWithDefault] = childrenIndexes;
50
+ for (const item of itemsChildren) {
51
+ processSiblings(item.children || [], item.id, depth + 1);
52
+ }
53
+ }
54
+ processSiblings(parameters.items, null, 0);
55
+ return {
56
+ itemMetaLookup,
57
+ itemModelLookup,
58
+ itemOrderedChildrenIdsLookup,
59
+ itemChildrenIndexesLookup
60
+ };
61
+ };
62
+
63
+ /**
64
+ * Get the item with the given id.
65
+ * When used in the Simple Tree View, it returns an object with the `id` and `label` properties.
66
+ * @param {TreeViewItemId} itemId The id of the item to retrieve.
67
+ * @returns {R} The item with the given id.
68
+ */
69
+ getItem = itemId => itemsSelectors.itemModel(this.store.state, itemId);
70
+
71
+ /**
72
+ * Get all the items in the same format as provided by `props.items`.
73
+ * @returns {R[]} The items in the tree.
74
+ */
75
+ getItemTree = () => {
76
+ const getItemFromItemId = itemId => {
77
+ const item = itemsSelectors.itemModel(this.store.state, itemId);
78
+ const itemToMutate = _extends({}, item);
79
+ const newChildren = itemsSelectors.itemOrderedChildrenIds(this.store.state, itemId);
80
+ if (newChildren.length > 0) {
81
+ itemToMutate.children = newChildren.map(getItemFromItemId);
82
+ } else {
83
+ delete itemToMutate.children;
84
+ }
85
+ return itemToMutate;
86
+ };
87
+ return itemsSelectors.itemOrderedChildrenIds(this.store.state, null).map(getItemFromItemId);
88
+ };
89
+
90
+ /**
91
+ * Get the ids of a given item's children.
92
+ * Those ids are returned in the order they should be rendered.
93
+ * To get the root items, pass `null` as the `itemId`.
94
+ * @param {TreeViewItemId | null} itemId The id of the item to get the children of.
95
+ * @returns {TreeViewItemId[]} The ids of the item's children.
96
+ */
97
+ getItemOrderedChildrenIds = itemId => itemsSelectors.itemOrderedChildrenIds(this.store.state, itemId);
98
+
99
+ /** * Get the id of the parent item.
100
+ * @param {TreeViewItemId} itemId The id of the item to whose parentId we want to retrieve.
101
+ * @returns {TreeViewItemId | null} The id of the parent item.
102
+ */
103
+ getParentId = itemId => {
104
+ const itemMeta = itemsSelectors.itemMeta(this.store.state, itemId);
105
+ return itemMeta?.parentId || null;
106
+ };
107
+
108
+ /**
109
+ * Toggle the disabled state of the item with the given id.
110
+ * @param {object} parameters The params of the method.
111
+ * @param {TreeViewItemId } parameters.itemId The id of the item to get the children of.
112
+ * @param {boolean } parameters.shouldBeDisabled true if the item should be disabled.
113
+ */
114
+ setIsItemDisabled = ({
115
+ itemId,
116
+ shouldBeDisabled
117
+ }) => {
118
+ if (!this.store.state.itemMetaLookup[itemId]) {
119
+ return;
120
+ }
121
+ const itemMetaLookup = _extends({}, this.store.state.itemMetaLookup);
122
+ itemMetaLookup[itemId] = _extends({}, itemMetaLookup[itemId], {
123
+ disabled: shouldBeDisabled ?? !itemMetaLookup[itemId].disabled
124
+ });
125
+ this.store.set('itemMetaLookup', itemMetaLookup);
126
+ };
127
+ buildPublicAPI = () => {
128
+ return {
129
+ getItem: this.getItem,
130
+ getItemDOMElement: this.getItemDOMElement,
131
+ getItemOrderedChildrenIds: this.getItemOrderedChildrenIds,
132
+ getItemTree: this.getItemTree,
133
+ getParentId: this.getParentId,
134
+ setIsItemDisabled: this.setIsItemDisabled
135
+ };
136
+ };
137
+
138
+ /**
139
+ * Get the DOM element of the item with the given id.
140
+ * @param {TreeViewItemId} itemId The id of the item to get the DOM element of.
141
+ * @returns {HTMLElement | null} The DOM element of the item with the given id.
142
+ */
143
+ getItemDOMElement = itemId => {
144
+ const itemMeta = itemsSelectors.itemMeta(this.store.state, itemId);
145
+ if (itemMeta == null) {
146
+ return null;
147
+ }
148
+ const idAttribute = idSelectors.treeItemIdAttribute(this.store.state, itemId, itemMeta.idAttribute);
149
+ return document.getElementById(idAttribute);
150
+ };
151
+
152
+ /**
153
+ * Add an array of items to the tree.
154
+ * @param {SetItemChildrenParameters<R>} args The items to add to the tree and information about their ancestors.
155
+ */
156
+ setItemChildren = ({
157
+ items,
158
+ parentId,
159
+ getChildrenCount
160
+ }) => {
161
+ const parentIdWithDefault = parentId ?? TREE_VIEW_ROOT_PARENT_ID;
162
+ const parentDepth = parentId == null ? -1 : itemsSelectors.itemDepth(this.store.state, parentId);
163
+ const {
164
+ metaLookup,
165
+ modelLookup,
166
+ orderedChildrenIds,
167
+ childrenIndexes
168
+ } = buildItemsLookups({
169
+ storeParameters: this.store.parameters,
170
+ items,
171
+ parentId,
172
+ depth: parentDepth + 1,
173
+ isItemExpandable: getChildrenCount ? item => getChildrenCount(item) !== 0 : () => false,
174
+ otherItemsMetaLookup: itemsSelectors.itemMetaLookup(this.store.state)
175
+ });
176
+ this.store.update({
177
+ itemModelLookup: _extends({}, this.store.state.itemModelLookup, modelLookup),
178
+ itemMetaLookup: _extends({}, this.store.state.itemMetaLookup, metaLookup),
179
+ itemOrderedChildrenIdsLookup: _extends({}, this.store.state.itemOrderedChildrenIdsLookup, {
180
+ [parentIdWithDefault]: orderedChildrenIds
181
+ }),
182
+ itemChildrenIndexesLookup: _extends({}, this.store.state.itemChildrenIndexesLookup, {
183
+ [parentIdWithDefault]: childrenIndexes
184
+ })
185
+ });
186
+ };
187
+
188
+ /**
189
+ * Remove the children of an item.
190
+ * @param {TreeViewItemId | null} parentId The id of the item to remove the children of.
191
+ */
192
+ removeChildren = parentId => {
193
+ const itemMetaLookup = this.store.state.itemMetaLookup;
194
+ const newMetaMap = Object.keys(itemMetaLookup).reduce((acc, key) => {
195
+ const item = itemMetaLookup[key];
196
+ if (item.parentId === parentId) {
197
+ return acc;
198
+ }
199
+ return _extends({}, acc, {
200
+ [item.id]: item
201
+ });
202
+ }, {});
203
+ const newItemOrderedChildrenIdsLookup = _extends({}, this.store.state.itemOrderedChildrenIdsLookup);
204
+ const newItemChildrenIndexesLookup = _extends({}, this.store.state.itemChildrenIndexesLookup);
205
+ const cleanId = parentId ?? TREE_VIEW_ROOT_PARENT_ID;
206
+ delete newItemChildrenIndexesLookup[cleanId];
207
+ delete newItemOrderedChildrenIdsLookup[cleanId];
208
+ this.store.update({
209
+ itemMetaLookup: newMetaMap,
210
+ itemOrderedChildrenIdsLookup: newItemOrderedChildrenIdsLookup,
211
+ itemChildrenIndexesLookup: newItemChildrenIndexesLookup
212
+ });
213
+ };
214
+
215
+ /**
216
+ * Callback fired when the `content` slot of a given Tree Item is clicked.
217
+ * @param {React.MouseEvent} event The DOM event that triggered the change.
218
+ * @param {TreeViewItemId} itemId The id of the item being clicked.
219
+ */
220
+ handleItemClick = (event, itemId) => {
221
+ this.store.parameters.onItemClick?.(event, itemId);
222
+ };
223
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./TreeViewItemsPlugin.js";
2
+ export * from "./selectors.js";
3
+ export { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./utils.js";
@@ -0,0 +1,3 @@
1
+ export * from "./TreeViewItemsPlugin.js";
2
+ export * from "./selectors.js";
3
+ export { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./utils.js";
@@ -0,0 +1,60 @@
1
+ import { TreeViewItemMeta } from "../../models/index.js";
2
+ import { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
3
+ export declare const itemsSelectors: {
4
+ /**
5
+ * Gets the DOM structure of the Tree View.
6
+ */
7
+ domStructure: (state: MinimalTreeViewState<any, any>) => "flat" | "nested";
8
+ /**
9
+ * Checks whether the disabled items are focusable.
10
+ */
11
+ disabledItemFocusable: (state: MinimalTreeViewState<any, any>) => boolean;
12
+ /**
13
+ * Gets the meta-information of all items.
14
+ */
15
+ itemMetaLookup: (state: MinimalTreeViewState<any, any>) => {
16
+ [itemId: string]: TreeViewItemMeta;
17
+ };
18
+ /**
19
+ * Gets the ordered children ids of all items.
20
+ */
21
+ itemOrderedChildrenIdsLookup: (state: MinimalTreeViewState<any, any>) => {
22
+ [parentItemId: string]: string[];
23
+ };
24
+ /**
25
+ * Gets the meta-information of an item.
26
+ */
27
+ itemMeta: (state: MinimalTreeViewState<any, any>, itemId: string | null) => TreeViewItemMeta | null;
28
+ /**
29
+ * Gets the ordered children ids of an item.
30
+ */
31
+ itemOrderedChildrenIds: (state: MinimalTreeViewState<any, any>, itemId: string | null) => string[];
32
+ /**
33
+ * Gets the model of an item.
34
+ */
35
+ itemModel: (state: MinimalTreeViewState<any, any>, itemId: string) => any;
36
+ /**
37
+ * Checks whether an item is disabled.
38
+ */
39
+ isItemDisabled: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
40
+ /**
41
+ * Gets the index of an item in its parent's children.
42
+ */
43
+ itemIndex: (state: MinimalTreeViewState<any, any>, itemId: string) => number;
44
+ /**
45
+ * Gets the id of an item's parent.
46
+ */
47
+ itemParentId: (state: MinimalTreeViewState<any, any>, itemId: string) => string | null;
48
+ /**
49
+ * Gets the depth of an item (items at the root level have a depth of 0).
50
+ */
51
+ itemDepth: (state: MinimalTreeViewState<any, any>, itemId: string) => number;
52
+ /**
53
+ * Checks whether an item can be focused.
54
+ */
55
+ canItemBeFocused: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
56
+ /**
57
+ * Gets the identation between an item and its children.
58
+ */
59
+ itemChildrenIndentation: (state: MinimalTreeViewState<any, any>) => string | number;
60
+ };
@@ -0,0 +1,64 @@
1
+ import { createSelector } from '@mui/x-internals/store';
2
+ import { isItemDisabled, TREE_VIEW_ROOT_PARENT_ID } from "./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.domStructure),
9
+ /**
10
+ * Checks whether the disabled items are focusable.
11
+ */
12
+ disabledItemFocusable: createSelector(state => state.disabledItemsFocusable),
13
+ /**
14
+ * Gets the meta-information of all items.
15
+ */
16
+ itemMetaLookup: createSelector(state => state.itemMetaLookup),
17
+ /**
18
+ * Gets the ordered children ids of all items.
19
+ */
20
+ itemOrderedChildrenIdsLookup: createSelector(state => state.itemOrderedChildrenIdsLookup),
21
+ /**
22
+ * Gets the meta-information of an item.
23
+ */
24
+ itemMeta: createSelector((state, itemId) => state.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.itemOrderedChildrenIdsLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN),
29
+ /**
30
+ * Gets the model of an item.
31
+ */
32
+ itemModel: createSelector((state, itemId) => state.itemModelLookup[itemId]),
33
+ /**
34
+ * Checks whether an item is disabled.
35
+ */
36
+ isItemDisabled: createSelector((state, itemId) => isItemDisabled(state.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.itemMetaLookup[itemId];
42
+ if (itemMeta == null) {
43
+ return -1;
44
+ }
45
+ const parentIndexes = state.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.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.itemMetaLookup[itemId]?.depth ?? 0),
56
+ /**
57
+ * Checks whether an item can be focused.
58
+ */
59
+ canItemBeFocused: createSelector((state, itemId) => state.disabledItemsFocusable || !isItemDisabled(state.itemMetaLookup, itemId)),
60
+ /**
61
+ * Gets the identation between an item and its children.
62
+ */
63
+ itemChildrenIndentation: createSelector(state => state.itemChildrenIndentation)
64
+ };
@@ -0,0 +1,43 @@
1
+ import { TreeViewValidItem, TreeViewItemId } from "../../../models/index.js";
2
+ import { TreeViewItemMeta } from "../../models/index.js";
3
+ import type { MinimalTreeViewParameters } from "../../MinimalTreeViewStore/index.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
+ export declare function buildItemsLookups<R extends TreeViewValidItem<R>>(parameters: BuildItemsLookupsParameters<R>): {
18
+ metaLookup: {
19
+ [itemId: string]: TreeViewItemMeta;
20
+ };
21
+ modelLookup: {
22
+ [itemId: string]: R;
23
+ };
24
+ orderedChildrenIds: string[];
25
+ childrenIndexes: {
26
+ [itemId: string]: number;
27
+ };
28
+ itemsChildren: {
29
+ id: string | null;
30
+ children: R[];
31
+ }[];
32
+ };
33
+ interface BuildItemsLookupsParameters<R extends TreeViewValidItem<R>> {
34
+ items: readonly R[];
35
+ storeParameters: Pick<MinimalTreeViewParameters<R, any>, 'getItemId' | 'getItemLabel' | 'getItemChildren' | 'isItemDisabled' | 'isItemSelectionDisabled'>;
36
+ parentId: string | null;
37
+ depth: number;
38
+ isItemExpandable: (item: R, children: R[] | undefined) => boolean;
39
+ otherItemsMetaLookup: {
40
+ [itemId: string]: TreeViewItemMeta;
41
+ };
42
+ }
43
+ export {};
@@ -37,53 +37,9 @@ export const isItemDisabled = (itemMetaLookup, itemId) => {
37
37
  }
38
38
  return false;
39
39
  };
40
- export function buildItemsState(parameters) {
41
- const {
42
- config,
43
- items: itemsParam,
44
- disabledItemsFocusable
45
- } = parameters;
46
- const itemMetaLookup = {};
47
- const itemModelLookup = {};
48
- const itemOrderedChildrenIdsLookup = {};
49
- const itemChildrenIndexesLookup = {};
50
- function processSiblings(items, parentId, depth) {
51
- const parentIdWithDefault = parentId ?? TREE_VIEW_ROOT_PARENT_ID;
52
- const {
53
- metaLookup,
54
- modelLookup,
55
- orderedChildrenIds,
56
- childrenIndexes,
57
- itemsChildren
58
- } = buildItemsLookups({
59
- config,
60
- items,
61
- parentId,
62
- depth,
63
- isItemExpandable: (item, children) => !!children && children.length > 0,
64
- otherItemsMetaLookup: itemMetaLookup
65
- });
66
- Object.assign(itemMetaLookup, metaLookup);
67
- Object.assign(itemModelLookup, modelLookup);
68
- itemOrderedChildrenIdsLookup[parentIdWithDefault] = orderedChildrenIds;
69
- itemChildrenIndexesLookup[parentIdWithDefault] = childrenIndexes;
70
- for (const item of itemsChildren) {
71
- processSiblings(item.children || [], item.id, depth + 1);
72
- }
73
- }
74
- processSiblings(itemsParam, null, 0);
75
- return {
76
- disabledItemsFocusable,
77
- itemMetaLookup,
78
- itemModelLookup,
79
- itemOrderedChildrenIdsLookup,
80
- itemChildrenIndexesLookup,
81
- domStructure: 'nested'
82
- };
83
- }
84
40
  export function buildItemsLookups(parameters) {
85
41
  const {
86
- config,
42
+ storeParameters,
87
43
  items,
88
44
  parentId,
89
45
  depth,
@@ -95,7 +51,7 @@ export function buildItemsLookups(parameters) {
95
51
  const orderedChildrenIds = [];
96
52
  const itemsChildren = [];
97
53
  const processItem = item => {
98
- const id = config.getItemId ? config.getItemId(item) : item.id;
54
+ const id = storeParameters.getItemId ? storeParameters.getItemId(item) : item.id;
99
55
  checkId({
100
56
  id,
101
57
  parentId,
@@ -103,11 +59,11 @@ export function buildItemsLookups(parameters) {
103
59
  itemMetaLookup: otherItemsMetaLookup,
104
60
  siblingsMetaLookup: metaLookup
105
61
  });
106
- const label = config.getItemLabel ? config.getItemLabel(item) : item.label;
62
+ const label = storeParameters.getItemLabel ? storeParameters.getItemLabel(item) : item.label;
107
63
  if (label == null) {
108
64
  throw new Error(['MUI X: The Tree View component requires all items to have a `label` property.', 'Alternatively, you can use the `getItemLabel` prop to specify a custom label for each item.', 'An item was provided without label in the `items` prop:', JSON.stringify(item)].join('\n'));
109
65
  }
110
- const children = (config.getItemChildren ? config.getItemChildren(item) : item.children) || [];
66
+ const children = (storeParameters.getItemChildren ? storeParameters.getItemChildren(item) : item.children) || [];
111
67
  itemsChildren.push({
112
68
  id,
113
69
  children
@@ -119,8 +75,8 @@ export function buildItemsLookups(parameters) {
119
75
  parentId,
120
76
  idAttribute: undefined,
121
77
  expandable: isItemExpandable(item, children),
122
- disabled: config.isItemDisabled ? config.isItemDisabled(item) : false,
123
- selectable: config.isItemSelectionDisabled ? !config.isItemSelectionDisabled(item) : true,
78
+ disabled: storeParameters.isItemDisabled ? storeParameters.isItemDisabled(item) : false,
79
+ selectable: storeParameters.isItemSelectionDisabled ? !storeParameters.isItemSelectionDisabled(item) : true,
124
80
  depth
125
81
  };
126
82
  orderedChildrenIds.push(id);
@@ -1,8 +1,9 @@
1
- import { TreeViewItemMeta, TreeViewPluginSignature } from "../../models/index.js";
2
- import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
3
- import { UseTreeViewKeyboardNavigationSignature } from "../useTreeViewKeyboardNavigation/index.js";
4
1
  import { TreeViewItemId } from "../../../models/index.js";
5
- export interface UseTreeViewItemsInstance {
2
+ import { TreeViewItemMeta } from "../../models/index.js";
3
+ import type { SimpleTreeViewStore } from "../../SimpleTreeViewStore/index.js";
4
+ export declare class TreeViewJSXItemsPlugin {
5
+ private store;
6
+ constructor(store: SimpleTreeViewStore<any>);
6
7
  /**
7
8
  * Insert a new item in the state from a Tree Item component.
8
9
  * @param {TreeViewItemMeta} item The meta-information of the item to insert.
@@ -24,12 +25,4 @@ export interface UseTreeViewItemsInstance {
24
25
  * @param {TreeViewItemId[]} orderedChildrenIds The ids of the item's children.
25
26
  */
26
27
  setJSXItemsOrderedChildrenIds: (parentId: TreeViewItemId | null, orderedChildrenIds: TreeViewItemId[]) => void;
27
- }
28
- export interface UseTreeViewJSXItemsParameters {}
29
- export interface UseTreeViewItemsParametersWithDefaults {}
30
- export type UseTreeViewJSXItemsSignature = TreeViewPluginSignature<{
31
- params: UseTreeViewJSXItemsParameters;
32
- paramsWithDefaults: UseTreeViewItemsParametersWithDefaults;
33
- instance: UseTreeViewItemsInstance;
34
- dependencies: [UseTreeViewItemsSignature, UseTreeViewKeyboardNavigationSignature];
35
- }>;
28
+ }