@mui/x-tree-view 8.0.0-beta.2 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +423 -96
- package/RichTreeView/RichTreeView.js +11 -6
- 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 +12 -8
- package/SimpleTreeView/SimpleTreeView.plugins.d.ts +3 -6
- package/SimpleTreeView/SimpleTreeView.plugins.js +1 -2
- package/SimpleTreeView/SimpleTreeView.types.d.ts +4 -3
- package/TreeItemIcon/TreeItemIcon.js +15 -11
- package/esm/RichTreeView/RichTreeView.js +10 -5
- 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 +11 -7
- 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/TreeItemIcon/TreeItemIcon.js +15 -11
- 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 +7 -15
- 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
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import type { DefaultizedProps } from '@mui/x-internals/types';
|
|
3
|
-
import type { TreeViewPluginSignature } from '../../models';
|
|
4
|
-
import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
|
|
5
|
-
import { UseTreeViewExpansionSignature } from "../useTreeViewExpansion/index.js";
|
|
6
|
-
import { TreeViewSelectionPropagation, TreeViewCancellableEventHandler } from "../../../models/index.js";
|
|
7
|
-
export interface UseTreeViewSelectionPublicAPI {
|
|
8
|
-
/**
|
|
9
|
-
* Select or deselect an item.
|
|
10
|
-
* @param {object} parameters The parameters of the method.
|
|
11
|
-
* @param {string} parameters.itemId The id of the item to select or deselect.
|
|
12
|
-
* @param {React.SyntheticEvent} parameters.event The DOM event that triggered the change.
|
|
13
|
-
* @param {boolean} parameters.keepExistingSelection If `true`, the other already selected items will remain selected, otherwise, they will be deselected. This parameter is only relevant when `multiSelect` is `true`
|
|
14
|
-
* @param {boolean | undefined} parameters.shouldBeSelected If `true` the item will be selected. If `false` the item will be deselected. If not defined, the item's selection status will be toggled.
|
|
15
|
-
*/
|
|
16
|
-
setItemSelection: (parameters: {
|
|
17
|
-
itemId: string;
|
|
18
|
-
event?: React.SyntheticEvent;
|
|
19
|
-
shouldBeSelected?: boolean;
|
|
20
|
-
keepExistingSelection?: boolean;
|
|
21
|
-
}) => void;
|
|
22
|
-
}
|
|
23
|
-
export interface UseTreeViewSelectionInstance extends UseTreeViewSelectionPublicAPI {
|
|
24
|
-
/**
|
|
25
|
-
* Select all the navigable items in the tree.
|
|
26
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
27
|
-
*/
|
|
28
|
-
selectAllNavigableItems: (event: React.SyntheticEvent) => void;
|
|
29
|
-
/**
|
|
30
|
-
* Expand the current selection range up to the given item.
|
|
31
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
32
|
-
* @param {string} itemId The id of the item to expand the selection to.
|
|
33
|
-
*/
|
|
34
|
-
expandSelectionRange: (event: React.SyntheticEvent, itemId: string) => void;
|
|
35
|
-
/**
|
|
36
|
-
* Expand the current selection range from the first navigable item to the given item.
|
|
37
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
38
|
-
* @param {string} itemId The id of the item up to which the selection range should be expanded.
|
|
39
|
-
*/
|
|
40
|
-
selectRangeFromStartToItem: (event: React.SyntheticEvent, itemId: string) => void;
|
|
41
|
-
/**
|
|
42
|
-
* Expand the current selection range from the given item to the last navigable item.
|
|
43
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
44
|
-
* @param {string} itemId The id of the item from which the selection range should be expanded.
|
|
45
|
-
*/
|
|
46
|
-
selectRangeFromItemToEnd: (event: React.SyntheticEvent, itemId: string) => void;
|
|
47
|
-
/**
|
|
48
|
-
* Update the selection when navigating with ArrowUp / ArrowDown keys.
|
|
49
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
50
|
-
* @param {string} currentItemId The id of the active item before the keyboard navigation.
|
|
51
|
-
* @param {string} nextItemId The id of the active item after the keyboard navigation.
|
|
52
|
-
*/
|
|
53
|
-
selectItemFromArrowNavigation: (event: React.SyntheticEvent, currentItemId: string, nextItemId: string) => void;
|
|
54
|
-
}
|
|
55
|
-
type TreeViewSelectionValue<Multiple extends boolean | undefined> = Multiple extends true ? string[] : string | null;
|
|
56
|
-
export interface UseTreeViewSelectionParameters<Multiple extends boolean | undefined> {
|
|
57
|
-
/**
|
|
58
|
-
* If `true` selection is disabled.
|
|
59
|
-
* @default false
|
|
60
|
-
*/
|
|
61
|
-
disableSelection?: boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Selected item ids. (Uncontrolled)
|
|
64
|
-
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
|
|
65
|
-
* @default []
|
|
66
|
-
*/
|
|
67
|
-
defaultSelectedItems?: TreeViewSelectionValue<Multiple>;
|
|
68
|
-
/**
|
|
69
|
-
* Selected item ids. (Controlled)
|
|
70
|
-
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
|
|
71
|
-
*/
|
|
72
|
-
selectedItems?: TreeViewSelectionValue<Multiple>;
|
|
73
|
-
/**
|
|
74
|
-
* If `true`, `ctrl` and `shift` will trigger multiselect.
|
|
75
|
-
* @default false
|
|
76
|
-
*/
|
|
77
|
-
multiSelect?: Multiple;
|
|
78
|
-
/**
|
|
79
|
-
* If `true`, the Tree View renders a checkbox at the left of its label that allows selecting it.
|
|
80
|
-
* @default false
|
|
81
|
-
*/
|
|
82
|
-
checkboxSelection?: boolean;
|
|
83
|
-
/**
|
|
84
|
-
* When `selectionPropagation.descendants` is set to `true`.
|
|
85
|
-
*
|
|
86
|
-
* - Selecting a parent selects all its descendants automatically.
|
|
87
|
-
* - Deselecting a parent deselects all its descendants automatically.
|
|
88
|
-
*
|
|
89
|
-
* When `selectionPropagation.parents` is set to `true`.
|
|
90
|
-
*
|
|
91
|
-
* - Selecting all the descendants of a parent selects the parent automatically.
|
|
92
|
-
* - Deselecting a descendant of a selected parent deselects the parent automatically.
|
|
93
|
-
*
|
|
94
|
-
* Only works when `multiSelect` is `true`.
|
|
95
|
-
* On the <SimpleTreeView />, only the expanded items are considered (since the collapsed item are not passed to the Tree View component at all)
|
|
96
|
-
*
|
|
97
|
-
* @default { parents: false, descendants: false }
|
|
98
|
-
*/
|
|
99
|
-
selectionPropagation?: TreeViewSelectionPropagation;
|
|
100
|
-
/**
|
|
101
|
-
* Callback fired when Tree Items are selected/deselected.
|
|
102
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
|
|
103
|
-
* @param {string[] | string} itemIds The ids of the selected items.
|
|
104
|
-
* When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
|
|
105
|
-
*/
|
|
106
|
-
onSelectedItemsChange?: (event: React.SyntheticEvent | null, itemIds: TreeViewSelectionValue<Multiple>) => void;
|
|
107
|
-
/**
|
|
108
|
-
* Callback fired when a Tree Item is selected or deselected.
|
|
109
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
|
|
110
|
-
* @param {array} itemId The itemId of the modified item.
|
|
111
|
-
* @param {array} isSelected `true` if the item has just been selected, `false` if it has just been deselected.
|
|
112
|
-
*/
|
|
113
|
-
onItemSelectionToggle?: (event: React.SyntheticEvent | null, itemId: string, isSelected: boolean) => void;
|
|
114
|
-
}
|
|
115
|
-
export type UseTreeViewSelectionDefaultizedParameters<Multiple extends boolean> = DefaultizedProps<UseTreeViewSelectionParameters<Multiple>, 'disableSelection' | 'defaultSelectedItems' | 'multiSelect' | 'checkboxSelection' | 'selectionPropagation'>;
|
|
116
|
-
export interface UseTreeViewSelectionState {
|
|
117
|
-
selection: {
|
|
118
|
-
rawSelectedItems: TreeViewSelectionValue<boolean>;
|
|
119
|
-
selectedItemsMap: Map<string, true>;
|
|
120
|
-
isEnabled: boolean;
|
|
121
|
-
isMultiSelectEnabled: boolean;
|
|
122
|
-
isCheckboxSelectionEnabled: boolean;
|
|
123
|
-
selectionPropagation: TreeViewSelectionPropagation;
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
export type UseTreeViewSelectionSignature = TreeViewPluginSignature<{
|
|
127
|
-
params: UseTreeViewSelectionParameters<any>;
|
|
128
|
-
defaultizedParams: UseTreeViewSelectionDefaultizedParameters<any>;
|
|
129
|
-
instance: UseTreeViewSelectionInstance;
|
|
130
|
-
publicAPI: UseTreeViewSelectionPublicAPI;
|
|
131
|
-
modelNames: 'selectedItems';
|
|
132
|
-
state: UseTreeViewSelectionState;
|
|
133
|
-
dependencies: [UseTreeViewItemsSignature, UseTreeViewExpansionSignature, UseTreeViewItemsSignature];
|
|
134
|
-
}>;
|
|
135
|
-
export interface UseTreeItemCheckboxSlotPropsFromSelection {
|
|
136
|
-
visible?: boolean;
|
|
137
|
-
checked?: boolean;
|
|
138
|
-
disabled?: boolean;
|
|
139
|
-
tabIndex?: -1;
|
|
140
|
-
onChange?: TreeViewCancellableEventHandler<React.ChangeEvent<HTMLInputElement>>;
|
|
141
|
-
}
|
|
142
|
-
declare module '@mui/x-tree-view/useTreeItem' {
|
|
143
|
-
interface UseTreeItemCheckboxSlotOwnProps extends UseTreeItemCheckboxSlotPropsFromSelection {}
|
|
144
|
-
}
|
|
145
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { TreeViewItemId, TreeViewSelectionPropagation } from "../../../models/index.js";
|
|
2
|
-
import { TreeViewUsedStore } from "../../models/index.js";
|
|
3
|
-
import { UseTreeViewSelectionSignature } from "./useTreeViewSelection.types.js";
|
|
4
|
-
/**
|
|
5
|
-
* Transform the `selectedItems` model to be an array if it was a string or null.
|
|
6
|
-
* @param {string[] | string | null} model The raw model.
|
|
7
|
-
* @returns {string[]} The converted model.
|
|
8
|
-
*/
|
|
9
|
-
export declare const convertSelectedItemsToArray: (model: string[] | string | null) => string[];
|
|
10
|
-
export declare const createSelectedItemsMap: (selectedItems: string | string[] | null) => Map<string, true>;
|
|
11
|
-
export declare const getLookupFromArray: (array: string[]) => {
|
|
12
|
-
[itemId: string]: true;
|
|
13
|
-
};
|
|
14
|
-
export declare const getAddedAndRemovedItems: ({
|
|
15
|
-
store,
|
|
16
|
-
oldModel,
|
|
17
|
-
newModel
|
|
18
|
-
}: {
|
|
19
|
-
store: TreeViewUsedStore<UseTreeViewSelectionSignature>;
|
|
20
|
-
oldModel: TreeViewItemId[];
|
|
21
|
-
newModel: TreeViewItemId[];
|
|
22
|
-
}) => {
|
|
23
|
-
added: string[];
|
|
24
|
-
removed: string[];
|
|
25
|
-
};
|
|
26
|
-
export declare const propagateSelection: ({
|
|
27
|
-
store,
|
|
28
|
-
selectionPropagation,
|
|
29
|
-
newModel,
|
|
30
|
-
oldModel,
|
|
31
|
-
additionalItemsToPropagate
|
|
32
|
-
}: {
|
|
33
|
-
store: TreeViewUsedStore<UseTreeViewSelectionSignature>;
|
|
34
|
-
selectionPropagation: TreeViewSelectionPropagation;
|
|
35
|
-
newModel: TreeViewItemId[];
|
|
36
|
-
oldModel: TreeViewItemId[];
|
|
37
|
-
additionalItemsToPropagate?: TreeViewItemId[];
|
|
38
|
-
}) => string[];
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { selectorIsItemSelected } from "./useTreeViewSelection.selectors.js";
|
|
2
|
-
import { selectorItemOrderedChildrenIds, selectorItemParentId } from "../useTreeViewItems/useTreeViewItems.selectors.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Transform the `selectedItems` model to be an array if it was a string or null.
|
|
6
|
-
* @param {string[] | string | null} model The raw model.
|
|
7
|
-
* @returns {string[]} The converted model.
|
|
8
|
-
*/
|
|
9
|
-
export const convertSelectedItemsToArray = model => {
|
|
10
|
-
if (Array.isArray(model)) {
|
|
11
|
-
return model;
|
|
12
|
-
}
|
|
13
|
-
if (model != null) {
|
|
14
|
-
return [model];
|
|
15
|
-
}
|
|
16
|
-
return [];
|
|
17
|
-
};
|
|
18
|
-
export const createSelectedItemsMap = selectedItems => {
|
|
19
|
-
const selectedItemsMap = new Map();
|
|
20
|
-
convertSelectedItemsToArray(selectedItems).forEach(id => {
|
|
21
|
-
selectedItemsMap.set(id, true);
|
|
22
|
-
});
|
|
23
|
-
return selectedItemsMap;
|
|
24
|
-
};
|
|
25
|
-
export const getLookupFromArray = array => {
|
|
26
|
-
const lookup = {};
|
|
27
|
-
array.forEach(itemId => {
|
|
28
|
-
lookup[itemId] = true;
|
|
29
|
-
});
|
|
30
|
-
return lookup;
|
|
31
|
-
};
|
|
32
|
-
export const getAddedAndRemovedItems = ({
|
|
33
|
-
store,
|
|
34
|
-
oldModel,
|
|
35
|
-
newModel
|
|
36
|
-
}) => {
|
|
37
|
-
const newModelLookup = createSelectedItemsMap(newModel);
|
|
38
|
-
return {
|
|
39
|
-
added: newModel.filter(itemId => !selectorIsItemSelected(store.value, itemId)),
|
|
40
|
-
removed: oldModel.filter(itemId => !newModelLookup.has(itemId))
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
export const propagateSelection = ({
|
|
44
|
-
store,
|
|
45
|
-
selectionPropagation,
|
|
46
|
-
newModel,
|
|
47
|
-
oldModel,
|
|
48
|
-
additionalItemsToPropagate
|
|
49
|
-
}) => {
|
|
50
|
-
if (!selectionPropagation.descendants && !selectionPropagation.parents) {
|
|
51
|
-
return newModel;
|
|
52
|
-
}
|
|
53
|
-
let shouldRegenerateModel = false;
|
|
54
|
-
const newModelLookup = getLookupFromArray(newModel);
|
|
55
|
-
const changes = getAddedAndRemovedItems({
|
|
56
|
-
store,
|
|
57
|
-
newModel,
|
|
58
|
-
oldModel
|
|
59
|
-
});
|
|
60
|
-
additionalItemsToPropagate?.forEach(itemId => {
|
|
61
|
-
if (newModelLookup[itemId]) {
|
|
62
|
-
if (!changes.added.includes(itemId)) {
|
|
63
|
-
changes.added.push(itemId);
|
|
64
|
-
}
|
|
65
|
-
} else if (!changes.removed.includes(itemId)) {
|
|
66
|
-
changes.removed.push(itemId);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
changes.added.forEach(addedItemId => {
|
|
70
|
-
if (selectionPropagation.descendants) {
|
|
71
|
-
const selectDescendants = itemId => {
|
|
72
|
-
if (itemId !== addedItemId) {
|
|
73
|
-
shouldRegenerateModel = true;
|
|
74
|
-
newModelLookup[itemId] = true;
|
|
75
|
-
}
|
|
76
|
-
selectorItemOrderedChildrenIds(store.value, itemId).forEach(selectDescendants);
|
|
77
|
-
};
|
|
78
|
-
selectDescendants(addedItemId);
|
|
79
|
-
}
|
|
80
|
-
if (selectionPropagation.parents) {
|
|
81
|
-
const checkAllDescendantsSelected = itemId => {
|
|
82
|
-
if (!newModelLookup[itemId]) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
const children = selectorItemOrderedChildrenIds(store.value, itemId);
|
|
86
|
-
return children.every(checkAllDescendantsSelected);
|
|
87
|
-
};
|
|
88
|
-
const selectParents = itemId => {
|
|
89
|
-
const parentId = selectorItemParentId(store.value, itemId);
|
|
90
|
-
if (parentId == null) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const siblings = selectorItemOrderedChildrenIds(store.value, parentId);
|
|
94
|
-
if (siblings.every(checkAllDescendantsSelected)) {
|
|
95
|
-
shouldRegenerateModel = true;
|
|
96
|
-
newModelLookup[parentId] = true;
|
|
97
|
-
selectParents(parentId);
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
selectParents(addedItemId);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
changes.removed.forEach(removedItemId => {
|
|
104
|
-
if (selectionPropagation.parents) {
|
|
105
|
-
let parentId = selectorItemParentId(store.value, removedItemId);
|
|
106
|
-
while (parentId != null) {
|
|
107
|
-
if (newModelLookup[parentId]) {
|
|
108
|
-
shouldRegenerateModel = true;
|
|
109
|
-
delete newModelLookup[parentId];
|
|
110
|
-
}
|
|
111
|
-
parentId = selectorItemParentId(store.value, parentId);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (selectionPropagation.descendants) {
|
|
115
|
-
const deSelectDescendants = itemId => {
|
|
116
|
-
if (itemId !== removedItemId) {
|
|
117
|
-
shouldRegenerateModel = true;
|
|
118
|
-
delete newModelLookup[itemId];
|
|
119
|
-
}
|
|
120
|
-
selectorItemOrderedChildrenIds(store.value, itemId).forEach(deSelectDescendants);
|
|
121
|
-
};
|
|
122
|
-
deSelectDescendants(removedItemId);
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
return shouldRegenerateModel ? Object.keys(newModelLookup) : newModel;
|
|
126
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ConvertSignaturesIntoPlugins, MergeSignaturesProperty, TreeViewAnyPluginSignature, TreeViewPluginSignature } from "../models/index.js";
|
|
2
|
-
import { UseTreeViewBaseProps } from "./useTreeView.types.js";
|
|
3
|
-
import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
|
|
4
|
-
interface ExtractPluginParamsFromPropsParameters<TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>> {
|
|
5
|
-
plugins: ConvertSignaturesIntoPlugins<readonly [...TreeViewCorePluginSignatures, ...TSignatures]>;
|
|
6
|
-
props: TProps;
|
|
7
|
-
}
|
|
8
|
-
interface ExtractPluginParamsFromPropsReturnValue<TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>> extends UseTreeViewBaseProps<TSignatures> {
|
|
9
|
-
pluginParams: MergeSignaturesProperty<TSignatures, 'defaultizedParams'>;
|
|
10
|
-
forwardedProps: Omit<TProps, keyof MergeSignaturesProperty<TSignatures, 'params'>>;
|
|
11
|
-
}
|
|
12
|
-
export declare const extractPluginParamsFromProps: <TSignatures extends readonly TreeViewPluginSignature<any>[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>>({
|
|
13
|
-
props: {
|
|
14
|
-
slots,
|
|
15
|
-
slotProps,
|
|
16
|
-
apiRef,
|
|
17
|
-
experimentalFeatures: inExperimentalFeatures,
|
|
18
|
-
...props
|
|
19
|
-
},
|
|
20
|
-
plugins
|
|
21
|
-
}: ExtractPluginParamsFromPropsParameters<TSignatures, TProps>) => ExtractPluginParamsFromPropsReturnValue<TSignatures, TProps>;
|
|
22
|
-
export {};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
-
const _excluded = ["slots", "slotProps", "apiRef", "experimentalFeatures"];
|
|
3
|
-
export const extractPluginParamsFromProps = _ref => {
|
|
4
|
-
let {
|
|
5
|
-
props: {
|
|
6
|
-
slots,
|
|
7
|
-
slotProps,
|
|
8
|
-
apiRef,
|
|
9
|
-
experimentalFeatures: inExperimentalFeatures
|
|
10
|
-
},
|
|
11
|
-
plugins
|
|
12
|
-
} = _ref,
|
|
13
|
-
props = _objectWithoutPropertiesLoose(_ref.props, _excluded);
|
|
14
|
-
const paramsLookup = {};
|
|
15
|
-
plugins.forEach(plugin => {
|
|
16
|
-
Object.assign(paramsLookup, plugin.params);
|
|
17
|
-
});
|
|
18
|
-
const pluginParams = {};
|
|
19
|
-
const forwardedProps = {};
|
|
20
|
-
Object.keys(props).forEach(propName => {
|
|
21
|
-
const prop = props[propName];
|
|
22
|
-
if (paramsLookup[propName]) {
|
|
23
|
-
pluginParams[propName] = prop;
|
|
24
|
-
} else {
|
|
25
|
-
forwardedProps[propName] = prop;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
const experimentalFeatures = inExperimentalFeatures ?? {};
|
|
29
|
-
const defaultizedPluginParams = plugins.reduce((acc, plugin) => {
|
|
30
|
-
if (plugin.getDefaultizedParams) {
|
|
31
|
-
return plugin.getDefaultizedParams({
|
|
32
|
-
params: acc,
|
|
33
|
-
experimentalFeatures
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
return acc;
|
|
37
|
-
}, pluginParams);
|
|
38
|
-
return {
|
|
39
|
-
apiRef,
|
|
40
|
-
forwardedProps,
|
|
41
|
-
pluginParams: defaultizedPluginParams,
|
|
42
|
-
slots: slots ?? {},
|
|
43
|
-
slotProps: slotProps ?? {},
|
|
44
|
-
experimentalFeatures
|
|
45
|
-
};
|
|
46
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useTreeView } from "./useTreeView.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useTreeView } from "./useTreeView.js";
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { TreeViewAnyPluginSignature } from "../models/index.js";
|
|
3
|
-
import { UseTreeViewBaseProps, UseTreeViewParameters, UseTreeViewReturnValue } from "./useTreeView.types.js";
|
|
4
|
-
export declare function useTreeViewApiInitialization<T>(inputApiRef: React.RefObject<T | undefined> | undefined): T;
|
|
5
|
-
export declare const useTreeView: <TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>>({
|
|
6
|
-
plugins: inPlugins,
|
|
7
|
-
rootRef,
|
|
8
|
-
props
|
|
9
|
-
}: UseTreeViewParameters<TSignatures, TProps>) => UseTreeViewReturnValue<TSignatures>;
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import useForkRef from '@mui/utils/useForkRef';
|
|
4
|
-
import { useTreeViewModels } from "./useTreeViewModels.js";
|
|
5
|
-
import { TREE_VIEW_CORE_PLUGINS } from "../corePlugins/index.js";
|
|
6
|
-
import { extractPluginParamsFromProps } from "./extractPluginParamsFromProps.js";
|
|
7
|
-
import { useTreeViewBuildContext } from "./useTreeViewBuildContext.js";
|
|
8
|
-
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
9
|
-
export function useTreeViewApiInitialization(inputApiRef) {
|
|
10
|
-
const fallbackPublicApiRef = React.useRef({});
|
|
11
|
-
if (inputApiRef) {
|
|
12
|
-
if (inputApiRef.current == null) {
|
|
13
|
-
inputApiRef.current = {};
|
|
14
|
-
}
|
|
15
|
-
return inputApiRef.current;
|
|
16
|
-
}
|
|
17
|
-
return fallbackPublicApiRef.current;
|
|
18
|
-
}
|
|
19
|
-
let globalId = 0;
|
|
20
|
-
export const useTreeView = ({
|
|
21
|
-
plugins: inPlugins,
|
|
22
|
-
rootRef,
|
|
23
|
-
props
|
|
24
|
-
}) => {
|
|
25
|
-
const plugins = React.useMemo(() => [...TREE_VIEW_CORE_PLUGINS, ...inPlugins], [inPlugins]);
|
|
26
|
-
const {
|
|
27
|
-
pluginParams,
|
|
28
|
-
forwardedProps,
|
|
29
|
-
apiRef,
|
|
30
|
-
experimentalFeatures,
|
|
31
|
-
slots,
|
|
32
|
-
slotProps
|
|
33
|
-
} = extractPluginParamsFromProps({
|
|
34
|
-
plugins,
|
|
35
|
-
props
|
|
36
|
-
});
|
|
37
|
-
const models = useTreeViewModels(plugins, pluginParams);
|
|
38
|
-
const instanceRef = React.useRef({});
|
|
39
|
-
const instance = instanceRef.current;
|
|
40
|
-
const publicAPI = useTreeViewApiInitialization(apiRef);
|
|
41
|
-
const innerRootRef = React.useRef(null);
|
|
42
|
-
const handleRootRef = useForkRef(innerRootRef, rootRef);
|
|
43
|
-
const storeRef = React.useRef(null);
|
|
44
|
-
if (storeRef.current == null) {
|
|
45
|
-
globalId += 1;
|
|
46
|
-
const initialState = {
|
|
47
|
-
cacheKey: {
|
|
48
|
-
id: globalId
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
plugins.forEach(plugin => {
|
|
52
|
-
if (plugin.getInitialState) {
|
|
53
|
-
Object.assign(initialState, plugin.getInitialState(pluginParams));
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
storeRef.current = new TreeViewStore(initialState);
|
|
57
|
-
}
|
|
58
|
-
const baseContextValue = useTreeViewBuildContext({
|
|
59
|
-
plugins,
|
|
60
|
-
instance,
|
|
61
|
-
publicAPI,
|
|
62
|
-
store: storeRef.current,
|
|
63
|
-
rootRef: innerRootRef
|
|
64
|
-
});
|
|
65
|
-
const rootPropsGetters = [];
|
|
66
|
-
const pluginContextValues = [];
|
|
67
|
-
const runPlugin = plugin => {
|
|
68
|
-
const pluginResponse = plugin({
|
|
69
|
-
instance,
|
|
70
|
-
params: pluginParams,
|
|
71
|
-
slots,
|
|
72
|
-
slotProps,
|
|
73
|
-
experimentalFeatures,
|
|
74
|
-
rootRef: innerRootRef,
|
|
75
|
-
models,
|
|
76
|
-
plugins,
|
|
77
|
-
store: storeRef.current
|
|
78
|
-
});
|
|
79
|
-
if (pluginResponse.getRootProps) {
|
|
80
|
-
rootPropsGetters.push(pluginResponse.getRootProps);
|
|
81
|
-
}
|
|
82
|
-
if (pluginResponse.publicAPI) {
|
|
83
|
-
Object.assign(publicAPI, pluginResponse.publicAPI);
|
|
84
|
-
}
|
|
85
|
-
if (pluginResponse.instance) {
|
|
86
|
-
Object.assign(instance, pluginResponse.instance);
|
|
87
|
-
}
|
|
88
|
-
if (pluginResponse.contextValue) {
|
|
89
|
-
pluginContextValues.push(pluginResponse.contextValue);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
plugins.forEach(runPlugin);
|
|
93
|
-
const getRootProps = (otherHandlers = {}) => {
|
|
94
|
-
const rootProps = _extends({
|
|
95
|
-
role: 'tree'
|
|
96
|
-
}, forwardedProps, otherHandlers, {
|
|
97
|
-
ref: handleRootRef
|
|
98
|
-
});
|
|
99
|
-
rootPropsGetters.forEach(rootPropsGetter => {
|
|
100
|
-
Object.assign(rootProps, rootPropsGetter(otherHandlers));
|
|
101
|
-
});
|
|
102
|
-
return rootProps;
|
|
103
|
-
};
|
|
104
|
-
const contextValue = React.useMemo(() => {
|
|
105
|
-
const copiedBaseContextValue = _extends({}, baseContextValue);
|
|
106
|
-
return Object.assign(copiedBaseContextValue, ...pluginContextValues);
|
|
107
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
108
|
-
}, [baseContextValue, ...pluginContextValues]);
|
|
109
|
-
return {
|
|
110
|
-
getRootProps,
|
|
111
|
-
rootRef: handleRootRef,
|
|
112
|
-
contextValue
|
|
113
|
-
};
|
|
114
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
-
import type { TreeViewContextValue } from '../TreeViewProvider';
|
|
4
|
-
import { TreeViewAnyPluginSignature, ConvertSignaturesIntoPlugins, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewExperimentalFeatures } from "../models/index.js";
|
|
5
|
-
export interface UseTreeViewParameters<TSignatures extends readonly TreeViewAnyPluginSignature[], TProps extends Partial<UseTreeViewBaseProps<TSignatures>>> {
|
|
6
|
-
plugins: ConvertSignaturesIntoPlugins<TSignatures>;
|
|
7
|
-
rootRef?: React.Ref<HTMLUListElement> | undefined;
|
|
8
|
-
props: TProps;
|
|
9
|
-
}
|
|
10
|
-
export interface UseTreeViewBaseProps<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
|
|
11
|
-
apiRef: React.RefObject<TreeViewPublicAPI<TSignatures> | undefined> | undefined;
|
|
12
|
-
slots: MergeSignaturesProperty<TSignatures, 'slots'>;
|
|
13
|
-
slotProps: MergeSignaturesProperty<TSignatures, 'slotProps'>;
|
|
14
|
-
experimentalFeatures: TreeViewExperimentalFeatures<TSignatures>;
|
|
15
|
-
}
|
|
16
|
-
export interface UseTreeViewRootSlotProps extends Pick<React.HTMLAttributes<HTMLUListElement>, 'onFocus' | 'onBlur' | 'onKeyDown' | 'id' | 'aria-multiselectable' | 'role' | 'tabIndex'> {
|
|
17
|
-
ref: React.Ref<HTMLUListElement>;
|
|
18
|
-
}
|
|
19
|
-
export interface UseTreeViewReturnValue<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
|
|
20
|
-
getRootProps: <TOther extends EventHandlers = {}>(otherHandlers?: TOther) => UseTreeViewRootSlotProps;
|
|
21
|
-
rootRef: React.RefCallback<HTMLUListElement> | null;
|
|
22
|
-
contextValue: TreeViewContextValue<TSignatures>;
|
|
23
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { TreeViewContextValue } from "../TreeViewProvider/index.js";
|
|
3
|
-
import { ConvertSignaturesIntoPlugins, TreeViewAnyPluginSignature, TreeViewInstance, TreeViewPublicAPI } from "../models/index.js";
|
|
4
|
-
import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
|
|
5
|
-
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
6
|
-
export declare const useTreeViewBuildContext: <TSignatures extends readonly TreeViewAnyPluginSignature[]>({
|
|
7
|
-
plugins,
|
|
8
|
-
instance,
|
|
9
|
-
publicAPI,
|
|
10
|
-
store,
|
|
11
|
-
rootRef
|
|
12
|
-
}: {
|
|
13
|
-
plugins: ConvertSignaturesIntoPlugins<readonly [...TreeViewCorePluginSignatures, ...TSignatures]>;
|
|
14
|
-
instance: TreeViewInstance<TSignatures>;
|
|
15
|
-
publicAPI: TreeViewPublicAPI<TSignatures>;
|
|
16
|
-
store: TreeViewStore<TSignatures>;
|
|
17
|
-
rootRef: React.RefObject<HTMLUListElement | null>;
|
|
18
|
-
}) => TreeViewContextValue<TSignatures>;
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export const useTreeViewBuildContext = ({
|
|
3
|
-
plugins,
|
|
4
|
-
instance,
|
|
5
|
-
publicAPI,
|
|
6
|
-
store,
|
|
7
|
-
rootRef
|
|
8
|
-
}) => {
|
|
9
|
-
const runItemPlugins = React.useCallback(itemPluginProps => {
|
|
10
|
-
let finalRootRef = null;
|
|
11
|
-
let finalContentRef = null;
|
|
12
|
-
const pluginPropEnhancers = [];
|
|
13
|
-
const pluginPropEnhancersNames = {};
|
|
14
|
-
plugins.forEach(plugin => {
|
|
15
|
-
if (!plugin.itemPlugin) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
const itemPluginResponse = plugin.itemPlugin({
|
|
19
|
-
props: itemPluginProps,
|
|
20
|
-
rootRef: finalRootRef,
|
|
21
|
-
contentRef: finalContentRef
|
|
22
|
-
});
|
|
23
|
-
if (itemPluginResponse?.rootRef) {
|
|
24
|
-
finalRootRef = itemPluginResponse.rootRef;
|
|
25
|
-
}
|
|
26
|
-
if (itemPluginResponse?.contentRef) {
|
|
27
|
-
finalContentRef = itemPluginResponse.contentRef;
|
|
28
|
-
}
|
|
29
|
-
if (itemPluginResponse?.propsEnhancers) {
|
|
30
|
-
pluginPropEnhancers.push(itemPluginResponse.propsEnhancers);
|
|
31
|
-
|
|
32
|
-
// Prepare a list of all the slots which are enhanced by at least one plugin
|
|
33
|
-
Object.keys(itemPluginResponse.propsEnhancers).forEach(propsEnhancerName => {
|
|
34
|
-
pluginPropEnhancersNames[propsEnhancerName] = true;
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
const resolvePropsEnhancer = currentSlotName => currentSlotParams => {
|
|
39
|
-
const enhancedProps = {};
|
|
40
|
-
pluginPropEnhancers.forEach(propsEnhancersForCurrentPlugin => {
|
|
41
|
-
const propsEnhancerForCurrentPluginAndSlot = propsEnhancersForCurrentPlugin[currentSlotName];
|
|
42
|
-
if (propsEnhancerForCurrentPluginAndSlot != null) {
|
|
43
|
-
Object.assign(enhancedProps, propsEnhancerForCurrentPluginAndSlot(currentSlotParams));
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
return enhancedProps;
|
|
47
|
-
};
|
|
48
|
-
const propsEnhancers = Object.fromEntries(Object.keys(pluginPropEnhancersNames).map(propEnhancerName => [propEnhancerName, resolvePropsEnhancer(propEnhancerName)]));
|
|
49
|
-
return {
|
|
50
|
-
contentRef: finalContentRef,
|
|
51
|
-
rootRef: finalRootRef,
|
|
52
|
-
propsEnhancers
|
|
53
|
-
};
|
|
54
|
-
}, [plugins]);
|
|
55
|
-
const wrapItem = React.useCallback(({
|
|
56
|
-
itemId,
|
|
57
|
-
children,
|
|
58
|
-
idAttribute
|
|
59
|
-
}) => {
|
|
60
|
-
let finalChildren = children;
|
|
61
|
-
// The wrappers are reversed to ensure that the first wrapper is the outermost one.
|
|
62
|
-
for (let i = plugins.length - 1; i >= 0; i -= 1) {
|
|
63
|
-
const plugin = plugins[i];
|
|
64
|
-
if (plugin.wrapItem) {
|
|
65
|
-
finalChildren = plugin.wrapItem({
|
|
66
|
-
instance,
|
|
67
|
-
itemId,
|
|
68
|
-
children: finalChildren,
|
|
69
|
-
idAttribute
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return finalChildren;
|
|
74
|
-
}, [plugins, instance]);
|
|
75
|
-
const wrapRoot = React.useCallback(({
|
|
76
|
-
children
|
|
77
|
-
}) => {
|
|
78
|
-
let finalChildren = children;
|
|
79
|
-
// The wrappers are reversed to ensure that the first wrapper is the outermost one.
|
|
80
|
-
for (let i = plugins.length - 1; i >= 0; i -= 1) {
|
|
81
|
-
const plugin = plugins[i];
|
|
82
|
-
if (plugin.wrapRoot) {
|
|
83
|
-
finalChildren = plugin.wrapRoot({
|
|
84
|
-
children: finalChildren
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return finalChildren;
|
|
89
|
-
}, [plugins]);
|
|
90
|
-
return React.useMemo(() => {
|
|
91
|
-
return {
|
|
92
|
-
runItemPlugins,
|
|
93
|
-
wrapItem,
|
|
94
|
-
wrapRoot,
|
|
95
|
-
instance,
|
|
96
|
-
publicAPI,
|
|
97
|
-
store,
|
|
98
|
-
rootRef
|
|
99
|
-
};
|
|
100
|
-
}, [runItemPlugins, wrapItem, wrapRoot, instance, publicAPI, store, rootRef]);
|
|
101
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TreeViewAnyPluginSignature, ConvertSignaturesIntoPlugins, MergeSignaturesProperty } from "../models/index.js";
|
|
2
|
-
import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Implements the same behavior as `useControlled` but for several models.
|
|
5
|
-
* The controlled models are never stored in the state, and the state is only updated if the model is not controlled.
|
|
6
|
-
*/
|
|
7
|
-
export declare const useTreeViewModels: <TSignatures extends readonly TreeViewAnyPluginSignature[]>(plugins: ConvertSignaturesIntoPlugins<readonly [...TreeViewCorePluginSignatures, ...TSignatures]>, props: MergeSignaturesProperty<TSignatures, "defaultizedParams">) => MergeSignaturesProperty<TSignatures, "models">;
|