@mui/x-tree-view 8.0.0-beta.3 → 8.1.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 (427) hide show
  1. package/CHANGELOG.md +388 -96
  2. package/RichTreeView/RichTreeView.js +12 -8
  3. package/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  4. package/RichTreeView/RichTreeView.plugins.js +1 -2
  5. package/RichTreeView/RichTreeView.types.d.ts +4 -3
  6. package/RichTreeView/index.d.ts +1 -1
  7. package/SimpleTreeView/SimpleTreeView.js +13 -10
  8. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  9. package/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  10. package/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  11. package/TreeItem/TreeItem.js +5 -12
  12. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -1
  13. package/TreeItemIcon/TreeItemIcon.js +15 -11
  14. package/TreeItemLabelInput/TreeItemLabelInput.js +1 -2
  15. package/esm/RichTreeView/RichTreeView.js +11 -7
  16. package/esm/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  17. package/esm/RichTreeView/RichTreeView.plugins.js +1 -2
  18. package/esm/RichTreeView/RichTreeView.types.d.ts +4 -3
  19. package/esm/RichTreeView/index.d.ts +1 -1
  20. package/esm/SimpleTreeView/SimpleTreeView.js +12 -9
  21. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  22. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  23. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  24. package/esm/TreeItem/TreeItem.js +5 -12
  25. package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -1
  26. package/esm/TreeItemIcon/TreeItemIcon.js +15 -11
  27. package/esm/TreeItemLabelInput/TreeItemLabelInput.js +1 -2
  28. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  29. package/esm/index.js +1 -1
  30. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  31. package/esm/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  32. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  33. package/esm/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  34. package/esm/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  35. package/esm/internals/hooks/useSelector.js +1 -4
  36. package/esm/internals/index.d.ts +2 -3
  37. package/esm/internals/index.js +1 -1
  38. package/esm/internals/models/events.d.ts +2 -6
  39. package/esm/internals/models/plugin.d.ts +63 -38
  40. package/esm/internals/models/treeView.d.ts +0 -5
  41. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -21
  42. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  43. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +21 -1
  44. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  45. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  46. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -7
  47. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +3 -30
  48. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  49. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  50. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  51. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  52. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  53. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  54. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +31 -0
  55. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  56. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  57. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +12 -2
  58. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  59. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  60. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +39 -40
  61. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  62. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +36 -1
  63. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  64. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  65. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +5 -24
  66. package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  67. package/esm/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  68. package/esm/internals/useTreeView/useTreeView.d.ts +10 -1
  69. package/esm/internals/useTreeView/useTreeView.js +22 -25
  70. package/esm/internals/useTreeView/useTreeView.types.d.ts +1 -3
  71. package/esm/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  72. package/esm/internals/utils/models.d.ts +7 -0
  73. package/esm/internals/utils/models.js +23 -0
  74. package/esm/internals/utils/selectors.d.ts +1 -1
  75. package/esm/utils/cache.d.ts +1 -1
  76. package/esm/utils/cache.js +1 -1
  77. package/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  78. package/index.js +1 -1
  79. package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  80. package/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  81. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  82. package/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  83. package/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  84. package/internals/hooks/useSelector.js +1 -5
  85. package/internals/index.d.ts +2 -3
  86. package/internals/index.js +13 -7
  87. package/internals/models/events.d.ts +2 -6
  88. package/internals/models/plugin.d.ts +63 -38
  89. package/internals/models/treeView.d.ts +0 -5
  90. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +33 -19
  91. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  92. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +22 -2
  93. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  94. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  95. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +1 -9
  96. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -30
  97. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  98. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  99. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  100. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  101. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  102. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  103. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +34 -2
  104. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  105. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  106. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +13 -3
  107. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  108. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  109. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +37 -38
  110. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  111. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +37 -2
  112. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  113. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  114. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +6 -26
  115. package/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  116. package/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  117. package/internals/useTreeView/useTreeView.d.ts +10 -1
  118. package/internals/useTreeView/useTreeView.js +22 -25
  119. package/internals/useTreeView/useTreeView.types.d.ts +1 -3
  120. package/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  121. package/internals/utils/models.d.ts +7 -0
  122. package/internals/utils/models.js +30 -0
  123. package/internals/utils/selectors.d.ts +1 -1
  124. package/package.json +4 -12
  125. package/utils/cache.d.ts +1 -1
  126. package/utils/cache.js +1 -1
  127. package/esm/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  128. package/esm/internals/plugins/useTreeViewIcons/index.js +0 -1
  129. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  130. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  131. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  132. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  133. package/esm/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  134. package/esm/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  135. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  136. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  137. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  138. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  139. package/esm/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  140. package/esm/internals/useTreeView/useTreeViewModels.js +0 -62
  141. package/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  142. package/internals/plugins/useTreeViewIcons/index.js +0 -12
  143. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  144. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -32
  145. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  146. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
  147. package/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  148. package/internals/plugins/useTreeViewItemCustomization/index.js +0 -12
  149. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  150. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -32
  151. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  152. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -5
  153. package/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  154. package/internals/useTreeView/useTreeViewModels.js +0 -71
  155. package/modern/RichTreeView/RichTreeView.d.ts +0 -18
  156. package/modern/RichTreeView/RichTreeView.js +0 -322
  157. package/modern/RichTreeView/RichTreeView.plugins.d.ts +0 -13
  158. package/modern/RichTreeView/RichTreeView.plugins.js +0 -10
  159. package/modern/RichTreeView/RichTreeView.types.d.ts +0 -52
  160. package/modern/RichTreeView/RichTreeView.types.js +0 -1
  161. package/modern/RichTreeView/index.d.ts +0 -5
  162. package/modern/RichTreeView/index.js +0 -3
  163. package/modern/RichTreeView/richTreeViewClasses.d.ts +0 -5
  164. package/modern/RichTreeView/richTreeViewClasses.js +0 -6
  165. package/modern/SimpleTreeView/SimpleTreeView.d.ts +0 -20
  166. package/modern/SimpleTreeView/SimpleTreeView.js +0 -265
  167. package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -12
  168. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +0 -10
  169. package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +0 -51
  170. package/modern/SimpleTreeView/SimpleTreeView.types.js +0 -1
  171. package/modern/SimpleTreeView/index.d.ts +0 -3
  172. package/modern/SimpleTreeView/index.js +0 -3
  173. package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +0 -5
  174. package/modern/SimpleTreeView/simpleTreeViewClasses.js +0 -6
  175. package/modern/TreeItem/TreeItem.d.ts +0 -33
  176. package/modern/TreeItem/TreeItem.js +0 -408
  177. package/modern/TreeItem/TreeItem.types.d.ts +0 -107
  178. package/modern/TreeItem/TreeItem.types.js +0 -1
  179. package/modern/TreeItem/index.d.ts +0 -4
  180. package/modern/TreeItem/index.js +0 -2
  181. package/modern/TreeItem/treeItemClasses.d.ts +0 -55
  182. package/modern/TreeItem/treeItemClasses.js +0 -8
  183. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +0 -7
  184. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -74
  185. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +0 -6
  186. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -1
  187. package/modern/TreeItemDragAndDropOverlay/index.d.ts +0 -2
  188. package/modern/TreeItemDragAndDropOverlay/index.js +0 -1
  189. package/modern/TreeItemIcon/TreeItemIcon.d.ts +0 -7
  190. package/modern/TreeItemIcon/TreeItemIcon.js +0 -74
  191. package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +0 -40
  192. package/modern/TreeItemIcon/TreeItemIcon.types.js +0 -1
  193. package/modern/TreeItemIcon/index.d.ts +0 -2
  194. package/modern/TreeItemIcon/index.js +0 -1
  195. package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +0 -5
  196. package/modern/TreeItemLabelInput/TreeItemLabelInput.js +0 -24
  197. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +0 -14
  198. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -1
  199. package/modern/TreeItemLabelInput/index.d.ts +0 -2
  200. package/modern/TreeItemLabelInput/index.js +0 -1
  201. package/modern/TreeItemProvider/TreeItemProvider.d.ts +0 -7
  202. package/modern/TreeItemProvider/TreeItemProvider.js +0 -45
  203. package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +0 -7
  204. package/modern/TreeItemProvider/TreeItemProvider.types.js +0 -1
  205. package/modern/TreeItemProvider/index.d.ts +0 -2
  206. package/modern/TreeItemProvider/index.js +0 -1
  207. package/modern/hooks/index.d.ts +0 -3
  208. package/modern/hooks/index.js +0 -3
  209. package/modern/hooks/useTreeItemModel.d.ts +0 -2
  210. package/modern/hooks/useTreeItemModel.js +0 -11
  211. package/modern/hooks/useTreeItemUtils/index.d.ts +0 -1
  212. package/modern/hooks/useTreeItemUtils/index.js +0 -1
  213. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +0 -42
  214. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +0 -165
  215. package/modern/hooks/useTreeViewApiRef.d.ts +0 -7
  216. package/modern/hooks/useTreeViewApiRef.js +0 -7
  217. package/modern/icons/icons.d.ts +0 -6
  218. package/modern/icons/icons.js +0 -9
  219. package/modern/icons/index.d.ts +0 -1
  220. package/modern/icons/index.js +0 -1
  221. package/modern/index.d.ts +0 -12
  222. package/modern/index.js +0 -22
  223. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +0 -5
  224. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -5
  225. package/modern/internals/TreeViewItemDepthContext/index.d.ts +0 -1
  226. package/modern/internals/TreeViewItemDepthContext/index.js +0 -1
  227. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +0 -17
  228. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +0 -49
  229. package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +0 -8
  230. package/modern/internals/TreeViewProvider/TreeViewContext.js +0 -15
  231. package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +0 -9
  232. package/modern/internals/TreeViewProvider/TreeViewProvider.js +0 -32
  233. package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +0 -21
  234. package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +0 -1
  235. package/modern/internals/TreeViewProvider/TreeViewStyleContext.d.ts +0 -33
  236. package/modern/internals/TreeViewProvider/TreeViewStyleContext.js +0 -13
  237. package/modern/internals/TreeViewProvider/index.d.ts +0 -3
  238. package/modern/internals/TreeViewProvider/index.js +0 -2
  239. package/modern/internals/components/RichTreeViewItems.d.ts +0 -32
  240. package/modern/internals/components/RichTreeViewItems.js +0 -68
  241. package/modern/internals/corePlugins/corePlugins.d.ts +0 -9
  242. package/modern/internals/corePlugins/corePlugins.js +0 -8
  243. package/modern/internals/corePlugins/index.d.ts +0 -2
  244. package/modern/internals/corePlugins/index.js +0 -1
  245. package/modern/internals/corePlugins/useTreeViewId/index.d.ts +0 -2
  246. package/modern/internals/corePlugins/useTreeViewId/index.js +0 -1
  247. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  248. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -39
  249. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -36
  250. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  251. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  252. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -1
  253. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  254. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  255. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  256. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  257. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  258. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -29
  259. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  260. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -1
  261. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  262. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  263. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  264. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  265. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  266. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -1
  267. package/modern/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  268. package/modern/internals/hooks/useInstanceEventHandler.js +0 -77
  269. package/modern/internals/hooks/useLazyRef.d.ts +0 -1
  270. package/modern/internals/hooks/useLazyRef.js +0 -1
  271. package/modern/internals/hooks/useOnMount.d.ts +0 -1
  272. package/modern/internals/hooks/useOnMount.js +0 -1
  273. package/modern/internals/hooks/useSelector.d.ts +0 -4
  274. package/modern/internals/hooks/useSelector.js +0 -9
  275. package/modern/internals/hooks/useTimeout.d.ts +0 -1
  276. package/modern/internals/hooks/useTimeout.js +0 -1
  277. package/modern/internals/index.d.ts +0 -34
  278. package/modern/internals/index.js +0 -24
  279. package/modern/internals/models/events.d.ts +0 -9
  280. package/modern/internals/models/events.js +0 -1
  281. package/modern/internals/models/helpers.d.ts +0 -7
  282. package/modern/internals/models/helpers.js +0 -1
  283. package/modern/internals/models/index.d.ts +0 -4
  284. package/modern/internals/models/index.js +0 -4
  285. package/modern/internals/models/itemPlugin.d.ts +0 -43
  286. package/modern/internals/models/itemPlugin.js +0 -1
  287. package/modern/internals/models/plugin.d.ts +0 -151
  288. package/modern/internals/models/plugin.js +0 -1
  289. package/modern/internals/models/treeView.d.ts +0 -32
  290. package/modern/internals/models/treeView.js +0 -1
  291. package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +0 -2
  292. package/modern/internals/plugins/useTreeViewExpansion/index.js +0 -1
  293. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  294. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -134
  295. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -184
  296. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -24
  297. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -102
  298. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  299. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -7
  300. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -19
  301. package/modern/internals/plugins/useTreeViewFocus/index.d.ts +0 -2
  302. package/modern/internals/plugins/useTreeViewFocus/index.js +0 -1
  303. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  304. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -135
  305. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -182
  306. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +0 -34
  307. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  308. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  309. package/modern/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  310. package/modern/internals/plugins/useTreeViewIcons/index.js +0 -1
  311. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  312. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  313. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  314. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  315. package/modern/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  316. package/modern/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  317. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  318. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  319. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  320. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  321. package/modern/internals/plugins/useTreeViewItems/index.d.ts +0 -3
  322. package/modern/internals/plugins/useTreeViewItems/index.js +0 -2
  323. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  324. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -325
  325. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -1058
  326. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -113
  327. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -205
  328. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  329. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -4
  330. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -8
  331. package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  332. package/modern/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  333. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  334. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -183
  335. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +0 -35
  336. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  337. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  338. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  339. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  340. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -273
  341. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -30
  342. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  343. package/modern/internals/plugins/useTreeViewLabel/index.d.ts +0 -2
  344. package/modern/internals/plugins/useTreeViewLabel/index.js +0 -1
  345. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  346. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +0 -2
  347. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +0 -72
  348. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -73
  349. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -68
  350. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +0 -24
  351. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -60
  352. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  353. package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -1
  354. package/modern/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  355. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -247
  356. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -27
  357. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -82
  358. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  359. package/modern/internals/plugins/useTreeViewSelection/index.d.ts +0 -2
  360. package/modern/internals/plugins/useTreeViewSelection/index.js +0 -1
  361. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  362. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +0 -2
  363. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +0 -80
  364. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -234
  365. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -363
  366. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -46
  367. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -145
  368. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  369. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -38
  370. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -126
  371. package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -22
  372. package/modern/internals/useTreeView/extractPluginParamsFromProps.js +0 -46
  373. package/modern/internals/useTreeView/index.d.ts +0 -1
  374. package/modern/internals/useTreeView/index.js +0 -1
  375. package/modern/internals/useTreeView/useTreeView.d.ts +0 -9
  376. package/modern/internals/useTreeView/useTreeView.js +0 -114
  377. package/modern/internals/useTreeView/useTreeView.types.d.ts +0 -23
  378. package/modern/internals/useTreeView/useTreeView.types.js +0 -1
  379. package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -18
  380. package/modern/internals/useTreeView/useTreeViewBuildContext.js +0 -101
  381. package/modern/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  382. package/modern/internals/useTreeView/useTreeViewModels.js +0 -62
  383. package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  384. package/modern/internals/useTreeView/useTreeViewPlugins.js +0 -0
  385. package/modern/internals/utils/TreeViewStore.d.ts +0 -12
  386. package/modern/internals/utils/TreeViewStore.js +0 -24
  387. package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  388. package/modern/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  389. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  390. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -18
  391. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  392. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  393. package/modern/internals/utils/plugins.d.ts +0 -2
  394. package/modern/internals/utils/plugins.js +0 -4
  395. package/modern/internals/utils/publishTreeViewEvent.d.ts +0 -5
  396. package/modern/internals/utils/publishTreeViewEvent.js +0 -3
  397. package/modern/internals/utils/selectors.d.ts +0 -16
  398. package/modern/internals/utils/selectors.js +0 -46
  399. package/modern/internals/utils/tree.d.ts +0 -32
  400. package/modern/internals/utils/tree.js +0 -203
  401. package/modern/internals/utils/utils.d.ts +0 -2
  402. package/modern/internals/utils/utils.js +0 -17
  403. package/modern/internals/zero-styled/index.d.ts +0 -3
  404. package/modern/internals/zero-styled/index.js +0 -7
  405. package/modern/models/events.d.ts +0 -4
  406. package/modern/models/events.js +0 -1
  407. package/modern/models/index.d.ts +0 -3
  408. package/modern/models/index.js +0 -5
  409. package/modern/models/items.d.ts +0 -13
  410. package/modern/models/items.js +0 -1
  411. package/modern/package.json +0 -1
  412. package/modern/themeAugmentation/components.d.ts +0 -21
  413. package/modern/themeAugmentation/index.d.ts +0 -3
  414. package/modern/themeAugmentation/index.js +0 -0
  415. package/modern/themeAugmentation/overrides.d.ts +0 -16
  416. package/modern/themeAugmentation/props.d.ts +0 -14
  417. package/modern/useTreeItem/index.d.ts +0 -2
  418. package/modern/useTreeItem/index.js +0 -1
  419. package/modern/useTreeItem/useTreeItem.d.ts +0 -2
  420. package/modern/useTreeItem/useTreeItem.js +0 -282
  421. package/modern/useTreeItem/useTreeItem.types.d.ts +0 -201
  422. package/modern/useTreeItem/useTreeItem.types.js +0 -1
  423. package/modern/utils/cache.d.ts +0 -38
  424. package/modern/utils/cache.js +0 -31
  425. package/modern/utils/index.d.ts +0 -1
  426. package/modern/utils/index.js +0 -1
  427. package/tsconfig.build.tsbuildinfo +0 -1
