@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.
- package/CHANGELOG.md +388 -96
- package/RichTreeView/RichTreeView.js +12 -8
- package/RichTreeView/RichTreeView.plugins.d.ts +3 -6
- package/RichTreeView/RichTreeView.plugins.js +1 -2
- package/RichTreeView/RichTreeView.types.d.ts +4 -3
- package/RichTreeView/index.d.ts +1 -1
- package/SimpleTreeView/SimpleTreeView.js +13 -10
- package/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
- package/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
- package/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
- package/TreeItem/TreeItem.js +5 -12
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -1
- package/TreeItemIcon/TreeItemIcon.js +15 -11
- package/TreeItemLabelInput/TreeItemLabelInput.js +1 -2
- package/esm/RichTreeView/RichTreeView.js +11 -7
- package/esm/RichTreeView/RichTreeView.plugins.d.ts +3 -6
- package/esm/RichTreeView/RichTreeView.plugins.js +1 -2
- package/esm/RichTreeView/RichTreeView.types.d.ts +4 -3
- package/esm/RichTreeView/index.d.ts +1 -1
- package/esm/SimpleTreeView/SimpleTreeView.js +12 -9
- package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
- package/esm/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
- package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
- package/esm/TreeItem/TreeItem.js +5 -12
- package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -1
- package/esm/TreeItemIcon/TreeItemIcon.js +15 -11
- package/esm/TreeItemLabelInput/TreeItemLabelInput.js +1 -2
- package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
- package/esm/internals/TreeViewProvider/TreeViewProvider.js +14 -4
- package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
- package/esm/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
- package/esm/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
- package/esm/internals/hooks/useSelector.js +1 -4
- package/esm/internals/index.d.ts +2 -3
- package/esm/internals/index.js +1 -1
- package/esm/internals/models/events.d.ts +2 -6
- package/esm/internals/models/plugin.d.ts +63 -38
- package/esm/internals/models/treeView.d.ts +0 -5
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -21
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +21 -1
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -7
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +3 -30
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +31 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +12 -2
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +39 -40
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +36 -1
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +5 -24
- package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
- package/esm/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
- package/esm/internals/useTreeView/useTreeView.d.ts +10 -1
- package/esm/internals/useTreeView/useTreeView.js +22 -25
- package/esm/internals/useTreeView/useTreeView.types.d.ts +1 -3
- package/esm/internals/useTreeView/useTreeViewBuildContext.js +9 -11
- package/esm/internals/utils/models.d.ts +7 -0
- package/esm/internals/utils/models.js +23 -0
- package/esm/internals/utils/selectors.d.ts +1 -1
- package/esm/utils/cache.d.ts +1 -1
- package/esm/utils/cache.js +1 -1
- package/hooks/useTreeItemUtils/useTreeItemUtils.js +1 -1
- package/index.js +1 -1
- package/internals/TreeViewProvider/TreeViewContext.d.ts +1 -1
- package/internals/TreeViewProvider/TreeViewProvider.js +14 -4
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +6 -5
- package/internals/TreeViewProvider/TreeViewStyleContext.d.ts +23 -0
- package/internals/TreeViewProvider/TreeViewStyleContext.js +3 -1
- package/internals/hooks/useSelector.js +1 -5
- package/internals/index.d.ts +2 -3
- package/internals/index.js +13 -7
- package/internals/models/events.d.ts +2 -6
- package/internals/models/plugin.d.ts +63 -38
- package/internals/models/treeView.d.ts +0 -5
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +33 -19
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +144 -10
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +22 -2
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +1 -9
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +2 -30
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +476 -28
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +21 -1
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -1
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +90 -4
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +12 -25
- package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +12 -1
- package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +34 -2
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +3 -6
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +43 -9
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +13 -3
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +1 -1
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +2 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +37 -38
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +186 -30
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +37 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +3 -6
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -7
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +6 -26
- package/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -2
- package/internals/useTreeView/extractPluginParamsFromProps.js +1 -5
- package/internals/useTreeView/useTreeView.d.ts +10 -1
- package/internals/useTreeView/useTreeView.js +22 -25
- package/internals/useTreeView/useTreeView.types.d.ts +1 -3
- package/internals/useTreeView/useTreeViewBuildContext.js +9 -11
- package/internals/utils/models.d.ts +7 -0
- package/internals/utils/models.js +30 -0
- package/internals/utils/selectors.d.ts +1 -1
- package/package.json +4 -12
- package/utils/cache.d.ts +1 -1
- package/utils/cache.js +1 -1
- package/esm/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewIcons/index.js +0 -1
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
- package/esm/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
- package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
- package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
- package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
- package/esm/internals/useTreeView/useTreeViewModels.d.ts +0 -7
- package/esm/internals/useTreeView/useTreeViewModels.js +0 -62
- package/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
- package/internals/plugins/useTreeViewIcons/index.js +0 -12
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -32
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
- package/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
- package/internals/plugins/useTreeViewItemCustomization/index.js +0 -12
- package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
- package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -32
- package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
- package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -5
- package/internals/useTreeView/useTreeViewModels.d.ts +0 -7
- package/internals/useTreeView/useTreeViewModels.js +0 -71
- package/modern/RichTreeView/RichTreeView.d.ts +0 -18
- package/modern/RichTreeView/RichTreeView.js +0 -322
- package/modern/RichTreeView/RichTreeView.plugins.d.ts +0 -13
- package/modern/RichTreeView/RichTreeView.plugins.js +0 -10
- package/modern/RichTreeView/RichTreeView.types.d.ts +0 -52
- package/modern/RichTreeView/RichTreeView.types.js +0 -1
- package/modern/RichTreeView/index.d.ts +0 -5
- package/modern/RichTreeView/index.js +0 -3
- package/modern/RichTreeView/richTreeViewClasses.d.ts +0 -5
- package/modern/RichTreeView/richTreeViewClasses.js +0 -6
- package/modern/SimpleTreeView/SimpleTreeView.d.ts +0 -20
- package/modern/SimpleTreeView/SimpleTreeView.js +0 -265
- package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -12
- package/modern/SimpleTreeView/SimpleTreeView.plugins.js +0 -10
- package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +0 -51
- package/modern/SimpleTreeView/SimpleTreeView.types.js +0 -1
- package/modern/SimpleTreeView/index.d.ts +0 -3
- package/modern/SimpleTreeView/index.js +0 -3
- package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +0 -5
- package/modern/SimpleTreeView/simpleTreeViewClasses.js +0 -6
- package/modern/TreeItem/TreeItem.d.ts +0 -33
- package/modern/TreeItem/TreeItem.js +0 -408
- package/modern/TreeItem/TreeItem.types.d.ts +0 -107
- package/modern/TreeItem/TreeItem.types.js +0 -1
- package/modern/TreeItem/index.d.ts +0 -4
- package/modern/TreeItem/index.js +0 -2
- package/modern/TreeItem/treeItemClasses.d.ts +0 -55
- package/modern/TreeItem/treeItemClasses.js +0 -8
- package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +0 -7
- package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +0 -74
- package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +0 -6
- package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -1
- package/modern/TreeItemDragAndDropOverlay/index.d.ts +0 -2
- package/modern/TreeItemDragAndDropOverlay/index.js +0 -1
- package/modern/TreeItemIcon/TreeItemIcon.d.ts +0 -7
- package/modern/TreeItemIcon/TreeItemIcon.js +0 -74
- package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +0 -40
- package/modern/TreeItemIcon/TreeItemIcon.types.js +0 -1
- package/modern/TreeItemIcon/index.d.ts +0 -2
- package/modern/TreeItemIcon/index.js +0 -1
- package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +0 -5
- package/modern/TreeItemLabelInput/TreeItemLabelInput.js +0 -24
- package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +0 -14
- package/modern/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -1
- package/modern/TreeItemLabelInput/index.d.ts +0 -2
- package/modern/TreeItemLabelInput/index.js +0 -1
- package/modern/TreeItemProvider/TreeItemProvider.d.ts +0 -7
- package/modern/TreeItemProvider/TreeItemProvider.js +0 -45
- package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +0 -7
- package/modern/TreeItemProvider/TreeItemProvider.types.js +0 -1
- package/modern/TreeItemProvider/index.d.ts +0 -2
- package/modern/TreeItemProvider/index.js +0 -1
- package/modern/hooks/index.d.ts +0 -3
- package/modern/hooks/index.js +0 -3
- package/modern/hooks/useTreeItemModel.d.ts +0 -2
- package/modern/hooks/useTreeItemModel.js +0 -11
- package/modern/hooks/useTreeItemUtils/index.d.ts +0 -1
- package/modern/hooks/useTreeItemUtils/index.js +0 -1
- package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +0 -42
- package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +0 -165
- package/modern/hooks/useTreeViewApiRef.d.ts +0 -7
- package/modern/hooks/useTreeViewApiRef.js +0 -7
- package/modern/icons/icons.d.ts +0 -6
- package/modern/icons/icons.js +0 -9
- package/modern/icons/index.d.ts +0 -1
- package/modern/icons/index.js +0 -1
- package/modern/index.d.ts +0 -12
- package/modern/index.js +0 -22
- package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +0 -5
- package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -5
- package/modern/internals/TreeViewItemDepthContext/index.d.ts +0 -1
- package/modern/internals/TreeViewItemDepthContext/index.js +0 -1
- package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +0 -17
- package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +0 -49
- package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +0 -8
- package/modern/internals/TreeViewProvider/TreeViewContext.js +0 -15
- package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +0 -9
- package/modern/internals/TreeViewProvider/TreeViewProvider.js +0 -32
- package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +0 -21
- package/modern/internals/TreeViewProvider/TreeViewProvider.types.js +0 -1
- package/modern/internals/TreeViewProvider/TreeViewStyleContext.d.ts +0 -33
- package/modern/internals/TreeViewProvider/TreeViewStyleContext.js +0 -13
- package/modern/internals/TreeViewProvider/index.d.ts +0 -3
- package/modern/internals/TreeViewProvider/index.js +0 -2
- package/modern/internals/components/RichTreeViewItems.d.ts +0 -32
- package/modern/internals/components/RichTreeViewItems.js +0 -68
- package/modern/internals/corePlugins/corePlugins.d.ts +0 -9
- package/modern/internals/corePlugins/corePlugins.js +0 -8
- package/modern/internals/corePlugins/index.d.ts +0 -2
- package/modern/internals/corePlugins/index.js +0 -1
- package/modern/internals/corePlugins/useTreeViewId/index.d.ts +0 -2
- package/modern/internals/corePlugins/useTreeViewId/index.js +0 -1
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -39
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -36
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -1
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -29
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -1
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -1
- package/modern/internals/hooks/useInstanceEventHandler.d.ts +0 -15
- package/modern/internals/hooks/useInstanceEventHandler.js +0 -77
- package/modern/internals/hooks/useLazyRef.d.ts +0 -1
- package/modern/internals/hooks/useLazyRef.js +0 -1
- package/modern/internals/hooks/useOnMount.d.ts +0 -1
- package/modern/internals/hooks/useOnMount.js +0 -1
- package/modern/internals/hooks/useSelector.d.ts +0 -4
- package/modern/internals/hooks/useSelector.js +0 -9
- package/modern/internals/hooks/useTimeout.d.ts +0 -1
- package/modern/internals/hooks/useTimeout.js +0 -1
- package/modern/internals/index.d.ts +0 -34
- package/modern/internals/index.js +0 -24
- package/modern/internals/models/events.d.ts +0 -9
- package/modern/internals/models/events.js +0 -1
- package/modern/internals/models/helpers.d.ts +0 -7
- package/modern/internals/models/helpers.js +0 -1
- package/modern/internals/models/index.d.ts +0 -4
- package/modern/internals/models/index.js +0 -4
- package/modern/internals/models/itemPlugin.d.ts +0 -43
- package/modern/internals/models/itemPlugin.js +0 -1
- package/modern/internals/models/plugin.d.ts +0 -151
- package/modern/internals/models/plugin.js +0 -1
- package/modern/internals/models/treeView.d.ts +0 -32
- package/modern/internals/models/treeView.js +0 -1
- package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewExpansion/index.js +0 -1
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -134
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -184
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -24
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -102
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -7
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -19
- package/modern/internals/plugins/useTreeViewFocus/index.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewFocus/index.js +0 -1
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -135
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -182
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +0 -34
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
- package/modern/internals/plugins/useTreeViewIcons/index.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewIcons/index.js +0 -1
- package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +0 -24
- package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +0 -42
- package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -1
- package/modern/internals/plugins/useTreeViewItemCustomization/index.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewItemCustomization/index.js +0 -1
- package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +0 -24
- package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +0 -42
- package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +0 -1
- package/modern/internals/plugins/useTreeViewItems/index.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewItems/index.js +0 -2
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -325
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -1058
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -113
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -205
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -4
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -8
- package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewJSXItems/index.js +0 -1
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -183
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +0 -35
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -273
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -30
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
- package/modern/internals/plugins/useTreeViewLabel/index.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewLabel/index.js +0 -1
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +0 -72
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -73
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -68
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +0 -24
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -60
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
- package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -1
- package/modern/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -247
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -27
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -82
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
- package/modern/internals/plugins/useTreeViewSelection/index.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewSelection/index.js +0 -1
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +0 -2
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +0 -80
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -234
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -363
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -46
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -145
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -38
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -126
- package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +0 -22
- package/modern/internals/useTreeView/extractPluginParamsFromProps.js +0 -46
- package/modern/internals/useTreeView/index.d.ts +0 -1
- package/modern/internals/useTreeView/index.js +0 -1
- package/modern/internals/useTreeView/useTreeView.d.ts +0 -9
- package/modern/internals/useTreeView/useTreeView.js +0 -114
- package/modern/internals/useTreeView/useTreeView.types.d.ts +0 -23
- package/modern/internals/useTreeView/useTreeView.types.js +0 -1
- package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -18
- package/modern/internals/useTreeView/useTreeViewBuildContext.js +0 -101
- package/modern/internals/useTreeView/useTreeViewModels.d.ts +0 -7
- package/modern/internals/useTreeView/useTreeViewModels.js +0 -62
- package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
- package/modern/internals/useTreeView/useTreeViewPlugins.js +0 -0
- package/modern/internals/utils/TreeViewStore.d.ts +0 -12
- package/modern/internals/utils/TreeViewStore.js +0 -24
- package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
- package/modern/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
- package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
- package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -18
- package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
- package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
- package/modern/internals/utils/plugins.d.ts +0 -2
- package/modern/internals/utils/plugins.js +0 -4
- package/modern/internals/utils/publishTreeViewEvent.d.ts +0 -5
- package/modern/internals/utils/publishTreeViewEvent.js +0 -3
- package/modern/internals/utils/selectors.d.ts +0 -16
- package/modern/internals/utils/selectors.js +0 -46
- package/modern/internals/utils/tree.d.ts +0 -32
- package/modern/internals/utils/tree.js +0 -203
- package/modern/internals/utils/utils.d.ts +0 -2
- package/modern/internals/utils/utils.js +0 -17
- package/modern/internals/zero-styled/index.d.ts +0 -3
- package/modern/internals/zero-styled/index.js +0 -7
- package/modern/models/events.d.ts +0 -4
- package/modern/models/events.js +0 -1
- package/modern/models/index.d.ts +0 -3
- package/modern/models/index.js +0 -5
- package/modern/models/items.d.ts +0 -13
- package/modern/models/items.js +0 -1
- package/modern/package.json +0 -1
- package/modern/themeAugmentation/components.d.ts +0 -21
- package/modern/themeAugmentation/index.d.ts +0 -3
- package/modern/themeAugmentation/index.js +0 -0
- package/modern/themeAugmentation/overrides.d.ts +0 -16
- package/modern/themeAugmentation/props.d.ts +0 -14
- package/modern/useTreeItem/index.d.ts +0 -2
- package/modern/useTreeItem/index.js +0 -1
- package/modern/useTreeItem/useTreeItem.d.ts +0 -2
- package/modern/useTreeItem/useTreeItem.js +0 -282
- package/modern/useTreeItem/useTreeItem.types.d.ts +0 -201
- package/modern/useTreeItem/useTreeItem.types.js +0 -1
- package/modern/utils/cache.d.ts +0 -38
- package/modern/utils/cache.js +0 -31
- package/modern/utils/index.d.ts +0 -1
- package/modern/utils/index.js +0 -1
- package/tsconfig.build.tsbuildinfo +0 -1
|
@@ -3,16 +3,17 @@ import { Theme } from '@mui/material/styles';
|
|
|
3
3
|
import { SlotComponentProps } from '@mui/utils/types';
|
|
4
4
|
import { SxProps } from '@mui/system/styleFunctionSx';
|
|
5
5
|
import { SimpleTreeViewClasses } from "./simpleTreeViewClasses.js";
|
|
6
|
-
import { SimpleTreeViewPluginParameters,
|
|
6
|
+
import { SimpleTreeViewPluginParameters, SimpleTreeViewPluginSignatures } from "./SimpleTreeView.plugins.js";
|
|
7
7
|
import { TreeViewExperimentalFeatures, TreeViewPublicAPI } from "../internals/models/index.js";
|
|
8
|
-
|
|
8
|
+
import { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
|
|
9
|
+
export interface SimpleTreeViewSlots extends TreeViewSlots {
|
|
9
10
|
/**
|
|
10
11
|
* Element rendered at the root.
|
|
11
12
|
* @default SimpleTreeViewRoot
|
|
12
13
|
*/
|
|
13
14
|
root?: React.ElementType;
|
|
14
15
|
}
|
|
15
|
-
export interface SimpleTreeViewSlotProps extends
|
|
16
|
+
export interface SimpleTreeViewSlotProps extends TreeViewSlotProps {
|
|
16
17
|
root?: SlotComponentProps<'ul', {}, {}>;
|
|
17
18
|
}
|
|
18
19
|
export type SimpleTreeViewApiRef = React.RefObject<TreeViewPublicAPI<SimpleTreeViewPluginSignatures> | undefined>;
|
package/esm/TreeItem/TreeItem.js
CHANGED
|
@@ -27,8 +27,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
27
27
|
const useThemeProps = createUseThemeProps('MuiTreeItem');
|
|
28
28
|
export const TreeItemRoot = styled('li', {
|
|
29
29
|
name: 'MuiTreeItem',
|
|
30
|
-
slot: 'Root'
|
|
31
|
-
overridesResolver: (props, styles) => styles.root
|
|
30
|
+
slot: 'Root'
|
|
32
31
|
})({
|
|
33
32
|
listStyle: 'none',
|
|
34
33
|
margin: 0,
|
|
@@ -38,7 +37,6 @@ export const TreeItemRoot = styled('li', {
|
|
|
38
37
|
export const TreeItemContent = styled('div', {
|
|
39
38
|
name: 'MuiTreeItem',
|
|
40
39
|
slot: 'Content',
|
|
41
|
-
overridesResolver: (props, styles) => styles.content,
|
|
42
40
|
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'status'
|
|
43
41
|
})(({
|
|
44
42
|
theme
|
|
@@ -86,7 +84,6 @@ export const TreeItemContent = styled('div', {
|
|
|
86
84
|
export const TreeItemLabel = styled('div', {
|
|
87
85
|
name: 'MuiTreeItem',
|
|
88
86
|
slot: 'Label',
|
|
89
|
-
overridesResolver: (props, styles) => styles.label,
|
|
90
87
|
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'editable'
|
|
91
88
|
})(({
|
|
92
89
|
theme
|
|
@@ -110,8 +107,7 @@ export const TreeItemLabel = styled('div', {
|
|
|
110
107
|
}));
|
|
111
108
|
export const TreeItemIconContainer = styled('div', {
|
|
112
109
|
name: 'MuiTreeItem',
|
|
113
|
-
slot: 'IconContainer'
|
|
114
|
-
overridesResolver: (props, styles) => styles.iconContainer
|
|
110
|
+
slot: 'IconContainer'
|
|
115
111
|
})({
|
|
116
112
|
width: 16,
|
|
117
113
|
display: 'flex',
|
|
@@ -132,8 +128,7 @@ export const TreeItemGroupTransition = styled(Collapse, {
|
|
|
132
128
|
});
|
|
133
129
|
export const TreeItemErrorContainer = styled('div', {
|
|
134
130
|
name: 'MuiTreeItem',
|
|
135
|
-
slot: 'ErrorIcon'
|
|
136
|
-
overridesResolver: (props, styles) => styles.errorIcon
|
|
131
|
+
slot: 'ErrorIcon'
|
|
137
132
|
})({
|
|
138
133
|
position: 'absolute',
|
|
139
134
|
right: -3,
|
|
@@ -144,8 +139,7 @@ export const TreeItemErrorContainer = styled('div', {
|
|
|
144
139
|
});
|
|
145
140
|
export const TreeItemLoadingContainer = styled(CircularProgress, {
|
|
146
141
|
name: 'MuiTreeItem',
|
|
147
|
-
slot: 'LoadingIcon'
|
|
148
|
-
overridesResolver: (props, styles) => styles.loadingIcon
|
|
142
|
+
slot: 'LoadingIcon'
|
|
149
143
|
})({
|
|
150
144
|
color: 'text.primary'
|
|
151
145
|
});
|
|
@@ -162,8 +156,7 @@ export const TreeItemCheckbox = styled(/*#__PURE__*/React.forwardRef((props, ref
|
|
|
162
156
|
}));
|
|
163
157
|
}), {
|
|
164
158
|
name: 'MuiTreeItem',
|
|
165
|
-
slot: 'Checkbox'
|
|
166
|
-
overridesResolver: (props, styles) => styles.checkbox
|
|
159
|
+
slot: 'Checkbox'
|
|
167
160
|
})({
|
|
168
161
|
padding: 0
|
|
169
162
|
});
|
|
@@ -10,7 +10,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
10
10
|
const TreeItemDragAndDropOverlayRoot = styled('div', {
|
|
11
11
|
name: 'MuiTreeItemDragAndDropOverlay',
|
|
12
12
|
slot: 'Root',
|
|
13
|
-
overridesResolver: (props, styles) => styles.root,
|
|
14
13
|
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'action'
|
|
15
14
|
})(({
|
|
16
15
|
theme
|
|
@@ -5,21 +5,25 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import resolveComponentProps from '@mui/utils/resolveComponentProps';
|
|
7
7
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
8
|
-
import {
|
|
8
|
+
import { useTreeViewStyleContext } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
|
|
9
9
|
import { TreeViewCollapseIcon, TreeViewExpandIcon } from "../icons/index.js";
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
function TreeItemIcon(props) {
|
|
12
12
|
const {
|
|
13
|
-
slots,
|
|
14
|
-
slotProps,
|
|
13
|
+
slots: slotsFromTreeItem,
|
|
14
|
+
slotProps: slotPropsFromTreeItem,
|
|
15
15
|
status
|
|
16
16
|
} = props;
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
const {
|
|
18
|
+
slots: slotsFromTreeView,
|
|
19
|
+
slotProps: slotPropsFromTreeView
|
|
20
|
+
} = useTreeViewStyleContext();
|
|
21
|
+
const slots = {
|
|
22
|
+
collapseIcon: slotsFromTreeItem?.collapseIcon ?? slotsFromTreeView.collapseIcon ?? TreeViewCollapseIcon,
|
|
23
|
+
expandIcon: slotsFromTreeItem?.expandIcon ?? slotsFromTreeView.expandIcon ?? TreeViewExpandIcon,
|
|
24
|
+
endIcon: slotsFromTreeItem?.endIcon ?? slotsFromTreeView.endIcon,
|
|
25
|
+
icon: slotsFromTreeItem?.icon
|
|
26
|
+
};
|
|
23
27
|
let iconName;
|
|
24
28
|
if (slots?.icon) {
|
|
25
29
|
iconName = 'icon';
|
|
@@ -32,10 +36,10 @@ function TreeItemIcon(props) {
|
|
|
32
36
|
} else {
|
|
33
37
|
iconName = 'endIcon';
|
|
34
38
|
}
|
|
35
|
-
const Icon = slots
|
|
39
|
+
const Icon = slots[iconName];
|
|
36
40
|
const iconProps = useSlotProps({
|
|
37
41
|
elementType: Icon,
|
|
38
|
-
externalSlotProps: tempOwnerState => _extends({}, resolveComponentProps(
|
|
42
|
+
externalSlotProps: tempOwnerState => _extends({}, resolveComponentProps(slotPropsFromTreeView[iconName], tempOwnerState), resolveComponentProps(slotPropsFromTreeItem?.[iconName], tempOwnerState)),
|
|
39
43
|
// TODO: Add proper ownerState
|
|
40
44
|
ownerState: {}
|
|
41
45
|
});
|
|
@@ -6,8 +6,7 @@ import { styled } from "../internals/zero-styled/index.js";
|
|
|
6
6
|
*/
|
|
7
7
|
const TreeItemLabelInput = styled('input', {
|
|
8
8
|
name: 'MuiTreeItem',
|
|
9
|
-
slot: 'LabelInput'
|
|
10
|
-
overridesResolver: (props, styles) => styles.labelInput
|
|
9
|
+
slot: 'LabelInput'
|
|
11
10
|
})(({
|
|
12
11
|
theme
|
|
13
12
|
}) => _extends({}, theme.typography.body1, {
|
|
@@ -79,7 +79,7 @@ export const useTreeItemUtils = ({
|
|
|
79
79
|
if (status.disabled) {
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
|
-
if (!status.focused) {
|
|
82
|
+
if (!status.focused && !status.editing) {
|
|
83
83
|
instance.focusItem(event, itemId);
|
|
84
84
|
}
|
|
85
85
|
const multiple = isMultiSelectEnabled && (event.shiftKey || event.ctrlKey || event.metaKey);
|
package/esm/index.js
CHANGED
|
@@ -4,5 +4,5 @@ import { TreeViewContextValue } from "./TreeViewProvider.types.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* @ignore - internal component.
|
|
6
6
|
*/
|
|
7
|
-
export declare const TreeViewContext: React.Context<TreeViewContextValue<any> | null>;
|
|
7
|
+
export declare const TreeViewContext: React.Context<TreeViewContextValue<any, []> | null>;
|
|
8
8
|
export declare const useTreeViewContext: <TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []>() => TreeViewContextValue<TSignatures, TOptionalSignatures>;
|
|
@@ -13,13 +13,23 @@ export function TreeViewProvider(props) {
|
|
|
13
13
|
const {
|
|
14
14
|
contextValue,
|
|
15
15
|
classes = EMPTY_OBJECT,
|
|
16
|
+
slots = EMPTY_OBJECT,
|
|
17
|
+
slotProps = EMPTY_OBJECT,
|
|
16
18
|
children
|
|
17
19
|
} = props;
|
|
18
|
-
|
|
19
|
-
// TODO: Add the icons to this context and drop useTreeViewIcons
|
|
20
20
|
const styleContextValue = React.useMemo(() => ({
|
|
21
|
-
classes
|
|
22
|
-
|
|
21
|
+
classes,
|
|
22
|
+
slots: {
|
|
23
|
+
collapseIcon: slots.collapseIcon,
|
|
24
|
+
expandIcon: slots.expandIcon,
|
|
25
|
+
endIcon: slots.endIcon
|
|
26
|
+
},
|
|
27
|
+
slotProps: {
|
|
28
|
+
collapseIcon: slotProps.collapseIcon,
|
|
29
|
+
expandIcon: slotProps.expandIcon,
|
|
30
|
+
endIcon: slotProps.endIcon
|
|
31
|
+
}
|
|
32
|
+
}), [classes, slots.collapseIcon, slots.expandIcon, slots.endIcon, slotProps.collapseIcon, slotProps.expandIcon, slotProps.endIcon]);
|
|
23
33
|
return /*#__PURE__*/_jsx(TreeViewContext.Provider, {
|
|
24
34
|
value: contextValue,
|
|
25
35
|
children: /*#__PURE__*/_jsx(TreeViewStyleContext.Provider, {
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { TreeItemWrapper, TreeRootWrapper, TreeViewAnyPluginSignature, TreeViewInstance, TreeViewItemPluginResponse, TreeViewPublicAPI } from "../models/index.js";
|
|
3
3
|
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
4
|
-
import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
|
|
5
4
|
import type { TreeItemProps } from '../../TreeItem/TreeItem.types';
|
|
6
|
-
import { TreeViewClasses } from "./TreeViewStyleContext.js";
|
|
5
|
+
import { TreeViewClasses, TreeViewSlotProps, TreeViewSlots } from "./TreeViewStyleContext.js";
|
|
7
6
|
export type TreeViewItemPluginsRunner = (props: TreeItemProps) => Required<TreeViewItemPluginResponse>;
|
|
8
|
-
export
|
|
7
|
+
export interface TreeViewContextValue<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> {
|
|
9
8
|
instance: TreeViewInstance<TSignatures, TOptionalSignatures>;
|
|
10
9
|
publicAPI: TreeViewPublicAPI<TSignatures, TOptionalSignatures>;
|
|
11
10
|
store: TreeViewStore<TSignatures>;
|
|
@@ -13,9 +12,11 @@ export type TreeViewContextValue<TSignatures extends readonly TreeViewAnyPluginS
|
|
|
13
12
|
wrapItem: TreeItemWrapper<TSignatures>;
|
|
14
13
|
wrapRoot: TreeRootWrapper;
|
|
15
14
|
runItemPlugins: TreeViewItemPluginsRunner;
|
|
16
|
-
}
|
|
15
|
+
}
|
|
17
16
|
export interface TreeViewProviderProps<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
|
|
18
17
|
contextValue: TreeViewContextValue<TSignatures>;
|
|
19
18
|
children: React.ReactNode;
|
|
20
19
|
classes: Partial<TreeViewClasses> | undefined;
|
|
20
|
+
slots: TreeViewSlots | undefined;
|
|
21
|
+
slotProps: TreeViewSlotProps | undefined;
|
|
21
22
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SlotComponentProps } from '@mui/utils/types';
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
export interface TreeViewClasses {
|
|
3
4
|
/** Styles applied to the root element. */
|
|
@@ -23,8 +24,30 @@ export interface TreeViewClasses {
|
|
|
23
24
|
/** Styles applied to the item's loading icon element */
|
|
24
25
|
itemLoadingIcon: string;
|
|
25
26
|
}
|
|
27
|
+
export interface TreeViewSlots {
|
|
28
|
+
/**
|
|
29
|
+
* The default icon used to collapse the item.
|
|
30
|
+
*/
|
|
31
|
+
collapseIcon?: React.ElementType;
|
|
32
|
+
/**
|
|
33
|
+
* The default icon used to expand the item.
|
|
34
|
+
*/
|
|
35
|
+
expandIcon?: React.ElementType;
|
|
36
|
+
/**
|
|
37
|
+
* The default icon displayed next to an end item.
|
|
38
|
+
* This is applied to all Tree Items and can be overridden by the TreeItem `icon` slot prop.
|
|
39
|
+
*/
|
|
40
|
+
endIcon?: React.ElementType;
|
|
41
|
+
}
|
|
42
|
+
export interface TreeViewSlotProps {
|
|
43
|
+
collapseIcon?: SlotComponentProps<'svg', {}, {}>;
|
|
44
|
+
expandIcon?: SlotComponentProps<'svg', {}, {}>;
|
|
45
|
+
endIcon?: SlotComponentProps<'svg', {}, {}>;
|
|
46
|
+
}
|
|
26
47
|
export interface TreeViewStyleContextValue {
|
|
27
48
|
classes: Partial<TreeViewClasses>;
|
|
49
|
+
slots: TreeViewSlots;
|
|
50
|
+
slotProps: TreeViewSlotProps;
|
|
28
51
|
}
|
|
29
52
|
/**
|
|
30
53
|
* @ignore - internal component.
|
|
@@ -3,7 +3,9 @@ import * as React from 'react';
|
|
|
3
3
|
* @ignore - internal component.
|
|
4
4
|
*/
|
|
5
5
|
export const TreeViewStyleContext = /*#__PURE__*/React.createContext({
|
|
6
|
-
classes: {}
|
|
6
|
+
classes: {},
|
|
7
|
+
slots: {},
|
|
8
|
+
slotProps: {}
|
|
7
9
|
});
|
|
8
10
|
if (process.env.NODE_ENV !== 'production') {
|
|
9
11
|
TreeViewStyleContext.displayName = 'TreeViewStyleContext';
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
// See https://github.com/facebook/react/issues/30698
|
|
3
|
-
// eslint-disable-next-line import/extensions
|
|
4
|
-
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector.js';
|
|
1
|
+
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector';
|
|
5
2
|
const defaultCompare = Object.is;
|
|
6
3
|
export const useSelector = (store, selector, args = undefined, equals = defaultCompare) => {
|
|
7
4
|
const selectorWithArgs = state => selector(state, args);
|
package/esm/internals/index.d.ts
CHANGED
|
@@ -14,12 +14,11 @@ export { useTreeViewFocus } from "./plugins/useTreeViewFocus/index.js";
|
|
|
14
14
|
export type { UseTreeViewFocusSignature, UseTreeViewFocusParameters } from './plugins/useTreeViewFocus';
|
|
15
15
|
export { useTreeViewKeyboardNavigation } from "./plugins/useTreeViewKeyboardNavigation/index.js";
|
|
16
16
|
export type { UseTreeViewKeyboardNavigationSignature } from './plugins/useTreeViewKeyboardNavigation';
|
|
17
|
-
export { useTreeViewIcons } from "./plugins/useTreeViewIcons/index.js";
|
|
18
|
-
export type { UseTreeViewIconsSignature, UseTreeViewIconsParameters } from './plugins/useTreeViewIcons';
|
|
19
17
|
export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./plugins/useTreeViewItems/index.js";
|
|
20
18
|
export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
|
|
21
19
|
export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsState } from './plugins/useTreeViewItems';
|
|
22
20
|
export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
|
|
21
|
+
export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited as selectorIsAnItemEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
|
|
23
22
|
export type { UseTreeViewLabelSignature, UseTreeViewLabelParameters } from './plugins/useTreeViewLabel';
|
|
24
23
|
export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
|
|
25
24
|
export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
|
|
@@ -31,4 +30,4 @@ export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters } from
|
|
|
31
30
|
export { createSelector } from "./utils/selectors.js";
|
|
32
31
|
export { isTargetInDescendants } from "./utils/tree.js";
|
|
33
32
|
export { TreeViewStore } from "./utils/TreeViewStore.js";
|
|
34
|
-
export type { TreeViewClasses } from './TreeViewProvider/TreeViewStyleContext';
|
|
33
|
+
export type { TreeViewClasses, TreeViewSlots, TreeViewSlotProps } from './TreeViewProvider/TreeViewStyleContext';
|
package/esm/internals/index.js
CHANGED
|
@@ -11,10 +11,10 @@ export { useTreeViewExpansion } from "./plugins/useTreeViewExpansion/index.js";
|
|
|
11
11
|
export { useTreeViewSelection } from "./plugins/useTreeViewSelection/index.js";
|
|
12
12
|
export { useTreeViewFocus } from "./plugins/useTreeViewFocus/index.js";
|
|
13
13
|
export { useTreeViewKeyboardNavigation } from "./plugins/useTreeViewKeyboardNavigation/index.js";
|
|
14
|
-
export { useTreeViewIcons } from "./plugins/useTreeViewIcons/index.js";
|
|
15
14
|
export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./plugins/useTreeViewItems/index.js";
|
|
16
15
|
export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
|
|
17
16
|
export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
|
|
17
|
+
export { selectorIsItemBeingEdited, selectorIsAnyItemBeingEdited as selectorIsAnItemEdited } from "./plugins/useTreeViewLabel/useTreeViewLabel.selectors.js";
|
|
18
18
|
export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
|
|
19
19
|
export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
|
|
20
20
|
export { selectorDataSourceState, selectorGetTreeItemError } from "./plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js";
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { MuiEvent } from '@mui/x-internals/types';
|
|
2
2
|
export interface TreeViewEventLookupElement {
|
|
3
3
|
params: object;
|
|
4
4
|
}
|
|
5
|
-
export type TreeViewEventListener<E extends TreeViewEventLookupElement> = (params: E['params'], event: MuiEvent<{}>) => void;
|
|
6
|
-
export type MuiBaseEvent = React.SyntheticEvent<HTMLElement> | DocumentEventMap[keyof DocumentEventMap] | {};
|
|
7
|
-
export type MuiEvent<E extends MuiBaseEvent = MuiBaseEvent> = E & {
|
|
8
|
-
defaultMuiPrevented?: boolean;
|
|
9
|
-
};
|
|
5
|
+
export type TreeViewEventListener<E extends TreeViewEventLookupElement> = (params: E['params'], event: MuiEvent<{}>) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
-
import { TreeViewExperimentalFeatures, TreeViewInstance
|
|
3
|
+
import { TreeViewExperimentalFeatures, TreeViewInstance } from "./treeView.js";
|
|
4
4
|
import type { MergeSignaturesProperty, OptionalIfEmpty } from './helpers';
|
|
5
5
|
import { TreeViewEventLookupElement } from "./events.js";
|
|
6
6
|
import type { TreeViewCorePluginSignatures } from '../corePlugins';
|
|
@@ -8,22 +8,31 @@ import { TreeViewItemPlugin } from "./itemPlugin.js";
|
|
|
8
8
|
import { TreeViewItemId } from "../../models/index.js";
|
|
9
9
|
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
10
10
|
export interface TreeViewPluginOptions<TSignature extends TreeViewAnyPluginSignature> {
|
|
11
|
+
/**
|
|
12
|
+
* An imperative API available for internal use. Used to access methods from other plugins.
|
|
13
|
+
*/
|
|
11
14
|
instance: TreeViewUsedInstance<TSignature>;
|
|
15
|
+
/**
|
|
16
|
+
* The Tree View parameters after being processed with the default values.
|
|
17
|
+
*/
|
|
12
18
|
params: TreeViewUsedDefaultizedParams<TSignature>;
|
|
13
|
-
slots: TSignature['slots'];
|
|
14
|
-
slotProps: TSignature['slotProps'];
|
|
15
19
|
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
16
|
-
|
|
20
|
+
/**
|
|
21
|
+
* The store that can be used to access the state of other plugins.
|
|
22
|
+
*/
|
|
17
23
|
store: TreeViewUsedStore<TSignature>;
|
|
24
|
+
/**
|
|
25
|
+
* Reference to the root element.
|
|
26
|
+
*/
|
|
18
27
|
rootRef: React.RefObject<HTMLUListElement | null>;
|
|
28
|
+
/**
|
|
29
|
+
* All the plugins that are used in the tree-view.
|
|
30
|
+
*/
|
|
19
31
|
plugins: TreeViewPlugin<TreeViewAnyPluginSignature>[];
|
|
20
32
|
}
|
|
21
|
-
type TreeViewModelsInitializer<TSignature extends TreeViewAnyPluginSignature> = { [TControlled in keyof TSignature['models']]: {
|
|
22
|
-
getDefaultValue: (params: TSignature['defaultizedParams']) => Exclude<TSignature['defaultizedParams'][TControlled], undefined>;
|
|
23
|
-
} };
|
|
24
33
|
type TreeViewResponse<TSignature extends TreeViewAnyPluginSignature> = {
|
|
25
34
|
getRootProps?: <TOther extends EventHandlers = {}>(otherHandlers: TOther) => React.HTMLAttributes<HTMLUListElement>;
|
|
26
|
-
} & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']
|
|
35
|
+
} & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']>;
|
|
27
36
|
export type TreeViewPluginSignature<T extends {
|
|
28
37
|
params?: {};
|
|
29
38
|
defaultizedParams?: {};
|
|
@@ -31,61 +40,61 @@ export type TreeViewPluginSignature<T extends {
|
|
|
31
40
|
publicAPI?: {};
|
|
32
41
|
events?: { [key in keyof T['events']]: TreeViewEventLookupElement };
|
|
33
42
|
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
43
|
experimentalFeatures?: string;
|
|
40
44
|
dependencies?: readonly TreeViewAnyPluginSignature[];
|
|
41
45
|
optionalDependencies?: readonly TreeViewAnyPluginSignature[];
|
|
42
46
|
}> = {
|
|
47
|
+
/**
|
|
48
|
+
* The raw properties that can be passed to the plugin.
|
|
49
|
+
*/
|
|
43
50
|
params: T extends {
|
|
44
51
|
params: {};
|
|
45
52
|
} ? T['params'] : {};
|
|
53
|
+
/**
|
|
54
|
+
* The params after being processed with the default values.
|
|
55
|
+
*/
|
|
46
56
|
defaultizedParams: T extends {
|
|
47
57
|
defaultizedParams: {};
|
|
48
58
|
} ? T['defaultizedParams'] : {};
|
|
59
|
+
/**
|
|
60
|
+
* An imperative api available for internal use.
|
|
61
|
+
*/
|
|
49
62
|
instance: T extends {
|
|
50
63
|
instance: {};
|
|
51
64
|
} ? T['instance'] : {};
|
|
65
|
+
/**
|
|
66
|
+
* The public imperative API that will be exposed to the user.
|
|
67
|
+
* Accessed through the `apiRef` property of the plugin.
|
|
68
|
+
*/
|
|
52
69
|
publicAPI: T extends {
|
|
53
70
|
publicAPI: {};
|
|
54
71
|
} ? T['publicAPI'] : {};
|
|
55
72
|
events: T extends {
|
|
56
73
|
events: {};
|
|
57
74
|
} ? T['events'] : {};
|
|
75
|
+
/**
|
|
76
|
+
* The state is the mutable data that will actually be stored in the plugin state and can be accessed by other plugins.
|
|
77
|
+
*/
|
|
58
78
|
state: T extends {
|
|
59
79
|
state: {};
|
|
60
80
|
} ? 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
81
|
experimentalFeatures: T extends {
|
|
78
82
|
experimentalFeatures: string;
|
|
79
83
|
} ? { [key in T['experimentalFeatures']]?: boolean } : {};
|
|
84
|
+
/**
|
|
85
|
+
* Any plugins that this plugin depends on.
|
|
86
|
+
*/
|
|
80
87
|
dependencies: T extends {
|
|
81
88
|
dependencies: Array<any>;
|
|
82
89
|
} ? T['dependencies'] : [];
|
|
90
|
+
/**
|
|
91
|
+
* Same as dependencies but the plugin might not have been initialized. Used for dependencies on plugins of features that can be enabled conditionally.
|
|
92
|
+
*/
|
|
83
93
|
optionalDependencies: T extends {
|
|
84
94
|
optionalDependencies: Array<any>;
|
|
85
95
|
} ? T['optionalDependencies'] : [];
|
|
86
96
|
};
|
|
87
97
|
export type TreeViewAnyPluginSignature = {
|
|
88
|
-
cache: any;
|
|
89
98
|
state: any;
|
|
90
99
|
instance: any;
|
|
91
100
|
params: any;
|
|
@@ -93,10 +102,6 @@ export type TreeViewAnyPluginSignature = {
|
|
|
93
102
|
dependencies: any;
|
|
94
103
|
optionalDependencies: any;
|
|
95
104
|
events: any;
|
|
96
|
-
contextValue: any;
|
|
97
|
-
slots: any;
|
|
98
|
-
slotProps: any;
|
|
99
|
-
models: any;
|
|
100
105
|
experimentalFeatures: any;
|
|
101
106
|
publicAPI: any;
|
|
102
107
|
};
|
|
@@ -112,8 +117,6 @@ export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature>
|
|
|
112
117
|
};
|
|
113
118
|
export type TreeViewUsedStore<TSignature extends TreeViewAnyPluginSignature> = TreeViewStore<[TSignature, ...TSignature['dependencies']]>;
|
|
114
119
|
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
120
|
export type TreeViewUsedEvents<TSignature extends TreeViewAnyPluginSignature> = TSignature['events'] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'events'>;
|
|
118
121
|
export type TreeItemWrapper<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (params: {
|
|
119
122
|
itemId: TreeViewItemId;
|
|
@@ -125,14 +128,36 @@ export type TreeRootWrapper = (params: {
|
|
|
125
128
|
children: React.ReactNode;
|
|
126
129
|
}) => React.ReactNode;
|
|
127
130
|
export type TreeViewPlugin<TSignature extends TreeViewAnyPluginSignature> = {
|
|
131
|
+
/**
|
|
132
|
+
* The main function of the plugin that will be executed by the Tree View.
|
|
133
|
+
*
|
|
134
|
+
* This should be a valid React `use` function, as it will be executed in the render phase and can contain hooks.
|
|
135
|
+
*/
|
|
128
136
|
(options: TreeViewPluginOptions<TSignature>): TreeViewResponse<TSignature>;
|
|
137
|
+
/**
|
|
138
|
+
* A function that receives the parameters and returns them after being processed with the default values.
|
|
139
|
+
*
|
|
140
|
+
* @param {TreeViewUsedParams<TSignature>} options The options object.
|
|
141
|
+
* @param {TreeViewUsedParams<TSignature>['params']} options.params The parameters before being processed with the default values.
|
|
142
|
+
* @param {TreeViewUsedExperimentalFeatures<TSignature>} options.experimentalFeatures An object containing the experimental feature flags.
|
|
143
|
+
* @returns {TSignature['defaultizedParams']} The parameters after being processed with the default values.
|
|
144
|
+
*/
|
|
129
145
|
getDefaultizedParams?: (options: {
|
|
130
146
|
params: TreeViewUsedParams<TSignature>;
|
|
131
147
|
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
132
148
|
}) => TSignature['defaultizedParams'];
|
|
149
|
+
/**
|
|
150
|
+
* The initial state is computed after the default values are applied.
|
|
151
|
+
* It sets up the state for the first render.
|
|
152
|
+
* Other state modifications have to be done in effects and so could not be applied on the initial render.
|
|
153
|
+
*
|
|
154
|
+
* @param {TreeViewUsedDefaultizedParams<TSignature>} params The parameters after being processed with the default values.
|
|
155
|
+
* @returns {TSignature['state']} The initial state of the plugin.
|
|
156
|
+
*/
|
|
133
157
|
getInitialState?: (params: TreeViewUsedDefaultizedParams<TSignature>) => TSignature['state'];
|
|
134
|
-
|
|
135
|
-
|
|
158
|
+
/**
|
|
159
|
+
* An object where each property used by the plugin is set to `true`.
|
|
160
|
+
*/
|
|
136
161
|
params: Record<keyof TSignature['params'], true>;
|
|
137
162
|
itemPlugin?: TreeViewItemPlugin;
|
|
138
163
|
/**
|
|
@@ -16,11 +16,6 @@ export interface TreeViewItemMeta {
|
|
|
16
16
|
*/
|
|
17
17
|
label?: string;
|
|
18
18
|
}
|
|
19
|
-
export interface TreeViewModel<TValue> {
|
|
20
|
-
name: string;
|
|
21
|
-
value: TValue;
|
|
22
|
-
setControlledValue: (value: TValue | ((prevValue: TValue) => TValue)) => void;
|
|
23
|
-
}
|
|
24
19
|
export type TreeViewInstance<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'instance'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
25
20
|
export type TreeViewPublicAPI<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'publicAPI'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
26
21
|
export type TreeViewExperimentalFeatures<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TSignatures, ...TOptionalSignatures], 'experimentalFeatures'>;
|