@mui/x-tree-view 8.0.0-beta.2 → 8.0.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 (421) hide show
  1. package/CHANGELOG.md +423 -96
  2. package/RichTreeView/RichTreeView.js +11 -6
  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 +12 -8
  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/TreeItemIcon/TreeItemIcon.js +15 -11
  12. package/esm/RichTreeView/RichTreeView.js +10 -5
  13. package/esm/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  14. package/esm/RichTreeView/RichTreeView.plugins.js +1 -2
  15. package/esm/RichTreeView/RichTreeView.types.d.ts +4 -3
  16. package/esm/RichTreeView/index.d.ts +1 -1
  17. package/esm/SimpleTreeView/SimpleTreeView.js +11 -7
  18. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  19. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  20. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  21. package/esm/TreeItemIcon/TreeItemIcon.js +15 -11
  22. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  23. package/esm/index.js +1 -1
  24. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  25. package/esm/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  26. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  27. package/esm/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  28. package/esm/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  29. package/esm/internals/hooks/useSelector.js +1 -4
  30. package/esm/internals/index.d.ts +2 -3
  31. package/esm/internals/index.js +1 -1
  32. package/esm/internals/models/events.d.ts +2 -6
  33. package/esm/internals/models/plugin.d.ts +63 -38
  34. package/esm/internals/models/treeView.d.ts +0 -5
  35. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -21
  36. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  37. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +21 -1
  38. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  39. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  40. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -7
  41. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +3 -30
  42. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  43. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  44. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  45. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  46. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  47. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  48. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +31 -0
  49. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  50. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  51. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +12 -2
  52. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  53. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  54. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +39 -40
  55. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  56. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +36 -1
  57. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  58. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  59. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +5 -24
  60. package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  61. package/esm/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  62. package/esm/internals/useTreeView/useTreeView.d.ts +10 -1
  63. package/esm/internals/useTreeView/useTreeView.js +22 -25
  64. package/esm/internals/useTreeView/useTreeView.types.d.ts +1 -3
  65. package/esm/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  66. package/esm/internals/utils/models.d.ts +7 -0
  67. package/esm/internals/utils/models.js +23 -0
  68. package/esm/internals/utils/selectors.d.ts +1 -1
  69. package/esm/utils/cache.d.ts +1 -1
  70. package/esm/utils/cache.js +1 -1
  71. package/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  72. package/index.js +1 -1
  73. package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  74. package/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  75. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  76. package/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  77. package/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  78. package/internals/hooks/useSelector.js +1 -5
  79. package/internals/index.d.ts +2 -3
  80. package/internals/index.js +13 -7
  81. package/internals/models/events.d.ts +2 -6
  82. package/internals/models/plugin.d.ts +63 -38
  83. package/internals/models/treeView.d.ts +0 -5
  84. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +33 -19
  85. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  86. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +22 -2
  87. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  88. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  89. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +1 -9
  90. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -30
  91. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  92. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  93. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  94. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  95. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  96. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  97. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +34 -2
  98. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  99. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  100. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +13 -3
  101. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  102. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  103. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +37 -38
  104. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  105. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +37 -2
  106. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  107. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  108. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +6 -26
  109. package/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  110. package/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  111. package/internals/useTreeView/useTreeView.d.ts +10 -1
  112. package/internals/useTreeView/useTreeView.js +22 -25
  113. package/internals/useTreeView/useTreeView.types.d.ts +1 -3
  114. package/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  115. package/internals/utils/models.d.ts +7 -0
  116. package/internals/utils/models.js +30 -0
  117. package/internals/utils/selectors.d.ts +1 -1
  118. package/package.json +7 -15
  119. package/utils/cache.d.ts +1 -1
  120. package/utils/cache.js +1 -1
  121. package/esm/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  122. package/esm/internals/plugins/useTreeViewIcons/index.js +0 -1
  123. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  124. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  125. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  126. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  127. package/esm/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  128. package/esm/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  129. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  130. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  131. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  132. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  133. package/esm/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  134. package/esm/internals/useTreeView/useTreeViewModels.js +0 -62
  135. package/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  136. package/internals/plugins/useTreeViewIcons/index.js +0 -12
  137. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  138. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -32
  139. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  140. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
  141. package/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  142. package/internals/plugins/useTreeViewItemCustomization/index.js +0 -12
  143. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  144. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -32
  145. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  146. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -5
  147. package/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  148. package/internals/useTreeView/useTreeViewModels.js +0 -71
  149. package/modern/RichTreeView/RichTreeView.d.ts +0 -18
  150. package/modern/RichTreeView/RichTreeView.js +0 -322
  151. package/modern/RichTreeView/RichTreeView.plugins.d.ts +0 -13
  152. package/modern/RichTreeView/RichTreeView.plugins.js +0 -10
  153. package/modern/RichTreeView/RichTreeView.types.d.ts +0 -52
  154. package/modern/RichTreeView/RichTreeView.types.js +0 -1
  155. package/modern/RichTreeView/index.d.ts +0 -5
  156. package/modern/RichTreeView/index.js +0 -3
  157. package/modern/RichTreeView/richTreeViewClasses.d.ts +0 -5
  158. package/modern/RichTreeView/richTreeViewClasses.js +0 -6
  159. package/modern/SimpleTreeView/SimpleTreeView.d.ts +0 -20
  160. package/modern/SimpleTreeView/SimpleTreeView.js +0 -265
  161. package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -12
  162. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +0 -10
  163. package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +0 -51
  164. package/modern/SimpleTreeView/SimpleTreeView.types.js +0 -1
  165. package/modern/SimpleTreeView/index.d.ts +0 -3
  166. package/modern/SimpleTreeView/index.js +0 -3
  167. package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +0 -5
  168. package/modern/SimpleTreeView/simpleTreeViewClasses.js +0 -6
  169. package/modern/TreeItem/TreeItem.d.ts +0 -33
  170. package/modern/TreeItem/TreeItem.js +0 -408
  171. package/modern/TreeItem/TreeItem.types.d.ts +0 -107
  172. package/modern/TreeItem/TreeItem.types.js +0 -1
  173. package/modern/TreeItem/index.d.ts +0 -4
  174. package/modern/TreeItem/index.js +0 -2
  175. package/modern/TreeItem/treeItemClasses.d.ts +0 -55
  176. package/modern/TreeItem/treeItemClasses.js +0 -8
  177. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +0 -7
  178. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -74
  179. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +0 -6
  180. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -1
  181. package/modern/TreeItemDragAndDropOverlay/index.d.ts +0 -2
  182. package/modern/TreeItemDragAndDropOverlay/index.js +0 -1
  183. package/modern/TreeItemIcon/TreeItemIcon.d.ts +0 -7
  184. package/modern/TreeItemIcon/TreeItemIcon.js +0 -74
  185. package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +0 -40
  186. package/modern/TreeItemIcon/TreeItemIcon.types.js +0 -1
  187. package/modern/TreeItemIcon/index.d.ts +0 -2
  188. package/modern/TreeItemIcon/index.js +0 -1
  189. package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +0 -5
  190. package/modern/TreeItemLabelInput/TreeItemLabelInput.js +0 -24
  191. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +0 -14
  192. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -1
  193. package/modern/TreeItemLabelInput/index.d.ts +0 -2
  194. package/modern/TreeItemLabelInput/index.js +0 -1
  195. package/modern/TreeItemProvider/TreeItemProvider.d.ts +0 -7
  196. package/modern/TreeItemProvider/TreeItemProvider.js +0 -45
  197. package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +0 -7
  198. package/modern/TreeItemProvider/TreeItemProvider.types.js +0 -1
  199. package/modern/TreeItemProvider/index.d.ts +0 -2
  200. package/modern/TreeItemProvider/index.js +0 -1
  201. package/modern/hooks/index.d.ts +0 -3
  202. package/modern/hooks/index.js +0 -3
  203. package/modern/hooks/useTreeItemModel.d.ts +0 -2
  204. package/modern/hooks/useTreeItemModel.js +0 -11
  205. package/modern/hooks/useTreeItemUtils/index.d.ts +0 -1
  206. package/modern/hooks/useTreeItemUtils/index.js +0 -1
  207. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +0 -42
  208. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +0 -165
  209. package/modern/hooks/useTreeViewApiRef.d.ts +0 -7
  210. package/modern/hooks/useTreeViewApiRef.js +0 -7
  211. package/modern/icons/icons.d.ts +0 -6
  212. package/modern/icons/icons.js +0 -9
  213. package/modern/icons/index.d.ts +0 -1
  214. package/modern/icons/index.js +0 -1
  215. package/modern/index.d.ts +0 -12
  216. package/modern/index.js +0 -22
  217. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +0 -5
  218. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -5
  219. package/modern/internals/TreeViewItemDepthContext/index.d.ts +0 -1
  220. package/modern/internals/TreeViewItemDepthContext/index.js +0 -1
  221. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +0 -17
  222. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +0 -49
  223. package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +0 -8
  224. package/modern/internals/TreeViewProvider/TreeViewContext.js +0 -15
  225. package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +0 -9
  226. package/modern/internals/TreeViewProvider/TreeViewProvider.js +0 -32
  227. package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +0 -21
  228. package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +0 -1
  229. package/modern/internals/TreeViewProvider/TreeViewStyleContext.d.ts +0 -33
  230. package/modern/internals/TreeViewProvider/TreeViewStyleContext.js +0 -13
  231. package/modern/internals/TreeViewProvider/index.d.ts +0 -3
  232. package/modern/internals/TreeViewProvider/index.js +0 -2
  233. package/modern/internals/components/RichTreeViewItems.d.ts +0 -32
  234. package/modern/internals/components/RichTreeViewItems.js +0 -68
  235. package/modern/internals/corePlugins/corePlugins.d.ts +0 -9
  236. package/modern/internals/corePlugins/corePlugins.js +0 -8
  237. package/modern/internals/corePlugins/index.d.ts +0 -2
  238. package/modern/internals/corePlugins/index.js +0 -1
  239. package/modern/internals/corePlugins/useTreeViewId/index.d.ts +0 -2
  240. package/modern/internals/corePlugins/useTreeViewId/index.js +0 -1
  241. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  242. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -39
  243. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -36
  244. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  245. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  246. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -1
  247. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  248. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  249. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  250. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  251. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  252. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -29
  253. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  254. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -1
  255. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  256. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  257. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  258. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  259. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  260. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -1
  261. package/modern/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  262. package/modern/internals/hooks/useInstanceEventHandler.js +0 -77
  263. package/modern/internals/hooks/useLazyRef.d.ts +0 -1
  264. package/modern/internals/hooks/useLazyRef.js +0 -1
  265. package/modern/internals/hooks/useOnMount.d.ts +0 -1
  266. package/modern/internals/hooks/useOnMount.js +0 -1
  267. package/modern/internals/hooks/useSelector.d.ts +0 -4
  268. package/modern/internals/hooks/useSelector.js +0 -9
  269. package/modern/internals/hooks/useTimeout.d.ts +0 -1
  270. package/modern/internals/hooks/useTimeout.js +0 -1
  271. package/modern/internals/index.d.ts +0 -34
  272. package/modern/internals/index.js +0 -24
  273. package/modern/internals/models/events.d.ts +0 -9
  274. package/modern/internals/models/events.js +0 -1
  275. package/modern/internals/models/helpers.d.ts +0 -7
  276. package/modern/internals/models/helpers.js +0 -1
  277. package/modern/internals/models/index.d.ts +0 -4
  278. package/modern/internals/models/index.js +0 -4
  279. package/modern/internals/models/itemPlugin.d.ts +0 -43
  280. package/modern/internals/models/itemPlugin.js +0 -1
  281. package/modern/internals/models/plugin.d.ts +0 -151
  282. package/modern/internals/models/plugin.js +0 -1
  283. package/modern/internals/models/treeView.d.ts +0 -32
  284. package/modern/internals/models/treeView.js +0 -1
  285. package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +0 -2
  286. package/modern/internals/plugins/useTreeViewExpansion/index.js +0 -1
  287. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  288. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -134
  289. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -184
  290. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -24
  291. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -102
  292. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  293. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -7
  294. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -19
  295. package/modern/internals/plugins/useTreeViewFocus/index.d.ts +0 -2
  296. package/modern/internals/plugins/useTreeViewFocus/index.js +0 -1
  297. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  298. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -135
  299. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -182
  300. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +0 -34
  301. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  302. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  303. package/modern/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  304. package/modern/internals/plugins/useTreeViewIcons/index.js +0 -1
  305. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  306. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  307. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  308. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  309. package/modern/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  310. package/modern/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  311. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  312. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  313. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  314. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  315. package/modern/internals/plugins/useTreeViewItems/index.d.ts +0 -3
  316. package/modern/internals/plugins/useTreeViewItems/index.js +0 -2
  317. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  318. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -325
  319. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -1058
  320. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -113
  321. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -205
  322. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  323. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -4
  324. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -8
  325. package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  326. package/modern/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  327. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  328. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -183
  329. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +0 -35
  330. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  331. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  332. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  333. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  334. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -273
  335. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -30
  336. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  337. package/modern/internals/plugins/useTreeViewLabel/index.d.ts +0 -2
  338. package/modern/internals/plugins/useTreeViewLabel/index.js +0 -1
  339. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  340. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +0 -2
  341. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +0 -72
  342. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -73
  343. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -68
  344. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +0 -24
  345. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -60
  346. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  347. package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -1
  348. package/modern/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  349. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -247
  350. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -27
  351. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -82
  352. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  353. package/modern/internals/plugins/useTreeViewSelection/index.d.ts +0 -2
  354. package/modern/internals/plugins/useTreeViewSelection/index.js +0 -1
  355. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  356. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +0 -2
  357. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +0 -80
  358. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -234
  359. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -363
  360. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -46
  361. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -145
  362. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  363. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -38
  364. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -126
  365. package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -22
  366. package/modern/internals/useTreeView/extractPluginParamsFromProps.js +0 -46
  367. package/modern/internals/useTreeView/index.d.ts +0 -1
  368. package/modern/internals/useTreeView/index.js +0 -1
  369. package/modern/internals/useTreeView/useTreeView.d.ts +0 -9
  370. package/modern/internals/useTreeView/useTreeView.js +0 -114
  371. package/modern/internals/useTreeView/useTreeView.types.d.ts +0 -23
  372. package/modern/internals/useTreeView/useTreeView.types.js +0 -1
  373. package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -18
  374. package/modern/internals/useTreeView/useTreeViewBuildContext.js +0 -101
  375. package/modern/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  376. package/modern/internals/useTreeView/useTreeViewModels.js +0 -62
  377. package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  378. package/modern/internals/useTreeView/useTreeViewPlugins.js +0 -0
  379. package/modern/internals/utils/TreeViewStore.d.ts +0 -12
  380. package/modern/internals/utils/TreeViewStore.js +0 -24
  381. package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  382. package/modern/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  383. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  384. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -18
  385. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  386. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  387. package/modern/internals/utils/plugins.d.ts +0 -2
  388. package/modern/internals/utils/plugins.js +0 -4
  389. package/modern/internals/utils/publishTreeViewEvent.d.ts +0 -5
  390. package/modern/internals/utils/publishTreeViewEvent.js +0 -3
  391. package/modern/internals/utils/selectors.d.ts +0 -16
  392. package/modern/internals/utils/selectors.js +0 -46
  393. package/modern/internals/utils/tree.d.ts +0 -32
  394. package/modern/internals/utils/tree.js +0 -203
  395. package/modern/internals/utils/utils.d.ts +0 -2
  396. package/modern/internals/utils/utils.js +0 -17
  397. package/modern/internals/zero-styled/index.d.ts +0 -3
  398. package/modern/internals/zero-styled/index.js +0 -7
  399. package/modern/models/events.d.ts +0 -4
  400. package/modern/models/events.js +0 -1
  401. package/modern/models/index.d.ts +0 -3
  402. package/modern/models/index.js +0 -5
  403. package/modern/models/items.d.ts +0 -13
  404. package/modern/models/items.js +0 -1
  405. package/modern/package.json +0 -1
  406. package/modern/themeAugmentation/components.d.ts +0 -21
  407. package/modern/themeAugmentation/index.d.ts +0 -3
  408. package/modern/themeAugmentation/index.js +0 -0
  409. package/modern/themeAugmentation/overrides.d.ts +0 -16
  410. package/modern/themeAugmentation/props.d.ts +0 -14
  411. package/modern/useTreeItem/index.d.ts +0 -2
  412. package/modern/useTreeItem/index.js +0 -1
  413. package/modern/useTreeItem/useTreeItem.d.ts +0 -2
  414. package/modern/useTreeItem/useTreeItem.js +0 -282
  415. package/modern/useTreeItem/useTreeItem.types.d.ts +0 -201
  416. package/modern/useTreeItem/useTreeItem.types.js +0 -1
  417. package/modern/utils/cache.d.ts +0 -38
  418. package/modern/utils/cache.js +0 -31
  419. package/modern/utils/index.d.ts +0 -1
  420. package/modern/utils/index.js +0 -1
  421. package/tsconfig.build.tsbuildinfo +0 -1
