@mui/x-tree-view 8.22.0 → 8.24.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 +312 -0
- package/RichTreeView/RichTreeView.d.ts +1 -1
- package/RichTreeView/RichTreeView.js +41 -28
- package/RichTreeView/RichTreeView.types.d.ts +6 -4
- package/RichTreeView/index.d.ts +1 -3
- package/RichTreeView/index.js +1 -13
- package/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
- package/RichTreeView/useExtractRichTreeViewParameters.js +91 -0
- package/SimpleTreeView/SimpleTreeView.d.ts +1 -1
- package/SimpleTreeView/SimpleTreeView.js +30 -24
- package/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
- package/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
- package/SimpleTreeView/useExtractSimpleTreeViewParameters.js +78 -0
- package/TreeItem/TreeItem.d.ts +1 -1
- package/TreeItem/TreeItem.js +9 -2
- package/TreeItemProvider/TreeItemProvider.js +3 -10
- package/esm/RichTreeView/RichTreeView.d.ts +1 -1
- package/esm/RichTreeView/RichTreeView.js +40 -27
- package/esm/RichTreeView/RichTreeView.types.d.ts +6 -4
- package/esm/RichTreeView/index.d.ts +1 -3
- package/esm/RichTreeView/index.js +1 -1
- package/esm/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
- package/esm/RichTreeView/useExtractRichTreeViewParameters.js +83 -0
- package/esm/SimpleTreeView/SimpleTreeView.d.ts +1 -1
- package/esm/SimpleTreeView/SimpleTreeView.js +29 -23
- package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
- package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
- package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.js +70 -0
- package/esm/TreeItem/TreeItem.d.ts +1 -1
- package/esm/TreeItem/TreeItem.js +9 -2
- package/esm/TreeItemProvider/TreeItemProvider.js +3 -10
- package/esm/hooks/useApplyPropagationToSelectedItemsOnMount.js +2 -2
- package/esm/hooks/useRichTreeViewApiRef.d.ts +2 -2
- package/esm/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
- package/esm/hooks/useTreeItemModel.d.ts +2 -2
- package/esm/hooks/useTreeItemModel.js +1 -1
- package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
- package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +26 -35
- package/esm/hooks/useTreeViewApiRef.d.ts +3 -5
- package/esm/hooks/useTreeViewApiRef.js +4 -3
- package/esm/index.d.ts +0 -1
- package/esm/index.js +1 -2
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +126 -0
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +49 -0
- package/esm/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
- package/esm/internals/MinimalTreeViewStore/TimeoutManager.js +39 -0
- package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
- package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +16 -0
- package/esm/internals/MinimalTreeViewStore/index.d.ts +2 -0
- package/esm/internals/MinimalTreeViewStore/index.js +2 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.js +21 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.js +15 -0
- package/esm/internals/RichTreeViewStore/index.d.ts +3 -0
- package/esm/internals/RichTreeViewStore/index.js +3 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +18 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +5 -0
- package/esm/internals/SimpleTreeViewStore/index.d.ts +2 -0
- package/esm/internals/SimpleTreeViewStore/index.js +2 -0
- package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
- package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -3
- package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
- package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
- package/esm/internals/TreeViewProvider/TreeViewProvider.js +11 -6
- package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
- package/esm/internals/TreeViewProvider/index.d.ts +1 -1
- package/esm/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
- package/esm/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
- package/esm/internals/components/RichTreeViewItems.js +3 -3
- package/esm/internals/hooks/useTreeViewRootProps.d.ts +287 -0
- package/esm/internals/hooks/useTreeViewRootProps.js +30 -0
- package/esm/internals/hooks/useTreeViewStore.d.ts +10 -0
- package/esm/internals/hooks/useTreeViewStore.js +19 -0
- package/esm/internals/index.d.ts +15 -21
- package/esm/internals/index.js +11 -14
- package/esm/internals/models/events.d.ts +24 -3
- package/esm/internals/models/index.d.ts +2 -3
- package/esm/internals/models/index.js +2 -3
- package/esm/internals/models/itemPlugin.d.ts +9 -0
- package/esm/internals/models/treeView.d.ts +6 -9
- package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
- package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.js +124 -0
- package/esm/internals/plugins/expansion/index.d.ts +2 -0
- package/esm/internals/plugins/expansion/index.js +2 -0
- package/esm/internals/plugins/expansion/selectors.d.ts +27 -0
- package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +5 -5
- package/esm/internals/plugins/expansion/utils.d.ts +5 -0
- package/esm/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
- package/esm/internals/plugins/focus/TreeViewFocusPlugin.js +107 -0
- package/esm/internals/plugins/focus/index.d.ts +2 -0
- package/esm/internals/plugins/focus/index.js +2 -0
- package/esm/internals/plugins/focus/selectors.d.ts +21 -0
- package/esm/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +6 -6
- package/esm/internals/plugins/id/index.d.ts +1 -0
- package/esm/internals/plugins/id/index.js +1 -0
- package/esm/internals/plugins/id/selectors.d.ts +13 -0
- package/esm/internals/plugins/id/selectors.js +18 -0
- package/esm/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
- package/esm/internals/plugins/items/TreeViewItemsPlugin.js +223 -0
- package/esm/internals/plugins/items/index.d.ts +3 -0
- package/esm/internals/plugins/items/index.js +3 -0
- package/esm/internals/plugins/items/selectors.d.ts +60 -0
- package/esm/internals/plugins/items/selectors.js +64 -0
- package/esm/internals/plugins/items/utils.d.ts +43 -0
- package/esm/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -49
- package/esm/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
- package/esm/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +81 -0
- package/esm/internals/plugins/jsxItems/index.d.ts +1 -0
- package/esm/internals/plugins/jsxItems/index.js +1 -0
- package/esm/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
- package/esm/internals/plugins/jsxItems/itemPlugin.js +88 -0
- package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
- package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +306 -0
- package/esm/internals/plugins/keyboardNavigation/index.d.ts +1 -0
- package/esm/internals/plugins/keyboardNavigation/index.js +1 -0
- package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
- package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +50 -0
- package/esm/internals/plugins/labelEditing/index.d.ts +2 -0
- package/esm/internals/plugins/labelEditing/index.js +2 -0
- package/{internals/plugins/useTreeViewLabel → esm/internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
- package/esm/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +2 -2
- package/esm/internals/plugins/labelEditing/selectors.d.ts +15 -0
- package/esm/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
- package/esm/internals/plugins/lazyLoading/index.d.ts +2 -0
- package/esm/internals/plugins/lazyLoading/index.js +2 -0
- package/esm/internals/plugins/lazyLoading/selectors.d.ts +19 -0
- package/esm/internals/plugins/lazyLoading/selectors.js +25 -0
- package/esm/internals/plugins/lazyLoading/types.d.ts +5 -0
- package/esm/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
- package/esm/internals/plugins/selection/TreeViewSelectionPlugin.js +319 -0
- package/esm/internals/plugins/selection/index.d.ts +2 -0
- package/esm/internals/plugins/selection/index.js +2 -0
- package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
- package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +8 -8
- package/esm/internals/plugins/selection/selectors.d.ts +48 -0
- package/esm/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +19 -9
- package/esm/internals/utils/tree.d.ts +8 -10
- package/esm/internals/utils/tree.js +2 -2
- package/esm/models/items.d.ts +5 -2
- package/esm/useTreeItem/useTreeItem.d.ts +18 -2
- package/esm/useTreeItem/useTreeItem.js +15 -19
- package/esm/useTreeItem/useTreeItem.types.d.ts +9 -19
- package/hooks/useApplyPropagationToSelectedItemsOnMount.js +3 -3
- package/hooks/useRichTreeViewApiRef.d.ts +2 -2
- package/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
- package/hooks/useTreeItemModel.d.ts +2 -2
- package/hooks/useTreeItemModel.js +2 -2
- package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
- package/hooks/useTreeItemUtils/useTreeItemUtils.js +41 -49
- package/hooks/useTreeViewApiRef.d.ts +3 -5
- package/hooks/useTreeViewApiRef.js +3 -5
- package/index.d.ts +0 -1
- package/index.js +1 -22
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +134 -0
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +58 -0
- package/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
- package/internals/MinimalTreeViewStore/TimeoutManager.js +46 -0
- package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
- package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +23 -0
- package/internals/MinimalTreeViewStore/index.d.ts +2 -0
- package/internals/MinimalTreeViewStore/index.js +27 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.js +30 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +22 -0
- package/internals/RichTreeViewStore/index.d.ts +3 -0
- package/internals/RichTreeViewStore/index.js +38 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +26 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +11 -0
- package/internals/SimpleTreeViewStore/index.d.ts +2 -0
- package/internals/SimpleTreeViewStore/index.js +27 -0
- package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
- package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -4
- package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
- package/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
- package/internals/TreeViewProvider/TreeViewProvider.js +14 -9
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
- package/internals/TreeViewProvider/index.d.ts +1 -1
- package/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
- package/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
- package/internals/components/RichTreeViewItems.js +9 -9
- package/internals/hooks/useTreeViewRootProps.d.ts +287 -0
- package/internals/hooks/useTreeViewRootProps.js +36 -0
- package/internals/hooks/useTreeViewStore.d.ts +10 -0
- package/internals/hooks/useTreeViewStore.js +26 -0
- package/internals/index.d.ts +15 -21
- package/internals/index.js +40 -70
- package/internals/models/events.d.ts +24 -3
- package/internals/models/index.d.ts +2 -3
- package/internals/models/index.js +11 -22
- package/internals/models/itemPlugin.d.ts +9 -0
- package/internals/models/treeView.d.ts +6 -9
- package/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
- package/internals/plugins/expansion/TreeViewExpansionPlugin.js +132 -0
- package/internals/plugins/expansion/index.d.ts +2 -0
- package/internals/plugins/expansion/index.js +27 -0
- package/internals/plugins/expansion/selectors.d.ts +27 -0
- package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +8 -8
- package/internals/plugins/expansion/utils.d.ts +5 -0
- package/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
- package/internals/plugins/focus/TreeViewFocusPlugin.js +114 -0
- package/internals/plugins/focus/index.d.ts +2 -0
- package/internals/plugins/focus/index.js +27 -0
- package/internals/plugins/focus/selectors.d.ts +21 -0
- package/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +9 -9
- package/internals/plugins/id/index.d.ts +1 -0
- package/internals/plugins/id/index.js +16 -0
- package/internals/plugins/id/selectors.d.ts +13 -0
- package/internals/plugins/id/selectors.js +24 -0
- package/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
- package/internals/plugins/items/TreeViewItemsPlugin.js +231 -0
- package/internals/plugins/items/index.d.ts +3 -0
- package/internals/plugins/items/index.js +46 -0
- package/internals/plugins/items/selectors.d.ts +60 -0
- package/internals/plugins/{useTreeViewItems/useTreeViewItems.selectors.js → items/selectors.js} +18 -14
- package/internals/plugins/items/utils.d.ts +43 -0
- package/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -50
- package/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
- package/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +89 -0
- package/internals/plugins/jsxItems/index.d.ts +1 -0
- package/internals/plugins/jsxItems/index.js +16 -0
- package/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
- package/internals/plugins/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +35 -20
- package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
- package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +313 -0
- package/internals/plugins/keyboardNavigation/index.d.ts +1 -0
- package/internals/plugins/keyboardNavigation/index.js +16 -0
- package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
- package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +58 -0
- package/internals/plugins/labelEditing/index.d.ts +2 -0
- package/internals/plugins/labelEditing/index.js +27 -0
- package/{esm/internals/plugins/useTreeViewLabel → internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
- package/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +6 -6
- package/internals/plugins/labelEditing/selectors.d.ts +15 -0
- package/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
- package/internals/plugins/lazyLoading/index.d.ts +2 -0
- package/internals/plugins/lazyLoading/index.js +27 -0
- package/internals/plugins/lazyLoading/selectors.d.ts +19 -0
- package/internals/plugins/{useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js → lazyLoading/selectors.js} +11 -6
- package/internals/plugins/lazyLoading/types.d.ts +5 -0
- package/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
- package/internals/plugins/selection/TreeViewSelectionPlugin.js +327 -0
- package/internals/plugins/selection/index.d.ts +2 -0
- package/internals/plugins/selection/index.js +27 -0
- package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
- package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +16 -16
- package/internals/plugins/selection/selectors.d.ts +48 -0
- package/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +19 -9
- package/internals/utils/tree.d.ts +8 -10
- package/internals/utils/tree.js +33 -33
- package/models/items.d.ts +5 -2
- package/package.json +3 -3
- package/useTreeItem/useTreeItem.d.ts +18 -2
- package/useTreeItem/useTreeItem.js +19 -24
- package/useTreeItem/useTreeItem.types.d.ts +9 -19
- package/RichTreeView/RichTreeView.plugins.d.ts +0 -10
- package/RichTreeView/RichTreeView.plugins.js +0 -15
- package/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
- package/SimpleTreeView/SimpleTreeView.plugins.js +0 -15
- package/esm/RichTreeView/RichTreeView.plugins.d.ts +0 -10
- package/esm/RichTreeView/RichTreeView.plugins.js +0 -9
- package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
- package/esm/SimpleTreeView/SimpleTreeView.plugins.js +0 -9
- package/esm/internals/corePlugins/corePlugins.d.ts +0 -9
- package/esm/internals/corePlugins/corePlugins.js +0 -8
- package/esm/internals/corePlugins/index.d.ts +0 -2
- package/esm/internals/corePlugins/index.js +0 -1
- package/esm/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
- package/esm/internals/corePlugins/useTreeViewId/index.js +0 -2
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -38
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -31
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
- package/esm/internals/hooks/useInstanceEventHandler.d.ts +0 -15
- package/esm/internals/hooks/useInstanceEventHandler.js +0 -79
- package/esm/internals/models/helpers.d.ts +0 -7
- package/esm/internals/models/plugin.d.ts +0 -166
- package/esm/internals/models/plugin.js +0 -1
- package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewExpansion/index.js +0 -2
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -149
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
- package/esm/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewFocus/index.js +0 -2
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -113
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
- package/esm/internals/plugins/useTreeViewItems/index.d.ts +0 -4
- package/esm/internals/plugins/useTreeViewItems/index.js +0 -3
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -218
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -56
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -60
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -197
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
- package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewJSXItems/index.js +0 -1
- package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.js +0 -74
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -104
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -305
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
- package/esm/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewLabel/index.js +0 -2
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -70
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
- package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -20
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
- package/esm/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewSelection/index.js +0 -2
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -230
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -40
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -107
- package/esm/internals/useTreeView/index.d.ts +0 -1
- package/esm/internals/useTreeView/index.js +0 -1
- package/esm/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
- package/esm/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -51
- package/esm/internals/useTreeView/useTreeView.d.ts +0 -18
- package/esm/internals/useTreeView/useTreeView.js +0 -102
- package/esm/internals/useTreeView/useTreeView.types.d.ts +0 -20
- package/esm/internals/useTreeView/useTreeView.types.js +0 -1
- package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
- package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
- package/esm/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
- package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
- package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -14
- package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
- package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
- package/esm/internals/utils/plugins.d.ts +0 -2
- package/esm/internals/utils/plugins.js +0 -4
- package/esm/internals/utils/publishTreeViewEvent.d.ts +0 -5
- package/esm/internals/utils/publishTreeViewEvent.js +0 -3
- package/internals/corePlugins/corePlugins.d.ts +0 -9
- package/internals/corePlugins/corePlugins.js +0 -14
- package/internals/corePlugins/index.d.ts +0 -2
- package/internals/corePlugins/index.js +0 -12
- package/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
- package/internals/corePlugins/useTreeViewId/index.js +0 -19
- package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
- package/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -46
- package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
- package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
- package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
- package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
- package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -34
- package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
- package/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -38
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
- package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
- package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
- package/internals/hooks/useInstanceEventHandler.d.ts +0 -15
- package/internals/hooks/useInstanceEventHandler.js +0 -87
- package/internals/models/helpers.d.ts +0 -7
- package/internals/models/plugin.d.ts +0 -166
- package/internals/models/plugin.js +0 -5
- package/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
- package/internals/plugins/useTreeViewExpansion/index.js +0 -19
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -157
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
- package/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
- package/internals/plugins/useTreeViewFocus/index.js +0 -19
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -121
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
- package/internals/plugins/useTreeViewItems/index.d.ts +0 -4
- package/internals/plugins/useTreeViewItems/index.js +0 -32
- package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
- package/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -226
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -56
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -197
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
- package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
- package/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
- package/internals/plugins/useTreeViewJSXItems/index.js +0 -12
- package/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -112
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
- package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
- package/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -312
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
- package/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
- package/internals/plugins/useTreeViewLabel/index.js +0 -19
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -78
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
- package/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
- package/internals/plugins/useTreeViewLazyLoading/index.js +0 -12
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -5
- package/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
- package/internals/plugins/useTreeViewSelection/index.js +0 -19
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -239
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -40
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -116
- package/internals/useTreeView/index.d.ts +0 -1
- package/internals/useTreeView/index.js +0 -12
- package/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
- package/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -60
- package/internals/useTreeView/useTreeView.d.ts +0 -18
- package/internals/useTreeView/useTreeView.js +0 -112
- package/internals/useTreeView/useTreeView.types.d.ts +0 -20
- package/internals/useTreeView/useTreeView.types.js +0 -5
- package/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
- package/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
- package/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
- package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
- package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -21
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -45
- package/internals/utils/plugins.d.ts +0 -2
- package/internals/utils/plugins.js +0 -11
- package/internals/utils/publishTreeViewEvent.d.ts +0 -5
- package/internals/utils/publishTreeViewEvent.js +0 -10
- /package/esm/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
- /package/esm/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
- /package/esm/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
- /package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
- /package/esm/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
- /package/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
- /package/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
- /package/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
- /package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
- /package/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const getLastNavigableItem: (state: TreeViewState<[UseTreeViewExpansionSignature, UseTreeViewItemsSignature]>) => string;
|
|
7
|
-
export declare const getFirstNavigableItem: (state: TreeViewState<[UseTreeViewExpansionSignature, UseTreeViewItemsSignature]>) => string;
|
|
1
|
+
import { MinimalTreeViewState } from "../MinimalTreeViewStore/index.js";
|
|
2
|
+
export declare const getPreviousNavigableItem: (state: MinimalTreeViewState<any, any>, itemId: string) => string | null;
|
|
3
|
+
export declare const getNextNavigableItem: (state: MinimalTreeViewState<any, any>, itemId: string) => string | null;
|
|
4
|
+
export declare const getLastNavigableItem: (state: MinimalTreeViewState<any, any>) => string;
|
|
5
|
+
export declare const getFirstNavigableItem: (state: MinimalTreeViewState<any, any>) => string;
|
|
8
6
|
/**
|
|
9
7
|
* This is used to determine the start and end of a selection range so
|
|
10
8
|
* we can get the items between the two border items.
|
|
@@ -19,9 +17,9 @@ export declare const getFirstNavigableItem: (state: TreeViewState<[UseTreeViewEx
|
|
|
19
17
|
* Another way to put it is which item is shallower in a trémaux tree
|
|
20
18
|
* https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree
|
|
21
19
|
*/
|
|
22
|
-
export declare const findOrderInTremauxTree: (state:
|
|
23
|
-
export declare const getNonDisabledItemsInRange: (state:
|
|
24
|
-
export declare const getAllNavigableItems: (state:
|
|
20
|
+
export declare const findOrderInTremauxTree: (state: MinimalTreeViewState<any, any>, itemAId: string, itemBId: string) => string[];
|
|
21
|
+
export declare const getNonDisabledItemsInRange: (state: MinimalTreeViewState<any, any>, itemAId: string, itemBId: string) => string[];
|
|
22
|
+
export declare const getAllNavigableItems: (state: MinimalTreeViewState<any, any>) => string[];
|
|
25
23
|
/**
|
|
26
24
|
* Checks if the target is in a descendant of this item.
|
|
27
25
|
* This can prevent from firing some logic on the ancestors on the interacted item when the event handler is on the root.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { expansionSelectors } from "../plugins/
|
|
2
|
-
import { itemsSelectors } from "../plugins/
|
|
1
|
+
import { expansionSelectors } from "../plugins/expansion/selectors.js";
|
|
2
|
+
import { itemsSelectors } from "../plugins/items/selectors.js";
|
|
3
3
|
const getLastNavigableItemInArray = (state, items) => {
|
|
4
4
|
// Equivalent to Array.prototype.findLastIndex
|
|
5
5
|
let itemIndex = items.length - 1;
|
package/esm/models/items.d.ts
CHANGED
|
@@ -4,10 +4,13 @@ export type TreeViewDefaultItemModelProperties = {
|
|
|
4
4
|
label: string;
|
|
5
5
|
children?: TreeViewDefaultItemModelProperties[];
|
|
6
6
|
};
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated Use `TreeViewDefaultItemModelProperties` instead, or define your own item model interface.
|
|
9
|
+
*/
|
|
10
|
+
export type TreeViewBaseItem<R extends {} = TreeViewDefaultItemModelProperties> = R & {
|
|
8
11
|
children?: TreeViewBaseItem<R>[];
|
|
9
12
|
};
|
|
10
|
-
export type TreeViewValidItem<R extends
|
|
13
|
+
export type TreeViewValidItem<R extends {}> = {
|
|
11
14
|
children?: R[];
|
|
12
15
|
};
|
|
13
16
|
export type TreeViewItemsReorderingAction = 'reorder-above' | 'reorder-below' | 'make-child' | 'move-to-parent';
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { TreeViewItemId } from "../models/index.js";
|
|
2
|
+
import { UseTreeItemParameters, UseTreeItemReturnValue } from "./useTreeItem.types.js";
|
|
3
|
+
import { TreeViewAnyStore, TreeViewPublicAPI } from "../internals/models/index.js";
|
|
4
|
+
import { RichTreeViewStore } from "../internals/RichTreeViewStore/index.js";
|
|
5
|
+
interface DefaultStore extends RichTreeViewStore<any, any> {
|
|
6
|
+
buildPublicAPI: () => TreeViewPublicAPI<RichTreeViewStore<any, any>> & {
|
|
7
|
+
/**
|
|
8
|
+
* Method used for updating an item's children.
|
|
9
|
+
* Only relevant for lazy-loaded tree views.
|
|
10
|
+
*
|
|
11
|
+
* @param {TreeViewItemId} itemId The The id of the item to update the children of.
|
|
12
|
+
* @returns {Promise<void>} The promise resolved when the items are fetched.
|
|
13
|
+
*/
|
|
14
|
+
updateItemChildren: (itemId: TreeViewItemId) => Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare const useTreeItem: <TStore extends TreeViewAnyStore = DefaultStore>(parameters: UseTreeItemParameters) => UseTreeItemReturnValue<TStore>;
|
|
18
|
+
export {};
|
|
@@ -4,17 +4,19 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { useStore } from '@mui/x-internals/store';
|
|
6
6
|
import extractEventHandlers from '@mui/utils/extractEventHandlers';
|
|
7
|
-
import { useMergedRefs } from '@base-ui
|
|
7
|
+
import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
|
|
8
8
|
import { useTreeViewContext } from "../internals/TreeViewProvider/index.js";
|
|
9
9
|
import { useTreeItemUtils } from "../hooks/useTreeItemUtils/index.js";
|
|
10
10
|
import { TreeViewItemDepthContext } from "../internals/TreeViewItemDepthContext/index.js";
|
|
11
11
|
import { isTargetInDescendants } from "../internals/utils/tree.js";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
|
|
12
|
+
import { focusSelectors } from "../internals/plugins/focus/index.js";
|
|
13
|
+
import { itemsSelectors } from "../internals/plugins/items/index.js";
|
|
14
|
+
import { idSelectors } from "../internals/plugins/id/index.js";
|
|
15
|
+
import { expansionSelectors } from "../internals/plugins/expansion/index.js";
|
|
16
|
+
import { selectionSelectors } from "../internals/plugins/selection/index.js";
|
|
17
|
+
|
|
18
|
+
// TODO v8: Remove the lazy loading plugin from the typing on the community useTreeItem and ask users to pass the TStore generic.
|
|
19
|
+
|
|
18
20
|
const depthSelector = (state, itemId, depthContext) => {
|
|
19
21
|
if (typeof depthContext === 'function') {
|
|
20
22
|
return depthContext(state, itemId);
|
|
@@ -24,7 +26,6 @@ const depthSelector = (state, itemId, depthContext) => {
|
|
|
24
26
|
export const useTreeItem = parameters => {
|
|
25
27
|
const {
|
|
26
28
|
runItemPlugins,
|
|
27
|
-
instance,
|
|
28
29
|
publicAPI,
|
|
29
30
|
store
|
|
30
31
|
} = useTreeViewContext();
|
|
@@ -54,13 +55,8 @@ export const useTreeItem = parameters => {
|
|
|
54
55
|
const handleRootRef = useMergedRefs(rootRef, pluginRootRef, rootRefObject);
|
|
55
56
|
const handleContentRef = useMergedRefs(contentRef, contentRefObject);
|
|
56
57
|
const checkboxRef = React.useRef(null);
|
|
57
|
-
const treeId = useStore(store, idSelectors.treeId);
|
|
58
58
|
const isCheckboxSelectionEnabled = useStore(store, selectionSelectors.isCheckboxSelectionEnabled);
|
|
59
|
-
const idAttribute =
|
|
60
|
-
itemId,
|
|
61
|
-
treeId,
|
|
62
|
-
id
|
|
63
|
-
});
|
|
59
|
+
const idAttribute = useStore(store, idSelectors.treeItemIdAttribute, itemId, id);
|
|
64
60
|
const shouldBeAccessibleWithTab = useStore(store, focusSelectors.isItemTheDefaultFocusableItem, itemId);
|
|
65
61
|
const sharedPropsEnhancerParams = {
|
|
66
62
|
rootRefObject,
|
|
@@ -73,7 +69,7 @@ export const useTreeItem = parameters => {
|
|
|
73
69
|
return;
|
|
74
70
|
}
|
|
75
71
|
if (!status.focused && itemsSelectors.canItemBeFocused(store.state, itemId) && event.currentTarget === event.target) {
|
|
76
|
-
|
|
72
|
+
store.focus.focusItem(event, itemId);
|
|
77
73
|
}
|
|
78
74
|
};
|
|
79
75
|
const createRootHandleBlur = otherHandlers => event => {
|
|
@@ -81,7 +77,7 @@ export const useTreeItem = parameters => {
|
|
|
81
77
|
if (event.defaultMuiPrevented) {
|
|
82
78
|
return;
|
|
83
79
|
}
|
|
84
|
-
const rootElement =
|
|
80
|
+
const rootElement = store.items.getItemDOMElement(itemId);
|
|
85
81
|
|
|
86
82
|
// Don't blur the root when switching to editing mode
|
|
87
83
|
// the input that triggers the root blur can be either the relatedTarget (when entering editing state) or the target (when exiting editing state)
|
|
@@ -92,14 +88,14 @@ export const useTreeItem = parameters => {
|
|
|
92
88
|
event.relatedTarget && isTargetInDescendants(event.relatedTarget, rootElement) && (event.target && event.target?.dataset?.element === 'labelInput' && isTargetInDescendants(event.target, rootElement) || event.relatedTarget?.dataset?.element === 'labelInput')) {
|
|
93
89
|
return;
|
|
94
90
|
}
|
|
95
|
-
|
|
91
|
+
store.focus.removeFocusedItem();
|
|
96
92
|
};
|
|
97
93
|
const createRootHandleKeyDown = otherHandlers => event => {
|
|
98
94
|
otherHandlers.onKeyDown?.(event);
|
|
99
95
|
if (event.defaultMuiPrevented || event.target?.dataset?.element === 'labelInput') {
|
|
100
96
|
return;
|
|
101
97
|
}
|
|
102
|
-
|
|
98
|
+
store.keyboardNavigation.handleItemKeyDown(event, itemId);
|
|
103
99
|
};
|
|
104
100
|
const createLabelHandleDoubleClick = otherHandlers => event => {
|
|
105
101
|
otherHandlers.onDoubleClick?.(event);
|
|
@@ -110,7 +106,7 @@ export const useTreeItem = parameters => {
|
|
|
110
106
|
};
|
|
111
107
|
const createContentHandleClick = otherHandlers => event => {
|
|
112
108
|
otherHandlers.onClick?.(event);
|
|
113
|
-
|
|
109
|
+
store.items.handleItemClick(event, itemId);
|
|
114
110
|
if (event.defaultMuiPrevented || checkboxRef.current?.contains(event.target)) {
|
|
115
111
|
return;
|
|
116
112
|
}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TreeViewItemId, TreeViewCancellableEventHandler } from "../models/index.js";
|
|
3
|
-
import { TreeViewPublicAPI } from "../internals/models/index.js";
|
|
4
|
-
import { UseTreeViewSelectionSignature } from "../internals/plugins/useTreeViewSelection/index.js";
|
|
5
|
-
import { UseTreeViewItemsSignature } from "../internals/plugins/useTreeViewItems/index.js";
|
|
6
|
-
import { UseTreeViewFocusSignature } from "../internals/plugins/useTreeViewFocus/index.js";
|
|
7
|
-
import { UseTreeViewKeyboardNavigationSignature } from "../internals/plugins/useTreeViewKeyboardNavigation/index.js";
|
|
8
|
-
import { UseTreeViewLabelSignature } from "../internals/plugins/useTreeViewLabel/index.js";
|
|
9
|
-
import { UseTreeViewExpansionSignature } from "../internals/plugins/useTreeViewExpansion/index.js";
|
|
10
|
-
import { UseTreeViewLazyLoadingSignature } from "../internals/plugins/useTreeViewLazyLoading/index.js";
|
|
3
|
+
import { TreeViewPublicAPI, TreeViewAnyStore } from "../internals/models/index.js";
|
|
11
4
|
export interface UseTreeItemParameters {
|
|
12
5
|
/**
|
|
13
6
|
* The id attribute of the item. If not provided, it will be generated.
|
|
@@ -18,6 +11,11 @@ export interface UseTreeItemParameters {
|
|
|
18
11
|
* @default false
|
|
19
12
|
*/
|
|
20
13
|
disabled?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* If `true`, the item cannot be selected.
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
disableSelection?: boolean;
|
|
21
19
|
/**
|
|
22
20
|
* The id of the item.
|
|
23
21
|
* Must be unique.
|
|
@@ -110,7 +108,7 @@ export interface UseTreeItemStatus {
|
|
|
110
108
|
loading: boolean;
|
|
111
109
|
error: boolean;
|
|
112
110
|
}
|
|
113
|
-
export interface UseTreeItemReturnValue<
|
|
111
|
+
export interface UseTreeItemReturnValue<TStore extends TreeViewAnyStore> {
|
|
114
112
|
/**
|
|
115
113
|
* Resolver for the context provider's props.
|
|
116
114
|
* @returns {UseTreeItemContextProviderProps} Props that should be spread on the context provider slot.
|
|
@@ -190,13 +188,5 @@ export interface UseTreeItemReturnValue<TSignatures extends UseTreeItemMinimalPl
|
|
|
190
188
|
/**
|
|
191
189
|
* The object the allows Tree View manipulation.
|
|
192
190
|
*/
|
|
193
|
-
publicAPI: TreeViewPublicAPI<
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Plugins that need to be present in the Tree View in order for `UseTreeItem` to work correctly.
|
|
197
|
-
*/
|
|
198
|
-
export type UseTreeItemMinimalPlugins = readonly [UseTreeViewSelectionSignature, UseTreeViewExpansionSignature, UseTreeViewItemsSignature, UseTreeViewFocusSignature, UseTreeViewKeyboardNavigationSignature, UseTreeViewLabelSignature];
|
|
199
|
-
/**
|
|
200
|
-
* Plugins that `UseTreeItem` can use if they are present, but are not required.
|
|
201
|
-
*/
|
|
202
|
-
export type UseTreeItemOptionalPlugins = readonly [UseTreeViewLazyLoadingSignature];
|
|
191
|
+
publicAPI: TreeViewPublicAPI<TStore>;
|
|
192
|
+
}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useApplyPropagationToSelectedItemsOnMount = useApplyPropagationToSelectedItemsOnMount;
|
|
7
|
-
var _useRefWithInit = require("@base-ui
|
|
8
|
-
var
|
|
7
|
+
var _useRefWithInit = require("@base-ui/utils/useRefWithInit");
|
|
8
|
+
var _TreeViewSelectionPlugin = require("../internals/plugins/selection/TreeViewSelectionPlugin");
|
|
9
9
|
const defaultGetItemId = item => item.id;
|
|
10
10
|
const defaultGetItemChildren = item => item.children;
|
|
11
11
|
|
|
@@ -59,7 +59,7 @@ function useApplyPropagationToSelectedItemsOnMount(parameters) {
|
|
|
59
59
|
selectionPropagation
|
|
60
60
|
} = parameters;
|
|
61
61
|
return (0, _useRefWithInit.useRefWithInit)(() => {
|
|
62
|
-
const lookup = (0,
|
|
62
|
+
const lookup = (0, _TreeViewSelectionPlugin.getLookupFromArray)(selectedItems);
|
|
63
63
|
function walk(items, isParentSelected) {
|
|
64
64
|
for (const item of items) {
|
|
65
65
|
const itemId = getItemId(item);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TreeViewDefaultItemModelProperties, TreeViewValidItem } from "../models/index.js";
|
|
3
3
|
import { TreeViewPublicAPI } from "../internals/models/index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { RichTreeViewStore } from "../internals/RichTreeViewStore/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* Creates the ref to pass to the `apiRef` prop of the `RichTreeView` component.
|
|
7
7
|
*/
|
|
8
|
-
export declare function useRichTreeViewApiRef<R extends TreeViewValidItem<R> = TreeViewDefaultItemModelProperties>(): React.RefObject<TreeViewPublicAPI<
|
|
8
|
+
export declare function useRichTreeViewApiRef<R extends TreeViewValidItem<R> = TreeViewDefaultItemModelProperties>(): React.RefObject<TreeViewPublicAPI<RichTreeViewStore<R, boolean>> | undefined>;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { TreeViewDefaultItemModelProperties, TreeViewValidItem } from "../models/index.js";
|
|
3
2
|
import { TreeViewPublicAPI } from "../internals/models/index.js";
|
|
4
|
-
import {
|
|
3
|
+
import { SimpleTreeViewStore } from "../internals/SimpleTreeViewStore/index.js";
|
|
5
4
|
/**
|
|
6
5
|
* Creates the ref to pass to the `apiRef` prop of the `SimpleTreeView` component.
|
|
7
6
|
*/
|
|
8
|
-
export declare function useSimpleTreeViewApiRef
|
|
7
|
+
export declare function useSimpleTreeViewApiRef(): React.RefObject<TreeViewPublicAPI<SimpleTreeViewStore<boolean>> | undefined>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const useTreeItemModel: <R extends {} = TreeViewDefaultItemModelProperties>(itemId: TreeViewItemId) =>
|
|
1
|
+
import { TreeViewDefaultItemModelProperties, TreeViewItemId } from "../models/index.js";
|
|
2
|
+
export declare const useTreeItemModel: <R extends {} = TreeViewDefaultItemModelProperties>(itemId: TreeViewItemId) => R | null;
|
|
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useTreeItemModel = void 0;
|
|
8
8
|
var _store = require("@mui/x-internals/store");
|
|
9
9
|
var _TreeViewProvider = require("../internals/TreeViewProvider");
|
|
10
|
-
var
|
|
10
|
+
var _items = require("../internals/plugins/items");
|
|
11
11
|
const useTreeItemModel = itemId => {
|
|
12
12
|
const {
|
|
13
13
|
store
|
|
14
14
|
} = (0, _TreeViewProvider.useTreeViewContext)();
|
|
15
|
-
return (0, _store.useStore)(store,
|
|
15
|
+
return (0, _store.useStore)(store, _items.itemsSelectors.itemModel, itemId);
|
|
16
16
|
};
|
|
17
17
|
exports.useTreeItemModel = useTreeItemModel;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import type { UseTreeViewLazyLoadingSignature } from "../../internals/plugins/useTreeViewLazyLoading/index.js";
|
|
3
|
-
import type { UseTreeViewSelectionSignature } from "../../internals/plugins/useTreeViewSelection/index.js";
|
|
4
|
-
import type { UseTreeViewExpansionSignature } from "../../internals/plugins/useTreeViewExpansion/index.js";
|
|
5
|
-
import type { UseTreeViewItemsSignature } from "../../internals/plugins/useTreeViewItems/index.js";
|
|
6
|
-
import type { UseTreeViewFocusSignature } from "../../internals/plugins/useTreeViewFocus/index.js";
|
|
7
|
-
import { UseTreeViewLabelSignature } from "../../internals/plugins/useTreeViewLabel/index.js";
|
|
8
2
|
import type { UseTreeItemStatus } from "../../useTreeItem/index.js";
|
|
9
|
-
import { TreeViewPublicAPI } from "../../internals/models/index.js";
|
|
3
|
+
import { TreeViewPublicAPI, TreeViewAnyStore } from "../../internals/models/index.js";
|
|
4
|
+
import { TreeViewLabelEditingPlugin } from "../../internals/plugins/labelEditing/index.js";
|
|
10
5
|
export interface UseTreeItemInteractions {
|
|
11
6
|
handleExpansion: (event: React.MouseEvent) => void;
|
|
12
7
|
handleSelection: (event: React.MouseEvent) => void;
|
|
@@ -15,28 +10,23 @@ export interface UseTreeItemInteractions {
|
|
|
15
10
|
handleSaveItemLabel: (event: React.SyntheticEvent, label: string) => void;
|
|
16
11
|
handleCancelItemLabelEditing: (event: React.SyntheticEvent) => void;
|
|
17
12
|
}
|
|
18
|
-
|
|
19
|
-
* Plugins that need to be present in the Tree View in order for `useTreeItemUtils` to work correctly.
|
|
20
|
-
*/
|
|
21
|
-
type UseTreeItemUtilsMinimalPlugins = readonly [UseTreeViewSelectionSignature, UseTreeViewExpansionSignature, UseTreeViewItemsSignature, UseTreeViewFocusSignature];
|
|
22
|
-
/**
|
|
23
|
-
* Plugins that `useTreeItemUtils` can use if they are present, but are not required.
|
|
24
|
-
*/
|
|
25
|
-
export type UseTreeItemUtilsOptionalPlugins = readonly [UseTreeViewLabelSignature, UseTreeViewLazyLoadingSignature];
|
|
26
|
-
interface UseTreeItemUtilsReturnValue<TSignatures extends UseTreeItemUtilsMinimalPlugins, TOptionalSignatures extends UseTreeItemUtilsOptionalPlugins> {
|
|
13
|
+
interface UseTreeItemUtilsReturnValue<TStore extends TreeViewAnyStore> {
|
|
27
14
|
interactions: UseTreeItemInteractions;
|
|
28
15
|
status: UseTreeItemStatus;
|
|
29
16
|
/**
|
|
30
17
|
* The object the allows Tree View manipulation.
|
|
31
18
|
*/
|
|
32
|
-
publicAPI: TreeViewPublicAPI<
|
|
19
|
+
publicAPI: TreeViewPublicAPI<TStore>;
|
|
33
20
|
}
|
|
21
|
+
type TreeViewStoreWithLabelEditing = TreeViewAnyStore & {
|
|
22
|
+
labelEditing?: TreeViewLabelEditingPlugin;
|
|
23
|
+
};
|
|
34
24
|
export declare const itemHasChildren: (reactChildren: React.ReactNode) => boolean;
|
|
35
|
-
export declare const useTreeItemUtils: <
|
|
25
|
+
export declare const useTreeItemUtils: <TStore extends TreeViewStoreWithLabelEditing = TreeViewStoreWithLabelEditing>({
|
|
36
26
|
itemId,
|
|
37
27
|
children
|
|
38
28
|
}: {
|
|
39
29
|
itemId: string;
|
|
40
30
|
children?: React.ReactNode;
|
|
41
|
-
}) => UseTreeItemUtilsReturnValue<
|
|
31
|
+
}) => UseTreeItemUtilsReturnValue<TStore>;
|
|
42
32
|
export {};
|
|
@@ -7,22 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useTreeItemUtils = exports.itemHasChildren = void 0;
|
|
8
8
|
var _store = require("@mui/x-internals/store");
|
|
9
9
|
var _TreeViewProvider = require("../../internals/TreeViewProvider");
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var _useTreeViewLazyLoading = require("../../internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors");
|
|
17
|
-
var _useTreeViewLabel2 = require("../../internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors");
|
|
18
|
-
/**
|
|
19
|
-
* Plugins that need to be present in the Tree View in order for `useTreeItemUtils` to work correctly.
|
|
20
|
-
*/
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Plugins that `useTreeItemUtils` can use if they are present, but are not required.
|
|
24
|
-
*/
|
|
25
|
-
|
|
10
|
+
var _selectors = require("../../internals/plugins/expansion/selectors");
|
|
11
|
+
var _selectors2 = require("../../internals/plugins/focus/selectors");
|
|
12
|
+
var _selectors3 = require("../../internals/plugins/items/selectors");
|
|
13
|
+
var _selectors4 = require("../../internals/plugins/selection/selectors");
|
|
14
|
+
var _selectors5 = require("../../internals/plugins/lazyLoading/selectors");
|
|
15
|
+
var _selectors6 = require("../../internals/plugins/labelEditing/selectors");
|
|
26
16
|
const itemHasChildren = reactChildren => {
|
|
27
17
|
if (Array.isArray(reactChildren)) {
|
|
28
18
|
return reactChildren.length > 0 && reactChildren.some(itemHasChildren);
|
|
@@ -35,20 +25,19 @@ const useTreeItemUtils = ({
|
|
|
35
25
|
children
|
|
36
26
|
}) => {
|
|
37
27
|
const {
|
|
38
|
-
instance,
|
|
39
28
|
store,
|
|
40
29
|
publicAPI
|
|
41
30
|
} = (0, _TreeViewProvider.useTreeViewContext)();
|
|
42
|
-
const isItemExpandable = (0, _store.useStore)(store,
|
|
43
|
-
const isLoading = (0, _store.useStore)(store,
|
|
44
|
-
const hasError = (0, _store.useStore)(store,
|
|
31
|
+
const isItemExpandable = (0, _store.useStore)(store, _selectors.expansionSelectors.isItemExpandable, itemId);
|
|
32
|
+
const isLoading = (0, _store.useStore)(store, _selectors5.lazyLoadingSelectors.isItemLoading, itemId);
|
|
33
|
+
const hasError = (0, _store.useStore)(store, _selectors5.lazyLoadingSelectors.itemHasError, itemId);
|
|
45
34
|
const isExpandable = itemHasChildren(children) || isItemExpandable;
|
|
46
|
-
const isExpanded = (0, _store.useStore)(store,
|
|
47
|
-
const isFocused = (0, _store.useStore)(store,
|
|
48
|
-
const isSelected = (0, _store.useStore)(store,
|
|
49
|
-
const isDisabled = (0, _store.useStore)(store,
|
|
50
|
-
const isEditing = (0, _store.useStore)(store,
|
|
51
|
-
const isEditable = (0, _store.useStore)(store,
|
|
35
|
+
const isExpanded = (0, _store.useStore)(store, _selectors.expansionSelectors.isItemExpanded, itemId);
|
|
36
|
+
const isFocused = (0, _store.useStore)(store, _selectors2.focusSelectors.isItemFocused, itemId);
|
|
37
|
+
const isSelected = (0, _store.useStore)(store, _selectors4.selectionSelectors.isItemSelected, itemId);
|
|
38
|
+
const isDisabled = (0, _store.useStore)(store, _selectors3.itemsSelectors.isItemDisabled, itemId);
|
|
39
|
+
const isEditing = (0, _store.useStore)(store, _selectors6.labelSelectors.isItemBeingEdited, itemId);
|
|
40
|
+
const isEditable = (0, _store.useStore)(store, _selectors6.labelSelectors.isItemEditable, itemId);
|
|
52
41
|
const status = {
|
|
53
42
|
expandable: isExpandable,
|
|
54
43
|
expanded: isExpanded,
|
|
@@ -65,39 +54,39 @@ const useTreeItemUtils = ({
|
|
|
65
54
|
return;
|
|
66
55
|
}
|
|
67
56
|
if (!status.focused) {
|
|
68
|
-
|
|
57
|
+
store.focus.focusItem(event, itemId);
|
|
69
58
|
}
|
|
70
|
-
const multiple =
|
|
59
|
+
const multiple = _selectors4.selectionSelectors.isMultiSelectEnabled(store.state) && (event.shiftKey || event.ctrlKey || event.metaKey);
|
|
71
60
|
|
|
72
61
|
// If already expanded and trying to toggle selection don't close
|
|
73
|
-
if (status.expandable && !(multiple &&
|
|
62
|
+
if (status.expandable && !(multiple && _selectors.expansionSelectors.isItemExpanded(store.state, itemId))) {
|
|
74
63
|
// make sure the children selection is propagated again
|
|
75
|
-
|
|
64
|
+
store.expansion.setItemExpansion({
|
|
76
65
|
event,
|
|
77
66
|
itemId
|
|
78
67
|
});
|
|
79
68
|
}
|
|
80
69
|
};
|
|
81
70
|
const handleSelection = event => {
|
|
82
|
-
if (
|
|
71
|
+
if (!_selectors4.selectionSelectors.canItemBeSelected(store.state, itemId)) {
|
|
83
72
|
return;
|
|
84
73
|
}
|
|
85
74
|
if (!status.focused && !status.editing) {
|
|
86
|
-
|
|
75
|
+
store.focus.focusItem(event, itemId);
|
|
87
76
|
}
|
|
88
|
-
const multiple =
|
|
77
|
+
const multiple = _selectors4.selectionSelectors.isMultiSelectEnabled(store.state) && (event.shiftKey || event.ctrlKey || event.metaKey);
|
|
89
78
|
if (multiple) {
|
|
90
79
|
if (event.shiftKey) {
|
|
91
|
-
|
|
80
|
+
store.selection.expandSelectionRange(event, itemId);
|
|
92
81
|
} else {
|
|
93
|
-
|
|
82
|
+
store.selection.setItemSelection({
|
|
94
83
|
event,
|
|
95
84
|
itemId,
|
|
96
85
|
keepExistingSelection: true
|
|
97
86
|
});
|
|
98
87
|
}
|
|
99
88
|
} else {
|
|
100
|
-
|
|
89
|
+
store.selection.setItemSelection({
|
|
101
90
|
event,
|
|
102
91
|
itemId,
|
|
103
92
|
shouldBeSelected: true
|
|
@@ -106,11 +95,11 @@ const useTreeItemUtils = ({
|
|
|
106
95
|
};
|
|
107
96
|
const handleCheckboxSelection = event => {
|
|
108
97
|
const hasShift = event.nativeEvent.shiftKey;
|
|
109
|
-
const isMultiSelectEnabled =
|
|
98
|
+
const isMultiSelectEnabled = _selectors4.selectionSelectors.isMultiSelectEnabled(store.state);
|
|
110
99
|
if (isMultiSelectEnabled && hasShift) {
|
|
111
|
-
|
|
100
|
+
store.selection.expandSelectionRange(event, itemId);
|
|
112
101
|
} else {
|
|
113
|
-
|
|
102
|
+
store.selection.setItemSelection({
|
|
114
103
|
event,
|
|
115
104
|
itemId,
|
|
116
105
|
keepExistingSelection: isMultiSelectEnabled,
|
|
@@ -119,36 +108,39 @@ const useTreeItemUtils = ({
|
|
|
119
108
|
}
|
|
120
109
|
};
|
|
121
110
|
const toggleItemEditing = () => {
|
|
122
|
-
|
|
111
|
+
// If the store doesn't support label editing, do nothing
|
|
112
|
+
if (!store.labelEditing) {
|
|
123
113
|
return;
|
|
124
114
|
}
|
|
125
115
|
if (isEditing) {
|
|
126
|
-
|
|
116
|
+
store.labelEditing.setEditedItem(null);
|
|
127
117
|
} else {
|
|
128
|
-
|
|
118
|
+
store.labelEditing.setEditedItem(itemId);
|
|
129
119
|
}
|
|
130
120
|
};
|
|
131
121
|
const handleSaveItemLabel = (event, newLabel) => {
|
|
132
|
-
|
|
122
|
+
// If the store doesn't support label editing, do nothing
|
|
123
|
+
if (!store.labelEditing) {
|
|
133
124
|
return;
|
|
134
125
|
}
|
|
135
126
|
|
|
136
127
|
// As a side effect of `instance.focusItem` called here and in `handleCancelItemLabelEditing` the `labelInput` is blurred
|
|
137
128
|
// The `onBlur` event is triggered, which calls `handleSaveItemLabel` again.
|
|
138
129
|
// To avoid creating an unwanted behavior we need to check if the item is being edited before calling `updateItemLabel`
|
|
139
|
-
if (
|
|
140
|
-
|
|
130
|
+
if (_selectors6.labelSelectors.isItemBeingEdited(store.state, itemId)) {
|
|
131
|
+
store.labelEditing.updateItemLabel(itemId, newLabel);
|
|
141
132
|
toggleItemEditing();
|
|
142
|
-
|
|
133
|
+
store.focus.focusItem(event, itemId);
|
|
143
134
|
}
|
|
144
135
|
};
|
|
145
136
|
const handleCancelItemLabelEditing = event => {
|
|
146
|
-
|
|
137
|
+
// If the store doesn't support label editing, do nothing
|
|
138
|
+
if (!store.labelEditing) {
|
|
147
139
|
return;
|
|
148
140
|
}
|
|
149
|
-
if (
|
|
141
|
+
if (_selectors6.labelSelectors.isItemBeingEdited(store.state, itemId)) {
|
|
150
142
|
toggleItemEditing();
|
|
151
|
-
|
|
143
|
+
store.focus.focusItem(event, itemId);
|
|
152
144
|
}
|
|
153
145
|
};
|
|
154
146
|
const interactions = {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { TreeViewAnyPluginSignature, TreeViewPublicAPI } from "../internals/models/index.js";
|
|
3
|
-
import { RichTreeViewPluginSignatures } from "../RichTreeView/RichTreeView.plugins.js";
|
|
1
|
+
import { useRichTreeViewApiRef } from "./useRichTreeViewApiRef.js";
|
|
4
2
|
/**
|
|
5
3
|
* Hook that instantiates a [[TreeViewApiRef]].
|
|
6
|
-
* @deprecated Use `useRichTreeViewApiRef`, `useRichTreeViewProApiRef` or `useSimpleTreeViewApiRef` instead.
|
|
4
|
+
* @deprecated Use `useRichTreeViewApiRef()`, `useRichTreeViewProApiRef()` or `useSimpleTreeViewApiRef()` instead.
|
|
7
5
|
*/
|
|
8
|
-
export declare const useTreeViewApiRef:
|
|
6
|
+
export declare const useTreeViewApiRef: typeof useRichTreeViewApiRef;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useTreeViewApiRef = void 0;
|
|
9
|
-
var
|
|
8
|
+
var _useRichTreeViewApiRef = require("./useRichTreeViewApiRef");
|
|
10
9
|
/**
|
|
11
10
|
* Hook that instantiates a [[TreeViewApiRef]].
|
|
12
|
-
* @deprecated Use `useRichTreeViewApiRef`, `useRichTreeViewProApiRef` or `useSimpleTreeViewApiRef` instead.
|
|
11
|
+
* @deprecated Use `useRichTreeViewApiRef()`, `useRichTreeViewProApiRef()` or `useSimpleTreeViewApiRef()` instead.
|
|
13
12
|
*/
|
|
14
|
-
const useTreeViewApiRef =
|
|
15
|
-
exports.useTreeViewApiRef = useTreeViewApiRef;
|
|
13
|
+
const useTreeViewApiRef = exports.useTreeViewApiRef = _useRichTreeViewApiRef.useRichTreeViewApiRef;
|
package/index.d.ts
CHANGED
|
@@ -6,7 +6,6 @@ export * from "./TreeItemIcon/index.js";
|
|
|
6
6
|
export * from "./TreeItemProvider/index.js";
|
|
7
7
|
export * from "./TreeItemDragAndDropOverlay/index.js";
|
|
8
8
|
export * from "./TreeItemLabelInput/index.js";
|
|
9
|
-
export { unstable_resetCleanupTracking } from "./internals/hooks/useInstanceEventHandler.js";
|
|
10
9
|
export * from "./models/index.js";
|
|
11
10
|
export * from "./icons/index.js";
|
|
12
11
|
export * from "./hooks/index.js";
|