@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,6 +8,7 @@ exports.useGridColumnResize = exports.columnResizeStateInitializer = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _utils = require("@mui/utils");
11
+ var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
11
12
  var _styles = require("@mui/material/styles");
12
13
  var _domUtils = require("../../../utils/domUtils");
13
14
  var _gridColumnResizeApi = require("./gridColumnResizeApi");
@@ -20,7 +21,7 @@ var _useTimeout = require("../../utils/useTimeout");
20
21
  var _gridColumnsInterfaces = require("../columns/gridColumnsInterfaces");
21
22
  var _columns = require("../columns");
22
23
  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); }
23
- 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; }
24
+ 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; }
24
25
  // TODO: remove support for Safari < 13.
25
26
  // https://caniuse.com/#search=touch-action
26
27
  //
@@ -182,26 +183,34 @@ const columnResizeStateInitializer = state => (0, _extends2.default)({}, state,
182
183
  resizingColumnField: ''
183
184
  }
184
185
  });
186
+ exports.columnResizeStateInitializer = columnResizeStateInitializer;
187
+ function createResizeRefs() {
188
+ return {
189
+ colDef: undefined,
190
+ initialColWidth: 0,
191
+ initialTotalWidth: 0,
192
+ previousMouseClickEvent: undefined,
193
+ columnHeaderElement: undefined,
194
+ headerFilterElement: undefined,
195
+ groupHeaderElements: [],
196
+ cellElements: [],
197
+ leftPinnedCellsAfter: [],
198
+ rightPinnedCellsBefore: [],
199
+ fillerLeft: undefined,
200
+ fillerRight: undefined,
201
+ leftPinnedHeadersAfter: [],
202
+ rightPinnedHeadersBefore: []
203
+ };
204
+ }
205
+
185
206
  /**
186
207
  * @requires useGridColumns (method, event)
187
208
  * TODO: improve experience for last column
188
209
  */
