@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,113 +0,0 @@
|
|
|
1
|
-
import { createSelector } from "../../utils/selectors.js";
|
|
2
|
-
import { TREE_VIEW_ROOT_PARENT_ID } from "./useTreeViewItems.utils.js";
|
|
3
|
-
const selectorTreeViewItemsState = state => state.items;
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Get the loading state for the Tree View.
|
|
7
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
8
|
-
* @returns {boolean} The loading state for the Tree View.
|
|
9
|
-
*/
|
|
10
|
-
export const selectorIsTreeViewLoading = createSelector(selectorTreeViewItemsState, items => items.loading);
|
|
11
|
-
/**
|
|
12
|
-
* Get the error state for the Tree View.
|
|
13
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
14
|
-
* @returns {boolean} The error state for the Tree View.
|
|
15
|
-
*/
|
|
16
|
-
export const selectorGetTreeViewError = createSelector(selectorTreeViewItemsState, items => items.error);
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Get the meta-information of all items.
|
|
20
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
21
|
-
* @returns {TreeViewItemMetaLookup} The meta-information of all items.
|
|
22
|
-
*/
|
|
23
|
-
export const selectorItemMetaLookup = createSelector(selectorTreeViewItemsState, items => items.itemMetaLookup);
|
|
24
|
-
const EMPTY_CHILDREN = [];
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Get the ordered children ids of a given item.
|
|
28
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
29
|
-
* @param {TreeViewItemId} itemId The id of the item to get the children of.
|
|
30
|
-
* @returns {TreeViewItemId[]} The ordered children ids of the item.
|
|
31
|
-
*/
|
|
32
|
-
export const selectorItemOrderedChildrenIds = createSelector([selectorTreeViewItemsState, (_, itemId) => itemId], (itemsState, itemId) => itemsState.itemOrderedChildrenIdsLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN);
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Get the model of an item.
|
|
36
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
37
|
-
* @param {TreeViewItemId} itemId The id of the item to get the model of.
|
|
38
|
-
* @returns {R} The model of the item.
|
|
39
|
-
*/
|
|
40
|
-
export const selectorItemModel = createSelector([selectorTreeViewItemsState, (_, itemId) => itemId], (itemsState, itemId) => itemsState.itemModelLookup[itemId]);
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Get the meta-information of an item.
|
|
44
|
-
* Check the `TreeViewItemMeta` type for more information.
|
|
45
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>}
|
|
46
|
-
* @param {TreeViewItemId} itemId The id of the item to get the meta-information of.
|
|
47
|
-
* @returns {TreeViewItemMeta | null} The meta-information of the item.
|
|
48
|
-
*/
|
|
49
|
-
export const selectorItemMeta = createSelector([selectorItemMetaLookup, (_, itemId) => itemId], (itemMetaLookup, itemId) => itemMetaLookup[itemId ?? TREE_VIEW_ROOT_PARENT_ID] ?? null);
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Check if an item is disabled.
|
|
53
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
54
|
-
* @param {TreeViewItemId} itemId The id of the item to check.
|
|
55
|
-
* @returns {boolean} `true` if the item is disabled, `false` otherwise.
|
|
56
|
-
*/
|
|
57
|
-
export const selectorIsItemDisabled = createSelector([selectorItemMetaLookup, (_, itemId) => itemId], (itemMetaLookup, itemId) => {
|
|
58
|
-
if (itemId == null) {
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
let itemMeta = itemMetaLookup[itemId];
|
|
62
|
-
|
|
63
|
-
// This can be called before the item has been added to the item map.
|
|
64
|
-
if (!itemMeta) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
if (itemMeta.disabled) {
|
|
68
|
-
return true;
|
|
69
|
-
}
|
|
70
|
-
while (itemMeta.parentId != null) {
|
|
71
|
-
itemMeta = itemMetaLookup[itemMeta.parentId];
|
|
72
|
-
if (itemMeta.disabled) {
|
|
73
|
-
return true;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return false;
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Get the index of an item in its parent's children.
|
|
81
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
82
|
-
* @param {TreeViewItemId} itemId The id of the item to get the index of.
|
|
83
|
-
* @returns {number} The index of the item in its parent's children.
|
|
84
|
-
*/
|
|
85
|
-
export const selectorItemIndex = createSelector([selectorTreeViewItemsState, selectorItemMeta], (itemsState, itemMeta) => {
|
|
86
|
-
if (itemMeta == null) {
|
|
87
|
-
return -1;
|
|
88
|
-
}
|
|
89
|
-
const parentIndexes = itemsState.itemChildrenIndexesLookup[itemMeta.parentId ?? TREE_VIEW_ROOT_PARENT_ID];
|
|
90
|
-
return parentIndexes[itemMeta.id];
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
/**
|
|
94
|
-
* Get the id of the parent of an item.
|
|
95
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
96
|
-
* @param {TreeViewItemId} itemId The id of the item to get the parent id of.
|
|
97
|
-
* @returns {TreeViewItemId | null} The id of the parent of the item.
|
|
98
|
-
*/
|
|
99
|
-
export const selectorItemParentId = createSelector([selectorItemMeta], itemMeta => itemMeta?.parentId ?? null);
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Get the depth of an item (items at the root level have a depth of 0).
|
|
103
|
-
* @param {TreeViewState<[UseTreeViewItemsSignature]>} state The state of the tree view.
|
|
104
|
-
* @param {TreeViewItemId} itemId The id of the item to get the depth of.
|
|
105
|
-
* @returns {number} The depth of the item.
|
|
106
|
-
*/
|
|
107
|
-
export const selectorItemDepth = createSelector([selectorItemMeta], itemMeta => itemMeta?.depth ?? 0);
|
|
108
|
-
export const selectorCanItemBeFocused = createSelector([selectorTreeViewItemsState, selectorIsItemDisabled], (itemsState, isItemDisabled) => {
|
|
109
|
-
if (itemsState.disabledItemsFocusable) {
|
|
110
|
-
return true;
|
|
111
|
-
}
|
|
112
|
-
return !isItemDisabled;
|
|
113
|
-
});
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { DefaultizedProps } from '@mui/x-internals/types';
|
|
3
|
-
import { TreeViewItemMeta, TreeViewPluginSignature } from "../../models/index.js";
|
|
4
|
-
import { TreeViewBaseItem, TreeViewDefaultItemModelProperties, TreeViewItemId } from "../../../models/index.js";
|
|
5
|
-
export type AddItemsParameters<R> = {
|
|
6
|
-
items: readonly R[];
|
|
7
|
-
parentId?: TreeViewItemId;
|
|
8
|
-
depth: number;
|
|
9
|
-
getChildrenCount?: (item: R) => number;
|
|
10
|
-
};
|
|
11
|
-
export interface UseTreeViewItemsPublicAPI<R extends {}> {
|
|
12
|
-
/**
|
|
13
|
-
* Get the item with the given id.
|
|
14
|
-
* When used in the Simple Tree View, it returns an object with the `id` and `label` properties.
|
|
15
|
-
* @param {string} itemId The id of the item to retrieve.
|
|
16
|
-
* @returns {R} The item with the given id.
|
|
17
|
-
*/
|
|
18
|
-
getItem: (itemId: TreeViewItemId) => R;
|
|
19
|
-
/**
|
|
20
|
-
* Get the DOM element of the item with the given id.
|
|
21
|
-
* @param {TreeViewItemId} itemId The id of the item to get the DOM element of.
|
|
22
|
-
* @returns {HTMLElement | null} The DOM element of the item with the given id.
|
|
23
|
-
*/
|
|
24
|
-
getItemDOMElement: (itemId: TreeViewItemId) => HTMLElement | null;
|
|
25
|
-
/**
|
|
26
|
-
* Get the ids of a given item's children.
|
|
27
|
-
* Those ids are returned in the order they should be rendered.
|
|
28
|
-
* To get the root items, pass `null` as the `itemId`.
|
|
29
|
-
* @param {TreeViewItemId | null} itemId The id of the item to get the children of.
|
|
30
|
-
* @returns {TreeViewItemId[]} The ids of the item's children.
|
|
31
|
-
*/
|
|
32
|
-
getItemOrderedChildrenIds: (itemId: TreeViewItemId | null) => TreeViewItemId[];
|
|
33
|
-
/**
|
|
34
|
-
* Get all the items in the same format as provided by `props.items`.
|
|
35
|
-
* @returns {TreeViewBaseItem[]} The items in the tree.
|
|
36
|
-
*/
|
|
37
|
-
getItemTree: () => TreeViewBaseItem[];
|
|
38
|
-
/**
|
|
39
|
-
* Toggle the disabled state of the item with the given id.
|
|
40
|
-
* @param {object} parameters The params of the method.
|
|
41
|
-
* @param {TreeViewItemId } parameters.itemId The id of the item to get the children of.
|
|
42
|
-
* @param {boolean } parameters.shouldBeDisabled true if the item should be disabled.
|
|
43
|
-
*/
|
|
44
|
-
setIsItemDisabled: (parameters: {
|
|
45
|
-
itemId: TreeViewItemId;
|
|
46
|
-
shouldBeDisabled?: boolean;
|
|
47
|
-
}) => void;
|
|
48
|
-
/** * Get the id of the parent item.
|
|
49
|
-
* @param {string} itemId The id of the item to whose parentId we want to retrieve.
|
|
50
|
-
* @returns {TreeViewItemId | null} The id of the parent item.
|
|
51
|
-
*/
|
|
52
|
-
getParentId: (itemId: TreeViewItemId) => TreeViewItemId | null;
|
|
53
|
-
}
|
|
54
|
-
export interface UseTreeViewItemsInstance<R extends {}> extends Pick<UseTreeViewItemsPublicAPI<R>, 'getItemDOMElement'> {
|
|
55
|
-
/**
|
|
56
|
-
* Freeze any future update to the state based on the `items` prop.
|
|
57
|
-
* This is useful when `useTreeViewJSXItems` is used to avoid having conflicting sources of truth.
|
|
58
|
-
*/
|
|
59
|
-
preventItemUpdates: () => void;
|
|
60
|
-
/**
|
|
61
|
-
* Check if the updates to the state based on the `items` prop are prevented.
|
|
62
|
-
* This is useful when `useTreeViewJSXItems` is used to avoid having conflicting sources of truth.
|
|
63
|
-
* @returns {boolean} `true` if the updates to the state based on the `items` prop are prevented.
|
|
64
|
-
*/
|
|
65
|
-
areItemUpdatesPrevented: () => boolean;
|
|
66
|
-
/**
|
|
67
|
-
* Add an array of items to the tree.
|
|
68
|
-
* @param {AddItemsParameters<R>} args The items to add to the tree and information about their ancestors.
|
|
69
|
-
*/
|
|
70
|
-
addItems: (args: AddItemsParameters<R>) => void;
|
|
71
|
-
/**
|
|
72
|
-
* Remove the children of an item.
|
|
73
|
-
* @param {TreeViewItemId} parentId The id of the item to remove the children of.
|
|
74
|
-
*/
|
|
75
|
-
removeChildren: (parentId?: TreeViewItemId) => void;
|
|
76
|
-
/**
|
|
77
|
-
* Set the loading state of the tree.
|
|
78
|
-
* @param {boolean} loading True if the tree view is loading.
|
|
79
|
-
*/
|
|
80
|
-
setTreeViewLoading: (loading: boolean) => void;
|
|
81
|
-
/**
|
|
82
|
-
* Set the error state of the tree.
|
|
83
|
-
* @param {Error | null} error The error on the tree view.
|
|
84
|
-
*/
|
|
85
|
-
setTreeViewError: (error: Error | null) => void;
|
|
86
|
-
/**
|
|
87
|
-
* Event handler to fire when the `content` slot of a given Tree Item is clicked.
|
|
88
|
-
* @param {React.MouseEvent} event The DOM event that triggered the change.
|
|
89
|
-
* @param {TreeViewItemId} itemId The id of the item being clicked.
|
|
90
|
-
*/
|
|
91
|
-
handleItemClick: (event: React.MouseEvent, itemId: TreeViewItemId) => void;
|
|
92
|
-
}
|
|
93
|
-
export interface UseTreeViewItemsParameters<R extends {
|
|
94
|
-
children?: R[];
|
|
95
|
-
}> {
|
|
96
|
-
/**
|
|
97
|
-
* If `true`, will allow focus on disabled items.
|
|
98
|
-
* @default false
|
|
99
|
-
*/
|
|
100
|
-
disabledItemsFocusable?: boolean;
|
|
101
|
-
items: readonly R[];
|
|
102
|
-
/**
|
|
103
|
-
* Used to determine if a given item should be disabled.
|
|
104
|
-
* @template R
|
|
105
|
-
* @param {R} item The item to check.
|
|
106
|
-
* @returns {boolean} `true` if the item should be disabled.
|
|
107
|
-
*/
|
|
108
|
-
isItemDisabled?: (item: R) => boolean;
|
|
109
|
-
/**
|
|
110
|
-
* Used to determine the string label for a given item.
|
|
111
|
-
*
|
|
112
|
-
* @template R
|
|
113
|
-
* @param {R} item The item to check.
|
|
114
|
-
* @returns {string} The label of the item.
|
|
115
|
-
* @default (item) => item.label
|
|
116
|
-
*/
|
|
117
|
-
getItemLabel?: (item: R) => string;
|
|
118
|
-
/**
|
|
119
|
-
* Used to determine the id of a given item.
|
|
120
|
-
*
|
|
121
|
-
* @template R
|
|
122
|
-
* @param {R} item The item to check.
|
|
123
|
-
* @returns {string} The id of the item.
|
|
124
|
-
* @default (item) => item.id
|
|
125
|
-
*/
|
|
126
|
-
getItemId?: (item: R) => TreeViewItemId;
|
|
127
|
-
/**
|
|
128
|
-
* Callback fired when the `content` slot of a given Tree Item is clicked.
|
|
129
|
-
* @param {React.MouseEvent} event The DOM event that triggered the change.
|
|
130
|
-
* @param {string} itemId The id of the focused item.
|
|
131
|
-
*/
|
|
132
|
-
onItemClick?: (event: React.MouseEvent, itemId: string) => void;
|
|
133
|
-
/**
|
|
134
|
-
* Horizontal indentation between an item and its children.
|
|
135
|
-
* Examples: 24, "24px", "2rem", "2em".
|
|
136
|
-
* @default 12px
|
|
137
|
-
*/
|
|
138
|
-
itemChildrenIndentation?: string | number;
|
|
139
|
-
}
|
|
140
|
-
export type UseTreeViewItemsDefaultizedParameters<R extends {
|
|
141
|
-
children?: R[];
|
|
142
|
-
}> = DefaultizedProps<UseTreeViewItemsParameters<R>, 'disabledItemsFocusable' | 'itemChildrenIndentation'>;
|
|
143
|
-
interface UseTreeViewItemsEventLookup {
|
|
144
|
-
removeItem: {
|
|
145
|
-
params: {
|
|
146
|
-
id: string;
|
|
147
|
-
};
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
export interface UseTreeViewItemsState<R extends {}> {
|
|
151
|
-
items: {
|
|
152
|
-
/**
|
|
153
|
-
* If `true`, will allow focus on disabled items.
|
|
154
|
-
* Always equal to `props.disabledItemsFocusable` (or `false` if not provided).
|
|
155
|
-
*/
|
|
156
|
-
disabledItemsFocusable: boolean;
|
|
157
|
-
/**
|
|
158
|
-
* Model of each item as provided by `props.items` or by imperative items updates.
|
|
159
|
-
* It is not updated when properties derived from the model are updated:
|
|
160
|
-
* - when the label of an item is updated, `itemMetaLookup` is updated, not `itemModelLookup`.
|
|
161
|
-
* - when the children of an item are updated, `itemOrderedChildrenIdsLookup` and `itemChildrenIndexesLookup` are updated, not `itemModelLookup`.
|
|
162
|
-
* This means that the `children`, `label` or `id` properties of an item model should never be used directly, always use the structured sub-states instead.
|
|
163
|
-
*/
|
|
164
|
-
itemModelLookup: {
|
|
165
|
-
[itemId: string]: TreeViewBaseItem<R>;
|
|
166
|
-
};
|
|
167
|
-
/**
|
|
168
|
-
* Meta data of each item.
|
|
169
|
-
*/
|
|
170
|
-
itemMetaLookup: {
|
|
171
|
-
[itemId: string]: TreeViewItemMeta;
|
|
172
|
-
};
|
|
173
|
-
/**
|
|
174
|
-
* Ordered children ids of each item.
|
|
175
|
-
*/
|
|
176
|
-
itemOrderedChildrenIdsLookup: {
|
|
177
|
-
[parentItemId: string]: string[];
|
|
178
|
-
};
|
|
179
|
-
/**
|
|
180
|
-
* Index of each child in the ordered children ids of its parent.
|
|
181
|
-
*/
|
|
182
|
-
itemChildrenIndexesLookup: {
|
|
183
|
-
[parentItemId: string]: {
|
|
184
|
-
[itemId: string]: number;
|
|
185
|
-
};
|
|
186
|
-
};
|
|
187
|
-
/**
|
|
188
|
-
* The loading state of the tree.
|
|
189
|
-
*/
|
|
190
|
-
loading: boolean;
|
|
191
|
-
/**
|
|
192
|
-
* The error state of the tree.
|
|
193
|
-
*/
|
|
194
|
-
error: Error | null;
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
export type UseTreeViewItemsSignature = TreeViewPluginSignature<{
|
|
198
|
-
params: UseTreeViewItemsParameters<any>;
|
|
199
|
-
defaultizedParams: UseTreeViewItemsDefaultizedParameters<any>;
|
|
200
|
-
instance: UseTreeViewItemsInstance<any>;
|
|
201
|
-
publicAPI: UseTreeViewItemsPublicAPI<any>;
|
|
202
|
-
events: UseTreeViewItemsEventLookup;
|
|
203
|
-
state: UseTreeViewItemsState<TreeViewDefaultItemModelProperties>;
|
|
204
|
-
}>;
|
|
205
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export const TREE_VIEW_ROOT_PARENT_ID = '__TREE_VIEW_ROOT_PARENT_ID__';
|
|
2
|
-
export const buildSiblingIndexes = siblings => {
|
|
3
|
-
const siblingsIndexLookup = {};
|
|
4
|
-
siblings.forEach((childId, index) => {
|
|
5
|
-
siblingsIndexLookup[childId] = index;
|
|
6
|
-
});
|
|
7
|
-
return siblingsIndexLookup;
|
|
8
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useTreeViewJSXItems } from "./useTreeViewJSXItems.js";
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import useEventCallback from '@mui/utils/useEventCallback';
|
|
4
|
-
import useForkRef from '@mui/utils/useForkRef';
|
|
5
|
-
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
6
|
-
import { publishTreeViewEvent } from "../../utils/publishTreeViewEvent.js";
|
|
7
|
-
import { useTreeViewContext } from "../../TreeViewProvider/index.js";
|
|
8
|
-
import { TreeViewChildrenItemContext, TreeViewChildrenItemProvider } from "../../TreeViewProvider/TreeViewChildrenItemProvider.js";
|
|
9
|
-
import { buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "../useTreeViewItems/useTreeViewItems.utils.js";
|
|
10
|
-
import { TreeViewItemDepthContext } from "../../TreeViewItemDepthContext/index.js";
|
|
11
|
-
import { generateTreeItemIdAttribute } from "../../corePlugins/useTreeViewId/useTreeViewId.utils.js";
|
|
12
|
-
import { itemHasChildren } from "../../../hooks/useTreeItemUtils/useTreeItemUtils.js";
|
|
13
|
-
import { useSelector } from "../../hooks/useSelector.js";
|
|
14
|
-
import { selectorTreeViewId } from "../../corePlugins/useTreeViewId/useTreeViewId.selectors.js";
|
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
export const useTreeViewJSXItems = ({
|
|
17
|
-
instance,
|
|
18
|
-
store
|
|
19
|
-
}) => {
|
|
20
|
-
instance.preventItemUpdates();
|
|
21
|
-
const insertJSXItem = useEventCallback(item => {
|
|
22
|
-
store.update(prevState => {
|
|
23
|
-
if (prevState.items.itemMetaLookup[item.id] != null) {
|
|
24
|
-
throw new Error(['MUI X: The Tree View component requires all items to have a unique `id` property.', 'Alternatively, you can use the `getItemId` prop to specify a custom id for each item.', `Two items were provided with the same id in the \`items\` prop: "${item.id}"`].join('\n'));
|
|
25
|
-
}
|
|
26
|
-
return _extends({}, prevState, {
|
|
27
|
-
items: _extends({}, prevState.items, {
|
|
28
|
-
itemMetaLookup: _extends({}, prevState.items.itemMetaLookup, {
|
|
29
|
-
[item.id]: item
|
|
30
|
-
}),
|
|
31
|
-
// For Simple Tree View, we don't have a proper `item` object, so we create a very basic one.
|
|
32
|
-
itemModelLookup: _extends({}, prevState.items.itemModelLookup, {
|
|
33
|
-
[item.id]: {
|
|
34
|
-
id: item.id,
|
|
35
|
-
label: item.label ?? ''
|
|
36
|
-
}
|
|
37
|
-
})
|
|
38
|
-
})
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
return () => {
|
|
42
|
-
store.update(prevState => {
|
|
43
|
-
const newItemMetaLookup = _extends({}, prevState.items.itemMetaLookup);
|
|
44
|
-
const newItemModelLookup = _extends({}, prevState.items.itemModelLookup);
|
|
45
|
-
delete newItemMetaLookup[item.id];
|
|
46
|
-
delete newItemModelLookup[item.id];
|
|
47
|
-
return _extends({}, prevState, {
|
|
48
|
-
items: _extends({}, prevState.items, {
|
|
49
|
-
itemMetaLookup: newItemMetaLookup,
|
|
50
|
-
itemModelLookup: newItemModelLookup
|
|
51
|
-
})
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
publishTreeViewEvent(instance, 'removeItem', {
|
|
55
|
-
id: item.id
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
const setJSXItemsOrderedChildrenIds = (parentId, orderedChildrenIds) => {
|
|
60
|
-
const parentIdWithDefault = parentId ?? TREE_VIEW_ROOT_PARENT_ID;
|
|
61
|
-
store.update(prevState => _extends({}, prevState, {
|
|
62
|
-
items: _extends({}, prevState.items, {
|
|
63
|
-
itemOrderedChildrenIdsLookup: _extends({}, prevState.items.itemOrderedChildrenIdsLookup, {
|
|
64
|
-
[parentIdWithDefault]: orderedChildrenIds
|
|
65
|
-
}),
|
|
66
|
-
itemChildrenIndexesLookup: _extends({}, prevState.items.itemChildrenIndexesLookup, {
|
|
67
|
-
[parentIdWithDefault]: buildSiblingIndexes(orderedChildrenIds)
|
|
68
|
-
})
|
|
69
|
-
})
|
|
70
|
-
}));
|
|
71
|
-
};
|
|
72
|
-
const mapFirstCharFromJSX = useEventCallback((itemId, firstChar) => {
|
|
73
|
-
instance.updateFirstCharMap(firstCharMap => {
|
|
74
|
-
firstCharMap[itemId] = firstChar;
|
|
75
|
-
return firstCharMap;
|
|
76
|
-
});
|
|
77
|
-
return () => {
|
|
78
|
-
instance.updateFirstCharMap(firstCharMap => {
|
|
79
|
-
const newMap = _extends({}, firstCharMap);
|
|
80
|
-
delete newMap[itemId];
|
|
81
|
-
return newMap;
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
});
|
|
85
|
-
return {
|
|
86
|
-
instance: {
|
|
87
|
-
insertJSXItem,
|
|
88
|
-
setJSXItemsOrderedChildrenIds,
|
|
89
|
-
mapFirstCharFromJSX
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
const useTreeViewJSXItemsItemPlugin = ({
|
|
94
|
-
props,
|
|
95
|
-
rootRef,
|
|
96
|
-
contentRef
|
|
97
|
-
}) => {
|
|
98
|
-
const {
|
|
99
|
-
instance,
|
|
100
|
-
store
|
|
101
|
-
} = useTreeViewContext();
|
|
102
|
-
const {
|
|
103
|
-
children,
|
|
104
|
-
disabled = false,
|
|
105
|
-
label,
|
|
106
|
-
itemId,
|
|
107
|
-
id
|
|
108
|
-
} = props;
|
|
109
|
-
const parentContext = React.useContext(TreeViewChildrenItemContext);
|
|
110
|
-
if (parentContext == null) {
|
|
111
|
-
throw new Error(['MUI X: Could not find the Tree View Children Item context.', 'It looks like you rendered your component outside of a SimpleTreeView parent component.', 'This can also happen if you are bundling multiple versions of the Tree View.'].join('\n'));
|
|
112
|
-
}
|
|
113
|
-
const {
|
|
114
|
-
registerChild,
|
|
115
|
-
unregisterChild,
|
|
116
|
-
parentId
|
|
117
|
-
} = parentContext;
|
|
118
|
-
const expandable = itemHasChildren(children);
|
|
119
|
-
const pluginContentRef = React.useRef(null);
|
|
120
|
-
const handleContentRef = useForkRef(pluginContentRef, contentRef);
|
|
121
|
-
const treeId = useSelector(store, selectorTreeViewId);
|
|
122
|
-
|
|
123
|
-
// Prevent any flashing
|
|
124
|
-
useEnhancedEffect(() => {
|
|
125
|
-
const idAttribute = generateTreeItemIdAttribute({
|
|
126
|
-
itemId,
|
|
127
|
-
treeId,
|
|
128
|
-
id
|
|
129
|
-
});
|
|
130
|
-
registerChild(idAttribute, itemId);
|
|
131
|
-
return () => {
|
|
132
|
-
unregisterChild(idAttribute);
|
|
133
|
-
unregisterChild(idAttribute);
|
|
134
|
-
};
|
|
135
|
-
}, [store, instance, registerChild, unregisterChild, itemId, id, treeId]);
|
|
136
|
-
useEnhancedEffect(() => {
|
|
137
|
-
return instance.insertJSXItem({
|
|
138
|
-
id: itemId,
|
|
139
|
-
idAttribute: id,
|
|
140
|
-
parentId,
|
|
141
|
-
expandable,
|
|
142
|
-
disabled
|
|
143
|
-
});
|
|
144
|
-
}, [instance, parentId, itemId, expandable, disabled, id]);
|
|
145
|
-
React.useEffect(() => {
|
|
146
|
-
if (label) {
|
|
147
|
-
return instance.mapFirstCharFromJSX(itemId, (pluginContentRef.current?.textContent ?? '').substring(0, 1).toLowerCase());
|
|
148
|
-
}
|
|
149
|
-
return undefined;
|
|
150
|
-
}, [instance, itemId, label]);
|
|
151
|
-
return {
|
|
152
|
-
contentRef: handleContentRef,
|
|
153
|
-
rootRef
|
|
154
|
-
};
|
|
155
|
-
};
|
|
156
|
-
useTreeViewJSXItems.itemPlugin = useTreeViewJSXItemsItemPlugin;
|
|
157
|
-
useTreeViewJSXItems.wrapItem = ({
|
|
158
|
-
children,
|
|
159
|
-
itemId,
|
|
160
|
-
idAttribute
|
|
161
|
-
}) => {
|
|
162
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
163
|
-
const depthContext = React.useContext(TreeViewItemDepthContext);
|
|
164
|
-
return /*#__PURE__*/_jsx(TreeViewChildrenItemProvider, {
|
|
165
|
-
itemId: itemId,
|
|
166
|
-
idAttribute: idAttribute,
|
|
167
|
-
children: /*#__PURE__*/_jsx(TreeViewItemDepthContext.Provider, {
|
|
168
|
-
value: depthContext + 1,
|
|
169
|
-
children: children
|
|
170
|
-
})
|
|
171
|
-
});
|
|
172
|
-
};
|
|
173
|
-
useTreeViewJSXItems.wrapRoot = ({
|
|
174
|
-
children
|
|
175
|
-
}) => /*#__PURE__*/_jsx(TreeViewChildrenItemProvider, {
|
|
176
|
-
itemId: null,
|
|
177
|
-
idAttribute: null,
|
|
178
|
-
children: /*#__PURE__*/_jsx(TreeViewItemDepthContext.Provider, {
|
|
179
|
-
value: 0,
|
|
180
|
-
children: children
|
|
181
|
-
})
|
|
182
|
-
});
|
|
183
|
-
useTreeViewJSXItems.params = {};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { TreeViewItemMeta, TreeViewPluginSignature } from "../../models/index.js";
|
|
2
|
-
import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
|
|
3
|
-
import { UseTreeViewKeyboardNavigationSignature } from "../useTreeViewKeyboardNavigation/index.js";
|
|
4
|
-
import { TreeViewItemId } from "../../../models/index.js";
|
|
5
|
-
export interface UseTreeViewItemsInstance {
|
|
6
|
-
/**
|
|
7
|
-
* Insert a new item in the state from a Tree Item component.
|
|
8
|
-
* @param {TreeViewItemMeta} item The meta-information of the item to insert.
|
|
9
|
-
* @returns {() => void} A function to remove the item from the state.
|
|
10
|
-
*/
|
|
11
|
-
insertJSXItem: (item: TreeViewItemMeta) => () => void;
|
|
12
|
-
/**
|
|
13
|
-
* Updates the `firstCharMap` to register the first character of the given item's label.
|
|
14
|
-
* This map is used to navigate the tree using type-ahead search.
|
|
15
|
-
* @param {TreeViewItemId} itemId The id of the item to map the first character of.
|
|
16
|
-
* @param {string} firstChar The first character of the item's label.
|
|
17
|
-
* @returns {() => void} A function to remove the item from the `firstCharMap`.
|
|
18
|
-
*/
|
|
19
|
-
mapFirstCharFromJSX: (itemId: TreeViewItemId, firstChar: string) => () => void;
|
|
20
|
-
/**
|
|
21
|
-
* Store the ids of a given item's children in the state.
|
|
22
|
-
* Those ids must be passed in the order they should be rendered.
|
|
23
|
-
* @param {TreeViewItemId | null} parentId The id of the item to store the children of.
|
|
24
|
-
* @param {TreeViewItemId[]} orderedChildrenIds The ids of the item's children.
|
|
25
|
-
*/
|
|
26
|
-
setJSXItemsOrderedChildrenIds: (parentId: TreeViewItemId | null, orderedChildrenIds: TreeViewItemId[]) => void;
|
|
27
|
-
}
|
|
28
|
-
export interface UseTreeViewJSXItemsParameters {}
|
|
29
|
-
export interface UseTreeViewItemsDefaultizedParameters {}
|
|
30
|
-
export type UseTreeViewJSXItemsSignature = TreeViewPluginSignature<{
|
|
31
|
-
params: UseTreeViewJSXItemsParameters;
|
|
32
|
-
defaultizedParams: UseTreeViewItemsDefaultizedParameters;
|
|
33
|
-
instance: UseTreeViewItemsInstance;
|
|
34
|
-
dependencies: [UseTreeViewItemsSignature, UseTreeViewKeyboardNavigationSignature];
|
|
35
|
-
}>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useTreeViewKeyboardNavigation } from "./useTreeViewKeyboardNavigation.js";
|