@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
@@ -1,37 +1,203 @@
1
1
  import { TreeViewRootSelector } from "../../utils/selectors.js";
2
2
  import { UseTreeViewSelectionSignature } from "./useTreeViewSelection.types.js";
3
3
  /**
4
- * Check if an item is selected.
4
+ * Get the selected items.
5
5
  * @param {TreeViewState<[UseTreeViewSelectionSignature]>} state The state of the tree view.
6
- * @returns {boolean} `true` if the item is selected, `false` otherwise.
6
+ * @returns {TreeViewSelectionValue<boolean>} The selected items.
7
7
  */
8
- export declare const selectorIsItemSelected: ((state: any, itemId: string) => boolean) & {
8
+ export declare const selectorSelectionModel: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewSelection.types").UseTreeViewSelectionState & Partial<{}> & {
9
+ cacheKey: import("../../models").TreeViewStateCacheKey;
10
+ }) => string | string[] | null) & {
9
11
  clearCache: () => void;
10
12
  resultsCount: () => number;
11
13
  resetResultsCount: () => void;
12
14
  } & {
13
15
  resultFunc: (resultFuncArgs_0: {
14
- rawSelectedItems: string | string[] | null;
15
- selectedItemsMap: Map<string, true>;
16
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
16
17
  isEnabled: boolean;
17
18
  isMultiSelectEnabled: boolean;
18
19
  isCheckboxSelectionEnabled: boolean;
19
20
  selectionPropagation: import("../../..").TreeViewSelectionPropagation;
20
- }, resultFuncArgs_1: string) => boolean;
21
+ }) => string | string[] | null;
21
22
  memoizedResultFunc: ((resultFuncArgs_0: {
22
- rawSelectedItems: string | string[] | null;
23
- selectedItemsMap: Map<string, true>;
23
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
24
24
  isEnabled: boolean;
25
25
  isMultiSelectEnabled: boolean;
26
26
  isCheckboxSelectionEnabled: boolean;
27
27
  selectionPropagation: import("../../..").TreeViewSelectionPropagation;
28
- }, resultFuncArgs_1: string) => boolean) & {
28
+ }) => string | string[] | null) & {
29
+ clearCache: () => void;
30
+ resultsCount: () => number;
31
+ resetResultsCount: () => void;
32
+ };
33
+ lastResult: () => string | string[] | null;
34
+ dependencies: [TreeViewRootSelector<UseTreeViewSelectionSignature>];
35
+ recomputations: () => number;
36
+ resetRecomputations: () => void;
37
+ dependencyRecomputations: () => number;
38
+ resetDependencyRecomputations: () => void;
39
+ } & {
40
+ argsMemoize: typeof import("reselect").weakMapMemoize;
41
+ memoize: typeof import("reselect").weakMapMemoize;
42
+ };
43
+ /**
44
+ * Get the selected items as an array.
45
+ * @param {TreeViewState<[UseTreeViewSelectionSignature]>} state The state of the tree view.
46
+ * @returns {TreeViewItemId[]} The selected items as an array.
47
+ */
48
+ export declare const selectorSelectionModelArray: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewSelection.types").UseTreeViewSelectionState & Partial<{}> & {
49
+ cacheKey: import("../../models").TreeViewStateCacheKey;
50
+ }) => string[]) & {
51
+ clearCache: () => void;
52
+ resultsCount: () => number;
53
+ resetResultsCount: () => void;
54
+ } & {
55
+ resultFunc: (resultFuncArgs_0: string | string[] | null) => string[];
56
+ memoizedResultFunc: ((resultFuncArgs_0: string | string[] | null) => string[]) & {
57
+ clearCache: () => void;
58
+ resultsCount: () => number;
59
+ resetResultsCount: () => void;
60
+ };
61
+ lastResult: () => string[];
62
+ dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewSelection.types").UseTreeViewSelectionState & Partial<{}> & {
63
+ cacheKey: import("../../models").TreeViewStateCacheKey;
64
+ }) => string | string[] | null) & {
65
+ clearCache: () => void;
66
+ resultsCount: () => number;
67
+ resetResultsCount: () => void;
68
+ } & {
69
+ resultFunc: (resultFuncArgs_0: {
70
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
71
+ isEnabled: boolean;
72
+ isMultiSelectEnabled: boolean;
73
+ isCheckboxSelectionEnabled: boolean;
74
+ selectionPropagation: import("../../..").TreeViewSelectionPropagation;
75
+ }) => string | string[] | null;
76
+ memoizedResultFunc: ((resultFuncArgs_0: {
77
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
78
+ isEnabled: boolean;
79
+ isMultiSelectEnabled: boolean;
80
+ isCheckboxSelectionEnabled: boolean;
81
+ selectionPropagation: import("../../..").TreeViewSelectionPropagation;
82
+ }) => string | string[] | null) & {
83
+ clearCache: () => void;
84
+ resultsCount: () => number;
85
+ resetResultsCount: () => void;
86
+ };
87
+ lastResult: () => string | string[] | null;
88
+ dependencies: [TreeViewRootSelector<UseTreeViewSelectionSignature>];
89
+ recomputations: () => number;
90
+ resetRecomputations: () => void;
91
+ dependencyRecomputations: () => number;
92
+ resetDependencyRecomputations: () => void;
93
+ } & {
94
+ argsMemoize: typeof import("reselect").weakMapMemoize;
95
+ memoize: typeof import("reselect").weakMapMemoize;
96
+ }];
97
+ recomputations: () => number;
98
+ resetRecomputations: () => void;
99
+ dependencyRecomputations: () => number;
100
+ resetDependencyRecomputations: () => void;
101
+ } & {
102
+ argsMemoize: typeof import("reselect").weakMapMemoize;
103
+ memoize: typeof import("reselect").weakMapMemoize;
104
+ };
105
+ /**
106
+ * Check if an item is selected.
107
+ * @param {TreeViewState<[UseTreeViewSelectionSignature]>} state The state of the tree view.
108
+ * @returns {boolean} `true` if the item is selected, `false` otherwise.
109
+ */
110
+ export declare const selectorIsItemSelected: ((state: any, itemId: string) => boolean) & {
111
+ clearCache: () => void;
112
+ resultsCount: () => number;
113
+ resetResultsCount: () => void;
114
+ } & {
115
+ resultFunc: (resultFuncArgs_0: Map<string, true>, resultFuncArgs_1: string) => boolean;
116
+ memoizedResultFunc: ((resultFuncArgs_0: Map<string, true>, resultFuncArgs_1: string) => boolean) & {
29
117
  clearCache: () => void;
30
118
  resultsCount: () => number;
31
119
  resetResultsCount: () => void;
32
120
  };
33
121
  lastResult: () => boolean;
34
- dependencies: [TreeViewRootSelector<UseTreeViewSelectionSignature>, (_: any, itemId: string) => string];
122
+ dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewSelection.types").UseTreeViewSelectionState & Partial<{}> & {
123
+ cacheKey: import("../../models").TreeViewStateCacheKey;
124
+ }) => Map<string, true>) & {
125
+ clearCache: () => void;
126
+ resultsCount: () => number;
127
+ resetResultsCount: () => void;
128
+ } & {
129
+ resultFunc: (resultFuncArgs_0: string[]) => Map<string, true>;
130
+ memoizedResultFunc: ((resultFuncArgs_0: string[]) => Map<string, true>) & {
131
+ clearCache: () => void;
132
+ resultsCount: () => number;
133
+ resetResultsCount: () => void;
134
+ };
135
+ lastResult: () => Map<string, true>;
136
+ dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewSelection.types").UseTreeViewSelectionState & Partial<{}> & {
137
+ cacheKey: import("../../models").TreeViewStateCacheKey;
138
+ }) => string[]) & {
139
+ clearCache: () => void;
140
+ resultsCount: () => number;
141
+ resetResultsCount: () => void;
142
+ } & {
143
+ resultFunc: (resultFuncArgs_0: string | string[] | null) => string[];
144
+ memoizedResultFunc: ((resultFuncArgs_0: string | string[] | null) => string[]) & {
145
+ clearCache: () => void;
146
+ resultsCount: () => number;
147
+ resetResultsCount: () => void;
148
+ };
149
+ lastResult: () => string[];
150
+ dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewSelection.types").UseTreeViewSelectionState & Partial<{}> & {
151
+ cacheKey: import("../../models").TreeViewStateCacheKey;
152
+ }) => string | string[] | null) & {
153
+ clearCache: () => void;
154
+ resultsCount: () => number;
155
+ resetResultsCount: () => void;
156
+ } & {
157
+ resultFunc: (resultFuncArgs_0: {
158
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
159
+ isEnabled: boolean;
160
+ isMultiSelectEnabled: boolean;
161
+ isCheckboxSelectionEnabled: boolean;
162
+ selectionPropagation: import("../../..").TreeViewSelectionPropagation;
163
+ }) => string | string[] | null;
164
+ memoizedResultFunc: ((resultFuncArgs_0: {
165
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
166
+ isEnabled: boolean;
167
+ isMultiSelectEnabled: boolean;
168
+ isCheckboxSelectionEnabled: boolean;
169
+ selectionPropagation: import("../../..").TreeViewSelectionPropagation;
170
+ }) => string | string[] | null) & {
171
+ clearCache: () => void;
172
+ resultsCount: () => number;
173
+ resetResultsCount: () => void;
174
+ };
175
+ lastResult: () => string | string[] | null;
176
+ dependencies: [TreeViewRootSelector<UseTreeViewSelectionSignature>];
177
+ recomputations: () => number;
178
+ resetRecomputations: () => void;
179
+ dependencyRecomputations: () => number;
180
+ resetDependencyRecomputations: () => void;
181
+ } & {
182
+ argsMemoize: typeof import("reselect").weakMapMemoize;
183
+ memoize: typeof import("reselect").weakMapMemoize;
184
+ }];
185
+ recomputations: () => number;
186
+ resetRecomputations: () => void;
187
+ dependencyRecomputations: () => number;
188
+ resetDependencyRecomputations: () => void;
189
+ } & {
190
+ argsMemoize: typeof import("reselect").weakMapMemoize;
191
+ memoize: typeof import("reselect").weakMapMemoize;
192
+ }];
193
+ recomputations: () => number;
194
+ resetRecomputations: () => void;
195
+ dependencyRecomputations: () => number;
196
+ resetDependencyRecomputations: () => void;
197
+ } & {
198
+ argsMemoize: typeof import("reselect").weakMapMemoize;
199
+ memoize: typeof import("reselect").weakMapMemoize;
200
+ }, (_: any, itemId: string) => string];
35
201
  recomputations: () => number;
