@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,34 +0,0 @@
1
- import { createSelector } from "../../utils/selectors.js";
2
- const selectorTreeViewFocusState = state => state.focus;
3
-
4
- /**
5
- * Get the item that should be sequentially focusable (usually with the Tab key).
6
- * At any point in time, there is a single item that can be sequentially focused in the Tree View.
7
- * This item is the first selected item (that is both visible and navigable), if any, or the first navigable item if no item is selected.
8
- * @param {TreeViewState<[UseTreeViewFocusSignature]>} state The state of the tree view.
9
- * @returns {TreeViewItemId | null} The id of the item that should be sequentially focusable.
10
- */
11
- export const selectorDefaultFocusableItemId = createSelector(selectorTreeViewFocusState, focus => focus.defaultFocusableItemId);
12
-
13
- /**
14
- * Check if an item is the default focusable item.
15
- * @param {TreeViewState<[UseTreeViewFocusSignature]>} state The state of the tree view.
16
- * @param {TreeViewItemId} itemId The id of the item to check.
17
- * @returns {boolean} `true` if the item is the default focusable item, `false` otherwise.
18
- */
19
- export const selectorIsItemTheDefaultFocusableItem = createSelector([selectorDefaultFocusableItemId, (_, itemId) => itemId], (defaultFocusableItemId, itemId) => defaultFocusableItemId === itemId);
20
-
21
- /**
22
- * Get the id of the item that is currently focused.
23
- * @param {TreeViewState<[UseTreeViewFocusSignature]>} state The state of the tree view.
24
- * @returns {TreeViewItemId | null} The id of the item that is currently focused.
25
- */
26
- export const selectorFocusedItemId = createSelector(selectorTreeViewFocusState, focus => focus.focusedItemId);
27
-
28
- /**
29
- * Check if an item is focused.
30
- * @param {TreeViewState<[UseTreeViewFocusSignature]>} state The state of the tree view.
31
- * @param {TreeViewItemId} itemId The id of the item to check.
32
- * @returns {boolean} `true` if the item is focused, `false` otherwise.
33
- */
34
- export const selectorIsItemFocused = createSelector([selectorFocusedItemId, (_, itemId) => itemId], (focusedItemId, itemId) => focusedItemId === itemId);
@@ -1,45 +0,0 @@
1
- import * as React from 'react';
2
- import { TreeViewPluginSignature } from "../../models/index.js";
3
- import type { UseTreeViewItemsSignature } from '../useTreeViewItems';
4
- import type { UseTreeViewSelectionSignature } from '../useTreeViewSelection';
5
- import { UseTreeViewExpansionSignature } from "../useTreeViewExpansion/index.js";
6
- export interface UseTreeViewFocusPublicAPI {
7
- /**
8
- * Focus the item with the given id.
9
- *
10
- * If the item is the child of a collapsed item, then this method will do nothing.
11
- * Make sure to expand the ancestors of the item before calling this method if needed.
12
- * @param {React.SyntheticEvent} event The DOM event that triggered the change.
13
- * @param {TreeViewItemId} itemId The id of the item to focus.
14
- */
15
- focusItem: (event: React.SyntheticEvent, itemId: string) => void;
16
- }
17
- export interface UseTreeViewFocusInstance extends UseTreeViewFocusPublicAPI {
18
- /**
19
- * Remove the focus from the currently focused item (both from the internal state and the DOM).
20
- */
21
- removeFocusedItem: () => void;
22
- }
23
- export interface UseTreeViewFocusParameters {
24
- /**
25
- * Callback fired when a given Tree Item is focused.
26
- * @param {React.SyntheticEvent | null} event The DOM event that triggered the change. **Warning**: This is a generic event not a focus event.
27
- * @param {string} itemId The id of the focused item.
28
- */
29
- onItemFocus?: (event: React.SyntheticEvent | null, itemId: string) => void;
30
- }
31
- export type UseTreeViewFocusDefaultizedParameters = UseTreeViewFocusParameters;
32
- export interface UseTreeViewFocusState {
33
- focus: {
34
- focusedItemId: string | null;
35
- defaultFocusableItemId: string | null;
36
- };
37
- }
38
- export type UseTreeViewFocusSignature = TreeViewPluginSignature<{
39
- params: UseTreeViewFocusParameters;
40
- defaultizedParams: UseTreeViewFocusDefaultizedParameters;
41
- instance: UseTreeViewFocusInstance;
42
- publicAPI: UseTreeViewFocusPublicAPI;
43
- state: UseTreeViewFocusState;
44
- dependencies: [UseTreeViewItemsSignature, UseTreeViewSelectionSignature, UseTreeViewExpansionSignature];
45
- }>;
@@ -1,2 +0,0 @@
1
- export { useTreeViewIcons } from "./useTreeViewIcons.js";
2
- export type { UseTreeViewIconsSignature, UseTreeViewIconsParameters, UseTreeViewIconsDefaultizedParameters } from './useTreeViewIcons.types';
@@ -1 +0,0 @@
1
- export { useTreeViewIcons } from "./useTreeViewIcons.js";
@@ -1,3 +0,0 @@
1
- import { TreeViewPlugin } from "../../models/index.js";
2
- import { UseTreeViewIconsSignature } from "./useTreeViewIcons.types.js";
3
- export declare const useTreeViewIcons: TreeViewPlugin<UseTreeViewIconsSignature>;
@@ -1,24 +0,0 @@
1
- import * as React from 'react';
2
- export const useTreeViewIcons = ({
3
- slots,
4
- slotProps
5
- }) => {
6
- const pluginContextValue = React.useMemo(() => ({
7
- icons: {
8
- slots: {
9
- collapseIcon: slots.collapseIcon,
10
- expandIcon: slots.expandIcon,
11
- endIcon: slots.endIcon
12
- },
13
- slotProps: {
14
- collapseIcon: slotProps.collapseIcon,
15
- expandIcon: slotProps.expandIcon,
16
- endIcon: slotProps.endIcon
17
- }
18
- }
19
- }), [slots.collapseIcon, slots.expandIcon, slots.endIcon, slotProps.collapseIcon, slotProps.expandIcon, slotProps.endIcon]);
20
- return {
21
- contextValue: pluginContextValue
22
- };
23
- };
24
- useTreeViewIcons.params = {};
@@ -1,42 +0,0 @@
1
- import * as React from 'react';
2
- import { SlotComponentProps } from '@mui/utils/types';
3
- import { TreeViewPluginSignature } from "../../models/index.js";
4
- import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
5
- import { UseTreeViewSelectionSignature } from "../useTreeViewSelection/index.js";
6
- export interface UseTreeViewIconsParameters {}
7
- export type UseTreeViewIconsDefaultizedParameters = UseTreeViewIconsParameters;
8
- interface UseTreeViewIconsSlots {
9
- /**
10
- * The default icon used to collapse the item.
11
- */
12
- collapseIcon?: React.ElementType;
13
- /**
14
- * The default icon used to expand the item.
15
- */
16
- expandIcon?: React.ElementType;
17
- /**
18
- * The default icon displayed next to an end item.
19
- * This is applied to all Tree Items and can be overridden by the TreeItem `icon` slot prop.
20
- */
21
- endIcon?: React.ElementType;
22
- }
23
- interface UseTreeViewIconsSlotProps {
24
- collapseIcon?: SlotComponentProps<'svg', {}, {}>;
25
- expandIcon?: SlotComponentProps<'svg', {}, {}>;
26
- endIcon?: SlotComponentProps<'svg', {}, {}>;
27
- }
28
- interface UseTreeViewIconsContextValue {
29
- icons: {
30
- slots: UseTreeViewIconsSlots;
31
- slotProps: UseTreeViewIconsSlotProps;
32
- };
33
- }
34
- export type UseTreeViewIconsSignature = TreeViewPluginSignature<{
35
- params: UseTreeViewIconsParameters;
36
- defaultizedParams: UseTreeViewIconsDefaultizedParameters;
37
- contextValue: UseTreeViewIconsContextValue;
38
- slots: UseTreeViewIconsSlots;
39
- slotProps: UseTreeViewIconsSlotProps;
40
- dependencies: [UseTreeViewItemsSignature, UseTreeViewSelectionSignature];
41
- }>;
42
- export {};
@@ -1,2 +0,0 @@
1
- export { useTreeViewItemCustomization } from "./useTreeViewItemCustomization.js";
2
- export type { UseTreeViewItemCustomizationSignature, UseTreeViewItemCustomizationParameters, UseTreeViewItemCustomizationDefaultizedParameters } from './useTreeViewItemCustomization.types';
@@ -1 +0,0 @@
1
- export { useTreeViewItemCustomization } from "./useTreeViewItemCustomization.js";
@@ -1,3 +0,0 @@
1
- import { TreeViewPlugin } from "../../models/index.js";
2
- import { UseTreeViewItemCustomizationSignature } from "./useTreeViewItemCustomization.types.js";
3
- export declare const useTreeViewItemCustomization: TreeViewPlugin<UseTreeViewItemCustomizationSignature>;
@@ -1,24 +0,0 @@
1
- import * as React from 'react';
2
- export const useTreeViewItemCustomization = ({
3
- slots,
4
- slotProps
5
- }) => {
6
- const pluginContextValue = React.useMemo(() => ({
7
- icons: {
8
- slots: {
9
- collapseIcon: slots.collapseIcon,
10
- expandIcon: slots.expandIcon,
11
- endIcon: slots.endIcon
12
- },
13
- slotProps: {
14
- collapseIcon: slotProps.collapseIcon,
15
- expandIcon: slotProps.expandIcon,
16
- endIcon: slotProps.endIcon
17
- }
18
- }
19
- }), [slots.collapseIcon, slots.expandIcon, slots.endIcon, slotProps.collapseIcon, slotProps.expandIcon, slotProps.endIcon]);
20
- return {
21
- contextValue: pluginContextValue
22
- };
23
- };
24
- useTreeViewItemCustomization.params = {};
@@ -1,42 +0,0 @@
1
- import * as React from 'react';
2
- import { SlotComponentProps } from '@mui/utils/types';
3
- import { TreeViewPluginSignature } from "../../models/index.js";
4
- import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
5
- import { UseTreeViewSelectionSignature } from "../useTreeViewSelection/index.js";
6
- export interface UseTreeViewItemCustomizationParameters {}
7
- export type UseTreeViewItemCustomizationDefaultizedParameters = UseTreeViewItemCustomizationParameters;
8
- interface UseTreeViewItemCustomizationSlots {
9
- /**
10
- * The default icon used to collapse the item.
11
- */
12
- collapseIcon?: React.ElementType;
13
- /**
14
- * The default icon used to expand the item.
15
- */
16
- expandIcon?: React.ElementType;
17
- /**
18
- * The default icon displayed next to an end item.
19
- * This is applied to all Tree Items and can be overridden by the TreeItem `icon` slot prop.
20
- */
21
- endIcon?: React.ElementType;
22
- }
23
- interface UseTreeViewItemCustomizationSlotProps {
24
- collapseIcon?: SlotComponentProps<'svg', {}, {}>;
25
- expandIcon?: SlotComponentProps<'svg', {}, {}>;
26
- endIcon?: SlotComponentProps<'svg', {}, {}>;
27
- }
28
- interface UseTreeViewItemCustomizationContextValue {
29
- icons: {
30
- slots: UseTreeViewItemCustomizationSlots;
31
- slotProps: UseTreeViewItemCustomizationSlotProps;
32
- };
33
- }
34
- export type UseTreeViewItemCustomizationSignature = TreeViewPluginSignature<{
35
- params: UseTreeViewItemCustomizationParameters;
36
- defaultizedParams: UseTreeViewItemCustomizationDefaultizedParameters;
37
- contextValue: UseTreeViewItemCustomizationContextValue;
38
- slots: UseTreeViewItemCustomizationSlots;
39
- slotProps: UseTreeViewItemCustomizationSlotProps;
40
- dependencies: [UseTreeViewItemsSignature, UseTreeViewSelectionSignature];
41
- }>;
42
- export {};
@@ -1,3 +0,0 @@
1
- export { useTreeViewItems } from "./useTreeViewItems.js";
2
- export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsDefaultizedParameters, UseTreeViewItemsState } from './useTreeViewItems.types';
3
- export { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./useTreeViewItems.utils.js";
@@ -1,2 +0,0 @@
1
- export { useTreeViewItems } from "./useTreeViewItems.js";
2
- export { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./useTreeViewItems.utils.js";
@@ -1,3 +0,0 @@
1
- import { TreeViewPlugin } from "../../models/index.js";
2
- import { UseTreeViewItemsSignature } from "./useTreeViewItems.types.js";
3
- export declare const useTreeViewItems: TreeViewPlugin<UseTreeViewItemsSignature>;
@@ -1,325 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import useEventCallback from '@mui/utils/useEventCallback';
4
- import { publishTreeViewEvent } from "../../utils/publishTreeViewEvent.js";
5
- import { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./useTreeViewItems.utils.js";
6
- import { TreeViewItemDepthContext } from "../../TreeViewItemDepthContext/index.js";
7
- import { selectorItemMeta, selectorItemOrderedChildrenIds, selectorItemModel, selectorItemDepth } from "./useTreeViewItems.selectors.js";
8
- import { selectorTreeViewId } from "../../corePlugins/useTreeViewId/useTreeViewId.selectors.js";
9
- import { generateTreeItemIdAttribute } from "../../corePlugins/useTreeViewId/useTreeViewId.utils.js";
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- const checkId = (id, item, itemMetaLookup) => {
12
- if (id == null) {
13
- throw new Error(['MUI X: The Tree View component requires all items to have a unique `id` property.', 'Alternatively, you can use the `getItemId` prop to specify a custom id for each item.', 'An item was provided without id in the `items` prop:', JSON.stringify(item)].join('\n'));
14
- }
15
- if (itemMetaLookup[id] != null) {
16
- throw new Error(['MUI X: The Tree View component requires all items to have a unique `id` property.', 'Alternatively, you can use the `getItemId` prop to specify a custom id for each item.', `Two items were provided with the same id in the \`items\` prop: "${id}"`].join('\n'));
17
- }
18
- };
19
- const processItemsLookups = ({
20
- disabledItemsFocusable,
21
- items,
22
- isItemDisabled,
23
- getItemLabel,
24
- getItemId,
25
- initialDepth = 0,
26
- initialParentId = null,
27
- getChildrenCount,
28
- ignoreChildren = false
29
- }) => {
30
- const itemMetaLookup = {};
31
- const itemModelLookup = {};
32
- const itemOrderedChildrenIdsLookup = {
33
- [TREE_VIEW_ROOT_PARENT_ID]: []
34
- };
35
- const processItem = (item, depth, parentId) => {
36
- const id = getItemId ? getItemId(item) : item.id;
37
- checkId(id, item, itemMetaLookup);
38
- const label = getItemLabel ? getItemLabel(item) : item.label;
39
- if (label == null) {
40
- throw new Error(['MUI X: The Tree View component requires all items to have a `label` property.', 'Alternatively, you can use the `getItemLabel` prop to specify a custom label for each item.', 'An item was provided without label in the `items` prop:', JSON.stringify(item)].join('\n'));
41
- }
42
- itemMetaLookup[id] = {
43
- id,
44
- label,
45
- parentId,
46
- idAttribute: undefined,
47
- expandable: getChildrenCount ? getChildrenCount(item) > 0 : !!item.children?.length,
48
- disabled: isItemDisabled ? isItemDisabled(item) : false,
49
- depth
50
- };
51
- itemModelLookup[id] = item;
52
- const parentIdWithDefault = parentId ?? TREE_VIEW_ROOT_PARENT_ID;
53
- if (!itemOrderedChildrenIdsLookup[parentIdWithDefault]) {
54
- itemOrderedChildrenIdsLookup[parentIdWithDefault] = [];
55
- }
56
- itemOrderedChildrenIdsLookup[parentIdWithDefault].push(id);
57
-
58
- // if lazy loading is enabled, we don't want to process children passed through the `items` prop
59
- if (!ignoreChildren) {
60
- item.children?.forEach(child => processItem(child, depth + 1, id));
61
- }
62
- };
63
- items?.forEach(item => processItem(item, initialDepth, initialParentId));
64
- const itemChildrenIndexesLookup = {};
65
- Object.keys(itemOrderedChildrenIdsLookup).forEach(parentId => {
66
- itemChildrenIndexesLookup[parentId] = buildSiblingIndexes(itemOrderedChildrenIdsLookup[parentId]);
67
- });
68
- return {
69
- disabledItemsFocusable,
70
- itemMetaLookup,
71
- itemModelLookup,
72
- itemOrderedChildrenIdsLookup,
73
- itemChildrenIndexesLookup
74
- };
75
- };
76
- export const useTreeViewItems = ({
77
- instance,
78
- params,
79
- store
80
- }) => {
81
- const getItem = React.useCallback(itemId => selectorItemModel(store.value, itemId), [store]);
82
- const getParentId = React.useCallback(itemId => {
83
- const itemMeta = selectorItemMeta(store.value, itemId);
84
- return itemMeta?.parentId || null;
85
- }, [store]);
86
- const setTreeViewLoading = useEventCallback(isLoading => {
87
- store.update(prevState => _extends({}, prevState, {
88
- items: _extends({}, prevState.items, {
89
- loading: isLoading
90
- })
91
- }));
92
- });
93
- const setTreeViewError = useEventCallback(error => {
94
- store.update(prevState => _extends({}, prevState, {
95
- items: _extends({}, prevState.items, {
96
- error
97
- })
98
- }));
99
- });
100
- const setIsItemDisabled = useEventCallback(({
101
- itemId,
102
- shouldBeDisabled
103
- }) => {
104
- store.update(prevState => {
105
- if (!prevState.items.itemMetaLookup[itemId]) {
106
- return prevState;
107
- }
108
- const itemMetaLookup = _extends({}, prevState.items.itemMetaLookup);
109
- itemMetaLookup[itemId] = _extends({}, itemMetaLookup[itemId], {
110
- disabled: shouldBeDisabled ?? !itemMetaLookup[itemId].disabled
111
- });
112
- return _extends({}, prevState, {
113
- items: _extends({}, prevState.items, {
114
- itemMetaLookup
115
- })
116
- });
117
- });
118
- });
119
- const getItemTree = React.useCallback(() => {
120
- const getItemFromItemId = itemId => {
121
- const item = selectorItemModel(store.value, itemId);
122
- const newChildren = selectorItemOrderedChildrenIds(store.value, itemId);
123
- if (newChildren.length > 0) {
124
- item.children = newChildren.map(getItemFromItemId);
125
- } else {
126
- delete item.children;
127
- }
128
- return item;
129
- };
130
- return selectorItemOrderedChildrenIds(store.value, null).map(getItemFromItemId);
131
- }, [store]);
132
- const getItemOrderedChildrenIds = React.useCallback(itemId => selectorItemOrderedChildrenIds(store.value, itemId), [store]);
133
- const getItemDOMElement = itemId => {
134
- const itemMeta = selectorItemMeta(store.value, itemId);
135
- if (itemMeta == null) {
136
- return null;
137
- }
138
- const idAttribute = generateTreeItemIdAttribute({
139
- treeId: selectorTreeViewId(store.value),
140
- itemId,
141
- id: itemMeta.idAttribute
142
- });
143
- return document.getElementById(idAttribute);
144
- };
145
- const areItemUpdatesPreventedRef = React.useRef(false);
146
- const preventItemUpdates = React.useCallback(() => {
147
- areItemUpdatesPreventedRef.current = true;
148
- }, []);
149
- const areItemUpdatesPrevented = React.useCallback(() => areItemUpdatesPreventedRef.current, []);
150
- const addItems = ({
151
- items,
152
- parentId,
153
- depth,
154
- getChildrenCount
155
- }) => {
156
- if (items) {
157
- const newState = processItemsLookups({
158
- disabledItemsFocusable: params.disabledItemsFocusable,
159
- items,
160
- isItemDisabled: params.isItemDisabled,
161
- getItemId: params.getItemId,
162
- getItemLabel: params.getItemLabel,
163
- getChildrenCount,
164
- initialDepth: depth,
165
- initialParentId: parentId,
166
- ignoreChildren: true
167
- });
168
- store.update(prevState => {
169
- let newItems;
170
- if (parentId) {
171
- newItems = {
172
- itemModelLookup: _extends({}, prevState.items.itemModelLookup, newState.itemModelLookup),
173
- itemMetaLookup: _extends({}, prevState.items.itemMetaLookup, newState.itemMetaLookup),
174
- itemOrderedChildrenIdsLookup: _extends({}, newState.itemOrderedChildrenIdsLookup, prevState.items.itemOrderedChildrenIdsLookup),
175
- itemChildrenIndexesLookup: _extends({}, newState.itemChildrenIndexesLookup, prevState.items.itemChildrenIndexesLookup)
176
- };
177
- } else {
178
- newItems = {
179
- itemModelLookup: newState.itemModelLookup,
180
- itemMetaLookup: newState.itemMetaLookup,
181
- itemOrderedChildrenIdsLookup: newState.itemOrderedChildrenIdsLookup,
182
- itemChildrenIndexesLookup: newState.itemChildrenIndexesLookup
183
- };
184
- }
185
- Object.values(prevState.items.itemMetaLookup).forEach(item => {
186
- if (!newState.itemMetaLookup[item.id]) {
187
- publishTreeViewEvent(instance, 'removeItem', {
188
- id: item.id
189
- });
190
- }
191
- });
192
- return _extends({}, prevState, {
193
- items: _extends({}, prevState.items, newItems)
194
- });
195
- });
196
- }
197
- };
198
- const removeChildren = parentId => {
199
- store.update(prevState => {
200
- if (!parentId) {
201
- return _extends({}, prevState, {
202
- items: _extends({}, prevState.items, {
203
- itemMetaLookup: {},
204
- itemOrderedChildrenIdsLookup: {},
205
- itemChildrenIndexesLookup: {}
206
- })
207
- });
208
- }
209
- const newMetaMap = Object.keys(prevState.items.itemMetaLookup).reduce((acc, key) => {
210
- const item = prevState.items.itemMetaLookup[key];
211
- if (item.parentId === parentId) {
212
- publishTreeViewEvent(instance, 'removeItem', {
213
- id: item.id
214
- });
215
- return acc;
216
- }
217
- return _extends({}, acc, {
218
- [item.id]: item
219
- });
220
- }, {});
221
- const newItemOrderedChildrenIdsLookup = prevState.items.itemOrderedChildrenIdsLookup;
222
- const newItemChildrenIndexesLookup = prevState.items.itemChildrenIndexesLookup;
223
- delete newItemChildrenIndexesLookup[parentId];
224
- delete newItemOrderedChildrenIdsLookup[parentId];
225
- return _extends({}, prevState, {
226
- items: _extends({}, prevState.items, {
227
- itemMetaLookup: newMetaMap,
228
- itemOrderedChildrenIdsLookup: newItemOrderedChildrenIdsLookup,
229
- itemChildrenIndexesLookup: newItemChildrenIndexesLookup
230
- })
231
- });
232
- });
233
- };
234
- React.useEffect(() => {
235
- if (instance.areItemUpdatesPrevented()) {
236
- return;
237
- }
238
- store.update(prevState => {
239
- const newState = processItemsLookups({
240
- disabledItemsFocusable: params.disabledItemsFocusable,
241
- items: params.items,
242
- isItemDisabled: params.isItemDisabled,
243
- getItemId: params.getItemId,
244
- getItemLabel: params.getItemLabel
245
- });
246
- Object.values(prevState.items.itemMetaLookup).forEach(item => {
247
- if (!newState.itemMetaLookup[item.id]) {
248
- publishTreeViewEvent(instance, 'removeItem', {
249
- id: item.id
250
- });
251
- }
252
- });
253
- return _extends({}, prevState, {
254
- items: _extends({}, prevState.items, newState)
255
- });
256
- });
257
- }, [instance, store, params.items, params.disabledItemsFocusable, params.isItemDisabled, params.getItemId, params.getItemLabel]);
258
-
259
- // Wrap `props.onItemClick` with `useEventCallback` to prevent unneeded context updates.
260
- const handleItemClick = useEventCallback((event, itemId) => {
261
- if (params.onItemClick) {
262
- params.onItemClick(event, itemId);
263
- }
264
- });
265
- return {
266
- getRootProps: () => ({
267
- style: {
268
- '--TreeView-itemChildrenIndentation': typeof params.itemChildrenIndentation === 'number' ? `${params.itemChildrenIndentation}px` : params.itemChildrenIndentation
269
- }
270
- }),
271
- publicAPI: {
272
- getItem,
273
- getItemDOMElement,
274
- getItemTree,
275
- getItemOrderedChildrenIds,
276
- setIsItemDisabled,
277
- getParentId
278
- },
279
- instance: {
280
- getItemDOMElement,
281
- preventItemUpdates,
282
- areItemUpdatesPrevented,
283
- addItems,
284
- setTreeViewLoading,
285
- setTreeViewError,
286
- removeChildren,
287
- handleItemClick
288
- }
289
- };
290
- };
291
- useTreeViewItems.getInitialState = params => ({
292
- items: _extends({}, processItemsLookups({
293
- disabledItemsFocusable: params.disabledItemsFocusable,
294
- items: params.items,
295
- isItemDisabled: params.isItemDisabled,
296
- getItemId: params.getItemId,
297
- getItemLabel: params.getItemLabel
298
- }), {
299
- loading: false,
300
- error: null
301
- })
302
- });
303
- useTreeViewItems.getDefaultizedParams = ({
304
- params
305
- }) => _extends({}, params, {
306
- disabledItemsFocusable: params.disabledItemsFocusable ?? false,
307
- itemChildrenIndentation: params.itemChildrenIndentation ?? '12px'
308
- });
309
- useTreeViewItems.wrapRoot = ({
310
- children
311
- }) => {
312
- return /*#__PURE__*/_jsx(TreeViewItemDepthContext.Provider, {
313
- value: selectorItemDepth,
314
- children: children
315
- });
316
- };
317
- useTreeViewItems.params = {
318
- disabledItemsFocusable: true,
319
- items: true,
320
- isItemDisabled: true,
321
- getItemLabel: true,
322
- getItemId: true,
323
- onItemClick: true,
324
- itemChildrenIndentation: true
325
- };