@mui/x-tree-view 8.0.0-beta.1 → 8.0.0-beta.2

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 (111) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/RichTreeView/RichTreeView.js +17 -5
  3. package/RichTreeView/richTreeViewClasses.d.ts +2 -4
  4. package/RichTreeView/richTreeViewClasses.js +1 -1
  5. package/SimpleTreeView/SimpleTreeView.js +17 -5
  6. package/SimpleTreeView/simpleTreeViewClasses.d.ts +2 -4
  7. package/SimpleTreeView/simpleTreeViewClasses.js +1 -1
  8. package/TreeItem/TreeItem.d.ts +1 -1
  9. package/TreeItem/TreeItem.js +45 -49
  10. package/TreeItem/index.d.ts +2 -1
  11. package/TreeItem/index.js +13 -21
  12. package/TreeItem/treeItemClasses.d.ts +40 -18
  13. package/TreeItem/treeItemClasses.js +3 -1
  14. package/TreeItemLabelInput/TreeItemLabelInput.js +2 -2
  15. package/esm/RichTreeView/RichTreeView.js +17 -5
  16. package/esm/RichTreeView/richTreeViewClasses.d.ts +2 -4
  17. package/esm/RichTreeView/richTreeViewClasses.js +1 -1
  18. package/esm/SimpleTreeView/SimpleTreeView.js +17 -5
  19. package/esm/SimpleTreeView/simpleTreeViewClasses.d.ts +2 -4
  20. package/esm/SimpleTreeView/simpleTreeViewClasses.js +1 -1
  21. package/esm/TreeItem/TreeItem.d.ts +1 -1
  22. package/esm/TreeItem/TreeItem.js +45 -49
  23. package/esm/TreeItem/index.d.ts +2 -1
  24. package/esm/TreeItem/index.js +1 -1
  25. package/esm/TreeItem/treeItemClasses.d.ts +40 -18
  26. package/esm/TreeItem/treeItemClasses.js +3 -1
  27. package/esm/TreeItemLabelInput/TreeItemLabelInput.js +2 -2
  28. package/esm/index.js +1 -1
  29. package/esm/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +1 -1
  30. package/esm/internals/TreeViewProvider/TreeViewContext.d.ts +3 -1
  31. package/esm/internals/TreeViewProvider/TreeViewContext.js +8 -1
  32. package/esm/internals/TreeViewProvider/TreeViewProvider.d.ts +1 -1
  33. package/esm/internals/TreeViewProvider/TreeViewProvider.js +17 -5
  34. package/esm/internals/TreeViewProvider/TreeViewProvider.types.d.ts +3 -1
  35. package/esm/internals/TreeViewProvider/TreeViewStyleContext.d.ts +33 -0
  36. package/esm/internals/TreeViewProvider/TreeViewStyleContext.js +13 -0
  37. package/esm/internals/TreeViewProvider/index.d.ts +1 -1
  38. package/esm/internals/TreeViewProvider/index.js +1 -1
  39. package/esm/internals/index.d.ts +2 -1
  40. package/esm/internals/plugins/useTreeViewItemCustomization/index.d.ts +2 -0
  41. package/esm/internals/plugins/useTreeViewItemCustomization/index.js +1 -0
  42. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +3 -0
  43. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +24 -0
  44. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +42 -0
  45. package/esm/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +1 -0
  46. package/esm/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +2 -3
  47. package/esm/useTreeItem/useTreeItem.js +5 -0
  48. package/esm/useTreeItem/useTreeItem.types.d.ts +9 -0
  49. package/index.js +1 -1
  50. package/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +2 -2
  51. package/internals/TreeViewProvider/TreeViewContext.d.ts +3 -1
  52. package/internals/TreeViewProvider/TreeViewContext.js +10 -2
  53. package/internals/TreeViewProvider/TreeViewProvider.d.ts +1 -1
  54. package/internals/TreeViewProvider/TreeViewProvider.js +17 -5
  55. package/internals/TreeViewProvider/TreeViewProvider.types.d.ts +3 -1
  56. package/internals/TreeViewProvider/TreeViewStyleContext.d.ts +33 -0
  57. package/internals/TreeViewProvider/TreeViewStyleContext.js +21 -0
  58. package/internals/TreeViewProvider/index.d.ts +1 -1
  59. package/internals/TreeViewProvider/index.js +2 -2
  60. package/internals/index.d.ts +2 -1
  61. package/internals/plugins/useTreeViewItemCustomization/index.d.ts +2 -0
  62. package/internals/plugins/useTreeViewItemCustomization/index.js +12 -0
  63. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +3 -0
  64. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +32 -0
  65. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +42 -0
  66. package/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +5 -0
  67. package/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +2 -3
  68. package/modern/RichTreeView/RichTreeView.js +17 -5
  69. package/modern/RichTreeView/richTreeViewClasses.d.ts +2 -4
  70. package/modern/RichTreeView/richTreeViewClasses.js +1 -1
  71. package/modern/SimpleTreeView/SimpleTreeView.js +17 -5
  72. package/modern/SimpleTreeView/simpleTreeViewClasses.d.ts +2 -4
  73. package/modern/SimpleTreeView/simpleTreeViewClasses.js +1 -1
  74. package/modern/TreeItem/TreeItem.d.ts +1 -1
  75. package/modern/TreeItem/TreeItem.js +45 -49
  76. package/modern/TreeItem/index.d.ts +2 -1
  77. package/modern/TreeItem/index.js +1 -1
  78. package/modern/TreeItem/treeItemClasses.d.ts +40 -18
  79. package/modern/TreeItem/treeItemClasses.js +3 -1
  80. package/modern/TreeItemLabelInput/TreeItemLabelInput.js +2 -2
  81. package/modern/index.js +1 -1
  82. package/modern/internals/TreeViewProvider/TreeViewChildrenItemProvider.js +1 -1
  83. package/modern/internals/TreeViewProvider/TreeViewContext.d.ts +3 -1
  84. package/modern/internals/TreeViewProvider/TreeViewContext.js +8 -1
  85. package/modern/internals/TreeViewProvider/TreeViewProvider.d.ts +1 -1
  86. package/modern/internals/TreeViewProvider/TreeViewProvider.js +17 -5
  87. package/modern/internals/TreeViewProvider/TreeViewProvider.types.d.ts +3 -1
  88. package/modern/internals/TreeViewProvider/TreeViewStyleContext.d.ts +33 -0
  89. package/modern/internals/TreeViewProvider/TreeViewStyleContext.js +13 -0
  90. package/modern/internals/TreeViewProvider/index.d.ts +1 -1
  91. package/modern/internals/TreeViewProvider/index.js +1 -1
  92. package/modern/internals/index.d.ts +2 -1
  93. package/modern/internals/plugins/useTreeViewItemCustomization/index.d.ts +2 -0
  94. package/modern/internals/plugins/useTreeViewItemCustomization/index.js +1 -0
  95. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.d.ts +3 -0
  96. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.js +24 -0
  97. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.d.ts +42 -0
  98. package/modern/internals/plugins/useTreeViewItemCustomization/useTreeViewItemCustomization.types.js +1 -0
  99. package/modern/internals/plugins/useTreeViewLazyLoading/useTreeViewLazyLoading.types.d.ts +2 -3
  100. package/modern/useTreeItem/useTreeItem.js +5 -0
  101. package/modern/useTreeItem/useTreeItem.types.d.ts +9 -0
  102. package/package.json +2 -2
  103. package/tsconfig.build.tsbuildinfo +1 -1
  104. package/useTreeItem/useTreeItem.js +5 -0
  105. package/useTreeItem/useTreeItem.types.d.ts +9 -0
  106. package/esm/internals/TreeViewProvider/useTreeViewContext.d.ts +0 -3
  107. package/esm/internals/TreeViewProvider/useTreeViewContext.js +0 -9
  108. package/internals/TreeViewProvider/useTreeViewContext.d.ts +0 -3
  109. package/internals/TreeViewProvider/useTreeViewContext.js +0 -17
  110. package/modern/internals/TreeViewProvider/useTreeViewContext.d.ts +0 -3
  111. package/modern/internals/TreeViewProvider/useTreeViewContext.js +0 -9
