@mui/x-data-grid 7.2.0 → 7.3.1

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 (315) hide show
  1. package/CHANGELOG.md +204 -2
  2. package/DataGrid/DataGrid.js +20 -2
  3. package/colDef/gridDateOperators.js +7 -0
  4. package/components/GridFooter.js +1 -2
  5. package/components/GridHeader.js +1 -2
  6. package/components/GridHeaders.js +3 -2
  7. package/components/GridPagination.d.ts +4 -1
  8. package/components/GridPagination.js +60 -9
  9. package/components/GridRow.js +2 -2
  10. package/components/GridScrollArea.js +1 -1
  11. package/components/cell/GridActionsCell.js +1 -2
  12. package/components/cell/GridActionsCellItem.js +1 -2
  13. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
  14. package/components/columnHeaders/GridColumnHeaderItem.d.ts +1 -0
  15. package/components/columnHeaders/GridColumnHeaderItem.js +6 -4
  16. package/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
  17. package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  18. package/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
  19. package/components/columnsManagement/GridColumnsManagement.js +1 -2
  20. package/components/containers/GridRoot.js +1 -2
  21. package/components/containers/GridRootStyles.js +3 -1
  22. package/components/index.d.ts +1 -1
  23. package/components/index.js +1 -1
  24. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -2
  25. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
  26. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
  27. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
  28. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -2
  29. package/components/panel/GridPanel.d.ts +1 -1
  30. package/components/panel/GridPanel.js +3 -1
  31. package/components/panel/filterPanel/GridFilterForm.js +1 -2
  32. package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -2
  33. package/components/panel/filterPanel/GridFilterInputDate.js +4 -4
  34. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -2
  35. package/components/panel/filterPanel/GridFilterPanel.js +1 -2
  36. package/components/toolbar/GridToolbar.js +1 -2
  37. package/components/toolbar/GridToolbarDensitySelector.js +1 -2
  38. package/components/toolbar/GridToolbarExportContainer.js +1 -2
  39. package/components/toolbar/GridToolbarFilterButton.js +1 -2
  40. package/components/virtualization/GridVirtualScroller.js +1 -2
  41. package/components/virtualization/GridVirtualScrollerFiller.js +1 -2
  42. package/constants/gridClasses.d.ts +6 -2
  43. package/constants/gridClasses.js +1 -1
  44. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  45. package/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -4
  46. package/hooks/features/columnResize/useGridColumnResize.js +91 -62
  47. package/hooks/features/columns/gridColumnsUtils.d.ts +5 -3
  48. package/hooks/features/columns/gridColumnsUtils.js +9 -7
  49. package/hooks/features/columns/useGridColumns.js +5 -4
  50. package/hooks/features/density/useGridDensity.d.ts +1 -1
  51. package/hooks/features/density/useGridDensity.js +30 -4
  52. package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -1
  53. package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
  54. package/hooks/features/dimensions/useGridDimensions.js +5 -2
  55. package/hooks/features/editing/useGridCellEditing.js +14 -1
  56. package/hooks/features/export/useGridPrintExport.d.ts +1 -1
  57. package/hooks/features/export/useGridPrintExport.js +2 -2
  58. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +2 -2
  59. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +2 -2
  60. package/hooks/features/pagination/gridPaginationInterfaces.d.ts +14 -2
  61. package/hooks/features/pagination/gridPaginationSelector.d.ts +5 -0
  62. package/hooks/features/pagination/gridPaginationSelector.js +7 -1
  63. package/hooks/features/pagination/gridPaginationUtils.d.ts +1 -2
  64. package/hooks/features/pagination/gridPaginationUtils.js +5 -3
  65. package/hooks/features/pagination/useGridPagination.d.ts +1 -1
  66. package/hooks/features/pagination/useGridPagination.js +5 -1
  67. package/hooks/features/pagination/useGridPaginationMeta.d.ts +4 -0
  68. package/hooks/features/pagination/useGridPaginationMeta.js +77 -0
  69. package/hooks/features/pagination/useGridPaginationModel.js +2 -1
  70. package/hooks/features/pagination/useGridRowCount.d.ts +0 -4
  71. package/hooks/features/pagination/useGridRowCount.js +32 -18
  72. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  73. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -3
  74. package/hooks/utils/useGridApiEventHandler.d.ts +2 -2
  75. package/hooks/utils/useGridNativeEventListener.d.ts +1 -1
  76. package/hooks/utils/useGridSelector.d.ts +2 -2
  77. package/index.js +1 -1
  78. package/internals/index.d.ts +1 -1
  79. package/internals/utils/propValidation.js +1 -1
  80. package/joy/icons.js +1 -2
  81. package/joy/joySlots.js +1 -2
  82. package/locales/daDK.js +3 -4
  83. package/models/api/gridApiCommon.d.ts +1 -1
  84. package/models/api/gridLocaleTextApi.d.ts +7 -3
  85. package/models/api/index.d.ts +1 -1
  86. package/models/api/index.js +0 -1
  87. package/models/events/gridEventLookup.d.ts +7 -1
  88. package/models/gridPaginationProps.d.ts +3 -0
  89. package/models/props/DataGridProps.d.ts +26 -8
  90. package/modern/DataGrid/DataGrid.js +20 -2
  91. package/modern/colDef/gridDateOperators.js +7 -0
  92. package/modern/components/GridFooter.js +1 -2
  93. package/modern/components/GridHeader.js +1 -2
  94. package/modern/components/GridHeaders.js +3 -2
  95. package/modern/components/GridPagination.js +60 -9
  96. package/modern/components/GridRow.js +2 -2
  97. package/modern/components/GridScrollArea.js +1 -1
  98. package/modern/components/cell/GridActionsCell.js +1 -2
  99. package/modern/components/cell/GridActionsCellItem.js +1 -2
  100. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
  101. package/modern/components/columnHeaders/GridColumnHeaderItem.js +6 -4
  102. package/modern/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
  103. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  104. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
  105. package/modern/components/columnsManagement/GridColumnsManagement.js +1 -2
  106. package/modern/components/containers/GridRoot.js +1 -2
  107. package/modern/components/containers/GridRootStyles.js +3 -1
  108. package/modern/components/index.js +1 -1
  109. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -2
  110. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
  111. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
  112. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
  113. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -2
  114. package/modern/components/panel/GridPanel.js +3 -1
  115. package/modern/components/panel/filterPanel/GridFilterForm.js +1 -2
  116. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -2
  117. package/modern/components/panel/filterPanel/GridFilterInputDate.js +4 -4
  118. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -2
  119. package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -2
  120. package/modern/components/toolbar/GridToolbar.js +1 -2
  121. package/modern/components/toolbar/GridToolbarDensitySelector.js +1 -2
  122. package/modern/components/toolbar/GridToolbarExportContainer.js +1 -2
  123. package/modern/components/toolbar/GridToolbarFilterButton.js +1 -2
  124. package/modern/components/virtualization/GridVirtualScroller.js +1 -2
  125. package/modern/components/virtualization/GridVirtualScrollerFiller.js +1 -2
  126. package/modern/constants/gridClasses.js +1 -1
  127. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -4
  128. package/modern/hooks/features/columnResize/useGridColumnResize.js +91 -62
  129. package/modern/hooks/features/columns/gridColumnsUtils.js +9 -7
  130. package/modern/hooks/features/columns/useGridColumns.js +5 -4
  131. package/modern/hooks/features/density/useGridDensity.js +30 -4
  132. package/modern/hooks/features/dimensions/useGridDimensions.js +5 -2
  133. package/modern/hooks/features/editing/useGridCellEditing.js +14 -1
  134. package/modern/hooks/features/export/useGridPrintExport.js +2 -2
  135. package/modern/hooks/features/pagination/gridPaginationSelector.js +7 -1
  136. package/modern/hooks/features/pagination/gridPaginationUtils.js +5 -3
  137. package/modern/hooks/features/pagination/useGridPagination.js +5 -1
  138. package/modern/hooks/features/pagination/useGridPaginationMeta.js +77 -0
  139. package/modern/hooks/features/pagination/useGridPaginationModel.js +2 -1
  140. package/modern/hooks/features/pagination/useGridRowCount.js +32 -18
  141. package/modern/index.js +1 -1
  142. package/modern/internals/utils/propValidation.js +1 -1
  143. package/modern/joy/icons.js +1 -2
  144. package/modern/joy/joySlots.js +1 -2
  145. package/modern/locales/daDK.js +3 -4
  146. package/modern/models/api/index.js +0 -1
  147. package/modern/utils/domUtils.js +4 -0
  148. package/node/DataGrid/DataGrid.js +20 -1
  149. package/node/DataGrid/useDataGridProps.js +1 -1
  150. package/node/colDef/gridCheckboxSelectionColDef.js +1 -1
  151. package/node/colDef/gridDateOperators.js +7 -0
  152. package/node/components/GridApiContext.js +1 -1
  153. package/node/components/GridColumnHeaders.js +1 -1
  154. package/node/components/GridFooter.js +1 -1
  155. package/node/components/GridHeader.js +1 -1
  156. package/node/components/GridHeaders.js +5 -3
  157. package/node/components/GridLoadingOverlay.js +1 -1
  158. package/node/components/GridNoResultsOverlay.js +1 -1
  159. package/node/components/GridNoRowsOverlay.js +1 -1
  160. package/node/components/GridPagination.js +60 -9
  161. package/node/components/GridRow.js +2 -1
  162. package/node/components/GridRowCount.js +1 -1
  163. package/node/components/GridScrollArea.js +2 -2
  164. package/node/components/GridScrollbarFillerCell.js +1 -1
  165. package/node/components/GridSelectedRowCount.js +1 -1
  166. package/node/components/base/GridFooterPlaceholder.js +1 -1
  167. package/node/components/base/GridOverlays.js +1 -1
  168. package/node/components/cell/GridActionsCell.js +1 -1
  169. package/node/components/cell/GridActionsCellItem.js +1 -1
  170. package/node/components/cell/GridBooleanCell.js +1 -1
  171. package/node/components/cell/GridCell.js +1 -1
  172. package/node/components/cell/GridEditBooleanCell.js +1 -1
  173. package/node/components/cell/GridEditDateCell.js +1 -1
  174. package/node/components/cell/GridEditInputCell.js +1 -1
  175. package/node/components/cell/GridEditSingleSelectCell.js +1 -1
  176. package/node/components/cell/GridSkeletonCell.js +1 -1
  177. package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +1 -1
  178. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -1
  179. package/node/components/columnHeaders/GridColumnGroupHeader.js +1 -1
  180. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -1
  181. package/node/components/columnHeaders/GridColumnHeaderItem.js +5 -2
  182. package/node/components/columnHeaders/GridColumnHeaderSeparator.js +2 -2
  183. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -1
  184. package/node/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  185. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -1
  186. package/node/components/columnHeaders/GridIconButtonContainer.js +1 -1
  187. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
  188. package/node/components/columnSelection/GridHeaderCheckbox.js +1 -1
  189. package/node/components/columnsManagement/GridColumnsManagement.js +1 -1
  190. package/node/components/containers/GridFooterContainer.js +1 -1
  191. package/node/components/containers/GridOverlay.js +1 -1
  192. package/node/components/containers/GridRoot.js +1 -1
  193. package/node/components/containers/GridRootStyles.js +3 -1
  194. package/node/components/containers/GridToolbarContainer.js +1 -1
  195. package/node/components/index.js +27 -10
  196. package/node/components/menu/GridMenu.js +1 -1
  197. package/node/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
  198. package/node/components/menu/columnMenu/GridColumnMenu.js +1 -1
  199. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +1 -1
  200. package/node/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -1
  201. package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
  202. package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
  203. package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
  204. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  205. package/node/components/panel/GridColumnsPanel.js +1 -1
  206. package/node/components/panel/GridPanel.js +4 -2
  207. package/node/components/panel/GridPanelContent.js +1 -1
  208. package/node/components/panel/GridPanelFooter.js +1 -1
  209. package/node/components/panel/GridPanelHeader.js +1 -1
  210. package/node/components/panel/GridPanelWrapper.js +1 -1
  211. package/node/components/panel/GridPreferencesPanel.js +1 -1
  212. package/node/components/panel/filterPanel/GridFilterForm.js +1 -1
  213. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  214. package/node/components/panel/filterPanel/GridFilterInputDate.js +5 -5
  215. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
  216. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  217. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  218. package/node/components/panel/filterPanel/GridFilterInputValue.js +1 -1
  219. package/node/components/panel/filterPanel/GridFilterPanel.js +1 -1
  220. package/node/components/toolbar/GridToolbar.js +1 -1
  221. package/node/components/toolbar/GridToolbarColumnsButton.js +1 -1
  222. package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
  223. package/node/components/toolbar/GridToolbarExport.js +1 -1
  224. package/node/components/toolbar/GridToolbarExportContainer.js +1 -1
  225. package/node/components/toolbar/GridToolbarFilterButton.js +1 -1
  226. package/node/components/toolbar/GridToolbarQuickFilter.js +1 -1
  227. package/node/components/virtualization/GridBottomContainer.js +1 -1
  228. package/node/components/virtualization/GridMainContainer.js +1 -1
  229. package/node/components/virtualization/GridTopContainer.js +1 -1
  230. package/node/components/virtualization/GridVirtualScrollbar.js +1 -1
  231. package/node/components/virtualization/GridVirtualScroller.js +1 -1
  232. package/node/components/virtualization/GridVirtualScrollerContent.js +1 -1
  233. package/node/components/virtualization/GridVirtualScrollerFiller.js +1 -1
  234. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
  235. package/node/constants/gridClasses.js +1 -1
  236. package/node/context/GridContextProvider.js +1 -1
  237. package/node/context/GridRootPropsContext.js +1 -1
  238. package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +1 -1
  239. package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
  240. package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
  241. package/node/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +1 -1
  242. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +1 -1
  243. package/node/hooks/core/useGridApiInitialization.js +1 -1
  244. package/node/hooks/core/useGridLocaleText.js +1 -1
  245. package/node/hooks/core/useGridLoggerFactory.js +1 -1
  246. package/node/hooks/core/useGridRefs.js +1 -1
  247. package/node/hooks/core/useGridStateInitialization.js +1 -1
  248. package/node/hooks/core/useGridTheme.js +1 -1
  249. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  250. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +1 -1
  251. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -3
  252. package/node/hooks/features/columnMenu/useGridColumnMenu.js +1 -1
  253. package/node/hooks/features/columnMenu/useGridColumnMenuSlots.js +1 -1
  254. package/node/hooks/features/columnResize/useGridColumnResize.js +92 -63
  255. package/node/hooks/features/columns/gridColumnsUtils.js +9 -7
  256. package/node/hooks/features/columns/useGridColumnSpanning.js +1 -1
  257. package/node/hooks/features/columns/useGridColumns.js +6 -5
  258. package/node/hooks/features/density/useGridDensity.js +31 -5
  259. package/node/hooks/features/dimensions/useGridDimensions.js +6 -3
  260. package/node/hooks/features/editing/useGridCellEditing.js +15 -2
  261. package/node/hooks/features/editing/useGridEditing.js +1 -1
  262. package/node/hooks/features/editing/useGridRowEditing.js +1 -1
  263. package/node/hooks/features/export/useGridCsvExport.js +1 -1
  264. package/node/hooks/features/export/useGridPrintExport.js +3 -3
  265. package/node/hooks/features/filter/useGridFilter.js +1 -1
  266. package/node/hooks/features/focus/useGridFocus.js +1 -1
  267. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +1 -1
  268. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -1
  269. package/node/hooks/features/pagination/gridPaginationSelector.js +8 -2
  270. package/node/hooks/features/pagination/gridPaginationUtils.js +6 -4
  271. package/node/hooks/features/pagination/useGridPagination.js +5 -1
  272. package/node/hooks/features/pagination/useGridPaginationMeta.js +87 -0
  273. package/node/hooks/features/pagination/useGridPaginationModel.js +3 -2
  274. package/node/hooks/features/pagination/useGridRowCount.js +31 -16
  275. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +1 -1
  276. package/node/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  277. package/node/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +1 -1
  278. package/node/hooks/features/rows/useGridParamsApi.js +1 -1
  279. package/node/hooks/features/rows/useGridRows.js +1 -1
  280. package/node/hooks/features/rows/useGridRowsMeta.js +1 -1
  281. package/node/hooks/features/scroll/useGridScroll.js +1 -1
  282. package/node/hooks/features/sorting/useGridSorting.js +1 -1
  283. package/node/hooks/features/statePersistence/useGridStatePersistence.js +1 -1
  284. package/node/hooks/features/virtualization/useGridVirtualScroller.js +1 -1
  285. package/node/hooks/features/virtualization/useGridVirtualization.js +1 -1
  286. package/node/hooks/utils/useFirstRender.js +1 -1
  287. package/node/hooks/utils/useGridApiContext.js +1 -1
  288. package/node/hooks/utils/useGridApiEventHandler.js +1 -1
  289. package/node/hooks/utils/useGridApiMethod.js +1 -1
  290. package/node/hooks/utils/useGridApiRef.js +1 -1
  291. package/node/hooks/utils/useGridInitializeState.js +1 -1
  292. package/node/hooks/utils/useGridLogger.js +1 -1
  293. package/node/hooks/utils/useGridNativeEventListener.js +1 -1
  294. package/node/hooks/utils/useGridPrivateApiContext.js +1 -1
  295. package/node/hooks/utils/useGridRootProps.js +1 -1
  296. package/node/hooks/utils/useGridSelector.js +1 -1
  297. package/node/hooks/utils/useGridVisibleRows.js +1 -1
  298. package/node/hooks/utils/useResizeObserver.js +1 -1
  299. package/node/hooks/utils/useRunOnce.js +1 -1
  300. package/node/index.js +1 -1
  301. package/node/internals/utils/propValidation.js +1 -1
  302. package/node/internals/utils/useProps.js +1 -1
  303. package/node/joy/icons.js +1 -1
  304. package/node/joy/joySlots.js +1 -1
  305. package/node/locales/daDK.js +3 -4
  306. package/node/material/components/MUISelectOption.js +1 -1
  307. package/node/material/icons/GridColumnUnsortedIcon.js +1 -1
  308. package/node/material/icons/index.js +1 -1
  309. package/node/models/api/index.js +0 -11
  310. package/node/utils/domUtils.js +5 -0
  311. package/node/utils/fastMemo.js +1 -1
  312. package/package.json +3 -5
  313. package/utils/domUtils.d.ts +1 -0
  314. package/utils/domUtils.js +4 -0
  315. package/utils/getGridLocalization.d.ts +1 -1
