@mui/x-data-grid 7.9.0 → 7.11.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 (83) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/DataGrid/DataGrid.js +1 -0
  3. package/DataGrid/useDataGridProps.js +21 -20
  4. package/components/base/GridOverlays.js +1 -1
  5. package/components/containers/GridRoot.js +4 -16
  6. package/components/panel/GridPanel.d.ts +1 -1
  7. package/components/panel/GridPanel.js +4 -1
  8. package/components/panel/filterPanel/GridFilterForm.js +1 -12
  9. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +1 -1
  10. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  11. package/components/virtualization/GridMainContainer.js +11 -3
  12. package/components/virtualization/GridVirtualScroller.js +3 -1
  13. package/components/virtualization/GridVirtualScrollerFiller.d.ts +5 -1
  14. package/components/virtualization/GridVirtualScrollerFiller.js +9 -6
  15. package/hooks/core/useGridApiInitialization.js +1 -1
  16. package/hooks/features/columnResize/useGridColumnResize.js +1 -0
  17. package/hooks/features/editing/gridEditingSelectors.d.ts +3 -0
  18. package/hooks/features/editing/gridEditingSelectors.js +3 -1
  19. package/hooks/features/editing/index.d.ts +1 -0
  20. package/hooks/features/editing/index.js +1 -0
  21. package/hooks/features/filter/gridFilterSelector.d.ts +11 -0
  22. package/hooks/features/filter/gridFilterSelector.js +13 -0
  23. package/hooks/features/index.d.ts +1 -0
  24. package/hooks/features/index.js +1 -0
  25. package/hooks/features/virtualization/useGridVirtualScroller.js +3 -11
  26. package/hooks/utils/useGridApiEventHandler.d.ts +1 -1
  27. package/index.js +1 -1
  28. package/locales/esES.js +1 -2
  29. package/locales/ruRU.js +4 -5
  30. package/models/api/gridCoreApi.d.ts +1 -1
  31. package/models/api/gridRowSelectionApi.d.ts +2 -2
  32. package/models/colDef/gridColDef.d.ts +4 -4
  33. package/models/gridRowSelectionModel.d.ts +2 -2
  34. package/models/props/DataGridProps.d.ts +5 -4
  35. package/modern/DataGrid/DataGrid.js +1 -0
  36. package/modern/DataGrid/useDataGridProps.js +21 -20
  37. package/modern/components/base/GridOverlays.js +1 -1
  38. package/modern/components/containers/GridRoot.js +4 -16
  39. package/modern/components/panel/GridPanel.js +4 -1
  40. package/modern/components/panel/filterPanel/GridFilterForm.js +1 -12
  41. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  42. package/modern/components/virtualization/GridMainContainer.js +11 -3
  43. package/modern/components/virtualization/GridVirtualScroller.js +3 -1
  44. package/modern/components/virtualization/GridVirtualScrollerFiller.js +9 -6
  45. package/modern/hooks/core/useGridApiInitialization.js +1 -1
  46. package/modern/hooks/features/columnResize/useGridColumnResize.js +1 -0
  47. package/modern/hooks/features/editing/gridEditingSelectors.js +3 -1
  48. package/modern/hooks/features/editing/index.js +1 -0
  49. package/modern/hooks/features/filter/gridFilterSelector.js +13 -0
  50. package/modern/hooks/features/index.js +1 -0
  51. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +3 -11
  52. package/modern/index.js +1 -1
  53. package/modern/locales/esES.js +1 -2
  54. package/modern/locales/ruRU.js +4 -5
  55. package/modern/utils/createSelector.js +2 -2
  56. package/node/DataGrid/DataGrid.js +1 -0
  57. package/node/DataGrid/useDataGridProps.js +21 -20
  58. package/node/components/base/GridOverlays.js +1 -1
  59. package/node/components/containers/GridRoot.js +3 -15
  60. package/node/components/panel/GridPanel.js +4 -1
  61. package/node/components/panel/filterPanel/GridFilterForm.js +1 -12
  62. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  63. package/node/components/virtualization/GridMainContainer.js +10 -2
  64. package/node/components/virtualization/GridVirtualScroller.js +3 -1
  65. package/node/components/virtualization/GridVirtualScrollerFiller.js +9 -6
  66. package/node/hooks/core/useGridApiInitialization.js +1 -1
  67. package/node/hooks/features/columnResize/useGridColumnResize.js +1 -0
  68. package/node/hooks/features/editing/gridEditingSelectors.js +3 -1
  69. package/node/hooks/features/editing/index.js +16 -0
  70. package/node/hooks/features/filter/gridFilterSelector.js +14 -1
  71. package/node/hooks/features/index.js +11 -0
  72. package/node/hooks/features/virtualization/useGridVirtualScroller.js +3 -11
  73. package/node/index.js +1 -1
  74. package/node/locales/esES.js +1 -2
  75. package/node/locales/ruRU.js +4 -5
  76. package/node/utils/createSelector.js +2 -2
  77. package/package.json +5 -5
  78. package/utils/createSelector.d.ts +1 -1
  79. package/utils/createSelector.js +2 -2
  80. package/modern/utils/EventManager.js +0 -69
  81. package/node/utils/EventManager.js +0 -76
  82. package/utils/EventManager.d.ts +0 -29
  83. package/utils/EventManager.js +0 -69
