@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
package/CHANGELOG.md CHANGED
@@ -5,6 +5,100 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.0.0-beta.2
9
+
10
+ _Mar 27, 2025_
11
+
12
+ We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🔍 Update the Data Grid quick filter to be collapsed when not in use
15
+ - 🐞 Bugfixes
16
+
17
+ Special thanks go out to the community members for their valuable contributions:
18
+ @lhilgert9.
19
+ Following are all team members who have contributed to this release:
20
+ @alexfauquette, @arminmeh, @flaviendelangle, @hasdfa, @JCQuintas, @KenanYusuf, @LukasTy, @MBilalShafi, @michelengelen, @mnajdova, @romgrk.
21
+
22
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
23
+
24
+ ### Data Grid
25
+
26
+ #### `@mui/x-data-grid@8.0.0-beta.2`
27
+
28
+ - [DataGrid] Fix error caused by trying to render rows that are not in the state anymore (#17057) @arminmeh
29
+ - [DataGrid] Refactor: remove more material (#16922) @romgrk
30
+ - [DataGrid] Update Quick Filter component to be expandable (#16862) @KenanYusuf
31
+ - [DataGrid] Fix crash when used with `@mui/styled-engine-sc` (#17154) @KenanYusuf
32
+
33
+ #### `@mui/x-data-grid-pro@8.0.0-beta.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
34
+
35
+ Same changes as in `@mui/x-data-grid@8.0.0-beta.2`, plus:
36
+
37
+ - [DataGridPro] Data source: Allow expanding groups with unknown children (#17144) @MBilalShafi
38
+
39
+ #### `@mui/x-data-grid-premium@8.0.0-beta.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
40
+
41
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-beta.2`.
42
+
43
+ ### Date and Time Pickers
44
+
45
+ #### `@mui/x-date-pickers@8.0.0-beta.2`
46
+
47
+ - [fields] Extract the props of each field slot into a standalone hook for easier re-use (#17114) @flaviendelangle
48
+ - [pickers] Fix visual regression in Date Range Calendar's day (#17148) @flaviendelangle
49
+ - [pickers] Remove all code duplication to apply default values to validation props (#17038) @flaviendelangle
50
+
51
+ #### `@mui/x-date-pickers-pro@8.0.0-beta.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
52
+
53
+ Same changes as in `@mui/x-date-pickers@8.0.0-beta.2`.
54
+
55
+ ### Charts
56
+
57
+ #### `@mui/x-charts@8.0.0-beta.2`
58
+
59
+ - [charts] Memoize axes and series with default (#17156) @alexfauquette
60
+ - [charts] Add pie benchmark (#17115) @JCQuintas
61
+ - [charts] Fix CSS vars support for dark theme (#17106) @alexfauquette
62
+ - [charts] Fix radar hover (#17134) @alexfauquette
63
+ - [charts] Move axis interaction to selectors (#17039) @alexfauquette
64
+ - [charts] Fix Pie benchmark (#17125) @JCQuintas
65
+
66
+ #### `@mui/x-charts-pro@8.0.0-beta.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
67
+
68
+ Same changes as in `@mui/x-charts@8.0.0-beta.2`.
69
+
70
+ ### Tree View
71
+
72
+ #### `@mui/x-tree-view@8.0.0-beta.2`
73
+
74
+ Internal changes.
75
+
76
+ #### `@mui/x-tree-view-pro@8.0.0-beta.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
77
+
78
+ Same changes as in `@mui/x-tree-view@8.0.0-beta.2`.
79
+
80
+ ### `@mui/x-codemod@8.0.0-beta.1`
81
+
82
+ - [codemod] Add Data Grid codemods (#17121, #17124) @MBilalShafi
83
+
84
+ ### Docs
85
+
86
+ - [docs] Fix example import for `ExportExcel` component (#17110) @KenanYusuf
87
+
88
+ ### Core
89
+
90
+ - [code-infra] Remove `@mui/styles` dependency & patches (#17071) @mnajdova
91
+ - [code-infra] Add more tests to slow screenshot tests (#17075) @JCQuintas
92
+ - [code-infra] Fix pickers codecov (#17120) @JCQuintas
93
+ - [code-infra] Move `isDeepEqual` to @mui/x-internals (#17129) @JCQuintas
94
+ - [code-infra] Remove `test_regressions` step from React 18 pipeline (#17108) @LukasTy
95
+ - [code-infra] Update some data-grid tests for vitest (#17078, #17104, #17146) @JCQuintas
96
+ - [code-infra] Update some date-pickers tests for vitest (#17083) @JCQuintas
97
+ - [infra] Update `issue-status-label-handler.yml` @michelengelen
98
+ - [infra] Added reusable issue status label handler workflow (#17145) @michelengelen
99
+ - [infra] Switch to reusable 'stale issues/PRs' workflow (#17107) @michelengelen
100
+ - [telemetry] Improve request body size, update dependencies, and optimize SSR handling (#17008) @hasdfa
101
+
8
102
  ## 8.0.0-beta.1
9
103
 
10
104
  _Mar 21, 2025_
@@ -29,10 +29,21 @@ const useUtilityClasses = ownerState => {
29
29
  const {
30
30
  classes
31
31
  } = ownerState;
32
- const slots = {
33
- root: ['root']
34
- };
35
- return (0, _composeClasses.default)(slots, _richTreeViewClasses.getRichTreeViewUtilityClass, classes);
32
+ return React.useMemo(() => {
33
+ const slots = {
34
+ root: ['root'],
35
+ item: ['item'],
36
+ itemContent: ['itemContent'],
37
+ itemGroupTransition: ['itemGroupTransition'],
38
+ itemIconContainer: ['itemIconContainer'],
39
+ itemLabel: ['itemLabel'],
40
+ itemLabelInput: ['itemLabelInput'],
41
+ itemCheckbox: ['itemCheckbox']
42
+ // itemDragAndDropOverlay: ['itemDragAndDropOverlay'], => feature not available on this component
43
+ // itemErrorIcon: ['itemErrorIcon'], => feature not available on this component
44
+ };
45
+ return (0, _composeClasses.default)(slots, _richTreeViewClasses.getRichTreeViewUtilityClass, classes);
46
+ }, [classes]);
36
47
  };
37
48
  const RichTreeViewRoot = exports.RichTreeViewRoot = (0, _zeroStyled.styled)('ul', {
38
49
  name: 'MuiRichTreeView',
@@ -100,7 +111,8 @@ const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(functi
100
111
  });
101
112
  }
102
113
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewProvider.TreeViewProvider, {
103
- value: contextValue,
114
+ contextValue: contextValue,
115
+ classes: classes,
104
116
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({}, rootProps, {
105
117
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RichTreeViewItems.RichTreeViewItems, {
106
118
  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;
@@ -11,4 +11,4 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
11
11
  function getRichTreeViewUtilityClass(slot) {
12
12
  return (0, _generateUtilityClass.default)('MuiRichTreeView', slot);
13
13
  }
14
- const richTreeViewClasses = exports.richTreeViewClasses = (0, _generateUtilityClasses.default)('MuiRichTreeView', ['root']);
14
+ const richTreeViewClasses = exports.richTreeViewClasses = (0, _generateUtilityClasses.default)('MuiRichTreeView', ['root', 'item', 'itemContent', 'itemGroupTransition', 'itemIconContainer', 'itemLabel', 'itemCheckbox', 'itemLabelInput']);
@@ -24,10 +24,21 @@ const useUtilityClasses = ownerState => {
24
24
  const {
25
25
  classes
26
26
  } = ownerState;
27
- const slots = {
28
- root: ['root']
29
- };
30
- return (0, _composeClasses.default)(slots, _simpleTreeViewClasses.getSimpleTreeViewUtilityClass, classes);
27
+ return React.useMemo(() => {
28
+ const slots = {
29
+ root: ['root'],
30
+ item: ['item'],
31
+ itemContent: ['itemContent'],
32
+ itemGroupTransition: ['itemGroupTransition'],
33
+ itemIconContainer: ['itemIconContainer'],
34
+ itemLabel: ['itemLabel'],
35
+ // itemLabelInput: ['itemLabelInput'], => feature not available on this component
36
+ itemCheckbox: ['itemCheckbox']
37
+ // itemDragAndDropOverlay: ['itemDragAndDropOverlay'], => feature not available on this component
38
+ // itemErrorIcon: ['itemErrorIcon'], => feature not available on this component
39
+ };
40
+ return (0, _composeClasses.default)(slots, _simpleTreeViewClasses.getSimpleTreeViewUtilityClass, classes);
41
+ }, [classes]);
31
42
  };
32
43
  const SimpleTreeViewRoot = exports.SimpleTreeViewRoot = (0, _zeroStyled.styled)('ul', {
33
44
  name: 'MuiSimpleTreeView',
@@ -87,7 +98,8 @@ const SimpleTreeView = exports.SimpleTreeView = /*#__PURE__*/React.forwardRef(fu
87
98
  ownerState
88
99
  });
89
100
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewProvider.TreeViewProvider, {
90
- value: contextValue,
101
+ contextValue: contextValue,
102
+ classes: classes,
91
103
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({}, rootProps))
92
104
  });
93
105
  });
@@ -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;
@@ -11,4 +11,4 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
11
11
  function getSimpleTreeViewUtilityClass(slot) {
12
12
  return (0, _generateUtilityClass.default)('MuiSimpleTreeView', slot);
13
13
  }
14
- const simpleTreeViewClasses = exports.simpleTreeViewClasses = (0, _generateUtilityClasses.default)('MuiSimpleTreeView', ['root']);
14
+ const simpleTreeViewClasses = exports.simpleTreeViewClasses = (0, _generateUtilityClasses.default)('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
  };
@@ -27,9 +27,10 @@ var _TreeItemIcon = require("../TreeItemIcon");
27
27
  var _TreeItemDragAndDropOverlay = require("../TreeItemDragAndDropOverlay");
28
28
  var _TreeItemProvider = require("../TreeItemProvider");
29
29
  var _TreeItemLabelInput = require("../TreeItemLabelInput");
30
+ var _TreeViewStyleContext = require("../internals/TreeViewProvider/TreeViewStyleContext");
30
31
  var _jsxRuntime = require("react/jsx-runtime");
31
32
  const _excluded = ["visible"],
32
- _excluded2 = ["id", "itemId", "label", "disabled", "children", "slots", "slotProps"];
33
+ _excluded2 = ["id", "itemId", "label", "disabled", "children", "slots", "slotProps", "classes"];
33
34
  const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiTreeItem');
34
35
  const TreeItemRoot = exports.TreeItemRoot = (0, _zeroStyled.styled)('li', {
35
36
  name: 'MuiTreeItem',
@@ -68,43 +69,26 @@ const TreeItemContent = exports.TreeItemContent = (0, _zeroStyled.styled)('div',
68
69
  backgroundColor: 'transparent'
69
70
  }
70
71
  },
71
- variants: [{
72
- props: ({
73
- status
74
- }) => status.disabled,
75
- style: {
76
- opacity: (theme.vars || theme).palette.action.disabledOpacity,
77
- backgroundColor: 'transparent'
78
- }
79
- }, {
80
- props: ({
81
- status
82
- }) => status.focused,
83
- style: {
84
- backgroundColor: (theme.vars || theme).palette.action.focus
85
- }
86
- }, {
87
- props: ({
88
- status
89
- }) => status.selected,
90
- style: {
91
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity),
92
- '&:hover': {
93
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
94
- // Reset on touch devices, it doesn't add specificity
95
- '@media (hover: none)': {
96
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity)
97
- }
72
+ '&[data-disabled]': {
73
+ opacity: (theme.vars || theme).palette.action.disabledOpacity,
74
+ backgroundColor: 'transparent'
75
+ },
76
+ '&[data-focused]': {
77
+ backgroundColor: (theme.vars || theme).palette.action.focus
78
+ },
79
+ '&[data-selected]': {
80
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity),
81
+ '&:hover': {
82
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),
83
+ // Reset on touch devices, it doesn't add specificity
84
+ '@media (hover: none)': {
85
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity)
98
86
  }
99
87
  }
100
- }, {
101
- props: ({
102
- status
103
- }) => status.selected && status.focused,
104
- style: {
105
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
106
- }
107
- }]
88
+ },
89
+ '&[data-selected][data-focused]': {
90
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : (0, _styles.alpha)(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
91
+ }
108
92
  }));
109
93
  const TreeItemLabel = exports.TreeItemLabel = (0, _zeroStyled.styled)('div', {
110
94
  name: 'MuiTreeItem',
@@ -190,19 +174,25 @@ const TreeItemCheckbox = exports.TreeItemCheckbox = (0, _zeroStyled.styled)(/*#_
190
174
  })({
191
175
  padding: 0
192
176
  });
193
- const useUtilityClasses = ownerState => {
177
+ const useUtilityClasses = classesProp => {
194
178
  const {
195
- classes
196
- } = ownerState;
179
+ classes: classesFromTreeView
180
+ } = (0, _TreeViewStyleContext.useTreeViewStyleContext)();
181
+ const classes = (0, _extends2.default)({}, classesProp, {
182
+ root: (0, _clsx.default)(classesProp?.root, classesFromTreeView.root),
183
+ content: (0, _clsx.default)(classesProp?.content, classesFromTreeView.itemContent),
184
+ iconContainer: (0, _clsx.default)(classesProp?.iconContainer, classesFromTreeView.itemIconContainer),
185
+ checkbox: (0, _clsx.default)(classesProp?.checkbox, classesFromTreeView.itemCheckbox),
186
+ label: (0, _clsx.default)(classesProp?.label, classesFromTreeView.itemLabel),
187
+ groupTransition: (0, _clsx.default)(classesProp?.groupTransition, classesFromTreeView.itemGroupTransition),
188
+ labelInput: (0, _clsx.default)(classesProp?.labelInput, classesFromTreeView.itemLabelInput),
189
+ dragAndDropOverlay: (0, _clsx.default)(classesProp?.dragAndDropOverlay, classesFromTreeView.itemDragAndDropOverlay),
190
+ errorIcon: (0, _clsx.default)(classesProp?.errorIcon, classesFromTreeView.itemErrorIcon),
191
+ loadingIcon: (0, _clsx.default)(classesProp?.loadingIcon, classesFromTreeView.itemLoadingIcon)
192
+ });
197
193
  const slots = {
198
194
  root: ['root'],
199
195
  content: ['content'],
200
- expanded: ['expanded'],
201
- editing: ['editing'],
202
- editable: ['editable'],
203
- selected: ['selected'],
204
- focused: ['focused'],
205
- disabled: ['disabled'],
206
196
  iconContainer: ['iconContainer'],
207
197
  checkbox: ['checkbox'],
208
198
  label: ['label'],
@@ -210,7 +200,13 @@ const useUtilityClasses = ownerState => {
210
200
  labelInput: ['labelInput'],
211
201
  dragAndDropOverlay: ['dragAndDropOverlay'],
212
202
  errorIcon: ['errorIcon'],
213
- loadingIcon: ['loadingIcon']
203
+ loadingIcon: ['loadingIcon'],
204
+ expanded: ['expanded'],
205
+ editing: ['editing'],
206
+ editable: ['editable'],
207
+ selected: ['selected'],
208
+ focused: ['focused'],
209
+ disabled: ['disabled']
214
210
  };
215
211
  return (0, _composeClasses.default)(slots, _treeItemClasses.getTreeItemUtilityClass, classes);
216
212
  };
@@ -236,7 +232,8 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
236
232
  disabled,
237
233
  children,
238
234
  slots = {},
239
- slotProps = {}
235
+ slotProps = {},
236
+ classes: classesProp
240
237
  } = props,
241
238
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
242
239
  const {
@@ -259,8 +256,7 @@ const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeI
259
256
  label,
260
257
  disabled
261
258
  });
262
- const ownerState = (0, _extends2.default)({}, props, status);
263
- const classes = useUtilityClasses(ownerState);
259
+ const classes = useUtilityClasses(classesProp);
264
260
  const Root = slots.root ?? TreeItemRoot;
265
261
  const rootProps = (0, _useSlotProps.default)({
266
262
  elementType: Root,
@@ -1,3 +1,4 @@
1
1
  export { TreeItem, TreeItemRoot, TreeItemContent, TreeItemIconContainer, TreeItemGroupTransition, TreeItemCheckbox, TreeItemLabel } from "./TreeItem.js";
2
2
  export type { TreeItemProps, TreeItemSlots, TreeItemSlotProps } from './TreeItem.types';
3
- export * from "./treeItemClasses.js";
3
+ export { getTreeItemUtilityClass, treeItemClasses } from "./treeItemClasses.js";
4
+ export type { TreeItemClassKey, TreeItemClasses } from './treeItemClasses';
package/TreeItem/index.js CHANGED
@@ -3,15 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _exportNames = {
7
- TreeItem: true,
8
- TreeItemRoot: true,
9
- TreeItemContent: true,
10
- TreeItemIconContainer: true,
11
- TreeItemGroupTransition: true,
12
- TreeItemCheckbox: true,
13
- TreeItemLabel: true
14
- };
15
6
  Object.defineProperty(exports, "TreeItem", {
16
7
  enumerable: true,
17
8
  get: function () {
@@ -54,16 +45,17 @@ Object.defineProperty(exports, "TreeItemRoot", {
54
45
  return _TreeItem.TreeItemRoot;
55
46
  }
56
47
  });
48
+ Object.defineProperty(exports, "getTreeItemUtilityClass", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _treeItemClasses.getTreeItemUtilityClass;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "treeItemClasses", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _treeItemClasses.treeItemClasses;
58
+ }
59
+ });
57
60
  var _TreeItem = require("./TreeItem");
58
- var _treeItemClasses = require("./treeItemClasses");
59
- Object.keys(_treeItemClasses).forEach(function (key) {
60
- if (key === "default" || key === "__esModule") return;
61
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
62
- if (key in exports && exports[key] === _treeItemClasses[key]) return;
63
- Object.defineProperty(exports, key, {
64
- enumerable: true,
65
- get: function () {
66
- return _treeItemClasses[key];
67
- }
68
- });
69
- });
61
+ var _treeItemClasses = require("./treeItemClasses");
@@ -1,32 +1,54 @@
1
1
  export interface TreeItemClasses {
2
2
  /** Styles applied to the root element. */
3
3
  root: string;
4
- /** Styles applied to the transition component. */
5
- groupTransition: string;
6
4
  /** Styles applied to the content element. */
7
5
  content: string;
8
- /** State class applied to the content element when expanded. */
9
- expanded: string;
10
- /** State class applied to the content element when selected. */
11
- selected: string;
12
- /** State class applied to the content element when focused. */
13
- focused: string;
14
- /** State class applied to the element when disabled. */
15
- disabled: string;
16
- /** Styles applied to the Tree Item icon. */
6
+ /** Styles applied to the transition element. */
7
+ groupTransition: string;
8
+ /** Styles applied to the icon container element. */
17
9
  iconContainer: string;
18
10
  /** Styles applied to the label element. */
19
11
  label: string;
12
+ /** Styles applied to the label input element (visible only when editing is enabled). */
13
+ labelInput: string;
20
14
  /** Styles applied to the checkbox element. */
21
15
  checkbox: string;
22
- /** Styles applied to the input element that is visible when editing is enabled. */
23
- labelInput: string;
24
- /** Styles applied to the content element when editing is enabled. */
25
- editing: string;
26
- /** Styles applied to the content of the items that are editable. */
27
- editable: string;
28
- /** Styles applied to the drag and drop overlay. */
16
+ /** Styles applied to the drag and drop overlay element. */
29
17
  dragAndDropOverlay: string;
18
+ /** Styles applied to the error icon element */
19
+ errorIcon: string;
20
+ /** Styles applied to the loading icon element */
21
+ loadingIcon: string;
22
+ /**
23
+ * State class applied to the content element when the item is expanded.
24
+ * @deprecated Use the `data-expanded` attribute instead.
25
+ */
26
+ expanded: string;
27
+ /**
28
+ * State class applied to the content element when the item is selected.
29
+ * @deprecated Use the `data-selected` attribute instead.
30
+ */
31
+ selected: string;
32
+ /**
33
+ * State class applied to the content element when the item is focused.
34
+ * @deprecated Use the `data-focused` attribute instead.
35
+ */
36
+ focused: string;
37
+ /**
38
+ * State class applied to the content element when the item is disabled.
39
+ * @deprecated Use the `data-disabled` attribute instead.
40
+ */
41
+ disabled: string;
42
+ /**
43
+ * State class applied to the content element when the item is editable.
44
+ * @deprecated Use the `data-editable` attribute instead.
45
+ */
46
+ editable: string;
47
+ /**
48
+ * State class applied to the content element when the item is being edited.
49
+ * @deprecated Use the `data-editing` attribute instead.
50
+ */
51
+ editing: string;
30
52
  }
31
53
  export type TreeItemClassKey = keyof TreeItemClasses;
32
54
  export declare function getTreeItemUtilityClass(slot: string): string;
@@ -11,4 +11,6 @@ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generat
11
11
  function getTreeItemUtilityClass(slot) {
12
12
  return (0, _generateUtilityClass.default)('MuiTreeItem', slot);
13
13
  }
14
- const treeItemClasses = exports.treeItemClasses = (0, _generateUtilityClasses.default)('MuiTreeItem', ['root', 'groupTransition', 'content', 'expanded', 'selected', 'focused', 'disabled', 'iconContainer', 'label', 'checkbox', 'labelInput', 'editable', 'editing', 'dragAndDropOverlay']);
14
+ const treeItemClasses = exports.treeItemClasses = (0, _generateUtilityClasses.default)('MuiTreeItem', ['root', 'content', 'groupTransition', 'iconContainer', 'label', 'checkbox', 'labelInput', 'dragAndDropOverlay', 'errorIcon', 'loadingIcon',
15
+ // State classes, will be replaced by data-attrs in the next major
16
+ 'expanded', 'selected', 'focused', 'disabled', 'editable', 'editing']);
@@ -18,12 +18,12 @@ const TreeItemLabelInput = exports.TreeItemLabelInput = (0, _zeroStyled.styled)(
18
18
  theme
19
19
  }) => (0, _extends2.default)({}, theme.typography.body1, {
20
20
  width: '100%',
21
- backgroundColor: theme.palette.background.paper,
21
+ backgroundColor: (theme.vars || theme).palette.background.paper,
22
22
  borderRadius: theme.shape.borderRadius,
23
23
  border: 'none',
24
24
  padding: '0 2px',
25
25
  boxSizing: 'border-box',
26
26
  '&:focus': {
27
- outline: `1px solid ${theme.palette.primary.main}`
27
+ outline: `1px solid ${(theme.vars || theme).palette.primary.main}`
28
28
  }
29
29
  }));
@@ -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']);