@mui/x-tree-view 8.23.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 +111 -1
- package/RichTreeView/RichTreeView.d.ts +1 -1
- package/RichTreeView/RichTreeView.js +34 -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/TreeItemProvider/TreeItemProvider.js +3 -10
- package/esm/RichTreeView/RichTreeView.d.ts +1 -1
- package/esm/RichTreeView/RichTreeView.js +33 -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/TreeItemProvider/TreeItemProvider.js +3 -10
- package/esm/hooks/useApplyPropagationToSelectedItemsOnMount.js +1 -1
- 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 +25 -34
- package/esm/hooks/useTreeViewApiRef.d.ts +2 -4
- package/esm/hooks/useTreeViewApiRef.js +3 -2
- 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 +5 -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 -50
- 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/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +29 -17
- 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 +3 -3
- package/esm/internals/plugins/selection/selectors.d.ts +48 -0
- package/esm/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +14 -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 +14 -18
- package/esm/useTreeItem/useTreeItem.types.d.ts +4 -19
- package/hooks/useApplyPropagationToSelectedItemsOnMount.js +2 -2
- 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 +2 -4
- package/hooks/useTreeViewApiRef.js +2 -4
- 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 +5 -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} +16 -16
- package/internals/plugins/items/utils.d.ts +43 -0
- package/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -51
- 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 +30 -17
- 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 +13 -13
- package/internals/plugins/selection/selectors.d.ts +48 -0
- package/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +14 -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 +2 -2
- package/useTreeItem/useTreeItem.d.ts +18 -2
- package/useTreeItem/useTreeItem.js +18 -23
- package/useTreeItem/useTreeItem.types.d.ts +4 -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 -223
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -60
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -64
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -204
- 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/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 -231
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -45
- 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 -231
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -60
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -204
- 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 -240
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -45
- 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,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.createUseInstanceEventHandler = createUseInstanceEventHandler;
|
|
9
|
-
exports.useInstanceEventHandler = exports.unstable_resetCleanupTracking = void 0;
|
|
10
|
-
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
var _TimerBasedCleanupTracking = require("../utils/cleanupTracking/TimerBasedCleanupTracking");
|
|
12
|
-
var _FinalizationRegistryBasedCleanupTracking = require("../utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking");
|
|
13
|
-
// We use class to make it easier to detect in heap snapshots by name
|
|
14
|
-
class ObjectToBeRetainedByReact {}
|
|
15
|
-
|
|
16
|
-
// Based on https://github.com/Bnaya/use-dispose-uncommitted/blob/main/src/finalization-registry-based-impl.ts
|
|
17
|
-
// Check https://github.com/facebook/react/issues/15317 to get more information
|
|
18
|
-
function createUseInstanceEventHandler(registryContainer) {
|
|
19
|
-
let cleanupTokensCounter = 0;
|
|
20
|
-
return function useInstanceEventHandler(instance, eventName, handler) {
|
|
21
|
-
if (registryContainer.registry === null) {
|
|
22
|
-
registryContainer.registry = typeof FinalizationRegistry !== 'undefined' ? new _FinalizationRegistryBasedCleanupTracking.FinalizationRegistryBasedCleanupTracking() : new _TimerBasedCleanupTracking.TimerBasedCleanupTracking();
|
|
23
|
-
}
|
|
24
|
-
const [objectRetainedByReact] = React.useState(new ObjectToBeRetainedByReact());
|
|
25
|
-
const subscription = React.useRef(null);
|
|
26
|
-
const handlerRef = React.useRef(undefined);
|
|
27
|
-
handlerRef.current = handler;
|
|
28
|
-
const cleanupTokenRef = React.useRef(null);
|
|
29
|
-
if (!subscription.current && handlerRef.current) {
|
|
30
|
-
const enhancedHandler = (params, event) => {
|
|
31
|
-
if (!event.defaultMuiPrevented) {
|
|
32
|
-
handlerRef.current?.(params, event);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
subscription.current = instance.$$subscribeEvent(eventName, enhancedHandler);
|
|
36
|
-
cleanupTokensCounter += 1;
|
|
37
|
-
cleanupTokenRef.current = {
|
|
38
|
-
cleanupToken: cleanupTokensCounter
|
|
39
|
-
};
|
|
40
|
-
registryContainer.registry.register(objectRetainedByReact,
|
|
41
|
-
// The callback below will be called once this reference stops being retained
|
|
42
|
-
() => {
|
|
43
|
-
subscription.current?.();
|
|
44
|
-
subscription.current = null;
|
|
45
|
-
cleanupTokenRef.current = null;
|
|
46
|
-
}, cleanupTokenRef.current);
|
|
47
|
-
} else if (!handlerRef.current && subscription.current) {
|
|
48
|
-
subscription.current();
|
|
49
|
-
subscription.current = null;
|
|
50
|
-
if (cleanupTokenRef.current) {
|
|
51
|
-
registryContainer.registry.unregister(cleanupTokenRef.current);
|
|
52
|
-
cleanupTokenRef.current = null;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
React.useEffect(() => {
|
|
56
|
-
if (!subscription.current && handlerRef.current) {
|
|
57
|
-
const enhancedHandler = (params, event) => {
|
|
58
|
-
if (!event.defaultMuiPrevented) {
|
|
59
|
-
handlerRef.current?.(params, event);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
subscription.current = instance.$$subscribeEvent(eventName, enhancedHandler);
|
|
63
|
-
}
|
|
64
|
-
if (cleanupTokenRef.current && registryContainer.registry) {
|
|
65
|
-
// If the effect was called, it means that this render was committed
|
|
66
|
-
// so we can trust the cleanup function to remove the listener.
|
|
67
|
-
registryContainer.registry.unregister(cleanupTokenRef.current);
|
|
68
|
-
cleanupTokenRef.current = null;
|
|
69
|
-
}
|
|
70
|
-
return () => {
|
|
71
|
-
subscription.current?.();
|
|
72
|
-
subscription.current = null;
|
|
73
|
-
};
|
|
74
|
-
}, [instance, eventName]);
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
const registryContainer = {
|
|
78
|
-
registry: null
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
82
|
-
const unstable_resetCleanupTracking = () => {
|
|
83
|
-
registryContainer.registry?.reset();
|
|
84
|
-
registryContainer.registry = null;
|
|
85
|
-
};
|
|
86
|
-
exports.unstable_resetCleanupTracking = unstable_resetCleanupTracking;
|
|
87
|
-
const useInstanceEventHandler = exports.useInstanceEventHandler = createUseInstanceEventHandler(registryContainer);
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { TreeViewAnyPluginSignature, TreeViewPlugin } from "./plugin.js";
|
|
2
|
-
type IsAny<T> = 0 extends 1 & T ? true : false;
|
|
3
|
-
export type OptionalIfEmpty<A extends string, B> = keyof B extends never ? Partial<Record<A, B>> : IsAny<B> extends true ? Partial<Record<A, B>> : Record<A, B>;
|
|
4
|
-
export type MergeSignaturesProperty<TSignatures extends readonly any[], TProperty extends keyof TreeViewAnyPluginSignature> = TSignatures extends readonly [plugin: infer P, ...otherPlugin: infer R] ? P extends TreeViewAnyPluginSignature ? P[TProperty] & MergeSignaturesProperty<R, TProperty> : {} : {};
|
|
5
|
-
export type ConvertPluginsIntoSignatures<TPlugins extends readonly TreeViewPlugin<TreeViewAnyPluginSignature>[]> = TPlugins extends readonly [plugin: infer TPlugin, ...otherPlugin: infer R] ? R extends readonly TreeViewPlugin<any>[] ? TPlugin extends TreeViewPlugin<infer TSignature> ? readonly [TSignature, ...ConvertPluginsIntoSignatures<R>] : never : never : [];
|
|
6
|
-
export type ConvertSignaturesIntoPlugins<TSignatures extends readonly TreeViewAnyPluginSignature[]> = TSignatures extends readonly [signature: infer TSignature, ...otherSignatures: infer R] ? R extends readonly TreeViewAnyPluginSignature[] ? TSignature extends TreeViewAnyPluginSignature ? readonly [TreeViewPlugin<TSignature>, ...ConvertSignaturesIntoPlugins<R>] : never : never : [];
|
|
7
|
-
export {};
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { EventHandlers } from '@mui/utils/types';
|
|
3
|
-
import { TreeViewInstance, TreeViewStore } from "./treeView.js";
|
|
4
|
-
import type { MergeSignaturesProperty, OptionalIfEmpty } from "./helpers.js";
|
|
5
|
-
import { TreeViewEventLookupElement } from "./events.js";
|
|
6
|
-
import type { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
|
|
7
|
-
import { TreeViewItemPlugin } from "./itemPlugin.js";
|
|
8
|
-
import { TreeViewItemId } from "../../models/index.js";
|
|
9
|
-
export interface TreeViewPluginOptions<TSignature extends TreeViewAnyPluginSignature> {
|
|
10
|
-
/**
|
|
11
|
-
* An imperative API available for internal use. Used to access methods from other plugins.
|
|
12
|
-
*/
|
|
13
|
-
instance: TreeViewUsedInstance<TSignature>;
|
|
14
|
-
/**
|
|
15
|
-
* The Tree View parameters after being processed with the default values.
|
|
16
|
-
*/
|
|
17
|
-
params: TreeViewUsedParamsWithDefaults<TSignature>;
|
|
18
|
-
/**
|
|
19
|
-
* The store that can be used to access the state of other plugins.
|
|
20
|
-
*/
|
|
21
|
-
store: TreeViewUsedStore<TSignature>;
|
|
22
|
-
/**
|
|
23
|
-
* Reference to the root element.
|
|
24
|
-
*/
|
|
25
|
-
rootRef: React.RefObject<HTMLUListElement | null>;
|
|
26
|
-
/**
|
|
27
|
-
* All the plugins that are used in the tree-view.
|
|
28
|
-
*/
|
|
29
|
-
plugins: TreeViewPlugin<TreeViewAnyPluginSignature>[];
|
|
30
|
-
}
|
|
31
|
-
type TreeViewResponse<TSignature extends TreeViewAnyPluginSignature> = {
|
|
32
|
-
getRootProps?: <TOther extends EventHandlers = {}>(otherHandlers: TOther) => React.HTMLAttributes<HTMLUListElement>;
|
|
33
|
-
} & OptionalIfEmpty<'publicAPI', TSignature['publicAPI']> & OptionalIfEmpty<'instance', TSignature['instance']>;
|
|
34
|
-
export type TreeViewPluginSignature<T extends {
|
|
35
|
-
params?: {};
|
|
36
|
-
paramsWithDefaults?: {};
|
|
37
|
-
instance?: {};
|
|
38
|
-
publicAPI?: {};
|
|
39
|
-
events?: { [key in keyof T['events']]: TreeViewEventLookupElement };
|
|
40
|
-
state?: {};
|
|
41
|
-
dependencies?: readonly TreeViewAnyPluginSignature[];
|
|
42
|
-
optionalDependencies?: readonly TreeViewAnyPluginSignature[];
|
|
43
|
-
}> = {
|
|
44
|
-
/**
|
|
45
|
-
* The raw properties that can be passed to the plugin.
|
|
46
|
-
*/
|
|
47
|
-
params: T extends {
|
|
48
|
-
params: {};
|
|
49
|
-
} ? T['params'] : {};
|
|
50
|
-
/**
|
|
51
|
-
* The params after being processed with the default values.
|
|
52
|
-
*/
|
|
53
|
-
paramsWithDefaults: T extends {
|
|
54
|
-
paramsWithDefaults: {};
|
|
55
|
-
} ? T['paramsWithDefaults'] : {};
|
|
56
|
-
/**
|
|
57
|
-
* An imperative api available for internal use.
|
|
58
|
-
*/
|
|
59
|
-
instance: T extends {
|
|
60
|
-
instance: {};
|
|
61
|
-
} ? T['instance'] : {};
|
|
62
|
-
/**
|
|
63
|
-
* The public imperative API that will be exposed to the user.
|
|
64
|
-
* Accessed through the `apiRef` property of the plugin.
|
|
65
|
-
*/
|
|
66
|
-
publicAPI: T extends {
|
|
67
|
-
publicAPI: {};
|
|
68
|
-
} ? T['publicAPI'] : {};
|
|
69
|
-
events: T extends {
|
|
70
|
-
events: {};
|
|
71
|
-
} ? T['events'] : {};
|
|
72
|
-
/**
|
|
73
|
-
* The state is the mutable data that will actually be stored in the plugin state and can be accessed by other plugins.
|
|
74
|
-
*/
|
|
75
|
-
state: T extends {
|
|
76
|
-
state: {};
|
|
77
|
-
} ? T['state'] : {};
|
|
78
|
-
/**
|
|
79
|
-
* Any plugins that this plugin depends on.
|
|
80
|
-
*/
|
|
81
|
-
dependencies: T extends {
|
|
82
|
-
dependencies: Array<any>;
|
|
83
|
-
} ? T['dependencies'] : [];
|
|
84
|
-
/**
|
|
85
|
-
* Same as dependencies but the plugin might not have been initialized. Used for dependencies on plugins of features that can be enabled conditionally.
|
|
86
|
-
*/
|
|
87
|
-
optionalDependencies: T extends {
|
|
88
|
-
optionalDependencies: Array<any>;
|
|
89
|
-
} ? T['optionalDependencies'] : [];
|
|
90
|
-
};
|
|
91
|
-
export type TreeViewAnyPluginSignature = {
|
|
92
|
-
state: any;
|
|
93
|
-
instance: any;
|
|
94
|
-
params: any;
|
|
95
|
-
paramsWithDefaults: any;
|
|
96
|
-
dependencies: any;
|
|
97
|
-
optionalDependencies: any;
|
|
98
|
-
events: any;
|
|
99
|
-
publicAPI: any;
|
|
100
|
-
};
|
|
101
|
-
type TreeViewRequiredPlugins<TSignature extends TreeViewAnyPluginSignature> = [...TreeViewCorePluginSignatures, ...TSignature['dependencies']];
|
|
102
|
-
type PluginPropertyWithDependencies<TSignature extends TreeViewAnyPluginSignature, TProperty extends keyof TreeViewAnyPluginSignature> = TSignature[TProperty] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, TProperty> & Partial<MergeSignaturesProperty<TSignature['optionalDependencies'], TProperty>>;
|
|
103
|
-
export type TreeViewUsedParams<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'params'>;
|
|
104
|
-
export type TreeViewUsedParamsWithDefaults<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'paramsWithDefaults'>;
|
|
105
|
-
export type TreeViewUsedInstance<TSignature extends TreeViewAnyPluginSignature> = PluginPropertyWithDependencies<TSignature, 'instance'> & {
|
|
106
|
-
/**
|
|
107
|
-
* Private property only defined in TypeScript to be able to access the plugin signature from the instance object.
|
|
108
|
-
*/
|
|
109
|
-
$$signature: TSignature;
|
|
110
|
-
};
|
|
111
|
-
export type TreeViewUsedStore<TSignature extends TreeViewAnyPluginSignature> = TreeViewStore<[TSignature, ...TSignature['dependencies']], TSignature['optionalDependencies']>;
|
|
112
|
-
export type TreeViewUsedEvents<TSignature extends TreeViewAnyPluginSignature> = TSignature['events'] & MergeSignaturesProperty<TreeViewRequiredPlugins<TSignature>, 'events'>;
|
|
113
|
-
export type TreeItemWrapper<TSignatures extends readonly TreeViewAnyPluginSignature[]> = (params: {
|
|
114
|
-
itemId: TreeViewItemId;
|
|
115
|
-
children: React.ReactNode;
|
|
116
|
-
instance: TreeViewInstance<TSignatures>;
|
|
117
|
-
idAttribute: string;
|
|
118
|
-
}) => React.ReactNode;
|
|
119
|
-
export type TreeRootWrapper = (params: {
|
|
120
|
-
children: React.ReactNode;
|
|
121
|
-
}) => React.ReactNode;
|
|
122
|
-
export type TreeViewPlugin<TSignature extends TreeViewAnyPluginSignature> = {
|
|
123
|
-
/**
|
|
124
|
-
* The main function of the plugin that will be executed by the Tree View.
|
|
125
|
-
*
|
|
126
|
-
* This should be a valid React `use` function, as it will be executed in the render phase and can contain hooks.
|
|
127
|
-
*/
|
|
128
|
-
(options: TreeViewPluginOptions<TSignature>): TreeViewResponse<TSignature>;
|
|
129
|
-
/**
|
|
130
|
-
* A function that receives the parameters and returns them after being processed with the default values.
|
|
131
|
-
*
|
|
132
|
-
* @param {TreeViewUsedParams<TSignature>} options The options object.
|
|
133
|
-
* @param {TreeViewUsedParams<TSignature>['params']} options.params The parameters before being processed with the default values.
|
|
134
|
-
* @returns {TSignature['paramsWithDefaults']} The parameters after being processed with the default values.
|
|
135
|
-
*/
|
|
136
|
-
applyDefaultValuesToParams?: (options: {
|
|
137
|
-
params: TreeViewUsedParams<TSignature>;
|
|
138
|
-
}) => TSignature['paramsWithDefaults'];
|
|
139
|
-
/**
|
|
140
|
-
* The initial state is computed after the default values are applied.
|
|
141
|
-
* It sets up the state for the first render.
|
|
142
|
-
* Other state modifications have to be done in effects and so could not be applied on the initial render.
|
|
143
|
-
*
|
|
144
|
-
* @param {TreeViewUsedParamsWithDefaults<TSignature>} params The parameters after being processed with the default values.
|
|
145
|
-
* @returns {TSignature['state']} The initial state of the plugin.
|
|
146
|
-
*/
|
|
147
|
-
getInitialState?: (params: TreeViewUsedParamsWithDefaults<TSignature>) => TSignature['state'];
|
|
148
|
-
/**
|
|
149
|
-
* An object where each property used by the plugin is set to `true`.
|
|
150
|
-
*/
|
|
151
|
-
params: Record<keyof TSignature['params'], true>;
|
|
152
|
-
itemPlugin?: TreeViewItemPlugin;
|
|
153
|
-
/**
|
|
154
|
-
* Render function used to add React wrappers around the TreeItem.
|
|
155
|
-
* @param {{ nodeId: TreeViewItemId; children: React.ReactNode; }} params The params of the item.
|
|
156
|
-
* @returns {React.ReactNode} The wrapped item.
|
|
157
|
-
*/
|
|
158
|
-
wrapItem?: TreeItemWrapper<[TSignature, ...TSignature['dependencies']]>;
|
|
159
|
-
/**
|
|
160
|
-
* Render function used to add React wrappers around the TreeView.
|
|
161
|
-
* @param {{ children: React.ReactNode; }} params The params of the root.
|
|
162
|
-
* @returns {React.ReactNode} The wrapped root.
|
|
163
|
-
*/
|
|
164
|
-
wrapRoot?: TreeRootWrapper;
|
|
165
|
-
};
|
|
166
|
-
export {};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { useTreeViewExpansion } from "./useTreeViewExpansion.js";
|
|
2
|
-
export type { UseTreeViewExpansionSignature, UseTreeViewExpansionParameters, UseTreeViewExpansionParametersWithDefaults } from "./useTreeViewExpansion.types.js";
|
|
3
|
-
export { expansionSelectors } from "./useTreeViewExpansion.selectors.js";
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "expansionSelectors", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _useTreeViewExpansion2.expansionSelectors;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "useTreeViewExpansion", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _useTreeViewExpansion.useTreeViewExpansion;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
var _useTreeViewExpansion = require("./useTreeViewExpansion");
|
|
19
|
-
var _useTreeViewExpansion2 = require("./useTreeViewExpansion.selectors");
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.useTreeViewExpansion = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _useAssertModelConsistency = require("@mui/x-internals/useAssertModelConsistency");
|
|
10
|
-
var _useStableCallback = require("@base-ui/utils/useStableCallback");
|
|
11
|
-
var _useIsoLayoutEffect = require("@base-ui/utils/useIsoLayoutEffect");
|
|
12
|
-
var _useTreeViewExpansion = require("./useTreeViewExpansion.selectors");
|
|
13
|
-
var _useTreeViewExpansion2 = require("./useTreeViewExpansion.utils");
|
|
14
|
-
var _useTreeViewItems = require("../useTreeViewItems/useTreeViewItems.selectors");
|
|
15
|
-
var _publishTreeViewEvent = require("../../utils/publishTreeViewEvent");
|
|
16
|
-
const useTreeViewExpansion = ({
|
|
17
|
-
instance,
|
|
18
|
-
store,
|
|
19
|
-
params
|
|
20
|
-
}) => {
|
|
21
|
-
(0, _useAssertModelConsistency.useAssertModelConsistency)({
|
|
22
|
-
componentName: 'Tree View',
|
|
23
|
-
propName: 'expandedItems',
|
|
24
|
-
controlled: params.expandedItems,
|
|
25
|
-
defaultValue: params.defaultExpandedItems
|
|
26
|
-
});
|
|
27
|
-
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
28
|
-
const newExpansionTrigger = (0, _useTreeViewExpansion2.getExpansionTrigger)({
|
|
29
|
-
isItemEditable: params.isItemEditable,
|
|
30
|
-
expansionTrigger: params.expansionTrigger
|
|
31
|
-
});
|
|
32
|
-
if (store.state.expansion.expansionTrigger === newExpansionTrigger) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
store.set('expansion', (0, _extends2.default)({}, store.state.expansion, {
|
|
36
|
-
expansionTrigger: newExpansionTrigger
|
|
37
|
-
}));
|
|
38
|
-
}, [store, params.isItemEditable, params.expansionTrigger]);
|
|
39
|
-
const setExpandedItems = (event, value) => {
|
|
40
|
-
if (params.expandedItems === undefined) {
|
|
41
|
-
store.set('expansion', (0, _extends2.default)({}, store.state.expansion, {
|
|
42
|
-
expandedItems: value
|
|
43
|
-
}));
|
|
44
|
-
}
|
|
45
|
-
params.onExpandedItemsChange?.(event, value);
|
|
46
|
-
};
|
|
47
|
-
const resetItemExpansion = (0, _useStableCallback.useStableCallback)(() => {
|
|
48
|
-
setExpandedItems(null, []);
|
|
49
|
-
});
|
|
50
|
-
const applyItemExpansion = (0, _useStableCallback.useStableCallback)(({
|
|
51
|
-
itemId,
|
|
52
|
-
event,
|
|
53
|
-
shouldBeExpanded
|
|
54
|
-
}) => {
|
|
55
|
-
const oldExpanded = _useTreeViewExpansion.expansionSelectors.expandedItemsRaw(store.state);
|
|
56
|
-
let newExpanded;
|
|
57
|
-
if (shouldBeExpanded) {
|
|
58
|
-
newExpanded = [itemId].concat(oldExpanded);
|
|
59
|
-
} else {
|
|
60
|
-
newExpanded = oldExpanded.filter(id => id !== itemId);
|
|
61
|
-
}
|
|
62
|
-
if (params.onItemExpansionToggle) {
|
|
63
|
-
params.onItemExpansionToggle(event, itemId, shouldBeExpanded);
|
|
64
|
-
}
|
|
65
|
-
setExpandedItems(event, newExpanded);
|
|
66
|
-
});
|
|
67
|
-
const setItemExpansion = (0, _useStableCallback.useStableCallback)(({
|
|
68
|
-
itemId,
|
|
69
|
-
event = null,
|
|
70
|
-
shouldBeExpanded
|
|
71
|
-
}) => {
|
|
72
|
-
const isExpandedBefore = _useTreeViewExpansion.expansionSelectors.isItemExpanded(store.state, itemId);
|
|
73
|
-
const cleanShouldBeExpanded = shouldBeExpanded ?? !isExpandedBefore;
|
|
74
|
-
if (isExpandedBefore === cleanShouldBeExpanded) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
const eventParameters = {
|
|
78
|
-
isExpansionPrevented: false,
|
|
79
|
-
shouldBeExpanded: cleanShouldBeExpanded,
|
|
80
|
-
event,
|
|
81
|
-
itemId
|
|
82
|
-
};
|
|
83
|
-
(0, _publishTreeViewEvent.publishTreeViewEvent)(instance, 'beforeItemToggleExpansion', eventParameters);
|
|
84
|
-
if (eventParameters.isExpansionPrevented) {
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
instance.applyItemExpansion({
|
|
88
|
-
itemId,
|
|
89
|
-
event,
|
|
90
|
-
shouldBeExpanded: cleanShouldBeExpanded
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
const isItemExpanded = (0, _useStableCallback.useStableCallback)(itemId => {
|
|
94
|
-
return _useTreeViewExpansion.expansionSelectors.isItemExpanded(store.state, itemId);
|
|
95
|
-
});
|
|
96
|
-
const expandAllSiblings = (event, itemId) => {
|
|
97
|
-
const itemMeta = _useTreeViewItems.itemsSelectors.itemMeta(store.state, itemId);
|
|
98
|
-
if (itemMeta == null) {
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
const siblings = _useTreeViewItems.itemsSelectors.itemOrderedChildrenIds(store.state, itemMeta.parentId);
|
|
102
|
-
const diff = siblings.filter(child => _useTreeViewExpansion.expansionSelectors.isItemExpandable(store.state, child) && !_useTreeViewExpansion.expansionSelectors.isItemExpanded(store.state, child));
|
|
103
|
-
const newExpanded = _useTreeViewExpansion.expansionSelectors.expandedItemsRaw(store.state).concat(diff);
|
|
104
|
-
if (diff.length > 0) {
|
|
105
|
-
if (params.onItemExpansionToggle) {
|
|
106
|
-
diff.forEach(newlyExpandedItemId => {
|
|
107
|
-
params.onItemExpansionToggle(event, newlyExpandedItemId, true);
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
setExpandedItems(event, newExpanded);
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Update the controlled model when the `expandedItems` prop changes.
|
|
116
|
-
*/
|
|
117
|
-
(0, _useIsoLayoutEffect.useIsoLayoutEffect)(() => {
|
|
118
|
-
const expandedItems = params.expandedItems;
|
|
119
|
-
if (expandedItems !== undefined) {
|
|
120
|
-
store.set('expansion', (0, _extends2.default)({}, store.state.expansion, {
|
|
121
|
-
expandedItems
|
|
122
|
-
}));
|
|
123
|
-
}
|
|
124
|
-
}, [store, params.expandedItems]);
|
|
125
|
-
return {
|
|
126
|
-
publicAPI: {
|
|
127
|
-
setItemExpansion,
|
|
128
|
-
isItemExpanded
|
|
129
|
-
},
|
|
130
|
-
instance: {
|
|
131
|
-
setItemExpansion,
|
|
132
|
-
applyItemExpansion,
|
|
133
|
-
expandAllSiblings,
|
|
134
|
-
resetItemExpansion
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
};
|
|
138
|
-
exports.useTreeViewExpansion = useTreeViewExpansion;
|
|
139
|
-
const DEFAULT_EXPANDED_ITEMS = [];
|
|
140
|
-
useTreeViewExpansion.applyDefaultValuesToParams = ({
|
|
141
|
-
params
|
|
142
|
-
}) => (0, _extends2.default)({}, params, {
|
|
143
|
-
defaultExpandedItems: params.defaultExpandedItems ?? DEFAULT_EXPANDED_ITEMS
|
|
144
|
-
});
|
|
145
|
-
useTreeViewExpansion.getInitialState = params => ({
|
|
146
|
-
expansion: {
|
|
147
|
-
expandedItems: params.expandedItems === undefined ? params.defaultExpandedItems : params.expandedItems,
|
|
148
|
-
expansionTrigger: (0, _useTreeViewExpansion2.getExpansionTrigger)(params)
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
useTreeViewExpansion.params = {
|
|
152
|
-
expandedItems: true,
|
|
153
|
-
defaultExpandedItems: true,
|
|
154
|
-
onExpandedItemsChange: true,
|
|
155
|
-
onItemExpansionToggle: true,
|
|
156
|
-
expansionTrigger: true
|
|
157
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { TreeViewState } from "../../models/index.js";
|
|
2
|
-
import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
|
|
3
|
-
export declare const expansionSelectors: {
|
|
4
|
-
/**
|
|
5
|
-
* Gets the expanded items as provided to the component.
|
|
6
|
-
*/
|
|
7
|
-
expandedItemsRaw: (state: TreeViewState<[UseTreeViewExpansionSignature]>) => readonly string[];
|
|
8
|
-
/**
|
|
9
|
-
* Gets the expanded items as a Map.
|
|
10
|
-
*/
|
|
11
|
-
expandedItemsMap: (args_0: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}>) => Map<string, true>;
|
|
12
|
-
/**
|
|
13
|
-
* Gets the items to render as a flat list (the descendants of an expanded item are listed as siblings of the item).
|
|
14
|
-
*/
|
|
15
|
-
flatList: (args_0: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}>) => string[];
|
|
16
|
-
/**
|
|
17
|
-
* Gets the slot that triggers the item's expansion when clicked.
|
|
18
|
-
*/
|
|
19
|
-
triggerSlot: (state: TreeViewState<[UseTreeViewExpansionSignature]>) => "content" | "iconContainer";
|
|
20
|
-
/**
|
|
21
|
-
* Checks whether an item is expanded.
|
|
22
|
-
*/
|
|
23
|
-
isItemExpanded: (args_0: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("./useTreeViewExpansion.types.js").UseTreeViewExpansionState & Partial<{}>, itemId: string) => boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Checks whether an item is expandable.
|
|
26
|
-
*/
|
|
27
|
-
isItemExpandable: (args_0: import("../../corePlugins/useTreeViewId/useTreeViewId.types.js").UseTreeViewIdState & import("../useTreeViewItems/index.js").UseTreeViewItemsState<import("../../../index.js").TreeViewDefaultItemModelProperties> & Partial<{}>, _itemId: string) => boolean;
|
|
28
|
-
};
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { DefaultizedProps } from '@mui/x-internals/types';
|
|
3
|
-
import { TreeViewPluginSignature } from "../../models/index.js";
|
|
4
|
-
import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
|
|
5
|
-
import { TreeViewItemId } from "../../../models/index.js";
|
|
6
|
-
import { UseTreeViewLabelSignature } from "../useTreeViewLabel/index.js";
|
|
7
|
-
export interface UseTreeViewExpansionPublicAPI {
|
|
8
|
-
/**
|
|
9
|
-
* Change the expansion status of a given item.
|
|
10
|
-
* @param {object} parameters The parameters of the method.
|
|
11
|
-
* @param {TreeViewItemId} parameters.itemId The id of the item to expand of collapse.
|
|
12
|
-
* @param {React.SyntheticEvent} parameters.event The DOM event that triggered the change.
|
|
13
|
-
* @param {boolean} parameters.shouldBeExpanded If `true` the item will be expanded. If `false` the item will be collapsed. If not defined, the item's expansion status will be the toggled.
|
|
14
|
-
*/
|
|
15
|
-
setItemExpansion: (parameters: {
|
|
16
|
-
itemId: TreeViewItemId;
|
|
17
|
-
event?: React.SyntheticEvent;
|
|
18
|
-
shouldBeExpanded?: boolean;
|
|
19
|
-
}) => void;
|
|
20
|
-
/**
|
|
21
|
-
* Check if an item is expanded.
|
|
22
|
-
* @param {TreeViewItemId} itemId The id of the item to check.
|
|
23
|
-
* @returns {boolean} `true` if the item is expanded, `false` otherwise.
|
|
24
|
-
*/
|
|
25
|
-
isItemExpanded: (itemId: TreeViewItemId) => boolean;
|
|
26
|
-
}
|
|
27
|
-
export interface UseTreeViewExpansionInstance extends Omit<UseTreeViewExpansionPublicAPI, 'isItemExpanded'> {
|
|
28
|
-
/**
|
|
29
|
-
* Expand all the siblings (i.e.: the items that have the same parent) of a given item.
|
|
30
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change.
|
|
31
|
-
* @param {TreeViewItemId} itemId The id of the item whose siblings will be expanded.
|
|
32
|
-
*/
|
|
33
|
-
expandAllSiblings: (event: React.KeyboardEvent, itemId: TreeViewItemId) => void;
|
|
34
|
-
/**
|
|
35
|
-
* Apply the new expansion status of a given item.
|
|
36
|
-
* Is used by the `setItemExpansion` method and by the `useTreeViewLazyLoading` plugin.
|
|
37
|
-
* Unlike `setItemExpansion`, this method does not trigger the lazy loading.
|
|
38
|
-
* @param {object} parameters The parameters of the method.
|
|
39
|
-
* @param {TreeViewItemId} parameters.itemId The id of the item to expand of collapse.
|
|
40
|
-
* @param {React.SyntheticEvent | null} parameters.event The DOM event that triggered the change.
|
|
41
|
-
* @param {boolean} parameters.shouldBeExpanded If `true` the item will be expanded. If `false` the item will be collapsed.
|
|
42
|
-
*/
|
|
43
|
-
applyItemExpansion: (parameters: {
|
|
44
|
-
itemId: TreeViewItemId;
|
|
45
|
-
event: React.SyntheticEvent | null;
|
|
46
|
-
shouldBeExpanded: boolean;
|
|
47
|
-
}) => void;
|
|
48
|
-
/**
|
|
49
|
-
* Reset the expansion state of all items.
|
|
50
|
-
*/
|
|
51
|
-
resetItemExpansion: () => void;
|
|
52
|
-
}
|
|
53
|
-
export interface UseTreeViewExpansionParameters {
|
|
54
|
-
/**
|
|
55
|
-
* Expanded item ids.
|
|
56
|
-
* Used when the item's expansion is controlled.
|
|
57
|
-
*/
|
|
58
|
-
expandedItems?: readonly TreeViewItemId[];
|
|
59
|
-
/**
|
|
60
|
-
* Expanded item ids.
|
|
61
|
-
* Used when the item's expansion is not controlled.
|
|
62
|
-
* @default []
|
|
63
|
-
*/
|
|
64
|
-
defaultExpandedItems?: readonly TreeViewItemId[];
|
|
65
|
-
/**
|
|
66
|
-
* Callback fired when Tree Items are expanded/collapsed.
|
|
67
|
-
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
|
|
68
|
-
* @param {TreeViewItemId[]} itemIds The ids of the expanded items.
|
|
69
|
-
*/
|
|
70
|
-
onExpandedItemsChange?: (event: React.SyntheticEvent | null, itemIds: TreeViewItemId[]) => void;
|
|
71
|
-
/**
|
|
72
|
-
* Callback fired when a Tree Item is expanded or collapsed.
|
|
73
|
-
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
|
|
74
|
-
* @param {TreeViewItemId} itemId The itemId of the modified item.
|
|
75
|
-
* @param {boolean} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
|
|
76
|
-
*/
|
|
77
|
-
onItemExpansionToggle?: (event: React.SyntheticEvent | null, itemId: TreeViewItemId, isExpanded: boolean) => void;
|
|
78
|
-
/**
|
|
79
|
-
* The slot that triggers the item's expansion when clicked.
|
|
80
|
-
* @default 'content'
|
|
81
|
-
*/
|
|
82
|
-
expansionTrigger?: 'content' | 'iconContainer';
|
|
83
|
-
}
|
|
84
|
-
export type UseTreeViewExpansionParametersWithDefaults = DefaultizedProps<UseTreeViewExpansionParameters, 'defaultExpandedItems'>;
|
|
85
|
-
export interface UseTreeViewExpansionState {
|
|
86
|
-
expansion: {
|
|
87
|
-
expandedItems: readonly TreeViewItemId[];
|
|
88
|
-
expansionTrigger: 'content' | 'iconContainer';
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
interface UseTreeViewExpansionEventLookup {
|
|
92
|
-
beforeItemToggleExpansion: {
|
|
93
|
-
params: {
|
|
94
|
-
isExpansionPrevented: boolean;
|
|
95
|
-
shouldBeExpanded: boolean;
|
|
96
|
-
event: React.SyntheticEvent | null;
|
|
97
|
-
itemId: TreeViewItemId;
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
export type UseTreeViewExpansionSignature = TreeViewPluginSignature<{
|
|
102
|
-
params: UseTreeViewExpansionParameters;
|
|
103
|
-
paramsWithDefaults: UseTreeViewExpansionParametersWithDefaults;
|
|
104
|
-
instance: UseTreeViewExpansionInstance;
|
|
105
|
-
publicAPI: UseTreeViewExpansionPublicAPI;
|
|
106
|
-
modelNames: 'expandedItems';
|
|
107
|
-
state: UseTreeViewExpansionState;
|
|
108
|
-
dependencies: [UseTreeViewItemsSignature];
|
|
109
|
-
optionalDependencies: [UseTreeViewLabelSignature];
|
|
110
|
-
events: UseTreeViewExpansionEventLookup;
|
|
111
|
-
}>;
|
|
112
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { TreeViewUsedParamsWithDefaults } from "../../models/index.js";
|
|
2
|
-
import { UseTreeViewExpansionSignature } from "./useTreeViewExpansion.types.js";
|
|
3
|
-
export declare const getExpansionTrigger: ({
|
|
4
|
-
isItemEditable,
|
|
5
|
-
expansionTrigger
|
|
6
|
-
}: Pick<TreeViewUsedParamsWithDefaults<UseTreeViewExpansionSignature>, "isItemEditable" | "expansionTrigger">) => "content" | "iconContainer";
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "focusSelectors", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _useTreeViewFocus2.focusSelectors;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "useTreeViewFocus", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _useTreeViewFocus.useTreeViewFocus;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
var _useTreeViewFocus = require("./useTreeViewFocus");
|
|
19
|
-
var _useTreeViewFocus2 = require("./useTreeViewFocus.selectors");
|