@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
@@ -6,7 +6,8 @@ import { gridPageSelector, gridPageSizeSelector } from '../pagination/gridPagina
6
6
  import { gridRowCountSelector } from '../rows/gridRowsSelector';
7
7
  import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
8
8
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
9
- import { gridVisibleSortedRowEntriesSelector } from '../filter/gridFilterSelector'; // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
9
+ import { gridVisibleSortedRowEntriesSelector } from '../filter/gridFilterSelector';
10
+ import { gridClasses } from '../../../constants/gridClasses'; // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
10
11
  // Similar to https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
11
12
 
12
13
  function scrollIntoView(dimensions) {
@@ -91,8 +92,10 @@ export const useGridScroll = (apiRef, props) => {
91
92
  const pageSize = gridPageSizeSelector(apiRef);
92
93
  const elementIndex = !props.pagination ? params.rowIndex : params.rowIndex - page * pageSize;
93
94
  const targetOffsetHeight = rowsMeta.positions[elementIndex + 1] ? rowsMeta.positions[elementIndex + 1] - rowsMeta.positions[elementIndex] : rowsMeta.currentPageTotalHeight - rowsMeta.positions[elementIndex];
95
+ const topPinnedRowsHeight = windowRef.current.querySelector(`.${gridClasses['pinnedRows--top']}`)?.clientHeight || 0;
96
+ const bottomPinnedRowsHeight = windowRef.current.querySelector(`.${gridClasses['pinnedRows--bottom']}`)?.clientHeight || 0;
94
97
  scrollCoordinates.top = scrollIntoView({
95
- clientHeight: windowRef.current.clientHeight,
98
+ clientHeight: windowRef.current.clientHeight - topPinnedRowsHeight - bottomPinnedRowsHeight,
96
99
  scrollTop: windowRef.current.scrollTop,
97
100
  offsetHeight: targetOffsetHeight,
98
101
  offsetTop: rowsMeta.positions[elementIndex]
@@ -111,7 +111,9 @@ export const useGridSelection = (apiRef, props) => {
111
111
  return false;
112
112
  }
113
113
 
114
- if (apiRef.current.getRowNode(id)?.position === 'footer') {
114
+ const rowNode = apiRef.current.getRowNode(id);
115
+
116
+ if (rowNode?.position === 'footer' || rowNode?.isPinned) {
115
117
  return false;
116
118
  }
117
119
 
@@ -263,6 +265,10 @@ export const useGridSelection = (apiRef, props) => {
263
265
  }
264
266
  }
265
267
 
268
+ if (params.rowNode.isPinned) {
269
+ return;
270
+ }
271
+
266
272
  if (event.shiftKey && (canHaveMultipleSelection || checkboxSelection)) {
267
273
  expandMouseRowRangeSelection(params.id);
268
274
  } else {
@@ -183,6 +183,10 @@ export const useGridSorting = (apiRef, props) => {
183
183
  const bodyRowIds = [];
184
184
  const footerRowIds = [];
185
185
  gridRowIdsSelector(apiRef).forEach(rowId => {
186
+ if (rowTree[rowId].isPinned) {
187
+ return;
188
+ }
189
+
186
190
  if (rowTree[rowId].position === 'footer') {
187
191
  footerRowIds.push(rowId);
188
192
  } else {
@@ -195,6 +199,10 @@ export const useGridSorting = (apiRef, props) => {
195
199
  const bodyRows = [];
196
200
  const footerRowIds = [];
197
201
  Object.values(rowTree).forEach(rowNode => {
202
+ if (rowNode.isPinned) {
203
+ return;
204
+ }
205
+
198
206
  if (rowNode.position === 'footer') {
199
207
  footerRowIds.push(rowNode.id);
200
208
  } else {
@@ -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.2
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.
@@ -15,6 +15,7 @@ export { useGridDensity, densityStateInitializer } from '../hooks/features/densi
15
15
  export { useGridCsvExport } from '../hooks/features/export/useGridCsvExport';
16
16
  export { useGridPrintExport } from '../hooks/features/export/useGridPrintExport';
17
17
  export { useGridFilter, filterStateInitializer } from '../hooks/features/filter/useGridFilter';
18
+ export { passFilterLogic } from '../hooks/features/filter/gridFilterUtils';
18
19
  export { useGridFocus, focusStateInitializer } from '../hooks/features/focus/useGridFocus';
19
20
  export { useGridKeyboardNavigation } from '../hooks/features/keyboardNavigation/useGridKeyboardNavigation';
20
21
  export { useGridPagination, paginationStateInitializer } from '../hooks/features/pagination/useGridPagination';
@@ -25,6 +26,9 @@ export { useGridRows, rowsStateInitializer } from '../hooks/features/rows/useGri
25
26
  export { useGridRowsPreProcessors } from '../hooks/features/rows/useGridRowsPreProcessors';
26
27
  export { useGridRowsMeta, rowsMetaStateInitializer } from '../hooks/features/rows/useGridRowsMeta';
27
28
  export { useGridParamsApi } from '../hooks/features/rows/useGridParamsApi';
29
+ export { getRowIdFromRowModel } from '../hooks/features/rows/gridRowsUtils';
30
+ export { gridAdditionalRowGroupsSelector, gridPinnedRowsSelector } from '../hooks/features/rows/gridRowsSelector';
31
+ export { calculatePinnedRowsHeight } from '../hooks/features/rows/gridRowsUtils';
28
32
  export { useGridSelection, selectionStateInitializer } from '../hooks/features/selection/useGridSelection';
29
33
  export { useGridSelectionPreProcessors } from '../hooks/features/selection/useGridSelectionPreProcessors';
30
34
  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
@@ -111,13 +111,13 @@ const deDEGrid = {
111
111
  expandDetailPanel: 'Aufklappen',
112
112
  collapseDetailPanel: 'Zuklappen',
113
113
  // Row reordering text
114
- rowReorderingHeaderName: 'Reihen neu ordnen' // Aggregation
115
- // aggregationMenuItemHeader: 'Aggregation',
116
- // aggregationFunctionLabelSum: 'sum',
117
- // aggregationFunctionLabelAvg: 'avg',
118
- // aggregationFunctionLabelMin: 'min',
119
- // aggregationFunctionLabelMax: 'max',
120
- // aggregationFunctionLabelSize: 'size',
121
-
114
+ rowReorderingHeaderName: 'Reihen neu ordnen',
115
+ // Aggregation
116
+ aggregationMenuItemHeader: 'Aggregation',
117
+ aggregationFunctionLabelSum: 'Summe',
118
+ aggregationFunctionLabelAvg: 'Mittelwert',
119
+ aggregationFunctionLabelMin: 'Minimum',
120
+ aggregationFunctionLabelMax: 'Maximum',
121
+ aggregationFunctionLabelSize: 'Anzahl'
122
122
  };
123
123
  export const deDE = getGridLocalization(deDEGrid, deDECore);
@@ -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,15 +21,15 @@ 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...',
25
- // toolbarQuickFilterLabel: 'Search',
26
- // toolbarQuickFilterDeleteIconLabel: 'Clear',
24
+ toolbarQuickFilterPlaceholder: 'Cerca…',
25
+ toolbarQuickFilterLabel: 'Cerca',
26
+ toolbarQuickFilterDeleteIconLabel: 'Resetta',
27
27
  // Export selector toolbar button text
28
28
  toolbarExport: 'Esporta',
29
29
  toolbarExportLabel: 'Esporta',
30
30
  toolbarExportCSV: 'Esporta in CSV',
31
31
  toolbarExportPrint: 'Stampa',
32
- // toolbarExportExcel: 'Download as Excel',
32
+ toolbarExportExcel: 'Scarica come Excel',
33
33
  // Columns panel text
34
34
  columnsPanelTextFieldLabel: 'Cerca colonna',
35
35
  columnsPanelTextFieldPlaceholder: 'Titolo della colonna',
@@ -39,7 +39,7 @@ const itITGrid = {
39
39
  // Filter panel text
40
40
  filterPanelAddFilter: 'Aggiungi un filtro',
41
41
  filterPanelDeleteIconLabel: 'Rimuovi',
42
- // filterPanelLinkOperator: 'Logic operator',
42
+ filterPanelLinkOperator: 'Operatore logico',
43
43
  filterPanelOperators: 'Operatori',
44
44
  // TODO v6: rename to filterPanelOperator
45
45
  filterPanelOperatorAnd: 'E (and)',
@@ -85,10 +85,10 @@ const itITGrid = {
85
85
  footerTotalVisibleRows: (visibleCount, totalCount) => `${visibleCount.toLocaleString()} di ${totalCount.toLocaleString()}`,
86
86
  // Checkbox selection text
87
87
  checkboxSelectionHeaderName: 'Seleziona',
88
- // checkboxSelectionSelectAllRows: 'Select all rows',
89
- // checkboxSelectionUnselectAllRows: 'Unselect all rows',
90
- // checkboxSelectionSelectRow: 'Select row',
91
- // checkboxSelectionUnselectRow: 'Unselect row',
88
+ checkboxSelectionSelectAllRows: 'Seleziona tutte le righe',
89
+ checkboxSelectionUnselectAllRows: 'Deseleziona tutte le righe',
90
+ checkboxSelectionSelectRow: 'Seleziona riga',
91
+ checkboxSelectionUnselectRow: 'Deseleziona riga',
92
92
  // Boolean cell text
93
93
  booleanCellTrueLabel: 'vero',
94
94
  booleanCellFalseLabel: 'falso',
@@ -105,13 +105,13 @@ const itITGrid = {
105
105
  // Grouping columns
106
106
  groupingColumnHeaderName: 'Gruppo',
107
107
  groupColumn: name => `Raggruppa per ${name}`,
108
- unGroupColumn: name => `Annulla raggruppamento per ${name}` // Master/detail
109
- // detailPanelToggle: 'Detail panel toggle',
110
- // expandDetailPanel: 'Expand',
111
- // collapseDetailPanel: 'Collapse',
108
+ unGroupColumn: name => `Annulla raggruppamento per ${name}`,
109
+ // Master/detail
110
+ detailPanelToggle: 'Abilita pannello dettagli',
111
+ expandDetailPanel: 'Espandi',
112
+ collapseDetailPanel: 'Comprimi',
112
113
  // Row reordering text
113
- // rowReorderingHeaderName: 'Row reordering',
114
- // Aggregation
114
+ rowReorderingHeaderName: 'Riordinamento righe' // Aggregation
115
115
  // aggregationMenuItemHeader: 'Aggregation',
116
116
  // aggregationFunctionLabelSum: 'sum',
117
117
  // aggregationFunctionLabelAvg: 'avg',
@@ -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: '...に等しい',
@@ -6,8 +6,8 @@ const koKRGrid = {
6
6
  noResultsOverlayLabel: '결과값이 없습니다.',
7
7
  errorOverlayDefaultLabel: '오류가 발생했습니다.',
8
8
  // Density selector toolbar button text
9
- toolbarDensity: '라인 간격',
10
- toolbarDensityLabel: '라인 간격',
9
+ toolbarDensity: ' 간격',
10
+ toolbarDensityLabel: ' 간격',
11
11
  toolbarDensityCompact: '좁게',
12
12
  toolbarDensityStandard: '기본',
13
13
  toolbarDensityComfortable: '넓게',
@@ -21,15 +21,15 @@ const koKRGrid = {
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
- toolbarExportCSV: 'CSV다운로드',
30
+ toolbarExportCSV: 'CSV로 내보내기',
31
31
  toolbarExportPrint: '프린트',
32
- // toolbarExportExcel: 'Download as Excel',
32
+ toolbarExportExcel: 'Excel로 내보내기',
33
33
  // Columns panel text
34
34
  columnsPanelTextFieldLabel: '열 검색',
35
35
  columnsPanelTextFieldPlaceholder: '열 이름',
@@ -39,7 +39,7 @@ const koKRGrid = {
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: '그리고',
@@ -85,39 +85,39 @@ const koKRGrid = {
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
94
  booleanCellFalseLabel: '거짓',
95
95
  // Actions cell more text
96
96
  actionsCellMore: '더보기',
97
97
  // Column pinning text
98
- // pinToLeft: 'Pin to left',
99
- // pinToRight: 'Pin to right',
100
- // unpin: 'Unpin',
98
+ pinToLeft: '왼쪽에 고정',
99
+ pinToRight: '오른쪽에 고정',
100
+ unpin: '고정 해제',
101
101
  // Tree Data
102
102
  treeDataGroupingHeaderName: '그룹',
103
103
  treeDataExpand: '하위노드 펼치기',
104
- treeDataCollapse: '하위노드 접기' // Grouping columns
105
- // groupingColumnHeaderName: 'Group',
106
- // groupColumn: name => `Group by ${name}`,
107
- // unGroupColumn: name => `Stop grouping by ${name}`,
104
+ treeDataCollapse: '하위노드 접기',
105
+ // Grouping columns
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 koKR = getGridLocalization(koKRGrid, koKRCore);
@@ -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