@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,62 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- /**
4
- * Implements the same behavior as `useControlled` but for several models.
5
- * The controlled models are never stored in the state, and the state is only updated if the model is not controlled.
6
- */
7
- export const useTreeViewModels = (plugins, props) => {
8
- const modelsRef = React.useRef({});
9
- const [modelsState, setModelsState] = React.useState(() => {
10
- const initialState = {};
11
- plugins.forEach(plugin => {
12
- if (plugin.models) {
13
- Object.entries(plugin.models).forEach(([modelName, modelInitializer]) => {
14
- modelsRef.current[modelName] = {
15
- isControlled: props[modelName] !== undefined,
16
- getDefaultValue: modelInitializer.getDefaultValue
17
- };
18
- initialState[modelName] = modelInitializer.getDefaultValue(props);
19
- });
20
- }
21
- });
22
- return initialState;
23
- });
24
- const models = Object.fromEntries(Object.entries(modelsRef.current).map(([modelName, model]) => {
25
- const value = props[modelName] ?? modelsState[modelName];
26
- return [modelName, {
27
- value,
28
- setControlledValue: newValue => {
29
- if (!model.isControlled) {
30
- setModelsState(prevState => _extends({}, prevState, {
31
- [modelName]: newValue
32
- }));
33
- }
34
- }
35
- }];
36
- }));
37
-
38
- // We know that `modelsRef` do not vary across renders.
39
- /* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
40
- if (process.env.NODE_ENV !== 'production') {
41
- Object.entries(modelsRef.current).forEach(([modelName, model]) => {
42
- const controlled = props[modelName];
43
- const newDefaultValue = model.getDefaultValue(props);
44
- React.useEffect(() => {
45
- if (model.isControlled !== (controlled !== undefined)) {
46
- console.error([`MUI X: A component is changing the ${model.isControlled ? '' : 'un'}controlled ${modelName} state of TreeView to be ${model.isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${modelName} ` + 'element for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
47
- }
48
- }, [controlled]);
49
- const {
50
- current: defaultValue
51
- } = React.useRef(newDefaultValue);
52
- React.useEffect(() => {
53
- if (!model.isControlled && defaultValue !== newDefaultValue) {
54
- console.error([`MUI X: A component is changing the default ${modelName} state of an uncontrolled TreeView after being initialized. ` + `To suppress this warning opt to use a controlled TreeView.`].join('\n'));
55
- }
56
- }, [JSON.stringify(newDefaultValue)]);
57
- });
58
- }
59
- /* eslint-enable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
60
-
61
- return models;
62
- };
@@ -1,12 +0,0 @@
1
- import type { TreeViewAnyPluginSignature, TreeViewState } from '../models';
2
- type Listener<T> = (value: T) => void;
3
- export type StoreUpdater<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (prevState: TreeViewState<TSignatures>) => TreeViewState<TSignatures>;
4
- export declare class TreeViewStore<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
5
- value: TreeViewState<TSignatures>;
6
- private listeners;
7
- constructor(value: TreeViewState<TSignatures>);
8
- subscribe: (fn: Listener<TreeViewState<TSignatures>>) => () => void;
9
- getSnapshot: () => TreeViewState<TSignatures>;
10
- update: (updater: StoreUpdater<TSignatures>) => void;
11
- }
12
- export {};
@@ -1,24 +0,0 @@
1
- export class TreeViewStore {
2
- constructor(value) {
3
- this.value = void 0;
4
- this.listeners = void 0;
5
- this.subscribe = fn => {
6
- this.listeners.add(fn);
7
- return () => {
8
- this.listeners.delete(fn);
9
- };
10
- };
11
- this.getSnapshot = () => {
12
- return this.value;
13
- };
14
- this.update = updater => {
15
- const newState = updater(this.value);
16
- if (newState !== this.value) {
17
- this.value = newState;
18
- this.listeners.forEach(l => l(newState));
19
- }
20
- };
21
- this.value = value;
22
- this.listeners = new Set();
23
- }
24
- }
@@ -1,9 +0,0 @@
1
- export type UnregisterToken = {
2
- cleanupToken: number;
3
- };
4
- export type UnsubscribeFn = () => void;
5
- export interface CleanupTracking {
6
- register(object: any, unsubscribe: UnsubscribeFn, unregisterToken: UnregisterToken): void;
7
- unregister(unregisterToken: UnregisterToken): void;
8
- reset(): void;
9
- }
@@ -1,7 +0,0 @@
1
- import { CleanupTracking, UnsubscribeFn, UnregisterToken } from "./CleanupTracking.js";
2
- export declare class FinalizationRegistryBasedCleanupTracking implements CleanupTracking {
3
- registry: FinalizationRegistry<UnsubscribeFn>;
4
- register(object: any, unsubscribe: UnsubscribeFn, unregisterToken: UnregisterToken): void;
5
- unregister(unregisterToken: UnregisterToken): void;
6
- reset(): void;
7
- }
@@ -1,18 +0,0 @@
1
- export class FinalizationRegistryBasedCleanupTracking {
2
- constructor() {
3
- this.registry = new FinalizationRegistry(unsubscribe => {
4
- if (typeof unsubscribe === 'function') {
5
- unsubscribe();
6
- }
7
- });
8
- }
9
- register(object, unsubscribe, unregisterToken) {
10
- this.registry.register(object, unsubscribe, unregisterToken);
11
- }
12
- unregister(unregisterToken) {
13
- this.registry.unregister(unregisterToken);
14
- }
15
-
16
- // eslint-disable-next-line class-methods-use-this
17
- reset() {}
18
- }
@@ -1,9 +0,0 @@
1
- import { CleanupTracking, UnregisterToken, UnsubscribeFn } from "./CleanupTracking.js";
2
- export declare class TimerBasedCleanupTracking implements CleanupTracking {
3
- timeouts?: Map<number, NodeJS.Timeout> | undefined;
4
- cleanupTimeout: number;
5
- constructor(timeout?: number);
6
- register(object: any, unsubscribe: UnsubscribeFn, unregisterToken: UnregisterToken): void;
7
- unregister(unregisterToken: UnregisterToken): void;
8
- reset(): void;
9
- }
@@ -1,38 +0,0 @@
1
- // If no effect ran after this amount of time, we assume that the render was not committed by React
2
- const CLEANUP_TIMER_LOOP_MILLIS = 1000;
3
- export class TimerBasedCleanupTracking {
4
- constructor(timeout = CLEANUP_TIMER_LOOP_MILLIS) {
5
- this.timeouts = new Map();
6
- this.cleanupTimeout = CLEANUP_TIMER_LOOP_MILLIS;
7
- this.cleanupTimeout = timeout;
8
- }
9
- register(object, unsubscribe, unregisterToken) {
10
- if (!this.timeouts) {
11
- this.timeouts = new Map();
12
- }
13
- const timeout = setTimeout(() => {
14
- if (typeof unsubscribe === 'function') {
15
- unsubscribe();
16
- }
17
- this.timeouts.delete(unregisterToken.cleanupToken);
18
- }, this.cleanupTimeout);
19
- this.timeouts.set(unregisterToken.cleanupToken, timeout);
20
- }
21
- unregister(unregisterToken) {
22
- const timeout = this.timeouts.get(unregisterToken.cleanupToken);
23
- if (timeout) {
24
- this.timeouts.delete(unregisterToken.cleanupToken);
25
- clearTimeout(timeout);
26
- }
27
- }
28
- reset() {
29
- if (this.timeouts) {
30
- this.timeouts.forEach((value, key) => {
31
- this.unregister({
32
- cleanupToken: key
33
- });
34
- });
35
- this.timeouts = undefined;
36
- }
37
- }
38
- }
@@ -1,2 +0,0 @@
1
- import { TreeViewAnyPluginSignature, TreeViewInstance, TreeViewPlugin } from "../models/index.js";
2
- export declare const hasPlugin: <TSignature extends TreeViewAnyPluginSignature, TInstance extends TreeViewInstance<[], [TSignature]>>(instance: TInstance, plugin: TreeViewPlugin<TSignature>) => instance is Omit<TInstance, keyof TSignature["instance"]> & TSignature["instance"];
@@ -1,4 +0,0 @@
1
- export const hasPlugin = (instance, plugin) => {
2
- const plugins = instance.getAvailablePlugins();
3
- return plugins.has(plugin);
4
- };
@@ -1,5 +0,0 @@
1
- import { UseTreeViewInstanceEventsInstance } from "../corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js";
2
- import { TreeViewAnyPluginSignature, TreeViewUsedEvents } from "../models/index.js";
3
- export declare const publishTreeViewEvent: <Instance extends UseTreeViewInstanceEventsInstance & {
4
- $$signature: TreeViewAnyPluginSignature;
5
- }, E extends keyof TreeViewUsedEvents<Instance["$$signature"]>>(instance: Instance, eventName: E, params: TreeViewUsedEvents<Instance["$$signature"]>[E]["params"]) => void;
@@ -1,3 +0,0 @@
1
- export const publishTreeViewEvent = (instance, eventName, params) => {
2
- instance.$$publishEvent(eventName, params);
3
- };
@@ -1,16 +0,0 @@
1
- import { CreateSelectorFunction } from 'reselect';
2
- import { TreeViewAnyPluginSignature, TreeViewState } from "../models/index.js";
3
- /**
4
- * Type of a selector that take the whole tree view state as input and returns a value based on a required plugin.
5
- */
6
- export type TreeViewRootSelector<TSignature extends TreeViewAnyPluginSignature, IsOptional extends boolean = false> = <TSignatures extends [TSignature]>(state: TreeViewState<TSignatures>) => IsOptional extends true ? TSignature['state'][keyof TSignature['state']] | undefined : TSignature['state'][keyof TSignature['state']];
7
- /**
8
- * Type of a selector that take the whole tree view state as input and returns a value based on an optional plugin.
9
- */
10
- export type TreeViewRootSelectorForOptionalPlugin<TSignature extends TreeViewAnyPluginSignature> = <TSignatures extends [], TOptionalSignatures extends [TSignature]>(state: TreeViewState<TSignatures, TOptionalSignatures>) => TSignature['state'][keyof TSignature['state']] | undefined;
11
- export type TreeViewSelector<TState, TArgs, TResult> = (state: TState, args: TArgs) => TResult;
12
- /**
13
- * Method wrapping reselect's createSelector to provide caching for tree view instances.
14
- *
15
- */
16
- export declare const createSelector: CreateSelectorFunction;
@@ -1,46 +0,0 @@
1
- import { lruMemoize, createSelectorCreator } from 'reselect';
2
- const reselectCreateSelector = createSelectorCreator({
3
- memoize: lruMemoize,
4
- memoizeOptions: {
5
- maxSize: 1,
6
- equalityCheck: Object.is
7
- }
8
- });
9
- const cache = new WeakMap();
10
-
11
- /**
12
- * Type of a selector that take the whole tree view state as input and returns a value based on a required plugin.
13
- */
14
-
15
- /**
16
- * Type of a selector that take the whole tree view state as input and returns a value based on an optional plugin.
17
- */
18
-
19
- /**
20
- * Method wrapping reselect's createSelector to provide caching for tree view instances.
21
- *
22
- */
23
- export const createSelector = (...createSelectorArgs) => {
24
- const selector = (state, selectorArgs) => {
25
- const cacheKey = state.cacheKey;
26
-
27
- // If there is no cache for the current tree view instance, create one.
28
- let cacheForCurrentTreeViewInstance = cache.get(cacheKey);
29
- if (!cacheForCurrentTreeViewInstance) {
30
- cacheForCurrentTreeViewInstance = new Map();
31
- cache.set(cacheKey, cacheForCurrentTreeViewInstance);
32
- }
33
-
34
- // If there is a cached selector, execute it.
35
- const cachedSelector = cacheForCurrentTreeViewInstance.get(createSelectorArgs);
36
- if (cachedSelector) {
37
- return cachedSelector(state, selectorArgs);
38
- }
39
-
40
- // Otherwise, create a new selector and cache it and execute it.
41
- const fn = reselectCreateSelector(...createSelectorArgs);
42
- cacheForCurrentTreeViewInstance.set(createSelectorArgs, fn);
43
- return fn(state, selectorArgs);
44
- };
45
- return selector;
46
- };
@@ -1,32 +0,0 @@
1
- import { TreeViewState } from "../models/index.js";
2
- import type { UseTreeViewExpansionSignature } from '../plugins/useTreeViewExpansion';
3
- import type { UseTreeViewItemsSignature } from '../plugins/useTreeViewItems';
4
- export declare const getPreviousNavigableItem: (state: TreeViewState<[UseTreeViewItemsSignature, UseTreeViewExpansionSignature]>, itemId: string) => string | null;
5
- export declare const getNextNavigableItem: (state: TreeViewState<[UseTreeViewItemsSignature, UseTreeViewExpansionSignature]>, itemId: string) => string | null;
6
- export declare const getLastNavigableItem: (state: TreeViewState<[UseTreeViewExpansionSignature, UseTreeViewItemsSignature]>) => string;
7
- export declare const getFirstNavigableItem: (state: TreeViewState<[UseTreeViewExpansionSignature, UseTreeViewItemsSignature]>) => string;
8
- /**
9
- * This is used to determine the start and end of a selection range so
10
- * we can get the items between the two border items.
11
- *
12
- * It finds the items' common ancestor using
13
- * a naive implementation of a lowest common ancestor algorithm
14
- * (https://en.wikipedia.org/wiki/Lowest_common_ancestor).
15
- * Then compares the ancestor's 2 children that are ancestors of itemA and ItemB
16
- * so we can compare their indexes to work out which item comes first in a depth first search.
17
- * (https://en.wikipedia.org/wiki/Depth-first_search)
18
- *
19
- * Another way to put it is which item is shallower in a trémaux tree
20
- * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree
21
- */
22
- export declare const findOrderInTremauxTree: (state: TreeViewState<[UseTreeViewExpansionSignature, UseTreeViewItemsSignature]>, itemAId: string, itemBId: string) => string[];
23
- export declare const getNonDisabledItemsInRange: (state: TreeViewState<[UseTreeViewItemsSignature, UseTreeViewExpansionSignature]>, itemAId: string, itemBId: string) => string[];
24
- export declare const getAllNavigableItems: (state: TreeViewState<[UseTreeViewItemsSignature, UseTreeViewExpansionSignature]>) => string[];
25
- /**
26
- * Checks if the target is in a descendant of this item.
27
- * This can prevent from firing some logic on the ancestors on the interacted item when the event handler is on the root.
28
- * @param {HTMLElement} target The target to check
29
- * @param {HTMLElement | null} itemRoot The root of the item to check if the event target is in its descendants
30
- * @returns {boolean} Whether the target is in a descendant of this item
31
- */
32
- export declare const isTargetInDescendants: (target: HTMLElement, itemRoot: HTMLElement | null) => boolean;
@@ -1,203 +0,0 @@
1
- import { selectorIsItemExpandable, selectorIsItemExpanded } from "../plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
2
- import { selectorCanItemBeFocused, selectorIsItemDisabled, selectorItemIndex, selectorItemMeta, selectorItemOrderedChildrenIds, selectorItemParentId } from "../plugins/useTreeViewItems/useTreeViewItems.selectors.js";
3
- const getLastNavigableItemInArray = (state, items) => {
4
- // Equivalent to Array.prototype.findLastIndex
5
- let itemIndex = items.length - 1;
6
- while (itemIndex >= 0 && !selectorCanItemBeFocused(state, items[itemIndex])) {
7
- itemIndex -= 1;
8
- }
9
- if (itemIndex === -1) {
10
- return undefined;
11
- }
12
- return items[itemIndex];
13
- };
14
- export const getPreviousNavigableItem = (state, itemId) => {
15
- const itemMeta = selectorItemMeta(state, itemId);
16
- if (!itemMeta) {
17
- return null;
18
- }
19
- const siblings = selectorItemOrderedChildrenIds(state, itemMeta.parentId);
20
- const itemIndex = selectorItemIndex(state, itemId);
21
-
22
- // TODO: What should we do if the parent is not navigable?
23
- if (itemIndex === 0) {
24
- return itemMeta.parentId;
25
- }
26
-
27
- // Finds the previous navigable sibling.
28
- let previousNavigableSiblingIndex = itemIndex - 1;
29
- while (!selectorCanItemBeFocused(state, siblings[previousNavigableSiblingIndex]) && previousNavigableSiblingIndex >= 0) {
30
- previousNavigableSiblingIndex -= 1;
31
- }
32
- if (previousNavigableSiblingIndex === -1) {
33
- // If we are at depth 0, then it means all the items above the current item are not navigable.
34
- if (itemMeta.parentId == null) {
35
- return null;
36
- }
37
-
38
- // Otherwise, we can try to go up a level and find the previous navigable item.
39
- return getPreviousNavigableItem(state, itemMeta.parentId);
40
- }
41
-
42
- // Finds the last navigable ancestor of the previous navigable sibling.
43
- let currentItemId = siblings[previousNavigableSiblingIndex];
44
- let lastNavigableChild = getLastNavigableItemInArray(state, selectorItemOrderedChildrenIds(state, currentItemId));
45
- while (selectorIsItemExpanded(state, currentItemId) && lastNavigableChild != null) {
46
- currentItemId = lastNavigableChild;
47
- lastNavigableChild = selectorItemOrderedChildrenIds(state, currentItemId).find(childId => selectorCanItemBeFocused(state, childId));
48
- }
49
- return currentItemId;
50
- };
51
- export const getNextNavigableItem = (state, itemId) => {
52
- // If the item is expanded and has some navigable children, return the first of them.
53
- if (selectorIsItemExpanded(state, itemId)) {
54
- const firstNavigableChild = selectorItemOrderedChildrenIds(state, itemId).find(childId => selectorCanItemBeFocused(state, childId));
55
- if (firstNavigableChild != null) {
56
- return firstNavigableChild;
57
- }
58
- }
59
- let itemMeta = selectorItemMeta(state, itemId);
60
- while (itemMeta != null) {
61
- // Try to find the first navigable sibling after the current item.
62
- const siblings = selectorItemOrderedChildrenIds(state, itemMeta.parentId);
63
- const currentItemIndex = selectorItemIndex(state, itemMeta.id);
64
- if (currentItemIndex < siblings.length - 1) {
65
- let nextItemIndex = currentItemIndex + 1;
66
- while (!selectorCanItemBeFocused(state, siblings[nextItemIndex]) && nextItemIndex < siblings.length - 1) {
67
- nextItemIndex += 1;
68
- }
69
- if (selectorCanItemBeFocused(state, siblings[nextItemIndex])) {
70
- return siblings[nextItemIndex];
71
- }
72
- }
73
-
74
- // If the sibling does not exist, go up a level to the parent and try again.
75
- itemMeta = selectorItemMeta(state, itemMeta.parentId);
76
- }
77
- return null;
78
- };
79
- export const getLastNavigableItem = state => {
80
- let itemId = null;
81
- while (itemId == null || selectorIsItemExpanded(state, itemId)) {
82
- const children = selectorItemOrderedChildrenIds(state, itemId);
83
- const lastNavigableChild = getLastNavigableItemInArray(state, children);
84
-
85
- // The item has no navigable children.
86
- if (lastNavigableChild == null) {
87
- return itemId;
88
- }
89
- itemId = lastNavigableChild;
90
- }
91
- return itemId;
92
- };
93
- export const getFirstNavigableItem = state => selectorItemOrderedChildrenIds(state, null).find(itemId => selectorCanItemBeFocused(state, itemId));
94
-
95
- /**
96
- * This is used to determine the start and end of a selection range so
97
- * we can get the items between the two border items.
98
- *
99
- * It finds the items' common ancestor using
100
- * a naive implementation of a lowest common ancestor algorithm
101
- * (https://en.wikipedia.org/wiki/Lowest_common_ancestor).
102
- * Then compares the ancestor's 2 children that are ancestors of itemA and ItemB
103
- * so we can compare their indexes to work out which item comes first in a depth first search.
104
- * (https://en.wikipedia.org/wiki/Depth-first_search)
105
- *
106
- * Another way to put it is which item is shallower in a trémaux tree
107
- * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree
108
- */
109
- export const findOrderInTremauxTree = (state, itemAId, itemBId) => {
110
- if (itemAId === itemBId) {
111
- return [itemAId, itemBId];
112
- }
113
- const itemMetaA = selectorItemMeta(state, itemAId);
114
- const itemMetaB = selectorItemMeta(state, itemBId);
115
- if (!itemMetaA || !itemMetaB) {
116
- return [itemAId, itemBId];
117
- }
118
- if (itemMetaA.parentId === itemMetaB.id || itemMetaB.parentId === itemMetaA.id) {
119
- return itemMetaB.parentId === itemMetaA.id ? [itemMetaA.id, itemMetaB.id] : [itemMetaB.id, itemMetaA.id];
120
- }
121
- const aFamily = [itemMetaA.id];
122
- const bFamily = [itemMetaB.id];
123
- let aAncestor = itemMetaA.parentId;
124
- let bAncestor = itemMetaB.parentId;
125
- let aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;
126
- let bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;
127
- let continueA = true;
128
- let continueB = true;
129
- while (!bAncestorIsCommon && !aAncestorIsCommon) {
130
- if (continueA) {
131
- aFamily.push(aAncestor);
132
- aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;
133
- continueA = aAncestor !== null;
134
- if (!aAncestorIsCommon && continueA) {
135
- aAncestor = selectorItemParentId(state, aAncestor);
136
- }
137
- }
138
- if (continueB && !aAncestorIsCommon) {
139
- bFamily.push(bAncestor);
140
- bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;
141
- continueB = bAncestor !== null;
142
- if (!bAncestorIsCommon && continueB) {
143
- bAncestor = selectorItemParentId(state, bAncestor);
144
- }
145
- }
146
- }
147
- const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;
148
- const ancestorFamily = selectorItemOrderedChildrenIds(state, commonAncestor);
149
- const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];
150
- const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];
151
- return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide) ? [itemAId, itemBId] : [itemBId, itemAId];
152
- };
153
- export const getNonDisabledItemsInRange = (state, itemAId, itemBId) => {
154
- const getNextItem = itemId => {
155
- // If the item is expanded and has some children, return the first of them.
156
- if (selectorIsItemExpandable(state, itemId) && selectorIsItemExpanded(state, itemId)) {
157
- return selectorItemOrderedChildrenIds(state, itemId)[0];
158
- }
159
- let itemMeta = selectorItemMeta(state, itemId);
160
- while (itemMeta != null) {
161
- // Try to find the first navigable sibling after the current item.
162
- const siblings = selectorItemOrderedChildrenIds(state, itemMeta.parentId);
163
- const currentItemIndex = selectorItemIndex(state, itemMeta.id);
164
- if (currentItemIndex < siblings.length - 1) {
165
- return siblings[currentItemIndex + 1];
166
- }
167
-
168
- // If the item is the last of its siblings, go up a level to the parent and try again.
169
- itemMeta = itemMeta.parentId ? selectorItemMeta(state, itemMeta.parentId) : null;
170
- }
171
- throw new Error('Invalid range');
172
- };
173
- const [first, last] = findOrderInTremauxTree(state, itemAId, itemBId);
174
- const items = [first];
175
- let current = first;
176
- while (current !== last) {
177
- current = getNextItem(current);
178
- if (!selectorIsItemDisabled(state, current)) {
179
- items.push(current);
180
- }
181
- }
182
- return items;
183
- };
184
- export const getAllNavigableItems = state => {
185
- let item = getFirstNavigableItem(state);
186
- const navigableItems = [];
187
- while (item != null) {
188
- navigableItems.push(item);
189
- item = getNextNavigableItem(state, item);
190
- }
191
- return navigableItems;
192
- };
193
-
194
- /**
195
- * Checks if the target is in a descendant of this item.
196
- * This can prevent from firing some logic on the ancestors on the interacted item when the event handler is on the root.
197
- * @param {HTMLElement} target The target to check
198
- * @param {HTMLElement | null} itemRoot The root of the item to check if the event target is in its descendants
199
- * @returns {boolean} Whether the target is in a descendant of this item
200
- */
201
- export const isTargetInDescendants = (target, itemRoot) => {
202
- return itemRoot !== target.closest('*[role="treeitem"]');
203
- };
@@ -1,2 +0,0 @@
1
- export declare const getActiveElement: (root?: Document | ShadowRoot) => Element | null;
2
- export declare function escapeOperandAttributeSelector(operand: string): string;
@@ -1,17 +0,0 @@
1
- // https://www.abeautifulsite.net/posts/finding-the-active-element-in-a-shadow-root/
2
- export const getActiveElement = (root = document) => {
3
- const activeEl = root.activeElement;
4
- if (!activeEl) {
5
- return null;
6
- }
7
- if (activeEl.shadowRoot) {
8
- return getActiveElement(activeEl.shadowRoot);
9
- }
10
- return activeEl;
11
- };
12
-
13
- // TODO, eventually replaces this function with CSS.escape, once available in jsdom, either added manually or built in
14
- // https://github.com/jsdom/jsdom/issues/1550#issuecomment-236734471
15
- export function escapeOperandAttributeSelector(operand) {
16
- return operand.replace(/["\\]/g, '\\$&');
17
- }
@@ -1,3 +0,0 @@
1
- import { useThemeProps } from '@mui/material/styles';
2
- export { styled } from '@mui/material/styles';
3
- export declare function createUseThemeProps(name: string): typeof useThemeProps;
@@ -1,7 +0,0 @@
1
- import { useThemeProps } from '@mui/material/styles';
2
- export { styled } from '@mui/material/styles';
3
-
4
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
- export function createUseThemeProps(name) {
6
- return useThemeProps;
7
- }
@@ -1,4 +0,0 @@
1
- export type TreeViewCancellableEvent = {
2
- defaultMuiPrevented?: boolean;
3
- };
4
- export type TreeViewCancellableEventHandler<Event> = (event: Event & TreeViewCancellableEvent) => void;
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- export * from "./items.js";
2
- export * from "./events.js";
3
- export type { PropsFromSlot } from '@mui/x-internals/slots';
@@ -1,5 +0,0 @@
1
- export * from "./items.js";
2
- export * from "./events.js";
3
-
4
- // Utils shared across the X packages
5
- export {};
@@ -1,13 +0,0 @@
1
- export type TreeViewItemId = string;
2
- export type TreeViewDefaultItemModelProperties = {
3
- id: string;
4
- label: string;
5
- };
6
- export type TreeViewBaseItem<R extends {} = TreeViewDefaultItemModelProperties> = R & {
7
- children?: TreeViewBaseItem<R>[];
8
- };
9
- export type TreeViewItemsReorderingAction = 'reorder-above' | 'reorder-below' | 'make-child' | 'move-to-parent';
10
- export interface TreeViewSelectionPropagation {
11
- descendants?: boolean;
12
- parents?: boolean;
13
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- {"type":"module","sideEffects":false}
@@ -1,21 +0,0 @@
1
- import { ComponentsProps, ComponentsOverrides, ComponentsVariants } from '@mui/material/styles';
2
- export interface TreeViewComponents<Theme = unknown> {
3
- MuiSimpleTreeView?: {
4
- defaultProps?: ComponentsProps['MuiSimpleTreeView'];
5
- styleOverrides?: ComponentsOverrides<Theme>['MuiSimpleTreeView'];
6
- variants?: ComponentsVariants<Theme>['MuiSimpleTreeView'];
7
- };
8
- MuiRichTreeView?: {
9
- defaultProps?: ComponentsProps['MuiRichTreeView'];
10
- styleOverrides?: ComponentsOverrides<Theme>['MuiRichTreeView'];
11
- variants?: ComponentsVariants<Theme>['MuiRichTreeView'];
12
- };
13
- MuiTreeItem?: {
14
- defaultProps?: ComponentsProps['MuiTreeItem'];
15
- styleOverrides?: ComponentsOverrides<Theme>['MuiTreeItem'];
16
- variants?: ComponentsVariants<Theme>['MuiTreeItem'];
17
- };
18
- }
19
- declare module '@mui/material/styles' {
20
- interface Components<Theme = unknown> extends TreeViewComponents<Theme> {}
21
- }
@@ -1,3 +0,0 @@
1
- export type * from './overrides';
2
- export type * from './props';
3
- export type * from './components';
File without changes
@@ -1,16 +0,0 @@
1
- import { RichTreeViewClassKey } from "../RichTreeView/index.js";
2
- import { SimpleTreeViewClassKey } from "../SimpleTreeView/index.js";
3
- import { TreeItemClassKey } from "../TreeItem/index.js";
4
-
5
- // prettier-ignore
6
- export interface TreeViewComponentNameToClassKey {
7
- MuiSimpleTreeView: SimpleTreeViewClassKey;
8
- MuiRichTreeView: RichTreeViewClassKey;
9
- MuiTreeItem: TreeItemClassKey;
10
- }
11
- declare module '@mui/material/styles' {
12
- interface ComponentNameToClassKey extends TreeViewComponentNameToClassKey {}
13
- }
14
-
15
- // disable automatic export
16
- export {};