@mui/x-tree-view 8.23.0 → 8.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/CHANGELOG.md +111 -1
  2. package/RichTreeView/RichTreeView.d.ts +1 -1
  3. package/RichTreeView/RichTreeView.js +34 -28
  4. package/RichTreeView/RichTreeView.types.d.ts +6 -4
  5. package/RichTreeView/index.d.ts +1 -3
  6. package/RichTreeView/index.js +1 -13
  7. package/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
  8. package/RichTreeView/useExtractRichTreeViewParameters.js +91 -0
  9. package/SimpleTreeView/SimpleTreeView.d.ts +1 -1
  10. package/SimpleTreeView/SimpleTreeView.js +30 -24
  11. package/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
  12. package/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
  13. package/SimpleTreeView/useExtractSimpleTreeViewParameters.js +78 -0
  14. package/TreeItem/TreeItem.d.ts +1 -1
  15. package/TreeItemProvider/TreeItemProvider.js +3 -10
  16. package/esm/RichTreeView/RichTreeView.d.ts +1 -1
  17. package/esm/RichTreeView/RichTreeView.js +33 -27
  18. package/esm/RichTreeView/RichTreeView.types.d.ts +6 -4
  19. package/esm/RichTreeView/index.d.ts +1 -3
  20. package/esm/RichTreeView/index.js +1 -1
  21. package/esm/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
  22. package/esm/RichTreeView/useExtractRichTreeViewParameters.js +83 -0
  23. package/esm/SimpleTreeView/SimpleTreeView.d.ts +1 -1
  24. package/esm/SimpleTreeView/SimpleTreeView.js +29 -23
  25. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
  26. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
  27. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.js +70 -0
  28. package/esm/TreeItem/TreeItem.d.ts +1 -1
  29. package/esm/TreeItemProvider/TreeItemProvider.js +3 -10
  30. package/esm/hooks/useApplyPropagationToSelectedItemsOnMount.js +1 -1
  31. package/esm/hooks/useRichTreeViewApiRef.d.ts +2 -2
  32. package/esm/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
  33. package/esm/hooks/useTreeItemModel.d.ts +2 -2
  34. package/esm/hooks/useTreeItemModel.js +1 -1
  35. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
  36. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +25 -34
  37. package/esm/hooks/useTreeViewApiRef.d.ts +2 -4
  38. package/esm/hooks/useTreeViewApiRef.js +3 -2
  39. package/esm/index.d.ts +0 -1
  40. package/esm/index.js +1 -2
  41. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
  42. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +126 -0
  43. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
  44. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
  45. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +49 -0
  46. package/esm/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
  47. package/esm/internals/MinimalTreeViewStore/TimeoutManager.js +39 -0
  48. package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
  49. package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +16 -0
  50. package/esm/internals/MinimalTreeViewStore/index.d.ts +2 -0
  51. package/esm/internals/MinimalTreeViewStore/index.js +2 -0
  52. package/esm/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
  53. package/esm/internals/RichTreeViewStore/RichTreeViewStore.js +21 -0
  54. package/esm/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
  55. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
  56. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.js +15 -0
  57. package/esm/internals/RichTreeViewStore/index.d.ts +3 -0
  58. package/esm/internals/RichTreeViewStore/index.js +3 -0
  59. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
  60. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +18 -0
  61. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
  62. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
  63. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +5 -0
  64. package/esm/internals/SimpleTreeViewStore/index.d.ts +2 -0
  65. package/esm/internals/SimpleTreeViewStore/index.js +2 -0
  66. package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
  67. package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -3
  68. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
  69. package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
  70. package/esm/internals/TreeViewProvider/TreeViewProvider.js +11 -6
  71. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
  72. package/esm/internals/TreeViewProvider/index.d.ts +1 -1
  73. package/esm/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
  74. package/esm/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
  75. package/esm/internals/components/RichTreeViewItems.js +3 -3
  76. package/esm/internals/hooks/useTreeViewRootProps.d.ts +287 -0
  77. package/esm/internals/hooks/useTreeViewRootProps.js +30 -0
  78. package/esm/internals/hooks/useTreeViewStore.d.ts +10 -0
  79. package/esm/internals/hooks/useTreeViewStore.js +19 -0
  80. package/esm/internals/index.d.ts +15 -21
  81. package/esm/internals/index.js +11 -14
  82. package/esm/internals/models/events.d.ts +24 -3
  83. package/esm/internals/models/index.d.ts +2 -3
  84. package/esm/internals/models/index.js +2 -3
  85. package/esm/internals/models/itemPlugin.d.ts +9 -0
  86. package/esm/internals/models/treeView.d.ts +5 -9
  87. package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
  88. package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.js +124 -0
  89. package/esm/internals/plugins/expansion/index.d.ts +2 -0
  90. package/esm/internals/plugins/expansion/index.js +2 -0
  91. package/esm/internals/plugins/expansion/selectors.d.ts +27 -0
  92. package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +5 -5
  93. package/esm/internals/plugins/expansion/utils.d.ts +5 -0
  94. package/esm/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
  95. package/esm/internals/plugins/focus/TreeViewFocusPlugin.js +107 -0
  96. package/esm/internals/plugins/focus/index.d.ts +2 -0
  97. package/esm/internals/plugins/focus/index.js +2 -0
  98. package/esm/internals/plugins/focus/selectors.d.ts +21 -0
  99. package/esm/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +6 -6
  100. package/esm/internals/plugins/id/index.d.ts +1 -0
  101. package/esm/internals/plugins/id/index.js +1 -0
  102. package/esm/internals/plugins/id/selectors.d.ts +13 -0
  103. package/esm/internals/plugins/id/selectors.js +18 -0
  104. package/esm/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
  105. package/esm/internals/plugins/items/TreeViewItemsPlugin.js +223 -0
  106. package/esm/internals/plugins/items/index.d.ts +3 -0
  107. package/esm/internals/plugins/items/index.js +3 -0
  108. package/esm/internals/plugins/items/selectors.d.ts +60 -0
  109. package/esm/internals/plugins/items/selectors.js +64 -0
  110. package/esm/internals/plugins/items/utils.d.ts +43 -0
  111. package/esm/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -50
  112. package/esm/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
  113. package/esm/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +81 -0
  114. package/esm/internals/plugins/jsxItems/index.d.ts +1 -0
  115. package/esm/internals/plugins/jsxItems/index.js +1 -0
  116. package/esm/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
  117. package/esm/internals/plugins/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +29 -17
  118. package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
  119. package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +306 -0
  120. package/esm/internals/plugins/keyboardNavigation/index.d.ts +1 -0
  121. package/esm/internals/plugins/keyboardNavigation/index.js +1 -0
  122. package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
  123. package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +50 -0
  124. package/esm/internals/plugins/labelEditing/index.d.ts +2 -0
  125. package/esm/internals/plugins/labelEditing/index.js +2 -0
  126. package/{internals/plugins/useTreeViewLabel → esm/internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
  127. package/esm/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +2 -2
  128. package/esm/internals/plugins/labelEditing/selectors.d.ts +15 -0
  129. package/esm/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
  130. package/esm/internals/plugins/lazyLoading/index.d.ts +2 -0
  131. package/esm/internals/plugins/lazyLoading/index.js +2 -0
  132. package/esm/internals/plugins/lazyLoading/selectors.d.ts +19 -0
  133. package/esm/internals/plugins/lazyLoading/selectors.js +25 -0
  134. package/esm/internals/plugins/lazyLoading/types.d.ts +5 -0
  135. package/esm/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
  136. package/esm/internals/plugins/selection/TreeViewSelectionPlugin.js +319 -0
  137. package/esm/internals/plugins/selection/index.d.ts +2 -0
  138. package/esm/internals/plugins/selection/index.js +2 -0
  139. package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
  140. package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +3 -3
  141. package/esm/internals/plugins/selection/selectors.d.ts +48 -0
  142. package/esm/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +14 -9
  143. package/esm/internals/utils/tree.d.ts +8 -10
  144. package/esm/internals/utils/tree.js +2 -2
  145. package/esm/models/items.d.ts +5 -2
  146. package/esm/useTreeItem/useTreeItem.d.ts +18 -2
  147. package/esm/useTreeItem/useTreeItem.js +14 -18
  148. package/esm/useTreeItem/useTreeItem.types.d.ts +4 -19
  149. package/hooks/useApplyPropagationToSelectedItemsOnMount.js +2 -2
  150. package/hooks/useRichTreeViewApiRef.d.ts +2 -2
  151. package/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
  152. package/hooks/useTreeItemModel.d.ts +2 -2
  153. package/hooks/useTreeItemModel.js +2 -2
  154. package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
  155. package/hooks/useTreeItemUtils/useTreeItemUtils.js +41 -49
  156. package/hooks/useTreeViewApiRef.d.ts +2 -4
  157. package/hooks/useTreeViewApiRef.js +2 -4
  158. package/index.d.ts +0 -1
  159. package/index.js +1 -22
  160. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
  161. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +134 -0
  162. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
  163. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
  164. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +58 -0
  165. package/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
  166. package/internals/MinimalTreeViewStore/TimeoutManager.js +46 -0
  167. package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
  168. package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +23 -0
  169. package/internals/MinimalTreeViewStore/index.d.ts +2 -0
  170. package/internals/MinimalTreeViewStore/index.js +27 -0
  171. package/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
  172. package/internals/RichTreeViewStore/RichTreeViewStore.js +30 -0
  173. package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
  174. package/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
  175. package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +22 -0
  176. package/internals/RichTreeViewStore/index.d.ts +3 -0
  177. package/internals/RichTreeViewStore/index.js +38 -0
  178. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
  179. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +26 -0
  180. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
  181. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
  182. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +11 -0
  183. package/internals/SimpleTreeViewStore/index.d.ts +2 -0
  184. package/internals/SimpleTreeViewStore/index.js +27 -0
  185. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
  186. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -4
  187. package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
  188. package/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
  189. package/internals/TreeViewProvider/TreeViewProvider.js +14 -9
  190. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
  191. package/internals/TreeViewProvider/index.d.ts +1 -1
  192. package/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
  193. package/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
  194. package/internals/components/RichTreeViewItems.js +9 -9
  195. package/internals/hooks/useTreeViewRootProps.d.ts +287 -0
  196. package/internals/hooks/useTreeViewRootProps.js +36 -0
  197. package/internals/hooks/useTreeViewStore.d.ts +10 -0
  198. package/internals/hooks/useTreeViewStore.js +26 -0
  199. package/internals/index.d.ts +15 -21
  200. package/internals/index.js +40 -70
  201. package/internals/models/events.d.ts +24 -3
  202. package/internals/models/index.d.ts +2 -3
  203. package/internals/models/index.js +11 -22
  204. package/internals/models/itemPlugin.d.ts +9 -0
  205. package/internals/models/treeView.d.ts +5 -9
  206. package/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
  207. package/internals/plugins/expansion/TreeViewExpansionPlugin.js +132 -0
  208. package/internals/plugins/expansion/index.d.ts +2 -0
  209. package/internals/plugins/expansion/index.js +27 -0
  210. package/internals/plugins/expansion/selectors.d.ts +27 -0
  211. package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +8 -8
  212. package/internals/plugins/expansion/utils.d.ts +5 -0
  213. package/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
  214. package/internals/plugins/focus/TreeViewFocusPlugin.js +114 -0
  215. package/internals/plugins/focus/index.d.ts +2 -0
  216. package/internals/plugins/focus/index.js +27 -0
  217. package/internals/plugins/focus/selectors.d.ts +21 -0
  218. package/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +9 -9
  219. package/internals/plugins/id/index.d.ts +1 -0
  220. package/internals/plugins/id/index.js +16 -0
  221. package/internals/plugins/id/selectors.d.ts +13 -0
  222. package/internals/plugins/id/selectors.js +24 -0
  223. package/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
  224. package/internals/plugins/items/TreeViewItemsPlugin.js +231 -0
  225. package/internals/plugins/items/index.d.ts +3 -0
  226. package/internals/plugins/items/index.js +46 -0
  227. package/internals/plugins/items/selectors.d.ts +60 -0
  228. package/internals/plugins/{useTreeViewItems/useTreeViewItems.selectors.js → items/selectors.js} +16 -16
  229. package/internals/plugins/items/utils.d.ts +43 -0
  230. package/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -51
  231. package/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
  232. package/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +89 -0
  233. package/internals/plugins/jsxItems/index.d.ts +1 -0
  234. package/internals/plugins/jsxItems/index.js +16 -0
  235. package/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
  236. package/internals/plugins/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +30 -17
  237. package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
  238. package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +313 -0
  239. package/internals/plugins/keyboardNavigation/index.d.ts +1 -0
  240. package/internals/plugins/keyboardNavigation/index.js +16 -0
  241. package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
  242. package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +58 -0
  243. package/internals/plugins/labelEditing/index.d.ts +2 -0
  244. package/internals/plugins/labelEditing/index.js +27 -0
  245. package/{esm/internals/plugins/useTreeViewLabel → internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
  246. package/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +6 -6
  247. package/internals/plugins/labelEditing/selectors.d.ts +15 -0
  248. package/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
  249. package/internals/plugins/lazyLoading/index.d.ts +2 -0
  250. package/internals/plugins/lazyLoading/index.js +27 -0
  251. package/internals/plugins/lazyLoading/selectors.d.ts +19 -0
  252. package/internals/plugins/{useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js → lazyLoading/selectors.js} +11 -6
  253. package/internals/plugins/lazyLoading/types.d.ts +5 -0
  254. package/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
  255. package/internals/plugins/selection/TreeViewSelectionPlugin.js +327 -0
  256. package/internals/plugins/selection/index.d.ts +2 -0
  257. package/internals/plugins/selection/index.js +27 -0
  258. package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
  259. package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +13 -13
  260. package/internals/plugins/selection/selectors.d.ts +48 -0
  261. package/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +14 -9
  262. package/internals/utils/tree.d.ts +8 -10
  263. package/internals/utils/tree.js +33 -33
  264. package/models/items.d.ts +5 -2
  265. package/package.json +2 -2
  266. package/useTreeItem/useTreeItem.d.ts +18 -2
  267. package/useTreeItem/useTreeItem.js +18 -23
  268. package/useTreeItem/useTreeItem.types.d.ts +4 -19
  269. package/RichTreeView/RichTreeView.plugins.d.ts +0 -10
  270. package/RichTreeView/RichTreeView.plugins.js +0 -15
  271. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
  272. package/SimpleTreeView/SimpleTreeView.plugins.js +0 -15
  273. package/esm/RichTreeView/RichTreeView.plugins.d.ts +0 -10
  274. package/esm/RichTreeView/RichTreeView.plugins.js +0 -9
  275. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
  276. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +0 -9
  277. package/esm/internals/corePlugins/corePlugins.d.ts +0 -9
  278. package/esm/internals/corePlugins/corePlugins.js +0 -8
  279. package/esm/internals/corePlugins/index.d.ts +0 -2
  280. package/esm/internals/corePlugins/index.js +0 -1
  281. package/esm/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
  282. package/esm/internals/corePlugins/useTreeViewId/index.js +0 -2
  283. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  284. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -38
  285. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
  286. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  287. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  288. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  289. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  290. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  291. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  292. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  293. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -31
  294. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  295. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  296. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  297. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  298. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  299. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  300. package/esm/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  301. package/esm/internals/hooks/useInstanceEventHandler.js +0 -79
  302. package/esm/internals/models/helpers.d.ts +0 -7
  303. package/esm/internals/models/plugin.d.ts +0 -166
  304. package/esm/internals/models/plugin.js +0 -1
  305. package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
  306. package/esm/internals/plugins/useTreeViewExpansion/index.js +0 -2
  307. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  308. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -149
  309. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
  310. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
  311. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  312. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
  313. package/esm/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
  314. package/esm/internals/plugins/useTreeViewFocus/index.js +0 -2
  315. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  316. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -113
  317. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
  318. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  319. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  320. package/esm/internals/plugins/useTreeViewItems/index.d.ts +0 -4
  321. package/esm/internals/plugins/useTreeViewItems/index.js +0 -3
  322. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  323. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -223
  324. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -60
  325. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -64
  326. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -204
  327. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  328. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
  329. package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  330. package/esm/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  331. package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
  332. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  333. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -104
  334. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  335. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  336. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  337. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  338. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -305
  339. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
  340. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  341. package/esm/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
  342. package/esm/internals/plugins/useTreeViewLabel/index.js +0 -2
  343. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  344. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -70
  345. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
  346. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
  347. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  348. package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
  349. package/esm/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  350. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
  351. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -20
  352. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
  353. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  354. package/esm/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
  355. package/esm/internals/plugins/useTreeViewSelection/index.js +0 -2
  356. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  357. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -231
  358. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -45
  359. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
  360. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  361. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
  362. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -107
  363. package/esm/internals/useTreeView/index.d.ts +0 -1
  364. package/esm/internals/useTreeView/index.js +0 -1
  365. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
  366. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -51
  367. package/esm/internals/useTreeView/useTreeView.d.ts +0 -18
  368. package/esm/internals/useTreeView/useTreeView.js +0 -102
  369. package/esm/internals/useTreeView/useTreeView.types.d.ts +0 -20
  370. package/esm/internals/useTreeView/useTreeView.types.js +0 -1
  371. package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
  372. package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  373. package/esm/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  374. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  375. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -14
  376. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  377. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  378. package/esm/internals/utils/plugins.d.ts +0 -2
  379. package/esm/internals/utils/plugins.js +0 -4
  380. package/esm/internals/utils/publishTreeViewEvent.d.ts +0 -5
  381. package/esm/internals/utils/publishTreeViewEvent.js +0 -3
  382. package/internals/corePlugins/corePlugins.d.ts +0 -9
  383. package/internals/corePlugins/corePlugins.js +0 -14
  384. package/internals/corePlugins/index.d.ts +0 -2
  385. package/internals/corePlugins/index.js +0 -12
  386. package/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
  387. package/internals/corePlugins/useTreeViewId/index.js +0 -19
  388. package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  389. package/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -46
  390. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
  391. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
  392. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  393. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  394. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -34
  395. package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  396. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
  397. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  398. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -38
  399. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  400. package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  401. package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
  402. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  403. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
  404. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  405. package/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  406. package/internals/hooks/useInstanceEventHandler.js +0 -87
  407. package/internals/models/helpers.d.ts +0 -7
  408. package/internals/models/plugin.d.ts +0 -166
  409. package/internals/models/plugin.js +0 -5
  410. package/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
  411. package/internals/plugins/useTreeViewExpansion/index.js +0 -19
  412. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  413. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -157
  414. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
  415. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
  416. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
  417. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
  418. package/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
  419. package/internals/plugins/useTreeViewFocus/index.js +0 -19
  420. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  421. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -121
  422. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
  423. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  424. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
  425. package/internals/plugins/useTreeViewItems/index.d.ts +0 -4
  426. package/internals/plugins/useTreeViewItems/index.js +0 -32
  427. package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  428. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -231
  429. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -60
  430. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -204
  431. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
  432. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
  433. package/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  434. package/internals/plugins/useTreeViewJSXItems/index.js +0 -12
  435. package/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
  436. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  437. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -112
  438. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
  439. package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  440. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
  441. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  442. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -312
  443. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
  444. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
  445. package/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
  446. package/internals/plugins/useTreeViewLabel/index.js +0 -19
  447. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  448. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -78
  449. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
  450. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
  451. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
  452. package/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
  453. package/internals/plugins/useTreeViewLazyLoading/index.js +0 -12
  454. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
  455. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
  456. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -5
  457. package/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
  458. package/internals/plugins/useTreeViewSelection/index.js +0 -19
  459. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  460. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -240
  461. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -45
  462. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
  463. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
  464. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
  465. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -116
  466. package/internals/useTreeView/index.d.ts +0 -1
  467. package/internals/useTreeView/index.js +0 -12
  468. package/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
  469. package/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -60
  470. package/internals/useTreeView/useTreeView.d.ts +0 -18
  471. package/internals/useTreeView/useTreeView.js +0 -112
  472. package/internals/useTreeView/useTreeView.types.d.ts +0 -20
  473. package/internals/useTreeView/useTreeView.types.js +0 -5
  474. package/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
  475. package/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  476. package/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
  477. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  478. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -21
  479. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  480. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -45
  481. package/internals/utils/plugins.d.ts +0 -2
  482. package/internals/utils/plugins.js +0 -11
  483. package/internals/utils/publishTreeViewEvent.d.ts +0 -5
  484. package/internals/utils/publishTreeViewEvent.js +0 -10
  485. /package/esm/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
  486. /package/esm/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
  487. /package/esm/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
  488. /package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
  489. /package/esm/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
  490. /package/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
  491. /package/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
  492. /package/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
  493. /package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
  494. /package/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
@@ -3,28 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _helpers = require("./helpers");
7
- Object.keys(_helpers).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _helpers[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _helpers[key];
14
- }
15
- });
16
- });
17
- var _plugin = require("./plugin");
18
- Object.keys(_plugin).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _plugin[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _plugin[key];
25
- }
26
- });
27
- });
28
6
  var _itemPlugin = require("./itemPlugin");