@@ -1,23 +1,21 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import useEventCallback from '@mui/utils/useEventCallback';
3
3
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
4
- import { selectorIsItemExpandable, selectorIsItemExpanded } from "./useTreeViewExpansion.selectors.js";
5
- import { createExpandedItemsMap, getExpansionTrigger } from "./useTreeViewExpansion.utils.js";
4
+ import { selectorExpandedItems, selectorIsItemExpandable, selectorIsItemExpanded } from "./useTreeViewExpansion.selectors.js";
5
+ import { getExpansionTrigger } from "./useTreeViewExpansion.utils.js";
6
6
  import { selectorItemMeta, selectorItemOrderedChildrenIds } from "../useTreeViewItems/useTreeViewItems.selectors.js";
7
7
  import { publishTreeViewEvent } from "../../utils/publishTreeViewEvent.js";
8
+ import { useAssertModelConsistency } from "../../utils/models.js";
8
9
  export const useTreeViewExpansion = ({
9
10
  instance,
10
11
  store,
11
- params,
12
- models
12
+ params
13
13
  }) => {
14
- useEnhancedEffect(() => {
15
- store.update(prevState => _extends({}, prevState, {
16
- expansion: _extends({}, prevState.expansion, {
17
- expandedItemsMap: createExpandedItemsMap(models.expandedItems.value)
18
- })
19
- }));
20
- }, [store, models.expandedItems.value]);
14
+ useAssertModelConsistency({
15
+ state: 'expandedItems',
16
+ controlled: params.expandedItems,
17
+ defaultValue: params.defaultExpandedItems
18
+ });
21
19
  useEnhancedEffect(() => {
22
20
  store.update(prevState => {
23
21
  const newExpansionTrigger = getExpansionTrigger({
@@ -35,19 +33,26 @@ export const useTreeViewExpansion = ({
35
33
  });
36
34
  }, [store, params.isItemEditable, params.expansionTrigger]);
37
35
  const setExpandedItems = (event, value) => {
36
+ if (params.expandedItems === undefined) {
37
+ store.update(prevState => _extends({}, prevState, {
38
+ expansion: _extends({}, prevState.expansion, {
39
+ expandedItems: value
40
+ })
41
+ }));
42
+ }
38
43
  params.onExpandedItemsChange?.(event, value);
39
- models.expandedItems.setControlledValue(value);
40
44
  };
41
45
  const applyItemExpansion = useEventCallback(({
42
46
  itemId,
43
47
  event,
44
48
  shouldBeExpanded
45
49
  }) => {
50
+ const oldExpanded = selectorExpandedItems(store.value);
46
51
  let newExpanded;
47
52
  if (shouldBeExpanded) {
48
- newExpanded = [itemId].concat(models.expandedItems.value);
53
+ newExpanded = [itemId].concat(oldExpanded);
49
54
  } else {
50
- newExpanded = models.expandedItems.value.filter(id => id !== itemId);
55
+ newExpanded = oldExpanded.filter(id => id !== itemId);
51
56
  }
52
57
  if (params.onItemExpansionToggle) {
53
58
  params.onItemExpansionToggle(event, itemId, shouldBeExpanded);
@@ -87,7 +92,7 @@ export const useTreeViewExpansion = ({
87
92
  }
88
93
  const siblings = selectorItemOrderedChildrenIds(store.value, itemMeta.parentId);
89
94
  const diff = siblings.filter(child => selectorIsItemExpandable(store.value, child) && !selectorIsItemExpanded(store.value, child));
90
- const newExpanded = models.expandedItems.value.concat(diff);
95
+ const newExpanded = selectorExpandedItems(store.value).concat(diff);
91
96
  if (diff.length > 0) {
92
97
  if (params.onItemExpansionToggle) {
93
98
  diff.forEach(newlyExpandedItemId => {
@@ -97,6 +102,20 @@ export const useTreeViewExpansion = ({
97
102
  setExpandedItems(event, newExpanded);
98
103
  }
99
104
  };
105
+
106
+ /**
107
+ * Update the controlled model when the `expandedItems` prop changes.
108
+ */
109
+ useEnhancedEffect(() => {
110
+ const expandedItems = params.expandedItems;
111
+ if (expandedItems !== undefined) {
112
+ store.update(prevState => _extends({}, prevState, {
113
+ expansion: _extends({}, prevState.expansion, {
114
+ expandedItems
115
+ })
116
+ }));
117
+ }
118
+ }, [store, params.expandedItems]);
100
119
  return {
101
120
  publicAPI: {
102
121
  setItemExpansion
@@ -108,11 +127,6 @@ export const useTreeViewExpansion = ({
108
127
  }
109
128
  };
110
129
  };
111
- useTreeViewExpansion.models = {
112
- expandedItems: {
113
- getDefaultValue: params => params.defaultExpandedItems
114
- }
115
- };
116
130
  const DEFAULT_EXPANDED_ITEMS = [];
117
131
  useTreeViewExpansion.getDefaultizedParams = ({
118
132
  params
@@ -121,7 +135,7 @@ useTreeViewExpansion.getDefaultizedParams = ({
121
135
  });
122
136
  useTreeViewExpansion.getInitialState = params => ({
123
137
  expansion: {
124
- expandedItemsMap: createExpandedItemsMap(params.expandedItems === undefined ? params.defaultExpandedItems : params.expandedItems),
138
+ expandedItems: params.expandedItems === undefined ? params.defaultExpandedItems : params.expandedItems,
125
139
  expansionTrigger: getExpansionTrigger(params)
126
140
  }
127
141
  });
@@ -1,29 +1,163 @@
1
1
  import { TreeViewRootSelector } from "../../utils/selectors.js";
2
2
  import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
3
3
  /**
4
- * Check if an item is expanded.
4
+ * Get the expanded items.
5
5
  * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
6
- * @returns {boolean} `true` if the item is expanded, `false` otherwise.
6
+ * @returns {TreeViewItemId[]} The expanded items.
7
7
  */
8
- export declare const selectorIsItemExpanded: ((state: any, itemId: string) => boolean) & {
8
+ export declare const selectorExpandedItems: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewExpansion.types").UseTreeViewExpansionState & Partial<{}> & {
9
+ cacheKey: import("../../models").TreeViewStateCacheKey;
10
+ }) => string[]) & {
9
11
  clearCache: () => void;
10
12
  resultsCount: () => number;
11
13
  resetResultsCount: () => void;
12
14
  } & {
13
15
  resultFunc: (resultFuncArgs_0: {
14
- expandedItemsMap: Map<string, true>;
16
+ expandedItems: string[];
15
17
  expansionTrigger: "content" | "iconContainer";
16
- }, resultFuncArgs_1: string) => boolean;
18
+ }) => string[];
17
19
  memoizedResultFunc: ((resultFuncArgs_0: {
18
- expandedItemsMap: Map<string, true>;
20
+ expandedItems: string[];
19
21
  expansionTrigger: "content" | "iconContainer";
20
- }, resultFuncArgs_1: string) => boolean) & {
22
+ }) => string[]) & {
23
+ clearCache: () => void;
24
+ resultsCount: () => number;
25
+ resetResultsCount: () => void;
26
+ };
27
+ lastResult: () => string[];
28
+ dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>];
29
+ recomputations: () => number;
30
+ resetRecomputations: () => void;
31
+ dependencyRecomputations: () => number;
32
+ resetDependencyRecomputations: () => void;
33
+ } & {
34
+ argsMemoize: typeof import("reselect").weakMapMemoize;
35
+ memoize: typeof import("reselect").weakMapMemoize;
36
+ };
37
+ /**
38
+ * Get the expanded items as a Map.
39
+ * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
40
+ * @returns {TreeViewExpansionValue} The expanded items as a Map.
41
+ */
42
+ export declare const selectorExpandedItemsMap: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewExpansion.types").UseTreeViewExpansionState & Partial<{}> & {
43
+ cacheKey: import("../../models").TreeViewStateCacheKey;
44
+ }) => Map<string, true>) & {
45
+ clearCache: () => void;
46
+ resultsCount: () => number;
47
+ resetResultsCount: () => void;
48
+ } & {
49
+ resultFunc: (resultFuncArgs_0: string[]) => Map<string, true>;
50
+ memoizedResultFunc: ((resultFuncArgs_0: string[]) => Map<string, true>) & {
51
+ clearCache: () => void;
52
+ resultsCount: () => number;
53
+ resetResultsCount: () => void;
54
+ };
55
+ lastResult: () => Map<string, true>;
56
+ dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewExpansion.types").UseTreeViewExpansionState & Partial<{}> & {
57
+ cacheKey: import("../../models").TreeViewStateCacheKey;
58
+ }) => string[]) & {
59
+ clearCache: () => void;
60
+ resultsCount: () => number;
61
+ resetResultsCount: () => void;
62
+ } & {
63
+ resultFunc: (resultFuncArgs_0: {
64
+ expandedItems: string[];
65
+ expansionTrigger: "content" | "iconContainer";
66
+ }) => string[];
67
+ memoizedResultFunc: ((resultFuncArgs_0: {
68
+ expandedItems: string[];
69
+ expansionTrigger: "content" | "iconContainer";
70
+ }) => string[]) & {
71
+ clearCache: () => void;
72
+ resultsCount: () => number;
73
+ resetResultsCount: () => void;
74
+ };
75
+ lastResult: () => string[];
76
+ dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>];
77
+ recomputations: () => number;
78
+ resetRecomputations: () => void;
79
+ dependencyRecomputations: () => number;
80
+ resetDependencyRecomputations: () => void;
81
+ } & {
82
+ argsMemoize: typeof import("reselect").weakMapMemoize;
83
+ memoize: typeof import("reselect").weakMapMemoize;
84
+ }];
85
+ recomputations: () => number;
86
+ resetRecomputations: () => void;
87
+ dependencyRecomputations: () => number;
88
+ resetDependencyRecomputations: () => void;
89
+ } & {
90
+ argsMemoize: typeof import("reselect").weakMapMemoize;
91
+ memoize: typeof import("reselect").weakMapMemoize;
92
+ };
93
+ /**
94
+ * Check if an item is expanded.
95
+ * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
96
+ * @returns {boolean} `true` if the item is expanded, `false` otherwise.
97
+ */
98
+ export declare const selectorIsItemExpanded: ((state: any, itemId: string) => boolean) & {
99
+ clearCache: () => void;
100
+ resultsCount: () => number;
101
+ resetResultsCount: () => void;
102
+ } & {
103
+ resultFunc: (resultFuncArgs_0: Map<string, true>, resultFuncArgs_1: string) => boolean;
104
+ memoizedResultFunc: ((resultFuncArgs_0: Map<string, true>, resultFuncArgs_1: string) => boolean) & {
21
105
  clearCache: () => void;
22
106
  resultsCount: () => number;
23
107
  resetResultsCount: () => void;
24
108
  };
25
109
  lastResult: () => boolean;
26
- dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>, (_: any, itemId: string) => string];
110
+ dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewExpansion.types").UseTreeViewExpansionState & Partial<{}> & {
111
+ cacheKey: import("../../models").TreeViewStateCacheKey;
112
+ }) => Map<string, true>) & {
113
+ clearCache: () => void;
114
+ resultsCount: () => number;
115
+ resetResultsCount: () => void;
116
+ } & {
117
+ resultFunc: (resultFuncArgs_0: string[]) => Map<string, true>;
118
+ memoizedResultFunc: ((resultFuncArgs_0: string[]) => Map<string, true>) & {
119
+ clearCache: () => void;
120
+ resultsCount: () => number;
121
+ resetResultsCount: () => void;
122
+ };
123
+ lastResult: () => Map<string, true>;
124
+ dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewExpansion.types").UseTreeViewExpansionState & Partial<{}> & {
125
+ cacheKey: import("../../models").TreeViewStateCacheKey;
126
+ }) => string[]) & {
127
+ clearCache: () => void;
128
+ resultsCount: () => number;
129
+ resetResultsCount: () => void;
130
+ } & {
131
+ resultFunc: (resultFuncArgs_0: {
132
+ expandedItems: string[];
133
+ expansionTrigger: "content" | "iconContainer";
134
+ }) => string[];
135
+ memoizedResultFunc: ((resultFuncArgs_0: {
136
+ expandedItems: string[];
137
+ expansionTrigger: "content" | "iconContainer";
138
+ }) => string[]) & {
139
+ clearCache: () => void;
140
+ resultsCount: () => number;
141
+ resetResultsCount: () => void;
142
+ };
143
+ lastResult: () => string[];
144
+ dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>];
145
+ recomputations: () => number;
146
+ resetRecomputations: () => void;
147
+ dependencyRecomputations: () => number;
148
+ resetDependencyRecomputations: () => void;
149
+ } & {
150
+ argsMemoize: typeof import("reselect").weakMapMemoize;
151
+ memoize: typeof import("reselect").weakMapMemoize;
152
+ }];
153
+ recomputations: () => number;
154
+ resetRecomputations: () => void;
155
+ dependencyRecomputations: () => number;
156
+ resetDependencyRecomputations: () => void;
157
+ } & {
158
+ argsMemoize: typeof import("reselect").weakMapMemoize;
159
+ memoize: typeof import("reselect").weakMapMemoize;
160
+ }, (_: any, itemId: string) => string];
27
161
  recomputations: () => number;