@@ -13,9 +13,8 @@ type DataSource<R extends {}> = {
13
13
  * @template R
14
14
  * @param {R} item The item to check.
15
15
  * @returns {number} The number of children.
16
- * @default (item) => number
17
16
  */
18
- getChildrenCount?: (item: R) => number;
17
+ getChildrenCount: (item: R) => number;
19
18
  /**
20
19
  * Method used for fetching the items.
21
20
  * Only relevant for lazy-loaded tree views.
@@ -24,7 +23,7 @@ type DataSource<R extends {}> = {
24
23
  * @param {TreeViewItemId} parentId The id of the item the children belong to.
25
24
  * @returns { Promise<R[]>} The children of the item.
26
25
  */
27
- getTreeItems?: (parentId?: TreeViewItemId) => Promise<R[]>;
26
+ getTreeItems: (parentId?: TreeViewItemId) => Promise<R[]>;
28
27
  };
29
28
  export interface UseTreeViewLazyLoadingPublicAPI {}
30
29
  export interface UseTreeViewLazyLoadingInstance extends UseTreeViewLazyLoadingPublicAPI {
@@ -189,6 +189,11 @@ export const useTreeItem = parameters => {
189
189
  onMouseDown: createContentHandleMouseDown(externalEventHandlers),
190
190
  status
191
191
  });
