@mui/x-date-pickers-pro 5.0.0-alpha.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 (137) hide show
  1. package/CHANGELOG.md +3785 -0
  2. package/DateRangePicker/DateRangePicker.d.ts +66 -0
  3. package/DateRangePicker/DateRangePicker.js +519 -0
  4. package/DateRangePicker/DateRangePickerInput.d.ts +37 -0
  5. package/DateRangePicker/DateRangePickerInput.js +128 -0
  6. package/DateRangePicker/DateRangePickerToolbar.d.ts +15 -0
  7. package/DateRangePicker/DateRangePickerToolbar.js +59 -0
  8. package/DateRangePicker/DateRangePickerView.d.ts +41 -0
  9. package/DateRangePicker/DateRangePickerView.js +179 -0
  10. package/DateRangePicker/DateRangePickerViewDesktop.d.ts +30 -0
  11. package/DateRangePicker/DateRangePickerViewDesktop.js +154 -0
  12. package/DateRangePicker/DateRangePickerViewMobile.d.ts +15 -0
  13. package/DateRangePicker/DateRangePickerViewMobile.js +60 -0
  14. package/DateRangePicker/date-range-manager.d.ts +14 -0
  15. package/DateRangePicker/date-range-manager.js +43 -0
  16. package/DateRangePicker/index.d.ts +3 -0
  17. package/DateRangePicker/index.js +1 -0
  18. package/DateRangePicker/package.json +6 -0
  19. package/DateRangePickerDay/DateRangePickerDay.d.ts +52 -0
  20. package/DateRangePickerDay/DateRangePickerDay.js +290 -0
  21. package/DateRangePickerDay/dateRangePickerDayClasses.d.ts +29 -0
  22. package/DateRangePickerDay/dateRangePickerDayClasses.js +5 -0
  23. package/DateRangePickerDay/index.d.ts +4 -0
  24. package/DateRangePickerDay/index.js +2 -0
  25. package/DateRangePickerDay/package.json +6 -0
  26. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +66 -0
  27. package/DesktopDateRangePicker/DesktopDateRangePicker.js +485 -0
  28. package/DesktopDateRangePicker/index.d.ts +2 -0
  29. package/DesktopDateRangePicker/index.js +1 -0
  30. package/DesktopDateRangePicker/package.json +6 -0
  31. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +66 -0
  32. package/MobileDateRangePicker/MobileDateRangePicker.js +495 -0
  33. package/MobileDateRangePicker/index.d.ts +2 -0
  34. package/MobileDateRangePicker/index.js +1 -0
  35. package/MobileDateRangePicker/package.json +6 -0
  36. package/README.md +29 -0
  37. package/StaticDateRangePicker/StaticDateRangePicker.d.ts +69 -0
  38. package/StaticDateRangePicker/StaticDateRangePicker.js +455 -0
  39. package/StaticDateRangePicker/index.d.ts +2 -0
  40. package/StaticDateRangePicker/index.js +1 -0
  41. package/StaticDateRangePicker/package.json +6 -0
  42. package/index.d.ts +7 -0
  43. package/index.js +12 -0
  44. package/internal/hooks/validation/useDateRangeValidation.d.ts +12 -0
  45. package/internal/hooks/validation/useDateRangeValidation.js +27 -0
  46. package/internal/models/dateRange.d.ts +8 -0
  47. package/internal/models/dateRange.js +1 -0
  48. package/internal/models/index.d.ts +1 -0
  49. package/internal/models/index.js +1 -0
  50. package/internal/utils/date-utils.d.ts +7 -0
  51. package/internal/utils/date-utils.js +19 -0
  52. package/internal/utils/releaseInfo.d.ts +1 -0
  53. package/internal/utils/releaseInfo.js +15 -0
  54. package/internal/utils/utils.d.ts +1 -0
  55. package/internal/utils/utils.js +1 -0
  56. package/legacy/DateRangePicker/DateRangePicker.js +528 -0
  57. package/legacy/DateRangePicker/DateRangePickerInput.js +141 -0
  58. package/legacy/DateRangePicker/DateRangePickerToolbar.js +66 -0
  59. package/legacy/DateRangePicker/DateRangePickerView.js +184 -0
  60. package/legacy/DateRangePicker/DateRangePickerViewDesktop.js +172 -0
  61. package/legacy/DateRangePicker/DateRangePickerViewMobile.js +63 -0
  62. package/legacy/DateRangePicker/date-range-manager.js +51 -0
  63. package/legacy/DateRangePicker/index.js +1 -0
  64. package/legacy/DateRangePickerDay/DateRangePickerDay.js +296 -0
  65. package/legacy/DateRangePickerDay/dateRangePickerDayClasses.js +5 -0
  66. package/legacy/DateRangePickerDay/index.js +2 -0
  67. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +494 -0
  68. package/legacy/DesktopDateRangePicker/index.js +1 -0
  69. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +504 -0
  70. package/legacy/MobileDateRangePicker/index.js +1 -0
  71. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +465 -0
  72. package/legacy/StaticDateRangePicker/index.js +1 -0
  73. package/legacy/index.js +12 -0
  74. package/legacy/internal/hooks/validation/useDateRangeValidation.js +33 -0
  75. package/legacy/internal/models/dateRange.js +1 -0
  76. package/legacy/internal/models/index.js +1 -0
  77. package/legacy/internal/utils/date-utils.js +22 -0
  78. package/legacy/internal/utils/releaseInfo.js +15 -0
  79. package/legacy/internal/utils/utils.js +1 -0
  80. package/legacy/themeAugmentation/index.js +3 -0
  81. package/modern/DateRangePicker/DateRangePicker.js +519 -0
  82. package/modern/DateRangePicker/DateRangePickerInput.js +124 -0
  83. package/modern/DateRangePicker/DateRangePickerToolbar.js +59 -0
  84. package/modern/DateRangePicker/DateRangePickerView.js +179 -0
  85. package/modern/DateRangePicker/DateRangePickerViewDesktop.js +154 -0
  86. package/modern/DateRangePicker/DateRangePickerViewMobile.js +60 -0
  87. package/modern/DateRangePicker/date-range-manager.js +43 -0
  88. package/modern/DateRangePicker/index.js +1 -0
  89. package/modern/DateRangePickerDay/DateRangePickerDay.js +290 -0
  90. package/modern/DateRangePickerDay/dateRangePickerDayClasses.js +5 -0
  91. package/modern/DateRangePickerDay/index.js +2 -0
  92. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +485 -0
  93. package/modern/DesktopDateRangePicker/index.js +1 -0
  94. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +495 -0
  95. package/modern/MobileDateRangePicker/index.js +1 -0
  96. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +455 -0
  97. package/modern/StaticDateRangePicker/index.js +1 -0
  98. package/modern/index.js +12 -0
  99. package/modern/internal/hooks/validation/useDateRangeValidation.js +27 -0
  100. package/modern/internal/models/dateRange.js +1 -0
  101. package/modern/internal/models/index.js +1 -0
  102. package/modern/internal/utils/date-utils.js +19 -0
  103. package/modern/internal/utils/releaseInfo.js +15 -0
  104. package/modern/internal/utils/utils.js +1 -0
  105. package/modern/themeAugmentation/index.js +3 -0
  106. package/node/DateRangePicker/DateRangePicker.js +540 -0
  107. package/node/DateRangePicker/DateRangePickerInput.js +148 -0
  108. package/node/DateRangePicker/DateRangePickerToolbar.js +79 -0
  109. package/node/DateRangePicker/DateRangePickerView.js +206 -0
  110. package/node/DateRangePicker/DateRangePickerViewDesktop.js +175 -0
  111. package/node/DateRangePicker/DateRangePickerViewMobile.js +80 -0
  112. package/node/DateRangePicker/date-range-manager.js +52 -0
  113. package/node/DateRangePicker/index.js +13 -0
  114. package/node/DateRangePickerDay/DateRangePickerDay.js +315 -0
  115. package/node/DateRangePickerDay/dateRangePickerDayClasses.js +16 -0
  116. package/node/DateRangePickerDay/index.js +27 -0
  117. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +506 -0
  118. package/node/DesktopDateRangePicker/index.js +13 -0
  119. package/node/MobileDateRangePicker/MobileDateRangePicker.js +516 -0
  120. package/node/MobileDateRangePicker/index.js +13 -0
  121. package/node/StaticDateRangePicker/StaticDateRangePicker.js +475 -0
  122. package/node/StaticDateRangePicker/index.js +13 -0
  123. package/node/index.js +105 -0
  124. package/node/internal/hooks/validation/useDateRangeValidation.js +40 -0
  125. package/node/internal/models/dateRange.js +5 -0
  126. package/node/internal/models/index.js +18 -0
  127. package/node/internal/utils/date-utils.js +40 -0
  128. package/node/internal/utils/releaseInfo.js +25 -0
  129. package/node/internal/utils/utils.js +10 -0
  130. package/node/themeAugmentation/index.js +44 -0
  131. package/package.json +77 -0
  132. package/themeAugmentation/components.d.ts +13 -0
  133. package/themeAugmentation/index.d.ts +3 -0
  134. package/themeAugmentation/index.js +3 -0
  135. package/themeAugmentation/overrides.d.ts +13 -0
  136. package/themeAugmentation/package.json +6 -0
  137. package/themeAugmentation/props.d.ts +12 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,3785 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ## 5.8.0
