@mui/x-tree-view 7.6.2 → 7.7.1

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 (116) hide show
  1. package/CHANGELOG.md +163 -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 +9 -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 +7 -2
  13. package/SimpleTreeView/SimpleTreeView.types.d.ts +3 -3
  14. package/TreeItem/TreeItem.js +7 -1
  15. package/TreeItem/TreeItem.types.d.ts +27 -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/useTreeItem2Utils/useTreeItem2Utils.d.ts +4 -0
  20. package/hooks/useTreeItem2Utils/useTreeItem2Utils.js +9 -0
  21. package/hooks/useTreeViewApiRef.d.ts +1 -1
  22. package/index.js +1 -1
  23. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -1
  24. package/internals/TreeViewProvider/TreeViewContext.d.ts +2 -8
  25. package/internals/TreeViewProvider/TreeViewProvider.d.ts +1 -1
  26. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +10 -9
  27. package/internals/TreeViewProvider/index.d.ts +1 -1
  28. package/internals/TreeViewProvider/useTreeViewContext.d.ts +1 -1
  29. package/internals/corePlugins/corePlugins.d.ts +6 -3
  30. package/internals/corePlugins/corePlugins.js +2 -1
  31. package/internals/corePlugins/index.d.ts +1 -1
  32. package/internals/{plugins → corePlugins}/useTreeViewId/useTreeViewId.types.d.ts +0 -4
  33. package/internals/hooks/useInstanceEventHandler.d.ts +2 -2
  34. package/internals/index.d.ts +2 -7
  35. package/internals/index.js +4 -4
  36. package/internals/models/helpers.d.ts +3 -16
  37. package/internals/models/plugin.d.ts +25 -19
  38. package/internals/models/treeView.d.ts +5 -4
  39. package/internals/plugins/useTreeViewExpansion/useTreeViewExpansion.types.d.ts +1 -1
  40. package/internals/plugins/useTreeViewFocus/useTreeViewFocus.types.d.ts +1 -3
  41. package/internals/plugins/useTreeViewIcons/useTreeViewIcons.types.d.ts +1 -1
  42. package/internals/plugins/useTreeViewJSXItems/useTreeViewJSXItems.types.d.ts +1 -1
  43. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +4 -5
  44. package/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.d.ts +1 -1
  45. package/internals/plugins/useTreeViewSelection/useTreeViewSelection.types.d.ts +1 -1
  46. package/internals/useTreeView/extractPluginParamsFromProps.d.ts +13 -0
  47. package/internals/{utils → useTreeView}/extractPluginParamsFromProps.js +16 -16
  48. package/internals/useTreeView/index.d.ts +0 -1
  49. package/internals/useTreeView/useTreeView.d.ts +4 -4
  50. package/internals/useTreeView/useTreeView.js +85 -72
  51. package/internals/useTreeView/useTreeView.types.d.ts +13 -12
  52. package/internals/useTreeView/useTreeViewModels.d.ts +3 -2
  53. package/internals/utils/publishTreeViewEvent.d.ts +1 -1
  54. package/internals/utils/utils.d.ts +1 -0
  55. package/internals/utils/utils.js +7 -1
  56. package/internals/zero-styled/index.d.ts +3 -0
  57. package/internals/zero-styled/index.js +7 -0
  58. package/modern/RichTreeView/RichTreeView.js +12 -15
  59. package/modern/RichTreeView/RichTreeView.plugins.js +9 -0
  60. package/modern/RichTreeView/index.js +1 -1
  61. package/modern/SimpleTreeView/SimpleTreeView.js +11 -14
  62. package/modern/SimpleTreeView/SimpleTreeView.plugins.js +7 -2
  63. package/modern/TreeItem/TreeItem.js +7 -1
  64. package/modern/TreeItem2/TreeItem2.js +12 -2
  65. package/modern/TreeView/TreeView.js +2 -1
  66. package/modern/hooks/useTreeItem2Utils/useTreeItem2Utils.js +9 -0
  67. package/modern/index.js +1 -1
  68. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -1
  69. package/modern/internals/corePlugins/corePlugins.js +2 -1
  70. package/modern/internals/index.js +4 -4
  71. package/modern/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +4 -5
  72. package/modern/internals/{utils → useTreeView}/extractPluginParamsFromProps.js +16 -16
  73. package/modern/internals/useTreeView/useTreeView.js +85 -72
  74. package/modern/internals/utils/utils.js +7 -1
  75. package/modern/internals/zero-styled/index.js +7 -0
  76. package/node/RichTreeView/RichTreeView.js +14 -17
  77. package/node/RichTreeView/RichTreeView.plugins.js +15 -0
  78. package/node/RichTreeView/index.js +13 -1
  79. package/node/SimpleTreeView/SimpleTreeView.js +13 -16
  80. package/node/SimpleTreeView/SimpleTreeView.plugins.js +7 -2
  81. package/node/TreeItem/TreeItem.js +10 -4
  82. package/node/TreeItem2/TreeItem2.js +18 -8
  83. package/node/TreeView/TreeView.js +4 -3
  84. package/node/hooks/useTreeItem2Utils/useTreeItem2Utils.js +9 -0
  85. package/node/index.js +1 -1
  86. package/node/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +3 -1
  87. package/node/internals/corePlugins/corePlugins.js +2 -1
  88. package/node/internals/index.js +1 -22
  89. package/node/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.js +4 -5
  90. package/node/internals/{utils → useTreeView}/extractPluginParamsFromProps.js +16 -16
  91. package/node/internals/useTreeView/useTreeView.js +85 -72
  92. package/node/internals/utils/utils.js +8 -1
  93. package/node/internals/zero-styled/index.js +17 -0
  94. package/package.json +4 -4
  95. package/useTreeItem2/useTreeItem2.d.ts +2 -2
  96. package/useTreeItem2/useTreeItem2.types.d.ts +20 -3
  97. package/internals/plugins/defaultPlugins.d.ts +0 -13
  98. package/internals/plugins/defaultPlugins.js +0 -10
  99. package/internals/plugins/index.d.ts +0 -2
  100. package/internals/plugins/index.js +0 -1
  101. package/internals/utils/extractPluginParamsFromProps.d.ts +0 -18
  102. package/modern/internals/plugins/defaultPlugins.js +0 -10
  103. package/modern/internals/plugins/index.js +0 -1
  104. package/node/internals/plugins/defaultPlugins.js +0 -16
  105. package/node/internals/plugins/index.js +0 -12
  106. /package/internals/{plugins → corePlugins}/useTreeViewId/index.d.ts +0 -0
  107. /package/internals/{plugins → corePlugins}/useTreeViewId/index.js +0 -0
  108. /package/internals/{plugins → corePlugins}/useTreeViewId/useTreeViewId.d.ts +0 -0
  109. /package/internals/{plugins → corePlugins}/useTreeViewId/useTreeViewId.js +0 -0
  110. /package/internals/{plugins → corePlugins}/useTreeViewId/useTreeViewId.types.js +0 -0
  111. /package/modern/internals/{plugins → corePlugins}/useTreeViewId/index.js +0 -0
  112. /package/modern/internals/{plugins → corePlugins}/useTreeViewId/useTreeViewId.js +0 -0
  113. /package/modern/internals/{plugins → corePlugins}/useTreeViewId/useTreeViewId.types.js +0 -0
  114. /package/node/internals/{plugins → corePlugins}/useTreeViewId/index.js +0 -0
  115. /package/node/internals/{plugins → corePlugins}/useTreeViewId/useTreeViewId.js +0 -0
  116. /package/node/internals/{plugins → corePlugins}/useTreeViewId/useTreeViewId.types.js +0 -0
