@mui/x-tree-view 8.0.0-beta.3 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/CHANGELOG.md +388 -96
  2. package/RichTreeView/RichTreeView.js +12 -8
  3. package/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  4. package/RichTreeView/RichTreeView.plugins.js +1 -2
  5. package/RichTreeView/RichTreeView.types.d.ts +4 -3
  6. package/RichTreeView/index.d.ts +1 -1
  7. package/SimpleTreeView/SimpleTreeView.js +13 -10
  8. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  9. package/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  10. package/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  11. package/TreeItem/TreeItem.js +5 -12
  12. package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -1
  13. package/TreeItemIcon/TreeItemIcon.js +15 -11
  14. package/TreeItemLabelInput/TreeItemLabelInput.js +1 -2
  15. package/esm/RichTreeView/RichTreeView.js +11 -7
  16. package/esm/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  17. package/esm/RichTreeView/RichTreeView.plugins.js +1 -2
  18. package/esm/RichTreeView/RichTreeView.types.d.ts +4 -3
  19. package/esm/RichTreeView/index.d.ts +1 -1
  20. package/esm/SimpleTreeView/SimpleTreeView.js +12 -9
  21. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  22. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  23. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  24. package/esm/TreeItem/TreeItem.js +5 -12
  25. package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -1
  26. package/esm/TreeItemIcon/TreeItemIcon.js +15 -11
  27. package/esm/TreeItemLabelInput/TreeItemLabelInput.js +1 -2
  28. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  29. package/esm/index.js +1 -1
  30. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  31. package/esm/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  32. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  33. package/esm/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  34. package/esm/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  35. package/esm/internals/hooks/useSelector.js +1 -4
  36. package/esm/internals/index.d.ts +2 -3
  37. package/esm/internals/index.js +1 -1
  38. package/esm/internals/models/events.d.ts +2 -6
  39. package/esm/internals/models/plugin.d.ts +63 -38
  40. package/esm/internals/models/treeView.d.ts +0 -5
  41. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -21
  42. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  43. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +21 -1
  44. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  45. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  46. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -7
  47. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +3 -30
  48. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  49. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  50. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  51. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  52. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  53. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  54. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +31 -0
  55. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  56. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  57. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +12 -2
  58. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  59. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  60. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +39 -40
  61. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  62. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +36 -1
  63. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  64. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  65. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +5 -24
  66. package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  67. package/esm/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  68. package/esm/internals/useTreeView/useTreeView.d.ts +10 -1
  69. package/esm/internals/useTreeView/useTreeView.js +22 -25
  70. package/esm/internals/useTreeView/useTreeView.types.d.ts +1 -3
  71. package/esm/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  72. package/esm/internals/utils/models.d.ts +7 -0
  73. package/esm/internals/utils/models.js +23 -0
  74. package/esm/internals/utils/selectors.d.ts +1 -1
  75. package/esm/utils/cache.d.ts +1 -1
  76. package/esm/utils/cache.js +1 -1
  77. package/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  78. package/index.js +1 -1
  79. package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  80. package/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  81. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  82. package/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  83. package/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  84. package/internals/hooks/useSelector.js +1 -5
  85. package/internals/index.d.ts +2 -3
  86. package/internals/index.js +13 -7
  87. package/internals/models/events.d.ts +2 -6
  88. package/internals/models/plugin.d.ts +63 -38
  89. package/internals/models/treeView.d.ts +0 -5
  90. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +33 -19
  91. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  92. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +22 -2
  93. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  94. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  95. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +1 -9
  96. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -30
  97. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  98. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  99. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  100. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  101. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  102. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  103. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +34 -2
  104. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  105. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  106. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +13 -3
  107. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  108. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  109. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +37 -38
  110. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  111. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +37 -2
  112. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  113. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  114. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +6 -26
  115. package/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  116. package/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  117. package/internals/useTreeView/useTreeView.d.ts +10 -1
  118. package/internals/useTreeView/useTreeView.js +22 -25
  119. package/internals/useTreeView/useTreeView.types.d.ts +1 -3
  120. package/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  121. package/internals/utils/models.d.ts +7 -0
  122. package/internals/utils/models.js +30 -0
  123. package/internals/utils/selectors.d.ts +1 -1
  124. package/package.json +4 -12
  125. package/utils/cache.d.ts +1 -1
  126. package/utils/cache.js +1 -1
  127. package/esm/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  128. package/esm/internals/plugins/useTreeViewIcons/index.js +0 -1
  129. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  130. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  131. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  132. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  133. package/esm/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  134. package/esm/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  135. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  136. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  137. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  138. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  139. package/esm/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  140. package/esm/internals/useTreeView/useTreeViewModels.js +0 -62
  141. package/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  142. package/internals/plugins/useTreeViewIcons/index.js +0 -12
  143. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  144. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -32
  145. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  146. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
  147. package/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  148. package/internals/plugins/useTreeViewItemCustomization/index.js +0 -12
  149. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  150. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -32
  151. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  152. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -5
  153. package/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  154. package/internals/useTreeView/useTreeViewModels.js +0 -71
  155. package/modern/RichTreeView/RichTreeView.d.ts +0 -18
  156. package/modern/RichTreeView/RichTreeView.js +0 -322
  157. package/modern/RichTreeView/RichTreeView.plugins.d.ts +0 -13
  158. package/modern/RichTreeView/RichTreeView.plugins.js +0 -10
  159. package/modern/RichTreeView/RichTreeView.types.d.ts +0 -52
  160. package/modern/RichTreeView/RichTreeView.types.js +0 -1
  161. package/modern/RichTreeView/index.d.ts +0 -5
  162. package/modern/RichTreeView/index.js +0 -3
  163. package/modern/RichTreeView/richTreeViewClasses.d.ts +0 -5
  164. package/modern/RichTreeView/richTreeViewClasses.js +0 -6
  165. package/modern/SimpleTreeView/SimpleTreeView.d.ts +0 -20
  166. package/modern/SimpleTreeView/SimpleTreeView.js +0 -265
  167. package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -12
  168. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +0 -10
  169. package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +0 -51
  170. package/modern/SimpleTreeView/SimpleTreeView.types.js +0 -1
  171. package/modern/SimpleTreeView/index.d.ts +0 -3
  172. package/modern/SimpleTreeView/index.js +0 -3
  173. package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +0 -5
  174. package/modern/SimpleTreeView/simpleTreeViewClasses.js +0 -6
  175. package/modern/TreeItem/TreeItem.d.ts +0 -33
  176. package/modern/TreeItem/TreeItem.js +0 -408
  177. package/modern/TreeItem/TreeItem.types.d.ts +0 -107
  178. package/modern/TreeItem/TreeItem.types.js +0 -1
  179. package/modern/TreeItem/index.d.ts +0 -4
  180. package/modern/TreeItem/index.js +0 -2
  181. package/modern/TreeItem/treeItemClasses.d.ts +0 -55
  182. package/modern/TreeItem/treeItemClasses.js +0 -8
  183. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +0 -7
  184. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -74
  185. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +0 -6
  186. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -1
  187. package/modern/TreeItemDragAndDropOverlay/index.d.ts +0 -2
  188. package/modern/TreeItemDragAndDropOverlay/index.js +0 -1
  189. package/modern/TreeItemIcon/TreeItemIcon.d.ts +0 -7
  190. package/modern/TreeItemIcon/TreeItemIcon.js +0 -74
  191. package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +0 -40
  192. package/modern/TreeItemIcon/TreeItemIcon.types.js +0 -1
  193. package/modern/TreeItemIcon/index.d.ts +0 -2
  194. package/modern/TreeItemIcon/index.js +0 -1
  195. package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +0 -5
  196. package/modern/TreeItemLabelInput/TreeItemLabelInput.js +0 -24
  197. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +0 -14
  198. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -1
  199. package/modern/TreeItemLabelInput/index.d.ts +0 -2
  200. package/modern/TreeItemLabelInput/index.js +0 -1
  201. package/modern/TreeItemProvider/TreeItemProvider.d.ts +0 -7
  202. package/modern/TreeItemProvider/TreeItemProvider.js +0 -45
  203. package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +0 -7
  204. package/modern/TreeItemProvider/TreeItemProvider.types.js +0 -1
  205. package/modern/TreeItemProvider/index.d.ts +0 -2
  206. package/modern/TreeItemProvider/index.js +0 -1
  207. package/modern/hooks/index.d.ts +0 -3
  208. package/modern/hooks/index.js +0 -3
  209. package/modern/hooks/useTreeItemModel.d.ts +0 -2
  210. package/modern/hooks/useTreeItemModel.js +0 -11
  211. package/modern/hooks/useTreeItemUtils/index.d.ts +0 -1
  212. package/modern/hooks/useTreeItemUtils/index.js +0 -1
  213. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +0 -42
  214. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +0 -165
  215. package/modern/hooks/useTreeViewApiRef.d.ts +0 -7
  216. package/modern/hooks/useTreeViewApiRef.js +0 -7
  217. package/modern/icons/icons.d.ts +0 -6
  218. package/modern/icons/icons.js +0 -9
  219. package/modern/icons/index.d.ts +0 -1
  220. package/modern/icons/index.js +0 -1
  221. package/modern/index.d.ts +0 -12
  222. package/modern/index.js +0 -22
  223. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +0 -5
  224. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -5
  225. package/modern/internals/TreeViewItemDepthContext/index.d.ts +0 -1
  226. package/modern/internals/TreeViewItemDepthContext/index.js +0 -1
  227. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +0 -17
  228. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +0 -49
  229. package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +0 -8
  230. package/modern/internals/TreeViewProvider/TreeViewContext.js +0 -15
  231. package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +0 -9
  232. package/modern/internals/TreeViewProvider/TreeViewProvider.js +0 -32
  233. package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +0 -21
  234. package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +0 -1
  235. package/modern/internals/TreeViewProvider/TreeViewStyleContext.d.ts +0 -33
  236. package/modern/internals/TreeViewProvider/TreeViewStyleContext.js +0 -13
  237. package/modern/internals/TreeViewProvider/index.d.ts +0 -3
  238. package/modern/internals/TreeViewProvider/index.js +0 -2
  239. package/modern/internals/components/RichTreeViewItems.d.ts +0 -32
  240. package/modern/internals/components/RichTreeViewItems.js +0 -68
  241. package/modern/internals/corePlugins/corePlugins.d.ts +0 -9
  242. package/modern/internals/corePlugins/corePlugins.js +0 -8
  243. package/modern/internals/corePlugins/index.d.ts +0 -2
  244. package/modern/internals/corePlugins/index.js +0 -1
  245. package/modern/internals/corePlugins/useTreeViewId/index.d.ts +0 -2
  246. package/modern/internals/corePlugins/useTreeViewId/index.js +0 -1
  247. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  248. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -39
  249. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -36
  250. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  251. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  252. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -1
  253. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  254. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  255. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  256. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  257. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  258. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -29
  259. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  260. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -1
  261. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  262. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  263. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  264. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  265. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  266. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -1
  267. package/modern/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  268. package/modern/internals/hooks/useInstanceEventHandler.js +0 -77
  269. package/modern/internals/hooks/useLazyRef.d.ts +0 -1
  270. package/modern/internals/hooks/useLazyRef.js +0 -1
  271. package/modern/internals/hooks/useOnMount.d.ts +0 -1
  272. package/modern/internals/hooks/useOnMount.js +0 -1
  273. package/modern/internals/hooks/useSelector.d.ts +0 -4
  274. package/modern/internals/hooks/useSelector.js +0 -9
  275. package/modern/internals/hooks/useTimeout.d.ts +0 -1
  276. package/modern/internals/hooks/useTimeout.js +0 -1
  277. package/modern/internals/index.d.ts +0 -34
  278. package/modern/internals/index.js +0 -24
  279. package/modern/internals/models/events.d.ts +0 -9
  280. package/modern/internals/models/events.js +0 -1
  281. package/modern/internals/models/helpers.d.ts +0 -7
  282. package/modern/internals/models/helpers.js +0 -1
  283. package/modern/internals/models/index.d.ts +0 -4
  284. package/modern/internals/models/index.js +0 -4
  285. package/modern/internals/models/itemPlugin.d.ts +0 -43
  286. package/modern/internals/models/itemPlugin.js +0 -1
  287. package/modern/internals/models/plugin.d.ts +0 -151
  288. package/modern/internals/models/plugin.js +0 -1
  289. package/modern/internals/models/treeView.d.ts +0 -32
  290. package/modern/internals/models/treeView.js +0 -1
  291. package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +0 -2
  292. package/modern/internals/plugins/useTreeViewExpansion/index.js +0 -1
  293. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  294. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -134
  295. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -184
  296. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -24
  297. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -102
  298. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  299. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -7
  300. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -19
  301. package/modern/internals/plugins/useTreeViewFocus/index.d.ts +0 -2
  302. package/modern/internals/plugins/useTreeViewFocus/index.js +0 -1
  303. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  304. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -135
  305. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -182
  306. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +0 -34
  307. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  308. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  309. package/modern/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  310. package/modern/internals/plugins/useTreeViewIcons/index.js +0 -1
  311. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  312. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  313. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  314. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  315. package/modern/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  316. package/modern/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  317. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  318. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  319. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  320. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  321. package/modern/internals/plugins/useTreeViewItems/index.d.ts +0 -3
  322. package/modern/internals/plugins/useTreeViewItems/index.js +0 -2
  323. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  324. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -325
  325. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -1058
  326. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -113
  327. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -205
  328. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  329. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -4
  330. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -8
  331. package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  332. package/modern/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  333. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  334. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -183
  335. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +0 -35
  336. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  337. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  338. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  339. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  340. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -273
  341. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -30
  342. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  343. package/modern/internals/plugins/useTreeViewLabel/index.d.ts +0 -2
  344. package/modern/internals/plugins/useTreeViewLabel/index.js +0 -1
  345. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  346. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +0 -2
  347. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +0 -72
  348. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -73
  349. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -68
  350. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +0 -24
  351. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -60
  352. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  353. package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -1
  354. package/modern/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  355. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -247
  356. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -27
  357. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -82
  358. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  359. package/modern/internals/plugins/useTreeViewSelection/index.d.ts +0 -2
  360. package/modern/internals/plugins/useTreeViewSelection/index.js +0 -1
  361. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  362. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +0 -2
  363. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +0 -80
  364. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -234
  365. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -363
  366. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -46
  367. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -145
  368. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  369. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -38
  370. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -126
  371. package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -22
  372. package/modern/internals/useTreeView/extractPluginParamsFromProps.js +0 -46
  373. package/modern/internals/useTreeView/index.d.ts +0 -1
  374. package/modern/internals/useTreeView/index.js +0 -1
  375. package/modern/internals/useTreeView/useTreeView.d.ts +0 -9
  376. package/modern/internals/useTreeView/useTreeView.js +0 -114
  377. package/modern/internals/useTreeView/useTreeView.types.d.ts +0 -23
  378. package/modern/internals/useTreeView/useTreeView.types.js +0 -1
  379. package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -18
  380. package/modern/internals/useTreeView/useTreeViewBuildContext.js +0 -101
  381. package/modern/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  382. package/modern/internals/useTreeView/useTreeViewModels.js +0 -62
  383. package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  384. package/modern/internals/useTreeView/useTreeViewPlugins.js +0 -0
  385. package/modern/internals/utils/TreeViewStore.d.ts +0 -12
  386. package/modern/internals/utils/TreeViewStore.js +0 -24
  387. package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  388. package/modern/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  389. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  390. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -18
  391. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  392. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  393. package/modern/internals/utils/plugins.d.ts +0 -2
  394. package/modern/internals/utils/plugins.js +0 -4
  395. package/modern/internals/utils/publishTreeViewEvent.d.ts +0 -5
  396. package/modern/internals/utils/publishTreeViewEvent.js +0 -3
  397. package/modern/internals/utils/selectors.d.ts +0 -16
  398. package/modern/internals/utils/selectors.js +0 -46
  399. package/modern/internals/utils/tree.d.ts +0 -32
  400. package/modern/internals/utils/tree.js +0 -203
  401. package/modern/internals/utils/utils.d.ts +0 -2
  402. package/modern/internals/utils/utils.js +0 -17
  403. package/modern/internals/zero-styled/index.d.ts +0 -3
  404. package/modern/internals/zero-styled/index.js +0 -7
  405. package/modern/models/events.d.ts +0 -4
  406. package/modern/models/events.js +0 -1
  407. package/modern/models/index.d.ts +0 -3
  408. package/modern/models/index.js +0 -5
  409. package/modern/models/items.d.ts +0 -13
  410. package/modern/models/items.js +0 -1
  411. package/modern/package.json +0 -1
  412. package/modern/themeAugmentation/components.d.ts +0 -21
  413. package/modern/themeAugmentation/index.d.ts +0 -3
  414. package/modern/themeAugmentation/index.js +0 -0
  415. package/modern/themeAugmentation/overrides.d.ts +0 -16
  416. package/modern/themeAugmentation/props.d.ts +0 -14
  417. package/modern/useTreeItem/index.d.ts +0 -2
  418. package/modern/useTreeItem/index.js +0 -1
  419. package/modern/useTreeItem/useTreeItem.d.ts +0 -2
  420. package/modern/useTreeItem/useTreeItem.js +0 -282
  421. package/modern/useTreeItem/useTreeItem.types.d.ts +0 -201
  422. package/modern/useTreeItem/useTreeItem.types.js +0 -1
  423. package/modern/utils/cache.d.ts +0 -38
  424. package/modern/utils/cache.js +0 -31
  425. package/modern/utils/index.d.ts +0 -1
  426. package/modern/utils/index.js +0 -1
  427. package/tsconfig.build.tsbuildinfo +0 -1
