@mui/x-tree-view 8.0.0-beta.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/CHANGELOG.md +423 -96
  2. package/RichTreeView/RichTreeView.js +11 -6
  3. package/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  4. package/RichTreeView/RichTreeView.plugins.js +1 -2
  5. package/RichTreeView/RichTreeView.types.d.ts +4 -3
  6. package/RichTreeView/index.d.ts +1 -1
  7. package/SimpleTreeView/SimpleTreeView.js +12 -8
  8. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  9. package/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  10. package/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  11. package/TreeItemIcon/TreeItemIcon.js +15 -11
  12. package/esm/RichTreeView/RichTreeView.js +10 -5
  13. package/esm/RichTreeView/RichTreeView.plugins.d.ts +3 -6
  14. package/esm/RichTreeView/RichTreeView.plugins.js +1 -2
  15. package/esm/RichTreeView/RichTreeView.types.d.ts +4 -3
  16. package/esm/RichTreeView/index.d.ts +1 -1
  17. package/esm/SimpleTreeView/SimpleTreeView.js +11 -7
  18. package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
  19. package/esm/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
  20. package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
  21. package/esm/TreeItemIcon/TreeItemIcon.js +15 -11
  22. package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  23. package/esm/index.js +1 -1
  24. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  25. package/esm/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  26. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  27. package/esm/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  28. package/esm/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  29. package/esm/internals/hooks/useSelector.js +1 -4
  30. package/esm/internals/index.d.ts +2 -3
  31. package/esm/internals/index.js +1 -1
  32. package/esm/internals/models/events.d.ts +2 -6
  33. package/esm/internals/models/plugin.d.ts +63 -38
  34. package/esm/internals/models/treeView.d.ts +0 -5
  35. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -21
  36. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  37. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +21 -1
  38. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  39. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  40. package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -7
  41. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +3 -30
  42. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  43. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  44. package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  45. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  46. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  47. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  48. package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +31 -0
  49. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  50. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  51. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +12 -2
  52. package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  53. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  54. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +39 -40
  55. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  56. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +36 -1
  57. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  58. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  59. package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +5 -24
  60. package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  61. package/esm/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  62. package/esm/internals/useTreeView/useTreeView.d.ts +10 -1
  63. package/esm/internals/useTreeView/useTreeView.js +22 -25
  64. package/esm/internals/useTreeView/useTreeView.types.d.ts +1 -3
  65. package/esm/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  66. package/esm/internals/utils/models.d.ts +7 -0
  67. package/esm/internals/utils/models.js +23 -0
  68. package/esm/internals/utils/selectors.d.ts +1 -1
  69. package/esm/utils/cache.d.ts +1 -1
  70. package/esm/utils/cache.js +1 -1
  71. package/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
  72. package/index.js +1 -1
  73. package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
  74. package/internals/TreeViewProvider/TreeViewProvider.js +14 -4
  75. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
  76. package/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
  77. package/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
  78. package/internals/hooks/useSelector.js +1 -5
  79. package/internals/index.d.ts +2 -3
  80. package/internals/index.js +13 -7
  81. package/internals/models/events.d.ts +2 -6
  82. package/internals/models/plugin.d.ts +63 -38
  83. package/internals/models/treeView.d.ts +0 -5
  84. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +33 -19
  85. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
  86. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +22 -2
  87. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  88. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
  89. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +1 -9
  90. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -30
  91. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
  92. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
  93. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
  94. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
  95. package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
  96. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
  97. package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +34 -2
  98. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
  99. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
  100. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +13 -3
  101. package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
  102. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
  103. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +37 -38
  104. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
  105. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +37 -2
  106. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
  107. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
  108. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +6 -26
  109. package/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
  110. package/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
  111. package/internals/useTreeView/useTreeView.d.ts +10 -1
  112. package/internals/useTreeView/useTreeView.js +22 -25
  113. package/internals/useTreeView/useTreeView.types.d.ts +1 -3
  114. package/internals/useTreeView/useTreeViewBuildContext.js +9 -11
  115. package/internals/utils/models.d.ts +7 -0
  116. package/internals/utils/models.js +30 -0
  117. package/internals/utils/selectors.d.ts +1 -1
  118. package/package.json +7 -15
  119. package/utils/cache.d.ts +1 -1
  120. package/utils/cache.js +1 -1
  121. package/esm/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  122. package/esm/internals/plugins/useTreeViewIcons/index.js +0 -1
  123. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  124. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  125. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  126. package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  127. package/esm/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  128. package/esm/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  129. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  130. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  131. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  132. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  133. package/esm/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  134. package/esm/internals/useTreeView/useTreeViewModels.js +0 -62
  135. package/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  136. package/internals/plugins/useTreeViewIcons/index.js +0 -12
  137. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  138. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -32
  139. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  140. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
  141. package/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  142. package/internals/plugins/useTreeViewItemCustomization/index.js +0 -12
  143. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  144. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -32
  145. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  146. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -5
  147. package/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  148. package/internals/useTreeView/useTreeViewModels.js +0 -71
  149. package/modern/RichTreeView/RichTreeView.d.ts +0 -18
  150. package/modern/RichTreeView/RichTreeView.js +0 -322
  151. package/modern/RichTreeView/RichTreeView.plugins.d.ts +0 -13
  152. package/modern/RichTreeView/RichTreeView.plugins.js +0 -10
  153. package/modern/RichTreeView/RichTreeView.types.d.ts +0 -52
  154. package/modern/RichTreeView/RichTreeView.types.js +0 -1
  155. package/modern/RichTreeView/index.d.ts +0 -5
  156. package/modern/RichTreeView/index.js +0 -3
  157. package/modern/RichTreeView/richTreeViewClasses.d.ts +0 -5
  158. package/modern/RichTreeView/richTreeViewClasses.js +0 -6
  159. package/modern/SimpleTreeView/SimpleTreeView.d.ts +0 -20
  160. package/modern/SimpleTreeView/SimpleTreeView.js +0 -265
  161. package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -12
  162. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +0 -10
  163. package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +0 -51
  164. package/modern/SimpleTreeView/SimpleTreeView.types.js +0 -1
  165. package/modern/SimpleTreeView/index.d.ts +0 -3
  166. package/modern/SimpleTreeView/index.js +0 -3
  167. package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +0 -5
  168. package/modern/SimpleTreeView/simpleTreeViewClasses.js +0 -6
  169. package/modern/TreeItem/TreeItem.d.ts +0 -33
  170. package/modern/TreeItem/TreeItem.js +0 -408
  171. package/modern/TreeItem/TreeItem.types.d.ts +0 -107
  172. package/modern/TreeItem/TreeItem.types.js +0 -1
  173. package/modern/TreeItem/index.d.ts +0 -4
  174. package/modern/TreeItem/index.js +0 -2
  175. package/modern/TreeItem/treeItemClasses.d.ts +0 -55
  176. package/modern/TreeItem/treeItemClasses.js +0 -8
  177. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +0 -7
  178. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -74
  179. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +0 -6
  180. package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -1
  181. package/modern/TreeItemDragAndDropOverlay/index.d.ts +0 -2
  182. package/modern/TreeItemDragAndDropOverlay/index.js +0 -1
  183. package/modern/TreeItemIcon/TreeItemIcon.d.ts +0 -7
  184. package/modern/TreeItemIcon/TreeItemIcon.js +0 -74
  185. package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +0 -40
  186. package/modern/TreeItemIcon/TreeItemIcon.types.js +0 -1
  187. package/modern/TreeItemIcon/index.d.ts +0 -2
  188. package/modern/TreeItemIcon/index.js +0 -1
  189. package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +0 -5
  190. package/modern/TreeItemLabelInput/TreeItemLabelInput.js +0 -24
  191. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +0 -14
  192. package/modern/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -1
  193. package/modern/TreeItemLabelInput/index.d.ts +0 -2
  194. package/modern/TreeItemLabelInput/index.js +0 -1
  195. package/modern/TreeItemProvider/TreeItemProvider.d.ts +0 -7
  196. package/modern/TreeItemProvider/TreeItemProvider.js +0 -45
  197. package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +0 -7
  198. package/modern/TreeItemProvider/TreeItemProvider.types.js +0 -1
  199. package/modern/TreeItemProvider/index.d.ts +0 -2
  200. package/modern/TreeItemProvider/index.js +0 -1
  201. package/modern/hooks/index.d.ts +0 -3
  202. package/modern/hooks/index.js +0 -3
  203. package/modern/hooks/useTreeItemModel.d.ts +0 -2
  204. package/modern/hooks/useTreeItemModel.js +0 -11
  205. package/modern/hooks/useTreeItemUtils/index.d.ts +0 -1
  206. package/modern/hooks/useTreeItemUtils/index.js +0 -1
  207. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +0 -42
  208. package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +0 -165
  209. package/modern/hooks/useTreeViewApiRef.d.ts +0 -7
  210. package/modern/hooks/useTreeViewApiRef.js +0 -7
  211. package/modern/icons/icons.d.ts +0 -6
  212. package/modern/icons/icons.js +0 -9
  213. package/modern/icons/index.d.ts +0 -1
  214. package/modern/icons/index.js +0 -1
  215. package/modern/index.d.ts +0 -12
  216. package/modern/index.js +0 -22
  217. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +0 -5
  218. package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -5
  219. package/modern/internals/TreeViewItemDepthContext/index.d.ts +0 -1
  220. package/modern/internals/TreeViewItemDepthContext/index.js +0 -1
  221. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +0 -17
  222. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +0 -49
  223. package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +0 -8
  224. package/modern/internals/TreeViewProvider/TreeViewContext.js +0 -15
  225. package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +0 -9
  226. package/modern/internals/TreeViewProvider/TreeViewProvider.js +0 -32
  227. package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +0 -21
  228. package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +0 -1
  229. package/modern/internals/TreeViewProvider/TreeViewStyleContext.d.ts +0 -33
  230. package/modern/internals/TreeViewProvider/TreeViewStyleContext.js +0 -13
  231. package/modern/internals/TreeViewProvider/index.d.ts +0 -3
  232. package/modern/internals/TreeViewProvider/index.js +0 -2
  233. package/modern/internals/components/RichTreeViewItems.d.ts +0 -32
  234. package/modern/internals/components/RichTreeViewItems.js +0 -68
  235. package/modern/internals/corePlugins/corePlugins.d.ts +0 -9
  236. package/modern/internals/corePlugins/corePlugins.js +0 -8
  237. package/modern/internals/corePlugins/index.d.ts +0 -2
  238. package/modern/internals/corePlugins/index.js +0 -1
  239. package/modern/internals/corePlugins/useTreeViewId/index.d.ts +0 -2
  240. package/modern/internals/corePlugins/useTreeViewId/index.js +0 -1
  241. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
  242. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -39
  243. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -36
  244. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
  245. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
  246. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -1
  247. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
  248. package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
  249. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
  250. package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
  251. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
  252. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -29
  253. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
  254. package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -1
  255. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
  256. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
  257. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
  258. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
  259. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
  260. package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -1
  261. package/modern/internals/hooks/useInstanceEventHandler.d.ts +0 -15
  262. package/modern/internals/hooks/useInstanceEventHandler.js +0 -77
  263. package/modern/internals/hooks/useLazyRef.d.ts +0 -1
  264. package/modern/internals/hooks/useLazyRef.js +0 -1
  265. package/modern/internals/hooks/useOnMount.d.ts +0 -1
  266. package/modern/internals/hooks/useOnMount.js +0 -1
  267. package/modern/internals/hooks/useSelector.d.ts +0 -4
  268. package/modern/internals/hooks/useSelector.js +0 -9
  269. package/modern/internals/hooks/useTimeout.d.ts +0 -1
  270. package/modern/internals/hooks/useTimeout.js +0 -1
  271. package/modern/internals/index.d.ts +0 -34
  272. package/modern/internals/index.js +0 -24
  273. package/modern/internals/models/events.d.ts +0 -9
  274. package/modern/internals/models/events.js +0 -1
  275. package/modern/internals/models/helpers.d.ts +0 -7
  276. package/modern/internals/models/helpers.js +0 -1
  277. package/modern/internals/models/index.d.ts +0 -4
  278. package/modern/internals/models/index.js +0 -4
  279. package/modern/internals/models/itemPlugin.d.ts +0 -43
  280. package/modern/internals/models/itemPlugin.js +0 -1
  281. package/modern/internals/models/plugin.d.ts +0 -151
  282. package/modern/internals/models/plugin.js +0 -1
  283. package/modern/internals/models/treeView.d.ts +0 -32
  284. package/modern/internals/models/treeView.js +0 -1
  285. package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +0 -2
  286. package/modern/internals/plugins/useTreeViewExpansion/index.js +0 -1
  287. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
  288. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -134
  289. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -184
  290. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -24
  291. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -102
  292. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
  293. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -7
  294. package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -19
  295. package/modern/internals/plugins/useTreeViewFocus/index.d.ts +0 -2
  296. package/modern/internals/plugins/useTreeViewFocus/index.js +0 -1
  297. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
  298. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -135
  299. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -182
  300. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +0 -34
  301. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
  302. package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
  303. package/modern/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
  304. package/modern/internals/plugins/useTreeViewIcons/index.js +0 -1
  305. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
  306. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
  307. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
  308. package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
  309. package/modern/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
  310. package/modern/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
  311. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
  312. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
  313. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
  314. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
  315. package/modern/internals/plugins/useTreeViewItems/index.d.ts +0 -3
  316. package/modern/internals/plugins/useTreeViewItems/index.js +0 -2
  317. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
  318. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -325
  319. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -1058
  320. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -113
  321. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -205
  322. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
  323. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -4
  324. package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -8
  325. package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
  326. package/modern/internals/plugins/useTreeViewJSXItems/index.js +0 -1
  327. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
  328. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -183
  329. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +0 -35
  330. package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
  331. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
  332. package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
  333. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
  334. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -273
  335. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -30
  336. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
  337. package/modern/internals/plugins/useTreeViewLabel/index.d.ts +0 -2
  338. package/modern/internals/plugins/useTreeViewLabel/index.js +0 -1
  339. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
  340. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +0 -2
  341. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +0 -72
  342. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -73
  343. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -68
  344. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +0 -24
  345. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -60
  346. package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
  347. package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -1
  348. package/modern/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
  349. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -247
  350. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -27
  351. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -82
  352. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
  353. package/modern/internals/plugins/useTreeViewSelection/index.d.ts +0 -2
  354. package/modern/internals/plugins/useTreeViewSelection/index.js +0 -1
  355. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
  356. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +0 -2
  357. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +0 -80
  358. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -234
  359. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -363
  360. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -46
  361. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -145
  362. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
  363. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -38
  364. package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -126
  365. package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -22
  366. package/modern/internals/useTreeView/extractPluginParamsFromProps.js +0 -46
  367. package/modern/internals/useTreeView/index.d.ts +0 -1
  368. package/modern/internals/useTreeView/index.js +0 -1
  369. package/modern/internals/useTreeView/useTreeView.d.ts +0 -9
  370. package/modern/internals/useTreeView/useTreeView.js +0 -114
  371. package/modern/internals/useTreeView/useTreeView.types.d.ts +0 -23
  372. package/modern/internals/useTreeView/useTreeView.types.js +0 -1
  373. package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -18
  374. package/modern/internals/useTreeView/useTreeViewBuildContext.js +0 -101
  375. package/modern/internals/useTreeView/useTreeViewModels.d.ts +0 -7
  376. package/modern/internals/useTreeView/useTreeViewModels.js +0 -62
  377. package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
  378. package/modern/internals/useTreeView/useTreeViewPlugins.js +0 -0
  379. package/modern/internals/utils/TreeViewStore.d.ts +0 -12
  380. package/modern/internals/utils/TreeViewStore.js +0 -24
  381. package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
  382. package/modern/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
  383. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
  384. package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -18
  385. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
  386. package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
  387. package/modern/internals/utils/plugins.d.ts +0 -2
  388. package/modern/internals/utils/plugins.js +0 -4
  389. package/modern/internals/utils/publishTreeViewEvent.d.ts +0 -5
  390. package/modern/internals/utils/publishTreeViewEvent.js +0 -3
  391. package/modern/internals/utils/selectors.d.ts +0 -16
  392. package/modern/internals/utils/selectors.js +0 -46
  393. package/modern/internals/utils/tree.d.ts +0 -32
  394. package/modern/internals/utils/tree.js +0 -203
  395. package/modern/internals/utils/utils.d.ts +0 -2
  396. package/modern/internals/utils/utils.js +0 -17
  397. package/modern/internals/zero-styled/index.d.ts +0 -3
  398. package/modern/internals/zero-styled/index.js +0 -7
  399. package/modern/models/events.d.ts +0 -4
  400. package/modern/models/events.js +0 -1
  401. package/modern/models/index.d.ts +0 -3
  402. package/modern/models/index.js +0 -5
  403. package/modern/models/items.d.ts +0 -13
  404. package/modern/models/items.js +0 -1
  405. package/modern/package.json +0 -1
  406. package/modern/themeAugmentation/components.d.ts +0 -21
  407. package/modern/themeAugmentation/index.d.ts +0 -3
  408. package/modern/themeAugmentation/index.js +0 -0
  409. package/modern/themeAugmentation/overrides.d.ts +0 -16
  410. package/modern/themeAugmentation/props.d.ts +0 -14
  411. package/modern/useTreeItem/index.d.ts +0 -2
  412. package/modern/useTreeItem/index.js +0 -1
  413. package/modern/useTreeItem/useTreeItem.d.ts +0 -2
  414. package/modern/useTreeItem/useTreeItem.js +0 -282
  415. package/modern/useTreeItem/useTreeItem.types.d.ts +0 -201
  416. package/modern/useTreeItem/useTreeItem.types.js +0 -1
  417. package/modern/utils/cache.d.ts +0 -38
  418. package/modern/utils/cache.js +0 -31
  419. package/modern/utils/index.d.ts +0 -1
  420. package/modern/utils/index.js +0 -1
  421. package/tsconfig.build.tsbuildinfo +0 -1
@@ -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,