@mui/x-data-grid 5.14.0 → 5.15.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 (239) hide show
  1. package/CHANGELOG.md +62 -5
  2. package/DataGrid/DataGrid.js +6 -0
  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/columnSelection/GridCellCheckboxRenderer.js +5 -0
  8. package/components/containers/GridRoot.js +4 -2
  9. package/constants/gridClasses.d.ts +16 -0
  10. package/constants/gridClasses.js +1 -1
  11. package/constants/localeTextConstants.js +1 -1
  12. package/hooks/features/dimensions/useGridDimensions.js +6 -1
  13. package/hooks/features/editRows/useGridCellEditing.new.d.ts +1 -1
  14. package/hooks/features/editRows/useGridCellEditing.new.js +6 -3
  15. package/hooks/features/editRows/useGridEditing.new.d.ts +1 -1
  16. package/hooks/features/editRows/useGridEditing.new.js +4 -0
  17. package/hooks/features/editRows/useGridEditing.old.js +1 -1
  18. package/hooks/features/editRows/useGridRowEditing.new.d.ts +1 -1
  19. package/hooks/features/editRows/useGridRowEditing.new.js +2 -2
  20. package/hooks/features/export/utils.js +8 -1
  21. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  22. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +42 -34
  23. package/hooks/features/pagination/useGridPageSize.js +3 -1
  24. package/hooks/features/rows/gridRowsSelector.d.ts +14 -0
  25. package/hooks/features/rows/gridRowsSelector.js +20 -1
  26. package/hooks/features/rows/gridRowsState.d.ts +8 -1
  27. package/hooks/features/rows/gridRowsUtils.d.ts +4 -0
  28. package/hooks/features/rows/gridRowsUtils.js +21 -3
  29. package/hooks/features/rows/index.d.ts +1 -1
  30. package/hooks/features/rows/index.js +1 -1
  31. package/hooks/features/rows/useGridRowsMeta.js +19 -4
  32. package/hooks/features/rows/useGridRowsPreProcessors.js +2 -1
  33. package/hooks/features/scroll/useGridScroll.js +7 -2
  34. package/hooks/features/selection/useGridSelection.js +7 -3
  35. package/hooks/features/sorting/useGridSorting.js +8 -0
  36. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -1
  37. package/hooks/features/virtualization/useGridVirtualScroller.js +31 -16
  38. package/index.js +1 -1
  39. package/internals/index.d.ts +4 -1
  40. package/internals/index.js +3 -0
  41. package/legacy/DataGrid/DataGrid.js +6 -0
  42. package/legacy/DataGrid/useDataGridProps.js +1 -0
  43. package/legacy/colDef/gridStringColDef.js +1 -1
  44. package/legacy/components/GridRow.js +5 -1
  45. package/legacy/components/base/GridOverlays.js +2 -2
  46. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +5 -0
  47. package/legacy/components/containers/GridRoot.js +4 -2
  48. package/legacy/constants/gridClasses.js +1 -1
  49. package/legacy/constants/localeTextConstants.js +1 -1
  50. package/legacy/hooks/features/dimensions/useGridDimensions.js +6 -1
  51. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +6 -3
  52. package/legacy/hooks/features/editRows/useGridEditing.new.js +4 -0
  53. package/legacy/hooks/features/editRows/useGridEditing.old.js +1 -1
  54. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +2 -2
  55. package/legacy/hooks/features/export/utils.js +13 -1
  56. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +47 -34
  57. package/legacy/hooks/features/pagination/useGridPageSize.js +3 -1
  58. package/legacy/hooks/features/rows/gridRowsSelector.js +23 -0
  59. package/legacy/hooks/features/rows/gridRowsUtils.js +21 -3
  60. package/legacy/hooks/features/rows/index.js +1 -1
  61. package/legacy/hooks/features/rows/useGridRowsMeta.js +19 -4
  62. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +2 -1
  63. package/legacy/hooks/features/scroll/useGridScroll.js +7 -2
  64. package/legacy/hooks/features/selection/useGridSelection.js +7 -3
  65. package/legacy/hooks/features/sorting/useGridSorting.js +8 -0
  66. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +32 -16
  67. package/legacy/index.js +1 -1
  68. package/legacy/internals/index.js +3 -0
  69. package/legacy/locales/arSD.js +1 -1
  70. package/legacy/locales/bgBG.js +1 -1
  71. package/legacy/locales/csCZ.js +1 -1
  72. package/legacy/locales/daDK.js +1 -1
  73. package/legacy/locales/deDE.js +1 -1
  74. package/legacy/locales/elGR.js +1 -1
  75. package/legacy/locales/esES.js +1 -1
  76. package/legacy/locales/faIR.js +1 -1
  77. package/legacy/locales/fiFI.js +1 -1
  78. package/legacy/locales/frFR.js +1 -1
  79. package/legacy/locales/heIL.js +1 -1
  80. package/legacy/locales/huHU.js +1 -1
  81. package/legacy/locales/itIT.js +1 -1
  82. package/legacy/locales/jaJP.js +3 -3
  83. package/legacy/locales/koKR.js +1 -1
  84. package/legacy/locales/nbNO.js +1 -1
  85. package/legacy/locales/nlNL.js +1 -1
  86. package/legacy/locales/plPL.js +1 -1
  87. package/legacy/locales/ptBR.js +1 -1
  88. package/legacy/locales/roRO.js +1 -1
  89. package/legacy/locales/ruRU.js +1 -1
  90. package/legacy/locales/skSK.js +1 -1
  91. package/legacy/locales/svSE.js +1 -1
  92. package/legacy/locales/trTR.js +1 -1
  93. package/legacy/locales/ukUA.js +1 -1
  94. package/legacy/locales/viVN.js +1 -1
  95. package/legacy/locales/zhCN.js +37 -33
  96. package/legacy/locales/zhTW.js +1 -1
  97. package/locales/arSD.js +1 -1
  98. package/locales/bgBG.js +1 -1
  99. package/locales/csCZ.js +1 -1
  100. package/locales/daDK.js +1 -1
  101. package/locales/deDE.js +1 -1
  102. package/locales/elGR.js +1 -1
  103. package/locales/esES.js +1 -1
  104. package/locales/faIR.js +1 -1
  105. package/locales/fiFI.js +1 -1
  106. package/locales/frFR.js +1 -1
  107. package/locales/heIL.js +1 -1
  108. package/locales/huHU.js +1 -1
  109. package/locales/itIT.js +1 -1
  110. package/locales/jaJP.js +3 -3
  111. package/locales/koKR.js +1 -1
  112. package/locales/nbNO.js +1 -1
  113. package/locales/nlNL.js +1 -1
  114. package/locales/plPL.js +1 -1
  115. package/locales/ptBR.js +1 -1
  116. package/locales/roRO.js +1 -1
  117. package/locales/ruRU.js +1 -1
  118. package/locales/skSK.js +1 -1
  119. package/locales/svSE.js +1 -1
  120. package/locales/trTR.js +1 -1
  121. package/locales/ukUA.js +1 -1
  122. package/locales/viVN.js +1 -1
  123. package/locales/zhCN.js +33 -33
  124. package/locales/zhTW.js +1 -1
  125. package/models/gridRows.d.ts +5 -0
  126. package/models/props/DataGridProps.d.ts +5 -0
  127. package/modern/DataGrid/DataGrid.js +6 -0
  128. package/modern/DataGrid/useDataGridProps.js +1 -0
  129. package/modern/colDef/gridStringColDef.js +1 -1
  130. package/modern/components/GridRow.js +5 -1
  131. package/modern/components/base/GridOverlays.js +2 -2
  132. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +5 -0
  133. package/modern/components/containers/GridRoot.js +4 -2
  134. package/modern/constants/gridClasses.js +1 -1
  135. package/modern/constants/localeTextConstants.js +1 -1
  136. package/modern/hooks/features/dimensions/useGridDimensions.js +6 -1
  137. package/modern/hooks/features/editRows/useGridCellEditing.new.js +4 -3
  138. package/modern/hooks/features/editRows/useGridEditing.new.js +4 -0
  139. package/modern/hooks/features/editRows/useGridEditing.old.js +1 -1
  140. package/modern/hooks/features/editRows/useGridRowEditing.new.js +2 -2
  141. package/modern/hooks/features/export/utils.js +6 -1
  142. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +42 -30
  143. package/modern/hooks/features/pagination/useGridPageSize.js +3 -1
  144. package/modern/hooks/features/rows/gridRowsSelector.js +18 -1
  145. package/modern/hooks/features/rows/gridRowsUtils.js +19 -3
  146. package/modern/hooks/features/rows/index.js +1 -1
  147. package/modern/hooks/features/rows/useGridRowsMeta.js +17 -4
  148. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +2 -1
  149. package/modern/hooks/features/scroll/useGridScroll.js +5 -2
  150. package/modern/hooks/features/selection/useGridSelection.js +7 -1
  151. package/modern/hooks/features/sorting/useGridSorting.js +8 -0
  152. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +30 -15
  153. package/modern/index.js +1 -1
  154. package/modern/internals/index.js +3 -0
  155. package/modern/locales/arSD.js +1 -1
  156. package/modern/locales/bgBG.js +1 -1
  157. package/modern/locales/csCZ.js +1 -1
  158. package/modern/locales/daDK.js +1 -1
  159. package/modern/locales/deDE.js +1 -1
  160. package/modern/locales/elGR.js +1 -1
  161. package/modern/locales/esES.js +1 -1
  162. package/modern/locales/faIR.js +1 -1
  163. package/modern/locales/fiFI.js +1 -1
  164. package/modern/locales/frFR.js +1 -1
  165. package/modern/locales/heIL.js +1 -1
  166. package/modern/locales/huHU.js +1 -1
  167. package/modern/locales/itIT.js +1 -1
  168. package/modern/locales/jaJP.js +3 -3
  169. package/modern/locales/koKR.js +1 -1
  170. package/modern/locales/nbNO.js +1 -1
  171. package/modern/locales/nlNL.js +1 -1
  172. package/modern/locales/plPL.js +1 -1
  173. package/modern/locales/ptBR.js +1 -1
  174. package/modern/locales/roRO.js +1 -1
  175. package/modern/locales/ruRU.js +1 -1
  176. package/modern/locales/skSK.js +1 -1
  177. package/modern/locales/svSE.js +1 -1
  178. package/modern/locales/trTR.js +1 -1
  179. package/modern/locales/ukUA.js +1 -1
  180. package/modern/locales/viVN.js +1 -1
  181. package/modern/locales/zhCN.js +33 -33
  182. package/modern/locales/zhTW.js +1 -1
  183. package/node/DataGrid/DataGrid.js +6 -0
  184. package/node/DataGrid/useDataGridProps.js +1 -0
  185. package/node/colDef/gridStringColDef.js +1 -1
  186. package/node/components/GridRow.js +5 -1
  187. package/node/components/base/GridOverlays.js +2 -2
  188. package/node/components/columnSelection/GridCellCheckboxRenderer.js +5 -0
  189. package/node/components/containers/GridRoot.js +3 -1
  190. package/node/constants/gridClasses.js +1 -1
  191. package/node/constants/localeTextConstants.js +1 -1
  192. package/node/hooks/features/dimensions/useGridDimensions.js +7 -1
  193. package/node/hooks/features/editRows/useGridCellEditing.new.js +6 -3
  194. package/node/hooks/features/editRows/useGridEditing.new.js +4 -0
  195. package/node/hooks/features/editRows/useGridEditing.old.js +1 -1
  196. package/node/hooks/features/editRows/useGridRowEditing.new.js +2 -2
  197. package/node/hooks/features/export/utils.js +7 -0
  198. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +43 -34
  199. package/node/hooks/features/pagination/useGridPageSize.js +4 -1
  200. package/node/hooks/features/rows/gridRowsSelector.js +24 -2
  201. package/node/hooks/features/rows/gridRowsUtils.js +23 -2
  202. package/node/hooks/features/rows/index.js +70 -12
  203. package/node/hooks/features/rows/useGridRowsMeta.js +20 -4
  204. package/node/hooks/features/rows/useGridRowsPreProcessors.js +2 -1
  205. package/node/hooks/features/scroll/useGridScroll.js +7 -1
  206. package/node/hooks/features/selection/useGridSelection.js +7 -3
  207. package/node/hooks/features/sorting/useGridSorting.js +8 -0
  208. package/node/hooks/features/virtualization/useGridVirtualScroller.js +31 -16
  209. package/node/index.js +1 -1
  210. package/node/internals/index.js +28 -0
  211. package/node/locales/arSD.js +1 -1
  212. package/node/locales/bgBG.js +1 -1
  213. package/node/locales/csCZ.js +1 -1
  214. package/node/locales/daDK.js +1 -1
  215. package/node/locales/deDE.js +1 -1
  216. package/node/locales/elGR.js +1 -1
  217. package/node/locales/esES.js +1 -1
  218. package/node/locales/faIR.js +1 -1
  219. package/node/locales/fiFI.js +1 -1
  220. package/node/locales/frFR.js +1 -1
  221. package/node/locales/heIL.js +1 -1
  222. package/node/locales/huHU.js +1 -1
  223. package/node/locales/itIT.js +1 -1
  224. package/node/locales/jaJP.js +3 -3
  225. package/node/locales/koKR.js +1 -1
  226. package/node/locales/nbNO.js +1 -1
  227. package/node/locales/nlNL.js +1 -1
  228. package/node/locales/plPL.js +1 -1
  229. package/node/locales/ptBR.js +1 -1
  230. package/node/locales/roRO.js +1 -1
  231. package/node/locales/ruRU.js +1 -1
  232. package/node/locales/skSK.js +1 -1
  233. package/node/locales/svSE.js +1 -1
  234. package/node/locales/trTR.js +1 -1
  235. package/node/locales/ukUA.js +1 -1
  236. package/node/locales/viVN.js +1 -1
  237. package/node/locales/zhCN.js +33 -33
  238. package/node/locales/zhTW.js +1 -1
  239. package/package.json +1 -1
