@mui/x-data-grid 8.4.0 → 8.5.0

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 (172) hide show
  1. package/CHANGELOG.md +103 -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.js +1 -0
  34. package/components/containers/GridFooterContainer.js +1 -0
  35. package/components/containers/GridOverlay.js +1 -0
  36. package/components/containers/GridRoot.js +7 -4
  37. package/components/containers/GridRootStyles.js +1 -1
  38. package/components/containers/GridToolbarContainer.js +1 -0
  39. package/components/export/ExportCsv.js +1 -0
  40. package/components/export/ExportPrint.js +1 -0
  41. package/components/filterPanel/FilterPanelTrigger.js +1 -0
  42. package/components/menu/GridMenu.js +6 -4
  43. package/components/menu/columnMenu/GridColumnMenu.js +2 -0
  44. package/components/menu/columnMenu/GridColumnMenuContainer.js +1 -0
  45. package/components/panel/GridPanel.js +3 -2
  46. package/components/panel/GridPanelWrapper.js +2 -1
  47. package/components/panel/filterPanel/GridFilterForm.js +10 -7
  48. package/components/panel/filterPanel/GridFilterInputBoolean.js +5 -4
  49. package/components/panel/filterPanel/GridFilterInputDate.js +2 -2
  50. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +2 -2
  51. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  52. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +3 -3
  53. package/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  54. package/components/panel/filterPanel/GridFilterPanel.js +1 -0
  55. package/components/quickFilter/QuickFilter.js +2 -2
  56. package/components/quickFilter/QuickFilterClear.js +1 -0
  57. package/components/quickFilter/QuickFilterControl.js +3 -2
  58. package/components/quickFilter/QuickFilterTrigger.js +3 -2
  59. package/components/toolbar/GridToolbar.js +3 -2
  60. package/components/toolbar/GridToolbarColumnsButton.js +1 -0
  61. package/components/toolbar/GridToolbarDensitySelector.js +6 -4
  62. package/components/toolbar/GridToolbarExport.js +1 -0
  63. package/components/toolbar/GridToolbarExportContainer.js +6 -4
  64. package/components/toolbar/GridToolbarFilterButton.js +8 -5
  65. package/components/toolbarV8/Toolbar.js +1 -0
  66. package/components/toolbarV8/ToolbarButton.js +3 -2
  67. package/components/virtualization/GridMainContainer.js +2 -1
  68. package/components/virtualization/GridVirtualScrollbar.js +2 -1
  69. package/components/virtualization/GridVirtualScrollerContent.js +2 -1
  70. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  71. package/constants/gridClasses.d.ts +4 -0
  72. package/constants/gridClasses.js +5 -3
  73. package/esm/DataGrid/DataGrid.js +4 -3
  74. package/esm/components/GridColumnHeaders.js +1 -0
  75. package/esm/components/GridFooter.js +1 -0
  76. package/esm/components/GridLoadingOverlay.js +1 -0
  77. package/esm/components/GridNoColumnsOverlay.js +1 -0
  78. package/esm/components/GridNoResultsOverlay.js +2 -1
  79. package/esm/components/GridNoRowsOverlay.js +1 -0
  80. package/esm/components/GridRow.js +2 -1
  81. package/esm/components/GridRowCount.js +1 -0
  82. package/esm/components/GridSelectedRowCount.js +1 -0
  83. package/esm/components/GridShadowScrollArea.js +1 -0
  84. package/esm/components/GridSkeletonLoadingOverlay.js +3 -1
  85. package/esm/components/cell/GridActionsCell.js +1 -1
  86. package/esm/components/cell/GridActionsCellItem.js +1 -0
  87. package/esm/components/cell/GridCell.js +5 -1
  88. package/esm/components/cell/GridEditBooleanCell.js +3 -1
  89. package/esm/components/cell/GridEditDateCell.js +2 -1
  90. package/esm/components/cell/GridEditInputCell.js +3 -1
  91. package/esm/components/cell/GridEditSingleSelectCell.js +1 -1
  92. package/esm/components/cell/GridSkeletonCell.js +2 -1
  93. package/esm/components/columnHeaders/GridBaseColumnHeaders.js +2 -1
  94. package/esm/components/columnHeaders/GridColumnGroupHeader.js +2 -1
  95. package/esm/components/columnHeaders/GridColumnHeaderFilterIconButton.js +2 -1
  96. package/esm/components/columnHeaders/GridColumnHeaderItem.js +2 -1
  97. package/esm/components/columnHeaders/GridColumnHeaderSeparator.js +2 -1
  98. package/esm/components/columnHeaders/GridColumnHeaderTitle.js +1 -0
  99. package/esm/components/columnHeaders/GridGenericColumnHeaderItem.js +2 -1
  100. package/esm/components/columnHeaders/GridIconButtonContainer.js +2 -1
  101. package/esm/components/columnSelection/GridCellCheckboxRenderer.js +2 -1
  102. package/esm/components/columnSelection/GridHeaderCheckbox.js +1 -0
  103. package/esm/components/columnsManagement/GridColumnsManagement.js +2 -2
  104. package/esm/components/columnsPanel/ColumnsPanelTrigger.js +1 -0
  105. package/esm/components/containers/GridFooterContainer.js +1 -0
  106. package/esm/components/containers/GridOverlay.js +1 -0
  107. package/esm/components/containers/GridRoot.js +4 -1
  108. package/esm/components/containers/GridRootStyles.js +1 -1
  109. package/esm/components/containers/GridToolbarContainer.js +1 -0
  110. package/esm/components/export/ExportCsv.js +1 -0
  111. package/esm/components/export/ExportPrint.js +1 -0
  112. package/esm/components/filterPanel/FilterPanelTrigger.js +1 -0
  113. package/esm/components/menu/GridMenu.js +3 -1
  114. package/esm/components/menu/columnMenu/GridColumnMenu.js +2 -0
  115. package/esm/components/menu/columnMenu/GridColumnMenuContainer.js +1 -0
  116. package/esm/components/panel/GridPanel.js +2 -1
  117. package/esm/components/panel/GridPanelWrapper.js +1 -0
  118. package/esm/components/panel/filterPanel/GridFilterForm.js +4 -1
  119. package/esm/components/panel/filterPanel/GridFilterInputBoolean.js +2 -1
  120. package/esm/components/panel/filterPanel/GridFilterInputDate.js +1 -1
  121. package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
  122. package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  123. package/esm/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  124. package/esm/components/panel/filterPanel/GridFilterInputValue.js +1 -1
  125. package/esm/components/panel/filterPanel/GridFilterPanel.js +1 -0
  126. package/esm/components/quickFilter/QuickFilter.js +1 -1
  127. package/esm/components/quickFilter/QuickFilterClear.js +1 -0
  128. package/esm/components/quickFilter/QuickFilterControl.js +2 -1
  129. package/esm/components/quickFilter/QuickFilterTrigger.js +2 -1
  130. package/esm/components/toolbar/GridToolbar.js +1 -0
  131. package/esm/components/toolbar/GridToolbarColumnsButton.js +1 -0
  132. package/esm/components/toolbar/GridToolbarDensitySelector.js +3 -1
  133. package/esm/components/toolbar/GridToolbarExport.js +1 -0
  134. package/esm/components/toolbar/GridToolbarExportContainer.js +3 -1
  135. package/esm/components/toolbar/GridToolbarFilterButton.js +4 -1
  136. package/esm/components/toolbarV8/Toolbar.js +1 -0
  137. package/esm/components/toolbarV8/ToolbarButton.js +2 -1
  138. package/esm/components/virtualization/GridMainContainer.js +2 -1
  139. package/esm/components/virtualization/GridVirtualScrollbar.js +1 -0
  140. package/esm/components/virtualization/GridVirtualScrollerContent.js +1 -0
  141. package/esm/components/virtualization/GridVirtualScrollerRenderZone.js +1 -0
  142. package/esm/constants/gridClasses.d.ts +4 -0
  143. package/esm/constants/gridClasses.js +3 -2
  144. package/esm/hooks/features/columns/gridColumnsSelector.d.ts +9 -0
  145. package/esm/hooks/features/columns/gridColumnsSelector.js +9 -2
  146. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +1 -1
  147. package/esm/hooks/features/export/useGridPrintExport.js +1 -1
  148. package/esm/hooks/features/filter/useGridFilter.js +1 -1
  149. package/esm/hooks/features/rows/useGridRowsMeta.js +5 -2
  150. package/esm/hooks/features/sorting/useGridSorting.d.ts +1 -1
  151. package/esm/hooks/features/sorting/useGridSorting.js +5 -5
  152. package/esm/hooks/utils/useRunOnce.js +1 -1
  153. package/esm/index.js +1 -1
  154. package/esm/material/index.js +14 -0
  155. package/esm/models/props/DataGridProps.d.ts +7 -0
  156. package/esm/utils/composeGridClasses.d.ts +1 -1
  157. package/esm/utils/composeGridClasses.js +1 -1
  158. package/hooks/features/columns/gridColumnsSelector.d.ts +9 -0
  159. package/hooks/features/columns/gridColumnsSelector.js +10 -3
  160. package/hooks/features/dataSource/useGridDataSourceBase.js +12 -12
  161. package/hooks/features/export/useGridPrintExport.js +5 -5
  162. package/hooks/features/filter/useGridFilter.js +2 -2
  163. package/hooks/features/rows/useGridRowsMeta.js +8 -5
  164. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  165. package/hooks/features/sorting/useGridSorting.js +6 -6
  166. package/hooks/utils/useRunOnce.js +3 -2
  167. package/index.js +1 -1
  168. package/material/index.js +14 -0
  169. package/models/props/DataGridProps.d.ts +7 -0
  170. package/package.json +2 -2
  171. package/utils/composeGridClasses.d.ts +1 -1
  172. package/utils/composeGridClasses.js +3 -2
@@ -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.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
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.0",
4
4
  "author": "MUI Team",
5
5
  "description": "The Community plan edition of the MUI X Data Grid components.",
6
6
  "main": "./index.js",
@@ -45,7 +45,7 @@
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.0"
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
  }