@@ -0,0 +1,77 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import { useGridLogger, useGridSelector, useGridApiMethod } from '../../utils';
4
+ import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
5
+ import { gridPaginationMetaSelector } from './gridPaginationSelector';
6
+ export const useGridPaginationMeta = (apiRef, props) => {
7
+ const logger = useGridLogger(apiRef, 'useGridPaginationMeta');
8
+ const paginationMeta = useGridSelector(apiRef, gridPaginationMetaSelector);
9
+ apiRef.current.registerControlState({
10
+ stateId: 'paginationMeta',
11
+ propModel: props.paginationMeta,
12
+ propOnChange: props.onPaginationMetaChange,
13
+ stateSelector: gridPaginationMetaSelector,
14
+ changeEvent: 'paginationMetaChange'
15
+ });
16
+
17
+ /**
18
+ * API METHODS
19
+ */
20
+ const setPaginationMeta = React.useCallback(newPaginationMeta => {
21
+ if (paginationMeta === newPaginationMeta) {
22
+ return;
23
+ }
24
+ logger.debug("Setting 'paginationMeta' to", newPaginationMeta);
25
+ apiRef.current.setState(state => _extends({}, state, {
26
+ pagination: _extends({}, state.pagination, {
27
+ meta: newPaginationMeta
28
+ })
29
+ }));
30
+ }, [apiRef, logger, paginationMeta]);
31
+ const paginationMetaApi = {
32
+ setPaginationMeta
33
+ };
34
+ useGridApiMethod(apiRef, paginationMetaApi, 'public');
35
+
36
+ /**
37
+ * PRE-PROCESSING
38
+ */
39
+ const stateExportPreProcessing = React.useCallback((prevState, context) => {
40
+ const exportedPaginationMeta = gridPaginationMetaSelector(apiRef);
41
+ const shouldExportRowCount =
42
+ // Always export if the `exportOnlyDirtyModels` property is not activated
43
+ !context.exportOnlyDirtyModels ||
44
+ // Always export if the `paginationMeta` is controlled
45
+ props.paginationMeta != null ||
46
+ // Always export if the `paginationMeta` has been initialized
47
+ props.initialState?.pagination?.meta != null;
48
+ if (!shouldExportRowCount) {
49
+ return prevState;
50
+ }
51
+ return _extends({}, prevState, {
52
+ pagination: _extends({}, prevState.pagination, {
53
+ meta: exportedPaginationMeta
54
+ })
55
+ });
56
+ }, [apiRef, props.paginationMeta, props.initialState?.pagination?.meta]);
57
+ const stateRestorePreProcessing = React.useCallback((params, context) => {
58
+ const restoredPaginationMeta = context.stateToRestore.pagination?.meta ? context.stateToRestore.pagination.meta : gridPaginationMetaSelector(apiRef);
59
+ apiRef.current.setState(state => _extends({}, state, {
60
+ pagination: _extends({}, state.pagination, {
61
+ meta: restoredPaginationMeta
62
+ })
63
+ }));
64
+ return params;
65
+ }, [apiRef]);
66
+ useGridRegisterPipeProcessor(apiRef, 'exportState', stateExportPreProcessing);
67
+ useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
68
+
69
+ /**
70
+ * EFFECTS
71
+ */
72
+ React.useEffect(() => {
73
+ if (props.paginationMeta) {
74
+ apiRef.current.setPaginationMeta(props.paginationMeta);
75
+ }
76
+ }, [apiRef, props.paginationMeta]);
77
+ };
@@ -9,7 +9,8 @@ export const getDerivedPaginationModel = (paginationState, signature, pagination
9
9
  let paginationModel = paginationState.paginationModel;
10
10
  const rowCount = paginationState.rowCount;
11
11
  const pageSize = paginationModelProp?.pageSize ?? paginationModel.pageSize;
12
- const pageCount = getPageCount(rowCount, pageSize);
12
+ const page = paginationModelProp?.page ?? paginationModel.page;
13
+ const pageCount = getPageCount(rowCount, pageSize, page);
13
14
  if (paginationModelProp && (paginationModelProp?.page !== paginationModel.page || paginationModelProp?.pageSize !== paginationModel.pageSize)) {
14
15
  paginationModel = paginationModelProp;
15
16
  }
@@ -1,19 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
+ import useLazyRef from '@mui/utils/useLazyRef';
3
4
  import { gridFilteredTopLevelRowCountSelector } from '../filter';
4
- import { useGridLogger, useGridSelector, useGridApiMethod } from '../../utils';
5
+ import { useGridLogger, useGridSelector, useGridApiMethod, useGridApiEventHandler } from '../../utils';
5
6
  import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
6
- import { gridPaginationRowCountSelector } from './gridPaginationSelector';
7
- import { noRowCountInServerMode } from './gridPaginationUtils';
8
-
9
- /**
10
- * @requires useGridFilter (state)
11
- * @requires useGridDimensions (event) - can be after
12
- */
7
+ import { gridPaginationRowCountSelector, gridPaginationMetaSelector, gridPaginationModelSelector } from './gridPaginationSelector';
13
8
  export const useGridRowCount = (apiRef, props) => {
14
9
  const logger = useGridLogger(apiRef, 'useGridRowCount');
15
10
  const visibleTopLevelRowCount = useGridSelector(apiRef, gridFilteredTopLevelRowCountSelector);
16
- const rowCount = useGridSelector(apiRef, gridPaginationRowCountSelector);
11
+ const rowCountState = useGridSelector(apiRef, gridPaginationRowCountSelector);
12
+ const paginationMeta = useGridSelector(apiRef, gridPaginationMetaSelector);
13
+ const paginationModel = useGridSelector(apiRef, gridPaginationModelSelector);
14
+ const previousPageSize = useLazyRef(() => gridPaginationModelSelector(apiRef).pageSize);
17
15
  apiRef.current.registerControlState({
18
16
  stateId: 'paginationRowCount',
19
17
  propModel: props.rowCount,
@@ -26,7 +24,7 @@ export const useGridRowCount = (apiRef, props) => {
26
24
  * API METHODS
27
25
  */
28
26
  const setRowCount = React.useCallback(newRowCount => {
29
- if (rowCount === newRowCount) {
27
+ if (rowCountState === newRowCount) {
30
28
  return;
31
29
  }
32
30
  logger.debug("Setting 'rowCount' to", newRowCount);
@@ -35,7 +33,7 @@ export const useGridRowCount = (apiRef, props) => {
35
33
  rowCount: newRowCount
36
34
  })
37
35
  }));
38
- }, [apiRef, logger, rowCount]);
36
+ }, [apiRef, logger, rowCountState]);
39
37
  const paginationRowCountApi = {
40
38
  setRowCount
41
39
  };
