@mui/x-tree-view 7.22.1 → 8.0.0-alpha.1

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 (296) hide show
  1. package/CHANGELOG.md +486 -11
  2. package/README.md +4 -4
  3. package/RichTreeView/RichTreeView.js +22 -5
  4. package/RichTreeView/RichTreeView.types.d.ts +4 -17
  5. package/SimpleTreeView/SimpleTreeView.js +21 -3
  6. package/TreeItem/TreeItem.d.ts +20 -2
  7. package/TreeItem/TreeItem.js +241 -371
  8. package/TreeItem/TreeItem.types.d.ts +52 -85
  9. package/TreeItem/index.d.ts +1 -4
  10. package/TreeItem/index.js +2 -4
  11. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
  12. package/{modern/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +8 -6
  13. package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.d.ts → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts} +1 -1
  14. package/TreeItemDragAndDropOverlay/index.d.ts +2 -0
  15. package/TreeItemDragAndDropOverlay/index.js +1 -0
  16. package/{TreeItem2LabelInput → TreeItemDragAndDropOverlay}/package.json +1 -1
  17. package/TreeItemIcon/TreeItemIcon.d.ts +7 -0
  18. package/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +5 -3
  19. package/{TreeItem2Icon/TreeItem2Icon.types.d.ts → TreeItemIcon/TreeItemIcon.types.d.ts} +7 -7
  20. package/TreeItemIcon/index.d.ts +2 -0
  21. package/TreeItemIcon/index.js +1 -0
  22. package/{useTreeItem2 → TreeItemIcon}/package.json +1 -1
  23. package/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
  24. package/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
  25. package/{TreeItem2LabelInput/TreeItem2LabelInput.types.d.ts → TreeItemLabelInput/TreeItemLabelInput.types.d.ts} +1 -1
  26. package/TreeItemLabelInput/index.d.ts +2 -0
  27. package/TreeItemLabelInput/index.js +1 -0
  28. package/{TreeItem2Provider → TreeItemLabelInput}/package.json +1 -1
  29. package/TreeItemProvider/TreeItemProvider.d.ts +9 -0
  30. package/TreeItemProvider/TreeItemProvider.js +43 -0
  31. package/{TreeItem2Provider/TreeItem2Provider.types.d.ts → TreeItemProvider/TreeItemProvider.types.d.ts} +2 -1
  32. package/TreeItemProvider/index.d.ts +2 -0
  33. package/TreeItemProvider/index.js +1 -0
  34. package/{TreeItem2Icon → TreeItemProvider}/package.json +1 -1
  35. package/hooks/index.d.ts +2 -1
  36. package/hooks/index.js +2 -1
  37. package/hooks/useTreeItemModel.d.ts +2 -0
  38. package/hooks/useTreeItemModel.js +11 -0
  39. package/hooks/useTreeItemUtils/index.d.ts +1 -0
  40. package/hooks/useTreeItemUtils/index.js +1 -0
  41. package/hooks/{useTreeItem2Utils/useTreeItem2Utils.d.ts → useTreeItemUtils/useTreeItemUtils.d.ts} +13 -12
  42. package/{modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js → hooks/useTreeItemUtils/useTreeItemUtils.js} +36 -18
  43. package/index.d.ts +5 -7
  44. package/index.js +6 -8
  45. package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +3 -1
  46. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +2 -1
  47. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +6 -22
  48. package/internals/TreeViewProvider/TreeViewProvider.js +1 -2
  49. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +5 -2
  50. package/internals/components/RichTreeViewItems.d.ts +3 -6
  51. package/internals/components/RichTreeViewItems.js +42 -30
  52. package/internals/corePlugins/useTreeViewId/useTreeViewId.js +10 -11
  53. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +36 -0
  54. package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +9 -0
  55. package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +1 -5
  56. package/internals/hooks/useSelector.d.ts +4 -0
  57. package/internals/hooks/useSelector.js +6 -0
  58. package/internals/index.d.ts +6 -1
  59. package/internals/index.js +5 -1
  60. package/internals/models/helpers.d.ts +0 -2
  61. package/internals/models/itemPlugin.d.ts +13 -10
  62. package/internals/models/plugin.d.ts +20 -8
  63. package/internals/models/treeView.d.ts +6 -0
  64. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +36 -24
  65. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +124 -0
  66. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +17 -0
  67. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +8 -15
  68. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +1 -0
  69. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +7 -0
  70. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +62 -40
  71. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +182 -0
  72. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +34 -0
  73. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +4 -16
  74. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +15 -13
  75. package/internals/plugins/useTreeViewItems/index.d.ts +1 -1
  76. package/internals/plugins/useTreeViewItems/useTreeViewItems.js +58 -100
  77. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +718 -0
  78. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +103 -0
  79. package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +16 -55
  80. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +29 -26
  81. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +27 -18
  82. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +1 -1
  83. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +13 -5
  84. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +19 -30
  85. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +74 -0
  86. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +26 -0
  87. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +13 -29
  88. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
  89. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +88 -0
  90. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +79 -43
  91. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +32 -0
  92. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +9 -0
  93. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +39 -9
  94. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +20 -1
  95. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +105 -0
  96. package/internals/useTreeView/useTreeView.js +30 -17
  97. package/internals/useTreeView/useTreeView.types.d.ts +1 -2
  98. package/internals/useTreeView/useTreeViewBuildContext.d.ts +3 -1
  99. package/internals/useTreeView/useTreeViewBuildContext.js +24 -18
  100. package/internals/utils/TreeViewStore.d.ts +12 -0
  101. package/internals/utils/TreeViewStore.js +24 -0
  102. package/internals/utils/selectors.d.ts +9 -0
  103. package/internals/utils/selectors.js +37 -0
  104. package/internals/utils/tree.d.ts +8 -8
  105. package/internals/utils/tree.js +51 -43
  106. package/models/items.d.ts +7 -2
  107. package/modern/RichTreeView/RichTreeView.js +22 -5
  108. package/modern/SimpleTreeView/SimpleTreeView.js +21 -3
  109. package/modern/TreeItem/TreeItem.js +241 -371
  110. package/modern/TreeItem/index.js +2 -4
  111. package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +8 -6
  112. package/modern/TreeItemDragAndDropOverlay/index.js +1 -0
  113. package/modern/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +5 -3
  114. package/modern/TreeItemIcon/index.js +1 -0
  115. package/modern/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
  116. package/modern/TreeItemLabelInput/index.js +1 -0
  117. package/modern/TreeItemProvider/TreeItemProvider.js +43 -0
  118. package/modern/TreeItemProvider/index.js +1 -0
  119. package/modern/hooks/index.js +2 -1
  120. package/modern/hooks/useTreeItemModel.js +11 -0
  121. package/modern/hooks/useTreeItemUtils/index.js +1 -0
  122. package/{hooks/useTreeItem2Utils/useTreeItem2Utils.js → modern/hooks/useTreeItemUtils/useTreeItemUtils.js} +36 -18
  123. package/modern/index.js +6 -8
  124. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +6 -22
  125. package/modern/internals/TreeViewProvider/TreeViewProvider.js +1 -2
  126. package/modern/internals/components/RichTreeViewItems.js +42 -30
  127. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.js +10 -11
  128. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +9 -0
  129. package/modern/internals/hooks/useSelector.js +6 -0
  130. package/modern/internals/index.js +5 -1
  131. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +36 -24
  132. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +17 -0
  133. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +7 -0
  134. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +62 -40
  135. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +34 -0
  136. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +15 -13
  137. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +58 -100
  138. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +103 -0
  139. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +29 -26
  140. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +27 -18
  141. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +13 -5
  142. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +19 -30
  143. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +26 -0
  144. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +88 -0
  145. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +79 -43
  146. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +9 -0
  147. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +105 -0
  148. package/modern/internals/useTreeView/useTreeView.js +30 -17
  149. package/modern/internals/useTreeView/useTreeViewBuildContext.js +24 -18
  150. package/modern/internals/utils/TreeViewStore.js +24 -0
  151. package/modern/internals/utils/selectors.js +37 -0
  152. package/modern/internals/utils/tree.js +51 -43
  153. package/modern/useTreeItem/index.js +1 -0
  154. package/modern/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +45 -51
  155. package/node/RichTreeView/RichTreeView.js +22 -5
  156. package/node/SimpleTreeView/SimpleTreeView.js +21 -3
  157. package/node/TreeItem/TreeItem.js +242 -372
  158. package/node/TreeItem/index.js +38 -16
  159. package/node/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js} +7 -6
  160. package/node/TreeItemDragAndDropOverlay/index.js +12 -0
  161. package/node/{TreeItem2Icon/TreeItem2Icon.js → TreeItemIcon/TreeItemIcon.js} +4 -3
  162. package/node/TreeItemIcon/index.js +12 -0
  163. package/node/{TreeItem2LabelInput/TreeItem2LabelInput.js → TreeItemLabelInput/TreeItemLabelInput.js} +3 -3
  164. package/node/TreeItemLabelInput/index.js +12 -0
  165. package/node/{TreeItem2Provider/TreeItem2Provider.js → TreeItemProvider/TreeItemProvider.js} +22 -6
  166. package/node/TreeItemProvider/index.js +12 -0
  167. package/node/hooks/index.js +10 -3
  168. package/node/hooks/useTreeItemModel.js +17 -0
  169. package/node/hooks/useTreeItemUtils/index.js +12 -0
  170. package/node/hooks/{useTreeItem2Utils/useTreeItem2Utils.js → useTreeItemUtils/useTreeItemUtils.js} +37 -19
  171. package/node/index.js +18 -42
  172. package/node/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +6 -22
  173. package/node/internals/TreeViewProvider/TreeViewProvider.js +1 -2
  174. package/node/internals/components/RichTreeViewItems.js +42 -30
  175. package/node/internals/corePlugins/useTreeViewId/useTreeViewId.js +12 -13
  176. package/node/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +15 -0
  177. package/node/internals/hooks/useSelector.js +13 -0
  178. package/node/internals/index.js +47 -1
  179. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +36 -24
  180. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +23 -0
  181. package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +14 -0
  182. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +62 -40
  183. package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +40 -0
  184. package/node/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +16 -13
  185. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +60 -102
  186. package/node/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +109 -0
  187. package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +30 -27
  188. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +27 -18
  189. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +13 -5
  190. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +19 -30
  191. package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +32 -0
  192. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +96 -0
  193. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +78 -42
  194. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +15 -0
  195. package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +109 -2
  196. package/node/internals/useTreeView/useTreeView.js +30 -17
  197. package/node/internals/useTreeView/useTreeViewBuildContext.js +25 -18
  198. package/node/internals/utils/TreeViewStore.js +31 -0
  199. package/node/internals/utils/selectors.js +44 -0
  200. package/node/internals/utils/tree.js +51 -43
  201. package/node/useTreeItem/index.js +12 -0
  202. package/node/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +46 -53
  203. package/package.json +7 -5
  204. package/themeAugmentation/components.d.ts +0 -10
  205. package/themeAugmentation/overrides.d.ts +0 -3
  206. package/themeAugmentation/props.d.ts +1 -5
  207. package/useTreeItem/index.d.ts +2 -0
  208. package/useTreeItem/index.js +1 -0
  209. package/{TreeItem2 → useTreeItem}/package.json +1 -1
  210. package/useTreeItem/useTreeItem.d.ts +2 -0
  211. package/{useTreeItem2/useTreeItem2.js → useTreeItem/useTreeItem.js} +45 -51
  212. package/{useTreeItem2/useTreeItem2.types.d.ts → useTreeItem/useTreeItem.types.d.ts} +51 -58
  213. package/TreeItem/TreeItemContent.d.ts +0 -61
  214. package/TreeItem/TreeItemContent.js +0 -146
  215. package/TreeItem/useTreeItemState.d.ts +0 -21
  216. package/TreeItem/useTreeItemState.js +0 -143
  217. package/TreeItem2/TreeItem2.d.ts +0 -34
  218. package/TreeItem2/TreeItem2.js +0 -387
  219. package/TreeItem2/TreeItem2.types.d.ts +0 -92
  220. package/TreeItem2/index.d.ts +0 -2
  221. package/TreeItem2/index.js +0 -1
  222. package/TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.d.ts +0 -7
  223. package/TreeItem2DragAndDropOverlay/index.d.ts +0 -2
  224. package/TreeItem2DragAndDropOverlay/index.js +0 -1
  225. package/TreeItem2DragAndDropOverlay/package.json +0 -6
  226. package/TreeItem2Icon/TreeItem2Icon.d.ts +0 -7
  227. package/TreeItem2Icon/index.d.ts +0 -2
  228. package/TreeItem2Icon/index.js +0 -1
  229. package/TreeItem2LabelInput/TreeItem2LabelInput.d.ts +0 -5
  230. package/TreeItem2LabelInput/index.d.ts +0 -2
  231. package/TreeItem2LabelInput/index.js +0 -1
  232. package/TreeItem2Provider/TreeItem2Provider.d.ts +0 -6
  233. package/TreeItem2Provider/TreeItem2Provider.js +0 -26
  234. package/TreeItem2Provider/index.d.ts +0 -2
  235. package/TreeItem2Provider/index.js +0 -1
  236. package/TreeView/TreeView.d.ts +0 -21
  237. package/TreeView/TreeView.js +0 -211
  238. package/TreeView/TreeView.types.d.ts +0 -9
  239. package/TreeView/index.d.ts +0 -3
  240. package/TreeView/index.js +0 -3
  241. package/TreeView/package.json +0 -6
  242. package/TreeView/treeViewClasses.d.ts +0 -7
  243. package/TreeView/treeViewClasses.js +0 -6
  244. package/hooks/useTreeItem2Utils/index.d.ts +0 -1
  245. package/hooks/useTreeItem2Utils/index.js +0 -1
  246. package/modern/TreeItem/TreeItemContent.js +0 -146
  247. package/modern/TreeItem/useTreeItemState.js +0 -143
  248. package/modern/TreeItem2/TreeItem2.js +0 -387
  249. package/modern/TreeItem2/index.js +0 -1
  250. package/modern/TreeItem2DragAndDropOverlay/index.js +0 -1
  251. package/modern/TreeItem2Icon/index.js +0 -1
  252. package/modern/TreeItem2LabelInput/index.js +0 -1
  253. package/modern/TreeItem2Provider/TreeItem2Provider.js +0 -26
  254. package/modern/TreeItem2Provider/TreeItem2Provider.types.js +0 -1
  255. package/modern/TreeItem2Provider/index.js +0 -1
  256. package/modern/TreeView/TreeView.js +0 -211
  257. package/modern/TreeView/TreeView.types.js +0 -1
  258. package/modern/TreeView/index.js +0 -3
  259. package/modern/TreeView/treeViewClasses.js +0 -6
  260. package/modern/hooks/useTreeItem2Utils/index.js +0 -1
  261. package/modern/useTreeItem2/index.js +0 -4
  262. package/modern/useTreeItem2/useTreeItem2.types.js +0 -1
  263. package/node/TreeItem/TreeItemContent.js +0 -153
  264. package/node/TreeItem/useTreeItemState.js +0 -148
  265. package/node/TreeItem2/TreeItem2.js +0 -394
  266. package/node/TreeItem2/index.js +0 -48
  267. package/node/TreeItem2DragAndDropOverlay/index.js +0 -12
  268. package/node/TreeItem2Icon/index.js +0 -12
  269. package/node/TreeItem2LabelInput/index.js +0 -12
  270. package/node/TreeItem2Provider/index.js +0 -12
  271. package/node/TreeView/TreeView.js +0 -217
  272. package/node/TreeView/TreeView.types.js +0 -5
  273. package/node/TreeView/index.js +0 -27
  274. package/node/TreeView/treeViewClasses.js +0 -14
  275. package/node/hooks/useTreeItem2Utils/index.js +0 -12
  276. package/node/useTreeItem2/index.js +0 -10
  277. package/node/useTreeItem2/useTreeItem2.types.js +0 -5
  278. package/useTreeItem2/index.d.ts +0 -3
  279. package/useTreeItem2/index.js +0 -4
  280. package/useTreeItem2/useTreeItem2.d.ts +0 -2
  281. package/useTreeItem2/useTreeItem2.types.js +0 -1
  282. /package/{TreeItem2/TreeItem2.types.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  283. /package/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemIcon/TreeItemIcon.types.js} +0 -0
  284. /package/{TreeItem2Icon/TreeItem2Icon.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  285. /package/{TreeItem2LabelInput/TreeItem2LabelInput.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  286. /package/{TreeItem2Provider/TreeItem2Provider.types.js → modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  287. /package/{TreeView/TreeView.types.js → modern/TreeItemIcon/TreeItemIcon.types.js} +0 -0
  288. /package/modern/{TreeItem2/TreeItem2.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  289. /package/modern/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  290. /package/modern/{TreeItem2Icon/TreeItem2Icon.types.js → useTreeItem/useTreeItem.types.js} +0 -0
  291. /package/node/{TreeItem2/TreeItem2.types.js → TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js} +0 -0
  292. /package/node/{TreeItem2DragAndDropOverlay/TreeItem2DragAndDropOverlay.types.js → TreeItemIcon/TreeItemIcon.types.js} +0 -0
  293. /package/node/{TreeItem2Icon/TreeItem2Icon.types.js → TreeItemLabelInput/TreeItemLabelInput.types.js} +0 -0
  294. /package/node/{TreeItem2LabelInput/TreeItem2LabelInput.types.js → TreeItemProvider/TreeItemProvider.types.js} +0 -0
  295. /package/node/{TreeItem2Provider/TreeItem2Provider.types.js → useTreeItem/useTreeItem.types.js} +0 -0
  296. /package/{modern/TreeItem2LabelInput/TreeItem2LabelInput.types.js → useTreeItem/useTreeItem.types.js} +0 -0
@@ -14,6 +14,7 @@ var _useTreeViewModels = require("./useTreeViewModels");
14
14
  var _corePlugins = require("../corePlugins");
15
15
  var _extractPluginParamsFromProps = require("./extractPluginParamsFromProps");
16
16
  var _useTreeViewBuildContext = require("./useTreeViewBuildContext");
17
+ var _TreeViewStore = require("../utils/TreeViewStore");
17
18
  function useTreeViewApiInitialization(inputApiRef) {
18
19
  const fallbackPublicApiRef = React.useRef({});
19
20
  if (inputApiRef) {
@@ -24,12 +25,13 @@ function useTreeViewApiInitialization(inputApiRef) {
24
25
  }
25
26
  return fallbackPublicApiRef.current;
26
27
  }
28
+ let globalId = 0;
27
29
  const useTreeView = ({
28
30
  plugins: inPlugins,
29
31
  rootRef,
30
32
  props
31
33
  }) => {
32
- const plugins = [..._corePlugins.TREE_VIEW_CORE_PLUGINS, ...inPlugins];
34
+ const plugins = React.useMemo(() => [..._corePlugins.TREE_VIEW_CORE_PLUGINS, ...inPlugins], [inPlugins]);
33
35
  const {
34
36
  pluginParams,
35
37
  forwardedProps,
@@ -47,22 +49,30 @@ const useTreeView = ({
47
49
  const publicAPI = useTreeViewApiInitialization(apiRef);
48
50
  const innerRootRef = React.useRef(null);
49
51
  const handleRootRef = (0, _useForkRef.default)(innerRootRef, rootRef);
50
- const contextValue = (0, _useTreeViewBuildContext.useTreeViewBuildContext)({
51
- plugins,
52
- instance,
53
- publicAPI,
54
- rootRef: innerRootRef
55
- });
56
- const [state, setState] = React.useState(() => {
57
- const temp = {};
52
+ const storeRef = React.useRef(null);
53
+ if (storeRef.current == null) {
54
+ globalId += 1;
55
+ const initialState = {
56
+ cacheKey: {
57
+ id: globalId
58
+ }
59
+ };
58
60
  plugins.forEach(plugin => {
59
61
  if (plugin.getInitialState) {
60
- Object.assign(temp, plugin.getInitialState(pluginParams));
62
+ Object.assign(initialState, plugin.getInitialState(pluginParams));
61
63
  }
62
64
  });
63
- return temp;
65
+ storeRef.current = new _TreeViewStore.TreeViewStore(initialState);
66
+ }
67
+ const baseContextValue = (0, _useTreeViewBuildContext.useTreeViewBuildContext)({
68
+ plugins,
69
+ instance,
70
+ publicAPI,
71
+ store: storeRef.current,
72
+ rootRef: innerRootRef
64
73
  });
65
74
  const rootPropsGetters = [];
75
+ const pluginContextValues = [];
66
76
  const runPlugin = plugin => {
67
77
  const pluginResponse = plugin({
68
78
  instance,
@@ -70,11 +80,10 @@ const useTreeView = ({
70
80
  slots,
71
81
  slotProps,
72
82
  experimentalFeatures,
73
- state,
74
- setState,
75
83
  rootRef: innerRootRef,
76
84
  models,
77
- plugins
85
+ plugins,
86
+ store: storeRef.current
78
87
  });
79
88
  if (pluginResponse.getRootProps) {
80
89
  rootPropsGetters.push(pluginResponse.getRootProps);
@@ -86,7 +95,7 @@ const useTreeView = ({
86
95
  Object.assign(instance, pluginResponse.instance);
87
96
  }
88
97
  if (pluginResponse.contextValue) {
89
- Object.assign(contextValue, pluginResponse.contextValue);
98
+ pluginContextValues.push(pluginResponse.contextValue);
90
99
  }
91
100
  };
92
101
  plugins.forEach(runPlugin);
@@ -101,11 +110,15 @@ const useTreeView = ({
101
110
  });
102
111
  return rootProps;
103
112
  };
113
+ const contextValue = React.useMemo(() => {
114
+ const copiedBaseContextValue = (0, _extends2.default)({}, baseContextValue);
115
+ return Object.assign(copiedBaseContextValue, ...pluginContextValues);
116
+ // eslint-disable-next-line react-hooks/exhaustive-deps
117
+ }, [baseContextValue, ...pluginContextValues]);
104
118
  return {
105
119
  getRootProps,
106
120
  rootRef: handleRootRef,
107
- contextValue,
108
- instance
121
+ contextValue
109
122
  };
110
123
  };
111
124
  exports.useTreeView = useTreeView;
@@ -1,16 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.useTreeViewBuildContext = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
7
9
  const useTreeViewBuildContext = ({
8
10
  plugins,
9
11
  instance,
10
12
  publicAPI,
13
+ store,
11
14
  rootRef
12
15
  }) => {
13
- const runItemPlugins = itemPluginProps => {
16
+ const runItemPlugins = React.useCallback(itemPluginProps => {
14
17
  let finalRootRef = null;
15
18
  let finalContentRef = null;
16
19
  const pluginPropEnhancers = [];
@@ -55,10 +58,11 @@ const useTreeViewBuildContext = ({
55
58
  rootRef: finalRootRef,
56
59
  propsEnhancers
57
60
  };
58
- };
59
- const wrapItem = ({
61
+ }, [plugins]);
62
+ const wrapItem = React.useCallback(({
60
63
  itemId,
61
- children
64
+ children,
65
+ idAttribute
62
66
  }) => {
63
67
  let finalChildren = children;
64
68
  // The wrappers are reversed to ensure that the first wrapper is the outermost one.
@@ -66,15 +70,16 @@ const useTreeViewBuildContext = ({
66
70
  const plugin = plugins[i];
67
71
  if (plugin.wrapItem) {
68
72
  finalChildren = plugin.wrapItem({
73
+ instance,
69
74
  itemId,
70
75
  children: finalChildren,
71
- instance
76
+ idAttribute
72
77
  });
73
78
  }
74
79
  }
75
80
  return finalChildren;
76
- };
77
- const wrapRoot = ({
81
+ }, [plugins, instance]);
82
+ const wrapRoot = React.useCallback(({
78
83
  children
79
84
  }) => {
80
85
  let finalChildren = children;
@@ -83,20 +88,22 @@ const useTreeViewBuildContext = ({
83
88
  const plugin = plugins[i];
84
89
  if (plugin.wrapRoot) {
85
90
  finalChildren = plugin.wrapRoot({
86
- children: finalChildren,
87
- instance
91
+ children: finalChildren
88
92
  });
89
93
  }
90
94
  }
91
95
  return finalChildren;
92
- };
93
- return {
94
- runItemPlugins,
95
- wrapItem,
96
- wrapRoot,
97
- instance,
98
- rootRef,
99
- publicAPI
100
- };
96
+ }, [plugins]);
97
+ return React.useMemo(() => {
98
+ return {
99
+ runItemPlugins,
100
+ wrapItem,
101
+ wrapRoot,
102
+ instance,
103
+ publicAPI,
104
+ store,
105
+ rootRef
106
+ };
107
+ }, [runItemPlugins, wrapItem, wrapRoot, instance, publicAPI, store, rootRef]);
101
108
  };
102
109
  exports.useTreeViewBuildContext = useTreeViewBuildContext;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TreeViewStore = void 0;
7
+ class TreeViewStore {
8
+ constructor(value) {
9
+ this.value = void 0;
10
+ this.listeners = void 0;
11
+ this.subscribe = fn => {
12
+ this.listeners.add(fn);
13
+ return () => {
14
+ this.listeners.delete(fn);
15
+ };
16
+ };
17
+ this.getSnapshot = () => {
18
+ return this.value;
19
+ };
20
+ this.update = updater => {
21
+ const newState = updater(this.value);
22
+ if (newState !== this.value) {
23
+ this.value = newState;
24
+ this.listeners.forEach(l => l(newState));
25
+ }
26
+ };
27
+ this.value = value;
28
+ this.listeners = new Set();
29
+ }
30
+ }
31
+ exports.TreeViewStore = TreeViewStore;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createSelector = void 0;
7
+ var _reselect = require("reselect");
8
+ const reselectCreateSelector = (0, _reselect.createSelectorCreator)({
9
+ memoize: _reselect.lruMemoize,
10
+ memoizeOptions: {
11
+ maxSize: 1,
12
+ equalityCheck: Object.is
13
+ }
14
+ });
15
+ const cache = new WeakMap();
16
+ /**
17
+ * Method wrapping reselect's createSelector to provide caching for tree view instances.
18
+ *
19
+ */
20
+ const createSelector = (...createSelectorArgs) => {
21
+ const selector = (state, selectorArgs) => {
22
+ const cacheKey = state.cacheKey;
23
+
24
+ // If there is no cache for the current tree view instance, create one.
25
+ let cacheForCurrentTreeViewInstance = cache.get(cacheKey);
26
+ if (!cacheForCurrentTreeViewInstance) {
27
+ cacheForCurrentTreeViewInstance = new Map();
28
+ cache.set(cacheKey, cacheForCurrentTreeViewInstance);
29
+ }
30
+
31
+ // If there is a cached selector, execute it.
32
+ const cachedSelector = cacheForCurrentTreeViewInstance.get(createSelectorArgs);
33
+ if (cachedSelector) {
34
+ return cachedSelector(state, selectorArgs);
35
+ }
36
+
37
+ // Otherwise, create a new selector and cache it and execute it.
38
+ const fn = reselectCreateSelector(...createSelectorArgs);
39
+ cacheForCurrentTreeViewInstance.set(createSelectorArgs, fn);
40
+ return fn(state, selectorArgs);
41
+ };
42
+ return selector;
43
+ };
44
+ exports.createSelector = createSelector;
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isTargetInDescendants = exports.getPreviousNavigableItem = exports.getNonDisabledItemsInRange = exports.getNextNavigableItem = exports.getLastNavigableItem = exports.getFirstNavigableItem = exports.getAllNavigableItems = exports.findOrderInTremauxTree = void 0;
7
- const getLastNavigableItemInArray = (instance, items) => {
7
+ var _useTreeViewExpansion = require("../plugins/useTreeViewExpansion/useTreeViewExpansion.selectors");
8
+ var _useTreeViewItems = require("../plugins/useTreeViewItems/useTreeViewItems.selectors");
9
+ const getLastNavigableItemInArray = (state, items) => {
8
10
  // Equivalent to Array.prototype.findLastIndex
9
11
  let itemIndex = items.length - 1;
10
- while (itemIndex >= 0 && !instance.isItemNavigable(items[itemIndex])) {
12
+ while (itemIndex >= 0 && !(0, _useTreeViewItems.selectorCanItemBeFocused)(state, items[itemIndex])) {
11
13
  itemIndex -= 1;
12
14
  }
13
15
  if (itemIndex === -1) {
@@ -15,10 +17,13 @@ const getLastNavigableItemInArray = (instance, items) => {
15
17
  }
16
18
  return items[itemIndex];
17
19
  };
18
- const getPreviousNavigableItem = (instance, itemId) => {
19
- const itemMeta = instance.getItemMeta(itemId);
20
- const siblings = instance.getItemOrderedChildrenIds(itemMeta.parentId);
21
- const itemIndex = instance.getItemIndex(itemId);
20
+ const getPreviousNavigableItem = (state, itemId) => {
21
+ const itemMeta = (0, _useTreeViewItems.selectorItemMeta)(state, itemId);
22
+ if (!itemMeta) {
23
+ return null;
24
+ }
25
+ const siblings = (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, itemMeta.parentId);
26
+ const itemIndex = (0, _useTreeViewItems.selectorItemIndex)(state, itemId);
22
27
 
23
28
  // TODO: What should we do if the parent is not navigable?
24
29
  if (itemIndex === 0) {
@@ -27,7 +32,7 @@ const getPreviousNavigableItem = (instance, itemId) => {
27
32
 
28
33
  // Finds the previous navigable sibling.
29
34
  let previousNavigableSiblingIndex = itemIndex - 1;
30
- while (!instance.isItemNavigable(siblings[previousNavigableSiblingIndex]) && previousNavigableSiblingIndex >= 0) {
35
+ while (!(0, _useTreeViewItems.selectorCanItemBeFocused)(state, siblings[previousNavigableSiblingIndex]) && previousNavigableSiblingIndex >= 0) {
31
36
  previousNavigableSiblingIndex -= 1;
32
37
  }
33
38
  if (previousNavigableSiblingIndex === -1) {
@@ -37,53 +42,53 @@ const getPreviousNavigableItem = (instance, itemId) => {
37
42
  }
38
43
 
39
44
  // Otherwise, we can try to go up a level and find the previous navigable item.
40
- return getPreviousNavigableItem(instance, itemMeta.parentId);
45
+ return getPreviousNavigableItem(state, itemMeta.parentId);
41
46
  }
42
47
 
43
48
  // Finds the last navigable ancestor of the previous navigable sibling.
44
49
  let currentItemId = siblings[previousNavigableSiblingIndex];
45
- let lastNavigableChild = getLastNavigableItemInArray(instance, instance.getItemOrderedChildrenIds(currentItemId));
46
- while (instance.isItemExpanded(currentItemId) && lastNavigableChild != null) {
50
+ let lastNavigableChild = getLastNavigableItemInArray(state, (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, currentItemId));
51
+ while ((0, _useTreeViewExpansion.selectorIsItemExpanded)(state, currentItemId) && lastNavigableChild != null) {
47
52
  currentItemId = lastNavigableChild;
48
- lastNavigableChild = instance.getItemOrderedChildrenIds(currentItemId).find(instance.isItemNavigable);
53
+ lastNavigableChild = (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, currentItemId).find(childId => (0, _useTreeViewItems.selectorCanItemBeFocused)(state, childId));
49
54
  }
50
55
  return currentItemId;
51
56
  };
52
57
  exports.getPreviousNavigableItem = getPreviousNavigableItem;
53
- const getNextNavigableItem = (instance, itemId) => {
58
+ const getNextNavigableItem = (state, itemId) => {
54
59
  // If the item is expanded and has some navigable children, return the first of them.
55
- if (instance.isItemExpanded(itemId)) {
56
- const firstNavigableChild = instance.getItemOrderedChildrenIds(itemId).find(instance.isItemNavigable);
60
+ if ((0, _useTreeViewExpansion.selectorIsItemExpanded)(state, itemId)) {
61
+ const firstNavigableChild = (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, itemId).find(childId => (0, _useTreeViewItems.selectorCanItemBeFocused)(state, childId));
57
62
  if (firstNavigableChild != null) {
58
63
  return firstNavigableChild;
59
64
  }
60
65
  }
61
- let itemMeta = instance.getItemMeta(itemId);
66
+ let itemMeta = (0, _useTreeViewItems.selectorItemMeta)(state, itemId);
62
67
  while (itemMeta != null) {
63
68
  // Try to find the first navigable sibling after the current item.
64
- const siblings = instance.getItemOrderedChildrenIds(itemMeta.parentId);
65
- const currentItemIndex = instance.getItemIndex(itemMeta.id);
69
+ const siblings = (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, itemMeta.parentId);
70
+ const currentItemIndex = (0, _useTreeViewItems.selectorItemIndex)(state, itemMeta.id);
66
71
  if (currentItemIndex < siblings.length - 1) {
67
72
  let nextItemIndex = currentItemIndex + 1;
68
- while (!instance.isItemNavigable(siblings[nextItemIndex]) && nextItemIndex < siblings.length - 1) {
73
+ while (!(0, _useTreeViewItems.selectorCanItemBeFocused)(state, siblings[nextItemIndex]) && nextItemIndex < siblings.length - 1) {
69
74
  nextItemIndex += 1;
70
75
  }
71
- if (instance.isItemNavigable(siblings[nextItemIndex])) {
76
+ if ((0, _useTreeViewItems.selectorCanItemBeFocused)(state, siblings[nextItemIndex])) {
72
77
  return siblings[nextItemIndex];
73
78
  }
74
79
  }
75
80
 
76
81
  // If the sibling does not exist, go up a level to the parent and try again.
77
- itemMeta = instance.getItemMeta(itemMeta.parentId);
82
+ itemMeta = (0, _useTreeViewItems.selectorItemMeta)(state, itemMeta.parentId);
78
83
  }
79
84
  return null;
80
85
  };
81
86
  exports.getNextNavigableItem = getNextNavigableItem;
82
- const getLastNavigableItem = instance => {
87
+ const getLastNavigableItem = state => {
83
88
  let itemId = null;
84
- while (itemId == null || instance.isItemExpanded(itemId)) {
85
- const children = instance.getItemOrderedChildrenIds(itemId);
86
- const lastNavigableChild = getLastNavigableItemInArray(instance, children);
89
+ while (itemId == null || (0, _useTreeViewExpansion.selectorIsItemExpanded)(state, itemId)) {
90
+ const children = (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, itemId);
91
+ const lastNavigableChild = getLastNavigableItemInArray(state, children);
87
92
 
88
93
  // The item has no navigable children.
89
94
  if (lastNavigableChild == null) {
@@ -94,7 +99,7 @@ const getLastNavigableItem = instance => {
94
99
  return itemId;
95
100
  };
96
101
  exports.getLastNavigableItem = getLastNavigableItem;
97
- const getFirstNavigableItem = instance => instance.getItemOrderedChildrenIds(null).find(instance.isItemNavigable);
102
+ const getFirstNavigableItem = state => (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, null).find(itemId => (0, _useTreeViewItems.selectorCanItemBeFocused)(state, itemId));
98
103
 
99
104
  /**
100
105
  * This is used to determine the start and end of a selection range so
@@ -111,12 +116,15 @@ const getFirstNavigableItem = instance => instance.getItemOrderedChildrenIds(nul
111
116
  * https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree
112
117
  */
113
118
  exports.getFirstNavigableItem = getFirstNavigableItem;
114
- const findOrderInTremauxTree = (instance, itemAId, itemBId) => {
119
+ const findOrderInTremauxTree = (state, itemAId, itemBId) => {
115
120
  if (itemAId === itemBId) {
116
121
  return [itemAId, itemBId];
117
122
  }
118
- const itemMetaA = instance.getItemMeta(itemAId);
119
- const itemMetaB = instance.getItemMeta(itemBId);
123
+ const itemMetaA = (0, _useTreeViewItems.selectorItemMeta)(state, itemAId);
124
+ const itemMetaB = (0, _useTreeViewItems.selectorItemMeta)(state, itemBId);
125
+ if (!itemMetaA || !itemMetaB) {
126
+ return [itemAId, itemBId];
127
+ }
120
128
  if (itemMetaA.parentId === itemMetaB.id || itemMetaB.parentId === itemMetaA.id) {
121
129
  return itemMetaB.parentId === itemMetaA.id ? [itemMetaA.id, itemMetaB.id] : [itemMetaB.id, itemMetaA.id];
122
130
  }
@@ -134,7 +142,7 @@ const findOrderInTremauxTree = (instance, itemAId, itemBId) => {
134
142
  aAncestorIsCommon = bFamily.indexOf(aAncestor) !== -1;
135
143
  continueA = aAncestor !== null;
136
144
  if (!aAncestorIsCommon && continueA) {
137
- aAncestor = instance.getItemMeta(aAncestor).parentId;
145
+ aAncestor = (0, _useTreeViewItems.selectorItemParentId)(state, aAncestor);
138
146
  }
139
147
  }
140
148
  if (continueB && !aAncestorIsCommon) {
@@ -142,55 +150,55 @@ const findOrderInTremauxTree = (instance, itemAId, itemBId) => {
142
150
  bAncestorIsCommon = aFamily.indexOf(bAncestor) !== -1;
143
151
  continueB = bAncestor !== null;
144
152
  if (!bAncestorIsCommon && continueB) {
145
- bAncestor = instance.getItemMeta(bAncestor).parentId;
153
+ bAncestor = (0, _useTreeViewItems.selectorItemParentId)(state, bAncestor);
146
154
  }
147
155
  }
148
156
  }
149
157
  const commonAncestor = aAncestorIsCommon ? aAncestor : bAncestor;
150
- const ancestorFamily = instance.getItemOrderedChildrenIds(commonAncestor);
158
+ const ancestorFamily = (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, commonAncestor);
151
159
  const aSide = aFamily[aFamily.indexOf(commonAncestor) - 1];
152
160
  const bSide = bFamily[bFamily.indexOf(commonAncestor) - 1];
153
161
  return ancestorFamily.indexOf(aSide) < ancestorFamily.indexOf(bSide) ? [itemAId, itemBId] : [itemBId, itemAId];
154
162
  };
155
163
  exports.findOrderInTremauxTree = findOrderInTremauxTree;
156
- const getNonDisabledItemsInRange = (instance, itemAId, itemBId) => {
164
+ const getNonDisabledItemsInRange = (state, itemAId, itemBId) => {
157
165
  const getNextItem = itemId => {
158
166
  // If the item is expanded and has some children, return the first of them.
159
- if (instance.isItemExpandable(itemId) && instance.isItemExpanded(itemId)) {
160
- return instance.getItemOrderedChildrenIds(itemId)[0];
167
+ if ((0, _useTreeViewExpansion.selectorIsItemExpandable)(state, itemId) && (0, _useTreeViewExpansion.selectorIsItemExpanded)(state, itemId)) {
168
+ return (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, itemId)[0];
161
169
  }
162
- let itemMeta = instance.getItemMeta(itemId);
170
+ let itemMeta = (0, _useTreeViewItems.selectorItemMeta)(state, itemId);
163
171
  while (itemMeta != null) {
164
172
  // Try to find the first navigable sibling after the current item.
165
- const siblings = instance.getItemOrderedChildrenIds(itemMeta.parentId);
166
- const currentItemIndex = instance.getItemIndex(itemMeta.id);
173
+ const siblings = (0, _useTreeViewItems.selectorItemOrderedChildrenIds)(state, itemMeta.parentId);
174
+ const currentItemIndex = (0, _useTreeViewItems.selectorItemIndex)(state, itemMeta.id);
167
175
  if (currentItemIndex < siblings.length - 1) {
168
176
  return siblings[currentItemIndex + 1];
169
177
  }
170
178
 
171
179
  // If the item is the last of its siblings, go up a level to the parent and try again.
172
- itemMeta = instance.getItemMeta(itemMeta.parentId);
180
+ itemMeta = itemMeta.parentId ? (0, _useTreeViewItems.selectorItemMeta)(state, itemMeta.parentId) : null;
173
181
  }
174
182
  throw new Error('Invalid range');
175
183
  };
176
- const [first, last] = findOrderInTremauxTree(instance, itemAId, itemBId);
184
+ const [first, last] = findOrderInTremauxTree(state, itemAId, itemBId);
177
185
  const items = [first];
178
186
  let current = first;
179
187
  while (current !== last) {
180
188
  current = getNextItem(current);
181
- if (!instance.isItemDisabled(current)) {
189
+ if (!(0, _useTreeViewItems.selectorIsItemDisabled)(state, current)) {
182
190
  items.push(current);
183
191
  }
184
192
  }
185
193
  return items;
186
194
  };
187
195
  exports.getNonDisabledItemsInRange = getNonDisabledItemsInRange;
188
- const getAllNavigableItems = instance => {
189
- let item = getFirstNavigableItem(instance);
196
+ const getAllNavigableItems = state => {
197
+ let item = getFirstNavigableItem(state);
190
198
  const navigableItems = [];
191
199
  while (item != null) {
192
200
  navigableItems.push(item);
193
- item = getNextNavigableItem(instance, item);
201
+ item = getNextNavigableItem(state, item);
194
202
  }
195
203
  return navigableItems;
196
204
  };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useTreeItem", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useTreeItem.useTreeItem;
10
+ }
11
+ });
12
+ var _useTreeItem = require("./useTreeItem");