@@ -8,35 +8,35 @@ export const extractPluginParamsFromProps = _ref => {
8
8
  apiRef,
9
9
  experimentalFeatures
10
10
  },
11
- plugins,
12
- rootRef
11
+ plugins
13
12
  } = _ref,
14
13
  props = _objectWithoutPropertiesLoose(_ref.props, _excluded);
15
14
  const paramsLookup = {};
16
15
  plugins.forEach(plugin => {
17
16
  Object.assign(paramsLookup, plugin.params);
18
17
  });
19
- const pluginParams = {
20
- plugins,
21
- rootRef,
22
- slots: slots ?? {},
23
- slotProps: slotProps ?? {},
24
- experimentalFeatures: experimentalFeatures ?? {},
25
- apiRef
26
- };
27
- const otherProps = {};
18
+ const pluginParams = {};
19
+ const forwardedProps = {};
28
20
  Object.keys(props).forEach(propName => {
29
21
  const prop = props[propName];
30
22
  if (paramsLookup[propName]) {
31
23
  pluginParams[propName] = prop;
32
24
  } else {
33
- otherProps[propName] = prop;
25
+ forwardedProps[propName] = prop;
34
26
  }
35
27
  });
28
+ const defaultizedPluginParams = plugins.reduce((acc, plugin) => {
29
+ if (plugin.getDefaultizedParams) {
30
+ return plugin.getDefaultizedParams(acc);
31
+ }
32
+ return acc;
33
+ }, pluginParams);
36
34
  return {
37
- pluginParams,
38
- slots,
39
- slotProps,
40
- otherProps
35
+ apiRef,
36
+ forwardedProps,
37
+ pluginParams: defaultizedPluginParams,
38
+ slots: slots ?? {},
39
+ slotProps: slotProps ?? {},
40
+ experimentalFeatures: experimentalFeatures ?? {}
41
41
  };
42
42
  };
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import useForkRef from '@mui/utils/useForkRef';
4
4
  import { useTreeViewModels } from './useTreeViewModels';