@@ -11,7 +11,6 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _utils = require("@mui/utils");
14
- var _system = require("@mui/system");
15
14
  var _GridRootStyles = require("./GridRootStyles");
16
15
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
17
16
  var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
@@ -19,7 +18,7 @@ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
19
18
  var _gridClasses = require("../../constants/gridClasses");
20
19
  var _densitySelector = require("../../hooks/features/density/densitySelector");
21
20
  var _jsxRuntime = require("react/jsx-runtime");
22
- const _excluded = ["children", "className"];
21
+ const _excluded = ["className"];
23
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
24
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
24
  const useUtilityClasses = ownerState => {
@@ -34,15 +33,9 @@ const useUtilityClasses = ownerState => {
34
33
  };
35
34
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
36
35
  };
37
- const GridPanelAnchor = (0, _system.styled)('div')({
38
- position: 'absolute',
39
- top: `var(--DataGrid-headersTotalHeight)`,
40
- left: 0
41
- });
42
36
  const GridRoot = exports.GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
43
37
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
44
38
  const {
45
- children,
46
39
  className
47
40
  } = props,
48
41
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
@@ -63,16 +56,11 @@ const GridRoot = exports.GridRoot = /*#__PURE__*/React.forwardRef(function GridR
63
56
  if (!mountedState) {
64
57
  return null;
65
58
  }
66
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridRootStyles.GridRootStyles, (0, _extends2.default)({
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridRootStyles.GridRootStyles, (0, _extends2.default)({
67
60
  ref: handleRef,
68
61
  className: (0, _clsx.default)(className, classes.root),
69
62
  ownerState: ownerState
70
- }, other, {
71
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridPanelAnchor, {
72
- role: "presentation",
73
- "data-id": "gridPanelAnchor"
74
- }), children]
75
- }));
63
+ }, other));
76
64
  });
77
65
  process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
78
66
  // ----------------------------- Warning --------------------------------
@@ -66,7 +66,10 @@ const GridPanel = exports.GridPanel = /*#__PURE__*/React.forwardRef((props, ref)
66
66
  }, [apiRef]);
