@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
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _selectors = require("./selectors");
|
|
7
|
+
Object.keys(_selectors).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _selectors[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _selectors[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
|
|
2
|
+
export declare const idSelectors: {
|
|
3
|
+
/**
|
|
4
|
+
* Get the id attribute of the tree view.
|
|
5
|
+
*/
|
|
6
|
+
treeId: (state: MinimalTreeViewState<any, any>) => string | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Generate the id attribute (i.e.: the `id` attribute passed to the DOM element) of a Tree Item.
|
|
9
|
+
* If the user explicitly defined an id attribute, it will be returned.
|
|
10
|
+
* Otherwise, the method creates a unique id for the item based on the Tree View id attribute and the item `itemId`
|
|
11
|
+
*/
|
|
12
|
+
treeItemIdAttribute: (args_0: MinimalTreeViewState<any, any>, itemId: string, providedIdAttribute: string | undefined) => string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.idSelectors = void 0;
|
|
7
|
+
var _store = require("@mui/x-internals/store");
|
|
8
|
+
const idSelectors = exports.idSelectors = {
|
|
9
|
+
/**
|
|
10
|
+
* Get the id attribute of the tree view.
|
|
11
|
+
*/
|
|
12
|
+
treeId: (0, _store.createSelector)(state => state.treeId),
|
|
13
|
+
/**
|
|
14
|
+
* Generate the id attribute (i.e.: the `id` attribute passed to the DOM element) of a Tree Item.
|
|
15
|
+
* If the user explicitly defined an id attribute, it will be returned.
|
|
16
|
+
* Otherwise, the method creates a unique id for the item based on the Tree View id attribute and the item `itemId`
|
|
17
|
+
*/
|
|
18
|
+
treeItemIdAttribute: (0, _store.createSelector)(state => state.treeId, (treeId, itemId, providedIdAttribute) => {
|
|
19
|
+
if (providedIdAttribute != null) {
|
|
20
|
+
return providedIdAttribute;
|
|
21
|
+
}
|
|
22
|
+
return `${treeId ?? ''}-${itemId}`;
|
|
23
|
+
})
|
|
24
|
+
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { TreeViewItemId, TreeViewValidItem } from "../../../models/index.js";
|
|
2
|
+
import { MinimalTreeViewParameters } from "../../MinimalTreeViewStore/MinimalTreeViewStore.types.js";
|
|
3
|
+
export declare class TreeViewItemsPlugin<R extends TreeViewValidItem<R>> {
|
|
4
|
+
private store;
|
|
5
|
+
constructor(store: any);
|
|
6
|
+
/**
|
|
7
|
+
* Determines if the items state should be rebuilt based on the new and previous parameters.
|
|
8
|
+
*/
|
|
9
|
+
static shouldRebuildItemsState: <R2 extends TreeViewValidItem<R2>>(newParameters: MinimalTreeViewParameters<R2, any>, previousParameters: MinimalTreeViewParameters<R2, any>) => boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Builds the state properties derived from the `items` prop.
|
|
12
|
+
*/
|
|
13
|
+
static buildItemsStateIfNeeded: <R2 extends TreeViewValidItem<R2>>(parameters: Pick<MinimalTreeViewParameters<R2, any>, "items" | "isItemDisabled" | "isItemSelectionDisabled" | "getItemId" | "getItemLabel" | "getItemChildren">) => {
|
|
14
|
+
itemMetaLookup: {
|
|
15
|
+
[itemId: string]: import("../../index.js").TreeViewItemMeta;
|
|
16
|
+
};
|
|
17
|
+
itemModelLookup: {
|
|
18
|
+
[itemId: string]: R2;
|
|
19
|
+
};
|
|
20
|
+
itemOrderedChildrenIdsLookup: {
|
|
21
|
+
[parentItemId: string]: string[];
|
|
22
|
+
};
|
|
23
|
+
itemChildrenIndexesLookup: {
|
|
24
|
+
[parentItemId: string]: {
|
|
25
|
+
[itemId: string]: number;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Get the item with the given id.
|
|
31
|
+
* When used in the Simple Tree View, it returns an object with the `id` and `label` properties.
|
|
32
|
+
* @param {TreeViewItemId} itemId The id of the item to retrieve.
|
|
33
|
+
* @returns {R} The item with the given id.
|
|
34
|
+
*/
|
|
35
|
+
private getItem;
|
|
36
|
+
/**
|
|
37
|
+
* Get all the items in the same format as provided by `props.items`.
|
|
38
|
+
* @returns {R[]} The items in the tree.
|
|
39
|
+
*/
|
|
40
|
+
private getItemTree;
|
|
41
|
+
/**
|
|
42
|
+
* Get the ids of a given item's children.
|
|
43
|
+
* Those ids are returned in the order they should be rendered.
|
|
44
|
+
* To get the root items, pass `null` as the `itemId`.
|
|
45
|
+
* @param {TreeViewItemId | null} itemId The id of the item to get the children of.
|
|
46
|
+
* @returns {TreeViewItemId[]} The ids of the item's children.
|
|
47
|
+
*/
|
|
48
|
+
private getItemOrderedChildrenIds;
|
|
49
|
+
/** * Get the id of the parent item.
|
|
50
|
+
* @param {TreeViewItemId} itemId The id of the item to whose parentId we want to retrieve.
|
|
51
|
+
* @returns {TreeViewItemId | null} The id of the parent item.
|
|
52
|
+
*/
|
|
53
|
+
private getParentId;
|
|
54
|
+
/**
|
|
55
|
+
* Toggle the disabled state of the item with the given id.
|
|
56
|
+
* @param {object} parameters The params of the method.
|
|
57
|
+
* @param {TreeViewItemId } parameters.itemId The id of the item to get the children of.
|
|
58
|
+
* @param {boolean } parameters.shouldBeDisabled true if the item should be disabled.
|
|
59
|
+
*/
|
|
60
|
+
private setIsItemDisabled;
|
|
61
|
+
buildPublicAPI: () => {
|
|
62
|
+
getItem: (itemId: TreeViewItemId) => R;
|
|
63
|
+
getItemDOMElement: (itemId: TreeViewItemId) => HTMLElement | null;
|
|
64
|
+
getItemOrderedChildrenIds: (itemId: TreeViewItemId | null) => TreeViewItemId[];
|
|
65
|
+
getItemTree: () => R[];
|
|
66
|
+
getParentId: (itemId: TreeViewItemId) => TreeViewItemId | null;
|
|
67
|
+
setIsItemDisabled: ({
|
|
68
|
+
itemId,
|
|
69
|
+
shouldBeDisabled
|
|
70
|
+
}: {
|
|
71
|
+
itemId: TreeViewItemId;
|
|
72
|
+
shouldBeDisabled?: boolean;
|
|
73
|
+
}) => void;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Get the DOM element of the item with the given id.
|
|
77
|
+
* @param {TreeViewItemId} itemId The id of the item to get the DOM element of.
|
|
78
|
+
* @returns {HTMLElement | null} The DOM element of the item with the given id.
|
|
79
|
+
*/
|
|
80
|
+
getItemDOMElement: (itemId: TreeViewItemId) => HTMLElement | null;
|
|
81
|
+
/**
|
|
82
|
+
* Add an array of items to the tree.
|
|
83
|
+
* @param {SetItemChildrenParameters<R>} args The items to add to the tree and information about their ancestors.
|
|
84
|
+
*/
|
|
85
|
+
setItemChildren: ({
|
|
86
|
+
items,
|
|
87
|
+
parentId,
|
|
88
|
+
getChildrenCount
|
|
89
|
+
}: {
|
|
90
|
+
items: readonly R[];
|
|
91
|
+
parentId: TreeViewItemId | null;
|
|
92
|
+
getChildrenCount: (item: R) => number;
|
|
93
|
+
}) => void;
|
|
94
|
+
/**
|
|
95
|
+
* Remove the children of an item.
|
|
96
|
+
* @param {TreeViewItemId | null} parentId The id of the item to remove the children of.
|
|
97
|
+
*/
|
|
98
|
+
removeChildren: (parentId: TreeViewItemId | null) => void;
|
|
99
|
+
/**
|
|
100
|
+
* Callback fired when the `content` slot of a given Tree Item is clicked.
|
|
101
|
+
* @param {React.MouseEvent} event The DOM event that triggered the change.
|
|
102
|
+
* @param {TreeViewItemId} itemId The id of the item being clicked.
|
|
103
|
+
*/
|
|
104
|
+
handleItemClick: (event: React.MouseEvent, itemId: TreeViewItemId) => void;
|
|
105
|
+
}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.TreeViewItemsPlugin = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _id = require("../id");
|
|
10
|
+
var _selectors = require("./selectors");
|
|
11
|
+
var _utils = require("./utils");
|
|
12
|
+
class TreeViewItemsPlugin {
|
|
13
|
+
// We can't type `store`, otherwise we get the following TS error:
|
|
14
|
+
// 'items' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
|
|
15
|
+
constructor(store) {
|
|
16
|
+
this.store = store;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Determines if the items state should be rebuilt based on the new and previous parameters.
|
|
21
|
+
*/
|
|
22
|
+
static shouldRebuildItemsState = (newParameters, previousParameters) => {
|
|
23
|
+
return ['items', 'isItemDisabled', 'isItemSelectionDisabled', 'getItemId', 'getItemLabel', 'getItemChildren'].some(key => {
|
|
24
|
+
const typedKey = key;
|
|
25
|
+
return newParameters[typedKey] !== previousParameters[typedKey];
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Builds the state properties derived from the `items` prop.
|
|
31
|
+
*/
|
|
32
|
+
static buildItemsStateIfNeeded = parameters => {
|
|
33
|
+
const itemMetaLookup = {};
|
|
34
|
+
const itemModelLookup = {};
|
|
35
|
+
const itemOrderedChildrenIdsLookup = {};
|
|
36
|
+
const itemChildrenIndexesLookup = {};
|
|
37
|
+
function processSiblings(items, parentId, depth) {
|
|
38
|
+
const parentIdWithDefault = parentId ?? _utils.TREE_VIEW_ROOT_PARENT_ID;
|
|
39
|
+
const {
|
|
40
|
+
metaLookup,
|
|
41
|
+
modelLookup,
|
|
42
|
+
orderedChildrenIds,
|
|
43
|
+
childrenIndexes,
|
|
44
|
+
itemsChildren
|
|
45
|
+
} = (0, _utils.buildItemsLookups)({
|
|
46
|
+
storeParameters: parameters,
|
|
47
|
+
items,
|
|
48
|
+
parentId,
|
|
49
|
+
depth,
|
|
50
|
+
isItemExpandable: (item, children) => !!children && children.length > 0,
|
|
51
|
+
otherItemsMetaLookup: itemMetaLookup
|
|
52
|
+
});
|
|
53
|
+
Object.assign(itemMetaLookup, metaLookup);
|
|
54
|
+
Object.assign(itemModelLookup, modelLookup);
|
|
55
|
+
itemOrderedChildrenIdsLookup[parentIdWithDefault] = orderedChildrenIds;
|
|
56
|
+
itemChildrenIndexesLookup[parentIdWithDefault] = childrenIndexes;
|
|
57
|
+
for (const item of itemsChildren) {
|
|
58
|
+
processSiblings(item.children || [], item.id, depth + 1);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
processSiblings(parameters.items, null, 0);
|
|
62
|
+
return {
|
|
63
|
+
itemMetaLookup,
|
|
64
|
+
itemModelLookup,
|
|
65
|
+
itemOrderedChildrenIdsLookup,
|
|
66
|
+
itemChildrenIndexesLookup
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Get the item with the given id.
|
|
72
|
+
* When used in the Simple Tree View, it returns an object with the `id` and `label` properties.
|
|
73
|
+
* @param {TreeViewItemId} itemId The id of the item to retrieve.
|
|
74
|
+
* @returns {R} The item with the given id.
|
|
75
|
+
*/
|
|
76
|
+
getItem = itemId => _selectors.itemsSelectors.itemModel(this.store.state, itemId);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Get all the items in the same format as provided by `props.items`.
|
|
80
|
+
* @returns {R[]} The items in the tree.
|
|
81
|
+
*/
|
|
82
|
+
getItemTree = () => {
|
|
83
|
+
const getItemFromItemId = itemId => {
|
|
84
|
+
const item = _selectors.itemsSelectors.itemModel(this.store.state, itemId);
|
|
85
|
+
const itemToMutate = (0, _extends2.default)({}, item);
|
|
86
|
+
const newChildren = _selectors.itemsSelectors.itemOrderedChildrenIds(this.store.state, itemId);
|
|
87
|
+
if (newChildren.length > 0) {
|
|
88
|
+
itemToMutate.children = newChildren.map(getItemFromItemId);
|
|
89
|
+
} else {
|
|
90
|
+
delete itemToMutate.children;
|
|
91
|
+
}
|
|
92
|
+
return itemToMutate;
|
|
93
|
+
};
|
|
94
|
+
return _selectors.itemsSelectors.itemOrderedChildrenIds(this.store.state, null).map(getItemFromItemId);
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Get the ids of a given item's children.
|
|
99
|
+
* Those ids are returned in the order they should be rendered.
|
|
100
|
+
* To get the root items, pass `null` as the `itemId`.
|
|
101
|
+
* @param {TreeViewItemId | null} itemId The id of the item to get the children of.
|
|
102
|
+
* @returns {TreeViewItemId[]} The ids of the item's children.
|
|
103
|
+
*/
|
|
104
|
+
getItemOrderedChildrenIds = itemId => _selectors.itemsSelectors.itemOrderedChildrenIds(this.store.state, itemId);
|
|
105
|
+
|
|
106
|
+
/** * Get the id of the parent item.
|
|
107
|
+
* @param {TreeViewItemId} itemId The id of the item to whose parentId we want to retrieve.
|
|
108
|
+
* @returns {TreeViewItemId | null} The id of the parent item.
|
|
109
|
+
*/
|
|
110
|
+
getParentId = itemId => {
|
|
111
|
+
const itemMeta = _selectors.itemsSelectors.itemMeta(this.store.state, itemId);
|
|
112
|
+
return itemMeta?.parentId || null;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Toggle the disabled state of the item with the given id.
|
|
117
|
+
* @param {object} parameters The params of the method.
|
|
118
|
+
* @param {TreeViewItemId } parameters.itemId The id of the item to get the children of.
|
|
119
|
+
* @param {boolean } parameters.shouldBeDisabled true if the item should be disabled.
|
|
120
|
+
*/
|
|
121
|
+
setIsItemDisabled = ({
|
|
122
|
+
itemId,
|
|
123
|
+
shouldBeDisabled
|
|
124
|
+
}) => {
|
|
125
|
+
if (!this.store.state.itemMetaLookup[itemId]) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const itemMetaLookup = (0, _extends2.default)({}, this.store.state.itemMetaLookup);
|
|
129
|
+
itemMetaLookup[itemId] = (0, _extends2.default)({}, itemMetaLookup[itemId], {
|
|
130
|
+
disabled: shouldBeDisabled ?? !itemMetaLookup[itemId].disabled
|
|
131
|
+
});
|
|
132
|
+
this.store.set('itemMetaLookup', itemMetaLookup);
|
|
133
|
+
};
|
|
134
|
+
buildPublicAPI = () => {
|
|
135
|
+
return {
|
|
136
|
+
getItem: this.getItem,
|
|
137
|
+
getItemDOMElement: this.getItemDOMElement,
|
|
138
|
+
getItemOrderedChildrenIds: this.getItemOrderedChildrenIds,
|
|
139
|
+
getItemTree: this.getItemTree,
|
|
140
|
+
getParentId: this.getParentId,
|
|
141
|
+
setIsItemDisabled: this.setIsItemDisabled
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Get the DOM element of the item with the given id.
|
|
147
|
+
* @param {TreeViewItemId} itemId The id of the item to get the DOM element of.
|
|
148
|
+
* @returns {HTMLElement | null} The DOM element of the item with the given id.
|
|
149
|
+
*/
|
|
150
|
+
getItemDOMElement = itemId => {
|
|
151
|
+
const itemMeta = _selectors.itemsSelectors.itemMeta(this.store.state, itemId);
|
|
152
|
+
if (itemMeta == null) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
const idAttribute = _id.idSelectors.treeItemIdAttribute(this.store.state, itemId, itemMeta.idAttribute);
|
|
156
|
+
return document.getElementById(idAttribute);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Add an array of items to the tree.
|
|
161
|
+
* @param {SetItemChildrenParameters<R>} args The items to add to the tree and information about their ancestors.
|
|
162
|
+
*/
|
|
163
|
+
setItemChildren = ({
|
|
164
|
+
items,
|
|
165
|
+
parentId,
|
|
166
|
+
getChildrenCount
|
|
167
|
+
}) => {
|
|
168
|
+
const parentIdWithDefault = parentId ?? _utils.TREE_VIEW_ROOT_PARENT_ID;
|
|
169
|
+
const parentDepth = parentId == null ? -1 : _selectors.itemsSelectors.itemDepth(this.store.state, parentId);
|
|
170
|
+
const {
|
|
171
|
+
metaLookup,
|
|
172
|
+
modelLookup,
|
|
173
|
+
orderedChildrenIds,
|
|
174
|
+
childrenIndexes
|
|
175
|
+
} = (0, _utils.buildItemsLookups)({
|
|
176
|
+
storeParameters: this.store.parameters,
|
|
177
|
+
items,
|
|
178
|
+
parentId,
|
|
179
|
+
depth: parentDepth + 1,
|
|
180
|
+
isItemExpandable: getChildrenCount ? item => getChildrenCount(item) !== 0 : () => false,
|
|
181
|
+
otherItemsMetaLookup: _selectors.itemsSelectors.itemMetaLookup(this.store.state)
|
|
182
|
+
});
|
|
183
|
+
this.store.update({
|
|
184
|
+
itemModelLookup: (0, _extends2.default)({}, this.store.state.itemModelLookup, modelLookup),
|
|
185
|
+
itemMetaLookup: (0, _extends2.default)({}, this.store.state.itemMetaLookup, metaLookup),
|
|
186
|
+
itemOrderedChildrenIdsLookup: (0, _extends2.default)({}, this.store.state.itemOrderedChildrenIdsLookup, {
|
|
187
|
+
[parentIdWithDefault]: orderedChildrenIds
|
|
188
|
+
}),
|
|
189
|
+
itemChildrenIndexesLookup: (0, _extends2.default)({}, this.store.state.itemChildrenIndexesLookup, {
|
|
190
|
+
[parentIdWithDefault]: childrenIndexes
|
|
191
|
+
})
|
|
192
|
+
});
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Remove the children of an item.
|
|
197
|
+
* @param {TreeViewItemId | null} parentId The id of the item to remove the children of.
|
|
198
|
+
*/
|
|
199
|
+
removeChildren = parentId => {
|
|
200
|
+
const itemMetaLookup = this.store.state.itemMetaLookup;
|
|
201
|
+
const newMetaMap = Object.keys(itemMetaLookup).reduce((acc, key) => {
|
|
202
|
+
const item = itemMetaLookup[key];
|
|
203
|
+
if (item.parentId === parentId) {
|
|
204
|
+
return acc;
|
|
205
|
+
}
|
|
206
|
+
return (0, _extends2.default)({}, acc, {
|
|
207
|
+
[item.id]: item
|
|
208
|
+
});
|
|
209
|
+
}, {});
|
|
210
|
+
const newItemOrderedChildrenIdsLookup = (0, _extends2.default)({}, this.store.state.itemOrderedChildrenIdsLookup);
|
|
211
|
+
const newItemChildrenIndexesLookup = (0, _extends2.default)({}, this.store.state.itemChildrenIndexesLookup);
|
|
212
|
+
const cleanId = parentId ?? _utils.TREE_VIEW_ROOT_PARENT_ID;
|
|
213
|
+
delete newItemChildrenIndexesLookup[cleanId];
|
|
214
|
+
delete newItemOrderedChildrenIdsLookup[cleanId];
|
|
215
|
+
this.store.update({
|
|
216
|
+
itemMetaLookup: newMetaMap,
|
|
217
|
+
itemOrderedChildrenIdsLookup: newItemOrderedChildrenIdsLookup,
|
|
218
|
+
itemChildrenIndexesLookup: newItemChildrenIndexesLookup
|
|
219
|
+
});
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Callback fired when the `content` slot of a given Tree Item is clicked.
|
|
224
|
+
* @param {React.MouseEvent} event The DOM event that triggered the change.
|
|
225
|
+
* @param {TreeViewItemId} itemId The id of the item being clicked.
|
|
226
|
+
*/
|
|
227
|
+
handleItemClick = (event, itemId) => {
|
|
228
|
+
this.store.parameters.onItemClick?.(event, itemId);
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
exports.TreeViewItemsPlugin = TreeViewItemsPlugin;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
buildSiblingIndexes: true,
|
|
8
|
+
TREE_VIEW_ROOT_PARENT_ID: true
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "TREE_VIEW_ROOT_PARENT_ID", {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _utils.TREE_VIEW_ROOT_PARENT_ID;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "buildSiblingIndexes", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () {
|
|
19
|
+
return _utils.buildSiblingIndexes;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
var _TreeViewItemsPlugin = require("./TreeViewItemsPlugin");
|
|
23
|
+
Object.keys(_TreeViewItemsPlugin).forEach(function (key) {
|
|
24
|
+
if (key === "default" || key === "__esModule") return;
|
|
25
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
26
|
+
if (key in exports && exports[key] === _TreeViewItemsPlugin[key]) return;
|
|
27
|
+
Object.defineProperty(exports, key, {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
get: function () {
|
|
30
|
+
return _TreeViewItemsPlugin[key];
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
var _selectors = require("./selectors");
|
|
35
|
+
Object.keys(_selectors).forEach(function (key) {
|
|
36
|
+
if (key === "default" || key === "__esModule") return;
|
|
37
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
38
|
+
if (key in exports && exports[key] === _selectors[key]) return;
|
|
39
|
+
Object.defineProperty(exports, key, {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () {
|
|
42
|
+
return _selectors[key];
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
var _utils = require("./utils");
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { TreeViewItemMeta } from "../../models/index.js";
|
|
2
|
+
import { MinimalTreeViewState } from "../../MinimalTreeViewStore/index.js";
|
|
3
|
+
export declare const itemsSelectors: {
|
|
4
|
+
/**
|
|
5
|
+
* Gets the DOM structure of the Tree View.
|
|
6
|
+
*/
|
|
7
|
+
domStructure: (state: MinimalTreeViewState<any, any>) => "flat" | "nested";
|
|
8
|
+
/**
|
|
9
|
+
* Checks whether the disabled items are focusable.
|
|
10
|
+
*/
|
|
11
|
+
disabledItemFocusable: (state: MinimalTreeViewState<any, any>) => boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Gets the meta-information of all items.
|
|
14
|
+
*/
|
|
15
|
+
itemMetaLookup: (state: MinimalTreeViewState<any, any>) => {
|
|
16
|
+
[itemId: string]: TreeViewItemMeta;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Gets the ordered children ids of all items.
|
|
20
|
+
*/
|
|
21
|
+
itemOrderedChildrenIdsLookup: (state: MinimalTreeViewState<any, any>) => {
|
|
22
|
+
[parentItemId: string]: string[];
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Gets the meta-information of an item.
|
|
26
|
+
*/
|
|
27
|
+
itemMeta: (state: MinimalTreeViewState<any, any>, itemId: string | null) => TreeViewItemMeta | null;
|
|
28
|
+
/**
|
|
29
|
+
* Gets the ordered children ids of an item.
|
|
30
|
+
*/
|
|
31
|
+
itemOrderedChildrenIds: (state: MinimalTreeViewState<any, any>, itemId: string | null) => string[];
|
|
32
|
+
/**
|
|
33
|
+
* Gets the model of an item.
|
|
34
|
+
*/
|
|
35
|
+
itemModel: (state: MinimalTreeViewState<any, any>, itemId: string) => any;
|
|
36
|
+
/**
|
|
37
|
+
* Checks whether an item is disabled.
|
|
38
|
+
*/
|
|
39
|
+
isItemDisabled: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Gets the index of an item in its parent's children.
|
|
42
|
+
*/
|
|
43
|
+
itemIndex: (state: MinimalTreeViewState<any, any>, itemId: string) => number;
|
|
44
|
+
/**
|
|
45
|
+
* Gets the id of an item's parent.
|
|
46
|
+
*/
|
|
47
|
+
itemParentId: (state: MinimalTreeViewState<any, any>, itemId: string) => string | null;
|
|
48
|
+
/**
|
|
49
|
+
* Gets the depth of an item (items at the root level have a depth of 0).
|
|
50
|
+
*/
|
|
51
|
+
itemDepth: (state: MinimalTreeViewState<any, any>, itemId: string) => number;
|
|
52
|
+
/**
|
|
53
|
+
* Checks whether an item can be focused.
|
|
54
|
+
*/
|
|
55
|
+
canItemBeFocused: (state: MinimalTreeViewState<any, any>, itemId: string) => boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Gets the identation between an item and its children.
|
|
58
|
+
*/
|
|
59
|
+
itemChildrenIndentation: (state: MinimalTreeViewState<any, any>) => string | number;
|
|
60
|
+
};
|
package/internals/plugins/{useTreeViewItems/useTreeViewItems.selectors.js → items/selectors.js}
RENAMED
|
@@ -5,66 +5,66 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.itemsSelectors = void 0;
|
|
7
7
|
var _store = require("@mui/x-internals/store");
|
|
8
|
-
var
|
|
8
|
+
var _utils = require("./utils");
|
|
9
9
|
const EMPTY_CHILDREN = [];
|
|
10
10
|
const itemsSelectors = exports.itemsSelectors = {
|
|
11
11
|
/**
|
|
12
12
|
* Gets the DOM structure of the Tree View.
|
|
13
13
|
*/
|
|
14
|
-
domStructure: (0, _store.createSelector)(state => state.
|
|
14
|
+
domStructure: (0, _store.createSelector)(state => state.domStructure),
|
|
15
15
|
/**
|
|
16
16
|
* Checks whether the disabled items are focusable.
|
|
17
17
|
*/
|
|
18
|
-
disabledItemFocusable: (0, _store.createSelector)(state => state.
|
|
18
|
+
disabledItemFocusable: (0, _store.createSelector)(state => state.disabledItemsFocusable),
|
|
19
19
|
/**
|
|
20
20
|
* Gets the meta-information of all items.
|
|
21
21
|
*/
|
|
22
|
-
itemMetaLookup: (0, _store.createSelector)(state => state.
|
|
22
|
+
itemMetaLookup: (0, _store.createSelector)(state => state.itemMetaLookup),
|
|
23
23
|
/**
|
|
24
24
|
* Gets the ordered children ids of all items.
|
|
25
25
|
*/
|
|
26
|
-
itemOrderedChildrenIdsLookup: (0, _store.createSelector)(state => state.
|
|
26
|
+
itemOrderedChildrenIdsLookup: (0, _store.createSelector)(state => state.itemOrderedChildrenIdsLookup),
|
|
27
27
|
/**
|
|
28
28
|
* Gets the meta-information of an item.
|
|
29
29
|
*/
|
|
30
|
-
itemMeta: (0, _store.createSelector)((state, itemId) => state.
|
|
30
|
+
itemMeta: (0, _store.createSelector)((state, itemId) => state.itemMetaLookup[itemId ?? _utils.TREE_VIEW_ROOT_PARENT_ID] ?? null),
|
|
31
31
|
/**
|
|
32
32
|
* Gets the ordered children ids of an item.
|
|
33
33
|
*/
|
|
34
|
-
itemOrderedChildrenIds: (0, _store.createSelector)((state, itemId) => state.
|
|
34
|
+
itemOrderedChildrenIds: (0, _store.createSelector)((state, itemId) => state.itemOrderedChildrenIdsLookup[itemId ?? _utils.TREE_VIEW_ROOT_PARENT_ID] ?? EMPTY_CHILDREN),
|
|
35
35
|
/**
|
|
36
36
|
* Gets the model of an item.
|
|
37
37
|
*/
|
|
38
|
-
itemModel: (0, _store.createSelector)((state, itemId) => state.
|
|
38
|
+
itemModel: (0, _store.createSelector)((state, itemId) => state.itemModelLookup[itemId]),
|
|
39
39
|
/**
|
|
40
40
|
* Checks whether an item is disabled.
|
|
41
41
|
*/
|
|
42
|
-
isItemDisabled: (0, _store.createSelector)((state, itemId) => (0,
|
|
42
|
+
isItemDisabled: (0, _store.createSelector)((state, itemId) => (0, _utils.isItemDisabled)(state.itemMetaLookup, itemId)),
|
|
43
43
|
/**
|
|
44
44
|
* Gets the index of an item in its parent's children.
|
|
45
45
|
*/
|
|
46
46
|
itemIndex: (0, _store.createSelector)((state, itemId) => {
|
|
47
|
-
const itemMeta = state.
|
|
47
|
+
const itemMeta = state.itemMetaLookup[itemId];
|
|
48
48
|
if (itemMeta == null) {
|
|
49
49
|
return -1;
|
|
50
50
|
}
|
|
51
|
-
const parentIndexes = state.
|
|
51
|
+
const parentIndexes = state.itemChildrenIndexesLookup[itemMeta.parentId ?? _utils.TREE_VIEW_ROOT_PARENT_ID];
|
|
52
52
|
return parentIndexes[itemMeta.id];
|
|
53
53
|
}),
|
|
54
54
|
/**
|
|
55
55
|
* Gets the id of an item's parent.
|
|
56
56
|
*/
|
|
57
|
-
itemParentId: (0, _store.createSelector)((state, itemId) => state.
|
|
57
|
+
itemParentId: (0, _store.createSelector)((state, itemId) => state.itemMetaLookup[itemId]?.parentId ?? null),
|
|
58
58
|
/**
|
|
59
59
|
* Gets the depth of an item (items at the root level have a depth of 0).
|
|
60
60
|
*/
|
|
61
|
-
itemDepth: (0, _store.createSelector)((state, itemId) => state.
|
|
61
|
+
itemDepth: (0, _store.createSelector)((state, itemId) => state.itemMetaLookup[itemId]?.depth ?? 0),
|
|
62
62
|
/**
|
|
63
63
|
* Checks whether an item can be focused.
|
|
64
64
|
*/
|
|
65
|
-
canItemBeFocused: (0, _store.createSelector)((state, itemId) => state.
|
|
65
|
+
canItemBeFocused: (0, _store.createSelector)((state, itemId) => state.disabledItemsFocusable || !(0, _utils.isItemDisabled)(state.itemMetaLookup, itemId)),
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Gets the identation between an item and its children.
|
|
68
68
|
*/
|
|
69
|
-
|
|
69
|
+
itemChildrenIndentation: (0, _store.createSelector)(state => state.itemChildrenIndentation)
|
|
70
70
|
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TreeViewValidItem, TreeViewItemId } from "../../../models/index.js";
|
|
2
|
+
import { TreeViewItemMeta } from "../../models/index.js";
|
|
3
|
+
import type { MinimalTreeViewParameters } from "../../MinimalTreeViewStore/index.js";
|
|
4
|
+
export declare const TREE_VIEW_ROOT_PARENT_ID = "__TREE_VIEW_ROOT_PARENT_ID__";
|
|
5
|
+
export declare const buildSiblingIndexes: (siblings: string[]) => {
|
|
6
|
+
[itemId: string]: number;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Check if an item is disabled.
|
|
10
|
+
* This method should only be used in selectors that are checking if several items are disabled.
|
|
11
|
+
* Otherwise, use the `itemsSelector.isItemDisabled` selector.
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare const isItemDisabled: (itemMetaLookup: {
|
|
15
|
+
[itemId: string]: TreeViewItemMeta;
|
|
16
|
+
}, itemId: TreeViewItemId) => boolean;
|
|
17
|
+
export declare function buildItemsLookups<R extends TreeViewValidItem<R>>(parameters: BuildItemsLookupsParameters<R>): {
|
|
18
|
+
metaLookup: {
|
|
19
|
+
[itemId: string]: TreeViewItemMeta;
|
|
20
|
+
};
|
|
21
|
+
modelLookup: {
|
|
22
|
+
[itemId: string]: R;
|
|
23
|
+
};
|
|
24
|
+
orderedChildrenIds: string[];
|
|
25
|
+
childrenIndexes: {
|
|
26
|
+
[itemId: string]: number;
|
|
27
|
+
};
|
|
28
|
+
itemsChildren: {
|
|
29
|
+
id: string | null;
|
|
30
|
+
children: R[];
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
33
|
+
interface BuildItemsLookupsParameters<R extends TreeViewValidItem<R>> {
|
|
34
|
+
items: readonly R[];
|
|
35
|
+
storeParameters: Pick<MinimalTreeViewParameters<R, any>, 'getItemId' | 'getItemLabel' | 'getItemChildren' | 'isItemDisabled' | 'isItemSelectionDisabled'>;
|
|
36
|
+
parentId: string | null;
|
|
37
|
+
depth: number;
|
|
38
|
+
isItemExpandable: (item: R, children: R[] | undefined) => boolean;
|
|
39
|
+
otherItemsMetaLookup: {
|
|
40
|
+
[itemId: string]: TreeViewItemMeta;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export {};
|