@@ -75,20 +73,36 @@ export const useGridRowCount = (apiRef, props) => {
75
73
  useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
76
74
 
77
75
  /**
78
- * EFFECTS
76
+ * EVENTS
79
77
  */
80
- React.useEffect(() => {
81
- if (process.env.NODE_ENV !== 'production') {
82
- if (props.paginationMode === 'server' && props.rowCount == null) {
83
- noRowCountInServerMode();
78
+ const handlePaginationModelChange = React.useCallback(model => {
79
+ if (props.paginationMode === 'client' || !previousPageSize.current) {
80
+ return;
81
+ }
82
+ if (model.pageSize !== previousPageSize.current) {
83
+ previousPageSize.current = model.pageSize;
84
+ if (rowCountState === -1) {
85
+ // Row count unknown and page size changed, reset the page
86
+ apiRef.current.setPage(0);
84
87
  }
85
88
  }
86
- }, [props.rowCount, props.paginationMode]);
89
+ }, [props.paginationMode, previousPageSize, rowCountState, apiRef]);
90
+ useGridApiEventHandler(apiRef, 'paginationModelChange', handlePaginationModelChange);
91
+
92
+ /**
93
+ * EFFECTS
94
+ */
87
95
  React.useEffect(() => {
88
96
  if (props.paginationMode === 'client') {
89
97
  apiRef.current.setRowCount(visibleTopLevelRowCount);
90
98
  } else if (props.rowCount != null) {
91
99
  apiRef.current.setRowCount(props.rowCount);
92
100
  }
93
- }, [apiRef, visibleTopLevelRowCount, props.paginationMode, props.rowCount]);
101
+ }, [apiRef, props.paginationMode, visibleTopLevelRowCount, props.rowCount]);
102
+ const isLastPage = paginationMeta.hasNextPage === false;
103
+ React.useEffect(() => {
104
+ if (isLastPage && rowCountState === -1) {
105
+ apiRef.current.setRowCount(paginationModel.pageSize * paginationModel.page + visibleTopLevelRowCount);
106
+ }
107
+ }, [apiRef, visibleTopLevelRowCount, isLastPage, rowCountState, paginationModel]);
94
108
  };
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.2.0
2
+ * @mui/x-data-grid v7.3.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -1,6 +1,6 @@
1
1
  import { isNumber } from '../../utils/utils';
