@mui/x-date-pickers-pro 7.27.3 → 7.28.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,92 @@
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.28.0
7
+
8
+ _Mar 17, 2025_
9
+
10
+ We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🎁 Add support for `@mui/material` version 7 in all X packages
13
+ - 🐞 Bugfixes
14
+ - 🌍 Improve Chinese (zh-CN), (zh-HK), (zh-TW), Czech (cs-CZ), Korean (ko-KR) and Slovak (sk-Sk) locales on the Data Grid
15
+ - 🌍 Improve Chinese (zh-CN), (zh-HK) and (zh-TW) locales on the Pickers
16
+
17
+ Special thanks go out to the community contributors who have helped make this release possible:
18
+ @Blake-McCullough, @hlavacz, @yelahj, @k-rajat19, @nusr.
19
+ Following are all team members who have contributed to this release:
20
+ @arminmeh, @flaviendelangle, @LukasTy, @michelengelen, @MBilalShafi.
21
+
22
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
23
+
24
+ ### Data Grid
25
+
26
+ #### `@mui/x-data-grid@7.28.0`
27
+
28
+ - [DataGrid] Add click propagation and prevents default on `toggleMenu` click (#16909) @michelengelen
29
+ - [DataGrid] Fix `processRowUpdate()` error if the row is removed before it is executed (#16904) @arminmeh
30
+ - [DataGrid] Fix bug with adding and removing columns in active edit state (#16916) @Blake-McCullough
31
+ - [DataGrid] Fix visual issue with pinned columns and row spanning (#16942) @MBilalShafi
32
+ - [DataGrid] Make column header menu button aria-labels unique (#16925) @owais635
33
+ - [DataGrid] Fix `printOptions` not respecting `hideFooter` root prop (#16915) @k-rajat19
34
+ - [l10n] Improve Chinese (zh-CN), (zh-HK) and (zh-TW) locales (#16917 and #16887) @nusr
35
+ - [l10n] Improve Czech (cs-CZ) and Slovak (sk-Sk) locales (#16996) @hlavacz
36
+ - [l10n] Improve Korean (ko-KR) locale (#16998) @yelahj
37
+
38
+ #### `@mui/x-data-grid-pro@7.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
39
+
40
+ Same changes as in `@mui/x-data-grid@7.28.0`, plus:
41
+
42
+ - [DataGridPro] Fix header filters not displaying restored values (#16976) @MBilalShafi
43
+ - [DataGridPro] Fix infinite loading not reacting when scrolling to the end (#16939) @arminmeh
44
+
45
+ #### `@mui/x-data-grid-premium@7.28.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
46
+
47
+ Same changes as in `@mui/x-data-grid-pro@7.28.0`, plus:
48
+
49
+ - [DataGridPremium] Fix selection propagation issues with controlled state (#16995) @MBilalShafi
50
+
51
+ ### Date and Time Pickers
52
+
53
+ #### `@mui/x-date-pickers@7.28.0`
54
+
55
+ - [l10n] Improve Chinese (zh-CN), (zh-HK) and (zh-TW) locales (#16997) @nusr
56
+
57
+ #### `@mui/x-date-pickers-pro@7.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
58
+
59
+ Same changes as in `@mui/x-date-pickers@7.28.0`, plus:
60
+
61
+ - [DateRangeCalendar] Do not update the previewed day when hovering a day and the value is empty (#16892) @flaviendelangle
62
+
63
+ ### Charts
64
+
65
+ #### `@mui/x-charts@7.28.0`
66
+
67
+ Internal changes.
68
+
69
+ #### `@mui/x-charts-pro@7.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
70
+
71
+ Same changes as in `@mui/x-charts@7.28.0`.
72
+
73
+ ### Tree View
74
+
75
+ #### `@mui/x-tree-view@7.28.0`
76
+
77
+ Internal changes.
78
+
79
+ #### `@mui/x-tree-view-pro@7.28.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
80
+
81
+ Same changes as in `@mui/x-tree-view@7.28.0`.
82
+
83
+ ### Docs
84
+
85
+ - [docs] Fix link to the lazy loading demo for the DataGrid (#16912) @nusr
86
+
87
+ ### Core
88
+
89
+ - [core] Allow `@mui/material` v7 in dependencies (#16951) @LukasTy
90
+ - [infra] Make tests on React 18 part of pipeline (#16958) @LukasTy
91
+
6
92
  ## 7.27.3
7
93
 
8
94
  _Mar 7, 2025_
@@ -15,7 +15,7 @@ import { styled, useThemeProps } from '@mui/material/styles';
15
15
  import composeClasses from '@mui/utils/composeClasses';
16
16
  import useId from '@mui/utils/useId';
17
17
  import { Watermark } from '@mui/x-license';
18
- import { applyDefaultDate, DayCalendar, useDefaultReduceAnimations, useCalendarState, useDefaultDates, useUtils, useNow, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, useControlledValueWithTimezone, useViews } from '@mui/x-date-pickers/internals';
18
+ import { applyDefaultDate, DayCalendar, useDefaultReduceAnimations, useCalendarState, useDefaultDates, useUtils, useNow, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, useControlledValueWithTimezone, useViews, areDatesEqual } from '@mui/x-date-pickers/internals';
19
19
  import { warnOnce } from '@mui/x-internals/warning';
20
20
  import { getReleaseInfo } from "../internals/utils/releaseInfo.js";
21
21
  import { dateRangeCalendarClasses, getDateRangeCalendarUtilityClass } from "./dateRangeCalendarClasses.js";
@@ -359,11 +359,17 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
359
359
  newDate: rangePreviewDay,
360
360
  rangePosition
361
361
  });
362
- const handleDayMouseEnter = useEventCallback((event, newPreviewRequest) => {
363
- if (!isWithinRange(utils, newPreviewRequest, valueDayRange)) {
364
- setRangePreviewDay(newPreviewRequest);
362
+ const handleDayMouseEnter = useEventCallback((event, newRangePreviewDay) => {
363
+ let cleanNewRangePreviewDay;
364
+ if (valueDayRange[0] == null && valueDayRange[1] == null) {
365
+ cleanNewRangePreviewDay = null;
366
+ } else if (isWithinRange(utils, newRangePreviewDay, valueDayRange)) {
367
+ cleanNewRangePreviewDay = null;
365
368
  } else {
366
- setRangePreviewDay(null);
369
+ cleanNewRangePreviewDay = newRangePreviewDay;
370
+ }
371
+ if (!areDatesEqual(utils, cleanNewRangePreviewDay, rangePreviewDay)) {
372
+ setRangePreviewDay(cleanNewRangePreviewDay);
367
373
  }
368
374
  });
369
375
  const slotsForDayCalendar = _extends({
package/README.md CHANGED
@@ -34,7 +34,7 @@ This component has the following peer dependencies that you will need to install
34
34
 
35
35
  ```json
36
36
  "peerDependencies": {
37
- "@mui/material": "^5.15.14 || ^6.0.0",
37
+ "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0",
38
38
  "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
39
39
  "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
40
40
  },
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.27.3
2
+ * @mui/x-date-pickers-pro v7.28.0
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 = "MTc0MTMwMjAwMDAwMA==";
3
+ const releaseInfo = "MTc0MjE2MjQwMDAwMA==";
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
@@ -15,7 +15,7 @@ import { styled, useThemeProps } from '@mui/material/styles';
15
15
  import composeClasses from '@mui/utils/composeClasses';
16
16
  import useId from '@mui/utils/useId';
17
17
  import { Watermark } from '@mui/x-license';
18
- import { applyDefaultDate, DayCalendar, useDefaultReduceAnimations, useCalendarState, useDefaultDates, useUtils, useNow, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, useControlledValueWithTimezone, useViews } from '@mui/x-date-pickers/internals';
18
+ import { applyDefaultDate, DayCalendar, useDefaultReduceAnimations, useCalendarState, useDefaultDates, useUtils, useNow, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, useControlledValueWithTimezone, useViews, areDatesEqual } from '@mui/x-date-pickers/internals';
19
19
  import { warnOnce } from '@mui/x-internals/warning';
20
20
  import { getReleaseInfo } from "../internals/utils/releaseInfo.js";
21
21
  import { dateRangeCalendarClasses, getDateRangeCalendarUtilityClass } from "./dateRangeCalendarClasses.js";
@@ -359,11 +359,17 @@ const DateRangeCalendar = /*#__PURE__*/React.forwardRef(function DateRangeCalend
359
359
  newDate: rangePreviewDay,
360
360
  rangePosition
361
361
  });
362
- const handleDayMouseEnter = useEventCallback((event, newPreviewRequest) => {
363
- if (!isWithinRange(utils, newPreviewRequest, valueDayRange)) {
364
- setRangePreviewDay(newPreviewRequest);
362
+ const handleDayMouseEnter = useEventCallback((event, newRangePreviewDay) => {
363
+ let cleanNewRangePreviewDay;
364
+ if (valueDayRange[0] == null && valueDayRange[1] == null) {
365
+ cleanNewRangePreviewDay = null;
366
+ } else if (isWithinRange(utils, newRangePreviewDay, valueDayRange)) {
367
+ cleanNewRangePreviewDay = null;
365
368
  } else {
366
- setRangePreviewDay(null);
369
+ cleanNewRangePreviewDay = newRangePreviewDay;
370
+ }
371
+ if (!areDatesEqual(utils, cleanNewRangePreviewDay, rangePreviewDay)) {
372
+ setRangePreviewDay(cleanNewRangePreviewDay);
367
373
  }
368
374
  });
369
375
  const slotsForDayCalendar = _extends({
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.27.3
2
+ * @mui/x-date-pickers-pro v7.28.0
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 = "MTc0MTMwMjAwMDAwMA==";
3
+ const releaseInfo = "MTc0MjE2MjQwMDAwMA==";
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
@@ -366,11 +366,17 @@ const DateRangeCalendar = exports.DateRangeCalendar = /*#__PURE__*/React.forward
366
366
  newDate: rangePreviewDay,
367
367
  rangePosition
368
368
  });
369
- const handleDayMouseEnter = (0, _useEventCallback.default)((event, newPreviewRequest) => {
370
- if (!(0, _dateUtils.isWithinRange)(utils, newPreviewRequest, valueDayRange)) {
371
- setRangePreviewDay(newPreviewRequest);
369
+ const handleDayMouseEnter = (0, _useEventCallback.default)((event, newRangePreviewDay) => {
370
+ let cleanNewRangePreviewDay;
371
+ if (valueDayRange[0] == null && valueDayRange[1] == null) {
372
+ cleanNewRangePreviewDay = null;
373
+ } else if ((0, _dateUtils.isWithinRange)(utils, newRangePreviewDay, valueDayRange)) {
374
+ cleanNewRangePreviewDay = null;
372
375
  } else {
373
- setRangePreviewDay(null);
376
+ cleanNewRangePreviewDay = newRangePreviewDay;
377
+ }
378
+ if (!(0, _internals.areDatesEqual)(utils, cleanNewRangePreviewDay, rangePreviewDay)) {
379
+ setRangePreviewDay(cleanNewRangePreviewDay);
374
380
  }
375
381
  });
376
382
  const slotsForDayCalendar = (0, _extends2.default)({
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.27.3
2
+ * @mui/x-date-pickers-pro v7.28.0
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 = "MTc0MTMwMjAwMDAwMA==";
9
+ const releaseInfo = "MTc0MjE2MjQwMDAwMA==";
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-date-pickers-pro",
3
- "version": "7.27.3",
3
+ "version": "7.28.0",
4
4
  "description": "The Pro plan edition of the Date and Time Picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -33,19 +33,19 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@babel/runtime": "^7.25.7",
36
- "@mui/utils": "^5.16.6 || ^6.0.0",
36
+ "@mui/utils": "^5.16.6 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta",
37
37
  "clsx": "^2.1.1",
38
38
  "prop-types": "^15.8.1",
39
39
  "react-transition-group": "^4.4.5",
40
- "@mui/x-date-pickers": "7.27.3",
41
- "@mui/x-internals": "7.26.0",
42
- "@mui/x-license": "7.26.0"
40
+ "@mui/x-date-pickers": "7.28.0",
41
+ "@mui/x-license": "7.28.0",
42
+ "@mui/x-internals": "7.28.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@emotion/react": "^11.9.0",
46
46
  "@emotion/styled": "^11.8.1",
47
- "@mui/material": "^5.15.14 || ^6.0.0",
48
- "@mui/system": "^5.15.14 || ^6.0.0",
47
+ "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta",
48
+ "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta",
49
49
  "date-fns": "^2.25.0 || ^3.2.0 || ^4.0.0",
50
50
  "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0",
51
51
  "dayjs": "^1.10.7",