@@ -1,11 +1,10 @@
1
1
  import * as React from 'react';
2
- import { MergeSignaturesProperty, TreeItemWrapper, TreeRootWrapper, TreeViewAnyPluginSignature, TreeViewInstance, TreeViewItemPluginResponse, TreeViewPublicAPI } from "../models/index.js";
2
+ import { TreeItemWrapper, TreeRootWrapper, TreeViewAnyPluginSignature, TreeViewInstance, TreeViewItemPluginResponse, TreeViewPublicAPI } from "../models/index.js";
3
3
  import { TreeViewStore } from "../utils/TreeViewStore.js";
4
- import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
5
4
  import type { TreeItemProps } from '../../TreeItem/TreeItem.types';
6
- import { TreeViewClasses } from "./TreeViewStyleContext.js";
5
+ import { TreeViewClasses, TreeViewSlotProps, TreeViewSlots } from "./TreeViewStyleContext.js";
7
6
  export type TreeViewItemPluginsRunner = (props: TreeItemProps) => Required<TreeViewItemPluginResponse>;
8
- export type TreeViewContextValue<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'contextValue'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'contextValue'>> & {
7
+ export interface TreeViewContextValue<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> {
9
8
  instance: TreeViewInstance<TSignatures, TOptionalSignatures>;
10
9
  publicAPI: TreeViewPublicAPI<TSignatures, TOptionalSignatures>;
11
10
  store: TreeViewStore<TSignatures>;
@@ -13,9 +12,11 @@ export type TreeViewContextValue<TSignatures extends readonly TreeViewAnyPluginS
13
12
  wrapItem: TreeItemWrapper<TSignatures>;
14
13
  wrapRoot: TreeRootWrapper;
15
14
  runItemPlugins: TreeViewItemPluginsRunner;
16
- };
15
+ }
17
16
  export interface TreeViewProviderProps<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
