@mui/x-data-grid 7.0.0-beta.1 → 7.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/CHANGELOG.md +159 -1
  2. package/DataGrid/DataGrid.d.ts +1 -1
  3. package/DataGrid/DataGrid.js +1 -1
  4. package/DataGrid/useDataGridProps.js +3 -1
  5. package/components/GridPagination.d.ts +1 -1
  6. package/components/GridPagination.js +12 -2
  7. package/components/GridRow.js +7 -5
  8. package/components/GridScrollbarFillerCell.js +0 -3
  9. package/components/base/GridFooterPlaceholder.js +1 -1
  10. package/components/cell/GridActionsCell.js +3 -3
  11. package/components/cell/GridActionsCellItem.d.ts +13 -1
  12. package/components/cell/GridActionsCellItem.js +27 -15
  13. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
  14. package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
  15. package/components/columnsManagement/utils.d.ts +1 -1
  16. package/components/containers/GridRootStyles.js +10 -2
  17. package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  18. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  19. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  20. package/constants/gridClasses.d.ts +5 -0
  21. package/constants/gridClasses.js +1 -1
  22. package/hooks/features/rows/gridRowsUtils.js +1 -1
  23. package/hooks/features/rows/useGridRows.js +2 -2
  24. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -1
  25. package/hooks/features/virtualization/useGridVirtualScroller.js +9 -10
  26. package/index.js +1 -1
  27. package/internals/utils/propValidation.js +1 -1
  28. package/joy/joySlots.js +2 -2
  29. package/legacy/DataGrid/DataGrid.js +1 -1
  30. package/legacy/DataGrid/useDataGridProps.js +3 -1
  31. package/legacy/components/GridPagination.js +10 -2
  32. package/legacy/components/GridRow.js +7 -5
  33. package/legacy/components/GridScrollbarFillerCell.js +1 -3
  34. package/legacy/components/base/GridFooterPlaceholder.js +1 -1
  35. package/legacy/components/cell/GridActionsCell.js +3 -3
  36. package/legacy/components/cell/GridActionsCellItem.js +30 -17
  37. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
  38. package/legacy/components/containers/GridRootStyles.js +9 -3
  39. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  40. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  41. package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -1
  42. package/legacy/constants/gridClasses.js +1 -1
  43. package/legacy/hooks/features/rows/gridRowsUtils.js +1 -1
  44. package/legacy/hooks/features/rows/useGridRows.js +2 -2
  45. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +9 -10
  46. package/legacy/index.js +1 -1
  47. package/legacy/internals/utils/propValidation.js +1 -1
  48. package/legacy/joy/joySlots.js +2 -2
  49. package/legacy/locales/daDK.js +12 -12
  50. package/locales/daDK.js +12 -12
  51. package/models/api/gridApiCommon.d.ts +1 -1
  52. package/models/api/gridFilterApi.d.ts +1 -1
  53. package/models/api/gridLocaleTextApi.d.ts +3 -3
  54. package/models/events/gridEventLookup.d.ts +1 -1
  55. package/models/gridSlotsComponent.d.ts +34 -36
  56. package/models/gridSlotsComponentsProps.d.ts +73 -54
  57. package/models/props/DataGridProps.d.ts +2 -2
  58. package/modern/DataGrid/DataGrid.js +1 -1
  59. package/modern/DataGrid/useDataGridProps.js +3 -1
  60. package/modern/components/GridPagination.js +12 -2
  61. package/modern/components/GridRow.js +6 -5
  62. package/modern/components/GridScrollbarFillerCell.js +0 -3
  63. package/modern/components/base/GridFooterPlaceholder.js +1 -1
  64. package/modern/components/cell/GridActionsCell.js +3 -3
  65. package/modern/components/cell/GridActionsCellItem.js +27 -15
  66. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
  67. package/modern/components/containers/GridRootStyles.js +10 -2
  68. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  69. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  70. package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -1
  71. package/modern/constants/gridClasses.js +1 -1
  72. package/modern/hooks/features/rows/gridRowsUtils.js +1 -1
  73. package/modern/hooks/features/rows/useGridRows.js +2 -2
  74. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +9 -10
  75. package/modern/index.js +1 -1
  76. package/modern/internals/utils/propValidation.js +1 -1
  77. package/modern/joy/joySlots.js +2 -2
  78. package/modern/locales/daDK.js +12 -12
  79. package/node/DataGrid/DataGrid.js +1 -1
  80. package/node/DataGrid/useDataGridProps.js +3 -1
  81. package/node/components/GridPagination.js +12 -2
  82. package/node/components/GridRow.js +6 -5
  83. package/node/components/GridScrollbarFillerCell.js +0 -3
  84. package/node/components/base/GridFooterPlaceholder.js +1 -1
  85. package/node/components/cell/GridActionsCell.js +3 -3
  86. package/node/components/cell/GridActionsCellItem.js +27 -15
  87. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
  88. package/node/components/containers/GridRootStyles.js +10 -2
  89. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  90. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  91. package/node/components/panel/filterPanel/GridFilterPanel.js +1 -1
  92. package/node/constants/gridClasses.js +1 -1
  93. package/node/hooks/features/rows/gridRowsUtils.js +2 -2
  94. package/node/hooks/features/rows/useGridRows.js +2 -2
  95. package/node/hooks/features/virtualization/useGridVirtualScroller.js +9 -10
  96. package/node/index.js +1 -1
  97. package/node/internals/utils/propValidation.js +1 -1
  98. package/node/joy/joySlots.js +2 -2
  99. package/node/locales/daDK.js +12 -12
  100. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,108 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## v7.0.0-beta.2
