@mui/x-tree-view 8.0.0-alpha.9 → 8.0.0-beta.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.
- package/CHANGELOG.md +1446 -0
- package/README.md +1 -1
- package/RichTreeView/RichTreeView.d.ts +4 -4
- package/RichTreeView/RichTreeView.js +100 -79
- package/RichTreeView/RichTreeView.plugins.d.ts +9 -10
- package/RichTreeView/RichTreeView.plugins.js +14 -8
- package/RichTreeView/RichTreeView.types.d.ts +40 -40
- package/RichTreeView/RichTreeView.types.js +5 -1
- package/RichTreeView/index.d.ts +5 -5
- package/RichTreeView/index.js +39 -3
- package/RichTreeView/richTreeViewClasses.d.ts +3 -3
- package/RichTreeView/richTreeViewClasses.js +13 -5
- package/SimpleTreeView/SimpleTreeView.d.ts +5 -5
- package/SimpleTreeView/SimpleTreeView.js +73 -65
- package/SimpleTreeView/SimpleTreeView.plugins.d.ts +8 -9
- package/SimpleTreeView/SimpleTreeView.plugins.js +14 -8
- package/SimpleTreeView/SimpleTreeView.types.d.ts +41 -41
- package/SimpleTreeView/SimpleTreeView.types.js +5 -1
- package/SimpleTreeView/index.d.ts +3 -3
- package/SimpleTreeView/index.js +27 -3
- package/SimpleTreeView/simpleTreeViewClasses.d.ts +3 -3
- package/SimpleTreeView/simpleTreeViewClasses.js +13 -5
- package/TreeItem/TreeItem.d.ts +10 -8
- package/TreeItem/TreeItem.js +121 -73
- package/TreeItem/TreeItem.types.d.ts +97 -84
- package/TreeItem/TreeItem.types.js +5 -1
- package/TreeItem/index.d.ts +2 -2
- package/TreeItem/index.js +69 -2
- package/TreeItem/treeItemClasses.d.ts +29 -29
- package/TreeItem/treeItemClasses.js +13 -5
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +3 -3
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +21 -15
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +4 -4
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +5 -1
- package/TreeItemDragAndDropOverlay/index.d.ts +2 -2
- package/TreeItemDragAndDropOverlay/index.js +12 -1
- package/TreeItemIcon/TreeItemIcon.d.ts +3 -3
- package/TreeItemIcon/TreeItemIcon.js +35 -27
- package/TreeItemIcon/TreeItemIcon.types.d.ts +33 -33
- package/TreeItemIcon/TreeItemIcon.types.js +5 -1
- package/TreeItemIcon/index.d.ts +2 -2
- package/TreeItemIcon/index.js +12 -1
- package/TreeItemLabelInput/TreeItemLabelInput.d.ts +1 -1
- package/TreeItemLabelInput/TreeItemLabelInput.js +11 -6
- package/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +12 -12
- package/TreeItemLabelInput/TreeItemLabelInput.types.js +5 -1
- package/TreeItemLabelInput/index.d.ts +2 -2
- package/TreeItemLabelInput/index.js +12 -1
- package/TreeItemProvider/TreeItemProvider.d.ts +3 -3
- package/TreeItemProvider/TreeItemProvider.js +22 -16
- package/TreeItemProvider/TreeItemProvider.types.d.ts +5 -5
- package/TreeItemProvider/TreeItemProvider.types.js +5 -1
- package/TreeItemProvider/index.d.ts +2 -2
- package/TreeItemProvider/index.js +12 -1
- package/esm/RichTreeView/RichTreeView.d.ts +18 -0
- package/{node → esm}/RichTreeView/RichTreeView.js +94 -85
- package/esm/RichTreeView/RichTreeView.plugins.d.ts +13 -0
- package/esm/RichTreeView/RichTreeView.plugins.js +10 -0
- package/esm/RichTreeView/RichTreeView.types.d.ts +52 -0
- package/esm/RichTreeView/RichTreeView.types.js +1 -0
- package/esm/RichTreeView/index.d.ts +5 -0
- package/esm/RichTreeView/index.js +3 -0
- package/esm/RichTreeView/richTreeViewClasses.d.ts +7 -0
- package/esm/RichTreeView/richTreeViewClasses.js +6 -0
- package/esm/SimpleTreeView/SimpleTreeView.d.ts +20 -0
- package/{node → esm}/SimpleTreeView/SimpleTreeView.js +67 -71
- package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +12 -0
- package/esm/SimpleTreeView/SimpleTreeView.plugins.js +10 -0
- package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +51 -0
- package/esm/SimpleTreeView/SimpleTreeView.types.js +1 -0
- package/esm/SimpleTreeView/index.d.ts +3 -0
- package/esm/SimpleTreeView/index.js +3 -0
- package/esm/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
- package/esm/SimpleTreeView/simpleTreeViewClasses.js +6 -0
- package/esm/TreeItem/TreeItem.d.ts +33 -0
- package/{node → esm}/TreeItem/TreeItem.js +114 -80
- package/esm/TreeItem/TreeItem.types.d.ts +107 -0
- package/esm/TreeItem/TreeItem.types.js +1 -0
- package/esm/TreeItem/index.d.ts +3 -0
- package/esm/TreeItem/index.js +2 -0
- package/esm/TreeItem/treeItemClasses.d.ts +33 -0
- package/esm/TreeItem/treeItemClasses.js +6 -0
- package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
- package/{node → esm}/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +15 -21
- package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +6 -0
- package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +1 -0
- package/esm/TreeItemDragAndDropOverlay/index.d.ts +2 -0
- package/esm/TreeItemDragAndDropOverlay/index.js +1 -0
- package/esm/TreeItemIcon/TreeItemIcon.d.ts +7 -0
- package/esm/TreeItemIcon/TreeItemIcon.js +74 -0
- package/esm/TreeItemIcon/TreeItemIcon.types.d.ts +40 -0
- package/esm/TreeItemIcon/TreeItemIcon.types.js +1 -0
- package/esm/TreeItemIcon/index.d.ts +2 -0
- package/esm/TreeItemIcon/index.js +1 -0
- package/esm/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
- package/esm/TreeItemLabelInput/TreeItemLabelInput.js +24 -0
- package/esm/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +14 -0
- package/esm/TreeItemLabelInput/TreeItemLabelInput.types.js +1 -0
- package/esm/TreeItemLabelInput/index.d.ts +2 -0
- package/esm/TreeItemLabelInput/index.js +1 -0
- package/esm/TreeItemProvider/TreeItemProvider.d.ts +7 -0
- package/esm/TreeItemProvider/TreeItemProvider.js +45 -0
- package/esm/TreeItemProvider/TreeItemProvider.types.d.ts +7 -0
- package/esm/TreeItemProvider/TreeItemProvider.types.js +1 -0
- package/esm/TreeItemProvider/index.d.ts +2 -0
- package/esm/TreeItemProvider/index.js +1 -0
- package/esm/hooks/index.d.ts +3 -0
- package/esm/hooks/index.js +3 -0
- package/esm/hooks/useTreeItemModel.d.ts +2 -0
- package/esm/hooks/useTreeItemModel.js +11 -0
- package/esm/hooks/useTreeItemUtils/index.d.ts +1 -0
- package/esm/hooks/useTreeItemUtils/index.js +1 -0
- package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +42 -0
- package/{node → esm}/hooks/useTreeItemUtils/useTreeItemUtils.js +45 -39
- package/esm/hooks/useTreeViewApiRef.d.ts +7 -0
- package/esm/hooks/useTreeViewApiRef.js +7 -0
- package/esm/icons/icons.d.ts +6 -0
- package/esm/icons/icons.js +9 -0
- package/esm/icons/index.d.ts +1 -0
- package/esm/icons/index.js +1 -0
- package/esm/index.d.ts +12 -0
- package/esm/index.js +22 -0
- package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +5 -0
- package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +5 -0
- package/esm/internals/TreeViewItemDepthContext/index.d.ts +1 -0
- package/esm/internals/TreeViewItemDepthContext/index.js +1 -0
- package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +17 -0
- package/{node → esm}/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +14 -23
- package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +6 -0
- package/esm/internals/TreeViewProvider/TreeViewContext.js +8 -0
- package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
- package/esm/internals/TreeViewProvider/TreeViewProvider.js +20 -0
- package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +19 -0
- package/esm/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
- package/esm/internals/TreeViewProvider/index.d.ts +3 -0
- package/esm/internals/TreeViewProvider/index.js +2 -0
- package/esm/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
- package/esm/internals/TreeViewProvider/useTreeViewContext.js +9 -0
- package/esm/internals/components/RichTreeViewItems.d.ts +32 -0
- package/esm/internals/components/RichTreeViewItems.js +68 -0
- package/esm/internals/corePlugins/corePlugins.d.ts +9 -0
- package/esm/internals/corePlugins/corePlugins.js +8 -0
- package/esm/internals/corePlugins/index.d.ts +2 -0
- package/esm/internals/corePlugins/index.js +1 -0
- package/esm/internals/corePlugins/useTreeViewId/index.d.ts +2 -0
- package/esm/internals/corePlugins/useTreeViewId/index.js +1 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +39 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +36 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +9 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +20 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +1 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +21 -0
- package/{node → esm}/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +3 -11
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +3 -0
- package/{node → esm}/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +4 -12
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +22 -0
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +1 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +12 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +8 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +1 -0
- package/esm/internals/hooks/useInstanceEventHandler.d.ts +15 -0
- package/{node → esm}/internals/hooks/useInstanceEventHandler.js +7 -16
- package/esm/internals/hooks/useLazyRef.d.ts +1 -0
- package/esm/internals/hooks/useLazyRef.js +1 -0
- package/esm/internals/hooks/useOnMount.d.ts +1 -0
- package/esm/internals/hooks/useOnMount.js +1 -0
- package/esm/internals/hooks/useSelector.d.ts +4 -0
- package/esm/internals/hooks/useSelector.js +9 -0
- package/esm/internals/hooks/useTimeout.d.ts +1 -0
- package/esm/internals/hooks/useTimeout.js +1 -0
- package/esm/internals/index.d.ts +33 -0
- package/esm/internals/index.js +24 -0
- package/esm/internals/models/events.d.ts +9 -0
- package/esm/internals/models/events.js +1 -0
- package/esm/internals/models/helpers.d.ts +7 -0
- package/esm/internals/models/helpers.js +1 -0
- package/esm/internals/models/index.d.ts +4 -0
- package/esm/internals/models/index.js +4 -0
- package/esm/internals/models/itemPlugin.d.ts +43 -0
- package/esm/internals/models/itemPlugin.js +1 -0
- package/esm/internals/models/plugin.d.ts +151 -0
- package/esm/internals/models/plugin.js +1 -0
- package/esm/internals/models/treeView.d.ts +32 -0
- package/esm/internals/models/treeView.js +1 -0
- package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewExpansion/index.js +1 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +134 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +184 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +24 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +102 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +7 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +19 -0
- package/esm/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewFocus/index.js +1 -0
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +135 -0
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +182 -0
- package/{node → esm}/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +5 -11
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +45 -0
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
- package/esm/internals/plugins/useTreeViewIcons/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewIcons/index.js +1 -0
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -0
- package/{node → esm}/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +2 -10
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +42 -0
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +1 -0
- package/esm/internals/plugins/useTreeViewItems/index.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewItems/index.js +2 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +330 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +1058 -0
- package/{node → esm}/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +25 -18
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +205 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +1 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +4 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +8 -0
- package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewJSXItems/index.js +1 -0
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +183 -0
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +35 -0
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +1 -0
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
- package/{node → esm}/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +47 -47
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +33 -0
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
- package/esm/internals/plugins/useTreeViewLabel/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewLabel/index.js +1 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -0
- package/{node → esm}/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +9 -17
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +68 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +74 -0
- package/{node → esm}/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +4 -10
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +59 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +1 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +27 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +1 -0
- package/esm/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewSelection/index.js +1 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
- package/{node → esm}/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +14 -22
- package/{node → esm}/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +34 -43
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +32 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +9 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +144 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +38 -0
- package/{node → esm}/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +16 -26
- package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +22 -0
- package/{node → esm}/internals/useTreeView/extractPluginParamsFromProps.js +4 -12
- package/esm/internals/useTreeView/index.d.ts +1 -0
- package/esm/internals/useTreeView/index.js +1 -0
- package/esm/internals/useTreeView/useTreeView.d.ts +9 -0
- package/{node → esm}/internals/useTreeView/useTreeView.js +19 -29
- package/esm/internals/useTreeView/useTreeView.types.d.ts +23 -0
- package/esm/internals/useTreeView/useTreeView.types.js +1 -0
- package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +18 -0
- package/{node → esm}/internals/useTreeView/useTreeViewBuildContext.js +3 -11
- package/esm/internals/useTreeView/useTreeViewModels.d.ts +7 -0
- package/{node → esm}/internals/useTreeView/useTreeViewModels.js +5 -14
- package/esm/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
- package/esm/internals/useTreeView/useTreeViewPlugins.js +0 -0
- package/esm/internals/utils/TreeViewStore.d.ts +12 -0
- package/{node → esm}/internals/utils/TreeViewStore.js +2 -9
- package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
- package/esm/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
- package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
- package/{node → esm}/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +2 -9
- package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +9 -0
- package/{node → esm}/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +2 -9
- package/esm/internals/utils/plugins.d.ts +2 -0
- package/esm/internals/utils/plugins.js +4 -0
- package/esm/internals/utils/publishTreeViewEvent.d.ts +5 -0
- package/esm/internals/utils/publishTreeViewEvent.js +3 -0
- package/esm/internals/utils/selectors.d.ts +16 -0
- package/{node → esm}/internals/utils/selectors.js +14 -12
- package/esm/internals/utils/tree.d.ts +32 -0
- package/{node → esm}/internals/utils/tree.js +41 -55
- package/esm/internals/utils/utils.d.ts +2 -0
- package/{node → esm}/internals/utils/utils.js +2 -10
- package/esm/internals/zero-styled/index.d.ts +3 -0
- package/esm/internals/zero-styled/index.js +7 -0
- package/esm/models/events.d.ts +4 -0
- package/esm/models/events.js +1 -0
- package/esm/models/index.d.ts +3 -0
- package/esm/models/index.js +5 -0
- package/esm/models/items.d.ts +13 -0
- package/esm/models/items.js +1 -0
- package/esm/package.json +1 -0
- package/esm/themeAugmentation/components.d.ts +21 -0
- package/esm/themeAugmentation/index.d.ts +3 -0
- package/esm/themeAugmentation/index.js +0 -0
- package/esm/themeAugmentation/overrides.d.ts +16 -0
- package/esm/themeAugmentation/props.d.ts +14 -0
- package/esm/useTreeItem/index.d.ts +2 -0
- package/esm/useTreeItem/index.js +1 -0
- package/esm/useTreeItem/useTreeItem.d.ts +2 -0
- package/{node → esm}/useTreeItem/useTreeItem.js +67 -62
- package/esm/useTreeItem/useTreeItem.types.d.ts +196 -0
- package/esm/useTreeItem/useTreeItem.types.js +1 -0
- package/esm/utils/cache.d.ts +38 -0
- package/esm/utils/cache.js +31 -0
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +1 -0
- package/hooks/index.d.ts +3 -3
- package/hooks/index.js +26 -3
- package/hooks/useTreeItemModel.d.ts +2 -2
- package/hooks/useTreeItemModel.js +13 -7
- package/hooks/useTreeItemUtils/index.d.ts +1 -1
- package/hooks/useTreeItemUtils/index.js +12 -1
- package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +25 -26
- package/hooks/useTreeItemUtils/useTreeItemUtils.js +51 -33
- package/hooks/useTreeViewApiRef.d.ts +3 -3
- package/hooks/useTreeViewApiRef.js +9 -2
- package/icons/icons.d.ts +3 -3
- package/icons/icons.js +12 -5
- package/icons/index.d.ts +1 -1
- package/icons/index.js +16 -1
- package/index.d.ts +12 -12
- package/index.js +147 -15
- package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +3 -3
- package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +9 -2
- package/internals/TreeViewItemDepthContext/index.d.ts +1 -1
- package/internals/TreeViewItemDepthContext/index.js +12 -1
- package/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +8 -8
- package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +23 -14
- package/internals/TreeViewProvider/TreeViewContext.d.ts +2 -2
- package/internals/TreeViewProvider/TreeViewContext.js +9 -2
- package/internals/TreeViewProvider/TreeViewProvider.d.ts +3 -3
- package/internals/TreeViewProvider/TreeViewProvider.js +12 -5
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +13 -13
- package/internals/TreeViewProvider/TreeViewProvider.types.js +5 -1
- package/internals/TreeViewProvider/index.d.ts +3 -3
- package/internals/TreeViewProvider/index.js +19 -2
- package/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -3
- package/internals/TreeViewProvider/useTreeViewContext.js +13 -5
- package/internals/components/RichTreeViewItems.d.ts +21 -21
- package/internals/components/RichTreeViewItems.js +31 -23
- package/internals/corePlugins/corePlugins.d.ts +3 -4
- package/internals/corePlugins/corePlugins.js +10 -4
- package/internals/corePlugins/index.d.ts +2 -2
- package/internals/corePlugins/index.js +12 -1
- package/internals/corePlugins/useTreeViewId/index.d.ts +2 -2
- package/internals/corePlugins/useTreeViewId/index.js +12 -1
- package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -3
- package/internals/corePlugins/useTreeViewId/useTreeViewId.js +19 -10
- package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +25 -25
- package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +8 -2
- package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +14 -14
- package/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +5 -1
- package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +10 -6
- package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +11 -3
- package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -2
- package/internals/corePlugins/useTreeViewInstanceEvents/index.js +12 -1
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +2 -2
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +12 -4
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +19 -19
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +5 -1
- package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -2
- package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +12 -1
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -3
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +8 -1
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +4 -4
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +5 -1
- package/internals/hooks/useInstanceEventHandler.d.ts +8 -8
- package/internals/hooks/useInstanceEventHandler.js +16 -7
- package/internals/hooks/useLazyRef.d.ts +1 -1
- package/internals/hooks/useLazyRef.js +13 -1
- package/internals/hooks/useOnMount.d.ts +1 -1
- package/internals/hooks/useOnMount.js +13 -1
- package/internals/hooks/useSelector.d.ts +4 -4
- package/internals/hooks/useSelector.js +15 -4
- package/internals/hooks/useTimeout.d.ts +1 -1
- package/internals/hooks/useTimeout.js +13 -1
- package/internals/index.d.ts +31 -26
- package/internals/index.js +192 -20
- package/internals/models/events.d.ts +3 -3
- package/internals/models/events.js +5 -1
- package/internals/models/helpers.d.ts +1 -1
- package/internals/models/helpers.js +5 -1
- package/internals/models/index.d.ts +4 -4
- package/internals/models/index.js +49 -4
- package/internals/models/itemPlugin.d.ts +28 -28
- package/internals/models/itemPlugin.js +5 -1
- package/internals/models/plugin.d.ts +125 -148
- package/internals/models/plugin.js +5 -1
- package/internals/models/treeView.d.ts +19 -19
- package/internals/models/treeView.js +5 -1
- package/internals/plugins/useTreeViewExpansion/index.d.ts +2 -2
- package/internals/plugins/useTreeViewExpansion/index.js +12 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -3
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +64 -33
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +141 -137
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +11 -5
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +88 -64
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +5 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +6 -3
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +11 -3
- package/internals/plugins/useTreeViewFocus/index.d.ts +2 -2
- package/internals/plugins/useTreeViewFocus/index.js +12 -1
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -3
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +40 -31
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +121 -121
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +11 -5
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +32 -36
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +5 -1
- package/internals/plugins/useTreeViewIcons/index.d.ts +2 -2
- package/internals/plugins/useTreeViewIcons/index.js +12 -1
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -3
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +10 -2
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +31 -32
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +5 -1
- package/internals/plugins/useTreeViewItems/index.d.ts +3 -3
- package/internals/plugins/useTreeViewItems/index.js +25 -2
- package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -3
- package/internals/plugins/useTreeViewItems/useTreeViewItems.js +194 -44
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +856 -684
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +31 -12
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +179 -130
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +5 -1
- package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +2 -2
- package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +10 -3
- package/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -2
- package/internals/plugins/useTreeViewJSXItems/index.js +12 -1
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -3
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +56 -47
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +32 -34
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +5 -1
- package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -2
- package/internals/plugins/useTreeViewKeyboardNavigation/index.js +12 -1
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -3
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +56 -38
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +27 -31
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +5 -1
- package/internals/plugins/useTreeViewLabel/index.d.ts +2 -2
- package/internals/plugins/useTreeViewLabel/index.js +12 -1
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -3
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -2
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +17 -9
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +23 -24
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +49 -49
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +10 -4
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +44 -49
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +5 -1
- package/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +33 -0
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
- package/internals/plugins/useTreeViewSelection/index.d.ts +2 -2
- package/internals/plugins/useTreeViewSelection/index.js +12 -1
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -3
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +22 -14
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -34
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +22 -22
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +8 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +123 -128
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +5 -1
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +27 -17
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +26 -16
- package/internals/useTreeView/extractPluginParamsFromProps.d.ts +18 -9
- package/internals/useTreeView/extractPluginParamsFromProps.js +12 -4
- package/internals/useTreeView/index.d.ts +1 -1
- package/internals/useTreeView/index.js +12 -1
- package/internals/useTreeView/useTreeView.d.ts +7 -3
- package/internals/useTreeView/useTreeView.js +29 -19
- package/internals/useTreeView/useTreeView.types.d.ts +13 -13
- package/internals/useTreeView/useTreeView.types.js +5 -1
- package/internals/useTreeView/useTreeViewBuildContext.d.ts +17 -11
- package/internals/useTreeView/useTreeViewBuildContext.js +11 -3
- package/internals/useTreeView/useTreeViewModels.d.ts +3 -3
- package/internals/useTreeView/useTreeViewModels.js +14 -5
- package/internals/useTreeView/useTreeViewPlugins.js +1 -0
- package/internals/utils/TreeViewStore.d.ts +7 -7
- package/internals/utils/TreeViewStore.js +9 -2
- package/internals/utils/cleanupTracking/CleanupTracking.d.ts +5 -5
- package/internals/utils/cleanupTracking/CleanupTracking.js +5 -1
- package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +6 -6
- package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +9 -2
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +8 -8
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +9 -2
- package/internals/utils/plugins.d.ts +2 -2
- package/internals/utils/plugins.js +9 -2
- package/internals/utils/publishTreeViewEvent.d.ts +4 -4
- package/internals/utils/publishTreeViewEvent.js +9 -2
- package/internals/utils/selectors.d.ts +9 -2
- package/internals/utils/selectors.js +21 -5
- package/internals/utils/tree.d.ts +2 -2
- package/internals/utils/tree.js +55 -41
- package/internals/utils/utils.d.ts +1 -1
- package/internals/utils/utils.js +10 -2
- package/internals/zero-styled/index.d.ts +1 -1
- package/internals/zero-styled/index.js +14 -4
- package/models/events.d.ts +2 -2
- package/models/events.js +5 -1
- package/models/index.d.ts +3 -3
- package/models/index.js +26 -4
- package/models/items.d.ts +6 -6
- package/models/items.js +5 -1
- package/modern/RichTreeView/RichTreeView.d.ts +18 -0
- package/modern/RichTreeView/RichTreeView.js +28 -13
- package/modern/RichTreeView/RichTreeView.plugins.d.ts +13 -0
- package/modern/RichTreeView/RichTreeView.types.d.ts +52 -0
- package/modern/RichTreeView/index.d.ts +5 -0
- package/modern/RichTreeView/richTreeViewClasses.d.ts +7 -0
- package/modern/SimpleTreeView/SimpleTreeView.d.ts +20 -0
- package/modern/SimpleTreeView/SimpleTreeView.js +8 -6
- package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +12 -0
- package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +51 -0
- package/modern/SimpleTreeView/index.d.ts +3 -0
- package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
- package/modern/TreeItem/TreeItem.d.ts +33 -0
- package/modern/TreeItem/TreeItem.js +45 -4
- package/modern/TreeItem/TreeItem.types.d.ts +107 -0
- package/modern/TreeItem/index.d.ts +3 -0
- package/modern/TreeItem/treeItemClasses.d.ts +33 -0
- package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
- package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +6 -0
- package/modern/TreeItemDragAndDropOverlay/index.d.ts +2 -0
- package/modern/TreeItemIcon/TreeItemIcon.d.ts +7 -0
- package/modern/TreeItemIcon/TreeItemIcon.js +2 -0
- package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +40 -0
- package/modern/TreeItemIcon/index.d.ts +2 -0
- package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
- package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +14 -0
- package/modern/TreeItemLabelInput/index.d.ts +2 -0
- package/modern/TreeItemProvider/TreeItemProvider.d.ts +7 -0
- package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +7 -0
- package/modern/TreeItemProvider/index.d.ts +2 -0
- package/modern/hooks/index.d.ts +3 -0
- package/modern/hooks/useTreeItemModel.d.ts +2 -0
- package/modern/hooks/useTreeItemUtils/index.d.ts +1 -0
- package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +42 -0
- package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +21 -9
- package/modern/hooks/useTreeViewApiRef.d.ts +7 -0
- package/modern/icons/icons.d.ts +6 -0
- package/modern/icons/index.d.ts +1 -0
- package/modern/index.d.ts +12 -0
- package/modern/index.js +1 -1
- package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +5 -0
- package/modern/internals/TreeViewItemDepthContext/index.d.ts +1 -0
- package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +17 -0
- package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +6 -0
- package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
- package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +19 -0
- package/modern/internals/TreeViewProvider/index.d.ts +3 -0
- package/modern/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
- package/modern/internals/components/RichTreeViewItems.d.ts +32 -0
- package/modern/internals/corePlugins/corePlugins.d.ts +9 -0
- package/modern/internals/corePlugins/index.d.ts +2 -0
- package/modern/internals/corePlugins/useTreeViewId/index.d.ts +2 -0
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -0
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +36 -0
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +20 -0
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +21 -0
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +3 -0
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +22 -0
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -0
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -0
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +8 -0
- package/modern/internals/hooks/useInstanceEventHandler.d.ts +15 -0
- package/modern/internals/hooks/useLazyRef.d.ts +1 -0
- package/modern/internals/hooks/useOnMount.d.ts +1 -0
- package/modern/internals/hooks/useSelector.d.ts +4 -0
- package/modern/internals/hooks/useSelector.js +4 -1
- package/modern/internals/hooks/useTimeout.d.ts +1 -0
- package/modern/internals/index.d.ts +33 -0
- package/modern/internals/index.js +4 -1
- package/modern/internals/models/events.d.ts +9 -0
- package/modern/internals/models/helpers.d.ts +7 -0
- package/modern/internals/models/index.d.ts +4 -0
- package/modern/internals/models/itemPlugin.d.ts +43 -0
- package/modern/internals/models/plugin.d.ts +151 -0
- package/modern/internals/models/treeView.d.ts +32 -0
- package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -12
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +184 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +102 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +7 -0
- package/modern/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +182 -0
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +45 -0
- package/modern/internals/plugins/useTreeViewIcons/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +42 -0
- package/modern/internals/plugins/useTreeViewItems/index.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +157 -16
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +1058 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +13 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +205 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +4 -0
- package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +2 -2
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +35 -0
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +16 -7
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +33 -0
- package/modern/internals/plugins/useTreeViewLabel/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +4 -14
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +74 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +59 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +27 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +1 -0
- package/modern/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +4 -4
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +32 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +144 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +38 -0
- package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +22 -0
- package/modern/internals/useTreeView/index.d.ts +1 -0
- package/modern/internals/useTreeView/useTreeView.d.ts +9 -0
- package/modern/internals/useTreeView/useTreeView.types.d.ts +23 -0
- package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +18 -0
- package/modern/internals/useTreeView/useTreeViewModels.d.ts +7 -0
- package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
- package/modern/internals/utils/TreeViewStore.d.ts +12 -0
- package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
- package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
- package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +9 -0
- package/modern/internals/utils/plugins.d.ts +2 -0
- package/modern/internals/utils/publishTreeViewEvent.d.ts +5 -0
- package/modern/internals/utils/selectors.d.ts +16 -0
- package/modern/internals/utils/selectors.js +9 -0
- package/modern/internals/utils/tree.d.ts +32 -0
- package/modern/internals/utils/utils.d.ts +2 -0
- package/modern/internals/zero-styled/index.d.ts +3 -0
- package/modern/models/events.d.ts +4 -0
- package/modern/models/index.d.ts +3 -0
- package/modern/models/items.d.ts +13 -0
- package/modern/package.json +1 -0
- package/modern/themeAugmentation/components.d.ts +21 -0
- package/modern/themeAugmentation/index.d.ts +3 -0
- package/modern/themeAugmentation/overrides.d.ts +16 -0
- package/modern/themeAugmentation/props.d.ts +14 -0
- package/modern/useTreeItem/index.d.ts +2 -0
- package/modern/useTreeItem/useTreeItem.d.ts +2 -0
- package/modern/useTreeItem/useTreeItem.js +13 -0
- package/modern/useTreeItem/useTreeItem.types.d.ts +196 -0
- package/modern/utils/cache.d.ts +38 -0
- package/modern/utils/cache.js +31 -0
- package/modern/utils/index.d.ts +1 -0
- package/modern/utils/index.js +1 -0
- package/package.json +41 -8
- package/themeAugmentation/components.d.ts +1 -3
- package/themeAugmentation/index.d.ts +1 -1
- package/themeAugmentation/index.js +1 -0
- package/themeAugmentation/overrides.d.ts +4 -5
- package/themeAugmentation/props.d.ts +4 -6
- package/tsconfig.build.tsbuildinfo +1 -0
- package/useTreeItem/index.d.ts +2 -2
- package/useTreeItem/index.js +12 -1
- package/useTreeItem/useTreeItem.d.ts +2 -2
- package/useTreeItem/useTreeItem.js +75 -54
- package/useTreeItem/useTreeItem.types.d.ts +161 -151
- package/useTreeItem/useTreeItem.types.js +5 -1
- package/utils/cache.d.ts +38 -0
- package/utils/cache.js +38 -0
- package/utils/index.d.ts +1 -0
- package/{node/icons → utils}/index.js +4 -4
- package/RichTreeView/package.json +0 -6
- package/SimpleTreeView/package.json +0 -6
- package/TreeItem/package.json +0 -6
- package/TreeItemDragAndDropOverlay/package.json +0 -6
- package/TreeItemIcon/package.json +0 -6
- package/TreeItemLabelInput/package.json +0 -6
- package/TreeItemProvider/package.json +0 -6
- package/hooks/package.json +0 -6
- package/icons/package.json +0 -6
- package/internals/package.json +0 -6
- package/models/package.json +0 -6
- package/node/RichTreeView/RichTreeView.plugins.js +0 -16
- package/node/RichTreeView/index.js +0 -39
- package/node/RichTreeView/richTreeViewClasses.js +0 -14
- package/node/SimpleTreeView/SimpleTreeView.plugins.js +0 -16
- package/node/SimpleTreeView/index.js +0 -27
- package/node/SimpleTreeView/simpleTreeViewClasses.js +0 -14
- package/node/TreeItem/TreeItem.types.js +0 -5
- package/node/TreeItem/index.js +0 -69
- package/node/TreeItem/treeItemClasses.js +0 -14
- package/node/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -5
- package/node/TreeItemDragAndDropOverlay/index.js +0 -12
- package/node/TreeItemIcon/TreeItemIcon.js +0 -78
- package/node/TreeItemIcon/TreeItemIcon.types.js +0 -5
- package/node/TreeItemIcon/index.js +0 -12
- package/node/TreeItemLabelInput/TreeItemLabelInput.js +0 -29
- package/node/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -5
- package/node/TreeItemLabelInput/index.js +0 -12
- package/node/TreeItemProvider/TreeItemProvider.js +0 -51
- package/node/TreeItemProvider/TreeItemProvider.types.js +0 -5
- package/node/TreeItemProvider/index.js +0 -12
- package/node/hooks/index.js +0 -26
- package/node/hooks/useTreeItemModel.js +0 -17
- package/node/hooks/useTreeItemUtils/index.js +0 -12
- package/node/hooks/useTreeViewApiRef.js +0 -14
- package/node/icons/icons.js +0 -16
- package/node/index.js +0 -154
- package/node/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -12
- package/node/internals/TreeViewItemDepthContext/index.js +0 -12
- package/node/internals/TreeViewProvider/TreeViewContext.js +0 -15
- package/node/internals/TreeViewProvider/TreeViewProvider.js +0 -27
- package/node/internals/TreeViewProvider/TreeViewProvider.types.js +0 -5
- package/node/internals/TreeViewProvider/index.js +0 -19
- package/node/internals/TreeViewProvider/useTreeViewContext.js +0 -17
- package/node/internals/components/RichTreeViewItems.js +0 -76
- package/node/internals/corePlugins/corePlugins.js +0 -14
- package/node/internals/corePlugins/index.js +0 -12
- package/node/internals/corePlugins/useTreeViewId/index.js +0 -12
- package/node/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -48
- package/node/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
- package/node/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -5
- package/node/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
- package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -5
- package/node/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
- package/node/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
- package/node/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -5
- package/node/internals/hooks/useLazyRef.js +0 -13
- package/node/internals/hooks/useOnMount.js +0 -13
- package/node/internals/hooks/useSelector.js +0 -13
- package/node/internals/hooks/useTimeout.js +0 -13
- package/node/internals/index.js +0 -160
- package/node/internals/models/events.js +0 -5
- package/node/internals/models/helpers.js +0 -5
- package/node/internals/models/index.js +0 -49
- package/node/internals/models/itemPlugin.js +0 -5
- package/node/internals/models/plugin.js +0 -5
- package/node/internals/models/treeView.js +0 -5
- package/node/internals/plugins/useTreeViewExpansion/index.js +0 -12
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -119
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -30
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -27
- package/node/internals/plugins/useTreeViewFocus/index.js +0 -12
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -144
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
- package/node/internals/plugins/useTreeViewIcons/index.js +0 -12
- package/node/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
- package/node/internals/plugins/useTreeViewItems/index.js +0 -25
- package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -198
- package/node/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
- package/node/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -15
- package/node/internals/plugins/useTreeViewJSXItems/index.js +0 -12
- package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -192
- package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
- package/node/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
- package/node/internals/plugins/useTreeViewLabel/index.js +0 -12
- package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -87
- package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
- package/node/internals/plugins/useTreeViewSelection/index.js +0 -12
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -15
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
- package/node/internals/useTreeView/index.js +0 -12
- package/node/internals/useTreeView/useTreeView.types.js +0 -5
- package/node/internals/useTreeView/useTreeViewPlugins.js +0 -1
- package/node/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
- package/node/internals/utils/plugins.js +0 -11
- package/node/internals/utils/publishTreeViewEvent.js +0 -10
- package/node/internals/zero-styled/index.js +0 -17
- package/node/models/events.js +0 -5
- package/node/models/index.js +0 -27
- package/node/models/items.js +0 -5
- package/node/themeAugmentation/index.js +0 -1
- package/node/useTreeItem/index.js +0 -12
- package/node/useTreeItem/useTreeItem.types.js +0 -5
- package/themeAugmentation/package.json +0 -6
- package/useTreeItem/package.json +0 -6
- /package/{node/RichTreeView/RichTreeView.types.js → internals/plugins/useTreeViewLazyLoading/index.js} +0 -0
- /package/{node/SimpleTreeView/SimpleTreeView.types.js → internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js} +0 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
+
import { TreeViewExperimentalFeatures, TreeViewInstance, TreeViewModel } from "./treeView.js";
|
|
4
|
+
import type { MergeSignaturesProperty, OptionalIfEmpty } from './helpers';
|
|
5
|
+
import { TreeViewEventLookupElement } from "./events.js";
|
|
6
|
+
import type { TreeViewCorePluginSignatures } from '../corePlugins';
|
|
7
|
+
import { TreeViewItemPlugin } from "./itemPlugin.js";
|
|
8
|
+
import { TreeViewItemId } from "../../models/index.js";
|
|
9
|
+
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
10
|
+
export interface TreeViewPluginOptions<TSignature extends TreeViewAnyPluginSignature> {
|
|
11
|
+
instance: TreeViewUsedInstance<TSignature>;
|
|
12
|
+
params: TreeViewUsedDefaultizedParams<TSignature>;
|
|
13
|
+
slots: TSignature['slots'];
|
|
14
|
+
slotProps: TSignature['slotProps'];
|
|
15
|
+
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
16
|
+
models: TreeViewUsedModels<TSignature>;
|
|
17
|
+
store: TreeViewUsedStore<TSignature>;
|
|
18
|
+
rootRef: React.RefObject<HTMLUListElement | null>;
|
|
19
|
+
plugins: TreeViewPlugin<TreeViewAnyPluginSignature>[];
|
|
20
|
+
}
|
|
21
|
+
type TreeViewModelsInitializer<TSignature extends TreeViewAnyPluginSignature> = { [TControlled in keyof TSignature['models']]: {
|
|
22
|
+
getDefaultValue: (params: TSignature['defaultizedParams']) => Exclude<TSignature['defaultizedParams'][TControlled], undefined>;
|
|
23
|
+
} };
|
|
24
|
+
type TreeViewResponse<TSignature extends TreeViewAnyPluginSignature> = {
|
|
25
|
+
getRootProps?: <TOther extends EventHandlers = {}>(otherHandlers: TOther) => React.HTMLAttributes<HTMLUListElement>;
|
|
26
|
+
} & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']> & OptionalIfEmpty<'contextValue', TSignature['contextValue']>;
|
|
27
|
+
export type TreeViewPluginSignature<T extends {
|
|
28
|
+
params?: {};
|
|
29
|
+
defaultizedParams?: {};
|
|
30
|
+
instance?: {};
|
|
31
|
+
publicAPI?: {};
|
|
32
|
+
events?: { [key in keyof T['events']]: TreeViewEventLookupElement };
|
|
33
|
+
state?: {};
|
|
34
|
+
cache?: {};
|
|
35
|
+
contextValue?: {};
|
|
36
|
+
slots?: { [key in keyof T['slots']]: React.ElementType };
|
|
37
|
+
slotProps?: { [key in keyof T['slotProps']]: {} | (() => {}) };
|
|
38
|
+
modelNames?: keyof T['defaultizedParams'];
|
|
39
|
+
experimentalFeatures?: string;
|
|
40
|
+
dependencies?: readonly TreeViewAnyPluginSignature[];
|
|
41
|
+
optionalDependencies?: readonly TreeViewAnyPluginSignature[];
|
|
42
|
+
}> = {
|
|
43
|
+
params: T extends {
|
|
44
|
+
params: {};
|
|
45
|
+
} ? T['params'] : {};
|
|
46
|
+
defaultizedParams: T extends {
|
|
47
|
+
defaultizedParams: {};
|
|
48
|
+
} ? T['defaultizedParams'] : {};
|
|
49
|
+
instance: T extends {
|
|
50
|
+
instance: {};
|
|
51
|
+
} ? T['instance'] : {};
|
|
52
|
+
publicAPI: T extends {
|
|
53
|
+
publicAPI: {};
|
|
54
|
+
} ? T['publicAPI'] : {};
|
|
55
|
+
events: T extends {
|
|
56
|
+
events: {};
|
|
57
|
+
} ? T['events'] : {};
|
|
58
|
+
state: T extends {
|
|
59
|
+
state: {};
|
|
60
|
+
} ? T['state'] : {};
|
|
61
|
+
cache: T extends {
|
|
62
|
+
cache: {};
|
|
63
|
+
} ? T['cache'] : {};
|
|
64
|
+
contextValue: T extends {
|
|
65
|
+
contextValue: {};
|
|
66
|
+
} ? T['contextValue'] : {};
|
|
67
|
+
slots: T extends {
|
|
68
|
+
slots: {};
|
|
69
|
+
} ? T['slots'] : {};
|
|
70
|
+
slotProps: T extends {
|
|
71
|
+
slotProps: {};
|
|
72
|
+
} ? T['slotProps'] : {};
|
|
73
|
+
models: T extends {
|
|
74
|
+
defaultizedParams: {};
|
|
75
|
+
modelNames: keyof T['defaultizedParams'];
|
|
76
|
+
} ? { [TControlled in T['modelNames']]-?: TreeViewModel<Exclude<T['defaultizedParams'][TControlled], undefined>> } : {};
|
|
77
|
+
experimentalFeatures: T extends {
|
|
78
|
+
experimentalFeatures: string;
|
|
79
|
+
} ? { [key in T['experimentalFeatures']]?: boolean } : {};
|
|
80
|
+
dependencies: T extends {
|
|
81
|
+
dependencies: Array<any>;
|
|
82
|
+
} ? T['dependencies'] : [];
|
|
83
|
+
optionalDependencies: T extends {
|
|
84
|
+
optionalDependencies: Array<any>;
|
|
85
|
+
} ? T['optionalDependencies'] : [];
|
|
86
|
+
};
|
|
87
|
+
export type TreeViewAnyPluginSignature = {
|
|
88
|
+
cache: any;
|
|
89
|
+
state: any;
|
|
90
|
+
instance: any;
|
|
91
|
+
params: any;
|
|
92
|
+
defaultizedParams: any;
|
|
93
|
+
dependencies: any;
|
|
94
|
+
optionalDependencies: any;
|
|
95
|
+
events: any;
|
|
96
|
+
contextValue: any;
|
|
97
|
+
slots: any;
|
|
98
|
+
slotProps: any;
|
|
99
|
+
models: any;
|
|
100
|
+
experimentalFeatures: any;
|
|
101
|
+
publicAPI: any;
|
|
102
|
+
};
|
|
103
|
+
type TreeViewRequiredPlugins<TSignature extends TreeViewAnyPluginSignature> = [...TreeViewCorePluginSignatures, ...TSignature['dependencies']];
|
|
104
|
+
type PluginPropertyWithDependencies<TSignature extends TreeViewAnyPluginSignature, TProperty extends keyof TreeViewAnyPluginSignature> = TSignature[TProperty] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, TProperty> & Partial<MergeSignaturesProperty<TSignature['optionalDependencies'], TProperty>>;
|
|
105
|
+
export type TreeViewUsedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'params'>;
|
|
106
|
+
export type TreeViewUsedDefaultizedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'defaultizedParams'>;
|
|
107
|
+
export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'instance'> & {
|
|
108
|
+
/**
|
|
109
|
+
* Private property only defined in TypeScript to be able to access the plugin signature from the instance object.
|
|
110
|
+
*/
|
|
111
|
+
$$signature: TSignature;
|
|
112
|
+
};
|
|
113
|
+
export type TreeViewUsedStore<TSignature extends TreeViewAnyPluginSignature> = TreeViewStore<[TSignature, ...TSignature['dependencies']]>;
|
|
114
|
+
type TreeViewUsedExperimentalFeatures<TSignature extends TreeViewAnyPluginSignature> = TreeViewExperimentalFeatures<[TSignature, ...TSignature['dependencies']], TSignature['optionalDependencies']>;
|
|
115
|
+
type RemoveSetValue<Models extends Record<string, TreeViewModel<any>>> = { [K in keyof Models]: Omit<Models[K], 'setValue'> };
|
|
116
|
+
export type TreeViewUsedModels<TSignature extends TreeViewAnyPluginSignature> = TSignature['models'] & RemoveSetValue<MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'models'>>;
|
|
117
|
+
export type TreeViewUsedEvents<TSignature extends TreeViewAnyPluginSignature> = TSignature['events'] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'events'>;
|
|
118
|
+
export type TreeItemWrapper<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (params: {
|
|
119
|
+
itemId: TreeViewItemId;
|
|
120
|
+
children: React.ReactNode;
|
|
121
|
+
instance: TreeViewInstance<TSignatures>;
|
|
122
|
+
idAttribute: string;
|
|
123
|
+
}) => React.ReactNode;
|
|
124
|
+
export type TreeRootWrapper = (params: {
|
|
125
|
+
children: React.ReactNode;
|
|
126
|
+
}) => React.ReactNode;
|
|
127
|
+
export type TreeViewPlugin<TSignature extends TreeViewAnyPluginSignature> = {
|
|
128
|
+
(options: TreeViewPluginOptions<TSignature>): TreeViewResponse<TSignature>;
|
|
129
|
+
getDefaultizedParams?: (options: {
|
|
130
|
+
params: TreeViewUsedParams<TSignature>;
|
|
131
|
+
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
132
|
+
}) => TSignature['defaultizedParams'];
|
|
133
|
+
getInitialState?: (params: TreeViewUsedDefaultizedParams<TSignature>) => TSignature['state'];
|
|
134
|
+
getInitialCache?: () => TSignature['cache'];
|
|
135
|
+
models?: TreeViewModelsInitializer<TSignature>;
|
|
136
|
+
params: Record<keyof TSignature['params'], true>;
|
|
137
|
+
itemPlugin?: TreeViewItemPlugin;
|
|
138
|
+
/**
|
|
139
|
+
* Render function used to add React wrappers around the TreeItem.
|
|
140
|
+
* @param {{ nodeId: TreeViewItemId; children: React.ReactNode; }} params The params of the item.
|
|
141
|
+
* @returns {React.ReactNode} The wrapped item.
|
|
142
|
+
*/
|
|
143
|
+
wrapItem?: TreeItemWrapper<[TSignature, ...TSignature['dependencies']]>;
|
|
144
|
+
/**
|
|
145
|
+
* Render function used to add React wrappers around the TreeView.
|
|
146
|
+
* @param {{ children: React.ReactNode; }} params The params of the root.
|
|
147
|
+
* @returns {React.ReactNode} The wrapped root.
|
|
148
|
+
*/
|
|
149
|
+
wrapRoot?: TreeRootWrapper;
|
|
150
|
+
};
|
|
151
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { TreeViewAnyPluginSignature } from './plugin';
|
|
2
|
+
import type { MergeSignaturesProperty } from './helpers';
|
|
3
|
+
import type { TreeViewCorePluginSignatures } from '../corePlugins';
|
|
4
|
+
export interface TreeViewItemMeta {
|
|
5
|
+
id: string;
|
|
6
|
+
idAttribute: string | undefined;
|
|
7
|
+
parentId: string | null;
|
|
8
|
+
expandable: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Only defined for `<RichTreeView />` and `<RichTreeViewPro />`.
|
|
12
|
+
*/
|
|
13
|
+
depth?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Only defined for `<RichTreeView />` and `<RichTreeViewPro />`.
|
|
16
|
+
*/
|
|
17
|
+
label?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface TreeViewModel<TValue> {
|
|
20
|
+
name: string;
|
|
21
|
+
value: TValue;
|
|
22
|
+
setControlledValue: (value: TValue | ((prevValue: TValue) => TValue)) => void;
|
|
23
|
+
}
|
|
24
|
+
export type TreeViewInstance<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'instance'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
25
|
+
export type TreeViewPublicAPI<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'publicAPI'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
26
|
+
export type TreeViewExperimentalFeatures<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TSignatures, ...TOptionalSignatures], 'experimentalFeatures'>;
|
|
27
|
+
export type TreeViewStateCacheKey = {
|
|
28
|
+
id: number;
|
|
29
|
+
};
|
|
30
|
+
export type TreeViewState<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'state'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'state'>> & {
|
|
31
|
+
cacheKey: TreeViewStateCacheKey;
|
|
32
|
+
};
|
|
@@ -4,6 +4,7 @@ import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
|
4
4
|
import { selectorIsItemExpandable, selectorIsItemExpanded } from "./useTreeViewExpansion.selectors.js";
|
|
5
5
|
import { createExpandedItemsMap, getExpansionTrigger } from "./useTreeViewExpansion.utils.js";
|
|
6
6
|
import { selectorItemMeta, selectorItemOrderedChildrenIds } from "../useTreeViewItems/useTreeViewItems.selectors.js";
|
|
7
|
+
import { publishTreeViewEvent } from "../../utils/publishTreeViewEvent.js";
|
|
7
8
|
export const useTreeViewExpansion = ({
|
|
8
9
|
instance,
|
|
9
10
|
store,
|
|
@@ -37,26 +38,48 @@ export const useTreeViewExpansion = ({
|
|
|
37
38
|
params.onExpandedItemsChange?.(event, value);
|
|
38
39
|
models.expandedItems.setControlledValue(value);
|
|
39
40
|
};
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const isExpandedBefore = selectorIsItemExpanded(store.value, itemId);
|
|
46
|
-
if (isExpandedBefore === isExpanded) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
41
|
+
const applyItemExpansion = useEventCallback(({
|
|
42
|
+
itemId,
|
|
43
|
+
event,
|
|
44
|
+
shouldBeExpanded
|
|
45
|
+
}) => {
|
|
49
46
|
let newExpanded;
|
|
50
|
-
if (
|
|
47
|
+
if (shouldBeExpanded) {
|
|
51
48
|
newExpanded = [itemId].concat(models.expandedItems.value);
|
|
52
49
|
} else {
|
|
53
50
|
newExpanded = models.expandedItems.value.filter(id => id !== itemId);
|
|
54
51
|
}
|
|
55
52
|
if (params.onItemExpansionToggle) {
|
|
56
|
-
params.onItemExpansionToggle(event, itemId,
|
|
53
|
+
params.onItemExpansionToggle(event, itemId, shouldBeExpanded);
|
|
57
54
|
}
|
|
58
55
|
setExpandedItems(event, newExpanded);
|
|
59
56
|
});
|
|
57
|
+
const setItemExpansion = useEventCallback(({
|
|
58
|
+
itemId,
|
|
59
|
+
event = null,
|
|
60
|
+
shouldBeExpanded
|
|
61
|
+
}) => {
|
|
62
|
+
const isExpandedBefore = selectorIsItemExpanded(store.value, itemId);
|
|
63
|
+
const cleanShouldBeExpanded = shouldBeExpanded ?? !isExpandedBefore;
|
|
64
|
+
if (isExpandedBefore === cleanShouldBeExpanded) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const eventParameters = {
|
|
68
|
+
isExpansionPrevented: false,
|
|
69
|
+
shouldBeExpanded: cleanShouldBeExpanded,
|
|
70
|
+
event,
|
|
71
|
+
itemId
|
|
72
|
+
};
|
|
73
|
+
publishTreeViewEvent(instance, 'beforeItemToggleExpansion', eventParameters);
|
|
74
|
+
if (eventParameters.isExpansionPrevented) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
instance.applyItemExpansion({
|
|
78
|
+
itemId,
|
|
79
|
+
event,
|
|
80
|
+
shouldBeExpanded: cleanShouldBeExpanded
|
|
81
|
+
});
|
|
82
|
+
});
|
|
60
83
|
const expandAllSiblings = (event, itemId) => {
|
|
61
84
|
const itemMeta = selectorItemMeta(store.value, itemId);
|
|
62
85
|
if (itemMeta == null) {
|
|
@@ -80,7 +103,7 @@ export const useTreeViewExpansion = ({
|
|
|
80
103
|
},
|
|
81
104
|
instance: {
|
|
82
105
|
setItemExpansion,
|
|
83
|
-
|
|
106
|
+
applyItemExpansion,
|
|
84
107
|
expandAllSiblings
|
|
85
108
|
}
|
|
86
109
|
};
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { TreeViewRootSelector } from "../../utils/selectors.js";
|
|
2
|
+
import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Check if an item is expanded.
|
|
5
|
+
* @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
|
|
6
|
+
* @returns {boolean} `true` if the item is expanded, `false` otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export declare const selectorIsItemExpanded: ((state: any, itemId: string) => boolean) & {
|
|
9
|
+
clearCache: () => void;
|
|
10
|
+
resultsCount: () => number;
|
|
11
|
+
resetResultsCount: () => void;
|
|
12
|
+
} & {
|
|
13
|
+
resultFunc: (resultFuncArgs_0: {
|
|
14
|
+
expandedItemsMap: Map<string, true>;
|
|
15
|
+
expansionTrigger: "content" | "iconContainer";
|
|
16
|
+
}, resultFuncArgs_1: string) => boolean;
|
|
17
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
18
|
+
expandedItemsMap: Map<string, true>;
|
|
19
|
+
expansionTrigger: "content" | "iconContainer";
|
|
20
|
+
}, resultFuncArgs_1: string) => boolean) & {
|
|
21
|
+
clearCache: () => void;
|
|
22
|
+
resultsCount: () => number;
|
|
23
|
+
resetResultsCount: () => void;
|
|
24
|
+
};
|
|
25
|
+
lastResult: () => boolean;
|
|
26
|
+
dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>, (_: any, itemId: string) => string];
|
|
27
|
+
recomputations: () => number;
|
|
28
|
+
resetRecomputations: () => void;
|
|
29
|
+
dependencyRecomputations: () => number;
|
|
30
|
+
resetDependencyRecomputations: () => void;
|
|
31
|
+
} & {
|
|
32
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
33
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Check if an item is expandable.
|
|
37
|
+
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
38
|
+
* @returns {boolean} `true` if the item is expandable, `false` otherwise.
|
|
39
|
+
*/
|
|
40
|
+
export declare const selectorIsItemExpandable: ((state: any, itemId: string | null) => boolean) & {
|
|
41
|
+
clearCache: () => void;
|
|
42
|
+
resultsCount: () => number;
|
|
43
|
+
resetResultsCount: () => void;
|
|
44
|
+
} & {
|
|
45
|
+
resultFunc: (resultFuncArgs_0: import("../..").TreeViewItemMeta | null) => boolean;
|
|
46
|
+
memoizedResultFunc: ((resultFuncArgs_0: import("../..").TreeViewItemMeta | null) => boolean) & {
|
|
47
|
+
clearCache: () => void;
|
|
48
|
+
resultsCount: () => number;
|
|
49
|
+
resetResultsCount: () => void;
|
|
50
|
+
};
|
|
51
|
+
lastResult: () => boolean;
|
|
52
|
+
dependencies: [((state: any, itemId: string | null) => import("../..").TreeViewItemMeta | null) & {
|
|
53
|
+
clearCache: () => void;
|
|
54
|
+
resultsCount: () => number;
|
|
55
|
+
resetResultsCount: () => void;
|
|
56
|
+
} & {
|
|
57
|
+
resultFunc: (resultFuncArgs_0: {
|
|
58
|
+
[itemId: string]: import("../..").TreeViewItemMeta;
|
|
59
|
+
}, resultFuncArgs_1: string | null) => import("../..").TreeViewItemMeta | null;
|
|
60
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
61
|
+
[itemId: string]: import("../..").TreeViewItemMeta;
|
|
62
|
+
}, resultFuncArgs_1: string | null) => import("../..").TreeViewItemMeta | null) & {
|
|
63
|
+
clearCache: () => void;
|
|
64
|
+
resultsCount: () => number;
|
|
65
|
+
resetResultsCount: () => void;
|
|
66
|
+
};
|
|
67
|
+
lastResult: () => import("../..").TreeViewItemMeta | null;
|
|
68
|
+
dependencies: [((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("../useTreeViewItems").UseTreeViewItemsState<import("../../..").TreeViewDefaultItemModelProperties> & Partial<{}> & {
|
|
69
|
+
cacheKey: import("../../models").TreeViewStateCacheKey;
|
|
70
|
+
}) => {
|
|
71
|
+
[itemId: string]: import("../..").TreeViewItemMeta;
|
|
72
|
+
}) & {
|
|
73
|
+
clearCache: () => void;
|
|
74
|
+
resultsCount: () => number;
|
|
75
|
+
resetResultsCount: () => void;
|
|
76
|
+
} & {
|
|
77
|
+
resultFunc: (resultFuncArgs_0: {
|
|
78
|
+
disabledItemsFocusable: boolean;
|
|
79
|
+
itemModelLookup: {
|
|
80
|
+
[itemId: string]: import("../../..").TreeViewBaseItem<import("../../..").TreeViewDefaultItemModelProperties>;
|
|
81
|
+
};
|
|
82
|
+
itemMetaLookup: {
|
|
83
|
+
[itemId: string]: import("../..").TreeViewItemMeta;
|
|
84
|
+
};
|
|
85
|
+
itemOrderedChildrenIdsLookup: {
|
|
86
|
+
[parentItemId: string]: string[];
|
|
87
|
+
};
|
|
88
|
+
itemChildrenIndexesLookup: {
|
|
89
|
+
[parentItemId: string]: {
|
|
90
|
+
[itemId: string]: number;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
loading: boolean;
|
|
94
|
+
error: Error | null;
|
|
95
|
+
}) => {
|
|
96
|
+
[itemId: string]: import("../..").TreeViewItemMeta;
|
|
97
|
+
};
|
|
98
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
99
|
+
disabledItemsFocusable: boolean;
|
|
100
|
+
itemModelLookup: {
|
|
101
|
+
[itemId: string]: import("../../..").TreeViewBaseItem<import("../../..").TreeViewDefaultItemModelProperties>;
|
|
102
|
+
};
|
|
103
|
+
itemMetaLookup: {
|
|
104
|
+
[itemId: string]: import("../..").TreeViewItemMeta;
|
|
105
|
+
};
|
|
106
|
+
itemOrderedChildrenIdsLookup: {
|
|
107
|
+
[parentItemId: string]: string[];
|
|
108
|
+
};
|
|
109
|
+
itemChildrenIndexesLookup: {
|
|
110
|
+
[parentItemId: string]: {
|
|
111
|
+
[itemId: string]: number;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
loading: boolean;
|
|
115
|
+
error: Error | null;
|
|
116
|
+
}) => {
|
|
117
|
+
[itemId: string]: import("../..").TreeViewItemMeta;
|
|
118
|
+
}) & {
|
|
119
|
+
clearCache: () => void;
|
|
120
|
+
resultsCount: () => number;
|
|
121
|
+
resetResultsCount: () => void;
|
|
122
|
+
};
|
|
123
|
+
lastResult: () => {
|
|
124
|
+
[itemId: string]: import("../..").TreeViewItemMeta;
|
|
125
|
+
};
|
|
126
|
+
dependencies: [TreeViewRootSelector<import("../useTreeViewItems").UseTreeViewItemsSignature>];
|
|
127
|
+
recomputations: () => number;
|
|
128
|
+
resetRecomputations: () => void;
|
|
129
|
+
dependencyRecomputations: () => number;
|
|
130
|
+
resetDependencyRecomputations: () => void;
|
|
131
|
+
} & {
|
|
132
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
133
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
134
|
+
}, (_: any, itemId: string | null) => string | null];
|
|
135
|
+
recomputations: () => number;
|
|
136
|
+
resetRecomputations: () => void;
|
|
137
|
+
dependencyRecomputations: () => number;
|
|
138
|
+
resetDependencyRecomputations: () => void;
|
|
139
|
+
} & {
|
|
140
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
141
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
142
|
+
}];
|
|
143
|
+
recomputations: () => number;
|
|
144
|
+
resetRecomputations: () => void;
|
|
145
|
+
dependencyRecomputations: () => number;
|
|
146
|
+
resetDependencyRecomputations: () => void;
|
|
147
|
+
} & {
|
|
148
|
+
argsMemoize: typeof import("reselect").weakMapMemoize;
|
|
149
|
+
memoize: typeof import("reselect").weakMapMemoize;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Get the slot that triggers the item's expansion when clicked.
|
|
153
|
+
* @param {TreeViewState<[UseTreeViewExpansionSignature]>} state The state of the tree view.
|
|
154
|
+
* @returns {'content' | 'iconContainer'} The slot that triggers the item's expansion when clicked. Is `null` if the item is not expandable.
|
|
155
|
+
*/
|
|
156
|
+
export declare const selectorItemExpansionTrigger: ((state: import("../../corePlugins/useTreeViewId/useTreeViewId.types").UseTreeViewIdState & import("./useTreeViewExpansion.types").UseTreeViewExpansionState & Partial<{}> & {
|
|
157
|
+
cacheKey: import("../../models").TreeViewStateCacheKey;
|
|
158
|
+
}) => "content" | "iconContainer") & {
|
|
159
|
+
clearCache: () => void;
|
|
160
|
+
resultsCount: () => number;
|
|
161
|
+
resetResultsCount: () => void;
|
|
162
|
+
} & {
|
|
163
|
+
resultFunc: (resultFuncArgs_0: {
|
|
164
|
+
expandedItemsMap: Map<string, true>;
|
|
165
|
+
expansionTrigger: "content" | "iconContainer";
|
|
166
|
+
}) => "content" | "iconContainer";
|
|
167
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
168
|
+
expandedItemsMap: Map<string, true>;
|
|
169
|
+
expansionTrigger: "content" | "iconContainer";
|
|
170
|
+
}) => "content" | "iconContainer") & {
|
|
171
|
+
clearCache: () => void;
|
|
172
|
+
resultsCount: () => number;
|
|
173
|
+
resetResultsCount: () => void;
|
|
174
|
+
};
|
|
175
|
+
lastResult: () => "content" | "iconContainer";
|
|
176
|
+
dependencies: [TreeViewRootSelector<UseTreeViewExpansionSignature>];
|
|
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
|
+
};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { DefaultizedProps } from '@mui/x-internals/types';
|
|
3
|
+
import { TreeViewPluginSignature } from "../../models/index.js";
|
|
4
|
+
import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
|
|
5
|
+
import { TreeViewItemId } from "../../../models/index.js";
|
|
6
|
+
import { UseTreeViewLabelSignature } from "../useTreeViewLabel/index.js";
|
|
7
|
+
export interface UseTreeViewExpansionPublicAPI {
|
|
8
|
+
/**
|
|
9
|
+
* Change the expansion status of a given item.
|
|
10
|
+
* @param {object} parameters The parameters of the method.
|
|
11
|
+
* @param {string} parameters.itemId The id of the item to expand of collapse.
|
|
12
|
+
* @param {React.SyntheticEvent} parameters.event The DOM event that triggered the change.
|
|
13
|
+
* @param {boolean} parameters.shouldBeExpanded If `true` the item will be expanded. If `false` the item will be collapsed. If not defined, the item's expansion status will be the toggled.
|
|
14
|
+
*/
|
|
15
|
+
setItemExpansion: (parameters: {
|
|
16
|
+
itemId: string;
|
|
17
|
+
event?: React.SyntheticEvent;
|
|
18
|
+
shouldBeExpanded?: boolean;
|
|
19
|
+
}) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface UseTreeViewExpansionInstance extends UseTreeViewExpansionPublicAPI {
|
|
22
|
+
/**
|
|
23
|
+
* Expand all the siblings (i.e.: the items that have the same parent) of a given item.
|
|
24
|
+
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
25
|
+
* @param {TreeViewItemId} itemId The id of the item whose siblings will be expanded.
|
|
26
|
+
*/
|
|
27
|
+
expandAllSiblings: (event: React.KeyboardEvent, itemId: TreeViewItemId) => void;
|
|
28
|
+
/**
|
|
29
|
+
* APply the new expansion status of a given item.
|
|
30
|
+
* Is used by the `setItemExpansion` method and by the `useTreeViewLazyLoading` plugin.
|
|
31
|
+
* Unlike `setItemExpansion`, this method does not trigger the lazy loading.
|
|
32
|
+
* @param {object} parameters The parameters of the method.
|
|
33
|
+
* @param {string} parameters.itemId The id of the item to expand of collapse.
|
|
34
|
+
* @param {React.SyntheticEvent | null} parameters.event The DOM event that triggered the change.
|
|
35
|
+
* @param {boolean} parameters.shouldBeExpanded If `true` the item will be expanded. If `false` the item will be collapsed.
|
|
36
|
+
*/
|
|
37
|
+
applyItemExpansion: (parameters: {
|
|
38
|
+
itemId: string;
|
|
39
|
+
event: React.SyntheticEvent | null;
|
|
40
|
+
shouldBeExpanded: boolean;
|
|
41
|
+
}) => void;
|
|
42
|
+
}
|
|
43
|
+
export interface UseTreeViewExpansionParameters {
|
|
44
|
+
/**
|
|
45
|
+
* Expanded item ids.
|
|
46
|
+
* Used when the item's expansion is controlled.
|
|
47
|
+
*/
|
|
48
|
+
expandedItems?: string[];
|
|
49
|
+
/**
|
|
50
|
+
* Expanded item ids.
|
|
51
|
+
* Used when the item's expansion is not controlled.
|
|
52
|
+
* @default []
|
|
53
|
+
*/
|
|
54
|
+
defaultExpandedItems?: string[];
|
|
55
|
+
/**
|
|
56
|
+
* Callback fired when Tree Items are expanded/collapsed.
|
|
57
|
+
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
|
|
58
|
+
* @param {array} itemIds The ids of the expanded items.
|
|
59
|
+
*/
|
|
60
|
+
onExpandedItemsChange?: (event: React.SyntheticEvent | null, itemIds: string[]) => void;
|
|
61
|
+
/**
|
|
62
|
+
* Callback fired when a Tree Item is expanded or collapsed.
|
|
63
|
+
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
|
|
64
|
+
* @param {array} itemId The itemId of the modified item.
|
|
65
|
+
* @param {array} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
|
|
66
|
+
*/
|
|
67
|
+
onItemExpansionToggle?: (event: React.SyntheticEvent | null, itemId: string, isExpanded: boolean) => void;
|
|
68
|
+
/**
|
|
69
|
+
* The slot that triggers the item's expansion when clicked.
|
|
70
|
+
* @default 'content'
|
|
71
|
+
*/
|
|
72
|
+
expansionTrigger?: 'content' | 'iconContainer';
|
|
73
|
+
}
|
|
74
|
+
export type UseTreeViewExpansionDefaultizedParameters = DefaultizedProps<UseTreeViewExpansionParameters, 'defaultExpandedItems'>;
|
|
75
|
+
export interface UseTreeViewExpansionState {
|
|
76
|
+
expansion: {
|
|
77
|
+
expandedItemsMap: Map<string, true>;
|
|
78
|
+
expansionTrigger: 'content' | 'iconContainer';
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
interface UseTreeViewExpansionEventLookup {
|
|
82
|
+
beforeItemToggleExpansion: {
|
|
83
|
+
params: {
|
|
84
|
+
isExpansionPrevented: boolean;
|
|
85
|
+
shouldBeExpanded: boolean;
|
|
86
|
+
event: React.SyntheticEvent | null;
|
|
87
|
+
itemId: TreeViewItemId;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export type UseTreeViewExpansionSignature = TreeViewPluginSignature<{
|
|
92
|
+
params: UseTreeViewExpansionParameters;
|
|
93
|
+
defaultizedParams: UseTreeViewExpansionDefaultizedParameters;
|
|
94
|
+
instance: UseTreeViewExpansionInstance;
|
|
95
|
+
publicAPI: UseTreeViewExpansionPublicAPI;
|
|
96
|
+
modelNames: 'expandedItems';
|
|
97
|
+
state: UseTreeViewExpansionState;
|
|
98
|
+
dependencies: [UseTreeViewItemsSignature];
|
|
99
|
+
optionalDependencies: [UseTreeViewLabelSignature];
|
|
100
|
+
events: UseTreeViewExpansionEventLookup;
|
|
101
|
+
}>;
|
|
102
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TreeViewUsedDefaultizedParams } from "../../models/index.js";
|
|
2
|
+
import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
|
|
3
|
+
export declare const createExpandedItemsMap: (expandedItems: string[]) => Map<string, true>;
|
|
4
|
+
export declare const getExpansionTrigger: ({
|
|
5
|
+
isItemEditable,
|
|
6
|
+
expansionTrigger
|
|
7
|
+
}: Pick<TreeViewUsedDefaultizedParams<UseTreeViewExpansionSignature>, "isItemEditable" | "expansionTrigger">) => "content" | "iconContainer";
|