@mui/x-data-grid 5.14.0 → 5.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/CHANGELOG.md +147 -5
  2. package/DataGrid/DataGrid.js +7 -1
  3. package/DataGrid/useDataGridProps.js +1 -0
  4. package/colDef/gridStringColDef.js +1 -1
  5. package/components/GridRow.js +5 -1
  6. package/components/base/GridOverlays.js +2 -2
  7. package/components/cell/GridEditInputCell.d.ts +2 -5
  8. package/components/cell/GridEditInputCell.js +13 -14
  9. package/components/cell/GridEditSingleSelectCell.d.ts +4 -0
  10. package/components/cell/GridEditSingleSelectCell.js +11 -4
  11. package/components/columnSelection/GridCellCheckboxRenderer.js +5 -0
  12. package/components/containers/GridRoot.js +4 -2
  13. package/components/toolbar/GridToolbarDensitySelector.js +13 -4
  14. package/components/toolbar/GridToolbarExportContainer.js +13 -2
  15. package/constants/envConstants.d.ts +1 -1
  16. package/constants/envConstants.js +2 -11
  17. package/constants/gridClasses.d.ts +16 -0
  18. package/constants/gridClasses.js +1 -1
  19. package/constants/localeTextConstants.js +1 -1
  20. package/hooks/features/dimensions/useGridDimensions.js +6 -1
  21. package/hooks/features/editRows/useGridCellEditing.new.d.ts +1 -1
  22. package/hooks/features/editRows/useGridCellEditing.new.js +26 -16
  23. package/hooks/features/editRows/useGridCellEditing.old.js +2 -2
  24. package/hooks/features/editRows/useGridEditing.new.d.ts +1 -1
  25. package/hooks/features/editRows/useGridEditing.new.js +4 -0
  26. package/hooks/features/editRows/useGridEditing.old.js +1 -1
  27. package/hooks/features/editRows/useGridRowEditing.new.d.ts +1 -1
  28. package/hooks/features/editRows/useGridRowEditing.new.js +16 -10
  29. package/hooks/features/export/utils.js +8 -1
  30. package/hooks/features/filter/gridFilterState.d.ts +12 -1
  31. package/hooks/features/filter/gridFilterUtils.d.ts +8 -5
  32. package/hooks/features/filter/gridFilterUtils.js +74 -43
  33. package/hooks/features/filter/useGridFilter.js +16 -3
  34. package/hooks/features/focus/useGridFocus.js +11 -6
  35. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  36. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +42 -34
  37. package/hooks/features/pagination/useGridPageSize.js +3 -1
  38. package/hooks/features/rows/gridRowsSelector.d.ts +14 -0
  39. package/hooks/features/rows/gridRowsSelector.js +20 -1
  40. package/hooks/features/rows/gridRowsState.d.ts +8 -1
  41. package/hooks/features/rows/gridRowsUtils.d.ts +4 -0
  42. package/hooks/features/rows/gridRowsUtils.js +21 -3
  43. package/hooks/features/rows/index.d.ts +1 -1
  44. package/hooks/features/rows/index.js +1 -1
  45. package/hooks/features/rows/useGridRows.js +5 -2
  46. package/hooks/features/rows/useGridRowsMeta.js +19 -4
  47. package/hooks/features/rows/useGridRowsPreProcessors.js +2 -1
  48. package/hooks/features/scroll/useGridScroll.js +7 -2
  49. package/hooks/features/selection/useGridSelection.js +7 -3
  50. package/hooks/features/sorting/useGridSorting.js +8 -0
  51. package/hooks/features/statePersistence/gridStatePersistenceInterface.d.ts +3 -0
  52. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -1
  53. package/hooks/features/virtualization/useGridVirtualScroller.js +31 -16
  54. package/index.js +1 -1
  55. package/internals/index.d.ts +5 -1
  56. package/internals/index.js +4 -0
  57. package/legacy/DataGrid/DataGrid.js +7 -1
  58. package/legacy/DataGrid/useDataGridProps.js +1 -0
  59. package/legacy/colDef/gridStringColDef.js +1 -1
  60. package/legacy/components/GridRow.js +5 -1
  61. package/legacy/components/base/GridOverlays.js +2 -2
  62. package/legacy/components/cell/GridEditInputCell.js +13 -14
  63. package/legacy/components/cell/GridEditSingleSelectCell.js +11 -3
  64. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +5 -0
  65. package/legacy/components/containers/GridRoot.js +4 -2
  66. package/legacy/components/toolbar/GridToolbarDensitySelector.js +14 -5
  67. package/legacy/components/toolbar/GridToolbarExportContainer.js +15 -2
  68. package/legacy/constants/envConstants.js +2 -11
  69. package/legacy/constants/gridClasses.js +1 -1
  70. package/legacy/constants/localeTextConstants.js +1 -1
  71. package/legacy/hooks/features/dimensions/useGridDimensions.js +6 -1
  72. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +27 -17
  73. package/legacy/hooks/features/editRows/useGridCellEditing.old.js +2 -2
  74. package/legacy/hooks/features/editRows/useGridEditing.new.js +4 -0
  75. package/legacy/hooks/features/editRows/useGridEditing.old.js +1 -1
  76. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +16 -10
  77. package/legacy/hooks/features/export/utils.js +13 -1
  78. package/legacy/hooks/features/filter/gridFilterUtils.js +84 -55
  79. package/legacy/hooks/features/filter/useGridFilter.js +16 -3
  80. package/legacy/hooks/features/focus/useGridFocus.js +11 -6
  81. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +47 -34
  82. package/legacy/hooks/features/pagination/useGridPageSize.js +3 -1
  83. package/legacy/hooks/features/rows/gridRowsSelector.js +23 -0
  84. package/legacy/hooks/features/rows/gridRowsUtils.js +21 -3
  85. package/legacy/hooks/features/rows/index.js +1 -1
  86. package/legacy/hooks/features/rows/useGridRows.js +5 -2
  87. package/legacy/hooks/features/rows/useGridRowsMeta.js +19 -4
  88. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +2 -1
  89. package/legacy/hooks/features/scroll/useGridScroll.js +7 -2
  90. package/legacy/hooks/features/selection/useGridSelection.js +7 -3
  91. package/legacy/hooks/features/sorting/useGridSorting.js +8 -0
  92. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +32 -16
  93. package/legacy/index.js +1 -1
  94. package/legacy/internals/index.js +4 -0
  95. package/legacy/locales/arSD.js +1 -1
  96. package/legacy/locales/bgBG.js +1 -1
  97. package/legacy/locales/csCZ.js +1 -1
  98. package/legacy/locales/daDK.js +1 -1
  99. package/legacy/locales/deDE.js +9 -9
  100. package/legacy/locales/elGR.js +1 -1
  101. package/legacy/locales/esES.js +1 -1
  102. package/legacy/locales/faIR.js +1 -1
  103. package/legacy/locales/fiFI.js +1 -1
  104. package/legacy/locales/frFR.js +1 -1
  105. package/legacy/locales/heIL.js +1 -1
  106. package/legacy/locales/huHU.js +1 -1
  107. package/legacy/locales/itIT.js +15 -15
  108. package/legacy/locales/jaJP.js +3 -3
  109. package/legacy/locales/koKR.js +34 -30
  110. package/legacy/locales/nbNO.js +1 -1
  111. package/legacy/locales/nlNL.js +1 -1
  112. package/legacy/locales/plPL.js +1 -1
  113. package/legacy/locales/ptBR.js +1 -1
  114. package/legacy/locales/roRO.js +1 -1
  115. package/legacy/locales/ruRU.js +1 -1
  116. package/legacy/locales/skSK.js +1 -1
  117. package/legacy/locales/svSE.js +1 -1
  118. package/legacy/locales/trTR.js +1 -1
  119. package/legacy/locales/ukUA.js +1 -1
  120. package/legacy/locales/viVN.js +1 -1
  121. package/legacy/locales/zhCN.js +37 -33
  122. package/legacy/locales/zhTW.js +1 -1
  123. package/legacy/utils/keyboardUtils.js +8 -5
  124. package/locales/arSD.js +1 -1
  125. package/locales/bgBG.js +1 -1
  126. package/locales/csCZ.js +1 -1
  127. package/locales/daDK.js +1 -1
  128. package/locales/deDE.js +9 -9
  129. package/locales/elGR.js +1 -1
  130. package/locales/esES.js +1 -1
  131. package/locales/faIR.js +1 -1
  132. package/locales/fiFI.js +1 -1
  133. package/locales/frFR.js +1 -1
  134. package/locales/heIL.js +1 -1
  135. package/locales/huHU.js +1 -1
  136. package/locales/itIT.js +15 -15
  137. package/locales/jaJP.js +3 -3
  138. package/locales/koKR.js +30 -30
  139. package/locales/nbNO.js +1 -1
  140. package/locales/nlNL.js +1 -1
  141. package/locales/plPL.js +1 -1
  142. package/locales/ptBR.js +1 -1
  143. package/locales/roRO.js +1 -1
  144. package/locales/ruRU.js +1 -1
  145. package/locales/skSK.js +1 -1
  146. package/locales/svSE.js +1 -1
  147. package/locales/trTR.js +1 -1
  148. package/locales/ukUA.js +1 -1
  149. package/locales/viVN.js +1 -1
  150. package/locales/zhCN.js +33 -33
  151. package/locales/zhTW.js +1 -1
  152. package/models/gridRows.d.ts +5 -0
  153. package/models/props/DataGridProps.d.ts +8 -3
  154. package/modern/DataGrid/DataGrid.js +7 -1
  155. package/modern/DataGrid/useDataGridProps.js +1 -0
  156. package/modern/colDef/gridStringColDef.js +1 -1
  157. package/modern/components/GridRow.js +5 -1
  158. package/modern/components/base/GridOverlays.js +2 -2
  159. package/modern/components/cell/GridEditInputCell.js +13 -14
  160. package/modern/components/cell/GridEditSingleSelectCell.js +11 -4
  161. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +5 -0
  162. package/modern/components/containers/GridRoot.js +4 -2
  163. package/modern/components/toolbar/GridToolbarDensitySelector.js +11 -4
  164. package/modern/components/toolbar/GridToolbarExportContainer.js +11 -2
  165. package/modern/constants/envConstants.js +2 -11
  166. package/modern/constants/gridClasses.js +1 -1
  167. package/modern/constants/localeTextConstants.js +1 -1
  168. package/modern/hooks/features/dimensions/useGridDimensions.js +6 -1
  169. package/modern/hooks/features/editRows/useGridCellEditing.new.js +24 -16
  170. package/modern/hooks/features/editRows/useGridCellEditing.old.js +2 -2
  171. package/modern/hooks/features/editRows/useGridEditing.new.js +4 -0
  172. package/modern/hooks/features/editRows/useGridEditing.old.js +1 -1
  173. package/modern/hooks/features/editRows/useGridRowEditing.new.js +16 -10
  174. package/modern/hooks/features/export/utils.js +6 -1
  175. package/modern/hooks/features/filter/gridFilterUtils.js +73 -42
  176. package/modern/hooks/features/filter/useGridFilter.js +16 -3
  177. package/modern/hooks/features/focus/useGridFocus.js +11 -6
  178. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +42 -30
  179. package/modern/hooks/features/pagination/useGridPageSize.js +3 -1
  180. package/modern/hooks/features/rows/gridRowsSelector.js +18 -1
  181. package/modern/hooks/features/rows/gridRowsUtils.js +19 -3
  182. package/modern/hooks/features/rows/index.js +1 -1
  183. package/modern/hooks/features/rows/useGridRows.js +5 -2
  184. package/modern/hooks/features/rows/useGridRowsMeta.js +17 -4
  185. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +2 -1
  186. package/modern/hooks/features/scroll/useGridScroll.js +5 -2
  187. package/modern/hooks/features/selection/useGridSelection.js +7 -1
  188. package/modern/hooks/features/sorting/useGridSorting.js +8 -0
  189. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +30 -15
  190. package/modern/index.js +1 -1
  191. package/modern/internals/index.js +4 -0
  192. package/modern/locales/arSD.js +1 -1
  193. package/modern/locales/bgBG.js +1 -1
  194. package/modern/locales/csCZ.js +1 -1
  195. package/modern/locales/daDK.js +1 -1
  196. package/modern/locales/deDE.js +9 -9
  197. package/modern/locales/elGR.js +1 -1
  198. package/modern/locales/esES.js +1 -1
  199. package/modern/locales/faIR.js +1 -1
  200. package/modern/locales/fiFI.js +1 -1
  201. package/modern/locales/frFR.js +1 -1
  202. package/modern/locales/heIL.js +1 -1
  203. package/modern/locales/huHU.js +1 -1
  204. package/modern/locales/itIT.js +15 -15
  205. package/modern/locales/jaJP.js +3 -3
  206. package/modern/locales/koKR.js +30 -30
  207. package/modern/locales/nbNO.js +1 -1
  208. package/modern/locales/nlNL.js +1 -1
  209. package/modern/locales/plPL.js +1 -1
  210. package/modern/locales/ptBR.js +1 -1
  211. package/modern/locales/roRO.js +1 -1
  212. package/modern/locales/ruRU.js +1 -1
  213. package/modern/locales/skSK.js +1 -1
  214. package/modern/locales/svSE.js +1 -1
  215. package/modern/locales/trTR.js +1 -1
  216. package/modern/locales/ukUA.js +1 -1
  217. package/modern/locales/viVN.js +1 -1
  218. package/modern/locales/zhCN.js +33 -33
  219. package/modern/locales/zhTW.js +1 -1
  220. package/modern/utils/keyboardUtils.js +7 -2
  221. package/node/DataGrid/DataGrid.js +7 -1
  222. package/node/DataGrid/useDataGridProps.js +1 -0
  223. package/node/colDef/gridStringColDef.js +1 -1
  224. package/node/components/GridRow.js +5 -1
  225. package/node/components/base/GridOverlays.js +2 -2
  226. package/node/components/cell/GridEditInputCell.js +15 -16
  227. package/node/components/cell/GridEditSingleSelectCell.js +10 -4
  228. package/node/components/columnSelection/GridCellCheckboxRenderer.js +5 -0
  229. package/node/components/containers/GridRoot.js +3 -1
  230. package/node/components/toolbar/GridToolbarDensitySelector.js +13 -4
  231. package/node/components/toolbar/GridToolbarExportContainer.js +13 -2
  232. package/node/constants/envConstants.js +2 -13
  233. package/node/constants/gridClasses.js +1 -1
  234. package/node/constants/localeTextConstants.js +1 -1
  235. package/node/hooks/features/dimensions/useGridDimensions.js +7 -1
  236. package/node/hooks/features/editRows/useGridCellEditing.new.js +26 -16
  237. package/node/hooks/features/editRows/useGridCellEditing.old.js +2 -2
  238. package/node/hooks/features/editRows/useGridEditing.new.js +4 -0
  239. package/node/hooks/features/editRows/useGridEditing.old.js +1 -1
  240. package/node/hooks/features/editRows/useGridRowEditing.new.js +16 -10
  241. package/node/hooks/features/export/utils.js +7 -0
  242. package/node/hooks/features/filter/gridFilterUtils.js +81 -47
  243. package/node/hooks/features/filter/useGridFilter.js +15 -2
  244. package/node/hooks/features/focus/useGridFocus.js +11 -6
  245. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +43 -34
  246. package/node/hooks/features/pagination/useGridPageSize.js +4 -1
  247. package/node/hooks/features/rows/gridRowsSelector.js +24 -2
  248. package/node/hooks/features/rows/gridRowsUtils.js +23 -2
  249. package/node/hooks/features/rows/index.js +70 -12
  250. package/node/hooks/features/rows/useGridRows.js +5 -2
  251. package/node/hooks/features/rows/useGridRowsMeta.js +20 -4
  252. package/node/hooks/features/rows/useGridRowsPreProcessors.js +2 -1
  253. package/node/hooks/features/scroll/useGridScroll.js +7 -1
  254. package/node/hooks/features/selection/useGridSelection.js +7 -3
  255. package/node/hooks/features/sorting/useGridSorting.js +8 -0
  256. package/node/hooks/features/virtualization/useGridVirtualScroller.js +31 -16
  257. package/node/index.js +1 -1
  258. package/node/internals/index.js +36 -0
  259. package/node/locales/arSD.js +1 -1
  260. package/node/locales/bgBG.js +1 -1
  261. package/node/locales/csCZ.js +1 -1
  262. package/node/locales/daDK.js +1 -1
  263. package/node/locales/deDE.js +9 -9
  264. package/node/locales/elGR.js +1 -1
  265. package/node/locales/esES.js +1 -1
  266. package/node/locales/faIR.js +1 -1
  267. package/node/locales/fiFI.js +1 -1
  268. package/node/locales/frFR.js +1 -1
  269. package/node/locales/heIL.js +1 -1
  270. package/node/locales/huHU.js +1 -1
  271. package/node/locales/itIT.js +15 -15
  272. package/node/locales/jaJP.js +3 -3
  273. package/node/locales/koKR.js +30 -30
  274. package/node/locales/nbNO.js +1 -1
  275. package/node/locales/nlNL.js +1 -1
  276. package/node/locales/plPL.js +1 -1
  277. package/node/locales/ptBR.js +1 -1
  278. package/node/locales/roRO.js +1 -1
  279. package/node/locales/ruRU.js +1 -1
  280. package/node/locales/skSK.js +1 -1
  281. package/node/locales/svSE.js +1 -1
  282. package/node/locales/trTR.js +1 -1
  283. package/node/locales/ukUA.js +1 -1
  284. package/node/locales/viVN.js +1 -1
  285. package/node/locales/zhCN.js +33 -33
  286. package/node/locales/zhTW.js +1 -1
  287. package/node/utils/keyboardUtils.js +10 -4
  288. package/package.json +1 -1
  289. package/utils/keyboardUtils.d.ts +2 -2
  290. package/utils/keyboardUtils.js +7 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,148 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 5.15.2
