@mui/x-date-pickers 9.2.0 → 9.4.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 +314 -0
- package/DateCalendar/DateCalendar.js +2 -2
- package/DateCalendar/DateCalendar.mjs +2 -2
- package/DateCalendar/DateCalendar.types.d.mts +1 -1
- package/DateCalendar/DateCalendar.types.d.ts +1 -1
- package/DateCalendar/DayCalendar.d.mts +1 -1
- package/DateCalendar/DayCalendar.d.ts +1 -1
- package/DateCalendar/DayCalendar.js +1 -1
- package/DateCalendar/DayCalendar.mjs +1 -1
- package/DateCalendar/PickersSlideTransition.js +1 -1
- package/DateCalendar/PickersSlideTransition.mjs +1 -1
- package/DatePicker/DatePicker.js +1 -1
- package/DatePicker/DatePicker.mjs +1 -1
- package/DateTimePicker/DateTimePicker.js +1 -1
- package/DateTimePicker/DateTimePicker.mjs +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/DesktopDatePicker/DesktopDatePicker.mjs +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.mjs +1 -1
- package/MobileDatePicker/MobileDatePicker.js +1 -1
- package/MobileDatePicker/MobileDatePicker.mjs +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.mjs +1 -1
- package/PickersCalendarHeader/PickersCalendarHeader.js +1 -1
- package/PickersCalendarHeader/PickersCalendarHeader.mjs +1 -1
- package/PickersTextField/PickersInputBase/PickersInputBase.js +15 -3
- package/PickersTextField/PickersInputBase/PickersInputBase.mjs +15 -3
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.mts +6 -1
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +6 -1
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +0 -3
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.mjs +0 -3
- package/StaticDatePicker/StaticDatePicker.js +1 -1
- package/StaticDatePicker/StaticDatePicker.mjs +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.mjs +1 -1
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/internals/hooks/date-helpers-hooks.js +1 -1
- package/internals/hooks/date-helpers-hooks.mjs +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,319 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.4.0
|
|
4
|
+
|
|
5
|
+
<!-- generated comparing v9.3.0..master -->
|
|
6
|
+
|
|
7
|
+
_Jun 4, 2026_
|
|
8
|
+
|
|
9
|
+
We'd like to extend a big thank you to the 21 contributors who made this release possible. Here are some highlights ✨:
|
|
10
|
+
|
|
11
|
+
- 🎉 Scheduler is now in Beta shipping with Timeline vitualization and lazy loading
|
|
12
|
+
- 📆 Implement Event Timeline virtualization (#22339)
|
|
13
|
+
- 🫧 Introduce bubble charts (#22537)
|
|
14
|
+
- 🐞 Bugfixes
|
|
15
|
+
- 📚 Documentation improvements
|
|
16
|
+
|
|
17
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
18
|
+
@imxv, @mixelburg, @mustafajw07
|
|
19
|
+
|
|
20
|
+
The following team members contributed to this release:
|
|
21
|
+
@aemartos, @alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @hasdfa, @Janpot, @JCQuintas, @joserodolfofreitas, @LukasTy, @MBilalShafi, @michelengelen, @mj12albert, @noraleonte, @oliviertassinari, @rita-codes, @romgrk, @sai6855
|
|
22
|
+
|
|
23
|
+
### Data Grid
|
|
24
|
+
|
|
25
|
+
#### `@mui/x-data-grid@9.4.0`
|
|
26
|
+
|
|
27
|
+
- [DataGrid] Fix `avg` aggregation when the average is zero (#22652) @mj12albert
|
|
28
|
+
- [DataGrid] Inherit icon `fontSize` from `baseIconButton` size (#22187) @imxv
|
|
29
|
+
- [DataGrid] Fix `noRowsOverlay` flicker between `dataSource` re-fetches (#22465) @LukasTy
|
|
30
|
+
|
|
31
|
+
#### `@mui/x-data-grid-pro@9.4.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
32
|
+
|
|
33
|
+
Same changes as in `@mui/x-data-grid@9.4.0`.
|
|
34
|
+
|
|
35
|
+
#### `@mui/x-data-grid-premium@9.4.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
36
|
+
|
|
37
|
+
> This release includes a version bump of the `@mui/x-internal-exceljs-fork` package to address the vulnerable dependencies.
|
|
38
|
+
> The following CVEs are fixed:
|
|
39
|
+
>
|
|
40
|
+
> - <https://github.com/advisories/GHSA-ph9p-34f9-6g65>
|
|
41
|
+
> - <https://github.com/isaacs/minimatch/security/advisories/GHSA-23c5-xmqv-rm74>
|
|
42
|
+
> - <https://github.com/advisories/GHSA-w5hq-g745-h8pq>
|
|
43
|
+
>
|
|
44
|
+
> To make this security update possible, we bumped the `node` version requirement from `>=14.0.0` to `>=14.17.0`.
|
|
45
|
+
> [Node.js 14.17.0](https://nodejs.org/en/blog/release/v14.17.0) was released in May 2021, so we consider it safe to bump the requirement without causing issues for our users.
|
|
46
|
+
|
|
47
|
+
Same changes as in `@mui/x-data-grid-pro@9.4.0`, plus:
|
|
48
|
+
|
|
49
|
+
- [DataGridPremium] Nested Lazy Loading (#21043) @MBilalShafi
|
|
50
|
+
- [DataGridPremium] Update exceljs fork (#22658) @cherniavskii
|
|
51
|
+
|
|
52
|
+
### Date and Time Pickers
|
|
53
|
+
|
|
54
|
+
#### `@mui/x-date-pickers@9.4.0`
|
|
55
|
+
|
|
56
|
+
Internal changes.
|
|
57
|
+
|
|
58
|
+
#### `@mui/x-date-pickers-pro@9.4.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
59
|
+
|
|
60
|
+
Same changes as in `@mui/x-date-pickers@9.4.0`.
|
|
61
|
+
|
|
62
|
+
### Charts
|
|
63
|
+
|
|
64
|
+
#### `@mui/x-charts@9.4.0`
|
|
65
|
+
|
|
66
|
+
- [charts] Add functionality to hide elements during chart export (#22525) @sai6855
|
|
67
|
+
- [charts] Add option to show marks only on the first/last values (#22645) @alexfauquette
|
|
68
|
+
- [charts] Add text customization section and demo for axis labels (#22597) @sai6855
|
|
69
|
+
- [charts] Allow axes to scale according to the visible series only (#22566) @alexfauquette
|
|
70
|
+
- [charts] Correctly handle different identifiers for each series (#22556) @sai6855
|
|
71
|
+
- [charts] Fix inverted Y axis zoom/pan on ordinal scales (#22654) @JCQuintas
|
|
72
|
+
- [charts] Introduce bubble charts (#22537) @alexfauquette
|
|
73
|
+
- [charts] Let scatter chart tooltip ignore hidden series (#22614) @alexfauquette
|
|
74
|
+
- [charts] Make `'sqrt'` size mapping the default (#22683) @alexfauquette
|
|
75
|
+
- [charts] Remove unused proptypes (#22618) @alexfauquette
|
|
76
|
+
- [charts] Support module augmentation for slots (#22519) @sai6855
|
|
77
|
+
- [charts] Support multiple marker size in `findClosestPoint` (#22622) @alexfauquette
|
|
78
|
+
- [charts] Upgrade bezier-easing to v3 and use it for line chart hit-detection (#22608) @sai6855
|
|
79
|
+
- [charts] Use `useLayoutEffect` with `ResizeObserver` (#22646) @JCQuintas
|
|
80
|
+
|
|
81
|
+
#### `@mui/x-charts-pro@9.4.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
82
|
+
|
|
83
|
+
Same changes as in `@mui/x-charts@9.4.0`, plus:
|
|
84
|
+
|
|
85
|
+
- [charts-pro] Auto-select range button matching current zoom (#22137) @JCQuintas
|
|
86
|
+
- [charts-pro] Support range values in `initialZoom` (#22563) @JCQuintas
|
|
87
|
+
|
|
88
|
+
#### `@mui/x-charts-premium@9.4.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
89
|
+
|
|
90
|
+
Same changes as in `@mui/x-charts-pro@9.4.0`, plus:
|
|
91
|
+
|
|
92
|
+
- [charts-premium] Support range-bar series in WebGL bar renderer (#22607) @JCQuintas
|
|
93
|
+
- [charts-premium] Fix `onAxisClick` for radial bar and lines (#22522) @alexfauquette
|
|
94
|
+
|
|
95
|
+
### Tree View
|
|
96
|
+
|
|
97
|
+
#### `@mui/x-tree-view@9.4.0`
|
|
98
|
+
|
|
99
|
+
Internal changes.
|
|
100
|
+
|
|
101
|
+
#### `@mui/x-tree-view-pro@9.4.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
102
|
+
|
|
103
|
+
Same changes as in `@mui/x-tree-view@9.4.0`.
|
|
104
|
+
|
|
105
|
+
### Scheduler
|
|
106
|
+
|
|
107
|
+
#### Breaking changes
|
|
108
|
+
|
|
109
|
+
The theme `styleOverrides` slots for the skeleton and the error container were
|
|
110
|
+
renamed and unified. The CSS utility class names (for example
|
|
111
|
+
`.MuiEventCalendar-eventSkeleton`) are **not** affected — only
|
|
112
|
+
`theme.components.*` overrides need updating.
|
|
113
|
+
|
|
114
|
+
**Event skeleton**
|
|
115
|
+
|
|
116
|
+
| Before | After |
|
|
117
|
+
| --------------------------------------- | ------------------------------ |
|
|
118
|
+
| `MuiEventCalendar` slot `EventSkeleton` | `MuiEventSkeleton` slot `Root` |
|
|
119
|
+
| `MuiEventTimeline` slot `EventSkeleton` | `MuiEventSkeleton` slot `Root` |
|
|
120
|
+
|
|
121
|
+
**Error container**
|
|
122
|
+
|
|
123
|
+
| Before | After |
|
|
124
|
+
| ------------------------------------------------------------- | --------------------------------------- |
|
|
125
|
+
| `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorContainer` | `MuiEventErrorContainer` slot `Root` |
|
|
126
|
+
| `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorAlert` | `MuiEventErrorContainer` slot `Alert` |
|
|
127
|
+
| `MuiEventCalendar` / `MuiEventTimeline` slot `ErrorMessage` | `MuiEventErrorContainer` slot `Message` |
|
|
128
|
+
|
|
129
|
+
If you customized these through the theme, update the component name and slot
|
|
130
|
+
names accordingly:
|
|
131
|
+
|
|
132
|
+
```diff
|
|
133
|
+
components: {
|
|
134
|
+
- MuiEventCalendar: {
|
|
135
|
+
+ MuiEventSkeleton: {
|
|
136
|
+
styleOverrides: {
|
|
137
|
+
- EventSkeleton: { /* ... */ },
|
|
138
|
+
+ Root: { /* ... */ },
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
}
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
#### `@mui/x-scheduler@9.0.0-beta.0`
|
|
146
|
+
|
|
147
|
+
- [scheduler] Add a prop to control whether the resource of an event can be cleared (#22464) @rita-codes
|
|
148
|
+
- [scheduler] Add week number labels to agenda, day and week views (#22594) @mustafajw07
|
|
149
|
+
- [scheduler] Add `weekStartsOn` preference and update date functions to support custom week start (#22426) @mustafajw07
|
|
150
|
+
- [scheduler] Export premium version of the standalone views (#22621) @flaviendelangle
|
|
151
|
+
- [scheduler] Implement timeline virtualization (#22339) @romgrk
|
|
152
|
+
- [scheduler] Split scheduler overview (#22453) @joserodolfofreitas
|
|
153
|
+
- [scheduler] Unify `EventSkeleton` and `ErrorContainer` between `EventCalendar` and `EventTimeline` (#22676) @noraleonte
|
|
154
|
+
|
|
155
|
+
#### `@mui/x-scheduler-premium@9.0.0-beta.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
156
|
+
|
|
157
|
+
Same changes as in `@mui/x-scheduler@9.0.0-beta.0`.
|
|
158
|
+
|
|
159
|
+
### Docs
|
|
160
|
+
|
|
161
|
+
- [docs] Add a performance docs page for charts (#22656) @alexfauquette
|
|
162
|
+
- [docs] Add real dataset for maps documentation (#22599) @alexfauquette
|
|
163
|
+
- [docs] Add spacing between selects on charts overview demo (#22589) @bernardobelchior
|
|
164
|
+
- [docs] Reorganize existing chat docs navigation (#22478) @hasdfa
|
|
165
|
+
- [docs] Switch to visionscarto's world atlas dataset (#22669) @cherniavskii
|
|
166
|
+
- [docs] Update TreeView `domstructure` docs and add demo (#22420) @mj12albert
|
|
167
|
+
- [docs] Fix indexation of Scheduler (#22567) @oliviertassinari
|
|
168
|
+
- [docs] Fix wide layout on event timeline lazy loading and Import title (#22604) @rita-codes
|
|
169
|
+
- [docs] Derive class name owners for shared charts classes (#22674) @JCQuintas
|
|
170
|
+
|
|
171
|
+
### Core
|
|
172
|
+
|
|
173
|
+
- [code-infra] Drop unused and now-transitive deps from docs/package.json (#22549) @LukasTy
|
|
174
|
+
- [code-infra] Refresh CI Node pins to 22.22.3 (#22598) @LukasTy
|
|
175
|
+
- [code-infra] Skip empty product sections in changelog (#22541) @rita-codes
|
|
176
|
+
- [code-infra] Stabilize DataGridScrollRestoration visual regression test (#22553) @Janpot
|
|
177
|
+
- [internal] Add license to the `x-data-grid-generator` (#22240) @arminmeh
|
|
178
|
+
- [internal] Express default value for resource_class (#22569) @oliviertassinari
|
|
179
|
+
- [internal] Fix use of ellipsis (#21852) @oliviertassinari
|
|
180
|
+
- [internal] `useLayoutEffect` with `ResizeObserver` (#22428) @romgrk
|
|
181
|
+
|
|
182
|
+
### Miscellaneous
|
|
183
|
+
|
|
184
|
+
- [chat-headless] Add built-in chat adapters (#22479) @hasdfa
|
|
185
|
+
- [chat-headless] Harden runtime model and message errors (#22480) @hasdfa
|
|
186
|
+
- [core] Prepare for TypeScript 6 bump (#22551) @LukasTy
|
|
187
|
+
- [core] Use CircleCI Gen2 resource classes (#22610) @LukasTy
|
|
188
|
+
- [infra] Fix broken tag retrieval on `master` during release (#22174) @michelengelen
|
|
189
|
+
- [infra] Group Base UI renovate updates (#22590) @LukasTy
|
|
190
|
+
- [pnpm] Add security settings to pnpm-workspace.yaml (#22611) @Janpot
|
|
191
|
+
- [release] Fix release PR scripts (#22680) @JCQuintas
|
|
192
|
+
- [test] Add a Tree View regression test for lazy loading with getChildrenCount returning -1 (#22605) @mixelburg
|
|
193
|
+
- [test] Disable LCD subpixel antialiasing in regression screenshots (#22602) @Janpot
|
|
194
|
+
- [test] Fix flaky Data Grid Pro data source tree data tests (#22659) @LukasTy
|
|
195
|
+
- [test] Remove stale form-submit TODO from e2e suite (#22564) @LukasTy
|
|
196
|
+
- [x-license] Exclude test keys from the published npm package (#22647) @aemartos
|
|
197
|
+
- [test] Fix flaky WebGL benchmark by polling for canvas content (#22535) @JCQuintas
|
|
198
|
+
|
|
199
|
+
## 9.3.0
|
|
200
|
+
|
|
201
|
+
_May 21, 2026_
|
|
202
|
+
|
|
203
|
+
We'd like to extend a big thank you to the 16 contributors who made this release possible. Here are some highlights ✨:
|
|
204
|
+
|
|
205
|
+
- 📆 Refactor Calendar Range drag editing to use Pointer Events instead of drag and touch events combination (#22279)
|
|
206
|
+
- ✨ Apply lazy loading to `EventTimelinePremium` (#22308)
|
|
207
|
+
- 🐞 Bugfixes
|
|
208
|
+
- 📚 Documentation improvements
|
|
209
|
+
- 🌎 Added Norwegian bokmål (nb-NO) locale to the Scheduler
|
|
210
|
+
- 🌎 Improved Swedish (sv-SE) locale on the Data Grid
|
|
211
|
+
|
|
212
|
+
Special thanks go out to these community members for their valuable contributions:
|
|
213
|
+
@Anexus5919, @jvskriubakken, @oscar-b, @rin, @viktormelin
|
|
214
|
+
|
|
215
|
+
The following team members contributed to this release:
|
|
216
|
+
@aemartos, @alexfauquette, @arminmeh, @Janpot, @JCQuintas, @LukasTy, @mj12albert, @oliviertassinari, @rita-codes, @romgrk, @sai6855
|
|
217
|
+
|
|
218
|
+
### Data Grid
|
|
219
|
+
|
|
220
|
+
#### `@mui/x-data-grid@9.3.0`
|
|
221
|
+
|
|
222
|
+
- [DataGrid] Fix scrollbar disappearing after multiple resizes (#22512) @LukasTy
|
|
223
|
+
- [DataGrid] Revert "Add support for pinned columns in `GridVirtualScroller`" (#22467) @oliviertassinari
|
|
224
|
+
- [l10n] Improve Swedish (svSE) locale (#21851) @viktormelin
|
|
225
|
+
|
|
226
|
+
#### `@mui/x-data-grid-pro@9.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
227
|
+
|
|
228
|
+
Same changes as in `@mui/x-data-grid@9.3.0`.
|
|
229
|
+
|
|
230
|
+
#### `@mui/x-data-grid-premium@9.3.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
231
|
+
|
|
232
|
+
Same changes as in `@mui/x-data-grid-pro@9.3.0`.
|
|
233
|
+
|
|
234
|
+
### Date and Time Pickers
|
|
235
|
+
|
|
236
|
+
#### `@mui/x-date-pickers@9.3.0`
|
|
237
|
+
|
|
238
|
+
- [pickers] Fix disabled state styling for `PickersTextField` standard and filled variants (#22189) @LukasTy
|
|
239
|
+
- [pickers] Fix previous month disabled state calculation (#22524) @mj12albert
|
|
240
|
+
- [pickers] Merge `slotProps.sectionContent` in `PickersInputBase` (#22324) @rin
|
|
241
|
+
|
|
242
|
+
#### `@mui/x-date-pickers-pro@9.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
243
|
+
|
|
244
|
+
Same changes as in `@mui/x-date-pickers@9.3.0`, plus:
|
|
245
|
+
|
|
246
|
+
- [DateRangeCalendar] Use Pointer Events for drag editing (#22279) @LukasTy
|
|
247
|
+
|
|
248
|
+
### Charts
|
|
249
|
+
|
|
250
|
+
#### `@mui/x-charts@9.3.0`
|
|
251
|
+
|
|
252
|
+
- [charts] Add `data-series` to elements of radar chart (#22523) @alexfauquette
|
|
253
|
+
- [charts] Add environment check for warning messages in axis and radar hooks (#22506) @sai6855
|
|
254
|
+
- [charts] Chart `seriesConfig` deduplication for lines and bars (#22257) @sai6855
|
|
255
|
+
- [charts] Fix highlighted item crash (#22539) @oscar-b
|
|
256
|
+
- [charts] Fix the line and mark class (#22526) @alexfauquette
|
|
257
|
+
- [charts] Fix use of deprecated API in docs (#22469) @oliviertassinari
|
|
258
|
+
- [charts] Improve performance of `evaluateCurveY` function (#22407) @sai6855
|
|
259
|
+
|
|
260
|
+
#### `@mui/x-charts-pro@9.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
261
|
+
|
|
262
|
+
Same changes as in `@mui/x-charts@9.3.0`.
|
|
263
|
+
|
|
264
|
+
#### `@mui/x-charts-premium@9.3.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
265
|
+
|
|
266
|
+
Same changes as in `@mui/x-charts-pro@9.3.0`, plus:
|
|
267
|
+
|
|
268
|
+
- [charts-premium] Add `closePath` option to the radial line series (#22517) @alexfauquette
|
|
269
|
+
|
|
270
|
+
### Tree View
|
|
271
|
+
|
|
272
|
+
#### `@mui/x-tree-view-pro@9.3.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
273
|
+
|
|
274
|
+
Internal changes.
|
|
275
|
+
|
|
276
|
+
### Scheduler
|
|
277
|
+
|
|
278
|
+
#### `@mui/x-scheduler@9.0.0-alpha.7`
|
|
279
|
+
|
|
280
|
+
- [I10n] Add Norwegian bokmål (nb-NO) locale (#22415) @jvskriubakken
|
|
281
|
+
|
|
282
|
+
#### `@mui/x-scheduler-premium@9.0.0-alpha.7` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
283
|
+
|
|
284
|
+
Same changes as in `@mui/x-scheduler@9.0.0-alpha.7`, plus:
|
|
285
|
+
|
|
286
|
+
- [scheduler] Apply lazy loading to `EventTimelinePremium` (#22308) @rita-codes
|
|
287
|
+
- [scheduler] Deduplicate staged ranges within the debounce window (#22476) @Anexus5919
|
|
288
|
+
- [scheduler] Pass full event objects to `dataSource.updateEvents` (#22462) @rita-codes
|
|
289
|
+
|
|
290
|
+
### Docs
|
|
291
|
+
|
|
292
|
+
- [docs] Automatically update supported versions (#21850) @arminmeh
|
|
293
|
+
- [docs] Fix `New` label on bar charts docs (#22473) @oliviertassinari
|
|
294
|
+
- [docs] Improve premium page header for charts (#22474) @oliviertassinari
|
|
295
|
+
- [docs] Sync `README` with licensing/licensing.md in scheduler (#22468) @oliviertassinari
|
|
296
|
+
|
|
297
|
+
### Core
|
|
298
|
+
|
|
299
|
+
- [code-infra] Cover docs overview composites with Argos (#22283) @LukasTy
|
|
300
|
+
- [code-infra] Enable `mui/no-presentation-role` lint rule (#22360) @Janpot
|
|
301
|
+
- [code-infra] Make generated `propTypes` union order deterministic (#22521) @JCQuintas
|
|
302
|
+
- [code-infra] Make screenshots stable across different ordering of the tests (#22449) @Janpot
|
|
303
|
+
- [code-infra] Optimize visual regression testing (#22447) @Janpot
|
|
304
|
+
- [code-infra] Replace markdownlint with remark from code-infra (#22255) @Janpot
|
|
305
|
+
|
|
306
|
+
### Miscellaneous
|
|
307
|
+
|
|
308
|
+
- [virtualizer] Improve `controlled` mode performance (#22123) @romgrk
|
|
309
|
+
- [data-grid-generator] Include `tree-data` params in `useDemoData` cache key (#22456) @Janpot
|
|
310
|
+
- [test] Fix flaky browser tests and optimize (#22431) @Janpot
|
|
311
|
+
- [test] Speed up `test_types` job (#22442) @Janpot
|
|
312
|
+
- [test] Trim ffmpeg install in `test_regressions` (#22459) @Janpot
|
|
313
|
+
- [test] Add WebGL performance benchmarks for charts (#22471) @JCQuintas
|
|
314
|
+
- [test] Expand chart performance benchmarks for charts (#22472) @JCQuintas
|
|
315
|
+
- [x-license] use workspace dep for v9 in cross-major compat tests (#22504) @aemartos
|
|
316
|
+
|
|
3
317
|
## 9.2.0
|
|
4
318
|
|
|
5
319
|
_May 13, 2026_
|
|
@@ -56,7 +56,7 @@ function useDateCalendarDefaultizedProps(props, name) {
|
|
|
56
56
|
views: themeProps.views ?? ['year', 'day'],
|
|
57
57
|
reduceAnimations,
|
|
58
58
|
renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
59
|
-
children: "
|
|
59
|
+
children: "\u2026"
|
|
60
60
|
}))
|
|
61
61
|
});
|
|
62
62
|
}
|
|
@@ -513,7 +513,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
513
513
|
/**
|
|
514
514
|
* Component displaying when passed `loading` true.
|
|
515
515
|
* @returns {React.ReactNode} The node to render when loading.
|
|
516
|
-
* @default () => <span
|
|
516
|
+
* @default () => <span>…</span>
|
|
517
517
|
*/
|
|
518
518
|
renderLoading: _propTypes.default.func,
|
|
519
519
|
/**
|
|
@@ -49,7 +49,7 @@ function useDateCalendarDefaultizedProps(props, name) {
|
|
|
49
49
|
views: themeProps.views ?? ['year', 'day'],
|
|
50
50
|
reduceAnimations,
|
|
51
51
|
renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/_jsx("span", {
|
|
52
|
-
children: "
|
|
52
|
+
children: "\u2026"
|
|
53
53
|
}))
|
|
54
54
|
});
|
|
55
55
|
}
|
|
@@ -506,7 +506,7 @@ process.env.NODE_ENV !== "production" ? DateCalendar.propTypes = {
|
|
|
506
506
|
/**
|
|
507
507
|
* Component displaying when passed `loading` true.
|
|
508
508
|
* @returns {React.ReactNode} The node to render when loading.
|
|
509
|
-
* @default () => <span
|
|
509
|
+
* @default () => <span>…</span>
|
|
510
510
|
*/
|
|
511
511
|
renderLoading: PropTypes.func,
|
|
512
512
|
/**
|
|
@@ -34,7 +34,7 @@ export interface ExportedDateCalendarProps extends ExportedDayCalendarProps, Exp
|
|
|
34
34
|
/**
|
|
35
35
|
* Component displaying when passed `loading` true.
|
|
36
36
|
* @returns {React.ReactNode} The node to render when loading.
|
|
37
|
-
* @default () => <span
|
|
37
|
+
* @default () => <span>…</span>
|
|
38
38
|
*/
|
|
39
39
|
renderLoading?: () => React.ReactNode;
|
|
40
40
|
/**
|
|
@@ -34,7 +34,7 @@ export interface ExportedDateCalendarProps extends ExportedDayCalendarProps, Exp
|
|
|
34
34
|
/**
|
|
35
35
|
* Component displaying when passed `loading` true.
|
|
36
36
|
* @returns {React.ReactNode} The node to render when loading.
|
|
37
|
-
* @default () => <span
|
|
37
|
+
* @default () => <span>…</span>
|
|
38
38
|
*/
|
|
39
39
|
renderLoading?: () => React.ReactNode;
|
|
40
40
|
/**
|
|
@@ -29,7 +29,7 @@ export interface ExportedDayCalendarProps extends ExportedPickerDayProps {
|
|
|
29
29
|
/**
|
|
30
30
|
* Component rendered on the "day" view when `props.loading` is true.
|
|
31
31
|
* @returns {React.ReactNode} The node to render when loading.
|
|
32
|
-
* @default () => "
|
|
32
|
+
* @default () => "…"
|
|
33
33
|
*/
|
|
34
34
|
renderLoading?: () => React.ReactNode;
|
|
35
35
|
/**
|
|
@@ -29,7 +29,7 @@ export interface ExportedDayCalendarProps extends ExportedPickerDayProps {
|
|
|
29
29
|
/**
|
|
30
30
|
* Component rendered on the "day" view when `props.loading` is true.
|
|
31
31
|
* @returns {React.ReactNode} The node to render when loading.
|
|
32
|
-
* @default () => "
|
|
32
|
+
* @default () => "…"
|
|
33
33
|
*/
|
|
34
34
|
renderLoading?: () => React.ReactNode;
|
|
35
35
|
/**
|
|
@@ -131,7 +131,7 @@ function PickersSlideTransition(inProps) {
|
|
|
131
131
|
childFactory: element => /*#__PURE__*/React.cloneElement(element, {
|
|
132
132
|
classNames: transitionClasses
|
|
133
133
|
}),
|
|
134
|
-
role: "
|
|
134
|
+
role: "none",
|
|
135
135
|
ownerState: ownerState,
|
|
136
136
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.CSSTransition, (0, _extends2.default)({
|
|
137
137
|
mountOnEnter: true,
|
|
@@ -123,7 +123,7 @@ export function PickersSlideTransition(inProps) {
|
|
|
123
123
|
childFactory: element => /*#__PURE__*/React.cloneElement(element, {
|
|
124
124
|
classNames: transitionClasses
|
|
125
125
|
}),
|
|
126
|
-
role: "
|
|
126
|
+
role: "none",
|
|
127
127
|
ownerState: ownerState,
|
|
128
128
|
children: /*#__PURE__*/_jsx(CSSTransition, _extends({
|
|
129
129
|
mountOnEnter: true,
|
package/DatePicker/DatePicker.js
CHANGED
|
@@ -278,7 +278,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
278
278
|
/**
|
|
279
279
|
* Component displaying when passed `loading` true.
|
|
280
280
|
* @returns {React.ReactNode} The node to render when loading.
|
|
281
|
-
* @default () => <span
|
|
281
|
+
* @default () => <span>…</span>
|
|
282
282
|
*/
|
|
283
283
|
renderLoading: _propTypes.default.func,
|
|
284
284
|
/**
|
|
@@ -271,7 +271,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
271
271
|
/**
|
|
272
272
|
* Component displaying when passed `loading` true.
|
|
273
273
|
* @returns {React.ReactNode} The node to render when loading.
|
|
274
|
-
* @default () => <span
|
|
274
|
+
* @default () => <span>…</span>
|
|
275
275
|
*/
|
|
276
276
|
renderLoading: PropTypes.func,
|
|
277
277
|
/**
|
|
@@ -316,7 +316,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
316
316
|
/**
|
|
317
317
|
* Component displaying when passed `loading` true.
|
|
318
318
|
* @returns {React.ReactNode} The node to render when loading.
|
|
319
|
-
* @default () => <span
|
|
319
|
+
* @default () => <span>…</span>
|
|
320
320
|
*/
|
|
321
321
|
renderLoading: _propTypes.default.func,
|
|
322
322
|
/**
|
|
@@ -309,7 +309,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
309
309
|
/**
|
|
310
310
|
* Component displaying when passed `loading` true.
|
|
311
311
|
* @returns {React.ReactNode} The node to render when loading.
|
|
312
|
-
* @default () => <span
|
|
312
|
+
* @default () => <span>…</span>
|
|
313
313
|
*/
|
|
314
314
|
renderLoading: PropTypes.func,
|
|
315
315
|
/**
|
|
@@ -289,7 +289,7 @@ DesktopDatePicker.propTypes = {
|
|
|
289
289
|
/**
|
|
290
290
|
* Component displaying when passed `loading` true.
|
|
291
291
|
* @returns {React.ReactNode} The node to render when loading.
|
|
292
|
-
* @default () => <span
|
|
292
|
+
* @default () => <span>…</span>
|
|
293
293
|
*/
|
|
294
294
|
renderLoading: _propTypes.default.func,
|
|
295
295
|
/**
|
|
@@ -282,7 +282,7 @@ DesktopDatePicker.propTypes = {
|
|
|
282
282
|
/**
|
|
283
283
|
* Component displaying when passed `loading` true.
|
|
284
284
|
* @returns {React.ReactNode} The node to render when loading.
|
|
285
|
-
* @default () => <span
|
|
285
|
+
* @default () => <span>…</span>
|
|
286
286
|
*/
|
|
287
287
|
renderLoading: PropTypes.func,
|
|
288
288
|
/**
|
|
@@ -411,7 +411,7 @@ DesktopDateTimePicker.propTypes = {
|
|
|
411
411
|
/**
|
|
412
412
|
* Component displaying when passed `loading` true.
|
|
413
413
|
* @returns {React.ReactNode} The node to render when loading.
|
|
414
|
-
* @default () => <span
|
|
414
|
+
* @default () => <span>…</span>
|
|
415
415
|
*/
|
|
416
416
|
renderLoading: _propTypes.default.func,
|
|
417
417
|
/**
|
|
@@ -404,7 +404,7 @@ DesktopDateTimePicker.propTypes = {
|
|
|
404
404
|
/**
|
|
405
405
|
* Component displaying when passed `loading` true.
|
|
406
406
|
* @returns {React.ReactNode} The node to render when loading.
|
|
407
|
-
* @default () => <span
|
|
407
|
+
* @default () => <span>…</span>
|
|
408
408
|
*/
|
|
409
409
|
renderLoading: PropTypes.func,
|
|
410
410
|
/**
|
|
@@ -287,7 +287,7 @@ MobileDatePicker.propTypes = {
|
|
|
287
287
|
/**
|
|
288
288
|
* Component displaying when passed `loading` true.
|
|
289
289
|
* @returns {React.ReactNode} The node to render when loading.
|
|
290
|
-
* @default () => <span
|
|
290
|
+
* @default () => <span>…</span>
|
|
291
291
|
*/
|
|
292
292
|
renderLoading: _propTypes.default.func,
|
|
293
293
|
/**
|
|
@@ -280,7 +280,7 @@ MobileDatePicker.propTypes = {
|
|
|
280
280
|
/**
|
|
281
281
|
* Component displaying when passed `loading` true.
|
|
282
282
|
* @returns {React.ReactNode} The node to render when loading.
|
|
283
|
-
* @default () => <span
|
|
283
|
+
* @default () => <span>…</span>
|
|
284
284
|
*/
|
|
285
285
|
renderLoading: PropTypes.func,
|
|
286
286
|
/**
|
|
@@ -377,7 +377,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
377
377
|
/**
|
|
378
378
|
* Component displaying when passed `loading` true.
|
|
379
379
|
* @returns {React.ReactNode} The node to render when loading.
|
|
380
|
-
* @default () => <span
|
|
380
|
+
* @default () => <span>…</span>
|
|
381
381
|
*/
|
|
382
382
|
renderLoading: _propTypes.default.func,
|
|
383
383
|
/**
|
|
@@ -370,7 +370,7 @@ MobileDateTimePicker.propTypes = {
|
|
|
370
370
|
/**
|
|
371
371
|
* Component displaying when passed `loading` true.
|
|
372
372
|
* @returns {React.ReactNode} The node to render when loading.
|
|
373
|
-
* @default () => <span
|
|
373
|
+
* @default () => <span>…</span>
|
|
374
374
|
*/
|
|
375
375
|
renderLoading: PropTypes.func,
|
|
376
376
|
/**
|
|
@@ -197,7 +197,7 @@ const PickersCalendarHeader = exports.PickersCalendarHeader = /*#__PURE__*/React
|
|
|
197
197
|
className: (0, _clsx.default)(classes.root, className),
|
|
198
198
|
ref: ref,
|
|
199
199
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersCalendarHeaderLabelContainer, {
|
|
200
|
-
role: "
|
|
200
|
+
role: "none",
|
|
201
201
|
onClick: handleToggleView,
|
|
202
202
|
ownerState: ownerState
|
|
203
203
|
// putting this on the label item element below breaks when using transition
|
|
@@ -190,7 +190,7 @@ const PickersCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersCale
|
|
|
190
190
|
className: clsx(classes.root, className),
|
|
191
191
|
ref: ref,
|
|
192
192
|
children: [/*#__PURE__*/_jsxs(PickersCalendarHeaderLabelContainer, {
|
|
193
|
-
role: "
|
|
193
|
+
role: "none",
|
|
194
194
|
onClick: handleToggleView,
|
|
195
195
|
ownerState: ownerState
|
|
196
196
|
// putting this on the label item element below breaks when using transition
|
|
@@ -12,6 +12,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
var React = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
15
16
|
var _FormControl = require("@mui/material/FormControl");
|
|
16
17
|
var _styles = require("@mui/material/styles");
|
|
17
18
|
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
@@ -19,6 +20,7 @@ var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
|
|
19
20
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
20
21
|
var _capitalize = _interopRequireDefault(require("@mui/utils/capitalize"));
|
|
21
22
|
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
|
|
23
|
+
var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
|
|
22
24
|
var _visuallyHidden = _interopRequireDefault(require("@mui/utils/visuallyHidden"));
|
|
23
25
|
var _pickersInputBaseClasses = require("./pickersInputBaseClasses");
|
|
24
26
|
var _PickersSectionList = require("../../PickersSectionList");
|
|
@@ -26,6 +28,14 @@ var _usePickerTextFieldOwnerState = require("../usePickerTextFieldOwnerState");
|
|
|
26
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
29
|
const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "renderSuffix", "slots", "slotProps", "contentEditable", "tabIndex", "onInput", "onPaste", "onKeyDown", "fullWidth", "name", "readOnly", "inputRef", "sectionListRef", "onFocus", "onBlur", "classes", "ownerState"],
|
|
28
30
|
_excluded2 = ["ref"];
|
|
31
|
+
function mergePickersInputBaseSectionContentSlotProps(consumerSlotProps, baseClassName) {
|
|
32
|
+
return ownerState => {
|
|
33
|
+
const resolved = (0, _resolveComponentProps.default)(consumerSlotProps, ownerState) ?? {};
|
|
34
|
+
return (0, _extends2.default)({}, resolved, {
|
|
35
|
+
className: (0, _clsx.default)(baseClassName, resolved.className)
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
}
|
|
29
39
|
const round = value => Math.round(value * 1e5) / 1e5;
|
|
30
40
|
const PickersInputBaseRoot = exports.PickersInputBaseRoot = (0, _styles.styled)('div', {
|
|
31
41
|
name: 'MuiPickersInputBase',
|
|
@@ -43,6 +53,10 @@ const PickersInputBaseRoot = exports.PickersInputBaseRoot = (0, _styles.styled)(
|
|
|
43
53
|
boxSizing: 'border-box',
|
|
44
54
|
// Prevent padding issue with fullWidth.
|
|
45
55
|
letterSpacing: `${round(0.15 / 16)}em`,
|
|
56
|
+
[`&.${_pickersInputBaseClasses.pickersInputBaseClasses.disabled}`]: {
|
|
57
|
+
color: (theme.vars || theme).palette.action.disabled,
|
|
58
|
+
cursor: 'default'
|
|
59
|
+
},
|
|
46
60
|
variants: [{
|
|
47
61
|
props: {
|
|
48
62
|
isInputInFullWidth: true
|
|
@@ -391,9 +405,7 @@ const PickersInputBase = exports.PickersInputBase = /*#__PURE__*/React.forwardRe
|
|
|
391
405
|
root: (0, _extends2.default)({}, slotProps?.input, {
|
|
392
406
|
ownerState
|
|
393
407
|
}),
|
|
394
|
-
sectionContent:
|
|
395
|
-
className: _pickersInputBaseClasses.pickersInputBaseClasses.sectionContent
|
|
396
|
-
},
|
|
408
|
+
sectionContent: mergePickersInputBaseSectionContentSlotProps(slotProps?.sectionContent, _pickersInputBaseClasses.pickersInputBaseClasses.sectionContent),
|
|
397
409
|
sectionSeparator: ({
|
|
398
410
|
separatorPosition
|
|
399
411
|
}) => ({
|
|
@@ -7,6 +7,7 @@ const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "
|
|
|
7
7
|
_excluded2 = ["ref"];
|
|
8
8
|
import * as React from 'react';
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
|
+
import clsx from 'clsx';
|
|
10
11
|
import { useFormControl } from '@mui/material/FormControl';
|
|
11
12
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
12
13
|
import useForkRef from '@mui/utils/useForkRef';
|
|
@@ -14,11 +15,20 @@ import refType from '@mui/utils/refType';
|
|
|
14
15
|
import composeClasses from '@mui/utils/composeClasses';
|
|
15
16
|
import capitalize from '@mui/utils/capitalize';
|
|
16
17
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
18
|
+
import resolveComponentProps from '@mui/utils/resolveComponentProps';
|
|
17
19
|
import visuallyHidden from '@mui/utils/visuallyHidden';
|
|
18
20
|
import { pickersInputBaseClasses, getPickersInputBaseUtilityClass } from "./pickersInputBaseClasses.mjs";
|
|
19
21
|
import { Unstable_PickersSectionList as PickersSectionList, Unstable_PickersSectionListRoot as PickersSectionListRoot, Unstable_PickersSectionListSection as PickersSectionListSection, Unstable_PickersSectionListSectionSeparator as PickersSectionListSectionSeparator, Unstable_PickersSectionListSectionContent as PickersSectionListSectionContent } from "../../PickersSectionList/index.mjs";
|
|
20
22
|
import { usePickerTextFieldOwnerState } from "../usePickerTextFieldOwnerState.mjs";
|
|
21
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
+
function mergePickersInputBaseSectionContentSlotProps(consumerSlotProps, baseClassName) {
|
|
25
|
+
return ownerState => {
|
|
26
|
+
const resolved = resolveComponentProps(consumerSlotProps, ownerState) ?? {};
|
|
27
|
+
return _extends({}, resolved, {
|
|
28
|
+
className: clsx(baseClassName, resolved.className)
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
}
|
|
22
32
|
const round = value => Math.round(value * 1e5) / 1e5;
|
|
23
33
|
export const PickersInputBaseRoot = styled('div', {
|
|
24
34
|
name: 'MuiPickersInputBase',
|
|
@@ -36,6 +46,10 @@ export const PickersInputBaseRoot = styled('div', {
|
|
|
36
46
|
boxSizing: 'border-box',
|
|
37
47
|
// Prevent padding issue with fullWidth.
|
|
38
48
|
letterSpacing: `${round(0.15 / 16)}em`,
|
|
49
|
+
[`&.${pickersInputBaseClasses.disabled}`]: {
|
|
50
|
+
color: (theme.vars || theme).palette.action.disabled,
|
|
51
|
+
cursor: 'default'
|
|
52
|
+
},
|
|
39
53
|
variants: [{
|
|
40
54
|
props: {
|
|
41
55
|
isInputInFullWidth: true
|
|
@@ -384,9 +398,7 @@ const PickersInputBase = /*#__PURE__*/React.forwardRef(function PickersInputBase
|
|
|
384
398
|
root: _extends({}, slotProps?.input, {
|
|
385
399
|
ownerState
|
|
386
400
|
}),
|
|
387
|
-
sectionContent:
|
|
388
|
-
className: pickersInputBaseClasses.sectionContent
|
|
389
|
-
},
|
|
401
|
+
sectionContent: mergePickersInputBaseSectionContentSlotProps(slotProps?.sectionContent, pickersInputBaseClasses.sectionContent),
|
|
390
402
|
sectionSeparator: ({
|
|
391
403
|
separatorPosition
|
|
392
404
|
}) => ({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SxProps, Theme } from '@mui/material/styles';
|
|
3
3
|
import { MuiEvent } from '@mui/x-internals/types';
|
|
4
|
-
import { PickersSectionListProps } from "../../PickersSectionList/index.mjs";
|
|
4
|
+
import { PickersSectionListProps, PickersSectionListSlotProps } from "../../PickersSectionList/index.mjs";
|
|
5
5
|
import { PickerTextFieldOwnerState } from "../../models/fields.mjs";
|
|
6
6
|
export interface PickersInputPropsUsedByField extends Pick<PickersSectionListProps, 'elements' | 'sectionListRef' | 'contentEditable' | 'tabIndex'> {
|
|
7
7
|
/**
|
|
@@ -70,6 +70,11 @@ export interface PickersInputBaseSlotProps {
|
|
|
70
70
|
root?: PickersInputBaseRootSlotProps;
|
|
71
71
|
input?: PickersInputBaseInputSlotProps;
|
|
72
72
|
htmlInput?: React.ComponentPropsWithRef<'input'>;
|
|
73
|
+
/**
|
|
74
|
+
* Props forwarded to each section's content element inside `PickersSectionList`.
|
|
75
|
+
* Merged with the built-in section content styles.
|
|
76
|
+
*/
|
|
77
|
+
sectionContent?: PickersSectionListSlotProps['sectionContent'];
|
|
73
78
|
}
|
|
74
79
|
export interface PickersInputBaseProps extends Omit<React.HTMLAttributes<HTMLDivElement>, keyof PickersInputPropsUsedByField>, PickersInputPropsUsedByField {
|
|
75
80
|
ownerState?: PickerTextFieldOwnerState;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SxProps, Theme } from '@mui/material/styles';
|
|
3
3
|
import { MuiEvent } from '@mui/x-internals/types';
|
|
4
|
-
import { PickersSectionListProps } from "../../PickersSectionList/index.js";
|
|
4
|
+
import { PickersSectionListProps, PickersSectionListSlotProps } from "../../PickersSectionList/index.js";
|
|
5
5
|
import { PickerTextFieldOwnerState } from "../../models/fields.js";
|
|
6
6
|
export interface PickersInputPropsUsedByField extends Pick<PickersSectionListProps, 'elements' | 'sectionListRef' | 'contentEditable' | 'tabIndex'> {
|
|
7
7
|
/**
|
|
@@ -70,6 +70,11 @@ export interface PickersInputBaseSlotProps {
|
|
|
70
70
|
root?: PickersInputBaseRootSlotProps;
|
|
71
71
|
input?: PickersInputBaseInputSlotProps;
|
|
72
72
|
htmlInput?: React.ComponentPropsWithRef<'input'>;
|
|
73
|
+
/**
|
|
74
|
+
* Props forwarded to each section's content element inside `PickersSectionList`.
|
|
75
|
+
* Merged with the built-in section content styles.
|
|
76
|
+
*/
|
|
77
|
+
sectionContent?: PickersSectionListSlotProps['sectionContent'];
|
|
73
78
|
}
|
|
74
79
|
export interface PickersInputBaseProps extends Omit<React.HTMLAttributes<HTMLDivElement>, keyof PickersInputPropsUsedByField>, PickersInputPropsUsedByField {
|
|
75
80
|
ownerState?: PickerTextFieldOwnerState;
|
|
@@ -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)
|
|
@@ -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)
|
|
@@ -227,7 +227,7 @@ StaticDatePicker.propTypes = {
|
|
|
227
227
|
/**
|
|
228
228
|
* Component displaying when passed `loading` true.
|
|
229
229
|
* @returns {React.ReactNode} The node to render when loading.
|
|
230
|
-
* @default () => <span
|
|
230
|
+
* @default () => <span>…</span>
|
|
231
231
|
*/
|
|
232
232
|
renderLoading: _propTypes.default.func,
|
|
233
233
|
/**
|
|
@@ -220,7 +220,7 @@ StaticDatePicker.propTypes = {
|
|
|
220
220
|
/**
|
|
221
221
|
* Component displaying when passed `loading` true.
|
|
222
222
|
* @returns {React.ReactNode} The node to render when loading.
|
|
223
|
-
* @default () => <span
|
|
223
|
+
* @default () => <span>…</span>
|
|
224
224
|
*/
|
|
225
225
|
renderLoading: PropTypes.func,
|
|
226
226
|
/**
|
|
@@ -314,7 +314,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
314
314
|
/**
|
|
315
315
|
* Component displaying when passed `loading` true.
|
|
316
316
|
* @returns {React.ReactNode} The node to render when loading.
|
|
317
|
-
* @default () => <span
|
|
317
|
+
* @default () => <span>…</span>
|
|
318
318
|
*/
|
|
319
319
|
renderLoading: _propTypes.default.func,
|
|
320
320
|
/**
|
|
@@ -307,7 +307,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
307
307
|
/**
|
|
308
308
|
* Component displaying when passed `loading` true.
|
|
309
309
|
* @returns {React.ReactNode} The node to render when loading.
|
|
310
|
-
* @default () => <span
|
|
310
|
+
* @default () => <span>…</span>
|
|
311
311
|
*/
|
|
312
312
|
renderLoading: PropTypes.func,
|
|
313
313
|
/**
|
package/index.js
CHANGED
package/index.mjs
CHANGED
|
@@ -31,7 +31,7 @@ function usePreviousMonthDisabled(month, {
|
|
|
31
31
|
return React.useMemo(() => {
|
|
32
32
|
const now = adapter.date(undefined, timezone);
|
|
33
33
|
const firstEnabledMonth = adapter.startOfMonth(disablePast && adapter.isAfter(now, minDate) ? now : minDate);
|
|
34
|
-
return !adapter.isBefore(firstEnabledMonth, month);
|
|
34
|
+
return !adapter.isBefore(firstEnabledMonth, adapter.startOfMonth(month));
|
|
35
35
|
}, [disablePast, minDate, month, adapter, timezone]);
|
|
36
36
|
}
|
|
37
37
|
function useMeridiemMode(date, ampm, onChange, selectionState) {
|
|
@@ -22,7 +22,7 @@ export function usePreviousMonthDisabled(month, {
|
|
|
22
22
|
return React.useMemo(() => {
|
|
23
23
|
const now = adapter.date(undefined, timezone);
|
|
24
24
|
const firstEnabledMonth = adapter.startOfMonth(disablePast && adapter.isAfter(now, minDate) ? now : minDate);
|
|
25
|
-
return !adapter.isBefore(firstEnabledMonth, month);
|
|
25
|
+
return !adapter.isBefore(firstEnabledMonth, adapter.startOfMonth(month));
|
|
26
26
|
}, [disablePast, minDate, month, adapter, timezone]);
|
|
27
27
|
}
|
|
28
28
|
export function useMeridiemMode(date, ampm, onChange, selectionState) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-date-pickers",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.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",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"directory": "packages/x-date-pickers"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@babel/runtime": "^7.29.
|
|
36
|
+
"@babel/runtime": "^7.29.7",
|
|
37
37
|
"@mui/utils": "9.0.1",
|
|
38
38
|
"@types/react-transition-group": "^4.4.12",
|
|
39
39
|
"clsx": "^2.1.1",
|