@mui/x-tree-view 8.22.0 → 8.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +312 -0
- package/RichTreeView/RichTreeView.d.ts +1 -1
- package/RichTreeView/RichTreeView.js +41 -28
- package/RichTreeView/RichTreeView.types.d.ts +6 -4
- package/RichTreeView/index.d.ts +1 -3
- package/RichTreeView/index.js +1 -13
- package/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
- package/RichTreeView/useExtractRichTreeViewParameters.js +91 -0
- package/SimpleTreeView/SimpleTreeView.d.ts +1 -1
- package/SimpleTreeView/SimpleTreeView.js +30 -24
- package/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
- package/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
- package/SimpleTreeView/useExtractSimpleTreeViewParameters.js +78 -0
- package/TreeItem/TreeItem.d.ts +1 -1
- package/TreeItem/TreeItem.js +9 -2
- package/TreeItemProvider/TreeItemProvider.js +3 -10
- package/esm/RichTreeView/RichTreeView.d.ts +1 -1
- package/esm/RichTreeView/RichTreeView.js +40 -27
- package/esm/RichTreeView/RichTreeView.types.d.ts +6 -4
- package/esm/RichTreeView/index.d.ts +1 -3
- package/esm/RichTreeView/index.js +1 -1
- package/esm/RichTreeView/useExtractRichTreeViewParameters.d.ts +294 -0
- package/esm/RichTreeView/useExtractRichTreeViewParameters.js +83 -0
- package/esm/SimpleTreeView/SimpleTreeView.d.ts +1 -1
- package/esm/SimpleTreeView/SimpleTreeView.js +29 -23
- package/esm/SimpleTreeView/SimpleTreeView.types.d.ts +5 -4
- package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.d.ts +293 -0
- package/esm/SimpleTreeView/useExtractSimpleTreeViewParameters.js +70 -0
- package/esm/TreeItem/TreeItem.d.ts +1 -1
- package/esm/TreeItem/TreeItem.js +9 -2
- package/esm/TreeItemProvider/TreeItemProvider.js +3 -10
- package/esm/hooks/useApplyPropagationToSelectedItemsOnMount.js +2 -2
- package/esm/hooks/useRichTreeViewApiRef.d.ts +2 -2
- package/esm/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
- package/esm/hooks/useTreeItemModel.d.ts +2 -2
- package/esm/hooks/useTreeItemModel.js +1 -1
- package/esm/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
- package/esm/hooks/useTreeItemUtils/useTreeItemUtils.js +26 -35
- package/esm/hooks/useTreeViewApiRef.d.ts +3 -5
- package/esm/hooks/useTreeViewApiRef.js +4 -3
- package/esm/index.d.ts +0 -1
- package/esm/index.js +1 -2
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +126 -0
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
- package/esm/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +49 -0
- package/esm/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
- package/esm/internals/MinimalTreeViewStore/TimeoutManager.js +39 -0
- package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
- package/esm/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +16 -0
- package/esm/internals/MinimalTreeViewStore/index.d.ts +2 -0
- package/esm/internals/MinimalTreeViewStore/index.js +2 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.js +21 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
- package/esm/internals/RichTreeViewStore/RichTreeViewStore.utils.js +15 -0
- package/esm/internals/RichTreeViewStore/index.d.ts +3 -0
- package/esm/internals/RichTreeViewStore/index.js +3 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +18 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
- package/esm/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +5 -0
- package/esm/internals/SimpleTreeViewStore/index.d.ts +2 -0
- package/esm/internals/SimpleTreeViewStore/index.js +2 -0
- package/esm/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
- package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -3
- package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
- package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
- package/esm/internals/TreeViewProvider/TreeViewProvider.js +11 -6
- package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
- package/esm/internals/TreeViewProvider/index.d.ts +1 -1
- package/esm/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
- package/esm/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
- package/esm/internals/components/RichTreeViewItems.js +3 -3
- package/esm/internals/hooks/useTreeViewRootProps.d.ts +287 -0
- package/esm/internals/hooks/useTreeViewRootProps.js +30 -0
- package/esm/internals/hooks/useTreeViewStore.d.ts +10 -0
- package/esm/internals/hooks/useTreeViewStore.js +19 -0
- package/esm/internals/index.d.ts +15 -21
- package/esm/internals/index.js +11 -14
- package/esm/internals/models/events.d.ts +24 -3
- package/esm/internals/models/index.d.ts +2 -3
- package/esm/internals/models/index.js +2 -3
- package/esm/internals/models/itemPlugin.d.ts +9 -0
- package/esm/internals/models/treeView.d.ts +6 -9
- package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
- package/esm/internals/plugins/expansion/TreeViewExpansionPlugin.js +124 -0
- package/esm/internals/plugins/expansion/index.d.ts +2 -0
- package/esm/internals/plugins/expansion/index.js +2 -0
- package/esm/internals/plugins/expansion/selectors.d.ts +27 -0
- package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +5 -5
- package/esm/internals/plugins/expansion/utils.d.ts +5 -0
- package/esm/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
- package/esm/internals/plugins/focus/TreeViewFocusPlugin.js +107 -0
- package/esm/internals/plugins/focus/index.d.ts +2 -0
- package/esm/internals/plugins/focus/index.js +2 -0
- package/esm/internals/plugins/focus/selectors.d.ts +21 -0
- package/esm/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +6 -6
- package/esm/internals/plugins/id/index.d.ts +1 -0
- package/esm/internals/plugins/id/index.js +1 -0
- package/esm/internals/plugins/id/selectors.d.ts +13 -0
- package/esm/internals/plugins/id/selectors.js +18 -0
- package/esm/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
- package/esm/internals/plugins/items/TreeViewItemsPlugin.js +223 -0
- package/esm/internals/plugins/items/index.d.ts +3 -0
- package/esm/internals/plugins/items/index.js +3 -0
- package/esm/internals/plugins/items/selectors.d.ts +60 -0
- package/esm/internals/plugins/items/selectors.js +64 -0
- package/esm/internals/plugins/items/utils.d.ts +43 -0
- package/esm/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -49
- package/esm/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
- package/esm/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +81 -0
- package/esm/internals/plugins/jsxItems/index.d.ts +1 -0
- package/esm/internals/plugins/jsxItems/index.js +1 -0
- package/esm/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
- package/esm/internals/plugins/jsxItems/itemPlugin.js +88 -0
- package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
- package/esm/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +306 -0
- package/esm/internals/plugins/keyboardNavigation/index.d.ts +1 -0
- package/esm/internals/plugins/keyboardNavigation/index.js +1 -0
- package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
- package/esm/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +50 -0
- package/esm/internals/plugins/labelEditing/index.d.ts +2 -0
- package/esm/internals/plugins/labelEditing/index.js +2 -0
- package/{internals/plugins/useTreeViewLabel → esm/internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
- package/esm/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +2 -2
- package/esm/internals/plugins/labelEditing/selectors.d.ts +15 -0
- package/esm/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
- package/esm/internals/plugins/lazyLoading/index.d.ts +2 -0
- package/esm/internals/plugins/lazyLoading/index.js +2 -0
- package/esm/internals/plugins/lazyLoading/selectors.d.ts +19 -0
- package/esm/internals/plugins/lazyLoading/selectors.js +25 -0
- package/esm/internals/plugins/lazyLoading/types.d.ts +5 -0
- package/esm/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
- package/esm/internals/plugins/selection/TreeViewSelectionPlugin.js +319 -0
- package/esm/internals/plugins/selection/index.d.ts +2 -0
- package/esm/internals/plugins/selection/index.js +2 -0
- package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
- package/esm/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +8 -8
- package/esm/internals/plugins/selection/selectors.d.ts +48 -0
- package/esm/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +19 -9
- package/esm/internals/utils/tree.d.ts +8 -10
- package/esm/internals/utils/tree.js +2 -2
- package/esm/models/items.d.ts +5 -2
- package/esm/useTreeItem/useTreeItem.d.ts +18 -2
- package/esm/useTreeItem/useTreeItem.js +15 -19
- package/esm/useTreeItem/useTreeItem.types.d.ts +9 -19
- package/hooks/useApplyPropagationToSelectedItemsOnMount.js +3 -3
- package/hooks/useRichTreeViewApiRef.d.ts +2 -2
- package/hooks/useSimpleTreeViewApiRef.d.ts +2 -3
- package/hooks/useTreeItemModel.d.ts +2 -2
- package/hooks/useTreeItemModel.js +2 -2
- package/hooks/useTreeItemUtils/useTreeItemUtils.d.ts +9 -19
- package/hooks/useTreeItemUtils/useTreeItemUtils.js +41 -49
- package/hooks/useTreeViewApiRef.d.ts +3 -5
- package/hooks/useTreeViewApiRef.js +3 -5
- package/index.d.ts +0 -1
- package/index.js +1 -22
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.d.ts +90 -0
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.js +134 -0
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.types.d.ts +272 -0
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.d.ts +21 -0
- package/internals/MinimalTreeViewStore/MinimalTreeViewStore.utils.js +58 -0
- package/internals/MinimalTreeViewStore/TimeoutManager.d.ts +9 -0
- package/internals/MinimalTreeViewStore/TimeoutManager.js +46 -0
- package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.d.ts +12 -0
- package/internals/MinimalTreeViewStore/TreeViewItemPluginManager.js +23 -0
- package/internals/MinimalTreeViewStore/index.d.ts +2 -0
- package/internals/MinimalTreeViewStore/index.js +27 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.d.ts +53 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.js +30 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.types.d.ts +34 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.utils.d.ts +3 -0
- package/internals/RichTreeViewStore/RichTreeViewStore.utils.js +22 -0
- package/internals/RichTreeViewStore/index.d.ts +3 -0
- package/internals/RichTreeViewStore/index.js +38 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.d.ts +8 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.js +26 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.types.d.ts +9 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.d.ts +3 -0
- package/internals/SimpleTreeViewStore/SimpleTreeViewStore.utils.js +11 -0
- package/internals/SimpleTreeViewStore/index.d.ts +2 -0
- package/internals/SimpleTreeViewStore/index.js +27 -0
- package/internals/TreeViewItemDepthContext/TreeViewItemDepthContext.d.ts +2 -3
- package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -4
- package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -3
- package/internals/TreeViewProvider/TreeViewProvider.d.ts +2 -2
- package/internals/TreeViewProvider/TreeViewProvider.js +14 -9
- package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +8 -10
- package/internals/TreeViewProvider/index.d.ts +1 -1
- package/internals/TreeViewProvider/useTreeViewBuildContext.d.ts +16 -0
- package/internals/{useTreeView → TreeViewProvider}/useTreeViewBuildContext.js +25 -39
- package/internals/components/RichTreeViewItems.js +9 -9
- package/internals/hooks/useTreeViewRootProps.d.ts +287 -0
- package/internals/hooks/useTreeViewRootProps.js +36 -0
- package/internals/hooks/useTreeViewStore.d.ts +10 -0
- package/internals/hooks/useTreeViewStore.js +26 -0
- package/internals/index.d.ts +15 -21
- package/internals/index.js +40 -70
- package/internals/models/events.d.ts +24 -3
- package/internals/models/index.d.ts +2 -3
- package/internals/models/index.js +11 -22
- package/internals/models/itemPlugin.d.ts +9 -0
- package/internals/models/treeView.d.ts +6 -9
- package/internals/plugins/expansion/TreeViewExpansionPlugin.d.ts +69 -0
- package/internals/plugins/expansion/TreeViewExpansionPlugin.js +132 -0
- package/internals/plugins/expansion/index.d.ts +2 -0
- package/internals/plugins/expansion/index.js +27 -0
- package/internals/plugins/expansion/selectors.d.ts +27 -0
- package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.selectors.js → expansion/selectors.js} +8 -8
- package/internals/plugins/expansion/utils.d.ts +5 -0
- package/internals/plugins/focus/TreeViewFocusPlugin.d.ts +33 -0
- package/internals/plugins/focus/TreeViewFocusPlugin.js +114 -0
- package/internals/plugins/focus/index.d.ts +2 -0
- package/internals/plugins/focus/index.js +27 -0
- package/internals/plugins/focus/selectors.d.ts +21 -0
- package/internals/plugins/{useTreeViewFocus/useTreeViewFocus.selectors.js → focus/selectors.js} +9 -9
- package/internals/plugins/id/index.d.ts +1 -0
- package/internals/plugins/id/index.js +16 -0
- package/internals/plugins/id/selectors.d.ts +13 -0
- package/internals/plugins/id/selectors.js +24 -0
- package/internals/plugins/items/TreeViewItemsPlugin.d.ts +105 -0
- package/internals/plugins/items/TreeViewItemsPlugin.js +231 -0
- package/internals/plugins/items/index.d.ts +3 -0
- package/internals/plugins/items/index.js +46 -0
- package/internals/plugins/items/selectors.d.ts +60 -0
- package/internals/plugins/{useTreeViewItems/useTreeViewItems.selectors.js → items/selectors.js} +18 -14
- package/internals/plugins/items/utils.d.ts +43 -0
- package/internals/plugins/{useTreeViewItems/useTreeViewItems.utils.js → items/utils.js} +6 -50
- package/internals/plugins/{useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts → jsxItems/TreeViewJSXItemsPlugin.d.ts} +6 -13
- package/internals/plugins/jsxItems/TreeViewJSXItemsPlugin.js +89 -0
- package/internals/plugins/jsxItems/index.d.ts +1 -0
- package/internals/plugins/jsxItems/index.js +16 -0
- package/internals/plugins/jsxItems/itemPlugin.d.ts +4 -0
- package/internals/plugins/{useTreeViewJSXItems → jsxItems}/itemPlugin.js +35 -20
- package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.d.ts +28 -0
- package/internals/plugins/keyboardNavigation/TreeViewKeyboardNavigationPlugin.js +313 -0
- package/internals/plugins/keyboardNavigation/index.d.ts +1 -0
- package/internals/plugins/keyboardNavigation/index.js +16 -0
- package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.d.ts +22 -0
- package/internals/plugins/labelEditing/TreeViewLabelEditingPlugin.js +58 -0
- package/internals/plugins/labelEditing/index.d.ts +2 -0
- package/internals/plugins/labelEditing/index.js +27 -0
- package/{esm/internals/plugins/useTreeViewLabel → internals/plugins/labelEditing}/itemPlugin.d.ts +5 -4
- package/internals/plugins/{useTreeViewLabel → labelEditing}/itemPlugin.js +6 -6
- package/internals/plugins/labelEditing/selectors.d.ts +15 -0
- package/internals/plugins/{useTreeViewLabel/useTreeViewLabel.selectors.js → labelEditing/selectors.js} +4 -4
- package/internals/plugins/lazyLoading/index.d.ts +2 -0
- package/internals/plugins/lazyLoading/index.js +27 -0
- package/internals/plugins/lazyLoading/selectors.d.ts +19 -0
- package/internals/plugins/{useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js → lazyLoading/selectors.js} +11 -6
- package/internals/plugins/lazyLoading/types.d.ts +5 -0
- package/internals/plugins/selection/TreeViewSelectionPlugin.d.ts +73 -0
- package/internals/plugins/selection/TreeViewSelectionPlugin.js +327 -0
- package/internals/plugins/selection/index.d.ts +2 -0
- package/internals/plugins/selection/index.js +27 -0
- package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.d.ts +1 -1
- package/internals/plugins/{useTreeViewSelection → selection}/itemPlugin.js +16 -16
- package/internals/plugins/selection/selectors.d.ts +48 -0
- package/internals/plugins/{useTreeViewSelection/useTreeViewSelection.selectors.js → selection/selectors.js} +19 -9
- package/internals/utils/tree.d.ts +8 -10
- package/internals/utils/tree.js +33 -33
- package/models/items.d.ts +5 -2
- package/package.json +3 -3
- package/useTreeItem/useTreeItem.d.ts +18 -2
- package/useTreeItem/useTreeItem.js +19 -24
- package/useTreeItem/useTreeItem.types.d.ts +9 -19
- package/RichTreeView/RichTreeView.plugins.d.ts +0 -10
- package/RichTreeView/RichTreeView.plugins.js +0 -15
- package/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
- package/SimpleTreeView/SimpleTreeView.plugins.js +0 -15
- package/esm/RichTreeView/RichTreeView.plugins.d.ts +0 -10
- package/esm/RichTreeView/RichTreeView.plugins.js +0 -9
- package/esm/SimpleTreeView/SimpleTreeView.plugins.d.ts +0 -9
- package/esm/SimpleTreeView/SimpleTreeView.plugins.js +0 -9
- package/esm/internals/corePlugins/corePlugins.d.ts +0 -9
- package/esm/internals/corePlugins/corePlugins.js +0 -8
- package/esm/internals/corePlugins/index.d.ts +0 -2
- package/esm/internals/corePlugins/index.js +0 -1
- package/esm/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
- package/esm/internals/corePlugins/useTreeViewId/index.js +0 -2
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -38
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -9
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
- package/esm/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -26
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -1
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -31
- package/esm/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -1
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -12
- package/esm/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
- package/esm/internals/hooks/useInstanceEventHandler.d.ts +0 -15
- package/esm/internals/hooks/useInstanceEventHandler.js +0 -79
- package/esm/internals/models/helpers.d.ts +0 -7
- package/esm/internals/models/plugin.d.ts +0 -166
- package/esm/internals/models/plugin.js +0 -1
- package/esm/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewExpansion/index.js +0 -2
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -149
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -1
- package/esm/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
- package/esm/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewFocus/index.js +0 -2
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -113
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
- package/esm/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -1
- package/esm/internals/plugins/useTreeViewItems/index.d.ts +0 -4
- package/esm/internals/plugins/useTreeViewItems/index.js +0 -3
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -218
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -56
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.js +0 -60
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -197
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -1
- package/esm/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
- package/esm/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewJSXItems/index.js +0 -1
- package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewJSXItems/itemPlugin.js +0 -74
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -104
- package/esm/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -1
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -1
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -305
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
- package/esm/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -1
- package/esm/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewLabel/index.js +0 -2
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -70
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
- package/esm/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -1
- package/esm/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
- package/esm/internals/plugins/useTreeViewLazyLoading/index.js +0 -1
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.js +0 -20
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
- package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -1
- package/esm/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewSelection/index.js +0 -2
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -230
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -40
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -1
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
- package/esm/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -107
- package/esm/internals/useTreeView/index.d.ts +0 -1
- package/esm/internals/useTreeView/index.js +0 -1
- package/esm/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
- package/esm/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -51
- package/esm/internals/useTreeView/useTreeView.d.ts +0 -18
- package/esm/internals/useTreeView/useTreeView.js +0 -102
- package/esm/internals/useTreeView/useTreeView.types.d.ts +0 -20
- package/esm/internals/useTreeView/useTreeView.types.js +0 -1
- package/esm/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
- package/esm/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
- package/esm/internals/utils/cleanupTracking/CleanupTracking.js +0 -1
- package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
- package/esm/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -14
- package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
- package/esm/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -38
- package/esm/internals/utils/plugins.d.ts +0 -2
- package/esm/internals/utils/plugins.js +0 -4
- package/esm/internals/utils/publishTreeViewEvent.d.ts +0 -5
- package/esm/internals/utils/publishTreeViewEvent.js +0 -3
- package/internals/corePlugins/corePlugins.d.ts +0 -9
- package/internals/corePlugins/corePlugins.js +0 -14
- package/internals/corePlugins/index.d.ts +0 -2
- package/internals/corePlugins/index.js +0 -12
- package/internals/corePlugins/useTreeViewId/index.d.ts +0 -3
- package/internals/corePlugins/useTreeViewId/index.js +0 -19
- package/internals/corePlugins/useTreeViewId/useTreeViewId.d.ts +0 -3
- package/internals/corePlugins/useTreeViewId/useTreeViewId.js +0 -46
- package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.d.ts +0 -10
- package/internals/corePlugins/useTreeViewId/useTreeViewId.selectors.js +0 -15
- package/internals/corePlugins/useTreeViewId/useTreeViewId.types.d.ts +0 -20
- package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.d.ts +0 -21
- package/internals/corePlugins/useTreeViewId/useTreeViewId.utils.js +0 -34
- package/internals/corePlugins/useTreeViewInstanceEvents/index.d.ts +0 -2
- package/internals/corePlugins/useTreeViewInstanceEvents/index.js +0 -12
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.d.ts +0 -3
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.js +0 -38
- package/internals/corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.d.ts +0 -22
- package/internals/corePlugins/useTreeViewOptionalPlugins/index.d.ts +0 -2
- package/internals/corePlugins/useTreeViewOptionalPlugins/index.js +0 -12
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.d.ts +0 -3
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.js +0 -19
- package/internals/corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.d.ts +0 -8
- package/internals/hooks/useInstanceEventHandler.d.ts +0 -15
- package/internals/hooks/useInstanceEventHandler.js +0 -87
- package/internals/models/helpers.d.ts +0 -7
- package/internals/models/plugin.d.ts +0 -166
- package/internals/models/plugin.js +0 -5
- package/internals/plugins/useTreeViewExpansion/index.d.ts +0 -3
- package/internals/plugins/useTreeViewExpansion/index.js +0 -19
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.d.ts +0 -3
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.js +0 -157
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.selectors.d.ts +0 -28
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +0 -112
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.js +0 -5
- package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.utils.d.ts +0 -6
- package/internals/plugins/useTreeViewFocus/index.d.ts +0 -3
- package/internals/plugins/useTreeViewFocus/index.js +0 -19
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.d.ts +0 -3
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.js +0 -121
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.selectors.d.ts +0 -22
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +0 -45
- package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.js +0 -5
- package/internals/plugins/useTreeViewItems/index.d.ts +0 -4
- package/internals/plugins/useTreeViewItems/index.js +0 -32
- package/internals/plugins/useTreeViewItems/useTreeViewItems.d.ts +0 -3
- package/internals/plugins/useTreeViewItems/useTreeViewItems.js +0 -226
- package/internals/plugins/useTreeViewItems/useTreeViewItems.selectors.d.ts +0 -56
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.d.ts +0 -197
- package/internals/plugins/useTreeViewItems/useTreeViewItems.types.js +0 -5
- package/internals/plugins/useTreeViewItems/useTreeViewItems.utils.d.ts +0 -49
- package/internals/plugins/useTreeViewJSXItems/index.d.ts +0 -2
- package/internals/plugins/useTreeViewJSXItems/index.js +0 -12
- package/internals/plugins/useTreeViewJSXItems/itemPlugin.d.ts +0 -2
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.d.ts +0 -3
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.js +0 -112
- package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.js +0 -5
- package/internals/plugins/useTreeViewKeyboardNavigation/index.d.ts +0 -2
- package/internals/plugins/useTreeViewKeyboardNavigation/index.js +0 -12
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.d.ts +0 -3
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +0 -312
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +0 -32
- package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.js +0 -5
- package/internals/plugins/useTreeViewLabel/index.d.ts +0 -3
- package/internals/plugins/useTreeViewLabel/index.js +0 -19
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.d.ts +0 -3
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.js +0 -78
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.selectors.d.ts +0 -16
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.d.ts +0 -50
- package/internals/plugins/useTreeViewLabel/useTreeViewLabel.types.js +0 -5
- package/internals/plugins/useTreeViewLazyLoading/index.d.ts +0 -2
- package/internals/plugins/useTreeViewLazyLoading/index.js +0 -12
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.selectors.d.ts +0 -24
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +0 -100
- package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.js +0 -5
- package/internals/plugins/useTreeViewSelection/index.d.ts +0 -3
- package/internals/plugins/useTreeViewSelection/index.js +0 -19
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.d.ts +0 -3
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.js +0 -239
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.selectors.d.ts +0 -40
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +0 -132
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.js +0 -5
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.d.ts +0 -31
- package/internals/plugins/useTreeViewSelection/useTreeViewSelection.utils.js +0 -116
- package/internals/useTreeView/index.d.ts +0 -1
- package/internals/useTreeView/index.js +0 -12
- package/internals/useTreeView/useExtractPluginParamsFromProps.d.ts +0 -19
- package/internals/useTreeView/useExtractPluginParamsFromProps.js +0 -60
- package/internals/useTreeView/useTreeView.d.ts +0 -18
- package/internals/useTreeView/useTreeView.js +0 -112
- package/internals/useTreeView/useTreeView.types.d.ts +0 -20
- package/internals/useTreeView/useTreeView.types.js +0 -5
- package/internals/useTreeView/useTreeViewBuildContext.d.ts +0 -13
- package/internals/utils/cleanupTracking/CleanupTracking.d.ts +0 -9
- package/internals/utils/cleanupTracking/CleanupTracking.js +0 -5
- package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.d.ts +0 -7
- package/internals/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -21
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +0 -9
- package/internals/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -45
- package/internals/utils/plugins.d.ts +0 -2
- package/internals/utils/plugins.js +0 -11
- package/internals/utils/publishTreeViewEvent.d.ts +0 -5
- package/internals/utils/publishTreeViewEvent.js +0 -10
- /package/esm/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
- /package/esm/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
- /package/esm/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
- /package/esm/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
- /package/esm/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
- /package/internals/{corePlugins/useTreeViewId/useTreeViewId.types.js → MinimalTreeViewStore/MinimalTreeViewStore.types.js} +0 -0
- /package/internals/{corePlugins/useTreeViewInstanceEvents/useTreeViewInstanceEvents.types.js → RichTreeViewStore/RichTreeViewStore.types.js} +0 -0
- /package/internals/{corePlugins/useTreeViewOptionalPlugins/useTreeViewOptionalPlugins.types.js → SimpleTreeViewStore/SimpleTreeViewStore.types.js} +0 -0
- /package/internals/plugins/{useTreeViewExpansion/useTreeViewExpansion.utils.js → expansion/utils.js} +0 -0
- /package/internals/{models/helpers.js → plugins/lazyLoading/types.js} +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createMinimalInitialState = createMinimalInitialState;
|
|
8
|
+
exports.createTreeViewDefaultId = void 0;
|
|
9
|
+
exports.deriveStateFromParameters = deriveStateFromParameters;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _empty = require("@base-ui/utils/empty");
|
|
12
|
+
var _utils = require("../plugins/expansion/utils");
|
|
13
|
+
var _items = require("../plugins/items");
|
|
14
|
+
/**
|
|
15
|
+
* Returns the properties of the state that are derived from the parameters.
|
|
16
|
+
* This do not contain state properties that don't update whenever the parameters update.
|
|
17
|
+
*/
|
|
18
|
+
function deriveStateFromParameters(parameters) {
|
|
19
|
+
return {
|
|
20
|
+
disabledItemsFocusable: parameters.disabledItemsFocusable ?? false,
|
|
21
|
+
domStructure: 'nested',
|
|
22
|
+
itemChildrenIndentation: parameters.itemChildrenIndentation ?? '12px',
|
|
23
|
+
providedTreeId: parameters.id,
|
|
24
|
+
// TODO: Fix
|
|
25
|
+
expansionTrigger: (0, _utils.getExpansionTrigger)({
|
|
26
|
+
isItemEditable: parameters.isItemEditable,
|
|
27
|
+
expansionTrigger: parameters.expansionTrigger
|
|
28
|
+
}),
|
|
29
|
+
disableSelection: parameters.disableSelection ?? false,
|
|
30
|
+
multiSelect: parameters.multiSelect ?? false,
|
|
31
|
+
checkboxSelection: parameters.checkboxSelection ?? false,
|
|
32
|
+
selectionPropagation: parameters.selectionPropagation ?? _empty.EMPTY_OBJECT
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function applyModelInitialValue(controlledValue, defaultValue, fallback) {
|
|
36
|
+
if (controlledValue !== undefined) {
|
|
37
|
+
return controlledValue;
|
|
38
|
+
}
|
|
39
|
+
if (defaultValue !== undefined) {
|
|
40
|
+
return defaultValue;
|
|
41
|
+
}
|
|
42
|
+
return fallback;
|
|
43
|
+
}
|
|
44
|
+
function createMinimalInitialState(parameters) {
|
|
45
|
+
return (0, _extends2.default)({
|
|
46
|
+
treeId: undefined,
|
|
47
|
+
focusedItemId: null
|
|
48
|
+
}, deriveStateFromParameters(parameters), _items.TreeViewItemsPlugin.buildItemsStateIfNeeded(parameters), {
|
|
49
|
+
expandedItems: applyModelInitialValue(parameters.expandedItems, parameters.defaultExpandedItems, []),
|
|
50
|
+
selectedItems: applyModelInitialValue(parameters.selectedItems, parameters.defaultSelectedItems, parameters.multiSelect ? _empty.EMPTY_ARRAY : null)
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
let globalTreeViewDefaultId = 0;
|
|
54
|
+
const createTreeViewDefaultId = () => {
|
|
55
|
+
globalTreeViewDefaultId += 1;
|
|
56
|
+
return `mui-tree-view-${globalTreeViewDefaultId}`;
|
|
57
|
+
};
|
|
58
|
+
exports.createTreeViewDefaultId = createTreeViewDefaultId;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class TimeoutManager {
|
|
2
|
+
private timeoutIds;
|
|
3
|
+
private intervalIds;
|
|
4
|
+
startTimeout: (key: string, delay: number, fn: Function) => void;
|
|
5
|
+
startInterval: (key: string, delay: number, fn: Function) => void;
|
|
6
|
+
clearTimeout: (key: string) => void;
|
|
7
|
+
clearInterval: (key: string) => void;
|
|
8
|
+
clearAll: () => void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TimeoutManager = void 0;
|
|
7
|
+
class TimeoutManager {
|
|
8
|
+
timeoutIds = new Map();
|
|
9
|
+
intervalIds = new Map();
|
|
10
|
+
startTimeout = (key, delay, fn) => {
|
|
11
|
+
this.clearTimeout(key);
|
|
12
|
+
const id = setTimeout(() => {
|
|
13
|
+
this.timeoutIds.delete(key);
|
|
14
|
+
fn();
|
|
15
|
+
}, delay); /* Node.js types are enabled in development */
|
|
16
|
+
|
|
17
|
+
this.timeoutIds.set(key, id);
|
|
18
|
+
};
|
|
19
|
+
startInterval = (key, delay, fn) => {
|
|
20
|
+
this.clearTimeout(key);
|
|
21
|
+
const id = setInterval(fn, delay); /* Node.js types are enabled in development */
|
|
22
|
+
|
|
23
|
+
this.intervalIds.set(key, id);
|
|
24
|
+
};
|
|
25
|
+
clearTimeout = key => {
|
|
26
|
+
const id = this.timeoutIds.get(key);
|
|
27
|
+
if (id != null) {
|
|
28
|
+
clearTimeout(id);
|
|
29
|
+
this.timeoutIds.delete(key);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
clearInterval = key => {
|
|
33
|
+
const id = this.intervalIds.get(key);
|
|
34
|
+
if (id != null) {
|
|
35
|
+
clearInterval(id);
|
|
36
|
+
this.intervalIds.delete(key);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
clearAll = () => {
|
|
40
|
+
this.timeoutIds.forEach(clearTimeout);
|
|
41
|
+
this.timeoutIds.clear();
|
|
42
|
+
this.intervalIds.forEach(clearInterval);
|
|
43
|
+
this.intervalIds.clear();
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
exports.TimeoutManager = TimeoutManager;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TreeItemWrapper, TreeViewAnyStore, TreeViewItemPlugin } from "../models/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Manages the registration and application of plugins for the Tree Item.
|
|
4
|
+
* This will be replaced with a proper implementation in the future.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TreeViewItemPluginManager<TStore extends TreeViewAnyStore> {
|
|
7
|
+
private itemPlugins;
|
|
8
|
+
private itemWrappers;
|
|
9
|
+
register: (plugin: TreeViewItemPlugin, wrapItem: TreeItemWrapper<TStore> | null) => void;
|
|
10
|
+
listPlugins: () => TreeViewItemPlugin[];
|
|
11
|
+
listWrappers: () => TreeItemWrapper<TStore>[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TreeViewItemPluginManager = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Manages the registration and application of plugins for the Tree Item.
|
|
9
|
+
* This will be replaced with a proper implementation in the future.
|
|
10
|
+
*/
|
|
11
|
+
class TreeViewItemPluginManager {
|
|
12
|
+
itemPlugins = [];
|
|
13
|
+
itemWrappers = [];
|
|
14
|
+
register = (plugin, wrapItem) => {
|
|
15
|
+
this.itemPlugins.push(plugin);
|
|
16
|
+
if (wrapItem) {
|
|
17
|
+
this.itemWrappers.push(wrapItem);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
listPlugins = () => this.itemPlugins;
|
|
21
|
+
listWrappers = () => this.itemWrappers;
|
|
22
|
+
}
|
|
23
|
+
exports.TreeViewItemPluginManager = TreeViewItemPluginManager;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _MinimalTreeViewStore = require("./MinimalTreeViewStore");
|
|
7
|
+
Object.keys(_MinimalTreeViewStore).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _MinimalTreeViewStore[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _MinimalTreeViewStore[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _MinimalTreeViewStore2 = require("./MinimalTreeViewStore.types");
|
|
18
|
+
Object.keys(_MinimalTreeViewStore2).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _MinimalTreeViewStore2[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _MinimalTreeViewStore2[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { TreeViewValidItem } from "../../models/index.js";
|
|
2
|
+
import { TreeViewLabelEditingPlugin } from "../plugins/labelEditing/index.js";
|
|
3
|
+
import { MinimalTreeViewStore } from "../MinimalTreeViewStore/index.js";
|
|
4
|
+
import { RichTreeViewStoreParameters, RichTreeViewState } from "./RichTreeViewStore.types.js";
|
|
5
|
+
export declare class ExtendableRichTreeViewStore<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined, State extends RichTreeViewState<R, Multiple> = RichTreeViewState<R, Multiple>, Parameters extends RichTreeViewStoreParameters<R, Multiple> = RichTreeViewStoreParameters<R, Multiple>> extends MinimalTreeViewStore<R, Multiple, State, Parameters> {
|
|
6
|
+
labelEditing: TreeViewLabelEditingPlugin;
|
|
7
|
+
/**
|
|
8
|
+
* Mapper of the RichTreeViewStore.
|
|
9
|
+
* Can be used by classes extending the RichTreeViewStore to create their own mapper.
|
|
10
|
+
*/
|
|
11
|
+
static rawMapper: import("../index.js").TreeViewParametersToStateMapper<any, any, RichTreeViewState<any, any>, RichTreeViewStoreParameters<any, any>>;
|
|
12
|
+
buildPublicAPI(): {
|
|
13
|
+
setEditedItem: (itemId: import("../../index.js").TreeViewItemId | null) => void;
|
|
14
|
+
updateItemLabel: (itemId: import("../../index.js").TreeViewItemId, label: string) => void;
|
|
15
|
+
setItemSelection: ({
|
|
16
|
+
itemId,
|
|
17
|
+
event,
|
|
18
|
+
keepExistingSelection,
|
|
19
|
+
shouldBeSelected
|
|
20
|
+
}: {
|
|
21
|
+
itemId: string;
|
|
22
|
+
event?: React.SyntheticEvent | null;
|
|
23
|
+
shouldBeSelected?: boolean;
|
|
24
|
+
keepExistingSelection?: boolean;
|
|
25
|
+
}) => void;
|
|
26
|
+
isItemExpanded: (itemId: import("../../index.js").TreeViewItemId) => boolean;
|
|
27
|
+
setItemExpansion: ({
|
|
28
|
+
itemId,
|
|
29
|
+
event,
|
|
30
|
+
shouldBeExpanded
|
|
31
|
+
}: {
|
|
32
|
+
itemId: import("../../index.js").TreeViewItemId;
|
|
33
|
+
event?: React.SyntheticEvent | null;
|
|
34
|
+
shouldBeExpanded?: boolean;
|
|
35
|
+
}) => void;
|
|
36
|
+
focusItem: (event: React.SyntheticEvent | null, itemId: import("../../index.js").TreeViewItemId) => void;
|
|
37
|
+
getItem: (itemId: import("../../index.js").TreeViewItemId) => R;
|
|
38
|
+
getItemDOMElement: (itemId: import("../../index.js").TreeViewItemId) => HTMLElement | null;
|
|
39
|
+
getItemOrderedChildrenIds: (itemId: import("../../index.js").TreeViewItemId | null) => import("../../index.js").TreeViewItemId[];
|
|
40
|
+
getItemTree: () => R[];
|
|
41
|
+
getParentId: (itemId: import("../../index.js").TreeViewItemId) => import("../../index.js").TreeViewItemId | null;
|
|
42
|
+
setIsItemDisabled: ({
|
|
43
|
+
itemId,
|
|
44
|
+
shouldBeDisabled
|
|
45
|
+
}: {
|
|
46
|
+
itemId: import("../../index.js").TreeViewItemId;
|
|
47
|
+
shouldBeDisabled?: boolean;
|
|
48
|
+
}) => void;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export declare class RichTreeViewStore<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined> extends ExtendableRichTreeViewStore<R, Multiple, RichTreeViewState<R, Multiple>, RichTreeViewStoreParameters<R, Multiple>> {
|
|
52
|
+
constructor(parameters: RichTreeViewStoreParameters<R, Multiple>);
|
|
53
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.RichTreeViewStore = exports.ExtendableRichTreeViewStore = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _labelEditing = require("../plugins/labelEditing");
|
|
10
|
+
var _MinimalTreeViewStore = require("../MinimalTreeViewStore");
|
|
11
|
+
var _RichTreeViewStore = require("./RichTreeViewStore.utils");
|
|
12
|
+
class ExtendableRichTreeViewStore extends _MinimalTreeViewStore.MinimalTreeViewStore {
|
|
13
|
+
labelEditing = new _labelEditing.TreeViewLabelEditingPlugin(this);
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Mapper of the RichTreeViewStore.
|
|
17
|
+
* Can be used by classes extending the RichTreeViewStore to create their own mapper.
|
|
18
|
+
*/
|
|
19
|
+
static rawMapper = _RichTreeViewStore.parametersToStateMapper;
|
|
20
|
+
buildPublicAPI() {
|
|
21
|
+
return (0, _extends2.default)({}, super.buildPublicAPI(), this.labelEditing.buildPublicAPI());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.ExtendableRichTreeViewStore = ExtendableRichTreeViewStore;
|
|
25
|
+
class RichTreeViewStore extends ExtendableRichTreeViewStore {
|
|
26
|
+
constructor(parameters) {
|
|
27
|
+
super(parameters, 'RichTreeView', _RichTreeViewStore.parametersToStateMapper);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.RichTreeViewStore = RichTreeViewStore;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TreeViewItemId, TreeViewValidItem } from "../../models/index.js";
|
|
2
|
+
import { MinimalTreeViewParameters, MinimalTreeViewState } from "../MinimalTreeViewStore/index.js";
|
|
3
|
+
import { RichTreeViewLazyLoadedItemsStatus } from "../plugins/lazyLoading/index.js";
|
|
4
|
+
export interface RichTreeViewState<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined> extends MinimalTreeViewState<R, Multiple> {
|
|
5
|
+
/**
|
|
6
|
+
* Determine if a given item can be edited.
|
|
7
|
+
*/
|
|
8
|
+
isItemEditable: ((item: any) => boolean) | boolean;
|
|
9
|
+
/**
|
|
10
|
+
* The id of the item currently being edited.
|
|
11
|
+
*/
|
|
12
|
+
editedItemId: string | null;
|
|
13
|
+
/**
|
|
14
|
+
* The status of the items loaded using lazy loading.
|
|
15
|
+
* Is null if lazy loading is not enabled.
|
|
16
|
+
*/
|
|
17
|
+
lazyLoadedItems: RichTreeViewLazyLoadedItemsStatus | null;
|
|
18
|
+
}
|
|
19
|
+
export interface RichTreeViewStoreParameters<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined> extends MinimalTreeViewParameters<R, Multiple> {
|
|
20
|
+
/**
|
|
21
|
+
* Callback fired when the label of an item changes.
|
|
22
|
+
* @param {TreeViewItemId} itemId The id of the item that was edited.
|
|
23
|
+
* @param {string} newLabel The new label of the items.
|
|
24
|
+
*/
|
|
25
|
+
onItemLabelChange?: (itemId: TreeViewItemId, newLabel: string) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Determine if a given item can be edited.
|
|
28
|
+
* @template R
|
|
29
|
+
* @param {R} item The item to check.
|
|
30
|
+
* @returns {boolean} `true` if the item can be edited.
|
|
31
|
+
* @default () => false
|
|
32
|
+
*/
|
|
33
|
+
isItemEditable?: boolean | ((item: R) => boolean);
|
|
34
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TreeViewParametersToStateMapper } from "../MinimalTreeViewStore/index.js";
|
|
2
|
+
import { RichTreeViewStoreParameters, RichTreeViewState } from "./RichTreeViewStore.types.js";
|
|
3
|
+
export declare const parametersToStateMapper: TreeViewParametersToStateMapper<any, any, RichTreeViewState<any, any>, RichTreeViewStoreParameters<any, any>>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.parametersToStateMapper = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
const deriveStateFromParameters = parameters => ({
|
|
10
|
+
isItemEditable: parameters.isItemEditable ?? false
|
|
11
|
+
});
|
|
12
|
+
const parametersToStateMapper = exports.parametersToStateMapper = {
|
|
13
|
+
getInitialState: (minimalInitialState, parameters) => (0, _extends2.default)({}, minimalInitialState, deriveStateFromParameters(parameters), {
|
|
14
|
+
editedItemId: null,
|
|
15
|
+
lazyLoadedItems: null
|
|
16
|
+
}),
|
|
17
|
+
updateStateFromParameters: (newMinimalState, parameters) => {
|
|
18
|
+
const newState = (0, _extends2.default)({}, newMinimalState, deriveStateFromParameters(parameters));
|
|
19
|
+
return newState;
|
|
20
|
+
},
|
|
21
|
+
shouldIgnoreItemsStateUpdate: () => false
|
|
22
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _RichTreeViewStore = require("./RichTreeViewStore");
|
|
7
|
+
Object.keys(_RichTreeViewStore).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _RichTreeViewStore[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _RichTreeViewStore[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _RichTreeViewStore2 = require("./RichTreeViewStore.types");
|
|
18
|
+
Object.keys(_RichTreeViewStore2).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _RichTreeViewStore2[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _RichTreeViewStore2[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
var _RichTreeViewStore3 = require("./RichTreeViewStore.utils");
|
|
29
|
+
Object.keys(_RichTreeViewStore3).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _RichTreeViewStore3[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _RichTreeViewStore3[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MinimalTreeViewStore } from "../MinimalTreeViewStore/index.js";
|
|
2
|
+
import { InnerSimpleTreeViewParameters, SimpleTreeViewItem, SimpleTreeViewStoreParameters, SimpleTreeViewState } from "./SimpleTreeViewStore.types.js";
|
|
3
|
+
import { TreeViewJSXItemsPlugin } from "../plugins/jsxItems/index.js";
|
|
4
|
+
export declare class SimpleTreeViewStore<Multiple extends boolean | undefined> extends MinimalTreeViewStore<SimpleTreeViewItem, Multiple, SimpleTreeViewState<Multiple>, InnerSimpleTreeViewParameters<Multiple>> {
|
|
5
|
+
jsxItems: TreeViewJSXItemsPlugin;
|
|
6
|
+
constructor(parameters: SimpleTreeViewStoreParameters<Multiple>);
|
|
7
|
+
updateStateFromParameters(parameters: SimpleTreeViewStoreParameters<Multiple>): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.SimpleTreeViewStore = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _empty = require("@base-ui/utils/empty");
|
|
10
|
+
var _MinimalTreeViewStore = require("../MinimalTreeViewStore");
|
|
11
|
+
var _jsxItems = require("../plugins/jsxItems");
|
|
12
|
+
var _SimpleTreeViewStore = require("./SimpleTreeViewStore.utils");
|
|
13
|
+
class SimpleTreeViewStore extends _MinimalTreeViewStore.MinimalTreeViewStore {
|
|
14
|
+
jsxItems = new _jsxItems.TreeViewJSXItemsPlugin(this);
|
|
15
|
+
constructor(parameters) {
|
|
16
|
+
super((0, _extends2.default)({}, parameters, {
|
|
17
|
+
items: _empty.EMPTY_ARRAY
|
|
18
|
+
}), 'SimpleTreeView', _SimpleTreeViewStore.parametersToStateMapper);
|
|
19
|
+
}
|
|
20
|
+
updateStateFromParameters(parameters) {
|
|
21
|
+
super.updateStateFromParameters((0, _extends2.default)({}, parameters, {
|
|
22
|
+
items: _empty.EMPTY_ARRAY
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.SimpleTreeViewStore = SimpleTreeViewStore;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MinimalTreeViewParameters, MinimalTreeViewState } from "../MinimalTreeViewStore/index.js";
|
|
2
|
+
export interface SimpleTreeViewState<Multiple extends boolean | undefined> extends MinimalTreeViewState<SimpleTreeViewItem, Multiple> {}
|
|
3
|
+
export interface InnerSimpleTreeViewParameters<Multiple extends boolean | undefined> extends MinimalTreeViewParameters<SimpleTreeViewItem, Multiple> {}
|
|
4
|
+
export interface SimpleTreeViewStoreParameters<Multiple extends boolean | undefined> extends Omit<InnerSimpleTreeViewParameters<Multiple>, 'items' | 'isItemDisabled' | 'isItemSelectionDisabled' | 'getItemLabel' | 'getItemChildren' | 'getItemId'> {}
|
|
5
|
+
export interface SimpleTreeViewItem {
|
|
6
|
+
id: string;
|
|
7
|
+
label: string;
|
|
8
|
+
children?: SimpleTreeViewItem[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { TreeViewParametersToStateMapper } from "../MinimalTreeViewStore/index.js";
|
|
2
|
+
import { InnerSimpleTreeViewParameters, SimpleTreeViewState } from "./SimpleTreeViewStore.types.js";
|
|
3
|
+
export declare const parametersToStateMapper: TreeViewParametersToStateMapper<any, any, SimpleTreeViewState<any>, InnerSimpleTreeViewParameters<any>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.parametersToStateMapper = void 0;
|
|
7
|
+
const parametersToStateMapper = exports.parametersToStateMapper = {
|
|
8
|
+
getInitialState: minimalInitialState => minimalInitialState,
|
|
9
|
+
updateStateFromParameters: newMinimalState => newMinimalState,
|
|
10
|
+
shouldIgnoreItemsStateUpdate: () => true
|
|
11
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _SimpleTreeViewStore = require("./SimpleTreeViewStore");
|
|
7
|
+
Object.keys(_SimpleTreeViewStore).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _SimpleTreeViewStore[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _SimpleTreeViewStore[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _SimpleTreeViewStore2 = require("./SimpleTreeViewStore.types");
|
|
18
|
+
Object.keys(_SimpleTreeViewStore2).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _SimpleTreeViewStore2[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _SimpleTreeViewStore2[key];
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TreeViewItemId } from "../../models/index.js";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export declare const TreeViewItemDepthContext: React.Context<number | ((state: TreeViewState<[UseTreeViewItemsSignature]>, itemId: TreeViewItemId) => number)>;
|
|
3
|
+
import { MinimalTreeViewState } from "../MinimalTreeViewStore/index.js";
|
|
4
|
+
export declare const TreeViewItemDepthContext: React.Context<number | ((state: MinimalTreeViewState<any, any>, itemId: TreeViewItemId) => number)>;
|
|
@@ -12,7 +12,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _TreeViewContext = require("./TreeViewContext");
|
|
14
14
|
var _utils = require("../utils/utils");
|
|
15
|
-
var
|
|
15
|
+
var _selectors = require("../plugins/items/selectors");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
17
|
const TreeViewChildrenItemContext = exports.TreeViewChildrenItemContext = /*#__PURE__*/React.createContext(null);
|
|
18
18
|
if (process.env.NODE_ENV !== "production") TreeViewChildrenItemContext.displayName = "TreeViewChildrenItemContext";
|
|
@@ -23,7 +23,6 @@ function TreeViewChildrenItemProvider(props) {
|
|
|
23
23
|
idAttribute
|
|
24
24
|
} = props;
|
|
25
25
|
const {
|
|
26
|
-
instance,
|
|
27
26
|
store,
|
|
28
27
|
rootRef
|
|
29
28
|
} = (0, _TreeViewContext.useTreeViewContext)();
|
|
@@ -32,7 +31,7 @@ function TreeViewChildrenItemProvider(props) {
|
|
|
32
31
|
if (!rootRef.current) {
|
|
33
32
|
return;
|
|
34
33
|
}
|
|
35
|
-
const previousChildrenIds =
|
|
34
|
+
const previousChildrenIds = _selectors.itemsSelectors.itemOrderedChildrenIds(store.state, itemId ?? null) ?? [];
|
|
36
35
|
const escapedIdAttr = (0, _utils.escapeOperandAttributeSelector)(idAttribute ?? rootRef.current.id);
|
|
37
36
|
|
|
38
37
|
// If collapsed, skip childrenIds update prevents clearing the parent's indeterminate state after opening a sibling.
|
|
@@ -46,7 +45,7 @@ function TreeViewChildrenItemProvider(props) {
|
|
|
46
45
|
const childrenIds = Array.from(childrenElements).map(child => childrenIdAttrToIdRef.current.get(child.id));
|
|
47
46
|
const hasChanged = childrenIds.length !== previousChildrenIds.length || childrenIds.some((childId, index) => childId !== previousChildrenIds[index]);
|
|
48
47
|
if (hasChanged) {
|
|
49
|
-
|
|
48
|
+
store.jsxItems.setJSXItemsOrderedChildrenIds(itemId ?? null, childrenIds);
|
|
50
49
|
}
|
|
51
50
|
});
|
|
52
51
|
const value = React.useMemo(() => ({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { TreeViewAnyStore } from "../models/index.js";
|
|
3
3
|
import { TreeViewContextValue } from "./TreeViewProvider.types.js";
|
|
4
4
|
/**
|
|
5
5
|
* @ignore - internal component.
|
|
6
6
|
*/
|
|
7
|
-
export declare const TreeViewContext: React.Context<TreeViewContextValue<any
|
|
8
|
-
export declare const useTreeViewContext: <
|
|
7
|
+
export declare const TreeViewContext: React.Context<TreeViewContextValue<any> | null>;
|
|
8
|
+
export declare const useTreeViewContext: <TStore extends TreeViewAnyStore>() => TreeViewContextValue<TStore>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TreeViewProviderProps } from "./TreeViewProvider.types.js";
|
|
2
|
-
import {
|
|
2
|
+
import { TreeViewAnyStore } from "../models/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* Sets up the contexts for the underlying Tree Item components.
|
|
5
5
|
*
|
|
6
6
|
* @ignore - do not document.
|
|
7
7
|
*/
|
|
8
|
-
export declare function TreeViewProvider<
|
|
8
|
+
export declare function TreeViewProvider<TStore extends TreeViewAnyStore>(props: TreeViewProviderProps<TStore>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.TreeViewProvider = TreeViewProvider;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _empty = require("@base-ui/utils/empty");
|
|
9
10
|
var _TreeViewContext = require("./TreeViewContext");
|
|
10
11
|
var _TreeViewStyleContext = require("./TreeViewStyleContext");
|
|
12
|
+
var _useTreeViewBuildContext = require("./useTreeViewBuildContext");
|
|
11
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
const EMPTY_OBJECT = {};
|
|
13
|
-
|
|
14
14
|
/**
|
|
15
15
|
* Sets up the contexts for the underlying Tree Item components.
|
|
16
16
|
*
|
|
@@ -18,12 +18,19 @@ const EMPTY_OBJECT = {};
|
|
|
18
18
|
*/
|
|
19
19
|
function TreeViewProvider(props) {
|
|
20
20
|
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
store,
|
|
22
|
+
apiRef,
|
|
23
|
+
rootRef,
|
|
24
|
+
classes = _empty.EMPTY_OBJECT,
|
|
25
|
+
slots = _empty.EMPTY_OBJECT,
|
|
26
|
+
slotProps = _empty.EMPTY_OBJECT,
|
|
25
27
|
children
|
|
26
28
|
} = props;
|
|
29
|
+
const contextValue = (0, _useTreeViewBuildContext.useTreeViewBuildContext)({
|
|
30
|
+
store,
|
|
31
|
+
apiRef,
|
|
32
|
+
rootRef
|
|
33
|
+
});
|
|
27
34
|
const styleContextValue = React.useMemo(() => ({
|
|
28
35
|
classes,
|
|
29
36
|
slots: {
|
|
@@ -41,9 +48,7 @@ function TreeViewProvider(props) {
|
|
|
41
48
|
value: contextValue,
|
|
42
49
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewStyleContext.TreeViewStyleContext.Provider, {
|
|
43
50
|
value: styleContextValue,
|
|
44
|
-
children:
|
|
45
|
-
children
|
|
46
|
-
})
|
|
51
|
+
children: children
|
|
47
52
|
})
|
|
48
53
|
});
|
|
49
54
|
}
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { TreeItemWrapper,
|
|
2
|
+
import { TreeItemWrapper, TreeViewItemPluginResponse, TreeViewPublicAPI, TreeViewAnyStore } from "../models/index.js";
|
|
3
3
|
import type { TreeItemProps } from "../../TreeItem/TreeItem.types.js";
|
|
4
4
|
import { TreeViewClasses, TreeViewSlotProps, TreeViewSlots } from "./TreeViewStyleContext.js";
|
|
5
|
-
import {
|
|
5
|
+
import { UseTreeViewBuildContextParameters } from "./useTreeViewBuildContext.js";
|
|
6
6
|
export type TreeViewItemPluginsRunner = (props: TreeItemProps) => Required<TreeViewItemPluginResponse>;
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
publicAPI: TreeViewPublicAPI<
|
|
10
|
-
store:
|
|
7
|
+
export type TreeViewStoreInContext<TStore extends TreeViewAnyStore> = Omit<TStore, 'setState' | 'update' | 'set' | 'updateStateFromParameters' | 'disposeEffect' | 'registerStoreEffect' | 'itemPluginManager' | 'parameters'>;
|
|
8
|
+
export interface TreeViewContextValue<TStore extends TreeViewAnyStore> {
|
|
9
|
+
publicAPI: TreeViewPublicAPI<TStore>;
|
|
10
|
+
store: TreeViewStoreInContext<TStore>;
|
|
11
11
|
rootRef: React.RefObject<HTMLUListElement | null>;
|
|
12
|
-
wrapItem: TreeItemWrapper<
|
|
13
|
-
wrapRoot: TreeRootWrapper;
|
|
12
|
+
wrapItem: TreeItemWrapper<TStore>;
|
|
14
13
|
runItemPlugins: TreeViewItemPluginsRunner;
|
|
15
14
|
}
|
|
16
|
-
export interface TreeViewProviderProps<
|
|
17
|
-
contextValue: TreeViewContextValue<TSignatures>;
|
|
15
|
+
export interface TreeViewProviderProps<TStore extends TreeViewAnyStore> extends UseTreeViewBuildContextParameters<TStore> {
|
|
18
16
|
children: React.ReactNode;
|
|
19
17
|
classes: Partial<TreeViewClasses> | undefined;
|
|
20
18
|
slots: TreeViewSlots | undefined;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { TreeViewProvider } from "./TreeViewProvider.js";
|
|
2
2
|
export { useTreeViewContext } from "./TreeViewContext.js";
|
|
3
|
-
export type { TreeViewProviderProps, TreeViewContextValue, TreeViewItemPluginsRunner } from "./TreeViewProvider.types.js";
|
|
3
|
+
export type { TreeViewProviderProps, TreeViewContextValue, TreeViewItemPluginsRunner, TreeViewStoreInContext } from "./TreeViewProvider.types.js";
|