7
+
8
+ _Feb 9, 2024_
9
+
10
+ We'd like to offer a big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🚀 Add slot typings on the Data Grid components (#11795) @romgrk
13
+ - 🎁 Support UTC date formatting in Charts tooltip (#11943) @shaharyar-shamshi
14
+ - 🌍 Improve Danish (da-DK) locale Data Grid (#11877) @ShahrazH
15
+ - 🐞 Bugfixes
16
+ - 📚 Documentation improvements
17
+
18
+ ### Data Grid
19
+
20
+ #### `@mui/x-data-grid@v7.0.0-beta.2`
21
+
22
+ - [DataGrid] Add `removeAllFilterItems` as a reason of `onFilterModelChange` callback (#11911) @shaharyar-shamshi
23
+ - [DataGrid] Add slot typings (#11795) @romgrk
24
+ - [DataGrid] Add support for dialogs in menu actions (#11909) @cherniavskii
25
+ - [DataGrid] Allow passing readonly arrays to `pageSizeOptions` prop (#11609) @pcorpet
26
+ - [DataGrid] Fix incorrect computation of `lastPage` in `GridPagination` (#11958) @MBilalShafi
27
+ - [DataGrid] Improve vertical scrolling performance (#11924) @romgrk
28
+ - [l10n] Improve Danish (da-DK) locale (#11877) @ShahrazH
29
+
30
+ #### `@mui/x-data-grid-pro@v7.0.0-beta.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
31
+
32
+ Same changes as in `@mui/x-data-grid@v7.0.0-beta.2`.
33
+
34
+ #### `@mui/x-data-grid-premium@v7.0.0-beta.2` [![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@v7.0.0-beta.2`, plus:
37
+
38
+ - [DataGridPremium] Fix autosize grouping cell (#11870) @romgrk
39
+ - [DataGridPremium] Fix clipboard paste not working with Caps Lock enabled (#11965) @shaharyar-shamshi
40
+
41
+ ### Date Pickers
42
+
43
+ #### `@mui/x-date-pickers@v7.0.0-beta.2`
44
+
45
+ - [pickers] Avoid relying on locale in Luxon `isWithinRange` method (#11936) @LukasTy
46
+ - [pickers] Limit the valid values of `TDate` (#11791) @flaviendelangle
47
+
48
+ #### `@mui/x-date-pickers-pro@v7.0.0-beta.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
49
+
50
+ Same changes as in `@mui/x-date-pickers@v7.0.0-beta.2`.
51
+
52
+ ### Charts / `@mui/x-charts@v7.0.0-beta.2`
53
+
54
+ - [charts] Add `reverse` property to axes (#11899) @alexfauquette
55
+ - [charts] Allow series ids to be numbers (#11941) @alexfauquette
56
+ - [charts] Support UTC date formatting in tooltip (#11943) @shaharyar-shamshi
57
+
58
+ ### Tree View / `@mui/x-tree-view@v7.0.0-beta.2`
59
+
60
+ - [TreeView] Correctly detect if an item is expandable (#11963) @swalker326
61
+ - [TreeView] Polish the default design & revise the simple version pages (#11529) @danilo-leal
62
+
63
+ ### License
64
+
65
+ #### Breaking changes
66
+
67
+ - If you're using the [commercial license](https://next.mui.com/x/introduction/licensing), you need to update the import path:
68
+
69
+ ```diff
70
+ -import { LicenseInfo } from '@mui/x-license-pro';
71
+ +import { LicenseInfo } from '@mui/x-license';
72
+ ```
73
+
74
+ `@mui/x-license@v7.0.0-beta.2`
75
+
76
+ - [license] Rename `@mui/x-license-pro` to `@mui/x-license` (#11938) @cherniavskii
77
+
78
+ ### Docs
79
+
80
+ - [docs] Add a note about `AdapterDateFnsV3` on the Getting Started page (#11985) @flaviendelangle
81
+ - [docs] Add missing `Charts` breaking change steps (#11971) @alexfauquette
82
+ - [docs] Fix `ChartsTooltip` typo (#11961) @thisisharsh7
83
+ - [docs] Refactor `Localization` documentation sections (#11989) @LukasTy
84
+ - [docs] Use "cannot" instead of "can't" or "can not" (#11986) @flaviendelangle
85
+ - [docs] Add quick fixes to the migration guide (#11806) @danilo-leal
86
+ - [docs] Avoid use of shorthand (#12000) @oliviertassinari
87
+ - [docs] Avoid the use of MUI Core @oliviertassinari
88
+ - [docs] Fix image size and dark mode @oliviertassinari
89
+ - [docs] Follow blank line convention with use client @oliviertassinari
90
+ - [docs] Stable layout between light and dark mode @oliviertassinari
91
+
92
+ ### Core
93
+
94
+ - [core] Add `docs:serve` script (#11935) @cherniavskii
95
+ - [core] Bump monorepo (#12001) @cherniavskii
96
+ - [core] Deprecate `LicenseInfo` re-exports (#11956) @cherniavskii
97
+ - [core] Fix `test_types` failing on the `next` branch (#11944) @cherniavskii
98
+ - [core] Fix failing `test_static` on the next branch (#11977) @cherniavskii
99
+ - [core] Flatten grid packages folder (#11946) @cherniavskii
100
+ - [core] Improve license info deprecation message (#11974) @cherniavskii
101
+ - [core] Integrate changes from Core #40842 PR (#11801) @michaldudak
102
+ - [core] Move next config to ESM (#11882) @Janpot
103
+ - [core] Add auto-message on closed issues (#11805) @michelengelen
104
+ - [core] Simplify bug reproduction (#11849) @oliviertassinari
105
+ - [core] Fix npm reference @oliviertassinari
106
+ - [core] Normalize issue template @oliviertassinari
107
+
6
108
  ## 7.0.0-beta.1
7
109
 
8
110
  _Feb 1, 2024_
@@ -2036,6 +2138,62 @@ Here is an example of the renaming for the `<ChartsTooltip />` component.
2036
2138
  - [core] Update release instructions as per v7 configuration (#10962) @MBilalShafi
2037
2139
  - [license] Correctly throw errors (#10924) @oliviertassinari
2038
2140
 
2141
+ ## v6.19.4
2142
+
2143
+ _Feb 9, 2024_
2144
+
2145
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
2146
+
2147
+ - 🌍 Improve Danish (da-DK) locale on the Data Grid (#11972) @ShahrazH
2148
+ - 🐞 Bugfixes
2149
+ - 📚 Documentation improvements
2150
+
2151
+ ### Data Grid
2152
+
2153
+ #### `@mui/x-data-grid@v6.19.4`
2154
+
2155
+ - [DataGrid] Add support for dialogs in menu actions (#11937) @cherniavskii
2156
+ - [DataGrid] Allow passing readonly arrays to `pageSizeOptions` prop (#11992) @pcorpet
2157
+ - [DataGrid] Fix row reorder with cell selection (#11878) @PEsteves8
2158
+ - [DataGrid] Replace `eval` with `new Function` (#11962) @cherniavskii
2159
+ - [l10n] Improve Danish (da-DK) locale (#11972) @ShahrazH
2160
+
2161
+ #### `@mui/x-data-grid-pro@v6.19.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
2162
+
2163
+ Same changes as in `@mui/x-data-grid@v6.19.4`.
2164
+
2165
+ #### `@mui/x-data-grid-premium@v6.19.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
2166
+
2167
+ Same changes as in `@mui/x-data-grid-pro@v6.19.4`, plus:
2168
+
2169
+ - [DataGridPremium] Fix autosize grouping cell (#11990) @romgrk
2170
+ - [DataGridPremium] Fix error after closing print export (#11889) @cherniavskii
2171
+
2172
+ ### Date Pickers
2173
+
2174
+ #### `@mui/x-date-pickers@v6.19.4`
2175
+
2176
+ - [pickers] Avoid relying on locale in Luxon `isWithinRange` method (#11940) @LukasTy
2177
+
2178
+ #### `@mui/x-date-pickers-pro@v6.19.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
2179
+
2180
+ Same changes as in `@mui/x-date-pickers@v6.19.4`.
2181
+
2182
+ ### Charts / `@mui/x-charts@v6.19.4`
2183
+
2184
+ - [charts] Add `reverse` property to axes (#11959) @alexfauquette
2185
+ - [charts] Allow series ids to be numbers (#11960) @alexfauquette
2186
+ - [charts] Fix Proptypes error by supporting string values for axes (#11953) @alexfauquette
2187
+
2188
+ ### Docs
2189
+
2190
+ - [docs] Add a note about `AdapterDateFnsV3` on the Getting Started page (#11987) @flaviendelangle
2191
+ - [docs] Avoid the use of MUI Core @oliviertassinari
2192
+ - [docs] Fix API links (#11930) @alexfauquette
2193
+ - [docs] Fix `ChartsTooltip` typo (#11967) @thisisharsh7
2194
+ - [docs] Refactor `Localization` documentation sections (#11997) @LukasTy
2195
+ - [code] Simplify bug reproduction (#11932) @alexfauquette
2196
+
2039
2197
  ## 6.19.3
2040
2198
 
2041
2199
  _Feb 1, 2024_
@@ -7123,7 +7281,7 @@ You can find more information about the new api, including how to set those tran
7123
7281
  - [core] Add link to the security page on the `README` (#6073) @oliviertassinari
7124
7282
  - [core] Fix scroll restoration in the docs (#5938) @oliviertassinari
7125
7283
  - [core] Remove the Storybook (#6099) @flaviendelangle
7126
- - [core] Tag release as `next` in NPM (#6256) @m4theushw
7284
+ - [core] Tag release as `next` in npm (#6256) @m4theushw
7127
7285
  - [core] Update monorepo (#6180) @flaviendelangle
7128
7286
  - [core] Use the `next` branch for Prettier (#6097) @flaviendelangle
7129
7287
  - [core] Use the official repository for `@mui/monorepo` instead of a fork (#6189) @oliviertassinari
@@ -1,6 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { DataGridProps } from '../models/props/DataGridProps';
3
3
  import { GridValidRowModel } from '../models/gridRows';
4
+ export type { GridSlotsComponent as GridSlots } from '../models';
4
5
  interface DataGridComponent {
5
6
  <R extends GridValidRowModel = any>(props: DataGridProps<R> & React.RefAttributes<HTMLDivElement>): React.JSX.Element;
6
7
  propTypes?: any;
@@ -13,4 +14,3 @@ interface DataGridComponent {
13
14
  * - [DataGrid API](https://mui.com/x/api/data-grid/data-grid/)
14
15
  */
15
16
  export declare const DataGrid: DataGridComponent;
16
- export {};
@@ -305,7 +305,7 @@ DataGridRaw.propTypes = {
305
305
  loading: PropTypes.bool,
306
306
  /**
307
307
  * Set the locale text of the Data Grid.
308
- * You can find all the translation keys supported in [the source](https://github.com/mui/mui-x/blob/HEAD/packages/grid/x-data-grid/src/constants/localeTextConstants.ts) in the GitHub repository.
308
+ * You can find all the translation keys supported in [the source](https://github.com/mui/mui-x/blob/HEAD/packages/x-data-grid/src/constants/localeTextConstants.ts) in the GitHub repository.
309
309
  */
310
310
  localeText: PropTypes.object,
311
311
  /**
@@ -74,7 +74,9 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
74
74
  };
75
75
  const defaultSlots = DATA_GRID_DEFAULT_SLOTS_COMPONENTS;
76
76
  export const useDataGridProps = inProps => {
77
- const themedProps = useProps(useThemeProps({
77
+ const themedProps = useProps(
78
+ // eslint-disable-next-line material-ui/mui-name-matches-component-name
79
+ useThemeProps({
78
80
  props: inProps,
79
81
  name: 'MuiDataGrid'
80
82
  }));
@@ -3,4 +3,4 @@ export declare const GridPagination: React.ForwardRefExoticComponent<(Omit<Parti
3
3
  component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
4
4
  }>, "ref"> | Omit<Partial<import("@mui/material/TablePagination").TablePaginationOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<import("@mui/material/TablePagination").TablePaginationBaseProps, "ref"> & React.RefAttributes<React.Component<any, any, any>>, "hidden" | "color" | "page" | "content" | "size" | "style" | "height" | "translate" | "width" | "padding" | "disabled" | "abbr" | "slot" | "title" | "ref" | "colSpan" | "headers" | "rowSpan" | "scope" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "align" | "valign" | "sx" | "classes" | "variant" | "slotProps" | "slots" | "count" | "getItemAriaLabel" | "onPageChange" | "rowsPerPage" | "showFirstButton" | "showLastButton" | "labelDisplayedRows" | "labelRowsPerPage" | "onRowsPerPageChange" | "rowsPerPageOptions" | "backIconButtonProps" | "nextIconButtonProps" | "sortDirection" | "ActionsComponent" | "SelectProps"> & {
5
5
  component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
6
- }>, "ref">) & React.RefAttributes<HTMLDivElement>>;
6
+ }>, "ref">) & React.RefAttributes<unknown>>;
@@ -24,6 +24,9 @@ const GridPaginationRoot = styled(TablePagination)(({
24
24
  }
25
25
  }
26
26
  }));
27
+
28
+ // A mutable version of a readonly array.
29
+
27
30
  export const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(props, ref) {
28
31
  const apiRef = useGridApiContext();
29
32
  const rootProps = useGridRootProps();
@@ -33,7 +36,10 @@ export const GridPagination = /*#__PURE__*/React.forwardRef(function GridPaginat
33
36
  var _ref, _rootProps$rowCount;
34
37
  return (_ref = (_rootProps$rowCount = rootProps.rowCount) != null ? _rootProps$rowCount : visibleTopLevelRowCount) != null ? _ref : 0;
35
38
  }, [rootProps.rowCount, visibleTopLevelRowCount]);
36
- const lastPage = React.useMemo(() => Math.floor(rowCount / (paginationModel.pageSize || 1)), [rowCount, paginationModel.pageSize]);
39
+ const lastPage = React.useMemo(() => {
40
+ const calculatedValue = Math.ceil(rowCount / (paginationModel.pageSize || 1)) - 1;
41
+ return Math.max(0, calculatedValue);
42
+ }, [rowCount, paginationModel.pageSize]);
37
43
  const handlePageSizeChange = React.useCallback(event => {
38
44
  const pageSize = Number(event.target.value);
39
45
  apiRef.current.setPageSize(pageSize);
@@ -69,7 +75,11 @@ export const GridPagination = /*#__PURE__*/React.forwardRef(function GridPaginat
69
75
  ref: ref,
70
76
  component: "div",
71
77
  count: rowCount,
72
- page: paginationModel.page <= lastPage ? paginationModel.page : lastPage,
78
+ page: paginationModel.page <= lastPage ? paginationModel.page : lastPage
79
+ // TODO: Remove the cast once the type is fixed in Material UI and that the min Material UI version
80
+ // for x-data-grid is past the fix.
81
+ // Note that Material UI will not mutate the array, so this is safe.
82
+ ,
73
83
  rowsPerPageOptions: pageSizeOptions,
74
84
  rowsPerPage: paginationModel.pageSize,
75
85
  onPageChange: handlePageChange,
@@ -37,9 +37,7 @@ const useUtilityClasses = ownerState => {
37
37
  classes
38
38
  } = ownerState;
39
39
  const slots = {
40
- root: ['row', selected && 'selected', editable && 'row--editable', editing && 'row--editing', isFirstVisible && 'row--firstVisible', isLastVisible && 'row--lastVisible', rowHeight === 'auto' && 'row--dynamicHeight'],
41
- pinnedLeft: ['pinnedLeft'],
42
- pinnedRight: ['pinnedRight']
40
+ root: ['row', selected && 'selected', editable && 'row--editable', editing && 'row--editing', isFirstVisible && 'row--firstVisible', isLastVisible && 'row--lastVisible', rowHeight === 'auto' && 'row--dynamicHeight']
43
41
  };
44
42
  return composeClasses(slots, getDataGridUtilityClass, classes);
45
43
  };
@@ -268,6 +266,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
268
266
  break;
269
267
  }
270
268
  if ((rowNode == null ? void 0 : rowNode.type) === 'skeletonRow') {
269
+ var _column$align;
271
270
  const {
272
271
  width
273
272
  } = cellColSpanInfo.cellProps;
@@ -276,7 +275,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
276
275
  width: width,
277
276
  contentWidth: contentWidth,
278
277
  field: column.field,
279
- align: column.align
278
+ align: (_column$align = column.align) != null ? _column$align : 'left'
280
279
  }, column.field);
281
280
  }
282
281
  const {
@@ -364,7 +363,10 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
364
363
  "aria-selected": selected,
365
364
  style: style
366
365
  }, eventHandlers, other, {
367
- children: [leftCells, cells, emptyCellWidth > 0 && /*#__PURE__*/_jsx(EmptyCell, {
366
+ children: [leftCells, /*#__PURE__*/_jsx("div", {
367
+ className: gridClasses.cellOffsetLeft,
368
+ role: "presentation"
369
+ }), cells, emptyCellWidth > 0 && /*#__PURE__*/_jsx(EmptyCell, {
368
370
  width: emptyCellWidth
369
371
  }), rightCells.length > 0 && /*#__PURE__*/_jsx("div", {
370
372
  role: "presentation",
@@ -21,9 +21,6 @@ const Style = styled('div')({
21
21
  [`&.${classes.pinnedRight}:not(.${classes.header})`]: {
22
22
  position: 'sticky',
23
23
  right: 0
24
- },
25
- [`&:not(.${classes.header}):not(.${classes.pinnedRight})`]: {
26
- transform: 'translate3d(var(--DataGrid-offsetLeft), 0, 0)'
27
24
  }
28
25
  });
29
26
  function GridScrollbarFillerCell({
@@ -8,5 +8,5 @@ export function GridFooterPlaceholder() {
8
8
  if (rootProps.hideFooter) {
9
9
  return null;
10
10
  }
11
- return /*#__PURE__*/_jsx(rootProps.slots.footer, _extends({}, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.footer));
11
+ return /*#__PURE__*/_jsx(rootProps.slots.footer, _extends({}, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.footer /* FIXME: typing error */));
12
12
  }
@@ -138,7 +138,7 @@ function GridActionsCell(props) {
138
138
  if (event.key === 'Tab') {
139
139
  event.preventDefault();
140
140
  }
141
- if (['Tab', 'Enter', 'Escape'].includes(event.key)) {
141
+ if (['Tab', 'Escape'].includes(event.key)) {
142
142
  hideMenu();
143
143
  }
144
144
  };
@@ -175,7 +175,6 @@ function GridActionsCell(props) {
175
175
  target: buttonRef.current,
176
176
  position: position,
177
177
  onClose: hideMenu,
178
- onClick: hideMenu,
179
178
  children: /*#__PURE__*/_jsx(MenuList, {
180
179
  id: menuId,
181
180
  className: gridClasses.menuList,
@@ -184,7 +183,8 @@ function GridActionsCell(props) {
184
183
  variant: "menu",
185
184
  autoFocusItem: true,
186
185
  children: menuButtons.map((button, index) => /*#__PURE__*/React.cloneElement(button, {
187
- key: index
186
+ key: index,
187
+ closeMenu: hideMenu
188
188
  }))
189
189
  })
190
190
  })]
@@ -11,6 +11,12 @@ export type GridActionsCellItemProps = {
11
11
  icon: React.ReactElement;
12
12
  } & IconButtonProps) | ({
13
13
  showInMenu: true;
14
+ /**
15
+ * If false, the menu will not close when this item is clicked.
16
+ * @default true
17
+ */
18
+ closeMenuOnClick?: boolean;
19
+ closeMenu?: () => void;
14
20
  } & MenuItemProps));
15
21
  declare const GridActionsCellItem: React.ForwardRefExoticComponent<(Omit<{
16
22
  label: string;
@@ -31,9 +37,15 @@ declare const GridActionsCellItem: React.ForwardRefExoticComponent<(Omit<{
31
37
  component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
32
38
  } & {
33
39
  showInMenu: true;
40
+ /**
41
+ * If false, the menu will not close when this item is clicked.
42
+ * @default true
43
+ */
44
+ closeMenuOnClick?: boolean | undefined;
45
+ closeMenu?: (() => void) | undefined;
34
46
  } & import("@mui/material/MenuItem").MenuItemOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & {
35
47
  ref?: ((instance: HTMLLIElement | null) => void) | React.RefObject<HTMLLIElement> | null | undefined;
36
48
  }, "style" | "dense" | "disabled" | "action" | "selected" | "autoFocus" | "className" | "tabIndex" | "children" | "sx" | "classes" | "disableGutters" | "divider" | "onFocusVisible" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "TouchRippleProps" | "touchRippleRef"> & {
37
49
  component?: React.ElementType<any, keyof React.JSX.IntrinsicElements> | undefined;
38
- }, "ref">) & React.RefAttributes<HTMLButtonElement>>;
50
+ }, "ref">) & React.RefAttributes<HTMLElement>>;
39
51
  export { GridActionsCellItem };
@@ -1,6 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["label", "icon", "showInMenu", "onClick"];
3
+ const _excluded = ["label", "icon", "showInMenu", "onClick"],
4
+ _excluded2 = ["label", "icon", "showInMenu", "onClick", "closeMenuOnClick", "closeMenu"];
4
5
  import * as React from 'react';
5
6
  import PropTypes from 'prop-types';
6
7
  import MenuItem from '@mui/material/MenuItem';
@@ -9,21 +10,18 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
9
10
  import { jsx as _jsx } from "react/jsx-runtime";
10
11
  import { jsxs as _jsxs } from "react/jsx-runtime";
11
12
  const GridActionsCellItem = /*#__PURE__*/React.forwardRef((props, ref) => {
12
- const {
13
- label,
14
- icon,
15
- showInMenu,
16
- onClick
17
- } = props,
18
- other = _objectWithoutPropertiesLoose(props, _excluded);
19
13
  const rootProps = useGridRootProps();
20
- const handleClick = event => {
21
- if (onClick) {
22
- onClick(event);
23
- }
24
- };
25
- if (!showInMenu) {
14
+ if (!props.showInMenu) {
26
15
  var _rootProps$slotProps;
16
+ const {
17
+ label,
18
+ icon,
19
+ onClick
20
+ } = props,
21
+ other = _objectWithoutPropertiesLoose(props, _excluded);
22
+ const handleClick = event => {
23
+ onClick == null || onClick(event);
24
+ };
27
25
  return /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
28
26
  ref: ref,
29
27
  size: "small",
@@ -37,10 +35,24 @@ const GridActionsCellItem = /*#__PURE__*/React.forwardRef((props, ref) => {
37
35
  })
38
36
  }));
39
37
  }
38
+ const {
39
+ label,
40
+ icon,
41
+ onClick,
42
+ closeMenuOnClick = true,
43
+ closeMenu
44
+ } = props,
45
+ other = _objectWithoutPropertiesLoose(props, _excluded2);
46
+ const handleClick = event => {
47
+ onClick == null || onClick(event);
48
+ if (closeMenuOnClick) {
49
+ closeMenu == null || closeMenu();
50
+ }
51
+ };
40
52
  return /*#__PURE__*/_jsxs(MenuItem, _extends({
41
53
  ref: ref
42
54
  }, other, {
43
- onClick: onClick,
55
+ onClick: handleClick,
44
56
  children: [icon && /*#__PURE__*/_jsx(ListItemIcon, {
45
57
  children: icon
46
58
  }), label]
@@ -86,7 +86,7 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
86
86
  },
87
87
  onKeyDown: handleKeyDown,
88
88
  disabled: !isSelectable,
89
- touchRippleRef: rippleRef
89
+ touchRippleRef: rippleRef /* FIXME: typing error */
90
90
  }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseCheckbox, other));
91
91
  });
92
92
  process.env.NODE_ENV !== "production" ? GridCellCheckboxForwardRef.propTypes = {
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import type { GridColumnHeaderParams } from '../../models/params/gridColumnHeaderParams';
3
- declare const GridHeaderCheckbox: React.ForwardRefExoticComponent<GridColumnHeaderParams<import("../../models/gridRows").GridValidRowModel, any, any> & React.RefAttributes<HTMLInputElement>>;
3
+ declare const GridHeaderCheckbox: React.ForwardRefExoticComponent<GridColumnHeaderParams<import("../../models/gridRows").GridValidRowModel, any, any> & React.RefAttributes<HTMLButtonElement>>;
4
4
  export { GridHeaderCheckbox };
@@ -1,4 +1,4 @@
1
1
  import { GridColumnVisibilityModel } from '../../hooks/features/columns/gridColumnsInterfaces';
2
- import { GridColumnsManagementProps } from './GridColumnsManagement';
2
+ import type { GridColumnsManagementProps } from './GridColumnsManagement';
3
3
  export declare const checkColumnVisibilityModelsSame: (a: GridColumnVisibilityModel, b: GridColumnVisibilityModel) => boolean;
4
4
  export declare const defaultSearchPredicate: NonNullable<GridColumnsManagementProps['searchPredicate']>;
@@ -240,6 +240,12 @@ export const GridRootStyles = styled('div', {
240
240
  [`& .${c.cell} > *`]: {
241
241
  overflow: 'visible !important',
242
242
  whiteSpace: 'nowrap'
243
+ },
244
+ [`& .${c.groupingCriteriaCell}`]: {
245
+ width: 'unset'
246
+ },
247
+ [`& .${c.treeDataGroupingCell}`]: {
248
+ width: 'unset'
243
249
  }
244
250
  },
245
251
  [`& .${c.columnHeader}, & .${c.cell}`]: {
@@ -554,8 +560,10 @@ export const GridRootStyles = styled('div', {
554
560
  }
555
561
  }
556
562
  },
557
- [`& .${c.cell}:not(.${c['cell--pinnedLeft']}):not(.${c['cell--pinnedRight']})`]: {
558
- transform: 'translate3d(var(--DataGrid-offsetLeft), 0, 0)'
563
+ [`& .${c.cellOffsetLeft}`]: {
564
+ flex: '0 0 auto',
565
+ display: 'inline-block',
566
+ width: 'var(--DataGrid-offsetLeft)'
559
567
  },
560
568
  [`& .${c.columnHeaderDraggableContainer}`]: {
561
569
  display: 'flex',
@@ -67,7 +67,7 @@ function GridFilterInputBoolean(props) {
67
67
  ref: focusElementRef,
68
68
  tabIndex
69
69
  }
70
- }, others, baseSelectProps, {
70
+ }, others /* FIXME: typing error */, baseSelectProps, {
71
71
  children: [/*#__PURE__*/_jsx(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
72
72
  native: isSelectNative,
73
73
  value: "",
@@ -107,7 +107,7 @@ function GridFilterInputSingleSelect(props) {
107
107
  placeholder: placeholder != null ? placeholder : apiRef.current.getLocaleText('filterPanelInputPlaceholder')
108
108
  },
109
109
  native: isSelectNative
110
- }, others, (_rootProps$slotProps3 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps3.baseSelect, {
110
+ }, others /* FIXME: typing error */, (_rootProps$slotProps3 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps3.baseSelect, {
111
111
  children: renderSingleSelectOptions({
112
112
  column: resolvedColumn,
113
113
  OptionComponent: rootProps.slots.baseSelectOption,
@@ -134,7 +134,7 @@ const GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(p
134
134
  }
135
135
  return apiRef.current.setFilterModel(_extends({}, filterModel, {
136
136
  items: readOnlyFilters
137
- }));
137
+ }), 'removeAllFilterItems');
138
138
  }, [apiRef, readOnlyFilters, filterModel, validFilters]);
139
139
  React.useEffect(() => {
140
140
  if (logicOperators.length > 0 && filterModel.logicOperator && !logicOperators.includes(filterModel.logicOperator)) {
@@ -107,6 +107,11 @@ export interface GridClasses {
107
107
  * Styles applied to the skeleton cell element.
108
108
  */
109
109
  cellSkeleton: string;
110
+ /**
111
+ * @ignore - do not document.
112
+ * Styles applied to the left offset cell element.
113
+ */
114
+ cellOffsetLeft: string;
110
115
  /**
111
116
  * Styles applied to the selection checkbox element.
112
117
  */
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClasses as generateUtilityClasses, unstable_gen
2
2
  export function getDataGridUtilityClass(slot) {
3
3
  return generateUtilityClass('MuiDataGrid', slot);
4
4
  }
5
- export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
5
+ export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { gridPinnedRowsSelector } from './gridRowsSelector';
3
- import { gridDimensionsSelector } from '../dimensions';
3
+ import { gridDimensionsSelector } from '../dimensions/gridDimensionsSelectors';
4
4
  export const GRID_ROOT_GROUP_ID = `auto-generated-group-node-root`;
5
5
  export const GRID_ID_AUTOGENERATED = Symbol('mui.id_autogenerated');
6
6
  export const buildRootGroup = () => ({
@@ -121,7 +121,7 @@ export const useGridRows = (apiRef, props) => {
121
121
  }, [logger, props.getRowId, props.loading, props.rowCount, throttledRowsChange, apiRef]);
122
122
  const updateRows = React.useCallback(updates => {
123
123
  if (props.signature === GridSignature.DataGrid && updates.length > 1) {
124
- throw new Error(["MUI X: You can't update several rows at once in `apiRef.current.updateRows` on the DataGrid.", 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
124
+ throw new Error(['MUI X: You cannot update several rows at once in `apiRef.current.updateRows` on the DataGrid.', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
125
125
  }
126
126
  const nonPinnedRowsUpdates = [];
127
127
  updates.forEach(update => {
@@ -252,7 +252,7 @@ export const useGridRows = (apiRef, props) => {
252
252
  }, [apiRef, logger]);
253
253
  const replaceRows = React.useCallback((firstRowToRender, newRows) => {
254
254
  if (props.signature === GridSignature.DataGrid && newRows.length > 1) {
255
- throw new Error(["MUI X: You can't replace rows using `apiRef.current.unstable_replaceRows` on the DataGrid.", 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
255
+ throw new Error(['MUI X: You cannot replace rows using `apiRef.current.unstable_replaceRows` on the DataGrid.', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n'));
256
256
  }
257
257
  if (newRows.length === 0) {
258
258
  return;
@@ -27,7 +27,6 @@ export declare const useGridVirtualScroller: () => {
27
27
  role: string;
28
28
  };
29
29
  getRenderZoneProps: () => {
30
- ref: React.RefObject<HTMLDivElement>;
31
30
  role: string;
32
31
  };
33
32
  getScrollbarVerticalProps: () => {