2
2
  import { GridSignature } from '../../hooks/utils/useGridApiEventHandler';
3
- export const propValidatorsDataGrid = [props => props.autoPageSize && props.autoHeight && ['MUI X: `<DataGrid autoPageSize={true} autoHeight={true} />` are not valid props.', 'You cannot use both the `autoPageSize` and `autoHeight` props at the same time because `autoHeight` scales the height of the Data Grid according to the `pageSize`.', '', 'Please remove one of these two props.'].join('\n') || undefined, props => props.signature === GridSignature.DataGrid && props.paginationMode === 'client' && isNumber(props.rowCount) && 'MUI X: Usage of the `rowCount` prop with client side pagination (`paginationMode="client"`) has no effect. `rowCount` is only meant to be used with `paginationMode="server"`.' || undefined];
3
+ export const propValidatorsDataGrid = [props => props.autoPageSize && props.autoHeight && ['MUI X: `<DataGrid autoPageSize={true} autoHeight={true} />` are not valid props.', 'You cannot use both the `autoPageSize` and `autoHeight` props at the same time because `autoHeight` scales the height of the Data Grid according to the `pageSize`.', '', 'Please remove one of these two props.'].join('\n') || undefined, props => props.paginationMode === 'client' && props.paginationMeta != null && ['MUI X: Usage of the `paginationMeta` prop with client-side pagination (`paginationMode="client"`) has no effect.', '`paginationMeta` is only meant to be used with `paginationMode="server"`.'].join('\n') || undefined, props => props.signature === GridSignature.DataGrid && props.paginationMode === 'client' && isNumber(props.rowCount) && ['MUI X: Usage of the `rowCount` prop with client side pagination (`paginationMode="client"`) has no effect.', '`rowCount` is only meant to be used with `paginationMode="server"`.'].join('\n') || undefined, props => props.paginationMode === 'server' && props.rowCount == null && ["MUI X: The `rowCount` prop must be passed using `paginationMode='server'`", 'For more detail, see http://mui.com/components/data-grid/pagination/#index-based-pagination'].join('\n') || undefined];
4
4
  const warnedOnceCache = new Set();
