@mui/x-date-pickers 8.28.4 → 8.28.7

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
@@ -5,6 +5,122 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.28.7
9
+
10
+ _May 20, 2026_
11
+
12
+ We'd like to extend a big thank you to the 2 contributors who made this release possible:
13
+ @arminmeh, @LukasTy
14
+
15
+ ### Data Grid
16
+
17
+ #### `@mui/x-data-grid@8.28.7`
18
+
19
+ - [DataGrid] Fix scrollbar disappearing after multiple resizes (#22516) @LukasTy
20
+
21
+ #### `@mui/x-data-grid-pro@8.28.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
22
+
23
+ Same changes as in `@mui/x-data-grid@8.28.7`.
24
+
25
+ #### `@mui/x-data-grid-premium@8.28.7` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
26
+
27
+ Same changes as in `@mui/x-data-grid-pro@8.28.7`.
28
+
29
+ ### Date and Time Pickers
30
+
31
+ #### `@mui/x-date-pickers@8.28.7`
32
+
33
+ - [pickers] Fix disabled state styling for `PickersTextField` standard and filled variants (#22534) @LukasTy
34
+
35
+ #### `@mui/x-date-pickers-pro@8.28.7` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
36
+
37
+ Same changes as in `@mui/x-date-pickers@8.28.7`.
38
+
39
+ ### Docs
40
+
41
+ - [docs] Automatically update supported versions (#22527) @arminmeh
42
+
43
+ ## 8.28.6
44
+
45
+ _May 13, 2026_
46
+
47
+ We'd like to extend a big thank you to the 2 contributors who made this release possible. Here are some highlights ✨:
48
+
49
+ - 🐞 Bugfixes
50
+
51
+ The following team members contributed to this release:
52
+ @LukasTy, @MBilalShafi
53
+
54
+ ### Data Grid
55
+
56
+ #### `@mui/x-data-grid@8.28.6`
57
+
58
+ Internal changes.
59
+
60
+ #### `@mui/x-data-grid-pro@8.28.6` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
61
+
62
+ Same changes as in `@mui/x-data-grid@8.28.6`, plus:
63
+
64
+ - [DataGridPro] Preserve parent selection for non-selectable children (@MBilalShafi) (#22013)
65
+
66
+ #### `@mui/x-data-grid-premium@8.28.6` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
67
+
68
+ Same changes as in `@mui/x-data-grid-pro@8.28.6`.
69
+
70
+ ### Docs
71
+
72
+ - [docs] Replace broken CodeSandbox iframes in migration guides (#22380) @LukasTy
73
+
74
+ ## 8.28.5
75
+
76
+ _May 8, 2026_
77
+
78
+ We'd like to extend a big thank you to the 2 contributors who made this release possible. Here are some highlights ✨:
79
+
80
+ - 🐞 Bugfixes
81
+
82
+ The following team members contributed to this release:
83
+ @LukasTy, @MBilalShafi
84
+
85
+ ### Data Grid
86
+
87
+ #### `@mui/x-data-grid@8.28.5`
88
+
89
+ - [DataGrid] Fix active filter detection for array values (#22357) @MBilalShafi
90
+ - [DataGrid] Fix crash when grouping/tree-data values match `Object.prototype` property names (#22343) @LukasTy
91
+
92
+ #### `@mui/x-data-grid-pro@8.28.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
93
+
94
+ Same changes as in `@mui/x-data-grid@8.28.5`.
95
+
96
+ #### `@mui/x-data-grid-premium@8.28.5` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
97
+
98
+ Same changes as in `@mui/x-data-grid-pro@8.28.5`.
99
+
100
+ ### Date and Time Pickers
101
+
102
+ #### `@mui/x-date-pickers@8.28.5`
103
+
104
+ - [pickers] Fix duplicate hour label in `MultiSectionDigitalClock` on DST day (#22350) @LukasTy
105
+
106
+ #### `@mui/x-date-pickers-pro@8.28.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
107
+
108
+ Same changes as in `@mui/x-date-pickers@8.28.5`.
109
+
110
+ ### Tree View
111
+
112
+ #### `@mui/x-tree-view@8.28.5`
113
+
114
+ - [tree view] Fix stale Tree View `apiRef` after keyed remount (#22355) @MBilalShafi
115
+
116
+ #### `@mui/x-tree-view-pro@8.28.5` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
117
+
118
+ Same changes as in `@mui/x-tree-view@8.28.5`.
119
+
120
+ ### Core
121
+
122
+ - [code-infra] Fix broken `valelint` and docs build (#22362) @LukasTy
123
+
8
124
  ## 8.28.4
9
125
 
10
126
  _Apr 27, 2026_
@@ -32,9 +32,16 @@ const getHourSectionOptions = ({
32
32
  const isFocused = hour => {
33
33
  return isSelected(hour, adapter.getHours(valueOrReferenceDate));
34
34
  };
35
+
36
+ // Anchor label generation to a fixed non-transition day (month=0, day=15) —
37
+ // `adapter.setHours(now, N)` on a transition day can roll forward and emit
38
+ // duplicate labels (see https://github.com/mui/mui-x/issues/22084). Order:
39
+ // `setMonth` first so day-overflow is harmless; non-Gregorian adapters land
40
+ // on a different month-15 here but are all TZ-incompatible.
41
+ const labelReferenceDate = adapter.setDate(adapter.setMonth(adapter.startOfDay(now), 0), 15);
35
42
  const endHour = ampm ? 11 : 23;
36
43
  for (let hour = 0; hour <= endHour; hour += timeStep) {
37
- let label = adapter.format(adapter.setHours(now, hour), ampm ? 'hours12h' : 'hours24h');
44
+ let label = adapter.format(adapter.setHours(labelReferenceDate, hour), ampm ? 'hours12h' : 'hours24h');
38
45
  const ariaLabel = resolveAriaLabel(parseInt(label, 10).toString());
39
46
  label = adapter.formatNumber(label);
40
47
  result.push({
@@ -41,6 +41,10 @@ const PickersInputBaseRoot = exports.PickersInputBaseRoot = (0, _styles.styled)(
41
41
  boxSizing: 'border-box',
42
42
  // Prevent padding issue with fullWidth.
43
43
  letterSpacing: `${round(0.15 / 16)}em`,
44
+ [`&.${_pickersInputBaseClasses.pickersInputBaseClasses.disabled}`]: {
45
+ color: (theme.vars || theme).palette.action.disabled,
46
+ cursor: 'default'
47
+ },
44
48
  variants: [{
45
49
  props: {
46
50
  isInputInFullWidth: true
@@ -50,9 +50,6 @@ const PickersOutlinedInputRoot = (0, _styles.styled)(_PickersInputBase2.PickersI
50
50
  [`&.${_pickersOutlinedInputClasses.pickersOutlinedInputClasses.disabled}`]: {
51
51
  [`& .${_pickersOutlinedInputClasses.pickersOutlinedInputClasses.notchedOutline}`]: {
52
52
  borderColor: (theme.vars || theme).palette.action.disabled
53
- },
54
- '*': {
55
- color: (theme.vars || theme).palette.action.disabled
56
53
  }
57
54
  },
58
55
  variants: Object.keys((theme.vars ?? theme).palette)
@@ -26,9 +26,16 @@ export const getHourSectionOptions = ({
26
26
  const isFocused = hour => {
27
27
  return isSelected(hour, adapter.getHours(valueOrReferenceDate));
28
28
  };
29
+
30
+ // Anchor label generation to a fixed non-transition day (month=0, day=15) —
31
+ // `adapter.setHours(now, N)` on a transition day can roll forward and emit
32
+ // duplicate labels (see https://github.com/mui/mui-x/issues/22084). Order:
33
+ // `setMonth` first so day-overflow is harmless; non-Gregorian adapters land
34
+ // on a different month-15 here but are all TZ-incompatible.
35
+ const labelReferenceDate = adapter.setDate(adapter.setMonth(adapter.startOfDay(now), 0), 15);
29
36
  const endHour = ampm ? 11 : 23;
30
37
  for (let hour = 0; hour <= endHour; hour += timeStep) {
31
- let label = adapter.format(adapter.setHours(now, hour), ampm ? 'hours12h' : 'hours24h');
38
+ let label = adapter.format(adapter.setHours(labelReferenceDate, hour), ampm ? 'hours12h' : 'hours24h');
32
39
  const ariaLabel = resolveAriaLabel(parseInt(label, 10).toString());
33
40
  label = adapter.formatNumber(label);
34
41
  result.push({
@@ -34,6 +34,10 @@ export const PickersInputBaseRoot = styled('div', {
34
34
  boxSizing: 'border-box',
35
35
  // Prevent padding issue with fullWidth.
36
36
  letterSpacing: `${round(0.15 / 16)}em`,
37
+ [`&.${pickersInputBaseClasses.disabled}`]: {
38
+ color: (theme.vars || theme).palette.action.disabled,
39
+ cursor: 'default'
40
+ },
37
41
  variants: [{
38
42
  props: {
39
43
  isInputInFullWidth: true
@@ -43,9 +43,6 @@ const PickersOutlinedInputRoot = styled(PickersInputBaseRoot, {
43
43
  [`&.${pickersOutlinedInputClasses.disabled}`]: {
44
44
  [`& .${pickersOutlinedInputClasses.notchedOutline}`]: {
45
45
  borderColor: (theme.vars || theme).palette.action.disabled
46
- },
47
- '*': {
48
- color: (theme.vars || theme).palette.action.disabled
49
46
  }
50
47
  },
51
48
  variants: Object.keys((theme.vars ?? theme).palette)
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v8.28.4
2
+ * @mui/x-date-pickers v8.28.7
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v8.28.4
2
+ * @mui/x-date-pickers v8.28.7
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers",
3
- "version": "8.28.4",
3
+ "version": "8.28.7",
4
4
  "author": "MUI Team",
5
5
  "description": "The community edition of the MUI X Date and Time Picker components.",
6
6
  "license": "MIT",