@mui/x-date-pickers 8.3.0 → 8.3.1

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.
Files changed (44) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +2 -1
  2. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -1
  3. package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +5 -1
  4. package/AdapterDateFnsV2/AdapterDateFnsV2.js +5 -1
  5. package/AdapterDayjs/AdapterDayjs.js +12 -9
  6. package/AdapterLuxon/AdapterLuxon.js +3 -2
  7. package/AdapterMoment/AdapterMoment.js +2 -2
  8. package/AdapterMomentHijri/AdapterMomentHijri.js +3 -0
  9. package/AdapterMomentJalaali/AdapterMomentJalaali.js +1 -0
  10. package/CHANGELOG.md +96 -10
  11. package/DigitalClock/DigitalClock.d.ts +1 -1
  12. package/PickersLayout/PickersLayout.d.ts +2 -2
  13. package/PickersSectionList/PickersSectionList.d.ts +1 -1
  14. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +6 -6
  15. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +6 -6
  16. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +2 -2
  17. package/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.d.ts +5 -5
  18. package/PickersTextField/PickersTextField.js +8 -1
  19. package/YearCalendar/yearCalendarClasses.d.ts +1 -1
  20. package/esm/AdapterDateFns/AdapterDateFns.js +2 -1
  21. package/esm/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -1
  22. package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +5 -1
  23. package/esm/AdapterDateFnsV2/AdapterDateFnsV2.js +5 -1
  24. package/esm/AdapterDayjs/AdapterDayjs.js +12 -9
  25. package/esm/AdapterLuxon/AdapterLuxon.js +3 -2
  26. package/esm/AdapterMoment/AdapterMoment.js +2 -2
  27. package/esm/AdapterMomentHijri/AdapterMomentHijri.js +3 -0
  28. package/esm/AdapterMomentJalaali/AdapterMomentJalaali.js +1 -0
  29. package/esm/DigitalClock/DigitalClock.d.ts +1 -1
  30. package/esm/PickersLayout/PickersLayout.d.ts +2 -2
  31. package/esm/PickersSectionList/PickersSectionList.d.ts +1 -1
  32. package/esm/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +6 -6
  33. package/esm/PickersTextField/PickersInput/pickersInputClasses.d.ts +6 -6
  34. package/esm/PickersTextField/PickersInputBase/PickersInputBase.d.ts +2 -2
  35. package/esm/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.d.ts +5 -5
  36. package/esm/PickersTextField/PickersTextField.js +8 -1
  37. package/esm/YearCalendar/yearCalendarClasses.d.ts +1 -1
  38. package/esm/index.js +1 -1
  39. package/esm/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.d.ts +1 -1
  40. package/esm/internals/components/pickersToolbarClasses.d.ts +1 -1
  41. package/index.js +1 -1
  42. package/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.d.ts +1 -1
  43. package/internals/components/pickersToolbarClasses.d.ts +1 -1
  44. package/package.json +2 -2
@@ -80,7 +80,7 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
80
80
  locale,
81
81
  formats
