@mui/x-tree-view 7.6.1 → 7.7.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.
Files changed (84) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/RichTreeView/RichTreeView.d.ts +1 -3
  3. package/RichTreeView/RichTreeView.js +12 -15
  4. package/RichTreeView/RichTreeView.plugins.d.ts +13 -0
  5. package/RichTreeView/RichTreeView.plugins.js +10 -0
  6. package/RichTreeView/RichTreeView.types.d.ts +6 -6
  7. package/RichTreeView/index.d.ts +2 -0
  8. package/RichTreeView/index.js +1 -1
  9. package/SimpleTreeView/SimpleTreeView.d.ts +1 -1
  10. package/SimpleTreeView/SimpleTreeView.js +11 -14
  11. package/SimpleTreeView/SimpleTreeView.plugins.d.ts +12 -7
  12. package/SimpleTreeView/SimpleTreeView.plugins.js +8 -2
  13. package/SimpleTreeView/SimpleTreeView.types.d.ts +3 -3
  14. package/TreeItem/TreeItem.js +7 -1
  15. package/TreeItem/TreeItem.types.d.ts +22 -1
  16. package/TreeItem2/TreeItem2.js +12 -2
  17. package/TreeItem2/TreeItem2.types.d.ts +10 -1
  18. package/TreeView/TreeView.js +2 -1
  19. package/hooks/useTreeViewApiRef.d.ts +1 -1
  20. package/index.js +1 -1
  21. package/internals/TreeViewProvider/TreeViewContext.d.ts +2 -2
  22. package/internals/TreeViewProvider/TreeViewProvider.d.ts +1 -1
  23. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +10 -9
  24. package/internals/TreeViewProvider/index.d.ts +1 -1
  25. package/internals/TreeViewProvider/useTreeViewContext.d.ts +1 -1
  26. package/internals/corePlugins/corePlugins.d.ts +2 -2
  27. package/internals/corePlugins/index.d.ts +1 -1
  28. package/internals/hooks/useInstanceEventHandler.d.ts +2 -2
  29. package/internals/index.d.ts +1 -5
  30. package/internals/index.js +1 -3
  31. package/internals/models/helpers.d.ts +3 -16
  32. package/internals/models/plugin.d.ts +9 -9
  33. package/internals/models/treeView.d.ts +5 -4
  34. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +4 -5
  35. package/internals/useTreeView/extractPluginParamsFromProps.d.ts +13 -0
  36. package/internals/{utils → useTreeView}/extractPluginParamsFromProps.js +16 -16
  37. package/internals/useTreeView/index.d.ts +0 -1
  38. package/internals/useTreeView/useTreeView.d.ts +4 -4
  39. package/internals/useTreeView/useTreeView.js +85 -72
  40. package/internals/useTreeView/useTreeView.types.d.ts +13 -12
  41. package/internals/useTreeView/useTreeViewModels.d.ts +3 -2
  42. package/internals/utils/publishTreeViewEvent.d.ts +1 -1
  43. package/internals/zero-styled/index.d.ts +3 -0
  44. package/internals/zero-styled/index.js +7 -0
  45. package/modern/RichTreeView/RichTreeView.js +12 -15
  46. package/modern/RichTreeView/RichTreeView.plugins.js +10 -0
  47. package/modern/RichTreeView/index.js +1 -1
  48. package/modern/SimpleTreeView/SimpleTreeView.js +11 -14
  49. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +8 -2
  50. package/modern/TreeItem/TreeItem.js +7 -1
  51. package/modern/TreeItem2/TreeItem2.js +12 -2
  52. package/modern/TreeView/TreeView.js +2 -1
  53. package/modern/index.js +1 -1
  54. package/modern/internals/index.js +1 -3
  55. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +4 -5
  56. package/modern/internals/{utils → useTreeView}/extractPluginParamsFromProps.js +16 -16
  57. package/modern/internals/useTreeView/useTreeView.js +85 -72
  58. package/modern/internals/zero-styled/index.js +7 -0
  59. package/node/RichTreeView/RichTreeView.js +14 -17
  60. package/node/RichTreeView/RichTreeView.plugins.js +16 -0
  61. package/node/RichTreeView/index.js +13 -1
  62. package/node/SimpleTreeView/SimpleTreeView.js +13 -16
  63. package/node/SimpleTreeView/SimpleTreeView.plugins.js +8 -2
  64. package/node/TreeItem/TreeItem.js +10 -4
  65. package/node/TreeItem2/TreeItem2.js +18 -8
  66. package/node/TreeView/TreeView.js +4 -3
  67. package/node/index.js +1 -1
  68. package/node/internals/index.js +1 -15
  69. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +4 -5
  70. package/node/internals/{utils → useTreeView}/extractPluginParamsFromProps.js +16 -16
  71. package/node/internals/useTreeView/useTreeView.js +85 -72
  72. package/node/internals/zero-styled/index.js +17 -0
  73. package/package.json +2 -2
  74. package/useTreeItem2/useTreeItem2.d.ts +2 -2
  75. package/useTreeItem2/useTreeItem2.types.d.ts +14 -2
  76. package/internals/plugins/defaultPlugins.d.ts +0 -13
  77. package/internals/plugins/defaultPlugins.js +0 -10
  78. package/internals/plugins/index.d.ts +0 -2
  79. package/internals/plugins/index.js +0 -1
  80. package/internals/utils/extractPluginParamsFromProps.d.ts +0 -18
  81. package/modern/internals/plugins/defaultPlugins.js +0 -10
  82. package/modern/internals/plugins/index.js +0 -1
  83. package/node/internals/plugins/defaultPlugins.js +0 -16
  84. package/node/internals/plugins/index.js +0 -12
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createUseThemeProps = createUseThemeProps;
7
+ Object.defineProperty(exports, "styled", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _styles.styled;
11
+ }
12
+ });
13
+ var _styles = require("@mui/material/styles");
14
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
+ function createUseThemeProps(name) {
16
+ return _styles.useThemeProps;
17
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-tree-view",
3
- "version": "7.6.1",
3
+ "version": "7.7.0",
4
4
  "description": "The community edition of the Tree View components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -33,7 +33,7 @@
33
33
  "directory": "packages/x-tree-view"
34
34
  },
