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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/components/columnSelection/GridCellCheckboxRenderer.js +3 -5
  3. package/components/columnSelection/GridCellCheckboxRenderer.mjs +3 -5
  4. package/components/columnSelection/GridRowCheckbox.d.mts +4 -0
  5. package/components/columnSelection/GridRowCheckbox.d.ts +4 -0
  6. package/components/columnSelection/GridRowCheckbox.js +59 -0
  7. package/components/columnSelection/GridRowCheckbox.mjs +53 -0
  8. package/components/columnSelection/index.d.mts +2 -1
  9. package/components/columnSelection/index.d.ts +2 -1
  10. package/components/columnSelection/index.js +11 -0
  11. package/components/columnSelection/index.mjs +2 -1
  12. package/components/containers/GridRootStyles.js +2 -6
  13. package/components/containers/GridRootStyles.mjs +3 -7
  14. package/constants/defaultGridSlotsComponents.js +2 -1
  15. package/constants/defaultGridSlotsComponents.mjs +3 -2
  16. package/constants/gridClasses.d.mts +16 -0
  17. package/constants/gridClasses.d.ts +16 -0
  18. package/constants/gridClasses.js +21 -4
  19. package/constants/gridClasses.mjs +20 -3
  20. package/constants/index.d.mts +1 -1
  21. package/constants/index.d.ts +1 -1
  22. package/constants/index.js +19 -10
  23. package/constants/index.mjs +1 -1
  24. package/index.js +1 -1
  25. package/index.mjs +1 -1
  26. package/material/augmentation.d.mts +3 -0
  27. package/material/augmentation.d.ts +3 -0
  28. package/material/index.js +57 -36
  29. package/material/index.mjs +57 -36
  30. package/models/gridSlotsComponent.d.mts +5 -0
  31. package/models/gridSlotsComponent.d.ts +5 -0
  32. package/models/gridSlotsComponentsProps.d.mts +9 -0
  33. package/models/gridSlotsComponentsProps.d.ts +9 -0
  34. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,234 @@
1
1
  # Changelog
2
2
 
