@mui/x-data-grid 8.4.0 → 8.5.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 (214) hide show
  1. package/CHANGELOG.md +215 -0
  2. package/DataGrid/DataGrid.js +4 -3
  3. package/components/GridColumnHeaders.js +1 -0
  4. package/components/GridFooter.js +1 -0
  5. package/components/GridLoadingOverlay.js +1 -0
  6. package/components/GridNoColumnsOverlay.js +1 -0
  7. package/components/GridNoResultsOverlay.js +2 -1
  8. package/components/GridNoRowsOverlay.js +1 -0
  9. package/components/GridRow.js +3 -2
  10. package/components/GridRowCount.js +1 -0
  11. package/components/GridSelectedRowCount.js +1 -0
  12. package/components/GridShadowScrollArea.js +1 -0
  13. package/components/GridSkeletonLoadingOverlay.js +3 -1
  14. package/components/cell/GridActionsCell.js +3 -3
  15. package/components/cell/GridActionsCellItem.js +1 -0
  16. package/components/cell/GridCell.js +11 -7
  17. package/components/cell/GridEditBooleanCell.js +6 -4
  18. package/components/cell/GridEditDateCell.js +4 -3
  19. package/components/cell/GridEditInputCell.js +5 -3
  20. package/components/cell/GridEditSingleSelectCell.js +2 -2
  21. package/components/cell/GridSkeletonCell.js +6 -5
  22. package/components/columnHeaders/GridBaseColumnHeaders.js +2 -1
  23. package/components/columnHeaders/GridColumnGroupHeader.js +6 -5
  24. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +5 -4
  25. package/components/columnHeaders/GridColumnHeaderItem.js +7 -6
  26. package/components/columnHeaders/GridColumnHeaderSeparator.js +4 -3
  27. package/components/columnHeaders/GridColumnHeaderTitle.js +1 -0
  28. package/components/columnHeaders/GridGenericColumnHeaderItem.js +4 -3
  29. package/components/columnHeaders/GridIconButtonContainer.js +2 -1
  30. package/components/columnSelection/GridCellCheckboxRenderer.js +5 -4
  31. package/components/columnSelection/GridHeaderCheckbox.js +1 -0
  32. package/components/columnsManagement/GridColumnsManagement.js +2 -2
  33. package/components/columnsPanel/ColumnsPanelTrigger.d.ts +1 -1
  34. package/components/columnsPanel/ColumnsPanelTrigger.js +3 -2
  35. package/components/containers/GridFooterContainer.js +1 -0
  36. package/components/containers/GridOverlay.js +1 -0
  37. package/components/containers/GridRoot.js +7 -4
  38. package/components/containers/GridRootStyles.d.ts +1 -1
  39. package/components/containers/GridRootStyles.js +7 -1
  40. package/components/containers/GridToolbarContainer.js +1 -0
  41. package/components/export/ExportCsv.d.ts +1 -1
  42. package/components/export/ExportCsv.js +3 -2
  43. package/components/export/ExportPrint.d.ts +1 -1
  44. package/components/export/ExportPrint.js +3 -2
  45. package/components/filterPanel/FilterPanelTrigger.d.ts +1 -1
  46. package/components/filterPanel/FilterPanelTrigger.js +3 -2
  47. package/components/menu/GridMenu.js +6 -4
  48. package/components/menu/columnMenu/GridColumnMenu.js +2 -0
  49. package/components/menu/columnMenu/GridColumnMenuContainer.js +1 -0
  50. package/components/panel/GridPanel.js +3 -2
  51. package/components/panel/GridPanelWrapper.js +2 -1
  52. package/components/panel/filterPanel/GridFilterForm.js +10 -7
  53. package/components/panel/filterPanel/GridFilterInputBoolean.js +5 -4
  54. package/components/panel/filterPanel/GridFilterInputDate.js +2 -2
  55. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +2 -2
  56. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  57. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +3 -3
  58. package/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  59. package/components/panel/filterPanel/GridFilterPanel.js +1 -0
  60. package/components/quickFilter/QuickFilter.d.ts +1 -1
  61. package/components/quickFilter/QuickFilter.js +4 -4
  62. package/components/quickFilter/QuickFilterClear.d.ts +1 -1
  63. package/components/quickFilter/QuickFilterClear.js +3 -2
  64. package/components/quickFilter/QuickFilterControl.d.ts +1 -1
  65. package/components/quickFilter/QuickFilterControl.js +5 -4
  66. package/components/quickFilter/QuickFilterTrigger.d.ts +1 -1
  67. package/components/quickFilter/QuickFilterTrigger.js +5 -4
  68. package/components/toolbar/GridToolbar.js +3 -2
  69. package/components/toolbar/GridToolbarColumnsButton.js +1 -0
  70. package/components/toolbar/GridToolbarDensitySelector.js +6 -4
  71. package/components/toolbar/GridToolbarExport.js +1 -0
  72. package/components/toolbar/GridToolbarExportContainer.js +6 -4
  73. package/components/toolbar/GridToolbarFilterButton.js +8 -5
  74. package/components/toolbarV8/Toolbar.d.ts +1 -1
  75. package/components/toolbarV8/Toolbar.js +3 -2
  76. package/components/toolbarV8/ToolbarButton.d.ts +1 -1
  77. package/components/toolbarV8/ToolbarButton.js +5 -4
  78. package/components/virtualization/GridMainContainer.js +2 -1
  79. package/components/virtualization/GridVirtualScrollbar.js +2 -1
  80. package/components/virtualization/GridVirtualScrollerContent.js +2 -1
  81. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  82. package/constants/gridClasses.d.ts +4 -0
  83. package/constants/gridClasses.js +5 -3
  84. package/esm/DataGrid/DataGrid.js +4 -3
  85. package/esm/components/GridColumnHeaders.js +1 -0
  86. package/esm/components/GridFooter.js +1 -0
  87. package/esm/components/GridLoadingOverlay.js +1 -0
  88. package/esm/components/GridNoColumnsOverlay.js +1 -0
  89. package/esm/components/GridNoResultsOverlay.js +2 -1
  90. package/esm/components/GridNoRowsOverlay.js +1 -0
  91. package/esm/components/GridRow.js +2 -1
  92. package/esm/components/GridRowCount.js +1 -0
  93. package/esm/components/GridSelectedRowCount.js +1 -0
  94. package/esm/components/GridShadowScrollArea.js +1 -0
  95. package/esm/components/GridSkeletonLoadingOverlay.js +3 -1
  96. package/esm/components/cell/GridActionsCell.js +1 -1
  97. package/esm/components/cell/GridActionsCellItem.js +1 -0
  98. package/esm/components/cell/GridCell.js +5 -1
  99. package/esm/components/cell/GridEditBooleanCell.js +3 -1
  100. package/esm/components/cell/GridEditDateCell.js +2 -1
  101. package/esm/components/cell/GridEditInputCell.js +3 -1
  102. package/esm/components/cell/GridEditSingleSelectCell.js +1 -1
  103. package/esm/components/cell/GridSkeletonCell.js +2 -1
  104. package/esm/components/columnHeaders/GridBaseColumnHeaders.js +2 -1
  105. package/esm/components/columnHeaders/GridColumnGroupHeader.js +2 -1
  106. package/esm/components/columnHeaders/GridColumnHeaderFilterIconButton.js +2 -1
  107. package/esm/components/columnHeaders/GridColumnHeaderItem.js +2 -1
  108. package/esm/components/columnHeaders/GridColumnHeaderSeparator.js +2 -1
  109. package/esm/components/columnHeaders/GridColumnHeaderTitle.js +1 -0
  110. package/esm/components/columnHeaders/GridGenericColumnHeaderItem.js +2 -1
  111. package/esm/components/columnHeaders/GridIconButtonContainer.js +2 -1
  112. package/esm/components/columnSelection/GridCellCheckboxRenderer.js +2 -1
  113. package/esm/components/columnSelection/GridHeaderCheckbox.js +1 -0
  114. package/esm/components/columnsManagement/GridColumnsManagement.js +2 -2
  115. package/esm/components/columnsPanel/ColumnsPanelTrigger.d.ts +1 -1
  116. package/esm/components/columnsPanel/ColumnsPanelTrigger.js +3 -2
  117. package/esm/components/containers/GridFooterContainer.js +1 -0
  118. package/esm/components/containers/GridOverlay.js +1 -0
  119. package/esm/components/containers/GridRoot.js +4 -1
  120. package/esm/components/containers/GridRootStyles.d.ts +1 -1
  121. package/esm/components/containers/GridRootStyles.js +7 -1
  122. package/esm/components/containers/GridToolbarContainer.js +1 -0
  123. package/esm/components/export/ExportCsv.d.ts +1 -1
  124. package/esm/components/export/ExportCsv.js +3 -2
  125. package/esm/components/export/ExportPrint.d.ts +1 -1
  126. package/esm/components/export/ExportPrint.js +3 -2
  127. package/esm/components/filterPanel/FilterPanelTrigger.d.ts +1 -1
  128. package/esm/components/filterPanel/FilterPanelTrigger.js +3 -2
  129. package/esm/components/menu/GridMenu.js +3 -1
  130. package/esm/components/menu/columnMenu/GridColumnMenu.js +2 -0
  131. package/esm/components/menu/columnMenu/GridColumnMenuContainer.js +1 -0
  132. package/esm/components/panel/GridPanel.js +2 -1
  133. package/esm/components/panel/GridPanelWrapper.js +1 -0
  134. package/esm/components/panel/filterPanel/GridFilterForm.js +4 -1
  135. package/esm/components/panel/filterPanel/GridFilterInputBoolean.js +2 -1
  136. package/esm/components/panel/filterPanel/GridFilterInputDate.js +1 -1
  137. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
  138. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  139. package/esm/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  140. package/esm/components/panel/filterPanel/GridFilterInputValue.js +1 -1
  141. package/esm/components/panel/filterPanel/GridFilterPanel.js +1 -0
  142. package/esm/components/quickFilter/QuickFilter.d.ts +1 -1
  143. package/esm/components/quickFilter/QuickFilter.js +3 -3
  144. package/esm/components/quickFilter/QuickFilterClear.d.ts +1 -1
  145. package/esm/components/quickFilter/QuickFilterClear.js +3 -2
  146. package/esm/components/quickFilter/QuickFilterControl.d.ts +1 -1
  147. package/esm/components/quickFilter/QuickFilterControl.js +4 -3
  148. package/esm/components/quickFilter/QuickFilterTrigger.d.ts +1 -1
  149. package/esm/components/quickFilter/QuickFilterTrigger.js +4 -3
  150. package/esm/components/toolbar/GridToolbar.js +1 -0
  151. package/esm/components/toolbar/GridToolbarColumnsButton.js +1 -0
  152. package/esm/components/toolbar/GridToolbarDensitySelector.js +3 -1
  153. package/esm/components/toolbar/GridToolbarExport.js +1 -0
  154. package/esm/components/toolbar/GridToolbarExportContainer.js +3 -1
  155. package/esm/components/toolbar/GridToolbarFilterButton.js +4 -1
  156. package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
  157. package/esm/components/toolbarV8/Toolbar.js +3 -2
  158. package/esm/components/toolbarV8/ToolbarButton.d.ts +1 -1
  159. package/esm/components/toolbarV8/ToolbarButton.js +4 -3
  160. package/esm/components/virtualization/GridMainContainer.js +2 -1
  161. package/esm/components/virtualization/GridVirtualScrollbar.js +1 -0
  162. package/esm/components/virtualization/GridVirtualScrollerContent.js +1 -0
  163. package/esm/components/virtualization/GridVirtualScrollerRenderZone.js +1 -0
  164. package/esm/constants/gridClasses.d.ts +4 -0
  165. package/esm/constants/gridClasses.js +3 -2
  166. package/esm/hooks/core/pipeProcessing/useGridPipeProcessing.js +3 -3
  167. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  168. package/esm/hooks/features/columns/gridColumnsSelector.d.ts +9 -0
  169. package/esm/hooks/features/columns/gridColumnsSelector.js +9 -2
  170. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +1 -1
  171. package/esm/hooks/features/export/useGridPrintExport.js +1 -1
  172. package/esm/hooks/features/filter/useGridFilter.js +1 -1
  173. package/esm/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +9 -5
  174. package/esm/hooks/features/rows/useGridRowsMeta.js +5 -2
  175. package/esm/hooks/features/sorting/useGridSorting.d.ts +1 -1
  176. package/esm/hooks/features/sorting/useGridSorting.js +5 -5
  177. package/esm/hooks/utils/index.d.ts +1 -1
  178. package/esm/hooks/utils/useRunOnce.js +1 -1
  179. package/esm/index.js +1 -1
  180. package/esm/internals/index.d.ts +0 -1
  181. package/esm/internals/index.js +0 -1
  182. package/esm/locales/arSD.js +5 -6
  183. package/esm/locales/ptPT.js +4 -4
  184. package/esm/material/index.js +14 -0
  185. package/esm/models/props/DataGridProps.d.ts +7 -0
  186. package/esm/utils/composeGridClasses.d.ts +1 -1
  187. package/esm/utils/composeGridClasses.js +1 -1
  188. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +3 -3
  189. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  190. package/hooks/features/columns/gridColumnsSelector.d.ts +9 -0
  191. package/hooks/features/columns/gridColumnsSelector.js +10 -3
  192. package/hooks/features/dataSource/useGridDataSourceBase.js +12 -12
  193. package/hooks/features/export/useGridPrintExport.js +5 -5
  194. package/hooks/features/filter/useGridFilter.js +2 -2
  195. package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +9 -5
  196. package/hooks/features/rows/useGridRowsMeta.js +8 -5
  197. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  198. package/hooks/features/sorting/useGridSorting.js +6 -6
  199. package/hooks/utils/index.d.ts +1 -1
  200. package/hooks/utils/useRunOnce.js +3 -2
  201. package/index.js +1 -1
  202. package/internals/index.d.ts +0 -1
  203. package/internals/index.js +0 -8
  204. package/locales/arSD.js +5 -6
  205. package/locales/ptPT.js +4 -4
  206. package/material/index.js +14 -0
  207. package/models/props/DataGridProps.d.ts +7 -0
  208. package/package.json +4 -4
  209. package/utils/composeGridClasses.d.ts +1 -1
  210. package/utils/composeGridClasses.js +3 -2
  211. package/esm/hooks/utils/useGridComponentRenderer.d.ts +0 -12
  212. package/esm/hooks/utils/useGridComponentRenderer.js +0 -36
  213. package/hooks/utils/useGridComponentRenderer.d.ts +0 -12
  214. package/hooks/utils/useGridComponentRenderer.js +0 -44