5
5
  const warnOnce = message => {
6
6
  if (!warnedOnceCache.has(message)) {
@@ -18,8 +18,7 @@ const _excluded = ["sx", "fontSize"],
18
18
  import * as React from 'react';
19
19
  import SvgIcon from '@mui/joy/SvgIcon';
20
20
  import { useGridRootProps } from '../hooks/utils/useGridRootProps';
21
- import { jsx as _jsx } from "react/jsx-runtime";
22
- import { jsxs as _jsxs } from "react/jsx-runtime";
21
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
22
  function createSvgIcon(path, displayName) {
24
23
  const fontSizeMap = {
25
24
  small: 'lg',
@@ -26,8 +26,7 @@ import { useGridApiContext } from '../hooks/utils/useGridApiContext';
26
26
  import { useGridRootProps } from '../hooks/utils/useGridRootProps';
27
27
  import { gridFilteredTopLevelRowCountSelector, gridPaginationModelSelector } from '../hooks';
28
28
  import { GridOverlay } from '../components/containers/GridOverlay';
29
- import { jsx as _jsx } from "react/jsx-runtime";
30
- import { jsxs as _jsxs } from "react/jsx-runtime";
29
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
31
30
  function convertColor(color) {
32
31
  if (color === 'secondary') {
33
32
  return 'primary';
@@ -30,10 +30,9 @@ const daDKGrid = {
30
30
  toolbarExportPrint: 'Print',
31
31
  toolbarExportExcel: 'Download som Excel',
32
32
  // Columns management text
33
- // columnsManagementSearchTitle: 'Search',
34
- // columnsManagementNoColumns: 'No columns',
35
- // columnsManagementShowHideAllText: 'Show/Hide All',
36
-
33
+ columnsManagementSearchTitle: 'Søg',
34
+ columnsManagementNoColumns: 'Ingen søjler',
35
+ columnsManagementShowHideAllText: 'Vis/Shjul Alle',
37
36
  // Filter panel text
38
37
  filterPanelAddFilter: 'Tilføj filter',
39
38
  filterPanelRemoveAll: 'Fjern alle',
@@ -4,7 +4,6 @@ export * from './gridDensityApi';
4
4
  export * from './gridRowApi';
5
5
  export * from './gridRowSelectionApi';
6
6
  export * from './gridSortApi';
7
- export * from './gridLocaleTextApi';
8
7
  export * from './gridCsvExportApi';
9
8
  export * from './gridFilterApi';
10
9
  export * from './gridColumnMenuApi';
@@ -53,6 +53,10 @@ export function getFieldFromHeaderElem(colCellEl) {
53
53
  export function findHeaderElementFromField(elem, field) {
54
54
  return elem.querySelector(`[data-field="${field}"]`);
55
55
  }
56
+ export function getFieldsFromGroupHeaderElem(colCellEl) {
57
+ const fieldsString = colCellEl.getAttribute('data-fields');
58
+ return fieldsString?.startsWith('|-') ? fieldsString.slice(2, -2).split('-|-') : [];
59
+ }
56
60
  export function findGroupHeaderElementsFromField(elem, field) {
57
61
  return Array.from(elem.querySelectorAll(`[data-fields*="|-${field}-|"]`) ?? []);
58
62
  }
@@ -16,7 +16,7 @@ var _useDataGridProps = require("./useDataGridProps");
16
16
  var _propValidation = require("../internals/utils/propValidation");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
20
  const propValidators = [..._propValidation.propValidatorsDataGrid,
21
21
  // Only validate in MIT version
22
22
  props => props.columns && props.columns.some(column => column.resizable) && [`MUI X: \`column.resizable = true\` is not a valid prop.`, 'Column resizing is not available in the MIT version.', '', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n') || undefined];
@@ -193,6 +193,12 @@ DataGridRaw.propTypes = {
193
193
  * @default "cell"
194
194
  */
195
195
  editMode: _propTypes.default.oneOf(['cell', 'row']),
196
+ /**
197
+ * Use if the actual rowCount is not known upfront, but an estimation is available.
198
+ * If some rows have children (for instance in the tree data), this number represents the amount of top level rows.
199
+ * Applicable only with `paginationMode="server"` and when `rowCount="-1"`
200
+ */
201
+ estimatedRowCount: _propTypes.default.number,
196
202
  /**
197
203
  * Unstable features, breaking changes might be introduced.
198
204
  * For each feature, if the flag is not explicitly set to `true`, the feature will be fully disabled and any property / method call will not have any effect.
@@ -494,6 +500,11 @@ DataGridRaw.propTypes = {
494
500
  * @param {GridCallbackDetails} details Additional details for this callback.
495
501
  */
496
502
  onMenuOpen: _propTypes.default.func,
503
+ /**
504
+ * Callback fired when the pagination meta has changed.
505
+ * @param {GridPaginationMeta} paginationMeta Updated pagination meta.
506
+ */
507
+ onPaginationMetaChange: _propTypes.default.func,
497
508
  /**
498
509
  * Callback fired when the pagination model has changed.
499
510
  * @param {GridPaginationModel} model Updated pagination model.
@@ -593,6 +604,13 @@ DataGridRaw.propTypes = {
593
604
  value: _propTypes.default.number.isRequired
594
605
  })]).isRequired),
595
606
  pagination: _propTypes.default.oneOf([true]),
607
+ /**
608
+ * The extra information about the pagination state of the Data Grid.
609
+ * Only applicable with `paginationMode="server"`.
610
+ */
611
+ paginationMeta: _propTypes.default.shape({
612
+ hasNextPage: _propTypes.default.bool
613
+ }),
596
614
  /**
597
615
  * Pagination can be processed on the server or client-side.
598
616
  * Set it to 'client' if you would like to handle the pagination on the client-side.
@@ -628,6 +646,7 @@ DataGridRaw.propTypes = {
628
646
  /**
629
647
  * Set the total number of rows, if it is different from the length of the value `rows` prop.
630
648
  * If some rows have children (for instance in the tree data), this number represents the amount of top level rows.
649
+ * Only works with `paginationMode="server"`, ignored when `paginationMode="client"`.
631
650
  */
632
651
  rowCount: _propTypes.default.number,
633
652
  /**
@@ -13,7 +13,7 @@ var _defaultGridSlotsComponents = require("../constants/defaultGridSlotsComponen
13
13
  var _models = require("../models");
14
14
  var _utils = require("../internals/utils");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  const DATA_GRID_FORCED_PROPS = {
18
18
  disableMultipleColumnsFiltering: true,
19
19
  disableMultipleColumnsSorting: true,
@@ -13,7 +13,7 @@ var _gridRowSelectionSelector = require("../hooks/features/rowSelection/gridRowS
13
13
  var _gridBooleanColDef = require("./gridBooleanColDef");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
17
  const GRID_CHECKBOX_SELECTION_FIELD = exports.GRID_CHECKBOX_SELECTION_FIELD = '__check__';
18
18
  const GRID_CHECKBOX_SELECTION_COL_DEF = exports.GRID_CHECKBOX_SELECTION_COL_DEF = (0, _extends2.default)({}, _gridBooleanColDef.GRID_BOOLEAN_COL_DEF, {
19
19
  type: 'custom',
@@ -13,6 +13,13 @@ function buildApplyFilterFn(filterItem, compareFn, showTime, keepHours) {
13
13
  if (showTime) {
14
14
  date.setSeconds(0, 0);
15
15
  } else {
16
+ // In GMT-X timezone, the date will be one day behind.
17
+ // For 2022-08-16:
18
+ // GMT+2: Tue Aug 16 2022 02:00:00 GMT+0200
19
+ // GMT-4: Mon Aug 15 2022 20:00:00 GMT-0400
20
+ //
21
+ // We need to add the offset before resetting the hours.
22
+ date.setMinutes(date.getMinutes() + date.getTimezoneOffset());
16
23
  date.setHours(0, 0, 0, 0);
17
24
  }
18
25
  const time = date.getTime();
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.GridApiContext = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  const GridApiContext = exports.GridApiContext = /*#__PURE__*/React.createContext(undefined);
11
11
  if (process.env.NODE_ENV !== 'production') {
12
12
  GridApiContext.displayName = 'GridApiContext';
@@ -15,7 +15,7 @@ var _GridBaseColumnHeaders = require("./columnHeaders/GridBaseColumnHeaders");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  const _excluded = ["className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
17
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
18
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
19
  const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
20
20
  const {
21
21
  visibleColumns,
@@ -18,7 +18,7 @@ var _GridFooterContainer = require("./containers/GridFooterContainer");
18
18
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
20
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
22
  const GridFooter = exports.GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref) {
23
23
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
24
24
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
@@ -11,7 +11,7 @@ var _useGridRootProps = require("../hooks/utils/useGridRootProps");
11
11
  var _GridPreferencesPanel = require("./panel/GridPreferencesPanel");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
15
  function GridHeader() {
16
16
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
17
17
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.GridHeaders = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
9
  var React = _interopRequireWildcard(require("react"));
8
10
  var _fastMemo = require("../utils/fastMemo");
9
11
  var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
@@ -17,7 +19,7 @@ var _gridColumnGroupsSelector = require("../hooks/features/columnGrouping/gridCo
17
19
  var _columnMenuSelector = require("../hooks/features/columnMenu/columnMenuSelector");
18
20
  var _jsxRuntime = require("react/jsx-runtime");
19
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
23
  function GridHeaders() {
22
24
  const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
23
25
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
@@ -38,7 +40,7 @@ function GridHeaders() {
38
40
  apiRef.current.register('private', {
39
41
  columnHeadersContainerRef: columnsContainerRef
40
42
  });
41
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnHeaders, {
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnHeaders, (0, _extends2.default)({
42
44
  ref: columnsContainerRef,
43
45
  visibleColumns: visibleColumns,
44
46
  filterColumnLookup: filterColumnLookup,
@@ -52,6 +54,6 @@ function GridHeaders() {
52
54
  columnVisibility: columnVisibility,
53
55
  columnGroupsHeaderStructure: columnGroupsHeaderStructure,
54
56
  hasOtherElementInTabSequence: hasOtherElementInTabSequence
55
- });
57
+ }, rootProps.slotProps?.columnHeaders));
56
58
  }
57
59
  const MemoizedGridHeaders = exports.GridHeaders = (0, _fastMemo.fastMemo)(GridHeaders);
@@ -12,7 +12,7 @@ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularPr
12
12
  var _GridOverlay = require("./containers/GridOverlay");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  const GridLoadingOverlay = exports.GridLoadingOverlay = /*#__PURE__*/React.forwardRef(function GridLoadingOverlay(props, ref) {
17
17
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlay.GridOverlay, (0, _extends2.default)({
18
18
  ref: ref
@@ -11,7 +11,7 @@ var _useGridApiContext = require("../hooks/utils/useGridApiContext");
11
11
  var _GridOverlay = require("./containers/GridOverlay");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
15
  const GridNoResultsOverlay = exports.GridNoResultsOverlay = /*#__PURE__*/React.forwardRef(function GridNoResultsOverlay(props, ref) {
16
16
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
17
17
  const noResultsOverlayLabel = apiRef.current.getLocaleText('noResultsOverlayLabel');
@@ -12,7 +12,7 @@ var _useGridApiContext = require("../hooks/utils/useGridApiContext");
12
12
  var _GridOverlay = require("./containers/GridOverlay");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
16
  const GridNoRowsOverlay = exports.GridNoRowsOverlay = /*#__PURE__*/React.forwardRef(function GridNoRowsOverlay(props, ref) {
17
17
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
18
18
  const noRowsLabel = apiRef.current.getLocaleText('noRowsLabel');
@@ -7,16 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.GridPagination = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
+ var _styles = require("@mui/material/styles");
10
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
12
  var _TablePagination = _interopRequireWildcard(require("@mui/material/TablePagination"));
12
- var _styles = require("@mui/material/styles");
13
13
  var _useGridSelector = require("../hooks/utils/useGridSelector");
14
14
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
15
15
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
16
16
  var _gridPaginationSelector = require("../hooks/features/pagination/gridPaginationSelector");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
20
  const GridPaginationRoot = (0, _styles.styled)(_TablePagination.default)(({
21
21
  theme
22
22
  }) => ({
@@ -33,6 +33,31 @@ const GridPaginationRoot = (0, _styles.styled)(_TablePagination.default)(({
33
33
  }
34
34
  }
35
35
  }));
36
+ const wrapLabelDisplayedRows = (labelDisplayedRows, estimated) => {
37
+ return ({
38
+ from,
39
+ to,
40
+ count,
41
+ page
42
+ }) => labelDisplayedRows({
43
+ from,
44
+ to,
45
+ count,
46
+ page,
47
+ estimated
48
+ });
49
+ };
50
+ const defaultLabelDisplayedRows = ({
51
+ from,
52
+ to,
53
+ count,
54
+ estimated
55
+ }) => {
56
+ if (!estimated) {
57
+ return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
58
+ }
59
+ return `${from}–${to} of ${count !== -1 ? count : `more than ${estimated > to ? estimated : to}`}`;
60
+ };
36
61
 
37
62
  // A mutable version of a readonly array.
38
63
 
@@ -41,10 +66,32 @@ const GridPagination = exports.GridPagination = /*#__PURE__*/React.forwardRef(fu
41
66
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
42
67
  const paginationModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationModelSelector);
43
68
  const rowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationRowCountSelector);
44
- const lastPage = React.useMemo(() => {
45
- const calculatedValue = Math.ceil(rowCount / (paginationModel.pageSize || 1)) - 1;
46
- return Math.max(0, calculatedValue);
47
- }, [rowCount, paginationModel.pageSize]);
69
+ const pageCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPageCountSelector);
70
+ const {
71
+ paginationMode,
72
+ loading,
73
+ estimatedRowCount
74
+ } = rootProps;
75
+ const computedProps = React.useMemo(() => {
76
+ if (rowCount === -1 && paginationMode === 'server' && loading) {
77
+ return {
78
+ backIconButtonProps: {
79
+ disabled: true
80
+ },
81
+ nextIconButtonProps: {
82
+ disabled: true
83
+ }
84
+ };
85
+ }
86
+ return {};
87
+ }, [loading, paginationMode, rowCount]);
88
+ const lastPage = React.useMemo(() => Math.max(0, pageCount - 1), [pageCount]);
89
+ const computedPage = React.useMemo(() => {
90
+ if (rowCount === -1) {
91
+ return paginationModel.page;
92
+ }
93
+ return paginationModel.page <= lastPage ? paginationModel.page : lastPage;
94
+ }, [lastPage, paginationModel.page, rowCount]);
48
95
  const handlePageSizeChange = React.useCallback(event => {
49
96
  const pageSize = Number(event.target.value);
50
97
  apiRef.current.setPageSize(pageSize);
@@ -70,16 +117,18 @@ const GridPagination = exports.GridPagination = /*#__PURE__*/React.forwardRef(fu
70
117
  const warnedOnceMissingInPageSizeOptions = React.useRef(false);
71
118
  const pageSize = rootProps.paginationModel?.pageSize ?? paginationModel.pageSize;
72
119
  if (!warnedOnceMissingInPageSizeOptions.current && !rootProps.autoPageSize && !isPageSizeIncludedInPageSizeOptions(pageSize)) {
73
- console.warn([`MUI X: The page size \`${paginationModel.pageSize}\` is not preset in the \`pageSizeOptions\`.`, `Add it to show the pagination select.`].join('\n'));
120
+ console.warn([`MUI X: The page size \`${paginationModel.pageSize}\` is not present in the \`pageSizeOptions\`.`, `Add it to show the pagination select.`].join('\n'));
74
121
  warnedOnceMissingInPageSizeOptions.current = true;
75
122
  }
76
123
  }
77
124
  const pageSizeOptions = isPageSizeIncludedInPageSizeOptions(paginationModel.pageSize) ? rootProps.pageSizeOptions : [];
125
+ const locales = apiRef.current.getLocaleText('MuiTablePagination');
126
+ const wrappedLabelDisplayedRows = wrapLabelDisplayedRows(locales.labelDisplayedRows || defaultLabelDisplayedRows, estimatedRowCount);
78
127
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPaginationRoot, (0, _extends2.default)({
79
128
  ref: ref,
80
129
  component: "div",
81
130
  count: rowCount,
82
- page: paginationModel.page <= lastPage ? paginationModel.page : lastPage
131
+ page: computedPage
83
132
  // TODO: Remove the cast once the type is fixed in Material UI and that the min Material UI version
84
133
  // for x-data-grid is past the fix.
85
134
  // Note that Material UI will not mutate the array, so this is safe.
@@ -88,7 +137,9 @@ const GridPagination = exports.GridPagination = /*#__PURE__*/React.forwardRef(fu
88
137
  rowsPerPage: paginationModel.pageSize,
89
138
  onPageChange: handlePageChange,
90
139
  onRowsPerPageChange: handlePageSizeChange
91
- }, apiRef.current.getLocaleText('MuiTablePagination'), props));
140
+ }, computedProps, locales, {
141
+ labelDisplayedRows: wrappedLabelDisplayedRows
142
+ }, props));
92
143
  });
93
144
  process.env.NODE_ENV !== "production" ? GridPagination.propTypes = {
94
145
  // ----------------------------- Warning --------------------------------
@@ -33,7 +33,7 @@ var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
33
33
  var _jsxRuntime = require("react/jsx-runtime");
34
34
  const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
35
35
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
36
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
36
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
37
37
  const useUtilityClasses = ownerState => {
38
38
  const {
39
39
  editable,
@@ -374,6 +374,7 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
374
374
  }).isRequired,
375
375
  hasScrollX: _propTypes.default.bool.isRequired,
376
376
  hasScrollY: _propTypes.default.bool.isRequired,
377
+ headerFilterHeight: _propTypes.default.number.isRequired,
377
378
  headerHeight: _propTypes.default.number.isRequired,
378
379
  headersTotalHeight: _propTypes.default.number.isRequired,
379
380
  isReady: _propTypes.default.bool.isRequired,