82
82
  } = {}) {
83
- /* istanbul ignore next */
83
+ /* v8 ignore start */
84
84
  if (process.env.NODE_ENV !== 'production') {
85
85
  if (typeof _addDays.addDays !== 'function') {
86
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'));
@@ -89,6 +89,7 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
89
89
  throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
90
90
  }
91
91
  }
92
+ /* v8 ignore stop */
92
93
  super({
93
94
  locale: locale ?? _enUS.enUS,
94
95
  formats,
@@ -117,7 +117,7 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
117
117
  locale,
118
118
  formats
119
119
  } = {}) {
120
- /* istanbul ignore next */
120
+ /* v8 ignore start */
121
121
  if (process.env.NODE_ENV !== 'production') {
122
122
  if (typeof _addDays.addDays !== 'function') {
123
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'));
@@ -126,6 +126,7 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
126
126
  throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
127
127
  }
128
128
  }
129
+ /* v8 ignore stop */
129
130
  super({
130
131
  locale: locale ?? _faIR.faIR,
131
132
  // some formats are different in jalali adapter,
@@ -54,8 +54,11 @@ var _AdapterDateFnsBase = require("../AdapterDateFnsBase");
54
54
  // date-fns-jalali@<3 has no exports field defined
55
55
  // See https://github.com/date-fns/date-fns/issues/1781
56
56
  /* eslint-disable import/extensions, class-methods-use-this */
57
+ /* v8 ignore start */
57
58
  // @ts-nocheck
58
59
 
60
+ /* v8 ignore end */
61
+
59
62
  const defaultFormats = {
60
63
  year: 'yyyy',
61
64
  month: 'LLLL',
@@ -121,12 +124,13 @@ class AdapterDateFnsJalali extends _AdapterDateFnsBase.AdapterDateFnsBase {
121
124
  locale,
122
125
  formats
123
126
  } = {}) {
124
- /* istanbul ignore next */
127
+ /* v8 ignore start */
125
128
  if (process.env.NODE_ENV !== 'production') {
126
129
  if (typeof _index4.default !== 'function') {
127
130
  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'));
128
131
  }
129
132
  }
133
+ /* v8 ignore stop */
130
134
  super({
131
135
  locale: locale ?? _index41.default,
132
136
  // some formats are different in jalali adapter,
@@ -53,8 +53,11 @@ var _AdapterDateFnsBase = require("../AdapterDateFnsBase");
53
53
  // date-fns@<3 has no exports field defined
54
54
  // See https://github.com/date-fns/date-fns/issues/1781
55
55
  /* eslint-disable import/extensions, class-methods-use-this */
56
+ /* v8 ignore start */
56
57
  // @ts-nocheck
57
58
 
59
+ /* v8 ignore end */
60
+
58
61
  /**
59
62
  * Based on `@date-io/date-fns`
60
63
  *
@@ -85,12 +88,13 @@ class AdapterDateFns extends _AdapterDateFnsBase.AdapterDateFnsBase {
85
88
  locale,
86
89
  formats
87
90
  } = {}) {
88
- /* istanbul ignore next */
91
+ /* v8 ignore start */
89
92
  if (process.env.NODE_ENV !== 'production') {
90
93
  if (typeof _index.default !== 'function') {
91
94
  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'));
92
95
  }
93
96
  }
97
+ /* v8 ignore stop */
94
98
  super({
95
99
  locale: locale ?? _index41.default,
96
100
  formats,
@@ -14,11 +14,13 @@ var _isBetween = _interopRequireDefault(require("dayjs/plugin/isBetween.js"));
14
14
  var _advancedFormat = _interopRequireDefault(require("dayjs/plugin/advancedFormat.js"));
15
15
  var _warning = require("@mui/x-internals/warning");
16
16
  /* eslint-disable class-methods-use-this */
17
+ /* v8 ignore start */
17
18
 
18
19
  // dayjs has no exports field defined
19
20
  // See https://github.com/iamkun/dayjs/issues/2562
20
21
  /* eslint-disable import/extensions */
21
22
 
23
+ /* v8 ignore stop */
22
24
  /* eslint-enable import/extensions */
23
25
 
24
26
  _dayjs.default.extend(_localizedFormat.default);
@@ -212,7 +214,7 @@ class AdapterDayjs {
212
214
  const timezone = _dayjs.default.tz.guess();
213
215
 
214
216
  // We can't change the system timezone in the tests
215
- /* istanbul ignore next */
217
+ /* v8 ignore next 3 */
216
218
  if (timezone !== 'UTC') {
217
219
  return _dayjs.default.tz(value, timezone);
218
220
  }
@@ -221,19 +223,19 @@ class AdapterDayjs {
221
223
  return (0, _dayjs.default)(value);
222
224
  };
223
225
  this.createUTCDate = value => {
224
- /* istanbul ignore next */
226
+ /* v8 ignore next 3 */
225
227
  if (!this.hasUTCPlugin()) {
226
228
  throw new Error(MISSING_UTC_PLUGIN);
227
229
  }
228
230
  return _dayjs.default.utc(value);
229
231
  };
230
232
  this.createTZDate = (value, timezone) => {
231
- /* istanbul ignore next */
233
+ /* v8 ignore next 3 */
232
234
  if (!this.hasUTCPlugin()) {
233
235
  throw new Error(MISSING_UTC_PLUGIN);
234
236
  }
235
237
 
236
- /* istanbul ignore next */
238
+ /* v8 ignore next 3 */
237
239
  if (!this.hasTimezonePlugin()) {
238
240
  throw new Error(MISSING_TIMEZONE_PLUGIN);
239
241
  }
@@ -245,10 +247,11 @@ class AdapterDayjs {
245
247
  const locale = this.locale || 'en';
246
248
  let localeObject = locales[locale];
247
249
  if (localeObject === undefined) {
248
- /* istanbul ignore next */
250
+ /* v8 ignore start */
249
251
  if (process.env.NODE_ENV !== 'production') {
250
252
  (0, _warning.warnOnce)(['MUI X: Your locale has not been found.', 'Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale.', "Or you forget to import the locale from 'dayjs/locale/{localeUsed}'", 'fallback on English locale.']);
251
253
  }
254
+ /* v8 ignore stop */
252
255
  localeObject = locales.en;
253
256
  }
254
257
  return localeObject.formats;
@@ -267,7 +270,7 @@ class AdapterDayjs {
267
270
  if (timezone !== 'UTC') {
268
271
  const fixedValue = value.tz(this.cleanTimezone(timezone), true);
269
272
  // TODO: Simplify the case when we raise the `dayjs` peer dep to 1.11.12 (https://github.com/iamkun/dayjs/releases/tag/v1.11.12)
270
- /* istanbul ignore next */
273
+ /* v8 ignore next 3 */
271
274
  // @ts-ignore
272
275
  if (fixedValue.$offset === (value.$offset ?? 0)) {
273
276
  return value;
@@ -316,7 +319,7 @@ class AdapterDayjs {
316
319
  return value;
317
320
  }
318
321
  if (timezone === 'UTC') {
319
- /* istanbul ignore next */
322
+ /* v8 ignore next 3 */
320
323
  if (!this.hasUTCPlugin()) {
321
324
  throw new Error(MISSING_UTC_PLUGIN);
322
325
  }
@@ -334,7 +337,7 @@ class AdapterDayjs {
334
337
  return value;
335
338
  }
336
339
 
337
- /* istanbul ignore next */
340
+ /* v8 ignore next */
338
341
  throw new Error(MISSING_TIMEZONE_PLUGIN);
339
342
  }
340
343
  return _dayjs.default.tz(value, this.cleanTimezone(timezone));
@@ -352,7 +355,7 @@ class AdapterDayjs {
352
355
  return this.locale || 'en';
353
356
  };
354
357
  this.is12HourCycleInCurrentLocale = () => {
355
- /* istanbul ignore next */
358
+ /* v8 ignore next */
356
359
  return /A|a/.test(this.getLocaleFormats().LT || '');
357
360
  };
358
361
  this.expandFormat = format => {
@@ -233,7 +233,7 @@ class AdapterLuxon {
233
233
  this.getCurrentLocaleCode = () => {
234
234
  return this.locale;
235
235
  };
236
- /* istanbul ignore next */
236
+ /* v8 ignore start */
237
237
  this.is12HourCycleInCurrentLocale = () => {
238
238
  if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {
239
239
  return true; // Luxon defaults to en-US if Intl not found
@@ -242,6 +242,7 @@ class AdapterLuxon {
242
242
  hour: 'numeric'
243
243
  })?.resolvedOptions()?.hour12);
244
244
  };
245
+ /* v8 ignore stop */
245
246
  this.expandFormat = format => {
246
247
  // Extract escaped section to avoid extending them
247
248
  const catchEscapedSectionsRegexp = /''|'(''|[^'])+('|$)|[^']*/g;
@@ -485,7 +486,7 @@ class AdapterLuxon {
485
486
  return weeks;
486
487
  };
487
488
  this.getWeekNumber = value => {
488
- /* istanbul ignore next */
489
+ /* v8 ignore next */
489
490
  return value.localWeekNumber ?? value.weekNumber;
490
491
  };
491
492
  this.getDayOfWeek = value => {
@@ -194,7 +194,7 @@ class AdapterMoment {
194
194
  return parsedValue.locale(this.locale);
195
195
  };
196
196
  this.createTZDate = (value, timezone) => {
197
- /* istanbul ignore next */
197
+ /* v8 ignore next 3 */
198
198
  if (!this.hasTimezonePlugin()) {
199
199
  throw new Error(MISSING_TIMEZONE_PLUGIN);
200
200
  }
@@ -237,7 +237,7 @@ class AdapterMoment {
237
237
  return value.clone().local();
238
238
  }
239
239
  if (!this.hasTimezonePlugin()) {
240
- /* istanbul ignore next */
240
+ /* v8 ignore next 3 */
241
241
  if (timezone !== 'default') {
242
242
  throw new Error(MISSING_TIMEZONE_PLUGIN);
243
243
  }
@@ -9,6 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _momentHijri = _interopRequireDefault(require("moment-hijri"));
10
10
  var _AdapterMoment = require("../AdapterMoment");
11
11
  /* eslint-disable class-methods-use-this */
12
+ /* v8 ignore next */
12
13
 
13
14
  // From https://momentjs.com/docs/#/displaying/format/
14
15
  const formatTokenMap = {
@@ -155,9 +156,11 @@ class AdapterMomentHijri extends _AdapterMoment.AdapterMoment {
155
156
  }
156
157
  return this.moment(value).locale('ar-SA');
157
158
  };
159
+ /* v8 ignore next 3 */
158
160
  this.getTimezone = () => {
159
161
  return 'default';
160
162
  };
163
+ /* v8 ignore next 3 */
161
164
  this.setTimezone = value => {
162
165
  return value;
163
166
  };
@@ -9,6 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _momentJalaali = _interopRequireDefault(require("moment-jalaali"));
10
10
  var _AdapterMoment = require("../AdapterMoment");
11
11
  /* eslint-disable class-methods-use-this */
12
+ /* v8 ignore next */
12
13
 
13
14
  // From https://momentjs.com/docs/#/displaying/format/
14
15
  const formatTokenMap = {
package/CHANGELOG.md CHANGED
@@ -5,6 +5,96 @@
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.3.1
9
+
10
+ _May 14, 2025_
11
+
12
+ We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🌍 Improve Norwegian Bokmål (nb-NO) locale on the Data Grid
15
+ - 🌍 Improve Korean (ko-KR) locale on the Data Grid and Pickers
16
+ - 📚 Documentation improvements
17
+ - 🐞 Bugfixes
18
+
19
+ Special thanks go out to the community members for their valuable contributions:
20
+ @100pearlcent, @htollefsen, @JanPretzel, @sai6855.
21
+ Following are all team members who have contributed to this release:
22
+ @bernardobelchior, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @MBilalShafi, @oliviertassinari, @prakhargupta1.
23
+
24
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
25
+
26
+ ### Data Grid
27
+
28
+ #### `@mui/x-data-grid@8.3.1`
29
+
30
+ - [DataGrid] Add `reason` param for `onRowSelectionModelChange` callback (#17545) @sai6855
31
+ - [DataGrid] Fix `renderContext` calculation loop (#17779) @cherniavskii
32
+ - [DataGrid] Fix column spanning jump on scroll (#17759) @cherniavskii
33
+ - [DataGrid] Fix material augmentation not working (#17761) @cherniavskii
34
+ - [DataGrid] Use arguments selector for checkbox props (#17683) @MBilalShafi
35
+ - [l10n] Improve Norwegian Bokmål (nb-NO) locale (#17766) @htollefsen
36
+ - [l10n] Improve Korean (ko-KR) locale (#17484) @100pearlcent
37
+
38
+ #### `@mui/x-data-grid-pro@8.3.1` [![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@8.3.1`.
41
+
42
+ #### `@mui/x-data-grid-premium@8.3.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
43
+
44
+ Same changes as in `@mui/x-data-grid-pro@8.3.1`, plus:
45
+
46
+ - [DataGridPremium] Fix aggregation label not being used in pivot panel (#17760) @cherniavskii
47
+
48
+ ### Date and Time Pickers
49
+
50
+ #### `@mui/x-date-pickers@8.3.1`
51
+
52
+ - [fields] Add notch to the field outlined when the label is manually shrank (#17620) @flaviendelangle
53
+ - [l10n] Improve Korean (ko-KR) locale (#17484) @100pearlcent
54
+
55
+ #### `@mui/x-date-pickers-pro@8.3.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
56
+
57
+ Same changes as in `@mui/x-date-pickers@8.3.1`.
58
+
59
+ ### Charts
60
+
61
+ #### `@mui/x-charts@8.3.1`
62
+
63
+ - [charts] Fix infinite tick number when zoom range is zero (#17750) @bernardobelchior
64
+ - [charts] Improve tick rendering performance (#17755) @bernardobelchior
65
+
66
+ #### `@mui/x-charts-pro@8.3.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
67
+
68
+ Same changes as in `@mui/x-charts@8.3.1`, plus:
69
+
70
+ - [charts-pro] Fix ESM build issue with Vite (#17774) @bernardobelchior
71
+ - [charts-pro] Add benchmark for zoomed in scatter chart (#17756) @bernardobelchior
72
+
73
+ ### Tree View
74
+
75
+ #### `@mui/x-tree-view@8.3.1`
76
+
77
+ Internal changes.
78
+
79
+ #### `@mui/x-tree-view-pro@8.3.1` [![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@8.3.1`.
82
+
83
+ ### Docs
84
+
85
+ - [docs] Fix 301 to Next.js docs for license @oliviertassinari
86
+ - [docs] Fix AI assistant API URL (#17745) @oliviertassinari
87
+ - [docs] Fix heading structure in README @oliviertassinari
88
+ - [docs] Fix translation keys documentation (#17811) @JanPretzel
89
+ - [docs] Improve CHANGELOG format @oliviertassinari
90
+
91
+ ### Core
92
+
93
+ - [core] Apply YAML convention, blank line only at top level @oliviertassinari
94
+ - [code-infra] Fix dynamic import missing extensions (#17767) @Janpot
95
+ - [code-infra] Replace `mocha` with `vitest` for browser & jsdom tests (#14508) @JCQuintas
96
+ - [scheduler] Create the package and setup a private doc page (#17239) @flaviendelangle
97
+
8
98
  ## 8.3.0
9
99
 
10
100
  _May 8, 2025_
@@ -15,10 +105,8 @@ We'd like to offer a big thanks to the 11 contributors who made this release pos
15
105
  - 📚 Documentation improvements
16
106
  - 🐞 Bugfixes
17
107
 
18
- Special thanks go out to this community member for a valuable contribution:
19
- @ptuukkan.
20
- Team members who have contributed to this release:
21
- @alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @rita-codes, @romgrk.
108
+ Special thanks go out to this community member for a valuable contribution: @ptuukkan.
109
+ Team members who have contributed to this release: @alexfauquette, @arminmeh, @bernardobelchior, @flaviendelangle, @Janpot, @JCQuintas, @LukasTy, @MBilalShafi, @rita-codes, @romgrk.
22
110
 
23
111
  ### Data Grid
24
112
 
@@ -531,8 +619,7 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
531
619
  - 📚 Documentation improvements
532
620
  - 🐞 Bugfixes
533
621
 
534
- Team members who have contributed to this release:
535
- @bernardobelchior, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @MBilalShafi, @michelengelen, @oliviertassinari, @noraleonte, @romgrk, @alexfauquette.
622
+ Team members who have contributed to this release: @bernardobelchior, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @MBilalShafi, @michelengelen, @oliviertassinari, @noraleonte, @romgrk, @alexfauquette.
536
623
 
537
624
  <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
538
625
 
@@ -845,7 +932,7 @@ We'd like to offer a big thanks to the 21 contributors who made this release pos
845
932
  - 🌍 Improve Chinese (zh-CN), (zh-HK), (zh-TW), Czech (cs-CZ), Korean (ko-KR) and Slovak (sk-Sk) locales on the Data Grid
846
933
  - 🌍 Improve Chinese (zh-CN), (zh-HK) and (zh-TW) locales on the Pickers
847
934
 
848
- ## Breaking changes
935
+ ### Breaking changes
849
936
 
850
937
  - ℹ️ The peer dependency on `@mui/material` has been updated to accept only v7.
851
938
  This has been done to increase the adoption rate of ESM.
@@ -858,7 +945,7 @@ Following are all team members who have contributed to this release:
858
945
 
859
946
  <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
860
947
 
861
- ## Alpha release highlights
948
+ ### Alpha release highlights
862
949
 
863
950
  Below are the highlights of the alpha releases leading up to this beta release:
864
951
 
@@ -3152,8 +3239,7 @@ We'd like to offer a big thanks to the 4 contributors who made this release poss
3152
3239
 
3153
3240
  - 🐞 Bugfixes
3154
3241
 
3155
- Team members who have contributed to this release:
3156
- @arminmeh, @cherniavskii, @LukasTy, @michelengelen.
3242
+ Team members who have contributed to this release: @arminmeh, @cherniavskii, @LukasTy, @michelengelen.
3157
3243
 
3158
3244
  <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
3159
3245
 
@@ -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").MenuItemOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "style" | "dense" | "disabled" | "action" | "selected" | "autoFocus" | "className" | "tabIndex" | "children" | "sx" | "classes" | "disableGutters" | "divider" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
3
+ export declare const DigitalClockItem: import("@emotion/styled").StyledComponent<import("@mui/material").MenuItemOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "autoFocus" | "dense" | "tabIndex" | "classes" | "className" | "style" | "children" | "sx" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableGutters" | "divider" | "selected"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
4
4
  type DigitalClockComponent = ((props: DigitalClockProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
5
  propTypes?: any;
6
6
  };
@@ -3,10 +3,10 @@ import { PickerLayoutOwnerState, PickersLayoutProps } from "./PickersLayout.type
3
3
  import { PickerValidValue } from "../internals/models/index.js";
4
4
  export declare const PickersLayoutRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
5
5
  ownerState: PickerLayoutOwnerState;
6
- }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
6
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
7
7
  export declare const PickersLayoutContentWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
8
8
  ownerState: PickerLayoutOwnerState;
9
- }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
9
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
10
10
  type PickersLayoutComponent = (<TValue extends PickerValidValue>(props: PickersLayoutProps<TValue> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
11
11
  propTypes?: any;
12
12
  };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { PickersSectionListProps } from "./PickersSectionList.types.js";
3
- export declare const PickersSectionListRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
3
+ export declare const PickersSectionListRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
4
4
  export declare const PickersSectionListSection: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, keyof React.ClassAttributes<HTMLSpanElement> | keyof React.HTMLAttributes<HTMLSpanElement>>, {}>;
5
5
  export declare const PickersSectionListSectionSeparator: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, keyof React.ClassAttributes<HTMLSpanElement> | keyof React.HTMLAttributes<HTMLSpanElement>>, {}>;
6
6
  export declare const PickersSectionListSectionContent: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, keyof React.ClassAttributes<HTMLSpanElement> | keyof React.HTMLAttributes<HTMLSpanElement>>, {}>;
@@ -6,19 +6,19 @@ export interface PickersFilledInputClasses extends PickersInputBaseClasses {
6
6
  export type PickersFilledInputClassKey = keyof PickersFilledInputClasses;
7
7
  export declare function getPickersFilledInputUtilityClass(slot: string): string;
8
8
  export declare const pickersFilledInputClasses: {
9
- underline: string;
10
- input: string;
11
9
  root: string;
10
+ input: string;
11
+ underline: string;
12
+ sectionContent: string;
12
13
  disabled: string;
13
14
  readOnly: string;
14
- error: string;
15
15
  focused: string;
16
- adornedStart: string;
17
- adornedEnd: string;
16
+ error: string;
18
17
  notchedOutline: string;
19
18
  sectionsContainer: string;
20
- sectionContent: string;
21
19
  sectionBefore: string;
22
20
  sectionAfter: string;
21
+ adornedStart: string;
22
+ adornedEnd: string;
23
23
  activeBar: string;
24
24
  };
@@ -6,19 +6,19 @@ export interface PickersInputClasses extends PickersInputBaseClasses {
6
6
  export type PickersInputClassKey = keyof PickersInputClasses;
7
7
  export declare function getPickersInputUtilityClass(slot: string): string;
8
8
  export declare const pickersInputClasses: {
9
- underline: string;
10
- input: string;
11
9
  root: string;
10
+ input: string;
11
+ underline: string;
12
+ sectionContent: string;
12
13
  disabled: string;
13
14
  readOnly: string;
14
- error: string;
15
15
  focused: string;
16
- adornedStart: string;
17
- adornedEnd: string;
16
+ error: string;
18
17
  notchedOutline: string;
19
18
  sectionsContainer: string;
20
- sectionContent: string;
21
19
  sectionBefore: string;
22
20
  sectionAfter: string;
21
+ adornedStart: string;
22
+ adornedEnd: string;
23
23
  activeBar: string;
24
24
  };
@@ -3,8 +3,8 @@ import { PickersInputBaseProps } from "./PickersInputBase.types.js";
3
3
  import { PickerTextFieldOwnerState } from "../../models/fields.js";
4
4
  export declare const PickersInputBaseRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
5
5
  ownerState: PickerTextFieldOwnerState;
6
- }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
7
- export declare const PickersInputBaseSectionsContainer: import("@emotion/styled").StyledComponent<Pick<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement> | keyof import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
6
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
7
+ export declare const PickersInputBaseSectionsContainer: import("@emotion/styled").StyledComponent<Pick<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement> | keyof import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
8
8
  ownerState: PickerTextFieldOwnerState;
9
9
  }, {}, {}>;
10
10
  /**
@@ -6,18 +6,18 @@ export interface PickersOutlinedInputClasses extends PickersInputBaseClasses {
6
6
  export type PickersOutlinedInputClassKey = keyof PickersOutlinedInputClasses;
7
7
  export declare function getPickersOutlinedInputUtilityClass(slot: string): string;
8
8
  export declare const pickersOutlinedInputClasses: {
9
- input: string;
10
9
  root: string;
10
+ input: string;
11
11
  notchedOutline: string;
12
+ sectionContent: string;
12
13
  disabled: string;
13
14
  readOnly: string;
14
- error: string;
15
15
  focused: string;
16
- adornedStart: string;
17
- adornedEnd: string;
16
+ error: string;
18
17
  sectionsContainer: string;
19
- sectionContent: string;
20
18
  sectionBefore: string;
21
19
  sectionAfter: string;
20
+ adornedStart: string;
21
+ adornedEnd: string;
22
22
  activeBar: string;
23
23
  };
@@ -119,6 +119,13 @@ const PickersTextField = exports.PickersTextField = /*#__PURE__*/React.forwardRe
119
119
  }), [fieldOwnerState, areAllSectionsEmpty, focused, error, props.size, color, fullWidth, startAdornment, endAdornment, InputProps?.startAdornment, InputProps?.endAdornment, label]);
120
120
  const classes = useUtilityClasses(classesProp, ownerState);
121
121
  const PickersInputComponent = VARIANT_COMPONENT[variant];
122
+ const inputAdditionalProps = {};
123
+ if (variant === 'outlined') {
124
+ if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {
125
+ inputAdditionalProps.notched = InputLabelProps.shrink;
126
+ }
127
+ inputAdditionalProps.label = label;
128
+ }
122
129
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_usePickerTextFieldOwnerState.PickerTextFieldOwnerStateContext.Provider, {
123
130
  value: ownerState,
124
131
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersTextFieldRoot, (0, _extends2.default)({
@@ -166,7 +173,7 @@ const PickersTextField = exports.PickersTextField = /*#__PURE__*/React.forwardRe
166
173
  "aria-describedby": helperTextId,
167
174
  "aria-live": helperTextId ? 'polite' : undefined,
168
175
  "data-active-range-position": dataActiveRangePosition
169
- }, InputProps)), helperText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormHelperText.default, (0, _extends2.default)({
176
+ }, inputAdditionalProps, InputProps)), helperText && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormHelperText.default, (0, _extends2.default)({
170
177
  id: helperTextId
171
178
  }, FormHelperTextProps, {
172
179
  children: helperText
@@ -10,4 +10,4 @@ export interface YearCalendarClasses {
10
10
  }
11
11
  export type YearCalendarClassKey = keyof YearCalendarClasses;
12
12
  export declare function getYearCalendarUtilityClass(slot: string): string;
13
- export declare const yearCalendarClasses: Record<"button" | "disabled" | "selected" | "root", string>;
13
+ export declare const yearCalendarClasses: Record<"root" | "disabled" | "button" | "selected", string>;
@@ -73,7 +73,7 @@ export class AdapterDateFns extends AdapterDateFnsBase {
73
73
  locale,
74
74
  formats
75
75
  } = {}) {
76
- /* istanbul ignore next */
76
+ /* v8 ignore start */
77
77
  if (process.env.NODE_ENV !== 'production') {
78
78
  if (typeof addDays !== 'function') {
79
79
  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'));
@@ -82,6 +82,7 @@ export class AdapterDateFns extends AdapterDateFnsBase {
82
82
  throw new Error('MUI: The minimum supported `date-fns` package version compatible with this adapter is `3.2.x`.');
83
83
  }
84
84
  }
85
+ /* v8 ignore stop */
85
86
  super({
86
87
  locale: locale ?? enUS,
87
88
  formats,
@@ -109,7 +109,7 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
109
109
  locale,
110
110
  formats
111
111
  } = {}) {
112
- /* istanbul ignore next */
112
+ /* v8 ignore start */
113
113
  if (process.env.NODE_ENV !== 'production') {
114
114
  if (typeof addDays !== 'function') {
115
115
  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'));
@@ -118,6 +118,7 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
118
118
  throw new Error('MUI: The minimum supported `date-fns-jalali` package version compatible with this adapter is `3.2.x`.');
119
119
  }
120
120
  }
121
+ /* v8 ignore stop */
121
122
  super({
122
123
  locale: locale ?? defaultLocale,
123
124
  // some formats are different in jalali adapter,
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  // date-fns-jalali@<3 has no exports field defined
3
3
  // See https://github.com/date-fns/date-fns/issues/1781
4
4
  /* eslint-disable import/extensions, class-methods-use-this */
5
+ /* v8 ignore start */
5
6
  // @ts-nocheck
6
7
  import addSeconds from 'date-fns-jalali/addSeconds/index.js';
7
8
  import addMinutes from 'date-fns-jalali/addMinutes/index.js';
@@ -47,6 +48,8 @@ import startOfYear from 'date-fns-jalali/startOfYear/index.js';
47
48
  import isWithinInterval from 'date-fns-jalali/isWithinInterval/index.js';
48
49
  import defaultLocale from 'date-fns-jalali/locale/fa-IR/index.js';
49
50
  import longFormatters from 'date-fns-jalali/_lib/format/longFormatters/index.js';
51
+ /* v8 ignore end */
52
+
50
53
  import { AdapterDateFnsBase } from "../AdapterDateFnsBase/index.js";
51
54
  const defaultFormats = {
52
55
  year: 'yyyy',
@@ -113,12 +116,13 @@ export class AdapterDateFnsJalali extends AdapterDateFnsBase {
113
116
  locale,
114
117
  formats
115
118
  } = {}) {
116
- /* istanbul ignore next */
119
+ /* v8 ignore start */
117
120
  if (process.env.NODE_ENV !== 'production') {
118
121
  if (typeof addDays !== 'function') {
119
122
  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'));
120
123
  }
121
124
  }
125
+ /* v8 ignore stop */
122
126
  super({
123
127
  locale: locale ?? defaultLocale,
124
128
  // some formats are different in jalali adapter,
@@ -1,6 +1,7 @@
1
1
  // date-fns@<3 has no exports field defined
2
2
  // See https://github.com/date-fns/date-fns/issues/1781
3
3
  /* eslint-disable import/extensions, class-methods-use-this */
4
+ /* v8 ignore start */
4
5
  // @ts-nocheck
5
6
  import addDays from 'date-fns/addDays/index.js';
6
7
  import addSeconds from 'date-fns/addSeconds/index.js';
@@ -46,6 +47,8 @@ import startOfYear from 'date-fns/startOfYear/index.js';
46
47
  import isWithinInterval from 'date-fns/isWithinInterval/index.js';
47
48
  import defaultLocale from 'date-fns/locale/en-US/index.js';
48
49
  import longFormatters from 'date-fns/_lib/format/longFormatters/index.js';
50
+ /* v8 ignore end */
51
+
49
52
  import { AdapterDateFnsBase } from "../AdapterDateFnsBase/index.js";
50
53
  /**
51
54
  * Based on `@date-io/date-fns`
@@ -77,12 +80,13 @@ export class AdapterDateFns extends AdapterDateFnsBase {
77
80
  locale,
78
81
  formats
79
82
  } = {}) {
80
- /* istanbul ignore next */
83
+ /* v8 ignore start */
81
84
  if (process.env.NODE_ENV !== 'production') {
82
85
  if (typeof addDays !== 'function') {
83
86
  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'));
84
87
  }
85
88
  }
89
+ /* v8 ignore stop */
86
90
  super({
87
91
  locale: locale ?? defaultLocale,
88
92
  formats,
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  /* eslint-disable class-methods-use-this */
3
+ /* v8 ignore start */
3
4
  import defaultDayjs from 'dayjs';
4
5
  // dayjs has no exports field defined
5
6
  // See https://github.com/iamkun/dayjs/issues/2562
@@ -9,6 +10,7 @@ import customParseFormatPlugin from 'dayjs/plugin/customParseFormat.js';
9
10
  import localizedFormatPlugin from 'dayjs/plugin/localizedFormat.js';
10
11
  import isBetweenPlugin from 'dayjs/plugin/isBetween.js';
11
12
  import advancedFormatPlugin from 'dayjs/plugin/advancedFormat.js';
13
+ /* v8 ignore stop */
12
14
  /* eslint-enable import/extensions */
13
15
  import { warnOnce } from '@mui/x-internals/warning';
14
16
  defaultDayjs.extend(localizedFormatPlugin);
@@ -202,7 +204,7 @@ export class AdapterDayjs {
202
204
  const timezone = defaultDayjs.tz.guess();
203
205
 
204
206
  // We can't change the system timezone in the tests
205
- /* istanbul ignore next */
207
+ /* v8 ignore next 3 */
206
208
  if (timezone !== 'UTC') {
207
209
  return defaultDayjs.tz(value, timezone);
208
210
  }
@@ -211,19 +213,19 @@ export class AdapterDayjs {
211
213
  return defaultDayjs(value);
212
214
  };
213
215
  this.createUTCDate = value => {
214
- /* istanbul ignore next */
216
+ /* v8 ignore next 3 */
215
217
  if (!this.hasUTCPlugin()) {
216
218
  throw new Error(MISSING_UTC_PLUGIN);
217
219
  }
218
220
  return defaultDayjs.utc(value);
219
221
  };
220
222
  this.createTZDate = (value, timezone) => {
221
- /* istanbul ignore next */
223
+ /* v8 ignore next 3 */
222
224
  if (!this.hasUTCPlugin()) {
223
225
  throw new Error(MISSING_UTC_PLUGIN);
224
226
  }
225
227
 
226
- /* istanbul ignore next */
228
+ /* v8 ignore next 3 */
227
229
  if (!this.hasTimezonePlugin()) {
228
230
  throw new Error(MISSING_TIMEZONE_PLUGIN);
229
231
  }
@@ -235,10 +237,11 @@ export class AdapterDayjs {
235
237
  const locale = this.locale || 'en';
236
238
  let localeObject = locales[locale];
237
239
  if (localeObject === undefined) {
238
- /* istanbul ignore next */
240
+ /* v8 ignore start */
239
241
  if (process.env.NODE_ENV !== 'production') {
240
242
  warnOnce(['MUI X: Your locale has not been found.', 'Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale.', "Or you forget to import the locale from 'dayjs/locale/{localeUsed}'", 'fallback on English locale.']);
241
243
  }
244
+ /* v8 ignore stop */
242
245
  localeObject = locales.en;
243
246
  }
244
247
  return localeObject.formats;
@@ -257,7 +260,7 @@ export class AdapterDayjs {
257
260
  if (timezone !== 'UTC') {
258
261
  const fixedValue = value.tz(this.cleanTimezone(timezone), true);
259
262
  // TODO: Simplify the case when we raise the `dayjs` peer dep to 1.11.12 (https://github.com/iamkun/dayjs/releases/tag/v1.11.12)
260
- /* istanbul ignore next */
263
+ /* v8 ignore next 3 */
261
264
  // @ts-ignore
262
265
  if (fixedValue.$offset === (value.$offset ?? 0)) {
263
266
  return value;
@@ -306,7 +309,7 @@ export class AdapterDayjs {
306
309
  return value;
307
310
  }
308
311
  if (timezone === 'UTC') {
309
- /* istanbul ignore next */
312
+ /* v8 ignore next 3 */
310
313
  if (!this.hasUTCPlugin()) {
311
314
  throw new Error(MISSING_UTC_PLUGIN);
312
315
  }
@@ -324,7 +327,7 @@ export class AdapterDayjs {
324
327
  return value;
325
328
  }
326
329
 
327
- /* istanbul ignore next */
330
+ /* v8 ignore next */
328
331
  throw new Error(MISSING_TIMEZONE_PLUGIN);
329
332
  }
330
333
  return defaultDayjs.tz(value, this.cleanTimezone(timezone));
@@ -342,7 +345,7 @@ export class AdapterDayjs {
342
345
  return this.locale || 'en';
343
346
  };
344
347
  this.is12HourCycleInCurrentLocale = () => {
345
- /* istanbul ignore next */
348
+ /* v8 ignore next */
346
349
  return /A|a/.test(this.getLocaleFormats().LT || '');
347
350
  };
348
351
  this.expandFormat = format => {
@@ -225,7 +225,7 @@ export class AdapterLuxon {
225
225
  this.getCurrentLocaleCode = () => {
226
226
  return this.locale;
227
227
  };
228
- /* istanbul ignore next */
228
+ /* v8 ignore start */
229
229
  this.is12HourCycleInCurrentLocale = () => {
230
230
  if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {
231
231
  return true; // Luxon defaults to en-US if Intl not found
@@ -234,6 +234,7 @@ export class AdapterLuxon {
234
234
  hour: 'numeric'
235
235
  })?.resolvedOptions()?.hour12);
236
236
  };
237
+ /* v8 ignore stop */
237
238
  this.expandFormat = format => {
238
239
  // Extract escaped section to avoid extending them
239
240
  const catchEscapedSectionsRegexp = /''|'(''|[^'])+('|$)|[^']*/g;
@@ -477,7 +478,7 @@ export class AdapterLuxon {
477
478
  return weeks;
478
479
  };
479
480
  this.getWeekNumber = value => {
480
- /* istanbul ignore next */
481
+ /* v8 ignore next */
481
482
  return value.localWeekNumber ?? value.weekNumber;
482
483
  };
483
484
  this.getDayOfWeek = value => {
@@ -186,7 +186,7 @@ export class AdapterMoment {
186
186
  return parsedValue.locale(this.locale);
187
187
  };
188
188
  this.createTZDate = (value, timezone) => {
189
- /* istanbul ignore next */
189
+ /* v8 ignore next 3 */
190
190
  if (!this.hasTimezonePlugin()) {
191
191
  throw new Error(MISSING_TIMEZONE_PLUGIN);
192
192
  }
@@ -229,7 +229,7 @@ export class AdapterMoment {
229
229
  return value.clone().local();
230
230
  }
231
231
  if (!this.hasTimezonePlugin()) {
232
- /* istanbul ignore next */
232
+ /* v8 ignore next 3 */
233
233
  if (timezone !== 'default') {
234
234
  throw new Error(MISSING_TIMEZONE_PLUGIN);
235
235
  }
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  /* eslint-disable class-methods-use-this */
3
+ /* v8 ignore next */
3
4
  import defaultHMoment from 'moment-hijri';
4
5
  import { AdapterMoment } from "../AdapterMoment/index.js";
5
6
  // From https://momentjs.com/docs/#/displaying/format/
@@ -147,9 +148,11 @@ export class AdapterMomentHijri extends AdapterMoment {
147
148
  }
148
149
  return this.moment(value).locale('ar-SA');
149
150
  };
151
+ /* v8 ignore next 3 */
150
152
  this.getTimezone = () => {
151
153
  return 'default';
152
154
  };
155
+ /* v8 ignore next 3 */
153
156
  this.setTimezone = value => {
154
157
  return value;
155
158
  };
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  /* eslint-disable class-methods-use-this */
3
+ /* v8 ignore next */
3
4
  import defaultJMoment from 'moment-jalaali';
4
5
  import { AdapterMoment } from "../AdapterMoment/index.js";
5
6
  // From https://momentjs.com/docs/#/displaying/format/
@@ -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").MenuItemOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "style" | "dense" | "disabled" | "action" | "selected" | "autoFocus" | "className" | "tabIndex" | "children" | "sx" | "classes" | "disableGutters" | "divider" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
3
+ export declare const DigitalClockItem: import("@emotion/styled").StyledComponent<import("@mui/material").MenuItemOwnProps & Omit<import("@mui/material").ButtonBaseOwnProps, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "disabled" | "autoFocus" | "dense" | "tabIndex" | "classes" | "className" | "style" | "children" | "sx" | "action" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableGutters" | "divider" | "selected"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
4
4
  type DigitalClockComponent = ((props: DigitalClockProps & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
5
5
  propTypes?: any;
6
6
  };
@@ -3,10 +3,10 @@ import { PickerLayoutOwnerState, PickersLayoutProps } from "./PickersLayout.type
3
3
  import { PickerValidValue } from "../internals/models/index.js";
4
4
  export declare const PickersLayoutRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
5
5
  ownerState: PickerLayoutOwnerState;
6
- }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
6
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
7
7
  export declare const PickersLayoutContentWrapper: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
8
8
  ownerState: PickerLayoutOwnerState;
9
- }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
9
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
10
10
  type PickersLayoutComponent = (<TValue extends PickerValidValue>(props: PickersLayoutProps<TValue> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
11
11
  propTypes?: any;
12
12
  };
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { PickersSectionListProps } from "./PickersSectionList.types.js";
3
- export declare const PickersSectionListRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
3
+ export declare const PickersSectionListRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
4
4
  export declare const PickersSectionListSection: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, keyof React.ClassAttributes<HTMLSpanElement> | keyof React.HTMLAttributes<HTMLSpanElement>>, {}>;
5
5
  export declare const PickersSectionListSectionSeparator: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, keyof React.ClassAttributes<HTMLSpanElement> | keyof React.HTMLAttributes<HTMLSpanElement>>, {}>;
6
6
  export declare const PickersSectionListSectionContent: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, keyof React.ClassAttributes<HTMLSpanElement> | keyof React.HTMLAttributes<HTMLSpanElement>>, {}>;
@@ -6,19 +6,19 @@ export interface PickersFilledInputClasses extends PickersInputBaseClasses {
6
6
  export type PickersFilledInputClassKey = keyof PickersFilledInputClasses;
7
7
  export declare function getPickersFilledInputUtilityClass(slot: string): string;
8
8
  export declare const pickersFilledInputClasses: {
9
- underline: string;
10
- input: string;
11
9
  root: string;
10
+ input: string;
11
+ underline: string;
12
+ sectionContent: string;
12
13
  disabled: string;
13
14
  readOnly: string;
14
- error: string;
15
15
  focused: string;
16
- adornedStart: string;
17
- adornedEnd: string;
16
+ error: string;
18
17
  notchedOutline: string;
19
18
  sectionsContainer: string;
20
- sectionContent: string;
21
19
  sectionBefore: string;
22
20
  sectionAfter: string;
21
+ adornedStart: string;
22
+ adornedEnd: string;
23
23
  activeBar: string;
24
24
  };
@@ -6,19 +6,19 @@ export interface PickersInputClasses extends PickersInputBaseClasses {
6
6
  export type PickersInputClassKey = keyof PickersInputClasses;
7
7
  export declare function getPickersInputUtilityClass(slot: string): string;
8
8
  export declare const pickersInputClasses: {
9
- underline: string;
10
- input: string;
11
9
  root: string;
10
+ input: string;
11
+ underline: string;
12
+ sectionContent: string;
12
13
  disabled: string;
13
14
  readOnly: string;
14
- error: string;
15
15
  focused: string;
16
- adornedStart: string;
17
- adornedEnd: string;
16
+ error: string;
18
17
  notchedOutline: string;
19
18
  sectionsContainer: string;
20
- sectionContent: string;
21
19
  sectionBefore: string;
22
20
  sectionAfter: string;
21
+ adornedStart: string;
22
+ adornedEnd: string;
23
23
  activeBar: string;
24
24
  };
@@ -3,8 +3,8 @@ import { PickersInputBaseProps } from "./PickersInputBase.types.js";
3
3
  import { PickerTextFieldOwnerState } from "../../models/fields.js";
4
4
  export declare const PickersInputBaseRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
5
5
  ownerState: PickerTextFieldOwnerState;
6
- }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
7
- export declare const PickersInputBaseSectionsContainer: import("@emotion/styled").StyledComponent<Pick<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement> | keyof import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
6
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, {}>;
7
+ export declare const PickersInputBaseSectionsContainer: import("@emotion/styled").StyledComponent<Pick<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement>>, keyof React.HTMLAttributes<HTMLDivElement> | keyof React.ClassAttributes<HTMLDivElement> | keyof import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
8
8
  ownerState: PickerTextFieldOwnerState;
9
9
  }, {}, {}>;
10
10
  /**
@@ -6,18 +6,18 @@ export interface PickersOutlinedInputClasses extends PickersInputBaseClasses {
6
6
  export type PickersOutlinedInputClassKey = keyof PickersOutlinedInputClasses;
7
7
  export declare function getPickersOutlinedInputUtilityClass(slot: string): string;
8
8
  export declare const pickersOutlinedInputClasses: {
9
- input: string;
10
9
  root: string;
10
+ input: string;
11
11
  notchedOutline: string;
12
+ sectionContent: string;
12
13
  disabled: string;
13
14
  readOnly: string;
14
- error: string;
15
15
  focused: string;
16
- adornedStart: string;
17
- adornedEnd: string;
16
+ error: string;
18
17
  sectionsContainer: string;
19
- sectionContent: string;
20
18
  sectionBefore: string;
21
19
  sectionAfter: string;
20
+ adornedStart: string;
21
+ adornedEnd: string;
22
22
  activeBar: string;
23
23
  };
@@ -112,6 +112,13 @@ const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTextField
112
112
  }), [fieldOwnerState, areAllSectionsEmpty, focused, error, props.size, color, fullWidth, startAdornment, endAdornment, InputProps?.startAdornment, InputProps?.endAdornment, label]);
113
113
  const classes = useUtilityClasses(classesProp, ownerState);
114
114
  const PickersInputComponent = VARIANT_COMPONENT[variant];
115
+ const inputAdditionalProps = {};
116
+ if (variant === 'outlined') {
117
+ if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {
118
+ inputAdditionalProps.notched = InputLabelProps.shrink;
119
+ }
120
+ inputAdditionalProps.label = label;
121
+ }
115
122
  return /*#__PURE__*/_jsx(PickerTextFieldOwnerStateContext.Provider, {
116
123
  value: ownerState,
117
124
  children: /*#__PURE__*/_jsxs(PickersTextFieldRoot, _extends({
@@ -159,7 +166,7 @@ const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTextField
159
166
  "aria-describedby": helperTextId,
160
167
  "aria-live": helperTextId ? 'polite' : undefined,
161
168
  "data-active-range-position": dataActiveRangePosition
162
- }, InputProps)), helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
169
+ }, inputAdditionalProps, InputProps)), helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
163
170
  id: helperTextId
164
171
  }, FormHelperTextProps, {
165
172
  children: helperText
@@ -10,4 +10,4 @@ export interface YearCalendarClasses {
10
10
  }
11
11
  export type YearCalendarClassKey = keyof YearCalendarClasses;
12
12
  export declare function getYearCalendarUtilityClass(slot: string): string;
13
- export declare const yearCalendarClasses: Record<"button" | "disabled" | "selected" | "root", string>;
13
+ export declare const yearCalendarClasses: Record<"root" | "disabled" | "button" | "selected", string>;
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v8.3.0
2
+ * @mui/x-date-pickers v8.3.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -16,4 +16,4 @@ export interface PickersArrowSwitcherClasses {
16
16
  }
17
17
  export type PickersArrowSwitcherClassKey = keyof PickersArrowSwitcherClasses;
18
18
  export declare function getPickersArrowSwitcherUtilityClass(slot: string): string;
19
- export declare const pickersArrowSwitcherClasses: Record<"button" | "root" | "spacer" | "previousIconButton" | "nextIconButton" | "leftArrowIcon" | "rightArrowIcon", string>;
19
+ export declare const pickersArrowSwitcherClasses: Record<"root" | "button" | "spacer" | "previousIconButton" | "nextIconButton" | "leftArrowIcon" | "rightArrowIcon", string>;
@@ -8,4 +8,4 @@ export interface PickersToolbarClasses {
8
8
  }
9
9
  export type PickersToolbarClassKey = keyof PickersToolbarClasses;
10
10
  export declare function getPickersToolbarUtilityClass(slot: string): string;
11
- export declare const pickersToolbarClasses: Record<"content" | "title" | "root", string>;
11
+ export declare const pickersToolbarClasses: Record<"root" | "content" | "title", string>;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v8.3.0
2
+ * @mui/x-date-pickers v8.3.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -16,4 +16,4 @@ export interface PickersArrowSwitcherClasses {
16
16
  }
17
17
  export type PickersArrowSwitcherClassKey = keyof PickersArrowSwitcherClasses;
18
18
  export declare function getPickersArrowSwitcherUtilityClass(slot: string): string;
19
- export declare const pickersArrowSwitcherClasses: Record<"button" | "root" | "spacer" | "previousIconButton" | "nextIconButton" | "leftArrowIcon" | "rightArrowIcon", string>;
19
+ export declare const pickersArrowSwitcherClasses: Record<"root" | "button" | "spacer" | "previousIconButton" | "nextIconButton" | "leftArrowIcon" | "rightArrowIcon", string>;
@@ -8,4 +8,4 @@ export interface PickersToolbarClasses {
8
8
  }
9
9
  export type PickersToolbarClassKey = keyof PickersToolbarClasses;
10
10
  export declare function getPickersToolbarUtilityClass(slot: string): string;
11
- export declare const pickersToolbarClasses: Record<"content" | "title" | "root", string>;
11
+ export declare const pickersToolbarClasses: Record<"root" | "content" | "title", string>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers",
3
- "version": "8.3.0",
3
+ "version": "8.3.1",
4
4
  "author": "MUI Team",
5
5
  "description": "The community edition of the MUI X Date and Time Picker components.",
6
6
  "main": "./index.js",
@@ -41,7 +41,7 @@
41
41
  "clsx": "^2.1.1",
42
42
  "prop-types": "^15.8.1",
43
43
  "react-transition-group": "^4.4.5",
44
- "@mui/x-internals": "8.3.0"
44
+ "@mui/x-internals": "8.3.1"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@emotion/react": "^11.9.0",