67
67
  const modifiers = React.useMemo(() => [{
68
68
  name: 'flip',
69
- enabled: false
69
+ enabled: true,
70
+ options: {
71
+ rootBoundary: 'document'
72
+ }
70
73
  }, {
71
74
  name: 'isPlaced',
72
75
  enabled: true,
@@ -252,18 +252,7 @@ const GridFilterForm = exports.GridFilterForm = /*#__PURE__*/React.forwardRef(fu
252
252
  applyMultiFilterOperatorChanges(logicOperator);
253
253
  }, [applyMultiFilterOperatorChanges]);
254
254
  const handleDeleteFilter = () => {
255
- if (rootProps.disableMultipleColumnsFiltering) {
256
- if (item.value === undefined) {
257
- deleteFilter(item);
258
- } else {
259
- // TODO v6: simplify the behavior by always remove the filter form
260
- applyFilterChanges((0, _extends2.default)({}, item, {
261
- value: undefined
262
- }));
263
- }
264
- } else {
265
- deleteFilter(item);
266
- }
255
+ deleteFilter(item);
267
256
  };
268
257
  React.useImperativeHandle(focusElementRef, () => ({
269
258
  focus: () => {
@@ -27,7 +27,7 @@ function GridFilterInputMultipleValue(props) {
27
27
  error,
28
28
  helperText,
29
29
  size,
30
- variant
30
+ variant = 'standard'
31
31
  } = props,
32
32
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
33
33
  const TextFieldProps = {
@@ -97,5 +97,5 @@ process.env.NODE_ENV !== "production" ? GridFilterInputMultipleValue.propTypes =
97
97
  operator: _propTypes.default.string.isRequired,
98
98
  value: _propTypes.default.any
99
99
  }).isRequired,
100
- type: _propTypes.default.oneOf(['number', 'text'])
100
+ type: _propTypes.default.oneOf(['date', 'datetime-local', 'number', 'text'])
101
101
  } : void 0;
@@ -13,6 +13,11 @@ var _useGridAriaAttributes = require("../../hooks/utils/useGridAriaAttributes");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
+ const GridPanelAnchor = (0, _system.styled)('div')({
17
+ position: 'absolute',
18
+ top: `var(--DataGrid-headersTotalHeight)`,
19
+ left: 0
20
+ });
16
21
  const Element = (0, _system.styled)('div', {
17
22
  name: 'MuiDataGrid',
18
23
  slot: 'Main',
@@ -25,12 +30,15 @@ const Element = (0, _system.styled)('div', {
25
30
  const GridMainContainer = exports.GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
26
31
  const ariaAttributes = (0, _useGridAriaAttributes.useGridAriaAttributes)();
27
32
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
28
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Element, (0, _extends2.default)({
29
34
  ref: ref,
30
35
  ownerState: rootProps,
31
36
  className: props.className,
32
37
  tabIndex: -1
33
38
  }, ariaAttributes, {
34
- children: props.children
39
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridPanelAnchor, {
40
+ role: "presentation",
41
+ "data-id": "gridPanelAnchor"
42
+ }), props.children]
35
43
  }));
36
44
  });
@@ -96,7 +96,9 @@ function GridVirtualScroller(props) {
96
96
  virtualScroller: virtualScroller
97
97
  })]
98
98
  }))
