@mui/x-data-grid-pro 7.29.2 → 7.29.4

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,93 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.29.4
7
+
8
+ _May 22, 2025_
9
+
10
+ We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🐞 Bugfixes
13
+
14
+ Special thanks go out to the community members for their valuable contributions:
15
+ @campmarc, @whereisrmsqhs, @jyash97
16
+
17
+ Following are all team members who have contributed to this release:
18
+ @mapache-salvaje, @cherniavskii, @noraleonte.
19
+
20
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
21
+
22
+ ### Data Grid
23
+
24
+ #### `@mui/x-data-grid@7.29.4`
25
+
26
+ - [DataGrid] Fix `renderContext` calculation loop (#17806) @cherniavskii
27
+ - [DataGrid] Fix column spanning jump on scroll (#17780) @cherniavskii
28
+ - [DataGrid] Fix content rendering for large rows while using automatic page size (#17866) @campmarc
29
+
30
+ #### `@mui/x-data-grid-pro@7.29.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
31
+
32
+ Same changes as in `@mui/x-data-grid@7.29.4`, plus:
33
+
34
+ - [DataGridPro] Add `aria-expanded` attribute to the master detail toggle button (#17890) @whereisrmsqhs
35
+ - [DataGridPro] Prevent text selection when reordering rows (#17920) @jyash97
36
+
37
+ #### `@mui/x-data-grid-premium@7.29.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
38
+
39
+ Same changes as in `@mui/x-data-grid-pro@7.29.4`.
40
+
41
+ ### Date and Time Pickers
42
+
43
+ #### `@mui/x-date-pickers@7.29.4`
44
+
45
+ - [pickers] Fix `PickersTextField` overflow (#17945) @noraleonte
46
+
47
+ #### `@mui/x-date-pickers-pro@7.29.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
48
+
49
+ Same changes as in `@mui/x-date-pickers@7.29.4`.
50
+
51
+ ### Docs
52
+
53
+ - [docs] Add "upgrade to v8" callout on v7 planned pages (#17901) @mapache-salvaje
54
+
55
+ ## 7.29.3
56
+
57
+ _May 8, 2025_
58
+
59
+ We'd like to offer a big thanks to the 3 contributors who made this release possible. Here are some highlights ✨:
60
+
61
+ - 🐞 Bugfixes
62
+
63
+ Team members who have contributed to this release:
64
+ @arminmeh, @LukasTy, and @MBilalShafi.
65
+
66
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
67
+
68
+ ### Data Grid
69
+
70
+ #### `@mui/x-data-grid@7.29.3`
71
+
72
+ - [DataGrid] Ignore `preProcessEditCellProps` for non-editable columns when starting a row update (#17734) @arminmeh
73
+ - [DataGrid] Avoid applying row selection propagation on filtered rows (#17742) @MBilalShafi
74
+
75
+ #### `@mui/x-data-grid-pro@7.29.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
76
+
77
+ Same changes as in `@mui/x-data-grid@7.29.3`.
78
+
79
+ #### `@mui/x-data-grid-premium@7.29.3` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
80
+
81
+ Same changes as in `@mui/x-data-grid-pro@7.29.3`.
82
+
83
+ ### Date and Time Pickers
84
+
85
+ #### `@mui/x-date-pickers@7.29.3`
86
+
87
+ - [DateTimePicker] Fix focus behavior on desktop variant (#17730) @LukasTy
88
+
89
+ #### `@mui/x-date-pickers-pro@7.29.3` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
90
+
91
+ Same changes as in `@mui/x-date-pickers@7.29.3`.
92
+
6
93
  ## 7.29.2
7
94
 
8
95
  _May 1, 2025_
@@ -46,6 +46,7 @@ function GridDetailPanelToggleCell(props) {
46
46
  tabIndex: -1,
47
47
  disabled: !hasContent,
48
48
  className: classes.root,
49
+ "aria-expanded": isExpanded,
49
50
  "aria-label": isExpanded ? apiRef.current.getLocaleText('collapseDetailPanel') : apiRef.current.getLocaleText('expandDetailPanel')
50
51
  }, rootProps.slotProps?.baseIconButton, {
51
52
  children: /*#__PURE__*/_jsx(Icon, {
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import composeClasses from '@mui/utils/composeClasses';
5
- import { gridRowMaximumTreeDepthSelector, gridSortModelSelector, useGridApiContext, useGridSelector, getDataGridUtilityClass } from '@mui/x-data-grid';
5
+ import { gridRowMaximumTreeDepthSelector, gridSortModelSelector, useGridApiContext, useGridSelector, getDataGridUtilityClass, gridClasses } from '@mui/x-data-grid';
6
6
  import { gridEditRowsStateSelector, isEventTargetInPortal } from '@mui/x-data-grid/internals';
7
7
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -48,10 +48,23 @@ function GridRowReorderCell(params) {
48
48
  propHandler(event);
49
49
  }
50
50
  }, [apiRef, params.id]);
51
+ const handleMouseDown = React.useCallback(() => {
52
+ // Prevent text selection as it will block all the drag events. More context: https://github.com/mui/mui-x/issues/16303
53
+ apiRef.current.rootElementRef?.current?.classList.add(gridClasses['root--disableUserSelection']);
54
+ }, [apiRef]);
55
+ const handleMouseUp = React.useCallback(() => {
56
+ apiRef.current.rootElementRef?.current?.classList.remove(gridClasses['root--disableUserSelection']);
57
+ }, [apiRef]);
58
+ const handleDragEnd = React.useCallback(event => {
59
+ handleMouseUp();
60
+ publish('rowDragEnd')(event);
61
+ }, [publish, handleMouseUp]);
51
62
  const draggableEventHandlers = isDraggable ? {
52
63
  onDragStart: publish('rowDragStart'),
53
64
  onDragOver: publish('rowDragOver'),
54
- onDragEnd: publish('rowDragEnd')
65
+ onDragEnd: handleDragEnd,
66
+ onMouseDown: handleMouseDown,
67
+ onMouseUp: handleMouseUp
55
68
  } : null;
56
69
  if (params.rowNode.type === 'footer') {
57
70
  return null;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v7.29.2
2
+ * @mui/x-data-grid-pro v7.29.4
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -46,6 +46,7 @@ function GridDetailPanelToggleCell(props) {
46
46
  tabIndex: -1,
47
47
  disabled: !hasContent,
48
48
  className: classes.root,
49
+ "aria-expanded": isExpanded,
49
50
  "aria-label": isExpanded ? apiRef.current.getLocaleText('collapseDetailPanel') : apiRef.current.getLocaleText('expandDetailPanel')
50
51
  }, rootProps.slotProps?.baseIconButton, {
51
52
  children: /*#__PURE__*/_jsx(Icon, {
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import composeClasses from '@mui/utils/composeClasses';
5
- import { gridRowMaximumTreeDepthSelector, gridSortModelSelector, useGridApiContext, useGridSelector, getDataGridUtilityClass } from '@mui/x-data-grid';
5
+ import { gridRowMaximumTreeDepthSelector, gridSortModelSelector, useGridApiContext, useGridSelector, getDataGridUtilityClass, gridClasses } from '@mui/x-data-grid';
6
6
  import { gridEditRowsStateSelector, isEventTargetInPortal } from '@mui/x-data-grid/internals';
7
7
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -48,10 +48,23 @@ function GridRowReorderCell(params) {
48
48
  propHandler(event);
49
49
  }
50
50
  }, [apiRef, params.id]);
51
+ const handleMouseDown = React.useCallback(() => {
52
+ // Prevent text selection as it will block all the drag events. More context: https://github.com/mui/mui-x/issues/16303
53
+ apiRef.current.rootElementRef?.current?.classList.add(gridClasses['root--disableUserSelection']);
54
+ }, [apiRef]);
55
+ const handleMouseUp = React.useCallback(() => {
56
+ apiRef.current.rootElementRef?.current?.classList.remove(gridClasses['root--disableUserSelection']);
57
+ }, [apiRef]);
58
+ const handleDragEnd = React.useCallback(event => {
59
+ handleMouseUp();
60
+ publish('rowDragEnd')(event);
61
+ }, [publish, handleMouseUp]);
51
62
  const draggableEventHandlers = isDraggable ? {
52
63
  onDragStart: publish('rowDragStart'),
53
64
  onDragOver: publish('rowDragOver'),
54
- onDragEnd: publish('rowDragEnd')
65
+ onDragEnd: handleDragEnd,
66
+ onMouseDown: handleMouseDown,
67
+ onMouseUp: handleMouseUp
55
68
  } : null;
56
69
  if (params.rowNode.type === 'footer') {
57
70
  return null;
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v7.29.2
2
+ * @mui/x-data-grid-pro v7.29.4
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTc0NjA0NjgwMDAwMA==";
3
+ const releaseInfo = "MTc0Nzg2NDgwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat
@@ -54,6 +54,7 @@ function GridDetailPanelToggleCell(props) {
54
54
  tabIndex: -1,
55
55
  disabled: !hasContent,
56
56
  className: classes.root,
57
+ "aria-expanded": isExpanded,
57
58
  "aria-label": isExpanded ? apiRef.current.getLocaleText('collapseDetailPanel') : apiRef.current.getLocaleText('expandDetailPanel')
58
59
  }, rootProps.slotProps?.baseIconButton, {
59
60
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
@@ -57,10 +57,23 @@ function GridRowReorderCell(params) {
57
57
  propHandler(event);
58
58
  }
59
59
  }, [apiRef, params.id]);
60
+ const handleMouseDown = React.useCallback(() => {
61
+ // Prevent text selection as it will block all the drag events. More context: https://github.com/mui/mui-x/issues/16303
62
+ apiRef.current.rootElementRef?.current?.classList.add(_xDataGrid.gridClasses['root--disableUserSelection']);
63
+ }, [apiRef]);
64
+ const handleMouseUp = React.useCallback(() => {
65
+ apiRef.current.rootElementRef?.current?.classList.remove(_xDataGrid.gridClasses['root--disableUserSelection']);
66
+ }, [apiRef]);
67
+ const handleDragEnd = React.useCallback(event => {
68
+ handleMouseUp();
69
+ publish('rowDragEnd')(event);
70
+ }, [publish, handleMouseUp]);
60
71
  const draggableEventHandlers = isDraggable ? {
61
72
  onDragStart: publish('rowDragStart'),
62
73
  onDragOver: publish('rowDragOver'),
63
- onDragEnd: publish('rowDragEnd')
74
+ onDragEnd: handleDragEnd,
75
+ onMouseDown: handleMouseDown,
76
+ onMouseUp: handleMouseUp
64
77
  } : null;
65
78
  if (params.rowNode.type === 'footer') {
66
79
  return null;
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v7.29.2
2
+ * @mui/x-data-grid-pro v7.29.4
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTc0NjA0NjgwMDAwMA==";
9
+ const releaseInfo = "MTc0Nzg2NDgwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-pro",
3
- "version": "7.29.2",
3
+ "version": "7.29.4",
4
4
  "description": "The Pro plan edition of the Data Grid components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -39,8 +39,8 @@
39
39
  "clsx": "^2.1.1",
40
40
  "prop-types": "^15.8.1",
41
41
  "reselect": "^5.1.1",
42
+ "@mui/x-data-grid": "7.29.4",
42
43
  "@mui/x-internals": "7.29.0",
43
- "@mui/x-data-grid": "7.29.2",
44
44
  "@mui/x-license": "7.29.1"
45
45
  },
46
46
  "peerDependencies": {
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTc0NjA0NjgwMDAwMA==";
3
+ const releaseInfo = "MTc0Nzg2NDgwMDAwMA==";
4
4
  if (process.env.NODE_ENV !== 'production') {
5
5
  // A simple hack to set the value in the test environment (has no build step).
6
6
  // eslint-disable-next-line no-useless-concat