7
+ <!-- generated comparing v5.7.0..master -->
8
+ _Apr 4, 2022_
9
+
10
+ We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🚀 Expose new methods to save and restore the grid state (#4028) @flaviendelangle
13
+
14
+ The different methods to save and restore the data-grid state are now [documented](mui.com/components/data-grid/state/#save-and-restore-the-state)
15
+
16
+ - ⌚️ Move date and time picker components from the lab (#3451) @flaviendelangle
17
+
18
+ Date and time picker components have been moved to the MUI-X repo.
19
+ They are now accessible in their own packages: `@mui/x-date-pickers` and `@mui/x-date-pickers-pro`.
20
+ For more information, you can read the [blog article](https://mui.com/blog/lab-pickers-to-mui-x) and the [migration guide](https://mui.com/x/react-date-pickers/migration-lab)
21
+
22
+ - 📝 Add `onProcessRowUpdateError` prop to simplify error management in edit mode (#4267) @m4theushw
23
+ - ✨ Add generic typing to `GridColDef` and derived interfaces (#4064) @flaviendelangle
24
+
25
+ You can now strongly type all the objects related to the row and the cell values.
26
+ Here is an example, you can find out more in the description of #4064.
27
+
28
+ ```tsx
29
+ const rows: Movie[] = [];
30
+
31
+ return (
32
+ <DataGrid
33
+ rows={rows}
34
+ columns={[{
35
+ // typeof params.row => Movie (R)
36
+ valueGetter: params => params.row.year,
37
+ }]}
38
+ />
39
+ );
40
+ ```
41
+
42
+ ### `@mui/x-data-grid@v5.8.0` / `@mui/x-data-grid-pro@v5.8.0`
43
+
44
+ #### Changes
45
+
46
+ - [DataGrid] Add `onProcessRowUpdateError` prop (#4267) @m4theushw
47
+ - [DataGrid] Add generic typing to `GridColDef` and derived interfaces (#4064) @flaviendelangle
48
+ - [DataGrid] Add missing classes on `gridClasses` and `gridPanelClasses` (#4273) @flaviendelangle
49
+ - [DataGrid] Add `onPreferencePanelClose`/`onPreferencePanelOpen` props (#4265) @kyeongsoosoo
50
+ - [DataGrid] Add slot for filter icon button (#4276) @m4theushw
51
+ - [DataGrid] Add the documentation of the portable state (#4028) @flaviendelangle
52
+ - [DataGrid] Allow to use keyboard navigation even with no rows (#4302) @alexfauquette
53
+ - [DataGrid] Fix inconsistency in the border of the last column (#4224) @alexfauquette
54
+ - [DataGrid] Fix overlay blocking scrollbar when rows is empty (#4281) @m4theushw
55
+ - [DataGrid] Improve selection with keyboard (#4157) @flaviendelangle
56
+ - [DataGrid] Scroll to the top of the page when changing page (#4272) @flaviendelangle
57
+ - [l10n] Improve Danish (da-DK) locale (#4271) @simplenotezy
58
+
59
+ ### `@mui/x-date-pickers@v5.0.0-alpha.0` / `@mui/x-date-pickers-pro@v5.0.0-alpha.0`
60
+
61
+ #### Changes
62
+
63
+ - [DatePicker] Import date-picker components from the lab (#3451) @flaviendelangle
64
+
65
+ ### Docs
66
+
67
+ - [docs] Create an home page for "Advanced Components" (#4298) @flaviendelangle
68
+ - [docs] Update installation docs (#4259) @cherniavskii
69
+ - [docs] New page for the migration of date and time pickers from the lab (#4327) @flaviendelangle
70
+
71
+ ### Core
72
+
73
+ - [core] Fix typo in issue template @oliviertassinari
74
+ - [core] Move last variables outside of the models folder (#4303) @flaviendelangle
75
+ - [core] Remove dead code (#4283) @oliviertassinari
76
+ - [core] Rename the "pre-processing" concept "pipe-processing" (#4261) @flaviendelangle
77
+ - [core] Reuse previous state when updating the columns prop (#4229) @m4theushw
78
+ - [core] Fix Argos flakyness for pickers tests (#4312) @flaviendelangle
79
+
80
+ ## 5.7.0
81
+
82
+ _Mar 24, 2022_
83
+
84
+ We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
85
+
86
+ - ✏ Add a new editing API with better support for server-side persistence and validation (#3963, #4060) @m4theushw
87
+
88
+ The new API is stable, but to avoid any breaking changes or conflicts with the old API, you must add the following flag to access it:
89
+
90
+ ```tsx
91
+ <DataGrid experimentalFeatures={{ newEditingApi: true }} />
92
+ ```
93
+
94
+ ⚠ Users relying on the old API (legacy) don't need to worry as it will continue to work until v6.
95
+
96
+ The new API also features brand new documentation with more useful demos and guides explaining how to create custom edit components.
97
+ Visit the new [documentation](https://mui.com/components/data-grid/editing/) for more information.
98
+
99
+ - 📚 Documentation improvements
100
+ - 🐞 Bug and typo fixes
101
+
102
+ ### `@mui/x-data-grid@v5.7.0` / `@mui/x-data-grid-pro@v5.7.0`
103
+
104
+ #### Changes
105
+
106
+ - [DataGrid] Add column order and dimensions to the portable state (#3816) @flaviendelangle
107
+ - [DataGrid] Add new editing API (#3963) @m4theushw
108
+ - [DataGrid] Allow to customize `ColumnsPanel` with `componentsProps` prop (#4207) @alexfauquette
109
+ - [DataGrid] Do not unselect row when <kbd>Shift</kbd> + click on the last selected row of a range (#4196) @flaviendelangle
110
+ - [DataGrid] Fix `showCellRightBorder` not working in the last row (#4140) @cherniavskii
111
+ - [DataGrid] Fix error overlay not visible when `autoHeight` is enabled (#4110) @cherniavskii
112
+ - [DataGrid] Fix white blank when scrolling (#4158) @alexfauquette
113
+ - [DataGrid] Adjust type of the `description` prop in `GridColumnHeaderTitle` (#4247) @baahrens
114
+ - [DataGrid] Fix focus after stopping row edit mode (#4252) @m4theushw
115
+ - [DataGridPro] Fix pinned columns edge overflow with custom `borderRadius` (#4188) @socramm9
116
+ - [DataGridPro] Fix tab switching order with pinned columns and `editMode="row"` (#4198) @cherniavskii
117
+ - [l10n] Improve Persian (fa-IR) locale (#4227) @SaeedZhiany
118
+ - [l10n] Improve Polish (pl-PL) locale (#4153) @pbmchc
119
+ - [l10n] Improve Arabic (ar-SD) locale (#4212) @shadigaafar
120
+ - [l10n] Improve Korean (ko-KR) locale (#4245) @kyeongsoosoo
121
+
122
+ ### Docs
123
+
124
+ - [docs] Clean demo (#4073) @alexfauquette
125
+ - [docs] Delete restore state demos (#4220) @flaviendelangle
126
+ - [docs] Document Print export `X-Frame-Options` limitation (#4222) @DanailH
127
+ - [docs] Add docs for the new editing API (#4060) @m4theushw
128
+ - [docs] Explain how to use `printOptions.pageStyle` (#4138) @alexfauquette
129
+ - [docs] Fix 301 links (#4165) @oliviertassinari
130
+ - [docs] Fix 404 API links (#4164) @oliviertassinari
131
+ - [docs] Fix broken anchor links (#4162) @alexfauquette
132
+ - [docs] Remove useless `apiRef` from demos (#4221) @flaviendelangle
133
+ - [docs] Sync the headers with core (#4195) @oliviertassinari
134
+
135
+ ### Core
136
+
137
+ - [core] Add CLI to decode license key (#4126) @flaviendelangle
138
+ - [core] Fix Lerna package change detection (#4202) @oliviertassinari
139
+ - [core] Implement strategy pattern for pre-processors (#4030) @flaviendelangle
140
+ - [core] Keep same reference to the column visibility model if no column has changed (#4154) @m4theushw
141
+ - [core] Prepare `@mui/x-license-pro` for date pickers (#4123) @flaviendelangle
142
+ - [core] Remove datagen from `@mui/x-data-grid-generator` bundle (#4163) @m4theushw
143
+ - [core] Remove lodash `isDeepEqual` (#4159) @flaviendelangle
144
+ - [core] Use a pipe processor for `GridPreferencePanel` children (#4216) @flaviendelangle
145
+ - [core] Add markdown documentation for contributors (#3447) @alexfauquette
146
+ - [test] Add regression test for `showCellRightBorder` (#4191) @cherniavskii
147
+ - [test] Mock `getComputedStyle` to speed up unit tests (#4142) @m4theushw
148
+ - [test] Upgrade CircleCI convenience image (#4143) @m4theushw
149
+
150
+ ## 5.6.1
151
+
152
+ _Mar 10, 2022_
153
+
154
+ We'd like to offer a big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
155
+
156
+ - ✨ Allow to add margins or borders between rows (#3848) @m4theushw
157
+
158
+ ```tsx
159
+ <DataGrid getRowSpacing={() => ({ top: 10, bottom: 10 })} />
160
+ ```
161
+
162
+ Check the [documentation](https://mui.com/components/data-grid/rows/#row-spacing) for more information.
163
+
164
+ ### `@mui/x-data-grid@v5.6.1` / `@mui/x-data-grid-pro@v5.6.1`
165
+
166
+ #### Changes
167
+
168
+ - [DataGrid] Display column's filter icon if a filter is applied (#4120) @DanailH
169
+ - [DataGrid] Do not loop through rows to compute top level rows count when the tree is flat (#4081) @flaviendelangle
170
+ - [DataGrid] Rename API method (#4148) @m4theushw
171
+ - [DataGrid] Support extending built-in column types (#4114) @cherniavskii
172
+ - [DataGridPro] Re-export the components removed by mistake during bundle split (#4134) @flaviendelangle
173
+
174
+ ### Docs
175
+
176
+ - [docs] Fix links to prevent duplicate search result (#4130) @siriwatknp
177
+ - [docs] Fix outdated links to `localeTextConstants.ts` (#4080) @patilvishal755
178
+ - [docs] Neglect e2e tests related to search (#4118) @siriwatknp
179
+ - [docs] Use regex instead of specific url in e2e-website-tests (#4121) @siriwatknp
180
+
181
+ ### Core
182
+
183
+ - [core] Enforce `noImplicitAny` (#4084) @cherniavskii
184
+ - [core] Improve the Pro support issue template (#4082) @oliviertassinari
185
+ - [core] Initialize remaining states before feature hooks (#4036) @m4theushw
186
+ - [core] Merge `page` and `pageSize` state initializer into a single `pagination` state initializer (#4087) @flaviendelangle
187
+ - [core] Prepare `yarn docs:api:build` scripts for multi packages support (#4111) @flaviendelangle
188
+ - [core] Upgrade `@mui/monorepo` (#4149) @cherniavskii
189
+ - [core] Use `buildWarning` and `wrapWithWarningOnCall` for deprecated methods and wrong usages (#4056) @flaviendelangle
190
+ - [test] Make focus state out-of-sync warning opt-in (#4129) @m4theushw
191
+ - [test] Only test custom input keyboard event in edit mode (#4075) @alexfauquette
192
+
193
+ ## 5.6.0
194
+
195
+ _Mar 4, 2022_
196
+
197
+ We'd like to offer a big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
198
+
199
+ - 📦 Use the same bundling scripts as those in the [material-ui](https://github.com/mui/material-ui) repository (#3965) @flaviendelangle
200
+
201
+ The code structure and the bundling strategy have been modified to provide better isolation between components.
202
+ The bundle size is slightly reduced, but with tree shaking, the doors are open for significant gains in the future. 🏋
203
+ We predict that such modifications could potentially impact edge cases.
204
+ If you encounter problems with your build, please open an issue.
205
+ These issues will have high priority as part of our risk mitigation strategy.
206
+
207
+ - 🧼 Clean and document the column selectors (#4010) @flaviendelangle
208
+
209
+ Column selectors have been renamed to improve clarity.
210
+ The old names have been deprecated and will be removed in v6.
211
+ Here are the new names and the modifications needed to get the same information with the new selectors.
212
+
213
+ | Old name | New name |
214
+ | ------------------------------- | ----------------------------------------- |
215
+ | `allGridColumnsFieldsSelector` | `gridColumnFieldsSelector` |
216
+ | `allGridColumnsSelector` | `gridColumnDefinitionsSelector` |
217
+ | `visibleGridColumnsSelector` | `gridVisibleColumnDefinitionsSelector` |
218
+ | `filterableGridColumnsSelector` | `gridFilterableColumnDefinitionsSelector` |
219
+
220
+ ```diff
221
+ -const { all, lookup, columnVisibilityModel } = gridColumnsSelector(apiRef)
222
+ +const all = gridColumnFieldsSelector(apiRef)
223
+ +const lookup = gridColumnLookupSelector(apiRef)
224
+ +const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef)
225
+
226
+ -const filterableFields = filterableGridColumnsIdsSelector(apiRef);
227
+ +const lookup = gridFilterableColumnLookupSelector(apiRef);
228
+ +const filterableFields = gridColumnFieldsSelector(apiRef).filter(field => lookup[field]);
229
+
230
+ -const visibleColumnsNumber = visibleGridColumnsLengthSelector(apiRef);
231
+ +const visibleColumnsNumber = gridVisibleColumnDefinitionsSelector(apiRef).length;
232
+
233
+ -const { totalWidth, positions } = gridColumnsMetaSelector(apiRef);
234
+ +const totalWidth = gridColumnsTotalWidthSelector(apiRef);
235
+ +const positions = gridColumnPositionsSelector(apiRef);
236
+ ```
237
+
238
+ - 📚 Documentation improvements
239
+ - 🐞 Bug and typo fixes
240
+
241
+ ### `@mui/x-data-grid@v5.6.0` / `@mui/x-data-grid-pro@v5.6.0`
242
+
243
+ #### Changes
244
+
245
+ - [DataGrid] Add slot for filter panel delete icon (#4069) @Hameezr
246
+ - [DataGrid] Add specific label for `linkOperator` (#3915) @alexfauquette
247
+ - [DataGrid] Allow for truncated and multiline content in grid cells (#3955) @DanailH
248
+ - [DataGrid] Allow to navigate between cells with keyboard once inside an `actions` column (#3375) @m4theushw
249
+ - [DataGrid] Fix desynchronization between rows and header when sorting (#4058) @alexfauquette
250
+ - [DataGrid] Clean and document the columns selector (#4010) @flaviendelangle
251
+ - [DataGrid] Deprecate and stop typing the api params of `GridCellParams`/`GridValueGetterParams` and affiliated (#4089) @ flaviendelangle
252
+ - [DataGrid] Differentiate the Pro and Community versions of `GridState`, `GridApi` and `GridApiRef` (#3648) @flaviendelangle
253
+ - [DataGrid] Fix column selection for print export (#3917) @alexfauquette
254
+ - [DataGrid] Fix horizontal scroll not working on empty grid (#3821) @cherniavskii
255
+ - [DataGrid] Fix input element in custom header (#3624) @alexfauquette
256
+ - [DataGrid] Improve `singleSelect` filter performance (#3956) @cherniavskii
257
+ - [DataGrid] Improve custom overlay slots positioning (#3832) @cherniavskii
258
+ - [DataGrid] Improve `flex` implementation match the W3C standard (#4006) @cherniavskii
259
+ - [DataGrid] Improve the invalid `sortModel` and `filterModel` warnings (#3671) @flaviendelangle
260
+ - [DataGrid] Memoize `Popper` modifiers passed to panel (#3975) @m4theushw
261
+ - [DataGrid] Prevent focus while `Popper` is not fully positioned (#4067) @m4theushw
262
+ - [DataGrid] Remove `GridCell`'s `borderBottom` when it is the last row (#3519) @DanailH
263
+ - [DataGrid] Remove padding from the header title (#3691) @valenfv
264
+ - [DataGrid] Reuse previous `rowNode` when building tree and the new `rowNode` is equal to the previous one (#3961) @flaviendelangle
265
+ - [DataGrid] Remove last filter item when no value to clean and close the filter panel (#3910) @alexfauquette
266
+ - [DataGrid] Send warning when the `rowCount` is not provided while using server pagination (#3902) @alexfauquette
267
+ - [DataGrid] Stop checkbox ripple on blur (#3835) @m4theushw
268
+ - [DataGrid] Stop calling `onRowClick` when clicking in cells with interactive elements (#3929) @m4theushw
269
+ - [DataGrid] Use only `headerName` when available to search column (#3959) @pkratz
270
+ - [DataGrid] Use the bundling scripts as the packages published by the [https://github.com/mui/material-ui](material-ui) repository (#3965) @flaviendelangle
271
+ - [DataGridPro] Add `unstable_setRowHeight` method to `apiRef` (#3751) @cherniavskii
272
+ - [DataGridPro] Always export the `pageSize` and `page` when it has been initialized or is being controlled (#3908) @flaviendelangle
273
+ - [DataGridPro] Disable export for detail panel column (#4057) @gustavhagland
274
+ - [DataGridPremium] Support `valueFormatter` on the grouping column (#4022) @flaviendelangle
275
+ - [l10n] Improve Bulgarian (bg-BG) locale (#3949) @DanailH
276
+ - [l10n] Improve German (de-DE) locale (#4077) @sebastianfrey
277
+ - [l10n] Improve Hebrew (he-IL) locale (#3930) @ColdAtNight
278
+
279
+ ### Docs
280
+
281
+ - [docs] Add example of custom operator based on built-in ones (#3911) @flaviendelangle
282
+ - [docs] Add missing words in the filtering page (#4079) @flaviendelangle
283
+ - [docs] Avoid crash in demos using row grouping and custom formatted cells (#4065) @m4theushw
284
+ - [docs] Fix `Commodity` and `Employee` CSV export of the `country` column (#3912) @DanailH
285
+ - [docs] Fix links to the GitHub repository (#4005) @oliviertassinari
286
+ - [docs] Fix typo (#3923) @oliviertassinari
287
+ - [docs] Fix typo (#4016) @MathisBurger
288
+ - [docs] Fix typo in client-side validation example (#4066) @krallj
289
+ - [docs] Remove useless hide id column (#4021) @alexfauquette
290
+
291
+ ### Core
292
+
293
+ - [core] Allows to add custom export item (#3891) @alexfauquette
294
+ - [core] Remove the `_modules_` folder (#3953) @flaviendelangle
295
+ - [core] Fix typo in `useGridScroll.ts` (#3973) @HexM7
296
+ - [core] Fix typos, improve wordings and other various fixes (#4062) @flaviendelangle
297
+ - [core] Initialize states before feature hooks (#3896) @m4theushw
298
+ - [code] Make `@mui/x-data-grid-pro` import shared code from `@mui/x-data-grid` (#3688) @flaviendelangle
299
+ - [core] Migrate `@mui/x-license-pro` to the new bundling strategy (#3738) @flaviendelangle
300
+ - [core] Reduce usage of `useGridSelector` inside feature hooks (#3978) @flaviendelangle
301
+ - [core] Retry l10n CI if 502 returned (#3977) @alexfauquette
302
+ - [core] Update release instructions (#3920) @cherniavskii
303
+ - [core] Use international locale format (#3921) @oliviertassinari
304
+ - [core] Fix license generating script (#4055) @Janpot
305
+ - [test] Add screenshot of the filter panel (#4072) @alexfauquette
306
+ - [test] Reduce memory usage to run unit tests (#4031) @m4theushw
307
+ - [test] Skip test on Firefox (#3926) @m4theushw
308
+
309
+ ## 5.5.1
310
+
311
+ _Feb 10, 2022_
312
+
313
+ A big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
314
+
315
+ - 🎛 Add props to customize the behavior of the filter panel (#3497) @alexfauquette
316
+
317
+ ```tsx
318
+ <DataGrid
319
+ componentsProps={{
320
+ filterPanel: { columnsSort: 'asc' },
321
+ }}
322
+ />
323
+ ```
324
+
325
+ Check the [documentation](https://mui.com/components/data-grid/filtering/#customize-the-filter-panel-content) to see all available props.
326
+
327
+ - 📚 Documentation improvements
328
+ - 🐞 Bugfixes
329
+
330
+ ### `@mui/x-data-grid@v5.5.1` / `@mui/x-data-grid-pro@v5.5.1`
331
+
332
+ - [DataGrid] Add `debounceMs` option to `setEditCellValue` method (#3825) @m4theushw
333
+ - [DataGrid] Allow to translate `checkboxSelection` labels (#3846) @m4theushw
334
+ - [DataGrid] Customize the filter panel with props (#3497) @alexfauquette
335
+ - [DataGrid] Fix filtering of string columns for `value = 0` (#3843) @flaviendelangle
336
+ - [DataGrid] Fix focus when `blur` event rerenders the grid (#3718) @alexfauquette
337
+ - [DataGridPro] Add clear error when the tree data has duplicated paths (#3840) @flaviendelangle
338
+ - [DataGridPro] Avoid imports from `@mui/base` (#3903) @cherniavskii
339
+ - [DataGridPro] Register column pinning after selection (#3887) @m4theushw
340
+ - [l10n] Improve Turkish (tr-TR) locale (#3842) @atillaaliyev
341
+
342
+ ### Docs
343
+
344
+ - [docs] Update v5 migration docs (#3847) @oliviertassinari
345
+ - [docs] Fix sorting feature link (#3877) @alexfauquette
346
+ - [docs] Migrate content to the new location (#3730) @siriwatknp
347
+ - [docs] Unify multi-filtering introduction with the multi-sorting introduction (#3766) @flaviendelangle
348
+ - [docs] Move row grouping to Premium plan (#3827) @alexfauquette
349
+ - [docs] Reorganize export docs to prepare Excel export doc (#3822) @alexfauquette
350
+
351
+ ### Core
352
+
353
+ - [core] Add hook `useGridPagination` to call `onGridPage` and `onGridPageSize` (#3880) @flaviendelangle
354
+ - [core] Fix docs deploy script (#3874) @oliviertassinari
355
+ - [core] Move the git repository to a new location (#3872) @oliviertassinari
356
+ - [test] Add `codecov` (#3873) @oliviertassinari
357
+
358
+ ## 5.5.0
359
+
360
+ _Feb 3, 2022_
361
+
362
+ A big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
363
+
364
+ - 🎁 Add support for [master/detail](https://mui.com/components/data-grid/group-pivot/#master-detail) (#3387) @m4theushw
365
+
366
+ <img src="https://user-images.githubusercontent.com/42154031/152379354-47120aac-2b37-4a90-b311-64b4522283b9.gif" width="814">
367
+
368
+ - 🌍 Add Danish (da-DK) locale (#3800) @kasperfilstrup
369
+ - 📚 Documentation improvements
370
+ - 🐞 Bugfixes
371
+
372
+ ### `@mui/x-data-grid@v5.5.0` / `@mui/x-data-grid-pro@v5.5.0`
373
+
374
+ #### Changes
375
+
376
+ - [DataGrid] Add methods to import and export the state (#3593) @flaviendelangle
377
+ - [DataGrid] Fix <kbd>PageUp</kbd> jumping directly to the column header skipping the first row (#3761) @cherniavskii
378
+ - [DataGrid] Throw an error if incorrect column type is used (#3757) @DanailH
379
+ - [DataGridPro] Add support for master/detail (#3387) @m4theushw
380
+ - [l10n] Add Danish (da-DK) locale (#3800) @kasperfilstrup
381
+ - [l10n] Improve Dutch (nl-NL) locale (#3724) @MatthijsKok
382
+ - [l10n] Improve Hebrew (he-IL) locale (#3775) @ColdAtNight
383
+ - [l10n] Improve Russian (ru-RU) locale (#3818) @Leniorko
384
+
385
+ ### Docs
386
+
387
+ - [docs] Add default value for `Row` slot (#3807) @cherniavskii
388
+ - [docs] Extend full width (#3815) @m4theushw
389
+ - [docs] Fix country column sorting not working (#3740) @cherniavskii
390
+ - [docs] Fix custom render cell when row is auto generated (#3810) @alexfauquette
391
+ - [docs] Fix flag layout shift (#3773) @oliviertassinari
392
+ - [docs] Mention row `id` requirement and document `getRowId` prop (#3765) @cherniavskii
393
+ - [docs] Refresh the license key documentation (#3529) @oliviertassinari
394
+
395
+ ### Core
396
+
397
+ - [core] Clean `filtering.DataGrid.test.tsx` (#3768) @flaviendelangle
398
+ - [core] Improve GitHub label workflows (#3680) @DanailH
399
+ - [core] Isolate selectors called without `useGridSelector` (#3774) @m4theushw
400
+ - [core] Prepare infra for pickers migration (#3714) @flaviendelangle
401
+ - [core] Remove none code related instructions from git (#3794) @oliviertassinari
402
+ - [core] Remove remaining usages of `@mui/styles` (#3769) @m4theushw
403
+ - [core] Remove Stylelint (#3811) @m4theushw
404
+ - [core] Split cell / row editing into different hooks (#3219) @m4theushw
405
+ - [core] Stop using an enum for `GridPreProcessingGroup` (#3798) @flaviendelangle
406
+ - [core] Fix failing tests (#3817) @cherniavskii
407
+ - [code] Fix `docs:api` silent crash (#3808) @cherniavskii
408
+ - [test] Increase timeout for Firefox (#3813) @m4theushw
409
+
410
+ ## 5.4.0
411
+
412
+ _Jan 28, 2022_
413
+
414
+ A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
415
+
416
+ - 🚣 Introduce [variable row height](https://mui.com/components/data-grid/rows/#variable-row-height) (#438) @DanailH
417
+
418
+ Allows for setting a row-specific height.
419
+ By default, all rows have the same height, but now you can set the height on a per-row basis.
420
+
421
+ ```tsx
422
+ <DataGrid getRowHeight={({ id }: GridRowHeightParams) => (id % 2 === 0 ? 100 : null)} />
423
+ ```
424
+
425
+ - 🎁 Add new CSV export option: [`getRowsToExport`](https://mui.com/components/data-grid/export/#custom-exported-content) (#3687) @flaviendelangle
426
+ - 📚 Documentation improvements
427
+ - 🐞 Bugfixes
428
+
429
+ ### `@mui/x-data-grid@v5.4.0` / `@mui/x-data-grid-pro@v5.4.0`
430
+
431
+ #### Changes
432
+
433
+ - [DataGrid] Add l10n support for `is any of` (#3746) @alexfauquette
434
+ - [DataGrid] Add new CSV `getRowsToExport` option (#3687) @flaviendelangle
435
+ - [DataGrid] Clean params of `onCellEditCommit` (#3693) @valenfv
436
+ - [DataGrid] Create a new lookup with all the filtered rows, collapsed or not (#3736) @flaviendelangle
437
+ - [DataGrid] Fix Alt+c being ignored on some systems (#3660) @cherniavskii
438
+ - [DataGrid] Fix `isRowSelectable` when `paginationMode='server'` (#3647) @flaviendelangle
439
+ - [DataGrid] Fix browser keyboard shortcuts not working when header cell is focused (#3692) @valenfv
440
+ - [DataGrid] Fix focus on checkbox cells (#3501) @alexfauquette
441
+ - [DataGrid] Only update the visibility status of the updated columns when calling `apiRef.current.updateRows` (#3735) @flaviendelangle
442
+ - [DataGrid] Prevent commit if `preProcessEditCellProps` resolves with an error (#3612) @m4theushw
443
+ - [DataGrid] Update selected rows when turning off `checkboxSelection` (#3684) @m4theushw
444
+ - [DataGrid] Variable row height (#3218) @DanailH
445
+ - [DataGridPro] Call `useGridColumnPinning` before `useGridColumns` (#3676) @flaviendelangle
446
+ - [DataGridPro] Fix grid cell losing focus when scrolling with keyboard (#3667) @cherniavskii
447
+ - [DataGridPro] Fix missing `styleOverrides` on pinned columns (#3733) @alexfauquette
448
+ - [DataGridPro] Remove function overloading for `useGridApiRef` (#3666) @flaviendelangle
449
+ - [l10n] Improve French (fr-FR) locale (#3739) @flaviendelangle
450
+ - [l10n] Improve Italian (it-IT) locale (#3744) @destegabry
451
+
452
+ ### Docs
453
+
454
+ - [docs] Fix broken code example on the localization page (#3742) @flaviendelangle
455
+ - [docs] Fix typo in column visibility example (#3734) @flaviendelangle
456
+ - [docs] Fix typo on `columnVisibilityModel` (#3723) @alexfauquette
457
+ - [docs] Improve sorting documentation page (#3564) @flaviendelangle
458
+ - [docs] Improve `v5.3.0` release notes (#3722) @cherniavskii
459
+ - [docs] Prepare scripts and E2E tests for migration (#3515) @siriwatknp
460
+ - [docs] Clarify what is the professional support (#3530) @oliviertassinari
461
+
462
+ ### Core
463
+
464
+ - [core] Add ESLint rule to force default export equals to filename in documentation (#3674) @alexfauquette
465
+ - [core] Fix `l10n` script not updating `cs-CZ` locale (#3748) @cherniavskii
466
+ - [core] Generate CHANGELOG from GitHub API (#3313) @alexfauquette
467
+ - [core] Isolate selectors from different grid instances (#3663) @m4theushw
468
+ - [test] Improve test detection (#3728) @m4theushw
469
+ - [test] Include module augmentation for Chai custom matchers (#3754) @m4theushw
470
+ - [test] Remove a useless `async` (#3675) @alexfauquette
471
+ - [test] Remove remaining `@ts-expect-error` (#3762) @m4theushw
472
+ - [test] Skip test on Firefox (#3752) @m4theushw
473
+ - [test] Wait for flags to load before creating snapshots (#3726) @m4theushw
474
+ - [test] Warn when focusing cells without syncing the state (#3486) @m4theushw
475
+
476
+ ## 5.3.0
477
+
478
+ _Jan 21, 2022_
479
+
480
+ A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
481
+
482
+ - 🎁 Allow to group rows based on column value (#3277) @flaviendelangle
483
+
484
+ ⚠️ This feature is temporarily available on the Pro plan until the release of the Premium plan.
485
+
486
+ To avoid future regression for users of the Pro plan, the feature needs to be explicitly activated using the rowGrouping experimental feature flag.
487
+
488
+ ```tsx
489
+ // To fully control
490
+ <DataGridPro
491
+ rowGroupingModel={rowGroupingModel}
492
+ onRowGroupingModel={newModel => setRowGroupingModel(newModel)}
493
+ experimentalFeatures={{ rowGrouping: true }}
494
+ />
495
+
496
+ // To initialize without controlling
497
+ <DataGridPro
498
+ initialState={{
499
+ rowGrouping: {
500
+ model: rowGroupingModel,
501
+ },
502
+ }}
503
+ experimentalFeatures={{ rowGrouping: true }}
504
+ />
505
+ ```
506
+
507
+ For more details see the [introduction blog post](https://mui.com/blog/introducing-the-row-grouping-feature/) and [documentation](https://mui.com/components/data-grid/group-pivot/#row-grouping).
508
+
509
+ - ⚡ Add `is any of` filter operator (#2874) @alexfauquette
510
+
511
+ The new filter operator `is any of` allows the user to provide multiple values. It opens access to complex filtering pattern mixing `AND` and `OR` logic connectors, such as `status is any of filled or rejected, and currency is any of EUR or USD`.
512
+
513
+ <img src="https://user-images.githubusercontent.com/45398769/150486348-996a938f-db24-426f-bfe3-c06337f71807.gif" width="770">
514
+
515
+ - ✨ Introduce a `maxWidth` property in `GridColDef` (#3550) @flaviendelangle
516
+
517
+ You can now limit the width of the flex columns and the resizable columns with the new `maxWidth` property on `GridColDef`.
518
+
519
+ ```tsx
520
+ const columns: GridColDef[] = [
521
+ { field: 'director', flex: 1, maxWidth: 200 }, // will take the free space up to 200px and will not be resizable above 200px
522
+ { field: 'year', maxWidth: 150 }, // will not be resizable above 150px
523
+ ];
524
+ ```
525
+
526
+ - 🚀 Add component slots for a subset of used `@mui/material` components (#3490) @DanailH
527
+
528
+ To make the grid more flexible we added component slots for base `@mui/material` components that we use. Those component slots are prefixed with `Base` to differentiate them from the other grid specific components
529
+
530
+ For more information check the documentation [documentation](https://mui.com/api/data-grid/data-grid/#slots).
531
+
532
+ - 🔥 Allow to pass `csvOptions` and `printOptions` to `toolbar` component prop (#3623) @flaviendelangle
533
+
534
+ ```tsx
535
+ const CustomDataGrid = (props: DataGridProps) => {
536
+ return (
537
+ <DataGrid {...props} componentsProps={{ toolbar: { csvOptions: { delimiter: ';' } } }} />
538
+ );
539
+ };
540
+ ```
541
+
542
+ - 🙈 Add controlled behavior for the visible columns (#3554) @flaviendelangle
543
+
544
+ ```tsx
545
+ // To fully control
546
+ <DataGrid
547
+ columnVisibilityModel={columnVisibilityModel}
548
+ onColumnVisilibilityModelChange={newModel => setColumnVisibilityModel(newModel)}
549
+ />
550
+
551
+ // To initialize without controlling
552
+ <DataGrid
553
+ initialState={{
554
+ columns: {
555
+ columnVisibilityModel
556
+ }
557
+ }}
558
+ />
559
+ ```
560
+
561
+ See the [documentation](https://mui.com/components/data-grid/columns/#column-visibility) for more details.
562
+
563
+ The `hide` property from `GridColDef` still works but has been deprecated.
564
+
565
+ - 📚 Documentation improvements
566
+ - 🐞 Bugfixes
567
+
568
+ ### `@mui/x-data-grid@v5.3.0` / `@mui/x-data-grid-pro@v5.3.0`
569
+
570
+ #### Changes
571
+
572
+ - [DataGrid] Add component slots for a subset of used `@mui/material` components (#3490) @DanailH
573
+ - [DataGrid] Add controlled behavior for the visible columns (#3554) @flaviendelangle
574
+ - [DataGrid] Add debounce to text input (#3617) @m4theushw
575
+ - [DataGrid] Add `is any of` filter operator (#2874) @alexfauquette
576
+ - [DataGrid] Allow to pass `csvOptions` and `printOptions` to `GridToolbar` (#3623) @flaviendelangle
577
+ - [DataGrid] Disable `Hide` button if there's only one visible column (#3607) @cherniavskii
578
+ - [DataGrid] Fix line break characters breaking CSV rows (#3590) @cherniavskii
579
+ - [DataGrid] Fix potential memory leak warning (#3558) @m4theushw
580
+ - [DataGrid] Introduce a `maxWidth` property in `GridColDef` (#3550) @flaviendelangle
581
+ - [DataGrid] Make row editing work with `preProcessEditCellProps` (#3562) @flaviendelangle
582
+ - [DataGridPro] Export the column pinning selector (#3594) @flaviendelangle
583
+ - [DataGridPro] Keep row children expansion when updating the rows (#3604) @flaviendelangle
584
+ - [DataGridPro] Keep tree data grouping column width when regenerating the columns (#3603) @flaviendelangle
585
+ - [DataGridPremium] Allow to group rows based on column value (#3277) @flaviendelangle
586
+ - [l10n] Improve Finnish (fi-FI) locale (#3621) @MijMa
587
+ - [l10n] Improve Ukrainian (uk-UA) locale (#3586) @Neonin
588
+ - [l10n] Improve Czech (cs-CZ) and Slovak (sk-SK) locale (#3678) @Haaxor1689
589
+
590
+ ### Docs
591
+
592
+ - [docs] Add doc example for tree data children lazy loading (#3657) @flaviendelangle
593
+ - [docs] Fix typo exchanging `false` and `true` on columns hiding section (#3561) @alexfauquette
594
+ - [docs] Improve filtering documentation page (#3437) @flaviendelangle
595
+ - [docs] Include header badges as in the other components (#3606) @oliviertassinari
596
+ - [docs] Lint markdown in the CI (#3504) @oliviertassinari
597
+ - [docs] Make inputs to extend full height of the cell (#3567) @m4theushw
598
+ - [docs] Add documentation page about the grid state (#3431) @flaviendelangle
599
+ - [docs] Replace `@mui/styles` in `x-data-grid-generator` (#3560) @m4theushw
600
+ - [docs] Update usage of prop/property naming (#3649) @cherniavskii
601
+
602
+ ### Core
603
+
604
+ - [core] Log the output of the script (#3527) @oliviertassinari
605
+ - [core] Add ESLint rule to prevent direct state access (#3521) @m4theushw
606
+ - [core] Add language to markdown code block (#3651) @m4theushw
607
+ - [core] Add typing to the pre-processors methods (#3595) @flaviendelangle
608
+ - [core] Don't bump peer dependency ranges on dependency updates (#3646) @oliviertassinari
609
+ - [core] Rename more instances of Material-UI to MUI (#3525) @oliviertassinari
610
+ - [core] Renovate should not try to update node (#3645) @oliviertassinari
611
+ - [core] Report performance test results on each PR (#3551) @m4theushw
612
+ - [core] Update monorepo (#3653) @m4theushw
613
+ - [core] Update `l10n` issue with a single command line (#3588) @alexfauquette
614
+ - [test] Wait for promise to resolve before expect (#3597) @m4theushw
615
+ - [test] Split cell/row editing tests (#3618) @m4theushw
616
+ - [test] Skip tests on Safari (#3679) @m4theushw
617
+
618
+ ## 5.2.2
619
+
620
+ _Jan 6, 2022_
621
+
622
+ A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
623
+
624
+ - 🎁 Add `hideable` option to `GridColDef` (#3433) @m4theushw
625
+ - ⚡ Add support for column-based `sortingOrder` with the new `sortingOrder` option in `GridColDef` (#3449) @Quppa
626
+ - ✨ Allow to initialize the `page` and `pageSize` without controlling them with the `initialState` prop (#3495) @flaviendelangle
627
+ - 🙈 Allow to precisely control which children rows to expand with the new `isGroupExpandedByDefault` prop (#3444) @flaviendelangle
628
+ - 🌍 Add Finnish (fi-FI) locale (#3485) @kurkle
629
+ - 📚 Documentation improvements
630
+ - 🐞 Bugfixes
631
+
632
+ ### `@mui/x-data-grid@v5.2.2` / `@mui/x-data-grid-pro@v5.2.2`
633
+
634
+ #### Changes
635
+
636
+ - [DataGrid] Add `hideable` option to GridColDef (#3433) @alexfauquette
637
+ - [DataGrid] Add `sortingOrder` to GridColDef (#3449) @Quppa
638
+ - [DataGrid] Add the page and pageSize to the initialState prop (#3495) @flaviendelangle
639
+ - [DataGrid] Avoid re-render when pressing key inside already focused cell (#3484) @m4theushw
640
+ - [DataGrid] Close other actions menus when opening a new one (#3492) @m4theushw
641
+ - [DataGrid] Deprecate `getValue` param from the cell and row params (#3369) @flaviendelangle
642
+ - [DataGrid] Fix value parsing in date input (#3307) @alexfauquette
643
+ - [DataGrid] Fix can't enter 0 on numeric column (#3491) @m4theushw
644
+ - [DataGrid] Fix scrolling bug when an action is focused (#3483) @alexfauquette
645
+ - [DataGrid] Remove `line-height` from `GridCell` (#3446) @DanailH
646
+ - [DataGridPro] Block edition for auto-generated rows (#3547) @flaviendelangle
647
+ - [DataGridPro] Expose the field of the tree data grouping column as a constant (#3549) @flaviendelangle
648
+ - [DataGridPro] Fix resizing of right pinned columns (#3502) @m4theushw
649
+ - [DataGridPro] Add new prop `isGroupExpandedByDefault` (#3444) @flaviendelangle
650
+ - [l10n] Add Finnish (fi-FI) locale (#3485) @kurkle
651
+ - [l10n] Improve French (fr-FR) locale (#3494) @Zenoo
652
+ - [l10n] Improve Italian (it-IT) locale (#3452) @destegabry
653
+ - [l10n] Improve Vietnamese (vi-VN) locale (#3493) @hckhanh
654
+
655
+ ### Docs
656
+
657
+ - [docs] Generate imports dynamically from the packages export list (#3488) @flaviendelangle
658
+ - [docs] Make demos compatible with `preProcessEditCellProps` (#3453) @m4theushw
659
+
660
+ ### Core
661
+
662
+ - [test] Add test for row checkbox toggling using the Space key (#3262) @alexfauquette
663
+ - [core] Increase CI efficiency (#3441) @oliviertassinari
664
+ - [core] Refactor sorting comparator (#3390) @flaviendelangle
665
+ - [core] Update dependency on the core (#3526) @oliviertassinari
666
+ - [core] Update tweet example in release readme (#3481) @DanailH
667
+
668
+ ## 5.2.1
669
+
670
+ _Dec 17, 2021_
671
+
672
+ A big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
673
+
674
+ - 🖨️ Improve the print export to break the pages correctly (#3302) @flaviendelangle
675
+ - 🎁 Add `pinnable` option to `GridColDef` (#3425) @m4theushw
676
+ - 📚 Documentation improvements
677
+ - 🐞 Bugfixes
678
+
679
+ ### `@mui/x-data-grid@v5.2.1` / `@mui/x-data-grid-pro@v5.2.1`
680
+
681
+ #### Changes
682
+
683
+ - [DataGridPro] Add `pinnable` option (#3425) @m4theushw
684
+ - [DataGridPro] Avoid filtering columns if no column is pinned (#3438) @m4theushw
685
+ - [DataGrid] Avoid page break inside a row in the Print Export (#3302) @flaviendelangle
686
+ - [DataGrid] Fix `GridEditDateCell` to handle `editRowsModel` correctly (#3267) @alexfauquette
687
+ - [DataGrid] Refactor keyboard/click event management (#3275) @alexfauquette
688
+ - [DataGrid] Fire change event when the state changes, instead of when the prop changes (#3388) @flaviendelangle
689
+ - [DataGrid] Unsubscribe event listeners registered in uncommitted renders (#3310) @m4theushw
690
+ - [DataGrid] Rework state update methods and deprecate `useGridApi` and `useGridState` (#3325) @flaviendelangle
691
+ - [l10n] Improve German (de-DE) locale (#3430) @sebastianfrey
692
+ - [l10n] Improve Hebrew (he-IL) locale (#3445) @ColdAtNight
693
+ - [l10n] Improve Dutch (nl-NL) locale (#3429) @jaapjr
694
+
695
+ ### Docs
696
+
697
+ - [docs] Improve pagination documentation page (#3424) @flaviendelangle
698
+ - [docs] Include @mui/x-data-grid as dependency in the CodeSandbox (#3396) @m4theushw
699
+ - [docs] Stop using TypeDoc to generate the API documentation (#3320) @flaviendelangle
700
+ - [docs] Remove column pinning from "Upcoming features" (#3443) @alexfauquette
701
+
702
+ ### Core
703
+
704
+ - [core] Add sections to some of the feature hooks (#3391) @flaviendelangle
705
+ - [core] Generate exports snapshot for both `x-data-grid` and `x-data-grid-pro` packages (#3427) @flaviendelangle
706
+ - [core] Remove 'x-data-grid' folder from DataGridPro bundle (#3394) @m4theushw
707
+ - [core] Add link to OpenCollective (#3392) @oliviertassinari
708
+
709
+ ## 5.2.0
710
+
711
+ _Dec 9, 2021_
712
+
713
+ A big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
714
+
715
+ ### `@mui/x-data-grid@v5.2.0` / `@mui/x-data-grid-pro@v5.2.0`
716
+
717
+ - 🚀 Introduce the [column pinning](https://mui.com/components/data-grid/columns/#column-pinning) feature (#2946) @m4theushw
718
+
719
+ <img src="https://user-images.githubusercontent.com/42154031/145425635-b6314fbe-2f1e-4b73-908f-33ee1fda20c7.gif" width="964" height="657">
720
+
721
+ - 🔥 Add ability to disable export options (#3270) @alexfauquette
722
+
723
+ You can disable either export options by setting `disableToolbarButton` to `true`.
724
+
725
+ ```tsx
726
+ <GridToolbarExport csvOptions={{ disableToolbarButton: true }} />
727
+ ```
728
+
729
+ ```tsx
730
+ <GridToolbarExport printOptions={{ disableToolbarButton: true }} />
731
+ ```
732
+
733
+ - 🙈 Add a new option to hide the amount of descendant on the grouping cells of the Tree Data (#3368) @flaviendelangle
734
+
735
+ ```tsx
736
+ <DataGridPro treeData rows={rows} columns={columns} groupingColDef={{ hideDescendantCount }} />
737
+ ```
738
+
739
+ - ⚠️ Deprecate the `getValue` param for the `valueGetter` callback (#3314) @flaviendelangle
740
+
741
+ Instead, you can access directly the row in the params
742
+
743
+ ```diff
744
+ -valueGetter: (params) => `${params.getValue(params.id, 'firstName') || ''} ${params.getValue(params.id, 'lastName') || ''}`
745
+ +valueGetter: (params) => `${params.row.firstName || ''} ${params.row.lastName || ''}`
746
+ ```
747
+
748
+ - 📚 Documentation improvements
749
+ - 🐞 Bugfixes
750
+
751
+ #### Changes
752
+
753
+ - [DataGridPro] Add column pinning (#2946) @m4theushw
754
+ - [DataGridPro] Add `hideDescendantCount` option to Tree Data (#3368) @flaviendelangle
755
+ - [DataGridPro] Do not expand row children with <kbd>Shift</kbd> + Space (#3380) @flaviendelangle
756
+ - [DataGridPro] Pass a list of `fields` to the callback version of `groupingColDef` (#3316) @flaviendelangle
757
+ - [DataGrid] Deprecate the `getValue` param for the `valueGetter` callback (#3314) @flaviendelangle
758
+ - [DataGrid] Add ability to disable export options (#3270) @alexfauquette
759
+ - [DataGrid] Filter value are conserved when possible (#3198) @alexfauquette
760
+ - [DataGrid] Fix `DatePicker` bug by limiting years to 4 digits (#3222) @alexfauquette
761
+ - [DataGrid] Fix column menu position when closing (#3289) @m4theushw
762
+ - [DataGrid] Fix to not crash when a sort item uses a non-existing column (#3224) @flaviendelangle
763
+ - [DataGrid] Type the `api` param in callback interfaces (#3315) @flaviendelangle
764
+
765
+ ### Docs
766
+
767
+ - [docs] Always use auto-generated `apiRef` documentation (#3266) @flaviendelangle
768
+ - [docs] Avoid 301 links (#3329) @oliviertassinari
769
+ - [docs] Disable the ad when not MIT (#3334) @oliviertassinari
770
+ - [docs] Fix 404 link to Zendesk @oliviertassinari
771
+ - [docs] Fix dead link on the overview page (#3326) @flaviendelangle
772
+ - [docs] Fix double MUI in the title (#3332) @oliviertassinari
773
+ - [docs] Fix duplicate "the" (#3365) @noam-honig
774
+ - [docs] Update branch to deploy docs (#3321) @m4theushw
775
+
776
+ ### Core
777
+
778
+ - [core] Add funding field (#3331) @oliviertassinari
779
+ - [core] Fix missing LICENSE file (#3330) @oliviertassinari
780
+ - [core] Fix release month in CHANGELOG (#3367) @m4theushw
781
+ - [core] Fix `yarn prettier` script (#3292) @oliviertassinari
782
+ - [core] Improve tests for Tree Data (#3366) @flaviendelangle
783
+ - [core] Never import directly from the `__modules__` folder in the `x-data-grid-generator` package (#3379) @flaviendelangle
784
+ - [core] Transition to a new StackOverflow tag (#3308) @oliviertassinari
785
+ - [core] Update monorepo (#3370) @flaviendelangle
786
+ - [core] Use pre-processors for sorting and filtering (#3318) @flaviendelangle
787
+ - [test] Replace `useFakeTimers` (#3323) @m4theushw
788
+
789
+ ## 5.1.0
790
+
791
+ _Dec 2, 2021_
792
+
793
+ A big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
794
+
795
+ ### `@mui/x-data-grid@v5.1.0` / `@mui/x-data-grid-pro@v5.1.0`
796
+
797
+ - 🚀 Introduce the [tree data](https://mui.com/components/data-grid/group-pivot/#tree-data) feature (#2725) @flaviendelangle
798
+
799
+ <img src="https://user-images.githubusercontent.com/42154031/144259216-fc4f90ac-4d8b-4253-bc95-009204349a4c.gif" width="854" height="453" />
800
+
801
+ - 💅 Add support for `sx` prop in the DataGrid and DataGridPro (#3281) @m4theushw
802
+ - 🔦 Improve focus management in the filter panel (#3004) @alexfauquette
803
+ - 🎁 Add strict typing to the event publisher and listener (#3022) (@flaviendelangle)
804
+
805
+ The `apiRef.current.subscribeEvent`, `apiRef.current.publishEvent` and `useGridApiEventHandler` are now fully typed and gives you the correct arguments based on the event you are listening to or emitting.
806
+
807
+ ```ts
808
+ const handleRowClick: GridEventListener<'rowClick'> = (
809
+ params, // has type `GridRowParams`
810
+ event, // has type `MuiEvent<React.MouseEvent<HTMLElement>>
811
+ details, // has type `GridCallbackDetails
812
+ ) => {
813
+ /* ... */
814
+ };
815
+
816
+ // with string event name
817
+ apiRef.current.subscribeEvent('rowClick', handleRowClick);
818
+ useGridApiEventHandler(apiRef, 'rowClick', handleRowClick);
819
+
820
+ // or with enum event name
821
+ apiRef.current.subscribeEvent(GridEvents.rowClick, handleRowClick);
822
+ useGridApiEventHandler(apiRef, GridEvents.rowClick, handleRowClick);
823
+ ```
824
+
825
+ - 🌎 Translation updates for many locales
826
+
827
+ If you are using DataGrid or DataGridPro in another language, check [this issue](https://github.com/mui/mui-x/issues/3211) to discover which translations are missing.
828
+
829
+ - 📚 Documentation improvements
830
+ - 🐞 Bugfixes
831
+
832
+ #### Changes
833
+
834
+ - [DataGridPro] Add tree data (#2725) @flaviendelangle
835
+ - [DataGridPro] Remove the callback version of the `groupigColDef` prop (#3317) @flaviendelangle
836
+ - [DataGridPro] Improve license file (#3278) @oliviertassinari
837
+ - [DataGridPro] Add types for event publishers and listeners (#3022) @flaviendelangle
838
+ - [DataGrid] Add support for `sx` prop (#3281) @m4theushw
839
+ - [DataGrid] Do not debounce the initial resizing of the grid (#3213) @flaviendelangle
840
+ - [DataGrid] Fix usage of dynamic columns (#3204) @flaviendelangle
841
+ - [DataGrid] Move focus when selecting option with <kbd>Enter</kbd> in the `singleSelect` (#3220) @m4theushw
842
+ - [DataGrid] Focus on the last value input when a filter is added or removed (#3004) @alexfauquette
843
+ - [DataGrid] Prepare the tree structure for grouping sorting / filtering (#3301) @flaviendelangle
844
+ - [DataGrid] Rework keyboard navigation (#3193) @flaviendelangle
845
+ - [DataGrid] Set minimum dimensions to `GridOverlay` when no row is provided (#3261) @flaviendelangle
846
+ - [DataGrid] Improve German (de-DE) locale (#3271, #3230, #3293) @sebastianfrey
847
+ - [DataGrid] Improve Hebrew (he-IL) locale (#3294) @ColdAtNight
848
+ - [DataGrid] Improve Russian (ru-RU) locale (#3290, #3288) @Alim-El
849
+ - [DataGrid] Improve Korean (ko-KR) locale (#3232, #3273) @zzossig
850
+ - [DataGrid] Improve Greek (el-GR) locale (#3169) @clytras
851
+
852
+ ### Core
853
+
854
+ - [core] Add script to sync translation files (#3201) @m4theushw
855
+ - [core] Create dedicated `InputComponent` for `singleSelect` and `date` columns #3227 @alexfauquette
856
+ - [core] Fix `EventManager` to not run listeners removed after registration #3206 @flaviendelangle
857
+ - [core] Group Renovate updates (#3263) @flaviendelangle
858
+ - [core] Reflect the change of default branch (#3235) @oliviertassinari
859
+ - [core] Replace @mui/core with @mui/base (#3217) @m4theushw
860
+ - [core] Split docs generation script (#3189) @flaviendelangle
861
+ - [core] Update monorepo (#3303) @m4theushw
862
+ - [test] Improve testing of the keyboard navigation (#3187) @flaviendelangle
863
+ - [test] Force effect to run on location change (#3283) @m4theushw
864
+ - [core] Rework columns state management (#3264) @flaviendelangle
865
+
866
+ ### Docs
867
+
868
+ - [docs] Improve demo to allow to experiment with `autoHeight` (#3216) @alexfauquette
869
+ - [docs] Fix broken images (#3300) @oliviertassinari
870
+ - [docs] Fix the wrong release date (#3269) @DanailH
871
+ - [docs] Fix typo in CHANGELOG.md (#3214) @gjoseph
872
+ - [docs] Improve plan icon placement (#3298) @oliviertassinari
873
+ - [docs] Improve rows documentation (#3209) @flaviendelangle
874
+ - [docs] Include row pinning (#3191) @oliviertassinari
875
+ - [docs] Fix presentation of key combinations (#3297) @oliviertassinari
876
+ - [docs] Replace @mui/styles on demos (#3274) @m4theushw
877
+ - [docs] Add demos using cell/row editing with server-side persistence (#3124) @flaviendelangle
878
+ - [docs] Use relative links (#3299) @oliviertassinari
879
+
880
+ ## 5.0.1
881
+
882
+ _Nov 23, 2021_
883
+
884
+ A big thanks to the 3 contributors who made this release possible. Here are some highlights ✨:
885
+
886
+ - 🎁 New API to validate the editing values (#3006) @m4theushw
887
+
888
+ You can now use the `preProcessEditCellProps` key in `GridColDef` to synchronously or asynchronously validate the values committed.
889
+
890
+ ```ts
891
+ const columns: GridColDef[] = [
892
+ {
893
+ field: 'firstName',
894
+ preProcessEditCellProps: (params: GridEditCellPropsChangeParams) => {
895
+ const hasError = params.props.value.length < 3;
896
+ return { ...params.props, error: hasError };
897
+ },
898
+ },
899
+ {
900
+ field: 'email',
901
+ preProcessEditCellProps: async (params: GridEditCellPropsChangeParams) => {
902
+ const userWithEmail = await fetchUserByEmail(params.value);
903
+ const hasError = !!userWithEmail;
904
+ return { ...params.props, error: hasError };
905
+ },
906
+ },
907
+ ];
908
+ ```
909
+
910
+ - ✨ New method `getRootDimensions` to access the size of the grid (#3007) @flaviendelangle
911
+
912
+ It contains the size of the viewport (which is the scrollable container containing the rows and columns) considering scrollbars or not.
913
+
914
+ ```ts
915
+ const dimensions = apiRef.current.getRootDimensions();
916
+ ```
917
+
918
+ ### `@mui/x-data-grid@v5.0.1` / `@mui/x-data-grid-pro@v5.0.1`
919
+
920
+ - [DataGrid] New API to validate the editing values (#3006) @m4theushw
921
+ - [DataGrid] Use color-scheme to set dark mode on native components (#3146) @alexfauquette
922
+ - [DataGrid] Fix the `@mui/x-data-grid` type entrypoint (#3196) @flaviendelangle
923
+
924
+ ### Docs
925
+
926
+ - [docs] Move sentence about disabling multi rows selection (#3167) @alexfauquette
927
+
928
+ ### Core
929
+
930
+ - [core] Drop `useGridContainerProps` (#3007) @flaviendelangle
931
+ - [core] Move `getRowIdFromRowIndex` and `getRowIndex` to the sorting API (#3126) @flaviendelangle
932
+ - [core] Polish v5 CHANGELOG (#3194) @oliviertassinari
933
+ - [core] Remove the `index.ts` of the export hooks (#3165) @flaviendelangle
934
+ - [core] Set the correct release date for v5.0.0 in the CHANGELOG.md (#3192) @flaviendelangle
935
+
936
+ ## 5.0.0
937
+
938
+ _Nov 23, 2021_
939
+
940
+ 🎉 We are excited to introduce [MUI X v5.0.0](https://mui.com/blog/mui-x-v5/) 🎉!
941
+
942
+ If you want to migrate the DataGrid or DataGridPro from v4 to v5, take a look at the [migration guide](https://mui.com/components/data-grid/migration-v4/).
943
+ This version is fully compatible with `@mui/material@5.X` and can be used with `@material-ui/core@4.x` with some [additional steps](https://mui.com/components/data-grid/migration-v4/#using-mui-x-v5-with-mui-core-v4).
944
+
945
+ A big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
946
+
947
+ - ⌨️ Enhance keyboard navigation when pagination is enabled
948
+ - 👁 Better support for flex columns
949
+ - 📚 Documentation improvements
950
+ - 🐞 Bugfixes
951
+
952
+ ### `@mui/x-data-grid@v5.0.0` / `@mui/x-data-grid-pro@v5.0.0`
953
+
954
+ #### Breaking changes
955
+
956
+ - [DataGrid] The following CSS classes were renamed to follow the internal convention:
957
+
958
+ - `MuiDataGrid-columnsContainer` was renamed to `MuiDataGrid-columnHeaders`
959
+ - `MuiDataGrid-columnHeaderWrapper` was renamed to `MuiDataGrid-columnHeadersInner`
960
+ - The `scroll` class applied to `MuiDataGrid-columnHeaderWrapper` was renamed to `MuiDataGrid-columnHeadersInner--scrollable`
961
+
962
+ - [DataGrid] The `props.components.Checkbox` and `props.componentsProps.checkbox` props were renamed to `props.components.BaseCheckbox` and `props.componentsProps.baseCheckbox` respectively.
963
+
964
+ As a first step for [#3066](https://github.com/mui/mui-x/issues/3066), these slots were renamed to clearly indicate that they are meant to replace a core component.
965
+
966
+ ```diff
967
+ <DataGrid
968
+ components={{
969
+ - checkbox: MyCustomCheckbox,
970
+ + BaseCheckbox: MyCustomCheckbox,
971
+ }}
972
+ componentsProps={{
973
+ - checkbox: {},
974
+ + baseCheckbox: {},
975
+ }}
976
+ />
977
+ ```
978
+
979
+ **Note**: these changes apply to both the `DataGrid` and `DataGridPro` components.
980
+
981
+ #### Changes
982
+
983
+ - [DataGrid] Block multi-rows updates in `apiRef.current.updateRows` on the Community plan (#3095) @flaviendelangle
984
+ - [DataGrid] Fix filter not working after deleting the value (#3018) @m4theushw
985
+ - [DataGrid] Fix performance regression when selecting 100k rows (#3077) @m4theushw
986
+ - [DataGrid] Fix `apiRef.current.updateRows` to not share rows from other instances (#3127) @m4theushw
987
+ - [DataGrid] Fix flex space allocation to not cause a horizontal scroll when there is enough space (#3099) @flaviendelangle
988
+ - [DataGrid] Improve the filter panel behaviors (#3080) @flaviendelangle
989
+ - [DataGrid] Fix keyboard navigation between column headers and rows when not on the first page (#3086) @flaviendelangle
990
+ - [DataGrid] Fix keyboard navigation between rows when not on the first page (#3074) @flaviendelangle
991
+ - [DataGrid] Prevents bubbling in menu header (#3000) @alexfauquette
992
+ - [DataGrid] Remove unused rendering state and selectors (#3133) @flaviendelangle
993
+ - [DataGrid] Rename `Checkbox` component and props slots to `BaseCheckbox` (#3142) @DanailH
994
+
995
+ ### Core
996
+
997
+ - [core] Adapt changelog script to GitHub DOM modification (#3087) @alexfauquette
998
+ - [core] Automatically close issues that are incomplete and inactive (#3029) @oliviertassinari
999
+ - [core] Improve the typing of `LicenseStatus` (#3141) @Himself65
1000
+ - [core] Make `useGridColumnsPreProcessing` generic (#3092) @m4theushw
1001
+ - [core] Move column headers virtualization to hook (#3078) @m4theushw
1002
+ - [core] Move virtualization logic to hook (#3079) @m4theushw
1003
+ - [core] Rename directories to match new packages new names (#3088) @flaviendelangle
1004
+ - [core] Replace `createClientRender` with new `createRenderer` API (#3125) @flaviendelangle
1005
+ - [core] Store the event manager in a key of `GridApi` instead of making the whole `GridApi` extend it (#3069) @flaviendelangle
1006
+ - [core] Update monorepo (#3139) @m4theushw
1007
+ - [core] Use `unstable_` prefix instead of `unsafe_` for private APIs (#3090) @flaviendelangle
1008
+ - [core] Use official MUI repo as monorepo (#3084) @m4theushw
1009
+
1010
+ ### Docs
1011
+
1012
+ - [docs] Fix broken example in the component slot example (#3123) @Himself65
1013
+ - [docs] Fix inline previews (#3081) @DanailH
1014
+ - [docs] Fix the client-side validation link clarity (#3100) @oliviertassinari
1015
+ - [docs] Improve `rowCount` CSS class description (#3072) @ZeeshanTamboli
1016
+ - [docs] Use core repo constants for doc internationalization (#3143) @flaviendelangle
1017
+
1018
+ ## 5.0.0-beta.7
1019
+
1020
+ _Nov 4, 2021_
1021
+
1022
+ - 💅 Reduce styles specificity to make simpler to override (#3012) @DanailH
1023
+ - 🌍 Add Hebrew (he-IL) locale (#3028) @ColdAtNight
1024
+ - 📚 Documentation improvements
1025
+ - 🐞 Bugfixes
1026
+
1027
+ ### `@mui/x-data-grid@v5.0.0-beta.7` / `@mui/x-data-grid-pro@v5.0.0-beta.7`
1028
+
1029
+ #### Breaking changes
1030
+
1031
+ - [core] Prefix selectors from `useGridContainerProps` with `unsafe` (#3002) @flaviendelangle
1032
+
1033
+ The dimension API is being temporarily made private to allow to clean it in future minor releases. The current approach causes useless re-renders.
1034
+ If you relay on any of these selectors, open an issue explaining the use case so that will be taken into account when refactoring them.
1035
+
1036
+ The following selectors were prefixed by `unstable_`. Use the provided alternatives.
1037
+
1038
+ 1. `gridContainerSizesSelector` was renamed to `unstable_gridContainerSizesSelector`
1039
+ 2. `gridViewportSizesSelector` was renamed to `unstable_gridViewportSizesSelector`
1040
+ 3. `gridScrollBarSizeSelector` was renamed to `unstable_gridScrollBarSizeSelector`
1041
+
1042
+ The following selectors were removed. You can hard-code their logic in your application if you really need them.
1043
+
1044
+ 1. `gridDataContainerSizesSelector`
1045
+
1046
+ ```ts
1047
+ const dataContainerSizes = gridContainerSizesSelector(state)?.dataContainerSizes ?? null;
1048
+ ```
1049
+
1050
+ 2. `gridDataContainerHeightSelector`
1051
+
1052
+ ```ts
1053
+ const dataContainerHeight = gridContainerSizesSelector(state)?.dataContainerSizes.height ?? null;
1054
+ ```
1055
+
1056
+ The selector `gridViewportSizeStateSelector` was a duplicate and has been removed, you can use the selector `unstable_gridViewportSizesSelector` instead.
1057
+
1058
+ #### Changes
1059
+
1060
+ - [DataGrid] Add Hebrew (he-IL) locale (#3028) @ColdAtNight
1061
+ - [DataGrid] Move virtualization logic to hook (#3079) @m4theushw
1062
+ - [DataGrid] Revert year change in the MIT license (#3059) @oliviertassinari
1063
+ - [DataGrid] Fix filtering of nullish numeric cells (#3070) @flaviendelangle
1064
+ - [DataGrid] Improve performance when selecting 100k rows (#3077) @m4theushw
1065
+ - [DataGrid] Fix `GridEditDateCell` to handle timezone correctly (#2918) @flaviendelangle
1066
+ - [DataGrid] Fix keyboard navigation on page > 0 (#3074) @flaviendelangle
1067
+ - [DataGrid] Prevents bubbling in menu header (#3000) @alexfauquette
1068
+ - [DataGrid] Fix wrong params provided to `cellModeChange` when `setCellMode` is called (#3025) @flaviendelangle
1069
+
1070
+ ### Core
1071
+
1072
+ - [core] Adapt `useDemoData` for Tree Data (#2978) @flaviendelangle
1073
+ - [core] Group update of MUI Core (#3055) @oliviertassinari
1074
+ - [core] Ignore `*.tsbuildinfo` files (#3068) @m4theushw
1075
+ - [core] Implement tree-based row management (#2996) @flaviendelangle
1076
+ - [core] Invert Codesandbox examples on README (#3073) @flaviendelangle
1077
+ - [core] Prefix selectors from `useGridContainerProps` with `unsafe` (#3002) @flaviendelangle
1078
+ - [core] Reduce `setGridState` and `applyFilters` call when updating `filterModel` (#3023) @flaviendelangle
1079
+ - [core] Reduce styles complexity (#3012) @DanailH
1080
+ - [core] Upgrade monorepo (#3067) @m4theushw
1081
+ - [core] Use official MUI repo as monorepo (#3084) @m4theushw
1082
+ - [test] Retry each expect until success (#3027) @m4theushw
1083
+ - [core] Adapt changelog script to new GitHub DOM (#3087) @alexfauquette
1084
+
1085
+ ### Docs
1086
+
1087
+ - [docs] Explain how to use `valueGetter` to transform type (#3003) @alexfauquette
1088
+ - [docs] Fix the outdated demo of the docs (#3058) @oliviertassinari
1089
+ - [docs] Fix inline previews #3081) @DanailH
1090
+
1091
+ ## 5.0.0-beta.6
1092
+
1093
+ _Oct 29, 2021_
1094
+
1095
+ A big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
1096
+
1097
+ - ✨ Allow `valueOptions` from `GridColDef` to accept a function (#2850) @alexfauquette
1098
+ - 💅 Prefix undocumented `apiRef` methods with `unsafe_` (#2985) @flaviendelangle
1099
+ - 👁 Unify filtering, sorting, and rows selectors names (#2942) @flaviendelangle
1100
+ - 💡 Support style overrides added in the theme (#2995) @DanailH
1101
+ - 📚 Documentation improvements
1102
+ - 🐞 Bugfixes
1103
+
1104
+ ### `@mui/x-data-grid@v5.0.0-beta.6` / `@mui/x-data-grid-pro@v5.0.0-beta.6`
1105
+
1106
+ #### Breaking changes
1107
+
1108
+ - [DataGridPro] The following methods from `apiRef` were renamed. Use the provided alternatives. (#2870) @flaviendelangle
1109
+
1110
+ 1. `apiRef.current.applyFilters` was renamed to `apiRef.current.unsafe_applyFilters`
1111
+ 2. `apiRef.current.applyFilterLinkOperator` was renamed to `apiRef.current.setFilterLinkOperator`
1112
+ 3. `apiRef.current.upsertFilter` was renamed to `apiRef.current.upsertFilterItem`
1113
+ 4. `apiRef.current.deleteFilter` was renamed to `apiRef.current.deleteFilterItem`
1114
+
1115
+ - [DataGridPro] The `apiRef.current.applyFilter` method was removed. (#2870) @flaviendelangle
1116
+ You should never have to call it directly since the filters are already applied when the `filterModel` prop changes.
1117
+ To manually apply the filters, use `apiRef.current.unsafe_applyFilters`.
1118
+
1119
+ ```diff
1120
+ -apiRef.current.applyFilter
1121
+ +apiRef.current.unsafe_applyFilters
1122
+ ```
1123
+
1124
+ - [DataGridPro] Rename filtering, sorting, and rows selectors to match the naming convention (#2942) @flaviendelangle
1125
+
1126
+ 1. `unorderedGridRowIdsSelector` was renamed to `gridRowIdsSelector`
1127
+ 2. `sortingGridStateSelector` was renamed to `gridSortingStateSelector`
1128
+ 3. `sortedGridRowIdsSelector` was renamed to `gridSortedRowIdsSelector`
1129
+ 4. `visibleSortedGridRowIdsSelector` was renamed to `gridVisibleSortedRowIdsSelector`
1130
+ 5. `visibleGridRowCountSelector` was renamed to `gridVisibleRowCountSelector`
1131
+ 6. `filterGridColumnLookupSelector` was renamed to `gridFilterActiveItemsSelector`
1132
+
1133
+ - [DataGridPro] The `sortedGridRowsSelector` was renamed to `gridSortedRowEntriesSelector` (#2942) @flaviendelangle
1134
+
1135
+ The return value was also changed as below:
1136
+
1137
+ ```diff
1138
+ -sortedGridRowsSelector: (state: GridState) => Map<GridRowId, GridRowModel>
1139
+ -const map = sortedGridRowsSelector(state);
1140
+ +gridSortedRowEntriesSelector: (state: GridState) => GridRowEntry[]
1141
+ +const map = new Map(gridSortedRowEntriesSelector(state).map(row => [row.id, row.model]));
1142
+ ```
1143
+
1144
+ - [DataGridPro] The `visibleSortedGridRowsSelector` was replaced with `gridVisibleSortedRowEntriesSelector` (#2942) @flaviendelangle
1145
+
1146
+ The return value was also changed as below:
1147
+
1148
+ ```diff
1149
+ -visibleSortedGridRowsSelector: (state: GridState) => Map<GridRowId, GridRowModel>;
1150
+ -const map = visibleSortedGridRowsSelector(state);
1151
+ +gridVisibleSortedRowEntriesSelector: (state: GridState) => GridRowEntry[]
1152
+ +const map = new Map(gridVisibleSortedRowEntriesSelector(state).map(row => [row.id, row.model]));
1153
+ ```
1154
+
1155
+ - [DataGridPro] The `visibleSortedGridRowsAsArraySelector` was replaced with `gridVisibleSortedRowEntriesSelector` (#2942) @flaviendelangle
1156
+
1157
+ The return value was also changed as below:
1158
+
1159
+ ```diff
1160
+ -visibleSortedGridRowsAsArraySelector: (state: GridState) => [GridRowId, GridRowData][];
1161
+ +gridVisibleSortedRowEntriesSelector: (state: GridState) => GridRowEntry[]
1162
+ ```
1163
+
1164
+ - [DataGridPro] The `filterGridItemsCounterSelector` selector was removed. (#2942) @flaviendelangle
1165
+ Use `gridFilterActiveItemsSelector` as replacement.
1166
+
1167
+ ```diff
1168
+ -const filterCount = filterGridItemsCounterSelector(state);
1169
+ +const filterCount = gridFilterActiveItemsSelector(state).length;
1170
+ ```
1171
+
1172
+ - [DataGridPro] The `unorderedGridRowModelsSelector` selector was removed. (#2942) @flaviendelangle
1173
+ Use `apiRef.current.getRowModels` or `gridRowIdsSelector` and `gridRowsLookupSelector`.
1174
+
1175
+ #### Changes
1176
+
1177
+ - [DataGrid] Allow `valueOptions` to accept a function (#2850) @alexfauquette
1178
+ - [DataGrid] Add `overridesResolver` (#2995) @DanailH
1179
+ - [DataGrid] Unify filtering, sorting, and rows selectors names (#2942) @flaviendelangle
1180
+ - [DataGridPro] Prefix undocumented `apiRef` methods with `unsafe_` (#2985) @flaviendelangle
1181
+
1182
+ ### Docs
1183
+
1184
+ - [docs] Explain how to use MUI X v5 with MUI Core v4 (#2846) @m4theushw
1185
+ - [docs] Generate docs for components (#2465) @m4theushw
1186
+ - [docs] Improve `scrollEndThreshold` API docs (#3001) @ZeeshanTamboli
1187
+ - [docs] Fix CodeSandbox and feature request templates (#2986) @flaviendelangle
1188
+
1189
+ ### Core
1190
+
1191
+ - [core] Add step for announcing the releases on Twitter (#2997) @DanailH
1192
+ - [core] Apply all filters to a row before moving to the next one (#2870) @flaviendelangle
1193
+ - [core] Change monorepo repository URL (#2983) @m4theushw
1194
+ - [core] Clean Storybook examples (#2805) @flaviendelangle
1195
+ - [core] Generate list of all grid exports (#2801) @flaviendelangle
1196
+ - [core] Improve typing of `buildApi.ts` (#2922) @flaviendelangle
1197
+ - [core] Add additional test for `checkboxSelection` toggling (#2979) @flaviendelangle
1198
+ - [test] Fix flaky visual regression test (#2981) @m4theushw
1199
+
1200
+ ## 5.0.0-beta.5
1201
+
1202
+ _Oct 22, 2021_
1203
+
1204
+ A big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
1205
+
1206
+ - 💅 Remove dependency on `@mui/styles` and use the same styling solution from MUI Core (#2784) @DanailH
1207
+ - ✨ Add support for generics in `GridRowParams`, `GridCellParams` and `GridRenderCellParams` (#2436) @ZeeshanTamboli
1208
+ - 👁 Rework the virtualization engine (#2673) @m4theushw
1209
+ - 💡 Enhance internal code structure
1210
+ - 🐞 Bugfixes
1211
+
1212
+ ### `@mui/x-data-grid@v5.0.0-beta.5` / `@mui/x-data-grid-pro@v5.0.0-beta.5`
1213
+
1214
+ #### Breaking changes
1215
+
1216
+ - The `DataGrid` and `DataGridPro` no longer depends on `@mui/styles`. Use `styled` to provide custom styling. (#2784) @DanailH
1217
+
1218
+ ```diff
1219
+ -import { createTheme } from '@mui/material/styles';
1220
+ -import { makeStyles } from '@mui/styles';
1221
+ +import { styled } from '@mui/material/styles';
1222
+ ```
1223
+
1224
+ The following CSS classes were renamed:
1225
+
1226
+ - `.MuiDataGrid-gridMenuList` was renamed to `.MuiDataGrid-menuList`
1227
+ - `.MuiGridToolbarContainer-root` was renamed to `.MuiDataGrid-toolbarContainer`
1228
+ - `.MuiGridMenu-root` was renamed to `.MuiDataGrid-menu`
1229
+ - `.MuiDataGridColumnsPanel-root` was renamed to `.MuiDataGrid-columnsPanel`
1230
+ - `.MuiGridPanel-root` was renamed to `.MuiDataGrid-panel`
1231
+ - `.MuiGridPanelContent-root` was renamed to `.MuiDataGrid-panelContent`
1232
+ - `.MuiGridPanelFooter-root` was renamed to `.MuiDataGrid-panelFooter`
1233
+ - `.MuiDataGridPanelHeader-root` was renamed to `.MuiDataGrid-panelHeader`
1234
+ - `.MuiGridPanelWrapper-root` was renamed to `.MuiDataGrid-panelWrapper`
1235
+ - `.MuiGridFilterForm-root` was renamed to `.MuiDataGrid-filterForm`
1236
+ - `.MuiGridToolbarFilterButton-root` was renamed to `.MuiDataGrid-toolbarFilterList`
1237
+
1238
+ - [DataGrid] The CSS classes `.MuiDataGrid-window` and `.MuiDataGrid-windowContainer` were removed (#2673) @m4theushw
1239
+
1240
+ The following CSS classes were renamed:
1241
+
1242
+ - `.MuiDataGrid-viewport` was renamed to `.MuiDataGrid-virtualScroller`
1243
+ - `.MuiDataGrid-dataContainer` was renamed to `.MuiDataGrid-virtualScrollerContent`
1244
+ - `.MuiDataGrid-renderingZone` was renamed to `.MuiDataGrid-virtualScrollerRenderZone`
1245
+
1246
+ - [DataGrid] Remove the `useGridSlotComponentProps` hook and replace it as below: (#2856) @flaviendelangle
1247
+
1248
+ ```diff
1249
+ -const { apiRef, state, rootElement } = useGridSlotComponentProps();
1250
+ +const apiRef = useGridApiContext();
1251
+ +const [state] = useGridState(apiRef);
1252
+ +const rootElement = apiRef.current.rootElementRef;
1253
+ ```
1254
+
1255
+ - [DataGrid] Remove the `state` prop and use the `initialState` prop (#2848) @flaviendelangle
1256
+
1257
+ Note that `initialState` only allows the `preferencePanel`, `filter.filterModel` and `sort.sortModel` keys.
1258
+ To fully control the state, use the feature's model prop and change callback (e.g. `filterModel` and `onFilterModelChange`).
1259
+
1260
+ ```diff
1261
+ <DataGrid
1262
+ - state={{
1263
+ + initialState={{
1264
+ preferencePanel: {
1265
+ open: true,
1266
+ openedPanelValue: GridPreferencePanelsValue.filters,
1267
+ },
1268
+ }}
1269
+ />
1270
+ ```
1271
+
1272
+ - [DataGridPro] Remove the `onViewportRowsChange` prop and the `viewportRowsChange` event (#2673) @m4theushw
1273
+
1274
+ A listener on the `rowsScroll` event, as shown below, can be used to replace the prop:
1275
+
1276
+ ```tsx
1277
+ const apiRef = useGridApiRef();
1278
+ const prevRenderContext = React.useRef(null);
1279
+
1280
+ React.useEffect(() => {
1281
+ return apiRef.current.subscribeEvent('rowsScroll', ({ renderContext }) => {
1282
+ if (
1283
+ !prevRenderContext.current ||
1284
+ renderContext.firstRowIdx !== prevRenderContext.current.firstRowIndex ||
1285
+ renderContext.lastRowIdx !== prevRenderContext.current.lastRowIndex
1286
+ ) {
1287
+ prevRenderContext.current = renderContext;
1288
+ const params = {
1289
+ firstRowIndex: renderContext.firstRowIndex,
1290
+ lastRowIndex: renderContext.lastRowIndex,
1291
+ };
1292
+ }
1293
+ });
1294
+ }, [apiRef]);
1295
+
1296
+ <DataGridPro apiRef={apiRef} />;
1297
+ ```
1298
+
1299
+ #### Changes
1300
+
1301
+ - [DataGrid] Add `valueSetter` (#2876) @m4theushw
1302
+ - [DataGrid] Add support for generic types in `GridRowParams`, `GridCellParams`, `GridRenderCellParams` (#2436) @ZeeshanTamboli
1303
+ - [DataGrid] Fix `actions` column type to not select the row when clicking on an item (#2862) @m4theushw
1304
+ - [DataGrid] Fix column headers misalignment when the render context changes (#2937) @m4theushw
1305
+ - [DataGrid] Rework virtualization (#2673) @m4theushw
1306
+ - [DataGrid] Remove `@mui/styles` dependency (#2784) @DanailH
1307
+ - [DataGrid] Remove `useGridSlotComponentProps` (#2856) @flaviendelangle
1308
+ - [DataGrid] Replace `prop.state` with `prop.initialState` (#2848) @flaviendelangle
1309
+ - [DataGrid] Use true content height to dispatch `rowsScrollEnd` (#2938) @m4theushw
1310
+ - [DataGrid] Fix the typing of `GridToolbarFilterButton` (#2841) @alexfauquette
1311
+
1312
+ ### Docs
1313
+
1314
+ - [docs] Improve the README for releases (#2908) @flaviendelangle
1315
+ - [docs] Re-add Pro icon (#2928) @m4theushw
1316
+ - [docs] Fix to not commit changes when clicking outside the cell (#2906) @ZeeshanTamboli
1317
+ - [docs] Update link to Quick Filter issue (#2909) @m4theushw
1318
+
1319
+ ### Core
1320
+
1321
+ - [core] Small fixes on the Components page (#2877) @flaviendelangle
1322
+ - [core] Make each feature hook responsible for its column pre-processing (#2839) @flaviendelangle
1323
+ - [core] Add `useGridRowGroupsPreProcessing` internal hook (#2840) @flaviendelangle
1324
+ - [core] Register events async if not registered (#2916) @m4theushw
1325
+ - [core] Remove `material-ui-utils.ts` (#2872) @DanailH
1326
+ - [core] Remove outdated hooks requirements (#2939) @flaviendelangle
1327
+ - [core] Remove test event (#2912) @m4theushw
1328
+ - [core] Remove unused `GridSlotComponentProps` interface (#2911) @flaviendelangle
1329
+ - [core] Rename 'UNSTABLE*' prefix to 'unstable*' (#2931) @flaviendelangle
1330
+ - [core] Replace usage of `GridRowData` with `GridRowModel` (#2936) @flaviendelangle
1331
+ - [core] Revert hardcoded typings (#2907) @DanailH
1332
+ - [core] Simplify the CSV export (#2941) @flaviendelangle
1333
+ - [core] Update monorepo version (#2927) @m4theushw
1334
+ - [test] Take screenshot of the print export (#2881) @m4theushw
1335
+
1336
+ ## 5.0.0-beta.4
1337
+
1338
+ _Oct 14, 2021_
1339
+
1340
+ A big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
1341
+
1342
+ - 🎁 Add the ability to print the grid (#2519) @DanailH
1343
+
1344
+ This new feature adds a button to the toolbar to generate a printer-friendly layout. Check the [documentation](https://mui.com/components/data-grid/export/#print) about it.
1345
+
1346
+ - 💡 Enhance internal code structure
1347
+ - ✨ New slots for `row` and `cell` (#2753) @m4theushw
1348
+ - 📚 Documentation improvements
1349
+ - 🐞 Bugfixes
1350
+
1351
+ ### `@mui/x-data-grid@v5.0.0-beta.4` / `@mui/x-data-grid-pro@v5.0.0-beta.4`
1352
+
1353
+ #### Breaking changes
1354
+
1355
+ - [DataGrid] Remove unused event listeners and redundant DOM attributes on `GridCell` and `GridRow` (#2810) @m4theushw
1356
+
1357
+ The following props were removed. If you depend on them, use `componentsProps.row` and `componentsProps.cell` to pass custom props to the row or cell.
1358
+
1359
+ - `onCellBlur`
1360
+ - `onCellOver`
1361
+ - `onCellOut`
1362
+ - `onCellEnter`
1363
+ - `onCellLeave`
1364
+ - `onRowOver`
1365
+ - `onRowOut`
1366
+ - `onRowEnter`
1367
+ - `onRowLeave`
1368
+
1369
+ For more information, check [this page](https://mui.com/components/data-grid/components/#row). Example:
1370
+
1371
+ ```diff
1372
+ -<DataGrid onRowOver={handleRowOver} />;
1373
+ +<DataGrid
1374
+ + componentsProps={{
1375
+ + row: { onMouseOver: handleRowOver },
1376
+ + }}
1377
+ +/>;
1378
+ ```
1379
+
1380
+ The `data-rowindex` and `data-rowselected` attributes were removed from the cell element. Equivalent attributes can be found in the row element.
1381
+
1382
+ The `data-editable` attribute was removed from the cell element. Use the `.MuiDataGrid-cell--editable` CSS class.
1383
+
1384
+ The `data-mode` attribute was removed from the cell element. Use the `.MuiDataGrid-cell--editing` CSS class.
1385
+
1386
+ - [DataGrid] The `state.filter` and `state.visibleRows` were merged into a single `state.filter` sub-state (#2782) @flaviendelangle
1387
+
1388
+ To still access this information, use `state.filter` or the selectors as below:
1389
+
1390
+ ```diff
1391
+ -const filterModel = state.filter
1392
+ -const filterModel = gridFilterStateSelector(state)
1393
+ +const filterModel = state.filter.filterModel
1394
+ +const filterModel = gridFilterModelSelector(state) // preferred method
1395
+
1396
+ -const visibleRowsLookup = state.visibleRows.visibleRowsLookup
1397
+ -const visibleRowsLookup = visibleGridRowsStateSelector(state).visibleRowsLookup
1398
+ +const visibleRowsLookup = state.filter.visibleRowsLookup
1399
+ +const visibleRowsLookup = gridVisibleRowsLookupSelector(state).visibleRowsLookup // preferred method
1400
+
1401
+ -const visibleRows = state.visibleRows.visibleRows
1402
+ +const visibleRows = state.filter.visibleRows
1403
+ +const visibleRows = gridVisibleRowsLookupSelector(state).visibleRows // preferred method
1404
+ ```
1405
+
1406
+ - [DataGrid] The CSS classes constants are not exported anymore. Use `gridClasses` instead. (#2788) @flaviendelangle
1407
+
1408
+ ```diff
1409
+ -const columnHeaderClass = GRID_COLUMN_HEADER_CSS_CLASS
1410
+ +const columnHeaderClass = gridClasses.columnHeader
1411
+
1412
+ -const rowClass = GRID_ROW_CSS_CLASS
1413
+ +const rowClass = gridClasses.row
1414
+
1415
+ -const cellClass = GRID_CELL_CSS_CLASS
1416
+ +const cellClass = gridClasses.cell
1417
+
1418
+ -const columnSeparatorClass = GRID_COLUMN_HEADER_SEPARATOR_RESIZABLE_CSS_CLASS
1419
+ +const columnSeparatorClass = gridClasses['columnSeparator--resizable']
1420
+
1421
+ -const columnHeaderTitleClass = GRID_COLUMN_HEADER_TITLE_CSS_CLASS
1422
+ +const columnHeaderTitleClass = gridClasses.columnHeaderTitle
1423
+
1424
+ -const columnHeaderDropZoneClass = GRID_COLUMN_HEADER_DROP_ZONE_CSS_CLASS
1425
+ +const columnHeaderDropZoneClass = gridClasses.columnHeaderDropZone
1426
+
1427
+ -const columnHeaderDraggingClass = GRID_COLUMN_HEADER_DRAGGING_CSS_CLASS
1428
+ +const columnHeaderDraggingClass = gridClasses["columnHeader--dragging"]
1429
+ ```
1430
+
1431
+ - [DataGrid] Rename `gridCheckboxSelectionColDef` to `GRID_CHECKBOX_SELECTION_COL_DEF` (#2793) @flaviendelangle
1432
+
1433
+ ```diff
1434
+ - gridCheckboxSelectionColDef
1435
+ + GRID_CHECKBOX_SELECTION_COL_DEF
1436
+ ```
1437
+
1438
+ - [DataGrid] The constants referring to the column types were removed (#2791) @flaviendelangle
1439
+ Replace them as below:
1440
+
1441
+ ```diff
1442
+ -const isColumnString = column.type === GRID_STRING_COLUMN_TYPE;
1443
+ +const isColumnString = col.type === 'string';
1444
+
1445
+ -const isColumnNumber = col.type === GRID_NUMBER_COLUMN_TYPE;
1446
+ +const isColumnNumber = col.type === 'number';
1447
+
1448
+ -const isColumnDate = col.type === GRID_DATE_COLUMN_TYPE;
1449
+ +const isColumnDate = col.type === 'date';
1450
+
1451
+ -const isColumnDateTime = col.type === GRID_DATETIME_COLUMN_TYPE;
1452
+ +const isColumnDateTime = col.type === 'dateTime';
1453
+
1454
+ -const isColumnBoolean = col.type === GRID_BOOLEAN_COLUMN_TYPE;
1455
+ +const isColumnBoolean = col.type === 'boolean';
1456
+ ```
1457
+
1458
+ - [DataGrid] The state initializers were removed (#2782) @flaviendelangle
1459
+
1460
+ Use `getDefaultGridFilterModel` instead of `getInitialGridFilterState`:
1461
+
1462
+ ```diff
1463
+ -const [filterModel, setFilterModel] = React.useState(getInitialGridFilterState);
1464
+ +const [filterModel, setFilterModel] = React.useState(getDefaultGridFilterModel);
1465
+ ```
1466
+
1467
+ For the other methods, you can hardcode the value you want to apply:
1468
+
1469
+ ```diff
1470
+ -const [sortModel, setSortModel] = React.useState(() => getInitialGridSortingState().sortModel);
1471
+ +const [sortModel, setSortModel] React.useState([]);
1472
+
1473
+ -getInitialGridColumnReorderState
1474
+ -getInitialGridColumnResizeState
1475
+ -getInitialGridColumnsState
1476
+ -getInitialGridRenderingState
1477
+ -getInitialGridRowState
1478
+ -getInitialGridState
1479
+ -getInitialVisibleGridRowsState
1480
+ -getInitialGridState
1481
+ ```
1482
+
1483
+ #### Changes
1484
+
1485
+ - [DataGrid] Add `row` and `cell` component slots (#2753) @m4theushw
1486
+ - [DataGrid] Rename `gridCheckboxSelectionColDef` to `GRID_CHECKBOX_SELECTION_COL_DEF` (#2793) @flaviendelangle
1487
+ - [DataGrid] Clean hook folder structure and stop exporting internal hooks (#2789) @flaviendelangle
1488
+ - [DataGrid] Add support for Print export (#2519) @DanailH
1489
+ - [DataGrid] Remove internal localization and column type constant exports (#2791) @flaviendelangle
1490
+ - [DataGrid] Remove `GridRowCells` component (#2811) @m4theushw
1491
+ - [DataGrid] Remove class constants exports (#2788) @flaviendelangle
1492
+ - [DataGrid] Remove unused event listeners on `GridCell` and `GridRow` (#2810) @m4theushw
1493
+ - [DataGrid] Fix the header selection checkbox to work with `prop.checkboxSelectionVisibleOnly` (#2781) @flaviendelangle
1494
+
1495
+ ### Docs
1496
+
1497
+ - [docs] Add link to installation page (#2778) @MostafaKMilly
1498
+ - [docs] Add redirect from docs home page to `DataGrid` home page (#2737) @flaviendelangle
1499
+ - [docs] Fix JSX closing tag in `getActions` example (#2847) @dstarner
1500
+ - [docs] Fix pagination in Ant Design demo (#2787) @ZeeshanTamboli
1501
+ - [docs] Update the `page` prop docs (#2812) @m4theushw
1502
+
1503
+ ### Core
1504
+
1505
+ - [core] Update hooks to initialize their state synchronously (#2782) @flaviendelangle
1506
+ - [core] Fix rollup external warnings (#2736) @eps1lon
1507
+
1508
+ ## 5.0.0-beta.3
1509
+
1510
+ _Oct 7, 2021_
1511
+
1512
+ A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
1513
+
1514
+ - 🌎 Add Persian (fa-IR) locale (#2712) @devlifeX
1515
+ - 🎁 Allow to select range of rows with Shift + click (#2456) @flaviendelangle
1516
+ - 🚀 Allow to throttle the row updates with the `throttleRowsMs` prop on `DataGridPro` and remove the default 100ms row update delay (#2561) @flaviendelangle
1517
+ - 💡 Enhance internal code structure
1518
+ - 📚 Documentation improvements
1519
+ - 🐞 Bugfixes
1520
+
1521
+ ### `@mui/x-data-grid@v5.0.0-beta.3` / `@mui/x-data-grid-pro@v5.0.0-beta.3`
1522
+
1523
+ #### Breaking changes
1524
+
1525
+ - [DataGrid] Rename some selectors and interfaces to follow the codebase naming conventions (#2723) @flaviendelangle
1526
+
1527
+ The following selectors were renamed:
1528
+
1529
+ ```diff
1530
+ -const filterModel = filterGridStateSelector(state);
1531
+ +const filterModel = gridFilterModelSelector(state);
1532
+ ```
1533
+
1534
+ ```diff
1535
+ -const density: GridGridDensity = densitySelector(state);
1536
+ +const density: GridDensityState = gridDensitySelector(state);
1537
+ ```
1538
+
1539
+ ```diff
1540
+ -const rendering: InternalRenderingState = gridRenderingSelector(state);
1541
+ +const rendering: GridRenderingState = gridRenderingSelector(state);
1542
+ ```
1543
+
1544
+ #### Changes
1545
+
1546
+ - [DataGrid] Add Persian (fa-IR) locale (#2712) @devlifeX
1547
+ - [DataGrid] Allow to select range of rows using Shift + click (#2456) @flaviendelangle
1548
+ - [DataGrid] Fix numeric column filter to not run when value is empty (#2780) @m4theushw
1549
+ - [DataGrid] Export `singleSelect` operators (#2666) @jeremyalan
1550
+ - [DataGrid] Fix Italian localization (#2717) @destegabry
1551
+ - [DataGrid] Fix `undefined` in filter panel (#2715) @DanailH
1552
+ - [DataGrid] Fix the fade-out transition of the `GridMenu` (#2734) @flaviendelangle
1553
+ - [DataGrid] Pass row `id` to `valueFormatter` (#2738) @m4theushw
1554
+ - [DataGrid] Fix `onSortModelChange` to not be called during initialization (#2724) @flaviendelangle
1555
+ - [DataGridPro] Stop drag event propagation (#2802) @DanailH
1556
+ - [DataGridPro] Fix keyboard navigation to work with filtered rows (#2800) @flaviendelangle
1557
+
1558
+ ### Docs
1559
+
1560
+ - [docs] Add missing fonts (#2745) @m4theushw
1561
+ - [docs] Add page for scrolling API (#2634) @m4theushw
1562
+ - [docs] Add type to `onChange` event argument (#2669) @jayariglesias
1563
+ - [docs] Add explanation about the `id` usage in multiple filters in DataGridPro (#2783) @ZeeshanTamboli
1564
+ - [docs] Fix demo throwing error (#2719) @m4theushw
1565
+ - [docs] Fix index and improve playground page (#2755) @oliviertassinari
1566
+
1567
+ ### Core
1568
+
1569
+ - [core] Add benchmark script (#2683) @m4theushw
1570
+ - [core] Clean error messages prefix (#2676) @flaviendelangle
1571
+ - [core] Do not regenerate columns of `useDemoData` on each render (#2747) @flaviendelangle
1572
+ - [core] Don't run benchmark on cached files (#2786) @m4theushw
1573
+ - [core] Drop localization v4 format (#2792) @flaviendelangle
1574
+ - [core] Remove useless state update in `useGridColumnMenu` (#2722) @flaviendelangle
1575
+ - [core] Remove v4 conditional code (#2575) @flaviendelangle
1576
+ - [core] Rework `useGridRows` high frequency update (#2561) @flaviendelangle
1577
+ - [core] Set up `eps1lon/actions-label-merge-conflict` action (#2751) @m4theushw
1578
+ - [core] Stop using selectors for Pro features on React components (#2716) @flaviendelangle
1579
+
1580
+ ## 5.0.0-beta.2
1581
+
1582
+ _Sep 24, 2021_
1583
+
1584
+ A big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
1585
+
1586
+ - 🇻🇳 Add Vietnamese (vi-VN) locale (#2668) @tuananh281098
1587
+ - 🇵🇱 Improve Polish (pl-PL) locale (#2632) @michallukowski
1588
+ - ⚡️ Apply the `valueFormatter` to the `singleSelect` column type (#2581) @DanailH
1589
+
1590
+ ### `@mui/x-data-grid@v5.0.0-beta.2` / `@mui/x-data-grid-pro@v5.0.0-beta.2`
1591
+
1592
+ #### Breaking changes
1593
+
1594
+ - [DataGrid] The params passed to the `valueFormatter` were changed. (#2581) @DanailH
1595
+
1596
+ Use the `api` to get the missing params.
1597
+ The `GridValueFormatterParams` interface has the following signature now:
1598
+
1599
+ ```diff
1600
+ -export type GridValueFormatterParams = Omit<GridRenderCellParams, 'formattedValue' | 'isEditable'>;
1601
+ +export interface GridValueFormatterParams {
1602
+ + /**
1603
+ + * The column field of the cell that triggered the event
1604
+ + */
1605
+ + field: string;
1606
+ + /**
1607
+ + * The cell value, but if the column has valueGetter, use getValue.
1608
+ + */
1609
+ + value: GridCellValue;
1610
+ + /**
1611
+ + * GridApi that let you manipulate the grid.
1612
+ + */
1613
+ + api: any;
1614
+ +}
1615
+ ```
1616
+
1617
+ #### Changes
1618
+
1619
+ - [DataGrid] Add Vietnamese (vi-VN) locale (#2668) @tuananh281098
1620
+ - [DataGrid] Apply the `valueFormatter` to `singleSelect` select options (#2581) @DanailH
1621
+ - [DataGrid] Free up column header space when icons are not visible (#2606) @DanailH
1622
+ - [DataGrid] Improve Polish (pl-PL) locale (#2632) @michallukowski
1623
+
1624
+ ### Docs
1625
+
1626
+ - [docs] Add section for controlled selection and server-side pagination (#2602) @DanailH
1627
+ - [docs] Fix Algolia search (#2655) @oliviertassinari
1628
+ - [docs] Improve the seach results relevance (#2656) @oliviertassinari
1629
+ - [docs] Update installation instructions (#2663) @m4theushw
1630
+
1631
+ ### Core
1632
+
1633
+ - [core] Upgrade JSS plugins to 10.8.0 (#2667) @m4theushw
1634
+
1635
+ ## 5.0.0-beta.1
1636
+
1637
+ _Sep 17, 2021_
1638
+
1639
+ A big thanks to the 3 contributors who made this release possible.
1640
+
1641
+ ### `@mui/x-data-grid@v5.0.0-beta.1` / `@mui/x-data-grid-pro@v5.0.0-beta.1`
1642
+
1643
+ This is a hotfix to fix an important regression with `v5.0.0-beta.0`.
1644
+
1645
+ ### Docs
1646
+
1647
+ - [docs] Explain how to use theme augmentation (#2582) @ZeeshanTamboli
1648
+ - [docs] Fix formatting (#2626) @m4theushw
1649
+ - [docs] Include packages from next tag (#2628) @m4theushw
1650
+
1651
+ ### Core
1652
+
1653
+ - [core] Copy bin folder when building the libraries (#2627) @flaviendelangle
1654
+ - [core] Remove prop-types during build (#2586) @m4theushw
1655
+
1656
+ ## 5.0.0-beta.0
1657
+
1658
+ _Sep 17, 2021_
1659
+
1660
+ 🎉 This is the first release with support for the new MUI v5 🎉!
1661
+ In the next releases, we will be working to bring all the cool features from MUI v5 to the advanced components.
1662
+
1663
+ This beta version of MUI X drops support for MUI v4. We encourage everyone to upgrade to MUI v5 to be able to continue to get all the upcoming features and fixes of MUI X. New versions of MUI X v4, containing only fixes, will still be released, but in a slower pace.
1664
+
1665
+ A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
1666
+
1667
+ - ⚡ Migrate to the new `@mui/material` and `@mui/styles` packages and drop support for `@material-ui/core` (#2515, #2571, #2620) @m4theushw
1668
+ - 📚 Migrate to the new documentation infrastructure and design (#2441) (@DanailH, @m4theushw)
1669
+ - 🎁 Add `actions` column type (#2385) @m4theushw
1670
+
1671
+ See the documentation for [more details](https://mui.com/components/data-grid/columns/#column-types).
1672
+
1673
+ - 👁 Allow to disable virtualization with the `disableVirtualization` prop (#2326) @m4theushw
1674
+ - 🚀 Introduce the new `isRowSelected` api method (#2523) @flaviendelangle
1675
+ - 🕹️ Show page size controls on smaller resolutions (#2461) @michaldudak
1676
+ - 🌎 Add Simplified Chinese (zhCN) localization (#2431) @wlf100220
1677
+ - 🌎 Add Korean (koKR) localization (#2446) @zzossig
1678
+ - 📚 Migrate to the new documentation infrastructure and design (#2441) (@DanailH, @m4theushw)
1679
+ - 🐞 Bugfixes
1680
+
1681
+ ### `@mui/x-data-grid@v5.0.0-beta.0` / `@mui/x-data-grid-pro@v5.0.0-beta.0`
1682
+
1683
+ #### Breaking changes
1684
+
1685
+ - [DataGridPro] Remove `apiRef.current.getState` method.
1686
+
1687
+ ```diff
1688
+ -const state = apiRef.current.getState();
1689
+ +const state = apiRef.current.state
1690
+ ```
1691
+
1692
+ - [DataGridPro] The third argument in `apiRef.current.selectRow` is now inverted to keep consistency with other selection APIs. (#2523) @flaviendelangle
1693
+
1694
+ ```diff
1695
+ -selectRow: (id: GridRowId, isSelected?: boolean, allowMultiple?: boolean = false) => void;
1696
+ +selectRow: (id: GridRowId, isSelected?: boolean, resetSelection?: boolean = false) => void;
1697
+ ```
1698
+
1699
+ - [DataGrid] Remove the `options` prop from the return of `useGridSlotComponentProps`.
1700
+
1701
+ ```diff
1702
+ -const { options } = useGridSlotComponentProps();
1703
+ +const rootProps = useGridRootProps();
1704
+ ```
1705
+
1706
+ - [DataGrid] The module augmentation is not enabled by default. This change was done to prevent conflicts with projects using `DataGrid` and `DataGridPro` together.
1707
+
1708
+ In order to still be able to do overrides at the theme level, add the following imports to your project:
1709
+
1710
+ ```diff
1711
+ +import type {} from '@mui/x-data-grid/themeAugmentation';
1712
+ +import type {} from '@mui/x-data-grid-pro/themeAugmentation';
1713
+ ```
1714
+
1715
+ #### Changes
1716
+
1717
+ - [DataGridPro] Only apply `checkboxSelectionVisibleOnly` when pagination is enabled (#2443) @flaviendelangle
1718
+ - [DataGridPro] Remove `apiRef.current.getState` method (#2579) @flaviendelangle
1719
+ - [DataGrid] Add `disableVirtualization` prop (#2326) @m4theushw
1720
+ - [DataGrid] Add missing exports from param models (#2448) @flaviendelangle
1721
+ - [DataGrid] Add missing keys to the `classes` prop (#2458) @m4theushw
1722
+ - [DataGrid] Add `actions` column type (#2385) @m4theushw
1723
+ - [DataGrid] Add zhCN localization (#2431) @wlf100220
1724
+ - [DataGrid] Add koKR localization (#2446) @zzossig
1725
+ - [DataGrid] Clean the selection public API (#2523) @flaviendelangle
1726
+ - [DataGrid] Do not call `useGridColumnResize` and `useGridInfiniteLoader` (#2580) @flaviendelangle
1727
+ - [DataGrid] Do not show right border of last column header when its cells don't have it (#2444) @flaviendelangle
1728
+ - [DataGrid] Don't consider unselectable rows when `selectionModel` is used (#2464) @m4theushw
1729
+ - [DataGrid] Drop v4 support (#2515) @m4theushw
1730
+ - [DataGrid] Export `useGridRootProps` (#2621) @flaviendelangle
1731
+ - [DataGrid] Fire `columnOrderChange` event after state update (#2451) @flaviendelangle
1732
+ - [DataGrid] Fix TypeScript type error for toolbar components (#2393) @ZeeshanTamboli
1733
+ - [DataGrid] Fix navigation between column headers with rows filtered (#2440) @m4theushw
1734
+ - [DataGrid] Force `scrollEndThreshold` to undefined (#2574) @flaviendelangle
1735
+ - [DataGrid] Improve ja-JP localization (#2502) @daikiojm
1736
+ - [DataGrid] Make `hideFooterRowCount` prop available only for DataGridPro (#2564) @ZeeshanTamboli
1737
+ - [DataGrid] Fix a bug where pressing <kbd>Escape</kbd> was not closing the `GridColumnHeaderMenu` (#2463) @DanailH
1738
+ - [DataGrid] Prevent scroll when selecting rows (#2558) @m4theushw
1739
+ - [DataGrid] Reduce specificity of `GridToolbarContainer` styles (#2462) @michaldudak
1740
+ - [DataGrid] Remove import to `@material-ui/icons` (#2576) @m4theushw
1741
+ - [DataGrid] Show page size controls on smaller resolutions (#2461) @michaldudak
1742
+ - [DataGrid] Vertically align column header icons (#2555) @oliviertassinari
1743
+ - [DataGrid] Fix numeric filter operators not handling '0' correctly (#2528) @flaviendelangle
1744
+
1745
+ #### Docs
1746
+
1747
+ - [docs] Clarify confusion between licenses (#2525) @oliviertassinari
1748
+ - [docs] Fix JSDoc comments (#2452) @m4theushw
1749
+ - [docs] Fix event argument in onXXX props (#2391) @m4theushw
1750
+ - [docs] Improve SEO ranking (#2467) @oliviertassinari
1751
+ - [docs] Replace 'paging' with 'pagination' (#2459) @michaldudak
1752
+ - [docs] Use same infrastructure from v5 (#2441) @DanailH
1753
+
1754
+ #### Core
1755
+
1756
+ - [core] Add typing to the details argument (#2512) @flaviendelangle
1757
+ - [core] Allow to create one logger per Grid instance (#2529) @flaviendelangle
1758
+ - [core] Clean `GridSimpleOptions` interface (#2578) @flaviendelangle
1759
+ - [core] Fix PR detection mechanism for upstream PRs @oliviertassinari
1760
+ - [core] Generate propTypes (#2395) @m4theushw
1761
+ - [core] Improve the feedback loop from developers (#2468) @oliviertassinari
1762
+ - [core] List the requirement of each hook (#2319) @flaviendelangle
1763
+ - [core] Only create one `GridEventEmitter` per Grid (#2504) @flaviendelangle
1764
+ - [core] Only run Prettier on files different from `next` instead of `master` (#2566) @flaviendelangle
1765
+ - [core] Polish issue template (#2503) @oliviertassinari
1766
+ - [core] Prepare `x-grid-data-generator` for noImplicitAny (#2505) @flaviendelangle
1767
+ - [core] Provide theme augmentation as separate module (#2520) @m4theushw
1768
+ - [core] Publish `GridEvents.rowsSet` when the rows state is modified after `props.rows` is updated (#2530) @flaviendelangle
1769
+ - [core] Remove `state.isScrolling` (#2337) @m4theushw
1770
+ - [core] Remove useless apiRef optional chaining or non-null assertions (#2455) @flaviendelangle
1771
+ - [core] Replace remaining `@material-ui` usages (#2577) @m4theushw
1772
+ - [core] Replace the options with direct prop reads (#2433) @flaviendelangle
1773
+ - [core] Skip update on initial render (#2344) @oliviertassinari
1774
+ - [core] Small changes (#2607, #2511) @flaviendelangle
1775
+ - [core] Support for `@mui` packages (#2571) @m4theushw
1776
+ - [core] Synchronously subscribe to events in `useGridApiEventHandler` (#2557) @flaviendelangle
1777
+ - [core] Update `.browserslistrc` file (#2384) @DanailH
1778
+ - [core] Update monorepo version and copy assets (#2603) @m4theushw
1779
+ - [core] Update outdated hook requirements (#2526) @flaviendelangle
1780
+ - [test] Clean selection tests (#2457) @flaviendelangle
1781
+ - [test] Disable browserstack for PRs (#2531) @flaviendelangle
1782
+
1783
+ ## 4.0.0
1784
+
1785
+ _Aug 27, 2021_
1786
+
1787
+ 🎉 This is the first stable release of the data grid component 🎉!
1788
+
1789
+ We have been iterating on the component for [18 months](https://github.com/mui/mui-x/commit/705cb0f387b5f3aa056bf40c4183a2342b317447). With the introduction of the [row edit](https://mui.com/components/data-grid/editing/#row-editing) feature, many bug fixes, and polishing of the documentation, we believe the component is ready for a stable release.
1790
+
1791
+ The MUI X v4.0.0 release supports [MUI Core](https://github.com/mui/material-ui) v4 and has partial support for v5-beta. With the soon-to-be-released v5 version of the core components, we are moving ongoing work to the v5 release line (Core and X).
1792
+ The support for existing projects on MUI v4 won't be a priority going forward. We encourage you to migrate to MUI Core v5-beta and soon MUI X v5-beta. We don't patch, fix, or alter older versions. Using MUI Core v4 with MUI X v5 might lead to extra bundle size and configuration.
1793
+
1794
+ A big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
1795
+
1796
+ - 🚀 Introduce the [row editing](https://mui.com/components/data-grid/editing/#row-editing) feature (#2098) @m4theushw
1797
+
1798
+ <img src="https://user-images.githubusercontent.com/3165635/130665023-3c0730ab-502e-4da1-8bc1-d572427ad2d6.gif" width="851" height="382" />
1799
+
1800
+ - ⚡️ Rename the `XGrid` component to `DataGridPro` (#2382) @m4theushw
1801
+
1802
+ This should help clarify the products vs. plans separation. [MUI X](https://github.com/mui/mui-x) is a product line on its own. It contains MIT and Commercial software. Removing X from the name of the paid components should help remove a possible confusion: the MIT version of X is meant to be valuable enough for developers to use it, without feeling that it's crippled compared to other OSS alternatives.
1803
+ The Pro suffix should help make it clear what's MIT and what's not.
1804
+
1805
+ - ✨ Rename the `@material-ui` npm scope to `@mui` (#2341) @oliviertassinari
1806
+
1807
+ This is part of the ongoing rebranding of the project and company. Material-UI is our current official name, however, we are going to change it. It's too long to write, read, and pronounce; and it is too closely associated with Material Design. In the near future, the whole project/company is moving to MUI and https://mui.com/.
1808
+
1809
+ - 💡 The `api` property was removed from the callback params. To access the API, use the `DataGridPro` (#2312) @DanailH
1810
+
1811
+ ### `@mui/x-data-grid@v4.0.0` / `@mui/x-data-grid-pro@v4.0.0`
1812
+
1813
+ #### Breaking changes
1814
+
1815
+ - [DataGrid] Move packages to `@mui` scope and rename `XGrid` to `DataGridPro` (#2341, #2382) @m4theushw @oliviertassinari
1816
+ You can find in the above highlight section why we are making these name changes. You can migrate following these steps:
1817
+
1818
+ ```diff
1819
+ -import { DataGrid } from '@material-ui/data-grid';
1820
+ +import { DataGrid } from '@mui/x-data-grid';
1821
+ ```
1822
+
1823
+ ```diff
1824
+ -import { XGrid } from '@material-ui/x-grid';
1825
+ -<XGrid />
1826
+ +import { DataGridPro } from '@mui/x-data-grid-pro';
1827
+ +<DataGridPro />
1828
+ ```
1829
+
1830
+ - [DataGrid] The `api` property was removed from the callback params (#2312) @DanailH
1831
+ To access the API, use the `DataGridPro` and get it from the new `details` param.
1832
+
1833
+ ```diff
1834
+ <DataGridPro
1835
+ - onColumnResize={(params, event) => console.log(params.api)}
1836
+ + onColumnResize={(params, event, details) => console.log(details.api)}
1837
+ />
1838
+ ```
1839
+
1840
+ - [DataGrid] Remove unused row CSS classes (#2327) @ZeeshanTamboli
1841
+ The CSS classes `.Mui-odd` and `.Mui-even` were removed from the row.
1842
+
1843
+ #### Changes
1844
+
1845
+ - [DataGrid] Add `gridClasses` API instead of hard coded classes (#2320) @m4theushw
1846
+ - [DataGrid] Add row editing feature (#2098) @m4theushw
1847
+ - [DataGrid] Add TypeScript module augmentation for the theme (#2307) @ZeeshanTamboli
1848
+ - [DataGrid] Fix `box-sizing: border-box` leak (#2330) @m4theushw
1849
+ - [DataGrid] Fix keyboard navigation header regression (#2342) @oliviertassinari
1850
+ - [DataGrid] Fix keyboard navigation on filtered rows (#2336) @m4theushw
1851
+
1852
+ ### Docs
1853
+
1854
+ - [docs] Add `Row & Cell editing` in features list (#2396) @ZeeshanTamboli
1855
+ - [docs] Add redirect from `XGrid` to `DataGridPro` (#2389) @m4theushw
1856
+ - [docs] Fix `onCellEditCommit` param type (#2390) @ArthurPedroti
1857
+ - [docs] Fix docs for `onEditRowsModelChange` prop (#2394) @ZeeshanTamboli
1858
+ - [docs] Fix docs links and pagination sentence (#2381) @ZeeshanTamboli
1859
+ - [docs] Update the icons for the new branding (#2339) @oliviertassinari
1860
+
1861
+ ### Core
1862
+
1863
+ - [core] Keep prop-types in the same file (#2345) @oliviertassinari
1864
+ - [core] Reduce `options` internal usage (#2318) @flaviendelangle
1865
+ - [core] Remove `DataGridPropTypes` (#2432) @flaviendelangle
1866
+ - [core] Remove private API from the export (#2299) @oliviertassinari
1867
+ - [core] Remove usages of `options.scrollbarSize` (#2317) @flaviendelangle
1868
+ - [core] Simplify `useGridColumns` hook (#2343) @oliviertassinari
1869
+ - [core] Update `doesSupportTouchActionNone` implementation (#2378) @DanailH
1870
+ - [core] Upgrade dependency with the monorepo (#2377) @oliviertassinari
1871
+ - [test] Use `.not.to.equal` in favour of `to.not.equal` (#2340) @oliviertassinari
1872
+
1873
+ ## 4.0.0-alpha.37
1874
+
1875
+ _Aug 12, 2021_
1876
+
1877
+ Big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
1878
+
1879
+ - 🔎 Add the \"is empty\" and \"is not empty\" filter operators to date and number columns (#2274) @flaviendelangle
1880
+ - ⚡️ Only support @material-ui/core 4.12.0 or higher (#2281) @DanailH
1881
+ - 🐞 Fix a regression to not require @material-ui/x-license when using the DataGrid (#2295) @oliviertassinari
1882
+ - 👁️ Add `onViewportRowsChange` prop for `XGrid` only (#2038) @DanailH
1883
+ - 📃 Translate booleans when exporting rows to CSV (#2296) @m4theushw
1884
+ - 🌎 Add Sudanese Arabic (ar-SD) locale (#2269) @YassinHussein
1885
+
1886
+ This is the last alpha release. We are moving to beta in the next release, next week.
1887
+
1888
+ ### `@material-ui/data-grid@v4.0.0-alpha.37` / `@material-ui/x-grid@v4.0.0-alpha.37`
1889
+
1890
+ #### Breaking changes
1891
+
1892
+ - [DataGrid] Drop support for @material-ui/core below v4.12.0 (#2281) @DanailH
1893
+ - [XGrid] Replace event constants with the `GridEvents` enum (#2279) @flaviendelangle
1894
+
1895
+ ```diff
1896
+ -import { GRID_CELL_EDIT_START } from '@material-ui/x-grid';
1897
+ -apiRef.current.subscribeEvent(GRID_CELL_EDIT_START, (params, event) => { ... });
1898
+ +import { GridEvents } from '@material-ui/x-grid';
1899
+ +apiRef.current.subscribeEvent(GridEvents.cellEditStart, (params, event) => { ... });
1900
+ ```
1901
+
1902
+ #### Changes
1903
+
1904
+ - [DataGrid] Add @material-ui/styles as peer dependency (#2288) @m4theushw
1905
+ - [DataGrid] Add Sudanese Arabic (ar-SD) locale (#2269) @YassinHussein
1906
+ - [DataGrid] Add \"is empty\" and \"is not empty\" filter operators to date and number columns (#2274) @flaviendelangle
1907
+ - [DataGrid] Avoid crash if `valueOptions` is missing in the `GridColDef` when using `singleSelect` (#2276) @DanailH
1908
+ - [DataGrid] Remove the use of the `autoFocus` attribute (#2239) @m4theushw
1909
+ - [DataGrid] Drop support for @material-ui/core below 4.12.0 (#2281) @DanailH
1910
+ - [DataGrid] Fix when `renderCell` returns false-ish values (#2242) @siriwatknp
1911
+ - [DataGrid] Group events into a single enum (#2279) @flaviendelangle
1912
+ - [DataGrid] Improve error message if using multiple versions of data grid (#2311) @ZeeshanTamboli
1913
+ - [DataGrid] Make resized column not flexible (#2308) @flaviendelangle
1914
+ - [DataGrid] Merge `useGridVirtualColumns` into `useGridVirtualRows` (#2314) @m4theushw
1915
+ - [DataGrid] Remove dependency on x-license (#2295) @oliviertassinari
1916
+ - [DataGrid] Translate booleans when exporting to CSV (#2296) @m4theushw
1917
+ - [XGrid] Add `onViewportRowsChange` prop (#2038) @DanailH
1918
+
1919
+ ### Docs
1920
+
1921
+ - [docs] Fix page size warnings (#2301) @oliviertassinari
1922
+ - [docs] Sort events alphabetically (#2278) @flaviendelangle
1923
+
1924
+ ### Core
1925
+
1926
+ - [core] Assert that `event.defaultMuiPrevented` is called (#2302) @oliviertassinari
1927
+ - [core] Reduce options usage in feature hooks (#2275, #2284) @flaviendelangle
1928
+ - [core] Remove use of `getState` (#2300) @oliviertassinari
1929
+ - [core] Try `rangeStrategy: bump` @oliviertassinari
1930
+ - [core] Use type inference in selectors (#2244) @flaviendelangle
1931
+ - [core] Improve type coverage of `colDef` (#2188) @flaviendelangle
1932
+
1933
+ ## 4.0.0-alpha.36
1934
+
1935
+ _August 5, 2021_
1936
+
1937
+ Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
1938
+
1939
+ - 🚀 Polish the cell editing API (#2220) @m4theushw
1940
+ - ⚡️ Add `details` param to each callback option in `XGrid` (#2236) @DanailH
1941
+ - 💅 Work on internal optimizations and code separation (#2176, #2243, #2235, #2213) @flaviendelangle
1942
+ - ✨ Allow non-integer column width for flex columns (#2282) @flaviendelangle
1943
+ - 🐞 Fix one bug related to filtering
1944
+
1945
+ ### `@material-ui/data-grid@v4.0.0-alpha.36` / `@material-ui/x-grid@v4.0.0-alpha.36`
1946
+
1947
+ #### Breaking changes
1948
+
1949
+ - [DataGrid] Polish cell editing (#2220) @m4theushw
1950
+
1951
+ - Replace `onCellModeChange` prop with `onCellEditStart` or `onCellEditStop`.
1952
+ - Rename `onCellEditEnter` prop to `onCellEditStart`.
1953
+ - Rename `onCellEditEnd` prop to `onCellEditStop`.
1954
+
1955
+ ```diff
1956
+ <DataGrid
1957
+ - onCellEditEnter={...}
1958
+ - onCellEditExit={...}
1959
+ + onCellEditStart={...}
1960
+ + onCellEditStop={...}
1961
+ />
1962
+ ```
1963
+
1964
+ - [XGrid] The `setEditCellProps` API call is not available anymore.
1965
+ Use the [controlled editing](https://mui.com/components/data-grid/editing/#controlled-editing) or `setEditRowsModel`.
1966
+
1967
+ ```diff
1968
+ -apiRef.current.setEditCellProps({ id, field, props: { ...props, error: true } });
1969
+ +apiRef.current.setEditRowsModel({
1970
+ + ...oldModel,
1971
+ + [id]: {
1972
+ + ...oldModel[id],
1973
+ + [field]: { ...oldModel[id][field], error: true },
1974
+ + },
1975
+ +});
1976
+ ```
1977
+
1978
+ - [DataGrid] Allow non-integer column width for flex columns (#2282) @flaviendelangle
1979
+
1980
+ - The `width` property of the columns is no longer updated with the actual width of of the column. Use the new `computedWidth` property in the callbacks instead.
1981
+
1982
+ ```diff
1983
+ const columns: GridColDef = [
1984
+ {
1985
+ field: "name",
1986
+ width: 100,
1987
+ renderCell: ({ value, colDef }) => {
1988
+ - console.log(colDef.width!)
1989
+ + console.log(colDef.computedWidth)
1990
+ return value
1991
+ }
1992
+ ]
1993
+ ```
1994
+
1995
+ #### Changes
1996
+
1997
+ - [DataGrid] Canonical controlled state behavior (#2208) @oliviertassinari
1998
+ - [DataGrid] Fix filter with extended columns (#2246) @m4theushw
1999
+ - [DataGrid] Remove default value of columnTypes prop (#2280) @m4theushw
2000
+ - [DataGrid] Add German (de-DE) translation for export and isEmpty operator (#2285) @ChristopherBussick
2001
+ - [XGrid] Add `details` param to each callback option in `XGrid` (#2236) @DanailH
2002
+
2003
+ ### Docs
2004
+
2005
+ - [docs] Improve slot API docs (#2219) @oliviertassinari
2006
+ - [docs] Document virtualization APIs in virtualization section (#2247) @ZeeshanTamboli
2007
+
2008
+ ### Core
2009
+
2010
+ - [core] Isolate `DataGrid` and `XGrid` (#2176) @dtassone
2011
+ - [core] Move `GridFilterModel` in the models directory (#2243) @flaviendelangle
2012
+ - [core] Add new column internal `computedWidth` field (#2235) @flaviendelangle
2013
+ - [core] Use `rootProps` instead of `options` in the grid components except for `classes` (#2213) @flaviendelangle
2014
+ - [core] Fix `rebaseWhen=auto` not working (#2271) @oliviertassinari
2015
+ - [core] Batch small changes (#2249) @oliviertassinari
2016
+
2017
+ ## 4.0.0-alpha.35
2018
+
2019
+ _July 31, 2021_
2020
+
2021
+ Big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
2022
+
2023
+ - ⚛️ Complete the idiomatic support of controllable props (#2143, #2099) @m4theushw, @flaviendelangle
2024
+ - ✨ Improve support of @material-ui/core@v5 (#2224, #2240) @oliviertassinari, @siriwatknp
2025
+ - 🐛 Fix 7 bugs and regressions
2026
+
2027
+ ### `@material-ui/data-grid@v4.0.0-alpha.35` / `@material-ui/x-grid@v4.0.0-alpha.35`
2028
+
2029
+ #### Breaking changes
2030
+
2031
+ - [DataGrid] Improve controllable cell edit (#2143) @m4theushw
2032
+
2033
+ - The `onEditCellChange` prop was renamed to `onEditCellPropsChange`.
2034
+ - The `onEditCellChangeCommitted` prop was renamed to `onCellEditCommit`.
2035
+ - The `onEditRowModelChange` prop was removed. Use the new `onEditRowsModelChange` prop.
2036
+
2037
+ ```diff
2038
+ -onEditRowModelChange?: (params: GridEditRowModelParams)
2039
+ +onEditRowsModelChange?: (editRowsModel: GridEditRowsModel)
2040
+ ```
2041
+
2042
+ - [XGrid] Improve controllable cell edit (#2143) @m4theushw
2043
+
2044
+ - The `cellEditPropsChange` event was renamed to `editCellPropsChange`.
2045
+ - The `cellEditPropsChangeCommitted` event was renamed to `cellEditCommit`.
2046
+ - The `cellValueChange` event was removed. Listen to `cellEditCommit` to detect when the value is committed.
2047
+ - The `editRowModelChange` event was renamed to `editRowsModelChange`.
2048
+
2049
+ - [DataGrid] Improve controllable pagination (#2099) @flaviendelangle
2050
+
2051
+ - The `pageSize` is now a controlled prop. If you set a value, you also need to handle updates with onPageSizeChange. See [the documentation](https://mui.com/components/data-grid/pagination/#page-size).
2052
+ - Change the controllable API signature:
2053
+
2054
+ ```diff
2055
+ // Signature
2056
+ -onPageChange?: (params: GridPageChangeParams) => void;
2057
+ +onPageChange?: (page: number) => void;
2058
+
2059
+ // Usage
2060
+ -<DataGrid onPageChange={(params: GridPageChangeParams) => setPage(params.page)} />
2061
+ +<DataGrid onPageChange={(page: number) => setPage(page)} />
2062
+ ```
2063
+
2064
+ ```diff
2065
+ // Signature
2066
+ -onPageSizeChange?: (params: GridPageChangeParams) => void;
2067
+ +onPageSizeChange?: (pageSize: number) => void;
2068
+
2069
+ // Usage
2070
+ -<DataGrid onPageSizeChange={(params: GridPageChangeParams) => setPageSize(params.pageSize)} />
2071
+ +<DataGrid onPageSizeChange={(pageSize: number) => setPageSize(pageSize)} />
2072
+ ```
2073
+
2074
+ #### Changes
2075
+
2076
+ - [DataGrid] Fix `Controlled selection` console error (#2197) @ZeeshanTamboli
2077
+ - [DataGrid] Fix `disableMultipleColumnsFiltering` console warning @ZeeshanTamboli
2078
+ - [DataGrid] Fix CSV export when selected row id is number (#2232) @flaviendelangle
2079
+ - [DataGrid] Fix horizontal scroll when no rows (#2159) @m4theushw
2080
+ - [DataGrid] Fix id passed to setEditCellValue (#2215) @m4theushw
2081
+ - [DataGrid] Fix missing value in onCellEditCommit (#2214) @m4theushw
2082
+ - [DataGrid] Fix prop-type warning with v5 (#2224) @oliviertassinari
2083
+ - [DataGrid] Fix support for singleSelect with numeric values (#2112) @m4theushw
2084
+ - [DataGrid] Improve translations to the Turkish locale (#2203) @cihanyakar
2085
+ - [DataGrid] Use event.defaultMuiPrevented to prevent the default behavior (#2179) @m4theushw
2086
+ - [DataGrid] Warn when pageSize is not present in rowsPerPageOptions (#2014) @flaviendelangle
2087
+ - [XGrid] Fix v5 filter select display (#2240) @siriwatknp
2088
+
2089
+ ### Docs
2090
+
2091
+ - [docs] Add missing API docs (#2167) @ZeeshanTamboli
2092
+ - [docs] Describe how to export custom rendered cells (#2194) @m4theushw
2093
+ - [docs] Generate api doc for the GridExportCSVOptions interface (#2102) @flaviendelangle
2094
+ - [docs] Handle generics in api doc generation (#2210) @flaviendelangle
2095
+
2096
+ ### Core
2097
+
2098
+ - [core] Don't export the internal utils (#2233) @flaviendelangle
2099
+ - [core] Receive patch and minor dependency updates (#2221) @flaviendelangle
2100
+ - [test] Add tests for column resizing (#2211) @flaviendelangle
2101
+ - [test] Fix singleSelect tests (#2200) @m4theushw
2102
+ - [test] Sync Karma config (#2191) @m4theushw
2103
+ - [test] Test support for theme translations (#2229) @m4theushw
2104
+
2105
+ ## [4.0.0-alpha.34](https://github.com/mui/mui-x/compare/v4.0.0-alpha.33...v4.0.0-alpha.34)
2106
+
2107
+ _July 21, 2021_
2108
+
2109
+ Big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
2110
+
2111
+ - 🚀 Fix @material-ui/core v4.12.1 support (#2108) @DanailH
2112
+ - 🐞 Add \"is empty\" and \"is not empty\" operators (#1997) @m4theushw
2113
+ - 💅 Improve the editing API (#1955) @m4theushw
2114
+ - 🐛 We have improved the scroll keyboard (#2162) @oliviertassinari
2115
+ - ⚡️ Add control state for selection model, filter model, and sort model @dtassone
2116
+ - 💡 Add quick filter demo in the docs @dtassone
2117
+
2118
+ ### @material-ui/x-grid@v4.0.0-alpha.34 / @material-ui/data-grid@v4.0.0-alpha.34
2119
+
2120
+ #### Breaking changes
2121
+
2122
+ - [DataGrid] Fix scrollToIndexes behavior (#2162) @oliviertassinari
2123
+
2124
+ Remove public `apiRef.current.isColumnVisibleInWindow()` as it servers private use cases.
2125
+
2126
+ ```diff
2127
+ -apiRef.current.isColumnVisibleInWindow()
2128
+ ```
2129
+
2130
+ - [DataGrid] Remove stateId argument from GridApi getState method (#2141) @flaviendelangle
2131
+
2132
+ ```diff
2133
+ -const filterState = apiRef.current.getState('filter');
2134
+ +const filterState = apiRef.current.state.filter;
2135
+ ```
2136
+
2137
+ - [DataGrid] Improve controllable sorting (#2095) @dtassone
2138
+
2139
+ Normalize the controlled prop signature:
2140
+
2141
+ ```diff
2142
+ <DataGrid
2143
+ - onSortModelChange={(params: GridSortModelParams) => setSortModel(params.model)}
2144
+ + onSortModelChange={(model: GridSortModel) => setSortModel(model)}
2145
+ />
2146
+ ```
2147
+
2148
+ - [DataGrid] Improve controllable filter (#1909) @dtassone
2149
+
2150
+ Normalize the controlled prop signature:
2151
+
2152
+ ```diff
2153
+ <DataGrid
2154
+ - onFilterModelChange={(params: GridFilterModelParams) => setFilterModel(params.model)}
2155
+ + onFilterModelChange={(model: GridFilterModel) => setFilterModel(model)}
2156
+ />
2157
+ ```
2158
+
2159
+ - [DataGrid] Improve the editing API (#1955) @m4theushw
2160
+
2161
+ - The `props` key in the first argument of `commitCellChange` was removed to promote the use of the value already stored in the state.
2162
+ To update the value in the state, call `setEditCellProps` before.
2163
+
2164
+ ```diff
2165
+ -apiRef.current.commitCellChange({ id: 1, field: 'name', props: { value: 'Ana' } });
2166
+ +apiRef.current.setEditCellProps({ id: 1, field: 'name', props: { value: 'Ana' } });
2167
+ +apiRef.current.commitCellChange({ id: 1, field: 'name' });
2168
+ ```
2169
+
2170
+ - Calling `commitCellChange` in a cell in view mode will throw an error. Make sure to first enter the edit mode.
2171
+
2172
+ ```diff
2173
+ +apiRef.current.setCellMode(1, 'name', 'edit');
2174
+ apiRef.current.commitCellChange({ id: 1, field: 'name' });
2175
+ ```
2176
+
2177
+ - The `setCellValue` was removed from the API. Use `commitCellChange` or `updateRows` in place.
2178
+
2179
+ ```diff
2180
+ -apiRef.current.setCellValue({ id: 1, field: 'name', value: 'Ana' });
2181
+ +apiRef.current.updateRows([{ id: 1, name: 'Ana' }]);
2182
+ ```
2183
+
2184
+ or
2185
+
2186
+ ```diff
2187
+ -apiRef.current.setCellValue({ id: 1, field: 'name', value: 'Ana' });
2188
+ +apiRef.current.setCellMode(1, 'name', 'edit');
2189
+ +apiRef.current.setEditCellProps({ id: 1, field: 'name', props: { value: 'Ana' } });
2190
+ +apiRef.current.commitCellChange({ id: 1, field: 'name' });
2191
+ ```
2192
+
2193
+ - The `getEditCellProps` was removed because `getEditCellPropsParams` offers the same functionality.
2194
+
2195
+ ```diff
2196
+ -const props = apiRef.current.getEditCellProps(1, 'name');
2197
+ +const { props } = apiRef.current.getEditCellPropsParams(1, 'name');
2198
+ ```
2199
+
2200
+ **Note**: This method will now throw an error if the cell is in view mode.
2201
+
2202
+ - [DataGrid] Implement useControlState hook, and add control state on selectionModel (#1823) @dtassone
2203
+
2204
+ Normalize the controlled prop signature:
2205
+
2206
+ ```diff
2207
+ <DataGrid
2208
+ - onSelectionModelChange={(params: GridSelectionModelChangeParams) => setSelectionModel(params.model)}
2209
+ + onSelectionModelChange={(model: GridSelectionModel) => setSelectionModel(model)}
2210
+ />
2211
+ ```
2212
+
2213
+ Replace `onRowSelected` with the existing API:
2214
+
2215
+ ```diff
2216
+ <DataGrid
2217
+ - onRowSelected={(params: GridRowSelectedParams) => }
2218
+ + onSelectionModelChange={(model: GridSelectionModel) => }
2219
+ />
2220
+ ```
2221
+
2222
+ #### Changes
2223
+
2224
+ - [DataGrid] Use find instead of filter (#2015) @DanailH
2225
+ - [DataGrid] Add \"is empty\" and \"is not empty\" operators (#1997) @m4theushw
2226
+ - [DataGrid] Add `minWidth` to `GridColDef` (#2101) @DanailH
2227
+ - [DataGrid] Add missing localeText types (#2118) @oliviertassinari
2228
+ - [DataGrid] Add missing translations to French (fr-FR) locale (#2082) @flaviendelangle
2229
+ - [DataGrid] Add quick filter demo (#2149) @dtassone
2230
+ - [DataGrid] Allow passing styles and Popper props to GridPanel (#1994) @sebastianfrey
2231
+ - [DataGrid] Allow to customize the columns exported as CSV (#2008) @flaviendelangle
2232
+ - [DataGrid] Emit `pageSizeChange` when autoPageSize is set and the grid size changes (#1986) @flaviendelangle
2233
+ - [DataGrid] Fix crash when id has a single-quote (#2033) @rbrishabh
2234
+ - [DataGrid] Fix localeText type (#2117) @oliviertassinari
2235
+ - [DataGrid] Fix manual entry in date fields (#2051) @m4theushw
2236
+ - [DataGrid] Fix scrollToIndexes offscreen column (#1964) @m4theushw
2237
+ - [DataGrid] Fix support for `@material-ui/core@4.12` (#2108) @DanailH
2238
+ - [DataGrid] Improve GridToolbarXXX props flexibility (#2157) @tifosiblack
2239
+ - [DataGrid] Make GridToolbarXXX props overridable (#2084) @tifosiblack
2240
+ - [DataGrid] Remove 'hide: true' from a column should correctly resize the others column (#2034) @flaviendelangle
2241
+ - [DataGrid] Remove focus on cell when its row is removed from the data (#1995) @flaviendelangle
2242
+ - [DataGrid] Remove unused `editMode` prop (#2173) @ZeeshanTamboli
2243
+ - [DataGrid] Support style prop (#2116) @oliviertassinari
2244
+ - [DataGrid] Use Intl.Collator for string comparison (#2155) @m4theushw
2245
+ - [DataGrid] Update apiRef.current.getRow to signal that it can return a null value (#2010) @flaviendelangle
2246
+ - [XGrid] Add ability to disable reorder on some columns (#2085) @flaviendelangle
2247
+ - [XGrid] Close column header menu when resizing column (#1989) @flaviendelangle
2248
+ - [XGrid] Fix column resize on touch devices (#2089) @m4theushw
2249
+ - [XGrid] Only show column sorting in the grid toolbar when experimental features enabled (#2091) @flaviendelangle
2250
+ - [XGrid] Prevent headers from scrolling during reordering (#2154) @m4theushw
2251
+
2252
+ ### Docs
2253
+
2254
+ - [docs] Add new cursor-based pagination paragraph (#1991) @flaviendelangle
2255
+ - [docs] Better explain what happens in the future (#2036) @oliviertassinari
2256
+ - [docs] Fix broken env (#2160) @oliviertassinari
2257
+ - [docs] Fix small typos in the documentation (#2169) @BrandonOldenhof
2258
+ - [docs] Fix typo in README (#2150) @studyhog
2259
+
2260
+ ### Core
2261
+
2262
+ - [core] Add @material-ui/lab and @material-ui/icons as peer dependencies (#2012) @m4theushw
2263
+ - [core] Add additional test case for `onSelectionModelChange` (#1966) @DanailH
2264
+ - [core] Add support bot (#2097) @oliviertassinari
2265
+ - [core] Configure Renovate and remove Dependabot (#2075) @flaviendelangle
2266
+ - [core] Copy getClasses from the core (removed in v5) (#2140) @flaviendelangle
2267
+ - [core] Correctly test column visibility switch impact on column width (#2130) @flaviendelangle
2268
+ - [core] Fix missing git source in packages (#2092) @msftenhanceprovenance
2269
+ - [core] Fix typo errors (#2100) @flaviendelangle
2270
+ - [core] No need to pin dependencies (#2094) @oliviertassinari
2271
+ - [core] Remove dead code (#2088) @oliviertassinari
2272
+ - [core] Remove implicit :scope (#2115) @oliviertassinari
2273
+ - [core] Remove styled-components (#2060) @m4theushw
2274
+ - [core] Remove unused event 'cellFocusChange' (#1996) @flaviendelangle
2275
+ - [core] Renovate : Group storybook updates (#2086) @flaviendelangle
2276
+ - [core] Replace fade with muiStyleAlpha (#2171) @m4theushw
2277
+ - [core] Support `docs:api` script in Windows OS (#2166) @ZeeshanTamboli
2278
+ - [core] Upgrade dependencies (#2114) @oliviertassinari
2279
+ - [core] Use getColumnHeaderCell in tests (#2093) @flaviendelangle
2280
+ - [core] Use props instead of options for event handler (#2139) @flaviendelangle
2281
+ - [test] Allow tests to run for up to 5 instead of 4 minutes (#2152) @oliviertassinari
2282
+ - [test] Increase Browserstack worker timeout from 2.5 to 4 minutes (#2040) @flaviendelangle
2283
+ - [test] Remove orphan async @oliviertassinari
2284
+ - [test] Test the validation before saving a value (#2087) @m4theushw
2285
+
2286
+ ## [4.0.0-alpha.33](https://github.com/mui/mui-x/compare/v4.0.0-alpha.32...v4.0.0-alpha.33)
2287
+
2288
+ _July 1, 2021_
2289
+
2290
+ Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
2291
+
2292
+ - 🐞 As a focus of Q2, we have kept fixing bugs
2293
+ - 💅 End users are now allowed to copy the selected rows to the clipboard with <kbd>CTRL</kbd> + <kbd>c</kbd> (#1929) @m4theushw
2294
+ - 🐛 We have fixed the `Select all` checkbox. When triggered, it should only select the filtered rows (#1879) @ZeeshanTamboli
2295
+ - ⚡️ We have added a new `singleSelect` column type (#1956) @DanailH
2296
+
2297
+ Using the column `type: 'singleSelect'` defaults to `Select` component when the cell is in `edit` mode. You can find the documentation [following this link](https://mui.com/components/data-grid/columns/#column-types).
2298
+
2299
+ ```jsx
2300
+ <DataGrid
2301
+ columns={[
2302
+ {
2303
+ field: 'country',
2304
+ type: 'singleSelect',
2305
+ valueOptions: ['France', 'Netherlands', 'Brazil'],
2306
+ editable: true,
2307
+ },
2308
+ ]}
2309
+ rows={[
2310
+ { id: 0, country: 'France' },
2311
+ { id: 1, country: 'Netherlands' },
2312
+ { id: 2, country: 'Brazil' },
2313
+ ]}
2314
+ />
2315
+ ```
2316
+
2317
+ ### @material-ui/x-grid@v4.0.0-alpha.33 / @material-ui/data-grid@v4.0.0-alpha.33
2318
+
2319
+ #### Breaking changes
2320
+
2321
+ - [DataGrid] Rename `onColumnResizeCommitted` to `onColumnWidthChange` (#1967) @m4theushw
2322
+
2323
+ ```diff
2324
+ -<DataGrid onColumnResizeCommitted={...} />
2325
+ +<DataGrid onColumnWidthChange={...} />
2326
+ ```
2327
+
2328
+ - [DataGrid] Make GRID_ROWS_CLEAR private (#1925) @oliviertassinari
2329
+
2330
+ The `rowsCleared` event was always triggered alongside `rowsSet`. You can listen to the latter event only.
2331
+
2332
+ - [DataGrid] Fix events naming (#1862) @m4theushw
2333
+
2334
+ The following `XGrid` events were renamed:
2335
+
2336
+ - `columnHeaderNavigationKeydown` to `columnHeaderNavigationKeyDown`
2337
+ - `columnResizeCommitted` to `columnWidthChange`
2338
+ - `rowsUpdated` to `rowsUpdate`
2339
+ - `columnsUpdated` to `columnsChange`
2340
+
2341
+ The following `XGrid` DOM events were removed:
2342
+
2343
+ - `focusout`
2344
+ - `keydown`
2345
+ - `keyup`
2346
+
2347
+ #### Changes
2348
+
2349
+ - [DataGrid] Add fallback for pagination translations (#2006) @m4theushw
2350
+ - [DataGrid] Add single select column type (#1956) @DanailH
2351
+ - [DataGrid] Allow to copy the selected rows to the clipboard (#1929) @m4theushw
2352
+ - [DataGrid] Improve the logic of `scrollToIndexes` (#1969) @oliviertassinari
2353
+ - [DataGrid] Fix deferred rendering race condition (#1807) @dtassone
2354
+ - [DataGrid] Fix double-click issue (#1919) @oliviertassinari
2355
+ - [DataGrid] Fix number edit cell output (#1959) @oliviertassinari
2356
+ - [DataGrid] Fix offscreen row when calling `scrollToIndexes` (#1949) @oliviertassinari
2357
+ - [DataGrid] Ignore drag events when disableColumnReorder is true (#1952) @m4theushw
2358
+ - [DataGrid] `Select all` checkbox click should select only filtered rows (#1879) @ZeeshanTamboli
2359
+ - [XGrid] Add option to select only visible rows on the current page (#1998) @DanailH
2360
+
2361
+ ### Docs
2362
+
2363
+ - [docs] Align docs with EULA (source of truth) (#1963) @oliviertassinari
2364
+ - [docs] Fix changing Dataset not working (#1965) @m4theushw
2365
+ - [docs] Fix description of union types (#2003) @m4theushw
2366
+
2367
+ ### Core
2368
+
2369
+ - [core] Polish filtering internals (#1760) @ZeeshanTamboli
2370
+ - [core] Upgrade actions-cool/issues-helper (#1962) @oliviertassinari
2371
+ - [core] Name variables according to enUS instead of enGB (#1988) @flaviendelangle
2372
+ - [test] Test vertical scrollbar (#1932) @oliviertassinari
2373
+
2374
+ ## [4.0.0-alpha.32](https://github.com/mui/mui-x/compare/v4.0.0-alpha.31...v4.0.0-alpha.32)
2375
+
2376
+ _June 18, 2021_
2377
+
2378
+ Big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
2379
+
2380
+ - ⚡️ Components that use portals, like `Select` and `Autocomplete`, can now be used in the cell editing (#1772) @m4theushw
2381
+ - 📃 Apply the `valueFormatter` to the CSV exporting (#1922) @DanailH
2382
+ - 💅 Rename CSS classes to match the convention of the core components (#1872) @DanailH
2383
+ - 🌎 Isolate translations from Material-UI Core and Material-UI X (#1913) @DanailH
2384
+ - 🚀 Improve performance when finding column indexes and updating rows (#1903, #1923) @Janpot @N2D4
2385
+ - 🐞 Bugfixes
2386
+
2387
+ ### @material-ui/x-grid@v4.0.0-alpha.32 / @material-ui/data-grid@v4.0.0-alpha.32
2388
+
2389
+ #### Breaking changes
2390
+
2391
+ - [DataGrid] The `onEditCellChangeCommitted` prop won't be called with an event when committing changes by clicking outside the cell (#1910) @m4theushw
2392
+ - [DataGrid] Translation for Material-UI Core components are no longer included in the Material-UI X translation (#1913) @DanailH
2393
+
2394
+ ```diff
2395
+ import { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';
2396
+ import { DataGrid, bgBG } from '@material-ui/data-grid';
2397
+ +import { bgBG as coreBgBG } from '@material-ui/core/locale';
2398
+
2399
+ const theme = createMuiTheme(
2400
+ {
2401
+ // ...
2402
+ },
2403
+ bgBG,
2404
+ + coreBgBG,
2405
+ );
2406
+ ```
2407
+
2408
+ - [DataGrid] The `disableClickEventBubbling` prop was removed (#1910) @m4theushw
2409
+
2410
+ The same outcome can be obtained by using the React synthetic event, calling `event.stopPropagation()`:
2411
+
2412
+ ```diff
2413
+ -<DataGrid disableClickEventBubbling />
2414
+ +<DataGrid onCellClick={(event) => event.stopPropagation()} />
2415
+ ```
2416
+
2417
+ - [DataGrid] Rename CSS classes according to new convention (#1872) @DanailH
2418
+
2419
+ The main grid components:
2420
+
2421
+ - `.data-container` was removed
2422
+ - `.MuiDataGrid-columnHeaderSortable` was renamed to `.MuiDataGrid-columnHeader--sortable`
2423
+ - `.MuiDataGrid-columnHeaderCenter` was renamed to `.MuiDataGrid-columnHeader--alignCenter`
2424
+ - `.MuiDataGrid-columnHeaderRight` was renamed to `.MuiDataGrid-columnHeader--alignRight`
2425
+ - `.MuiDataGrid-columnHeader-draggable` was renamed to `.MuiDataGrid-columnHeaderDraggableContainer`
2426
+ - `.MuiDataGrid-columnHeaderSortable` was renamed to `.MuiDataGrid-columnHeader--sortable`
2427
+ - `.MuiDataGrid-columnHeaderMoving` was renamed to `.MuiDataGrid-columnHeader--moving`
2428
+ - `.MuiDataGrid-columnHeaderSorted` was renamed to `.MuiDataGrid-columnHeader--sorted`
2429
+ - `.MuiDataGrid-columnHeaderNumeric` was renamed to `.MuiDataGrid-columnHeader--numeric`
2430
+ - `.MuiDataGrid-columnHeader-dropZone` was renamed to `.MuiDataGrid-columnHeaderDropZone`
2431
+ - `.MuiDataGrid-columnSeparatorResizable` was renamed to `.MuiDataGrid-columnSeparator--resizable`
2432
+ - `.MuiDataGrid-cellWithRenderer` was renamed to `.MuiDataGrid-cell--withRenderer`
2433
+ - `.MuiDataGrid-cellLeft` was renamed to `.MuiDataGrid-cell--textLeft`
2434
+ - `.MuiDataGrid-cellRight` was renamed to `.MuiDataGrid-cell--textRight`
2435
+ - `.MuiDataGrid-cellCenter` was renamed to `.MuiDataGrid-cell--textCenter`
2436
+ - `.MuiDataGrid-cellEditing` was renamed to `.MuiDataGrid-cell--editing`
2437
+ - `.MuiDataGrid-cellEditable` was renamed to `.MuiDataGrid-cell--editable`
2438
+ - `.MuiDataGrid-editCellBoolean` was renamed to `.MuiDataGrid-editBooleanCell`
2439
+ - `.MuiDataGrid-editCellInputBase` was renamed to `.MuiDataGrid-editInputCell`
2440
+ - `.MuiDataGrid-scrollArea-left` was renamed to `.MuiDataGrid-scrollArea--left`
2441
+ - `.MuiDataGrid-scrollArea-right` was renamed to `.MuiDataGrid-scrollArea--right`
2442
+
2443
+ The standalone components:
2444
+
2445
+ - `.MuiDataGridMenu-*` was renamed to `.MuiGridMenu-*`
2446
+ - `.MuiDataGridPanel-*` was renamed to `.MuiGridPanel-*`
2447
+ - `.MuiDataGridPanelContent-*` was renamed to `.MuiGridPanelContent-*`
2448
+ - `.MuiDataGridPanelFooter-*` was renamed to `.MuiGridPanelFooter-*`
2449
+ - `.MuiDataGridPanelWrapper-*` was renamed to `.MuiGridPanelWrapper-*`
2450
+ - `.MuiDataGridFilterForm-*` was renamed to `.MuiGridFilterForm-*`
2451
+ - `.MuiDataGridToolbarFilterButton-*` was renamed to `.MuiGridToolbarFilterButton-*`
2452
+ - `.MuiDataGrid-footer` was renamed to `.MuiDataGrid-footerContainer`
2453
+ - `.MuiDataGrid-toolbar` was renamed to `.MuiDataGrid-toolbarContainer`
2454
+
2455
+ #### Changes
2456
+
2457
+ - [DataGrid] Add `aria-label` to `GridToolbarExport` (#1869) @rbrishabh
2458
+ - [DataGrid] Add support for edit components that use portal (#1772) @m4theushw
2459
+ - [DataGrid] Add `useGridApiContext` hook to access the `GridApiContext` (#1877) @m4theushw
2460
+ - [DataGrid] Allow to set the delimiter in `GridExportCsvOptions` (#1859) @michallukowski
2461
+ - [DataGrid] Escape regular expression characters in filters (#1899) @ZeeshanTamboli
2462
+ - [DataGrid] Fix support for `getRowId` on cell editing (#1917) @m4theushw
2463
+ - [DataGrid] Fix typo in French (fr-FR) locale (#1874) @julien-guillon
2464
+ - [DataGrid] Improve Brazilian Portuguese (pt-BR) locale (#1861) @aline-matos
2465
+ - [DataGrid] Improve type of the blur event (#1918) @oliviertassinari
2466
+ - [DataGrid] Improve updateRows performance (#1923) @N2D4
2467
+ - [DataGrid] Include Material-UI core component localizations in `localeText` (#1913) @DanailH
2468
+ - [DataGrid] Make the CSV export respect the `valueFormatter` (#1922) @DanailH
2469
+ - [DataGrid] Remove `disableClickEventBubbling` (#1910) @m4theushw
2470
+ - [DataGrid] Rename CSS classes according to new convention (#1872) @DanailH
2471
+ - [DataGrid] Use binary search to find column indexes in virtualization (#1903) @Janpot
2472
+
2473
+ ### Docs
2474
+
2475
+ - [docs] Fix 404 links (#1880) @oliviertassinari
2476
+ - [docs] Fix prop-type warning (#1916) @oliviertassinari
2477
+ - [docs] Make cells editable in demos (#1817) @m4theushw
2478
+ - [docs] Polish `disableDensitySelector` description (#1884) @oliviertassinari
2479
+
2480
+ ### Core
2481
+
2482
+ - [core] Batch small changes (#1901) @oliviertassinari
2483
+ - [core] Remove dead logic (#1900) @oliviertassinari
2484
+ - [test] Fix tests (#1928) @m4theushw
2485
+
2486
+ ## [4.0.0-alpha.31](https://github.com/mui/mui-x/compare/v4.0.0-alpha.30...v4.0.0-alpha.31)
2487
+
2488
+ _June 9, 2021_
2489
+
2490
+ Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
2491
+
2492
+ - 💅 Allow to customize GridToolbarExport's CSV export (#1695) @michallukowski
2493
+ - 🐛 Allow to deselect rows with <kbd>CTRL</kbd> + click (#1813) @ZeeshanTamboli
2494
+ - ⚡️ Refactor scroll size detector (#1703) @dtassone
2495
+ - 📖 Add [documentation](https://mui.com/api/data-grid/) for interfaces and events (#1529) @m4theushw
2496
+ - 🐞 Bugfixes
2497
+
2498
+ ### @material-ui/x-grid@v4.0.0-alpha.31 / @material-ui/data-grid@v4.0.0-alpha.31
2499
+
2500
+ #### Breaking changes
2501
+
2502
+ - [DataGrid] Improve `headerClassName` type (#1778) @DanailH
2503
+
2504
+ `cellClassName` and `headerClassName` no longer accept array of strings.
2505
+
2506
+ ```diff
2507
+ -cellClassName?: string | string[] | (params: GridCellParams) => string;
2508
+ +cellClassName?: string | (params: GridCellParams) => string;
2509
+ ```
2510
+
2511
+ ```diff
2512
+ -headerClassName?: string | string[];
2513
+ +headerClassName?: string | (params: GridColumnHeaderParams) => string;
2514
+ ```
2515
+
2516
+ #### Changes
2517
+
2518
+ - [DataGrid] Add `valueParser` to parse values entered by the user (#1785) @m4theushw
2519
+ - [DataGrid] Allow to customize GridToolbarExport's CSV export (#1695) @michallukowski
2520
+ - [DataGrid] Allow to deselect rows with <kbd>CTRL</kbd> + click (#1813) @ZeeshanTamboli
2521
+ - [DataGrid] Improve general architecture to better isolate hooks (#1720) @dtassone
2522
+ - [DataGrid] Fix cell height after changing grid density (#1819) @DanailH
2523
+ - [DataGrid] Fix fluid columns width when available `viewportWidth` < 0 (#1816) @DanailH
2524
+ - [DataGrid] Fix force reflow on scroll start and end (#1829) @dtassone
2525
+ - [DataGrid] Refactor scroll size detector (#1703) @dtassone
2526
+ - [XGrid] Display the number of filtered rows in the footer (#1830) @m4theushw
2527
+
2528
+ ### Docs
2529
+
2530
+ - [docs] Add docs for `disableDensitySelector` option (#1856) @DanailH
2531
+ - [docs] Automatically generate API docs (#1529) @m4theushw
2532
+
2533
+ ### Core
2534
+
2535
+ - [core] Batch small changes (#1848) @oliviertassinari
2536
+ - [core] Add `yarn docs:api` @oliviertassinari
2537
+ - [test] Improve pagination tests (#1827) @m4theushw
2538
+
2539
+ ## [4.0.0-alpha.30](https://github.com/mui/mui-x/compare/v4.0.0-alpha.29...v4.0.0-alpha.30)
2540
+
2541
+ _May 31, 2021_
2542
+
2543
+ Big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
2544
+
2545
+ - 💅 Add `getCellClassName` prop (#1687) @m4theushw
2546
+ - 🐛 Fix a regression in the controlled pagination (#1729) @ZeeshanTamboli
2547
+ - ⚡️ Remove `cellClassRules` from `GridColDef` (#1716) @m4theushw
2548
+ - 🇨🇿 Add cs-CZ locale (#1765) @Haaxor1689
2549
+ - 🐞 Bugfixes
2550
+
2551
+ ### @material-ui/x-grid@v4.0.0-alpha.30 / @material-ui/data-grid@v4.0.0-alpha.30
2552
+
2553
+ #### Breaking changes
2554
+
2555
+ - [DataGrid] Rename toolbar components for consistency (#1724) @DanailH
2556
+
2557
+ Prefix all the toolbar-related components with `GridToolbar`.
2558
+
2559
+ ```diff
2560
+ -.MuiDataGridFilterToolbarButton-list
2561
+ +.MuiDataGridToolbarFilterButton-list
2562
+ ```
2563
+
2564
+ ```diff
2565
+ -<GridColumnsToolbarButton />
2566
+ +<GridToolbarColumnsButton />
2567
+ ```
2568
+
2569
+ ```diff
2570
+ -<GridFilterToolbarButton />
2571
+ +<GridToolbarFilterButton />
2572
+ ```
2573
+
2574
+ ```diff
2575
+ -<GridDensitySelector />
2576
+ +<GridToolbarDensitySelector />
2577
+ ```
2578
+
2579
+ - [DataGrid] Remove `cellClassRules` from `GridColDef` (#1716) @m4theushw
2580
+
2581
+ The `GridCellClassParams` type is not exported anymore. Replace it with `GridCellParams`.
2582
+
2583
+ ```diff
2584
+ -import { GridCellClassParams} from '@material-ui/data-grid';
2585
+ +import { GridCellParams } from '@material-ui/data-grid';
2586
+
2587
+ -cellClassName: (params: GridCellClassParams) =>
2588
+ +cellClassName: (params: GridCellParams) =>
2589
+ ```
2590
+
2591
+ The `cellClassRules` in `GridColDef` was removed because it's redundant. The same functionality can be obtained using `cellClassName` and the [`clsx`](https://www.npmjs.com/package/clsx) utility:
2592
+
2593
+ ```diff
2594
+ +import clsx from 'clsx';
2595
+
2596
+ {
2597
+ field: 'age',
2598
+ width: 150,
2599
+ - cellClassRules: {
2600
+ - negative: params => params.value < 0,
2601
+ - positive: params => params.value > 0,
2602
+ - },
2603
+ + cellClassName: params => clsx({
2604
+ + negative: params.value < 0,
2605
+ + positive: params.value > 0,
2606
+ + }),
2607
+ }
2608
+ ```
2609
+
2610
+ - [DataGrid] Fix `onPageChange` doesn't update the `page` when a pagination button is clicked (#1719) @ZeeshanTamboli
2611
+
2612
+ Fix naming of `pageChange` and `pageSizeChange` events variables. The correct event variable name should be prefixed with `GRID_` and converted to UPPER_CASE.
2613
+
2614
+ ```diff
2615
+ -import { GRID_PAGESIZE_CHANGED, GRID_PAGE_CHANGED } from '@material-ui/data-grid';
2616
+ +import { GRID_PAGESIZE_CHANGE, GRID_PAGE_CHANGE } from '@material-ui/data-grid';
2617
+ ```
2618
+
2619
+ - [XGrid] The `getEditCellValueParams` method was removed from the `apiRef` (#1767) @m4theushw
2620
+
2621
+ The `getEditCellValueParams` method was almost a straightforward alias of `getEditCellPropsParams`.
2622
+
2623
+ ```diff
2624
+ -const { value } = apiRef.current.getEditCellValueParams(id, field);
2625
+ +const { props: { value } } = apiRef.current.getEditCellPropsParams(id, field);
2626
+ ```
2627
+
2628
+ #### Changes
2629
+
2630
+ - [DataGrid] Add `getCellClassName` prop (#1687) @m4theushw
2631
+ - [DataGrid] Add customizable `aria-label`, `aria-labelledby` field (#1764) @ZeeshanTamboli
2632
+ - [DataGrid] Add Czech (cs-CZ) locale and fix plural rules in Slovak (sk-SK) locale (#1765) @Haaxor1689
2633
+ - [DataGrid] Fix cell accessibility aria-colindex (#1669) @ZeeshanTamboli
2634
+ - [DataGrid] Fix changing rows per page size (#1729) @ZeeshanTamboli
2635
+ - [DataGrid] Fix date operators not working with date-time values (#1722) @m4theushw
2636
+ - [DataGrid] Fix `rowCount` prop updates (#1697) @dtassone
2637
+ - [DataGrid] Improve German (de-DE) translation of "errorOverlayDefaultLabel" (#1718) @sebastianfrey
2638
+ - [DataGrid] Fix accessibility of the filter panel textboxes (#1727) @m4theushw
2639
+ - [XGrid] Fix `onFilterModelChange` not firing (#1706) @dtassone
2640
+
2641
+ ### Docs
2642
+
2643
+ - [docs] Fix outdated description of `GridRowParams.getValue` (#1731) @visshaljagtap
2644
+ - [docs] Fix 404 link (#1752) @oliviertassinari
2645
+ - [docs] Improve Custom edit component demo (#1750) @oliviertassinari
2646
+ - [docs] Remove redundant customizable pagination section (#1774) @ZeeshanTamboli
2647
+ - [docs] Improve `GridApi` descriptions (#1767) @m4theushw
2648
+
2649
+ ### Core
2650
+
2651
+ - [core] Batch updates of storybook (#1751) @oliviertassinari
2652
+ - [core] Help support different documents (#1754) @oliviertassinari
2653
+ - [core] Upgrade Material-UI core v5 to latest version (#1763) @ZeeshanTamboli
2654
+ - [test] Reduce flakiness (#1753) @oliviertassinari
2655
+ - [test] Remove skip on Edge (#1708) @m4theushw
2656
+
2657
+ ## [4.0.0-alpha.29](https://github.com/mui/mui-x/compare/v4.0.0-alpha.28...v4.0.0-alpha.29)
2658
+
2659
+ _May 19, 2021_
2660
+
2661
+ Big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
2662
+
2663
+ - 🚀 Performance increased when filtering, sorting, and rendering (#1513) @dtassone
2664
+ - 💅 Add `columnHeader`, `row` and `cell` to the `classes` prop (#1660) @DanailH
2665
+ - ✅ Add the `isRowSelectable` prop to disable selection on certain rows (#1659) @m4theushw
2666
+
2667
+ See the documentation for [more details](https://mui.com/components/data-grid/selection/#disable-selection-on-certain-rows).
2668
+
2669
+ - ⚡️ Add new icon slot to be displayed when the column is unsorted (#1415) @m4theushw
2670
+ - ⚙ Improve consistency of the API to prepare for the first beta release
2671
+ - 🐞 Bugfixes
2672
+
2673
+ ### @material-ui/x-grid@v4.0.0-alpha.29 / @material-ui/data-grid@v4.0.0-alpha.29
2674
+
2675
+ #### Breaking changes
2676
+
2677
+ - [DataGrid] Remove the properties `element`, `rowIndex`, and `colIndex` from all `params` arguments (#1513) @dtassone
2678
+
2679
+ You can use the following `apiRef` methods to replace some of them:
2680
+
2681
+ ```diff
2682
+ -params.rowIndex
2683
+ -params.colIndex
2684
+ +apiRef.current.getRowIndex(params.id)
2685
+ +apiRef.current.getColumnIndex(params.field)
2686
+ ```
2687
+
2688
+ - [DataGrid] Calling `params.getValue` now requires the id to be passed (#1513) @dtassone
2689
+
2690
+ ```diff
2691
+ -params.getValue(field)
2692
+ +params.getValue(params.id, field)
2693
+ ```
2694
+
2695
+ - [DataGrid] Rename CSS classes (#1660) @DanailH
2696
+
2697
+ 1. `MuiDataGrid-colCellWrapper` to `MuiDataGrid-columnHeaderWrapper`
2698
+ 2. `MuiDataGrid-colCell` to `MuiDataGrid-columnHeader`
2699
+ 3. `MuiDataGrid-colCellCheckbox` to `MuiDataGrid-columnHeaderCheckbox`
2700
+ 4. `MuiDataGrid-colCellSortable` to `MuiDataGrid-columnHeaderSortable`
2701
+ 5. `MuiDataGrid-colCellCenter` to `MuiDataGrid-columnHeaderCenter`
2702
+ 6. `MuiDataGrid-colCellLeft` to `MuiDataGrid-columnHeaderLeft`
2703
+ 7. `MuiDataGrid-colCellRight` to `MuiDataGrid-columnHeaderRight`
2704
+
2705
+ - [XGrid] Calling `setCellFocus` now requires the id and field to be passed (#1513) @dtassone
2706
+
2707
+ ```diff
2708
+ -apiRef.current.setCellFocus: (indexes: GridCellIndexCoordinates) => void;
2709
+ +apiRef.current.setCellFocus: (id: GridRowId, field: string) => void;
2710
+ ```
2711
+
2712
+ - [XGrid] Rename `apiRef` methods (#1513) @dtassone
2713
+
2714
+ Changes on `apiRef.current`:
2715
+
2716
+ ```diff
2717
+ -apiRef.current.getRowIndexFromId: (id: GridRowId) => number;
2718
+ +apiRef.current.getRowIndex: (id: GridRowId) => number;
2719
+ ```
2720
+
2721
+ - [XGrid] Rename `apiRef` methods (#1667) @m4theushw
2722
+
2723
+ Changes on `apiRef.current`:
2724
+
2725
+ ```diff
2726
+ -apiRef.current.getColumnFromField: (field: string) => GridColDef;
2727
+ -apiRef.current.getRowFromId: (id: GridRowId) => GridRowModel;
2728
+ +apiRef.current.getColumn: (field: string) => GridColDef;
2729
+ +apiRef.current.getRow: (id: GridRowId) => GridRowModel;
2730
+ ```
2731
+
2732
+ #### Changes
2733
+
2734
+ - [DataGrid] Add Slovak (sk-SK) locale (#1634) @martinvysnovsky
2735
+ - [DataGrid] Add `columnHeader`, `row` and `cell` in addition to `root` in classes prop (#1660) @DanailH
2736
+ - [DataGrid] Add `isRowSelectable` prop (#1659) @m4theushw
2737
+ - [DataGrid] Add sort icon for when column is unsorted (#1415) @m4theushw
2738
+ - [DataGrid] Fix `id` and `aria-labelledby` attributes on the column menu (#1460) @m4theushw
2739
+ - [DataGrid] Fix broken checkbox in Material-UI v5 (#1587) @ZeeshanTamboli
2740
+ - [DataGrid] Fix CSS classes prefix (#1693) @m4theushw
2741
+ - [DataGrid] Fix German (de-DE) locale (#1624) @klinge27
2742
+ - [DataGrid] Fix filter with object as value and value getter (#1665) @dtassone
2743
+ - [DataGrid] Fix incorrect date selection (#1652) @aTmb405
2744
+ - [DataGrid] Fix overflow of maximum page (#1583) @oliviertassinari
2745
+ - [DataGrid] Fix typo in Italian (it-IT) locale (#1635) @profcav
2746
+ - [DataGrid] Improve performance of width resizing (#1686) @dtassone
2747
+ - [DataGrid] Make rows immutable for better developer experience (#1661) @ZeeshanTamboli
2748
+ - [DataGrid] Pass state values as props (#1628) @m4theushw
2749
+ - [DataGrid] Improve performance with filtering, sorting, and rendering (#1513) @dtassone
2750
+ - [XGrid] Fix checkbox column resizing (#1682) @elyesbenabdelkader
2751
+
2752
+ ### Docs
2753
+
2754
+ - [docs] Add description for all events (#1572) @m4theushw
2755
+ - [docs] Add missing CSS rules (#1694) @ZeeshanTamboli
2756
+ - [docs] Add missing descriptions in `GridFilterApi` (#1620) @m4theushw
2757
+ - [docs] Clean demos components (#1681) @oliviertassinari
2758
+ - [docs] Fix docs demo (#1691) @dtassone
2759
+ - [docs] Improve Filtering page (#1671) @m4theushw
2760
+ - [docs] Improve the data grid components page (#1382) @dtassone
2761
+ - [docs] Refine the descriptions to be clearer (#1589) @oliviertassinari
2762
+ - [docs] Reshuffle columns and rows styling sections (#1622) @DanailH
2763
+
2764
+ ### Core
2765
+
2766
+ - [core] Fix dependabot config (#1619) @oliviertassinari
2767
+ - [core] Remove `makeStyles` dependency on `@material-ui/core/styles` (#1627) @mnajdova
2768
+ - [core] Remove `withStyles` dependency on `@material-ui/core/styles` (#1690) @mnajdova
2769
+ - [core] Replace `classnames` utility with `clsx` dependency (#1586) @ZeeshanTamboli
2770
+ - [core] Reuse `colIndex` already computed (#1666) @oliviertassinari
2771
+ - [test] Add constraints on cell render (#1662) @oliviertassinari
2772
+ - [test] Catch broken demos (#1692) @oliviertassinari
2773
+
2774
+ ## [4.0.0-alpha.28](https://github.com/mui/mui-x/compare/v4.0.0-alpha.27...v4.0.0-alpha.28)
2775
+
2776
+ _May 10, 2021_
2777
+
2778
+ Big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
2779
+
2780
+ - 🇹🇷 Add tr-TR locale (#1446) @simsek97
2781
+ - 🎁 Add support for checkbox component slot (#1528) @ZeeshanTamboli
2782
+ - ⚡️ Add `onColumnVisibilityChange` prop (#1578) @DanailH
2783
+ - 🐞 Bugfixes
2784
+
2785
+ ### @material-ui/x-grid@v4.0.0-alpha.28 / @material-ui/data-grid@v4.0.0-alpha.28
2786
+
2787
+ #### Breaking changes
2788
+
2789
+ - [XGrid] Rename apiRef `toggleColumn` method for consistency (#1578) @DanailH
2790
+
2791
+ ```diff
2792
+ -apiRef.current.toggleColumn: (field: string, forceHide?: boolean) => void;
2793
+ +apiRef.current.setColumnVisibility: (field: string, isVisible: boolean) => void;
2794
+ ```
2795
+
2796
+ - [XGrid] Fix event typo (#1574) @DanailH
2797
+
2798
+ ```diff
2799
+ -import { GRID_COLUMN_RESIZE_COMMITED } from '@material-ui/x-grid';
2800
+ +import { GRID_COLUMN_RESIZE_COMMITTED } from '@material-ui/x-grid';
2801
+ ```
2802
+
2803
+ #### Changes
2804
+
2805
+ - [DataGrid] Add Turkish (tr-TR) locale (#1526) @simsek97
2806
+ - [DataGrid] Add `onColumnVisibilityChange` prop (#1578) @DanailH
2807
+ - [DataGrid] Fix date input crash (#1570) @dtassone
2808
+ - [DataGrid] Fix resulted filter data shows blank screen during pagination (#1571) @ZeeshanTamboli
2809
+ - [DataGrid] Support Checkbox component slot (#1528) @ZeeshanTamboli
2810
+ - [DataGrid] Fix column cell and row cell focus style (#1575) @DanailH
2811
+
2812
+ ### Docs
2813
+
2814
+ - [docs] Fix Feature comparison 404 links (#1525) @ZeeshanTamboli
2815
+ - [docs] Fix focus isn't set on the text box in `Edit using external button` demo (#1515) @ZeeshanTamboli
2816
+ - [docs] Fix typo of `onColumnResizeCommitted` prop (#1563) @ZeeshanTamboli
2817
+ - [docs] Header convention for controllable prop (#1531) @oliviertassinari
2818
+ - [docs] Fix errors in the docs (#1585) @oliviertassinari
2819
+
2820
+ ### Core
2821
+
2822
+ - [core] Add security policy (#1588) @oliviertassinari
2823
+ - [core] Improve `GridApi` type structure (#1566) @oliviertassinari
2824
+ - [core] Simplify component type (#1552) @oliviertassinari
2825
+ - [core] Update monorepo (#1530) @oliviertassinari
2826
+ - [core] Increase timeout on jsdom (#1532) @oliviertassinari
2827
+
2828
+ ## [4.0.0-alpha.27](https://github.com/mui/mui-x/compare/v4.0.0-alpha.26...v4.0.0-alpha.27)
2829
+
2830
+ _Apr 30, 2021_
2831
+
2832
+ Big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
2833
+
2834
+ - 🎁 Add getRowClassName prop (#1448) @m4theushw
2835
+ - ⚡️ Drop support for Node v10 (#1499) @ZeeshanTamboli
2836
+ - ♿ Make checkbox focusable (#1421) @dtassone
2837
+ - 🇮🇹 Add it-IT locale (#1446) @profcav
2838
+ - 🇷🇺 Add ru-RU locale (#1449) @Lukin
2839
+ - 🐞 Bugfixes
2840
+
2841
+ ### @material-ui/x-grid@v4.0.0-alpha.27 / @material-ui/data-grid@v4.0.0-alpha.27
2842
+
2843
+ #### Breaking changes
2844
+
2845
+ - [core] Drop support for Node v10 (#1499) @ZeeshanTamboli
2846
+ - [XGrid] Remove `onAction` APIs (#1453) @DanailH
2847
+
2848
+ These event handlers on the apiRef were duplicating with the react props
2849
+ and the event subscribe API. Changes on `apiRef.current`:
2850
+
2851
+ ```diff
2852
+ -onFilterModelChange
2853
+ -onPageChange
2854
+ -onPageSizeChange
2855
+ -onResize
2856
+ -onUnmount
2857
+ -onRowSelected
2858
+ -onSelectionModelChange
2859
+ -onSortModelChange
2860
+ -onStateChange
2861
+ ```
2862
+
2863
+ Note: These methods are available as React props.
2864
+
2865
+ - [XGrid] Refactor useGridColumnResize (#1380) @DanailH
2866
+
2867
+ Changes on `apiRef.current`:
2868
+
2869
+ ```diff
2870
+ -startResizeOnMouseDown
2871
+ +setColumnWidth
2872
+ ```
2873
+
2874
+ #### Changes
2875
+
2876
+ - [DataGrid] Add Italian (it-IT) locale (#1446) @profcav
2877
+ - [DataGrid] Add Russian (ru-RU) locale (#1449) @Lukin
2878
+ - [DataGrid] Add getRowClassName prop (#1448) @m4theushw
2879
+ - [DataGrid] Add support for `classes` prop (#1450) @ZeeshanTamboli
2880
+ - [DataGrid] Allow to customize the overlay when there're no filtered rows (#1445) @m4theushw
2881
+ - [DataGrid] Correct quantities pl-PL (#1487) @Chriserus
2882
+ - [DataGrid] Fix autoPageSize with small dataset (#1505) @dtassone
2883
+ - [DataGrid] Fix delete key for uneditable cells (#1497) @dtassone
2884
+ - [DataGrid] Fix invalid translation key (#1504) @DanailH
2885
+ - [DataGrid] Forward props for all Toolbar and Footer components (#1456) @DanailH
2886
+ - [DataGrid] Improve support of core v5 (#1458) @oliviertassinari
2887
+ - [DataGrid] Fix multiple focus behaviors (#1421) @dtassone
2888
+
2889
+ ### Docs
2890
+
2891
+ - [docs] Add missing filterModel prop in /api/ (#1518) @imsuvesh
2892
+ - [docs] Better document how to disable row selection (#1510) @ZeeshanTamboli
2893
+ - [docs] Fix data grid feature comparison (#1516) @imsuvesh
2894
+ - [docs] Fix typos (#1447) @ZeeshanTamboli
2895
+ - [docs] No ads for commercial license (#1489) @oliviertassinari
2896
+
2897
+ ### Core
2898
+
2899
+ - [core] Label our packages as side effect free (#1466) @oliviertassinari
2900
+ - [core] Reduce work in data grid (#1520) @oliviertassinari
2901
+ - [core] Remove React.FC (#1436) @ZeeshanTamboli
2902
+ - [license] No need to test the location (#1488) @oliviertassinari
2903
+ - [test] Improve test coverage of roving tabindex (#1459) @oliviertassinari
2904
+ - [test] Remove jest (#1467) @dependabot-preview
2905
+ - [test] Run more tests in jsdom (#1361) @oliviertassinari
2906
+
2907
+ ## [4.0.0-alpha.26](https://github.com/mui/mui-x/compare/v4.0.0-alpha.25...v4.0.0-alpha.26)
2908
+
2909
+ _Apr 22, 2021_
2910
+
2911
+ Big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
2912
+
2913
+ - 💄 Release the cell editing feature (#1287) @dtassone
2914
+
2915
+ This is the first release of the Cell editing feature. You can find the documentation [following this link](https://mui.com/components/data-grid/editing/#cell-editing). We have spent the last three months working on it.
2916
+
2917
+ ![cell edit](https://user-images.githubusercontent.com/3165635/115632215-87994700-a307-11eb-91d9-9f5537df0911.gif)
2918
+
2919
+ - 🐞 A focus on bug fixes and documentation improvements
2920
+
2921
+ ### @material-ui/x-grid@v4.0.0-alpha.26 / @material-ui/data-grid@v4.0.0-alpha.26
2922
+
2923
+ - [DataGrid] Add support for Editable cells (#1287) @dtassone
2924
+ - [DataGrid] Add Ukrainian (uk-UA) locale (#1418) @Neonin
2925
+ - [DataGrid] Fix 'Hide' menu item with `disableColumnSelector` (#1429) @ZeeshanTamboli
2926
+ - [DataGrid] Fix reset of virtualPage (#1451) @dtassone
2927
+ - [DataGrid] Fix support for falsy value from valueFormatter (#1425) @zj9495
2928
+ - [DataGrid] Fix support for numeric ids in selection (#1404) @m4theushw
2929
+ - [XGrid] Fix multi-sorting when focus is not in the grid root (#1422) @m4theushw
2930
+
2931
+ ### Docs
2932
+
2933
+ - [docs] Add Shift key as option to enable multi-sorting (#1423) @m4theushw
2934
+ - [docs] Fix x-grid-data-generator dependencies (#1433) @ZeeshanTamboli
2935
+ - [docs] Improve PropType to cover required props (#1419) @ZeeshanTamboli
2936
+ - [docs] Remove duplicate rendering page (#1375) @dtassone
2937
+
2938
+ ### Core
2939
+
2940
+ - [core] Setup e2e tests (#1443) @DanailH
2941
+
2942
+ This infrastructure relies on Playwright to control Chrome with the end-to-end API. It differentiates from our current end-to-end tests by running outside of the browser (Karma runs inside). It's slower and doesn't have a great DX, but it allows to test things like the <kbd>Tab</kbd> behavior.
2943
+
2944
+ ## [4.0.0-alpha.25](https://github.com/mui/mui-x/compare/v4.0.0-alpha.24...v4.0.0-alpha.25)
2945
+
2946
+ _Apr 14, 2021_
2947
+
2948
+ Big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
2949
+
2950
+ - 🎁 Add boolean column type @m4theushw
2951
+ - ⚡️ Update to React 17 (#1331) @m4theushw
2952
+ - ♿ Make column header cells focusable (#1289), and fix roving tabindex (#1327) @DanailH
2953
+ - 🐛 Ignore event from portal in cells (#1324) @oliviertassinari
2954
+ - 🐞 Bugfixes
2955
+
2956
+ ### @material-ui/x-grid@v4.0.0-alpha.25 / @material-ui/data-grid@v4.0.0-alpha.25
2957
+
2958
+ #### Breaking changes
2959
+
2960
+ - [DataGrid] Add support for custom row ids without cloning (#1377) @m4theushw
2961
+ This change has involved the following refactorings.
2962
+
2963
+ - Changes on `apiRef.current`.
2964
+
2965
+ ```diff
2966
+ - getRowModels: () => GridRowModel[];
2967
+ + getRowModels: () => Map<GridRowId, GridRowModel>;
2968
+ - getVisibleRowModels: () => GridRowModel[];
2969
+ + getVisibleRowModels: () => Map<GridRowId, GridRowModel>;
2970
+ - getSelectedRows: () => GridRowModel[];
2971
+ + getSelectedRows: () => Map<GridRowId, GridRowModel>;
2972
+ ```
2973
+
2974
+ - Changes on `GridFilterModelParams`.
2975
+
2976
+ ```diff
2977
+ export interface GridFilterModelParams {
2978
+ /**
2979
+ * The full set of rows.
2980
+ */
2981
+ - rows: GridRowModel[];
2982
+ + rows: Map<GridRowId, GridRowModel>;
2983
+ /**
2984
+ * The set of currently visible rows.
2985
+ */
2986
+ - visibleRows: GridRowModel[];
2987
+ + visibleRows: Map<GridRowId, GridRowModel>;
2988
+ }
2989
+ ```
2990
+
2991
+ - [DataGrid] Upgrade mininum supported version of React to 17.0.0 (#1410) @m4theushw
2992
+
2993
+ #### Changes
2994
+
2995
+ - [DataGrid] Add boolean column type (#1321) @m4theushw
2996
+ - [DataGrid] Add missing filter tooltip translations (#1367) @DanailH
2997
+ - [DataGrid] Fix autoPageSize (#1366) @dtassone
2998
+ - [DataGrid] Fix performance issue when sorting columns (#1368) @dtassone
2999
+ - [DataGrid] Fix printable keys to match ag (#1409) @dtassone
3000
+ - [DataGrid] Ignore event from portal in cells (#1324) @oliviertassinari
3001
+ - [DataGrid] Make "Checkbox selection" translatable (#1379) @m4theushw
3002
+ - [DataGrid] Make column header cells focusable (#1289) @DanailH
3003
+ - [DataGrid] Remove use of row.id when id prop is available (#1371) @m4theushw
3004
+ - [DataGrid] Make GridMainContainer tabbable (#1327) @DanailH
3005
+ - [XGrid] Support column reordering inside the whole grid (#1250) @m4theushw
3006
+
3007
+ ### Docs
3008
+
3009
+ - [docs] Fix anchor links on the /data-grid/filtering/ page (#1398) @oliviertassinari
3010
+ - [docs] Move Column definition to Columns page (#1373) @dtassone
3011
+ - [docs] Move density to accessibility page (#1374) @dtassone
3012
+ - [Docs] Fix GitHub references in API docs (#1411) @SaskiaKeil
3013
+
3014
+ ### Core
3015
+
3016
+ - [core] Update to React 17 (#1331) @m4theushw
3017
+ - [core] Variable convention (#1397) @oliviertassinari
3018
+ - [license] Use a global storage rather than a module singleton (#1384) @oliviertassinari
3019
+
3020
+ ## [4.0.0-alpha.24](https://github.com/mui/mui-x/compare/v4.0.0-alpha.23...v4.0.0-alpha.24)
3021
+
3022
+ _Apr 2, 2021_
3023
+
3024
+ Big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
3025
+
3026
+ - 🇬🇷 Add el-GR locale (#1275) @clytras
3027
+ - 🇪🇸 Add es-ES locale (#1286) @WiXSL
3028
+ - 🇯🇵 Add ja-JP locale (#1283) @seed-of-apricot
3029
+ - 🇳🇱 Add nl-NL locale (#1273) @wimdetroyer
3030
+ - 🐞 Bugfixes
3031
+
3032
+ ### @material-ui/x-grid@v4.0.0-alpha.24 / @material-ui/data-grid@v4.0.0-alpha.24
3033
+
3034
+ #### Breaking Changes
3035
+
3036
+ - [DataGrid] All slot components no longer get access to `GridBaseComponentProps` through the props. To use the `GridBaseComponentProps` call the `useGridSlotComponentProps` hook. (#1252) @DanailH
3037
+ - [DataGrid] Type `GridSlotsComponent` changed (#1252) @DanailH
3038
+ - [DataGrid] Rename `GridBaseComponentProps` type to `GridSlotComponentProps` (#1252) @DanailH
3039
+ - [DataGrid] Rename `useGridBaseComponentProps` hook to `useGridSlotComponentProps` (#1252) @DanailH
3040
+ - [DataGrid] Rename modules (#1292) @DanailH
3041
+ - [DataGrid] Rename all events related to column reordering, e.g. `GRID_COL_REORDER_START` -> `GRID_COLUMN_REORDER_START` (#1299) @m4theushw
3042
+ - [DataGrid] Methods `onColItemDragStart`, `onColHeaderDragOver`, `onColItemDragOver`, `onColItemDragEnter` removed from the grid API. Prefer listening to [column reordering events](https://mui.com/components/data-grid/columns/#column-reorder) (#1299) @m4theushw
3043
+ - [DataGrid] Calling `apiRef.current.getColumnHeaderParams` returns a `GridColumnHeaderParams` instead of `GridColParams` (#1299) @m4theushw
3044
+ - [DataGrid] Events that follow the pattern `GRID_COLUMN_HEADER_xxx` will be called with a `GridColumnHeaderParams` instead of `GridColParams` (#1299) @m4theushw
3045
+ - [DataGrid] The `renderHeader` will be called with a `GridColumnHeaderParams` instead of `GridColParams` (#1299) @m4theushw
3046
+ - [DataGrid] The `apiRef.current.moveColumn` was renamed to `apiRef.current.setColumnIndex` (#1299) @m4theushw
3047
+
3048
+ #### Changes
3049
+
3050
+ - [DataGrid] Fix loader flag from useDemoData hook (#1279) @DanailH
3051
+ - [DataGrid] Fix page shift after toggling column (#1284) @m4theushw
3052
+ - [DataGrid] Fix rendering issues (#1319, #1253) @dtassone
3053
+ - [DataGrid] Refactor edit events to allow stop propagation (#1304) @dtassone
3054
+
3055
+ ### Core
3056
+
3057
+ - [core] Batch small changes (#1310) @oliviertassinari
3058
+
3059
+ ## [4.0.0-alpha.23](https://github.com/mui/mui-x/compare/v4.0.0-alpha.22...v4.0.0-alpha.23)
3060
+
3061
+ _Mar 22, 2021_
3062
+
3063
+ Big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
3064
+
3065
+ - 🎁 Add `onRowsScrollEnd` to support infinite loading (#1199) @DanailH
3066
+ This is an XGrid feature. Provides the ability to tap into the `onRowsScrollEnd` which is called when the scroll reaches the bottom of the grid viewport allowing developers to load additional data. It can be used with a combination of `scrollBottomThreshold` to control the area in which the `onRowsScrollEnd` is called.
3067
+
3068
+ See the documentation for [more details](https://mui.com/components/data-grid/rows/#infinite-loading).
3069
+
3070
+ - 🕹 Provide the ability to sort by multiple columns using Shift+click (#1203) @dtassone
3071
+ - 🇵🇱 Added pl-PL locale (#1117) @LarsKumbier
3072
+ - ⚡️ Edit cell accessibility (#1205) @dtassone
3073
+ - 🐞 Bugfixes
3074
+
3075
+ ### @material-ui/x-grid@v4.0.0-alpha.23 / @material-ui/data-grid@v4.0.0-alpha.23
3076
+
3077
+ - [DataGrid] Add pl-PL locale (#1274) @michallukowski
3078
+ - [DataGrid] Add onRowsScrollEnd to support infinite loading (#1199) @DanailH
3079
+ - [DataGrid] Edit Cell Navigation (#1205) @dtassone
3080
+ - [DataGrid] Fix Popper z-index (#1240) @m4theushw
3081
+ - [DataGrid] Provide the ability to sort by multiple columns using Shift+click (#1203) @dtassone
3082
+
3083
+ ### Docs
3084
+
3085
+ - [docs] Lazy generate fake data (#1170) @oliviertassinari
3086
+ - [docs] Fix linking to sorting component in data-grid overview page (#1237) @SaskiaKeil
3087
+ - [docs] Fix typos (#1198) @cthogg
3088
+
3089
+ ### Core
3090
+
3091
+ - [core] Improve the handling of events (rm capture, add event, add new props) (#1158) @dtassone
3092
+ - [core] Reinforce that columns are definitions (#1210) @oliviertassinari
3093
+ - [core] Batch small changes (#1209) @oliviertassinari
3094
+ - [core] No top-level imports (#1257) @oliviertassinari
3095
+ - [core] Remove dead code (#1259) @oliviertassinari
3096
+
3097
+ ## [4.0.0-alpha.22](https://github.com/mui/mui-x/compare/v4.0.0-alpha.21...v4.0.0-alpha.22)
3098
+
3099
+ _Mar 9, 2021_
3100
+
3101
+ Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
3102
+
3103
+ - 🎁 Implement base foundation for editing a cell (#1025) @dtassone.
3104
+ This is the foundation on which the feature will be built. Currently, the newly added methods aren't yet ready for being used. This feature will be available in the coming weeks.
3105
+ - 🇩🇪 Added de-DE locale (#1117) @LarsKumbier
3106
+ - 📜 Fix scrollbar related issue (#1146) @dtassone
3107
+ - 🐛 Handle commas in cell values when doing CSV export (#1154) @DanailH
3108
+
3109
+ ### @material-ui/x-grid@v4.0.0-alpha.22 / @material-ui/data-grid@v4.0.0-alpha.22
3110
+
3111
+ - [DataGrid] Add de-DE locale (#1117) @LarsKumbier
3112
+ - [DataGrid] Fix scrollbar on autopageSize (#1146) @dtassone
3113
+ - [DataGrid] Fix handling of special chars when doing CSV export (#1154) @DanailH
3114
+ - [DataGrid] Implement base foundation for editing a cell (#1025) @dtassone
3115
+ - [DataGrid] Improve edit cell UI (#1168) @oliviertassinari
3116
+
3117
+ ### Docs
3118
+
3119
+ - [docs] Add demo page (#1147) @DanailH
3120
+ - [docs] Fix typo in localization.md (#1155) @michael-martin-al
3121
+ - [docs] Improve the desciption of the individual packages (#1139) @oliviertassinari
3122
+ - [docs] Fix rendering docs to solve custom pagination issue (#1159) @consDev
3123
+
3124
+ ### Core
3125
+
3126
+ - [core] Add build in eslintignore (#1171) @dtassone
3127
+ - [core] Increase timeout for XGrid demo (#1150) @oliviertassinari
3128
+ - [core] Output warnings in the rendered components (#1153) @oliviertassinari
3129
+ - [core] Update to the HEAD of the monorepo (#1138) @oliviertassinari
3130
+
3131
+ ## [4.0.0-alpha.21](https://github.com/mui/mui-x/compare/v4.0.0-alpha.20...v4.0.0-alpha.21)
3132
+
3133
+ _Feb 27, 2021_
3134
+
3135
+ Big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
3136
+
3137
+ - 🎁 Add support for CSV export (#1030) @DanailH.
3138
+ This is the first iteration of the feature. You can either render the `GridToolbarExport` component in the toolbar or use the apiRef `exportDataAsCsv`/`getDataAsCsv` methods.
3139
+
3140
+ See the documentation for [more details](https://mui.com/components/data-grid/export/#csv-export).
3141
+
3142
+ - 🌏 Improve the support for custom locales (#1096, #1079, #1109, #1077)
3143
+ - ♿️ Fix a couple of accessibility issues with the popups (#1105, #1102)
3144
+
3145
+ ### @material-ui/x-grid@v4.0.0-alpha.21 / @material-ui/data-grid@v4.0.0-alpha.21
3146
+
3147
+ #### Breaking changes
3148
+
3149
+ - [DataGrid] Prefix all public API to fit into the global Material-UI namespace (#1069) @DanailH
3150
+ This change gets the data grid one step closer to a stable release. It allows the data grid to fit into the global namespace of Material-UI. All the exported modules should have a unique name. It allows the search features, in Google, in the docs, and in the codebase to work effectively and efficiently.
3151
+
3152
+ For the mirgration, prefixing a broken import with "grid" is often enough. In the case it's not working, head to the pull request's description. It [details all the changes](https://github.com/mui/mui-x/pull/1069).
3153
+
3154
+ #### Changes
3155
+
3156
+ - [DataGrid] Add fr-FR locale (#1079) @oliviertassinari
3157
+ - [DataGrid] Add missing TablePagination localizations (#1109) @DanailH
3158
+ - [DataGrid] Add pt-BR locale (#1077) @erikian
3159
+ - [DataGrid] Fix checked checkbox when empty rows (#1068) @bigandy
3160
+ - [DataGrid] Fix issue with visible rows state (#1113) @dtassone
3161
+ - [DataGrid] Fix last row (#1071) @dtassone
3162
+ - [DataGrid] Fix menu accessible (#1105) @DanailH
3163
+ - [DataGrid] Fix missing translation filterOperatorAfter key (#1096) @DanailH
3164
+ - [DataGrid] Fix preferences panel accessibility (#1102) @DanailH
3165
+ - [DataGrid] Implement CSV export (#1030) @DanailH
3166
+
3167
+ ### Docs
3168
+
3169
+ - [docs] Add expand cell renderer demo (#1070) @dtassone
3170
+ - [docs] Clarify align is separate from headerAlign (#1074) @alexdanilowicz
3171
+ - [docs] Clarify product split (#1080) @oliviertassinari
3172
+
3173
+ ### Core
3174
+
3175
+ - [core] Fix storybook pagination stories (#1099) @dtassone
3176
+ - [core] Pin playwright image to known working version (#1110) @oliviertassinari
3177
+ - [test] Add visual regression tests (#1081) @oliviertassinari
3178
+ - [test] Avoid Rate Limit Exceeded (#1059) @oliviertassinari
3179
+ - [test] Fix containers size for screenshots (#1111) @oliviertassinari
3180
+ - [test] Fix visual regression flakiness (#1115) @oliviertassinari
3181
+ - [test] Improve BrowserStack configuration (#1100) @oliviertassinari
3182
+ - [test] Speed-up rebuild in Karma (#1064) @oliviertassinari
3183
+
3184
+ ## [4.0.0-alpha.20](https://github.com/mui/mui-x/compare/v4.0.0-alpha.19...v4.0.0-alpha.20)
3185
+
3186
+ _Feb 17, 2021_
3187
+
3188
+ Big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
3189
+
3190
+ - 📍 Add support for default locales (#983) @DanailH
3191
+ We have built the infrastructure to support around 100 [default locales](https://mui.com/components/data-grid/localization/#supported-locales). If you have localized the data grid in your application. Please do consider contributing new translations back to Material-UI by opening a pull request.
3192
+ - 🎁 Add new `selectionModel` prop (#986) @dtassone
3193
+ The prop can be used to control the selected rows in the data grid. [See the docs](https://mui.com/components/data-grid/selection/#controlled-selection).
3194
+ - 💅 Add support for default props from theme (#1019) @DanailH
3195
+ - 🙌 Fix scrollbar size on windows (#1061) @dtassone
3196
+ - 🐛 Polish existing features, fix 9 issues.
3197
+
3198
+ ### @material-ui/x-grid@v4.0.0-alpha.20 / @material-ui/data-grid@v4.0.0-alpha.20
3199
+
3200
+ #### Breaking changes
3201
+
3202
+ - [DataGrid] Remove `sortDirection` from column definitions. Consolidate around fewer ways of doing the same thing. (#1015) @dtassone
3203
+
3204
+ ```diff
3205
+ -columns[1] = { ...columns[1], sortDirection: 'asc' };
3206
+
3207
+ return (
3208
+ <div>
3209
+ - <DataGrid rows={rows} columns={columns} />
3210
+ + <DataGrid rows={rows} columns={columns} sortModel={[{ field: columns[1].field, sort: 'asc' }]} />
3211
+ </div>
3212
+ ```
3213
+
3214
+ - [DataGrid] Rename the `onSelectionChange` prop to `onSelectionModelChange` for consistency. (#986) @dtassone
3215
+
3216
+ ```diff
3217
+ -<DataGrid onSelectionChange={selectionChangeHandler} />
3218
+ +<DataGrid onSelectionModelChange={onSelectionModelChangeHandler} />
3219
+ ```
3220
+
3221
+ - [DataGrid] Remove `showToolbar` prop (#948) @DanailH
3222
+
3223
+ ```diff
3224
+ -import { DataGrid } from '@material-ui/data-grid';
3225
+ +import { DataGrid, GridToolbar } from '@material-ui/data-grid';
3226
+
3227
+ -<DataGrid showToolbar />
3228
+ +<DataGrid components={{ Toolbar: GridToolbar }} />
3229
+ ```
3230
+
3231
+ - [DataGrid] Change page index base, from 1 to 0. (#1021) @dtassone
3232
+ This change is done for consistency with `TablePagination` and JavaScript arrays that are 0-based. Material-UI still uses a 1-base page for the `Pagination` component that matches the URL's query.
3233
+
3234
+ ```diff
3235
+ -const [page, setPage] = React.useState(1);
3236
+ +const [page, setPage] = React.useState(0);
3237
+
3238
+ return (
3239
+ <div className="grid-container">
3240
+ <DataGrid rows={rows} columns={columns} page={page} />
3241
+ </div>
3242
+ ```
3243
+
3244
+ #### Changes
3245
+
3246
+ - [DataGrid] Add bg-BG locale (#983) @DanailH
3247
+ - [DataGrid] Add last of the missing translations (#1033) @DanailH
3248
+ - [DataGrid] Add support for default props from theme (#1019) @DanailH
3249
+ - [DataGrid] Fix controllable filters and select all rows with filters (#1020) @dtassone
3250
+ - [DataGrid] Fix onPageChange and onPageSizeChange event trigger (#1034) @dtassone
3251
+ - [DataGrid] Fix process is not defined (EXPERIMENTAL_ENABLED) (#1027) @leontastic
3252
+ - [DataGrid] Fix scrollbar size on windows (#1061) @dtassone
3253
+ - [DataGrid] Fix warning with v5 (#1038) @oliviertassinari
3254
+ - [DataGrid] Resolve the api ref at the same time as any other ref (#990) @oliviertassinari
3255
+ - [DataGrid] Use the disableDensitySelector to disable the DensitySelector (#1031) @DanailH
3256
+ - [DataGrid] Fix passing [] or undefined in sortModel prop (#1035) @dtassone
3257
+ - [XGrid] Fix server-side multi filters (#1029) @dtassone
3258
+
3259
+ ### Docs
3260
+
3261
+ - [docs] Add code snippet for localization docs in the data grid (#1024) @DanailH
3262
+ - [docs] Fix usage of the wrong type (#1062) @oliviertassinari
3263
+ - [docs] Reduce fears around license upfront @oliviertassinari
3264
+ - [docs] Update streaming docs (#1013) @dtassone
3265
+
3266
+ ### Core
3267
+
3268
+ - [core] Batch small changes (#991) @oliviertassinari
3269
+ - [core] Save/restore actual yarn cache folder (#1039) @oliviertassinari
3270
+ - [test] Increase yarn timeout (#1023) @oliviertassinari
3271
+ - [test] Link CircleCI URL in BS (#1060) @oliviertassinari
3272
+
3273
+ ## [4.0.0-alpha.19](https://github.com/mui/mui-x/compare/v4.0.0-alpha.18...v4.0.0-alpha.19)
3274
+
3275
+ _Feb 5, 2021_
3276
+
3277
+ Big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
3278
+
3279
+ - 🎁 Add getRowId prop (#972) @dtassone
3280
+ - 🚀 Add streaming delete row api (#980) @dtassone
3281
+ - 💅 Fix autoHeight (#940) @oliviertassinari
3282
+ - 🙌 Enable the data grid to work under strict mode (#933) @dtassone
3283
+ - ⚡️ Add component slots for toolbar and preference panel (#971) @DanailH
3284
+ - 🐛 Polish existing features, fix 9 issues.
3285
+
3286
+ ### @material-ui/x-grid@v4.0.0-alpha.19 / @material-ui/data-grid@v4.0.0-alpha.19
3287
+
3288
+ - [DataGrid] Add component slots for toolbar and preference panel (#971) @DanailH
3289
+ - [DataGrid] Add getRowId prop (#972) @dtassone
3290
+ - [DataGrid] Add streaming delete row api (#980) @dtassone
3291
+ - [DataGrid] Fix autoHeight (#940) @oliviertassinari
3292
+ - [DataGrid] Fix column reorder instability (#950) @dtassone
3293
+ - [DataGrid] Fix footer visual regression (#932) @dtassone
3294
+ - [DataGrid] Fix strict mode issue with apiRef (#933) @dtassone
3295
+ - [DataGrid] Work on the accessibility of the column menu (#900) @zj9495
3296
+ - [DataGrid] Fix timing guarentee (#981) @oliviertassinari
3297
+ - [DataGrid] Fix unstable footer height (#937) @oliviertassinari
3298
+ - [DataGrid] Fix usage of the prop-types API (#955) @oliviertassinari
3299
+ - [DataGrid] Fix duplicate aria-label (#953) @oliviertassinari
3300
+
3301
+ ### docs
3302
+
3303
+ - [docs] Add sorting page in datagrid docs (#931) @dtassone
3304
+ - [docs] Api page update with component slots (#969) @dtassone
3305
+ - [docs] Catch leaks ahread of time (#979) @oliviertassinari
3306
+ - [docs] Fix immutability with filter operator demos (#975) @dtassone
3307
+ - [docs] Improve docs of DataGrid about filter operators (#973) @SaskiaKeil
3308
+ - [docs] Improve the docs for the filtering feature (#945) @dtassone
3309
+
3310
+ ### core
3311
+
3312
+ - [core] Add 'Order id 💳' section in issues (#952) @oliviertassinari
3313
+ - [core] Improve prop-types handling (#978) @oliviertassinari
3314
+ - [core] Investigate bundle size (#954) @oliviertassinari
3315
+
3316
+ ## [4.0.0-alpha.18](https://github.com/mui/mui-x/compare/v4.0.0-alpha.17...v4.0.0-alpha.18)
3317
+
3318
+ _Jan 26, 2021_
3319
+
3320
+ Big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
3321
+
3322
+ - 🎁 Add support for Material-UI v5-alpha (#855) @DanailH.
3323
+ The data grid supports Material-UI v4 and v5. We aim to retain the support for v4 as long as v5 hasn't reached the beta phase.
3324
+ - 💅 Update the customization API to be closer to Material-UI v5.
3325
+ The data grid accepts two props: `components` and `componentsProps`.
3326
+ The first prop allows to swapping specific components used in slots the grid, like the checkboxes.
3327
+ The second one allows providing extra props to each slot. It avoids the need for using the React context to access information from outside the data grid.
3328
+
3329
+ See the [RFC](https://github.com/mui/material-ui/issues/21453) for more details.
3330
+
3331
+ - 🐛 Polish existing features, fix 3 issues.
3332
+
3333
+ ### @material-ui/x-grid@v4.0.0-alpha.18 / @material-ui/data-grid@v4.0.0-alpha.18
3334
+
3335
+ #### Breaking changes
3336
+
3337
+ - [DataGrid] Implement customization pattern of Material-UI v5 (#851, #879) @dtassone
3338
+
3339
+ - Capitalize the keys of the `components` prop. This change aims to bring consistency with the customization pattern of Material-UI v5:
3340
+
3341
+ ```diff
3342
+ <DataGrid
3343
+ components={{
3344
+ - noRowsOverlay: CustomNoRowsOverlay,
3345
+ + NoRowOverlay: CustomNoRowsOverlay,
3346
+ }}
3347
+ />
3348
+ ```
3349
+
3350
+ - Move all the icon components overrides in the `components` prop. And added the suffix 'Icon' on each icon component. This change aims to bring consistency with the customization pattern of Material-UI v5:
3351
+
3352
+ ```diff
3353
+ <DataGrid
3354
+ - icons: {{
3355
+ - ColumnSortedAscending: SortedAscending,
3356
+ - }},
3357
+ + components={{
3358
+ + ColumnSortedAscendingIcon: SortedAscending,
3359
+ + }}
3360
+ />
3361
+ ```
3362
+
3363
+ - Change the props provided to the component of the `components` prop. Expose the whole state instead of an arbitrary set of props:
3364
+
3365
+ ```diff
3366
+ -function CustomPagination(props: ComponentProps) {
3367
+ - const { pagination, api } = props;
3368
+ +function CustomPagination(props: BaseComponentProps) {
3369
+ + const { state, api } = props;
3370
+
3371
+ return (
3372
+ <Pagination
3373
+ - page={pagination.page}
3374
+ - count={pagination.pageCount}
3375
+ + page={state.pagination.page}
3376
+ + count={state.pagination.pageCount}
3377
+
3378
+ // ...
3379
+
3380
+ <DataGrid components={{ Pagination: CustomPagination }} />
3381
+ ```
3382
+
3383
+ #### Changes
3384
+
3385
+ - [DataGrid] Add customisation on panels (#890) @dtassone
3386
+ - [DataGrid] Add support for Material-UI v5-alpha (#855) @DanailH
3387
+ - [DataGrid] Fix footer count not shown on small screen (#899) @mnajdova
3388
+ - [DataGrid] Fix column selector crash when hiding columns (#875) @DanailH
3389
+ - [DataGrid] Fix <kbd>Shift</kbd> + <kbd>Space</kbd> keyboard regression to select row (#897) @dtassone
3390
+
3391
+ ### docs
3392
+
3393
+ - [docs] Fix imports for x-grid-data-generator (#887) @DanailH
3394
+ - [docs] Skip download of playwright for docs @oliviertassinari
3395
+ - [CHANGELOG] Polish @oliviertassinari
3396
+
3397
+ ### core
3398
+
3399
+ - [core] Automation for duplicate issues (#878) @oliviertassinari
3400
+ - [core] Replace commander with yargs (#872) @dependabot-preview
3401
+ - [core] Update monorepo (#884) @oliviertassinari
3402
+
3403
+ ## [4.0.0-alpha.17](https://github.com/mui/mui-x/compare/v4.0.0-alpha.15...v4.0.0-alpha.17)
3404
+
3405
+ _Jan 14, 2021_
3406
+
3407
+ Big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
3408
+
3409
+ - 🎛 Add support for Column selector (#837) @DanailH @dtassone.
3410
+ The feature can be triggered from the toolbar or the column menu. Check [the documentation](https://mui.com/components/data-grid/columns/#column-selector).
3411
+
3412
+ ![column selector](https://user-images.githubusercontent.com/3165635/104791267-6ff77300-579a-11eb-9338-11a8fde83258.gif)
3413
+
3414
+ - 🐛 A focus on fixing regressions from previous releases refactoring and bugs.
3415
+
3416
+ ### @material-ui/x-grid@v4.0.0-alpha.17 / @material-ui/data-grid@v4.0.0-alpha.17
3417
+
3418
+ - [DataGrid] Fix `onPageChange` firing too often (#838) @dtassone
3419
+ - [DataGrid] Fix behavior of the `hideFooter` prop (#846) @dtassone
3420
+ - [DataGrid] Fix the display logic for "error messages" (#843) @dtassone
3421
+ - [DataGrid] Fix wrong initial sort order (#841) @dtassone
3422
+ - [DataGrid] Remove tslib dependency from packages (#832) @oliviertassinari
3423
+
3424
+ ### Docs
3425
+
3426
+ - [docs] Add docs for data grid column selector (#837) @DanailH
3427
+ - [docs] Clarify feature split between Pro and Premium (#779) @oliviertassinari
3428
+
3429
+ ### Core
3430
+
3431
+ - [core] Add tests for Column selector feature (#845) @DanailH
3432
+
3433
+ ## [4.0.0-alpha.15](https://github.com/mui/mui-x/compare/v4.0.0-alpha.14...v4.0.0-alpha.15)
3434
+
3435
+ _Jan 7, 2021_
3436
+
3437
+ Big thanks to the 2 contributors who made this release possible. Here are some highlights ✨:
3438
+
3439
+ - 🔗 Update peer dependencies for React 17 (#814) @DanailH
3440
+ - 🐛 Fix keyboard event collisions inside DataGrid cells (#794) @DanailH
3441
+
3442
+ ### @material-ui/x-grid@v4.0.0-alpha.15 / @material-ui/data-grid@v4.0.0-alpha.15
3443
+
3444
+ - [DataGrid] Fix keyboard event collisions (#794) @DanailH
3445
+
3446
+ ### Docs
3447
+
3448
+ - [docs] Add documentation for the column menu (#815) @DanailH
3449
+
3450
+ ### Core
3451
+
3452
+ - [core] Update peer dependencies for React 17 (#814) @DanailH
3453
+ - [core] Batch small changes (#800) @oliviertassinari
3454
+ - [CHANGELOG] Use the format of the main repository @oliviertassinari
3455
+
3456
+ ## [4.0.0-alpha.14](https://github.com/mui/mui-x/compare/v4.0.0-alpha.13...v4.0.0-alpha.14)
3457
+
3458
+ _Dec 31, 2020_
3459
+
3460
+ Big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
3461
+
3462
+ - 🌎 Add support for internationalization (#718) @DanailH
3463
+
3464
+ You can use the `localeText` prop to provide custom wordings in the data grid.
3465
+ Check the documentation for [a demo](https://mui.com/components/data-grid/localization/#translation-keys).
3466
+
3467
+ - 📚 Start documenting the filtering feature 🧪 (#754) @dtassone
3468
+
3469
+ The work in progress filtering feature and documentation can be found following [this link](https://mui.com/components/data-grid/filtering/). Early feedback are welcome.
3470
+
3471
+ ### @material-ui/x-grid@v4.0.0-alpha.14 / @material-ui/data-grid@v4.0.0-alpha.14
3472
+
3473
+ - [DataGrid] Convert remaining text to use locale text API (#791) @DanailH
3474
+ - [DataGrid] Fix column width calculation after data changes (#756) @DanailH
3475
+ - [DataGrid] Setup internationalization (#718) @DanailH
3476
+ - [DataGrid] getValueError in valueGetter if incorrect field is supplied (#755) @ZeeshanTamboli
3477
+ - [XGrid] Fix support for custom class name generators (#793) @DanailH
3478
+
3479
+ ### Docs
3480
+
3481
+ - [docs] Polish docs (#778) @oliviertassinari
3482
+ - [docs] Start documentation for the data grid filter features (#754) @dtassone
3483
+ - [docs] Sync with docs to fix images (#776) @oliviertassinari
3484
+
3485
+ ### Core
3486
+
3487
+ - [test] We don't need to wait 100ms (#773) @oliviertassinari
3488
+ - [core] Remove useless clone (#757) @oliviertassinari
3489
+
3490
+ ## [4.0.0-alpha.13](https://github.com/mui/mui-x/compare/v4.0.0-alpha.12...v4.0.0-alpha.13)
3491
+
3492
+ _Dec 16, 2020_
3493
+
3494
+ Big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
3495
+
3496
+ - 🐛 Fix bugs from recently released features.
3497
+ - 🧪 Continue the iteration on the data grid filtering feature, soon to be released @dtassone.
3498
+
3499
+ ### @material-ui/x-grid@v4.0.0-alpha.13 / @material-ui/data-grid@v4.0.0-alpha.13
3500
+
3501
+ - [DataGrid] Fix density prop when toolbar is hidden (#717) @DanailH
3502
+ - [DataGrid] Fix row cells leaking CSS 'text-align' from parent (#728) @ZeeshanTamboli
3503
+ - [DataGrid] Add 'nonce' prop to allow inline style if user has CSP (#724) @ZeeshanTamboli
3504
+
3505
+ ### Docs
3506
+
3507
+ - [docs] Add missing props to DataGrid and XGrid api pages (#721) @DanailH
3508
+ - [docs] Fix wrong link anchor @oliviertassinari
3509
+ - [docs] Proxy production version @oliviertassinari
3510
+
3511
+ ### Core
3512
+
3513
+ - [security] Bump ini from 1.3.5 to 1.3.7 (#719) @dependabot-preview
3514
+ - [core] Update monorepository (#725) @oliviertassinari
3515
+ - [test] Polish refactor (#723) @oliviertassinari
3516
+ - [test] Split data grid tests in multiple files (#722) @dtassone
3517
+ - [test] Add tests for DataGrid filtering feature (#715) @dtassone
3518
+
3519
+ ## [4.0.0-alpha.12](https://github.com/mui/mui-x/compare/v4.0.0-alpha.11...v4.0.0-alpha.12)
3520
+
3521
+ _Dec 9, 2020_
3522
+
3523
+ Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
3524
+
3525
+ - 🔍 Add a new data grid [density selector](https://mui.com/components/data-grid/rendering/#density) feature (#606) @DanailH.
3526
+ - 💄 A first iteration on the data grid's toolbar.
3527
+ - 🧪 Continue the iteration on the data grid filtering feature, soon to be released @dtassone.
3528
+
3529
+ ### @material-ui/x-grid@v4.0.0-alpha.12 / @material-ui/data-grid@v4.0.0-alpha.12
3530
+
3531
+ #### Changes
3532
+
3533
+ - [DataGrid] Add Density selector (#606) @DanailH
3534
+ - [DataGrid] Fix swallowing of keyboard events (#673) @DanailH
3535
+ - [DataGrid] Fix collision with react-virtualized on detectElementResize (#678) @tifosiblack
3536
+ - [DataGrid] Fix component name, rm context, refact gridComponent (#707) @dtassone
3537
+ - [DataGrid] Fix infinite loop with multiple grid, and fix performance (#679) @dtassone
3538
+ - [DataGrid] Fix keyboard navigation in column picker (#674) @oliviertassinari
3539
+ - [DataGrid] Fix server-side sorting (#704) @akandels
3540
+ - [DataGrid] Improve the DX of popups (#686) @oliviertassinari
3541
+ - [DataGrid] Refactor cols (#682) @dtassone
3542
+ - [DataGrid] Rename hideToolbar prop to showToolbar (#706) @DanailH
3543
+ - [DataGrid] Prepare server filters (#649) @dtassone
3544
+ - [DataGrid] Fix display of selected rows in footer (#676) @oliviertassinari
3545
+
3546
+ ### Docs
3547
+
3548
+ - [docs] Enable codesandbox preview in PRs (#613) @oliviertassinari
3549
+
3550
+ ### Core
3551
+
3552
+ - [core] Batch small changes (#683) @oliviertassinari
3553
+ - [test] Add regression test (#705) @oliviertassinari
3554
+ - [test] Allow running all the tests in strict mode (#684) @oliviertassinari
3555
+
3556
+ ## [4.0.0-alpha.11](https://github.com/mui/mui-x/compare/v4.0.0-alpha.10...v4.0.0-alpha.11)
3557
+
3558
+ _Dec 2, 2020_
3559
+
3560
+ Big thanks to the 8 contributors who made this release possible. Here are some highlights ✨:
3561
+
3562
+ - 🐛 Fix bugs from recently released features.
3563
+ - 🧪 Iterate on the upcoming filtering feature under an undocumented prop.
3564
+
3565
+ ### @material-ui/x-grid@v4.0.0-alpha.11 / @material-ui/data-grid@v4.0.0-alpha.11
3566
+
3567
+ #### Breaking changes
3568
+
3569
+ - [XGrid] Rows refactoring, flatten RowModel, remove RowData (#668) @dtassone
3570
+
3571
+ These changes simplify the API and avoid confusion between `RowData` and `RowModel`.
3572
+ Now we only have RowModel which is a flat object containing an id and the row data. It is the same object as the items of the `rows` prop array.
3573
+
3574
+ The API to change update the rows using apiRef has changed:
3575
+
3576
+ ```diff
3577
+ -apiRef.current.updateRowData()
3578
+ +apiRef.current.updateRows()
3579
+ ```
3580
+
3581
+ ```diff
3582
+ -apiRef.current.setRowModels()
3583
+ +apiRef.current.setRows()
3584
+ ```
3585
+
3586
+ `apiRef.current.updateRowModels` has been removed, please use `apiRef.current.updateRows`.
3587
+
3588
+ #### Changes
3589
+
3590
+ - [DataGrid] Fix server-side pagination (#639) @dtassone
3591
+ - [DataGrid] Fix flex columns not taking into account "checkboxSelection" prop @DanailH
3592
+ - [DataGrid] First iteration on filtering, basic support (#411) @dtassone
3593
+ - [DataGrid] Improve filters (#635) @dtassone
3594
+ - [DataGrid] Fix filters on rendering new rows (#642) @dtassone
3595
+ - [DataGrid] Fix filters flex-shrink (#664) @oliviertassinari
3596
+
3597
+ ### Docs
3598
+
3599
+ - [docs] Data Grid depends on side effects (#666) @oliviertassinari
3600
+ - [docs] Clarify the purpose of x-grid-data-generator (#634) @Elius94
3601
+ - [docs] Data Grid is in the lab (#612) @oliviertassinari
3602
+ - [docs] Fix Demo app, downgrade webpack-cli, known issue in latest version (#647) @dtassone
3603
+ - [docs] Fix typo in columns.md @stojy
3604
+ - [docs] Reduce confusion on /export page (#646) @SerdarMustafa1
3605
+
3606
+ ### Core
3607
+
3608
+ - [core] Introduce a feature toggle (#637) @oliviertassinari
3609
+ - [core] Remove gitHead (#669) @oliviertassinari
3610
+ - [core] Remove react-select (#658) @dependabot-preview
3611
+ - [core] Replace Storybook knobs for args (#601) @tooppaaa
3612
+ - [core] Update to Material-UI v4.11.1 (#636) @oliviertassinari
3613
+
3614
+ ## [4.0.0-alpha.10](https://github.com/mui/mui-x/compare/v4.0.0-alpha.9...v4.0.0-alpha.10)
3615
+
3616
+ _Nov 20, 2020_
3617
+
3618
+ ### @material-ui/x-grid@v4.0.0-alpha.10 / @material-ui/data-grid@v4.0.0-alpha.10
3619
+
3620
+ - [DataGrid] Add fluid columns width support (#566) @DanailH
3621
+ - [DataGrid] Default toolbar setup (#574) @DanailH
3622
+ - [DataGrid] Fix autoHeight computation for custom headers and footers (#597) @DanailH
3623
+ - [DataGrid] Fix type definitions (#596) @tooppaaa
3624
+ - [DataGrid] Reset sortedRows state on prop change (#599) @dtassone
3625
+
3626
+ ### Docs
3627
+
3628
+ - [docs] Update feature comparison table for Column reorder @DanailH
3629
+
3630
+ ### Core
3631
+
3632
+ - [core] Prepare work for a future public state api (#533) @dtassone
3633
+ - [core] Fix yarn prettier write @oliviertassinari
3634
+ - [test] Share karma setup (#576) @oliviertassinari
3635
+
3636
+ ## [4.0.0-alpha.9](https://github.com/mui/mui-x/compare/v4.0.0-alpha.8...v4.0.0-alpha.9)
3637
+
3638
+ _Nov 9, 2020_
3639
+
3640
+ ### @material-ui/x-grid@v4.0.0-alpha.9 / @material-ui/data-grid@v4.0.0-alpha.9
3641
+
3642
+ - [DataGrid] Fix keyboard with multiple grids (#562) @dtassone
3643
+ - [DataGrid] Add touch support on column resize (#537) @DanailH
3644
+ - [DataGrid] Refactor containerSizes in smaller state (#544) @dtassone
3645
+ - [DataGrid] Fix display of row count and selected rows on mobile (#508) @oliviertassinari
3646
+ - [DataGrid] Apply review from #412 (#515) @oliviertassinari
3647
+ - [DataGrid] Avoid paint step (#531) @oliviertassinari
3648
+ - [DataGrid] Refactor rendering, remove rafUpdate (#532) @dtassone
3649
+ - [DataGrid] Add missing reselect dependency (#534) @dtassone
3650
+ - [DataGrid] Raf Timer stored in apiRef (#506) @dtassone
3651
+ - [DataGrid] Fix webpack v5 support (#449) @oliviertassinari
3652
+ - [DataGrid] Rework columnReorder to work with the new state management (#505) @DanailH
3653
+ - [DataGrid] Fix performance issues (#501) @dtassone
3654
+ - [DataGrid] Refactor columns scrolling (#500) @dtassone
3655
+ - [DataGrid] Replace require with import (#455) @oliviertassinari
3656
+ - [DataGrid] Restore regression test (#503) @oliviertassinari
3657
+ - [DataGrid] Refactor state (#412) @dtassone
3658
+
3659
+ ### Docs
3660
+
3661
+ - [docs] Fix links to GitHub (#538) @oliviertassinari
3662
+ - [docs] Add more information to readme (#539) @An-prog-hub
3663
+ - [docs] Fix the Netlify proxy for localization of X (#536) @oliviertassinari
3664
+ - [docs] Add deploy script command @oliviertassinari
3665
+
3666
+ ### Core
3667
+
3668
+ - [core] Batch small changes (#546) @oliviertassinari
3669
+ - [core] Improve types (#448) @oliviertassinari
3670
+ - [core] Run prettier (#482) @oliviertassinari
3671
+ - [core] Disable generation of changelogs @oliviertassinari
3672
+ - [test] Karma should fail if errors are thrown (#543) @oliviertassinari
3673
+
3674
+ ## [4.0.0-alpha.8](https://github.com/mui/mui-x/compare/v4.0.0-alpha.7...v4.0.0-alpha.8)
3675
+
3676
+ _Oct 23, 2020_
3677
+
3678
+ ### @material-ui/x-grid@v4.0.0-alpha.8 / @material-ui/data-grid@v4.0.0-alpha.8
3679
+
3680
+ - [DataGrid] Fix header row tabIndex (#478) @DanailH
3681
+ - [DataGrid] Reduce dependency on lodash, save 1kB gzipped (#450) @oliviertassinari
3682
+ The DataGrid goes from [28.2 kB](https://bundlephobia.com/result?p=@material-ui/data-grid@4.0.0-alpha.7) gzipped down to [27.3 kB](https://bundlephobia.com/result?p=@material-ui/data-grid@4.0.0-alpha.8) gzipped.
3683
+ - [XGrid] Second iteration on resizing logic (#436) @oliviertassinari
3684
+ Fix 8 bugs with the resizing.
3685
+
3686
+ ### Core
3687
+
3688
+ - [core] Remove usage of LESS (#467) @dependabot-preview
3689
+ - [core] Update to the latest version of the main repo (#456) @oliviertassinari
3690
+
3691
+ ## [4.0.0-alpha.7](https://github.com/mui/mui-x/compare/v4.0.0-alpha.6...v4.0.0-alpha.7)
3692
+
3693
+ _Oct 19, 2020_
3694
+
3695
+ ### @material-ui/x-grid@v4.0.0-alpha.7 / @material-ui/data-grid@v4.0.0-alpha.7
3696
+
3697
+ - [DataGrid] Add column reorder support (#165) @DanailH
3698
+ - [DataGrid] Fix iOS issue when scrolling left (#439) @DanailH
3699
+ - [DataGrid] Improve sizing logic (#350) @oliviertassinari
3700
+ - [DataGrid] Improve warning and docs for layouting (#405) @RobertAron
3701
+
3702
+ ### Docs
3703
+
3704
+ - [docs] Remove id columns (#355) @oliviertassinari
3705
+ - [docs] Swap words to better match users' query (#354) @oliviertassinari
3706
+
3707
+ ### Core
3708
+
3709
+ - [storybook] Fix warning and improve perf (#407) @dtassone
3710
+ - [core] Batch small changes (#403) @oliviertassinari
3711
+ - [core] Fix yarn warning (#421) @oliviertassinari
3712
+ - [core] Hoist duplicated dependencies (#341) @oliviertassinari
3713
+ - [core] Remove dead code (#454) @oliviertassinari
3714
+ - [core] Remove dead-code (#353) @oliviertassinari
3715
+ - [core] Sync supported browser with v5 (#453) @oliviertassinari
3716
+ - [test] Add end-to-end test missing id (#356) @oliviertassinari
3717
+ - [test] Add missing types linting for x-grid (#357) @oliviertassinari
3718
+ - [test] Run the karma tests in browserstack (#316) @oliviertassinari
3719
+
3720
+ ## [4.0.0-alpha.6](https://github.com/mui/mui-x/compare/v4.0.0-alpha.2...v4.0.0-alpha.6)
3721
+
3722
+ _Sep 25, 2020_
3723
+
3724
+ ### @material-ui/x-grid@v4.0.0-alpha.6 / @material-ui/data-grid@v4.0.0-alpha.6
3725
+
3726
+ - [DataGrid] Throw if rows id is missing (#349) @dtassone
3727
+ - [DataGrid] Fix valueGetter sorting (#348) @dtassone
3728
+ - [DataGrid] Fix typings and packages assets (#339) @dtassone
3729
+ - [DataGrid] Add npm keywords (#304) @oliviertassinari
3730
+
3731
+ ### Docs
3732
+
3733
+ - [docs] Avoid double borders (#340) @oliviertassinari
3734
+ - [docs] Fix layout jump issue (#338) @oliviertassinari
3735
+ - [docs] Fix short description warning (#302) @oliviertassinari
3736
+
3737
+ ## [4.0.0-alpha.2](https://github.com/mui/mui-x/compare/v4.0.0-alpha.1...v4.0.0-alpha.2)
3738
+
3739
+ _Sep 18, 2020_
3740
+
3741
+ - [DataGrid] Fix wrongly exported types (#298) @dtassone
3742
+
3743
+ ## [4.0.0-alpha.1](https://github.com/mui/mui-x/compare/v0.1.67...v4.0.0-alpha.1)
3744
+
3745
+ _Sep 17, 2020_
3746
+
3747
+ This is the first public alpha release of the component after 6 months of development since the initial commit (March 15th 2020).
3748
+ `@material-ui/data-grid` is licensed under MIT while `@material-ui/x-grid` is licensed under a commercial license.
3749
+ You can find the documentation at this address: https://mui.com/components/data-grid/.
3750
+
3751
+ ### @material-ui/x-grid@v4.0.0-alpha.1 / @material-ui/data-grid@v4.0.0-alpha.1
3752
+
3753
+ - [DataGrid] Add api pages for data-grid and x-grid (#289) @dtassone
3754
+ - [DataGrid] Add dark mode scrollbar (#282) @dtassone
3755
+ - [DataGrid] Better explain the limits of MIT vs commercial (#225) @oliviertassinari
3756
+ - [DataGrid] First v4 alpha version (#291) @dtassone
3757
+ - [DataGrid] Fix CSS footer spacing (#268) @oliviertassinari
3758
+ - [DataGrid] Fix checkbox selection issue (#285) @dtassone
3759
+ - [DataGrid] Fix disableMultipleSelection (#286) @dtassone
3760
+ - [DataGrid] Fix issue #254, focus cell fully visible (#256) @dtassone
3761
+ - [DataGrid] Fix issues with path and import (#259) @dtassone
3762
+ - [DataGrid] Fix setPage not working (#284) @dtassone
3763
+ - [DataGrid] Move column resizing to XGrid only (#257) @dtassone
3764
+ - [DataGrid] Remove apiRef in DataGrid, a XGrid only feature (#290) @dtassone
3765
+ - [DataGrid] Replace style-components with @material-ui/styles (#168) @dtassone
3766
+
3767
+ ### Docs
3768
+
3769
+ - [docs] Add issue templates (#222) @oliviertassinari
3770
+ - [docs] Add more context on the ⚡️ icons (#265) @oliviertassinari
3771
+ - [docs] Add pricing links (#266) @oliviertassinari
3772
+ - [docs] Add Rendering section (#267) @oliviertassinari
3773
+ - [docs] Add Resources section (#264) @oliviertassinari
3774
+ - [docs] Apply review from Matt @oliviertassinari
3775
+ - [docs] Continue the migration of the demos (#232) @oliviertassinari
3776
+ - [docs] Disable ads on Enterprise features (#263) @oliviertassinari
3777
+ - [docs] Improve documentation (#287) @oliviertassinari
3778
+ - [docs] Matt review (#234) @oliviertassinari
3779
+ - [docs] Migrate Getting Started section (#255) @oliviertassinari
3780
+ - [docs] Migrate Selection pages (#248) @oliviertassinari
3781
+ - [docs] Migrate more pages (#243) @oliviertassinari
3782
+ - [docs] Migrate sorting (#233) @oliviertassinari
3783
+ - [docs] Migration of the paginaton (#224) @oliviertassinari
3784
+ - [docs] Polish the first experience (#261) @oliviertassinari
3785
+ - [docs] Remove blank lines @tags @oliviertassinari