3
+ ## 9.0.0-beta.0
4
+
5
+ <!-- generated comparing v9.0.0-alpha.4..master -->
6
+
7
+ _Mar 27, 2026_
8
+
9
+ We'd like to extend a big thank you to the 10 contributors who made this release possible. Here are some highlights ✨:
10
+
11
+ - 🔊 New Charts voiceover component for improved screen reader support
12
+ - ⌨️ Charts keyboard navigation improvements: axis tooltip now shows when navigating with the keyboard
13
+ - 📊 Charts axes now can be set to automatically resize to fit their content
14
+ - 📝 New `rowCheckbox` slot in Data Grid for easier checkbox column customization
15
+ - ⚡️ `fetchRows()` API in Data Grid Pro now defaults `start` and `end` based on scroll position with lazy loading
16
+ - 🐞 Bugfixes and internal improvements
17
+
18
+ The following team members contributed to this release:
19
+ @aemartos, @alexfauquette, @arminmeh, @cherniavskii, @Janpot, @JCQuintas, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes
20
+
21
+ ### Data Grid
22
+
23
+ #### `@mui/x-data-grid@9.0.0-beta.0`
24
+
25
+ - [DataGrid] Add `rowCheckbox` slot for easier customization (#21797) @michelengelen
26
+ - [DataGrid] Prevent repeated `hasScrollbar` state updates (#21820) @arminmeh
27
+
28
+ #### `@mui/x-data-grid-pro@9.0.0-beta.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
29
+
30
+ Same changes as in `@mui/x-data-grid@9.0.0-beta.0`, plus:
31
+
32
+ - [DataGridPro] `fetchRows()` API's default `start` and `end` params based on scroll position with lazy loading (#21742) @arminmeh
33
+
34
+ #### `@mui/x-data-grid-premium@9.0.0-beta.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
35
+
36
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-beta.0`.
37
+
38
+ ### Date and Time Pickers
39
+
40
+ #### `@mui/x-date-pickers@9.0.0-beta.0`
41
+
42
+ Internal changes.
43
+
44
+ #### `@mui/x-date-pickers-pro@9.0.0-beta.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
45
+
46
+ Same changes as in `@mui/x-date-pickers@9.0.0-beta.0`.
47
+
48
+ ### Charts
49
+
50
+ #### `@mui/x-charts@9.0.0-beta.0`
51
+
52
+ - [charts] Add `className` prop to Pro chart plot components (#21793) @JCQuintas
53
+ - [charts] Add experimental position-based pointer interaction for line series (#21809) @JCQuintas
54
+ - [charts] Add l10n to the bar accessibility (#21815) @alexfauquette
55
+ - [charts] Add localization for the basic charts (#21822) @alexfauquette
56
+ - [charts] Add voiceover component (#21344) @alexfauquette
57
+ - [charts] Allow axes to automatically resize to content (#21087) @JCQuintas
58
+ - [charts] Document multiple use-cases for references (#21768) @alexfauquette
59
+ - [charts] Remove compatibility layer for React vs native events (#21780) @JCQuintas
60
+ - [charts] Remove deprecated `barLabel` props (#21783) @alexfauquette
61
+ - [charts] Show axis tooltip when navigating with keyboard (#21689) @Copilot
62
+
63
+ #### `@mui/x-charts-pro@9.0.0-beta.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
64
+
65
+ Same changes as in `@mui/x-charts@9.0.0-beta.0`.
66
+
67
+ #### `@mui/x-charts-premium@9.0.0-beta.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
68
+
69
+ Same changes as in `@mui/x-charts-pro@9.0.0-beta.0`.
70
+
71
+ ### Tree View
72
+
73
+ #### `@mui/x-tree-view@9.0.0-alpha.4`
74
+
75
+ Internal changes.
76
+
77
+ #### `@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')
78
+
79
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.4`.
80
+
81
+ ### Codemod
82
+
83
+ #### `@mui/x-codemod@9.0.0-alpha.4`
84
+
85
+ Internal changes.
86
+
87
+ ### Docs
88
+
89
+ - [docs] Document how to customize voiceover announcement (#21833) @alexfauquette
90
+ - [docs] Remove Discord mention from docs (#21855) @mapache-salvaje
91
+ - [docs] Remove stabilized experimental feature from demo (#21869) @JCQuintas
92
+ - [docs] Update telemetry guide to reflect pseudonymous data collection and license compliance (#21812) @aemartos
93
+ - [docs] Revise the Sparkline doc (#21614) @mapache-salvaje
94
+ - [docs] Revise the Gauge doc (#21673) @mapache-salvaje
95
+ - [docs] Revise the Heatmap doc (#21676) @mapache-salvaje
96
+
97
+ ### Core
98
+
99
+ - [code-infra] Remove unused deps and unify es-toolkit via catalog (#21840) @Janpot
100
+ - [code-infra] Update @mui/internal-bundle-size-checker to canary.68 (#21836) @Janpot
101
+ - [code-infra] Update next (#21837) @Janpot
102
+ - [internal] Remove headless data grid packages (#21843) @cherniavskii
103
+
104
+ ### Miscellaneous
105
+
106
+ - Add @romgrk to CODEOWNERS for `x-virtualizer` and `x-internals` (#21819) @Copilot
107
+ - [x-license] add 2022 plan version (#21814) @aemartos
108
+
109
+ ## 9.0.0-alpha.4
110
+
111
+ _Mar 19, 2026_
112
+
113
+ We'd like to extend a big thank you to the 12 contributors who made this release possible. Here are some highlights ✨:
114
+
115
+ - 🐞 Bugfixes and internal improvements
116
+
117
+ The following team members contributed to this release:
118
+ @aemartos, @alexfauquette, @bernardobelchior, @Janpot, @JCQuintas, @LukasTy, @mapache-salvaje, @michelengelen, @noraleonte, @rita-codes, @sai6855, @siriwatknp
119
+
120
+ ### Data Grid
121
+
122
+ #### `@mui/x-data-grid@9.0.0-alpha.4`
123
+
124
+ - [DataGrid] Mark charts integration as stable (#21764) @JCQuintas
125
+ - [DataGrid] Move `elementOverrides` to constants and remove duplicates (#21618) @sai6855
126
+ - [DataGrid] Migrate from deprecated Material UI APIs (#21682) @siriwatknp
127
+
128
+ #### `@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')
129
+
130
+ Same changes as in `@mui/x-data-grid@9.0.0-alpha.4`.
131
+
132
+ #### `@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')
133
+
134
+ Same changes as in `@mui/x-data-grid-pro@9.0.0-alpha.4`.
135
+
136
+ ### Date and Time Pickers
137
+
138
+ #### `@mui/x-date-pickers@9.0.0-alpha.4`
139
+
140
+ - [pickers] Avoid stealing focus on click away (#13434) @LukasTy
141
+ - [pickers] Promote `fieldRef` to stable and add `clearValue` method (#21655) @michelengelen
142
+
143
+ #### `@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')
144
+
145
+ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.4`.
146
+
147
+ ### Charts
148
+
149
+ #### `@mui/x-charts@9.0.0-alpha.4`
150
+
151
+ - [charts] Add v9 chart series types and helper functions migration (#21009) @bernardobelchior
152
+ - [charts] Extract event listener to the layer container (#21751) @alexfauquette
153
+ - [charts] Fix WebGL print export canvas stretching (#21738) @JCQuintas
154
+ - [charts] Improve deprecation warnings (#21760) @alexfauquette
155
+ - [charts] Improve type safety in `identifierCleaner` (#21719) @bernardobelchior
156
+ - [charts] Make `preferStrictDomainInLineCharts` the default (#21744) @JCQuintas
157
+ - [charts] Move title and description to the layer container (#21757) @alexfauquette
158
+ - [charts] Refactor `FunnelChart` classes structure (#21652) @JCQuintas
159
+ - [charts] Refactor `Heatmap` classes structure (#21653) @JCQuintas
160
+ - [charts] Refactor `RadarChart` classes structure (#21650) @JCQuintas
161
+ - [charts] Refactor `SankeyChart` classes structure (#21654) @JCQuintas
162
+ - [charts] Refactor legend getters to use utility functions (#21628) @sai6855
163
+ - [charts] Remove deprecated `ChartContainer` and `ChartDataProvider` (#21777) @alexfauquette
164
+ - [charts] Remove deprecated `itemId` from `SeriesLegendItemContext` (#21788) @alexfauquette
165
+ - [charts] Remove deprecated `useMouseTracker()` (#21787) @alexfauquette
166
+ - [charts] Remove deprecated classes (#21775) @alexfauquette
167
+ - [charts] Remove deprecated props from PieArcLabel animation (#21789) @alexfauquette
168
+ - [charts] Remove get\*UtilityClass from public exports (#21769) @JCQuintas
169
+ - [charts] Remove the deprecated `disableHover` property (#21785) @alexfauquette
170
+ - [charts] Remove the deprecated `message` prop (#21784) @alexfauquette
171
+ - [charts] Remove deprecated props about voronoi (#21796) @alexfauquette
172
+ - [charts] Remove deprecated pieArcClasses (#21795) @alexfauquette
173
+ - [charts] Rename `data-series-id` by `data-series` (#21761) @alexfauquette
174
+ - [charts] Rename `voronoiMaxRadius`/`disableVoronoi` to `hitAreaRadius`/`disableHitArea` (#21750) @bernardobelchior
175
+ - [charts] Update pt-PT locale (#21296) @bernardobelchior
176
+ - [charts] Use different shape per series by default (#21713) @alexfauquette
177
+ - [charts] Add className prop to Radar components (#21794) @JCQuintas
178
+ - [charts] Add className prop to shared chart components (#21792) @JCQuintas
179
+ - [charts] Add className prop to BarPlot (#21791) @JCQuintas
180
+ - [charts] Portal tooltip into ChartsLayerContainer (#21801) @JCQuintas
181
+
182
+ #### `@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')
183
+
184
+ Same changes as in `@mui/x-charts@9.0.0-alpha.4`, plus:
185
+
186
+ - [charts-pro] Allow `brush` interaction to accept `requiredKeys/pointerMode` (#21716) @JCQuintas
187
+ - [charts-pro] Remove deprecated `onAxisClick` for Heatmap (#21786) @alexfauquette
188
+
189
+ #### `@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')
190
+
191
+ Same changes as in `@mui/x-charts-pro@9.0.0-alpha.4`, plus:
192
+
193
+ - [charts-premium] Add candlestick chart (#21129) @bernardobelchior
194
+
195
+ ### Tree View
196
+
197
+ #### `@mui/x-tree-view@9.0.0-alpha.4`
198
+
199
+ Internal changes.
200
+
201
+ #### `@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')
202
+
203
+ Same changes as in `@mui/x-tree-view@9.0.0-alpha.4`.
204
+
205
+ ### Codemod
206
+
207
+ #### `@mui/x-codemod@9.0.0-alpha.4`
208
+
209
+ Internal changes.
210
+
211
+ ### Docs
212
+
213
+ - [docs-infra] Exclude `ServerSideLazyLoadingRevalidation` from argos (#21734) @sai6855
214
+ - [docs] Update charts v9 migration guide to include premium package (#21743) @bernardobelchior
215
+ - [docs] Update v9 migration guides to install next tag (#21741) @bernardobelchior
216
+ - [docs] Revise the Pie chart docs (#21565) @mapache-salvaje
217
+ - [docs] Revise the Bar Chart docs (#21482) @mapache-salvaje
218
+ - [docs] Removed a `console.log` from an aggregation demo (#21698) @michelengelen
219
+
220
+ ### Core
221
+
222
+ - [code-infra] Add pkg-pr-new as dev dependency (#21754) @Janpot
223
+ - [code-infra] Prevent `combiner` to have default parameters (#21707) @JCQuintas
224
+ - [code-infra] Remove CI coverage collection and upload to Codecov (#21671) @Janpot
225
+ - [internal] Remove @bernardobelchior from Charts CODEOWNERS (#21776) @Copilot
226
+
227
+ ### Miscellaneous
228
+
229
+ - [x-license] Fix process.env.MUI_VERSION not being replaced during build (#21727) @aemartos
230
+ - [x-license] Add new watermark license status message (#21720) @aemartos
231
+
3
232
  ## 9.0.0-alpha.3
4
233
 
5
234
  _Mar 12, 2026_
@@ -97,7 +97,8 @@ const GridCellCheckboxForwardRef = exports.GridCellCheckboxForwardRef = (0, _for
97
97
  return null;
98
98
  }
99
99
  const label = apiRef.current.getLocaleText(isChecked && !isIndeterminate ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
100
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseCheckbox, (0, _extends2.default)({
100
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.rowCheckbox, (0, _extends2.default)({
101
+ rowId: id,
101
102
  tabIndex: disabled ? -1 : tabIndex,
102
103
  checked: isChecked && !isIndeterminate,
103
104
  onChange: handleChange,
@@ -105,9 +106,6 @@ const GridCellCheckboxForwardRef = exports.GridCellCheckboxForwardRef = (0, _for
105
106
  onMouseDown: handleMouseDown,
106
107
  className: (0, _clsx.default)(classes.root, disabled && 'Mui-disabled'),
107
108
  disabled: disabled,
108
- material: {
109
- disableRipple: disabled
110
- },
111
109
  slotProps: {
112
110
  htmlInput: {
113
111
  'aria-disabled': disabled || undefined,
@@ -117,7 +115,7 @@ const GridCellCheckboxForwardRef = exports.GridCellCheckboxForwardRef = (0, _for
117
115
  },
118
116
  onKeyDown: handleKeyDown,
119
117
  indeterminate: isIndeterminate
120
- }, rootProps.slotProps?.baseCheckbox, other, {
118
+ }, rootProps.slotProps?.rowCheckbox, other, {
121
119
  ref: ref
122
120
  }));
123
121
  });
@@ -90,7 +90,8 @@ const GridCellCheckboxForwardRef = forwardRef(function GridCellCheckboxRenderer(
90
90
  return null;
91
91
  }
92
92
  const label = apiRef.current.getLocaleText(isChecked && !isIndeterminate ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
93
- return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
93
+ return /*#__PURE__*/_jsx(rootProps.slots.rowCheckbox, _extends({
94
+ rowId: id,
94
95
  tabIndex: disabled ? -1 : tabIndex,
95
96
  checked: isChecked && !isIndeterminate,
96
97
  onChange: handleChange,
@@ -98,9 +99,6 @@ const GridCellCheckboxForwardRef = forwardRef(function GridCellCheckboxRenderer(
98
99
  onMouseDown: handleMouseDown,
99
100
  className: clsx(classes.root, disabled && 'Mui-disabled'),
100
101
  disabled: disabled,
101
- material: {
102
- disableRipple: disabled
103
- },
104
102
  slotProps: {
105
103
  htmlInput: {
106
104
  'aria-disabled': disabled || undefined,
@@ -110,7 +108,7 @@ const GridCellCheckboxForwardRef = forwardRef(function GridCellCheckboxRenderer(
110
108
  },
111
109
  onKeyDown: handleKeyDown,
112
110
  indeterminate: isIndeterminate
113
- }, rootProps.slotProps?.baseCheckbox, other, {
111
+ }, rootProps.slotProps?.rowCheckbox, other, {
114
112
  ref: ref
115
113
  }));
116
114
  });
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { GridRowCheckboxProps } from "../../models/gridSlotsComponentsProps.mjs";
3
+ declare const GridRowCheckbox: React.ForwardRefExoticComponent<GridRowCheckboxProps> | React.ForwardRefExoticComponent<Omit<GridRowCheckboxProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ export { GridRowCheckbox };
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { GridRowCheckboxProps } from "../../models/gridSlotsComponentsProps.js";
3
+ declare const GridRowCheckbox: React.ForwardRefExoticComponent<GridRowCheckboxProps> | React.ForwardRefExoticComponent<Omit<GridRowCheckboxProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ export { GridRowCheckbox };
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.GridRowCheckbox = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _forwardRef = require("@mui/x-internals/forwardRef");
15
+ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ const _excluded = ["rowId", "material"];
18
+ const GridRowCheckbox = exports.GridRowCheckbox = (0, _forwardRef.forwardRef)(function GridRowCheckbox(props, ref) {
19
+ const {
20
+ material
21
+ } = props,
22
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
23
+ const rootProps = (0, _useGridRootProps.useGridRootProps)();
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseCheckbox, (0, _extends2.default)({}, rootProps.slotProps?.baseCheckbox, other, {
25
+ material: (0, _extends2.default)({
26
+ disableRipple: props.disabled
27
+ }, material),
28
+ ref: ref
29
+ }));
30
+ });
31
+ if (process.env.NODE_ENV !== "production") GridRowCheckbox.displayName = "GridRowCheckbox";
32
+ process.env.NODE_ENV !== "production" ? GridRowCheckbox.propTypes = {
33
+ // ----------------------------- Warning --------------------------------
34
+ // | These PropTypes are generated from the TypeScript type definitions |
35
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
36
+ // ----------------------------------------------------------------------
37
+ autoFocus: _propTypes.default.bool,
38
+ checked: _propTypes.default.bool,
39
+ className: _propTypes.default.string,
40
+ density: _propTypes.default.oneOf(['compact', 'standard']),
41
+ disabled: _propTypes.default.bool,
42
+ fullWidth: _propTypes.default.bool,
43
+ id: _propTypes.default.string,
44
+ indeterminate: _propTypes.default.bool,
45
+ inputRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
46
+ current: _propTypes.default.object
47
+ })]),
48
+ label: _propTypes.default.node,
49
+ name: _propTypes.default.string,
50
+ /**
51
+ * The grid row id.
52
+ */
53
+ rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
54
+ size: _propTypes.default.oneOf(['medium', 'small']),
55
+ slotProps: _propTypes.default.object,
56
+ style: _propTypes.default.object,
57
+ tabIndex: _propTypes.default.number,
58
+ touchRippleRef: _propTypes.default.any
59
+ } : void 0;
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
+ const _excluded = ["rowId", "material"];
6
+ import * as React from 'react';
7
+ import PropTypes from 'prop-types';
8
+ import { forwardRef } from '@mui/x-internals/forwardRef';
9
+ import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ const GridRowCheckbox = forwardRef(function GridRowCheckbox(props, ref) {
12
+ const {
13
+ material
14
+ } = props,
15
+ other = _objectWithoutPropertiesLoose(props, _excluded);
16
+ const rootProps = useGridRootProps();
17
+ return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({}, rootProps.slotProps?.baseCheckbox, other, {
18
+ material: _extends({
19
+ disableRipple: props.disabled
20
+ }, material),
21
+ ref: ref
22
+ }));
23
+ });
24
+ if (process.env.NODE_ENV !== "production") GridRowCheckbox.displayName = "GridRowCheckbox";
25
+ process.env.NODE_ENV !== "production" ? GridRowCheckbox.propTypes = {
26
+ // ----------------------------- Warning --------------------------------
27
+ // | These PropTypes are generated from the TypeScript type definitions |
28
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
29
+ // ----------------------------------------------------------------------
30
+ autoFocus: PropTypes.bool,
31
+ checked: PropTypes.bool,
32
+ className: PropTypes.string,
33
+ density: PropTypes.oneOf(['compact', 'standard']),
34
+ disabled: PropTypes.bool,
35
+ fullWidth: PropTypes.bool,
36
+ id: PropTypes.string,
37
+ indeterminate: PropTypes.bool,
38
+ inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
39
+ current: PropTypes.object
40
+ })]),
41
+ label: PropTypes.node,
42
+ name: PropTypes.string,
43
+ /**
44
+ * The grid row id.
45
+ */
46
+ rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
47
+ size: PropTypes.oneOf(['medium', 'small']),
48
+ slotProps: PropTypes.object,
49
+ style: PropTypes.object,
50
+ tabIndex: PropTypes.number,
51
+ touchRippleRef: PropTypes.any
52
+ } : void 0;
53
+ export { GridRowCheckbox };
@@ -1,2 +1,3 @@
1
1
  export * from "./GridCellCheckboxRenderer.mjs";
2
- export * from "./GridHeaderCheckbox.mjs";
2
+ export * from "./GridHeaderCheckbox.mjs";
3
+ export * from "./GridRowCheckbox.mjs";
@@ -1,2 +1,3 @@
1
1
  export * from "./GridCellCheckboxRenderer.js";
2
- export * from "./GridHeaderCheckbox.js";
2
+ export * from "./GridHeaderCheckbox.js";
3
+ export * from "./GridRowCheckbox.js";
@@ -24,4 +24,15 @@ Object.keys(_GridHeaderCheckbox).forEach(function (key) {
24
24
  return _GridHeaderCheckbox[key];
25
25
  }
26
26
  });
27
+ });
28
+ var _GridRowCheckbox = require("./GridRowCheckbox");
29
+ Object.keys(_GridRowCheckbox).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _GridRowCheckbox[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _GridRowCheckbox[key];
36
+ }
37
+ });
27
38
  });
@@ -1,2 +1,3 @@
1
1
  export * from "./GridCellCheckboxRenderer.mjs";
2
- export * from "./GridHeaderCheckbox.mjs";
2
+ export * from "./GridHeaderCheckbox.mjs";
3
+ export * from "./GridRowCheckbox.mjs";
@@ -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
  });
@@ -40,5 +40,6 @@ const DATA_GRID_DEFAULT_SLOTS_COMPONENTS = exports.DATA_GRID_DEFAULT_SLOTS_COMPO
40
40
  columnsPanel: _components.GridColumnsPanel,
41
41
  columnsManagement: _components.GridColumnsManagement,
42
42
  panel: _components.GridPanel,
43
- row: _components.GridRow
43
+ row: _components.GridRow,
44
+ rowCheckbox: _components.GridRowCheckbox
44
45
  });
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { GridSkeletonCell, GridColumnsPanel, GridFilterPanel, GridFooter, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridRow, GridColumnHeaderFilterIconButton, GridRowCount, GridColumnsManagement, GridColumnHeaderSortIcon, GridNoColumnsOverlay } from "../components/index.mjs";
2
+ import { GridSkeletonCell, GridColumnsPanel, GridFilterPanel, GridFooter, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridRow, GridColumnHeaderFilterIconButton, GridRowCount, GridColumnsManagement, GridColumnHeaderSortIcon, GridNoColumnsOverlay, GridRowCheckbox } from "../components/index.mjs";
3
3
  import { GridCell } from "../components/cell/GridCell.mjs";
4
4
  import { GridColumnHeaders } from "../components/GridColumnHeaders.mjs";
5
5
  import { GridColumnMenu } from "../components/menu/columnMenu/GridColumnMenu.mjs";
@@ -34,5 +34,6 @@ export const DATA_GRID_DEFAULT_SLOTS_COMPONENTS = _extends({}, materialSlots, {
34
34
  columnsPanel: GridColumnsPanel,
35
35
  columnsManagement: GridColumnsManagement,
36
36
  panel: GridPanel,
37
- row: GridRow
37
+ row: GridRow,
38
+ rowCheckbox: GridRowCheckbox
38
39
  });
@@ -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>;