192
+ ['expanded', 'selected', 'focused', 'disabled', 'editing', 'editable'].forEach(key => {
193
+ if (status[key]) {
194
+ props[`data-${key}`] = '';
195
+ }
196
+ });
192
197
  const enhancedContentProps = propsEnhancers.content?.(_extends({}, sharedPropsEnhancerParams, {
193
198
  externalEventHandlers
194
199
  })) ?? {};
@@ -55,7 +55,16 @@ export interface UseTreeItemContentSlotPropsFromUseTreeItem {
55
55
  onClick: TreeViewCancellableEventHandler<React.MouseEvent>;
56
56
  onMouseDown: TreeViewCancellableEventHandler<React.MouseEvent>;
57
57
  ref: React.RefCallback<HTMLDivElement> | null;
58
+ /**
59
+ * @deprecated Will be removed in the next major version. Please use the data-attrs instead.
60
+ */
58
61
  status: UseTreeItemStatus;
62
+ 'data-expanded'?: '';
63
+ 'data-selected'?: '';
64
+ 'data-focused'?: '';
65
+ 'data-disabled'?: '';
66
+ 'data-editing'?: '';
67
+ 'data-editable'?: '';
59
68
  }
60
69
  export interface UseTreeItemContentSlotOwnProps extends UseTreeItemContentSlotPropsFromUseTreeItem {}
61
70
  export type UseTreeItemContentSlotProps<ExternalProps = {}> = ExternalProps & UseTreeItemContentSlotOwnProps;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-tree-view v8.0.0-beta.1
2
+ * @mui/x-tree-view v8.0.0-beta.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -9,7 +9,7 @@ exports.TreeViewChildrenItemContext = void 0;
9
9
  exports.TreeViewChildrenItemProvider = TreeViewChildrenItemProvider;
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _useTreeViewContext = require("./useTreeViewContext");
12
+ var _TreeViewContext = require("./TreeViewContext");
13
13
  var _utils = require("../utils/utils");
14
14
  var _useTreeViewItems = require("../plugins/useTreeViewItems/useTreeViewItems.selectors");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
@@ -27,7 +27,7 @@ function TreeViewChildrenItemProvider(props) {
27
27
  instance,
28
28
  store,
29
29
  rootRef
30
- } = (0, _useTreeViewContext.useTreeViewContext)();
30
+ } = (0, _TreeViewContext.useTreeViewContext)();
31
31
  const childrenIdAttrToIdRef = React.useRef(new Map());