36
202
  resetRecomputations: () => void;
37
203
  dependencyRecomputations: () => number;
@@ -53,16 +219,14 @@ export declare const selectorIsMultiSelectEnabled: ((state: import("../../corePl
53
219
  resetResultsCount: () => void;
54
220
  } & {
55
221
  resultFunc: (resultFuncArgs_0: {
56
- rawSelectedItems: string | string[] | null;
57
- selectedItemsMap: Map<string, true>;
222
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
58
223
  isEnabled: boolean;
59
224
  isMultiSelectEnabled: boolean;
60
225
  isCheckboxSelectionEnabled: boolean;
61
226
  selectionPropagation: import("../../..").TreeViewSelectionPropagation;
62
227
  }) => boolean;
63
228
  memoizedResultFunc: ((resultFuncArgs_0: {
64
- rawSelectedItems: string | string[] | null;
65
- selectedItemsMap: Map<string, true>;
229
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
66
230
  isEnabled: boolean;
67
231
  isMultiSelectEnabled: boolean;
68
232
  isCheckboxSelectionEnabled: boolean;
@@ -95,16 +259,14 @@ export declare const selectorIsSelectionEnabled: ((state: import("../../corePlug
95
259
  resetResultsCount: () => void;
96
260
  } & {
97
261
  resultFunc: (resultFuncArgs_0: {
98
- rawSelectedItems: string | string[] | null;
99
- selectedItemsMap: Map<string, true>;
262
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
100
263
  isEnabled: boolean;
101
264
  isMultiSelectEnabled: boolean;
102
265
  isCheckboxSelectionEnabled: boolean;
103
266
  selectionPropagation: import("../../..").TreeViewSelectionPropagation;
104
267
  }) => boolean;
105
268
  memoizedResultFunc: ((resultFuncArgs_0: {
106
- rawSelectedItems: string | string[] | null;
107
- selectedItemsMap: Map<string, true>;
269
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
108
270
  isEnabled: boolean;
109
271
  isMultiSelectEnabled: boolean;
110
272
  isCheckboxSelectionEnabled: boolean;
@@ -137,16 +299,14 @@ export declare const selectorIsCheckboxSelectionEnabled: ((state: import("../../
137
299
  resetResultsCount: () => void;
138
300
  } & {
139
301
  resultFunc: (resultFuncArgs_0: {
140
- rawSelectedItems: string | string[] | null;
141
- selectedItemsMap: Map<string, true>;
302
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
142
303
  isEnabled: boolean;
143
304
  isMultiSelectEnabled: boolean;
144
305
  isCheckboxSelectionEnabled: boolean;
145
306
  selectionPropagation: import("../../..").TreeViewSelectionPropagation;
146
307
  }) => boolean;
147
308
  memoizedResultFunc: ((resultFuncArgs_0: {
148
- rawSelectedItems: string | string[] | null;
149
- selectedItemsMap: Map<string, true>;
309
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
150
310
  isEnabled: boolean;
151
311
  isMultiSelectEnabled: boolean;
152
312
  isCheckboxSelectionEnabled: boolean;
@@ -282,16 +442,14 @@ export declare const selectorIsItemSelectionEnabled: ((state: any, itemId: strin
282
442
  resetResultsCount: () => void;
283
443
  } & {
284
444
  resultFunc: (resultFuncArgs_0: {
285
- rawSelectedItems: string | string[] | null;
286
- selectedItemsMap: Map<string, true>;
445
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
287
446
  isEnabled: boolean;
288
447
  isMultiSelectEnabled: boolean;
289
448
  isCheckboxSelectionEnabled: boolean;
290
449
  selectionPropagation: import("../../..").TreeViewSelectionPropagation;
291
450
  }) => boolean;
292
451
  memoizedResultFunc: ((resultFuncArgs_0: {
293
- rawSelectedItems: string | string[] | null;
294
- selectedItemsMap: Map<string, true>;
452
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
295
453
  isEnabled: boolean;
296
454
  isMultiSelectEnabled: boolean;
297
455
  isCheckboxSelectionEnabled: boolean;
@@ -332,16 +490,14 @@ export declare const selectorSelectionPropagationRules: ((state: import("../../c
332
490
  resetResultsCount: () => void;
333
491
  } & {
334
492
  resultFunc: (resultFuncArgs_0: {
335
- rawSelectedItems: string | string[] | null;
336
- selectedItemsMap: Map<string, true>;
493
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
337
494
  isEnabled: boolean;
338
495
  isMultiSelectEnabled: boolean;
339
496
  isCheckboxSelectionEnabled: boolean;
340
497
  selectionPropagation: import("../../..").TreeViewSelectionPropagation;
341
498
  }) => import("../../..").TreeViewSelectionPropagation;
342
499
  memoizedResultFunc: ((resultFuncArgs_0: {
343
- rawSelectedItems: string | string[] | null;
344
- selectedItemsMap: Map<string, true>;
500
+ selectedItems: import("./useTreeViewSelection.types").TreeViewSelectionValue<boolean>;
345
501
  isEnabled: boolean;
346
502
  isMultiSelectEnabled: boolean;
347
503
  isCheckboxSelectionEnabled: boolean;
@@ -3,17 +3,52 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.selectorSelectionPropagationRules = exports.selectorIsSelectionEnabled = exports.selectorIsMultiSelectEnabled = exports.selectorIsItemSelectionEnabled = exports.selectorIsItemSelected = exports.selectorIsCheckboxSelectionEnabled = void 0;
6
+ exports.selectorSelectionPropagationRules = exports.selectorSelectionModelArray = exports.selectorSelectionModel = exports.selectorIsSelectionEnabled = exports.selectorIsMultiSelectEnabled = exports.selectorIsItemSelectionEnabled = exports.selectorIsItemSelected = exports.selectorIsCheckboxSelectionEnabled = void 0;
7
7
  var _selectors = require("../../utils/selectors");
8
8
  var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.selectors");
9
9
  const selectorTreeViewSelectionState = state => state.selection;
10
10
 
11
+ /**
12
+ * Get the selected items.
13
+ * @param {TreeViewState<[UseTreeViewSelectionSignature]>} state The state of the tree view.
14
+ * @returns {TreeViewSelectionValue<boolean>} The selected items.
15
+ */
16
+ const selectorSelectionModel = exports.selectorSelectionModel = (0, _selectors.createSelector)([selectorTreeViewSelectionState], selectionState => selectionState.selectedItems);
17
+
18
+ /**
19
+ * Get the selected items as an array.
20
+ * @param {TreeViewState<[UseTreeViewSelectionSignature]>} state The state of the tree view.
21
+ * @returns {TreeViewItemId[]} The selected items as an array.
22
+ */
23
+ const selectorSelectionModelArray = exports.selectorSelectionModelArray = (0, _selectors.createSelector)([selectorSelectionModel], selectedItems => {
24
+ if (Array.isArray(selectedItems)) {
25
+ return selectedItems;
26
+ }
27
+ if (selectedItems != null) {
28
+ return [selectedItems];
29
+ }
30
+ return [];
31
+ });
32
+
33
+ /**
34
+ * Get the selected items as a map.
35
+ * @param {TreeViewState<[UseTreeViewSelectionSignature]>} state The state of the tree view.
36
+ * @returns {Map<TreeViewItemId, true>} The selected items as a Map.
37
+ */
38
+ const selectorSelectionModelMap = (0, _selectors.createSelector)([selectorSelectionModelArray], selectedItems => {
39
+ const selectedItemsMap = new Map();
40
+ selectedItems.forEach(id => {
41
+ selectedItemsMap.set(id, true);
42
+ });
43
+ return selectedItemsMap;
44
+ });
45
+
11
46
  /**
12
47
  * Check if an item is selected.
13
48
  * @param {TreeViewState<[UseTreeViewSelectionSignature]>} state The state of the tree view.
14
49
  * @returns {boolean} `true` if the item is selected, `false` otherwise.
15
50
  */
16
- const selectorIsItemSelected = exports.selectorIsItemSelected = (0, _selectors.createSelector)([selectorTreeViewSelectionState, (_, itemId) => itemId], (selectionState, itemId) => selectionState.selectedItemsMap.has(itemId));
51
+ const selectorIsItemSelected = exports.selectorIsItemSelected = (0, _selectors.createSelector)([selectorSelectionModelMap, (_, itemId) => itemId], (selectedItemsMap, itemId) => selectedItemsMap.has(itemId));
17
52
 
18
53
  /**
19
54
  * Check if multi selection is enabled.
@@ -52,7 +52,7 @@ export interface UseTreeViewSelectionInstance extends UseTreeViewSelectionPublic
52
52
  */
53
53
  selectItemFromArrowNavigation: (event: React.SyntheticEvent, currentItemId: string, nextItemId: string) => void;
54
54
  }
55
- type TreeViewSelectionValue<Multiple extends boolean | undefined> = Multiple extends true ? string[] : string | null;
55
+ export type TreeViewSelectionValue<Multiple extends boolean | undefined> = Multiple extends true ? string[] : string | null;
56
56
  export interface UseTreeViewSelectionParameters<Multiple extends boolean | undefined> {
57
57
  /**
58
58
  * If `true` selection is disabled.
@@ -115,8 +115,7 @@ export interface UseTreeViewSelectionParameters<Multiple extends boolean | undef
115
115
  export type UseTreeViewSelectionDefaultizedParameters<Multiple extends boolean> = DefaultizedProps<UseTreeViewSelectionParameters<Multiple>, 'disableSelection' | 'defaultSelectedItems' | 'multiSelect' | 'checkboxSelection' | 'selectionPropagation'>;
116
116
  export interface UseTreeViewSelectionState {
117
117
  selection: {
118
- rawSelectedItems: TreeViewSelectionValue<boolean>;
119
- selectedItemsMap: Map<string, true>;
118
+ selectedItems: TreeViewSelectionValue<boolean>;
120
119
  isEnabled: boolean;
121
120
  isMultiSelectEnabled: boolean;
122
121
  isCheckboxSelectionEnabled: boolean;
@@ -128,7 +127,6 @@ export type UseTreeViewSelectionSignature = TreeViewPluginSignature<{
128
127
  defaultizedParams: UseTreeViewSelectionDefaultizedParameters<any>;
129
128
  instance: UseTreeViewSelectionInstance;
130
129
  publicAPI: UseTreeViewSelectionPublicAPI;
131
- modelNames: 'selectedItems';
132
130
  state: UseTreeViewSelectionState;
133
131
  dependencies: [UseTreeViewItemsSignature, UseTreeViewExpansionSignature, UseTreeViewItemsSignature];
134
132
  }>;
@@ -141,5 +139,4 @@ export interface UseTreeItemCheckboxSlotPropsFromSelection {
141
139
  }
142
140
  declare module '@mui/x-tree-view/useTreeItem' {
143
141
  interface UseTreeItemCheckboxSlotOwnProps extends UseTreeItemCheckboxSlotPropsFromSelection {}
144
- }
145
- export {};
142
+ }
@@ -1,13 +1,6 @@
1
1
  import { TreeViewItemId, TreeViewSelectionPropagation } from "../../../models/index.js";
2
2
  import { TreeViewUsedStore } from "../../models/index.js";
3
3
  import { UseTreeViewSelectionSignature } from "./useTreeViewSelection.types.js";
4
- /**
5
- * Transform the `selectedItems` model to be an array if it was a string or null.
6
- * @param {string[] | string | null} model The raw model.
7
- * @returns {string[]} The converted model.
8
- */
9
- export declare const convertSelectedItemsToArray: (model: string[] | string | null) => string[];
10
- export declare const createSelectedItemsMap: (selectedItems: string | string[] | null) => Map<string, true>;
11
4
  export declare const getLookupFromArray: (array: string[]) => {
12
5
  [itemId: string]: true;
13
6
  };
@@ -3,32 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.propagateSelection = exports.getLookupFromArray = exports.getAddedAndRemovedItems = exports.createSelectedItemsMap = exports.convertSelectedItemsToArray = void 0;
6
+ exports.propagateSelection = exports.getLookupFromArray = exports.getAddedAndRemovedItems = void 0;
7
7
  var _useTreeViewSelection = require("./useTreeViewSelection.selectors");
8
8
  var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.selectors");
9
- /**
10
- * Transform the `selectedItems` model to be an array if it was a string or null.
11
- * @param {string[] | string | null} model The raw model.
12
- * @returns {string[]} The converted model.
13
- */
14
- const convertSelectedItemsToArray = model => {
15
- if (Array.isArray(model)) {
16
- return model;
17
- }
18
- if (model != null) {
19
- return [model];
20
- }
21
- return [];
22
- };
23
- exports.convertSelectedItemsToArray = convertSelectedItemsToArray;
24
- const createSelectedItemsMap = selectedItems => {
25
- const selectedItemsMap = new Map();
26
- convertSelectedItemsToArray(selectedItems).forEach(id => {
27
- selectedItemsMap.set(id, true);
28
- });
29
- return selectedItemsMap;
30
- };
31
- exports.createSelectedItemsMap = createSelectedItemsMap;
32
9
  const getLookupFromArray = array => {
33
10
  const lookup = {};
34
11
  array.forEach(itemId => {
@@ -42,10 +19,13 @@ const getAddedAndRemovedItems = ({
42
19
  oldModel,
43
20
  newModel
44
21
  }) => {
45
- const newModelLookup = createSelectedItemsMap(newModel);
22
+ const newModelMap = new Map();
23
+ newModel.forEach(id => {
24
+ newModelMap.set(id, true);
25
+ });
46
26
  return {
47
27
  added: newModel.filter(itemId => !(0, _useTreeViewSelection.selectorIsItemSelected)(store.value, itemId)),
48
- removed: oldModel.filter(itemId => !newModelLookup.has(itemId))
28
+ removed: oldModel.filter(itemId => !newModelMap.has(itemId))
49
29
  };
50
30
  };
51
31
  exports.getAddedAndRemovedItems = getAddedAndRemovedItems;
@@ -11,8 +11,6 @@ interface ExtractPluginParamsFromPropsReturnValue<TSignatures extends readonly T
11
11
  }
12
12
  export declare const extractPluginParamsFromProps: <TSignatures extends readonly TreeViewPluginSignature<any>[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>>({
13
13
  props: {
14
- slots,
15
- slotProps,
16
14
  apiRef,
17
15
  experimentalFeatures: inExperimentalFeatures,
18
16
  ...props
@@ -6,12 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.extractPluginParamsFromProps = void 0;
8
8
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
- const _excluded = ["slots", "slotProps", "apiRef", "experimentalFeatures"];
9
+ const _excluded = ["apiRef", "experimentalFeatures"];
10
10
  const extractPluginParamsFromProps = _ref => {
11
11
  let {
12
12
  props: {
13
- slots,
14
- slotProps,
15
13
  apiRef,
16
14
  experimentalFeatures: inExperimentalFeatures
17
15
  },
@@ -46,8 +44,6 @@ const extractPluginParamsFromProps = _ref => {
46
44
  apiRef,
47
45
  forwardedProps,
48
46
  pluginParams: defaultizedPluginParams,
49
- slots: slots ?? {},
50
- slotProps: slotProps ?? {},
51
47
  experimentalFeatures
52
48
  };
53
49
  };
@@ -1,7 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import { TreeViewAnyPluginSignature } from "../models/index.js";
3
3
  import { UseTreeViewBaseProps, UseTreeViewParameters, UseTreeViewReturnValue } from "./useTreeView.types.js";
4
- export declare function useTreeViewApiInitialization<T>(inputApiRef: React.RefObject<T | undefined> | undefined): T;
4
+ export declare function useTreeViewApiInitialization<T>(inputApiRef: React.RefObject<T | undefined> | undefined): React.RefObject<T>;
5
+ /**
6
+ * This is the main hook that sets the plugin system up for the tree-view.
7
+ *
8
+ * It manages the data used to create the tree-view.
9
+ *
10
+ * @param plugins All the plugins that will be used in the tree-view.
11
+ * @param props The props passed to the tree-view.
12
+ * @param rootRef The ref of the root element.
13
+ */
5
14
  export declare const useTreeView: <TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>>({
6
15
  plugins: inPlugins,
7
16
  rootRef,
@@ -10,22 +10,34 @@ exports.useTreeViewApiInitialization = useTreeViewApiInitialization;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
13
- var _useTreeViewModels = require("./useTreeViewModels");
14
13
  var _corePlugins = require("../corePlugins");
15
14
  var _extractPluginParamsFromProps = require("./extractPluginParamsFromProps");
16
15
  var _useTreeViewBuildContext = require("./useTreeViewBuildContext");
17
16
  var _TreeViewStore = require("../utils/TreeViewStore");
17
+ function initializeInputApiRef(inputApiRef) {
18
+ if (inputApiRef.current == null) {
19
+ inputApiRef.current = {};
20
+ }
21
+ return inputApiRef;
22
+ }
18
23
  function useTreeViewApiInitialization(inputApiRef) {
19
24
  const fallbackPublicApiRef = React.useRef({});
20
25
  if (inputApiRef) {
21
- if (inputApiRef.current == null) {
22
- inputApiRef.current = {};
23
- }
24
- return inputApiRef.current;
26
+ return initializeInputApiRef(inputApiRef);
25
27
  }
26
- return fallbackPublicApiRef.current;
28
+ return fallbackPublicApiRef;
27
29
  }
28
30
  let globalId = 0;
31
+
32
+ /**
33
+ * This is the main hook that sets the plugin system up for the tree-view.
34
+ *
35
+ * It manages the data used to create the tree-view.
36
+ *
37
+ * @param plugins All the plugins that will be used in the tree-view.
38
+ * @param props The props passed to the tree-view.
39
+ * @param rootRef The ref of the root element.
40
+ */
29
41
  const useTreeView = ({
30
42
  plugins: inPlugins,
31
43
  rootRef,
@@ -36,14 +48,11 @@ const useTreeView = ({
36
48
  pluginParams,
37
49
  forwardedProps,
38
50
  apiRef,
39
- experimentalFeatures,
40
- slots,
41
- slotProps
51
+ experimentalFeatures
42
52
  } = (0, _extractPluginParamsFromProps.extractPluginParamsFromProps)({
43
53
  plugins,
44
54
  props
45
55
  });
46
- const models = (0, _useTreeViewModels.useTreeViewModels)(plugins, pluginParams);
47
56
  const instanceRef = React.useRef({});
48
57
  const instance = instanceRef.current;
49
58
  const publicAPI = useTreeViewApiInitialization(apiRef);
@@ -64,24 +73,20 @@ const useTreeView = ({
64
73
  });
65
74
  storeRef.current = new _TreeViewStore.TreeViewStore(initialState);
66
75
  }
67
- const baseContextValue = (0, _useTreeViewBuildContext.useTreeViewBuildContext)({
76
+ const contextValue = (0, _useTreeViewBuildContext.useTreeViewBuildContext)({
68
77
  plugins,
69
78
  instance,
70
- publicAPI,
79
+ publicAPI: publicAPI.current,
71
80
  store: storeRef.current,
72
81
  rootRef: innerRootRef
73
82
  });
74
83
  const rootPropsGetters = [];
75
- const pluginContextValues = [];
76
84
  const runPlugin = plugin => {
77
85
  const pluginResponse = plugin({
78
86
  instance,
79
87
  params: pluginParams,
80
- slots,
81
- slotProps,
82
88
  experimentalFeatures,
83
89
  rootRef: innerRootRef,
84
- models,
85
90
  plugins,
86
91
  store: storeRef.current
87
92
  });
@@ -89,14 +94,11 @@ const useTreeView = ({
89
94
  rootPropsGetters.push(pluginResponse.getRootProps);
90
95
  }
91
96
  if (pluginResponse.publicAPI) {
92
- Object.assign(publicAPI, pluginResponse.publicAPI);
97
+ Object.assign(publicAPI.current, pluginResponse.publicAPI);
93
98
  }
94
99
  if (pluginResponse.instance) {
95
100
  Object.assign(instance, pluginResponse.instance);
96
101
  }
97
- if (pluginResponse.contextValue) {
98
- pluginContextValues.push(pluginResponse.contextValue);
99
- }
100
102
  };
101
103
  plugins.forEach(runPlugin);
102
104
  const getRootProps = (otherHandlers = {}) => {
@@ -110,11 +112,6 @@ const useTreeView = ({
110
112
  });
111
113
  return rootProps;
112
114
  };
113
- const contextValue = React.useMemo(() => {
114
- const copiedBaseContextValue = (0, _extends2.default)({}, baseContextValue);
115
- return Object.assign(copiedBaseContextValue, ...pluginContextValues);
116
- // eslint-disable-next-line react-hooks/exhaustive-deps
117
- }, [baseContextValue, ...pluginContextValues]);
118
115
  return {
119
116
  getRootProps,
120
117
  rootRef: handleRootRef,
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { EventHandlers } from '@mui/utils/types';
3
3
  import type { TreeViewContextValue } from '../TreeViewProvider';
4
- import { TreeViewAnyPluginSignature, ConvertSignaturesIntoPlugins, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewExperimentalFeatures } from "../models/index.js";
4
+ import { TreeViewAnyPluginSignature, ConvertSignaturesIntoPlugins, TreeViewPublicAPI, TreeViewExperimentalFeatures } from "../models/index.js";
5
5
  export interface UseTreeViewParameters<TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>> {
6
6
  plugins: ConvertSignaturesIntoPlugins<TSignatures>;
7
7
  rootRef?: React.Ref<HTMLUListElement> | undefined;
@@ -9,8 +9,6 @@ export interface UseTreeViewParameters<TSignatures extends readonly TreeViewAnyP
9
9
  }
10
10
  export interface UseTreeViewBaseProps<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
11
11
  apiRef: React.RefObject<TreeViewPublicAPI<TSignatures> | undefined> | undefined;
12
- slots: MergeSignaturesProperty<TSignatures, 'slots'>;
13
- slotProps: MergeSignaturesProperty<TSignatures, 'slotProps'>;
14
12
  experimentalFeatures: TreeViewExperimentalFeatures<TSignatures>;
15
13
  }
16
14
  export interface UseTreeViewRootSlotProps extends Pick<React.HTMLAttributes<HTMLUListElement>, 'onFocus' | 'onBlur' | 'onKeyDown' | 'id' | 'aria-multiselectable' | 'role' | 'tabIndex'> {