@mui/x-data-grid 9.0.0-alpha.4 → 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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,111 @@
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
+
3
109
  ## 9.0.0-alpha.4
4
110
 
5
111
  _Mar 19, 2026_
@@ -59,7 +165,7 @@ Same changes as in `@mui/x-date-pickers@9.0.0-alpha.4`.
59
165
  - [charts] Remove deprecated `useMouseTracker()` (#21787) @alexfauquette
60
166
  - [charts] Remove deprecated classes (#21775) @alexfauquette
61
167
  - [charts] Remove deprecated props from PieArcLabel animation (#21789) @alexfauquette
62
- - [charts] Remove get*UtilityClass from public exports (#21769) @JCQuintas
168
+ - [charts] Remove get\*UtilityClass from public exports (#21769) @JCQuintas
63
169
  - [charts] Remove the deprecated `disableHover` property (#21785) @alexfauquette
64
170
  - [charts] Remove the deprecated `message` prop (#21784) @alexfauquette
65
171
  - [charts] Remove deprecated props about voronoi (#21796) @alexfauquette
@@ -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";
@@ -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
  });
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v9.0.0-alpha.4
2
+ * @mui/x-data-grid v9.0.0-beta.0
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.4
2
+ * @mui/x-data-grid v9.0.0-beta.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -30,6 +30,9 @@ declare module '@mui/x-data-grid' {
30
30
  interface BaseCheckboxPropsOverrides {
31
31
  material?: Partial<CheckboxProps>;
32
32
  }
33
+ interface RowCheckboxPropsOverrides {
34
+ material?: Partial<CheckboxProps>;
35
+ }
33
36
  interface BaseChipPropsOverrides {
34
37
  material?: Partial<ChipProps>;
35
38
  }
@@ -30,6 +30,9 @@ declare module '@mui/x-data-grid' {
30
30
  interface BaseCheckboxPropsOverrides {
31
31
  material?: Partial<CheckboxProps>;
32
32
  }
33
+ interface RowCheckboxPropsOverrides {
34
+ material?: Partial<CheckboxProps>;
35
+ }
33
36
  interface BaseChipPropsOverrides {
34
37
  material?: Partial<ChipProps>;
35
38
  }
@@ -232,4 +232,9 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
232
232
  * @default GridRow
233
233
  */
234
234
  row: React.JSXElementConstructor<GridSlotProps['row']>;
235
+ /**
236
+ * Component rendered for each row selection checkbox.
237
+ * @default GridRowCheckbox
238
+ */
239
+ rowCheckbox: React.JSXElementConstructor<GridSlotProps['rowCheckbox']>;
235
240
  }
@@ -232,4 +232,9 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
232
232
  * @default GridRow
233
233
  */
234
234
  row: React.JSXElementConstructor<GridSlotProps['row']>;
235
+ /**
236
+ * Component rendered for each row selection checkbox.
237
+ * @default GridRowCheckbox
238
+ */
239
+ rowCheckbox: React.JSXElementConstructor<GridSlotProps['rowCheckbox']>;
235
240
  }
@@ -18,6 +18,7 @@ import type { GridLoadingOverlayProps } from "../components/GridLoadingOverlay.m
18
18
  import type { GridRowCountProps } from "../components/GridRowCount.mjs";
19
19
  import type { GridColumnHeaderSortIconProps } from "../components/columnHeaders/GridColumnHeaderSortIcon.mjs";
20
20
  import type { GridBottomContainerProps } from "../components/virtualization/GridBottomContainer.mjs";
21
+ import type { GridRowId } from "./gridRows.mjs";
21
22
  import type { AutocompleteProps, BadgeProps, ButtonProps, CheckboxProps, ChipProps, CircularProgressProps, DividerProps, IconButtonProps, InputProps, LinearProgressProps, MenuListProps, MenuItemProps, PaginationProps, PopperProps, SelectProps, SelectOptionProps, SkeletonProps, SwitchProps, TextareaProps, TooltipProps, TextFieldProps, IconProps, TabsProps, ToggleButtonProps } from "./gridBaseSlots.mjs";
22
23
  type RootProps = React.HTMLAttributes<HTMLDivElement> & Record<`data-${string}`, string>;
23
24
  type MainProps = React.HTMLAttributes<HTMLDivElement> & Record<`data-${string}`, string>;
@@ -46,6 +47,7 @@ export interface BaseSelectOptionPropsOverrides {}
46
47
  export interface BaseSkeletonPropsOverrides {}
47
48
  export interface BaseIconPropsOverrides {}
48
49
  export interface BaseToggleButtonPropsOverrides {}
50
+ export interface RowCheckboxPropsOverrides {}
49
51
  export interface CellPropsOverrides {}
50
52
  export interface ToolbarPropsOverrides {}
51
53
  export interface ColumnHeaderFilterIconButtonPropsOverrides {}
@@ -114,6 +116,7 @@ interface ElementSlotProps {
114
116
  panel: GridPanelProps & PanelPropsOverrides;
115
117
  pinnedRows: GridPinnedRowsProps & PinnedRowsPropsOverrides;
116
118
  row: GridRowProps & RowPropsOverrides;
119
+ rowCheckbox: GridRowCheckboxProps;
117
120
  skeletonCell: GridSkeletonCellProps & SkeletonCellPropsOverrides;
118
121
  toolbar: GridToolbarProps & ToolbarPropsOverrides;
119
122
  /**
@@ -126,6 +129,12 @@ interface ElementSlotProps {
126
129
  root: RootProps;
127
130
  }
128
131
  export type GridSlotProps = BaseSlotProps & ElementSlotProps;
132
+ export interface GridRowCheckboxProps extends CheckboxProps, RowCheckboxPropsOverrides {
133
+ /**
134
+ * The grid row id.
135
+ */
136
+ rowId: GridRowId;
137
+ }
129
138
  /**
130
139
  * Overridable components props dynamically passed to the component at rendering.
131
140
  */
@@ -18,6 +18,7 @@ import type { GridLoadingOverlayProps } from "../components/GridLoadingOverlay.j
18
18
  import type { GridRowCountProps } from "../components/GridRowCount.js";
19
19
  import type { GridColumnHeaderSortIconProps } from "../components/columnHeaders/GridColumnHeaderSortIcon.js";
20
20
  import type { GridBottomContainerProps } from "../components/virtualization/GridBottomContainer.js";
21
+ import type { GridRowId } from "./gridRows.js";
21
22
  import type { AutocompleteProps, BadgeProps, ButtonProps, CheckboxProps, ChipProps, CircularProgressProps, DividerProps, IconButtonProps, InputProps, LinearProgressProps, MenuListProps, MenuItemProps, PaginationProps, PopperProps, SelectProps, SelectOptionProps, SkeletonProps, SwitchProps, TextareaProps, TooltipProps, TextFieldProps, IconProps, TabsProps, ToggleButtonProps } from "./gridBaseSlots.js";
22
23
  type RootProps = React.HTMLAttributes<HTMLDivElement> & Record<`data-${string}`, string>;
23
24
  type MainProps = React.HTMLAttributes<HTMLDivElement> & Record<`data-${string}`, string>;
@@ -46,6 +47,7 @@ export interface BaseSelectOptionPropsOverrides {}
46
47
  export interface BaseSkeletonPropsOverrides {}
47
48
  export interface BaseIconPropsOverrides {}
48
49
  export interface BaseToggleButtonPropsOverrides {}
50
+ export interface RowCheckboxPropsOverrides {}
49
51
  export interface CellPropsOverrides {}
50
52
  export interface ToolbarPropsOverrides {}
51
53
  export interface ColumnHeaderFilterIconButtonPropsOverrides {}
@@ -114,6 +116,7 @@ interface ElementSlotProps {
114
116
  panel: GridPanelProps & PanelPropsOverrides;
115
117
  pinnedRows: GridPinnedRowsProps & PinnedRowsPropsOverrides;
116
118
  row: GridRowProps & RowPropsOverrides;
119
+ rowCheckbox: GridRowCheckboxProps;
117
120
  skeletonCell: GridSkeletonCellProps & SkeletonCellPropsOverrides;
118
121
  toolbar: GridToolbarProps & ToolbarPropsOverrides;
119
122
  /**
@@ -126,6 +129,12 @@ interface ElementSlotProps {
126
129
  root: RootProps;
127
130
  }
128
131
  export type GridSlotProps = BaseSlotProps & ElementSlotProps;
132
+ export interface GridRowCheckboxProps extends CheckboxProps, RowCheckboxPropsOverrides {
133
+ /**
134
+ * The grid row id.
135
+ */
136
+ rowId: GridRowId;
137
+ }
129
138
  /**
130
139
  * Overridable components props dynamically passed to the component at rendering.
131
140
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "9.0.0-alpha.4",
3
+ "version": "9.0.0-beta.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Community plan edition of the MUI X Data Grid components.",
6
6
  "license": "MIT",
@@ -42,7 +42,7 @@
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-beta.0",
45
+ "@mui/x-virtualizer": "1.0.0-beta.1",
46
46
  "@mui/x-internals": "9.0.0-alpha.4"
47
47
  },
48
48
  "peerDependencies": {