28
162
  resetRecomputations: () => void;
29
163
  dependencyRecomputations: () => number;
@@ -161,11 +295,11 @@ export declare const selectorItemExpansionTrigger: ((state: import("../../corePl
161
295
  resetResultsCount: () => void;
162
296
  } & {
163
297
  resultFunc: (resultFuncArgs_0: {
164
- expandedItemsMap: Map<string, true>;
298
+ expandedItems: string[];
165
299
  expansionTrigger: "content" | "iconContainer";
166
300
  }) => "content" | "iconContainer";
167
301
  memoizedResultFunc: ((resultFuncArgs_0: {
168
- expandedItemsMap: Map<string, true>;
302
+ expandedItems: string[];
169
303
  expansionTrigger: "content" | "iconContainer";
170
304
  }) => "content" | "iconContainer") & {
171
305
  clearCache: () => void;
@@ -2,12 +2,32 @@ import { createSelector } from "../../utils/selectors.js";
2
2
  import { selectorItemMeta } from "../useTreeViewItems/useTreeViewItems.selectors.js";
3
3
  const selectorExpansion = state => state.expansion;
4
4
 
5
+ /**
6
+ * Get the expanded items.
7
+ * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
8
+ * @returns {TreeViewItemId[]} The expanded items.
9
+ */
10
+ export const selectorExpandedItems = createSelector([selectorExpansion], expansionState => expansionState.expandedItems);
11
+
12
+ /**
13
+ * Get the expanded items as a Map.
14
+ * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
15
+ * @returns {TreeViewExpansionValue} The expanded items as a Map.
16
+ */
17
+ export const selectorExpandedItemsMap = createSelector([selectorExpandedItems], expandedItems => {
18
+ const expandedItemsMap = new Map();
19
+ expandedItems.forEach(id => {
20
+ expandedItemsMap.set(id, true);
21
+ });
22
+ return expandedItemsMap;
23
+ });
24
+
5
25
  /**
6
26
  * Check if an item is expanded.
7
27
  * @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
8
28
  * @returns {boolean} `true` if the item is expanded, `false` otherwise.
9
29
  */
10
- export const selectorIsItemExpanded = createSelector([selectorExpansion, (_, itemId) => itemId], (expansionState, itemId) => expansionState.expandedItemsMap.has(itemId));
30
+ export const selectorIsItemExpanded = createSelector([selectorExpandedItemsMap, (_, itemId) => itemId], (expandedItemsMap, itemId) => expandedItemsMap.has(itemId));
11
31
 
12
32
  /**
13
33
  * Check if an item is expandable.
@@ -74,7 +74,7 @@ export interface UseTreeViewExpansionParameters {
74
74
  export type UseTreeViewExpansionDefaultizedParameters = DefaultizedProps<UseTreeViewExpansionParameters, 'defaultExpandedItems'>;
75
75
  export interface UseTreeViewExpansionState {
76
76
  expansion: {
77
- expandedItemsMap: Map<string, true>;
77
+ expandedItems: string[];
78
78
  expansionTrigger: 'content' | 'iconContainer';
79
79
  };
80
80
  }
@@ -1,6 +1,5 @@
1
1
  import { TreeViewUsedDefaultizedParams } from "../../models/index.js";
2
2
  import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
3
- export declare const createExpandedItemsMap: (expandedItems: string[]) => Map<string, true>;
4
3
  export declare const getExpansionTrigger: ({
5
4
  isItemEditable,
6
5
  expansionTrigger
@@ -1,10 +1,3 @@
1
- export const createExpandedItemsMap = expandedItems => {
2
- const expandedItemsMap = new Map();
3
- expandedItems.forEach(id => {
4
- expandedItemsMap.set(id, true);
5
- });
6
- return expandedItemsMap;
7
- };
8
1
  export const getExpansionTrigger = ({
9
2
  isItemEditable,
10
3
  expansionTrigger
@@ -1,40 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
2
  import useEventCallback from '@mui/utils/useEventCallback';
4
3
  import { useInstanceEventHandler } from "../../hooks/useInstanceEventHandler.js";
5
- import { getFirstNavigableItem } from "../../utils/tree.js";
6
- import { convertSelectedItemsToArray } from "../useTreeViewSelection/useTreeViewSelection.utils.js";
7
4
  import { selectorDefaultFocusableItemId, selectorFocusedItemId } from "./useTreeViewFocus.selectors.js";
8
5
  import { selectorIsItemExpanded } from "../useTreeViewExpansion/useTreeViewExpansion.selectors.js";
9
- import { selectorCanItemBeFocused, selectorItemMeta } from "../useTreeViewItems/useTreeViewItems.selectors.js";
6
+ import { selectorItemMeta } from "../useTreeViewItems/useTreeViewItems.selectors.js";
10
7
  export const useTreeViewFocus = ({
11
8
  instance,
12
9
  params,
13
- store,
14
- models
10
+ store
15
11
  }) => {
16
- React.useEffect(() => {
17
- let defaultFocusableItemId = convertSelectedItemsToArray(models.selectedItems.value).find(itemId => {
18
- if (!selectorCanItemBeFocused(store.value, itemId)) {
19
- return false;
20
- }
21
- const itemMeta = selectorItemMeta(store.value, itemId);
22
- return itemMeta && (itemMeta.parentId == null || selectorIsItemExpanded(store.value, itemMeta.parentId));
23
- });
24
- if (defaultFocusableItemId == null) {
25
- defaultFocusableItemId = getFirstNavigableItem(store.value) ?? null;
26
- }
27
- store.update(prevState => {
28
- if (defaultFocusableItemId === prevState.focus.defaultFocusableItemId) {
29
- return prevState;
30
- }
31
- return _extends({}, prevState, {
32
- focus: _extends({}, prevState.focus, {
33
- defaultFocusableItemId
34
- })
35
- });
36
- });
37
- }, [store, models.selectedItems.value]);
38
12
  const setFocusedItemId = useEventCallback(itemId => {
39
13
  store.update(prevState => {
40
14
  const focusedItemId = selectorFocusedItemId(prevState);
@@ -126,8 +100,7 @@ export const useTreeViewFocus = ({
126
100
  };
127
101
  useTreeViewFocus.getInitialState = () => ({
128
102
  focus: {
129
- focusedItemId: null,
130
- defaultFocusableItemId: null
103
+ focusedItemId: null
131
104
  }
132
105
  });
133
106
  useTreeViewFocus.params = {