189
- exports.columnResizeStateInitializer = columnResizeStateInitializer;
190
210
  const useGridColumnResize = (apiRef, props) => {
191
211
  const theme = (0, _styles.useTheme)();
192
212
  const logger = (0, _utils2.useGridLogger)(apiRef, 'useGridColumnResize');
193
- const colDefRef = React.useRef();
194
- const previousMouseClickEvent = React.useRef();
195
- const columnHeaderElementRef = React.useRef();
196
- const headerFilterElementRef = React.useRef();
197
- const groupHeaderElementsRef = React.useRef([]);
198
- const cellElementsRef = React.useRef([]);
199
- const leftPinnedCellsAfterRef = React.useRef([]);
200
- const rightPinnedCellsBeforeRef = React.useRef([]);
201
- const fillerLeftRef = React.useRef();
202
- const fillerRightRef = React.useRef();
203
- const leftPinnedHeadersAfterRef = React.useRef([]);
204
- const rightPinnedHeadersBeforeRef = React.useRef([]);
213
+ const refs = (0, _useLazyRef.default)(createResizeRefs).current;
205
214
 
206
215
  // To improve accessibility, the separator has padding on both sides.
207
216
  // Clicking inside the padding area should be treated as a click in the separator.
@@ -211,22 +220,25 @@ const useGridColumnResize = (apiRef, props) => {
211
220
  const stopResizeEventTimeout = (0, _useTimeout.useTimeout)();
212
221
  const touchId = React.useRef();
213
222
  const updateWidth = newWidth => {
214
- logger.debug(`Updating width to ${newWidth} for col ${colDefRef.current.field}`);
215
- const prevWidth = columnHeaderElementRef.current.offsetWidth;
223
+ logger.debug(`Updating width to ${newWidth} for col ${refs.colDef.field}`);
224
+ const prevWidth = refs.columnHeaderElement.offsetWidth;
216
225
  const widthDiff = newWidth - prevWidth;
217
- colDefRef.current.computedWidth = newWidth;
218
- colDefRef.current.width = newWidth;
219
- colDefRef.current.flex = 0;
220
- columnHeaderElementRef.current.style.width = `${newWidth}px`;
221
- columnHeaderElementRef.current.style.minWidth = `${newWidth}px`;
222
- columnHeaderElementRef.current.style.maxWidth = `${newWidth}px`;
223
- const headerFilterElement = headerFilterElementRef.current;
226
+ const columnWidthDiff = newWidth - refs.initialColWidth;
227
+ const newTotalWidth = refs.initialTotalWidth + columnWidthDiff;
228
+ apiRef.current.rootElementRef?.current?.style.setProperty('--DataGrid-rowWidth', `${newTotalWidth}px`);
229
+ refs.colDef.computedWidth = newWidth;
230
+ refs.colDef.width = newWidth;
231
+ refs.colDef.flex = 0;
232
+ refs.columnHeaderElement.style.width = `${newWidth}px`;
233
+ refs.columnHeaderElement.style.minWidth = `${newWidth}px`;
234
+ refs.columnHeaderElement.style.maxWidth = `${newWidth}px`;
235
+ const headerFilterElement = refs.headerFilterElement;
224
236
  if (headerFilterElement) {
225
237
  headerFilterElement.style.width = `${newWidth}px`;
226
238
  headerFilterElement.style.minWidth = `${newWidth}px`;
227
239
  headerFilterElement.style.maxWidth = `${newWidth}px`;
228
240
  }
229
- groupHeaderElementsRef.current.forEach(element => {
241
+ refs.groupHeaderElements.forEach(element => {
230
242
  const div = element;
231
243
  let finalWidth;
232
244
  if (div.getAttribute('aria-colspan') === '1') {
@@ -240,7 +252,7 @@ const useGridColumnResize = (apiRef, props) => {
240
252
  div.style.minWidth = finalWidth;
241
253
  div.style.maxWidth = finalWidth;
242
254
  });
243
- cellElementsRef.current.forEach(element => {
255
+ refs.cellElements.forEach(element => {
244
256
  const div = element;
245
257
  let finalWidth;
246
258
  if (div.getAttribute('aria-colspan') === '1') {
@@ -252,22 +264,22 @@ const useGridColumnResize = (apiRef, props) => {
252
264
  }
253
265
  div.style.setProperty('--width', finalWidth);
254
266
  });
255
- const pinnedPosition = apiRef.current.unstable_applyPipeProcessors('isColumnPinned', false, colDefRef.current.field);
267
+ const pinnedPosition = apiRef.current.unstable_applyPipeProcessors('isColumnPinned', false, refs.colDef.field);
256
268
  if (pinnedPosition === _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT) {
257
- updateProperty(fillerLeftRef.current, 'width', widthDiff);
258
- leftPinnedCellsAfterRef.current.forEach(cell => {
269
+ updateProperty(refs.fillerLeft, 'width', widthDiff);
270
+ refs.leftPinnedCellsAfter.forEach(cell => {
259
271
  updateProperty(cell, 'left', widthDiff);
260
272
  });
261
- leftPinnedHeadersAfterRef.current.forEach(header => {
273
+ refs.leftPinnedHeadersAfter.forEach(header => {
262
274
  updateProperty(header, 'left', widthDiff);
263
275
  });
264
276
  }
265
277
  if (pinnedPosition === _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT) {
266
- updateProperty(fillerRightRef.current, 'width', widthDiff);
267
- rightPinnedCellsBeforeRef.current.forEach(cell => {
278
+ updateProperty(refs.fillerRight, 'width', widthDiff);
279
+ refs.rightPinnedCellsBefore.forEach(cell => {
268
280
  updateProperty(cell, 'right', widthDiff);
269
281
  });
270
- rightPinnedHeadersBeforeRef.current.forEach(header => {
282
+ refs.rightPinnedHeadersBefore.forEach(header => {
271
283
  updateProperty(header, 'right', widthDiff);
272
284
  });
273
285
  }
@@ -277,21 +289,36 @@ const useGridColumnResize = (apiRef, props) => {
277
289
  stopListening();
278
290
 
279
291
  // Prevent double-clicks from being interpreted as two separate clicks
280
- if (previousMouseClickEvent.current) {
281
- const prevEvent = previousMouseClickEvent.current;
292
+ if (refs.previousMouseClickEvent) {
293
+ const prevEvent = refs.previousMouseClickEvent;
282
294
  const prevTimeStamp = prevEvent.timeStamp;
283
295
  const prevClientX = prevEvent.clientX;
284
296
  const prevClientY = prevEvent.clientY;
285
297
 
286
298
  // Check if the current event is part of a double-click
287
299
  if (nativeEvent.timeStamp - prevTimeStamp < 300 && nativeEvent.clientX === prevClientX && nativeEvent.clientY === prevClientY) {
288
- previousMouseClickEvent.current = undefined;
300
+ refs.previousMouseClickEvent = undefined;
289
301
  return;
290
302
  }
291
303
  }
292
- if (colDefRef.current) {
293
- apiRef.current.setColumnWidth(colDefRef.current.field, colDefRef.current.width);
294
- logger.debug(`Updating col ${colDefRef.current.field} with new width: ${colDefRef.current.width}`);
304
+ if (refs.colDef) {
305
+ apiRef.current.setColumnWidth(refs.colDef.field, refs.colDef.width);
306
+ logger.debug(`Updating col ${refs.colDef.field} with new width: ${refs.colDef.width}`);
307
+ const columnsState = (0, _columns.gridColumnsStateSelector)(apiRef.current.state);
308
+ refs.groupHeaderElements.forEach(element => {
309
+ const fields = (0, _domUtils.getFieldsFromGroupHeaderElem)(element);
310
+ const div = element;
311
+ const newWidth = fields.reduce((acc, field) => {
312
+ if (columnsState.columnVisibilityModel[field] !== false) {
313
+ return acc + columnsState.lookup[field].computedWidth;
314
+ }
315
+ return acc;
316
+ }, 0);
317
+ const finalWidth = `${newWidth}px`;
318
+ div.style.width = finalWidth;
319
+ div.style.minWidth = finalWidth;
320
+ div.style.maxWidth = finalWidth;
321
+ });
295
322
  }
296
323
  stopResizeEventTimeout.start(0, () => {
297
324
  apiRef.current.publishEvent('columnResizeStop', null, nativeEvent);
@@ -299,23 +326,25 @@ const useGridColumnResize = (apiRef, props) => {
299
326
  };
300
327
  const storeReferences = (colDef, separator, xStart) => {
301
328
  const root = apiRef.current.rootElementRef.current;
302
- colDefRef.current = colDef;
303
- columnHeaderElementRef.current = (0, _domUtils.findHeaderElementFromField)(apiRef.current.columnHeadersContainerRef.current, colDef.field);
329
+ refs.initialColWidth = colDef.computedWidth;
330
+ refs.initialTotalWidth = apiRef.current.getRootDimensions().rowWidth;
331
+ refs.colDef = colDef;
332
+ refs.columnHeaderElement = (0, _domUtils.findHeaderElementFromField)(apiRef.current.columnHeadersContainerRef.current, colDef.field);
304
333
  const headerFilterElement = root.querySelector(`.${_gridClasses.gridClasses.headerFilterRow} [data-field="${colDef.field}"]`);
305
334
  if (headerFilterElement) {
306
- headerFilterElementRef.current = headerFilterElement;
335
+ refs.headerFilterElement = headerFilterElement;
307
336
  }
308
- groupHeaderElementsRef.current = (0, _domUtils.findGroupHeaderElementsFromField)(apiRef.current.columnHeadersContainerRef?.current, colDef.field);
309
- cellElementsRef.current = (0, _domUtils.findGridCellElementsFromCol)(columnHeaderElementRef.current, apiRef.current);
310
- fillerLeftRef.current = (0, _domUtils.findGridElement)(apiRef.current, 'filler--pinnedLeft');
311
- fillerRightRef.current = (0, _domUtils.findGridElement)(apiRef.current, 'filler--pinnedRight');
312
- const pinnedPosition = apiRef.current.unstable_applyPipeProcessors('isColumnPinned', false, colDefRef.current.field);
313
- leftPinnedCellsAfterRef.current = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT ? [] : (0, _domUtils.findLeftPinnedCellsAfterCol)(apiRef.current, columnHeaderElementRef.current);
314
- rightPinnedCellsBeforeRef.current = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT ? [] : (0, _domUtils.findRightPinnedCellsBeforeCol)(apiRef.current, columnHeaderElementRef.current);
315
- leftPinnedHeadersAfterRef.current = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT ? [] : (0, _domUtils.findLeftPinnedHeadersAfterCol)(apiRef.current, columnHeaderElementRef.current);
316
- rightPinnedHeadersBeforeRef.current = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT ? [] : (0, _domUtils.findRightPinnedHeadersBeforeCol)(apiRef.current, columnHeaderElementRef.current);
337
+ refs.groupHeaderElements = (0, _domUtils.findGroupHeaderElementsFromField)(apiRef.current.columnHeadersContainerRef?.current, colDef.field);
338
+ refs.cellElements = (0, _domUtils.findGridCellElementsFromCol)(refs.columnHeaderElement, apiRef.current);
339
+ refs.fillerLeft = (0, _domUtils.findGridElement)(apiRef.current, 'filler--pinnedLeft');
340
+ refs.fillerRight = (0, _domUtils.findGridElement)(apiRef.current, 'filler--pinnedRight');
341
+ const pinnedPosition = apiRef.current.unstable_applyPipeProcessors('isColumnPinned', false, refs.colDef.field);
342
+ refs.leftPinnedCellsAfter = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT ? [] : (0, _domUtils.findLeftPinnedCellsAfterCol)(apiRef.current, refs.columnHeaderElement);
343
+ refs.rightPinnedCellsBefore = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT ? [] : (0, _domUtils.findRightPinnedCellsBeforeCol)(apiRef.current, refs.columnHeaderElement);
344
+ refs.leftPinnedHeadersAfter = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT ? [] : (0, _domUtils.findLeftPinnedHeadersAfterCol)(apiRef.current, refs.columnHeaderElement);
345
+ refs.rightPinnedHeadersBefore = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT ? [] : (0, _domUtils.findRightPinnedHeadersBeforeCol)(apiRef.current, refs.columnHeaderElement);
317
346
  resizeDirection.current = getResizeDirection(separator, theme.direction);
318
- initialOffsetToSeparator.current = computeOffsetToSeparator(xStart, columnHeaderElementRef.current.getBoundingClientRect(), resizeDirection.current);
347
+ initialOffsetToSeparator.current = computeOffsetToSeparator(xStart, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
319
348
  };
320
349
  const handleResizeMouseUp = (0, _utils.unstable_useEventCallback)(finishResize);
321
350
  const handleResizeMouseMove = (0, _utils.unstable_useEventCallback)(nativeEvent => {
@@ -324,12 +353,12 @@ const useGridColumnResize = (apiRef, props) => {
324
353
  handleResizeMouseUp(nativeEvent);
325
354
  return;
326
355
  }
327
- let newWidth = computeNewWidth(initialOffsetToSeparator.current, nativeEvent.clientX, columnHeaderElementRef.current.getBoundingClientRect(), resizeDirection.current);
328
- newWidth = (0, _utils3.clamp)(newWidth, colDefRef.current.minWidth, colDefRef.current.maxWidth);
356
+ let newWidth = computeNewWidth(initialOffsetToSeparator.current, nativeEvent.clientX, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
357
+ newWidth = (0, _utils3.clamp)(newWidth, refs.colDef.minWidth, refs.colDef.maxWidth);
329
358
  updateWidth(newWidth);
330
359
  const params = {
331
- element: columnHeaderElementRef.current,
332
- colDef: colDefRef.current,
360
+ element: refs.columnHeaderElement,
361
+ colDef: refs.colDef,
333
362
  width: newWidth
334
363
  };
335
364
  apiRef.current.publishEvent('columnResize', params, nativeEvent);
@@ -352,12 +381,12 @@ const useGridColumnResize = (apiRef, props) => {
352
381
  handleTouchEnd(nativeEvent);
353
382
  return;
354
383
  }
355
- let newWidth = computeNewWidth(initialOffsetToSeparator.current, finger.x, columnHeaderElementRef.current.getBoundingClientRect(), resizeDirection.current);
356
- newWidth = (0, _utils3.clamp)(newWidth, colDefRef.current.minWidth, colDefRef.current.maxWidth);
384
+ let newWidth = computeNewWidth(initialOffsetToSeparator.current, finger.x, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
385
+ newWidth = (0, _utils3.clamp)(newWidth, refs.colDef.minWidth, refs.colDef.maxWidth);
357
386
  updateWidth(newWidth);
358
387
  const params = {
359
- element: columnHeaderElementRef.current,
360
- colDef: colDefRef.current,
388
+ element: refs.columnHeaderElement,
389
+ colDef: refs.colDef,
361
390
  width: newWidth
362
391
  };
363
392
  apiRef.current.publishEvent('columnResize', params, nativeEvent);
@@ -401,10 +430,10 @@ const useGridColumnResize = (apiRef, props) => {
401
430
  setTimeout(() => {
402
431
  doc.removeEventListener('click', preventClick, true);
403
432
  }, 100);
404
- if (columnHeaderElementRef.current) {
405
- columnHeaderElementRef.current.style.pointerEvents = 'unset';
433
+ if (refs.columnHeaderElement) {
434
+ refs.columnHeaderElement.style.pointerEvents = 'unset';
406
435
  }
407
- }, [apiRef, columnHeaderElementRef, handleResizeMouseMove, handleResizeMouseUp, handleTouchMove, handleTouchEnd]);
436
+ }, [apiRef, refs, handleResizeMouseMove, handleResizeMouseUp, handleTouchMove, handleTouchEnd]);
408
437
  const handleResizeStart = React.useCallback(({
409
438
  field
410
439
  }) => {
@@ -445,7 +474,7 @@ const useGridColumnResize = (apiRef, props) => {
445
474
  storeReferences(colDef, event.currentTarget, event.clientX);
446
475
  const doc = (0, _utils.unstable_ownerDocument)(apiRef.current.rootElementRef.current);
447
476
  doc.body.style.cursor = 'col-resize';
448
- previousMouseClickEvent.current = event.nativeEvent;
477
+ refs.previousMouseClickEvent = event.nativeEvent;
449
478
  doc.addEventListener('mousemove', handleResizeMouseMove);
450
479
  doc.addEventListener('mouseup', handleResizeMouseUp);
451
480
 
@@ -122,7 +122,7 @@ function computeFlexColumnsWidth({
122
122
  * TODO: Unit test this function in depth and only keep basic cases for the whole grid testing.
123
123
  * TODO: Improve the `GridColDef` typing to reflect the fact that `minWidth` / `maxWidth` and `width` can't be null after the merge with the `type` default values.
124
124
  */
125
- const hydrateColumnsWidth = (rawState, viewportInnerWidth) => {
125
+ const hydrateColumnsWidth = (rawState, dimensions) => {
126
126
  const columnsLookup = {};
127
127
  let totalFlexUnits = 0;
128
128
  let widthAllocatedBeforeFlex = 0;
@@ -148,10 +148,11 @@ const hydrateColumnsWidth = (rawState, viewportInnerWidth) => {
148
148
  }
149
149
  columnsLookup[columnField] = newColumn;
150
150
  });
151
- const initialFreeSpace = Math.max(viewportInnerWidth - widthAllocatedBeforeFlex, 0);
151
+ const availableWidth = dimensions === undefined ? 0 : dimensions.viewportOuterSize.width - (dimensions.hasScrollY ? dimensions.scrollbarSize : 0);
152
+ const initialFreeSpace = Math.max(availableWidth - widthAllocatedBeforeFlex, 0);
152
153
 
153
154
  // Allocate the remaining space to the flex columns
154
- if (totalFlexUnits > 0 && viewportInnerWidth > 0) {
155
+ if (totalFlexUnits > 0 && availableWidth > 0) {
155
156
  const computedColumnWidths = computeFlexColumnsWidth({
156
157
  initialFreeSpace,
157
158
  totalFlexUnits,
@@ -296,7 +297,7 @@ const createColumnsState = ({
296
297
  }
297
298
  const columnsStateWithPreProcessing = apiRef.current.unstable_applyPipeProcessors('hydrateColumns', columnsState);
298
299
  const columnsStateWithPortableColumns = applyInitialState(columnsStateWithPreProcessing, initialState);
299
- return hydrateColumnsWidth(columnsStateWithPortableColumns, apiRef.current.getRootDimensions?.().viewportInnerSize.width ?? 0);
300
+ return hydrateColumnsWidth(columnsStateWithPortableColumns, apiRef.current.getRootDimensions?.() ?? undefined);
300
301
  };
301
302
  exports.createColumnsState = createColumnsState;
302
303
  function getFirstNonSpannedColumnToRender({
@@ -319,10 +320,11 @@ function getFirstNonSpannedColumnToRender({
319
320
  }
320
321
  return firstNonSpannedColumnToRender;
321
322
  }
322
- function getTotalHeaderHeight(apiRef, headerHeight) {
323
+ function getTotalHeaderHeight(apiRef, props) {
323
324
  const densityFactor = (0, _densitySelector.gridDensityFactorSelector)(apiRef);
324
325
  const maxDepth = (0, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector)(apiRef);
325
326
  const isHeaderFilteringEnabled = (0, _gridHeaderFilteringSelectors.gridHeaderFilteringEnabledSelector)(apiRef);
326
- const multiplicationFactor = isHeaderFilteringEnabled ? 2 : 1;
327
- return Math.floor(headerHeight * densityFactor) * ((maxDepth ?? 0) + multiplicationFactor);
327
+ const columnHeadersHeight = Math.floor(props.columnHeaderHeight * densityFactor);
328
+ const filterHeadersHeight = isHeaderFilteringEnabled ? Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor) : 0;
329
+ return columnHeadersHeight * (1 + (maxDepth ?? 0)) + filterHeadersHeight;
328
330
  }
@@ -8,7 +8,7 @@ var React = _interopRequireWildcard(require("react"));
8
8
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
9
9
  var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
10
10
  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); }
11
- 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; }
11
+ 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; }
12
12
  /**
13
13
  * @requires useGridColumns (method, event)
14
14
  * @requires useGridParamsApi (method)
@@ -18,7 +18,7 @@ var _gridColumnsUtils = require("./gridColumnsUtils");
18
18
  var _preferencesPanel = require("../preferencesPanel");
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 columnsStateInitializer = (state, props, apiRef) => {
23
23
  const columnsState = (0, _gridColumnsUtils.createColumnsState)({
24
24
  apiRef,
@@ -144,7 +144,7 @@ function useGridColumns(apiRef, props) {
144
144
  lookup: (0, _extends2.default)({}, columnsState.lookup, {
145
145
  [field]: newColumn
146
146
  })
147
- }), apiRef.current.getRootDimensions().viewportInnerSize.width));
147
+ }), apiRef.current.getRootDimensions()));
148
148
  apiRef.current.publishEvent('columnWidthChange', {
149
149
  element: apiRef.current.getColumnHeaderElement(field),
150
150
  colDef: newColumn,
@@ -248,14 +248,15 @@ function useGridColumns(apiRef, props) {
248
248
  (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'restoreState', stateRestorePreProcessing);
249
249
  (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'preferencePanel', preferencePanelPreProcessing);
250
250
 
251
- /**
251
+ /*
252
252
  * EVENTS
253
253
  */
254
+
254
255
  const prevInnerWidth = React.useRef(null);
255
256
  const handleGridSizeChange = viewportInnerSize => {
256
257
  if (prevInnerWidth.current !== viewportInnerSize.width) {
257
258
  prevInnerWidth.current = viewportInnerSize.width;
258
- setGridColumnsState((0, _gridColumnsUtils.hydrateColumnsWidth)((0, _gridColumnsSelector.gridColumnsStateSelector)(apiRef.current.state), viewportInnerSize.width));
259
+ setGridColumnsState((0, _gridColumnsUtils.hydrateColumnsWidth)((0, _gridColumnsSelector.gridColumnsStateSelector)(apiRef.current.state), apiRef.current.getRootDimensions()));
259
260
  }
260
261
  };
261
262
  (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'viewportInnerSizeChange', handleGridSizeChange);
@@ -275,7 +276,7 @@ function useGridColumns(apiRef, props) {
275
276
  }, [apiRef, logger, setGridColumnsState]);
276
277
  (0, _pipeProcessing.useGridRegisterPipeApplier)(apiRef, 'hydrateColumns', hydrateColumns);
277
278
 
278
- /**
279
+ /*
279
280
  * EFFECTS
280
281
  */
281
282
  // The effect do not track any value defined synchronously during the 1st render by hooks called after `useGridColumns`
@@ -11,8 +11,9 @@ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallb
11
11
  var _useGridLogger = require("../../utils/useGridLogger");
12
12
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
13
13
  var _densitySelector = require("./densitySelector");
14
+ var _pipeProcessing = require("../../core/pipeProcessing");
14
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); }
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; }
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; }
16
17
  const densityStateInitializer = (state, props) => (0, _extends2.default)({}, state, {
17
18
  density: props.initialState?.density ?? props.density ?? 'standard'
18
19
  });
@@ -36,14 +37,39 @@ const useGridDensity = (apiRef, props) => {
36
37
  density: newDensity
37
38
  }));
38
39
  });
40
+ const densityApi = {
41
+ setDensity
42
+ };
43
+ (0, _useGridApiMethod.useGridApiMethod)(apiRef, densityApi, 'public');
44
+ const stateExportPreProcessing = React.useCallback((prevState, context) => {
45
+ const exportedDensity = (0, _densitySelector.gridDensitySelector)(apiRef.current.state);
46
+ const shouldExportRowCount =
47
+ // Always export if the `exportOnlyDirtyModels` property is not activated
48
+ !context.exportOnlyDirtyModels ||
49
+ // Always export if the `density` is controlled
50
+ props.density != null ||
51
+ // Always export if the `density` has been initialized
52
+ props.initialState?.density != null;
53
+ if (!shouldExportRowCount) {
54
+ return prevState;
55
+ }
56
+ return (0, _extends2.default)({}, prevState, {
57
+ density: exportedDensity
58
+ });
59
+ }, [apiRef, props.density, props.initialState?.density]);
60
+ const stateRestorePreProcessing = React.useCallback((params, context) => {
61
+ const restoredDensity = context.stateToRestore?.density ? context.stateToRestore.density : (0, _densitySelector.gridDensitySelector)(apiRef.current.state);
62
+ apiRef.current.setState(state => (0, _extends2.default)({}, state, {
63
+ density: restoredDensity
64
+ }));
65
+ return params;
66
+ }, [apiRef]);
67
+ (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'exportState', stateExportPreProcessing);
68
+ (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'restoreState', stateRestorePreProcessing);
39
69
  React.useEffect(() => {
40
70
  if (props.density) {
41
71
  apiRef.current.setDensity(props.density);
42
72
  }
43
73
  }, [apiRef, props.density]);
44
- const densityApi = {
45
- setDensity
46
- };
47
- (0, _useGridApiMethod.useGridApiMethod)(apiRef, densityApi, 'public');
48
74
  };
49
75
  exports.useGridDensity = useGridDensity;
@@ -23,7 +23,7 @@ var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
23
23
  var _gridRowsUtils = require("../rows/gridRowsUtils");
24
24
  var _gridColumnsUtils = require("../columns/gridColumnsUtils");
25
25
  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); }
26
- 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; }
26
+ 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; }
27
27
  const EMPTY_SIZE = {
28
28
  width: 0,
29
29
  height: 0
@@ -39,6 +39,7 @@ const EMPTY_DIMENSIONS = {
39
39
  hasScrollY: false,
40
40
  scrollbarSize: 0,
41
41
  headerHeight: 0,
42
+ headerFilterHeight: 0,
42
43
  rowWidth: 0,
43
44
  rowHeight: 0,
44
45
  columnsTotalWidth: 0,
@@ -64,8 +65,9 @@ function useGridDimensions(apiRef, props) {
64
65
  const densityFactor = (0, _utils2.useGridSelector)(apiRef, _density.gridDensityFactorSelector);
65
66
  const rowHeight = Math.floor(props.rowHeight * densityFactor);
66
67
  const headerHeight = Math.floor(props.columnHeaderHeight * densityFactor);
68
+ const headerFilterHeight = Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor);
67
69
  const columnsTotalWidth = roundToDecimalPlaces((0, _columns.gridColumnsTotalWidthSelector)(apiRef), 6);
68
- const headersTotalHeight = (0, _gridColumnsUtils.getTotalHeaderHeight)(apiRef, props.columnHeaderHeight);
70
+ const headersTotalHeight = (0, _gridColumnsUtils.getTotalHeaderHeight)(apiRef, props);
69
71
  const leftPinnedWidth = pinnedColumns.left.reduce((w, col) => w + col.computedWidth, 0);
70
72
  const rightPinnedWidth = pinnedColumns.right.reduce((w, col) => w + col.computedWidth, 0);
71
73
  const [savedSize, setSavedSize] = React.useState();
@@ -187,6 +189,7 @@ function useGridDimensions(apiRef, props) {
187
189
  hasScrollY,
188
190
  scrollbarSize,
189
191
  headerHeight,
192
+ headerFilterHeight,
190
193
  rowWidth,
191
194
  rowHeight,
192
195
  columnsTotalWidth,
@@ -202,7 +205,7 @@ function useGridDimensions(apiRef, props) {
202
205
  apiRef.current.publishEvent('viewportInnerSizeChange', newDimensions.viewportInnerSize);
203
206
  }
204
207
  apiRef.current.updateRenderContext?.();
205
- }, [apiRef, setDimensions, props.scrollbarSize, props.autoHeight, rowsMeta.currentPageTotalHeight, rowHeight, headerHeight, columnsTotalWidth, headersTotalHeight, leftPinnedWidth, rightPinnedWidth]);
208
+ }, [apiRef, setDimensions, props.scrollbarSize, props.autoHeight, rowsMeta.currentPageTotalHeight, rowHeight, headerHeight, headerFilterHeight, columnsTotalWidth, headersTotalHeight, leftPinnedWidth, rightPinnedWidth]);
206
209
  const apiPublic = {
207
210
  resize,
208
211
  getRootDimensions
@@ -22,7 +22,7 @@ var _gridEditCellParams = require("../../../models/params/gridEditCellParams");
22
22
  const _excluded = ["id", "field"],
23
23
  _excluded2 = ["id", "field"];
24
24
  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); }
25
- 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; }
25
+ 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; }
26
26
  const missingOnProcessRowUpdateErrorWarning = (0, _warning.buildWarning)(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
27
27
  const useGridCellEditing = (apiRef, props) => {
28
28
  const [cellModesModel, setCellModesModel] = React.useState({});
@@ -162,13 +162,26 @@ const useGridCellEditing = (apiRef, props) => {
162
162
  cellToFocusAfter
163
163
  });
164
164
  }, [apiRef]);
165
+ const runIfNoFieldErrors = callback => async (...args) => {
166
+ if (callback) {
167
+ const {
168
+ id,
169
+ field
170
+ } = args[0];
171
+ const editRowsState = apiRef.current.state.editRows;
172
+ const hasFieldErrors = editRowsState[id][field]?.error;
173
+ if (!hasFieldErrors) {
174
+ callback(...args);
175
+ }
176
+ }
177
+ };
165
178
  (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellDoubleClick', runIfEditModeIsCell(handleCellDoubleClick));
166
179
  (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellFocusOut', runIfEditModeIsCell(handleCellFocusOut));
167
180
  (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellKeyDown', runIfEditModeIsCell(handleCellKeyDown));
168
181
  (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellEditStart', runIfEditModeIsCell(handleCellEditStart));
169
182
  (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellEditStop', runIfEditModeIsCell(handleCellEditStop));
170
183
  (0, _useGridApiEventHandler.useGridApiOptionHandler)(apiRef, 'cellEditStart', props.onCellEditStart);
171
- (0, _useGridApiEventHandler.useGridApiOptionHandler)(apiRef, 'cellEditStop', props.onCellEditStop);
184
+ (0, _useGridApiEventHandler.useGridApiOptionHandler)(apiRef, 'cellEditStop', runIfNoFieldErrors(props.onCellEditStop));
172
185
  const getCellMode = React.useCallback((id, field) => {
173
186
  const editingState = (0, _gridEditingSelectors.gridEditRowsStateSelector)(apiRef.current.state);
174
187
  const isEditing = editingState[id] && editingState[id][field];
@@ -14,7 +14,7 @@ var _useGridRowEditing = require("./useGridRowEditing");
14
14
  var _gridEditingSelectors = require("./gridEditingSelectors");
15
15
  var _gridRowsUtils = require("../rows/gridRowsUtils");
16
16
  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); }
17
- 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; }
17
+ 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; }
18
18
  const editingStateInitializer = state => (0, _extends2.default)({}, state, {
19
19
  editRows: {}
20
20
  });
@@ -24,7 +24,7 @@ var _colDef = require("../../../colDef");
24
24
  const _excluded = ["id"],
25
25
  _excluded2 = ["id"];
26
26
  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); }
27
- 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; }
27
+ 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; }
28
28
  const missingOnProcessRowUpdateErrorWarning = (0, _warning.buildWarning)(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
29
29
  const useGridRowEditing = (apiRef, props) => {
30
30
  const [rowModesModel, setRowModesModel] = React.useState({});
@@ -14,7 +14,7 @@ var _pipeProcessing = require("../../core/pipeProcessing");
14
14
  var _GridToolbarExport = require("../../../components/toolbar/GridToolbarExport");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  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); }
17
- 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; }
17
+ 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; }
18
18
  /**
19
19
  * @requires useGridColumns (state)
20
20
  * @requires useGridFilter (state)
@@ -22,7 +22,7 @@ var _gridColumnsUtils = require("../columns/gridColumnsUtils");
22
22
  var _gridCheckboxSelectionColDef = require("../../../colDef/gridCheckboxSelectionColDef");
23
23
  var _jsxRuntime = require("react/jsx-runtime");
24
24
  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); }
25
- 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; }
25
+ 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; }
26
26
  function raf() {
27
27
  return new Promise(resolve => {
28
28
  requestAnimationFrame(() => {
@@ -116,7 +116,7 @@ const useGridPrintExport = (apiRef, props) => {
116
116
  }
117
117
 
118
118
  // Expand container height to accommodate all rows
119
- const computedTotalHeight = rowsMeta.currentPageTotalHeight + (0, _gridColumnsUtils.getTotalHeaderHeight)(apiRef, props.columnHeaderHeight) + gridToolbarElementHeight + gridFooterElementHeight;
119
+ const computedTotalHeight = rowsMeta.currentPageTotalHeight + (0, _gridColumnsUtils.getTotalHeaderHeight)(apiRef, props) + gridToolbarElementHeight + gridFooterElementHeight;
120
120
  gridClone.style.height = `${computedTotalHeight}px`;
121
121
  // The height above does not include grid border width, so we need to exclude it
122
122
  gridClone.style.boxSizing = 'content-box';
@@ -190,7 +190,7 @@ const useGridPrintExport = (apiRef, props) => {
190
190
  printWindow.contentWindow.print();
191
191
  });
192
192
  }
193
- }, [apiRef, doc, props.columnHeaderHeight]);
193
+ }, [apiRef, doc, props]);
194
194
  const handlePrintWindowAfterPrint = React.useCallback(printWindow => {
195
195
  // Remove the print iframe
196
196
  doc.current.body.removeChild(printWindow);
@@ -25,7 +25,7 @@ var _gridFilterUtils = require("./gridFilterUtils");
25
25
  var _utils2 = require("../../../utils/utils");
26
26
  var _jsxRuntime = require("react/jsx-runtime");
27
27
  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); }
28
- 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; }
28
+ 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; }
29
29
  const filterStateInitializer = (state, props, apiRef) => {
30
30
  const filterModel = props.filterModel ?? props.initialState?.filter?.filterModel ?? (0, _gridFilterState.getDefaultGridFilterModel)();
31
31
  return (0, _extends2.default)({}, state, {
@@ -19,7 +19,7 @@ var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
19
19
  var _utils2 = require("../../../utils/utils");
20
20
  var _gridRowsSelector = require("../rows/gridRowsSelector");
21
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); }
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 && 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; }
23
23
  const focusStateInitializer = state => (0, _extends2.default)({}, state, {
24
24
  focus: {
25
25
  cell: null,