29
7
  Object.keys(_itemPlugin).forEach(function (key) {
30
8
  if (key === "default" || key === "__esModule") return;
@@ -46,4 +24,15 @@ Object.keys(_treeView).forEach(function (key) {
46
24
  return _treeView[key];
47
25
  }
48
26
  });
27
+ });
28
+ var _events = require("./events");
29
+ Object.keys(_events).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _events[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _events[key];
36
+ }
37
+ });
49
38
  });
@@ -1,8 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { EventHandlers } from '@mui/utils/types';
3
+ import { TreeViewItemId } from "../../models/index.js";
3
4
  import type { UseTreeItemContentSlotOwnProps, UseTreeItemDragAndDropOverlaySlotOwnProps, UseTreeItemLabelInputSlotOwnProps, UseTreeItemRootSlotOwnProps, UseTreeItemCheckboxSlotOwnProps, UseTreeItemLabelSlotOwnProps } from "../../useTreeItem/index.js";
4
5
  import type { UseTreeItemInteractions } from "../../hooks/useTreeItemUtils/useTreeItemUtils.js";
5
6
  import type { TreeItemProps } from "../../TreeItem/TreeItem.types.js";
7
+ import { TreeViewAnyStore } from "./treeView.js";
8
+ import { TreeViewStoreInContext } from "../TreeViewProvider/index.js";
6
9
  export interface TreeViewItemPluginSlotPropsEnhancerParams {
7
10
  rootRefObject: React.RefObject<HTMLLIElement | null>;
8
11
  contentRefObject: React.RefObject<HTMLDivElement | null>;
@@ -40,4 +43,10 @@ export interface TreeViewItemPluginOptions extends Omit<TreeViewItemPluginRespon
40
43
  props: TreeItemProps;
41
44
  }
