@mui/x-data-grid 8.9.1 → 8.9.2

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 (126) hide show
  1. package/CHANGELOG.md +96 -2
  2. package/DataGrid/DataGrid.js +5 -0
  3. package/DataGrid/useDataGridComponent.js +2 -0
  4. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  5. package/components/GridDetailPanels.d.ts +2 -2
  6. package/components/GridPinnedRows.d.ts +2 -2
  7. package/components/GridRow.js +5 -0
  8. package/components/cell/GridCell.js +7 -5
  9. package/components/cell/GridEditSingleSelectCell.js +1 -1
  10. package/components/columnsManagement/GridColumnsManagement.d.ts +6 -0
  11. package/components/columnsManagement/GridColumnsManagement.js +17 -5
  12. package/components/containers/GridRootStyles.d.ts +1 -1
  13. package/components/toolbarV8/Toolbar.d.ts +1 -1
  14. package/components/virtualization/GridVirtualScroller.js +5 -5
  15. package/constants/dataGridPropsDefaultValues.js +1 -0
  16. package/esm/DataGrid/DataGrid.js +5 -0
  17. package/esm/DataGrid/useDataGridComponent.js +2 -0
  18. package/esm/colDef/gridCheckboxSelectionColDef.js +1 -0
  19. package/esm/components/GridDetailPanels.d.ts +2 -2
  20. package/esm/components/GridPinnedRows.d.ts +2 -2
  21. package/esm/components/GridRow.js +5 -0
  22. package/esm/components/cell/GridCell.js +7 -5
  23. package/esm/components/cell/GridEditSingleSelectCell.js +1 -1
  24. package/esm/components/columnsManagement/GridColumnsManagement.d.ts +6 -0
  25. package/esm/components/columnsManagement/GridColumnsManagement.js +17 -5
  26. package/esm/components/containers/GridRootStyles.d.ts +1 -1
  27. package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
  28. package/esm/components/virtualization/GridVirtualScroller.js +5 -5
  29. package/esm/constants/dataGridPropsDefaultValues.js +1 -0
  30. package/esm/hooks/core/useGridVirtualizer.d.ts +9 -0
  31. package/esm/hooks/core/useGridVirtualizer.js +223 -0
  32. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  33. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -2
  34. package/esm/hooks/features/columns/useGridColumnSpanning.js +5 -90
  35. package/esm/hooks/features/dimensions/useGridDimensions.js +18 -188
  36. package/esm/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -1
  37. package/esm/hooks/features/keyboardNavigation/utils.d.ts +3 -3
  38. package/esm/hooks/features/keyboardNavigation/utils.js +5 -5
  39. package/esm/hooks/features/pivoting/gridPivotingInterfaces.d.ts +0 -1
  40. package/esm/hooks/features/pivoting/gridPivotingSelectors.d.ts +1 -4
  41. package/esm/hooks/features/pivoting/gridPivotingSelectors.js +1 -2
  42. package/esm/hooks/features/rows/gridRowsMetaInterfaces.d.ts +2 -8
  43. package/esm/hooks/features/rows/gridRowsMetaState.d.ts +2 -18
  44. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +3 -1
  45. package/esm/hooks/features/rows/useGridRowSpanning.d.ts +2 -12
  46. package/esm/hooks/features/rows/useGridRowSpanning.js +54 -85
  47. package/esm/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
  48. package/esm/hooks/features/rows/useGridRowsMeta.js +17 -187
  49. package/esm/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +1 -1
  50. package/esm/hooks/features/virtualization/index.d.ts +1 -0
  51. package/esm/hooks/features/virtualization/index.js +1 -0
  52. package/esm/hooks/features/virtualization/useGridVirtualization.d.ts +5 -16
  53. package/esm/hooks/features/virtualization/useGridVirtualization.js +41 -22
  54. package/esm/hooks/utils/index.d.ts +1 -1
  55. package/esm/hooks/utils/index.js +1 -1
  56. package/esm/hooks/utils/useFirstRender.d.ts +1 -1
  57. package/esm/hooks/utils/useFirstRender.js +1 -8
  58. package/esm/index.js +1 -1
  59. package/esm/internals/index.d.ts +1 -1
  60. package/esm/internals/index.js +1 -1
  61. package/esm/internals/utils/getPinnedCellOffset.js +5 -0
  62. package/esm/locales/frFR.js +18 -21
  63. package/esm/locales/heIL.js +12 -12
  64. package/esm/locales/plPL.js +22 -24
  65. package/esm/models/api/gridApiCommon.d.ts +4 -1
  66. package/esm/models/api/gridColumnSpanning.d.ts +5 -11
  67. package/esm/models/props/DataGridProps.d.ts +5 -0
  68. package/esm/utils/roundToDecimalPlaces.d.ts +1 -1
  69. package/esm/utils/roundToDecimalPlaces.js +1 -3
  70. package/hooks/core/useGridVirtualizer.d.ts +9 -0
  71. package/hooks/core/useGridVirtualizer.js +231 -0
  72. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  73. package/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -3
  74. package/hooks/features/columns/useGridColumnSpanning.js +5 -91
  75. package/hooks/features/dimensions/useGridDimensions.js +18 -188
  76. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -1
  77. package/hooks/features/keyboardNavigation/utils.d.ts +3 -3
  78. package/hooks/features/keyboardNavigation/utils.js +5 -5
  79. package/hooks/features/pivoting/gridPivotingInterfaces.d.ts +0 -1
  80. package/hooks/features/pivoting/gridPivotingSelectors.d.ts +1 -4
  81. package/hooks/features/pivoting/gridPivotingSelectors.js +2 -3
  82. package/hooks/features/rows/gridRowsMetaInterfaces.d.ts +2 -8
  83. package/hooks/features/rows/gridRowsMetaState.d.ts +2 -18
  84. package/hooks/features/rows/useGridRowAriaAttributes.js +3 -1
  85. package/hooks/features/rows/useGridRowSpanning.d.ts +2 -12
  86. package/hooks/features/rows/useGridRowSpanning.js +54 -85
  87. package/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
  88. package/hooks/features/rows/useGridRowsMeta.js +15 -186
  89. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +1 -1
  90. package/hooks/features/virtualization/index.d.ts +1 -0
  91. package/hooks/features/virtualization/index.js +12 -0
  92. package/hooks/features/virtualization/useGridVirtualization.d.ts +5 -16
  93. package/hooks/features/virtualization/useGridVirtualization.js +42 -24
  94. package/hooks/utils/index.d.ts +1 -1
  95. package/hooks/utils/index.js +12 -12
  96. package/hooks/utils/useFirstRender.d.ts +1 -1
  97. package/hooks/utils/useFirstRender.js +11 -11
  98. package/index.js +1 -1
  99. package/internals/index.d.ts +1 -1
  100. package/internals/index.js +4 -11
  101. package/internals/utils/getPinnedCellOffset.js +5 -0
  102. package/locales/frFR.js +18 -21
  103. package/locales/heIL.js +12 -12
  104. package/locales/plPL.js +22 -24
  105. package/models/api/gridApiCommon.d.ts +4 -1
  106. package/models/api/gridColumnSpanning.d.ts +5 -11
  107. package/models/props/DataGridProps.d.ts +5 -0
  108. package/package.json +5 -5
  109. package/utils/roundToDecimalPlaces.d.ts +1 -1
  110. package/utils/roundToDecimalPlaces.js +7 -4
  111. package/esm/hooks/features/rows/gridRowSpanningSelectors.d.ts +0 -10
  112. package/esm/hooks/features/rows/gridRowSpanningSelectors.js +0 -5
  113. package/esm/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -56
  114. package/esm/hooks/features/virtualization/useGridVirtualScroller.js +0 -843
  115. package/esm/hooks/utils/useRunOnce.d.ts +0 -5
  116. package/esm/hooks/utils/useRunOnce.js +0 -18
  117. package/esm/utils/platform.d.ts +0 -1
  118. package/esm/utils/platform.js +0 -2
  119. package/hooks/features/rows/gridRowSpanningSelectors.d.ts +0 -10
  120. package/hooks/features/rows/gridRowSpanningSelectors.js +0 -11
  121. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -56
  122. package/hooks/features/virtualization/useGridVirtualScroller.js +0 -854
  123. package/hooks/utils/useRunOnce.d.ts +0 -5
  124. package/hooks/utils/useRunOnce.js +0 -27
  125. package/utils/platform.d.ts +0 -1
  126. package/utils/platform.js +0 -8