35
35
  "dependencies": {
36
- "@babel/runtime": "^7.24.6",
36
+ "@babel/runtime": "^7.24.7",
37
37
  "@mui/base": "^5.0.0-beta.40",
38
38
  "@mui/system": "^5.15.15",
39
39
  "@mui/utils": "^5.15.14",
@@ -1,2 +1,2 @@
1
- import { UseTreeItem2Parameters, UseTreeItem2ReturnValue } from './useTreeItem2.types';
2
- export declare const useTreeItem2: <TPlugins extends [import("../internals").UseTreeViewIdSignature, import("../internals").UseTreeViewItemsSignature, import("../internals").UseTreeViewExpansionSignature, import("../internals").UseTreeViewSelectionSignature, import("../internals").UseTreeViewFocusSignature, import("../internals").UseTreeViewKeyboardNavigationSignature, import("../internals").UseTreeViewIconsSignature] = [import("../internals").UseTreeViewIdSignature, import("../internals").UseTreeViewItemsSignature, import("../internals").UseTreeViewExpansionSignature, import("../internals").UseTreeViewSelectionSignature, import("../internals").UseTreeViewFocusSignature, import("../internals").UseTreeViewKeyboardNavigationSignature, import("../internals").UseTreeViewIconsSignature]>(parameters: UseTreeItem2Parameters) => UseTreeItem2ReturnValue<TPlugins>;
1
+ import { UseTreeItem2Parameters, UseTreeItem2ReturnValue, UseTreeItem2MinimalPlugins } from './useTreeItem2.types';
2
+ export declare const useTreeItem2: <TSignatures extends UseTreeItem2MinimalPlugins = UseTreeItem2MinimalPlugins>(parameters: UseTreeItem2Parameters) => UseTreeItem2ReturnValue<TSignatures>;
@@ -2,6 +2,11 @@ import * as React from 'react';
2
2
  import { TreeViewItemId } from '../models';
3
3
  import { MuiCancellableEventHandler } from '../internals/models/MuiCancellableEvent';
4
4
  import { TreeViewAnyPluginSignature, TreeViewPublicAPI } from '../internals/models';
5
+ import { UseTreeViewSelectionSignature } from '../internals/plugins/useTreeViewSelection';
6
+ import { UseTreeViewItemsSignature } from '../internals/plugins/useTreeViewItems';
7
+ import { UseTreeViewIdSignature } from '../internals/plugins/useTreeViewId';
8
+ import { UseTreeViewFocusSignature } from '../internals/plugins/useTreeViewFocus';
9
+ import { UseTreeViewKeyboardNavigationSignature } from '../internals/plugins/useTreeViewKeyboardNavigation';
5
10
  export interface UseTreeItem2Parameters {
6
11
  /**
7
12
  * The id attribute of the item. If not provided, it will be generated.
@@ -90,7 +95,7 @@ export interface UseTreeItem2Status {
90
95
  selected: boolean;
91
96
  disabled: boolean;
92
97
  }
93
- export interface UseTreeItem2ReturnValue<TPlugins extends readonly TreeViewAnyPluginSignature[]> {
98
+ export interface UseTreeItem2ReturnValue<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
94
99
  /**
95
100
  * Resolver for the root slot's props.
96
101
  * @param {ExternalProps} externalProps Additional props for the root slot
@@ -138,5 +143,12 @@ export interface UseTreeItem2ReturnValue<TPlugins extends readonly TreeViewAnyPl
138
143
  /**
139
144
  * The object the allows Tree View manipulation.
140
145
  */
141
- publicAPI: TreeViewPublicAPI<TPlugins>;
146
+ publicAPI: TreeViewPublicAPI<TSignatures>;
142
147
  }
148
+ export type UseTreeItem2MinimalPlugins = readonly [
149
+ UseTreeViewSelectionSignature,
150
+ UseTreeViewItemsSignature,
151
+ UseTreeViewIdSignature,
152
+ UseTreeViewFocusSignature,
153
+ UseTreeViewKeyboardNavigationSignature
154
+ ];
@@ -1,13 +0,0 @@
1
- import { UseTreeViewIdParameters } from './useTreeViewId';
2
- import { UseTreeViewItemsParameters } from './useTreeViewItems';
3
- import { UseTreeViewExpansionParameters } from './useTreeViewExpansion';
4
- import { UseTreeViewSelectionParameters } from './useTreeViewSelection';
5
- import { UseTreeViewFocusParameters } from './useTreeViewFocus';
6
- import { UseTreeViewIconsParameters } from './useTreeViewIcons';
7
- import { ConvertPluginsIntoSignatures, MergePluginsProperty } from '../models';
8
- export declare const DEFAULT_TREE_VIEW_PLUGINS: readonly [import("../models").TreeViewPlugin<import("./useTreeViewId").UseTreeViewIdSignature>, import("../models").TreeViewPlugin<import("./useTreeViewItems").UseTreeViewItemsSignature>, import("../models").TreeViewPlugin<import("./useTreeViewExpansion").UseTreeViewExpansionSignature>, import("../models").TreeViewPlugin<import("./useTreeViewSelection").UseTreeViewSelectionSignature>, import("../models").TreeViewPlugin<import("./useTreeViewFocus").UseTreeViewFocusSignature>, import("../models").TreeViewPlugin<import("./useTreeViewKeyboardNavigation").UseTreeViewKeyboardNavigationSignature>, import("../models").TreeViewPlugin<import("./useTreeViewIcons").UseTreeViewIconsSignature>];
9
- export type DefaultTreeViewPlugins = ConvertPluginsIntoSignatures<typeof DEFAULT_TREE_VIEW_PLUGINS>;
10
- export type DefaultTreeViewPluginSlots = MergePluginsProperty<DefaultTreeViewPlugins, 'slots'>;
11
- export type DefaultTreeViewPluginSlotProps = MergePluginsProperty<DefaultTreeViewPlugins, 'slotProps'>;
12
- export interface DefaultTreeViewPluginParameters<R extends {}, Multiple extends boolean | undefined> extends UseTreeViewIdParameters, UseTreeViewItemsParameters<R>, UseTreeViewExpansionParameters, UseTreeViewFocusParameters, UseTreeViewSelectionParameters<Multiple>, UseTreeViewIconsParameters {
13
- }
@@ -1,10 +0,0 @@
1
- import { useTreeViewId } from './useTreeViewId';
2
- import { useTreeViewItems } from './useTreeViewItems';
3
- import { useTreeViewExpansion } from './useTreeViewExpansion';
4
- import { useTreeViewSelection } from './useTreeViewSelection';
5
- import { useTreeViewFocus } from './useTreeViewFocus';
6
- import { useTreeViewKeyboardNavigation } from './useTreeViewKeyboardNavigation';
7
- import { useTreeViewIcons } from './useTreeViewIcons';
8
- export const DEFAULT_TREE_VIEW_PLUGINS = [useTreeViewId, useTreeViewItems, useTreeViewExpansion, useTreeViewSelection, useTreeViewFocus, useTreeViewKeyboardNavigation, useTreeViewIcons];
9
-
10
- // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -1,2 +0,0 @@
1
- export { DEFAULT_TREE_VIEW_PLUGINS } from './defaultPlugins';
2
- export type { DefaultTreeViewPlugins } from './defaultPlugins';
@@ -1 +0,0 @@
1
- export { DEFAULT_TREE_VIEW_PLUGINS } from './defaultPlugins';
@@ -1,18 +0,0 @@
1
- import * as React from 'react';
2
- import { ConvertPluginsIntoSignatures, MergePluginsProperty, TreeViewExperimentalFeatures, TreeViewPlugin, TreeViewPublicAPI } from '../models';
3
- import { UseTreeViewBaseParameters } from '../useTreeView/useTreeView.types';
4
- export declare const extractPluginParamsFromProps: <TPlugins extends readonly TreeViewPlugin<any>[], TSlots extends MergePluginsProperty<TPlugins, "slots">, TSlotProps extends MergePluginsProperty<TPlugins, "slotProps">, TProps extends {
5
- slots?: TSlots | undefined;
6
- slotProps?: TSlotProps | undefined;
7
- apiRef?: React.MutableRefObject<TreeViewPublicAPI<ConvertPluginsIntoSignatures<TPlugins>> | undefined> | undefined;
8
- experimentalFeatures?: TreeViewExperimentalFeatures<ConvertPluginsIntoSignatures<TPlugins>> | undefined;
9
- }>({ props: { slots, slotProps, apiRef, experimentalFeatures, ...props }, plugins, rootRef, }: {
10
- props: TProps;
11
- plugins: TPlugins;
12
- rootRef?: React.Ref<HTMLUListElement>;
13
- }) => {
14
- pluginParams: UseTreeViewBaseParameters<TPlugins> & MergePluginsProperty<ConvertPluginsIntoSignatures<TPlugins>, "params">;
15
- slots: TSlots | undefined;
16
- slotProps: TSlotProps | undefined;
17
- otherProps: Omit<TProps, keyof MergePluginsProperty<ConvertPluginsIntoSignatures<TPlugins>, "params">>;
18
- };
@@ -1,10 +0,0 @@
1
- import { useTreeViewId } from './useTreeViewId';
2
- import { useTreeViewItems } from './useTreeViewItems';
3
- import { useTreeViewExpansion } from './useTreeViewExpansion';
4
- import { useTreeViewSelection } from './useTreeViewSelection';
5
- import { useTreeViewFocus } from './useTreeViewFocus';
6
- import { useTreeViewKeyboardNavigation } from './useTreeViewKeyboardNavigation';
7
- import { useTreeViewIcons } from './useTreeViewIcons';
8
- export const DEFAULT_TREE_VIEW_PLUGINS = [useTreeViewId, useTreeViewItems, useTreeViewExpansion, useTreeViewSelection, useTreeViewFocus, useTreeViewKeyboardNavigation, useTreeViewIcons];
9
-
10
- // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -1 +0,0 @@
1
- export { DEFAULT_TREE_VIEW_PLUGINS } from './defaultPlugins';
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DEFAULT_TREE_VIEW_PLUGINS = void 0;
7
- var _useTreeViewId = require("./useTreeViewId");
8
- var _useTreeViewItems = require("./useTreeViewItems");
9
- var _useTreeViewExpansion = require("./useTreeViewExpansion");
10
- var _useTreeViewSelection = require("./useTreeViewSelection");
11
- var _useTreeViewFocus = require("./useTreeViewFocus");
12
- var _useTreeViewKeyboardNavigation = require("./useTreeViewKeyboardNavigation");
13
- var _useTreeViewIcons = require("./useTreeViewIcons");
14
- const DEFAULT_TREE_VIEW_PLUGINS = exports.DEFAULT_TREE_VIEW_PLUGINS = [_useTreeViewId.useTreeViewId, _useTreeViewItems.useTreeViewItems, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewIcons.useTreeViewIcons];
15
-
16
- // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "DEFAULT_TREE_VIEW_PLUGINS", {
7
- enumerable: true,
8
- get: function () {
9
- return _defaultPlugins.DEFAULT_TREE_VIEW_PLUGINS;
10
- }
11
- });
12
- var _defaultPlugins = require("./defaultPlugins");