5
5
  import { TREE_VIEW_CORE_PLUGINS } from '../corePlugins';
6
+ import { extractPluginParamsFromProps } from './extractPluginParamsFromProps';
6
7
  export function useTreeViewApiInitialization(inputApiRef) {
7
8
  const fallbackPublicApiRef = React.useRef({});
8
9
  if (inputApiRef) {
@@ -13,62 +14,69 @@ export function useTreeViewApiInitialization(inputApiRef) {
13
14
  }
14
15
  return fallbackPublicApiRef.current;
15
16
  }
16
- export const useTreeView = inParams => {
17
- const plugins = [...TREE_VIEW_CORE_PLUGINS, ...inParams.plugins];
18
- const params = plugins.reduce((acc, plugin) => {
19
- if (plugin.getDefaultizedParams) {
20
- return plugin.getDefaultizedParams(acc);
21
- }
22
- return acc;
23
- }, inParams);
24
- const models = useTreeViewModels(plugins, params);
17
+ export const useTreeView = ({
18
+ plugins: inPlugins,
19
+ rootRef,
20
+ props
21
+ }) => {
22
+ const plugins = [...TREE_VIEW_CORE_PLUGINS, ...inPlugins];
23
+ const {
24
+ pluginParams,
25
+ forwardedProps,
26
+ apiRef,
27
+ experimentalFeatures,
28
+ slots,
29
+ slotProps
30
+ } = extractPluginParamsFromProps({
31
+ plugins,
32
+ props
33
+ });
34
+ const models = useTreeViewModels(plugins, pluginParams);
25
35
  const instanceRef = React.useRef({});
26
36
  const instance = instanceRef.current;
27
- const publicAPI = useTreeViewApiInitialization(inParams.apiRef);
37
+ const publicAPI = useTreeViewApiInitialization(apiRef);
28
38
  const innerRootRef = React.useRef(null);
29
- const handleRootRef = useForkRef(innerRootRef, inParams.rootRef);
39
+ const handleRootRef = useForkRef(innerRootRef, rootRef);
30
40
  const [state, setState] = React.useState(() => {
31
41
  const temp = {};
32
42
  plugins.forEach(plugin => {
33
43
  if (plugin.getInitialState) {
34
- Object.assign(temp, plugin.getInitialState(params));
44
+ Object.assign(temp, plugin.getInitialState(pluginParams));
35
45
  }
36
46
  });
37
47
  return temp;
38
48
  });
39
- const rootPropsGetters = [];
40
- const contextValue = {
41
- publicAPI,
42
- instance: instance,
43
- rootRef: innerRootRef
49
+ const itemWrappers = plugins.map(plugin => plugin.wrapItem).filter(wrapItem => !!wrapItem);
50
+ const wrapItem = ({
51
+ itemId,
52
+ children
53
+ }) => {
54
+ let finalChildren = children;
55
+ itemWrappers.forEach(itemWrapper => {
56
+ finalChildren = itemWrapper({
57
+ itemId,
58
+ children: finalChildren,
59
+ instance
60
+ });
61
+ });
62
+ return finalChildren;
44
63
  };
45
- const runPlugin = plugin => {
46
- const pluginResponse = plugin({
47
- instance,
48
- params,
49
- slots: params.slots,
50
- slotProps: params.slotProps,
51
- experimentalFeatures: params.experimentalFeatures,
52
- state,
53
- setState,
54
- rootRef: innerRootRef,
55
- models
64
+ const rootWrappers = plugins.map(plugin => plugin.wrapRoot).filter(wrapRoot => !!wrapRoot)
65
+ // The wrappers are reversed to ensure that the first wrapper is the outermost one.
66
+ .reverse();
67
+ const wrapRoot = ({
68
+ children
69
+ }) => {
70
+ let finalChildren = children;
71
+ rootWrappers.forEach(rootWrapper => {
72
+ finalChildren = rootWrapper({
73
+ children: finalChildren,
74
+ instance
75
+ });
56
76
  });
57
- if (pluginResponse.getRootProps) {
58
- rootPropsGetters.push(pluginResponse.getRootProps);
59
- }
60
- if (pluginResponse.publicAPI) {
61
- Object.assign(publicAPI, pluginResponse.publicAPI);
62
- }
63
- if (pluginResponse.instance) {
64
- Object.assign(instance, pluginResponse.instance);
65
- }
66
- if (pluginResponse.contextValue) {
67
- Object.assign(contextValue, pluginResponse.contextValue);
68
- }
77
+ return finalChildren;
69
78
  };
70
- plugins.forEach(runPlugin);
71
- contextValue.runItemPlugins = itemPluginProps => {
79
+ const runItemPlugins = itemPluginProps => {
72
80
  let finalRootRef = null;
73
81
  let finalContentRef = null;
74
82
  plugins.forEach(plugin => {
@@ -92,40 +100,45 @@ export const useTreeView = inParams => {
92
100
  rootRef: finalRootRef
93
101
  };
94
102
  };
95
- const itemWrappers = plugins.map(plugin => plugin.wrapItem).filter(wrapItem => !!wrapItem);
96
- contextValue.wrapItem = ({
97
- itemId,
98
- children
99
- }) => {
100
- let finalChildren = children;
101
- itemWrappers.forEach(itemWrapper => {
102
- finalChildren = itemWrapper({
103
- itemId,
104
- children: finalChildren,
105
- instance
106
- });
107
- });
108
- return finalChildren;
103
+ const contextValue = {
104
+ publicAPI,
105
+ wrapItem,
106
+ wrapRoot,
107
+ runItemPlugins,
108
+ instance: instance,
109
+ rootRef: innerRootRef
109
110
  };
110
- const rootWrappers = plugins.map(plugin => plugin.wrapRoot).filter(wrapRoot => !!wrapRoot)
111
- // The wrappers are reversed to ensure that the first wrapper is the outermost one.
112
- .reverse();
113
- contextValue.wrapRoot = ({
114
- children
115
- }) => {
116
- let finalChildren = children;
117
- rootWrappers.forEach(rootWrapper => {
118
- finalChildren = rootWrapper({
119
- children: finalChildren,
120
- instance
121
- });
111
+ const rootPropsGetters = [];
112
+ const runPlugin = plugin => {
113
+ const pluginResponse = plugin({
114
+ instance,
115
+ params: pluginParams,
116
+ slots,
117
+ slotProps,
118
+ experimentalFeatures,
119
+ state,
120
+ setState,
121
+ rootRef: innerRootRef,
122
+ models
122
123
  });
123
- return finalChildren;
124
+ if (pluginResponse.getRootProps) {
125
+ rootPropsGetters.push(pluginResponse.getRootProps);
126
+ }
127
+ if (pluginResponse.publicAPI) {
128
+ Object.assign(publicAPI, pluginResponse.publicAPI);
129
+ }
130
+ if (pluginResponse.instance) {
131
+ Object.assign(instance, pluginResponse.instance);
132
+ }
133
+ if (pluginResponse.contextValue) {
134
+ Object.assign(contextValue, pluginResponse.contextValue);
135
+ }
124
136
  };
137
+ plugins.forEach(runPlugin);
125
138
  const getRootProps = (otherHandlers = {}) => {
126
139
  const rootProps = _extends({
127
140
  role: 'tree'
128
- }, otherHandlers, {
141
+ }, forwardedProps, otherHandlers, {
129
142
  ref: handleRootRef
130
143
  });
131
144
  rootPropsGetters.forEach(rootPropsGetter => {
@@ -136,7 +149,7 @@ export const useTreeView = inParams => {
136
149
  return {
137
150
  getRootProps,
138
151
  rootRef: handleRootRef,
139
- contextValue: contextValue,
140
- instance: instance
152
+ contextValue,
153
+ instance
141
154
  };
142
155
  };
@@ -8,4 +8,10 @@ export const getActiveElement = (root = document) => {
8
8
  return getActiveElement(activeEl.shadowRoot);
9
9
  }
10
10
  return activeEl;
11
- };
11
+ };
12
+
13
+ // TODO, eventually replaces this function with CSS.escape, once available in jsdom, either added manually or built in
14
+ // https://github.com/jsdom/jsdom/issues/1550#issuecomment-236734471
15
+ export function escapeOperandAttributeSelector(operand) {
16
+ return operand.replace(/["\\]/g, '\\$&');
17
+ }
@@ -0,0 +1,7 @@
1
+ import { useThemeProps } from '@mui/material/styles';
2
+ export { styled } from '@mui/material/styles';
3
+
4
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
5
+ export function createUseThemeProps(name) {
6
+ return useThemeProps;
7
+ }
@@ -8,19 +8,19 @@ exports.RichTreeViewRoot = exports.RichTreeView = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
11
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
12
  var _utils = require("@mui/base/utils");
14
13
  var _richTreeViewClasses = require("./richTreeViewClasses");
14
+ var _zeroStyled = require("../internals/zero-styled");
15
15
  var _useTreeView = require("../internals/useTreeView");
16
16
  var _TreeViewProvider = require("../internals/TreeViewProvider");
17
- var _plugins = require("../internals/plugins");
17
+ var _RichTreeView = require("./RichTreeView.plugins");
18
18
  var _TreeItem = require("../TreeItem");
19
19
  var _warning = require("../internals/utils/warning");
20
- var _extractPluginParamsFromProps = require("../internals/utils/extractPluginParamsFromProps");
21
20
  var _jsxRuntime = require("react/jsx-runtime");
22
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
23
+ const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiRichTreeView');
24
24
  const useUtilityClasses = ownerState => {
25
25
  const {
26
26
  classes
@@ -30,7 +30,7 @@ const useUtilityClasses = ownerState => {
30
30
  };
31
31
  return (0, _composeClasses.default)(slots, _richTreeViewClasses.getRichTreeViewUtilityClass, classes);
32
32
  };
33
- const RichTreeViewRoot = exports.RichTreeViewRoot = (0, _styles.styled)('ul', {
33
+ const RichTreeViewRoot = exports.RichTreeViewRoot = (0, _zeroStyled.styled)('ul', {
34
34
  name: 'MuiRichTreeView',
35
35
  slot: 'Root',
36
36
  overridesResolver: (props, styles) => styles.root
@@ -80,7 +80,7 @@ const childrenWarning = (0, _warning.buildWarning)(['MUI X: The `RichTreeView` c
80
80
  * - [RichTreeView API](https://mui.com/x/api/tree-view/rich-tree-view/)
81
81
  */
82
82
  const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(function RichTreeView(inProps, ref) {
83
- const props = (0, _styles.useThemeProps)({
83
+ const props = useThemeProps({
84
84
  props: inProps,
85
85
  name: 'MuiRichTreeView'
86
86
  });
@@ -89,27 +89,24 @@ const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(functi
89
89
  childrenWarning();
90
90
  }
91
91
  }
92
- const {
93
- pluginParams,
94
- slots,
95
- slotProps,
96
- otherProps
97
- } = (0, _extractPluginParamsFromProps.extractPluginParamsFromProps)({
98
- props,
99
- plugins: _plugins.DEFAULT_TREE_VIEW_PLUGINS,
100
- rootRef: ref
101
- });
102
92
  const {
103
93
  getRootProps,
104
94
  contextValue,
105
95
  instance
106
- } = (0, _useTreeView.useTreeView)(pluginParams);
96
+ } = (0, _useTreeView.useTreeView)({
97
+ plugins: _RichTreeView.RICH_TREE_VIEW_PLUGINS,
98
+ rootRef: ref,
99
+ props
100
+ });
101
+ const {
102
+ slots,
103
+ slotProps
104
+ } = props;
107
105
  const classes = useUtilityClasses(props);
108
106
  const Root = slots?.root ?? RichTreeViewRoot;
109
107
  const rootProps = (0, _utils.useSlotProps)({
110
108
  elementType: Root,
111
109
  externalSlotProps: slotProps?.root,
112
- externalForwardedProps: otherProps,
113
110
  className: classes.root,
114
111
  getSlotProps: getRootProps,
115
112
  ownerState: props
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RICH_TREE_VIEW_PLUGINS = void 0;
7
+ var _useTreeViewItems = require("../internals/plugins/useTreeViewItems");
8
+ var _useTreeViewExpansion = require("../internals/plugins/useTreeViewExpansion");
9
+ var _useTreeViewSelection = require("../internals/plugins/useTreeViewSelection");
10
+ var _useTreeViewFocus = require("../internals/plugins/useTreeViewFocus");
11
+ var _useTreeViewKeyboardNavigation = require("../internals/plugins/useTreeViewKeyboardNavigation");
12
+ var _useTreeViewIcons = require("../internals/plugins/useTreeViewIcons");
13
+ const RICH_TREE_VIEW_PLUGINS = exports.RICH_TREE_VIEW_PLUGINS = [_useTreeViewItems.useTreeViewItems, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewIcons.useTreeViewIcons];
14
+
15
+ // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -3,9 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ RICH_TREE_VIEW_PLUGINS: true
8
+ };
9
+ Object.defineProperty(exports, "RICH_TREE_VIEW_PLUGINS", {
10
+ enumerable: true,
11
+ get: function () {
12
+ return _RichTreeView2.RICH_TREE_VIEW_PLUGINS;
13
+ }
14
+ });
6
15
  var _RichTreeView = require("./RichTreeView");
7
16
  Object.keys(_RichTreeView).forEach(function (key) {
8
17
  if (key === "default" || key === "__esModule") return;
18
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
9
19
  if (key in exports && exports[key] === _RichTreeView[key]) return;
10
20
  Object.defineProperty(exports, key, {
11
21
  enumerable: true,
@@ -17,6 +27,7 @@ Object.keys(_RichTreeView).forEach(function (key) {
17
27
  var _richTreeViewClasses = require("./richTreeViewClasses");
18
28
  Object.keys(_richTreeViewClasses).forEach(function (key) {
19
29
  if (key === "default" || key === "__esModule") return;
30
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
31
  if (key in exports && exports[key] === _richTreeViewClasses[key]) return;
21
32
  Object.defineProperty(exports, key, {
22
33
  enumerable: true,
@@ -24,4 +35,5 @@ Object.keys(_richTreeViewClasses).forEach(function (key) {
24
35
  return _richTreeViewClasses[key];
25
36
  }
26
37
  });
27
- });
38
+ });
39
+ var _RichTreeView2 = require("./RichTreeView.plugins");
@@ -8,18 +8,18 @@ exports.SimpleTreeViewRoot = exports.SimpleTreeView = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
11
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
12
  var _utils = require("@mui/base/utils");
13
+ var _zeroStyled = require("../internals/zero-styled");
14
14
  var _simpleTreeViewClasses = require("./simpleTreeViewClasses");
15
15
  var _useTreeView = require("../internals/useTreeView");
16
16
  var _TreeViewProvider = require("../internals/TreeViewProvider");
17
17
  var _SimpleTreeView = require("./SimpleTreeView.plugins");
18
18
  var _warning = require("../internals/utils/warning");
19
- var _extractPluginParamsFromProps = require("../internals/utils/extractPluginParamsFromProps");
20
19
  var _jsxRuntime = require("react/jsx-runtime");
21
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
22
21
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiSimpleTreeView');
23
23
  const useUtilityClasses = ownerState => {
24
24
  const {
25
25
  classes
@@ -29,7 +29,7 @@ const useUtilityClasses = ownerState => {
29
29
  };
30
30
  return (0, _composeClasses.default)(slots, _simpleTreeViewClasses.getSimpleTreeViewUtilityClass, classes);
31
31
  };
32
- const SimpleTreeViewRoot = exports.SimpleTreeViewRoot = (0, _styles.styled)('ul', {
32
+ const SimpleTreeViewRoot = exports.SimpleTreeViewRoot = (0, _zeroStyled.styled)('ul', {
33
33
  name: 'MuiSimpleTreeView',
34
34
  slot: 'Root',
35
35
  overridesResolver: (props, styles) => styles.root
@@ -54,7 +54,7 @@ const itemsPropWarning = (0, _warning.buildWarning)(['MUI X: The `SimpleTreeView
54
54
  * - [SimpleTreeView API](https://mui.com/x/api/tree-view/simple-tree-view/)
55
55
  */
56
56
  const SimpleTreeView = exports.SimpleTreeView = /*#__PURE__*/React.forwardRef(function SimpleTreeView(inProps, ref) {
57
- const props = (0, _styles.useThemeProps)({
57
+ const props = useThemeProps({
58
58
  props: inProps,
59
59
  name: 'MuiSimpleTreeView'
60
60
  });
@@ -65,27 +65,24 @@ const SimpleTreeView = exports.SimpleTreeView = /*#__PURE__*/React.forwardRef(fu
65
65
  }
66
66
  }
67
67
  const {
68
- pluginParams,
69
- slots,
70
- slotProps,
71
- otherProps
72
- } = (0, _extractPluginParamsFromProps.extractPluginParamsFromProps)({
68
+ getRootProps,
69
+ contextValue
70
+ } = (0, _useTreeView.useTreeView)({
71
+ plugins: _SimpleTreeView.SIMPLE_TREE_VIEW_PLUGINS,
72
+ rootRef: ref,
73
73
  props: (0, _extends2.default)({}, props, {
74
74
  items: EMPTY_ITEMS
75
- }),
76
- plugins: _SimpleTreeView.SIMPLE_TREE_VIEW_PLUGINS,
77
- rootRef: ref
75
+ })
78
76
  });
79
77
  const {
80
- getRootProps,
81
- contextValue
82
- } = (0, _useTreeView.useTreeView)(pluginParams);
78
+ slots,
79
+ slotProps
80
+ } = props;
83
81
  const classes = useUtilityClasses(props);
84
82
  const Root = slots?.root ?? SimpleTreeViewRoot;
85
83
  const rootProps = (0, _utils.useSlotProps)({
86
84
  elementType: Root,
87
85
  externalSlotProps: slotProps?.root,
88
- externalForwardedProps: otherProps,
89
86
  className: classes.root,
90
87
  getSlotProps: getRootProps,
91
88
  ownerState
@@ -4,8 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SIMPLE_TREE_VIEW_PLUGINS = void 0;
7
- var _defaultPlugins = require("../internals/plugins/defaultPlugins");
7
+ var _useTreeViewItems = require("../internals/plugins/useTreeViewItems");
8
+ var _useTreeViewExpansion = require("../internals/plugins/useTreeViewExpansion");
9
+ var _useTreeViewSelection = require("../internals/plugins/useTreeViewSelection");
10
+ var _useTreeViewFocus = require("../internals/plugins/useTreeViewFocus");
11
+ var _useTreeViewKeyboardNavigation = require("../internals/plugins/useTreeViewKeyboardNavigation");
12
+ var _useTreeViewIcons = require("../internals/plugins/useTreeViewIcons");
8
13
  var _useTreeViewJSXItems = require("../internals/plugins/useTreeViewJSXItems");
9
- const SIMPLE_TREE_VIEW_PLUGINS = exports.SIMPLE_TREE_VIEW_PLUGINS = [..._defaultPlugins.DEFAULT_TREE_VIEW_PLUGINS, _useTreeViewJSXItems.useTreeViewJSXItems];
14
+ const SIMPLE_TREE_VIEW_PLUGINS = exports.SIMPLE_TREE_VIEW_PLUGINS = [_useTreeViewItems.useTreeViewItems, _useTreeViewExpansion.useTreeViewExpansion, _useTreeViewSelection.useTreeViewSelection, _useTreeViewFocus.useTreeViewFocus, _useTreeViewKeyboardNavigation.useTreeViewKeyboardNavigation, _useTreeViewIcons.useTreeViewIcons, _useTreeViewJSXItems.useTreeViewJSXItems];
10
15
 
11
16
  // We can't infer this type from the plugin, otherwise we would lose the generics.
@@ -18,6 +18,7 @@ var _styles = require("@mui/material/styles");
18
18
  var _unsupportedProp = _interopRequireDefault(require("@mui/utils/unsupportedProp"));
19
19
  var _elementTypeAcceptingRef = _interopRequireDefault(require("@mui/utils/elementTypeAcceptingRef"));
20
20
  var _base = require("@mui/base");
21
+ var _zeroStyled = require("../internals/zero-styled");
21
22
  var _TreeItemContent = require("./TreeItemContent");
22
23
  var _treeItemClasses = require("./treeItemClasses");
23
24
  var _useTreeViewContext = require("../internals/TreeViewProvider/useTreeViewContext");
@@ -31,6 +32,7 @@ const _excluded = ["children", "className", "slots", "slotProps", "ContentCompon
31
32
  _excluded4 = ["ownerState"];
32
33
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
33
34
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
35
+ const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiTreeItem');
34
36
  const useUtilityClasses = ownerState => {
35
37
  const {
36
38
  classes
@@ -49,7 +51,7 @@ const useUtilityClasses = ownerState => {
49
51
  };
50
52
  return (0, _base.unstable_composeClasses)(slots, _treeItemClasses.getTreeItemUtilityClass, classes);
51
53
  };
52
- const TreeItemRoot = (0, _styles.styled)('li', {
54
+ const TreeItemRoot = (0, _zeroStyled.styled)('li', {
53
55
  name: 'MuiTreeItem',
54
56
  slot: 'Root',
55
57
  overridesResolver: (props, styles) => styles.root
@@ -59,7 +61,7 @@ const TreeItemRoot = (0, _styles.styled)('li', {
59
61
  padding: 0,
60
62
  outline: 0
61
63
  });
62
- const StyledTreeItemContent = (0, _styles.styled)(_TreeItemContent.TreeItemContent, {
64
+ const StyledTreeItemContent = (0, _zeroStyled.styled)(_TreeItemContent.TreeItemContent, {
63
65
  name: 'MuiTreeItem',
64
66
  slot: 'Content',
65
67
  overridesResolver: (props, styles) => {
@@ -139,7 +141,7 @@ const StyledTreeItemContent = (0, _styles.styled)(_TreeItemContent.TreeItemConte
139
141
  }
140
142
  }]
141
143
  }));
142
- const TreeItemGroup = (0, _styles.styled)(_Collapse.default, {
144
+ const TreeItemGroup = (0, _zeroStyled.styled)(_Collapse.default, {
143
145
  name: 'MuiTreeItem',
144
146
  slot: 'GroupTransition',
145
147
  overridesResolver: (props, styles) => styles.groupTransition,
@@ -180,7 +182,7 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
180
182
  instance
181
183
  } = (0, _useTreeViewContext.useTreeViewContext)();
182
184
  const depthContext = React.useContext(_TreeViewItemDepthContext.TreeViewItemDepthContext);
183
- const props = (0, _styles.useThemeProps)({
185
+ const props = useThemeProps({
184
186
  props: inProps,
185
187
  name: 'MuiTreeItem'
186
188
  });
@@ -399,6 +401,10 @@ process.env.NODE_ENV !== "production" ? TreeItem.propTypes = {
399
401
  * Use the `onItemFocus` callback on the tree if you need to monitor a item's focus.
400
402
  */
401
403
  onFocus: _unsupportedProp.default,
404
+ /**
405
+ * Callback fired when a key of the keyboard is pressed on the item.
406
+ */
407
+ onKeyDown: _propTypes.default.func,
402
408
  /**
403
409
  * The props used for each component slot.
404
410
  * @default {}
@@ -17,6 +17,7 @@ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
17
17
  var _utils = require("@mui/base/utils");
18
18
  var _createStyled = require("@mui/system/createStyled");
19
19
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
20
+ var _zeroStyled = require("../internals/zero-styled");
20
21
  var _useTreeItem = require("../useTreeItem2");
21
22
  var _TreeItem = require("../TreeItem");
22
23
  var _TreeItem2Icon = require("../TreeItem2Icon");
@@ -26,7 +27,8 @@ const _excluded = ["visible"],
26
27
  _excluded2 = ["id", "itemId", "label", "disabled", "children", "slots", "slotProps"];
27
28
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
28
29
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
- const TreeItem2Root = exports.TreeItem2Root = (0, _styles.styled)('li', {
30
+ const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiTreeItem2');
31
+ const TreeItem2Root = exports.TreeItem2Root = (0, _zeroStyled.styled)('li', {
30
32
  name: 'MuiTreeItem2',
31
33
  slot: 'Root',
32
34
  overridesResolver: (props, styles) => styles.root
@@ -36,7 +38,7 @@ const TreeItem2Root = exports.TreeItem2Root = (0, _styles.styled)('li', {
36
38
  padding: 0,
37
39
  outline: 0
38
40
  });
39
- const TreeItem2Content = exports.TreeItem2Content = (0, _styles.styled)('div', {
41
+ const TreeItem2Content = exports.TreeItem2Content = (0, _zeroStyled.styled)('div', {
40
42
  name: 'MuiTreeItem2',
41
43
  slot: 'Content',
42
44
  overridesResolver: (props, styles) => styles.content,
@@ -106,7 +108,7 @@ const TreeItem2Content = exports.TreeItem2Content = (0, _styles.styled)('div', {
106
108
  }
107
109
  }]
108
110
  }));
109
- const TreeItem2Label = exports.TreeItem2Label = (0, _styles.styled)('div', {
111
+ const TreeItem2Label = exports.TreeItem2Label = (0, _zeroStyled.styled)('div', {
110
112
  name: 'MuiTreeItem2',
111
113
  slot: 'Label',
112
114
  overridesResolver: (props, styles) => styles.label
@@ -120,7 +122,7 @@ const TreeItem2Label = exports.TreeItem2Label = (0, _styles.styled)('div', {
120
122
  minWidth: 0,
121
123
  position: 'relative'
122
124
  }, theme.typography.body1));
123
- const TreeItem2IconContainer = exports.TreeItem2IconContainer = (0, _styles.styled)('div', {
125
+ const TreeItem2IconContainer = exports.TreeItem2IconContainer = (0, _zeroStyled.styled)('div', {
124
126
  name: 'MuiTreeItem2',
125
127
  slot: 'IconContainer',
126
128
  overridesResolver: (props, styles) => styles.iconContainer
@@ -133,7 +135,7 @@ const TreeItem2IconContainer = exports.TreeItem2IconContainer = (0, _styles.styl
133
135
  fontSize: 18
134
136
  }
135
137
  });
136
- const TreeItem2GroupTransition = exports.TreeItem2GroupTransition = (0, _styles.styled)(_Collapse.default, {
138
+ const TreeItem2GroupTransition = exports.TreeItem2GroupTransition = (0, _zeroStyled.styled)(_Collapse.default, {
137
139
  name: 'MuiTreeItem2',
138
140
  slot: 'GroupTransition',
139
141
  overridesResolver: (props, styles) => styles.groupTransition,
@@ -151,7 +153,7 @@ const TreeItem2GroupTransition = exports.TreeItem2GroupTransition = (0, _styles.
151
153
  }
152
154
  }]
153
155
  });
154
- const TreeItem2Checkbox = exports.TreeItem2Checkbox = (0, _styles.styled)( /*#__PURE__*/React.forwardRef((props, ref) => {
156
+ const TreeItem2Checkbox = exports.TreeItem2Checkbox = (0, _zeroStyled.styled)( /*#__PURE__*/React.forwardRef((props, ref) => {
155
157
  const {
156
158
  visible
157
159
  } = props,
@@ -198,7 +200,7 @@ const useUtilityClasses = ownerState => {
198
200
  * - [TreeItem2 API](https://mui.com/x/api/tree-view/tree-item-2/)
199
201
  */
200
202
  const TreeItem2 = exports.TreeItem2 = /*#__PURE__*/React.forwardRef(function TreeItem2(inProps, forwardedRef) {
201
- const props = (0, _styles.useThemeProps)({
203
+ const props = useThemeProps({
202
204
  props: inProps,
203
205
  name: 'MuiTreeItem2'
204
206
  });
@@ -330,11 +332,19 @@ process.env.NODE_ENV !== "production" ? TreeItem2.propTypes = {
330
332
  * The label of the item.
331
333
  */
332
334
  label: _propTypes.default.node,
335
+ /**
336
+ * Callback fired when the item root is blurred.
337
+ */
338
+ onBlur: _propTypes.default.func,
333
339
  /**
334
340
  * This prop isn't supported.
335
- * Use the `onItemFocus` callback on the tree if you need to monitor a item's focus.
341
+ * Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
336
342
  */
337
343
  onFocus: _unsupportedProp.default,
344
+ /**
345
+ * Callback fired when a key is pressed on the keyboard and the tree is in focus.
346
+ */
347
+ onKeyDown: _propTypes.default.func,
338
348
  /**
339
349
  * The props used for each component slot.
340
350
  * @default {}