@@ -6,53 +6,63 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.EMPTY_RENDER_CONTEXT = void 0;
10
9
  exports.useGridVirtualization = useGridVirtualization;
11
10
  exports.virtualizationStateInitializer = void 0;
12
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
12
  var React = _interopRequireWildcard(require("react"));
13
+ var _xVirtualizer = require("@mui/x-virtualizer");
14
+ var _isJSDOM = require("../../../utils/isJSDOM");
14
15
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
15
- const EMPTY_RENDER_CONTEXT = exports.EMPTY_RENDER_CONTEXT = {
16
- firstRowIndex: 0,
17
- lastRowIndex: 0,
18
- firstColumnIndex: 0,
19
- lastColumnIndex: 0
20
- };
16
+ var _utils = require("../../utils");
17
+ const HAS_LAYOUT = !_isJSDOM.isJSDOM;
18
+
19
+ // HACK: Typescript doesn't use the alias name ("GridVirtualizationState") and changes
20
+ // the autogenerated docs result, but this would otherwise be just:
21
+ // export type GridVirtualizationState = VirtualizationState;
22
+
23
+ // XXX: We want to use the virtualizer as the source of truth for its state, but this needs to
24
+ // stay because some parts of the grid require the `virtualization` state during initialization.
21
25
  const virtualizationStateInitializer = (state, props) => {
22
26
  const {
23
27
  disableVirtualization,
24
28
  autoHeight
25
29
  } = props;
26
30
  const virtualization = {
27
- enabled: !disableVirtualization,
28
- enabledForColumns: !disableVirtualization,
29
- enabledForRows: !disableVirtualization && !autoHeight,
30
- renderContext: EMPTY_RENDER_CONTEXT
31
+ enabled: !disableVirtualization && HAS_LAYOUT,
32
+ enabledForColumns: !disableVirtualization && HAS_LAYOUT,
33
+ enabledForRows: !disableVirtualization && !autoHeight && HAS_LAYOUT,
34
+ renderContext: _xVirtualizer.EMPTY_RENDER_CONTEXT
31
35
  };
32
36
  return (0, _extends2.default)({}, state, {
33
37
  virtualization
34
38
  });
35
39
  };
