@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,77 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { TimerBasedCleanupTracking } from "../utils/cleanupTracking/TimerBasedCleanupTracking.js";
|
|
3
|
-
import { FinalizationRegistryBasedCleanupTracking } from "../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js";
|
|
4
|
-
// We use class to make it easier to detect in heap snapshots by name
|
|
5
|
-
class ObjectToBeRetainedByReact {}
|
|
6
|
-
|
|
7
|
-
// Based on https://github.com/Bnaya/use-dispose-uncommitted/blob/main/src/finalization-registry-based-impl.ts
|
|
8
|
-
// Check https://github.com/facebook/react/issues/15317 to get more information
|
|
9
|
-
export function createUseInstanceEventHandler(registryContainer) {
|
|
10
|
-
let cleanupTokensCounter = 0;
|
|
11
|
-
return function useInstanceEventHandler(instance, eventName, handler) {
|
|
12
|
-
if (registryContainer.registry === null) {
|
|
13
|
-
registryContainer.registry = typeof FinalizationRegistry !== 'undefined' ? new FinalizationRegistryBasedCleanupTracking() : new TimerBasedCleanupTracking();
|
|
14
|
-
}
|
|
15
|
-
const [objectRetainedByReact] = React.useState(new ObjectToBeRetainedByReact());
|
|
16
|
-
const subscription = React.useRef(null);
|
|
17
|
-
const handlerRef = React.useRef(undefined);
|
|
18
|
-
handlerRef.current = handler;
|
|
19
|
-
const cleanupTokenRef = React.useRef(null);
|
|
20
|
-
if (!subscription.current && handlerRef.current) {
|
|
21
|
-
const enhancedHandler = (params, event) => {
|
|
22
|
-
if (!event.defaultMuiPrevented) {
|
|
23
|
-
handlerRef.current?.(params, event);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
subscription.current = instance.$$subscribeEvent(eventName, enhancedHandler);
|
|
27
|
-
cleanupTokensCounter += 1;
|
|
28
|
-
cleanupTokenRef.current = {
|
|
29
|
-
cleanupToken: cleanupTokensCounter
|
|
30
|
-
};
|
|
31
|
-
registryContainer.registry.register(objectRetainedByReact,
|
|
32
|
-
// The callback below will be called once this reference stops being retained
|
|
33
|
-
() => {
|
|
34
|
-
subscription.current?.();
|
|
35
|
-
subscription.current = null;
|
|
36
|
-
cleanupTokenRef.current = null;
|
|
37
|
-
}, cleanupTokenRef.current);
|
|
38
|
-
} else if (!handlerRef.current && subscription.current) {
|
|
39
|
-
subscription.current();
|
|
40
|
-
subscription.current = null;
|
|
41
|
-
if (cleanupTokenRef.current) {
|
|
42
|
-
registryContainer.registry.unregister(cleanupTokenRef.current);
|
|
43
|
-
cleanupTokenRef.current = null;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
React.useEffect(() => {
|
|
47
|
-
if (!subscription.current && handlerRef.current) {
|
|
48
|
-
const enhancedHandler = (params, event) => {
|
|
49
|
-
if (!event.defaultMuiPrevented) {
|
|
50
|
-
handlerRef.current?.(params, event);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
subscription.current = instance.$$subscribeEvent(eventName, enhancedHandler);
|
|
54
|
-
}
|
|
55
|
-
if (cleanupTokenRef.current && registryContainer.registry) {
|
|
56
|
-
// If the effect was called, it means that this render was committed
|
|
57
|
-
// so we can trust the cleanup function to remove the listener.
|
|
58
|
-
registryContainer.registry.unregister(cleanupTokenRef.current);
|
|
59
|
-
cleanupTokenRef.current = null;
|
|
60
|
-
}
|
|
61
|
-
return () => {
|
|
62
|
-
subscription.current?.();
|
|
63
|
-
subscription.current = null;
|
|
64
|
-
};
|
|
65
|
-
}, [instance, eventName]);
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
const registryContainer = {
|
|
69
|
-
registry: null
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
73
|
-
export const unstable_resetCleanupTracking = () => {
|
|
74
|
-
registryContainer.registry?.reset();
|
|
75
|
-
registryContainer.registry = null;
|
|
76
|
-
};
|
|
77
|
-
export const useInstanceEventHandler = createUseInstanceEventHandler(registryContainer);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as useLazyRef } from '@mui/utils/useLazyRef';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as useLazyRef } from '@mui/utils/useLazyRef';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as useOnMount } from '@mui/utils/useOnMount';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as useOnMount } from '@mui/utils/useOnMount';
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { TreeViewAnyPluginSignature, TreeViewState } from "../models/index.js";
|
|
2
|
-
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
3
|
-
import { TreeViewSelector } from "../utils/selectors.js";
|
|
4
|
-
export declare const useSelector: <TSignatures extends readonly TreeViewAnyPluginSignature[], TArgs, TValue>(store: TreeViewStore<TSignatures>, selector: TreeViewSelector<TreeViewState<TSignatures>, TArgs, TValue>, args?: TArgs, equals?: (a: TValue, b: TValue) => boolean) => TValue;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
// use-sync-external-store has no exports field defined
|
|
2
|
-
// See https://github.com/facebook/react/issues/30698
|
|
3
|
-
// eslint-disable-next-line import/extensions
|
|
4
|
-
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector.js';
|
|
5
|
-
const defaultCompare = Object.is;
|
|
6
|
-
export const useSelector = (store, selector, args = undefined, equals = defaultCompare) => {
|
|
7
|
-
const selectorWithArgs = state => selector(state, args);
|
|
8
|
-
return useSyncExternalStoreWithSelector(store.subscribe, store.getSnapshot, store.getSnapshot, selectorWithArgs, equals);
|
|
9
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as useTimeout } from '@mui/utils/useTimeout';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as useTimeout } from '@mui/utils/useTimeout';
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export { useTreeView } from "./useTreeView/index.js";
|
|
2
|
-
export { TreeViewProvider, useTreeViewContext } from "./TreeViewProvider/index.js";
|
|
3
|
-
export { RichTreeViewItems } from "./components/RichTreeViewItems.js";
|
|
4
|
-
export type { RichTreeViewItemsSlots, RichTreeViewItemsSlotProps } from './components/RichTreeViewItems';
|
|
5
|
-
export { unstable_resetCleanupTracking, useInstanceEventHandler } from "./hooks/useInstanceEventHandler.js";
|
|
6
|
-
export { useSelector } from "./hooks/useSelector.js";
|
|
7
|
-
export type { TreeViewPlugin, TreeViewPluginSignature, ConvertPluginsIntoSignatures, MergeSignaturesProperty, TreeViewPublicAPI, TreeViewState, TreeViewExperimentalFeatures, TreeViewItemMeta, TreeViewInstance, TreeViewItemPlugin, TreeViewUsedStore } from './models';
|
|
8
|
-
export type { TreeViewCorePluginParameters } from './corePlugins';
|
|
9
|
-
export { useTreeViewExpansion } from "./plugins/useTreeViewExpansion/index.js";
|
|
10
|
-
export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters } from './plugins/useTreeViewExpansion';
|
|
11
|
-
export { useTreeViewSelection } from "./plugins/useTreeViewSelection/index.js";
|
|
12
|
-
export type { UseTreeViewSelectionSignature, UseTreeViewSelectionParameters } from './plugins/useTreeViewSelection';
|
|
13
|
-
export { useTreeViewFocus } from "./plugins/useTreeViewFocus/index.js";
|
|
14
|
-
export type { UseTreeViewFocusSignature, UseTreeViewFocusParameters } from './plugins/useTreeViewFocus';
|
|
15
|
-
export { useTreeViewKeyboardNavigation } from "./plugins/useTreeViewKeyboardNavigation/index.js";
|
|
16
|
-
export type { UseTreeViewKeyboardNavigationSignature } from './plugins/useTreeViewKeyboardNavigation';
|
|
17
|
-
export { useTreeViewIcons } from "./plugins/useTreeViewIcons/index.js";
|
|
18
|
-
export type { UseTreeViewIconsSignature, UseTreeViewIconsParameters } from './plugins/useTreeViewIcons';
|
|
19
|
-
export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./plugins/useTreeViewItems/index.js";
|
|
20
|
-
export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
|
|
21
|
-
export type { UseTreeViewItemsSignature, UseTreeViewItemsParameters, UseTreeViewItemsState } from './plugins/useTreeViewItems';
|
|
22
|
-
export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
|
|
23
|
-
export type { UseTreeViewLabelSignature, UseTreeViewLabelParameters } from './plugins/useTreeViewLabel';
|
|
24
|
-
export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
|
|
25
|
-
export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
|
|
26
|
-
export { selectorDataSourceState, selectorGetTreeItemError } from "./plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js";
|
|
27
|
-
export type { UseTreeViewLazyLoadingSignature } from './plugins/useTreeViewLazyLoading';
|
|
28
|
-
export type { UseTreeViewLazyLoadingParameters } from './plugins/useTreeViewLazyLoading';
|
|
29
|
-
export { useTreeViewJSXItems } from "./plugins/useTreeViewJSXItems/index.js";
|
|
30
|
-
export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters } from './plugins/useTreeViewJSXItems';
|
|
31
|
-
export { createSelector } from "./utils/selectors.js";
|
|
32
|
-
export { isTargetInDescendants } from "./utils/tree.js";
|
|
33
|
-
export { TreeViewStore } from "./utils/TreeViewStore.js";
|
|
34
|
-
export type { TreeViewClasses } from './TreeViewProvider/TreeViewStyleContext';
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export { useTreeView } from "./useTreeView/index.js";
|
|
2
|
-
export { TreeViewProvider, useTreeViewContext } from "./TreeViewProvider/index.js";
|
|
3
|
-
export { RichTreeViewItems } from "./components/RichTreeViewItems.js";
|
|
4
|
-
export { unstable_resetCleanupTracking, useInstanceEventHandler } from "./hooks/useInstanceEventHandler.js";
|
|
5
|
-
export { useSelector } from "./hooks/useSelector.js";
|
|
6
|
-
|
|
7
|
-
// Core plugins
|
|
8
|
-
|
|
9
|
-
// Plugins
|
|
10
|
-
export { useTreeViewExpansion } from "./plugins/useTreeViewExpansion/index.js";
|
|
11
|
-
export { useTreeViewSelection } from "./plugins/useTreeViewSelection/index.js";
|
|
12
|
-
export { useTreeViewFocus } from "./plugins/useTreeViewFocus/index.js";
|
|
13
|
-
export { useTreeViewKeyboardNavigation } from "./plugins/useTreeViewKeyboardNavigation/index.js";
|
|
14
|
-
export { useTreeViewIcons } from "./plugins/useTreeViewIcons/index.js";
|
|
15
|
-
export { useTreeViewItems, buildSiblingIndexes, TREE_VIEW_ROOT_PARENT_ID } from "./plugins/useTreeViewItems/index.js";
|
|
16
|
-
export { selectorItemMetaLookup, selectorItemMeta, selectorItemIndex, selectorItemOrderedChildrenIds } from "./plugins/useTreeViewItems/useTreeViewItems.selectors.js";
|
|
17
|
-
export { useTreeViewLabel } from "./plugins/useTreeViewLabel/index.js";
|
|
18
|
-
export { selectorIsItemExpanded } from "./plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js";
|
|
19
|
-
export { selectorIsItemSelected } from "./plugins/useTreeViewSelection/useTreeViewSelection.selectors.js";
|
|
20
|
-
export { selectorDataSourceState, selectorGetTreeItemError } from "./plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js";
|
|
21
|
-
export { useTreeViewJSXItems } from "./plugins/useTreeViewJSXItems/index.js";
|
|
22
|
-
export { createSelector } from "./utils/selectors.js";
|
|
23
|
-
export { isTargetInDescendants } from "./utils/tree.js";
|
|
24
|
-
export { TreeViewStore } from "./utils/TreeViewStore.js";
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
export interface TreeViewEventLookupElement {
|
|
3
|
-
params: object;
|
|
4
|
-
}
|
|
5
|
-
export type TreeViewEventListener<E extends TreeViewEventLookupElement> = (params: E['params'], event: MuiEvent<{}>) => void;
|
|
6
|
-
export type MuiBaseEvent = React.SyntheticEvent<HTMLElement> | DocumentEventMap[keyof DocumentEventMap] | {};
|
|
7
|
-
export type MuiEvent<E extends MuiBaseEvent = MuiBaseEvent> = E & {
|
|
8
|
-
defaultMuiPrevented?: boolean;
|
|
9
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { TreeViewAnyPluginSignature, TreeViewPlugin } from './plugin';
|
|
2
|
-
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
3
|
-
export type OptionalIfEmpty<A extends string, B> = keyof B extends never ? Partial<Record<A, B>> : IsAny<B> extends true ? Partial<Record<A, B>> : Record<A, B>;
|
|
4
|
-
export type MergeSignaturesProperty<TSignatures extends readonly any[], TProperty extends keyof TreeViewAnyPluginSignature> = TSignatures extends readonly [plugin: infer P, ...otherPlugin: infer R] ? P extends TreeViewAnyPluginSignature ? P[TProperty] & MergeSignaturesProperty<R, TProperty> : {} : {};
|
|
5
|
-
export type ConvertPluginsIntoSignatures<TPlugins extends readonly TreeViewPlugin<TreeViewAnyPluginSignature>[]> = TPlugins extends readonly [plugin: infer TPlugin, ...otherPlugin: infer R] ? R extends readonly TreeViewPlugin<any>[] ? TPlugin extends TreeViewPlugin<infer TSignature> ? readonly [TSignature, ...ConvertPluginsIntoSignatures<R>] : never : never : [];
|
|
6
|
-
export type ConvertSignaturesIntoPlugins<TSignatures extends readonly TreeViewAnyPluginSignature[]> = TSignatures extends readonly [signature: infer TSignature, ...otherSignatures: infer R] ? R extends readonly TreeViewAnyPluginSignature[] ? TSignature extends TreeViewAnyPluginSignature ? readonly [TreeViewPlugin<TSignature>, ...ConvertSignaturesIntoPlugins<R>] : never : never : [];
|
|
7
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
-
import type { UseTreeItemContentSlotOwnProps, UseTreeItemDragAndDropOverlaySlotOwnProps, UseTreeItemLabelInputSlotOwnProps, UseTreeItemRootSlotOwnProps, UseTreeItemCheckboxSlotOwnProps, UseTreeItemLabelSlotOwnProps } from '../../useTreeItem';
|
|
4
|
-
import type { UseTreeItemInteractions } from '../../hooks/useTreeItemUtils/useTreeItemUtils';
|
|
5
|
-
import type { TreeItemProps } from '../../TreeItem/TreeItem.types';
|
|
6
|
-
export interface TreeViewItemPluginSlotPropsEnhancerParams {
|
|
7
|
-
rootRefObject: React.RefObject<HTMLLIElement | null>;
|
|
8
|
-
contentRefObject: React.RefObject<HTMLDivElement | null>;
|
|
9
|
-
externalEventHandlers: EventHandlers;
|
|
10
|
-
interactions: UseTreeItemInteractions;
|
|
11
|
-
}
|
|
12
|
-
type TreeViewItemPluginSlotPropsEnhancer<TSlotProps> = (params: TreeViewItemPluginSlotPropsEnhancerParams) => Partial<TSlotProps>;
|
|
13
|
-
export interface TreeViewItemPluginSlotPropsEnhancers {
|
|
14
|
-
root?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemRootSlotOwnProps>;
|
|
15
|
-
content?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemContentSlotOwnProps>;
|
|
16
|
-
dragAndDropOverlay?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemDragAndDropOverlaySlotOwnProps>;
|
|
17
|
-
labelInput?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemLabelInputSlotOwnProps>;
|
|
18
|
-
label?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemLabelSlotOwnProps>;
|
|
19
|
-
checkbox?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemCheckboxSlotOwnProps>;
|
|
20
|
-
}
|
|
21
|
-
export interface TreeViewItemPluginResponse {
|
|
22
|
-
/**
|
|
23
|
-
* Root of the `content` slot enriched by the plugin.
|
|
24
|
-
*/
|
|
25
|
-
contentRef?: React.RefCallback<HTMLElement> | null;
|
|
26
|
-
/**
|
|
27
|
-
* Ref of the `root` slot enriched by the plugin
|
|
28
|
-
*/
|
|
29
|
-
rootRef?: React.RefCallback<HTMLLIElement> | null;
|
|
30
|
-
/**
|
|
31
|
-
* Callback to enhance the slot props of the Tree Item.
|
|
32
|
-
*
|
|
33
|
-
* Not all slots are enabled by default,
|
|
34
|
-
* if a new plugin needs to pass to an un-configured slot,
|
|
35
|
-
* it just needs to be added to `TreeViewItemPluginSlotPropsEnhancers`
|
|
36
|
-
*/
|
|
37
|
-
propsEnhancers?: TreeViewItemPluginSlotPropsEnhancers;
|
|
38
|
-
}
|
|
39
|
-
export interface TreeViewItemPluginOptions extends Omit<TreeViewItemPluginResponse, 'propsEnhancers'> {
|
|
40
|
-
props: TreeItemProps;
|
|
41
|
-
}
|
|
42
|
-
export type TreeViewItemPlugin = (options: TreeViewItemPluginOptions) => void | TreeViewItemPluginResponse;
|
|
43
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
-
import { TreeViewExperimentalFeatures, TreeViewInstance, TreeViewModel } from "./treeView.js";
|
|
4
|
-
import type { MergeSignaturesProperty, OptionalIfEmpty } from './helpers';
|
|
5
|
-
import { TreeViewEventLookupElement } from "./events.js";
|
|
6
|
-
import type { TreeViewCorePluginSignatures } from '../corePlugins';
|
|
7
|
-
import { TreeViewItemPlugin } from "./itemPlugin.js";
|
|
8
|
-
import { TreeViewItemId } from "../../models/index.js";
|
|
9
|
-
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
10
|
-
export interface TreeViewPluginOptions<TSignature extends TreeViewAnyPluginSignature> {
|
|
11
|
-
instance: TreeViewUsedInstance<TSignature>;
|
|
12
|
-
params: TreeViewUsedDefaultizedParams<TSignature>;
|
|
13
|
-
slots: TSignature['slots'];
|
|
14
|
-
slotProps: TSignature['slotProps'];
|
|
15
|
-
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
16
|
-
models: TreeViewUsedModels<TSignature>;
|
|
17
|
-
store: TreeViewUsedStore<TSignature>;
|
|
18
|
-
rootRef: React.RefObject<HTMLUListElement | null>;
|
|
19
|
-
plugins: TreeViewPlugin<TreeViewAnyPluginSignature>[];
|
|
20
|
-
}
|
|
21
|
-
type TreeViewModelsInitializer<TSignature extends TreeViewAnyPluginSignature> = { [TControlled in keyof TSignature['models']]: {
|
|
22
|
-
getDefaultValue: (params: TSignature['defaultizedParams']) => Exclude<TSignature['defaultizedParams'][TControlled], undefined>;
|
|
23
|
-
} };
|
|
24
|
-
type TreeViewResponse<TSignature extends TreeViewAnyPluginSignature> = {
|
|
25
|
-
getRootProps?: <TOther extends EventHandlers = {}>(otherHandlers: TOther) => React.HTMLAttributes<HTMLUListElement>;
|
|
26
|
-
} & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']> & OptionalIfEmpty<'contextValue', TSignature['contextValue']>;
|
|
27
|
-
export type TreeViewPluginSignature<T extends {
|
|
28
|
-
params?: {};
|
|
29
|
-
defaultizedParams?: {};
|
|
30
|
-
instance?: {};
|
|
31
|
-
publicAPI?: {};
|
|
32
|
-
events?: { [key in keyof T['events']]: TreeViewEventLookupElement };
|
|
33
|
-
state?: {};
|
|
34
|
-
cache?: {};
|
|
35
|
-
contextValue?: {};
|
|
36
|
-
slots?: { [key in keyof T['slots']]: React.ElementType };
|
|
37
|
-
slotProps?: { [key in keyof T['slotProps']]: {} | (() => {}) };
|
|
38
|
-
modelNames?: keyof T['defaultizedParams'];
|
|
39
|
-
experimentalFeatures?: string;
|
|
40
|
-
dependencies?: readonly TreeViewAnyPluginSignature[];
|
|
41
|
-
optionalDependencies?: readonly TreeViewAnyPluginSignature[];
|
|
42
|
-
}> = {
|
|
43
|
-
params: T extends {
|
|
44
|
-
params: {};
|
|
45
|
-
} ? T['params'] : {};
|
|
46
|
-
defaultizedParams: T extends {
|
|
47
|
-
defaultizedParams: {};
|
|
48
|
-
} ? T['defaultizedParams'] : {};
|
|
49
|
-
instance: T extends {
|
|
50
|
-
instance: {};
|
|
51
|
-
} ? T['instance'] : {};
|
|
52
|
-
publicAPI: T extends {
|
|
53
|
-
publicAPI: {};
|
|
54
|
-
} ? T['publicAPI'] : {};
|
|
55
|
-
events: T extends {
|
|
56
|
-
events: {};
|
|
57
|
-
} ? T['events'] : {};
|
|
58
|
-
state: T extends {
|
|
59
|
-
state: {};
|
|
60
|
-
} ? T['state'] : {};
|
|
61
|
-
cache: T extends {
|
|
62
|
-
cache: {};
|
|
63
|
-
} ? T['cache'] : {};
|
|
64
|
-
contextValue: T extends {
|
|
65
|
-
contextValue: {};
|
|
66
|
-
} ? T['contextValue'] : {};
|
|
67
|
-
slots: T extends {
|
|
68
|
-
slots: {};
|
|
69
|
-
} ? T['slots'] : {};
|
|
70
|
-
slotProps: T extends {
|
|
71
|
-
slotProps: {};
|
|
72
|
-
} ? T['slotProps'] : {};
|
|
73
|
-
models: T extends {
|
|
74
|
-
defaultizedParams: {};
|
|
75
|
-
modelNames: keyof T['defaultizedParams'];
|
|
76
|
-
} ? { [TControlled in T['modelNames']]-?: TreeViewModel<Exclude<T['defaultizedParams'][TControlled], undefined>> } : {};
|
|
77
|
-
experimentalFeatures: T extends {
|
|
78
|
-
experimentalFeatures: string;
|
|
79
|
-
} ? { [key in T['experimentalFeatures']]?: boolean } : {};
|
|
80
|
-
dependencies: T extends {
|
|
81
|
-
dependencies: Array<any>;
|
|
82
|
-
} ? T['dependencies'] : [];
|
|
83
|
-
optionalDependencies: T extends {
|
|
84
|
-
optionalDependencies: Array<any>;
|
|
85
|
-
} ? T['optionalDependencies'] : [];
|
|
86
|
-
};
|
|
87
|
-
export type TreeViewAnyPluginSignature = {
|
|
88
|
-
cache: any;
|
|
89
|
-
state: any;
|
|
90
|
-
instance: any;
|
|
91
|
-
params: any;
|
|
92
|
-
defaultizedParams: any;
|
|
93
|
-
dependencies: any;
|
|
94
|
-
optionalDependencies: any;
|
|
95
|
-
events: any;
|
|
96
|
-
contextValue: any;
|
|
97
|
-
slots: any;
|
|
98
|
-
slotProps: any;
|
|
99
|
-
models: any;
|
|
100
|
-
experimentalFeatures: any;
|
|
101
|
-
publicAPI: any;
|
|
102
|
-
};
|
|
103
|
-
type TreeViewRequiredPlugins<TSignature extends TreeViewAnyPluginSignature> = [...TreeViewCorePluginSignatures, ...TSignature['dependencies']];
|
|
104
|
-
type PluginPropertyWithDependencies<TSignature extends TreeViewAnyPluginSignature, TProperty extends keyof TreeViewAnyPluginSignature> = TSignature[TProperty] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, TProperty> & Partial<MergeSignaturesProperty<TSignature['optionalDependencies'], TProperty>>;
|
|
105
|
-
export type TreeViewUsedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'params'>;
|
|
106
|
-
export type TreeViewUsedDefaultizedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'defaultizedParams'>;
|
|
107
|
-
export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'instance'> & {
|
|
108
|
-
/**
|
|
109
|
-
* Private property only defined in TypeScript to be able to access the plugin signature from the instance object.
|
|
110
|
-
*/
|
|
111
|
-
$$signature: TSignature;
|
|
112
|
-
};
|
|
113
|
-
export type TreeViewUsedStore<TSignature extends TreeViewAnyPluginSignature> = TreeViewStore<[TSignature, ...TSignature['dependencies']]>;
|
|
114
|
-
type TreeViewUsedExperimentalFeatures<TSignature extends TreeViewAnyPluginSignature> = TreeViewExperimentalFeatures<[TSignature, ...TSignature['dependencies']], TSignature['optionalDependencies']>;
|
|
115
|
-
type RemoveSetValue<Models extends Record<string, TreeViewModel<any>>> = { [K in keyof Models]: Omit<Models[K], 'setValue'> };
|
|
116
|
-
export type TreeViewUsedModels<TSignature extends TreeViewAnyPluginSignature> = TSignature['models'] & RemoveSetValue<MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'models'>>;
|
|
117
|
-
export type TreeViewUsedEvents<TSignature extends TreeViewAnyPluginSignature> = TSignature['events'] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'events'>;
|
|
118
|
-
export type TreeItemWrapper<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (params: {
|
|
119
|
-
itemId: TreeViewItemId;
|
|
120
|
-
children: React.ReactNode;
|
|
121
|
-
instance: TreeViewInstance<TSignatures>;
|
|
122
|
-
idAttribute: string;
|
|
123
|
-
}) => React.ReactNode;
|
|
124
|
-
export type TreeRootWrapper = (params: {
|
|
125
|
-
children: React.ReactNode;
|
|
126
|
-
}) => React.ReactNode;
|
|
127
|
-
export type TreeViewPlugin<TSignature extends TreeViewAnyPluginSignature> = {
|
|
128
|
-
(options: TreeViewPluginOptions<TSignature>): TreeViewResponse<TSignature>;
|
|
129
|
-
getDefaultizedParams?: (options: {
|
|
130
|
-
params: TreeViewUsedParams<TSignature>;
|
|
131
|
-
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
132
|
-
}) => TSignature['defaultizedParams'];
|
|
133
|
-
getInitialState?: (params: TreeViewUsedDefaultizedParams<TSignature>) => TSignature['state'];
|
|
134
|
-
getInitialCache?: () => TSignature['cache'];
|
|
135
|
-
models?: TreeViewModelsInitializer<TSignature>;
|
|
136
|
-
params: Record<keyof TSignature['params'], true>;
|
|
137
|
-
itemPlugin?: TreeViewItemPlugin;
|
|
138
|
-
/**
|
|
139
|
-
* Render function used to add React wrappers around the TreeItem.
|
|
140
|
-
* @param {{ nodeId: TreeViewItemId; children: React.ReactNode; }} params The params of the item.
|
|
141
|
-
* @returns {React.ReactNode} The wrapped item.
|
|
142
|
-
*/
|
|
143
|
-
wrapItem?: TreeItemWrapper<[TSignature, ...TSignature['dependencies']]>;
|
|
144
|
-
/**
|
|
145
|
-
* Render function used to add React wrappers around the TreeView.
|
|
146
|
-
* @param {{ children: React.ReactNode; }} params The params of the root.
|
|
147
|
-
* @returns {React.ReactNode} The wrapped root.
|
|
148
|
-
*/
|
|
149
|
-
wrapRoot?: TreeRootWrapper;
|
|
150
|
-
};
|
|
151
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { TreeViewAnyPluginSignature } from './plugin';
|
|
2
|
-
import type { MergeSignaturesProperty } from './helpers';
|
|
3
|
-
import type { TreeViewCorePluginSignatures } from '../corePlugins';
|
|
4
|
-
export interface TreeViewItemMeta {
|
|
5
|
-
id: string;
|
|
6
|
-
idAttribute: string | undefined;
|
|
7
|
-
parentId: string | null;
|
|
8
|
-
expandable: boolean;
|
|
9
|
-
disabled: boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Only defined for `<RichTreeView />` and `<RichTreeViewPro />`.
|
|
12
|
-
*/
|
|
13
|
-
depth?: number;
|
|
14
|
-
/**
|
|
15
|
-
* Only defined for `<RichTreeView />` and `<RichTreeViewPro />`.
|
|
16
|
-
*/
|
|
17
|
-
label?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface TreeViewModel<TValue> {
|
|
20
|
-
name: string;
|
|
21
|
-
value: TValue;
|
|
22
|
-
setControlledValue: (value: TValue | ((prevValue: TValue) => TValue)) => void;
|
|
23
|
-
}
|
|
24
|
-
export type TreeViewInstance<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'instance'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
25
|
-
export type TreeViewPublicAPI<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'publicAPI'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
26
|
-
export type TreeViewExperimentalFeatures<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TSignatures, ...TOptionalSignatures], 'experimentalFeatures'>;
|
|
27
|
-
export type TreeViewStateCacheKey = {
|
|
28
|
-
id: number;
|
|
29
|
-
};
|
|
30
|
-
export type TreeViewState<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'state'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'state'>> & {
|
|
31
|
-
cacheKey: TreeViewStateCacheKey;
|
|
32
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useTreeViewExpansion } from "./useTreeViewExpansion.js";
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import useEventCallback from '@mui/utils/useEventCallback';
|
|
3
|
-
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
4
|
-
import { selectorIsItemExpandable, selectorIsItemExpanded } from "./useTreeViewExpansion.selectors.js";
|
|
5
|
-
import { createExpandedItemsMap, getExpansionTrigger } from "./useTreeViewExpansion.utils.js";
|
|
6
|
-
import { selectorItemMeta, selectorItemOrderedChildrenIds } from "../useTreeViewItems/useTreeViewItems.selectors.js";
|
|
7
|
-
import { publishTreeViewEvent } from "../../utils/publishTreeViewEvent.js";
|
|
8
|
-
export const useTreeViewExpansion = ({
|
|
9
|
-
instance,
|
|
10
|
-
store,
|
|
11
|
-
params,
|
|
12
|
-
models
|
|
13
|
-
}) => {
|
|
14
|
-
useEnhancedEffect(() => {
|
|
15
|
-
store.update(prevState => _extends({}, prevState, {
|
|
16
|
-
expansion: _extends({}, prevState.expansion, {
|
|
17
|
-
expandedItemsMap: createExpandedItemsMap(models.expandedItems.value)
|
|
18
|
-
})
|
|
19
|
-
}));
|
|
20
|
-
}, [store, models.expandedItems.value]);
|
|
21
|
-
useEnhancedEffect(() => {
|
|
22
|
-
store.update(prevState => {
|
|
23
|
-
const newExpansionTrigger = getExpansionTrigger({
|
|
24
|
-
isItemEditable: params.isItemEditable,
|
|
25
|
-
expansionTrigger: params.expansionTrigger
|
|
26
|
-
});
|
|
27
|
-
if (prevState.expansion.expansionTrigger === newExpansionTrigger) {
|
|
28
|
-
return prevState;
|
|
29
|
-
}
|
|
30
|
-
return _extends({}, prevState, {
|
|
31
|
-
expansion: _extends({}, prevState.expansion, {
|
|
32
|
-
expansionTrigger: newExpansionTrigger
|
|
33
|
-
})
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
}, [store, params.isItemEditable, params.expansionTrigger]);
|
|
37
|
-
const setExpandedItems = (event, value) => {
|
|
38
|
-
params.onExpandedItemsChange?.(event, value);
|
|
39
|
-
models.expandedItems.setControlledValue(value);
|
|
40
|
-
};
|
|
41
|
-
const applyItemExpansion = useEventCallback(({
|
|
42
|
-
itemId,
|
|
43
|
-
event,
|
|
44
|
-
shouldBeExpanded
|
|
45
|
-
}) => {
|
|
46
|
-
let newExpanded;
|
|
47
|
-
if (shouldBeExpanded) {
|
|
48
|
-
newExpanded = [itemId].concat(models.expandedItems.value);
|
|
49
|
-
} else {
|
|
50
|
-
newExpanded = models.expandedItems.value.filter(id => id !== itemId);
|
|
51
|
-
}
|
|
52
|
-
if (params.onItemExpansionToggle) {
|
|
53
|
-
params.onItemExpansionToggle(event, itemId, shouldBeExpanded);
|
|
54
|
-
}
|
|
55
|
-
setExpandedItems(event, newExpanded);
|
|
56
|
-
});
|
|
57
|
-
const setItemExpansion = useEventCallback(({
|
|
58
|
-
itemId,
|
|
59
|
-
event = null,
|
|
60
|
-
shouldBeExpanded
|
|
61
|
-
}) => {
|
|
62
|
-
const isExpandedBefore = selectorIsItemExpanded(store.value, itemId);
|
|
63
|
-
const cleanShouldBeExpanded = shouldBeExpanded ?? !isExpandedBefore;
|
|
64
|
-
if (isExpandedBefore === cleanShouldBeExpanded) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const eventParameters = {
|
|
68
|
-
isExpansionPrevented: false,
|
|
69
|
-
shouldBeExpanded: cleanShouldBeExpanded,
|
|
70
|
-
event,
|
|
71
|
-
itemId
|
|
72
|
-
};
|
|
73
|
-
publishTreeViewEvent(instance, 'beforeItemToggleExpansion', eventParameters);
|
|
74
|
-
if (eventParameters.isExpansionPrevented) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
instance.applyItemExpansion({
|
|
78
|
-
itemId,
|
|
79
|
-
event,
|
|
80
|
-
shouldBeExpanded: cleanShouldBeExpanded
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
const expandAllSiblings = (event, itemId) => {
|
|
84
|
-
const itemMeta = selectorItemMeta(store.value, itemId);
|
|
85
|
-
if (itemMeta == null) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
const siblings = selectorItemOrderedChildrenIds(store.value, itemMeta.parentId);
|
|
89
|
-
const diff = siblings.filter(child => selectorIsItemExpandable(store.value, child) && !selectorIsItemExpanded(store.value, child));
|
|
90
|
-
const newExpanded = models.expandedItems.value.concat(diff);
|
|
91
|
-
if (diff.length > 0) {
|
|
92
|
-
if (params.onItemExpansionToggle) {
|
|
93
|
-
diff.forEach(newlyExpandedItemId => {
|
|
94
|
-
params.onItemExpansionToggle(event, newlyExpandedItemId, true);
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
setExpandedItems(event, newExpanded);
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
return {
|
|
101
|
-
publicAPI: {
|
|
102
|
-
setItemExpansion
|
|
103
|
-
},
|
|
104
|
-
instance: {
|
|
105
|
-
setItemExpansion,
|
|
106
|
-
applyItemExpansion,
|
|
107
|
-
expandAllSiblings
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
};
|
|
111
|
-
useTreeViewExpansion.models = {
|
|
112
|
-
expandedItems: {
|
|
113
|
-
getDefaultValue: params => params.defaultExpandedItems
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
const DEFAULT_EXPANDED_ITEMS = [];
|
|
117
|
-
useTreeViewExpansion.getDefaultizedParams = ({
|
|
118
|
-
params
|
|
119
|
-
}) => _extends({}, params, {
|
|
120
|
-
defaultExpandedItems: params.defaultExpandedItems ?? DEFAULT_EXPANDED_ITEMS
|
|
121
|
-
});
|
|
122
|
-
useTreeViewExpansion.getInitialState = params => ({
|
|
123
|
-
expansion: {
|
|
124
|
-
expandedItemsMap: createExpandedItemsMap(params.expandedItems === undefined ? params.defaultExpandedItems : params.expandedItems),
|
|
125
|
-
expansionTrigger: getExpansionTrigger(params)
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
useTreeViewExpansion.params = {
|
|
129
|
-
expandedItems: true,
|
|
130
|
-
defaultExpandedItems: true,
|
|
131
|
-
onExpandedItemsChange: true,
|
|
132
|
-
onItemExpansionToggle: true,
|
|
133
|
-
expansionTrigger: true
|
|
134
|
-
};
|