99
- })), rows.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBottomContainer.GridBottomContainer, {
99
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {
100
+ rowsLength: rows.length
101
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBottomContainer.GridBottomContainer, {
100
102
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
101
103
  position: "bottom",
102
104
  virtualScroller: virtualScroller
@@ -24,22 +24,24 @@ const Pinned = (0, _system.styled)('div')({
24
24
  position: 'sticky',
25
25
  height: '100%',
26
26
  boxSizing: 'border-box',
27
- borderTop: '1px solid var(--DataGrid-rowBorderColor)',
27
+ borderTop: '1px solid var(--rowBorderColor)',
28
28
  backgroundColor: 'var(--DataGrid-pinnedBackground)'
29
29
  });
30
30
  const PinnedLeft = (0, _system.styled)(Pinned)({
31
31
  left: 0,
32
- borderRight: '1px solid var(--DataGrid-rowBorderColor)'
32
+ borderRight: '1px solid var(--rowBorderColor)'
33
33
  });
34
34
  const PinnedRight = (0, _system.styled)(Pinned)({
35
35
  right: 0,
36
- borderLeft: '1px solid var(--DataGrid-rowBorderColor)'
36
+ borderLeft: '1px solid var(--rowBorderColor)'
37
37
  });
38
38
  const Main = (0, _system.styled)('div')({
39
39
  flexGrow: 1,
40
- borderTop: '1px solid var(--DataGrid-rowBorderColor)'
40
+ borderTop: '1px solid var(--rowBorderColor)'
41
41
  });
42
- function GridVirtualScrollerFiller() {
42
+ function GridVirtualScrollerFiller({
43
+ rowsLength
44
+ }) {
43
45
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
44
46
  const {
45
47
  viewportOuterSize,
@@ -60,7 +62,8 @@ function GridVirtualScrollerFiller() {
60
62
  className: _constants.gridClasses.filler,
61
63
  role: "presentation",
62
64
  style: {
63
- height
65
+ height,
66
+ '--rowBorderColor': rowsLength === 0 ? 'transparent' : 'var(--DataGrid-rowBorderColor)'
64
67
  },
65
68
  children: [leftPinnedWidth > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(PinnedLeft, {
66
69
  className: _constants.gridClasses['filler--pinnedLeft'],
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.unwrapPrivateAPI = unwrapPrivateAPI;
7
7
  exports.useGridApiInitialization = useGridApiInitialization;
8
8
  var React = _interopRequireWildcard(require("react"));
9
+ var _EventManager = require("@mui/x-internals/EventManager");
9
10
  var _Store = require("../../utils/Store");
10
11
  var _useGridApiMethod = require("../utils/useGridApiMethod");
11
12
  var _useGridApiEventHandler = require("../utils/useGridApiEventHandler");
12
- var _EventManager = require("../../utils/EventManager");
13
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
15
  const SYMBOL_API_PRIVATE = Symbol('mui.api_private');
@@ -277,6 +277,7 @@ const useGridColumnResize = (apiRef, props) => {
277
277
  // Check if the current event is part of a double-click
278
278
  if (nativeEvent.timeStamp - prevTimeStamp < 300 && nativeEvent.clientX === prevClientX && nativeEvent.clientY === prevClientY) {
279
279
  refs.previousMouseClickEvent = undefined;
280
+ apiRef.current.publishEvent('columnResizeStop', null, nativeEvent);
280
281
  return;
281
282
  }
282
283
  }
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.gridEditRowsStateSelector = void 0;
7
- // TODO v6: rename to gridEditingStateSelector
7
+ /**
8
+ * Select the row editing state.
9
+ */
8
10
  const gridEditRowsStateSelector = state => state.editRows;
9
11
  exports.gridEditRowsStateSelector = gridEditRowsStateSelector;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _gridEditingSelectors = require("./gridEditingSelectors");
7
+ Object.keys(_gridEditingSelectors).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _gridEditingSelectors[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _gridEditingSelectors[key];
14
+ }
15
+ });
16
+ });
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.gridVisibleRowsLookupSelector = exports.gridQuickFilterValuesSelector = exports.gridFilteredTopLevelRowCountSelector = exports.gridFilteredSortedTopLevelRowEntriesSelector = exports.gridFilteredSortedRowIdsSelector = exports.gridFilteredSortedRowEntriesSelector = exports.gridFilteredRowsLookupSelector = exports.gridFilteredDescendantCountLookupSelector = exports.gridFilterModelSelector = exports.gridFilterActiveItemsSelector = exports.gridFilterActiveItemsLookupSelector = exports.gridExpandedSortedRowIdsSelector = exports.gridExpandedSortedRowEntriesSelector = exports.gridExpandedRowCountSelector = void 0;
6
+ exports.gridVisibleRowsLookupSelector = exports.gridQuickFilterValuesSelector = exports.gridFilteredTopLevelRowCountSelector = exports.gridFilteredSortedTopLevelRowEntriesSelector = exports.gridFilteredSortedRowIdsSelector = exports.gridFilteredSortedRowEntriesSelector = exports.gridFilteredRowsLookupSelector = exports.gridFilteredRowCountSelector = exports.gridFilteredDescendantRowCountSelector = exports.gridFilteredDescendantCountLookupSelector = exports.gridFilterModelSelector = exports.gridFilterActiveItemsSelector = exports.gridFilterActiveItemsLookupSelector = exports.gridExpandedSortedRowIdsSelector = exports.gridExpandedSortedRowEntriesSelector = exports.gridExpandedRowCountSelector = void 0;
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  var _gridSortingSelector = require("../sorting/gridSortingSelector");
9
9
  var _gridColumnsSelector = require("../columns/gridColumnsSelector");
@@ -95,6 +95,19 @@ const gridExpandedRowCountSelector = exports.gridExpandedRowCountSelector = (0,
95
95
  */
96
96
  const gridFilteredTopLevelRowCountSelector = exports.gridFilteredTopLevelRowCountSelector = (0, _createSelector.createSelector)(gridFilteredSortedTopLevelRowEntriesSelector, visibleSortedTopLevelRows => visibleSortedTopLevelRows.length);
97
97
 
98
+ /**
99
+ * Get the amount of rows accessible after the filtering process.
100
+ * Includes top level and descendant rows.
101
+ * @category Filtering
102
+ */
103
+ const gridFilteredRowCountSelector = exports.gridFilteredRowCountSelector = (0, _createSelector.createSelector)(gridFilteredSortedRowEntriesSelector, filteredSortedRowEntries => filteredSortedRowEntries.length);
104
+
105
+ /**
106
+ * Get the amount of descendant rows accessible after the filtering process.
107
+ * @category Filtering
108
+ */
109
+ const gridFilteredDescendantRowCountSelector = exports.gridFilteredDescendantRowCountSelector = (0, _createSelector.createSelector)(gridFilteredRowCountSelector, gridFilteredTopLevelRowCountSelector, (totalRowCount, topLevelRowCount) => totalRowCount - topLevelRowCount);
110
+
98
111
  /**
99
112
  * @category Filtering
100
113
  * @ignore - do not document.
@@ -58,6 +58,17 @@ Object.keys(_density).forEach(function (key) {
58
58
  }
59
59
  });
60
60
  });
61
+ var _editing = require("./editing");
62
+ Object.keys(_editing).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (key in exports && exports[key] === _editing[key]) return;
65
+ Object.defineProperty(exports, key, {
66
+ enumerable: true,
67
+ get: function () {
68
+ return _editing[key];
69
+ }
70
+ });
71
+ });
61
72
  var _filter = require("./filter");
62
73
  Object.keys(_filter).forEach(function (key) {
63
74
  if (key === "default" || key === "__esModule") return;
@@ -373,20 +373,12 @@ const useGridVirtualScroller = () => {
373
373
  overflowY: rootProps.autoHeight ? 'hidden' : undefined
374
374
  }), [needsHorizontalScrollbar, rootProps.autoHeight]);
375
375
  const contentSize = React.useMemo(() => {
376
- // In cases where the columns exceed the available width,
377
- // the horizontal scrollbar should be shown even when there're no rows.
378
- // Keeping 1px as minimum height ensures that the scrollbar will visible if necessary.
379
- const height = Math.max(contentHeight, 1);
380
376
  const size = {
381
377
  width: needsHorizontalScrollbar ? columnsTotalWidth : 'auto',
382
- height
378
+ height: contentHeight
383
379
  };
384
- if (rootProps.autoHeight) {
385
- if (currentPage.rows.length === 0) {
386
- size.height = (0, _gridRowsUtils.getMinimalContentHeight)(apiRef); // Give room to show the overlay when there no rows.
387
- } else {
388
- size.height = contentHeight;
389
- }
380
+ if (rootProps.autoHeight && currentPage.rows.length === 0) {
381
+ size.height = (0, _gridRowsUtils.getMinimalContentHeight)(apiRef); // Give room to show the overlay when there no rows.
390
382
  }
391
383
  return size;
392
384
  }, [apiRef, columnsTotalWidth, contentHeight, needsHorizontalScrollbar, rootProps.autoHeight, currentPage.rows.length]);
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.9.0
2
+ * @mui/x-data-grid v7.11.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -39,8 +39,7 @@ const esESGrid = {
39
39
  columnsManagementSearchTitle: 'Buscar',
40
40
  columnsManagementNoColumns: 'Sin columnas',
41
41
  columnsManagementShowHideAllText: 'Mostrar/Ocultar todas',
42
- // columnsManagementReset: 'Reset',
43
-
42
+ columnsManagementReset: 'Restablecer',
44
43
  // Filter panel text
45
44
  filterPanelAddFilter: 'Agregar filtro',
46
45
  filterPanelRemoveAll: 'Remover todos',
@@ -51,11 +51,10 @@ const ruRUGrid = {
51
51
  toolbarExportPrint: 'Печать',
52
52
  toolbarExportExcel: 'Скачать в формате Excel',
53
53
  // Columns management text
54
- // columnsManagementSearchTitle: 'Search',
55
- // columnsManagementNoColumns: 'No columns',
56
- // columnsManagementShowHideAllText: 'Show/Hide All',
57
- // columnsManagementReset: 'Reset',
58
-
54
+ columnsManagementSearchTitle: 'Поиск',
55
+ columnsManagementNoColumns: 'Нет столбцов',
56
+ columnsManagementShowHideAllText: 'Показать/Скрыть Всё',
57
+ columnsManagementReset: 'Сбросить',
59
58
  // Filter panel text
60
59
  filterPanelAddFilter: 'Добавить фильтр',
61
60
  filterPanelRemoveAll: 'Очистить фильтр',
@@ -14,8 +14,8 @@ function checkIsAPIRef(value) {
14
14
  const DEFAULT_INSTANCE_ID = {
15
15
  id: 'default'
16
16
  };
17
- const createSelector = (a, b, c, d, e, f, ...rest) => {
18
- if (rest.length > 0) {
17
+ const createSelector = (a, b, c, d, e, f, ...other) => {
18
+ if (other.length > 0) {
19
19
  throw new Error('Unsupported number of selectors');
20
20
  }
21
21
  let selector;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "7.9.0",
3
+ "version": "7.11.0",
4
4
  "description": "The Community plan edition of the Data Grid components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -37,13 +37,13 @@
37
37
  "directory": "packages/x-data-grid"
38
38
  },
39
39
  "dependencies": {
40
- "@babel/runtime": "^7.24.7",
41
- "@mui/system": "^5.16.0",
42
- "@mui/utils": "^5.16.0",
40
+ "@babel/runtime": "^7.24.8",
41
+ "@mui/system": "^5.16.2",
42
+ "@mui/utils": "^5.16.2",
43
43
  "clsx": "^2.1.1",
44
44
  "prop-types": "^15.8.1",
45
45
  "reselect": "^4.1.8",
46
- "@mui/x-internals": "7.9.0"
46
+ "@mui/x-internals": "7.11.0"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "@mui/material": "^5.15.14",
@@ -14,7 +14,7 @@ type StateFromSelector<T> = T extends (first: infer F, ...args: any[]) => any ?
14
14
  } ? F2 : F : never;
15
15
  type StateFromSelectorList<Selectors extends readonly any[]> = Selectors extends [
16
16
  f: infer F,
17
- ...rest: infer R
17
+ ...other: infer R
18
18
  ] ? StateFromSelector<F> extends StateFromSelectorList<R> ? StateFromSelector<F> : StateFromSelectorList<R> : {};
19
19
  type SelectorArgs<Selectors extends ReadonlyArray<Selector<any>>, Result> = [selectors: [...Selectors], combiner: (...args: SelectorResultArray<Selectors>) => Result] | [...Selectors, (...args: SelectorResultArray<Selectors>) => Result];
20
20
  type CreateSelectorFunction = <Selectors extends ReadonlyArray<Selector<any>>, Result>(...items: SelectorArgs<Selectors, Result>) => OutputSelector<StateFromSelectorList<Selectors>, Result>;
@@ -8,8 +8,8 @@ function checkIsAPIRef(value) {
8
8
  const DEFAULT_INSTANCE_ID = {
9
9
  id: 'default'
10
10
  };
11
- export const createSelector = (a, b, c, d, e, f, ...rest) => {
12
- if (rest.length > 0) {
11
+ export const createSelector = (a, b, c, d, e, f, ...other) => {
12
+ if (other.length > 0) {
13
13
  throw new Error('Unsupported number of selectors');
14
14
  }
15
15
  let selector;
@@ -1,69 +0,0 @@
1
- // Used https://gist.github.com/mudge/5830382 as a starting point.
2
- // See https://github.com/browserify/events/blob/master/events.js for
3
- // the Node.js (https://nodejs.org/api/events.html) polyfill used by webpack.
4
- export class EventManager {
5
- constructor() {
6
- this.maxListeners = 20;
7
- this.warnOnce = false;
8
- this.events = {};
9
- }
10
- on(eventName, listener, options = {}) {
11
- let collection = this.events[eventName];
12
- if (!collection) {
13
- collection = {
14
- highPriority: new Map(),
15
- regular: new Map()
16
- };
17
- this.events[eventName] = collection;
18
- }
19
- if (options.isFirst) {
20
- collection.highPriority.set(listener, true);
21
- } else {
22
- collection.regular.set(listener, true);
23
- }
24
- if (process.env.NODE_ENV !== 'production') {
25
- const collectionSize = collection.highPriority.size + collection.regular.size;
26
- if (collectionSize > this.maxListeners && !this.warnOnce) {
27
- this.warnOnce = true;
28
- console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`].join('\n'));
29
- }
30
- }
31
- }
32
- removeListener(eventName, listener) {
33
- if (this.events[eventName]) {
34
- this.events[eventName].regular.delete(listener);
35
- this.events[eventName].highPriority.delete(listener);
36
- }
37
- }
38
- removeAllListeners() {
39
- this.events = {};
40
- }
41
- emit(eventName, ...args) {
42
- const collection = this.events[eventName];
43
- if (!collection) {
44
- return;
45
- }
46
- const highPriorityListeners = Array.from(collection.highPriority.keys());
47
- const regularListeners = Array.from(collection.regular.keys());
48
- for (let i = highPriorityListeners.length - 1; i >= 0; i -= 1) {
49
- const listener = highPriorityListeners[i];
50
- if (collection.highPriority.has(listener)) {
51
- listener.apply(this, args);
52
- }
53
- }
54
- for (let i = 0; i < regularListeners.length; i += 1) {
55
- const listener = regularListeners[i];
56
- if (collection.regular.has(listener)) {
57
- listener.apply(this, args);
58
- }
59
- }
60
- }
61
- once(eventName, listener) {
62
- // eslint-disable-next-line consistent-this
63
- const that = this;
64
- this.on(eventName, function oneTimeListener(...args) {
65
- that.removeListener(eventName, oneTimeListener);
66
- listener.apply(that, args);
67
- });
68
- }
69
- }
@@ -1,76 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.EventManager = void 0;
7
- // Used https://gist.github.com/mudge/5830382 as a starting point.
8
- // See https://github.com/browserify/events/blob/master/events.js for
9
- // the Node.js (https://nodejs.org/api/events.html) polyfill used by webpack.
10
- class EventManager {
11
- constructor() {
12
- this.maxListeners = 20;
13
- this.warnOnce = false;
14
- this.events = {};
15
- }
16
- on(eventName, listener, options = {}) {
17
- let collection = this.events[eventName];
18
- if (!collection) {
19
- collection = {
20
- highPriority: new Map(),
21
- regular: new Map()
22
- };
23
- this.events[eventName] = collection;
24
- }
25
- if (options.isFirst) {
26
- collection.highPriority.set(listener, true);
27
- } else {
28
- collection.regular.set(listener, true);
29
- }
30
- if (process.env.NODE_ENV !== 'production') {
31
- const collectionSize = collection.highPriority.size + collection.regular.size;
32
- if (collectionSize > this.maxListeners && !this.warnOnce) {
33
- this.warnOnce = true;
34
- console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`].join('\n'));
35
- }
36
- }
37
- }
38
- removeListener(eventName, listener) {
39
- if (this.events[eventName]) {
40
- this.events[eventName].regular.delete(listener);
41
- this.events[eventName].highPriority.delete(listener);
42
- }
43
- }
44
- removeAllListeners() {
45
- this.events = {};
46
- }
47
- emit(eventName, ...args) {
48
- const collection = this.events[eventName];
49
- if (!collection) {
50
- return;
51
- }
52
- const highPriorityListeners = Array.from(collection.highPriority.keys());
53
- const regularListeners = Array.from(collection.regular.keys());
54
- for (let i = highPriorityListeners.length - 1; i >= 0; i -= 1) {
55
- const listener = highPriorityListeners[i];
56
- if (collection.highPriority.has(listener)) {
57
- listener.apply(this, args);
58
- }
59
- }
60
- for (let i = 0; i < regularListeners.length; i += 1) {
61
- const listener = regularListeners[i];
62
- if (collection.regular.has(listener)) {
63
- listener.apply(this, args);
64
- }
65
- }
66
- }
67
- once(eventName, listener) {
68
- // eslint-disable-next-line consistent-this
69
- const that = this;
70
- this.on(eventName, function oneTimeListener(...args) {
71
- that.removeListener(eventName, oneTimeListener);
72
- listener.apply(that, args);
73
- });
74
- }
75
- }
76
- exports.EventManager = EventManager;
@@ -1,29 +0,0 @@
1
- export type EventListener = (...args: any[]) => void;
2
- export interface EventListenerOptions {
3
- isFirst?: boolean;
4
- }
5
- interface EventListenerCollection {
6
- /**
7
- * List of listeners to run before the others
8
- * They are run in the opposite order of the registration order
9
- */
10
- highPriority: Map<EventListener, true>;
11
- /**
12
- * List of events to run after the high priority listeners
13
- * They are run in the registration order
14
- */
15
- regular: Map<EventListener, true>;
16
- }
17
- export declare class EventManager {
18
- maxListeners: number;
19
- warnOnce: boolean;
20
- events: {
21
- [eventName: string]: EventListenerCollection;
22
- };
23
- on(eventName: string, listener: EventListener, options?: EventListenerOptions): void;
24
- removeListener(eventName: string, listener: EventListener): void;
25
- removeAllListeners(): void;
26
- emit(eventName: string, ...args: any[]): void;
27
- once(eventName: string, listener: EventListener): void;
28
- }
29
- export {};
@@ -1,69 +0,0 @@
1
- // Used https://gist.github.com/mudge/5830382 as a starting point.
2
- // See https://github.com/browserify/events/blob/master/events.js for
3
- // the Node.js (https://nodejs.org/api/events.html) polyfill used by webpack.
4
- export class EventManager {
5
- constructor() {
6
- this.maxListeners = 20;
7
- this.warnOnce = false;
8
- this.events = {};
9
- }
10
- on(eventName, listener, options = {}) {
11
- let collection = this.events[eventName];
12
- if (!collection) {
13
- collection = {
14
- highPriority: new Map(),
15
- regular: new Map()
16
- };
17
- this.events[eventName] = collection;
18
- }
19
- if (options.isFirst) {
20
- collection.highPriority.set(listener, true);
21
- } else {
22
- collection.regular.set(listener, true);
23
- }
24
- if (process.env.NODE_ENV !== 'production') {
25
- const collectionSize = collection.highPriority.size + collection.regular.size;
26
- if (collectionSize > this.maxListeners && !this.warnOnce) {
27
- this.warnOnce = true;
28
- console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`].join('\n'));
29
- }
30
- }
31
- }
32
- removeListener(eventName, listener) {
33
- if (this.events[eventName]) {
34
- this.events[eventName].regular.delete(listener);
35
- this.events[eventName].highPriority.delete(listener);
36
- }
37
- }
38
- removeAllListeners() {
39
- this.events = {};
40
- }
41
- emit(eventName, ...args) {
42
- const collection = this.events[eventName];
43
- if (!collection) {
44
- return;
45
- }
46
- const highPriorityListeners = Array.from(collection.highPriority.keys());
47
- const regularListeners = Array.from(collection.regular.keys());
48
- for (let i = highPriorityListeners.length - 1; i >= 0; i -= 1) {
49
- const listener = highPriorityListeners[i];
50
- if (collection.highPriority.has(listener)) {
51
- listener.apply(this, args);
52
- }
53
- }
54
- for (let i = 0; i < regularListeners.length; i += 1) {
55
- const listener = regularListeners[i];
56
- if (collection.regular.has(listener)) {
57
- listener.apply(this, args);
58
- }
59
- }
60
- }
61
- once(eventName, listener) {
62
- // eslint-disable-next-line consistent-this
63
- const that = this;
64
- this.on(eventName, function oneTimeListener(...args) {
65
- that.removeListener(eventName, oneTimeListener);
66
- listener.apply(that, args);
67
- });
68
- }
69
- }