@mui/x-date-pickers 9.0.4 → 9.2.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/AdapterDateFns/AdapterDateFns.js +4 -0
- package/AdapterDateFns/AdapterDateFns.mjs +4 -0
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +4 -0
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.mjs +4 -0
- package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +2 -0
- package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.mjs +2 -0
- package/AdapterDateFnsV2/AdapterDateFnsV2.js +2 -0
- package/AdapterDateFnsV2/AdapterDateFnsV2.mjs +2 -0
- package/CHANGELOG.md +236 -0
- package/DigitalClock/DigitalClock.d.mts +1 -1
- package/DigitalClock/DigitalClock.d.ts +1 -1
- package/LICENSE +2 -0
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +8 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.mjs +8 -1
- package/PickerDay/PickerDay.js +8 -1
- package/PickerDay/PickerDay.mjs +8 -1
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internals/hooks/useField/useField.utils.js +4 -0
- package/internals/hooks/useField/useField.utils.mjs +4 -0
- package/locales/itIT.js +2 -3
- package/locales/itIT.mjs +2 -3
- package/package.json +3 -3
|
@@ -81,9 +81,13 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
|
81
81
|
/* v8 ignore start */
|
|
82
82
|
if (process.env.NODE_ENV !== 'production') {
|
|
83
83
|
if (typeof _addDays.addDays !== 'function') {
|
|
84
|
+
// TODO: fix mui/no-guarded-throw
|
|
85
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
84
86
|
throw new Error(['MUI: The `date-fns` package v2.x is not compatible with this adapter.', 'Please, install v3.x or v4.x of the package or use the `AdapterDateFnsV2` instead.'].join('\n'));
|
|
85
87
|
}
|
|
86
88
|
if (!_format.longFormatters) {
|
|
89
|
+
// TODO: fix mui/no-guarded-throw
|
|
90
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
87
91
|
throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
|
|
88
92
|
}
|
|
89
93
|
}
|
|
@@ -75,9 +75,13 @@ export class AdapterDateFns extends AdapterDateFnsBase {
|
|
|
75
75
|
/* v8 ignore start */
|
|
76
76
|
if (process.env.NODE_ENV !== 'production') {
|
|
77
77
|
if (typeof addDays !== 'function') {
|
|
78
|
+
// TODO: fix mui/no-guarded-throw
|
|
79
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
78
80
|
throw new Error(['MUI: The `date-fns` package v2.x is not compatible with this adapter.', 'Please, install v3.x or v4.x of the package or use the `AdapterDateFnsV2` instead.'].join('\n'));
|
|
79
81
|
}
|
|
80
82
|
if (!longFormatters) {
|
|
83
|
+
// TODO: fix mui/no-guarded-throw
|
|
84
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
81
85
|
throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
|
|
82
86
|
}
|
|
83
87
|
}
|
|
@@ -118,9 +118,13 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
|
118
118
|
/* v8 ignore start */
|
|
119
119
|
if (process.env.NODE_ENV !== 'production') {
|
|
120
120
|
if (typeof _addDays.addDays !== 'function') {
|
|
121
|
+
// TODO: fix mui/no-guarded-throw
|
|
122
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
121
123
|
throw new Error(['MUI: The `date-fns-jalali` package v2.x is not compatible with this adapter.', 'Please, install v3.x or v4.x of the package or use the `AdapterDateFnsJalaliV2` instead.'].join('\n'));
|
|
122
124
|
}
|
|
123
125
|
if (!_format.longFormatters) {
|
|
126
|
+
// TODO: fix mui/no-guarded-throw
|
|
127
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
124
128
|
throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
|
|
125
129
|
}
|
|
126
130
|
}
|
|
@@ -111,9 +111,13 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
|
|
|
111
111
|
/* v8 ignore start */
|
|
112
112
|
if (process.env.NODE_ENV !== 'production') {
|
|
113
113
|
if (typeof addDays !== 'function') {
|
|
114
|
+
// TODO: fix mui/no-guarded-throw
|
|
115
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
114
116
|
throw new Error(['MUI: The `date-fns-jalali` package v2.x is not compatible with this adapter.', 'Please, install v3.x or v4.x of the package or use the `AdapterDateFnsJalaliV2` instead.'].join('\n'));
|
|
115
117
|
}
|
|
116
118
|
if (!longFormatters) {
|
|
119
|
+
// TODO: fix mui/no-guarded-throw
|
|
120
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
117
121
|
throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
|
|
118
122
|
}
|
|
119
123
|
}
|
|
@@ -127,6 +127,8 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
|
127
127
|
/* v8 ignore start */
|
|
128
128
|
if (process.env.NODE_ENV !== 'production') {
|
|
129
129
|
if (typeof _index4.default !== 'function') {
|
|
130
|
+
// TODO: fix mui/no-guarded-throw
|
|
131
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
130
132
|
throw new Error(['MUI: This adapter is only compatible with `date-fns-jalali` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFnsJalali` instead.'].join('\n'));
|
|
131
133
|
}
|
|
132
134
|
}
|
|
@@ -119,6 +119,8 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
|
|
|
119
119
|
/* v8 ignore start */
|
|
120
120
|
if (process.env.NODE_ENV !== 'production') {
|
|
121
121
|
if (typeof addDays !== 'function') {
|
|
122
|
+
// TODO: fix mui/no-guarded-throw
|
|
123
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
122
124
|
throw new Error(['MUI: This adapter is only compatible with `date-fns-jalali` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFnsJalali` instead.'].join('\n'));
|
|
123
125
|
}
|
|
124
126
|
}
|
|
@@ -91,6 +91,8 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
|
|
|
91
91
|
/* v8 ignore start */
|
|
92
92
|
if (process.env.NODE_ENV !== 'production') {
|
|
93
93
|
if (typeof _index.default !== 'function') {
|
|
94
|
+
// TODO: fix mui/no-guarded-throw
|
|
95
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
94
96
|
throw new Error(['MUI: This adapter is only compatible with `date-fns` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
|
|
95
97
|
}
|
|
96
98
|
}
|
|
@@ -83,6 +83,8 @@ export class AdapterDateFns extends AdapterDateFnsBase {
|
|
|
83
83
|
/* v8 ignore start */
|
|
84
84
|
if (process.env.NODE_ENV !== 'production') {
|
|
85
85
|
if (typeof addDays !== 'function') {
|
|
86
|
+
// TODO: fix mui/no-guarded-throw
|
|
87
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
86
88
|
throw new Error(['MUI: This adapter is only compatible with `date-fns` v2.x package versions.', 'Please, install v2.x of the package or use the `AdapterDateFns` instead.'].join('\n'));
|
|
87
89
|
}
|
|
88
90
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,241 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.2.0
|
|
4
|
+
|
|
5
|
+
_May 13, 2026_
|
|
6
|
+
|
|
7
|
+
We'd like to extend a big thank you to the 9 contributors who made this release possible. Here are some highlights ✨:
|
|
8
|
+
|
|
9
|
+
- ⚡️ Add a WebGL renderer to the [Bar chart](https://mui.com/x/react-charts/bars/#webgl-renderer)
|
|
10
|
+
- 📊 Add a radial charts with the [radial line](https://mui.com/x/react-charts/radial-lines/), [radial bar](https://mui.com/x/react-charts/radial-bars/), and the [radial grid and axes](https://mui.com/x/react-charts/radial-axes/)
|
|
11
|
+
- 🐞 Bugfixes
|
|
12
|
+
- 📚 Documentation improvements
|
|
13
|
+
|
|
14
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
15
|
+
@Anexus5919, @mustafajw07
|
|
16
|
+
|
|
17
|
+
The following team members contributed to this release:
|
|
18
|
+
@aemartos, @alexfauquette, @bernardobelchior, @JCQuintas, @oliviertassinari, @sai6855, @siriwatknp
|
|
19
|
+
|
|
20
|
+
### Data Grid
|
|
21
|
+
|
|
22
|
+
#### `@mui/x-data-grid@9.2.0`
|
|
23
|
+
|
|
24
|
+
- [data grid] Add support for pinned columns in `GridVirtualScroller` (#22347) @sai6855
|
|
25
|
+
- [data grid] Remove unused CSS (#22390) @oliviertassinari
|
|
26
|
+
|
|
27
|
+
#### `@mui/x-data-grid-pro@9.2.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
28
|
+
|
|
29
|
+
Same changes as in `@mui/x-data-grid@9.2.0`.
|
|
30
|
+
|
|
31
|
+
#### `@mui/x-data-grid-premium@9.2.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
32
|
+
|
|
33
|
+
Same changes as in `@mui/x-data-grid-pro@9.2.0`.
|
|
34
|
+
|
|
35
|
+
### Date and Time Pickers
|
|
36
|
+
|
|
37
|
+
#### `@mui/x-date-pickers@9.2.0`
|
|
38
|
+
|
|
39
|
+
- [pickers] Trim test helpers' default load graph (#22421) @JCQuintas
|
|
40
|
+
|
|
41
|
+
#### `@mui/x-date-pickers-pro@9.2.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
42
|
+
|
|
43
|
+
Same changes as in `@mui/x-date-pickers@9.2.0`.
|
|
44
|
+
|
|
45
|
+
### Charts
|
|
46
|
+
|
|
47
|
+
#### `@mui/x-charts@9.2.0`
|
|
48
|
+
|
|
49
|
+
Internal changes.
|
|
50
|
+
|
|
51
|
+
#### `@mui/x-charts-pro@9.2.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
52
|
+
|
|
53
|
+
Same changes as in `@mui/x-charts@9.2.0`.
|
|
54
|
+
|
|
55
|
+
#### `@mui/x-charts-premium@9.2.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
56
|
+
|
|
57
|
+
Same changes as in `@mui/x-charts-pro@9.2.0`, plus:
|
|
58
|
+
|
|
59
|
+
- [charts-premium] Add `Highlight` support to `RadialBarChart` (#22322) @alexfauquette
|
|
60
|
+
- [charts-premium] Add `WebGL` renderer to `BarChartPremium` (#22354) @JCQuintas
|
|
61
|
+
- [charts-premium] Add mark shape support to the radial line (#22242) @alexfauquette
|
|
62
|
+
- [charts-premium] `RadialBarChart` support axis interaction with layout horizontal (#22319) @alexfauquette
|
|
63
|
+
|
|
64
|
+
### Tree View
|
|
65
|
+
|
|
66
|
+
#### `@mui/x-tree-view@9.1.0`
|
|
67
|
+
|
|
68
|
+
Internal changes.
|
|
69
|
+
|
|
70
|
+
#### `@mui/x-tree-view-pro@9.1.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
71
|
+
|
|
72
|
+
Same changes as in `@mui/x-tree-view@9.1.0`.
|
|
73
|
+
|
|
74
|
+
### Scheduler
|
|
75
|
+
|
|
76
|
+
#### `@mui/x-scheduler@9.0.0-alpha.6`
|
|
77
|
+
|
|
78
|
+
- [scheduler] Complete ARIA grid semantics on `EventTimeline` and `EventCalendar` (#22266) @Anexus5919
|
|
79
|
+
- [scheduler] Improve UX for recurrence tab (#22287) @mustafajw07
|
|
80
|
+
|
|
81
|
+
#### `@mui/x-scheduler-premium@9.0.0-alpha.6` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
82
|
+
|
|
83
|
+
Same changes as in `@mui/x-scheduler@9.0.0-alpha.6`.
|
|
84
|
+
|
|
85
|
+
### Codemod
|
|
86
|
+
|
|
87
|
+
#### `@mui/x-codemod@9.1.0`
|
|
88
|
+
|
|
89
|
+
Internal changes.
|
|
90
|
+
|
|
91
|
+
### Docs
|
|
92
|
+
|
|
93
|
+
- [docs] Document the `RadialBarChart` (#22320) @alexfauquette
|
|
94
|
+
- [docs] Add histogram demo to bar-demo page (#22373) @siriwatknp
|
|
95
|
+
- [docs] Add radial bar to the nav bar (#22429) @alexfauquette
|
|
96
|
+
- [docs] Split radial grid and radial line pages (#22238) @alexfauquette
|
|
97
|
+
|
|
98
|
+
### Miscellaneous
|
|
99
|
+
|
|
100
|
+
- [test] Disable animations in chart benchmarks (#22433) @bernardobelchior
|
|
101
|
+
- [test] Move `x-internal-gestures` vitest isolate flag to test block (#22427) @JCQuintas
|
|
102
|
+
- [test] Reduce flakiness in `MobileTimeRangePicker` multi-input `describeValue` tests (#22422) @JCQuintas
|
|
103
|
+
- [x-license] Exclude compat test pins from Renovate major bumps (#22414) @aemartos
|
|
104
|
+
- [x-license] Add cross-major license format compatibility tests (#22335) @aemartos
|
|
105
|
+
|
|
106
|
+
## 9.1.0
|
|
107
|
+
|
|
108
|
+
_May 8, 2026_
|
|
109
|
+
|
|
110
|
+
We'd like to extend a big thank you to the 14 contributors who made this release possible. Here are some highlights ✨:
|
|
111
|
+
|
|
112
|
+
- ⚡️ Add a WebGL renderer to the [Scatter chart](https://mui.com/x/react-charts/scatter/#webgl-renderer), and apply the same WebGL performance patterns to the candlestick and heatmap [Premium]
|
|
113
|
+
- 🐞 Bugfixes
|
|
114
|
+
- 📚 Documentation improvements
|
|
115
|
+
|
|
116
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
117
|
+
@Anexus5919, @gaetanodanelli, @imazizbohra, @mustafajw07
|
|
118
|
+
|
|
119
|
+
The following team members contributed to this release:
|
|
120
|
+
@alexfauquette, @brijeshb42, @flaviendelangle, @JCQuintas, @LukasTy, @mapache-salvaje, @MBilalShafi, @michelengelen, @oliviertassinari, @rita-codes
|
|
121
|
+
|
|
122
|
+
### Data Grid
|
|
123
|
+
|
|
124
|
+
#### `@mui/x-data-grid@9.1.0`
|
|
125
|
+
|
|
126
|
+
- [DataGrid] Fix accessibility violation in detail panel toggle column header (#22178) @michelengelen
|
|
127
|
+
- [DataGrid] Fix active filter detection for array values (#22340) @MBilalShafi
|
|
128
|
+
- [DataGrid] Fix crash when grouping/tree-data values match `Object.prototype` property names (#22312) @LukasTy
|
|
129
|
+
- [DataGrid] Position overlays below top pinned rows (#22341) @MBilalShafi
|
|
130
|
+
- [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
|
|
131
|
+
|
|
132
|
+
#### `@mui/x-data-grid-pro@9.1.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
133
|
+
|
|
134
|
+
Same changes as in `@mui/x-data-grid@9.1.0`, plus:
|
|
135
|
+
|
|
136
|
+
- [DataGridPro] Fix column unpin restoring stale position after reorder (#22250) @michelengelen
|
|
137
|
+
|
|
138
|
+
#### `@mui/x-data-grid-premium@9.1.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
139
|
+
|
|
140
|
+
Same changes as in `@mui/x-data-grid-pro@9.1.0`, plus:
|
|
141
|
+
|
|
142
|
+
- [DataGridPremium] Fix aggregation column header title truncation without ellipsis (#22248) @michelengelen
|
|
143
|
+
|
|
144
|
+
### Date and Time Pickers
|
|
145
|
+
|
|
146
|
+
#### `@mui/x-date-pickers@9.1.0`
|
|
147
|
+
|
|
148
|
+
- [pickers] Fix duplicate hour label in `MultiSectionDigitalClock` on DST day (#22110) @LukasTy
|
|
149
|
+
- [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
|
|
150
|
+
|
|
151
|
+
#### `@mui/x-date-pickers-pro@9.1.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
152
|
+
|
|
153
|
+
Same changes as in `@mui/x-date-pickers@9.1.0`.
|
|
154
|
+
|
|
155
|
+
### Charts
|
|
156
|
+
|
|
157
|
+
#### `@mui/x-charts@9.1.0`
|
|
158
|
+
|
|
159
|
+
- [charts] Add `ChartsAxisHighlightValue` component (#21803) @Copilot
|
|
160
|
+
- [charts] Create `ChartsRadialAxisHighlight` (#22241) @alexfauquette
|
|
161
|
+
- [charts] Remove useless extends (#22313) @alexfauquette
|
|
162
|
+
- [charts] Use `PolarAxisConfig` in polar plugin internals (#22315) @alexfauquette
|
|
163
|
+
|
|
164
|
+
#### `@mui/x-charts-pro@9.1.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
165
|
+
|
|
166
|
+
Same changes as in `@mui/x-charts@9.1.0`.
|
|
167
|
+
|
|
168
|
+
#### `@mui/x-charts-premium@9.1.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
169
|
+
|
|
170
|
+
Same changes as in `@mui/x-charts-pro@9.1.0`, plus:
|
|
171
|
+
|
|
172
|
+
- [charts-premium] Add WebGL renderer to `ScatterChartPremium` (#22157) @JCQuintas
|
|
173
|
+
- [charts-premium] Add highlight to the `RadialLineChart` (#22156) @alexfauquette
|
|
174
|
+
- [charts-premium] Apply WebGL perf patterns to candlestick + heatmap (#22223) @JCQuintas
|
|
175
|
+
- [charts-premium] Introduce the `RadialBarChart` (#22268) @alexfauquette
|
|
176
|
+
|
|
177
|
+
### Tree View
|
|
178
|
+
|
|
179
|
+
#### `@mui/x-tree-view@9.1.0`
|
|
180
|
+
|
|
181
|
+
- [tree view] Fix stale Tree View `apiRef` after keyed remount (#22342) @MBilalShafi
|
|
182
|
+
|
|
183
|
+
#### `@mui/x-tree-view-pro@9.1.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
184
|
+
|
|
185
|
+
Same changes as in `@mui/x-tree-view@9.1.0`.
|
|
186
|
+
|
|
187
|
+
### Scheduler
|
|
188
|
+
|
|
189
|
+
#### `@mui/x-scheduler@9.0.0-alpha.5`
|
|
190
|
+
|
|
191
|
+
- [scheduler] Make `EventItem` interactive by integrating button props for keyboard accessibility (#22160) @mustafajw07
|
|
192
|
+
- [scheduler] Migrate color switch to Base UI `ToggleGroup` (#22254) @flaviendelangle
|
|
193
|
+
- [scheduler] Rename Scheduler headless packages (#22273) @rita-codes
|
|
194
|
+
- [scheduler] Use TreeView for the resource sidebar (#22261) @flaviendelangle
|
|
195
|
+
- [scheduler] Use fieldset/legend instead of headings for form sections in the event dialog (#22095) @Anexus5919
|
|
196
|
+
- [scheduler] Added `position: relative` for consistent layout (#22284) @mustafajw07
|
|
197
|
+
- [l10n] Improve Italian (it-IT) locale (#22290) @gaetanodanelli
|
|
198
|
+
|
|
199
|
+
#### `@mui/x-scheduler-premium@9.0.0-alpha.5` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
200
|
+
|
|
201
|
+
Same changes as in `@mui/x-scheduler@9.0.0-alpha.5`, plus:
|
|
202
|
+
|
|
203
|
+
- [scheduler] Replace per-view headers with a generic `EventTimelinePremiumHeader` in the `EventTimeline` (#22222) @rita-codes
|
|
204
|
+
|
|
205
|
+
### Codemod
|
|
206
|
+
|
|
207
|
+
#### `@mui/x-codemod@9.1.0`
|
|
208
|
+
|
|
209
|
+
Internal changes.
|
|
210
|
+
|
|
211
|
+
### Docs
|
|
212
|
+
|
|
213
|
+
- [docs] Migrate `FlightPicker` overview demo to v9 `slotProps` shape (#22272) @LukasTy
|
|
214
|
+
- [docs] Standardize Scheduler docs style and formatting (#22161) @mapache-salvaje
|
|
215
|
+
- [docs] Add feedback form to the scheduler docs (#22237) @rita-codes
|
|
216
|
+
- [docs] Fix `GridToolbarCustom` demo crash in DataGrid (#21950) @MBilalShafi
|
|
217
|
+
- [docs] Do not resolve axes in charts (#22307) @alexfauquette
|
|
218
|
+
- [docs] Fix no longer valid link (#22371) @LukasTy
|
|
219
|
+
- [docs] Replace broken CodeSandbox iframes in migration guides (#22352) @LukasTy
|
|
220
|
+
|
|
221
|
+
### Core
|
|
222
|
+
|
|
223
|
+
- [code-infra] Bump browser `testTimeout` to absorb React 19 slowness (#22236) @LukasTy
|
|
224
|
+
- [code-infra] Use vale rules from code-infra package (#22256) @brijeshb42
|
|
225
|
+
- [code-infra] Fix broken valelint and docs build (#22362) @LukasTy
|
|
226
|
+
- [internal] Prepare renaming LICENSE file to LICENSE.md (#22055) @imazizbohra
|
|
227
|
+
- [internal] Remove outdated .woff files (#22286) @oliviertassinari
|
|
228
|
+
- [internal] Replace Codspeed with `@mui/internal-benchmark` for charts (#22243) @JCQuintas
|
|
229
|
+
|
|
230
|
+
### Miscellaneous
|
|
231
|
+
|
|
232
|
+
- [internal-gestures] Add passive option to `TurnWheelGesture` (#22349) @JCQuintas
|
|
233
|
+
- [internal-gestures] Enforce pointer-type filter in `ShadowRoot` branch (#22327) @JCQuintas
|
|
234
|
+
- [internal-gestures] Improve passive event listener handling (#22329) @JCQuintas
|
|
235
|
+
- [internal-gestures] Inline wheel-delta clamp per axis (#22331) @JCQuintas
|
|
236
|
+
- [internal-gestures] Return read-only pointer map without copy (#22330) @JCQuintas
|
|
237
|
+
- [internal-gestures] Track multi-tap reset timeout to prevent leak (#22326) @JCQuintas
|
|
238
|
+
|
|
3
239
|
## 9.0.4
|
|
4
240
|
|
|
5
241
|
_Apr 28, 2026_
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DigitalClockProps } from "./DigitalClock.types.mjs";
|
|
3
|
-
export declare const DigitalClockItem: import("@emotion/styled").StyledComponent<import("@mui/material/MenuItem").MenuItemOwnProps & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, keyof import("@mui/material/MenuItem").MenuItemOwnProps> & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, "tabIndex" | "children" | "nativeButton" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | keyof import("@mui/material/MenuItem").MenuItemOwnProps> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "autoFocus" | "dense" | "style" | "tabIndex" | "className" | "children" | "classes" | "sx" | "disableGutters" | "divider" | "nativeButton" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "selected"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
3
|
+
export declare const DigitalClockItem: import("@emotion/styled").StyledComponent<import("@mui/material/MenuItem").MenuItemOwnProps & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, keyof import("@mui/material/MenuItem").MenuItemOwnProps> & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, "tabIndex" | "children" | "type" | "nativeButton" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | keyof import("@mui/material/MenuItem").MenuItemOwnProps> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "autoFocus" | "dense" | "style" | "tabIndex" | "className" | "children" | "classes" | "type" | "sx" | "disableGutters" | "divider" | "nativeButton" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "selected"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
4
4
|
type DigitalClockComponent = ((props: DigitalClockProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
5
5
|
propTypes?: any;
|
|
6
6
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DigitalClockProps } from "./DigitalClock.types.js";
|
|
3
|
-
export declare const DigitalClockItem: import("@emotion/styled").StyledComponent<import("@mui/material/MenuItem").MenuItemOwnProps & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, keyof import("@mui/material/MenuItem").MenuItemOwnProps> & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, "tabIndex" | "children" | "nativeButton" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | keyof import("@mui/material/MenuItem").MenuItemOwnProps> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "autoFocus" | "dense" | "style" | "tabIndex" | "className" | "children" | "classes" | "sx" | "disableGutters" | "divider" | "nativeButton" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "selected"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
3
|
+
export declare const DigitalClockItem: import("@emotion/styled").StyledComponent<import("@mui/material/MenuItem").MenuItemOwnProps & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, keyof import("@mui/material/MenuItem").MenuItemOwnProps> & Omit<import("@mui/material/ButtonBase").ButtonBaseOwnProps, "tabIndex" | "children" | "type" | "nativeButton" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | keyof import("@mui/material/MenuItem").MenuItemOwnProps> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "autoFocus" | "dense" | "style" | "tabIndex" | "className" | "children" | "classes" | "type" | "sx" | "disableGutters" | "divider" | "nativeButton" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "selected"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, {}, {}>;
|
|
4
4
|
type DigitalClockComponent = ((props: DigitalClockProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
|
|
5
5
|
propTypes?: any;
|
|
6
6
|
};
|
package/LICENSE
CHANGED
|
@@ -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(
|
|
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({
|
|
@@ -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(
|
|
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({
|
package/PickerDay/PickerDay.js
CHANGED
|
@@ -422,7 +422,14 @@ process.env.NODE_ENV !== "production" ? PickerDayRaw.propTypes = {
|
|
|
422
422
|
start: _propTypes.default.func.isRequired,
|
|
423
423
|
stop: _propTypes.default.func.isRequired
|
|
424
424
|
})
|
|
425
|
-
})])
|
|
425
|
+
})]),
|
|
426
|
+
/**
|
|
427
|
+
* The HTML [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#type)
|
|
428
|
+
* attribute applied to `button` and `a` elements.
|
|
429
|
+
* Ignored when rendering non-native buttons.
|
|
430
|
+
* @default 'button'
|
|
431
|
+
*/
|
|
432
|
+
type: _propTypes.default.string
|
|
426
433
|
} : void 0;
|
|
427
434
|
|
|
428
435
|
/**
|
package/PickerDay/PickerDay.mjs
CHANGED
|
@@ -415,7 +415,14 @@ process.env.NODE_ENV !== "production" ? PickerDayRaw.propTypes = {
|
|
|
415
415
|
start: PropTypes.func.isRequired,
|
|
416
416
|
stop: PropTypes.func.isRequired
|
|
417
417
|
})
|
|
418
|
-
})])
|
|
418
|
+
})]),
|
|
419
|
+
/**
|
|
420
|
+
* The HTML [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#type)
|
|
421
|
+
* attribute applied to `button` and `a` elements.
|
|
422
|
+
* Ignored when rendering non-native buttons.
|
|
423
|
+
* @default 'button'
|
|
424
|
+
*/
|
|
425
|
+
type: PropTypes.string
|
|
419
426
|
} : void 0;
|
|
420
427
|
|
|
421
428
|
/**
|
package/index.js
CHANGED
package/index.mjs
CHANGED
|
@@ -123,6 +123,8 @@ exports.cleanLeadingZeros = cleanLeadingZeros;
|
|
|
123
123
|
const cleanDigitSectionValue = (adapter, value, sectionBoundaries, localizedDigits, section) => {
|
|
124
124
|
if (process.env.NODE_ENV !== 'production') {
|
|
125
125
|
if (section.type !== 'day' && section.contentType === 'digit-with-letter') {
|
|
126
|
+
// TODO: fix mui/no-guarded-throw
|
|
127
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
126
128
|
throw new Error([`MUI X: The token "${section.format}" is a digit format with letter in it.'
|
|
127
129
|
This type of format is only supported for 'day' sections`].join('\n'));
|
|
128
130
|
}
|
|
@@ -165,6 +167,8 @@ exports.getSectionVisibleValue = getSectionVisibleValue;
|
|
|
165
167
|
const changeSectionValueFormat = (adapter, valueStr, currentFormat, newFormat) => {
|
|
166
168
|
if (process.env.NODE_ENV !== 'production') {
|
|
167
169
|
if (getDateSectionConfigFromFormatToken(adapter, currentFormat).type === 'weekDay') {
|
|
170
|
+
// TODO: fix mui/no-guarded-throw
|
|
171
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
168
172
|
throw new Error("changeSectionValueFormat doesn't support week day formats");
|
|
169
173
|
}
|
|
170
174
|
}
|
|
@@ -108,6 +108,8 @@ export const cleanLeadingZeros = (valueStr, size) => {
|
|
|
108
108
|
export const cleanDigitSectionValue = (adapter, value, sectionBoundaries, localizedDigits, section) => {
|
|
109
109
|
if (process.env.NODE_ENV !== 'production') {
|
|
110
110
|
if (section.type !== 'day' && section.contentType === 'digit-with-letter') {
|
|
111
|
+
// TODO: fix mui/no-guarded-throw
|
|
112
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
111
113
|
throw new Error([`MUI X: The token "${section.format}" is a digit format with letter in it.'
|
|
112
114
|
This type of format is only supported for 'day' sections`].join('\n'));
|
|
113
115
|
}
|
|
@@ -148,6 +150,8 @@ export const getSectionVisibleValue = (section, target, localizedDigits) => {
|
|
|
148
150
|
export const changeSectionValueFormat = (adapter, valueStr, currentFormat, newFormat) => {
|
|
149
151
|
if (process.env.NODE_ENV !== 'production') {
|
|
150
152
|
if (getDateSectionConfigFromFormatToken(adapter, currentFormat).type === 'weekDay') {
|
|
153
|
+
// TODO: fix mui/no-guarded-throw
|
|
154
|
+
// eslint-disable-next-line mui/no-guarded-throw
|
|
151
155
|
throw new Error("changeSectionValueFormat doesn't support week day formats");
|
|
152
156
|
}
|
|
153
157
|
}
|
package/locales/itIT.js
CHANGED
|
@@ -37,8 +37,7 @@ const itITPickers = {
|
|
|
37
37
|
dateTimePickerToolbarTitle: 'Seleziona data e orario',
|
|
38
38
|
timePickerToolbarTitle: 'Seleziona orario',
|
|
39
39
|
dateRangePickerToolbarTitle: 'Seleziona intervallo di date',
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
timeRangePickerToolbarTitle: 'Seleziona intervallo di orari',
|
|
42
41
|
// Clock labels
|
|
43
42
|
clockLabelText: (view, formattedTime) => `Seleziona ${views[view]}. ${!formattedTime ? 'Nessun orario selezionato' : `L'ora selezionata è ${formattedTime}`}`,
|
|
44
43
|
hoursClockNumberText: hours => `${hours} ore`,
|
|
@@ -54,7 +53,7 @@ const itITPickers = {
|
|
|
54
53
|
// Open Picker labels
|
|
55
54
|
openDatePickerDialogue: formattedDate => formattedDate ? `Scegli la data, la data selezionata è ${formattedDate}` : 'Scegli la data',
|
|
56
55
|
openTimePickerDialogue: formattedTime => formattedTime ? `Scegli l'ora, l'ora selezionata è ${formattedTime}` : "Scegli l'ora",
|
|
57
|
-
|
|
56
|
+
openRangePickerDialogue: formattedRange => formattedRange ? `Scegli l'intervallo, l'intervallo selezionato è ${formattedRange}` : "Scegli l'intervallo",
|
|
58
57
|
fieldClearLabel: 'Cancella valore',
|
|
59
58
|
// Table labels
|
|
60
59
|
timeTableLabel: "scegli un'ora",
|
package/locales/itIT.mjs
CHANGED
|
@@ -31,8 +31,7 @@ const itITPickers = {
|
|
|
31
31
|
dateTimePickerToolbarTitle: 'Seleziona data e orario',
|
|
32
32
|
timePickerToolbarTitle: 'Seleziona orario',
|
|
33
33
|
dateRangePickerToolbarTitle: 'Seleziona intervallo di date',
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
timeRangePickerToolbarTitle: 'Seleziona intervallo di orari',
|
|
36
35
|
// Clock labels
|
|
37
36
|
clockLabelText: (view, formattedTime) => `Seleziona ${views[view]}. ${!formattedTime ? 'Nessun orario selezionato' : `L'ora selezionata è ${formattedTime}`}`,
|
|
38
37
|
hoursClockNumberText: hours => `${hours} ore`,
|
|
@@ -48,7 +47,7 @@ const itITPickers = {
|
|
|
48
47
|
// Open Picker labels
|
|
49
48
|
openDatePickerDialogue: formattedDate => formattedDate ? `Scegli la data, la data selezionata è ${formattedDate}` : 'Scegli la data',
|
|
50
49
|
openTimePickerDialogue: formattedTime => formattedTime ? `Scegli l'ora, l'ora selezionata è ${formattedTime}` : "Scegli l'ora",
|
|
51
|
-
|
|
50
|
+
openRangePickerDialogue: formattedRange => formattedRange ? `Scegli l'intervallo, l'intervallo selezionato è ${formattedRange}` : "Scegli l'intervallo",
|
|
52
51
|
fieldClearLabel: 'Cancella valore',
|
|
53
52
|
// Table labels
|
|
54
53
|
timeTableLabel: "scegli un'ora",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-date-pickers",
|
|
3
|
-
"version": "9.0
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The community edition of the MUI X Date and Time Picker components.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@babel/runtime": "^7.29.2",
|
|
37
|
-
"@mui/utils": "9.0.
|
|
37
|
+
"@mui/utils": "9.0.1",
|
|
38
38
|
"@types/react-transition-group": "^4.4.12",
|
|
39
39
|
"clsx": "^2.1.1",
|
|
40
40
|
"prop-types": "^15.8.1",
|
|
41
41
|
"react-transition-group": "^4.4.5",
|
|
42
|
-
"@mui/x-internals": "^9.0
|
|
42
|
+
"@mui/x-internals": "^9.1.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@emotion/react": "^11.9.0",
|