@mui/x-data-grid 9.0.0-alpha.3 → 9.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,128 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.0.0-alpha.4
4
+
5
+ _Mar 19, 2026_
6
+
7
+ We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:
8
+
9
+ - 🐞 Bugfixes and internal improvements
10
+
11
+ The following team members contributed to this release:
12
+ @aemartos, @alexfauquette, @bernardobelchior, @Janpot, @JCQuintas, @LukasTy, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes, @sai6855, @siriwatknp
13
+
14
+ ### Data Grid
15
+
16
+ #### `@mui/x-data-grid@9.0.0-alpha.4`
17
+
18
+ - [DataGrid] Mark charts integration as stable (#21764) @JCQuintas
19
+ - [DataGrid] Move `elementOverrides` to constants and remove duplicates (#21618) @sai6855
20
+ - [DataGrid] Migrate from deprecated Material UI APIs (#21682) @siriwatknp
21
+
22
+ #### `@mui/x-data-grid-pro@9.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
23
+
24
+ Same changes as in `@mui/x-data-grid@9.0.0-alpha.4`.
25
+
26
+ #### `@mui/x-data-grid-premium@9.0.0-alpha.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
27
+
28
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-alpha.4`.
29
+
30
+ ### Date and Time Pickers
31
+
32
+ #### `@mui/x-date-pickers@9.0.0-alpha.4`
33
+
34
+ - [pickers] Avoid stealing focus on click away (#13434) @LukasTy
35
+ - [pickers] Promote `fieldRef` to stable and add `clearValue` method (#21655) @michelengelen
36
+
37
+ #### `@mui/x-date-pickers-pro@9.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
38
+
39
+ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.4`.
40
+
41
+ ### Charts
42
+
43
+ #### `@mui/x-charts@9.0.0-alpha.4`
44
+
45
+ - [charts] Add v9 chart series types and helper functions migration (#21009) @bernardobelchior
46
+ - [charts] Extract event listener to the layer container (#21751) @alexfauquette
47
+ - [charts] Fix WebGL print export canvas stretching (#21738) @JCQuintas
48
+ - [charts] Improve deprecation warnings (#21760) @alexfauquette
49
+ - [charts] Improve type safety in `identifierCleaner` (#21719) @bernardobelchior
50
+ - [charts] Make `preferStrictDomainInLineCharts` the default (#21744) @JCQuintas
51
+ - [charts] Move title and description to the layer container (#21757) @alexfauquette
52
+ - [charts] Refactor `FunnelChart` classes structure (#21652) @JCQuintas
53
+ - [charts] Refactor `Heatmap` classes structure (#21653) @JCQuintas
54
+ - [charts] Refactor `RadarChart` classes structure (#21650) @JCQuintas
55
+ - [charts] Refactor `SankeyChart` classes structure (#21654) @JCQuintas
56
+ - [charts] Refactor legend getters to use utility functions (#21628) @sai6855
57
+ - [charts] Remove deprecated `ChartContainer` and `ChartDataProvider` (#21777) @alexfauquette
58
+ - [charts] Remove deprecated `itemId` from `SeriesLegendItemContext` (#21788) @alexfauquette
59
+ - [charts] Remove deprecated `useMouseTracker()` (#21787) @alexfauquette
60
+ - [charts] Remove deprecated classes (#21775) @alexfauquette
61
+ - [charts] Remove deprecated props from PieArcLabel animation (#21789) @alexfauquette
62
+ - [charts] Remove get*UtilityClass from public exports (#21769) @JCQuintas
63
+ - [charts] Remove the deprecated `disableHover` property (#21785) @alexfauquette
64
+ - [charts] Remove the deprecated `message` prop (#21784) @alexfauquette
65
+ - [charts] Remove deprecated props about voronoi (#21796) @alexfauquette
66
+ - [charts] Remove deprecated pieArcClasses (#21795) @alexfauquette
67
+ - [charts] Rename `data-series-id` by `data-series` (#21761) @alexfauquette
68
+ - [charts] Rename `voronoiMaxRadius`/`disableVoronoi` to `hitAreaRadius`/`disableHitArea` (#21750) @bernardobelchior
69
+ - [charts] Update pt-PT locale (#21296) @bernardobelchior
70
+ - [charts] Use different shape per series by default (#21713) @alexfauquette
71
+ - [charts] Add className prop to Radar components (#21794) @JCQuintas
72
+ - [charts] Add className prop to shared chart components (#21792) @JCQuintas
73
+ - [charts] Add className prop to BarPlot (#21791) @JCQuintas
74
+ - [charts] Portal tooltip into ChartsLayerContainer (#21801) @JCQuintas
75
+
76
+ #### `@mui/x-charts-pro@9.0.0-alpha.4` [![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-charts@9.0.0-alpha.4`, plus:
79
+
80
+ - [charts-pro] Allow `brush` interaction to accept `requiredKeys/pointerMode` (#21716) @JCQuintas
81
+ - [charts-pro] Remove deprecated `onAxisClick` for Heatmap (#21786) @alexfauquette
82
+
83
+ #### `@mui/x-charts-premium@9.0.0-alpha.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
84
+
85
+ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.4`, plus:
86
+
87
+ - [charts-premium] Add candlestick chart (#21129) @bernardobelchior
88
+
89
+ ### Tree View
90
+
91
+ #### `@mui/x-tree-view@9.0.0-alpha.4`
92
+
93
+ Internal changes.
94
+
95
+ #### `@mui/x-tree-view-pro@9.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
96
+
97
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.4`.
98
+
99
+ ### Codemod
100
+
101
+ #### `@mui/x-codemod@9.0.0-alpha.4`
102
+
103
+ Internal changes.
104
+
105
+ ### Docs
106
+
107
+ - [docs-infra] Exclude `ServerSideLazyLoadingRevalidation` from argos (#21734) @sai6855
108
+ - [docs] Update charts v9 migration guide to include premium package (#21743) @bernardobelchior
109
+ - [docs] Update v9 migration guides to install next tag (#21741) @bernardobelchior
110
+ - [docs] Revise the Pie chart docs (#21565) @mapache-salvaje
111
+ - [docs] Revise the Bar Chart docs (#21482) @mapache-salvaje
112
+ - [docs] Removed a `console.log` from an aggregation demo (#21698) @michelengelen
113
+
114
+ ### Core
115
+
116
+ - [code-infra] Add pkg-pr-new as dev dependency (#21754) @Janpot
117
+ - [code-infra] Prevent `combiner` to have default parameters (#21707) @JCQuintas
118
+ - [code-infra] Remove CI coverage collection and upload to Codecov (#21671) @Janpot
119
+ - [internal] Remove @bernardobelchior from Charts CODEOWNERS (#21776) @Copilot
120
+
121
+ ### Miscellaneous
122
+
123
+ - [x-license] Fix process.env.MUI_VERSION not being replaced during build (#21727) @aemartos
124
+ - [x-license] Add new watermark license status message (#21720) @aemartos
125
+
3
126
  ## 9.0.0-alpha.3
4
127
 
5
128
  _Mar 12, 2026_
@@ -22,17 +22,13 @@ const separatorIconDragStyles = {
22
22
  // https://github.com/emotion-js/emotion/issues/1105#issuecomment-1722524968
23
23
  const ignoreSsrWarning = '/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */';
24
24
  const shouldShowBorderTopRightRadiusSelector = apiRef => !apiRef.current.state.dimensions.isReady ? apiRef.current.state.dimensions.scrollbarSize === 0 : apiRef.current.state.dimensions.hasScrollX && (!apiRef.current.state.dimensions.hasScrollY || apiRef.current.state.dimensions.scrollbarSize === 0);
25
- const elementOverrides = {
26
- root: ['autoHeight', 'autosizing', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'withVerticalBorder'],
27
- children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded', 'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
28
- };
29
25
  const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
30
26
  name: 'MuiDataGrid',
31
27
  slot: 'Root',
32
28
  overridesResolver: (props, styles) => {
33
29
  // Root overrides
34
30
  const overrides = [styles.root];
35
- elementOverrides.root.forEach(key => {
31
+ _gridClasses.gridClassesOverrides.root.forEach(key => {
36
32
  overrides.push({
37
33
  [`&.${_gridClasses.gridClasses[key]}`]: styles[key]
38
34
  });
@@ -41,7 +37,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
41
37
  // Child element overrides
42
38
  // - Only declare overrides here for class names that are not applied to `styled` components.
43
39
  // - For `styled` components, declare overrides in the component itself.
44
- elementOverrides.children.forEach(key => {
40
+ _gridClasses.gridClassesOverrides.children.forEach(key => {
45
41
  overrides.push({
46
42
  [`& .${_gridClasses.gridClasses[key]}`]: styles[key]
47
43
  });
@@ -1,5 +1,5 @@
1
1
  import { styled } from '@mui/material/styles';
2
- import { gridClasses as c } from "../../constants/gridClasses.mjs";
2
+ import { gridClasses as c, gridClassesOverrides } from "../../constants/gridClasses.mjs";
3
3
  import { vars } from "../../constants/cssVariables.mjs";
4
4
  import { useGridSelector } from "../../hooks/utils/useGridSelector.mjs";
5
5
  import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.mjs";
@@ -16,17 +16,13 @@ const separatorIconDragStyles = {
16
16
  // https://github.com/emotion-js/emotion/issues/1105#issuecomment-1722524968
17
17
  const ignoreSsrWarning = '/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */';
18
18
  const shouldShowBorderTopRightRadiusSelector = apiRef => !apiRef.current.state.dimensions.isReady ? apiRef.current.state.dimensions.scrollbarSize === 0 : apiRef.current.state.dimensions.hasScrollX && (!apiRef.current.state.dimensions.hasScrollY || apiRef.current.state.dimensions.scrollbarSize === 0);
19
- const elementOverrides = {
20
- root: ['autoHeight', 'autosizing', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'withVerticalBorder'],
21
- children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded', 'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
22
- };
23
19
  export const GridRootStyles = styled('div', {
24
20
  name: 'MuiDataGrid',
25
21
  slot: 'Root',
26
22
  overridesResolver: (props, styles) => {
27
23
  // Root overrides
28
24
  const overrides = [styles.root];
29
- elementOverrides.root.forEach(key => {
25
+ gridClassesOverrides.root.forEach(key => {
30
26
  overrides.push({
31
27
  [`&.${c[key]}`]: styles[key]
32
28
  });
@@ -35,7 +31,7 @@ export const GridRootStyles = styled('div', {
35
31
  // Child element overrides
36
32
  // - Only declare overrides here for class names that are not applied to `styled` components.
37
33
  // - For `styled` components, declare overrides in the component itself.
38
- elementOverrides.children.forEach(key => {
34
+ gridClassesOverrides.children.forEach(key => {
39
35
  overrides.push({
40
36
  [`& .${c[key]}`]: styles[key]
41
37
  });
@@ -960,4 +960,20 @@ export interface GridClasses {
960
960
  }
961
961
  export type GridClassKey = keyof GridClasses;
962
962
  export declare function getDataGridUtilityClass(slot: string): string;
963
+ /**
964
+ * Class groups for the MuiDataGrid component used in GridRootStyles overridesResolver.
965
+ *
966
+ * Splits classes into two groups to support style overrides:
967
+ * - `root`: classes applied directly to the root element (use `&.className` selector)
968
+ * - `children`: classes applied to child elements (use `& .className` selector)
969
+ *
970
+ * These are spread into the gridClasses utility object and used for CSS-in-JS overrides.
971
+ *
972
+ * Only include class names here that are NOT applied via `styled` components.
973
+ * For `styled` components, declare overrides directly in the component definition.
974
+ */
975
+ export declare const gridClassesOverrides: {
976
+ readonly root: ["autoHeight", "autosizing", "root--densityStandard", "root--densityComfortable", "root--densityCompact", "root--disableUserSelection", "root--noToolbar", "withVerticalBorder"];
977
+ readonly children: ["actionsCell", "booleanCell", "cell", "cell--editable", "cell--editing", "cell--flex", "cell--pinnedLeft", "cell--pinnedRight", "cell--rangeBottom", "cell--rangeLeft", "cell--rangeRight", "cell--rangeTop", "cell--selectionMode", "cell--textCenter", "cell--textLeft", "cell--textRight", "cell--withLeftBorder", "cell--withRightBorder", "cellCheckbox", "cellEmpty", "cellOffsetLeft", "cellSkeleton", "checkboxInput", "columnHeader", "columnHeader--alignCenter", "columnHeader--alignLeft", "columnHeader--alignRight", "columnHeader--dragging", "columnHeader--emptyGroup", "columnHeader--filledGroup", "columnHeader--filtered", "columnHeader--last", "columnHeader--moving", "columnHeader--numeric", "columnHeader--pinnedLeft", "columnHeader--pinnedRight", "columnHeader--siblingFocused", "columnHeader--sortable", "columnHeader--sorted", "columnHeader--withLeftBorder", "columnHeader--withRightBorder", "columnHeaderCheckbox", "columnHeaderDraggableContainer", "columnHeaderTitleContainer", "columnHeaderTitleContainerContent", "columnSeparator", "columnSeparator--resizable", "columnSeparator--resizing", "columnSeparator--sideLeft", "columnSeparator--sideRight", "container--bottom", "container--top", "detailPanelToggleCell", "detailPanelToggleCell--expanded", "editBooleanCell", "filterIcon", "filler--borderBottom", "filler--pinnedLeft", "filler--pinnedRight", "groupingCriteriaCell", "groupingCriteriaCellLoadingContainer", "groupingCriteriaCellToggle", "headerFilterRow", "iconSeparator", "menuIcon", "menuIconButton", "menuList", "menuOpen", "overlayWrapperInner", "pinnedRows", "pinnedRows--bottom", "pinnedRows--top", "row", "row--borderBottom", "row--detailPanelExpanded", "row--dragging", "row--dynamicHeight", "row--editable", "row--editing", "row--firstVisible", "row--lastVisible", "rowReorderCell", "rowReorderCell--draggable", "rowReorderCellContainer", "rowReorderCellPlaceholder", "rowSkeleton", "scrollbar", "scrollbar--horizontal", "scrollbar--vertical", "scrollbarFiller", "scrollbarFiller--pinnedRight", "sortIcon", "treeDataGroupingCell", "treeDataGroupingCellLoadingContainer", "treeDataGroupingCellToggle", "withBorderColor", "row--beingDragged"];
978
+ };
963
979
  export declare const gridClasses: Record<keyof GridClasses, string>;
@@ -960,4 +960,20 @@ export interface GridClasses {
960
960
  }
961
961
  export type GridClassKey = keyof GridClasses;
962
962
  export declare function getDataGridUtilityClass(slot: string): string;
963
+ /**
964
+ * Class groups for the MuiDataGrid component used in GridRootStyles overridesResolver.
965
+ *
966
+ * Splits classes into two groups to support style overrides:
967
+ * - `root`: classes applied directly to the root element (use `&.className` selector)
968
+ * - `children`: classes applied to child elements (use `& .className` selector)
969
+ *
970
+ * These are spread into the gridClasses utility object and used for CSS-in-JS overrides.
971
+ *
972
+ * Only include class names here that are NOT applied via `styled` components.
973
+ * For `styled` components, declare overrides directly in the component definition.
974
+ */
975
+ export declare const gridClassesOverrides: {
976
+ readonly root: ["autoHeight", "autosizing", "root--densityStandard", "root--densityComfortable", "root--densityCompact", "root--disableUserSelection", "root--noToolbar", "withVerticalBorder"];
977
+ readonly children: ["actionsCell", "booleanCell", "cell", "cell--editable", "cell--editing", "cell--flex", "cell--pinnedLeft", "cell--pinnedRight", "cell--rangeBottom", "cell--rangeLeft", "cell--rangeRight", "cell--rangeTop", "cell--selectionMode", "cell--textCenter", "cell--textLeft", "cell--textRight", "cell--withLeftBorder", "cell--withRightBorder", "cellCheckbox", "cellEmpty", "cellOffsetLeft", "cellSkeleton", "checkboxInput", "columnHeader", "columnHeader--alignCenter", "columnHeader--alignLeft", "columnHeader--alignRight", "columnHeader--dragging", "columnHeader--emptyGroup", "columnHeader--filledGroup", "columnHeader--filtered", "columnHeader--last", "columnHeader--moving", "columnHeader--numeric", "columnHeader--pinnedLeft", "columnHeader--pinnedRight", "columnHeader--siblingFocused", "columnHeader--sortable", "columnHeader--sorted", "columnHeader--withLeftBorder", "columnHeader--withRightBorder", "columnHeaderCheckbox", "columnHeaderDraggableContainer", "columnHeaderTitleContainer", "columnHeaderTitleContainerContent", "columnSeparator", "columnSeparator--resizable", "columnSeparator--resizing", "columnSeparator--sideLeft", "columnSeparator--sideRight", "container--bottom", "container--top", "detailPanelToggleCell", "detailPanelToggleCell--expanded", "editBooleanCell", "filterIcon", "filler--borderBottom", "filler--pinnedLeft", "filler--pinnedRight", "groupingCriteriaCell", "groupingCriteriaCellLoadingContainer", "groupingCriteriaCellToggle", "headerFilterRow", "iconSeparator", "menuIcon", "menuIconButton", "menuList", "menuOpen", "overlayWrapperInner", "pinnedRows", "pinnedRows--bottom", "pinnedRows--top", "row", "row--borderBottom", "row--detailPanelExpanded", "row--dragging", "row--dynamicHeight", "row--editable", "row--editing", "row--firstVisible", "row--lastVisible", "rowReorderCell", "rowReorderCell--draggable", "rowReorderCellContainer", "rowReorderCellPlaceholder", "rowSkeleton", "scrollbar", "scrollbar--horizontal", "scrollbar--vertical", "scrollbarFiller", "scrollbarFiller--pinnedRight", "sortIcon", "treeDataGroupingCell", "treeDataGroupingCellLoadingContainer", "treeDataGroupingCellToggle", "withBorderColor", "row--beingDragged"];
978
+ };
963
979
  export declare const gridClasses: Record<keyof GridClasses, string>;
@@ -5,12 +5,29 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getDataGridUtilityClass = getDataGridUtilityClass;
8
- exports.gridClasses = void 0;
8
+ exports.gridClassesOverrides = exports.gridClasses = void 0;
9
9
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
10
10
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
11
11
  function getDataGridUtilityClass(slot) {
12
12
  return (0, _generateUtilityClass.default)('MuiDataGrid', slot);
13
13
  }
14
- const gridClasses = exports.gridClasses = (0, _generateUtilityClasses.default)('MuiDataGrid', ['aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'autoHeight', 'autosizing', 'mainContent', 'withSidePanel', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--siblingFocused', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'container--top', 'container--bottom', 'detailPanel', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible',
15
- // TODO v9: Rename to `cell--dragging`
16
- 'row--dragging', 'row--beingDragged', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderIcon', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'sortIcon', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
14
+
15
+ /**
16
+ * Class groups for the MuiDataGrid component used in GridRootStyles overridesResolver.
17
+ *
18
+ * Splits classes into two groups to support style overrides:
19
+ * - `root`: classes applied directly to the root element (use `&.className` selector)
20
+ * - `children`: classes applied to child elements (use `& .className` selector)
21
+ *
22
+ * These are spread into the gridClasses utility object and used for CSS-in-JS overrides.
23
+ *
24
+ * Only include class names here that are NOT applied via `styled` components.
25
+ * For `styled` components, declare overrides directly in the component definition.
26
+ */
27
+ const gridClassesOverrides = exports.gridClassesOverrides = {
28
+ root: ['autoHeight', 'autosizing', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'withVerticalBorder'],
29
+ children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded',
30
+ // TODO v9: Rename to `cell--dragging`
31
+ 'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
32
+ };
33
+ const gridClasses = exports.gridClasses = (0, _generateUtilityClasses.default)('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
@@ -3,6 +3,23 @@ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
3
  export function getDataGridUtilityClass(slot) {
4
4
  return generateUtilityClass('MuiDataGrid', slot);
5
5
  }
6
- export const gridClasses = generateUtilityClasses('MuiDataGrid', ['aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'autoHeight', 'autosizing', 'mainContent', 'withSidePanel', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--siblingFocused', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'container--top', 'container--bottom', 'detailPanel', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible',
7
- // TODO v9: Rename to `cell--dragging`
8
- 'row--dragging', 'row--beingDragged', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderIcon', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'sortIcon', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
6
+
7
+ /**
8
+ * Class groups for the MuiDataGrid component used in GridRootStyles overridesResolver.
9
+ *
10
+ * Splits classes into two groups to support style overrides:
11
+ * - `root`: classes applied directly to the root element (use `&.className` selector)
12
+ * - `children`: classes applied to child elements (use `& .className` selector)
13
+ *
14
+ * These are spread into the gridClasses utility object and used for CSS-in-JS overrides.
15
+ *
16
+ * Only include class names here that are NOT applied via `styled` components.
17
+ * For `styled` components, declare overrides directly in the component definition.
18
+ */
19
+ export const gridClassesOverrides = {
20
+ root: ['autoHeight', 'autosizing', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'withVerticalBorder'],
21
+ children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded',
22
+ // TODO v9: Rename to `cell--dragging`
23
+ 'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
24
+ };
25
+ export const gridClasses = generateUtilityClasses('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
@@ -1,4 +1,4 @@
1
1
  export * from "./envConstants.mjs";
2
2
  export * from "./localeTextConstants.mjs";
3
- export * from "./gridClasses.mjs";
3
+ export { type GridClassKey, type GridClasses, getDataGridUtilityClass, gridClasses } from "./gridClasses.mjs";
4
4
  export * from "./signature.mjs";
@@ -1,4 +1,4 @@
1
1
  export * from "./envConstants.js";
2
2
  export * from "./localeTextConstants.js";
3
- export * from "./gridClasses.js";
3
+ export { type GridClassKey, type GridClasses, getDataGridUtilityClass, gridClasses } from "./gridClasses.js";
4
4
  export * from "./signature.js";
@@ -3,9 +3,26 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ getDataGridUtilityClass: true,
8
+ gridClasses: true
9
+ };
10
+ Object.defineProperty(exports, "getDataGridUtilityClass", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _gridClasses.getDataGridUtilityClass;
14
+ }
15
+ });
16
+ Object.defineProperty(exports, "gridClasses", {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _gridClasses.gridClasses;
20
+ }
21
+ });
6
22
  var _envConstants = require("./envConstants");
7
23
  Object.keys(_envConstants).forEach(function (key) {
8
24
  if (key === "default" || key === "__esModule") return;
25
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
9
26
  if (key in exports && exports[key] === _envConstants[key]) return;
10
27
  Object.defineProperty(exports, key, {
11
28
  enumerable: true,
@@ -17,6 +34,7 @@ Object.keys(_envConstants).forEach(function (key) {
17
34
  var _localeTextConstants = require("./localeTextConstants");
18
35
  Object.keys(_localeTextConstants).forEach(function (key) {
19
36
  if (key === "default" || key === "__esModule") return;
37
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
38
  if (key in exports && exports[key] === _localeTextConstants[key]) return;
21
39
  Object.defineProperty(exports, key, {
22
40
  enumerable: true,
@@ -26,19 +44,10 @@ Object.keys(_localeTextConstants).forEach(function (key) {
26
44
  });
27
45
  });
28
46
  var _gridClasses = require("./gridClasses");
29
- Object.keys(_gridClasses).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _gridClasses[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _gridClasses[key];
36
- }
37
- });
38
- });
39
47
  var _signature = require("./signature");
40
48
  Object.keys(_signature).forEach(function (key) {
41
49
  if (key === "default" || key === "__esModule") return;
50
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
42
51
  if (key in exports && exports[key] === _signature[key]) return;
43
52
  Object.defineProperty(exports, key, {
44
53
  enumerable: true,
@@ -1,4 +1,4 @@
1
1
  export * from "./envConstants.mjs";
2
2
  export * from "./localeTextConstants.mjs";
3
- export * from "./gridClasses.mjs";
3
+ export { getDataGridUtilityClass, gridClasses } from "./gridClasses.mjs";
4
4
  export * from "./signature.mjs";
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v9.0.0-alpha.3
2
+ * @mui/x-data-grid v9.0.0-alpha.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v9.0.0-alpha.3
2
+ * @mui/x-data-grid v9.0.0-alpha.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/material/index.js CHANGED
@@ -81,12 +81,14 @@ const _excluded = ["id", "label", "labelId", "material", "disabled", "slotProps"
81
81
  _excluded16 = ["id", "multiple", "freeSolo", "options", "getOptionLabel", "isOptionEqualToValue", "value", "onChange", "label", "placeholder", "slotProps", "material"],
82
82
  _excluded17 = ["key"],
83
83
  _excluded18 = ["inputProps", "InputProps", "InputLabelProps"],
84
- _excluded19 = ["slotProps", "material"],
85
- _excluded20 = ["material"],
86
- _excluded21 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
87
- _excluded22 = ["native"],
88
- _excluded23 = ["children", "value", "active"],
89
- _excluded24 = ["items", "value", "material"];
84
+ _excluded19 = ["slotProps"],
85
+ _excluded20 = ["slotProps"],
86
+ _excluded21 = ["slotProps", "material"],
87
+ _excluded22 = ["material"],
88
+ _excluded23 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
89
+ _excluded24 = ["native"],
90
+ _excluded25 = ["children", "value", "active"],
91
+ _excluded26 = ["items", "value", "material"];
90
92
  /* eslint-disable mui/disallow-react-api-in-server-components */
91
93
 
92
94
  const InputAdornment = (0, _styles.styled)(_InputAdornment.default, {
@@ -168,8 +170,10 @@ const BaseSelect = (0, _forwardRef.forwardRef)(function BaseSelect(props, ref) {
168
170
  const computedSize = size ?? textFieldDefaults.size;
169
171
  const computedVariant = textFieldDefaults.variant ?? 'outlined';
170
172
  const menuProps = {
171
- PaperProps: {
172
- onKeyDown
173
+ slotProps: {
174
+ paper: {
175
+ onKeyDown
176
+ }
173
177
  }
174
178
  };
175
179
  if (onClose) {
@@ -299,7 +303,9 @@ const BaseCheckbox = (0, _forwardRef.forwardRef)(function BaseCheckbox(props, re
299
303
  if (!label) {
300
304
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, other, material, {
301
305
  className: (0, _clsx.default)(className, material?.className),
302
- inputProps: slotProps?.htmlInput,
306
+ slotProps: {
307
+ input: slotProps?.htmlInput
308
+ },
303
309
  ref: handleRef,
304
310
  touchRippleRef: rippleRef
305
311
  }));
@@ -307,7 +313,9 @@ const BaseCheckbox = (0, _forwardRef.forwardRef)(function BaseCheckbox(props, re
307
313
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(FormControlLabel, {
308
314
  className: className,
309
315
  control: /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, other, material, {
310
- inputProps: slotProps?.htmlInput,
316
+ slotProps: {
317
+ input: slotProps?.htmlInput
318
+ },
311
319
  ref: handleRef,
312
320
  touchRippleRef: rippleRef
313
321
  })),
@@ -470,8 +478,6 @@ function BaseMenuItem(props) {
470
478
  }, "3")]);
471
479
  }
472
480
  function BaseTextField(props) {
473
- // MaterialUI v5 doesn't support slotProps, until we drop v5 support we need to
474
- // translate the pattern.
475
481
  const {
476
482
  slotProps,
477
483
  material
@@ -485,11 +491,13 @@ function BaseTextField(props) {
485
491
  variant: computedVariant,
486
492
  size: computedSize
487
493
  }, other, material, {
488
- inputProps: slotProps?.htmlInput,
489
- InputProps: transformInputProps(slotProps?.input),
490
- InputLabelProps: (0, _extends2.default)({
491
- shrink: true
492
- }, slotProps?.inputLabel)
494
+ slotProps: {
495
+ htmlInput: slotProps?.htmlInput,
496
+ input: transformInputProps(slotProps?.input),
497
+ inputLabel: (0, _extends2.default)({
498
+ shrink: true
499
+ }, slotProps?.inputLabel)
500
+ }
493
501
  }));
494
502
  }
495
503
  function BaseAutocomplete(props) {
@@ -518,7 +526,7 @@ function BaseAutocomplete(props) {
518
526
  isOptionEqualToValue: isOptionEqualToValue,
519
527
  value: value,
520
528
  onChange: onChange,
521
- renderTags: (currentValue, getTagProps) => currentValue.map((option, index) => {
529
+ renderValue: (currentValue, getTagProps) => currentValue.map((option, index) => {
522
530
  const _getTagProps = getTagProps({
523
531
  index
524
532
  }),
@@ -534,20 +542,33 @@ function BaseAutocomplete(props) {
534
542
  }),
535
543
  renderInput: params => {
536
544
  const {
537
- inputProps,
545
+ inputProps: htmlInputProps,
538
546
  InputProps,
539
547
  InputLabelProps
540
548
  } = params,
541
549
  inputRest = (0, _objectWithoutPropertiesLoose2.default)(params, _excluded18);
550
+ const _ref = slotProps?.textField ?? {},
551
+ {
552
+ slotProps: textFieldSlotProps
553
+ } = _ref,
554
+ textFieldRest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded19);
555
+ const _ref2 = rootProps.slotProps?.baseTextField ?? {},
556
+ {
557
+ slotProps: baseTextFieldSlotProps
558
+ } = _ref2,
559
+ baseTextFieldRest = (0, _objectWithoutPropertiesLoose2.default)(_ref2, _excluded20);
542
560
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, (0, _extends2.default)({}, inputRest, {
543
561
  label: label,
544
- placeholder: placeholder,
545
- inputProps: inputProps,
546
- InputProps: transformInputProps(InputProps, false),
547
- InputLabelProps: (0, _extends2.default)({
548
- shrink: true
549
- }, InputLabelProps)
550
- }, slotProps?.textField, rootProps.slotProps?.baseTextField));
562
+ placeholder: placeholder
563
+ }, textFieldRest, baseTextFieldRest, {
564
+ slotProps: {
565
+ htmlInput: (0, _extends2.default)({}, htmlInputProps, textFieldSlotProps?.htmlInput, baseTextFieldSlotProps?.htmlInput),
566
+ input: (0, _extends2.default)({}, transformInputProps(InputProps, false), textFieldSlotProps?.input, baseTextFieldSlotProps?.input),
567
+ inputLabel: (0, _extends2.default)({
568
+ shrink: true
569
+ }, InputLabelProps, textFieldSlotProps?.inputLabel, baseTextFieldSlotProps?.inputLabel)
570
+ }
571
+ }));
551
572
  }
552
573
  }, other, material));
553
574
  }
@@ -562,7 +583,7 @@ function transformInputProps(props, wrapAdornments = true) {
562
583
  slotProps,
563
584
  material
564
585
  } = props,
565
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded19);
586
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded21);
566
587
  const result = other;
567
588
  if (wrapAdornments) {
568
589
  if (result.startAdornment) {
@@ -596,7 +617,7 @@ const BaseTextarea = (0, _forwardRef.forwardRef)(function BaseTextarea(props, re
596
617
  const {
597
618
  material
598
619
  } = props,
599
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded20);
620
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded22);
600
621
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextareaAutosize.default, (0, _extends2.default)({}, other, material, {
601
622
  ref: ref
602
623
  }));
@@ -621,7 +642,7 @@ function BasePopper(props) {
621
642
  placement,
622
643
  material
623
644
  } = props,
624
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded21);
645
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded23);
625
646
  const modifiers = React.useMemo(() => {
626
647
  const result = [{
627
648
  name: 'preventOverflow',
@@ -712,11 +733,11 @@ function focusTrapWrapper(props, content) {
712
733
  })
713
734
  });
714
735
  }
715
- function BaseSelectOption(_ref) {
736
+ function BaseSelectOption(_ref3) {
716
737
  let {
717
738
  native
718
- } = _ref,
719
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded22);
739
+ } = _ref3,
740
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref3, _excluded24);
720
741
  if (native) {
721
742
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("option", (0, _extends2.default)({}, props));
722
743
  }
@@ -751,7 +772,7 @@ function TabPanel(props) {
751
772
  children,
752
773
  active
753
774
  } = props,
754
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded23);
775
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded25);
755
776
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledTabPanel, (0, _extends2.default)({
756
777
  role: "tabpanel",
757
778
  style: {
@@ -761,13 +782,13 @@ function TabPanel(props) {
761
782
  children: children
762
783
  }));
763
784
  }
764
- function BaseTabs(_ref2) {
785
+ function BaseTabs(_ref4) {
765
786
  let {
766
787
  items,
767
788
  value,
768
789
  material
769
- } = _ref2,
770
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref2, _excluded24);
790
+ } = _ref4,
791
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref4, _excluded26);
771
792
  const id = (0, _useId.default)();
772
793
  const labelId = `${id}-tab-${value}`;
773
794
  const panelId = `${id}-tabpanel-${value}`;
@@ -20,12 +20,14 @@ const _excluded = ["id", "label", "labelId", "material", "disabled", "slotProps"
20
20
  _excluded16 = ["id", "multiple", "freeSolo", "options", "getOptionLabel", "isOptionEqualToValue", "value", "onChange", "label", "placeholder", "slotProps", "material"],
21
21
  _excluded17 = ["key"],
22
22
  _excluded18 = ["inputProps", "InputProps", "InputLabelProps"],
23
- _excluded19 = ["slotProps", "material"],
24
- _excluded20 = ["material"],
25
- _excluded21 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
26
- _excluded22 = ["native"],
27
- _excluded23 = ["children", "value", "active"],
28
- _excluded24 = ["items", "value", "material"];
23
+ _excluded19 = ["slotProps"],
24
+ _excluded20 = ["slotProps"],
25
+ _excluded21 = ["slotProps", "material"],
26
+ _excluded22 = ["material"],
27
+ _excluded23 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
28
+ _excluded24 = ["native"],
29
+ _excluded25 = ["children", "value", "active"],
30
+ _excluded26 = ["items", "value", "material"];
29
31
  import * as React from 'react';
30
32
  import clsx from 'clsx';
31
33
  import useForkRef from '@mui/utils/useForkRef';
@@ -155,8 +157,10 @@ const BaseSelect = forwardRef(function BaseSelect(props, ref) {
155
157
  const computedSize = size ?? textFieldDefaults.size;
156
158
  const computedVariant = textFieldDefaults.variant ?? 'outlined';
157
159
  const menuProps = {
158
- PaperProps: {
159
- onKeyDown
160
+ slotProps: {
161
+ paper: {
162
+ onKeyDown
163
+ }
160
164
  }
161
165
  };
162
166
  if (onClose) {
@@ -286,7 +290,9 @@ const BaseCheckbox = forwardRef(function BaseCheckbox(props, ref) {
286
290
  if (!label) {
287
291
  return /*#__PURE__*/_jsx(Checkbox, _extends({}, other, material, {
288
292
  className: clsx(className, material?.className),
289
- inputProps: slotProps?.htmlInput,
293
+ slotProps: {
294
+ input: slotProps?.htmlInput
295
+ },
290
296
  ref: handleRef,
291
297
  touchRippleRef: rippleRef
292
298
  }));
@@ -294,7 +300,9 @@ const BaseCheckbox = forwardRef(function BaseCheckbox(props, ref) {
294
300
  return /*#__PURE__*/_jsx(FormControlLabel, {
295
301
  className: className,
296
302
  control: /*#__PURE__*/_jsx(Checkbox, _extends({}, other, material, {
297
- inputProps: slotProps?.htmlInput,
303
+ slotProps: {
304
+ input: slotProps?.htmlInput
305
+ },
298
306
  ref: handleRef,
299
307
  touchRippleRef: rippleRef
300
308
  })),
@@ -457,8 +465,6 @@ function BaseMenuItem(props) {
457
465
  }, "3")]);
458
466
  }
459
467
  function BaseTextField(props) {
460
- // MaterialUI v5 doesn't support slotProps, until we drop v5 support we need to
461
- // translate the pattern.
462
468
  const {
463
469
  slotProps,
464
470
  material
@@ -472,11 +478,13 @@ function BaseTextField(props) {
472
478
  variant: computedVariant,
473
479
  size: computedSize
474
480
  }, other, material, {
475
- inputProps: slotProps?.htmlInput,
476
- InputProps: transformInputProps(slotProps?.input),
477
- InputLabelProps: _extends({
478
- shrink: true
479
- }, slotProps?.inputLabel)
481
+ slotProps: {
482
+ htmlInput: slotProps?.htmlInput,
483
+ input: transformInputProps(slotProps?.input),
484
+ inputLabel: _extends({
485
+ shrink: true
486
+ }, slotProps?.inputLabel)
487
+ }
480
488
  }));
481
489
  }
482
490
  function BaseAutocomplete(props) {
@@ -505,7 +513,7 @@ function BaseAutocomplete(props) {
505
513
  isOptionEqualToValue: isOptionEqualToValue,
506
514
  value: value,
507
515
  onChange: onChange,
508
- renderTags: (currentValue, getTagProps) => currentValue.map((option, index) => {
516
+ renderValue: (currentValue, getTagProps) => currentValue.map((option, index) => {
509
517
  const _getTagProps = getTagProps({
510
518
  index
511
519
  }),
@@ -521,20 +529,33 @@ function BaseAutocomplete(props) {
521
529
  }),
522
530
  renderInput: params => {
523
531
  const {
524
- inputProps,
532
+ inputProps: htmlInputProps,
525
533
  InputProps,
526
534
  InputLabelProps
527
535
  } = params,
528
536
  inputRest = _objectWithoutPropertiesLoose(params, _excluded18);
537
+ const _ref = slotProps?.textField ?? {},
538
+ {
539
+ slotProps: textFieldSlotProps
540
+ } = _ref,
541
+ textFieldRest = _objectWithoutPropertiesLoose(_ref, _excluded19);
542
+ const _ref2 = rootProps.slotProps?.baseTextField ?? {},
543
+ {
544
+ slotProps: baseTextFieldSlotProps
545
+ } = _ref2,
546
+ baseTextFieldRest = _objectWithoutPropertiesLoose(_ref2, _excluded20);
529
547
  return /*#__PURE__*/_jsx(MUITextField, _extends({}, inputRest, {
530
548
  label: label,
531
- placeholder: placeholder,
532
- inputProps: inputProps,
533
- InputProps: transformInputProps(InputProps, false),
534
- InputLabelProps: _extends({
535
- shrink: true
536
- }, InputLabelProps)
537
- }, slotProps?.textField, rootProps.slotProps?.baseTextField));
549
+ placeholder: placeholder
550
+ }, textFieldRest, baseTextFieldRest, {
551
+ slotProps: {
552
+ htmlInput: _extends({}, htmlInputProps, textFieldSlotProps?.htmlInput, baseTextFieldSlotProps?.htmlInput),
553
+ input: _extends({}, transformInputProps(InputProps, false), textFieldSlotProps?.input, baseTextFieldSlotProps?.input),
554
+ inputLabel: _extends({
555
+ shrink: true
556
+ }, InputLabelProps, textFieldSlotProps?.inputLabel, baseTextFieldSlotProps?.inputLabel)
557
+ }
558
+ }));
538
559
  }
539
560
  }, other, material));
540
561
  }
@@ -549,7 +570,7 @@ function transformInputProps(props, wrapAdornments = true) {
549
570
  slotProps,
550
571
  material
551
572
  } = props,
552
- other = _objectWithoutPropertiesLoose(props, _excluded19);
573
+ other = _objectWithoutPropertiesLoose(props, _excluded21);
553
574
  const result = other;
554
575
  if (wrapAdornments) {
555
576
  if (result.startAdornment) {
@@ -583,7 +604,7 @@ const BaseTextarea = forwardRef(function BaseTextarea(props, ref) {
583
604
  const {
584
605
  material
585
606
  } = props,
586
- other = _objectWithoutPropertiesLoose(props, _excluded20);
607
+ other = _objectWithoutPropertiesLoose(props, _excluded22);
587
608
  return /*#__PURE__*/_jsx(MUITextareaAutosize, _extends({}, other, material, {
588
609
  ref: ref
589
610
  }));
@@ -608,7 +629,7 @@ function BasePopper(props) {
608
629
  placement,
609
630
  material
610
631
  } = props,
611
- other = _objectWithoutPropertiesLoose(props, _excluded21);
632
+ other = _objectWithoutPropertiesLoose(props, _excluded23);
612
633
  const modifiers = React.useMemo(() => {
613
634
  const result = [{
614
635
  name: 'preventOverflow',
@@ -699,11 +720,11 @@ function focusTrapWrapper(props, content) {
699
720
  })
700
721
  });
701
722
  }
702
- function BaseSelectOption(_ref) {
723
+ function BaseSelectOption(_ref3) {
703
724
  let {
704
725
  native
705
- } = _ref,
706
- props = _objectWithoutPropertiesLoose(_ref, _excluded22);
726
+ } = _ref3,
727
+ props = _objectWithoutPropertiesLoose(_ref3, _excluded24);
707
728
  if (native) {
708
729
  return /*#__PURE__*/_jsx("option", _extends({}, props));
709
730
  }
@@ -738,7 +759,7 @@ function TabPanel(props) {
738
759
  children,
739
760
  active
740
761
  } = props,
741
- other = _objectWithoutPropertiesLoose(props, _excluded23);
762
+ other = _objectWithoutPropertiesLoose(props, _excluded25);
742
763
  return /*#__PURE__*/_jsx(StyledTabPanel, _extends({
743
764
  role: "tabpanel",
744
765
  style: {
@@ -748,13 +769,13 @@ function TabPanel(props) {
748
769
  children: children
749
770
  }));
750
771
  }
751
- function BaseTabs(_ref2) {
772
+ function BaseTabs(_ref4) {
752
773
  let {
753
774
  items,
754
775
  value,
755
776
  material
756
- } = _ref2,
757
- props = _objectWithoutPropertiesLoose(_ref2, _excluded24);
777
+ } = _ref4,
778
+ props = _objectWithoutPropertiesLoose(_ref4, _excluded26);
758
779
  const id = useId();
759
780
  const labelId = `${id}-tab-${value}`;
760
781
  const panelId = `${id}-tabpanel-${value}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "9.0.0-alpha.3",
3
+ "version": "9.0.0-alpha.4",
4
4
  "author": "MUI Team",
5
5
  "description": "The Community plan edition of the MUI X Data Grid components.",
6
6
  "license": "MIT",
@@ -42,8 +42,8 @@
42
42
  "clsx": "^2.1.1",
43
43
  "prop-types": "^15.8.1",
44
44
  "use-sync-external-store": "^1.6.0",
45
- "@mui/x-virtualizer": "1.0.0-alpha.1",
46
- "@mui/x-internals": "9.0.0-alpha.2"
45
+ "@mui/x-virtualizer": "1.0.0-beta.0",
46
+ "@mui/x-internals": "9.0.0-alpha.4"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@emotion/react": "^11.9.0",