@mui/x-tree-view 8.0.0-alpha.9 → 8.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1446 -0
- package/README.md +1 -1
- package/RichTreeView/RichTreeView.d.ts +4 -4
- package/RichTreeView/RichTreeView.js +100 -79
- package/RichTreeView/RichTreeView.plugins.d.ts +9 -10
- package/RichTreeView/RichTreeView.plugins.js +14 -8
- package/RichTreeView/RichTreeView.types.d.ts +40 -40
- package/RichTreeView/RichTreeView.types.js +5 -1
- package/RichTreeView/index.d.ts +5 -5
- package/RichTreeView/index.js +39 -3
- package/RichTreeView/richTreeViewClasses.d.ts +3 -3
- package/RichTreeView/richTreeViewClasses.js +13 -5
- package/SimpleTreeView/SimpleTreeView.d.ts +5 -5
- package/SimpleTreeView/SimpleTreeView.js +73 -65
- package/SimpleTreeView/SimpleTreeView.plugins.d.ts +8 -9
- package/SimpleTreeView/SimpleTreeView.plugins.js +14 -8
- package/SimpleTreeView/SimpleTreeView.types.d.ts +41 -41
- package/SimpleTreeView/SimpleTreeView.types.js +5 -1
- package/SimpleTreeView/index.d.ts +3 -3
- package/SimpleTreeView/index.js +27 -3
- package/SimpleTreeView/simpleTreeViewClasses.d.ts +3 -3
- package/SimpleTreeView/simpleTreeViewClasses.js +13 -5
- package/TreeItem/TreeItem.d.ts +10 -8
- package/TreeItem/TreeItem.js +121 -73
- package/TreeItem/TreeItem.types.d.ts +97 -84
- package/TreeItem/TreeItem.types.js +5 -1
- package/TreeItem/index.d.ts +2 -2
- package/TreeItem/index.js +69 -2
- package/TreeItem/treeItemClasses.d.ts +29 -29
- package/TreeItem/treeItemClasses.js +13 -5
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +3 -3
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +21 -15
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +4 -4
- package/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +5 -1
- package/TreeItemDragAndDropOverlay/index.d.ts +2 -2
- package/TreeItemDragAndDropOverlay/index.js +12 -1
- package/TreeItemIcon/TreeItemIcon.d.ts +3 -3
- package/TreeItemIcon/TreeItemIcon.js +35 -27
- package/TreeItemIcon/TreeItemIcon.types.d.ts +33 -33
- package/TreeItemIcon/TreeItemIcon.types.js +5 -1
- package/TreeItemIcon/index.d.ts +2 -2
- package/TreeItemIcon/index.js +12 -1
- package/TreeItemLabelInput/TreeItemLabelInput.d.ts +1 -1
- package/TreeItemLabelInput/TreeItemLabelInput.js +11 -6
- package/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +12 -12
- package/TreeItemLabelInput/TreeItemLabelInput.types.js +5 -1
- package/TreeItemLabelInput/index.d.ts +2 -2
- package/TreeItemLabelInput/index.js +12 -1
- package/TreeItemProvider/TreeItemProvider.d.ts +3 -3
- package/TreeItemProvider/TreeItemProvider.js +22 -16
- package/TreeItemProvider/TreeItemProvider.types.d.ts +5 -5
- package/TreeItemProvider/TreeItemProvider.types.js +5 -1
- package/TreeItemProvider/index.d.ts +2 -2
- package/TreeItemProvider/index.js +12 -1
- package/esm/RichTreeView/RichTreeView.d.ts +18 -0
- package/{node → esm}/RichTreeView/RichTreeView.js +94 -85
- package/esm/RichTreeView/RichTreeView.plugins.d.ts +13 -0
- package/esm/RichTreeView/RichTreeView.plugins.js +10 -0
- package/esm/RichTreeView/RichTreeView.types.d.ts +52 -0
- package/esm/RichTreeView/RichTreeView.types.js +1 -0
- package/esm/RichTreeView/index.d.ts +5 -0
- package/esm/RichTreeView/index.js +3 -0
- package/esm/RichTreeView/richTreeViewClasses.d.ts +7 -0
- package/esm/RichTreeView/richTreeViewClasses.js +6 -0
- package/esm/SimpleTreeView/SimpleTreeView.d.ts +20 -0
- package/{node → esm}/SimpleTreeView/SimpleTreeView.js +67 -71
- package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +12 -0
- package/esm/SimpleTreeView/SimpleTreeView.plugins.js +10 -0
- package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +51 -0
- package/esm/SimpleTreeView/SimpleTreeView.types.js +1 -0
- package/esm/SimpleTreeView/index.d.ts +3 -0
- package/esm/SimpleTreeView/index.js +3 -0
- package/esm/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
- package/esm/SimpleTreeView/simpleTreeViewClasses.js +6 -0
- package/esm/TreeItem/TreeItem.d.ts +33 -0
- package/{node → esm}/TreeItem/TreeItem.js +114 -80
- package/esm/TreeItem/TreeItem.types.d.ts +107 -0
- package/esm/TreeItem/TreeItem.types.js +1 -0
- package/esm/TreeItem/index.d.ts +3 -0
- package/esm/TreeItem/index.js +2 -0
- package/esm/TreeItem/treeItemClasses.d.ts +33 -0
- package/esm/TreeItem/treeItemClasses.js +6 -0
- package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
- package/{node → esm}/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.js +15 -21
- package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +6 -0
- package/esm/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +1 -0
- package/esm/TreeItemDragAndDropOverlay/index.d.ts +2 -0
- package/esm/TreeItemDragAndDropOverlay/index.js +1 -0
- package/esm/TreeItemIcon/TreeItemIcon.d.ts +7 -0
- package/esm/TreeItemIcon/TreeItemIcon.js +74 -0
- package/esm/TreeItemIcon/TreeItemIcon.types.d.ts +40 -0
- package/esm/TreeItemIcon/TreeItemIcon.types.js +1 -0
- package/esm/TreeItemIcon/index.d.ts +2 -0
- package/esm/TreeItemIcon/index.js +1 -0
- package/esm/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
- package/esm/TreeItemLabelInput/TreeItemLabelInput.js +24 -0
- package/esm/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +14 -0
- package/esm/TreeItemLabelInput/TreeItemLabelInput.types.js +1 -0
- package/esm/TreeItemLabelInput/index.d.ts +2 -0
- package/esm/TreeItemLabelInput/index.js +1 -0
- package/esm/TreeItemProvider/TreeItemProvider.d.ts +7 -0
- package/esm/TreeItemProvider/TreeItemProvider.js +45 -0
- package/esm/TreeItemProvider/TreeItemProvider.types.d.ts +7 -0
- package/esm/TreeItemProvider/TreeItemProvider.types.js +1 -0
- package/esm/TreeItemProvider/index.d.ts +2 -0
- package/esm/TreeItemProvider/index.js +1 -0
- package/esm/hooks/index.d.ts +3 -0
- package/esm/hooks/index.js +3 -0
- package/esm/hooks/useTreeItemModel.d.ts +2 -0
- package/esm/hooks/useTreeItemModel.js +11 -0
- package/esm/hooks/useTreeItemUtils/index.d.ts +1 -0
- package/esm/hooks/useTreeItemUtils/index.js +1 -0
- package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +42 -0
- package/{node → esm}/hooks/useTreeItemUtils/useTreeItemUtils.js +45 -39
- package/esm/hooks/useTreeViewApiRef.d.ts +7 -0
- package/esm/hooks/useTreeViewApiRef.js +7 -0
- package/esm/icons/icons.d.ts +6 -0
- package/esm/icons/icons.js +9 -0
- package/esm/icons/index.d.ts +1 -0
- package/esm/icons/index.js +1 -0
- package/esm/index.d.ts +12 -0
- package/esm/index.js +22 -0
- package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +5 -0
- package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +5 -0
- package/esm/internals/TreeViewItemDepthContext/index.d.ts +1 -0
- package/esm/internals/TreeViewItemDepthContext/index.js +1 -0
- package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +17 -0
- package/{node → esm}/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +14 -23
- package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +6 -0
- package/esm/internals/TreeViewProvider/TreeViewContext.js +8 -0
- package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
- package/esm/internals/TreeViewProvider/TreeViewProvider.js +20 -0
- package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +19 -0
- package/esm/internals/TreeViewProvider/TreeViewProvider.types.js +1 -0
- package/esm/internals/TreeViewProvider/index.d.ts +3 -0
- package/esm/internals/TreeViewProvider/index.js +2 -0
- package/esm/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
- package/esm/internals/TreeViewProvider/useTreeViewContext.js +9 -0
- package/esm/internals/components/RichTreeViewItems.d.ts +32 -0
- package/esm/internals/components/RichTreeViewItems.js +68 -0
- package/esm/internals/corePlugins/corePlugins.d.ts +9 -0
- package/esm/internals/corePlugins/corePlugins.js +8 -0
- package/esm/internals/corePlugins/index.d.ts +2 -0
- package/esm/internals/corePlugins/index.js +1 -0
- package/esm/internals/corePlugins/useTreeViewId/index.d.ts +2 -0
- package/esm/internals/corePlugins/useTreeViewId/index.js +1 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +39 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +36 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +9 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +20 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +1 -0
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +21 -0
- package/{node → esm}/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +3 -11
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +1 -0
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +3 -0
- package/{node → esm}/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +4 -12
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +22 -0
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +1 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +1 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +12 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +8 -0
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +1 -0
- package/esm/internals/hooks/useInstanceEventHandler.d.ts +15 -0
- package/{node → esm}/internals/hooks/useInstanceEventHandler.js +7 -16
- package/esm/internals/hooks/useLazyRef.d.ts +1 -0
- package/esm/internals/hooks/useLazyRef.js +1 -0
- package/esm/internals/hooks/useOnMount.d.ts +1 -0
- package/esm/internals/hooks/useOnMount.js +1 -0
- package/esm/internals/hooks/useSelector.d.ts +4 -0
- package/esm/internals/hooks/useSelector.js +9 -0
- package/esm/internals/hooks/useTimeout.d.ts +1 -0
- package/esm/internals/hooks/useTimeout.js +1 -0
- package/esm/internals/index.d.ts +33 -0
- package/esm/internals/index.js +24 -0
- package/esm/internals/models/events.d.ts +9 -0
- package/esm/internals/models/events.js +1 -0
- package/esm/internals/models/helpers.d.ts +7 -0
- package/esm/internals/models/helpers.js +1 -0
- package/esm/internals/models/index.d.ts +4 -0
- package/esm/internals/models/index.js +4 -0
- package/esm/internals/models/itemPlugin.d.ts +43 -0
- package/esm/internals/models/itemPlugin.js +1 -0
- package/esm/internals/models/plugin.d.ts +151 -0
- package/esm/internals/models/plugin.js +1 -0
- package/esm/internals/models/treeView.d.ts +32 -0
- package/esm/internals/models/treeView.js +1 -0
- package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewExpansion/index.js +1 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +134 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +184 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +24 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +102 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +1 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +7 -0
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +19 -0
- package/esm/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewFocus/index.js +1 -0
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +135 -0
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +182 -0
- package/{node → esm}/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +5 -11
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +45 -0
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +1 -0
- package/esm/internals/plugins/useTreeViewIcons/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewIcons/index.js +1 -0
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -0
- package/{node → esm}/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +2 -10
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +42 -0
- package/esm/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +1 -0
- package/esm/internals/plugins/useTreeViewItems/index.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewItems/index.js +2 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +330 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +1058 -0
- package/{node → esm}/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +25 -18
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +205 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +1 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +4 -0
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +8 -0
- package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewJSXItems/index.js +1 -0
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +183 -0
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +35 -0
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +1 -0
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +1 -0
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
- package/{node → esm}/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +47 -47
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +33 -0
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +1 -0
- package/esm/internals/plugins/useTreeViewLabel/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewLabel/index.js +1 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -0
- package/{node → esm}/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +9 -17
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +68 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +74 -0
- package/{node → esm}/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +4 -10
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +59 -0
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +1 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +27 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +1 -0
- package/esm/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
- package/esm/internals/plugins/useTreeViewSelection/index.js +1 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
- package/{node → esm}/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +14 -22
- package/{node → esm}/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +34 -43
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +32 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +9 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +144 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +1 -0
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +38 -0
- package/{node → esm}/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +16 -26
- package/esm/internals/useTreeView/extractPluginParamsFromProps.d.ts +22 -0
- package/{node → esm}/internals/useTreeView/extractPluginParamsFromProps.js +4 -12
- package/esm/internals/useTreeView/index.d.ts +1 -0
- package/esm/internals/useTreeView/index.js +1 -0
- package/esm/internals/useTreeView/useTreeView.d.ts +9 -0
- package/{node → esm}/internals/useTreeView/useTreeView.js +19 -29
- package/esm/internals/useTreeView/useTreeView.types.d.ts +23 -0
- package/esm/internals/useTreeView/useTreeView.types.js +1 -0
- package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +18 -0
- package/{node → esm}/internals/useTreeView/useTreeViewBuildContext.js +3 -11
- package/esm/internals/useTreeView/useTreeViewModels.d.ts +7 -0
- package/{node → esm}/internals/useTreeView/useTreeViewModels.js +5 -14
- package/esm/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
- package/esm/internals/useTreeView/useTreeViewPlugins.js +0 -0
- package/esm/internals/utils/TreeViewStore.d.ts +12 -0
- package/{node → esm}/internals/utils/TreeViewStore.js +2 -9
- package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
- package/esm/internals/utils/cleanupTracking/CleanupTracking.js +1 -0
- package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
- package/{node → esm}/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +2 -9
- package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +9 -0
- package/{node → esm}/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +2 -9
- package/esm/internals/utils/plugins.d.ts +2 -0
- package/esm/internals/utils/plugins.js +4 -0
- package/esm/internals/utils/publishTreeViewEvent.d.ts +5 -0
- package/esm/internals/utils/publishTreeViewEvent.js +3 -0
- package/esm/internals/utils/selectors.d.ts +16 -0
- package/{node → esm}/internals/utils/selectors.js +14 -12
- package/esm/internals/utils/tree.d.ts +32 -0
- package/{node → esm}/internals/utils/tree.js +41 -55
- package/esm/internals/utils/utils.d.ts +2 -0
- package/{node → esm}/internals/utils/utils.js +2 -10
- package/esm/internals/zero-styled/index.d.ts +3 -0
- package/esm/internals/zero-styled/index.js +7 -0
- package/esm/models/events.d.ts +4 -0
- package/esm/models/events.js +1 -0
- package/esm/models/index.d.ts +3 -0
- package/esm/models/index.js +5 -0
- package/esm/models/items.d.ts +13 -0
- package/esm/models/items.js +1 -0
- package/esm/package.json +1 -0
- package/esm/themeAugmentation/components.d.ts +21 -0
- package/esm/themeAugmentation/index.d.ts +3 -0
- package/esm/themeAugmentation/index.js +0 -0
- package/esm/themeAugmentation/overrides.d.ts +16 -0
- package/esm/themeAugmentation/props.d.ts +14 -0
- package/esm/useTreeItem/index.d.ts +2 -0
- package/esm/useTreeItem/index.js +1 -0
- package/esm/useTreeItem/useTreeItem.d.ts +2 -0
- package/{node → esm}/useTreeItem/useTreeItem.js +67 -62
- package/esm/useTreeItem/useTreeItem.types.d.ts +196 -0
- package/esm/useTreeItem/useTreeItem.types.js +1 -0
- package/esm/utils/cache.d.ts +38 -0
- package/esm/utils/cache.js +31 -0
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.js +1 -0
- package/hooks/index.d.ts +3 -3
- package/hooks/index.js +26 -3
- package/hooks/useTreeItemModel.d.ts +2 -2
- package/hooks/useTreeItemModel.js +13 -7
- package/hooks/useTreeItemUtils/index.d.ts +1 -1
- package/hooks/useTreeItemUtils/index.js +12 -1
- package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +25 -26
- package/hooks/useTreeItemUtils/useTreeItemUtils.js +51 -33
- package/hooks/useTreeViewApiRef.d.ts +3 -3
- package/hooks/useTreeViewApiRef.js +9 -2
- package/icons/icons.d.ts +3 -3
- package/icons/icons.js +12 -5
- package/icons/index.d.ts +1 -1
- package/icons/index.js +16 -1
- package/index.d.ts +12 -12
- package/index.js +147 -15
- package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +3 -3
- package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +9 -2
- package/internals/TreeViewItemDepthContext/index.d.ts +1 -1
- package/internals/TreeViewItemDepthContext/index.js +12 -1
- package/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +8 -8
- package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +23 -14
- package/internals/TreeViewProvider/TreeViewContext.d.ts +2 -2
- package/internals/TreeViewProvider/TreeViewContext.js +9 -2
- package/internals/TreeViewProvider/TreeViewProvider.d.ts +3 -3
- package/internals/TreeViewProvider/TreeViewProvider.js +12 -5
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +13 -13
- package/internals/TreeViewProvider/TreeViewProvider.types.js +5 -1
- package/internals/TreeViewProvider/index.d.ts +3 -3
- package/internals/TreeViewProvider/index.js +19 -2
- package/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -3
- package/internals/TreeViewProvider/useTreeViewContext.js +13 -5
- package/internals/components/RichTreeViewItems.d.ts +21 -21
- package/internals/components/RichTreeViewItems.js +31 -23
- package/internals/corePlugins/corePlugins.d.ts +3 -4
- package/internals/corePlugins/corePlugins.js +10 -4
- package/internals/corePlugins/index.d.ts +2 -2
- package/internals/corePlugins/index.js +12 -1
- package/internals/corePlugins/useTreeViewId/index.d.ts +2 -2
- package/internals/corePlugins/useTreeViewId/index.js +12 -1
- package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -3
- package/internals/corePlugins/useTreeViewId/useTreeViewId.js +19 -10
- package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +25 -25
- package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +8 -2
- package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +14 -14
- package/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +5 -1
- package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +10 -6
- package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +11 -3
- package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -2
- package/internals/corePlugins/useTreeViewInstanceEvents/index.js +12 -1
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +2 -2
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +12 -4
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +19 -19
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +5 -1
- package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -2
- package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +12 -1
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -3
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +8 -1
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +4 -4
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +5 -1
- package/internals/hooks/useInstanceEventHandler.d.ts +8 -8
- package/internals/hooks/useInstanceEventHandler.js +16 -7
- package/internals/hooks/useLazyRef.d.ts +1 -1
- package/internals/hooks/useLazyRef.js +13 -1
- package/internals/hooks/useOnMount.d.ts +1 -1
- package/internals/hooks/useOnMount.js +13 -1
- package/internals/hooks/useSelector.d.ts +4 -4
- package/internals/hooks/useSelector.js +15 -4
- package/internals/hooks/useTimeout.d.ts +1 -1
- package/internals/hooks/useTimeout.js +13 -1
- package/internals/index.d.ts +31 -26
- package/internals/index.js +192 -20
- package/internals/models/events.d.ts +3 -3
- package/internals/models/events.js +5 -1
- package/internals/models/helpers.d.ts +1 -1
- package/internals/models/helpers.js +5 -1
- package/internals/models/index.d.ts +4 -4
- package/internals/models/index.js +49 -4
- package/internals/models/itemPlugin.d.ts +28 -28
- package/internals/models/itemPlugin.js +5 -1
- package/internals/models/plugin.d.ts +125 -148
- package/internals/models/plugin.js +5 -1
- package/internals/models/treeView.d.ts +19 -19
- package/internals/models/treeView.js +5 -1
- package/internals/plugins/useTreeViewExpansion/index.d.ts +2 -2
- package/internals/plugins/useTreeViewExpansion/index.js +12 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -3
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +64 -33
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +141 -137
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +11 -5
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +88 -64
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +5 -1
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +6 -3
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +11 -3
- package/internals/plugins/useTreeViewFocus/index.d.ts +2 -2
- package/internals/plugins/useTreeViewFocus/index.js +12 -1
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -3
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +40 -31
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +121 -121
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.js +11 -5
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +32 -36
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +5 -1
- package/internals/plugins/useTreeViewIcons/index.d.ts +2 -2
- package/internals/plugins/useTreeViewIcons/index.js +12 -1
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -3
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.js +10 -2
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +31 -32
- package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +5 -1
- package/internals/plugins/useTreeViewItems/index.d.ts +3 -3
- package/internals/plugins/useTreeViewItems/index.js +25 -2
- package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -3
- package/internals/plugins/useTreeViewItems/useTreeViewItems.js +194 -44
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +856 -684
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +31 -12
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +179 -130
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +5 -1
- package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +2 -2
- package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +10 -3
- package/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -2
- package/internals/plugins/useTreeViewJSXItems/index.js +12 -1
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -3
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +56 -47
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +32 -34
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +5 -1
- package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -2
- package/internals/plugins/useTreeViewKeyboardNavigation/index.js +12 -1
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -3
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +56 -38
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +27 -31
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +5 -1
- package/internals/plugins/useTreeViewLabel/index.d.ts +2 -2
- package/internals/plugins/useTreeViewLabel/index.js +12 -1
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -3
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -2
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.js +17 -9
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +23 -24
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +49 -49
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.js +10 -4
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +44 -49
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +5 -1
- package/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +33 -0
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
- package/internals/plugins/useTreeViewSelection/index.d.ts +2 -2
- package/internals/plugins/useTreeViewSelection/index.js +12 -1
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -3
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.js +22 -14
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +43 -34
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +22 -22
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +8 -2
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +123 -128
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +5 -1
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +27 -17
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +26 -16
- package/internals/useTreeView/extractPluginParamsFromProps.d.ts +18 -9
- package/internals/useTreeView/extractPluginParamsFromProps.js +12 -4
- package/internals/useTreeView/index.d.ts +1 -1
- package/internals/useTreeView/index.js +12 -1
- package/internals/useTreeView/useTreeView.d.ts +7 -3
- package/internals/useTreeView/useTreeView.js +29 -19
- package/internals/useTreeView/useTreeView.types.d.ts +13 -13
- package/internals/useTreeView/useTreeView.types.js +5 -1
- package/internals/useTreeView/useTreeViewBuildContext.d.ts +17 -11
- package/internals/useTreeView/useTreeViewBuildContext.js +11 -3
- package/internals/useTreeView/useTreeViewModels.d.ts +3 -3
- package/internals/useTreeView/useTreeViewModels.js +14 -5
- package/internals/useTreeView/useTreeViewPlugins.js +1 -0
- package/internals/utils/TreeViewStore.d.ts +7 -7
- package/internals/utils/TreeViewStore.js +9 -2
- package/internals/utils/cleanupTracking/CleanupTracking.d.ts +5 -5
- package/internals/utils/cleanupTracking/CleanupTracking.js +5 -1
- package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +6 -6
- package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +9 -2
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +8 -8
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +9 -2
- package/internals/utils/plugins.d.ts +2 -2
- package/internals/utils/plugins.js +9 -2
- package/internals/utils/publishTreeViewEvent.d.ts +4 -4
- package/internals/utils/publishTreeViewEvent.js +9 -2
- package/internals/utils/selectors.d.ts +9 -2
- package/internals/utils/selectors.js +21 -5
- package/internals/utils/tree.d.ts +2 -2
- package/internals/utils/tree.js +55 -41
- package/internals/utils/utils.d.ts +1 -1
- package/internals/utils/utils.js +10 -2
- package/internals/zero-styled/index.d.ts +1 -1
- package/internals/zero-styled/index.js +14 -4
- package/models/events.d.ts +2 -2
- package/models/events.js +5 -1
- package/models/index.d.ts +3 -3
- package/models/index.js +26 -4
- package/models/items.d.ts +6 -6
- package/models/items.js +5 -1
- package/modern/RichTreeView/RichTreeView.d.ts +18 -0
- package/modern/RichTreeView/RichTreeView.js +28 -13
- package/modern/RichTreeView/RichTreeView.plugins.d.ts +13 -0
- package/modern/RichTreeView/RichTreeView.types.d.ts +52 -0
- package/modern/RichTreeView/index.d.ts +5 -0
- package/modern/RichTreeView/richTreeViewClasses.d.ts +7 -0
- package/modern/SimpleTreeView/SimpleTreeView.d.ts +20 -0
- package/modern/SimpleTreeView/SimpleTreeView.js +8 -6
- package/modern/SimpleTreeView/SimpleTreeView.plugins.d.ts +12 -0
- package/modern/SimpleTreeView/SimpleTreeView.types.d.ts +51 -0
- package/modern/SimpleTreeView/index.d.ts +3 -0
- package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +7 -0
- package/modern/TreeItem/TreeItem.d.ts +33 -0
- package/modern/TreeItem/TreeItem.js +45 -4
- package/modern/TreeItem/TreeItem.types.d.ts +107 -0
- package/modern/TreeItem/index.d.ts +3 -0
- package/modern/TreeItem/treeItemClasses.d.ts +33 -0
- package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.d.ts +7 -0
- package/modern/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.d.ts +6 -0
- package/modern/TreeItemDragAndDropOverlay/index.d.ts +2 -0
- package/modern/TreeItemIcon/TreeItemIcon.d.ts +7 -0
- package/modern/TreeItemIcon/TreeItemIcon.js +2 -0
- package/modern/TreeItemIcon/TreeItemIcon.types.d.ts +40 -0
- package/modern/TreeItemIcon/index.d.ts +2 -0
- package/modern/TreeItemLabelInput/TreeItemLabelInput.d.ts +5 -0
- package/modern/TreeItemLabelInput/TreeItemLabelInput.types.d.ts +14 -0
- package/modern/TreeItemLabelInput/index.d.ts +2 -0
- package/modern/TreeItemProvider/TreeItemProvider.d.ts +7 -0
- package/modern/TreeItemProvider/TreeItemProvider.types.d.ts +7 -0
- package/modern/TreeItemProvider/index.d.ts +2 -0
- package/modern/hooks/index.d.ts +3 -0
- package/modern/hooks/useTreeItemModel.d.ts +2 -0
- package/modern/hooks/useTreeItemUtils/index.d.ts +1 -0
- package/modern/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +42 -0
- package/modern/hooks/useTreeItemUtils/useTreeItemUtils.js +21 -9
- package/modern/hooks/useTreeViewApiRef.d.ts +7 -0
- package/modern/icons/icons.d.ts +6 -0
- package/modern/icons/index.d.ts +1 -0
- package/modern/index.d.ts +12 -0
- package/modern/index.js +1 -1
- package/modern/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +5 -0
- package/modern/internals/TreeViewItemDepthContext/index.d.ts +1 -0
- package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.d.ts +17 -0
- package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +6 -0
- package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +9 -0
- package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +19 -0
- package/modern/internals/TreeViewProvider/index.d.ts +3 -0
- package/modern/internals/TreeViewProvider/useTreeViewContext.d.ts +3 -0
- package/modern/internals/components/RichTreeViewItems.d.ts +32 -0
- package/modern/internals/corePlugins/corePlugins.d.ts +9 -0
- package/modern/internals/corePlugins/index.d.ts +2 -0
- package/modern/internals/corePlugins/useTreeViewId/index.d.ts +2 -0
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +3 -0
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +36 -0
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +20 -0
- package/modern/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +21 -0
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +2 -0
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +3 -0
- package/modern/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +22 -0
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +2 -0
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +3 -0
- package/modern/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +8 -0
- package/modern/internals/hooks/useInstanceEventHandler.d.ts +15 -0
- package/modern/internals/hooks/useLazyRef.d.ts +1 -0
- package/modern/internals/hooks/useOnMount.d.ts +1 -0
- package/modern/internals/hooks/useSelector.d.ts +4 -0
- package/modern/internals/hooks/useSelector.js +4 -1
- package/modern/internals/hooks/useTimeout.d.ts +1 -0
- package/modern/internals/index.d.ts +33 -0
- package/modern/internals/index.js +4 -1
- package/modern/internals/models/events.d.ts +9 -0
- package/modern/internals/models/helpers.d.ts +7 -0
- package/modern/internals/models/index.d.ts +4 -0
- package/modern/internals/models/itemPlugin.d.ts +43 -0
- package/modern/internals/models/plugin.d.ts +151 -0
- package/modern/internals/models/treeView.d.ts +32 -0
- package/modern/internals/plugins/useTreeViewExpansion/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +35 -12
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +184 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +102 -0
- package/modern/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +7 -0
- package/modern/internals/plugins/useTreeViewFocus/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +182 -0
- package/modern/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +45 -0
- package/modern/internals/plugins/useTreeViewIcons/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +42 -0
- package/modern/internals/plugins/useTreeViewItems/index.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.js +157 -16
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +1058 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +13 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +205 -0
- package/modern/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +4 -0
- package/modern/internals/plugins/useTreeViewJSXItems/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +2 -2
- package/modern/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +35 -0
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +16 -7
- package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +33 -0
- package/modern/internals/plugins/useTreeViewLabel/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +4 -14
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +74 -0
- package/modern/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +59 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/index.d.ts +1 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/index.js +1 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +249 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +27 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +83 -0
- package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +1 -0
- package/modern/internals/plugins/useTreeViewSelection/index.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +3 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.itemPlugin.d.ts +2 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +4 -4
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +32 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +144 -0
- package/modern/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +38 -0
- package/modern/internals/useTreeView/extractPluginParamsFromProps.d.ts +22 -0
- package/modern/internals/useTreeView/index.d.ts +1 -0
- package/modern/internals/useTreeView/useTreeView.d.ts +9 -0
- package/modern/internals/useTreeView/useTreeView.types.d.ts +23 -0
- package/modern/internals/useTreeView/useTreeViewBuildContext.d.ts +18 -0
- package/modern/internals/useTreeView/useTreeViewModels.d.ts +7 -0
- package/modern/internals/useTreeView/useTreeViewPlugins.d.ts +0 -0
- package/modern/internals/utils/TreeViewStore.d.ts +12 -0
- package/modern/internals/utils/cleanupTracking/CleanupTracking.d.ts +9 -0
- package/modern/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +7 -0
- package/modern/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +9 -0
- package/modern/internals/utils/plugins.d.ts +2 -0
- package/modern/internals/utils/publishTreeViewEvent.d.ts +5 -0
- package/modern/internals/utils/selectors.d.ts +16 -0
- package/modern/internals/utils/selectors.js +9 -0
- package/modern/internals/utils/tree.d.ts +32 -0
- package/modern/internals/utils/utils.d.ts +2 -0
- package/modern/internals/zero-styled/index.d.ts +3 -0
- package/modern/models/events.d.ts +4 -0
- package/modern/models/index.d.ts +3 -0
- package/modern/models/items.d.ts +13 -0
- package/modern/package.json +1 -0
- package/modern/themeAugmentation/components.d.ts +21 -0
- package/modern/themeAugmentation/index.d.ts +3 -0
- package/modern/themeAugmentation/overrides.d.ts +16 -0
- package/modern/themeAugmentation/props.d.ts +14 -0
- package/modern/useTreeItem/index.d.ts +2 -0
- package/modern/useTreeItem/useTreeItem.d.ts +2 -0
- package/modern/useTreeItem/useTreeItem.js +13 -0
- package/modern/useTreeItem/useTreeItem.types.d.ts +196 -0
- package/modern/utils/cache.d.ts +38 -0
- package/modern/utils/cache.js +31 -0
- package/modern/utils/index.d.ts +1 -0
- package/modern/utils/index.js +1 -0
- package/package.json +41 -8
- package/themeAugmentation/components.d.ts +1 -3
- package/themeAugmentation/index.d.ts +1 -1
- package/themeAugmentation/index.js +1 -0
- package/themeAugmentation/overrides.d.ts +4 -5
- package/themeAugmentation/props.d.ts +4 -6
- package/tsconfig.build.tsbuildinfo +1 -0
- package/useTreeItem/index.d.ts +2 -2
- package/useTreeItem/index.js +12 -1
- package/useTreeItem/useTreeItem.d.ts +2 -2
- package/useTreeItem/useTreeItem.js +75 -54
- package/useTreeItem/useTreeItem.types.d.ts +161 -151
- package/useTreeItem/useTreeItem.types.js +5 -1
- package/utils/cache.d.ts +38 -0
- package/utils/cache.js +38 -0
- package/utils/index.d.ts +1 -0
- package/{node/icons → utils}/index.js +4 -4
- package/RichTreeView/package.json +0 -6
- package/SimpleTreeView/package.json +0 -6
- package/TreeItem/package.json +0 -6
- package/TreeItemDragAndDropOverlay/package.json +0 -6
- package/TreeItemIcon/package.json +0 -6
- package/TreeItemLabelInput/package.json +0 -6
- package/TreeItemProvider/package.json +0 -6
- package/hooks/package.json +0 -6
- package/icons/package.json +0 -6
- package/internals/package.json +0 -6
- package/models/package.json +0 -6
- package/node/RichTreeView/RichTreeView.plugins.js +0 -16
- package/node/RichTreeView/index.js +0 -39
- package/node/RichTreeView/richTreeViewClasses.js +0 -14
- package/node/SimpleTreeView/SimpleTreeView.plugins.js +0 -16
- package/node/SimpleTreeView/index.js +0 -27
- package/node/SimpleTreeView/simpleTreeViewClasses.js +0 -14
- package/node/TreeItem/TreeItem.types.js +0 -5
- package/node/TreeItem/index.js +0 -69
- package/node/TreeItem/treeItemClasses.js +0 -14
- package/node/TreeItemDragAndDropOverlay/TreeItemDragAndDropOverlay.types.js +0 -5
- package/node/TreeItemDragAndDropOverlay/index.js +0 -12
- package/node/TreeItemIcon/TreeItemIcon.js +0 -78
- package/node/TreeItemIcon/TreeItemIcon.types.js +0 -5
- package/node/TreeItemIcon/index.js +0 -12
- package/node/TreeItemLabelInput/TreeItemLabelInput.js +0 -29
- package/node/TreeItemLabelInput/TreeItemLabelInput.types.js +0 -5
- package/node/TreeItemLabelInput/index.js +0 -12
- package/node/TreeItemProvider/TreeItemProvider.js +0 -51
- package/node/TreeItemProvider/TreeItemProvider.types.js +0 -5
- package/node/TreeItemProvider/index.js +0 -12
- package/node/hooks/index.js +0 -26
- package/node/hooks/useTreeItemModel.js +0 -17
- package/node/hooks/useTreeItemUtils/index.js +0 -12
- package/node/hooks/useTreeViewApiRef.js +0 -14
- package/node/icons/icons.js +0 -16
- package/node/index.js +0 -154
- package/node/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.js +0 -12
- package/node/internals/TreeViewItemDepthContext/index.js +0 -12
- package/node/internals/TreeViewProvider/TreeViewContext.js +0 -15
- package/node/internals/TreeViewProvider/TreeViewProvider.js +0 -27
- package/node/internals/TreeViewProvider/TreeViewProvider.types.js +0 -5
- package/node/internals/TreeViewProvider/index.js +0 -19
- package/node/internals/TreeViewProvider/useTreeViewContext.js +0 -17
- package/node/internals/components/RichTreeViewItems.js +0 -76
- package/node/internals/corePlugins/corePlugins.js +0 -14
- package/node/internals/corePlugins/index.js +0 -12
- package/node/internals/corePlugins/useTreeViewId/index.js +0 -12
- package/node/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -48
- package/node/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
- package/node/internals/corePlugins/useTreeViewId/useTreeViewId.types.js +0 -5
- package/node/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
- package/node/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js +0 -5
- package/node/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
- package/node/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
- package/node/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js +0 -5
- package/node/internals/hooks/useLazyRef.js +0 -13
- package/node/internals/hooks/useOnMount.js +0 -13
- package/node/internals/hooks/useSelector.js +0 -13
- package/node/internals/hooks/useTimeout.js +0 -13
- package/node/internals/index.js +0 -160
- package/node/internals/models/events.js +0 -5
- package/node/internals/models/helpers.js +0 -5
- package/node/internals/models/index.js +0 -49
- package/node/internals/models/itemPlugin.js +0 -5
- package/node/internals/models/plugin.js +0 -5
- package/node/internals/models/treeView.js +0 -5
- package/node/internals/plugins/useTreeViewExpansion/index.js +0 -12
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -119
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.js +0 -30
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
- package/node/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.js +0 -27
- package/node/internals/plugins/useTreeViewFocus/index.js +0 -12
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -144
- package/node/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
- package/node/internals/plugins/useTreeViewIcons/index.js +0 -12
- package/node/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.js +0 -5
- package/node/internals/plugins/useTreeViewItems/index.js +0 -25
- package/node/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -198
- package/node/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
- package/node/internals/plugins/useTreeViewItems/useTreeViewItems.utils.js +0 -15
- package/node/internals/plugins/useTreeViewJSXItems/index.js +0 -12
- package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -192
- package/node/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
- package/node/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
- package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
- package/node/internals/plugins/useTreeViewLabel/index.js +0 -12
- package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -87
- package/node/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
- package/node/internals/plugins/useTreeViewSelection/index.js +0 -12
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.js +0 -15
- package/node/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
- package/node/internals/useTreeView/index.js +0 -12
- package/node/internals/useTreeView/useTreeView.types.js +0 -5
- package/node/internals/useTreeView/useTreeViewPlugins.js +0 -1
- package/node/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
- package/node/internals/utils/plugins.js +0 -11
- package/node/internals/utils/publishTreeViewEvent.js +0 -10
- package/node/internals/zero-styled/index.js +0 -17
- package/node/models/events.js +0 -5
- package/node/models/index.js +0 -27
- package/node/models/items.js +0 -5
- package/node/themeAugmentation/index.js +0 -1
- package/node/useTreeItem/index.js +0 -12
- package/node/useTreeItem/useTreeItem.types.js +0 -5
- package/themeAugmentation/package.json +0 -6
- package/useTreeItem/package.json +0 -6
- /package/{node/RichTreeView/RichTreeView.types.js → internals/plugins/useTreeViewLazyLoading/index.js} +0 -0
- /package/{node/SimpleTreeView/SimpleTreeView.types.js → internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js} +0 -0
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.createUseInstanceEventHandler = createUseInstanceEventHandler;
|
|
8
|
-
exports.useInstanceEventHandler = exports.unstable_resetCleanupTracking = void 0;
|
|
9
|
-
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _TimerBasedCleanupTracking = require("../utils/cleanupTracking/TimerBasedCleanupTracking");
|
|
11
|
-
var _FinalizationRegistryBasedCleanupTracking = require("../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking");
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TimerBasedCleanupTracking } from "../utils/cleanupTracking/TimerBasedCleanupTracking.js";
|
|
3
|
+
import { FinalizationRegistryBasedCleanupTracking } from "../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js";
|
|
12
4
|
// We use class to make it easier to detect in heap snapshots by name
|
|
13
5
|
class ObjectToBeRetainedByReact {}
|
|
14
6
|
|
|
15
7
|
// Based on https://github.com/Bnaya/use-dispose-uncommitted/blob/main/src/finalization-registry-based-impl.ts
|
|
16
8
|
// Check https://github.com/facebook/react/issues/15317 to get more information
|
|
17
|
-
function createUseInstanceEventHandler(registryContainer) {
|
|
9
|
+
export function createUseInstanceEventHandler(registryContainer) {
|
|
18
10
|
let cleanupTokensCounter = 0;
|
|
19
11
|
return function useInstanceEventHandler(instance, eventName, handler) {
|
|
20
12
|
if (registryContainer.registry === null) {
|
|
21
|
-
registryContainer.registry = typeof FinalizationRegistry !== 'undefined' ? new
|
|
13
|
+
registryContainer.registry = typeof FinalizationRegistry !== 'undefined' ? new FinalizationRegistryBasedCleanupTracking() : new TimerBasedCleanupTracking();
|
|
22
14
|
}
|
|
23
15
|
const [objectRetainedByReact] = React.useState(new ObjectToBeRetainedByReact());
|
|
24
16
|
const subscription = React.useRef(null);
|
|
@@ -78,9 +70,8 @@ const registryContainer = {
|
|
|
78
70
|
};
|
|
79
71
|
|
|
80
72
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
81
|
-
const unstable_resetCleanupTracking = () => {
|
|
73
|
+
export const unstable_resetCleanupTracking = () => {
|
|
82
74
|
registryContainer.registry?.reset();
|
|
83
75
|
registryContainer.registry = null;
|
|
84
76
|
};
|
|
85
|
-
|
|
86
|
-
const useInstanceEventHandler = exports.useInstanceEventHandler = createUseInstanceEventHandler(registryContainer);
|
|
77
|
+
export const useInstanceEventHandler = createUseInstanceEventHandler(registryContainer);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as useLazyRef } from '@mui/utils/useLazyRef';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as useLazyRef } from '@mui/utils/useLazyRef';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as useOnMount } from '@mui/utils/useOnMount';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as useOnMount } from '@mui/utils/useOnMount';
|
|
@@ -0,0 +1,4 @@
|
|
|
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;
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as useTimeout } from '@mui/utils/useTimeout';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as useTimeout } from '@mui/utils/useTimeout';
|
|
@@ -0,0 +1,33 @@
|
|
|
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";
|
|
@@ -0,0 +1,24 @@
|
|
|
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";
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
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 {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
+
import type { UseTreeItemContentSlotOwnProps, UseTreeItemDragAndDropOverlaySlotOwnProps, UseTreeItemLabelInputSlotOwnProps, UseTreeItemRootSlotOwnProps, UseTreeItemCheckboxSlotOwnProps, UseTreeItemStatus } 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
|
+
status: UseTreeItemStatus;
|
|
12
|
+
}
|
|
13
|
+
type TreeViewItemPluginSlotPropsEnhancer<TSlotProps> = (params: TreeViewItemPluginSlotPropsEnhancerParams) => Partial<TSlotProps>;
|
|
14
|
+
export interface TreeViewItemPluginSlotPropsEnhancers {
|
|
15
|
+
root?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemRootSlotOwnProps>;
|
|
16
|
+
content?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemContentSlotOwnProps>;
|
|
17
|
+
dragAndDropOverlay?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemDragAndDropOverlaySlotOwnProps>;
|
|
18
|
+
labelInput?: TreeViewItemPluginSlotPropsEnhancer<UseTreeItemLabelInputSlotOwnProps>;
|
|
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 unconfigured 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 {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
+
import { TreeViewExperimentalFeatures, TreeViewInstance, TreeViewModel } from "./treeView.js";
|
|
4
|
+
import type { MergeSignaturesProperty, OptionalIfEmpty } from './helpers';
|
|
5
|
+
import { TreeViewEventLookupElement } from "./events.js";
|
|
6
|
+
import type { TreeViewCorePluginSignatures } from '../corePlugins';
|
|
7
|
+
import { TreeViewItemPlugin } from "./itemPlugin.js";
|
|
8
|
+
import { TreeViewItemId } from "../../models/index.js";
|
|
9
|
+
import { TreeViewStore } from "../utils/TreeViewStore.js";
|
|
10
|
+
export interface TreeViewPluginOptions<TSignature extends TreeViewAnyPluginSignature> {
|
|
11
|
+
instance: TreeViewUsedInstance<TSignature>;
|
|
12
|
+
params: TreeViewUsedDefaultizedParams<TSignature>;
|
|
13
|
+
slots: TSignature['slots'];
|
|
14
|
+
slotProps: TSignature['slotProps'];
|
|
15
|
+
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
16
|
+
models: TreeViewUsedModels<TSignature>;
|
|
17
|
+
store: TreeViewUsedStore<TSignature>;
|
|
18
|
+
rootRef: React.RefObject<HTMLUListElement | null>;
|
|
19
|
+
plugins: TreeViewPlugin<TreeViewAnyPluginSignature>[];
|
|
20
|
+
}
|
|
21
|
+
type TreeViewModelsInitializer<TSignature extends TreeViewAnyPluginSignature> = { [TControlled in keyof TSignature['models']]: {
|
|
22
|
+
getDefaultValue: (params: TSignature['defaultizedParams']) => Exclude<TSignature['defaultizedParams'][TControlled], undefined>;
|
|
23
|
+
} };
|
|
24
|
+
type TreeViewResponse<TSignature extends TreeViewAnyPluginSignature> = {
|
|
25
|
+
getRootProps?: <TOther extends EventHandlers = {}>(otherHandlers: TOther) => React.HTMLAttributes<HTMLUListElement>;
|
|
26
|
+
} & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']> & OptionalIfEmpty<'contextValue', TSignature['contextValue']>;
|
|
27
|
+
export type TreeViewPluginSignature<T extends {
|
|
28
|
+
params?: {};
|
|
29
|
+
defaultizedParams?: {};
|
|
30
|
+
instance?: {};
|
|
31
|
+
publicAPI?: {};
|
|
32
|
+
events?: { [key in keyof T['events']]: TreeViewEventLookupElement };
|
|
33
|
+
state?: {};
|
|
34
|
+
cache?: {};
|
|
35
|
+
contextValue?: {};
|
|
36
|
+
slots?: { [key in keyof T['slots']]: React.ElementType };
|
|
37
|
+
slotProps?: { [key in keyof T['slotProps']]: {} | (() => {}) };
|
|
38
|
+
modelNames?: keyof T['defaultizedParams'];
|
|
39
|
+
experimentalFeatures?: string;
|
|
40
|
+
dependencies?: readonly TreeViewAnyPluginSignature[];
|
|
41
|
+
optionalDependencies?: readonly TreeViewAnyPluginSignature[];
|
|
42
|
+
}> = {
|
|
43
|
+
params: T extends {
|
|
44
|
+
params: {};
|
|
45
|
+
} ? T['params'] : {};
|
|
46
|
+
defaultizedParams: T extends {
|
|
47
|
+
defaultizedParams: {};
|
|
48
|
+
} ? T['defaultizedParams'] : {};
|
|
49
|
+
instance: T extends {
|
|
50
|
+
instance: {};
|
|
51
|
+
} ? T['instance'] : {};
|
|
52
|
+
publicAPI: T extends {
|
|
53
|
+
publicAPI: {};
|
|
54
|
+
} ? T['publicAPI'] : {};
|
|
55
|
+
events: T extends {
|
|
56
|
+
events: {};
|
|
57
|
+
} ? T['events'] : {};
|
|
58
|
+
state: T extends {
|
|
59
|
+
state: {};
|
|
60
|
+
} ? T['state'] : {};
|
|
61
|
+
cache: T extends {
|
|
62
|
+
cache: {};
|
|
63
|
+
} ? T['cache'] : {};
|
|
64
|
+
contextValue: T extends {
|
|
65
|
+
contextValue: {};
|
|
66
|
+
} ? T['contextValue'] : {};
|
|
67
|
+
slots: T extends {
|
|
68
|
+
slots: {};
|
|
69
|
+
} ? T['slots'] : {};
|
|
70
|
+
slotProps: T extends {
|
|
71
|
+
slotProps: {};
|
|
72
|
+
} ? T['slotProps'] : {};
|
|
73
|
+
models: T extends {
|
|
74
|
+
defaultizedParams: {};
|
|
75
|
+
modelNames: keyof T['defaultizedParams'];
|
|
76
|
+
} ? { [TControlled in T['modelNames']]-?: TreeViewModel<Exclude<T['defaultizedParams'][TControlled], undefined>> } : {};
|
|
77
|
+
experimentalFeatures: T extends {
|
|
78
|
+
experimentalFeatures: string;
|
|
79
|
+
} ? { [key in T['experimentalFeatures']]?: boolean } : {};
|
|
80
|
+
dependencies: T extends {
|
|
81
|
+
dependencies: Array<any>;
|
|
82
|
+
} ? T['dependencies'] : [];
|
|
83
|
+
optionalDependencies: T extends {
|
|
84
|
+
optionalDependencies: Array<any>;
|
|
85
|
+
} ? T['optionalDependencies'] : [];
|
|
86
|
+
};
|
|
87
|
+
export type TreeViewAnyPluginSignature = {
|
|
88
|
+
cache: any;
|
|
89
|
+
state: any;
|
|
90
|
+
instance: any;
|
|
91
|
+
params: any;
|
|
92
|
+
defaultizedParams: any;
|
|
93
|
+
dependencies: any;
|
|
94
|
+
optionalDependencies: any;
|
|
95
|
+
events: any;
|
|
96
|
+
contextValue: any;
|
|
97
|
+
slots: any;
|
|
98
|
+
slotProps: any;
|
|
99
|
+
models: any;
|
|
100
|
+
experimentalFeatures: any;
|
|
101
|
+
publicAPI: any;
|
|
102
|
+
};
|
|
103
|
+
type TreeViewRequiredPlugins<TSignature extends TreeViewAnyPluginSignature> = [...TreeViewCorePluginSignatures, ...TSignature['dependencies']];
|
|
104
|
+
type PluginPropertyWithDependencies<TSignature extends TreeViewAnyPluginSignature, TProperty extends keyof TreeViewAnyPluginSignature> = TSignature[TProperty] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, TProperty> & Partial<MergeSignaturesProperty<TSignature['optionalDependencies'], TProperty>>;
|
|
105
|
+
export type TreeViewUsedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'params'>;
|
|
106
|
+
export type TreeViewUsedDefaultizedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'defaultizedParams'>;
|
|
107
|
+
export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'instance'> & {
|
|
108
|
+
/**
|
|
109
|
+
* Private property only defined in TypeScript to be able to access the plugin signature from the instance object.
|
|
110
|
+
*/
|
|
111
|
+
$$signature: TSignature;
|
|
112
|
+
};
|
|
113
|
+
export type TreeViewUsedStore<TSignature extends TreeViewAnyPluginSignature> = TreeViewStore<[TSignature, ...TSignature['dependencies']]>;
|
|
114
|
+
type TreeViewUsedExperimentalFeatures<TSignature extends TreeViewAnyPluginSignature> = TreeViewExperimentalFeatures<[TSignature, ...TSignature['dependencies']], TSignature['optionalDependencies']>;
|
|
115
|
+
type RemoveSetValue<Models extends Record<string, TreeViewModel<any>>> = { [K in keyof Models]: Omit<Models[K], 'setValue'> };
|
|
116
|
+
export type TreeViewUsedModels<TSignature extends TreeViewAnyPluginSignature> = TSignature['models'] & RemoveSetValue<MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'models'>>;
|
|
117
|
+
export type TreeViewUsedEvents<TSignature extends TreeViewAnyPluginSignature> = TSignature['events'] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'events'>;
|
|
118
|
+
export type TreeItemWrapper<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (params: {
|
|
119
|
+
itemId: TreeViewItemId;
|
|
120
|
+
children: React.ReactNode;
|
|
121
|
+
instance: TreeViewInstance<TSignatures>;
|
|
122
|
+
idAttribute: string;
|
|
123
|
+
}) => React.ReactNode;
|
|
124
|
+
export type TreeRootWrapper = (params: {
|
|
125
|
+
children: React.ReactNode;
|
|
126
|
+
}) => React.ReactNode;
|
|
127
|
+
export type TreeViewPlugin<TSignature extends TreeViewAnyPluginSignature> = {
|
|
128
|
+
(options: TreeViewPluginOptions<TSignature>): TreeViewResponse<TSignature>;
|
|
129
|
+
getDefaultizedParams?: (options: {
|
|
130
|
+
params: TreeViewUsedParams<TSignature>;
|
|
131
|
+
experimentalFeatures: TreeViewUsedExperimentalFeatures<TSignature>;
|
|
132
|
+
}) => TSignature['defaultizedParams'];
|
|
133
|
+
getInitialState?: (params: TreeViewUsedDefaultizedParams<TSignature>) => TSignature['state'];
|
|
134
|
+
getInitialCache?: () => TSignature['cache'];
|
|
135
|
+
models?: TreeViewModelsInitializer<TSignature>;
|
|
136
|
+
params: Record<keyof TSignature['params'], true>;
|
|
137
|
+
itemPlugin?: TreeViewItemPlugin;
|
|
138
|
+
/**
|
|
139
|
+
* Render function used to add React wrappers around the TreeItem.
|
|
140
|
+
* @param {{ nodeId: TreeViewItemId; children: React.ReactNode; }} params The params of the item.
|
|
141
|
+
* @returns {React.ReactNode} The wrapped item.
|
|
142
|
+
*/
|
|
143
|
+
wrapItem?: TreeItemWrapper<[TSignature, ...TSignature['dependencies']]>;
|
|
144
|
+
/**
|
|
145
|
+
* Render function used to add React wrappers around the TreeView.
|
|
146
|
+
* @param {{ children: React.ReactNode; }} params The params of the root.
|
|
147
|
+
* @returns {React.ReactNode} The wrapped root.
|
|
148
|
+
*/
|
|
149
|
+
wrapRoot?: TreeRootWrapper;
|
|
150
|
+
};
|
|
151
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { TreeViewAnyPluginSignature } from './plugin';
|
|
2
|
+
import type { MergeSignaturesProperty } from './helpers';
|
|
3
|
+
import type { TreeViewCorePluginSignatures } from '../corePlugins';
|
|
4
|
+
export interface TreeViewItemMeta {
|
|
5
|
+
id: string;
|
|
6
|
+
idAttribute: string | undefined;
|
|
7
|
+
parentId: string | null;
|
|
8
|
+
expandable: boolean;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Only defined for `<RichTreeView />` and `<RichTreeViewPro />`.
|
|
12
|
+
*/
|
|
13
|
+
depth?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Only defined for `<RichTreeView />` and `<RichTreeViewPro />`.
|
|
16
|
+
*/
|
|
17
|
+
label?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface TreeViewModel<TValue> {
|
|
20
|
+
name: string;
|
|
21
|
+
value: TValue;
|
|
22
|
+
setControlledValue: (value: TValue | ((prevValue: TValue) => TValue)) => void;
|
|
23
|
+
}
|
|
24
|
+
export type TreeViewInstance<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'instance'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
25
|
+
export type TreeViewPublicAPI<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'publicAPI'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'instance'>>;
|
|
26
|
+
export type TreeViewExperimentalFeatures<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TSignatures, ...TOptionalSignatures], 'experimentalFeatures'>;
|
|
27
|
+
export type TreeViewStateCacheKey = {
|
|
28
|
+
id: number;
|
|
29
|
+
};
|
|
30
|
+
export type TreeViewState<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'state'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'state'>> & {
|
|
31
|
+
cacheKey: TreeViewStateCacheKey;
|
|
32
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useTreeViewExpansion } from "./useTreeViewExpansion.js";
|
|
@@ -0,0 +1,134 @@
|
|
|
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
|
+
};
|