@@ -9,16 +9,16 @@ exports.useGridDataSourceBase = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
12
- var _utils = require("@mui/utils");
12
+ var _debounce = _interopRequireDefault(require("@mui/utils/debounce"));
13
13
  var _warning = require("@mui/x-internals/warning");
14
14
  var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
15
15
  var _gridRowsUtils = require("../rows/gridRowsUtils");
16
- var _utils2 = require("../../../utils/utils");
16
+ var _utils = require("../../../utils/utils");
17
17
  var _strategyProcessing = require("../../core/strategyProcessing");
18
18
  var _useGridSelector = require("../../utils/useGridSelector");
19
19
  var _gridPaginationSelector = require("../pagination/gridPaginationSelector");
20
20
  var _gridDataSourceSelector = require("./gridDataSourceSelector");
21
- var _utils3 = require("./utils");
21
+ var _utils2 = require("./utils");
22
22
  var _cache = require("./cache");
23
23
  var _gridDataSourceError = require("./gridDataSourceError");
24
24
  const noopCache = {
@@ -34,7 +34,7 @@ function getCache(cacheProp, options = {}) {
34
34
  }
35
35
  const useGridDataSourceBase = (apiRef, props, options = {}) => {
36
36
  const setStrategyAvailability = React.useCallback(() => {
37
- apiRef.current.setStrategyAvailability(_strategyProcessing.GridStrategyGroup.DataSource, _utils3.DataSourceRowsUpdateStrategy.Default, props.dataSource ? () => true : () => false);
37
+ apiRef.current.setStrategyAvailability(_strategyProcessing.GridStrategyGroup.DataSource, _utils2.DataSourceRowsUpdateStrategy.Default, props.dataSource ? () => true : () => false);
38
38
  }, [apiRef, props.dataSource]);
39
39
  const [defaultRowsUpdateStrategyActive, setDefaultRowsUpdateStrategyActive] = React.useState(false);
40
40
  const paginationModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationModelSelector);
@@ -43,7 +43,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
43
43
  const cacheChunkManager = (0, _useLazyRef.default)(() => {
44
44
  const sortedPageSizeOptions = props.pageSizeOptions.map(option => typeof option === 'number' ? option : option.value).sort((a, b) => a - b);
45
45
  const cacheChunkSize = Math.min(paginationModel.pageSize, sortedPageSizeOptions[0]);
46
- return new _utils3.CacheChunkManager(cacheChunkSize);
46
+ return new _utils2.CacheChunkManager(cacheChunkSize);
47
47
  }).current;
48
48
  const [cache, setCache] = React.useState(() => getCache(props.dataSourceCache, options.cacheOptions));
49
49
  const fetchRows = React.useCallback(async (parentId, params) => {
@@ -61,7 +61,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
61
61
  const responses = cacheKeys.map(cacheKey => cache.get(cacheKey));
62
62
  if (responses.every(response => response !== undefined)) {
63
63
  apiRef.current.applyStrategyProcessor('dataSourceRowsUpdate', {
64
- response: _utils3.CacheChunkManager.mergeResponses(responses),
64
+ response: _utils2.CacheChunkManager.mergeResponses(responses),
65
65
  fetchParams
66
66
  });
67
67
  return;
@@ -106,7 +106,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
106
106
  }
107
107
  }, [cacheChunkManager, cache, apiRef, defaultRowsUpdateStrategyActive, props.dataSource?.getRows, onDataSourceErrorProp, options, props.signature]);
108
108
  const handleStrategyActivityChange = React.useCallback(() => {
109
- setDefaultRowsUpdateStrategyActive(apiRef.current.getActiveStrategy(_strategyProcessing.GridStrategyGroup.DataSource) === _utils3.DataSourceRowsUpdateStrategy.Default);
109
+ setDefaultRowsUpdateStrategyActive(apiRef.current.getActiveStrategy(_strategyProcessing.GridStrategyGroup.DataSource) === _utils2.DataSourceRowsUpdateStrategy.Default);
110
110
  }, [apiRef]);
111
111
  const handleDataUpdate = React.useCallback(params => {
112
112
  if ('error' in params) {
@@ -163,7 +163,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
163
163
  editRow
164
164
  }
165
165
  };
166
- const debouncedFetchRows = React.useMemo(() => (0, _utils.unstable_debounce)(fetchRows, 0), [fetchRows]);
166
+ const debouncedFetchRows = React.useMemo(() => (0, _debounce.default)(fetchRows, 0), [fetchRows]);
167
167
  const isFirstRender = React.useRef(true);
168
168
  React.useEffect(() => {
169
169
  if (isFirstRender.current) {
@@ -188,7 +188,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
188
188
  },
189
189
  debouncedFetchRows,
190
190
  strategyProcessor: {
191
- strategyName: _utils3.DataSourceRowsUpdateStrategy.Default,
191
+ strategyName: _utils2.DataSourceRowsUpdateStrategy.Default,
192
192
  group: 'dataSourceRowsUpdate',
193
193
  processor: handleDataUpdate
194
194
  },
@@ -197,9 +197,9 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
197
197
  cache,
198
198
  events: {
199
199
  strategyAvailabilityChange: handleStrategyActivityChange,
200
- sortModelChange: (0, _utils2.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
201
- filterModelChange: (0, _utils2.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
202
- paginationModelChange: (0, _utils2.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows())
200
+ sortModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
201
+ filterModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
202
+ paginationModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows())
203
203
  }
204
204
  };
205
205
  };
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.useGridPrintExport = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
- var _utils = require("@mui/utils");
11
+ var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"));
12
12
  var _export = require("@mui/x-internals/export");
13
13
  var _useGridLogger = require("../../utils/useGridLogger");
14
14
  var _gridFilterSelector = require("../filter/gridFilterSelector");
@@ -17,7 +17,7 @@ var _gridClasses = require("../../../constants/gridClasses");
17
17
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
18
18
  var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
19
19
  var _gridRowsUtils = require("../rows/gridRowsUtils");
20
- var _utils2 = require("./utils");
20
+ var _utils = require("./utils");
21
21
  var _useGridPaginationModel = require("../pagination/useGridPaginationModel");
22
22
  var _pipeProcessing = require("../../core/pipeProcessing");
23
23
  var _toolbar = require("../../../components/toolbar");
@@ -55,13 +55,13 @@ const useGridPrintExport = (apiRef, props) => {
55
55
  const previousRows = React.useRef([]);
56
56
  const previousVirtualizationState = React.useRef(null);
57
57
  React.useEffect(() => {
58
- doc.current = (0, _utils.unstable_ownerDocument)(apiRef.current.rootElementRef.current);
58
+ doc.current = (0, _ownerDocument.default)(apiRef.current.rootElementRef.current);
59
59
  }, [apiRef, hasRootReference]);
60
60
 
61
61
  // Returns a promise because updateColumns triggers state update and
62
62
  // the new state needs to be in place before the grid can be sized correctly
63
63
  const updateGridColumnsForPrint = React.useCallback((fields, allColumns, includeCheckboxes) => new Promise(resolve => {
64
- const exportedColumnFields = (0, _utils2.getColumnsToExport)({
64
+ const exportedColumnFields = (0, _utils.getColumnsToExport)({
65
65
  apiRef,
66
66
  options: {
67
67
  fields,
@@ -222,7 +222,7 @@ const useGridPrintExport = (apiRef, props) => {
222
222
  })
223
223
  }));
224
224
  await updateGridColumnsForPrint(options?.fields, options?.allColumns, options?.includeCheckboxes);
225
- updateGridRowsForPrint(options?.getRowsToExport ?? _utils2.defaultGetRowsToExport);
225
+ updateGridRowsForPrint(options?.getRowsToExport ?? _utils.defaultGetRowsToExport);
226
226
  await raf(); // wait for the state changes to take action
227
227
  const printWindow = buildPrintWindow(options?.fileName);
228
228
  if (process.env.NODE_ENV === 'test') {
@@ -9,7 +9,7 @@ exports.useGridFilter = exports.filterStateInitializer = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _reselect = require("reselect");
12
- var _utils = require("@mui/utils");
12
+ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
13
13
  var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
14
14
  var _useLazyRef = require("../../utils/useLazyRef");
15
15
  var _useGridEvent = require("../../utils/useGridEvent");
@@ -367,7 +367,7 @@ const useGridFilter = (apiRef, props) => {
367
367
  /**
368
368
  * EFFECTS
369
369
  */
370
- (0, _utils.unstable_useEnhancedEffect)(() => {
370
+ (0, _useEnhancedEffect.default)(() => {
371
371
  if (props.filterModel !== undefined) {
372
372
  apiRef.current.setFilterModel(props.filterModel);
373
373
  }
@@ -36,18 +36,22 @@ const useGridRowSelectionPreProcessors = (apiRef, props) => {
36
36
  headerName: apiRef.current.getLocaleText('checkboxSelectionHeaderName')
37
37
  });
38
38
  const shouldHaveSelectionColumn = props.checkboxSelection;
39
- const haveSelectionColumn = columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD] != null;
40
- if (shouldHaveSelectionColumn && !haveSelectionColumn) {
39
+ const hasSelectionColumn = columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD] != null;
40
+ if (shouldHaveSelectionColumn && !hasSelectionColumn) {
41
41
  columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD] = selectionColumn;
42
42
  columnsState.orderedFields = [_colDef.GRID_CHECKBOX_SELECTION_FIELD, ...columnsState.orderedFields];
43
- } else if (!shouldHaveSelectionColumn && haveSelectionColumn) {
43
+ } else if (!shouldHaveSelectionColumn && hasSelectionColumn) {
44
44
  delete columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD];
45
45
  columnsState.orderedFields = columnsState.orderedFields.filter(field => field !== _colDef.GRID_CHECKBOX_SELECTION_FIELD);
46
- } else if (shouldHaveSelectionColumn && haveSelectionColumn) {
46
+ } else if (shouldHaveSelectionColumn && hasSelectionColumn) {
47
47
  columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD] = (0, _extends2.default)({}, selectionColumn, columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD]);
48
+ // If the column is not in the columns array (not a custom selection column), move it to the beginning of the column order
49
+ if (!props.columns.some(col => col.field === _colDef.GRID_CHECKBOX_SELECTION_FIELD)) {
50
+ columnsState.orderedFields = [_colDef.GRID_CHECKBOX_SELECTION_FIELD, ...columnsState.orderedFields.filter(field => field !== _colDef.GRID_CHECKBOX_SELECTION_FIELD)];
51
+ }
48
52
  }
49
53
  return columnsState;
50
- }, [apiRef, classes, props.checkboxSelection]);
54
+ }, [apiRef, classes, props.columns, props.checkboxSelection]);
51
55
  (0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'hydrateColumns', updateSelectionColumn);
52
56
  };
53
57
  exports.useGridRowSelectionPreProcessors = useGridRowSelectionPreProcessors;
@@ -9,10 +9,10 @@ exports.useGridRowsMeta = exports.rowsMetaStateInitializer = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
12
- var _utils = require("@mui/utils");
12
+ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
13
13
  var _ResizeObserver = require("../../../utils/ResizeObserver");
14
14
  var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
15
- var _utils2 = require("../../../utils/utils");
15
+ var _utils = require("../../../utils/utils");
16
16
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
17
17
  var _useGridSelector = require("../../utils/useGridSelector");
18
18
  var _densitySelector = require("../density/densitySelector");
@@ -82,7 +82,7 @@ const useGridRowsMeta = (apiRef, props) => {
82
82
  // HACK: rowHeight trails behind the most up-to-date value just enough to
83
83
  // mess the initial rowsMeta hydration :/
84
84
  const baseRowHeight = (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef).rowHeight;
85
- (0, _utils2.eslintUseValue)(rowHeight);
85
+ (0, _utils.eslintUseValue)(rowHeight);
86
86
  const entry = apiRef.current.getRowHeightEntry(row.id);
87
87
  if (!getRowHeightProp) {
88
88
  entry.content = baseRowHeight;
@@ -203,7 +203,10 @@ const useGridRowsMeta = (apiRef, props) => {
203
203
  apiRef.current.unstable_storeRowHeightMeasurement(rowId, height);
204
204
  }
205
205
  if (!isHeightMetaValid.current) {
206
- apiRef.current.requestPipeProcessorsApplication('rowHeight');
206
+ // Avoids "ResizeObserver loop completed with undelivered notifications" error
207
+ requestAnimationFrame(() => {
208
+ apiRef.current.requestPipeProcessorsApplication('rowHeight');
209
+ });
207
210
  }
208
211
  })).current;
209
212
  const observeRowHeight = (element, rowId) => {
@@ -215,7 +218,7 @@ const useGridRowsMeta = (apiRef, props) => {
215
218
 
216
219
  // The effect is used to build the rows meta data - currentPageTotalHeight and positions.
217
220
  // Because of variable row height this is needed for the virtualization
218
- (0, _utils.unstable_useEnhancedEffect)(() => {
221
+ (0, _useEnhancedEffect.default)(() => {
219
222
  hydrateRowsMeta();
220
223
  }, [hydrateRowsMeta]);
221
224
  const rowsMetaApi = {
@@ -7,4 +7,4 @@ export declare const sortingStateInitializer: GridStateInitializer<Pick<DataGrid
7
7
  * @requires useGridRows (event)
8
8
  * @requires useGridColumns (event)
9
9
  */
10
- export declare const useGridSorting: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "initialState" | "sortModel" | "onSortModelChange" | "sortingOrder" | "sortingMode" | "disableColumnSorting" | "disableMultipleColumnsSorting">) => void;
10
+ export declare const useGridSorting: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "initialState" | "sortModel" | "onSortModelChange" | "sortingOrder" | "sortingMode" | "disableColumnSorting" | "disableMultipleColumnsSorting" | "multipleColumnsSortingMode">) => void;
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.useGridSorting = exports.sortingStateInitializer = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
- var _utils = require("@mui/utils");
11
+ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
12
12
  var _useGridEvent = require("../../utils/useGridEvent");
13
13
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
14
14
  var _useGridLogger = require("../../utils/useGridLogger");
@@ -203,9 +203,9 @@ const useGridSorting = (apiRef, props) => {
203
203
  if (!colDef.sortable || props.disableColumnSorting) {
204
204
  return;
205
205
  }
206
- const allowMultipleSorting = event.shiftKey || event.metaKey || event.ctrlKey;
206
+ const allowMultipleSorting = props.multipleColumnsSortingMode === 'always' || event.shiftKey || event.metaKey || event.ctrlKey;
207
207
  sortColumn(field, undefined, allowMultipleSorting);
208
- }, [sortColumn, props.disableColumnSorting]);
208
+ }, [sortColumn, props.disableColumnSorting, props.multipleColumnsSortingMode]);
209
209
  const handleColumnHeaderKeyDown = React.useCallback(({
210
210
  field,
211
211
  colDef
@@ -215,9 +215,9 @@ const useGridSorting = (apiRef, props) => {
215
215
  }
216
216
  // Ctrl + Enter opens the column menu
217
217
  if (event.key === 'Enter' && !event.ctrlKey && !event.metaKey) {
218
- sortColumn(field, undefined, event.shiftKey);
218
+ sortColumn(field, undefined, props.multipleColumnsSortingMode === 'always' || event.shiftKey);
219
219
  }
220
- }, [sortColumn, props.disableColumnSorting]);
220
+ }, [sortColumn, props.disableColumnSorting, props.multipleColumnsSortingMode]);
221
221
  const handleColumnsChange = React.useCallback(() => {
222
222
  // When the columns change we check that the sorted columns are still part of the dataset
223
223
  const sortModel = (0, _gridSortingSelector.gridSortModelSelector)(apiRef);
@@ -251,7 +251,7 @@ const useGridSorting = (apiRef, props) => {
251
251
  /**
252
252
  * EFFECTS
253
253
  */
254
- (0, _utils.unstable_useEnhancedEffect)(() => {
254
+ (0, _useEnhancedEffect.default)(() => {
255
255
  if (props.sortModel !== undefined) {
256
256
  apiRef.current.setSortModel(props.sortModel);
257
257
  }
@@ -6,4 +6,4 @@ export * from "./useGridNativeEventListener.js";
6
6
  export * from "./useFirstRender.js";
7
7
  export * from "./useOnMount.js";
8
8
  export * from "./useRunOnce.js";
9
- export type { RenderProp } from "./useGridComponentRenderer.js";
9
+ export type { RenderProp } from '@mui/x-internals/useComponentRenderer';
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.useRunOnce = void 0;
8
9
  var React = _interopRequireWildcard(require("react"));
9
- var _utils = require("@mui/utils");
10
+ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
10
11
  const noop = () => {};
11
12
 
12
13
  /**
@@ -14,7 +15,7 @@ const noop = () => {};
14
15
  */
15
16
  const useRunOnce = (condition, effect) => {
16
17
  const didRun = React.useRef(false);
17
- (0, _utils.unstable_useEnhancedEffect)(() => {
18
+ (0, _useEnhancedEffect.default)(() => {
18
19
  if (didRun.current || !condition) {
19
20
  return noop;
20
21
  }
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.4.0
2
+ * @mui/x-data-grid v8.5.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -77,7 +77,6 @@ export * from "../hooks/features/virtualization/index.js";
77
77
  export { useGridColumnResize, columnResizeStateInitializer } from "../hooks/features/columnResize/useGridColumnResize.js";
78
78
  export { ROW_SELECTION_PROPAGATION_DEFAULT } from "../hooks/features/rowSelection/utils.js";
79
79
  export { useGridListView, listViewStateInitializer } from "../hooks/features/listView/useGridListView.js";
80
- export { useGridComponentRenderer } from "../hooks/utils/useGridComponentRenderer.js";
81
80
  export { useTimeout } from "../hooks/utils/useTimeout.js";
82
81
  export { useGridVisibleRows, getVisibleRows } from "../hooks/utils/useGridVisibleRows.js";
83
82
  export { useGridInitializeState } from "../hooks/utils/useGridInitializeState.js";
@@ -94,7 +94,6 @@ var _exportNames = {
94
94
  ROW_SELECTION_PROPAGATION_DEFAULT: true,
95
95
  useGridListView: true,
96
96
  listViewStateInitializer: true,
97
- useGridComponentRenderer: true,
98
97
  useTimeout: true,
99
98
  useGridVisibleRows: true,
100
99
  getVisibleRows: true,
@@ -608,12 +607,6 @@ Object.defineProperty(exports, "useGridColumns", {
608
607
  return _useGridColumns.useGridColumns;
609
608
  }
610
609
  });
611
- Object.defineProperty(exports, "useGridComponentRenderer", {
612
- enumerable: true,
613
- get: function () {
614
- return _useGridComponentRenderer.useGridComponentRenderer;
615
- }
616
- });
617
610
  Object.defineProperty(exports, "useGridCsvExport", {
618
611
  enumerable: true,
619
612
  get: function () {
@@ -953,7 +946,6 @@ Object.keys(_virtualization).forEach(function (key) {
953
946
  var _useGridColumnResize = require("../hooks/features/columnResize/useGridColumnResize");
954
947
  var _utils = require("../hooks/features/rowSelection/utils");
955
948
  var _useGridListView = require("../hooks/features/listView/useGridListView");
956
- var _useGridComponentRenderer = require("../hooks/utils/useGridComponentRenderer");
957
949
  var _useTimeout = require("../hooks/utils/useTimeout");
958
950
  var _useGridVisibleRows = require("../hooks/utils/useGridVisibleRows");
959
951
  var _useGridInitializeState = require("../hooks/utils/useGridInitializeState");
package/locales/arSD.js CHANGED
@@ -45,12 +45,11 @@ const arSDGrid = {
45
45
  // toolbarAssistant: 'AI Assistant',
46
46
 
47
47
  // Columns management text
48
- // columnsManagementSearchTitle: 'Search',
49
- // columnsManagementNoColumns: 'No columns',
50
- // columnsManagementShowHideAllText: 'Show/Hide All',
51
- // columnsManagementReset: 'Reset',
52
- // columnsManagementDeleteIconLabel: 'Clear',
53
-
48
+ columnsManagementSearchTitle: 'بحث',
49
+ columnsManagementNoColumns: 'لا يوجد أعمدة',
50
+ columnsManagementShowHideAllText: 'عرض/إخفاء الكل',
51
+ columnsManagementReset: 'إعادة ضبط',
52
+ columnsManagementDeleteIconLabel: 'مسح',
54
53
  // Filter panel text
55
54
  filterPanelAddFilter: 'إضافة مرشِح',
56
55
  filterPanelRemoveAll: 'حذف الكل',
package/locales/ptPT.js CHANGED
@@ -16,7 +16,7 @@ const ptPTGrid = {
16
16
  // Density selector toolbar button text
17
17
  toolbarDensity: 'Densidade',
18
18
  toolbarDensityLabel: 'Densidade',
19
- toolbarDensityCompact: 'Compactar',
19
+ toolbarDensityCompact: 'Compacto',
20
20
  toolbarDensityStandard: 'Padrão',
21
21
  toolbarDensityComfortable: 'Confortável',
22
22
  // Columns selector toolbar button text
@@ -31,7 +31,7 @@ const ptPTGrid = {
31
31
  // Quick filter toolbar field
32
32
  toolbarQuickFilterPlaceholder: 'Procurar…',
33
33
  toolbarQuickFilterLabel: 'Procurar',
34
- toolbarQuickFilterDeleteIconLabel: 'Claro',
34
+ toolbarQuickFilterDeleteIconLabel: 'Limpar',
35
35
  // Export selector toolbar button text
36
36
  toolbarExport: 'Exportar',
37
37
  toolbarExportLabel: 'Exportar',
@@ -150,8 +150,8 @@ const ptPTGrid = {
150
150
  unpin: 'Desafixar',
151
151
  // Tree Data
152
152
  treeDataGroupingHeaderName: 'Grupo',
153
- treeDataExpand: 'ver crianças',
154
- treeDataCollapse: 'esconder crianças',
153
+ treeDataExpand: 'expandir',
154
+ treeDataCollapse: 'colapsar',
155
155
  // Grouping columns
156
156
  groupingColumnHeaderName: 'Grupo',
157
157
  groupColumn: name => `Agrupar por ${name}`,
package/material/index.js CHANGED
@@ -183,6 +183,7 @@ const BaseSelect = (0, _forwardRef.forwardRef)(function BaseSelect(props, ref) {
183
183
  }, material))]
184
184
  });
185
185
  });
186
+ if (process.env.NODE_ENV !== "production") BaseSelect.displayName = "BaseSelect";
186
187
  const StyledPagination = (0, _styles.styled)(_TablePagination.default)(({
187
188
  theme
188
189
  }) => ({
@@ -238,6 +239,7 @@ const BasePagination = (0, _forwardRef.forwardRef)(function BasePagination(props
238
239
  ref: ref
239
240
  }));
240
241
  });
242
+ if (process.env.NODE_ENV !== "production") BasePagination.displayName = "BasePagination";
241
243
  const BaseBadge = (0, _forwardRef.forwardRef)(function BaseBadge(props, ref) {
242
244
  const {
243
245
  material
@@ -247,6 +249,7 @@ const BaseBadge = (0, _forwardRef.forwardRef)(function BaseBadge(props, ref) {
247
249
  ref: ref
248
250
  }));
249
251
  });
252
+ if (process.env.NODE_ENV !== "production") BaseBadge.displayName = "BaseBadge";
250
253
  const BaseCheckbox = (0, _forwardRef.forwardRef)(function BaseCheckbox(props, ref) {
251
254
  const {
252
255
  autoFocus,
@@ -291,6 +294,7 @@ const BaseCheckbox = (0, _forwardRef.forwardRef)(function BaseCheckbox(props, re
291
294
  fullWidth: fullWidth
292
295
  });
293
296
  });
297
+ if (process.env.NODE_ENV !== "production") BaseCheckbox.displayName = "BaseCheckbox";
294
298
  const BaseCircularProgress = (0, _forwardRef.forwardRef)(function BaseCircularProgress(props, ref) {
295
299
  const {
296
300
  material
@@ -300,6 +304,7 @@ const BaseCircularProgress = (0, _forwardRef.forwardRef)(function BaseCircularPr
300
304
  ref: ref
301
305
  }));
302
306
  });
307
+ if (process.env.NODE_ENV !== "production") BaseCircularProgress.displayName = "BaseCircularProgress";
303
308
  const BaseDivider = (0, _forwardRef.forwardRef)(function BaseDivider(props, ref) {
304
309
  const {
305
310
  material
@@ -309,6 +314,7 @@ const BaseDivider = (0, _forwardRef.forwardRef)(function BaseDivider(props, ref)
309
314
  ref: ref
310
315
  }));
311
316
  });
317
+ if (process.env.NODE_ENV !== "production") BaseDivider.displayName = "BaseDivider";
312
318
  const BaseLinearProgress = (0, _forwardRef.forwardRef)(function BaseLinearProgress(props, ref) {
313
319
  const {
314
320
  material
@@ -318,6 +324,7 @@ const BaseLinearProgress = (0, _forwardRef.forwardRef)(function BaseLinearProgre
318
324
  ref: ref
319
325
  }));
320
326
  });
327
+ if (process.env.NODE_ENV !== "production") BaseLinearProgress.displayName = "BaseLinearProgress";
321
328
  const BaseButton = (0, _forwardRef.forwardRef)(function BaseButton(props, ref) {
322
329
  const {
323
330
  material
@@ -327,6 +334,7 @@ const BaseButton = (0, _forwardRef.forwardRef)(function BaseButton(props, ref) {
327
334
  ref: ref
328
335
  }));
329
336
  });
337
+ if (process.env.NODE_ENV !== "production") BaseButton.displayName = "BaseButton";
330
338
  const BaseChip = (0, _forwardRef.forwardRef)(function BaseChip(props, ref) {
331
339
  const {
332
340
  material
@@ -336,6 +344,7 @@ const BaseChip = (0, _forwardRef.forwardRef)(function BaseChip(props, ref) {
336
344
  ref: ref
337
345
  }));
338
346
  });
347
+ if (process.env.NODE_ENV !== "production") BaseChip.displayName = "BaseChip";
339
348
  const BaseIconButton = (0, _forwardRef.forwardRef)(function BaseIconButton(props, ref) {
340
349
  const {
341
350
  material
@@ -345,6 +354,7 @@ const BaseIconButton = (0, _forwardRef.forwardRef)(function BaseIconButton(props
345
354
  ref: ref
346
355
  }));
347
356
  });
357
+ if (process.env.NODE_ENV !== "production") BaseIconButton.displayName = "BaseIconButton";
348
358
  const BaseTooltip = (0, _forwardRef.forwardRef)(function BaseTooltip(props, ref) {
349
359
  const {
350
360
  material
@@ -354,6 +364,7 @@ const BaseTooltip = (0, _forwardRef.forwardRef)(function BaseTooltip(props, ref)
354
364
  ref: ref
355
365
  }));
356
366
  });
367
+ if (process.env.NODE_ENV !== "production") BaseTooltip.displayName = "BaseTooltip";
357
368
  const BaseSkeleton = (0, _forwardRef.forwardRef)(function BaseSkeleton(props, ref) {
358
369
  const {
359
370
  material
@@ -363,6 +374,7 @@ const BaseSkeleton = (0, _forwardRef.forwardRef)(function BaseSkeleton(props, re
363
374
  ref: ref
364
375
  }));
365
376
  });
377
+ if (process.env.NODE_ENV !== "production") BaseSkeleton.displayName = "BaseSkeleton";
366
378
  const BaseSwitch = (0, _forwardRef.forwardRef)(function BaseSwitch(props, ref) {
367
379
  const {
368
380
  material,
@@ -384,6 +396,7 @@ const BaseSwitch = (0, _forwardRef.forwardRef)(function BaseSwitch(props, ref) {
384
396
  label: label
385
397
  });
386
398
  });
399
+ if (process.env.NODE_ENV !== "production") BaseSwitch.displayName = "BaseSwitch";
387
400
  const BaseMenuList = (0, _forwardRef.forwardRef)(function BaseMenuList(props, ref) {
388
401
  const {
389
402
  material
@@ -393,6 +406,7 @@ const BaseMenuList = (0, _forwardRef.forwardRef)(function BaseMenuList(props, re
393
406
  ref: ref
394
407
  }));
395
408
  });
409
+ if (process.env.NODE_ENV !== "production") BaseMenuList.displayName = "BaseMenuList";
396
410
  function BaseMenuItem(props) {
397
411
  const {
398
412
  inert,
@@ -841,6 +841,13 @@ export interface DataGridProSharedPropsWithDefaultValue {
841
841
  * @default false
842
842
  */
843
843
  listView: boolean;
844
+ /**
845
+ * If set to "always", the multi-sorting is applied without modifier key.
846
+ * Otherwise, the modifier key is required for multi-sorting to be applied.
847
+ * @see See https://mui.com/x/react-data-grid/sorting/#multi-sorting
848
+ * @default "withModifierKey"
849
+ */
850
+ multipleColumnsSortingMode: 'withModifierKey' | 'always';
844
851
  }
845
852
  export interface DataGridProSharedPropsWithoutDefaultValue<R extends GridValidRowModel = any> {
846
853
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "8.4.0",
3
+ "version": "8.5.1",
4
4
  "author": "MUI Team",
5
5
  "description": "The Community plan edition of the MUI X Data Grid components.",
6
6
  "main": "./index.js",
@@ -39,13 +39,13 @@
39
39
  "directory": "packages/x-data-grid"
40
40
  },
41
41
  "dependencies": {
42
- "@babel/runtime": "^7.27.1",
43
- "@mui/utils": "^7.0.2",
42
+ "@babel/runtime": "^7.27.4",
43
+ "@mui/utils": "^7.1.1",
44
44
  "clsx": "^2.1.1",
45
45
  "prop-types": "^15.8.1",
46
46
  "reselect": "^5.1.1",
47
47
  "use-sync-external-store": "^1.5.0",
48
- "@mui/x-internals": "8.4.0"
48
+ "@mui/x-internals": "8.5.1"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "@emotion/react": "^11.9.0",
@@ -1,3 +1,3 @@
1
- import { unstable_composeClasses as composeClasses } from '@mui/utils';
1
+ import composeClasses from '@mui/utils/composeClasses';
2
2
  import type { DataGridProcessedProps } from "../models/props/DataGridProps.js";
3
3
  export declare function composeGridClasses(classes: DataGridProcessedProps['classes'], slots: Parameters<typeof composeClasses>[0]): Record<string, string>;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.composeGridClasses = composeGridClasses;
7
- var _utils = require("@mui/utils");
8
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
8
9
  var _gridClasses = require("../constants/gridClasses");
9
10
  function composeGridClasses(classes, slots) {
10
- return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
11
+ return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
11
12
  }
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
- export type RenderProp<Props, State = {}> = ((props: Props, state: State) => React.ReactElement<unknown>) | React.ReactElement<Props>;
3
- /**
4
- * Resolves the rendering logic for a component.
5
- * Handles three scenarios:
6
- * 1. A render function that receives props and state
7
- * 2. A React element
8
- * 3. A default element
9
- *
10
- * @ignore - internal hook.
11
- */
12
- export declare function useGridComponentRenderer<Props extends React.HTMLAttributes<any>, State extends Record<string, any>>(defaultElement: keyof React.JSX.IntrinsicElements | React.ComponentType<Props>, render: RenderProp<Props, State> | undefined, props: Props, state?: State): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
@@ -1,36 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import clsx from 'clsx';
4
- /**
5
- * Resolves the rendering logic for a component.
6
- * Handles three scenarios:
7
- * 1. A render function that receives props and state
8
- * 2. A React element
9
- * 3. A default element
10
- *
11
- * @ignore - internal hook.
12
- */
13
- export function useGridComponentRenderer(defaultElement, render, props, state = {}) {
14
- if (typeof render === 'function') {
15
- return render(props, state);
16
- }
17
- if (render) {
18
- if (render.props.className) {
19
- props.className = clsx(render.props.className, props.className);
20
- }
21
- if (render.props.style || props.style) {
22
- props.style = _extends({}, props.style, render.props.style);
23
- }
24
- if (render.props.sx || props.sx) {
25
- props.sx = mergeSx(props.sx, render.props.sx);
26
- }
27
- return /*#__PURE__*/React.cloneElement(render, props);
28
- }
29
- return /*#__PURE__*/React.createElement(defaultElement, props);
30
- }
31
- function mergeSx(sx1, sx2) {
32
- if (!sx1 || !sx2) {
33
- return sx1 || sx2;
34
- }
35
- return (Array.isArray(sx1) ? sx1 : [sx1]).concat(Array.isArray(sx2) ? sx2 : [sx2]);
36
- }
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
- export type RenderProp<Props, State = {}> = ((props: Props, state: State) => React.ReactElement<unknown>) | React.ReactElement<Props>;
3
- /**
4
- * Resolves the rendering logic for a component.
5
- * Handles three scenarios:
6
- * 1. A render function that receives props and state
7
- * 2. A React element
8
- * 3. A default element
9
- *
10
- * @ignore - internal hook.
11
- */
12
- export declare function useGridComponentRenderer<Props extends React.HTMLAttributes<any>, State extends Record<string, any>>(defaultElement: keyof React.JSX.IntrinsicElements | React.ComponentType<Props>, render: RenderProp<Props, State> | undefined, props: Props, state?: State): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;