18
17
  contextValue: TreeViewContextValue<TSignatures>;
19
18
  children: React.ReactNode;
20
19
  classes: Partial<TreeViewClasses> | undefined;
20
+ slots: TreeViewSlots | undefined;
21
+ slotProps: TreeViewSlotProps | undefined;
21
22
  }
@@ -1,3 +1,4 @@
1
+ import { SlotComponentProps } from '@mui/utils/types';
1
2
  import * as React from 'react';
2
3
  export interface TreeViewClasses {
3
4
  /** Styles applied to the root element. */
@@ -23,8 +24,30 @@ export interface TreeViewClasses {
23
24
  /** Styles applied to the item's loading icon element */
24
25
  itemLoadingIcon: string;
25
26
  }
27
+ export interface TreeViewSlots {
28
+ /**
29
+ * The default icon used to collapse the item.
30
+ */
31
+ collapseIcon?: React.ElementType;
32
+ /**
33
+ * The default icon used to expand the item.
34
+ */
35
+ expandIcon?: React.ElementType;
36
+ /**
37
+ * The default icon displayed next to an end item.
38
+ * This is applied to all Tree Items and can be overridden by the TreeItem `icon` slot prop.
39
+ */
40
+ endIcon?: React.ElementType;
41
+ }
42
+ export interface TreeViewSlotProps {
43
+ collapseIcon?: SlotComponentProps<'svg', {}, {}>;
44
+ expandIcon?: SlotComponentProps<'svg', {}, {}>;
45
+ endIcon?: SlotComponentProps<'svg', {}, {}>;
46
+ }
26
47
  export interface TreeViewStyleContextValue {
27
48
  classes: Partial<TreeViewClasses>;
49
+ slots: TreeViewSlots;
50
+ slotProps: TreeViewSlotProps;
28
51
  }
29
52
  /**
30
53
  * @ignore - internal component.
@@ -3,7 +3,9 @@ import * as React from 'react';
3
3
  * @ignore - internal component.
4
4
  */
5
5
  export const TreeViewStyleContext = /*#__PURE__*/React.createContext({
6
- classes: {}
6
+ classes: {},
7
+ slots: {},
8
+ slotProps: {}
7
9
  });
8
10
  if (process.env.NODE_ENV !== 'production') {
9
11
  TreeViewStyleContext.displayName = 'TreeViewStyleContext';
@@ -1,7 +1,4 @@
1
- // use-sync-external-store has no exports field defined
2
- // See https://github.com/facebook/react/issues/30698
3
- // eslint-disable-next-line import/extensions
4
- import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector.js';
1
+ import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector';
5
2
  const defaultCompare = Object.is;
6
3
  export const useSelector = (store, selector, args = undefined, equals = defaultCompare) => {
7
4
  const selectorWithArgs = state => selector(state, args);
@@ -14,12 +14,11 @@ export { useTreeViewFocus } from "./plugins/useTreeViewFocus/index.js";
14
14
  export type { UseTreeViewFocusSignature, UseTreeViewFocusParameters } from './plugins/useTreeViewFocus';
15
15
  export { useTreeViewKeyboardNavigation } from "./plugins/useTreeViewKeyboardNavigation/index.js";
16
16
  export type { UseTreeViewKeyboardNavigationSignature } from './plugins/useTreeViewKeyboardNavigation';
17
- export { useTreeViewIcons } from "./plugins/useTreeViewIcons/index.js";
18
- export type { UseTreeViewIconsSignature, UseTreeViewIconsParameters } from './plugins/useTreeViewIcons';
19
17
  export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./plugins/useTreeViewItems/index.js";
20
18
  export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
21
19
  export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsState } from './plugins/useTreeViewItems';
22
20
  export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
21
+ export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited as selectorIsAnItemEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
23
22
  export type { UseTreeViewLabelSignature, UseTreeViewLabelParameters } from './plugins/useTreeViewLabel';
24
23
  export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
25
24
  export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
@@ -31,4 +30,4 @@ export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters } from
31
30
  export { createSelector } from "./utils/selectors.js";
32
31
  export { isTargetInDescendants } from "./utils/tree.js";
33
32
  export { TreeViewStore } from "./utils/TreeViewStore.js";
34
- export type { TreeViewClasses } from './TreeViewProvider/TreeViewStyleContext';
33
+ export type { TreeViewClasses, TreeViewSlots, TreeViewSlotProps } from './TreeViewProvider/TreeViewStyleContext';
@@ -11,10 +11,10 @@ export { useTreeViewExpansion } from "./plugins/useTreeViewExpansion/index.js";
11
11
  export { useTreeViewSelection } from "./plugins/useTreeViewSelection/index.js";
12
12
  export { useTreeViewFocus } from "./plugins/useTreeViewFocus/index.js";
13
13
  export { useTreeViewKeyboardNavigation } from "./plugins/useTreeViewKeyboardNavigation/index.js";
14
- export { useTreeViewIcons } from "./plugins/useTreeViewIcons/index.js";
15
14
  export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./plugins/useTreeViewItems/index.js";
16
15
  export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
17
16
  export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
17
+ export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited as selectorIsAnItemEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
18
18
  export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
19
19
  export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
20
20
  export { selectorDataSourceState, selectorGetTreeItemError } from "./plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js";
@@ -1,9 +1,5 @@
1
- import * as React from 'react';
1
+ import { MuiEvent } from '@mui/x-internals/types';
2
2
  export interface TreeViewEventLookupElement {
3
3
  params: object;
4
4
  }
5
- export type TreeViewEventListener<E extends TreeViewEventLookupElement> = (params: E['params'], event: MuiEvent<{}>) => void;
6
- export type MuiBaseEvent = React.SyntheticEvent<HTMLElement> | DocumentEventMap[keyof DocumentEventMap] | {};
7
- export type MuiEvent<E extends MuiBaseEvent = MuiBaseEvent> = E & {
8
- defaultMuiPrevented?: boolean;
9
- };
5
+ export type TreeViewEventListener<E extends TreeViewEventLookupElement> = (params: E['params'], event: MuiEvent<{}>) => void;
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { EventHandlers } from '@mui/utils/types';
3
- import { TreeViewExperimentalFeatures, TreeViewInstance, TreeViewModel } from "./treeView.js";
3
+ import { TreeViewExperimentalFeatures, TreeViewInstance } from "./treeView.js";
4
4
  import type { MergeSignaturesProperty, OptionalIfEmpty } from './helpers';
5
5
  import { TreeViewEventLookupElement } from "./events.js";
6
6
  import type { TreeViewCorePluginSignatures } from '../corePlugins';
@@ -8,22 +8,31 @@ import { TreeViewItemPlugin } from "./itemPlugin.js";
8
8
  import { TreeViewItemId } from "../../models/index.js";
9
9
  import { TreeViewStore } from "../utils/TreeViewStore.js";
10
10
  export interface TreeViewPluginOptions<TSignature extends TreeViewAnyPluginSignature> {
11
+ /**
12
+ * An imperative API available for internal use. Used to access methods from other plugins.
13
+ */
11
14
  instance: TreeViewUsedInstance<TSignature>;
15
+ /**
16
+ * The Tree View parameters after being processed with the default values.
17
+ */
12
18
  params: TreeViewUsedDefaultizedParams<TSignature>;
13
- slots: TSignature['slots'];
14
- slotProps: TSignature['slotProps'];
15
19
  experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
16
- models: TreeViewUsedModels<TSignature>;
20
+ /**
21
+ * The store that can be used to access the state of other plugins.
22
+ */
17
23
  store: TreeViewUsedStore<TSignature>;
24
+ /**
25
+ * Reference to the root element.
26
+ */
18
27
  rootRef: React.RefObject<HTMLUListElement | null>;
28
+ /**
29
+ * All the plugins that are used in the tree-view.
30
+ */
19
31
  plugins: TreeViewPlugin<TreeViewAnyPluginSignature>[];
20
32
  }
21
- type TreeViewModelsInitializer<TSignature extends TreeViewAnyPluginSignature> = { [TControlled in keyof TSignature['models']]: {
22
- getDefaultValue: (params: TSignature['defaultizedParams']) => Exclude<TSignature['defaultizedParams'][TControlled], undefined>;
23
- } };
24
33
  type TreeViewResponse<TSignature extends TreeViewAnyPluginSignature> = {
25
34
  getRootProps?: <TOther extends EventHandlers = {}>(otherHandlers: TOther) => React.HTMLAttributes<HTMLUListElement>;
26
- } & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']> & OptionalIfEmpty<'contextValue', TSignature['contextValue']>;
35
+ } & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']>;
27
36
  export type TreeViewPluginSignature<T extends {
28
37
  params?: {};
29
38
  defaultizedParams?: {};
@@ -31,61 +40,61 @@ export type TreeViewPluginSignature<T extends {
31
40
  publicAPI?: {};
32
41
  events?: { [key in keyof T['events']]: TreeViewEventLookupElement };
33
42
  state?: {};
34
- cache?: {};
35
- contextValue?: {};
36
- slots?: { [key in keyof T['slots']]: React.ElementType };
37
- slotProps?: { [key in keyof T['slotProps']]: {} | (() => {}) };
38
- modelNames?: keyof T['defaultizedParams'];
39
43
  experimentalFeatures?: string;
40
44
  dependencies?: readonly TreeViewAnyPluginSignature[];
41
45
  optionalDependencies?: readonly TreeViewAnyPluginSignature[];
42
46
  }> = {
47
+ /**
48
+ * The raw properties that can be passed to the plugin.
49
+ */
43
50
  params: T extends {
44
51
  params: {};
45
52
  } ? T['params'] : {};
53
+ /**
54
+ * The params after being processed with the default values.
55
+ */
46
56
  defaultizedParams: T extends {
47
57
  defaultizedParams: {};
48
58
  } ? T['defaultizedParams'] : {};
59
+ /**
60
+ * An imperative api available for internal use.
61
+ */
49
62
  instance: T extends {
50
63
  instance: {};
51
64
  } ? T['instance'] : {};
65
+ /**
66
+ * The public imperative API that will be exposed to the user.
67
+ * Accessed through the `apiRef` property of the plugin.
68
+ */
52
69
  publicAPI: T extends {
53
70
  publicAPI: {};
54
71
  } ? T['publicAPI'] : {};
55
72
  events: T extends {
56
73
  events: {};
57
74
  } ? T['events'] : {};
75
+ /**
76
+ * The state is the mutable data that will actually be stored in the plugin state and can be accessed by other plugins.
77
+ */
58
78
  state: T extends {
59
79
  state: {};
60
80
  } ? T['state'] : {};
61
- cache: T extends {
62
- cache: {};
63
- } ? T['cache'] : {};
64
- contextValue: T extends {
65
- contextValue: {};
66
- } ? T['contextValue'] : {};
67
- slots: T extends {
68
- slots: {};
69
- } ? T['slots'] : {};
70
- slotProps: T extends {
71
- slotProps: {};
72
- } ? T['slotProps'] : {};
73
- models: T extends {
74
- defaultizedParams: {};
75
- modelNames: keyof T['defaultizedParams'];
76
- } ? { [TControlled in T['modelNames']]-?: TreeViewModel<Exclude<T['defaultizedParams'][TControlled], undefined>> } : {};
77
81
  experimentalFeatures: T extends {
78
82
  experimentalFeatures: string;
79
83
  } ? { [key in T['experimentalFeatures']]?: boolean } : {};
84
+ /**
85
+ * Any plugins that this plugin depends on.
86
+ */
80
87
  dependencies: T extends {
81
88
  dependencies: Array<any>;
82
89
  } ? T['dependencies'] : [];
90
+ /**
91
+ * Same as dependencies but the plugin might not have been initialized. Used for dependencies on plugins of features that can be enabled conditionally.
92
+ */
83
93
  optionalDependencies: T extends {
84
94
  optionalDependencies: Array<any>;
85
95
  } ? T['optionalDependencies'] : [];
86
96
  };
87
97
  export type TreeViewAnyPluginSignature = {
88
- cache: any;
89
98
  state: any;
90
99
  instance: any;
91
100
  params: any;
@@ -93,10 +102,6 @@ export type TreeViewAnyPluginSignature = {
93
102
  dependencies: any;
94
103
  optionalDependencies: any;
95
104
  events: any;
96
- contextValue: any;
97
- slots: any;
98
- slotProps: any;
99
- models: any;
100
105
  experimentalFeatures: any;
101
106
  publicAPI: any;
102
107
  };
@@ -112,8 +117,6 @@ export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature>
112
117
  };
113
118
  export type TreeViewUsedStore<TSignature extends TreeViewAnyPluginSignature> = TreeViewStore<[TSignature, ...TSignature['dependencies']]>;
114
119
  type TreeViewUsedExperimentalFeatures<TSignature extends TreeViewAnyPluginSignature> = TreeViewExperimentalFeatures<[TSignature, ...TSignature['dependencies']], TSignature['optionalDependencies']>;
115
- type RemoveSetValue<Models extends Record<string, TreeViewModel<any>>> = { [K in keyof Models]: Omit<Models[K], 'setValue'> };
116
- export type TreeViewUsedModels<TSignature extends TreeViewAnyPluginSignature> = TSignature['models'] & RemoveSetValue<MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'models'>>;
117
120
  export type TreeViewUsedEvents<TSignature extends TreeViewAnyPluginSignature> = TSignature['events'] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'events'>;
118
121
  export type TreeItemWrapper<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (params: {
119
122
  itemId: TreeViewItemId;
@@ -125,14 +128,36 @@ export type TreeRootWrapper = (params: {
125
128
  children: React.ReactNode;
126
129
  }) => React.ReactNode;
127
130
  export type TreeViewPlugin<TSignature extends TreeViewAnyPluginSignature> = {
131
+ /**
132
+ * The main function of the plugin that will be executed by the Tree View.
133
+ *
134
+ * This should be a valid React `use` function, as it will be executed in the render phase and can contain hooks.
135
+ */
128
136
  (options: TreeViewPluginOptions<TSignature>): TreeViewResponse<TSignature>;
137
+ /**
138
+ * A function that receives the parameters and returns them after being processed with the default values.
139
+ *
140
+ * @param {TreeViewUsedParams<TSignature>} options The options object.
141
+ * @param {TreeViewUsedParams<TSignature>['params']} options.params The parameters before being processed with the default values.
142
+ * @param {TreeViewUsedExperimentalFeatures<TSignature>} options.experimentalFeatures An object containing the experimental feature flags.
143
+ * @returns {TSignature['defaultizedParams']} The parameters after being processed with the default values.
144
+ */
129
145
  getDefaultizedParams?: (options: {
130
146
  params: TreeViewUsedParams<TSignature>;
131
147
  experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
132
148
  }) => TSignature['defaultizedParams'];
149
+ /**
150
+ * The initial state is computed after the default values are applied.
151
+ * It sets up the state for the first render.
152
+ * Other state modifications have to be done in effects and so could not be applied on the initial render.
153
+ *
154
+ * @param {TreeViewUsedDefaultizedParams<TSignature>} params The parameters after being processed with the default values.
155
+ * @returns {TSignature['state']} The initial state of the plugin.
156
+ */
133
157
  getInitialState?: (params: TreeViewUsedDefaultizedParams<TSignature>) => TSignature['state'];
134
- getInitialCache?: () => TSignature['cache'];
135
- models?: TreeViewModelsInitializer<TSignature>;
158
+ /**
159
+ * An object where each property used by the plugin is set to `true`.
160
+ */
136
161
  params: Record<keyof TSignature['params'], true>;
137
162
  itemPlugin?: TreeViewItemPlugin;
138
163
  /**
@@ -16,11 +16,6 @@ export interface TreeViewItemMeta {
16
16
  */
17
17
  label?: string;
18
18
  }
19
- export interface TreeViewModel<TValue> {
20
- name: string;
21
- value: TValue;
22
- setControlledValue: (value: TValue | ((prevValue: TValue) => TValue)) => void;
23
- }
24
19
  export type TreeViewInstance<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'instance'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
25
20
  export type TreeViewPublicAPI<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'publicAPI'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
26
21
  export type TreeViewExperimentalFeatures<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TSignatures, ...TOptionalSignatures], 'experimentalFeatures'>;
@@ -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;