@@ -909,7 +909,14 @@ export declare const selectorItemDepth: ((state: any, itemId: string | null) =>
909
909
  argsMemoize: typeof import("reselect").weakMapMemoize;
910
910
  memoize: typeof import("reselect").weakMapMemoize;
911
911
  };
912
- export declare const selectorCanItemBeFocused: ((state: any, itemId: string) => boolean) & {
912
+ /**
913
+ * Check if the disabled items are focusable.
914
+ * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
915
+ * @returns {boolean} Whether the disabled items are focusable.
916
+ */
917
+ export declare const selectorDisabledItemFocusable: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewItems.types").UseTreeViewItemsState<import("../../..").TreeViewDefaultItemModelProperties> & Partial<{}> & {
918
+ cacheKey: import("../../models").TreeViewStateCacheKey;
919
+ }) => boolean) & {
913
920
  clearCache: () => void;
914
921
  resultsCount: () => number;
915
922
  resetResultsCount: () => void;
@@ -932,7 +939,7 @@ export declare const selectorCanItemBeFocused: ((state: any, itemId: string) =>
932
939
  };
933
940
  loading: boolean;
934
941
  error: Error | null;
935
- }, resultFuncArgs_1: boolean) => boolean;
942
+ }) => boolean;
936
943
  memoizedResultFunc: ((resultFuncArgs_0: {
937
944
  disabledItemsFocusable: boolean;
938
945
  itemModelLookup: {
@@ -951,13 +958,92 @@ export declare const selectorCanItemBeFocused: ((state: any, itemId: string) =>
951
958
  };
952
959
  loading: boolean;
953
960
  error: Error | null;
954
- }, resultFuncArgs_1: boolean) => boolean) & {
961
+ }) => boolean) & {
962
+ clearCache: () => void;
963
+ resultsCount: () => number;
964
+ resetResultsCount: () => void;
965
+ };
966
+ lastResult: () => boolean;
967
+ dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
968
+ recomputations: () => number;
969
+ resetRecomputations: () => void;
970
+ dependencyRecomputations: () => number;
971
+ resetDependencyRecomputations: () => void;
972
+ } & {
973
+ argsMemoize: typeof import("reselect").weakMapMemoize;
974
+ memoize: typeof import("reselect").weakMapMemoize;
975
+ };
976
+ export declare const selectorCanItemBeFocused: ((state: any, itemId: string) => boolean) & {
977
+ clearCache: () => void;
978
+ resultsCount: () => number;
979
+ resetResultsCount: () => void;
980
+ } & {
981
+ resultFunc: (resultFuncArgs_0: boolean, resultFuncArgs_1: boolean) => boolean;
982
+ memoizedResultFunc: ((resultFuncArgs_0: boolean, resultFuncArgs_1: boolean) => boolean) & {
955
983
  clearCache: () => void;
956
984
  resultsCount: () => number;
957
985
  resetResultsCount: () => void;
958
986
  };
959
987
  lastResult: () => boolean;
960
- dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>, ((state: any, itemId: string) => boolean) & {
988
+ dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewItems.types").UseTreeViewItemsState<import("../../..").TreeViewDefaultItemModelProperties> & Partial<{}> & {
989
+ cacheKey: import("../../models").TreeViewStateCacheKey;
990
+ }) => boolean) & {
991
+ clearCache: () => void;
992
+ resultsCount: () => number;
993
+ resetResultsCount: () => void;
994
+ } & {
995
+ resultFunc: (resultFuncArgs_0: {
996
+ disabledItemsFocusable: boolean;
997
+ itemModelLookup: {
998
+ [itemId: string]: import("../../..").TreeViewBaseItem<import("../../..").TreeViewDefaultItemModelProperties>;
999
+ };
1000
+ itemMetaLookup: {
1001
+ [itemId: string]: TreeViewItemMeta;
1002
+ };
1003
+ itemOrderedChildrenIdsLookup: {
1004
+ [parentItemId: string]: string[];
1005
+ };
1006
+ itemChildrenIndexesLookup: {
1007
+ [parentItemId: string]: {
1008
+ [itemId: string]: number;
1009
+ };
1010
+ };
1011
+ loading: boolean;
1012
+ error: Error | null;
1013
+ }) => boolean;
1014
+ memoizedResultFunc: ((resultFuncArgs_0: {
1015
+ disabledItemsFocusable: boolean;
1016
+ itemModelLookup: {
1017
+ [itemId: string]: import("../../..").TreeViewBaseItem<import("../../..").TreeViewDefaultItemModelProperties>;
1018
+ };
1019
+ itemMetaLookup: {
1020
+ [itemId: string]: TreeViewItemMeta;
1021
+ };
1022
+ itemOrderedChildrenIdsLookup: {
1023
+ [parentItemId: string]: string[];
1024
+ };
1025
+ itemChildrenIndexesLookup: {
1026
+ [parentItemId: string]: {
1027
+ [itemId: string]: number;
1028
+ };
1029
+ };
1030
+ loading: boolean;
1031
+ error: Error | null;
1032
+ }) => boolean) & {
1033
+ clearCache: () => void;
1034
+ resultsCount: () => number;
1035
+ resetResultsCount: () => void;
1036
+ };
1037
+ lastResult: () => boolean;
1038
+ dependencies: [TreeViewRootSelector<UseTreeViewItemsSignature>];
1039
+ recomputations: () => number;
1040
+ resetRecomputations: () => void;
1041
+ dependencyRecomputations: () => number;
1042
+ resetDependencyRecomputations: () => void;
1043
+ } & {
1044
+ argsMemoize: typeof import("reselect").weakMapMemoize;
1045
+ memoize: typeof import("reselect").weakMapMemoize;
1046
+ }, ((state: any, itemId: string) => boolean) & {
961
1047
  clearCache: () => void;
962
1048
  resultsCount: () => number;
963
1049
  resetResultsCount: () => void;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectorItemParentId = exports.selectorItemOrderedChildrenIds = exports.selectorItemModel = exports.selectorItemMetaLookup = exports.selectorItemMeta = exports.selectorItemIndex = exports.selectorItemDepth = exports.selectorIsTreeViewLoading = exports.selectorIsItemDisabled = exports.selectorGetTreeViewError = exports.selectorCanItemBeFocused = void 0;
6
+ exports.selectorItemParentId = exports.selectorItemOrderedChildrenIds = exports.selectorItemModel = exports.selectorItemMetaLookup = exports.selectorItemMeta = exports.selectorItemIndex = exports.selectorItemDepth = exports.selectorIsTreeViewLoading = exports.selectorIsItemDisabled = exports.selectorGetTreeViewError = exports.selectorDisabledItemFocusable = exports.selectorCanItemBeFocused = void 0;
7
7
  var _selectors = require("../../utils/selectors");
8
8
  var _useTreeViewItems = require("./useTreeViewItems.utils");
9
9
  const selectorTreeViewItemsState = state => state.items;
@@ -60,27 +60,7 @@ const selectorItemMeta = exports.selectorItemMeta = (0, _selectors.createSelecto
60
60
  * @param {TreeViewItemId} itemId The id of the item to check.
61
61
  * @returns {boolean} `true` if the item is disabled, `false` otherwise.
62
62
  */
63
- const selectorIsItemDisabled = exports.selectorIsItemDisabled = (0, _selectors.createSelector)([selectorItemMetaLookup, (_, itemId) => itemId], (itemMetaLookup, itemId) => {
64
- if (itemId == null) {
65
- return false;
66
- }
67
- let itemMeta = itemMetaLookup[itemId];
68
-
69
- // This can be called before the item has been added to the item map.
70
- if (!itemMeta) {
71
- return false;
72
- }
73
- if (itemMeta.disabled) {
74
- return true;
75
- }
76
- while (itemMeta.parentId != null) {
77
- itemMeta = itemMetaLookup[itemMeta.parentId];
78
- if (itemMeta.disabled) {
79
- return true;
80
- }
81
- }
82
- return false;
83
- });
63
+ const selectorIsItemDisabled = exports.selectorIsItemDisabled = (0, _selectors.createSelector)([selectorItemMetaLookup, (_, itemId) => itemId], _useTreeViewItems.isItemDisabled);
84
64
 
85
65
  /**
86
66
  * Get the index of an item in its parent's children.
@@ -111,9 +91,16 @@ const selectorItemParentId = exports.selectorItemParentId = (0, _selectors.creat
111
91
  * @returns {number} The depth of the item.
112
92
  */
113
93
  const selectorItemDepth = exports.selectorItemDepth = (0, _selectors.createSelector)([selectorItemMeta], itemMeta => itemMeta?.depth ?? 0);
114
- const selectorCanItemBeFocused = exports.selectorCanItemBeFocused = (0, _selectors.createSelector)([selectorTreeViewItemsState, selectorIsItemDisabled], (itemsState, isItemDisabled) => {
115
- if (itemsState.disabledItemsFocusable) {
94
+
95
+ /**
96
+ * Check if the disabled items are focusable.
97
+ * @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
98
+ * @returns {boolean} Whether the disabled items are focusable.
99
+ */
100
+ const selectorDisabledItemFocusable = exports.selectorDisabledItemFocusable = (0, _selectors.createSelector)([selectorTreeViewItemsState], itemsState => itemsState.disabledItemsFocusable);
101
+ const selectorCanItemBeFocused = exports.selectorCanItemBeFocused = (0, _selectors.createSelector)([selectorDisabledItemFocusable, selectorIsItemDisabled], (disabledItemsFocusable, isDisabled) => {
102
+ if (disabledItemsFocusable) {
116
103
  return true;
117
104
  }
118
- return !isItemDisabled;
105
+ return !isDisabled;
119
106
  });
@@ -1,4 +1,15 @@
1
+ import { TreeViewItemId } from "../../../models/index.js";
2
+ import { TreeViewItemMeta } from "../../models/index.js";
1
3
  export declare const TREE_VIEW_ROOT_PARENT_ID = "__TREE_VIEW_ROOT_PARENT_ID__";
2
4
  export declare const buildSiblingIndexes: (siblings: string[]) => {
3
5
  [itemId: string]: number;
4
- };
6
+ };
7
+ /**
8
+ * Check if an item is disabled.
9
+ * This method should only be used in selectors that are checking if several items are disabled.
10
+ * Otherwise, use the `selectorIsItemDisabled` selector.
11
+ * @returns
12
+ */
13
+ export declare const isItemDisabled: (itemMetaLookup: {
14
+ [itemId: string]: TreeViewItemMeta;
15
+ }, itemId: TreeViewItemId) => boolean;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.buildSiblingIndexes = exports.TREE_VIEW_ROOT_PARENT_ID = void 0;
6
+ exports.isItemDisabled = exports.buildSiblingIndexes = exports.TREE_VIEW_ROOT_PARENT_ID = void 0;
7
7
  const TREE_VIEW_ROOT_PARENT_ID = exports.TREE_VIEW_ROOT_PARENT_ID = '__TREE_VIEW_ROOT_PARENT_ID__';
8
8
  const buildSiblingIndexes = siblings => {
9
9
  const siblingsIndexLookup = {};
@@ -12,4 +12,36 @@ const buildSiblingIndexes = siblings => {
12
12
  });
13
13
  return siblingsIndexLookup;
14
14
  };
15
- exports.buildSiblingIndexes = buildSiblingIndexes;
15
+
16
+ /**
17
+ * Check if an item is disabled.
18
+ * This method should only be used in selectors that are checking if several items are disabled.
19
+ * Otherwise, use the `selectorIsItemDisabled` selector.
20
+ * @returns
21
+ */
22
+ exports.buildSiblingIndexes = buildSiblingIndexes;
23
+ const isItemDisabled = (itemMetaLookup, itemId) => {
24
+ if (itemId == null) {
25
+ return false;
26
+ }
27
+ let itemMeta = itemMetaLookup[itemId];
28
+
29
+ // This can be called before the item has been added to the item map.
30
+ if (!itemMeta) {
31
+ return false;
32
+ }
33
+ if (itemMeta.disabled) {
34
+ return true;
35
+ }
36
+ while (itemMeta.parentId != null) {
37
+ itemMeta = itemMetaLookup[itemMeta.parentId];
38
+ if (!itemMeta) {
39
+ return false;
40
+ }
41
+ if (itemMeta.disabled) {
42
+ return true;
43
+ }
44
+ }
45
+ return false;
46
+ };
47
+ exports.isItemDisabled = isItemDisabled;
@@ -43,10 +43,9 @@ const useTreeViewLabel = ({
43
43
  }
44
44
  };
45
45
  (0, _useEnhancedEffect.default)(() => {
46
- const isItemEditable = params.isItemEditable;
47
46
  store.update(prevState => (0, _extends2.default)({}, prevState, {
48
47
  label: (0, _extends2.default)({}, prevState.label, {
49
- isItemEditable: typeof isItemEditable === 'boolean' ? () => isItemEditable : isItemEditable
48
+ isItemEditable: params.isItemEditable
50
49
  })
51
50
  }));
52
51
  }, [store, params.isItemEditable]);
@@ -67,11 +66,9 @@ useTreeViewLabel.getDefaultizedParams = ({
67
66
  }) => (0, _extends2.default)({}, params, {
68
67
  isItemEditable: params.isItemEditable ?? false
69
68
  });
70
- useTreeViewLabel.getInitialState = ({
71
- isItemEditable
72
- }) => ({
69
+ useTreeViewLabel.getInitialState = params => ({
73
70
  label: {
74
- isItemEditable: typeof isItemEditable === 'boolean' ? () => isItemEditable : isItemEditable,
71
+ isItemEditable: params.isItemEditable,
75
72
  editedItemId: null
76
73
  }
77
74
  });
@@ -12,11 +12,11 @@ export declare const selectorIsItemEditable: ((state: any, itemId: string) => bo
12
12
  resetResultsCount: () => void;
13
13
  } & {
14
14
  resultFunc: (resultFuncArgs_0: {
15
- isItemEditable: (item: any) => boolean;
15
+ isItemEditable: ((item: any) => boolean) | boolean;
16
16
  editedItemId: string | null;
17
17
  } | undefined, resultFuncArgs_1: import("../../..").TreeViewBaseItem<import("../../..").TreeViewDefaultItemModelProperties>) => boolean;
18
18
  memoizedResultFunc: ((resultFuncArgs_0: {
19
- isItemEditable: (item: any) => boolean;
19
+ isItemEditable: ((item: any) => boolean) | boolean;
20
20
  editedItemId: string | null;
21
21
  } | undefined, resultFuncArgs_1: import("../../..").TreeViewBaseItem<import("../../..").TreeViewDefaultItemModelProperties>) => boolean) & {
22
22
  clearCache: () => void;
@@ -34,30 +34,64 @@ export declare const selectorIsItemEditable: ((state: any, itemId: string) => bo
34
34
  memoize: typeof import("reselect").weakMapMemoize;
35
35
  };
36
36
  /**
37
- * Check if an item is being edited.
37
+ * Check if the given item is being edited.
38
38
  * @param {TreeViewState<[UseTreeViewLabelSignature]>} state The state of the tree view.
39
39
  * @param {TreeViewItemId} itemId The id of the item to check.
40
40
  * @returns {boolean} `true` if the item is being edited, `false` otherwise.
41
41
  */
42
- export declare const selectorIsItemBeingEdited: ((state: any, itemId: string) => boolean) & {
42
+ export declare const selectorIsItemBeingEdited: ((state: any, itemId: string | null) => boolean) & {
43
+ clearCache: () => void;
44
+ resultsCount: () => number;
45
+ resetResultsCount: () => void;
46
+ } & {
47
+ resultFunc: (resultFuncArgs_0: {
48
+ isItemEditable: ((item: any) => boolean) | boolean;
49
+ editedItemId: string | null;
50
+ } | undefined, resultFuncArgs_1: string | null) => boolean;
51
+ memoizedResultFunc: ((resultFuncArgs_0: {
52
+ isItemEditable: ((item: any) => boolean) | boolean;
53
+ editedItemId: string | null;
54
+ } | undefined, resultFuncArgs_1: string | null) => boolean) & {
55
+ clearCache: () => void;
56
+ resultsCount: () => number;
57
+ resetResultsCount: () => void;
58
+ };
59
+ lastResult: () => boolean;
60
+ dependencies: [TreeViewRootSelector<UseTreeViewLabelSignature, true>, (_: any, itemId: string | null) => string | null];
61
+ recomputations: () => number;
62
+ resetRecomputations: () => void;
63
+ dependencyRecomputations: () => number;
64
+ resetDependencyRecomputations: () => void;
65
+ } & {
66
+ argsMemoize: typeof import("reselect").weakMapMemoize;
67
+ memoize: typeof import("reselect").weakMapMemoize;
68
+ };
69
+ /**
70
+ * Check if an item is being edited.
71
+ * @param {TreeViewState<[UseTreeViewLabelSignature]>} state The state of the tree view.
72
+ * @returns {boolean} `true` if an item is being edited, `false` otherwise.
73
+ */
74
+ export declare const selectorIsAnyItemBeingEdited: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & Partial<import("./useTreeViewLabel.types").UseTreeViewLabelState> & {
75
+ cacheKey: import("../../models").TreeViewStateCacheKey;
76
+ }) => boolean) & {
43
77
  clearCache: () => void;
44
78
  resultsCount: () => number;
45
79
  resetResultsCount: () => void;
46
80
  } & {
47
81
  resultFunc: (resultFuncArgs_0: {
48
- isItemEditable: (item: any) => boolean;
82
+ isItemEditable: ((item: any) => boolean) | boolean;
49
83
  editedItemId: string | null;
50
- } | undefined, resultFuncArgs_1: string) => boolean;
84
+ } | undefined) => boolean;
51
85
  memoizedResultFunc: ((resultFuncArgs_0: {
52
- isItemEditable: (item: any) => boolean;
86
+ isItemEditable: ((item: any) => boolean) | boolean;
53
87
  editedItemId: string | null;
54
- } | undefined, resultFuncArgs_1: string) => boolean) & {
88
+ } | undefined) => boolean) & {
55
89
  clearCache: () => void;
56
90
  resultsCount: () => number;
57
91
  resetResultsCount: () => void;
58
92
  };
59
93
  lastResult: () => boolean;
60
- dependencies: [TreeViewRootSelector<UseTreeViewLabelSignature, true>, (_: any, itemId: string) => string];
94
+ dependencies: [TreeViewRootSelector<UseTreeViewLabelSignature, true>];
61
95
  recomputations: () => number;
62
96
  resetRecomputations: () => void;
63
97
  dependencyRecomputations: () => number;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectorIsItemEditable = exports.selectorIsItemBeingEdited = void 0;
6
+ exports.selectorIsItemEditable = exports.selectorIsItemBeingEdited = exports.selectorIsAnyItemBeingEdited = void 0;
7
7
  var _selectors = require("../../utils/selectors");
8
8
  var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.selectors");
9
9
  const selectorTreeViewLabelState = state => state.label;
@@ -18,13 +18,23 @@ const selectorIsItemEditable = exports.selectorIsItemEditable = (0, _selectors.c
18
18
  if (!itemModel || !labelState) {
19
19
  return false;
20
20
  }
21
+ if (typeof labelState.isItemEditable === 'boolean') {
22
+ return labelState.isItemEditable;
23
+ }
21
24
  return labelState.isItemEditable(itemModel);
22
25
  });
23
26
 
24
27
  /**
25
- * Check if an item is being edited.
28
+ * Check if the given item is being edited.
26
29
  * @param {TreeViewState<[UseTreeViewLabelSignature]>} state The state of the tree view.
27
30
  * @param {TreeViewItemId} itemId The id of the item to check.
28
31
  * @returns {boolean} `true` if the item is being edited, `false` otherwise.
29
32
  */
30
- const selectorIsItemBeingEdited = exports.selectorIsItemBeingEdited = (0, _selectors.createSelector)([selectorTreeViewLabelState, (_, itemId) => itemId], (labelState, itemId) => labelState?.editedItemId === itemId);
33
+ const selectorIsItemBeingEdited = exports.selectorIsItemBeingEdited = (0, _selectors.createSelector)([selectorTreeViewLabelState, (_, itemId) => itemId], (labelState, itemId) => itemId ? labelState?.editedItemId === itemId : false);
34
+
35
+ /**
36
+ * Check if an item is being edited.
37
+ * @param {TreeViewState<[UseTreeViewLabelSignature]>} state The state of the tree view.
38
+ * @returns {boolean} `true` if an item is being edited, `false` otherwise.
39
+ */
40
+ const selectorIsAnyItemBeingEdited = exports.selectorIsAnyItemBeingEdited = (0, _selectors.createSelector)(selectorTreeViewLabelState, labelState => !!labelState?.editedItemId);
@@ -38,7 +38,7 @@ export interface UseTreeViewLabelParameters<R extends {}> {
38
38
  export type UseTreeViewLabelDefaultizedParameters<R extends {}> = DefaultizedProps<UseTreeViewLabelParameters<R>, 'isItemEditable'>;
39
39
  export interface UseTreeViewLabelState {
40
40
  label: {
41
- isItemEditable: (item: any) => boolean;
41
+ isItemEditable: ((item: any) => boolean) | boolean;
42
42
  editedItemId: string | null;
43
43
  };
44
44
  }
@@ -47,8 +47,8 @@ function selectorItemCheckboxStatus(state, itemId) {
47
47
  return {
48
48
  disabled: !isSelectionEnabledForItem,
49
49
  visible: isCheckboxSelectionEnabled,
50
- indeterminate: hasSelectedDescendant && hasUnSelectedDescendant || !hasUnSelectedDescendant,
51
- checked: (0, _useTreeViewSelection.selectorSelectionPropagationRules)(state).parents ? hasSelectedDescendant : false
50
+ indeterminate: hasSelectedDescendant && hasUnSelectedDescendant,
51
+ checked: (0, _useTreeViewSelection.selectorSelectionPropagationRules)(state).parents ? hasSelectedDescendant && !hasUnSelectedDescendant : false
52
52
  };
53
53
  }
54
54
  const useTreeViewSelectionItemPlugin = ({
@@ -13,14 +13,20 @@ var _tree = require("../../utils/tree");
13
13
  var _useTreeViewSelection = require("./useTreeViewSelection.utils");
14
14
  var _useTreeViewSelection2 = require("./useTreeViewSelection.selectors");
15
15
  var _useTreeViewSelection3 = require("./useTreeViewSelection.itemPlugin");
16
+ var _models = require("../../utils/models");
16
17
  const useTreeViewSelection = ({
17
18
  store,
18
- params,
19
- models
19
+ params
20
20
  }) => {
21
+ (0, _models.useAssertModelConsistency)({
22
+ state: 'selectedItems',
23
+ controlled: params.selectedItems,
24
+ defaultValue: params.defaultSelectedItems
25
+ });
21
26
  const lastSelectedItem = React.useRef(null);
22
27
  const lastSelectedRange = React.useRef({});
23
28
  const setSelectedItems = (event, newModel, additionalItemsToPropagate) => {
29
+ const oldModel = (0, _useTreeViewSelection2.selectorSelectionModel)(store.value);
24
30
  let cleanModel;
25
31
  const isMultiSelectEnabled = (0, _useTreeViewSelection2.selectorIsMultiSelectEnabled)(store.value);
26
32
  if (isMultiSelectEnabled && (params.selectionPropagation.descendants || params.selectionPropagation.parents)) {
@@ -28,7 +34,7 @@ const useTreeViewSelection = ({
28
34
  store,
29
35
  selectionPropagation: params.selectionPropagation,
30
36
  newModel: newModel,
31
- oldModel: models.selectedItems.value,
37
+ oldModel: oldModel,
32
38
  additionalItemsToPropagate
33
39
  });
34
40
  } else {
@@ -39,7 +45,7 @@ const useTreeViewSelection = ({
39
45
  const changes = (0, _useTreeViewSelection.getAddedAndRemovedItems)({
40
46
  store,
41
47
  newModel: cleanModel,
42
- oldModel: models.selectedItems.value
48
+ oldModel: oldModel
43
49
  });
44
50
  if (params.onItemSelectionToggle) {
45
51
  changes.added.forEach(itemId => {
@@ -49,19 +55,23 @@ const useTreeViewSelection = ({
49
55
  params.onItemSelectionToggle(event, itemId, false);
50
56
  });
51
57
  }
52
- } else if (params.onItemSelectionToggle && cleanModel !== models.selectedItems.value) {
53
- if (models.selectedItems.value != null) {
54
- params.onItemSelectionToggle(event, models.selectedItems.value, false);
58
+ } else if (params.onItemSelectionToggle && cleanModel !== oldModel) {
59
+ if (oldModel != null) {
60
+ params.onItemSelectionToggle(event, oldModel, false);
55
61
  }
56
62
  if (cleanModel != null) {
57
63
  params.onItemSelectionToggle(event, cleanModel, true);
58
64
  }
59
65
  }
60
66
  }
61
- if (params.onSelectedItemsChange) {
62
- params.onSelectedItemsChange(event, cleanModel);
67
+ if (params.selectedItems === undefined) {
68
+ store.update(prevState => (0, _extends2.default)({}, prevState, {
69
+ selection: (0, _extends2.default)({}, prevState.selection, {
70
+ selectedItems: cleanModel
71
+ })
72
+ }));
63
73
  }
64
- models.selectedItems.setControlledValue(cleanModel);
74
+ params.onSelectedItemsChange?.(event, cleanModel);
65
75
  };
66
76
  const setItemSelection = ({
67
77
  itemId,
@@ -75,14 +85,14 @@ const useTreeViewSelection = ({
75
85
  let newSelected;
76
86
  const isMultiSelectEnabled = (0, _useTreeViewSelection2.selectorIsMultiSelectEnabled)(store.value);
77
87
  if (keepExistingSelection) {
78
- const cleanSelectedItems = (0, _useTreeViewSelection.convertSelectedItemsToArray)(models.selectedItems.value);
88
+ const oldSelected = (0, _useTreeViewSelection2.selectorSelectionModelArray)(store.value);
79
89
  const isSelectedBefore = (0, _useTreeViewSelection2.selectorIsItemSelected)(store.value, itemId);
80
90
  if (isSelectedBefore && (shouldBeSelected === false || shouldBeSelected == null)) {
81
- newSelected = cleanSelectedItems.filter(id => id !== itemId);
91
+ newSelected = oldSelected.filter(id => id !== itemId);
82
92
  } else if (!isSelectedBefore && (shouldBeSelected === true || shouldBeSelected == null)) {
83
- newSelected = [itemId].concat(cleanSelectedItems);
93
+ newSelected = [itemId].concat(oldSelected);
84
94
  } else {
85
- newSelected = cleanSelectedItems;
95
+ newSelected = oldSelected;
86
96
  }
87
97
  } else {
88
98
  // eslint-disable-next-line no-lonely-if
@@ -104,7 +114,7 @@ const useTreeViewSelection = ({
104
114
  if (!isMultiSelectEnabled) {
105
115
  return;
106
116
  }
107
- let newSelectedItems = (0, _useTreeViewSelection.convertSelectedItemsToArray)(models.selectedItems.value).slice();
117
+ let newSelectedItems = (0, _useTreeViewSelection2.selectorSelectionModelArray)(store.value).slice();
108
118
 
109
119
  // If the last selection was a range selection,
110
120
  // remove the items that were part of the last range from the model
@@ -146,7 +156,7 @@ const useTreeViewSelection = ({
146
156
  if (!isMultiSelectEnabled) {
147
157
  return;
148
158
  }
149
- let newSelectedItems = (0, _useTreeViewSelection.convertSelectedItemsToArray)(models.selectedItems.value).slice();
159
+ let newSelectedItems = (0, _useTreeViewSelection2.selectorSelectionModelArray)(store.value).slice();
150
160
  if (Object.keys(lastSelectedRange.current).length === 0) {
151
161
  newSelectedItems.push(nextItem);
152
162
  lastSelectedRange.current = {
@@ -170,9 +180,7 @@ const useTreeViewSelection = ({
170
180
  (0, _useEnhancedEffect.default)(() => {
171
181
  store.update(prevState => (0, _extends2.default)({}, prevState, {
172
182
  selection: {
173
- rawSelectedItems: models.selectedItems.value,
174
- // Only re-compute the map when the model changes.
175
- selectedItemsMap: prevState.selection.rawSelectedItems === models.selectedItems.value ? prevState.selection.selectedItemsMap : (0, _useTreeViewSelection.createSelectedItemsMap)(models.selectedItems.value),
183
+ selectedItems: params.selectedItems === undefined ? prevState.selection.selectedItems : params.selectedItems,
176
184
  isEnabled: !params.disableSelection,
177
185
  isMultiSelectEnabled: params.multiSelect,
178
186
  isCheckboxSelectionEnabled: params.checkboxSelection,
@@ -182,7 +190,7 @@ const useTreeViewSelection = ({
182
190
  }
183
191
  }
184
192
  }));
185
- }, [store, models.selectedItems.value, params.multiSelect, params.checkboxSelection, params.disableSelection, params.selectionPropagation.descendants, params.selectionPropagation.parents]);
193
+ }, [store, params.selectedItems, params.multiSelect, params.checkboxSelection, params.disableSelection, params.selectionPropagation.descendants, params.selectionPropagation.parents]);
186
194
  return {
187
195
  getRootProps: () => ({
188
196
  'aria-multiselectable': params.multiSelect
@@ -202,11 +210,6 @@ const useTreeViewSelection = ({
202
210
  };
203
211
  exports.useTreeViewSelection = useTreeViewSelection;
204
212
  useTreeViewSelection.itemPlugin = _useTreeViewSelection3.useTreeViewSelectionItemPlugin;
205
- useTreeViewSelection.models = {
206
- selectedItems: {
207
- getDefaultValue: params => params.defaultSelectedItems
208
- }
209
- };
210
213
  const DEFAULT_SELECTED_ITEMS = [];
211
214
  const EMPTY_SELECTION_PROPAGATION = {};
212
215
  useTreeViewSelection.getDefaultizedParams = ({
@@ -218,19 +221,15 @@ useTreeViewSelection.getDefaultizedParams = ({
218
221
  defaultSelectedItems: params.defaultSelectedItems ?? (params.multiSelect ? DEFAULT_SELECTED_ITEMS : null),
219
222
  selectionPropagation: params.selectionPropagation ?? EMPTY_SELECTION_PROPAGATION
220
223
  });
221
- useTreeViewSelection.getInitialState = params => {
222
- const rawSelectedItems = params.selectedItems === undefined ? params.defaultSelectedItems : params.selectedItems;
223
- return {
224
- selection: {
225
- rawSelectedItems,
226
- selectedItemsMap: (0, _useTreeViewSelection.createSelectedItemsMap)(rawSelectedItems),
227
- isEnabled: !params.disableSelection,
228
- isMultiSelectEnabled: params.multiSelect,
229
- isCheckboxSelectionEnabled: params.checkboxSelection,
230
- selectionPropagation: params.selectionPropagation
231
- }
232
- };
233
- };
224
+ useTreeViewSelection.getInitialState = params => ({
225
+ selection: {
226
+ selectedItems: params.selectedItems === undefined ? params.defaultSelectedItems : params.selectedItems,
227
+ isEnabled: !params.disableSelection,
228
+ isMultiSelectEnabled: params.multiSelect,
229
+ isCheckboxSelectionEnabled: params.checkboxSelection,
230
+ selectionPropagation: params.selectionPropagation
231
+ }
232
+ });
234
233
  useTreeViewSelection.params = {
235
234
  disableSelection: true,
236
235
  multiSelect: true,