42
45
  export type TreeViewItemPlugin = (options: TreeViewItemPluginOptions) => void | TreeViewItemPluginResponse;
46
+ export type TreeItemWrapper<TStore extends TreeViewAnyStore> = (params: {
47
+ itemId: TreeViewItemId;
48
+ children: React.ReactNode;
49
+ store: TreeViewStoreInContext<TStore>;
50
+ idAttribute: string;
51
+ }) => React.ReactNode;
43
52
  export {};
@@ -1,7 +1,4 @@
1
- import { ReadonlyStore, Store } from '@mui/x-internals/store';
2
- import type { TreeViewAnyPluginSignature } from "./plugin.js";
3
- import type { MergeSignaturesProperty } from "./helpers.js";
4
- import type { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
1
+ import { MinimalTreeViewStore } from "../MinimalTreeViewStore/index.js";
5
2
  export interface TreeViewItemMeta {
6
3
  id: string;
7
4
  idAttribute: string | undefined;
@@ -18,8 +15,7 @@ export interface TreeViewItemMeta {
18
15
  */
19
16
  label?: string;
20
17
  }
21
- export type TreeViewInstance<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'instance'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
22
- export type TreeViewPublicAPI<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'publicAPI'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
23
- export type TreeViewState<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'state'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'state'>>;
24
- export type TreeViewStore<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = Store<TreeViewState<TSignatures, TOptionalSignatures>>;
25
- export type TreeViewReadonlyStore<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = ReadonlyStore<TreeViewState<TSignatures, TOptionalSignatures>>;
18
+ export interface TreeViewAnyStore extends MinimalTreeViewStore<any, any, any, any> {
19
+ itemPluginManager: any;
20
+ }
21
+ export type TreeViewPublicAPI<TStore extends TreeViewAnyStore> = ReturnType<TStore['buildPublicAPI']>;
@@ -0,0 +1,69 @@
1
+ import { TreeViewItemId } from "../../../models/index.js";
2
+ export declare class TreeViewExpansionPlugin {
3
+ private store;
4
+ constructor(store: any);
5
+ private setExpandedItems;
6
+ /**
7
+ * Check if an item is expanded.
8
+ * @param {TreeViewItemId} itemId The id of the item to check.
9
+ * @returns {boolean} `true` if the item is expanded, `false` otherwise.
10
+ */
11
+ private isItemExpanded;
12
+ buildPublicAPI: () => {
13
+ isItemExpanded: (itemId: TreeViewItemId) => boolean;
14
+ setItemExpansion: ({
15
+ itemId,
16
+ event,
17
+ shouldBeExpanded
18
+ }: {
19
+ itemId: TreeViewItemId;
20
+ event?: React.SyntheticEvent | null;
21
+ shouldBeExpanded?: boolean;
22
+ }) => void;
23
+ };
24
+ /**
25
+ * Change the expansion status of a given item.
26
+ * @param {object} parameters The parameters of the method.
27
+ * @param {TreeViewItemId} parameters.itemId The id of the item to expand of collapse.
28
+ * @param {React.SyntheticEvent} parameters.event The DOM event that triggered the change.
29
+ * @param {boolean} parameters.shouldBeExpanded If `true` the item will be expanded. If `false` the item will be collapsed. If not defined, the item's expansion status will be the toggled.
30
+ */
31
+ setItemExpansion: ({
32
+ itemId,
33
+ event,
34
+ shouldBeExpanded
35
+ }: {
36
+ itemId: TreeViewItemId;
37
+ event?: React.SyntheticEvent | null;
38
+ shouldBeExpanded?: boolean;
39
+ }) => void;
40
+ /**
41
+ * Apply the new expansion status of a given item.
42
+ * Is used by the `setItemExpansion` method and by the `useTreeViewLazyLoading` plugin.
43
+ * Unlike `setItemExpansion`, this method does not trigger the lazy loading.
44
+ * @param {object} parameters The parameters of the method.
45
+ * @param {TreeViewItemId} parameters.itemId The id of the item to expand of collapse.
46
+ * @param {React.SyntheticEvent | null} parameters.event The DOM event that triggered the change.
47
+ * @param {boolean} parameters.shouldBeExpanded If `true` the item will be expanded. If `false` the item will be collapsed.
48
+ */
49
+ applyItemExpansion: ({
50
+ itemId,
51
+ event,
52
+ shouldBeExpanded
53
+ }: {
54
+ itemId: TreeViewItemId;
55
+ event: React.SyntheticEvent | null;
56
+ shouldBeExpanded: boolean;
57
+ }) => void;
58
+ /**
59
+ * Expand all the siblings (i.e.: the items that have the same parent) of a given item.
60
+ * @param {React.SyntheticEvent} event The DOM event that triggered the change.
61
+ * @param {TreeViewItemId} itemId The id of the item whose siblings will be expanded.
62
+ */
63
+ expandAllSiblings: (event: React.KeyboardEvent, itemId: TreeViewItemId) => void;
64
+ /**
65
+ * Mark a list of items as expandable.
66
+ * @param {TreeViewItemId[]} items The ids of the items to mark as expandable.
67
+ */
68
+ addExpandableItems: (items: TreeViewItemId[]) => void;
69
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.TreeViewExpansionPlugin = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _selectors = require("./selectors");
10
+ var _selectors2 = require("../items/selectors");
11
+ class TreeViewExpansionPlugin {
12
+ // We can't type `store`, otherwise we get the following TS error:
13
+ // 'expansion' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
14
+ constructor(store) {
15
+ this.store = store;
16
+ }
17
+ setExpandedItems = (event, value) => {
18
+ if (this.store.parameters.expandedItems === undefined) {
19
+ this.store.set('expandedItems', value);
20
+ }
21
+ this.store.parameters.onExpandedItemsChange?.(event, value);
22
+ };
23
+
24
+ /**
25
+ * Check if an item is expanded.
26
+ * @param {TreeViewItemId} itemId The id of the item to check.
27
+ * @returns {boolean} `true` if the item is expanded, `false` otherwise.
28
+ */
29
+ isItemExpanded = itemId => _selectors.expansionSelectors.isItemExpanded(this.store.state, itemId);
30
+ buildPublicAPI = () => {
31
+ return {
32
+ isItemExpanded: this.isItemExpanded,
33
+ setItemExpansion: this.setItemExpansion
34
+ };
35
+ };
36
+
37
+ /**
38
+ * Change the expansion status of a given item.
39
+ * @param {object} parameters The parameters of the method.
40
+ * @param {TreeViewItemId} parameters.itemId The id of the item to expand of collapse.
41
+ * @param {React.SyntheticEvent} parameters.event The DOM event that triggered the change.
42
+ * @param {boolean} parameters.shouldBeExpanded If `true` the item will be expanded. If `false` the item will be collapsed. If not defined, the item's expansion status will be the toggled.
43
+ */
44
+ setItemExpansion = ({
45
+ itemId,
46
+ event = null,
47
+ shouldBeExpanded
48
+ }) => {
49
+ const isExpandedBefore = _selectors.expansionSelectors.isItemExpanded(this.store.state, itemId);
50
+ const cleanShouldBeExpanded = shouldBeExpanded ?? !isExpandedBefore;
51
+ if (isExpandedBefore === cleanShouldBeExpanded) {
52
+ return;
53
+ }
54
+ const eventParameters = {
55
+ isExpansionPrevented: false,
56
+ shouldBeExpanded: cleanShouldBeExpanded,
57
+ itemId
58
+ };
59
+ this.store.publishEvent('beforeItemToggleExpansion', eventParameters, event);
60
+ if (eventParameters.isExpansionPrevented) {
61
+ return;
62
+ }
63
+ this.applyItemExpansion({
64
+ itemId,
65
+ event,
66
+ shouldBeExpanded: cleanShouldBeExpanded
67
+ });
68
+ };
69
+
70
+ /**
71
+ * Apply the new expansion status of a given item.
72
+ * Is used by the `setItemExpansion` method and by the `useTreeViewLazyLoading` plugin.
73
+ * Unlike `setItemExpansion`, this method does not trigger the lazy loading.
74
+ * @param {object} parameters The parameters of the method.
75
+ * @param {TreeViewItemId} parameters.itemId The id of the item to expand of collapse.
76
+ * @param {React.SyntheticEvent | null} parameters.event The DOM event that triggered the change.
77
+ * @param {boolean} parameters.shouldBeExpanded If `true` the item will be expanded. If `false` the item will be collapsed.
78
+ */
79
+ applyItemExpansion = ({
80
+ itemId,
81
+ event,
82
+ shouldBeExpanded
83
+ }) => {
84
+ const oldExpanded = _selectors.expansionSelectors.expandedItemsRaw(this.store.state);
85
+ let newExpanded;
86
+ if (shouldBeExpanded) {
87
+ newExpanded = [itemId].concat(oldExpanded);
88
+ } else {
89
+ newExpanded = oldExpanded.filter(id => id !== itemId);
90
+ }
91
+ this.store.parameters.onItemExpansionToggle?.(event, itemId, shouldBeExpanded);
92
+ this.setExpandedItems(event, newExpanded);
93
+ };
94
+
95
+ /**
96
+ * Expand all the siblings (i.e.: the items that have the same parent) of a given item.
97
+ * @param {React.SyntheticEvent} event The DOM event that triggered the change.
98
+ * @param {TreeViewItemId} itemId The id of the item whose siblings will be expanded.
99
+ */
100
+ expandAllSiblings = (event, itemId) => {
101
+ const itemMeta = _selectors2.itemsSelectors.itemMeta(this.store.state, itemId);
102
+ if (itemMeta == null) {
103
+ return;
104
+ }
105
+ const siblings = _selectors2.itemsSelectors.itemOrderedChildrenIds(this.store.state, itemMeta.parentId);
106
+ const diff = siblings.filter(child => _selectors.expansionSelectors.isItemExpandable(this.store.state, child) && !_selectors.expansionSelectors.isItemExpanded(this.store.state, child));
107
+ const newExpanded = _selectors.expansionSelectors.expandedItemsRaw(this.store.state).concat(diff);
108
+ if (diff.length > 0) {
109
+ if (this.store.parameters.onItemExpansionToggle) {
110
+ diff.forEach(newlyExpandedItemId => {
111
+ this.store.parameters.onItemExpansionToggle(event, newlyExpandedItemId, true);
112
+ });
113
+ }
114
+ this.setExpandedItems(event, newExpanded);
115
+ }
116
+ };
117
+
118
+ /**
119
+ * Mark a list of items as expandable.
120
+ * @param {TreeViewItemId[]} items The ids of the items to mark as expandable.
121
+ */
122
+ addExpandableItems = items => {
123
+ const newItemMetaLookup = (0, _extends2.default)({}, this.store.state.itemMetaLookup);
124
+ for (const itemId of items) {
125
+ newItemMetaLookup[itemId] = (0, _extends2.default)({}, newItemMetaLookup[itemId], {
126
+ expandable: true
127
+ });
128
+ }
129
+ this.store.set('itemMetaLookup', newItemMetaLookup);
130
+ };
131
+ }
132
+ exports.TreeViewExpansionPlugin = TreeViewExpansionPlugin;
@@ -0,0 +1,2 @@
1
+ export * from "./TreeViewExpansionPlugin.js";
2
+ export * from "./selectors.js";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _TreeViewExpansionPlugin = require("./TreeViewExpansionPlugin");
7
+ Object.keys(_TreeViewExpansionPlugin).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _TreeViewExpansionPlugin[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _TreeViewExpansionPlugin[key];
14
+ }
15
+ });
16
+ });
17
+ var _selectors = require("./selectors");
18
+ Object.keys(_selectors).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _selectors[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _selectors[key];
25
+ }
26
+ });
27
+ });
@@ -0,0 +1,27 @@
1
+ import { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
2
+ export declare const expansionSelectors: {
3
+ /**
4
+ * Gets the expanded items as provided to the component.
5
+ */
6
+ expandedItemsRaw: (state: MinimalTreeViewState<any, any>) => readonly string[];
7
+ /**
8
+ * Gets the expanded items as a Map.
9
+ */
10
+ expandedItemsMap: (args_0: MinimalTreeViewState<any, any>) => Map<string, true>;
11
+ /**
12
+ * Gets the items to render as a flat list (the descendants of an expanded item are listed as siblings of the item).
13
+ */
14
+ flatList: (args_0: MinimalTreeViewState<any, any>) => string[];
15
+ /**
16
+ * Gets the slot that triggers the item's expansion when clicked.
17
+ */
18
+ triggerSlot: (state: MinimalTreeViewState<any, any>) => "content" | "iconContainer";
19
+ /**
20
+ * Checks whether an item is expanded.
21
+ */
22
+ isItemExpanded: (args_0: MinimalTreeViewState<any, any>, itemId: string) => boolean;
23
+ /**
24
+ * Checks whether an item is expandable.
25
+ */
26
+ isItemExpandable: (args_0: MinimalTreeViewState<any, any>, _itemId: string) => boolean;
27
+ };
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.expansionSelectors = void 0;
7
7
  var _store = require("@mui/x-internals/store");
8
- var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.selectors");
9
- var _useTreeViewItems2 = require("../useTreeViewItems");
10
- const expandedItemMapSelector = (0, _store.createSelectorMemoized)(state => state.expansion.expandedItems, expandedItems => {
8
+ var _selectors = require("../items/selectors");
9
+ var _items = require("../items");
10
+ const expandedItemMapSelector = (0, _store.createSelectorMemoized)(state => state.expandedItems, expandedItems => {
11
11
  const expandedItemsMap = new Map();
12
12
  expandedItems.forEach(id => {
13
13
  expandedItemsMap.set(id, true);
@@ -18,7 +18,7 @@ const expansionSelectors = exports.expansionSelectors = {
18
18
  /**
19
19
  * Gets the expanded items as provided to the component.
20
20
  */
21
- expandedItemsRaw: (0, _store.createSelector)(state => state.expansion.expandedItems),
21
+ expandedItemsRaw: (0, _store.createSelector)(state => state.expandedItems),
22
22
  /**
23
23
  * Gets the expanded items as a Map.
24
24
  */
@@ -26,7 +26,7 @@ const expansionSelectors = exports.expansionSelectors = {
26
26
  /**
27
27
  * Gets the items to render as a flat list (the descendants of an expanded item are listed as siblings of the item).
28
28
  */
29
- flatList: (0, _store.createSelectorMemoized)(_useTreeViewItems.itemsSelectors.itemOrderedChildrenIdsLookup, expandedItemMapSelector, (itemOrderedChildrenIds, expandedItemsMap) => {
29
+ flatList: (0, _store.createSelectorMemoized)(_selectors.itemsSelectors.itemOrderedChildrenIdsLookup, expandedItemMapSelector, (itemOrderedChildrenIds, expandedItemsMap) => {
30
30
  function appendChildren(itemId) {
31
31
  if (!expandedItemsMap.has(itemId)) {
32
32
  return [itemId];
@@ -38,12 +38,12 @@ const expansionSelectors = exports.expansionSelectors = {
38
38
  }
39
39
  return itemsWithDescendants;
40
40
  }
41
- return (itemOrderedChildrenIds[_useTreeViewItems2.TREE_VIEW_ROOT_PARENT_ID] ?? []).flatMap(appendChildren);
41
+ return (itemOrderedChildrenIds[_items.TREE_VIEW_ROOT_PARENT_ID] ?? []).flatMap(appendChildren);
42
42
  }),
43
43
  /**
44
44
  * Gets the slot that triggers the item's expansion when clicked.
45
45
  */
46
- triggerSlot: (0, _store.createSelector)(state => state.expansion.expansionTrigger),
46
+ triggerSlot: (0, _store.createSelector)(state => state.expansionTrigger),
47
47
  /**
48
48
  * Checks whether an item is expanded.
49
49
  */
@@ -51,5 +51,5 @@ const expansionSelectors = exports.expansionSelectors = {
51
51
  /**
52
52
  * Checks whether an item is expandable.
53
53
  */
54
- isItemExpandable: (0, _store.createSelector)(_useTreeViewItems.itemsSelectors.itemMeta, (itemMeta, _itemId) => itemMeta?.expandable ?? false)
54
+ isItemExpandable: (0, _store.createSelector)(_selectors.itemsSelectors.itemMeta, (itemMeta, _itemId) => itemMeta?.expandable ?? false)
55
55
  };
@@ -0,0 +1,5 @@
1
+ import { RichTreeViewStoreParameters } from "../../RichTreeViewStore/index.js";
2
+ export declare const getExpansionTrigger: ({
3
+ isItemEditable,
4
+ expansionTrigger
5
+ }: Pick<RichTreeViewStoreParameters<any, any>, "isItemEditable" | "expansionTrigger">) => "content" | "iconContainer";
@@ -0,0 +1,33 @@
1
+ import { TreeViewCancellableEvent, TreeViewItemId } from "../../../models/index.js";
2
+ export declare class TreeViewFocusPlugin {
3
+ private store;
4
+ constructor(store: any);
5
+ private setFocusedItemId;
6
+ private applyItemFocus;
7
+ buildPublicAPI: () => {
8
+ focusItem: (event: React.SyntheticEvent | null, itemId: TreeViewItemId) => void;
9
+ };
10
+ /**
11
+ * Focus the item with the given id.
12
+ *
13
+ * If the item is the child of a collapsed item, then this method will do nothing.
14
+ * Make sure to expand the ancestors of the item before calling this method if needed.
15
+ * @param {React.SyntheticEvent | null} event The DOM event that triggered the change.
16
+ * @param {TreeViewItemId} itemId The id of the item to focus.
17
+ */
18
+ focusItem: (event: React.SyntheticEvent | null, itemId: TreeViewItemId) => void;
19
+ /**
20
+ * Remove the focus from the currently focused item (both from the internal state and the DOM).
21
+ */
22
+ removeFocusedItem: () => void;
23
+ /**
24
+ * Event handler to fire when the `root` slot of the Tree View is focused.
25
+ * @param {React.MouseEvent} event The DOM event that triggered the change.
26
+ */
27
+ handleRootFocus: (event: React.FocusEvent<HTMLUListElement> & TreeViewCancellableEvent) => void;
28
+ /**
29
+ * Event handler to fire when the `root` slot of the Tree View is blurred.
30
+ * @param {React.MouseEvent} event The DOM event that triggered the change.
31
+ */
32
+ handleRootBlur: (event: React.FocusEvent<HTMLUListElement> & TreeViewCancellableEvent) => void;
33
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TreeViewFocusPlugin = void 0;
7
+ var _expansion = require("../expansion");
8
+ var _selectors = require("./selectors");
9
+ var _items = require("../items");
10
+ class TreeViewFocusPlugin {
11
+ // We can't type `store`, otherwise we get the following TS error:
12
+ // 'focus' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
13
+ constructor(store) {
14
+ this.store = store;
15
+
16
+ // Whenever the items change, we need to ensure the focused item is still present.
17
+ this.store.registerStoreEffect(_items.itemsSelectors.itemMetaLookup, () => {
18
+ const focusedItemId = _selectors.focusSelectors.focusedItemId(store.state);
19
+ if (focusedItemId == null) {
20
+ return;
21
+ }
22
+ const hasItemBeenRemoved = !_items.itemsSelectors.itemMeta(store.state, focusedItemId);
23
+ if (!hasItemBeenRemoved) {
24
+ return;
25
+ }
26
+ const defaultFocusableItemId = _selectors.focusSelectors.defaultFocusableItemId(store.state);
27
+ if (defaultFocusableItemId == null) {
28
+ this.setFocusedItemId(null);
29
+ return;
30
+ }
31
+ this.applyItemFocus(null, defaultFocusableItemId);
32
+ });
33
+ }
34
+ setFocusedItemId = itemId => {
35
+ const focusedItemId = _selectors.focusSelectors.focusedItemId(this.store.state);
36
+ if (focusedItemId === itemId) {
37
+ return;
38
+ }
39
+ this.store.set('focusedItemId', itemId);
40
+ };
41
+ applyItemFocus = (event, itemId) => {
42
+ this.store.items.getItemDOMElement(itemId)?.focus();
43
+ this.setFocusedItemId(itemId);
44
+ this.store.parameters.onItemFocus?.(event, itemId);
45
+ };
46
+ buildPublicAPI = () => {
47
+ return {
48
+ focusItem: this.focusItem
49
+ };
50
+ };
51
+
52
+ /**
53
+ * Focus the item with the given id.
54
+ *
55
+ * If the item is the child of a collapsed item, then this method will do nothing.
56
+ * Make sure to expand the ancestors of the item before calling this method if needed.
57
+ * @param {React.SyntheticEvent | null} event The DOM event that triggered the change.
58
+ * @param {TreeViewItemId} itemId The id of the item to focus.
59
+ */
60
+ focusItem = (event, itemId) => {
61
+ // If we receive an itemId, and it is visible, the focus will be set to it
62
+ const itemMeta = _items.itemsSelectors.itemMeta(this.store.state, itemId);
63
+ const isItemVisible = itemMeta && (itemMeta.parentId == null || _expansion.expansionSelectors.isItemExpanded(this.store.state, itemMeta.parentId));
64
+ if (isItemVisible) {
65
+ this.applyItemFocus(event, itemId);
66
+ }
67
+ };
68
+
69
+ /**
70
+ * Remove the focus from the currently focused item (both from the internal state and the DOM).
71
+ */
72
+ removeFocusedItem = () => {
73
+ const focusedItemId = _selectors.focusSelectors.focusedItemId(this.store.state);
74
+ if (focusedItemId == null) {
75
+ return;
76
+ }
77
+ const itemMeta = _items.itemsSelectors.itemMeta(this.store.state, focusedItemId);
78
+ if (itemMeta) {
79
+ const itemElement = this.store.items.getItemDOMElement(focusedItemId);
80
+ if (itemElement) {
81
+ itemElement.blur();
82
+ }
83
+ }
84
+ this.setFocusedItemId(null);
85
+ };
86
+
87
+ /**
88
+ * Event handler to fire when the `root` slot of the Tree View is focused.
89
+ * @param {React.MouseEvent} event The DOM event that triggered the change.
90
+ */
91
+ handleRootFocus = event => {
92
+ if (event.defaultMuiPrevented) {
93
+ return;
94
+ }
95
+
96
+ // if the event bubbled (which is React specific) we don't want to steal focus
97
+ const defaultFocusableItemId = _selectors.focusSelectors.defaultFocusableItemId(this.store.state);
98
+ if (event.target === event.currentTarget && defaultFocusableItemId != null) {
99
+ this.applyItemFocus(event, defaultFocusableItemId);
100
+ }
101
+ };
102
+
103
+ /**
104
+ * Event handler to fire when the `root` slot of the Tree View is blurred.
105
+ * @param {React.MouseEvent} event The DOM event that triggered the change.
106
+ */
107
+ handleRootBlur = event => {
108
+ if (event.defaultMuiPrevented) {
109
+ return;
110
+ }
111
+ this.setFocusedItemId(null);
112
+ };
113
+ }
114
+ exports.TreeViewFocusPlugin = TreeViewFocusPlugin;
@@ -0,0 +1,2 @@
1
+ export * from "./TreeViewFocusPlugin.js";
2
+ export * from "./selectors.js";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _TreeViewFocusPlugin = require("./TreeViewFocusPlugin");
7
+ Object.keys(_TreeViewFocusPlugin).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _TreeViewFocusPlugin[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _TreeViewFocusPlugin[key];
14
+ }
15
+ });
16
+ });
17
+ var _selectors = require("./selectors");
18
+ Object.keys(_selectors).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _selectors[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _selectors[key];
25
+ }
26
+ });
27
+ });
@@ -0,0 +1,21 @@
1
+ import { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
2
+ export declare const focusSelectors: {
3
+ /**
4
+ * Gets the item that should be sequentially focusable (usually with the Tab key).
5
+ * At any point in time, there is a single item that can be sequentially focused in the Tree View.
6
+ * 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.
7
+ */
8
+ defaultFocusableItemId: (args_0: MinimalTreeViewState<any, any>) => any;
9
+ /**
10
+ * Checks whether an item is the default focusable item.
11
+ */
12
+ isItemTheDefaultFocusableItem: (args_0: MinimalTreeViewState<any, any>, itemId: any) => boolean;
13
+ /**
14
+ * Gets the id of the item that is currently focused.
15
+ */
16
+ focusedItemId: (state: MinimalTreeViewState<any, any>) => string | null;
17
+ /**
18
+ * Checks whether an item is focused.
19
+ */
20
+ isItemFocused: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
21
+ };
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.focusSelectors = void 0;
7
7
  var _store = require("@mui/x-internals/store");
8
- var _useTreeViewSelection = require("../useTreeViewSelection/useTreeViewSelection.selectors");
9
- var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.selectors");
10
- var _useTreeViewItems2 = require("../useTreeViewItems/useTreeViewItems.utils");
11
- var _useTreeViewExpansion = require("../useTreeViewExpansion/useTreeViewExpansion.selectors");
12
- const defaultFocusableItemIdSelector = (0, _store.createSelectorMemoized)(_useTreeViewSelection.selectionSelectors.selectedItems, _useTreeViewExpansion.expansionSelectors.expandedItemsMap, _useTreeViewItems.itemsSelectors.itemMetaLookup, _useTreeViewItems.itemsSelectors.disabledItemFocusable, state => _useTreeViewItems.itemsSelectors.itemOrderedChildrenIds(state, null), (selectedItems, expandedItemsMap, itemMetaLookup, disabledItemsFocusable, orderedRootItemIds) => {
8
+ var _selectors = require("../selection/selectors");
9
+ var _selectors2 = require("../items/selectors");
10
+ var _utils = require("../items/utils");
11
+ var _selectors3 = require("../expansion/selectors");
12
+ const defaultFocusableItemIdSelector = (0, _store.createSelectorMemoized)(_selectors.selectionSelectors.selectedItems, _selectors3.expansionSelectors.expandedItemsMap, _selectors2.itemsSelectors.itemMetaLookup, _selectors2.itemsSelectors.disabledItemFocusable, state => _selectors2.itemsSelectors.itemOrderedChildrenIds(state, null), (selectedItems, expandedItemsMap, itemMetaLookup, disabledItemsFocusable, orderedRootItemIds) => {
13
13
  const firstSelectedItem = selectedItems.find(itemId => {
14
- if (!disabledItemsFocusable && (0, _useTreeViewItems2.isItemDisabled)(itemMetaLookup, itemId)) {
14
+ if (!disabledItemsFocusable && (0, _utils.isItemDisabled)(itemMetaLookup, itemId)) {
15
15
  return false;
16
16
  }
17
17
  const itemMeta = itemMetaLookup[itemId];
@@ -20,7 +20,7 @@ const defaultFocusableItemIdSelector = (0, _store.createSelectorMemoized)(_useTr
20
20
  if (firstSelectedItem != null) {
21
21
  return firstSelectedItem;
22
22
  }
23
- const firstNavigableItem = orderedRootItemIds.find(itemId => disabledItemsFocusable || !(0, _useTreeViewItems2.isItemDisabled)(itemMetaLookup, itemId));
23
+ const firstNavigableItem = orderedRootItemIds.find(itemId => disabledItemsFocusable || !(0, _utils.isItemDisabled)(itemMetaLookup, itemId));
24
24
  if (firstNavigableItem != null) {
25
25
  return firstNavigableItem;
26
26
  }
@@ -40,9 +40,9 @@ const focusSelectors = exports.focusSelectors = {
40
40
  /**
41
41
  * Gets the id of the item that is currently focused.
42
42
  */
43
- focusedItemId: (0, _store.createSelector)(state => state.focus.focusedItemId),
43
+ focusedItemId: (0, _store.createSelector)(state => state.focusedItemId),
44
44
  /**
45
45
  * Checks whether an item is focused.
46
46
  */
47
- isItemFocused: (0, _store.createSelector)((state, itemId) => state.focus.focusedItemId === itemId)
47
+ isItemFocused: (0, _store.createSelector)((state, itemId) => state.focusedItemId === itemId)
48
48
  };
@@ -0,0 +1 @@
1
+ export * from "./selectors.js";