@mui/x-tree-view 8.22.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 (497) hide show
  1. package/CHANGELOG.md +312 -0
  2. package/RichTreeView/RichTreeView.d.ts +1 -1
  3. package/RichTreeView/RichTreeView.js +41 -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/TreeItem/TreeItem.js +9 -2
  16. package/TreeItemProvider/TreeItemProvider.js +3 -10
  17. package/esm/RichTreeView/RichTreeView.d.ts +1 -1
  18. package/esm/RichTreeView/RichTreeView.js +40 -27
  19. package/esm/RichTreeView/RichTreeView.types.d.ts +6 -4
  20. package/esm/RichTreeView/index.d.ts +1 -3
  21. package/esm/RichTreeView/index.js +1 -1
  22. package/esm/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
  23. package/esm/RichTreeView/useExtractRichTreeViewParameters.js +83 -0
  24. package/esm/SimpleTreeView/SimpleTreeView.d.ts +1 -1
  25. package/esm/SimpleTreeView/SimpleTreeView.js +29 -23
  26. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
  27. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
  28. package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.js +70 -0
  29. package/esm/TreeItem/TreeItem.d.ts +1 -1
  30. package/esm/TreeItem/TreeItem.js +9 -2
  31. package/esm/TreeItemProvider/TreeItemProvider.js +3 -10
  32. package/esm/hooks/useApplyPropagationToSelectedItemsOnMount.js +2 -2
  33. package/esm/hooks/useRichTreeViewApiRef.d.ts +2 -2
  34. package/esm/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
  35. package/esm/hooks/useTreeItemModel.d.ts +2 -2
  36. package/esm/hooks/useTreeItemModel.js +1 -1
  37. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
  38. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +26 -35
  39. package/esm/hooks/useTreeViewApiRef.d.ts +3 -5
  40. package/esm/hooks/useTreeViewApiRef.js +4 -3
  41. package/esm/index.d.ts +0 -1
  42. package/esm/index.js +1 -2
  43. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
  44. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +126 -0
  45. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
  46. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
  47. package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +49 -0
  48. package/esm/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
  49. package/esm/internals/MinimalTreeViewStore/TimeoutManager.js +39 -0
  50. package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
  51. package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +16 -0
  52. package/esm/internals/MinimalTreeViewStore/index.d.ts +2 -0
  53. package/esm/internals/MinimalTreeViewStore/index.js +2 -0
  54. package/esm/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
  55. package/esm/internals/RichTreeViewStore/RichTreeViewStore.js +21 -0
  56. package/esm/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
  57. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
  58. package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.js +15 -0
  59. package/esm/internals/RichTreeViewStore/index.d.ts +3 -0
  60. package/esm/internals/RichTreeViewStore/index.js +3 -0
  61. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
  62. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +18 -0
  63. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
  64. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
  65. package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +5 -0
  66. package/esm/internals/SimpleTreeViewStore/index.d.ts +2 -0
  67. package/esm/internals/SimpleTreeViewStore/index.js +2 -0
  68. package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
  69. package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -3
  70. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
  71. package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
  72. package/esm/internals/TreeViewProvider/TreeViewProvider.js +11 -6
  73. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
  74. package/esm/internals/TreeViewProvider/index.d.ts +1 -1
  75. package/esm/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
  76. package/esm/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
  77. package/esm/internals/components/RichTreeViewItems.js +3 -3
  78. package/esm/internals/hooks/useTreeViewRootProps.d.ts +287 -0
  79. package/esm/internals/hooks/useTreeViewRootProps.js +30 -0
  80. package/esm/internals/hooks/useTreeViewStore.d.ts +10 -0
  81. package/esm/internals/hooks/useTreeViewStore.js +19 -0
  82. package/esm/internals/index.d.ts +15 -21
  83. package/esm/internals/index.js +11 -14
  84. package/esm/internals/models/events.d.ts +24 -3
  85. package/esm/internals/models/index.d.ts +2 -3
  86. package/esm/internals/models/index.js +2 -3
  87. package/esm/internals/models/itemPlugin.d.ts +9 -0
  88. package/esm/internals/models/treeView.d.ts +6 -9
  89. package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
  90. package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.js +124 -0
  91. package/esm/internals/plugins/expansion/index.d.ts +2 -0
  92. package/esm/internals/plugins/expansion/index.js +2 -0
  93. package/esm/internals/plugins/expansion/selectors.d.ts +27 -0
  94. package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +5 -5
  95. package/esm/internals/plugins/expansion/utils.d.ts +5 -0
  96. package/esm/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
  97. package/esm/internals/plugins/focus/TreeViewFocusPlugin.js +107 -0
  98. package/esm/internals/plugins/focus/index.d.ts +2 -0
  99. package/esm/internals/plugins/focus/index.js +2 -0
  100. package/esm/internals/plugins/focus/selectors.d.ts +21 -0
  101. package/esm/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +6 -6
  102. package/esm/internals/plugins/id/index.d.ts +1 -0
  103. package/esm/internals/plugins/id/index.js +1 -0
  104. package/esm/internals/plugins/id/selectors.d.ts +13 -0
  105. package/esm/internals/plugins/id/selectors.js +18 -0
  106. package/esm/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
  107. package/esm/internals/plugins/items/TreeViewItemsPlugin.js +223 -0
  108. package/esm/internals/plugins/items/index.d.ts +3 -0
  109. package/esm/internals/plugins/items/index.js +3 -0
  110. package/esm/internals/plugins/items/selectors.d.ts +60 -0
  111. package/esm/internals/plugins/items/selectors.js +64 -0
  112. package/esm/internals/plugins/items/utils.d.ts +43 -0
  113. package/esm/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -49
  114. package/esm/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
  115. package/esm/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +81 -0
  116. package/esm/internals/plugins/jsxItems/index.d.ts +1 -0
  117. package/esm/internals/plugins/jsxItems/index.js +1 -0
  118. package/esm/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
  119. package/esm/internals/plugins/jsxItems/itemPlugin.js +88 -0
  120. package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
  121. package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +306 -0
  122. package/esm/internals/plugins/keyboardNavigation/index.d.ts +1 -0
  123. package/esm/internals/plugins/keyboardNavigation/index.js +1 -0
  124. package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
  125. package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +50 -0
  126. package/esm/internals/plugins/labelEditing/index.d.ts +2 -0
  127. package/esm/internals/plugins/labelEditing/index.js +2 -0
  128. package/{internals/plugins/useTreeViewLabel → esm/internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
  129. package/esm/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +2 -2
  130. package/esm/internals/plugins/labelEditing/selectors.d.ts +15 -0
  131. package/esm/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
  132. package/esm/internals/plugins/lazyLoading/index.d.ts +2 -0
  133. package/esm/internals/plugins/lazyLoading/index.js +2 -0
  134. package/esm/internals/plugins/lazyLoading/selectors.d.ts +19 -0
  135. package/esm/internals/plugins/lazyLoading/selectors.js +25 -0
  136. package/esm/internals/plugins/lazyLoading/types.d.ts +5 -0
  137. package/esm/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
  138. package/esm/internals/plugins/selection/TreeViewSelectionPlugin.js +319 -0
  139. package/esm/internals/plugins/selection/index.d.ts +2 -0
  140. package/esm/internals/plugins/selection/index.js +2 -0
  141. package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
  142. package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +8 -8
  143. package/esm/internals/plugins/selection/selectors.d.ts +48 -0
  144. package/esm/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +19 -9
  145. package/esm/internals/utils/tree.d.ts +8 -10
  146. package/esm/internals/utils/tree.js +2 -2
  147. package/esm/models/items.d.ts +5 -2
  148. package/esm/useTreeItem/useTreeItem.d.ts +18 -2
  149. package/esm/useTreeItem/useTreeItem.js +15 -19
  150. package/esm/useTreeItem/useTreeItem.types.d.ts +9 -19
  151. package/hooks/useApplyPropagationToSelectedItemsOnMount.js +3 -3
  152. package/hooks/useRichTreeViewApiRef.d.ts +2 -2
  153. package/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
  154. package/hooks/useTreeItemModel.d.ts +2 -2
  155. package/hooks/useTreeItemModel.js +2 -2
  156. package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
  157. package/hooks/useTreeItemUtils/useTreeItemUtils.js +41 -49
  158. package/hooks/useTreeViewApiRef.d.ts +3 -5
  159. package/hooks/useTreeViewApiRef.js +3 -5
  160. package/index.d.ts +0 -1
  161. package/index.js +1 -22
  162. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
  163. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +134 -0
  164. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
  165. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
  166. package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +58 -0
  167. package/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
  168. package/internals/MinimalTreeViewStore/TimeoutManager.js +46 -0
  169. package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
  170. package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +23 -0
  171. package/internals/MinimalTreeViewStore/index.d.ts +2 -0
  172. package/internals/MinimalTreeViewStore/index.js +27 -0
  173. package/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
  174. package/internals/RichTreeViewStore/RichTreeViewStore.js +30 -0
  175. package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
  176. package/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
  177. package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +22 -0
  178. package/internals/RichTreeViewStore/index.d.ts +3 -0
  179. package/internals/RichTreeViewStore/index.js +38 -0
  180. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
  181. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +26 -0
  182. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
  183. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
  184. package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +11 -0
  185. package/internals/SimpleTreeViewStore/index.d.ts +2 -0
  186. package/internals/SimpleTreeViewStore/index.js +27 -0
  187. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
  188. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -4
  189. package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
  190. package/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
  191. package/internals/TreeViewProvider/TreeViewProvider.js +14 -9
  192. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
  193. package/internals/TreeViewProvider/index.d.ts +1 -1
  194. package/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
  195. package/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
  196. package/internals/components/RichTreeViewItems.js +9 -9
  197. package/internals/hooks/useTreeViewRootProps.d.ts +287 -0
  198. package/internals/hooks/useTreeViewRootProps.js +36 -0
  199. package/internals/hooks/useTreeViewStore.d.ts +10 -0
  200. package/internals/hooks/useTreeViewStore.js +26 -0
  201. package/internals/index.d.ts +15 -21
  202. package/internals/index.js +40 -70
  203. package/internals/models/events.d.ts +24 -3
  204. package/internals/models/index.d.ts +2 -3
  205. package/internals/models/index.js +11 -22
  206. package/internals/models/itemPlugin.d.ts +9 -0
  207. package/internals/models/treeView.d.ts +6 -9
  208. package/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
  209. package/internals/plugins/expansion/TreeViewExpansionPlugin.js +132 -0
  210. package/internals/plugins/expansion/index.d.ts +2 -0
  211. package/internals/plugins/expansion/index.js +27 -0
  212. package/internals/plugins/expansion/selectors.d.ts +27 -0
  213. package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +8 -8
  214. package/internals/plugins/expansion/utils.d.ts +5 -0
  215. package/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
  216. package/internals/plugins/focus/TreeViewFocusPlugin.js +114 -0
  217. package/internals/plugins/focus/index.d.ts +2 -0
  218. package/internals/plugins/focus/index.js +27 -0
  219. package/internals/plugins/focus/selectors.d.ts +21 -0
  220. package/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +9 -9
  221. package/internals/plugins/id/index.d.ts +1 -0
  222. package/internals/plugins/id/index.js +16 -0
  223. package/internals/plugins/id/selectors.d.ts +13 -0
  224. package/internals/plugins/id/selectors.js +24 -0
  225. package/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
  226. package/internals/plugins/items/TreeViewItemsPlugin.js +231 -0
  227. package/internals/plugins/items/index.d.ts +3 -0
  228. package/internals/plugins/items/index.js +46 -0
  229. package/internals/plugins/items/selectors.d.ts +60 -0
  230. package/internals/plugins/{useTreeViewItems/useTreeViewItems.selectors.js → items/selectors.js} +18 -14
  231. package/internals/plugins/items/utils.d.ts +43 -0
  232. package/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -50
  233. package/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
  234. package/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +89 -0
  235. package/internals/plugins/jsxItems/index.d.ts +1 -0
  236. package/internals/plugins/jsxItems/index.js +16 -0
  237. package/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
  238. package/internals/plugins/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +35 -20
  239. package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
  240. package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +313 -0
  241. package/internals/plugins/keyboardNavigation/index.d.ts +1 -0
  242. package/internals/plugins/keyboardNavigation/index.js +16 -0
  243. package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
  244. package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +58 -0
  245. package/internals/plugins/labelEditing/index.d.ts +2 -0
  246. package/internals/plugins/labelEditing/index.js +27 -0
  247. package/{esm/internals/plugins/useTreeViewLabel → internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
  248. package/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +6 -6
  249. package/internals/plugins/labelEditing/selectors.d.ts +15 -0
  250. package/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
  251. package/internals/plugins/lazyLoading/index.d.ts +2 -0
  252. package/internals/plugins/lazyLoading/index.js +27 -0
  253. package/internals/plugins/lazyLoading/selectors.d.ts +19 -0
  254. package/internals/plugins/{useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js → lazyLoading/selectors.js} +11 -6
  255. package/internals/plugins/lazyLoading/types.d.ts +5 -0
  256. package/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
  257. package/internals/plugins/selection/TreeViewSelectionPlugin.js +327 -0
  258. package/internals/plugins/selection/index.d.ts +2 -0
  259. package/internals/plugins/selection/index.js +27 -0
  260. package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
  261. package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +16 -16
  262. package/internals/plugins/selection/selectors.d.ts +48 -0
  263. package/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +19 -9
  264. package/internals/utils/tree.d.ts +8 -10
  265. package/internals/utils/tree.js +33 -33
  266. package/models/items.d.ts +5 -2
  267. package/package.json +3 -3
  268. package/useTreeItem/useTreeItem.d.ts +18 -2
  269. package/useTreeItem/useTreeItem.js +19 -24
  270. package/useTreeItem/useTreeItem.types.d.ts +9 -19
  271. package/RichTreeView/RichTreeView.plugins.d.ts +0 -10
  272. package/RichTreeView/RichTreeView.plugins.js +0 -15
  273. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
  274. package/SimpleTreeView/SimpleTreeView.plugins.js +0 -15
  275. package/esm/RichTreeView/RichTreeView.plugins.d.ts +0 -10
  276. package/esm/RichTreeView/RichTreeView.plugins.js +0 -9
  277. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
  278. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +0 -9
  279. package/esm/internals/corePlugins/corePlugins.d.ts +0 -9
  280. package/esm/internals/corePlugins/corePlugins.js +0 -8
  281. package/esm/internals/corePlugins/index.d.ts +0 -2
  282. package/esm/internals/corePlugins/index.js +0 -1
  283. package/esm/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
  284. package/esm/internals/corePlugins/useTreeViewId/index.js +0 -2
  285. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  286. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -38
  287. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
  288. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  289. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  290. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  291. package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  292. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  293. package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  294. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  295. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -31
  296. package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  297. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  298. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  299. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  300. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  301. package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  302. package/esm/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  303. package/esm/internals/hooks/useInstanceEventHandler.js +0 -79
  304. package/esm/internals/models/helpers.d.ts +0 -7
  305. package/esm/internals/models/plugin.d.ts +0 -166
  306. package/esm/internals/models/plugin.js +0 -1
  307. package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
  308. package/esm/internals/plugins/useTreeViewExpansion/index.js +0 -2
  309. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  310. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -149
  311. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
  312. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
  313. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  314. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
  315. package/esm/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
  316. package/esm/internals/plugins/useTreeViewFocus/index.js +0 -2
  317. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  318. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -113
  319. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
  320. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  321. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  322. package/esm/internals/plugins/useTreeViewItems/index.d.ts +0 -4
  323. package/esm/internals/plugins/useTreeViewItems/index.js +0 -3
  324. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  325. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -218
  326. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -56
  327. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -60
  328. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -197
  329. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  330. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
  331. package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  332. package/esm/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  333. package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
  334. package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.js +0 -74
  335. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  336. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -104
  337. package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  338. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  339. package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  340. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  341. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -305
  342. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
  343. package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  344. package/esm/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
  345. package/esm/internals/plugins/useTreeViewLabel/index.js +0 -2
  346. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  347. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -70
  348. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
  349. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
  350. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  351. package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
  352. package/esm/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  353. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
  354. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -20
  355. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
  356. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  357. package/esm/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
  358. package/esm/internals/plugins/useTreeViewSelection/index.js +0 -2
  359. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  360. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -230
  361. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -40
  362. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
  363. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  364. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
  365. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -107
  366. package/esm/internals/useTreeView/index.d.ts +0 -1
  367. package/esm/internals/useTreeView/index.js +0 -1
  368. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
  369. package/esm/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -51
  370. package/esm/internals/useTreeView/useTreeView.d.ts +0 -18
  371. package/esm/internals/useTreeView/useTreeView.js +0 -102
  372. package/esm/internals/useTreeView/useTreeView.types.d.ts +0 -20
  373. package/esm/internals/useTreeView/useTreeView.types.js +0 -1
  374. package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
  375. package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  376. package/esm/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  377. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  378. package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -14
  379. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  380. package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  381. package/esm/internals/utils/plugins.d.ts +0 -2
  382. package/esm/internals/utils/plugins.js +0 -4
  383. package/esm/internals/utils/publishTreeViewEvent.d.ts +0 -5
  384. package/esm/internals/utils/publishTreeViewEvent.js +0 -3
  385. package/internals/corePlugins/corePlugins.d.ts +0 -9
  386. package/internals/corePlugins/corePlugins.js +0 -14
  387. package/internals/corePlugins/index.d.ts +0 -2
  388. package/internals/corePlugins/index.js +0 -12
  389. package/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
  390. package/internals/corePlugins/useTreeViewId/index.js +0 -19
  391. package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  392. package/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -46
  393. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
  394. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
  395. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  396. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  397. package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -34
  398. package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  399. package/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
  400. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  401. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -38
  402. package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  403. package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  404. package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
  405. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  406. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
  407. package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  408. package/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  409. package/internals/hooks/useInstanceEventHandler.js +0 -87
  410. package/internals/models/helpers.d.ts +0 -7
  411. package/internals/models/plugin.d.ts +0 -166
  412. package/internals/models/plugin.js +0 -5
  413. package/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
  414. package/internals/plugins/useTreeViewExpansion/index.js +0 -19
  415. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  416. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -157
  417. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
  418. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
  419. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
  420. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
  421. package/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
  422. package/internals/plugins/useTreeViewFocus/index.js +0 -19
  423. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  424. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -121
  425. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
  426. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  427. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
  428. package/internals/plugins/useTreeViewItems/index.d.ts +0 -4
  429. package/internals/plugins/useTreeViewItems/index.js +0 -32
  430. package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  431. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -226
  432. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -56
  433. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -197
  434. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
  435. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
  436. package/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  437. package/internals/plugins/useTreeViewJSXItems/index.js +0 -12
  438. package/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
  439. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  440. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -112
  441. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
  442. package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  443. package/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
  444. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  445. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -312
  446. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
  447. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
  448. package/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
  449. package/internals/plugins/useTreeViewLabel/index.js +0 -19
  450. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  451. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -78
  452. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
  453. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
  454. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
  455. package/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
  456. package/internals/plugins/useTreeViewLazyLoading/index.js +0 -12
  457. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
  458. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
  459. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -5
  460. package/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
  461. package/internals/plugins/useTreeViewSelection/index.js +0 -19
  462. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  463. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -239
  464. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -40
  465. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
  466. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
  467. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
  468. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -116
  469. package/internals/useTreeView/index.d.ts +0 -1
  470. package/internals/useTreeView/index.js +0 -12
  471. package/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
  472. package/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -60
  473. package/internals/useTreeView/useTreeView.d.ts +0 -18
  474. package/internals/useTreeView/useTreeView.js +0 -112
  475. package/internals/useTreeView/useTreeView.types.d.ts +0 -20
  476. package/internals/useTreeView/useTreeView.types.js +0 -5
  477. package/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
  478. package/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  479. package/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
  480. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  481. package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -21
  482. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  483. package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -45
  484. package/internals/utils/plugins.d.ts +0 -2
  485. package/internals/utils/plugins.js +0 -11
  486. package/internals/utils/publishTreeViewEvent.d.ts +0 -5
  487. package/internals/utils/publishTreeViewEvent.js +0 -10
  488. /package/esm/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
  489. /package/esm/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
  490. /package/esm/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
  491. /package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
  492. /package/esm/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
  493. /package/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
  494. /package/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
  495. /package/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
  496. /package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
  497. /package/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
@@ -4,7 +4,7 @@ import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { useTreeViewContext } from "./TreeViewContext.js";
6
6
  import { escapeOperandAttributeSelector } from "../utils/utils.js";
7
- import { itemsSelectors } from "../plugins/useTreeViewItems/useTreeViewItems.selectors.js";
7
+ import { itemsSelectors } from "../plugins/items/selectors.js";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  export const TreeViewChildrenItemContext = /*#__PURE__*/React.createContext(null);
10
10
  if (process.env.NODE_ENV !== "production") TreeViewChildrenItemContext.displayName = "TreeViewChildrenItemContext";
@@ -15,7 +15,6 @@ export function TreeViewChildrenItemProvider(props) {
15
15
  idAttribute
16
16
  } = props;
17
17
  const {
18
- instance,
19
18
  store,
20
19
  rootRef
21
20
  } = useTreeViewContext();
@@ -38,7 +37,7 @@ export function TreeViewChildrenItemProvider(props) {
38
37
  const childrenIds = Array.from(childrenElements).map(child => childrenIdAttrToIdRef.current.get(child.id));
39
38
  const hasChanged = childrenIds.length !== previousChildrenIds.length || childrenIds.some((childId, index) => childId !== previousChildrenIds[index]);
40
39
  if (hasChanged) {
41
- instance.setJSXItemsOrderedChildrenIds(itemId ?? null, childrenIds);
40
+ store.jsxItems.setJSXItemsOrderedChildrenIds(itemId ?? null, childrenIds);
42
41
  }
43
42
  });
44
43
  const value = React.useMemo(() => ({
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
- import { TreeViewAnyPluginSignature } from "../models/index.js";
2
+ import { TreeViewAnyStore } from "../models/index.js";
3
3
  import { TreeViewContextValue } from "./TreeViewProvider.types.js";
4
4
  /**
5
5
  * @ignore - internal component.
6
6
  */
7
- export declare const TreeViewContext: React.Context<TreeViewContextValue<any, []> | null>;
8
- export declare const useTreeViewContext: <TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []>() => TreeViewContextValue<TSignatures, TOptionalSignatures>;
7
+ export declare const TreeViewContext: React.Context<TreeViewContextValue<any> | null>;
8
+ export declare const useTreeViewContext: <TStore extends TreeViewAnyStore>() => TreeViewContextValue<TStore>;
@@ -1,8 +1,8 @@
1
1
  import { TreeViewProviderProps } from "./TreeViewProvider.types.js";
2
- import { TreeViewAnyPluginSignature } from "../models/index.js";
2
+ import { TreeViewAnyStore } from "../models/index.js";
3
3
  /**
4
4
  * Sets up the contexts for the underlying Tree Item components.
5
5
  *
6
6
  * @ignore - do not document.
7
7
  */
8
- export declare function TreeViewProvider<TSignatures extends readonly TreeViewAnyPluginSignature[]>(props: TreeViewProviderProps<TSignatures>): import("react/jsx-runtime").JSX.Element;
8
+ export declare function TreeViewProvider<TStore extends TreeViewAnyStore>(props: TreeViewProviderProps<TStore>): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,9 @@
1
1
  import * as React from 'react';
2
+ import { EMPTY_OBJECT } from '@base-ui/utils/empty';
2
3
  import { TreeViewContext } from "./TreeViewContext.js";
3
4
  import { TreeViewStyleContext } from "./TreeViewStyleContext.js";
5
+ import { useTreeViewBuildContext } from "./useTreeViewBuildContext.js";
4
6
  import { jsx as _jsx } from "react/jsx-runtime";
5
- const EMPTY_OBJECT = {};
6
-
7
7
  /**
8
8
  * Sets up the contexts for the underlying Tree Item components.
9
9
  *
@@ -11,12 +11,19 @@ const EMPTY_OBJECT = {};
11
11
  */
12
12
  export function TreeViewProvider(props) {
13
13
  const {
14
- contextValue,
14
+ store,
15
+ apiRef,
16
+ rootRef,
15
17
  classes = EMPTY_OBJECT,
16
18
  slots = EMPTY_OBJECT,
17
19
  slotProps = EMPTY_OBJECT,
18
20
  children
19
21
  } = props;
22
+ const contextValue = useTreeViewBuildContext({
23
+ store,
24
+ apiRef,
25
+ rootRef
26
+ });
20
27
  const styleContextValue = React.useMemo(() => ({
21
28
  classes,
22
29
  slots: {
@@ -34,9 +41,7 @@ export function TreeViewProvider(props) {
34
41
  value: contextValue,
35
42
  children: /*#__PURE__*/_jsx(TreeViewStyleContext.Provider, {
36
43
  value: styleContextValue,
37
- children: contextValue.wrapRoot({
38
- children
39
- })
44
+ children: children
40
45
  })
41
46
  });
42
47
  }
@@ -1,20 +1,18 @@
1
1
  import * as React from 'react';
2
- import { TreeItemWrapper, TreeRootWrapper, TreeViewAnyPluginSignature, TreeViewInstance, TreeViewItemPluginResponse, TreeViewPublicAPI, TreeViewReadonlyStore } from "../models/index.js";
2
+ import { TreeItemWrapper, TreeViewItemPluginResponse, TreeViewPublicAPI, TreeViewAnyStore } from "../models/index.js";
3
3
  import type { TreeItemProps } from "../../TreeItem/TreeItem.types.js";
4
4
  import { TreeViewClasses, TreeViewSlotProps, TreeViewSlots } from "./TreeViewStyleContext.js";
5
- import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
5
+ import { UseTreeViewBuildContextParameters } from "./useTreeViewBuildContext.js";
6
6
  export type TreeViewItemPluginsRunner = (props: TreeItemProps) => Required<TreeViewItemPluginResponse>;
7
- export interface TreeViewContextValue<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> {
8
- instance: TreeViewInstance<TSignatures, TOptionalSignatures>;
9
- publicAPI: TreeViewPublicAPI<TSignatures, TOptionalSignatures>;
10
- store: TreeViewReadonlyStore<readonly [...TreeViewCorePluginSignatures, ...TSignatures]>;
7
+ export type TreeViewStoreInContext<TStore extends TreeViewAnyStore> = Omit<TStore, 'setState' | 'update' | 'set' | 'updateStateFromParameters' | 'disposeEffect' | 'registerStoreEffect' | 'itemPluginManager' | 'parameters'>;
8
+ export interface TreeViewContextValue<TStore extends TreeViewAnyStore> {
9
+ publicAPI: TreeViewPublicAPI<TStore>;
10
+ store: TreeViewStoreInContext<TStore>;
11
11
  rootRef: React.RefObject<HTMLUListElement | null>;
12
- wrapItem: TreeItemWrapper<TSignatures>;
13
- wrapRoot: TreeRootWrapper;
12
+ wrapItem: TreeItemWrapper<TStore>;
14
13
  runItemPlugins: TreeViewItemPluginsRunner;
15
14
  }
16
- export interface TreeViewProviderProps<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
17
- contextValue: TreeViewContextValue<TSignatures>;
15
+ export interface TreeViewProviderProps<TStore extends TreeViewAnyStore> extends UseTreeViewBuildContextParameters<TStore> {
18
16
  children: React.ReactNode;
19
17
  classes: Partial<TreeViewClasses> | undefined;
20
18
  slots: TreeViewSlots | undefined;
@@ -1,3 +1,3 @@
1
1
  export { TreeViewProvider } from "./TreeViewProvider.js";
2
2
  export { useTreeViewContext } from "./TreeViewContext.js";
3
- export type { TreeViewProviderProps, TreeViewContextValue, TreeViewItemPluginsRunner } from "./TreeViewProvider.types.js";
3
+ export type { TreeViewProviderProps, TreeViewContextValue, TreeViewItemPluginsRunner, TreeViewStoreInContext } from "./TreeViewProvider.types.js";
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { TreeViewContextValue, TreeViewItemPluginsRunner, TreeViewStoreInContext } from "./TreeViewProvider.types.js";
3
+ import { TreeViewAnyStore, TreeViewPublicAPI, TreeItemWrapper } from "../models/index.js";
4
+ export declare const useTreeViewBuildContext: <TStore extends TreeViewAnyStore>(parameters: UseTreeViewBuildContextParameters<TStore>) => TreeViewContextValue<TStore>;
5
+ export interface UseTreeViewBuildContextParameters<TStore extends TreeViewAnyStore> {
6
+ store: TStore;
7
+ rootRef: React.RefObject<HTMLUListElement | null>;
8
+ apiRef: React.RefObject<Partial<TreeViewPublicAPI<TStore>> | undefined> | undefined;
9
+ }
10
+ export interface UseTreeViewBuildContextReturnValue<TStore extends TreeViewAnyStore> {
11
+ publicAPI: TreeViewPublicAPI<TStore>;
12
+ store: TreeViewStoreInContext<TStore>;
13
+ rootRef: React.RefObject<HTMLUListElement | null>;
14
+ wrapItem: TreeItemWrapper<TStore>;
15
+ runItemPlugins: TreeViewItemPluginsRunner;
16
+ }
@@ -1,22 +1,20 @@
1
1
  import * as React from 'react';
2
+ import { useRefWithInit } from '@base-ui/utils/useRefWithInit';
2
3
  export const useTreeViewBuildContext = parameters => {
3
4
  const {
4
- plugins,
5
- instance,
6
- publicAPI,
7
5
  store,
6
+ apiRef,
8
7
  rootRef
9
8
  } = parameters;
9
+ const publicAPI = useRefWithInit(() => store.buildPublicAPI()).current;
10
+ initializeInputApiRef(publicAPI, apiRef);
10
11
  const runItemPlugins = React.useCallback(itemPluginProps => {
11
12
  let finalRootRef = null;
12
13
  let finalContentRef = null;
13
14
  const pluginPropEnhancers = [];
14
15
  const pluginPropEnhancersNames = {};
15
- plugins.forEach(plugin => {
16
- if (!plugin.itemPlugin) {
17
- return;
18
- }
19
- const itemPluginResponse = plugin.itemPlugin({
16
+ store.itemPluginManager.listPlugins().forEach(itemPlugin => {
17
+ const itemPluginResponse = itemPlugin({
20
18
  props: itemPluginProps,
21
19
  rootRef: finalRootRef,
22
20
  contentRef: finalContentRef
@@ -52,49 +50,37 @@ export const useTreeViewBuildContext = parameters => {
52
50
  rootRef: finalRootRef,
53
51
  propsEnhancers
54
52
  };
55
- }, [plugins]);
53
+ }, [store]);
56
54
  const wrapItem = React.useCallback(({
57
55
  itemId,
58
56
  children,
59
57
  idAttribute
60
58
  }) => {
61
59
  let finalChildren = children;
60
+ const itemsWrapper = store.itemPluginManager.listWrappers();
61
+
62
62
  // The wrappers are reversed to ensure that the first wrapper is the outermost one.
63
- for (let i = plugins.length - 1; i >= 0; i -= 1) {
64
- const plugin = plugins[i];
65
- if (plugin.wrapItem) {
66
- finalChildren = plugin.wrapItem({
67
- instance,
68
- itemId,
69
- children: finalChildren,
70
- idAttribute
71
- });
72
- }
73
- }
74
- return finalChildren;
75
- }, [plugins, instance]);
76
- const wrapRoot = React.useCallback(({
77
- children
78
- }) => {
79
- let finalChildren = children;
80
- // The wrappers are reversed to ensure that the first wrapper is the outermost one.
81
- for (let i = plugins.length - 1; i >= 0; i -= 1) {
82
- const plugin = plugins[i];
83
- if (plugin.wrapRoot) {
84
- finalChildren = plugin.wrapRoot({
85
- children: finalChildren
86
- });
87
- }
63
+ for (let i = itemsWrapper.length - 1; i >= 0; i -= 1) {
64
+ const itemWrapper = itemsWrapper[i];
65
+ finalChildren = itemWrapper({
66
+ store: store,
67
+ itemId,
68
+ children: finalChildren,
69
+ idAttribute
70
+ });
88
71
  }
89
72
  return finalChildren;
90
- }, [plugins]);
73
+ }, [store]);
91
74
  return React.useMemo(() => ({
92
75
  runItemPlugins,
93
76
  wrapItem,
94
- wrapRoot,
95
- instance,
96
77
  publicAPI,
97
78
  store,
98
79
  rootRef
99
- }), [runItemPlugins, wrapItem, wrapRoot, instance, publicAPI, store, rootRef]);
100
- };
80
+ }), [runItemPlugins, wrapItem, publicAPI, store, rootRef]);
81
+ };
82
+ function initializeInputApiRef(publicAPI, apiRef) {
83
+ if (apiRef != null && apiRef.current == null) {
84
+ apiRef.current = publicAPI;
85
+ }
86
+ }
@@ -4,17 +4,17 @@ import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
5
  const _excluded = ["ownerState"];
6
6
  import * as React from 'react';
7
+ import { EMPTY_ARRAY } from '@base-ui/utils/empty';
7
8
  import { useStore } from '@mui/x-internals/store';
8
9
  import useSlotProps from '@mui/utils/useSlotProps';
9
10
  import { fastObjectShallowCompare } from '@mui/x-internals/fastObjectShallowCompare';
10
11
  import { TreeItem } from "../../TreeItem/index.js";
11
- import { itemsSelectors } from "../plugins/useTreeViewItems/index.js";
12
+ import { itemsSelectors } from "../plugins/items/index.js";
12
13
  import { useTreeViewContext } from "../TreeViewProvider/index.js";
13
- import { expansionSelectors } from "../plugins/useTreeViewExpansion/index.js";
14
+ import { expansionSelectors } from "../plugins/expansion/index.js";
14
15
  import { jsx as _jsx } from "react/jsx-runtime";
15
16
  const RichTreeViewItemsContext = /*#__PURE__*/React.createContext(null);
16
17
  if (process.env.NODE_ENV !== "production") RichTreeViewItemsContext.displayName = "RichTreeViewItemsContext";
17
- const EMPTY_ARRAY = [];
18
18
  const selectorNoChildren = () => EMPTY_ARRAY;
19
19
  const selectorChildrenIdsNull = state => itemsSelectors.itemOrderedChildrenIds(state, null);
20
20
  const WrappedTreeItem = /*#__PURE__*/React.memo(function WrappedTreeItem({
@@ -0,0 +1,287 @@
1
+ import * as React from 'react';
2
+ import { EventHandlers } from '@mui/utils/types';
3
+ import { TreeViewCancellableEvent } from "../../models/index.js";
4
+ import { TreeViewAnyStore } from "../models/index.js";
5
+ export declare function useTreeViewRootProps<TStore extends TreeViewAnyStore>(store: TStore, forwardedProps: React.HTMLAttributes<HTMLUListElement>, ref: React.Ref<HTMLUListElement | null> | undefined): (otherHandlers: EventHandlers) => {
6
+ style: React.CSSProperties;
7
+ onFocus: (event: React.FocusEvent<HTMLUListElement> & TreeViewCancellableEvent) => void;
8
+ onBlur: (event: React.FocusEvent<HTMLUListElement> & TreeViewCancellableEvent) => void;
9
+ defaultChecked?: boolean | undefined;
10
+ defaultValue?: string | number | readonly string[] | undefined;
11
+ suppressContentEditableWarning?: boolean | undefined;
12
+ suppressHydrationWarning?: boolean | undefined;
13
+ accessKey?: string | undefined;
14
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
15
+ autoFocus?: boolean | undefined;
16
+ className?: string | undefined;
17
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
18
+ contextMenu?: string | undefined;
19
+ dir?: string | undefined;
20
+ draggable?: (boolean | "true" | "false") | undefined;
21
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
22
+ hidden?: boolean | undefined;
23
+ id: string | undefined;
24
+ lang?: string | undefined;
25
+ nonce?: string | undefined;
26
+ slot?: string | undefined;
27
+ spellCheck?: (boolean | "true" | "false") | undefined;
28
+ tabIndex?: number | undefined;
29
+ title?: string | undefined;
30
+ translate?: "yes" | "no" | undefined;
31
+ radioGroup?: string | undefined;
32
+ role: string;
33
+ about?: string | undefined;
34
+ content?: string | undefined;
35
+ datatype?: string | undefined;
36
+ inlist?: any;
37
+ prefix?: string | undefined;
38
+ property?: string | undefined;
39
+ rel?: string | undefined;
40
+ resource?: string | undefined;
41
+ rev?: string | undefined;
42
+ typeof?: string | undefined;
43
+ vocab?: string | undefined;
44
+ autoCorrect?: string | undefined;
45
+ autoSave?: string | undefined;
46
+ color?: string | undefined;
47
+ itemProp?: string | undefined;
48
+ itemScope?: boolean | undefined;
49
+ itemType?: string | undefined;
50
+ itemID?: string | undefined;
51
+ itemRef?: string | undefined;
52
+ results?: number | undefined;
53
+ security?: string | undefined;
54
+ unselectable?: "on" | "off" | undefined;
55
+ popover?: "" | "auto" | "manual" | "hint" | undefined;
56
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
57
+ popoverTarget?: string | undefined;
58
+ inert?: boolean | undefined;
59
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
60
+ is?: string | undefined;
61
+ exportparts?: string | undefined;
62
+ part?: string | undefined;
63
+ "aria-activedescendant"?: string | undefined;
64
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
65
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
66
+ "aria-braillelabel"?: string | undefined;
67
+ "aria-brailleroledescription"?: string | undefined;
68
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
69
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
70
+ "aria-colcount"?: number | undefined;
71
+ "aria-colindex"?: number | undefined;
72
+ "aria-colindextext"?: string | undefined;
73
+ "aria-colspan"?: number | undefined;
74
+ "aria-controls"?: string | undefined;
75
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
76
+ "aria-describedby"?: string | undefined;
77
+ "aria-description"?: string | undefined;
78
+ "aria-details"?: string | undefined;
79
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
80
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
81
+ "aria-errormessage"?: string | undefined;
82
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
83
+ "aria-flowto"?: string | undefined;
84
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
85
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
86
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
87
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
88
+ "aria-keyshortcuts"?: string | undefined;
89
+ "aria-label"?: string | undefined;
90
+ "aria-labelledby"?: string | undefined;
91
+ "aria-level"?: number | undefined;
92
+ "aria-live"?: "off" | "assertive" | "polite" | undefined;
93
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
94
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
95
+ "aria-multiselectable": boolean | "true" | "false";
96
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
97
+ "aria-owns"?: string | undefined;
98
+ "aria-placeholder"?: string | undefined;
99
+ "aria-posinset"?: number | undefined;
100
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
101
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
102
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
103
+ "aria-required"?: (boolean | "true" | "false") | undefined;
104
+ "aria-roledescription"?: string | undefined;
105
+ "aria-rowcount"?: number | undefined;
106
+ "aria-rowindex"?: number | undefined;
107
+ "aria-rowindextext"?: string | undefined;
108
+ "aria-rowspan"?: number | undefined;
109
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
110
+ "aria-setsize"?: number | undefined;
111
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
112
+ "aria-valuemax"?: number | undefined;
113
+ "aria-valuemin"?: number | undefined;
114
+ "aria-valuenow"?: number | undefined;
115
+ "aria-valuetext"?: string | undefined;
116
+ children?: React.ReactNode | undefined;
117
+ dangerouslySetInnerHTML?: {
118
+ __html: string | TrustedHTML;
119
+ } | undefined;
120
+ onCopy?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
121
+ onCopyCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
122
+ onCut?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
123
+ onCutCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
124
+ onPaste?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
125
+ onPasteCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
126
+ onCompositionEnd?: React.CompositionEventHandler<HTMLUListElement> | undefined;
127
+ onCompositionEndCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
128
+ onCompositionStart?: React.CompositionEventHandler<HTMLUListElement> | undefined;
129
+ onCompositionStartCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
130
+ onCompositionUpdate?: React.CompositionEventHandler<HTMLUListElement> | undefined;
131
+ onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
132
+ onFocusCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
133
+ onBlurCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
134
+ onChange?: React.FormEventHandler<HTMLUListElement> | undefined;
135
+ onChangeCapture?: React.FormEventHandler<HTMLUListElement> | undefined;
136
+ onBeforeInput?: React.InputEventHandler<HTMLUListElement> | undefined;
137
+ onBeforeInputCapture?: React.FormEventHandler<HTMLUListElement> | undefined;
138
+ onInput?: React.FormEventHandler<HTMLUListElement> | undefined;
139
+ onInputCapture?: React.FormEventHandler<HTMLUListElement> | undefined;
140
+ onReset?: React.FormEventHandler<HTMLUListElement> | undefined;
141
+ onResetCapture?: React.FormEventHandler<HTMLUListElement> | undefined;
142
+ onSubmit?: React.FormEventHandler<HTMLUListElement> | undefined;
143
+ onSubmitCapture?: React.FormEventHandler<HTMLUListElement> | undefined;
144
+ onInvalid?: React.FormEventHandler<HTMLUListElement> | undefined;
145
+ onInvalidCapture?: React.FormEventHandler<HTMLUListElement> | undefined;
146
+ onLoad?: React.ReactEventHandler<HTMLUListElement> | undefined;
147
+ onLoadCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
148
+ onError?: React.ReactEventHandler<HTMLUListElement> | undefined;
149
+ onErrorCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
150
+ onKeyDown?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
151
+ onKeyDownCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
152
+ onKeyPress?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
153
+ onKeyPressCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
154
+ onKeyUp?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
155
+ onKeyUpCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
156
+ onAbort?: React.ReactEventHandler<HTMLUListElement> | undefined;
157
+ onAbortCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
158
+ onCanPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
159
+ onCanPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
160
+ onCanPlayThrough?: React.ReactEventHandler<HTMLUListElement> | undefined;
161
+ onCanPlayThroughCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
162
+ onDurationChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
163
+ onDurationChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
164
+ onEmptied?: React.ReactEventHandler<HTMLUListElement> | undefined;
165
+ onEmptiedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
166
+ onEncrypted?: React.ReactEventHandler<HTMLUListElement> | undefined;
167
+ onEncryptedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
168
+ onEnded?: React.ReactEventHandler<HTMLUListElement> | undefined;
169
+ onEndedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
170
+ onLoadedData?: React.ReactEventHandler<HTMLUListElement> | undefined;
171
+ onLoadedDataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
172
+ onLoadedMetadata?: React.ReactEventHandler<HTMLUListElement> | undefined;
173
+ onLoadedMetadataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
174
+ onLoadStart?: React.ReactEventHandler<HTMLUListElement> | undefined;
175
+ onLoadStartCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
176
+ onPause?: React.ReactEventHandler<HTMLUListElement> | undefined;
177
+ onPauseCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
178
+ onPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
179
+ onPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
180
+ onPlaying?: React.ReactEventHandler<HTMLUListElement> | undefined;
181
+ onPlayingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
182
+ onProgress?: React.ReactEventHandler<HTMLUListElement> | undefined;
183
+ onProgressCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
184
+ onRateChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
185
+ onRateChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
186
+ onSeeked?: React.ReactEventHandler<HTMLUListElement> | undefined;
187
+ onSeekedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
188
+ onSeeking?: React.ReactEventHandler<HTMLUListElement> | undefined;
189
+ onSeekingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
190
+ onStalled?: React.ReactEventHandler<HTMLUListElement> | undefined;
191
+ onStalledCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
192
+ onSuspend?: React.ReactEventHandler<HTMLUListElement> | undefined;
193
+ onSuspendCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
194
+ onTimeUpdate?: React.ReactEventHandler<HTMLUListElement> | undefined;
195
+ onTimeUpdateCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
196
+ onVolumeChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
197
+ onVolumeChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
198
+ onWaiting?: React.ReactEventHandler<HTMLUListElement> | undefined;
199
+ onWaitingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
200
+ onAuxClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
201
+ onAuxClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
202
+ onClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
203
+ onClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
204
+ onContextMenu?: React.MouseEventHandler<HTMLUListElement> | undefined;
205
+ onContextMenuCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
206
+ onDoubleClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
207
+ onDoubleClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
208
+ onDrag?: React.DragEventHandler<HTMLUListElement> | undefined;
209
+ onDragCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
210
+ onDragEnd?: React.DragEventHandler<HTMLUListElement> | undefined;
211
+ onDragEndCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
212
+ onDragEnter?: React.DragEventHandler<HTMLUListElement> | undefined;
213
+ onDragEnterCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
214
+ onDragExit?: React.DragEventHandler<HTMLUListElement> | undefined;
215
+ onDragExitCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
216
+ onDragLeave?: React.DragEventHandler<HTMLUListElement> | undefined;
217
+ onDragLeaveCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
218
+ onDragOver?: React.DragEventHandler<HTMLUListElement> | undefined;
219
+ onDragOverCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
220
+ onDragStart?: React.DragEventHandler<HTMLUListElement> | undefined;
221
+ onDragStartCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
222
+ onDrop?: React.DragEventHandler<HTMLUListElement> | undefined;
223
+ onDropCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
224
+ onMouseDown?: React.MouseEventHandler<HTMLUListElement> | undefined;
225
+ onMouseDownCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
226
+ onMouseEnter?: React.MouseEventHandler<HTMLUListElement> | undefined;
227
+ onMouseLeave?: React.MouseEventHandler<HTMLUListElement> | undefined;
228
+ onMouseMove?: React.MouseEventHandler<HTMLUListElement> | undefined;
229
+ onMouseMoveCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
230
+ onMouseOut?: React.MouseEventHandler<HTMLUListElement> | undefined;
231
+ onMouseOutCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
232
+ onMouseOver?: React.MouseEventHandler<HTMLUListElement> | undefined;
233
+ onMouseOverCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
234
+ onMouseUp?: React.MouseEventHandler<HTMLUListElement> | undefined;
235
+ onMouseUpCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
236
+ onSelect?: React.ReactEventHandler<HTMLUListElement> | undefined;
237
+ onSelectCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
238
+ onTouchCancel?: React.TouchEventHandler<HTMLUListElement> | undefined;
239
+ onTouchCancelCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
240
+ onTouchEnd?: React.TouchEventHandler<HTMLUListElement> | undefined;
241
+ onTouchEndCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
242
+ onTouchMove?: React.TouchEventHandler<HTMLUListElement> | undefined;
243
+ onTouchMoveCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
244
+ onTouchStart?: React.TouchEventHandler<HTMLUListElement> | undefined;
245
+ onTouchStartCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
246
+ onPointerDown?: React.PointerEventHandler<HTMLUListElement> | undefined;
247
+ onPointerDownCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
248
+ onPointerMove?: React.PointerEventHandler<HTMLUListElement> | undefined;
249
+ onPointerMoveCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
250
+ onPointerUp?: React.PointerEventHandler<HTMLUListElement> | undefined;
251
+ onPointerUpCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
252
+ onPointerCancel?: React.PointerEventHandler<HTMLUListElement> | undefined;
253
+ onPointerCancelCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
254
+ onPointerEnter?: React.PointerEventHandler<HTMLUListElement> | undefined;
255
+ onPointerLeave?: React.PointerEventHandler<HTMLUListElement> | undefined;
256
+ onPointerOver?: React.PointerEventHandler<HTMLUListElement> | undefined;
257
+ onPointerOverCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
258
+ onPointerOut?: React.PointerEventHandler<HTMLUListElement> | undefined;
259
+ onPointerOutCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
260
+ onGotPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
261
+ onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
262
+ onLostPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
263
+ onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
264
+ onScroll?: React.UIEventHandler<HTMLUListElement> | undefined;
265
+ onScrollCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
266
+ onScrollEnd?: React.UIEventHandler<HTMLUListElement> | undefined;
267
+ onScrollEndCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
268
+ onWheel?: React.WheelEventHandler<HTMLUListElement> | undefined;
269
+ onWheelCapture?: React.WheelEventHandler<HTMLUListElement> | undefined;
270
+ onAnimationStart?: React.AnimationEventHandler<HTMLUListElement> | undefined;
271
+ onAnimationStartCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
272
+ onAnimationEnd?: React.AnimationEventHandler<HTMLUListElement> | undefined;
273
+ onAnimationEndCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
274
+ onAnimationIteration?: React.AnimationEventHandler<HTMLUListElement> | undefined;
275
+ onAnimationIterationCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
276
+ onToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
277
+ onBeforeToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
278
+ onTransitionCancel?: React.TransitionEventHandler<HTMLUListElement> | undefined;
279
+ onTransitionCancelCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
280
+ onTransitionEnd?: React.TransitionEventHandler<HTMLUListElement> | undefined;
281
+ onTransitionEndCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
282
+ onTransitionRun?: React.TransitionEventHandler<HTMLUListElement> | undefined;
283
+ onTransitionRunCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
284
+ onTransitionStart?: React.TransitionEventHandler<HTMLUListElement> | undefined;
285
+ onTransitionStartCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
286
+ ref: React.Ref<HTMLUListElement | null> | undefined;
287
+ };
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import { useStore } from '@mui/x-internals/store';
5
+ import { idSelectors } from "../plugins/id/index.js";
6
+ import { selectionSelectors } from "../plugins/selection/index.js";
7
+ import { itemsSelectors } from "../plugins/items/index.js";
8
+ export function useTreeViewRootProps(store, forwardedProps, ref) {
9
+ const treeId = useStore(store, idSelectors.treeId);
10
+ const itemChildrenIndentation = useStore(store, itemsSelectors.itemChildrenIndentation);
11
+ const isMultiSelectEnabled = useStore(store, selectionSelectors.isMultiSelectEnabled);
12
+ return otherHandlers => _extends({
13
+ ref,
14
+ role: 'tree',
15
+ id: treeId,
16
+ 'aria-multiselectable': isMultiSelectEnabled
17
+ }, forwardedProps, otherHandlers, {
18
+ style: _extends({}, forwardedProps.style, {
19
+ '--TreeView-itemChildrenIndentation': typeof itemChildrenIndentation === 'number' ? `${itemChildrenIndentation}px` : itemChildrenIndentation
20
+ }),
21
+ onFocus: event => {
22
+ otherHandlers.onFocus?.(event);
23
+ store.focus.handleRootFocus(event);
24
+ },
25
+ onBlur: event => {
26
+ otherHandlers.onBlur?.(event);
27
+ store.focus.handleRootBlur(event);
28
+ }
29
+ });
30
+ }
@@ -0,0 +1,10 @@
1
+ import { TreeViewAnyStore } from "../models/index.js";
2
+ interface ValidTreeViewStoreConstructor<TStore extends TreeViewAnyStore> {
3
+ new (parameters: TStore['parameters']): TStore;
4
+ }
5
+ export type UseTreeViewStoreParameters<TStore extends TreeViewAnyStore> = Omit<Parameters<TStore['updateStateFromParameters']>[0], 'isRtl'>;
6
+ /**
7
+ * Creates a Tree View store and keep it in sync with the provided parameters.
8
+ */
9
+ export declare function useTreeViewStore<TStore extends TreeViewAnyStore>(StoreClass: ValidTreeViewStoreConstructor<TStore>, parameters: UseTreeViewStoreParameters<TStore>): TStore;
10
+ export {};
@@ -0,0 +1,19 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { useRefWithInit } from '@base-ui/utils/useRefWithInit';
3
+ import { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';
4
+ import { useOnMount } from '@base-ui/utils/useOnMount';
5
+ import { useRtl } from '@mui/system/RtlProvider';
6
+ /**
7
+ * Creates a Tree View store and keep it in sync with the provided parameters.
8
+ */
9
+ export function useTreeViewStore(StoreClass, parameters) {
10
+ const isRtl = useRtl();
11
+ const store = useRefWithInit(() => new StoreClass(_extends({}, parameters, {
12
+ isRtl
13
+ }))).current;
14
+ useIsoLayoutEffect(() => store.updateStateFromParameters(_extends({}, parameters, {
15
+ isRtl
16
+ })), [store, isRtl, parameters]);
17
+ useOnMount(store.disposeEffect);
18
+ return store;
19
+ }