32
32
  React.useEffect(() => {
33
33
  if (!rootRef.current) {
@@ -1,6 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { TreeViewAnyPluginSignature } from "../models/index.js";
2
3
  import { TreeViewContextValue } from "./TreeViewProvider.types.js";
3
4
  /**
4
5
  * @ignore - internal component.
5
6
  */
6
- export declare const TreeViewContext: React.Context<TreeViewContextValue<any> | null>;
7
+ export declare const TreeViewContext: React.Context<TreeViewContextValue<any> | null>;
8
+ export declare const useTreeViewContext: <TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []>() => TreeViewContextValue<TSignatures, TOptionalSignatures>;
@@ -4,7 +4,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.TreeViewContext = void 0;
7
+ exports.useTreeViewContext = exports.TreeViewContext = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  /**
10
10
  * @ignore - internal component.
@@ -12,4 +12,12 @@ var React = _interopRequireWildcard(require("react"));
12
12
  const TreeViewContext = exports.TreeViewContext = /*#__PURE__*/React.createContext(null);
13
13
  if (process.env.NODE_ENV !== 'production') {
14
14
  TreeViewContext.displayName = 'TreeViewContext';
15
- }
15
+ }
16
+ const useTreeViewContext = () => {
17
+ const context = React.useContext(TreeViewContext);
18
+ if (context == null) {
19
+ throw new Error(['MUI X: Could not find the Tree View context.', 'It looks like you rendered your component outside of a SimpleTreeView or RichTreeView parent component.', 'This can also happen if you are bundling multiple versions of the Tree View.'].join('\n'));
20
+ }
21
+ return context;
22
+ };
23
+ exports.useTreeViewContext = useTreeViewContext;
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { TreeViewProviderProps } from "./TreeViewProvider.types.js";
3
3
  import { TreeViewAnyPluginSignature } from "../models/index.js";
4
4
  /**
5
- * Sets up the contexts for the underlying TreeItem components.
5
+ * Sets up the contexts for the underlying Tree Item components.
6
6
  *
7
7
  * @ignore - do not document.
8
8
  */
@@ -7,21 +7,33 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.TreeViewProvider = TreeViewProvider;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _TreeViewContext = require("./TreeViewContext");
10
+ var _TreeViewStyleContext = require("./TreeViewStyleContext");
10
11
  var _jsxRuntime = require("react/jsx-runtime");
12
+ const EMPTY_OBJECT = {};
13
+
11
14
  /**
12
- * Sets up the contexts for the underlying TreeItem components.
15
+ * Sets up the contexts for the underlying Tree Item components.
13
16
  *
14
17
  * @ignore - do not document.
15
18
  */
16
19
  function TreeViewProvider(props) {
17
20
  const {
18
- value,
21
+ contextValue,
22
+ classes = EMPTY_OBJECT,
19
23
  children
20
24
  } = props;
25
+
26
+ // TODO: Add the icons to this context and drop useTreeViewIcons
27
+ const styleContextValue = React.useMemo(() => ({
28
+ classes
29
+ }), [classes]);
21
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewContext.TreeViewContext.Provider, {
22
- value: value,
23
- children: value.wrapRoot({
24
- children
31
+ value: contextValue,
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewStyleContext.TreeViewStyleContext.Provider, {
33
+ value: styleContextValue,
34
+ children: contextValue.wrapRoot({
35
+ children
36
+ })
25
37
  })
26
38
  });
27
39
  }
@@ -3,6 +3,7 @@ import { MergeSignaturesProperty, TreeItemWrapper, TreeRootWrapper, TreeViewAnyP
3
3
  import { TreeViewStore } from "../utils/TreeViewStore.js";
4
4
  import { TreeViewCorePluginSignatures } from "../corePlugins/index.js";
5
5
  import type { TreeItemProps } from '../../TreeItem/TreeItem.types';
6
+ import { TreeViewClasses } from "./TreeViewStyleContext.js";
6
7
  export type TreeViewItemPluginsRunner = (props: TreeItemProps) => Required<TreeViewItemPluginResponse>;
7
8
  export type TreeViewContextValue<TSignatures extends readonly TreeViewAnyPluginSignature[], TOptionalSignatures extends readonly TreeViewAnyPluginSignature[] = []> = MergeSignaturesProperty<[...TreeViewCorePluginSignatures, ...TSignatures], 'contextValue'> & Partial<MergeSignaturesProperty<TOptionalSignatures, 'contextValue'>> & {
8
9
  instance: TreeViewInstance<TSignatures, TOptionalSignatures>;
@@ -14,6 +15,7 @@ export type TreeViewContextValue<TSignatures extends readonly TreeViewAnyPluginS
14
15
  runItemPlugins: TreeViewItemPluginsRunner;
15
16
  };
16
17
  export interface TreeViewProviderProps<TSignatures extends readonly TreeViewAnyPluginSignature[]> {
17
- value: TreeViewContextValue<TSignatures>;
18
+ contextValue: TreeViewContextValue<TSignatures>;
18
19
  children: React.ReactNode;
20
+ classes: Partial<TreeViewClasses> | undefined;
19
21
  }
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ export interface TreeViewClasses {
3
+ /** Styles applied to the root element. */
4
+ root: string;
5
+ /** Styles applied to the item's root element. */
6
+ item: string;
7
+ /** Styles applied to the item's content element. */
8
+ itemContent: string;
9
+ /** Styles applied to the item's transition element. */
10
+ itemGroupTransition: string;
11
+ /** Styles applied to the item's icon container element icon. */
12
+ itemIconContainer: string;
13
+ /** Styles applied to the item's label element. */
14
+ itemLabel: string;
15
+ /** Styles applied to the item's label input element (visible only when editing is enabled). */
16
+ itemLabelInput: string;
17
+ /** Styles applied to the item's checkbox element. */
18
+ itemCheckbox: string;
19
+ /** Styles applied to the item's drag and drop overlay element. */
20
+ itemDragAndDropOverlay: string;
21
+ /** Styles applied to the item's error icon element */
22
+ itemErrorIcon: string;
23
+ /** Styles applied to the item's loading icon element */
24
+ itemLoadingIcon: string;
25
+ }
26
+ export interface TreeViewStyleContextValue {
27
+ classes: Partial<TreeViewClasses>;
28
+ }
29
+ /**
30
+ * @ignore - internal component.
31
+ */
32
+ export declare const TreeViewStyleContext: React.Context<TreeViewStyleContextValue>;
33
+ export declare const useTreeViewStyleContext: () => TreeViewStyleContextValue;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useTreeViewStyleContext = exports.TreeViewStyleContext = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ /**
10
+ * @ignore - internal component.
11
+ */
12
+ const TreeViewStyleContext = exports.TreeViewStyleContext = /*#__PURE__*/React.createContext({
13
+ classes: {}
14
+ });
15
+ if (process.env.NODE_ENV !== 'production') {
16
+ TreeViewStyleContext.displayName = 'TreeViewStyleContext';
17
+ }
18
+ const useTreeViewStyleContext = () => {
19
+ return React.useContext(TreeViewStyleContext);
20
+ };
21
+ exports.useTreeViewStyleContext = useTreeViewStyleContext;
@@ -1,3 +1,3 @@
1
1
  export { TreeViewProvider } from "./TreeViewProvider.js";
2
- export { useTreeViewContext } from "./useTreeViewContext.js";
2
+ export { useTreeViewContext } from "./TreeViewContext.js";
3
3
  export type { TreeViewProviderProps, TreeViewContextValue, TreeViewItemPluginsRunner } from './TreeViewProvider.types';
@@ -12,8 +12,8 @@ Object.defineProperty(exports, "TreeViewProvider", {
12
12
  Object.defineProperty(exports, "useTreeViewContext", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _useTreeViewContext.useTreeViewContext;
15
+ return _TreeViewContext.useTreeViewContext;
16
16
  }
17
17
  });
18
18
  var _TreeViewProvider = require("./TreeViewProvider");
19
- var _useTreeViewContext = require("./useTreeViewContext");
19
+ var _TreeViewContext = require("./TreeViewContext");
@@ -30,4 +30,5 @@ export { useTreeViewJSXItems } from "./plugins/useTreeViewJSXItems/index.js";
30
30
  export type { UseTreeViewJSXItemsSignature, UseTreeViewJSXItemsParameters } from './plugins/useTreeViewJSXItems';
31
31
  export { createSelector } from "./utils/selectors.js";
32
32
  export { isTargetInDescendants } from "./utils/tree.js";
33
- export { TreeViewStore } from "./utils/TreeViewStore.js";
33
+ export { TreeViewStore } from "./utils/TreeViewStore.js";
34
+ export type { TreeViewClasses } from './TreeViewProvider/TreeViewStyleContext';
@@ -0,0 +1,2 @@
1
+ export { useTreeViewItemCustomization } from "./useTreeViewItemCustomization.js";
2
+ export type { UseTreeViewItemCustomizationSignature, UseTreeViewItemCustomizationParameters, UseTreeViewItemCustomizationDefaultizedParameters } from './useTreeViewItemCustomization.types';
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useTreeViewItemCustomization", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useTreeViewItemCustomization.useTreeViewItemCustomization;
10
+ }
11
+ });
12
+ var _useTreeViewItemCustomization = require("./useTreeViewItemCustomization");
@@ -0,0 +1,3 @@
1
+ import { TreeViewPlugin } from "../../models/index.js";
2
+ import { UseTreeViewItemCustomizationSignature } from "./useTreeViewItemCustomization.types.js";
3
+ export declare const useTreeViewItemCustomization: TreeViewPlugin<UseTreeViewItemCustomizationSignature>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useTreeViewItemCustomization = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ const useTreeViewItemCustomization = ({
10
+ slots,
11
+ slotProps
12
+ }) => {
13
+ const pluginContextValue = React.useMemo(() => ({
14
+ icons: {
15
+ slots: {
16
+ collapseIcon: slots.collapseIcon,
17
+ expandIcon: slots.expandIcon,
18
+ endIcon: slots.endIcon
19
+ },
20
+ slotProps: {
21
+ collapseIcon: slotProps.collapseIcon,
22
+ expandIcon: slotProps.expandIcon,
23
+ endIcon: slotProps.endIcon
24
+ }
25
+ }
26
+ }), [slots.collapseIcon, slots.expandIcon, slots.endIcon, slotProps.collapseIcon, slotProps.expandIcon, slotProps.endIcon]);
27
+ return {
28
+ contextValue: pluginContextValue
29
+ };
30
+ };
31
+ exports.useTreeViewItemCustomization = useTreeViewItemCustomization;
32
+ useTreeViewItemCustomization.params = {};
@@ -0,0 +1,42 @@
1
+ import * as React from 'react';
2
+ import { SlotComponentProps } from '@mui/utils/types';
3
+ import { TreeViewPluginSignature } from "../../models/index.js";
4
+ import { UseTreeViewItemsSignature } from "../useTreeViewItems/index.js";
5
+ import { UseTreeViewSelectionSignature } from "../useTreeViewSelection/index.js";
6
+ export interface UseTreeViewItemCustomizationParameters {}
7
+ export type UseTreeViewItemCustomizationDefaultizedParameters = UseTreeViewItemCustomizationParameters;
8
+ interface UseTreeViewItemCustomizationSlots {
9
+ /**
10
+ * The default icon used to collapse the item.
11
+ */
12
+ collapseIcon?: React.ElementType;
13
+ /**
14
+ * The default icon used to expand the item.
15
+ */
16
+ expandIcon?: React.ElementType;
17
+ /**
18
+ * The default icon displayed next to an end item.
19
+ * This is applied to all Tree Items and can be overridden by the TreeItem `icon` slot prop.
20
+ */
21
+ endIcon?: React.ElementType;
22
+ }
23
+ interface UseTreeViewItemCustomizationSlotProps {
24
+ collapseIcon?: SlotComponentProps<'svg', {}, {}>;
25
+ expandIcon?: SlotComponentProps<'svg', {}, {}>;
26
+ endIcon?: SlotComponentProps<'svg', {}, {}>;
27
+ }
28
+ interface UseTreeViewItemCustomizationContextValue {
29
+ icons: {
30
+ slots: UseTreeViewItemCustomizationSlots;
31
+ slotProps: UseTreeViewItemCustomizationSlotProps;
32
+ };
33
+ }
34
+ export type UseTreeViewItemCustomizationSignature = TreeViewPluginSignature<{
35
+ params: UseTreeViewItemCustomizationParameters;
36
+ defaultizedParams: UseTreeViewItemCustomizationDefaultizedParameters;
37
+ contextValue: UseTreeViewItemCustomizationContextValue;
38
+ slots: UseTreeViewItemCustomizationSlots;
39
+ slotProps: UseTreeViewItemCustomizationSlotProps;
40
+ dependencies: [UseTreeViewItemsSignature, UseTreeViewSelectionSignature];
41
+ }>;
42
+ export {};
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -13,9 +13,8 @@ type DataSource<R extends {}> = {
13
13
  * @template R
14
14
  * @param {R} item The item to check.
15
15
  * @returns {number} The number of children.
16
- * @default (item) => number
17
16
  */
18
- getChildrenCount?: (item: R) => number;
17
+ getChildrenCount: (item: R) => number;
19
18
  /**
20
19
  * Method used for fetching the items.
21
20
  * Only relevant for lazy-loaded tree views.
@@ -24,7 +23,7 @@ type DataSource<R extends {}> = {
24
23
  * @param {TreeViewItemId} parentId The id of the item the children belong to.
25
24
  * @returns { Promise<R[]>} The children of the item.
26
25
  */
27
- getTreeItems?: (parentId?: TreeViewItemId) => Promise<R[]>;
26
+ getTreeItems: (parentId?: TreeViewItemId) => Promise<R[]>;
28
27
  };