@@ -166,10 +166,8 @@ export const useGridVirtualScroller = props => {
166
166
  React.useEffect(() => {
167
167
  setContainerWidth(rootRef.current.clientWidth);
168
168
  }, [rowsMeta.currentPageTotalHeight]);
169
- const handleResize = React.useCallback(() => {
170
- if (rootRef.current) {
171
- setContainerWidth(rootRef.current.clientWidth);
172
- }
169
+ const handleResize = React.useCallback(params => {
170
+ setContainerWidth(params.width);
173
171
  }, []);
174
172
  useGridApiEventHandler(apiRef, 'resize', handleResize);
175
173
  const updateRenderZonePosition = React.useCallback(nextRenderContext => {
@@ -285,10 +283,11 @@ export const useGridVirtualScroller = props => {
285
283
  minFirstColumn = renderZoneMinColumnIndex,
286
284
  maxLastColumn = renderZoneMaxColumnIndex,
287
285
  availableSpace = containerWidth,
288
- ignoreAutoHeight
286
+ ignoreAutoHeight,
287
+ rowIndexOffset = 0
289
288
  } = params;
290
289
 
291
- if (!currentPage.range || !nextRenderContext || availableSpace == null) {
290
+ if (!nextRenderContext || availableSpace == null) {
292
291
  return null;
293
292
  }
294
293
 
@@ -303,15 +302,31 @@ export const useGridVirtualScroller = props => {
303
302
  });
304
303
  const renderedRows = [];
305
304
 
306
- for (let i = firstRowToRender; i < lastRowToRender; i += 1) {
307
- const row = currentPage.rows[i];
308
- renderedRows.push(row);
309
- apiRef.current.unstable_calculateColSpan({
310
- rowId: row.id,
311
- minFirstColumn,
312
- maxLastColumn,
313
- columns: visibleColumns
305
+ if (params.rows) {
306
+ params.rows.forEach(row => {
307
+ renderedRows.push(row);
308
+ apiRef.current.unstable_calculateColSpan({
309
+ rowId: row.id,
310
+ minFirstColumn,
311
+ maxLastColumn,
312
+ columns: visibleColumns
313
+ });
314
314
  });
315
+ } else {
316
+ if (!currentPage.range) {
317
+ return null;
318
+ }
319
+
320
+ for (let i = firstRowToRender; i < lastRowToRender; i += 1) {
321
+ const row = currentPage.rows[i];
322
+ renderedRows.push(row);
323
+ apiRef.current.unstable_calculateColSpan({
324
+ rowId: row.id,
325
+ minFirstColumn,
326
+ maxLastColumn,
327
+ columns: visibleColumns
328
+ });
329
+ }
315
330
  }
316
331
 
317
332
  const [initialFirstColumnToRender, lastColumnToRender] = getRenderableIndexes({
@@ -361,7 +376,7 @@ export const useGridVirtualScroller = props => {
361
376
  firstColumnToRender: firstColumnToRender,
362
377
  lastColumnToRender: lastColumnToRender,
363
378
  selected: isSelected,
364
- index: currentPage.range.firstRowIndex + firstRowToRender + i,
379
+ index: rowIndexOffset + (currentPage?.range?.firstRowIndex || 0) + firstRowToRender + i,
365
380
  containerWidth: availableSpace,
366
381
  isLastVisible: lastVisibleRowIndex
367
382
  }, typeof getRowProps === 'function' ? getRowProps(id, model) : {}, rootProps.componentsProps?.row), id));
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.14.0
1
+ /** @license MUI v5.15.0
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -25,6 +25,9 @@ export { useGridRows, rowsStateInitializer } from '../hooks/features/rows/useGri
25
25
  export { useGridRowsPreProcessors } from '../hooks/features/rows/useGridRowsPreProcessors';
26
26
  export { useGridRowsMeta, rowsMetaStateInitializer } from '../hooks/features/rows/useGridRowsMeta';
27
27
  export { useGridParamsApi } from '../hooks/features/rows/useGridParamsApi';
28
+ export { getRowIdFromRowModel } from '../hooks/features/rows/gridRowsUtils';
29
+ export { gridAdditionalRowGroupsSelector, gridPinnedRowsSelector } from '../hooks/features/rows/gridRowsSelector';
30
+ export { calculatePinnedRowsHeight } from '../hooks/features/rows/gridRowsUtils';
28
31
  export { useGridSelection, selectionStateInitializer } from '../hooks/features/selection/useGridSelection';
29
32
  export { useGridSelectionPreProcessors } from '../hooks/features/selection/useGridSelectionPreProcessors';
30
33
  export { useGridSorting, sortingStateInitializer } from '../hooks/features/sorting/useGridSorting';
@@ -21,7 +21,7 @@ const arSDGrid = {
21
21
  toolbarFiltersTooltipShow: 'اظهر المرشِحات',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} من المرشِحات النشطة` : `مرشِح نشط`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const bgBGGrid = {
21
21
  toolbarFiltersTooltipShow: 'Покажи Филтрите',
22
22
  toolbarFiltersTooltipActive: count => `${count} активни филтри`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -31,7 +31,7 @@ const csCZGrid = {
31
31
  return `${count} ${pluralForm}`;
32
32
  },
33
33
  // Quick filter toolbar field
34
- // toolbarQuickFilterPlaceholder: 'Search...',
34
+ // toolbarQuickFilterPlaceholder: 'Search',
35
35
  // toolbarQuickFilterLabel: 'Search',
36
36
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
37
37
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const daDKGrid = {
21
21
  toolbarFiltersTooltipShow: 'Vis filtre',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktive filtre` : `${count} aktivt filter`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const deDEGrid = {
21
21
  toolbarFiltersTooltipShow: 'Zeige Filter',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktive Filter` : `${count} aktiver Filter`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'Suchen...',
24
+ toolbarQuickFilterPlaceholder: 'Suchen',
25
25
  toolbarQuickFilterLabel: 'Suchen',
26
26
  toolbarQuickFilterDeleteIconLabel: 'Löschen',
27
27
  // Export selector toolbar button text
@@ -20,7 +20,7 @@ const elGRGrid = {
20
20
  toolbarFiltersTooltipShow: 'Εμφάνιση φίλτρων',
21
21
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} ενεργά φίλτρα` : `${count} ενεργό φίλτρο`,
22
22
  // Quick filter toolbar field
23
- // toolbarQuickFilterPlaceholder: 'Search...',
23
+ // toolbarQuickFilterPlaceholder: 'Search',
24
24
  // toolbarQuickFilterLabel: 'Search',
25
25
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
26
26
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const esESGrid = {
21
21
  toolbarFiltersTooltipShow: 'Mostrar filtros',
22
22
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} filtros activos` : `${count} filtro activo`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const faIRGrid = {
21
21
  toolbarFiltersTooltipShow: 'نمایش فیلترها',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} فیلترهای فعال` : `${count} فیلتر فعال`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const fiFIGrid = {
21
21
  toolbarFiltersTooltipShow: 'Näytä suodattimet',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktiivista suodatinta` : `${count} aktiivinen suodatin`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const frFRGrid = {
21
21
  toolbarFiltersTooltipShow: 'Afficher les filtres',
22
22
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} filtres actifs` : `${count} filtre actif`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'Recherche...',
24
+ toolbarQuickFilterPlaceholder: 'Recherche',
25
25
  toolbarQuickFilterLabel: 'Recherche',
26
26
  toolbarQuickFilterDeleteIconLabel: 'Supprimer',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const heILGrid = {
21
21
  toolbarFiltersTooltipShow: 'הצג מסננים',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} מסננים פעילים` : `מסנן אחד פעיל`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'חיפוש...',
24
+ toolbarQuickFilterPlaceholder: 'חיפוש…',
25
25
  toolbarQuickFilterLabel: 'חיפוש',
26
26
  toolbarQuickFilterDeleteIconLabel: 'ניקוי',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const huHUGrid = {
21
21
  toolbarFiltersTooltipShow: 'Szűrők megjelenítése',
22
22
  toolbarFiltersTooltipActive: count => `${count} aktív szűrő`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const itITGrid = {
21
21
  toolbarFiltersTooltipShow: 'Mostra i filtri',
22
22
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} filtri attivi` : `${count} filtro attivo`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const jaJPGrid = {
21
21
  toolbarFiltersTooltipShow: 'フィルター表示',
22
22
  toolbarFiltersTooltipActive: count => `${count}件のフィルターを適用中`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: '検索...',
24
+ toolbarQuickFilterPlaceholder: '検索…',
25
25
  toolbarQuickFilterLabel: '検索',
26
26
  toolbarQuickFilterDeleteIconLabel: 'クリア',
27
27
  // Export selector toolbar button text
@@ -32,7 +32,7 @@ const jaJPGrid = {
32
32
  toolbarExportExcel: 'Excelダウンロード',
33
33
  // Columns panel text
34
34
  columnsPanelTextFieldLabel: '列検索',
35
- columnsPanelTextFieldPlaceholder: '検索クエリを入力...',
35
+ columnsPanelTextFieldPlaceholder: '検索クエリを入力…',
36
36
  columnsPanelDragIconLabel: '列並べ替え',
37
37
  columnsPanelShowAllButton: 'すべて表示',
38
38
  columnsPanelHideAllButton: 'すべて非表示',
@@ -46,7 +46,7 @@ const jaJPGrid = {
46
46
  filterPanelOperatorOr: 'Or',
47
47
  filterPanelColumns: '列',
48
48
  filterPanelInputLabel: '値',
49
- filterPanelInputPlaceholder: '値を入力...',
49
+ filterPanelInputPlaceholder: '値を入力…',
50
50
  // Filter operators text
51
51
  filterOperatorContains: '...を含む',
52
52
  filterOperatorEquals: '...に等しい',
@@ -21,7 +21,7 @@ const koKRGrid = {
21
21
  toolbarFiltersTooltipShow: '필터 표시',
22
22
  toolbarFiltersTooltipActive: count => `${count}건의 필터를 적용중`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const nbNOGrid = {
21
21
  toolbarFiltersTooltipShow: 'Vis filter',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktive filter` : `${count} aktivt filter`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'Søk...',
24
+ toolbarQuickFilterPlaceholder: 'Søk',
25
25
  toolbarQuickFilterLabel: 'Søk',
26
26
  toolbarQuickFilterDeleteIconLabel: 'Slett',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const nlNLGrid = {
21
21
  toolbarFiltersTooltipShow: 'Toon filters',
22
22
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} actieve filters` : `${count} filter actief`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'Zoeken...',
24
+ toolbarQuickFilterPlaceholder: 'Zoeken',
25
25
  toolbarQuickFilterLabel: 'Zoeken',
26
26
  toolbarQuickFilterDeleteIconLabel: 'Wissen',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const plPLGrid = {
21
21
  toolbarFiltersTooltipShow: 'Pokaż filtry',
22
22
  toolbarFiltersTooltipActive: count => `Liczba aktywnych filtrów: ${count}`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const ptBRGrid = {
21
21
  toolbarFiltersTooltipShow: 'Exibir filtros',
22
22
  toolbarFiltersTooltipActive: count => `${count} ${count !== 1 ? 'filtros' : 'filtro'} ${count !== 1 ? 'ativos' : 'ativo'}`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'Procurar...',
24
+ toolbarQuickFilterPlaceholder: 'Procurar',
25
25
  toolbarQuickFilterLabel: 'Procurar',
26
26
  toolbarQuickFilterDeleteIconLabel: 'Limpar',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const roROGrid = {
21
21
  toolbarFiltersTooltipShow: 'Afișează filtru',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} filtru activ` : `${count} filtru activ`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'Căutare...',
24
+ toolbarQuickFilterPlaceholder: 'Căutare',
25
25
  toolbarQuickFilterLabel: 'Căutare',
26
26
  toolbarQuickFilterDeleteIconLabel: 'Ștergere',
27
27
  // Export selector toolbar button text
@@ -32,7 +32,7 @@ const ruRUGrid = {
32
32
  return `${count} ${pluralForm}`;
33
33
  },
34
34
  // Quick filter toolbar field
35
- toolbarQuickFilterPlaceholder: 'Поиск...',
35
+ toolbarQuickFilterPlaceholder: 'Поиск…',
36
36
  toolbarQuickFilterLabel: 'Поиск',
37
37
  toolbarQuickFilterDeleteIconLabel: 'Очистить',
38
38
  // Export selector toolbar button text
@@ -31,7 +31,7 @@ const skSKGrid = {
31
31
  return `${count} ${pluralForm}`;
32
32
  },
33
33
  // Quick filter toolbar field
34
- toolbarQuickFilterPlaceholder: 'Vyhľadať...',
34
+ toolbarQuickFilterPlaceholder: 'Vyhľadať…',
35
35
  toolbarQuickFilterLabel: 'Vyhľadať',
36
36
  toolbarQuickFilterDeleteIconLabel: 'Vymazať',
37
37
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const svSEGrid = {
21
21
  toolbarFiltersTooltipShow: 'Visa filter',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktiva filter` : `${count} aktivt filter`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'Sök...',
24
+ toolbarQuickFilterPlaceholder: 'Sök',
25
25
  toolbarQuickFilterLabel: 'Sök',
26
26
  toolbarQuickFilterDeleteIconLabel: 'Rensa',
27
27
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const trTRGrid = {
21
21
  toolbarFiltersTooltipShow: 'Filtreleri göster',
22
22
  toolbarFiltersTooltipActive: count => `${count} aktif filtre`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: 'Ara...',
24
+ toolbarQuickFilterPlaceholder: 'Ara',
25
25
  toolbarQuickFilterLabel: 'Ara',
26
26
  toolbarQuickFilterDeleteIconLabel: 'Temizle',
27
27
  // Export selector toolbar button text
@@ -39,7 +39,7 @@ const ukUAGrid = {
39
39
  many: 'активних фільтрів'
40
40
  }),
41
41
  // Quick filter toolbar field
42
- // toolbarQuickFilterPlaceholder: 'Search...',
42
+ // toolbarQuickFilterPlaceholder: 'Search',
43
43
  // toolbarQuickFilterLabel: 'Search',
44
44
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
45
45
  // Export selector toolbar button text
@@ -21,7 +21,7 @@ const viVNGrid = {
21
21
  toolbarFiltersTooltipShow: 'Hiện',
22
22
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} bộ lọc hoạt động` : `${count} bộ lọc hoạt động`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterPlaceholder: 'Search',
25
25
  // toolbarQuickFilterLabel: 'Search',
26
26
  // toolbarQuickFilterDeleteIconLabel: 'Clear',
27
27
  // Export selector toolbar button text
@@ -21,15 +21,15 @@ const zhCNGrid = {
21
21
  toolbarFiltersTooltipShow: '显示筛选器',
22
22
  toolbarFiltersTooltipActive: count => `${count} 个筛选器`,
23
23
  // Quick filter toolbar field
24
- // toolbarQuickFilterPlaceholder: 'Search...',
25
- // toolbarQuickFilterLabel: 'Search',
26
- // toolbarQuickFilterDeleteIconLabel: 'Clear',
24
+ toolbarQuickFilterPlaceholder: '搜索…',
25
+ toolbarQuickFilterLabel: '搜索',
26
+ toolbarQuickFilterDeleteIconLabel: '清除',
27
27
  // Export selector toolbar button text
28
28
  toolbarExport: '导出',
29
29
  toolbarExportLabel: '导出',
30
30
  toolbarExportCSV: '导出至CSV',
31
- // toolbarExportPrint: 'Print',
32
- // toolbarExportExcel: 'Download as Excel',
31
+ toolbarExportPrint: '打印',
32
+ toolbarExportExcel: '导出至Excel',
33
33
  // Columns panel text
34
34
  columnsPanelTextFieldLabel: '搜索列',
35
35
  columnsPanelTextFieldPlaceholder: '列名',
@@ -39,7 +39,7 @@ const zhCNGrid = {
39
39
  // Filter panel text
40
40
  filterPanelAddFilter: '添加筛选器',
41
41
  filterPanelDeleteIconLabel: '删除',
42
- // filterPanelLinkOperator: 'Logic operator',
42
+ filterPanelLinkOperator: '逻辑操作器',
43
43
  filterPanelOperators: '操作器',
44
44
  // TODO v6: rename to filterPanelOperator
45
45
  filterPanelOperatorAnd: '与',
@@ -60,7 +60,7 @@ const zhCNGrid = {
60
60
  filterOperatorOnOrBefore: '正在前面',
61
61
  filterOperatorIsEmpty: '为空',
62
62
  filterOperatorIsNotEmpty: '不为空',
63
- // filterOperatorIsAnyOf: 'is any of',
63
+ filterOperatorIsAnyOf: '属于',
64
64
  // Filter values text
65
65
  filterValueAny: '任何',
66
66
  filterValueTrue: '真',
@@ -85,39 +85,39 @@ const zhCNGrid = {
85
85
  footerTotalVisibleRows: (visibleCount, totalCount) => `${visibleCount.toLocaleString()} / ${totalCount.toLocaleString()}`,
86
86
  // Checkbox selection text
87
87
  checkboxSelectionHeaderName: '多选框',
88
- // checkboxSelectionSelectAllRows: 'Select all rows',
89
- // checkboxSelectionUnselectAllRows: 'Unselect all rows',
90
- // checkboxSelectionSelectRow: 'Select row',
91
- // checkboxSelectionUnselectRow: 'Unselect row',
88
+ checkboxSelectionSelectAllRows: '全选行',
89
+ checkboxSelectionUnselectAllRows: '反选所有行',
90
+ checkboxSelectionSelectRow: '选择行',
91
+ checkboxSelectionUnselectRow: '反选行',
92
92
  // Boolean cell text
93
93
  booleanCellTrueLabel: '真',
94
- booleanCellFalseLabel: '假' // Actions cell more text
95
- // actionsCellMore: 'more',
94
+ booleanCellFalseLabel: '假',
95
+ // Actions cell more text
96
+ actionsCellMore: '更多',
96
97
  // Column pinning text
97
- // pinToLeft: 'Pin to left',
98
- // pinToRight: 'Pin to right',
99
- // unpin: 'Unpin',
98
+ pinToLeft: '固定到左侧',
99
+ pinToRight: '固定到右侧',
100
+ unpin: '取消固定',
100
101
  // Tree Data
101
- // treeDataGroupingHeaderName: 'Group',
102
- // treeDataExpand: 'see children',
103
- // treeDataCollapse: 'hide children',
102
+ treeDataGroupingHeaderName: '',
103
+ treeDataExpand: '查看子项目',
104
+ treeDataCollapse: '隐藏子项目',
104
105
  // Grouping columns
105
- // groupingColumnHeaderName: 'Group',
106
- // groupColumn: name => `Group by ${name}`,
107
- // unGroupColumn: name => `Stop grouping by ${name}`,
106
+ groupingColumnHeaderName: '',
107
+ groupColumn: name => `用${name}分组`,
108
+ unGroupColumn: name => `不再用${name}分组`,
108
109
  // Master/detail
109
- // detailPanelToggle: 'Detail panel toggle',
110
- // expandDetailPanel: 'Expand',
111
- // collapseDetailPanel: 'Collapse',
110
+ detailPanelToggle: '详细信息',
111
+ expandDetailPanel: '显示',
112
+ collapseDetailPanel: '折叠',
112
113
  // Row reordering text
113
- // rowReorderingHeaderName: 'Row reordering',
114
+ rowReorderingHeaderName: '重新排列行',
114
115
  // Aggregation
115
- // aggregationMenuItemHeader: 'Aggregation',
116
- // aggregationFunctionLabelSum: 'sum',
117
- // aggregationFunctionLabelAvg: 'avg',
118
- // aggregationFunctionLabelMin: 'min',
119
- // aggregationFunctionLabelMax: 'max',
120
- // aggregationFunctionLabelSize: 'size',
121
-
116
+ aggregationMenuItemHeader: '集合',
117
+ aggregationFunctionLabelSum: '总数',
118
+ aggregationFunctionLabelAvg: '平均',
119
+ aggregationFunctionLabelMin: '最小',
120
+ aggregationFunctionLabelMax: '最大',
121
+ aggregationFunctionLabelSize: '大小'
122
122
  };
123
123
  export const zhCN = getGridLocalization(zhCNGrid, zhCNCore);
@@ -21,7 +21,7 @@ const zhTWGrid = {
21
21
  toolbarFiltersTooltipShow: '顯示篩選器',
22
22
  toolbarFiltersTooltipActive: count => `${count} 個篩選器`,
23
23
  // Quick filter toolbar field
24
- toolbarQuickFilterPlaceholder: '搜尋...',
24
+ toolbarQuickFilterPlaceholder: '搜尋…',
25
25
  toolbarQuickFilterLabel: '搜尋',
26
26
  toolbarQuickFilterDeleteIconLabel: '清除',
27
27
  // Export selector toolbar button text
@@ -178,6 +178,12 @@ DataGridRaw.propTypes = {
178
178
  */
179
179
  disableExtendRowFullWidth: _propTypes.default.bool,
180
180
 
181
+ /**
182
+ * If `true`, modification to a cell will not be discarded if the mode is changed from "edit" to "view" while processing props.
183
+ * @default false
184
+ */
185
+ disableIgnoreModificationsIfProcessingProps: _propTypes.default.bool,
186
+
181
187
  /**
182
188
  * If `true`, the selection on click on a row or cell is disabled.
183
189
  * @default false
@@ -60,6 +60,7 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = {
60
60
  disableMultipleColumnsSorting: false,
61
61
  disableSelectionOnClick: false,
62
62
  disableVirtualization: false,
63
+ disableIgnoreModificationsIfProcessingProps: false,
63
64
  editMode: _models.GridEditModes.Cell,
64
65
  filterMode: _models.GridFeatureModeConstant.client,
65
66
  headerHeight: 56,
@@ -26,7 +26,7 @@ const GRID_STRING_COL_DEF = {
26
26
  groupable: true,
27
27
  pinnable: true,
28
28
  // @ts-ignore
29
- private_aggregable: true,
29
+ aggregable: true,
30
30
  editable: false,
31
31
  sortComparator: _gridSortingUtils.gridStringOrNumberComparator,
32
32
  type: 'string',
@@ -147,7 +147,11 @@ function GridRow(props) {
147
147
  // doesn't care about pagination and considers the rows from the current page only, so the
148
148
  // first row always has index=0. We need to subtract the index of the first row to make it
149
149
  // compatible with the index used by the virtualization.
150
- apiRef.current.unstable_setLastMeasuredRowIndex(index - currentPage.range.firstRowIndex);
150
+ const rowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(rowId); // pinned rows are not part of the visible rows
151
+
152
+ if (rowIndex != null) {
153
+ apiRef.current.unstable_setLastMeasuredRowIndex(rowIndex);
154
+ }
151
155
  }
152
156
 
153
157
  const rootElement = ref.current;
@@ -67,8 +67,8 @@ function GridOverlayWrapper(props) {
67
67
  position: 'absolute',
68
68
  top: headerHeight,
69
69
  bottom: height === 'auto' ? 0 : undefined,
70
- zIndex: 3,
71
- // should be above pinned columns and detail panel
70
+ zIndex: 4,
71
+ // should be above pinned columns, pinned rows and detail panel
72
72
  pointerEvents: 'none'
73
73
  }
74
74
  }, props));
@@ -108,6 +108,11 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
108
108
 
109
109
  const isSelectable = apiRef.current.isRowSelectable(id);
110
110
  const label = apiRef.current.getLocaleText(isChecked ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
111
+
112
+ if (rowNode.isPinned) {
113
+ return null;
114
+ }
115
+
111
116
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.BaseCheckbox, (0, _extends2.default)({
112
117
  ref: handleRef,
113
118
  tabIndex: tabIndex,
@@ -70,6 +70,7 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
70
70
  const densityValue = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityValueSelector);
71
71
  const rootContainerRef = React.useRef(null);
72
72
  const handleRef = (0, _utils.useForkRef)(rootContainerRef, ref);
73
+ const pinnedRowsCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridPinnedRowsCountSelector);
73
74
  const ownerState = {
74
75
  density: densityValue,
75
76
  classes: rootProps.classes,
@@ -97,7 +98,8 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
97
98
  className: (0, _clsx.default)(className, classes.root),
98
99
  role: "grid",
99
100
  "aria-colcount": visibleColumns.length,
100
- "aria-rowcount": totalRowCount,
101
+ "aria-rowcount": totalRowCount + pinnedRowsCount + 1 // +1 for the header row
102
+ ,
101
103
  "aria-multiselectable": !rootProps.disableMultipleSelection,
102
104
  "aria-label": rootProps['aria-label'],
103
105
  "aria-labelledby": rootProps['aria-labelledby']
@@ -12,5 +12,5 @@ function getDataGridUtilityClass(slot) {
12
12
  return (0, _material.generateUtilityClass)('MuiDataGrid', slot);
13
13
  }
14
14
 
15
- const gridClasses = (0, _material.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']);
15
+ const gridClasses = (0, _material.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']);
16
16
  exports.gridClasses = gridClasses;
@@ -25,7 +25,7 @@ const GRID_DEFAULT_LOCALE_TEXT = {
25
25
  toolbarFiltersTooltipShow: 'Show filters',
26
26
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} active filters` : `${count} active filter`,
27
27
  // Quick filter toolbar field
28
- toolbarQuickFilterPlaceholder: 'Search...',
28
+ toolbarQuickFilterPlaceholder: 'Search',
29
29
  toolbarQuickFilterLabel: 'Search',
30
30
  toolbarQuickFilterDeleteIconLabel: 'Clear',
31
31
  // Export selector toolbar button text