@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
@@ -8,8 +8,7 @@ import { GridContextProvider } from '../context/GridContextProvider';
8
8
  import { useDataGridComponent } from './useDataGridComponent';
9
9
  import { useDataGridProps } from './useDataGridProps';
10
10
  import { propValidatorsDataGrid, validateProps } from '../internals/utils/propValidation';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
12
  const propValidators = [...propValidatorsDataGrid,
14
13
  // Only validate in MIT version
15
14
  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];
@@ -186,6 +185,12 @@ DataGridRaw.propTypes = {
186
185
  * @default "cell"
187
186
  */
188
187
  editMode: PropTypes.oneOf(['cell', 'row']),
188
+ /**
189
+ * Use if the actual rowCount is not known upfront, but an estimation is available.
190
+ * If some rows have children (for instance in the tree data), this number represents the amount of top level rows.
191
+ * Applicable only with `paginationMode="server"` and when `rowCount="-1"`
192
+ */
193
+ estimatedRowCount: PropTypes.number,
189
194
  /**
190
195
  * Unstable features, breaking changes might be introduced.
191
196
  * 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.
@@ -487,6 +492,11 @@ DataGridRaw.propTypes = {
487
492
  * @param {GridCallbackDetails} details Additional details for this callback.
488
493
  */
489
494
  onMenuOpen: PropTypes.func,
495
+ /**
496
+ * Callback fired when the pagination meta has changed.
497
+ * @param {GridPaginationMeta} paginationMeta Updated pagination meta.
498
+ */
499
+ onPaginationMetaChange: PropTypes.func,
490
500
  /**
491
501
  * Callback fired when the pagination model has changed.
492
502
  * @param {GridPaginationModel} model Updated pagination model.
@@ -586,6 +596,13 @@ DataGridRaw.propTypes = {
586
596
  value: PropTypes.number.isRequired
587
597
  })]).isRequired),
588
598
  pagination: PropTypes.oneOf([true]),
599
+ /**
600
+ * The extra information about the pagination state of the Data Grid.
601
+ * Only applicable with `paginationMode="server"`.
602
+ */
603
+ paginationMeta: PropTypes.shape({
604
+ hasNextPage: PropTypes.bool
605
+ }),
589
606
  /**
590
607
  * Pagination can be processed on the server or client-side.
591
608
  * Set it to 'client' if you would like to handle the pagination on the client-side.
@@ -621,6 +638,7 @@ DataGridRaw.propTypes = {
621
638
  /**
622
639
  * Set the total number of rows, if it is different from the length of the value `rows` prop.
623
640
  * If some rows have children (for instance in the tree data), this number represents the amount of top level rows.
641
+ * Only works with `paginationMode="server"`, ignored when `paginationMode="client"`.
624
642
  */
625
643
  rowCount: PropTypes.number,
626
644
  /**
@@ -7,6 +7,13 @@ function buildApplyFilterFn(filterItem, compareFn, showTime, keepHours) {
7
7
  if (showTime) {
8
8
  date.setSeconds(0, 0);
9
9
  } else {
10
+ // In GMT-X timezone, the date will be one day behind.
11
+ // For 2022-08-16:
12
+ // GMT+2: Tue Aug 16 2022 02:00:00 GMT+0200
13
+ // GMT-4: Mon Aug 15 2022 20:00:00 GMT-0400
14
+ //
15
+ // We need to add the offset before resetting the hours.
16
+ date.setMinutes(date.getMinutes() + date.getTimezoneOffset());
10
17
  date.setHours(0, 0, 0, 0);
11
18
  }
12
19
  const time = date.getTime();
@@ -9,8 +9,7 @@ import { useGridApiContext } from '../hooks/utils/useGridApiContext';
9
9
  import { GridSelectedRowCount } from './GridSelectedRowCount';
10
10
  import { GridFooterContainer } from './containers/GridFooterContainer';
11
11
  import { useGridRootProps } from '../hooks/utils/useGridRootProps';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
13
  const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref) {
15
14
  const apiRef = useGridApiContext();
16
15
  const rootProps = useGridRootProps();
@@ -2,8 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { useGridRootProps } from '../hooks/utils/useGridRootProps';
4
4
  import { GridPreferencesPanel } from './panel/GridPreferencesPanel';
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- import { jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
6
  export function GridHeader() {
8
7
  const rootProps = useGridRootProps();
9
8
  return /*#__PURE__*/_jsxs(React.Fragment, {
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import * as React from 'react';
2
3
  import { fastMemo } from '../utils/fastMemo';
3
4
  import { useGridPrivateApiContext } from '../hooks/utils/useGridPrivateApiContext';
@@ -30,7 +31,7 @@ function GridHeaders() {
30
31
  apiRef.current.register('private', {
31
32
  columnHeadersContainerRef: columnsContainerRef
32
33
  });
33
- return /*#__PURE__*/_jsx(rootProps.slots.columnHeaders, {
34
+ return /*#__PURE__*/_jsx(rootProps.slots.columnHeaders, _extends({
34
35
  ref: columnsContainerRef,
35
36
  visibleColumns: visibleColumns,
36
37
  filterColumnLookup: filterColumnLookup,
@@ -44,7 +45,7 @@ function GridHeaders() {
44
45
  columnVisibility: columnVisibility,
45
46
  columnGroupsHeaderStructure: columnGroupsHeaderStructure,
46
47
  hasOtherElementInTabSequence: hasOtherElementInTabSequence
47
- });
48
+ }, rootProps.slotProps?.columnHeaders));
48
49
  }
49
50
  const MemoizedGridHeaders = fastMemo(GridHeaders);
50
51
  export { MemoizedGridHeaders as GridHeaders };
@@ -1,12 +1,12 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
+ import { styled } from '@mui/material/styles';
3
4
  import PropTypes from 'prop-types';
4
5
  import TablePagination, { tablePaginationClasses } from '@mui/material/TablePagination';
5
- import { styled } from '@mui/material/styles';
6
6
  import { useGridSelector } from '../hooks/utils/useGridSelector';
7
7
  import { useGridApiContext } from '../hooks/utils/useGridApiContext';
8
8
  import { useGridRootProps } from '../hooks/utils/useGridRootProps';
9
- import { gridPaginationModelSelector, gridPaginationRowCountSelector } from '../hooks/features/pagination/gridPaginationSelector';
9
+ import { gridPaginationModelSelector, gridPaginationRowCountSelector, gridPageCountSelector } from '../hooks/features/pagination/gridPaginationSelector';
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  const GridPaginationRoot = styled(TablePagination)(({
12
12
  theme
@@ -24,6 +24,31 @@ const GridPaginationRoot = styled(TablePagination)(({
24
24
  }
25
25
  }
26
26
  }));
27
+ const wrapLabelDisplayedRows = (labelDisplayedRows, estimated) => {
28
+ return ({
29
+ from,
30
+ to,
31
+ count,
32
+ page
33
+ }) => labelDisplayedRows({
34
+ from,
35
+ to,
36
+ count,
37
+ page,
38
+ estimated
39
+ });
40
+ };
41
+ const defaultLabelDisplayedRows = ({
42
+ from,
43
+ to,
44
+ count,
45
+ estimated
46
+ }) => {
47
+ if (!estimated) {
48
+ return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
49
+ }
50
+ return `${from}–${to} of ${count !== -1 ? count : `more than ${estimated > to ? estimated : to}`}`;
51
+ };
27
52
 
28
53
  // A mutable version of a readonly array.
29
54
 
@@ -32,10 +57,32 @@ const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(pro
32
57
  const rootProps = useGridRootProps();
33
58
  const paginationModel = useGridSelector(apiRef, gridPaginationModelSelector);
34
59
  const rowCount = useGridSelector(apiRef, gridPaginationRowCountSelector);
35
- const lastPage = React.useMemo(() => {
36
- const calculatedValue = Math.ceil(rowCount / (paginationModel.pageSize || 1)) - 1;
37
- return Math.max(0, calculatedValue);
38
- }, [rowCount, paginationModel.pageSize]);
60
+ const pageCount = useGridSelector(apiRef, gridPageCountSelector);
61
+ const {
62
+ paginationMode,
63
+ loading,
64
+ estimatedRowCount
65
+ } = rootProps;
66
+ const computedProps = React.useMemo(() => {
67
+ if (rowCount === -1 && paginationMode === 'server' && loading) {
68
+ return {
69
+ backIconButtonProps: {
70
+ disabled: true
71
+ },
72
+ nextIconButtonProps: {
73
+ disabled: true
74
+ }
75
+ };
76
+ }
77
+ return {};
78
+ }, [loading, paginationMode, rowCount]);
79
+ const lastPage = React.useMemo(() => Math.max(0, pageCount - 1), [pageCount]);
80
+ const computedPage = React.useMemo(() => {
81
+ if (rowCount === -1) {
82
+ return paginationModel.page;
83
+ }
84
+ return paginationModel.page <= lastPage ? paginationModel.page : lastPage;
85
+ }, [lastPage, paginationModel.page, rowCount]);
39
86
  const handlePageSizeChange = React.useCallback(event => {
40
87
  const pageSize = Number(event.target.value);
41
88
  apiRef.current.setPageSize(pageSize);
@@ -61,16 +108,18 @@ const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(pro
61
108
  const warnedOnceMissingInPageSizeOptions = React.useRef(false);
62
109
  const pageSize = rootProps.paginationModel?.pageSize ?? paginationModel.pageSize;
63
110
  if (!warnedOnceMissingInPageSizeOptions.current && !rootProps.autoPageSize && !isPageSizeIncludedInPageSizeOptions(pageSize)) {
64
- console.warn([`MUI X: The page size \`${paginationModel.pageSize}\` is not preset in the \`pageSizeOptions\`.`, `Add it to show the pagination select.`].join('\n'));
111
+ console.warn([`MUI X: The page size \`${paginationModel.pageSize}\` is not present in the \`pageSizeOptions\`.`, `Add it to show the pagination select.`].join('\n'));
65
112
  warnedOnceMissingInPageSizeOptions.current = true;
66
113
  }
67
114
  }
68
115
  const pageSizeOptions = isPageSizeIncludedInPageSizeOptions(paginationModel.pageSize) ? rootProps.pageSizeOptions : [];
116
+ const locales = apiRef.current.getLocaleText('MuiTablePagination');
117
+ const wrappedLabelDisplayedRows = wrapLabelDisplayedRows(locales.labelDisplayedRows || defaultLabelDisplayedRows, estimatedRowCount);
69
118
  return /*#__PURE__*/_jsx(GridPaginationRoot, _extends({
70
119
  ref: ref,
71
120
  component: "div",
72
121
  count: rowCount,
73
- page: paginationModel.page <= lastPage ? paginationModel.page : lastPage
122
+ page: computedPage
74
123
  // TODO: Remove the cast once the type is fixed in Material UI and that the min Material UI version
75
124
  // for x-data-grid is past the fix.
76
125
  // Note that Material UI will not mutate the array, so this is safe.
@@ -79,7 +128,9 @@ const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(pro
79
128
  rowsPerPage: paginationModel.pageSize,
80
129
  onPageChange: handlePageChange,
81
130
  onRowsPerPageChange: handlePageSizeChange
82
- }, apiRef.current.getLocaleText('MuiTablePagination'), props));
131
+ }, computedProps, locales, {
132
+ labelDisplayedRows: wrappedLabelDisplayedRows
133
+ }, props));
83
134
  });
84
135
  process.env.NODE_ENV !== "production" ? GridPagination.propTypes = {
85
136
  // ----------------------------- Warning --------------------------------
@@ -24,8 +24,7 @@ import { gridEditRowsStateSelector } from '../hooks/features/editing/gridEditing
24
24
  import { PinnedPosition, gridPinnedColumnPositionLookup } from './cell/GridCell';
25
25
  import { GridScrollbarFillerCell as ScrollbarFiller } from './GridScrollbarFillerCell';
26
26
  import { getPinnedCellOffset } from '../internals/utils/getPinnedCellOffset';
27
- import { jsx as _jsx } from "react/jsx-runtime";
28
- import { jsxs as _jsxs } from "react/jsx-runtime";
27
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
29
28
  const useUtilityClasses = ownerState => {
30
29
  const {
31
30
  editable,
@@ -366,6 +365,7 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
366
365
  }).isRequired,
367
366
  hasScrollX: PropTypes.bool.isRequired,
368
367
  hasScrollY: PropTypes.bool.isRequired,
368
+ headerFilterHeight: PropTypes.number.isRequired,
369
369
  headerHeight: PropTypes.number.isRequired,
370
370
  headersTotalHeight: PropTypes.number.isRequired,
371
371
  isReady: PropTypes.bool.isRequired,
@@ -82,7 +82,7 @@ function GridScrollAreaRaw(props) {
82
82
  scrollDirection
83
83
  });
84
84
  const classes = useUtilityClasses(ownerState);
85
- const totalHeaderHeight = getTotalHeaderHeight(apiRef, rootProps.columnHeaderHeight);
85
+ const totalHeaderHeight = getTotalHeaderHeight(apiRef, rootProps);
86
86
  const headerHeight = Math.floor(rootProps.columnHeaderHeight * densityFactor);
87
87
  const style = {
88
88
  height: headerHeight,
@@ -10,8 +10,7 @@ import { gridClasses } from '../../constants/gridClasses';
10
10
  import { GridMenu } from '../menu/GridMenu';
11
11
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
12
12
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
14
  const hasActions = colDef => typeof colDef.getActions === 'function';
16
15
  function GridActionsCell(props) {
17
16
  const {
@@ -7,8 +7,7 @@ import PropTypes from 'prop-types';
7
7
  import MenuItem from '@mui/material/MenuItem';
8
8
  import ListItemIcon from '@mui/material/ListItemIcon';
9
9
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
11
  const GridActionsCellItem = /*#__PURE__*/React.forwardRef((props, ref) => {
13
12
  const rootProps = useGridRootProps();
14
13
  if (!props.showInMenu) {
@@ -10,8 +10,7 @@ import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
10
10
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
11
11
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
12
12
  import { GridIconButtonContainer } from './GridIconButtonContainer';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
14
  const useUtilityClasses = ownerState => {
16
15
  const {
17
16
  classes
@@ -1,19 +1,19 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
+ import clsx from 'clsx';
4
5
  import { unstable_composeClasses as composeClasses, unstable_useId as useId } from '@mui/utils';
5
6
  import { fastMemo } from '../../utils/fastMemo';
6
7
  import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiContext';
7
8
  import { GridColumnHeaderSortIcon } from './GridColumnHeaderSortIcon';
8
9
  import { ColumnHeaderMenuIcon } from './ColumnHeaderMenuIcon';
9
10
  import { GridColumnHeaderMenu } from '../menu/columnMenu/GridColumnHeaderMenu';
10
- import { getDataGridUtilityClass } from '../../constants/gridClasses';
11
+ import { gridClasses, getDataGridUtilityClass } from '../../constants/gridClasses';
11
12
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
12
13
  import { GridGenericColumnHeaderItem } from './GridGenericColumnHeaderItem';
13
14
  import { isEventTargetInPortal } from '../../utils/domUtils';
14
15
  import { shouldCellShowLeftBorder, shouldCellShowRightBorder } from '../../utils/cellBorderUtils';
15
- import { jsx as _jsx } from "react/jsx-runtime";
16
- import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
17
  const useUtilityClasses = ownerState => {
18
18
  const {
19
19
  colDef,
@@ -44,6 +44,7 @@ function GridColumnHeaderItem(props) {
44
44
  colIndex,
45
45
  headerHeight,
46
46
  isResizing,
47
+ isLast,
47
48
  sortDirection,
48
49
  sortIndex,
49
50
  filterItemsCounter,
@@ -182,7 +183,7 @@ function GridColumnHeaderItem(props) {
182
183
  width: colDef.computedWidth,
183
184
  columnMenuIconButton: columnMenuIconButton,
184
185
  columnTitleIconButtons: columnTitleIconButtons,
185
- headerClassName: headerClassName,
186
+ headerClassName: clsx(headerClassName, isLast && gridClasses['columnHeader--last']),
186
187
  label: label,
187
188
  resizable: !rootProps.disableColumnResize && !!colDef.resizable,
188
189
  "data-field": colDef.field,
@@ -207,6 +208,7 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaderItem.propTypes = {
207
208
  headerHeight: PropTypes.number.isRequired,
208
209
  indexInSection: PropTypes.number.isRequired,
209
210
  isDragging: PropTypes.bool.isRequired,
211
+ isLast: PropTypes.bool.isRequired,
210
212
  isResizing: PropTypes.bool.isRequired,
211
213
  pinnedPosition: PropTypes.oneOf(['left', 'right']),
212
214
  sectionLength: PropTypes.number.isRequired,
@@ -48,7 +48,7 @@ function GridColumnHeaderSeparatorRaw(props) {
48
48
  className: classes.root,
49
49
  style: {
50
50
  minHeight: height,
51
- opacity: rootProps.showColumnVerticalBorder ? 1 : 0
51
+ opacity: rootProps.showColumnVerticalBorder ? 0 : 1
52
52
  }
53
53
  }, other, {
54
54
  onClick: stopClick,
@@ -7,8 +7,7 @@ import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
7
7
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
8
8
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
9
9
  import { GridIconButtonContainer } from './GridIconButtonContainer';
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
11
  const useUtilityClasses = ownerState => {
13
12
  const {
14
13
  classes
@@ -8,8 +8,7 @@ import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiCon
8
8
  import { GridColumnHeaderTitle } from './GridColumnHeaderTitle';
9
9
  import { GridColumnHeaderSeparator } from './GridColumnHeaderSeparator';
10
10
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
12
  const GridGenericColumnHeaderItem = /*#__PURE__*/React.forwardRef(function GridGenericColumnHeaderItem(props, ref) {
14
13
  const {
15
14
  classes,
@@ -12,8 +12,7 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
12
12
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
13
13
  import { useLazyRef } from '../../hooks/utils/useLazyRef';
14
14
  import { checkColumnVisibilityModelsSame, defaultSearchPredicate } from './utils';
15
- import { jsx as _jsx } from "react/jsx-runtime";
16
- import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
16
  const useUtilityClasses = ownerState => {
18
17
  const {
19
18
  classes
@@ -12,8 +12,7 @@ import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiCon
12
12
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
13
13
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
14
14
  import { gridDensitySelector } from '../../hooks/features/density/densitySelector';
15
- import { jsx as _jsx } from "react/jsx-runtime";
16
- import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
16
  const useUtilityClasses = ownerState => {
18
17
  const {
19
18
  autoHeight,
@@ -274,7 +274,9 @@ export const GridRootStyles = styled('div', {
274
274
  [`& .${c.columnHeader}`]: {
275
275
  position: 'relative',
276
276
  display: 'flex',
277
- alignItems: 'center',
277
+ alignItems: 'center'
278
+ },
279
+ [`& .${c['columnHeader--last']}`]: {
278
280
  overflow: 'hidden'
279
281
  },
280
282
  [`& .${c['columnHeader--sorted']} .${c.iconButtonContainer}, & .${c['columnHeader--filtered']} .${c.iconButtonContainer}`]: {
@@ -13,7 +13,7 @@ export * from './GridFooter';
13
13
  export * from './GridHeader';
14
14
  export * from './GridLoadingOverlay';
15
15
  export * from './GridNoRowsOverlay';
16
- export * from './GridPagination';
16
+ export { GridPagination } from './GridPagination';
17
17
  export * from './GridRowCount';
18
18
  export * from './GridRow';
19
19
  export * from './GridSelectedRowCount';
@@ -3,8 +3,7 @@ import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { GridColumnMenuHideItem } from './GridColumnMenuHideItem';
5
5
  import { GridColumnMenuManageItem } from './GridColumnMenuManageItem';
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- import { jsxs as _jsxs } from "react/jsx-runtime";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
7
  function GridColumnMenuColumnsItem(props) {
9
8
  return /*#__PURE__*/_jsxs(React.Fragment, {
10
9
  children: [/*#__PURE__*/_jsx(GridColumnMenuHideItem, _extends({}, props)), /*#__PURE__*/_jsx(GridColumnMenuManageItem, _extends({}, props))]
@@ -5,8 +5,7 @@ import ListItemIcon from '@mui/material/ListItemIcon';
5
5
  import ListItemText from '@mui/material/ListItemText';
6
6
  import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
7
7
  import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
9
  function GridColumnMenuFilterItem(props) {
11
10
  const {
12
11
  colDef,
@@ -6,8 +6,7 @@ import ListItemText from '@mui/material/ListItemText';
6
6
  import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
7
7
  import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
8
8
  import { gridVisibleColumnDefinitionsSelector } from '../../../../hooks/features/columns';
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- import { jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
10
  function GridColumnMenuHideItem(props) {
12
11
  const {
13
12
  colDef,
@@ -6,8 +6,7 @@ import ListItemText from '@mui/material/ListItemText';
6
6
  import { GridPreferencePanelsValue } from '../../../../hooks/features/preferencesPanel/gridPreferencePanelsValue';
7
7
  import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
8
8
  import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- import { jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
10
  function GridColumnMenuManageItem(props) {
12
11
  const {
13
12
  onClick
@@ -7,8 +7,7 @@ import { useGridSelector } from '../../../../hooks/utils/useGridSelector';
7
7
  import { gridSortModelSelector } from '../../../../hooks/features/sorting/gridSortingSelector';
8
8
  import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
9
9
  import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
11
  function GridColumnMenuSortItem(props) {
13
12
  const {
14
13
  colDef,
@@ -33,7 +33,9 @@ const GridPaperRoot = styled(Paper, {
33
33
  backgroundColor: (theme.vars || theme).palette.background.paper,
34
34
  minWidth: 300,
35
35
  maxHeight: 450,
36
- display: 'flex'
36
+ display: 'flex',
37
+ maxWidth: `calc(100vw - ${theme.spacing(0.5)})`,
38
+ overflow: 'auto'
37
39
  }));
38
40
  const GridPanel = /*#__PURE__*/React.forwardRef((props, ref) => {
39
41
  const {
@@ -15,9 +15,8 @@ import { useGridApiContext } from '../../../hooks/utils/useGridApiContext';
15
15
  import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
16
16
  import { getDataGridUtilityClass } from '../../../constants/gridClasses';
17
17
  import { getValueFromValueOptions, getValueOptions } from './filterPanelUtils';
18
- import { jsx as _jsx } from "react/jsx-runtime";
18
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
19
  import { createElement as _createElement } from "react";
20
- import { jsxs as _jsxs } from "react/jsx-runtime";
21
20
  const useUtilityClasses = ownerState => {
22
21
  const {
23
22
  classes
@@ -6,8 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import { refType, unstable_useId as useId } from '@mui/utils';
7
7
  import { styled } from '@mui/material/styles';
8
8
  import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- import { jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
10
  const BooleanOperatorContainer = styled('div')({
12
11
  display: 'flex',
13
12
  alignItems: 'center',
@@ -15,14 +15,14 @@ function convertFilterItemValueToInputValue(itemValue, inputType) {
15
15
  if (Number.isNaN(dateCopy.getTime())) {
16
16
  return '';
17
17
  }
18
- // The date picker expects the date to be in the local timezone.
19
- // But .toISOString() converts it to UTC with zero offset.
20
- // So we need to subtract the timezone offset.
21
- dateCopy.setMinutes(dateCopy.getMinutes() - dateCopy.getTimezoneOffset());
22
18
  if (inputType === 'date') {
23
19
  return dateCopy.toISOString().substring(0, 10);
24
20
  }
25
21
  if (inputType === 'datetime-local') {
22
+ // The date picker expects the date to be in the local timezone.
23
+ // But .toISOString() converts it to UTC with zero offset.
24
+ // So we need to subtract the timezone offset.
25
+ dateCopy.setMinutes(dateCopy.getMinutes() - dateCopy.getTimezoneOffset());
26
26
  return dateCopy.toISOString().substring(0, 19);
27
27
  }
28
28
  return dateCopy.toISOString().substring(0, 10);
@@ -8,8 +8,7 @@ import { styled } from '@mui/material/styles';
8
8
  import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
9
9
  import { getValueFromValueOptions, getValueOptions, isSingleSelectColDef } from './filterPanelUtils';
10
10
  import { createElement as _createElement } from "react";
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
12
  const renderSingleSelectOptions = ({
14
13
  column,
15
14
  OptionComponent,
@@ -13,8 +13,7 @@ import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
13
13
  import { useGridSelector } from '../../../hooks/utils/useGridSelector';
14
14
  import { gridFilterModelSelector } from '../../../hooks/features/filter/gridFilterSelector';
15
15
  import { gridFilterableColumnDefinitionsSelector, gridFilterableColumnLookupSelector } from '../../../hooks/features/columns/gridColumnsSelector';
16
- import { jsx as _jsx } from "react/jsx-runtime";
17
- import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
17
  const getGridFilter = col => ({
19
18
  field: col.field,
20
19
  operator: col.filterOperators[0].value,
@@ -11,8 +11,7 @@ import { GridToolbarFilterButton } from './GridToolbarFilterButton';
11
11
  import { GridToolbarExport } from './GridToolbarExport';
12
12
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
13
13
  import { GridToolbarQuickFilter } from './GridToolbarQuickFilter';
14
- import { jsx as _jsx } from "react/jsx-runtime";
15
- import { jsxs as _jsxs } from "react/jsx-runtime";
14
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
15
  const GridToolbar = /*#__PURE__*/React.forwardRef(function GridToolbar(props, ref) {
17
16
  // TODO v7: think about where export option should be passed.
18
17
  // from slotProps={{ toolbarExport: { ...exportOption } }} seems to be more appropriate
@@ -12,8 +12,7 @@ import { useGridSelector } from '../../hooks/utils/useGridSelector';
12
12
  import { GridMenu } from '../menu/GridMenu';
13
13
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
14
14
  import { gridClasses } from '../../constants/gridClasses';
15
- import { jsx as _jsx } from "react/jsx-runtime";
16
- import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
16
  const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
18
17
  const {
19
18
  slotProps = {}
@@ -8,8 +8,7 @@ import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
8
8
  import { GridMenu } from '../menu/GridMenu';
9
9
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
10
10
  import { gridClasses } from '../../constants/gridClasses';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- import { jsxs as _jsxs } from "react/jsx-runtime";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
12
  const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
14
13
  const {
15
14
  children,
@@ -12,8 +12,7 @@ import { GridPreferencePanelsValue } from '../../hooks/features/preferencesPanel
12
12
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
13
13
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
14
14
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
15
- import { jsx as _jsx } from "react/jsx-runtime";
16
- import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
16
  const useUtilityClasses = ownerState => {
18
17
  const {
19
18
  classes
@@ -18,8 +18,7 @@ import { GridVirtualScrollerContent as Content } from './GridVirtualScrollerCont
18
18
  import { GridVirtualScrollerFiller as SpaceFiller } from './GridVirtualScrollerFiller';
19
19
  import { GridVirtualScrollerRenderZone as RenderZone } from './GridVirtualScrollerRenderZone';
20
20
  import { GridVirtualScrollbar as Scrollbar } from './GridVirtualScrollbar';
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
  const useUtilityClasses = (ownerState, dimensions) => {
24
23
  const {
25
24
  classes
@@ -5,8 +5,7 @@ import { useGridSelector } from '../../hooks/utils/useGridSelector';
5
5
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
6
6
  import { gridDimensionsSelector } from '../../hooks/features/dimensions';
7
7
  import { gridClasses } from '../../constants';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
9
  const Filler = styled('div')({
11
10
  display: 'flex',
12
11
  flexDirection: 'row',