7
+
8
+ _Aug 11, 2022_
9
+
10
+ We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - ✨ Improve quick filtering with row grouping (#5701) @alexfauquette
13
+ - 📚 Documentation improvements
14
+ - 🐞 Bugfixes
15
+
16
+ ### `@mui/x-data-grid@5.15.2` / `@mui/x-data-grid-pro@5.15.2` / `@mui/x-data-grid-premium@5.15.2`
17
+
18
+ #### Changes
19
+
20
+ - [DataGrid] Catch errors if rows freezing is not supported (#5711) @cherniavskii
21
+ - [DataGrid] Preserve cell mode when entering edit mode while commiting (#5686) @m4theushw
22
+ - [DataGridPremium] Let quick filter search in row grouping children (#5701) @alexfauquette
23
+
24
+ ### `@mui/x-date-pickers@v5.0.0-beta.5` / `@mui/x-date-picker-pro@5.0.0-beta.5`
25
+
26
+ #### Changes
27
+
28
+ - [pickers] Add `react-dom` to peerDependencies (#5752) @cherniavskii
29
+ - [TimePicker] Set clock focus outline to `none` (#5758) @LukasTy
30
+ - [pickers] Fix theme augmentation with TypeScript (#5596) @alexfauquette
31
+ - [pickers] Reset input value when locale is modified (#5310) @alexfauquette
32
+ - [pickers] Support `disableHighlightToday` on `MonthPicker` and `YearPicker` (#5562) @flaviendelangle
33
+ - [pickers] Fallback to desktop mode when `matchMedia` is unavailable (#5684) @LukasTy
34
+ - [pickers] Trigger `onChange` when clearing or accepting `Invalid date` (#5740) @LukasTy
35
+
36
+ ### Docs
37
+
38
+ - [docs] Add RFC GH issue template (#5739) @bytasv
39
+ - [docs] Add description to the `GridExportStateParams` page (#5654) @oliviertassinari
40
+ - [docs] Improve the Events page (#5413) @flaviendelangle
41
+ - [docs] Use new editing API in the introduction demos (#5728) @oliviertassinari
42
+
43
+ ### Core
44
+
45
+ - [core] Remove duplicated `FUNDING.yml` file (#5656) @oliviertassinari
46
+ - [core] Remove outdated Next.js options (#5727) @oliviertassinari
47
+ - [core] Update tooling to run with React 18 (#4155) @m4theushw
48
+ - [test] Fix failing dynamic row height tests on Edge (#5707) @m4theushw
49
+
50
+ ## 5.15.1
51
+
52
+ _Aug 4, 2022_
53
+
54
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
55
+
56
+ - 📚 New [page presenting the `apiRef`](https://mui.com/x/react-data-grid/api-object/) (#5273) @flaviendelangle
57
+ - ✨ Better keyboard support for start editing cells (#5511) @oliviertassinari
58
+ - 🌍 Improvements to different locales
59
+ - 🐞 Bugfixes
60
+
61
+ ### `@mui/x-data-grid@v5.15.1` / `@mui/x-data-grid-pro@v5.15.1` / `@mui/x-data-grid-premium@v5.15.1`
62
+
63
+ #### Changes
64
+
65
+ - [DataGrid] Improve start edit UX (#5511) @oliviertassinari
66
+ - [DataGrid] Add `initialOpen` prop to `GridEditSingleSelectCell` to allow overriding initial open state (#5645) @shapaaa
67
+ - [DataGrid] Forward `ref` to root element in `GridEditInputCell` (#5631) @Zenoo
68
+ - [DataGrid] Toggle open state when clicking on buttons in the `GridToolbar` (#5503) @cherniavskii
69
+ - [DataGrid] Improve German (de-DE) locale (#5586) @sebastianfrey
70
+ - [DataGrid] Improve Korean (ko-KR) locale (#5668) @Einere
71
+ - [DataGrid] Complete Italian (it-IT) locale (#5487) @mamodev
72
+
73
+ ### `@mui/x-date-pickers@v5.0.0-beta.4` / `@mui/x-date-picker-pro@5.0.0-beta.4`
74
+
75
+ #### Changes
76
+
77
+ - [DatePicker] Customize day formatter in the calendar (#5373) @alexfauquette
78
+
79
+ ### Docs
80
+
81
+ - [docs] New location for the legal content (#5595) @oliviertassinari
82
+ - [docs] Update description of `maxDateTime` prop (#5639) @jurecuhalev
83
+ - [docs] Add missing `date-fns` dependency when opening Codesandbox demo (#5692) @cherniavskii
84
+
85
+ ### Core
86
+
87
+ - [core] Drop usage of `GRID_EXPERIMENTAL_ENABLED` env variable (#5669) @ar7casper
88
+ - [core] Isolate asset loading under /x/ (#5594) @oliviertassinari
89
+ - [core] Upgrade node to v14 (#4999) @cherniavskii
90
+
91
+ ## 5.15.0
92
+
93
+ _Jul 29, 2022_
94
+
95
+ We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
96
+
97
+ - 🎁 Introduce aggregation (#5592) @flaviendelangle
98
+
99
+ Premium users can now aggregate data in the grid.
100
+ Extract information like sum, average, count, and others with a couple of clicks.
101
+
102
+ https://user-images.githubusercontent.com/45398769/181581503-77cc412e-9d9e-4de1-8bc3-c3bccc54cdaa.mp4
103
+
104
+ To enable this feature, add `experimentalFeatures={{ aggregation: true }}`.
105
+ Aggregation functions are customizable and they combine well with row grouping.
106
+ See the [documentation](https://mui.com/x/react-data-grid/aggregation/) to explore everything it has to offer.
107
+
108
+ - 🚀 Introduce row pinning (#4863) @cherniavskii
109
+
110
+ Pro users can now pin rows on top or bottom of the grid.
111
+
112
+ https://user-images.githubusercontent.com/45398769/181581493-56c733a3-6dd5-4546-bf8d-3f2dff72b14a.mp4
113
+
114
+ To do so, enable the feature with `experimentalFeatures={{ rowPinning: true }}` and provide the pinned rows data to the `pinnedRows` prop.
115
+ For more details, see the [documentation](https://mui.com/x/react-data-grid/row-pinning/).
116
+
117
+ - 🌍 Add simplified Chinese (zh-CN) locale to pickers (#5584) @gamecss
118
+ - 📚 Documentation improvements
119
+
120
+ ### `@mui/x-data-grid@v5.15.0` / `@mui/x-data-grid-pro@v5.15.0` / `@mui/x-data-grid-premium@v5.15.0`
121
+
122
+ #### Changes
123
+
124
+ - [DataGrid] Add prop to keep modifications while processing props (#5309) @m4theushw
125
+ - [DataGrid] Fix container width change on React 18 (#5566) @m4theushw
126
+ - [DataGrid] Fix ellipsis style convention (#5587) @oliviertassinari
127
+ - [DataGridPro] Implement row pinning (#4863) @cherniavskii
128
+ - [DataGridPremium] Make aggregation public (#5592) @cherniavskii
129
+ - [l10n] Improve simplified Chinese (zh-CN) locale (#5584) @gamecss
130
+
131
+ ### `@mui/x-date-pickers@v5.0.0-beta.3` / `@mui/x-date-picker-pro@5.0.0-beta.3`
132
+
133
+ #### Changes
134
+
135
+ - [l10n] Add simplified Chinese (zh-CN) locale (#5584) @gamecss
136
+
137
+ ### Docs
138
+
139
+ - [docs] Split docs page about rows (#5195) @flaviendelangle
140
+ - [docs] Add warning clarifications (#5399) @alexfauquette
141
+ - [docs] Correct slot CSS classes for Pro and Premium components (#5452) @alexfauquette
142
+ - [docs] Fix internal link to `valueParser` (#5450) @alexfauquette
143
+
144
+ ### Core
145
+
146
+ - [core] Upgrade monorepo (#5560) @m4theushw
147
+
6
148
  ## 5.14.0
7
149
 
8
150
  _Jul 21, 2022_
@@ -306,7 +448,7 @@ _May 31, 2022_
306
448
 
307
449
  We'd like to offer a big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
308
450
 
309
- - 🎁 Introduce support for [dynamic row height](https://mui.com/x/react-data-grid/rows/#dynamic-row-height) (#4859) @m4theushw
451
+ - 🎁 Introduce support for [dynamic row height](https://mui.com/x/react-data-grid/row-height/#dynamic-row-height) (#4859) @m4theushw
310
452
 
311
453
  <img src="https://user-images.githubusercontent.com/42154031/171183167-718d7bcd-ec0f-459e-97fe-0f650abb4a99.gif" width="800">
312
454
 
@@ -623,7 +765,7 @@ _Apr 25, 2022_
623
765
 
624
766
  We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
625
767
 
626
- - 🎁 Introduce [Row reorder](https://mui.com/x/react-data-grid/rows/#row-reorder) (#4034) @DanailH
768
+ - 🎁 Introduce [Row reorder](https://mui.com/x/react-data-grid/row-ordering/) (#4034) @DanailH
627
769
 
628
770
  <img src="https://user-images.githubusercontent.com/5858539/165091263-23472fbb-a989-44b8-849a-d2185adfe13b.gif" width="800">
629
771
 
@@ -887,7 +1029,7 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
887
1029
  <DataGrid getRowSpacing={() => ({ top: 10, bottom: 10 })} />
888
1030
  ```
889
1031
 
890
- Check the [documentation](https://mui.com/x/react-data-grid/rows/#row-spacing) for more information.
1032
+ Check the [documentation](https://mui.com/x/react-data-grid/row-height/#row-spacing) for more information.
891
1033
 
892
1034
  ### `@mui/x-data-grid@v5.6.1` / `@mui/x-data-grid-pro@v5.6.1`
893
1035
 
@@ -1141,7 +1283,7 @@ _Jan 28, 2022_
1141
1283
 
1142
1284
  A big thanks to the 9 contributors who made this release possible. Here are some highlights ✨:
1143
1285
 
1144
- - 🚣 Introduce [variable row height](https://mui.com/x/react-data-grid/rows/#variable-row-height) (#438) @DanailH
1286
+ - 🚣 Introduce [variable row height](https://mui.com/x/react-data-grid/row-height/#variable-row-height) (#438) @DanailH
1145
1287
 
1146
1288
  Allows for setting a row-specific height.
1147
1289
  By default, all rows have the same height, but now you can set the height on a per-row basis.
@@ -3793,7 +3935,7 @@ Big thanks to the 7 contributors who made this release possible. Here are some h
3793
3935
  - 🎁 Add `onRowsScrollEnd` to support infinite loading (#1199) @DanailH
3794
3936
  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.
3795
3937
 
3796
- See the documentation for [more details](https://mui.com/x/react-data-grid/rows/#infinite-loading).
3938
+ See the documentation for [more details](https://mui.com/x/react-data-grid/row-updates/#infinite-loading).
3797
3939
 
3798
3940
  - 🕹 Provide the ability to sort by multiple columns using Shift+click (#1203) @dtassone
3799
3941
  - 🇵🇱 Added pl-PL locale (#1117) @LarsKumbier
@@ -155,6 +155,12 @@ DataGridRaw.propTypes = {
155
155
  */
156
156
  disableExtendRowFullWidth: PropTypes.bool,
157
157
 
158
+ /**
159
+ * If `true`, modification to a cell will not be discarded if the mode is changed from "edit" to "view" while processing props.
160
+ * @default false
161
+ */
162
+ disableIgnoreModificationsIfProcessingProps: PropTypes.bool,
163
+
158
164
  /**
159
165
  * If `true`, the selection on click on a row or cell is disabled.
160
166
  * @default false
@@ -639,7 +645,7 @@ DataGridRaw.propTypes = {
639
645
  * @param {GridState} state The new state.
640
646
  * @param {MuiEvent<{}>} event The event object.
641
647
  * @param {GridCallbackDetails} details Additional details for this callback.
642
- * @internal
648
+ * @ignore - do not document.
643
649
  */
644
650
  onStateChange: PropTypes.func,
645
651
 
@@ -41,6 +41,7 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
41
41
  disableMultipleColumnsSorting: false,
42
42
  disableSelectionOnClick: false,
43
43
  disableVirtualization: false,
44
+ disableIgnoreModificationsIfProcessingProps: false,
44
45
  editMode: GridEditModes.Cell,
45
46
  filterMode: GridFeatureModeConstant.client,
46
47
  headerHeight: 56,
@@ -17,7 +17,7 @@ export const GRID_STRING_COL_DEF = {
17
17
  groupable: true,
18
18
  pinnable: true,
19
19
  // @ts-ignore
20
- private_aggregable: true,
20
+ aggregable: true,
21
21
  editable: false,
22
22
  sortComparator: gridStringOrNumberComparator,
23
23
  type: 'string',
@@ -120,7 +120,11 @@ function GridRow(props) {
120
120
  // doesn't care about pagination and considers the rows from the current page only, so the
121
121
  // first row always has index=0. We need to subtract the index of the first row to make it
122
122
  // compatible with the index used by the virtualization.
123
- apiRef.current.unstable_setLastMeasuredRowIndex(index - currentPage.range.firstRowIndex);
123
+ const rowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(rowId); // pinned rows are not part of the visible rows
124
+
125
+ if (rowIndex != null) {
126
+ apiRef.current.unstable_setLastMeasuredRowIndex(rowIndex);
127
+ }
124
128
  }
125
129
 
126
130
  const rootElement = ref.current;
@@ -45,8 +45,8 @@ function GridOverlayWrapper(props) {
45
45
  position: 'absolute',
46
46
  top: headerHeight,
47
47
  bottom: height === 'auto' ? 0 : undefined,
48
- zIndex: 3,
49
- // should be above pinned columns and detail panel
48
+ zIndex: 4,
49
+ // should be above pinned columns, pinned rows and detail panel
50
50
  pointerEvents: 'none'
51
51
  }
52
52
  }, props));
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { InputBaseProps } from '@mui/material/InputBase';
3
3
  import { GridRenderEditCellParams } from '../../models/params/gridCellParams';
4
- export interface GridEditInputCellProps extends GridRenderEditCellParams, Omit<InputBaseProps, 'id' | 'value' | 'tabIndex'> {
4
+ export interface GridEditInputCellProps extends GridRenderEditCellParams, Omit<InputBaseProps, 'id' | 'value' | 'tabIndex' | 'ref'> {
5
5
  debounceMs?: number;
6
6
  /**
7
7
  * Callback called when the value is changed by the user.
@@ -11,9 +11,6 @@ export interface GridEditInputCellProps extends GridRenderEditCellParams, Omit<I
11
11
  */
12
12
  onValueChange?: (event: React.ChangeEvent<HTMLInputElement>, newValue: string) => Promise<void> | void;
13
13
  }
14
- declare function GridEditInputCell(props: GridEditInputCellProps): JSX.Element;
15
- declare namespace GridEditInputCell {
16
- var propTypes: any;
17
- }
14
+ declare const GridEditInputCell: React.ForwardRefExoticComponent<Pick<GridEditInputCellProps, keyof GridEditInputCellProps> & React.RefAttributes<HTMLInputElement>>;
18
15
  export { GridEditInputCell };
19
16
  export declare const renderEditInputCell: (params: GridEditInputCellProps) => JSX.Element;
@@ -37,8 +37,7 @@ const GridEditInputCellRoot = styled(InputBase, {
37
37
  height: '100%'
38
38
  }
39
39
  }));
40
-
41
- function GridEditInputCell(props) {
40
+ const GridEditInputCell = /*#__PURE__*/React.forwardRef((props, ref) => {
42
41
  var _rootProps$experiment;
43
42
 
44
43
  const rootProps = useGridRootProps();
@@ -86,6 +85,7 @@ function GridEditInputCell(props) {
86
85
  }
87
86
  }, [hasFocus]);
88
87
  return /*#__PURE__*/_jsx(GridEditInputCellRoot, _extends({
88
+ ref: ref,
89
89
  inputRef: inputRef,
90
90
  className: classes.root,
91
91
  fullWidth: true,
@@ -94,8 +94,7 @@ function GridEditInputCell(props) {
94
94
  onChange: handleChange,
95
95
  endAdornment: isProcessingProps ? /*#__PURE__*/_jsx(GridLoadIcon, {}) : undefined
96
96
  }, other));
97
- }
98
-
97
+ });
99
98
  process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
100
99
  // ----------------------------- Warning --------------------------------
101
100
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -106,23 +105,23 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
106
105
  * GridApi that let you manipulate the grid.
107
106
  * @deprecated Use the `apiRef` returned by `useGridApiContext` or `useGridApiRef` (only available in `@mui/x-data-grid-pro`)
108
107
  */
109
- api: PropTypes.any.isRequired,
108
+ api: PropTypes.any,
110
109
 
111
110
  /**
112
111
  * The mode of the cell.
113
112
  */
114
- cellMode: PropTypes.oneOf(['edit', 'view']).isRequired,
113
+ cellMode: PropTypes.oneOf(['edit', 'view']),
115
114
 
116
115
  /**
117
116
  * The column of the row that the current cell belongs to.
118
117
  */
119
- colDef: PropTypes.object.isRequired,
118
+ colDef: PropTypes.object,
120
119
  debounceMs: PropTypes.number,
121
120
 
122
121
  /**
123
122
  * The column field of the cell that triggered the event.
124
123
  */
125
- field: PropTypes.string.isRequired,
124
+ field: PropTypes.string,
126
125
 
127
126
  /**
128
127
  * The cell value formatted with the column valueFormatter.
@@ -136,17 +135,17 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
136
135
  * @returns {any} The cell value.
137
136
  * @deprecated Use `params.row` to directly access the fields you want instead.
138
137
  */
139
- getValue: PropTypes.func.isRequired,
138
+ getValue: PropTypes.func,
140
139
 
141
140
  /**
142
141
  * If true, the cell is the active element.
143
142
  */
144
- hasFocus: PropTypes.bool.isRequired,
143
+ hasFocus: PropTypes.bool,
145
144
 
146
145
  /**
147
146
  * The grid row id.
148
147
  */
149
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
148
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
150
149
 
151
150
  /**
152
151
  * If true, the cell is editable.
@@ -166,17 +165,17 @@ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
166
165
  /**
167
166
  * The row model of the row that the current cell belongs to.
168
167
  */
169
- row: PropTypes.object.isRequired,
168
+ row: PropTypes.object,
170
169
 
171
170
  /**
172
171
  * The node of the row that the current cell belongs to.
173
172
  */
174
- rowNode: PropTypes.object.isRequired,
173
+ rowNode: PropTypes.object,
175
174
 
176
175
  /**
177
176
  * the tabIndex value.
178
177
  */
179
- tabIndex: PropTypes.oneOf([-1, 0]).isRequired,
178
+ tabIndex: PropTypes.oneOf([-1, 0]),
180
179
 
181
180
  /**
182
181
  * The cell value, but if the column has valueGetter, use getValue.
@@ -9,6 +9,10 @@ export interface GridEditSingleSelectCellProps extends GridRenderEditCellParams,
9
9
  * @returns {Promise<void> | void} A promise to be awaited before calling `apiRef.current.setEditCellValue`
10
10
  */
11
11
  onValueChange?: (event: SelectChangeEvent<any>, newValue: any) => Promise<void> | void;
12
+ /**
13
+ * If true, the select opens by default.
14
+ */
15
+ initialOpen?: boolean;
12
16
  }
13
17
  declare function GridEditSingleSelectCell(props: GridEditSingleSelectCellProps): JSX.Element;
14
18
  declare namespace GridEditSingleSelectCell {
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "className", "getValue", "hasFocus", "isValidating", "isProcessingProps", "error", "onValueChange"];
3
+ const _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "className", "getValue", "hasFocus", "isValidating", "isProcessingProps", "error", "onValueChange", "initialOpen"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';
@@ -26,6 +26,8 @@ const renderSingleSelectOptions = (option, OptionComponent) => {
26
26
  function GridEditSingleSelectCell(props) {
27
27
  var _rootProps$components, _baseSelectProps$nati, _rootProps$components2;
28
28
 
29
+ const rootProps = useGridRootProps();
30
+
29
31
  const {
30
32
  id,
31
33
  value,
@@ -35,15 +37,15 @@ function GridEditSingleSelectCell(props) {
35
37
  colDef,
36
38
  hasFocus,
37
39
  error,
38
- onValueChange
40
+ onValueChange,
41
+ initialOpen = rootProps.editMode === GridEditModes.Cell
39
42
  } = props,
40
43
  other = _objectWithoutPropertiesLoose(props, _excluded);
41
44
 
42
45
  const apiRef = useGridApiContext();
43
46
  const ref = React.useRef();
44
47
  const inputRef = React.useRef();
45
- const rootProps = useGridRootProps();
46
- const [open, setOpen] = React.useState(rootProps.editMode === 'cell');
48
+ const [open, setOpen] = React.useState(initialOpen);
47
49
  const baseSelectProps = ((_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.baseSelect) || {};
48
50
  const isSelectNative = (_baseSelectProps$nati = baseSelectProps.native) != null ? _baseSelectProps$nati : false;
49
51
  let valueOptionsFormatted;
@@ -218,6 +220,11 @@ process.env.NODE_ENV !== "production" ? GridEditSingleSelectCell.propTypes = {
218
220
  */
219
221
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
220
222
 
223
+ /**
224
+ * If true, the select opens by default.
225
+ */
226
+ initialOpen: PropTypes.bool,
227
+
221
228
  /**
222
229
  * If true, the cell is editable.
223
230
  */
@@ -85,6 +85,11 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
85
85
 
86
86
  const isSelectable = apiRef.current.isRowSelectable(id);
87
87
  const label = apiRef.current.getLocaleText(isChecked ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
88
+
89
+ if (rowNode.isPinned) {
90
+ return null;
91
+ }
92
+
88
93
  return /*#__PURE__*/_jsx(rootProps.components.BaseCheckbox, _extends({
89
94
  ref: handleRef,
90
95
  tabIndex: tabIndex,
@@ -12,7 +12,7 @@ import { useGridSelector } from '../../hooks/utils/useGridSelector';
12
12
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
13
13
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
14
14
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
15
- import { gridRowCountSelector } from '../../hooks/features/rows/gridRowsSelector';
15
+ import { gridPinnedRowsCountSelector, gridRowCountSelector } from '../../hooks/features/rows/gridRowsSelector';
16
16
  import { gridDensityValueSelector } from '../../hooks/features/density/densitySelector';
17
17
  import { jsx as _jsx } from "react/jsx-runtime";
18
18
 
@@ -43,6 +43,7 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
43
43
  const densityValue = useGridSelector(apiRef, gridDensityValueSelector);
44
44
  const rootContainerRef = React.useRef(null);
45
45
  const handleRef = useForkRef(rootContainerRef, ref);
46
+ const pinnedRowsCount = useGridSelector(apiRef, gridPinnedRowsCountSelector);
46
47
  const ownerState = {
47
48
  density: densityValue,
48
49
  classes: rootProps.classes,
@@ -70,7 +71,8 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
70
71
  className: clsx(className, classes.root),
71
72
  role: "grid",
72
73
  "aria-colcount": visibleColumns.length,
73
- "aria-rowcount": totalRowCount,
74
+ "aria-rowcount": totalRowCount + pinnedRowsCount + 1 // +1 for the header row
75
+ ,
74
76
  "aria-multiselectable": !rootProps.disableMultipleSelection,
75
77
  "aria-label": rootProps['aria-label'],
76
78
  "aria-labelledby": rootProps['aria-labelledby']
@@ -59,11 +59,20 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
59
59
  }, [densityValue, rootProps]);
60
60
 
61
61
  const handleDensitySelectorOpen = event => {
62
- setOpen(true);
62
+ setOpen(prevOpen => !prevOpen);
63
63
  onClick == null ? void 0 : onClick(event);
64
64
  };
65
65
 
66
- const handleDensitySelectorClose = () => setOpen(false);
66
+ const handleDensitySelectorClickAway = event => {
67
+ var _buttonRef$current;
68
+
69
+ if (buttonRef.current === event.target || // if user clicked on the icon
70
+ (_buttonRef$current = buttonRef.current) != null && _buttonRef$current.contains(event.target)) {
71
+ return;
72
+ }
73
+
74
+ setOpen(false);
75
+ };
67
76
 
68
77
  const handleDensityUpdate = newDensity => {
69
78
  apiRef.current.setDensity(newDensity);
@@ -76,7 +85,7 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
76
85
  }
77
86
 
78
87
  if (isHideMenuKey(event.key)) {
79
- handleDensitySelectorClose();
88
+ setOpen(false);
80
89
  }
81
90
  }; // Disable the button if the corresponding is disabled
82
91
 
@@ -109,7 +118,7 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
109
118
  })), /*#__PURE__*/_jsx(GridMenu, {
110
119
  open: open,
111
120
  target: buttonRef.current,
112
- onClickAway: handleDensitySelectorClose,
121
+ onClickAway: handleDensitySelectorClickAway,
113
122
  position: "bottom-start",
114
123
  children: /*#__PURE__*/_jsx(MenuList, {
115
124
  id: densityMenuId,
@@ -29,7 +29,7 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
29
29
  const handleRef = useForkRef(ref, buttonRef);
30
30
 
31
31
  const handleMenuOpen = event => {
32
- setOpen(true);
32
+ setOpen(prevOpen => !prevOpen);
33
33
  onClick == null ? void 0 : onClick(event);
34
34
  };
35
35
 
@@ -45,6 +45,17 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
45
45
  }
46
46
  };
47
47
 
48
+ const handleMenuClickAway = event => {
49
+ var _buttonRef$current;
50
+
51
+ if (buttonRef.current === event.target || // if user clicked on the icon
52
+ (_buttonRef$current = buttonRef.current) != null && _buttonRef$current.contains(event.target)) {
53
+ return;
54
+ }
55
+
56
+ setOpen(false);
57
+ };
58
+
48
59
  if (children == null) {
49
60
  return null;
50
61
  }
@@ -66,7 +77,7 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
66
77
  })), /*#__PURE__*/_jsx(GridMenu, {
67
78
  open: open,
68
79
  target: buttonRef.current,
69
- onClickAway: handleMenuClose,
80
+ onClickAway: handleMenuClickAway,
70
81
  position: "bottom-start",
71
82
  children: /*#__PURE__*/_jsx(MenuList, {
72
83
  id: menuId,
@@ -1 +1 @@
1
- export declare const GRID_EXPERIMENTAL_ENABLED: boolean;
1
+ export declare const GRID_EXPERIMENTAL_ENABLED = false;
@@ -1,4 +1,4 @@
1
- import { localStorageAvailable } from '../utils/utils'; // A guide to feature toggling.
1
+ // A guide to feature toggling (deprecated)
2
2
  //
3
3
  // The feature toggle is:
4
4
  // - independent from the NODE_ENV
@@ -15,13 +15,4 @@ import { localStorageAvailable } from '../utils/utils'; // A guide to feature to
15
15
  //
16
16
  // Developers (users) are discouraged to enable the experimental feature by setting the GRID_EXPERIMENTAL_ENABLED env.
17
17
  // Instead, prefer exposing experimental APIs, for instance, a prop or a new `unstable_` module.
18
-
19
- let experimentalEnabled = false;
20
-
21
- if (typeof process !== 'undefined' && process.env.GRID_EXPERIMENTAL_ENABLED !== undefined && localStorageAvailable() && window.localStorage.getItem('GRID_EXPERIMENTAL_ENABLED')) {
22
- experimentalEnabled = window.localStorage.getItem('GRID_EXPERIMENTAL_ENABLED') === 'true';
23
- } else if (typeof process !== 'undefined') {
24
- experimentalEnabled = process.env.GRID_EXPERIMENTAL_ENABLED === 'true';
25
- }
26
-
27
- export const GRID_EXPERIMENTAL_ENABLED = experimentalEnabled;
18
+ export const GRID_EXPERIMENTAL_ENABLED = false;
@@ -444,6 +444,22 @@ export interface GridClasses {
444
444
  * Styles applied to the toggle of the grouping criteria cell
445
445
  */
446
446
  groupingCriteriaCellToggle: string;
447
+ /**
448
+ * Styles applied to the pinned rows container.
449
+ */
450
+ pinnedRows: string;
451
+ /**
452
+ * Styles applied to the top pinned rows container.
453
+ */
454
+ 'pinnedRows--top': string;
455
+ /**
456
+ * Styles applied to the bottom pinned rows container.
457
+ */
458
+ 'pinnedRows--bottom': string;
459
+ /**
460
+ * Styles applied to pinned rows render zones.
461
+ */
462
+ pinnedRowsRenderZone: string;
447
463
  }
448
464
  export declare type GridClassKey = keyof GridClasses;
449
465
  export declare function getDataGridUtilityClass(slot: string): string;
@@ -2,4 +2,4 @@ import { generateUtilityClasses, generateUtilityClass } from '@mui/material';
2
2
  export function getDataGridUtilityClass(slot) {
3
3
  return generateUtilityClass('MuiDataGrid', slot);
4
4
  }
5
- export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell', 'cellContent', 'cellCheckbox', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLinkOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle']);
5
+ export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell', 'cellContent', 'cellCheckbox', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLinkOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
@@ -19,7 +19,7 @@ export const GRID_DEFAULT_LOCALE_TEXT = {
19
19
  toolbarFiltersTooltipShow: 'Show filters',
20
20
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} active filters` : `${count} active filter`,
21
21
  // Quick filter toolbar field
22
- toolbarQuickFilterPlaceholder: 'Search...',
22
+ toolbarQuickFilterPlaceholder: 'Search',
23
23
  toolbarQuickFilterLabel: 'Search',
24
24
  toolbarQuickFilterDeleteIconLabel: 'Clear',
25
25
  // Export selector toolbar button text