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