36
40
  exports.virtualizationStateInitializer = virtualizationStateInitializer;
37
- function useGridVirtualization(apiRef, props) {
41
+ function useGridVirtualization(apiRef, rootProps) {
42
+ const {
43
+ virtualizer
44
+ } = apiRef.current;
45
+ const {
46
+ autoHeight,
47
+ disableVirtualization
48
+ } = rootProps;
49
+
38
50
  /*
39
51
  * API METHODS
40
52
  */
41
53
 
42
54
  const setVirtualization = enabled => {
43
- apiRef.current.setState(state => (0, _extends2.default)({}, state, {
44
- virtualization: (0, _extends2.default)({}, state.virtualization, {
45
- enabled,
46
- enabledForColumns: enabled,
47
- enabledForRows: enabled && !props.autoHeight
48
- })
55
+ enabled && (enabled = HAS_LAYOUT);
56
+ virtualizer.store.set('virtualization', (0, _extends2.default)({}, virtualizer.store.state.virtualization, {
57
+ enabled,
58
+ enabledForColumns: enabled,
59
+ enabledForRows: enabled && !autoHeight
49
60
  }));
50
61
  };
51
62
  const setColumnVirtualization = enabled => {
52
- apiRef.current.setState(state => (0, _extends2.default)({}, state, {
53
- virtualization: (0, _extends2.default)({}, state.virtualization, {
54
- enabledForColumns: enabled
55
- })
63
+ enabled && (enabled = HAS_LAYOUT);
64
+ virtualizer.store.set('virtualization', (0, _extends2.default)({}, virtualizer.store.state.virtualization, {
65
+ enabledForColumns: enabled
56
66
  }));
57
67
  };
58
68
  const api = {
@@ -60,14 +70,22 @@ function useGridVirtualization(apiRef, props) {
60
70
  unstable_setColumnVirtualization: setColumnVirtualization
61
71
  };
62
72
  (0, _useGridApiMethod.useGridApiMethod)(apiRef, api, 'public');
73
+ const forceUpdateRenderContext = virtualizer.api.forceUpdateRenderContext;
74
+ apiRef.current.register('private', {
75
+ updateRenderContext: forceUpdateRenderContext
76
+ });
63
77
 
64
78
  /*
65
79
  * EFFECTS
66
80
  */
67
81
 
82
+ (0, _utils.useGridEventPriority)(apiRef, 'sortedRowsSet', forceUpdateRenderContext);
83
+ (0, _utils.useGridEventPriority)(apiRef, 'paginationModelChange', forceUpdateRenderContext);
84
+ (0, _utils.useGridEventPriority)(apiRef, 'columnsChange', forceUpdateRenderContext);
85
+
68
86
  /* eslint-disable react-hooks/exhaustive-deps */
69
87
  React.useEffect(() => {
70
- setVirtualization(!props.disableVirtualization);
71
- }, [props.disableVirtualization, props.autoHeight]);
88
+ setVirtualization(!rootProps.disableVirtualization);
89
+ }, [disableVirtualization, autoHeight]);
72
90
  /* eslint-enable react-hooks/exhaustive-deps */
73
91
  }
@@ -1,3 +1,4 @@
1
+ export * from '@mui/x-internals/useRunOnce';
1
2
  export { useGridEvent, useGridEventPriority, unstable_resetCleanupTracking } from "./useGridEvent.js";
2
3
  export * from "./useGridApiMethod.js";
3
4
  export * from "./useGridLogger.js";
@@ -5,6 +6,5 @@ export { useGridSelector } from "./useGridSelector.js";
5
6
  export * from "./useGridNativeEventListener.js";
6
7
  export * from "./useFirstRender.js";
7
8
  export * from "./useOnMount.js";
8
- export * from "./useRunOnce.js";
9
9
  export * from "./useRunOncePerLoop.js";
10
10
  export type { RenderProp } from '@mui/x-internals/useComponentRenderer';
@@ -33,6 +33,18 @@ Object.defineProperty(exports, "useGridSelector", {
33
33
  return _useGridSelector.useGridSelector;
34
34
  }
35
35
  });
36
+ var _useRunOnce = require("@mui/x-internals/useRunOnce");
37
+ Object.keys(_useRunOnce).forEach(function (key) {
38
+ if (key === "default" || key === "__esModule") return;
39
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
40
+ if (key in exports && exports[key] === _useRunOnce[key]) return;
41
+ Object.defineProperty(exports, key, {
42
+ enumerable: true,
43
+ get: function () {
44
+ return _useRunOnce[key];
45
+ }
46
+ });
47
+ });
36
48
  var _useGridEvent = require("./useGridEvent");
37
49
  var _useGridApiMethod = require("./useGridApiMethod");
38
50
  Object.keys(_useGridApiMethod).forEach(function (key) {
@@ -95,18 +107,6 @@ Object.keys(_useOnMount).forEach(function (key) {
95
107
  }
96
108
  });
97
109
  });
98
- var _useRunOnce = require("./useRunOnce");
99
- Object.keys(_useRunOnce).forEach(function (key) {
100
- if (key === "default" || key === "__esModule") return;
101
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
102
- if (key in exports && exports[key] === _useRunOnce[key]) return;
103
- Object.defineProperty(exports, key, {
104
- enumerable: true,
105
- get: function () {
106
- return _useRunOnce[key];
107
- }
108
- });
109
- });
110
110
  var _useRunOncePerLoop = require("./useRunOncePerLoop");
111
111
  Object.keys(_useRunOncePerLoop).forEach(function (key) {
112
112
  if (key === "default" || key === "__esModule") return;
@@ -1 +1 @@
1
- export declare const useFirstRender: (callback: () => void) => void;
1
+ export * from '@mui/x-internals/useFirstRender';
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.useFirstRender = void 0;
8
- var React = _interopRequireWildcard(require("react"));
9
- const useFirstRender = callback => {
10
- const isFirstRender = React.useRef(true);
11
- if (isFirstRender.current) {
12
- isFirstRender.current = false;
13
- callback();
14
- }
15
- };
16
- exports.useFirstRender = useFirstRender;
6
+ var _useFirstRender = require("@mui/x-internals/useFirstRender");
7
+ Object.keys(_useFirstRender).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useFirstRender[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _useFirstRender[key];
14
+ }
15
+ });
16
+ });
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.9.1
2
+ * @mui/x-data-grid v8.9.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -12,6 +12,7 @@ export { GridBaseColumnHeaders } from "../components/columnHeaders/GridBaseColum
12
12
  export { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from "../constants/defaultGridSlotsComponents.js";
13
13
  export * from "../constants/signature.js";
14
14
  export { vars } from "../constants/cssVariables.js";
15
+ export { useGridVirtualizer } from "../hooks/core/useGridVirtualizer.js";
15
16
  export { propsStateInitializer } from "../hooks/core/useGridProps.js";
16
17
  export { getGridFilter } from "../components/panel/filterPanel/GridFilterPanel.js";
17
18
  export { getValueOptions } from "../components/panel/filterPanel/filterPanelUtils.js";
@@ -72,7 +73,6 @@ export { dimensionsStateInitializer, useGridDimensions } from "../hooks/features
72
73
  export * from "../hooks/features/dimensions/gridDimensionsSelectors.js";
73
74
  export { useGridStatePersistence } from "../hooks/features/statePersistence/useGridStatePersistence.js";
74
75
  export type { GridRestoreStatePreProcessingContext } from "../hooks/features/statePersistence/gridStatePersistenceInterface.js";
75
- export { useGridVirtualScroller, EMPTY_DETAIL_PANELS } from "../hooks/features/virtualization/useGridVirtualScroller.js";
76
76
  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";
@@ -14,6 +14,7 @@ var _exportNames = {
14
14
  GridBaseColumnHeaders: true,
15
15
  DATA_GRID_DEFAULT_SLOTS_COMPONENTS: true,
16
16
  vars: true,
17
+ useGridVirtualizer: true,
17
18
  propsStateInitializer: true,
18
19
  getGridFilter: true,
19
20
  getValueOptions: true,
@@ -87,8 +88,6 @@ var _exportNames = {
87
88
  dimensionsStateInitializer: true,
88
89
  useGridDimensions: true,
89
90
  useGridStatePersistence: true,
90
- useGridVirtualScroller: true,
91
- EMPTY_DETAIL_PANELS: true,
92
91
  useGridColumnResize: true,
93
92
  columnResizeStateInitializer: true,
94
93
  ROW_SELECTION_PROPAGATION_DEFAULT: true,
@@ -139,12 +138,6 @@ Object.defineProperty(exports, "DataSourceRowsUpdateStrategy", {
139
138
  return _utils2.DataSourceRowsUpdateStrategy;
140
139
  }
141
140
  });
142
- Object.defineProperty(exports, "EMPTY_DETAIL_PANELS", {
143
- enumerable: true,
144
- get: function () {
145
- return _useGridVirtualScroller.EMPTY_DETAIL_PANELS;
146
- }
147
- });
148
141
  Object.defineProperty(exports, "GRID_DEFAULT_STRATEGY", {
149
142
  enumerable: true,
150
143
  get: function () {
@@ -793,10 +786,10 @@ Object.defineProperty(exports, "useGridStatePersistence", {
793
786
  return _useGridStatePersistence.useGridStatePersistence;
794
787
  }
795
788
  });
796
- Object.defineProperty(exports, "useGridVirtualScroller", {
789
+ Object.defineProperty(exports, "useGridVirtualizer", {
797
790
  enumerable: true,
798
791
  get: function () {
799
- return _useGridVirtualScroller.useGridVirtualScroller;
792
+ return _useGridVirtualizer.useGridVirtualizer;
800
793
  }
801
794
  });
802
795
  Object.defineProperty(exports, "useGridVisibleRows", {
@@ -838,6 +831,7 @@ Object.keys(_signature).forEach(function (key) {
838
831
  });
839
832
  });
840
833
  var _cssVariables = require("../constants/cssVariables");
834
+ var _useGridVirtualizer = require("../hooks/core/useGridVirtualizer");
841
835
  var _useGridProps = require("../hooks/core/useGridProps");
842
836
  var _GridFilterPanel = require("../components/panel/filterPanel/GridFilterPanel");
843
837
  var _filterPanelUtils = require("../components/panel/filterPanel/filterPanelUtils");
@@ -930,7 +924,6 @@ Object.keys(_gridDimensionsSelectors).forEach(function (key) {
930
924
  });
931
925
  });
932
926
  var _useGridStatePersistence = require("../hooks/features/statePersistence/useGridStatePersistence");
933
- var _useGridVirtualScroller = require("../hooks/features/virtualization/useGridVirtualScroller");
934
927
  var _virtualization = require("../hooks/features/virtualization");
935
928
  Object.keys(_virtualization).forEach(function (key) {
936
929
  if (key === "default" || key === "__esModule") return;
@@ -18,6 +18,11 @@ const getPinnedCellOffset = (pinnedPosition, computedWidth, columnIndex, columnP
18
18
  pinnedOffset = undefined;
19
19
  break;
20
20
  }
21
+
22
+ // XXX: fix this properly
23
+ if (Number.isNaN(pinnedOffset)) {
24
+ pinnedOffset = undefined;
25
+ }
21
26
  return pinnedOffset;
22
27
  };
23
28
  exports.getPinnedCellOffset = getPinnedCellOffset;
package/locales/frFR.js CHANGED
@@ -9,8 +9,8 @@ const frFRGrid = {
9
9
  // Root
10
10
  noRowsLabel: 'Pas de résultats',
11
11
  noResultsOverlayLabel: 'Aucun résultat.',
12
- // noColumnsOverlayLabel: 'No columns',
13
- // noColumnsOverlayManageColumns: 'Manage columns',
12
+ noColumnsOverlayLabel: 'Aucune colonne',
13
+ noColumnsOverlayManageColumns: 'Gérer les colonnes',
14
14
  // emptyPivotOverlayLabel: 'Add fields to rows, columns, and values to create a pivot table',
15
15
 
16
16
  // Density selector toolbar button text
@@ -42,15 +42,13 @@ const frFRGrid = {
42
42
  // toolbarPivot: 'Pivot',
43
43
 
44
44
  // Toolbar AI Assistant button
45
- // toolbarAssistant: 'AI Assistant',
46
-
45
+ toolbarAssistant: 'Assistant IA',
47
46
  // Columns management text
48
47
  columnsManagementSearchTitle: 'Rechercher',
49
48
  columnsManagementNoColumns: 'Pas de colonnes',
50
49
  columnsManagementShowHideAllText: 'Afficher/masquer toutes',
51
50
  columnsManagementReset: 'Réinitialiser',
52
- // columnsManagementDeleteIconLabel: 'Clear',
53
-
51
+ columnsManagementDeleteIconLabel: 'Effacer',
54
52
  // Filter panel text
55
53
  filterPanelAddFilter: 'Ajouter un filtre',
56
54
  filterPanelRemoveAll: 'Tout supprimer',
@@ -106,15 +104,14 @@ const frFRGrid = {
106
104
  'headerFilterOperator>=': 'Est supérieur ou égal à',
107
105
  'headerFilterOperator<': 'Est inférieur à',
108
106
  'headerFilterOperator<=': 'Est inférieur ou égal à',
109
- // headerFilterClear: 'Clear filter',
110
-
107
+ headerFilterClear: 'Effacer le filtre',
111
108
  // Filter values text
112
109
  filterValueAny: 'tous',
113
110
  filterValueTrue: 'vrai',
114
111
  filterValueFalse: 'faux',
115
112
  // Column menu text
116
113
  columnMenuLabel: 'Menu',
117
- // columnMenuAriaLabel: (columnName: string) => `${columnName} column menu`,
114
+ columnMenuAriaLabel: columnName => `Menu pour la colonne ${columnName}`,
118
115
  columnMenuShowColumns: 'Afficher les colonnes',
119
116
  columnMenuManageColumns: 'Gérer les colonnes',
120
117
  columnMenuFilter: 'Filtrer',
@@ -163,18 +160,18 @@ const frFRGrid = {
163
160
  collapseDetailPanel: 'Masquer',
164
161
  // Pagination
165
162
  paginationRowsPerPage: 'Lignes par page :',
166
- // paginationDisplayedRows: ({
167
- // from,
168
- // to,
169
- // count,
170
- // estimated
171
- // }) => {
172
- // if (!estimated) {
173
- // return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
174
- // }
175
- // const estimatedLabel = estimated && estimated > to ? `around ${estimated}` : `more than ${to}`;
176
- // return `${from}–${to} of ${count !== -1 ? count : estimatedLabel}`;
177
- // },
163
+ paginationDisplayedRows: ({
164
+ from,
165
+ to,
166
+ count,
167
+ estimated
168
+ }) => {
169
+ if (!estimated) {
170
+ return `${from}–${to} sur ${count !== -1 ? count : `plus de ${to}`}`;
171
+ }
172
+ const estimatedLabel = estimated && estimated > to ? `environ ${estimated}` : `plus de ${to}`;
173
+ return `${from}–${to} sur ${count !== -1 ? count : estimatedLabel}`;
174
+ },
178
175
  paginationItemAriaLabel: type => {
179
176
  if (type === 'first') {
180
177
  return 'Aller à la première page';
package/locales/heIL.js CHANGED
@@ -162,18 +162,18 @@ const heILGrid = {
162
162
  collapseDetailPanel: 'כווץ',
163
163
  // Pagination
164
164
  paginationRowsPerPage: 'שורות בעמוד:',
165
- // paginationDisplayedRows: ({
166
- // from,
167
- // to,
168
- // count,
169
- // estimated
170
- // }) => {
171
- // if (!estimated) {
172
- // return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
173
- // }
174
- // const estimatedLabel = estimated && estimated > to ? `around ${estimated}` : `more than ${to}`;
175
- // return `${from}–${to} of ${count !== -1 ? count : estimatedLabel}`;
176
- // },
165
+ paginationDisplayedRows: ({
166
+ from,
167
+ to,
168
+ count,
169
+ estimated
170
+ }) => {
171
+ if (!estimated) {
172
+ return `${from}-${to} מתוך ${count !== -1 ? count : `יותר מ־${to}`}`;
173
+ }
174
+ const estimatedLabel = estimated && estimated > to ? `כ־${estimated}` : `יותר מ־${to}`;
175
+ return `${from}-${to} מתוך ${count !== -1 ? count : estimatedLabel}`;
176
+ },
177
177
  paginationItemAriaLabel: type => {
178
178
  if (type === 'first') {
179
179
  return 'לעמוד הראשון';
package/locales/plPL.js CHANGED
@@ -9,8 +9,8 @@ const plPLGrid = {
9
9
  // Root
10
10
  noRowsLabel: 'Brak danych',
11
11
  noResultsOverlayLabel: 'Nie znaleziono wyników.',
12
- // noColumnsOverlayLabel: 'No columns',
13
- // noColumnsOverlayManageColumns: 'Manage columns',
12
+ noColumnsOverlayLabel: 'Brak kolumn',
13
+ noColumnsOverlayManageColumns: 'Zarządzaj kolumnami',
14
14
  // emptyPivotOverlayLabel: 'Add fields to rows, columns, and values to create a pivot table',
15
15
 
16
16
  // Density selector toolbar button text
@@ -42,8 +42,7 @@ const plPLGrid = {
42
42
  // toolbarPivot: 'Pivot',
43
43
 
44
44
  // Toolbar AI Assistant button
45
- // toolbarAssistant: 'AI Assistant',
46
-
45
+ toolbarAssistant: 'Asystent AI',
47
46
  // Columns management text
48
47
  columnsManagementSearchTitle: 'Szukaj',
49
48
  columnsManagementNoColumns: 'Brak kolumn',
@@ -161,18 +160,18 @@ const plPLGrid = {
161
160
  collapseDetailPanel: 'Zwiń',
162
161
  // Pagination
163
162
  paginationRowsPerPage: 'Wierszy na stronę:',
164
- // paginationDisplayedRows: ({
165
- // from,
166
- // to,
167
- // count,
168
- // estimated
169
- // }) => {
170
- // if (!estimated) {
171
- // return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
172
- // }
173
- // const estimatedLabel = estimated && estimated > to ? `around ${estimated}` : `more than ${to}`;
174
- // return `${from}–${to} of ${count !== -1 ? count : estimatedLabel}`;
175
- // },
163
+ paginationDisplayedRows: ({
164
+ from,
165
+ to,
166
+ count,
167
+ estimated
168
+ }) => {
169
+ if (!estimated) {
170
+ return `${from}–${to} z ${count !== -1 ? count : `więcej niż ${to}`}`;
171
+ }
172
+ const estimatedLabel = estimated && estimated > to ? `około ${estimated}` : `więcej niż ${to}`;
173
+ return `${from}–${to} z ${count !== -1 ? count : estimatedLabel}`;
174
+ },
176
175
  paginationItemAriaLabel: type => {
177
176
  if (type === 'first') {
178
177
  return 'Przejdź do pierwszej strony';
@@ -225,19 +224,18 @@ const plPLGrid = {
225
224
  // pivotQuarterColumnHeaderName: '(Quarter)',
226
225
 
227
226
  // AI Assistant panel
228
- // aiAssistantPanelTitle: 'AI Assistant',
229
- // aiAssistantPanelClose: 'Close AI Assistant',
230
- // aiAssistantPanelNewConversation: 'New conversation',
231
- // aiAssistantPanelConversationHistory: 'Conversation history',
232
- // aiAssistantPanelEmptyConversation: 'No prompt history',
233
- // aiAssistantSuggestions: 'Suggestions',
234
-
227
+ aiAssistantPanelTitle: 'Asystent AI',
228
+ aiAssistantPanelClose: 'Zamknij asystenta AI',
229
+ aiAssistantPanelNewConversation: 'Nowa konwersacja',
230
+ aiAssistantPanelConversationHistory: 'Historia konwersacji',
231
+ aiAssistantPanelEmptyConversation: 'Brak historii poleceń',
232
+ aiAssistantSuggestions: 'Sugestie',
235
233
  // Prompt field
236
234
  promptFieldLabel: 'Wprowadź polecenie',
237
235
  promptFieldPlaceholder: 'Wpisz polecenie…',
238
236
  promptFieldPlaceholderWithRecording: 'Wpisz lub nagraj polecenie…',
239
237
  promptFieldPlaceholderListening: 'Nasłuchiwanie polecenia…',
240
- // promptFieldSpeechRecognitionNotSupported: 'Speech recognition is not supported in this browser',
238
+ promptFieldSpeechRecognitionNotSupported: 'Rozpoznawanie głosu nie jest obsługiwane przez Twoją przeglądarkę.',
241
239
  promptFieldSend: 'Wyślij',
242
240
  promptFieldRecord: 'Nagrywaj',
243
241
  promptFieldStopRecording: 'Zatrzymaj nagrywanie'
@@ -1,3 +1,4 @@
1
+ import type { Virtualizer } from '@mui/x-virtualizer';
1
2
  import type { GridColumnApi } from "./gridColumnApi.js";
2
3
  import type { GridColumnMenuApi } from "./gridColumnMenuApi.js";
3
4
  import type { GridCoreApi, GridCorePrivateApi } from "./gridCoreApi.js";
@@ -31,5 +32,7 @@ import type { DataGridProcessedProps } from "../props/DataGridProps.js";
31
32
  import type { GridColumnResizeApi } from "../../hooks/features/columnResize/index.js";
32
33
  import type { GridPivotingPrivateApiCommunity } from "../../hooks/features/pivoting/gridPivotingInterfaces.js";
33
34
  export interface GridApiCommon<GridState extends GridStateCommunity = any, GridInitialState extends GridInitialStateCommunity = any> extends GridCoreApi, GridPipeProcessingApi, GridDensityApi, GridDimensionsApi, GridRowApi, GridRowsMetaApi, GridEditingApi, GridParamsApi, GridColumnApi, GridRowSelectionApi, GridSortApi, GridPaginationApi, GridCsvExportApi, GridFocusApi, GridFilterApi, GridColumnMenuApi, GridPreferencesPanelApi, GridPrintExportApi, GridVirtualizationApi, GridLocaleTextApi, GridScrollApi, GridColumnSpanningApi, GridStateApi<GridState>, GridStatePersistenceApi<GridInitialState>, GridColumnGroupingApi, GridHeaderFilteringApi, GridColumnResizeApi {}
34
- export interface GridPrivateOnlyApiCommon<Api extends GridApiCommon, PrivateApi extends GridPrivateApiCommon, Props extends DataGridProcessedProps> extends GridCorePrivateApi<Api, PrivateApi, Props>, GridStatePrivateApi<PrivateApi['state']>, GridPipeProcessingPrivateApi, GridStrategyProcessingApi, GridColumnSpanningPrivateApi, GridRowsMetaPrivateApi, GridDimensionsPrivateApi, GridEditingPrivateApi, GridLoggerApi, GridFocusPrivateApi, GridHeaderFilteringPrivateApi, GridVirtualizationPrivateApi, GridRowProPrivateApi, GridParamsPrivateApi, GridPivotingPrivateApiCommunity {}
35
+ export interface GridPrivateOnlyApiCommon<Api extends GridApiCommon, PrivateApi extends GridPrivateApiCommon, Props extends DataGridProcessedProps> extends GridCorePrivateApi<Api, PrivateApi, Props>, GridStatePrivateApi<PrivateApi['state']>, GridPipeProcessingPrivateApi, GridStrategyProcessingApi, GridColumnSpanningPrivateApi, GridRowsMetaPrivateApi, GridDimensionsPrivateApi, GridEditingPrivateApi, GridLoggerApi, GridFocusPrivateApi, GridHeaderFilteringPrivateApi, GridVirtualizationPrivateApi, GridRowProPrivateApi, GridParamsPrivateApi, GridPivotingPrivateApiCommunity {
36
+ virtualizer: Virtualizer;
37
+ }
35
38
  export interface GridPrivateApiCommon extends GridApiCommon, GridPrivateOnlyApiCommon<GridApiCommon, GridPrivateApiCommon, DataGridProcessedProps> {}
@@ -19,16 +19,10 @@ export interface GridColumnSpanningPrivateApi {
19
19
  resetColSpan: () => void;
20
20
  /**
21
21
  * Calculate column spanning for each cell in the row
22
- * @param {Object} options The options to apply on the calculation.
23
- * @param {GridRowId} options.rowId The row id
24
- * @param {number} options.minFirstColumn First visible column index
25
- * @param {number} options.maxLastColumn Last visible column index
26
- * @param {GridStateColDef[]} options.columns List of columns to calculate colSpan for
22
+ * @param {GridRowId} rowId The row id
23
+ * @param {number} minFirstColumn First visible column index
24
+ * @param {number} maxLastColumn Last visible column index
25
+ * @param {GridStateColDef[]} columns List of columns to calculate colSpan for
27
26
  */
28
- calculateColSpan: (options: {
29
- rowId: GridRowId;
30
- minFirstColumn: number;
31
- maxLastColumn: number;
32
- columns: GridStateColDef[];
33
- }) => void;
27
+ calculateColSpan: (rowId: GridRowId, minFirstColumn: number, maxLastColumn: number, columns: GridStateColDef[]) => void;
34
28
  }
@@ -196,6 +196,11 @@ export interface DataGridPropsWithDefaultValues<R extends GridValidRowModel = an
196
196
  * @default 150
197
197
  */
198
198
  filterDebounceMs: number;
199
+ /**
200
+ * The milliseconds delay to wait after a keystroke before triggering filtering in the columns menu.
201
+ * @default 150
202
+ */
203
+ columnFilterDebounceMs: number;
199
204
  /**
200
205
  * Sets the height in pixel of the column headers in the Data Grid.
201
206
  * @default 56
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "8.9.1",
3
+ "version": "8.9.2",
4
4
  "author": "MUI Team",
5
5
  "description": "The Community plan edition of the MUI X Data Grid components.",
6
6
  "main": "./index.js",
@@ -17,8 +17,7 @@
17
17
  "url": "https://opencollective.com/mui-org"
18
18
  },
19
19
  "publishConfig": {
20
- "access": "public",
21
- "directory": "build"
20
+ "access": "public"
22
21
  },
23
22
  "keywords": [
24
23
  "react",
@@ -39,12 +38,13 @@
39
38
  "directory": "packages/x-data-grid"
40
39
  },
41
40
  "dependencies": {
42
- "@babel/runtime": "^7.27.6",
41
+ "@babel/runtime": "^7.28.2",
43
42
  "@mui/utils": "^7.2.0",
44
43
  "clsx": "^2.1.1",
45
44
  "prop-types": "^15.8.1",
46
45
  "use-sync-external-store": "^1.5.0",
47
- "@mui/x-internals": "8.8.0"
46
+ "@mui/x-internals": "8.9.2",
47
+ "@mui/x-virtualizer": "0.1.0"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@emotion/react": "^11.9.0",
@@ -1 +1 @@
1
- export declare function roundToDecimalPlaces(value: number, decimals: number): number;
1
+ export { roundToDecimalPlaces } from '@mui/x-internals/math';
@@ -3,7 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.roundToDecimalPlaces = roundToDecimalPlaces;
7
- function roundToDecimalPlaces(value, decimals) {
8
- return Math.round(value * 10 ** decimals) / 10 ** decimals;
9
- }
6
+ Object.defineProperty(exports, "roundToDecimalPlaces", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _math.roundToDecimalPlaces;
10
+ }
11
+ });
12
+ var _math = require("@mui/x-internals/math");
@@ -1,10 +0,0 @@
1
- import { GridStateCommunity } from "../../../models/gridStateCommunity.js";
2
- export declare const gridRowSpanningHiddenCellsSelector: (args_0: import("react").RefObject<{
3
- state: GridStateCommunity;
4
- } | null>) => Record<import("@mui/x-data-grid").GridRowId, Record<string, boolean>>;
5
- export declare const gridRowSpanningSpannedCellsSelector: (args_0: import("react").RefObject<{
6
- state: GridStateCommunity;
7
- } | null>) => Record<import("@mui/x-data-grid").GridRowId, Record<string, number>>;
8
- export declare const gridRowSpanningHiddenCellsOriginMapSelector: (args_0: import("react").RefObject<{
9
- state: GridStateCommunity;
10
- } | null>) => Record<number, Record<string, number>>;
@@ -1,5 +0,0 @@
1
- import { createSelector, createRootSelector } from "../../../utils/createSelector.js";
2
- const gridRowSpanningStateSelector = createRootSelector(state => state.rowSpanning);
3
- export const gridRowSpanningHiddenCellsSelector = createSelector(gridRowSpanningStateSelector, rowSpanning => rowSpanning.hiddenCells);
4
- export const gridRowSpanningSpannedCellsSelector = createSelector(gridRowSpanningStateSelector, rowSpanning => rowSpanning.spannedCells);
5
- export const gridRowSpanningHiddenCellsOriginMapSelector = createSelector(gridRowSpanningStateSelector, rowSpanning => rowSpanning.hiddenCellOriginMap);