29
28
  export interface UseTreeViewLazyLoadingPublicAPI {}
30
29
  export interface UseTreeViewLazyLoadingInstance extends UseTreeViewLazyLoadingPublicAPI {
@@ -22,10 +22,21 @@ const useUtilityClasses = ownerState => {
22
22
  const {
23
23
  classes
24
24
  } = ownerState;
25
- const slots = {
26
- root: ['root']
27
- };
28
- return composeClasses(slots, getRichTreeViewUtilityClass, classes);
25
+ return React.useMemo(() => {
26
+ const slots = {
27
+ root: ['root'],
28
+ item: ['item'],
29
+ itemContent: ['itemContent'],
30
+ itemGroupTransition: ['itemGroupTransition'],
31
+ itemIconContainer: ['itemIconContainer'],
32
+ itemLabel: ['itemLabel'],
33
+ itemLabelInput: ['itemLabelInput'],
34
+ itemCheckbox: ['itemCheckbox']
35
+ // itemDragAndDropOverlay: ['itemDragAndDropOverlay'], => feature not available on this component
36
+ // itemErrorIcon: ['itemErrorIcon'], => feature not available on this component
37
+ };
38
+ return composeClasses(slots, getRichTreeViewUtilityClass, classes);
39
+ }, [classes]);
29
40
  };
30
41
  export const RichTreeViewRoot = styled('ul', {
31
42
  name: 'MuiRichTreeView',
@@ -93,7 +104,8 @@ const RichTreeView = /*#__PURE__*/React.forwardRef(function RichTreeView(inProps
93
104
  });
94
105
  }
95
106
  return /*#__PURE__*/_jsx(TreeViewProvider, {
96
- value: contextValue,
107
+ contextValue: contextValue,
108
+ classes: classes,
97
109
  children: /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {
98
110
  children: /*#__PURE__*/_jsx(RichTreeViewItems, {
99
111
  slots: slots,
@@ -1,7 +1,5 @@
1
- export interface RichTreeViewClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- }
1
+ import { TreeViewClasses } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
2
+ export interface RichTreeViewClasses extends Omit<TreeViewClasses, 'itemDragAndDropOverlay' | 'itemErrorIcon' | 'itemLoadingIcon'> {}
5
3
  export type RichTreeViewClassKey = keyof RichTreeViewClasses;
6
4
  export declare function getRichTreeViewUtilityClass(slot: string): string;
7
5
  export declare const richTreeViewClasses: RichTreeViewClasses;
@@ -3,4 +3,4 @@ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
3
  export function getRichTreeViewUtilityClass(slot) {
4
4
  return generateUtilityClass('MuiRichTreeView', slot);
5
5
  }
6
- export const richTreeViewClasses = generateUtilityClasses('MuiRichTreeView', ['root']);
6
+ export const richTreeViewClasses = generateUtilityClasses('MuiRichTreeView', ['root', 'item', 'itemContent', 'itemGroupTransition', 'itemIconContainer', 'itemLabel', 'itemCheckbox', 'itemLabelInput']);
@@ -17,10 +17,21 @@ const useUtilityClasses = ownerState => {
17
17
  const {
18
18
  classes
19
19
  } = ownerState;
20
- const slots = {
21
- root: ['root']
22
- };
23
- return composeClasses(slots, getSimpleTreeViewUtilityClass, classes);
20
+ return React.useMemo(() => {
21
+ const slots = {
22
+ root: ['root'],
23
+ item: ['item'],
24
+ itemContent: ['itemContent'],
25
+ itemGroupTransition: ['itemGroupTransition'],
26
+ itemIconContainer: ['itemIconContainer'],
27
+ itemLabel: ['itemLabel'],
28
+ // itemLabelInput: ['itemLabelInput'], => feature not available on this component
29
+ itemCheckbox: ['itemCheckbox']
30
+ // itemDragAndDropOverlay: ['itemDragAndDropOverlay'], => feature not available on this component
31
+ // itemErrorIcon: ['itemErrorIcon'], => feature not available on this component
32
+ };
33
+ return composeClasses(slots, getSimpleTreeViewUtilityClass, classes);
34
+ }, [classes]);
24
35
  };
25
36
  export const SimpleTreeViewRoot = styled('ul', {
26
37
  name: 'MuiSimpleTreeView',
@@ -80,7 +91,8 @@ const SimpleTreeView = /*#__PURE__*/React.forwardRef(function SimpleTreeView(inP
80
91
  ownerState
81
92
  });
82
93
  return /*#__PURE__*/_jsx(TreeViewProvider, {
83
- value: contextValue,
94
+ contextValue: contextValue,
95
+ classes: classes,
84
96
  children: /*#__PURE__*/_jsx(Root, _extends({}, rootProps))
85
97
  });
86
98
  });
@@ -1,7 +1,5 @@
1
- export interface SimpleTreeViewClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- }
1
+ import { TreeViewClasses } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
2
+ export interface SimpleTreeViewClasses extends Omit<TreeViewClasses, 'itemDragAndDropOverlay' | 'itemLabelInput' | 'itemErrorIcon' | 'itemLoadingIcon'> {}
5
3
  export type SimpleTreeViewClassKey = keyof SimpleTreeViewClasses;
6
4
  export declare function getSimpleTreeViewUtilityClass(slot: string): string;
7
5
  export declare const simpleTreeViewClasses: SimpleTreeViewClasses;
@@ -3,4 +3,4 @@ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
3
  export function getSimpleTreeViewUtilityClass(slot) {
4
4
  return generateUtilityClass('MuiSimpleTreeView', slot);
5
5
  }
6
- export const simpleTreeViewClasses = generateUtilityClasses('MuiSimpleTreeView', ['root']);
6
+ export const simpleTreeViewClasses = generateUtilityClasses('MuiSimpleTreeView', ['root', 'item', 'itemContent', 'itemGroupTransition', 'itemIconContainer', 'itemLabel', 'itemCheckbox']);
@@ -15,7 +15,7 @@ export declare const TreeItemErrorContainer: import("@emotion/styled").StyledCom
15
15
  export declare const TreeItemLoadingContainer: import("@emotion/styled").StyledComponent<Pick<import("@mui/material").CircularProgressProps, keyof import("@mui/material").CircularProgressProps> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
16
16
  export declare const TreeItemCheckbox: import("@emotion/styled").StyledComponent<Pick<Omit<CheckboxProps & {
17
17
  visible?: boolean;
18
- }, "ref"> & React.RefAttributes<HTMLButtonElement>, "hidden" | "visible" | "color" | "content" | "size" | "style" | "icon" | "translate" | "disabled" | "form" | "slot" | "title" | "action" | "checked" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "readOnly" | "required" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "sx" | "classes" | "component" | "slots" | "slotProps" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "checkedIcon" | "inputProps" | "inputRef" | "indeterminate" | "indeterminateIcon" | keyof React.RefAttributes<HTMLButtonElement>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
18
+ }, "ref"> & React.RefAttributes<HTMLButtonElement>, "hidden" | "visible" | "color" | "content" | "size" | "style" | "icon" | "translate" | "disabled" | "form" | "slot" | "title" | "action" | "checked" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "readOnly" | "required" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "sx" | "classes" | "component" | "slots" | "slotProps" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "checkedIcon" | "inputProps" | "inputRef" | "indeterminate" | "indeterminateIcon" | keyof React.RefAttributes<HTMLButtonElement>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
19
19
  type TreeItemComponent = ((props: TreeItemProps & React.RefAttributes<HTMLLIElement>) => React.JSX.Element) & {
20
20
  propTypes?: any;
21
21
  };