@mui/x-date-pickers 6.6.0 → 6.7.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.
Files changed (108) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +20 -19
  2. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +17 -16
  3. package/AdapterDayjs/AdapterDayjs.js +12 -11
  4. package/AdapterLuxon/AdapterLuxon.js +20 -19
  5. package/AdapterMoment/AdapterMoment.js +12 -11
  6. package/AdapterMomentHijri/AdapterMomentHijri.js +20 -19
  7. package/AdapterMomentJalaali/AdapterMomentJalaali.js +20 -19
  8. package/CHANGELOG.md +72 -0
  9. package/DatePicker/DatePickerToolbar.js +6 -15
  10. package/DatePicker/shared.d.ts +1 -5
  11. package/DatePicker/shared.js +1 -16
  12. package/DesktopDatePicker/DesktopDatePicker.js +3 -2
  13. package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  14. package/DesktopTimePicker/DesktopTimePicker.js +5 -1
  15. package/LocalizationProvider/LocalizationProvider.js +1 -0
  16. package/MobileDatePicker/MobileDatePicker.js +3 -2
  17. package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  18. package/MobileTimePicker/MobileTimePicker.js +5 -1
  19. package/TimePicker/shared.d.ts +1 -1
  20. package/index.js +1 -1
  21. package/internals/utils/date-time-utils.d.ts +6 -0
  22. package/internals/utils/date-time-utils.js +41 -0
  23. package/internals/utils/date-utils.d.ts +4 -0
  24. package/internals/utils/date-utils.js +33 -1
  25. package/internals/utils/time-utils.d.ts +6 -1
  26. package/internals/utils/time-utils.js +27 -0
  27. package/internals/utils/validation/extractValidationProps.d.ts +1 -1
  28. package/internals/utils/views.d.ts +2 -3
  29. package/internals/utils/views.js +6 -2
  30. package/legacy/AdapterDateFns/AdapterDateFns.js +20 -19
  31. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +17 -16
  32. package/legacy/AdapterDayjs/AdapterDayjs.js +12 -11
  33. package/legacy/AdapterLuxon/AdapterLuxon.js +20 -19
  34. package/legacy/AdapterMoment/AdapterMoment.js +12 -11
  35. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +20 -19
  36. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +20 -19
  37. package/legacy/DatePicker/DatePickerToolbar.js +6 -15
  38. package/legacy/DatePicker/shared.js +1 -15
  39. package/legacy/DesktopDatePicker/DesktopDatePicker.js +3 -2
  40. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  41. package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -1
  42. package/legacy/LocalizationProvider/LocalizationProvider.js +1 -0
  43. package/legacy/MobileDatePicker/MobileDatePicker.js +3 -2
  44. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  45. package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
  46. package/legacy/index.js +1 -1
  47. package/legacy/internals/utils/date-time-utils.js +39 -0
  48. package/legacy/internals/utils/date-utils.js +31 -0
  49. package/legacy/internals/utils/time-utils.js +26 -0
  50. package/legacy/internals/utils/views.js +7 -5
  51. package/legacy/locales/deDE.js +2 -2
  52. package/legacy/locales/index.js +16 -15
  53. package/legacy/locales/roRO.js +81 -0
  54. package/locales/deDE.js +2 -2
  55. package/locales/index.d.ts +16 -15
  56. package/locales/index.js +16 -15
  57. package/locales/roRO.d.ts +53 -0
  58. package/locales/roRO.js +63 -0
  59. package/models/adapters.d.ts +137 -37
  60. package/modern/AdapterDateFns/AdapterDateFns.js +20 -19
  61. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +17 -16
  62. package/modern/AdapterDayjs/AdapterDayjs.js +12 -11
  63. package/modern/AdapterLuxon/AdapterLuxon.js +20 -19
  64. package/modern/AdapterMoment/AdapterMoment.js +12 -11
  65. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +20 -19
  66. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +20 -19
  67. package/modern/DatePicker/DatePickerToolbar.js +6 -15
  68. package/modern/DatePicker/shared.js +1 -16
  69. package/modern/DesktopDatePicker/DesktopDatePicker.js +3 -2
  70. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  71. package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -1
  72. package/modern/LocalizationProvider/LocalizationProvider.js +1 -0
  73. package/modern/MobileDatePicker/MobileDatePicker.js +3 -2
  74. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  75. package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
  76. package/modern/index.js +1 -1
  77. package/modern/internals/utils/date-time-utils.js +41 -0
  78. package/modern/internals/utils/date-utils.js +33 -1
  79. package/modern/internals/utils/time-utils.js +27 -0
  80. package/modern/internals/utils/views.js +6 -2
  81. package/modern/locales/deDE.js +2 -2
  82. package/modern/locales/index.js +16 -15
  83. package/modern/locales/roRO.js +60 -0
  84. package/node/AdapterDateFns/AdapterDateFns.js +20 -19
  85. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +17 -16
  86. package/node/AdapterDayjs/AdapterDayjs.js +12 -11
  87. package/node/AdapterLuxon/AdapterLuxon.js +20 -19
  88. package/node/AdapterMoment/AdapterMoment.js +12 -11
  89. package/node/AdapterMomentHijri/AdapterMomentHijri.js +20 -19
  90. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +20 -19
  91. package/node/DatePicker/DatePickerToolbar.js +6 -15
  92. package/node/DatePicker/shared.js +0 -17
  93. package/node/DesktopDatePicker/DesktopDatePicker.js +2 -1
  94. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -3
  95. package/node/DesktopTimePicker/DesktopTimePicker.js +7 -3
  96. package/node/LocalizationProvider/LocalizationProvider.js +1 -0
  97. package/node/MobileDatePicker/MobileDatePicker.js +2 -1
  98. package/node/MobileDateTimePicker/MobileDateTimePicker.js +7 -3
  99. package/node/MobileTimePicker/MobileTimePicker.js +7 -3
  100. package/node/index.js +1 -1
  101. package/node/internals/utils/date-time-utils.js +49 -0
  102. package/node/internals/utils/date-utils.js +35 -2
  103. package/node/internals/utils/time-utils.js +30 -2
  104. package/node/internals/utils/views.js +8 -5
  105. package/node/locales/deDE.js +2 -2
  106. package/node/locales/index.js +108 -97
  107. package/node/locales/roRO.js +67 -0
  108. package/package.json +1 -1
@@ -223,33 +223,34 @@ const formatTokenMap = {
223
223
  ss: 'seconds'
224
224
  };
225
225
  const defaultFormats = {
226
+ year: 'yyyy',
227
+ month: 'LLLL',
228
+ monthShort: 'MMM',
226
229
  dayOfMonth: 'd',
230
+ weekday: 'EEEE',
231
+ weekdayShort: 'EEE',
232
+ hours24h: 'HH',
233
+ hours12h: 'hh',
234
+ meridiem: 'aa',
235
+ minutes: 'mm',
236
+ seconds: 'ss',
227
237
  fullDate: 'PP',
228
238
  fullDateWithWeekday: 'PPPP',
229
- fullDateTime: 'PP p',
230
- fullDateTime12h: 'PP hh:mm aa',
231
- fullDateTime24h: 'PP HH:mm',
239
+ keyboardDate: 'P',
240
+ shortDate: 'MMM d',
241
+ normalDate: 'd MMMM',
242
+ normalDateWithWeekday: 'EEE, MMM d',
243
+ monthAndYear: 'LLLL yyyy',
244
+ monthAndDate: 'MMMM d',
232
245
  fullTime: 'p',
233
246
  fullTime12h: 'hh:mm aa',
234
247
  fullTime24h: 'HH:mm',
235
- hours12h: 'hh',
236
- hours24h: 'HH',
237
- keyboardDate: 'P',
248
+ fullDateTime: 'PP p',
249
+ fullDateTime12h: 'PP hh:mm aa',
250
+ fullDateTime24h: 'PP HH:mm',
238
251
  keyboardDateTime: 'P p',
239
252
  keyboardDateTime12h: 'P hh:mm aa',
240
- keyboardDateTime24h: 'P HH:mm',
241
- minutes: 'mm',
242
- month: 'LLLL',
243
- monthAndDate: 'MMMM d',
244
- monthAndYear: 'LLLL yyyy',
245
- monthShort: 'MMM',
246
- weekday: 'EEEE',
247
- weekdayShort: 'EEE',
248
- normalDate: 'd MMMM',
249
- normalDateWithWeekday: 'EEE, MMM d',
250
- seconds: 'ss',
251
- shortDate: 'MMM d',
252
- year: 'yyyy'
253
+ keyboardDateTime24h: 'P HH:mm'
253
254
  };
254
255
 
255
256
  /**
@@ -223,33 +223,34 @@ const formatTokenMap = {
223
223
  ss: 'seconds'
224
224
  };
225
225
  const defaultFormats = {
226
+ year: 'yyyy',
227
+ month: 'LLLL',
228
+ monthShort: 'MMM',
226
229
  dayOfMonth: 'd',
230
+ weekday: 'EEEE',
231
+ weekdayShort: 'EEE',
232
+ hours24h: 'HH',
233
+ hours12h: 'hh',
234
+ meridiem: 'aa',
235
+ minutes: 'mm',
236
+ seconds: 'ss',
227
237
  fullDate: 'PPP',
228
238
  fullDateWithWeekday: 'PPPP',
239
+ keyboardDate: 'P',
240
+ shortDate: 'd MMM',
241
+ normalDate: 'd MMMM',
242
+ normalDateWithWeekday: 'EEE, d MMMM',
243
+ monthAndYear: 'LLLL yyyy',
244
+ monthAndDate: 'd MMMM',
229
245
  fullDateTime: 'PPP p',
230
246
  fullDateTime12h: 'PPP hh:mm aa',
231
247
  fullDateTime24h: 'PPP HH:mm',
232
248
  fullTime: 'p',
233
249
  fullTime12h: 'hh:mm aaa',
234
250
  fullTime24h: 'HH:mm',
235
- hours12h: 'hh',
236
- hours24h: 'HH',
237
- keyboardDate: 'P',
238
251
  keyboardDateTime: 'P p',
239
252
  keyboardDateTime12h: 'P hh:mm aa',
240
- keyboardDateTime24h: 'P HH:mm',
241
- minutes: 'mm',
242
- month: 'LLLL',
243
- monthAndDate: 'd MMMM',
244
- monthAndYear: 'LLLL yyyy',
245
- monthShort: 'MMM',
246
- weekday: 'EEEE',
247
- weekdayShort: 'EEE',
248
- normalDate: 'd MMMM',
249
- normalDateWithWeekday: 'EEE, d MMMM',
250
- seconds: 'ss',
251
- shortDate: 'd MMM',
252
- year: 'yyyy'
253
+ keyboardDateTime24h: 'P HH:mm'
253
254
  };
254
255
  const NUMBER_SYMBOL_MAP = {
255
256
  '1': '۱',
@@ -94,30 +94,31 @@ const formatTokenMap = {
94
94
  ss: 'seconds'
95
95
  };
96
96
  const defaultFormats = {
97
- normalDateWithWeekday: 'ddd, MMM D',
98
- normalDate: 'D MMMM',
99
- shortDate: 'MMM D',
100
- monthAndDate: 'MMMM D',
101
- dayOfMonth: 'D',
102
97
  year: 'YYYY',
103
98
  month: 'MMMM',
104
99
  monthShort: 'MMM',
105
- monthAndYear: 'MMMM YYYY',
100
+ dayOfMonth: 'D',
106
101
  weekday: 'dddd',
107
102
  weekdayShort: 'ddd',
108
- minutes: 'mm',
109
- hours12h: 'hh',
110
103
  hours24h: 'HH',
104
+ hours12h: 'hh',
105
+ meridiem: 'A',
106
+ minutes: 'mm',
111
107
  seconds: 'ss',
108
+ fullDate: 'll',
109
+ fullDateWithWeekday: 'dddd, LL',
110
+ keyboardDate: 'L',
111
+ shortDate: 'MMM D',
112
+ normalDate: 'D MMMM',
113
+ normalDateWithWeekday: 'ddd, MMM D',
114
+ monthAndYear: 'MMMM YYYY',
115
+ monthAndDate: 'MMMM D',
112
116
  fullTime: 'LT',
113
117
  fullTime12h: 'hh:mm A',
114
118
  fullTime24h: 'HH:mm',
115
- fullDate: 'll',
116
- fullDateWithWeekday: 'dddd, LL',
117
119
  fullDateTime: 'lll',
118
120
  fullDateTime12h: 'll hh:mm A',
119
121
  fullDateTime24h: 'll HH:mm',
120
- keyboardDate: 'L',
121
122
  keyboardDateTime: 'L LT',
122
123
  keyboardDateTime12h: 'L hh:mm A',
123
124
  keyboardDateTime24h: 'L HH:mm'
@@ -108,33 +108,34 @@ const formatTokenMap = {
108
108
  ss: 'seconds'
109
109
  };
110
110
  const defaultFormats = {
111
+ year: 'yyyy',
112
+ month: 'LLLL',
113
+ monthShort: 'MMM',
111
114
  dayOfMonth: 'd',
115
+ weekday: 'cccc',
116
+ weekdayShort: 'ccc',
117
+ hours24h: 'HH',
118
+ hours12h: 'hh',
119
+ meridiem: 'a',
120
+ minutes: 'mm',
121
+ seconds: 'ss',
112
122
  fullDate: 'DD',
113
123
  fullDateWithWeekday: 'DDDD',
114
- fullDateTime: 'ff',
115
- fullDateTime12h: 'DD, hh:mm a',
116
- fullDateTime24h: 'DD, T',
124
+ keyboardDate: 'D',
125
+ shortDate: 'MMM d',
126
+ normalDate: 'd MMMM',
127
+ normalDateWithWeekday: 'EEE, MMM d',
128
+ monthAndYear: 'LLLL yyyy',
129
+ monthAndDate: 'MMMM d',
117
130
  fullTime: 't',
118
131
  fullTime12h: 'hh:mm a',
119
132
  fullTime24h: 'HH:mm',
120
- hours12h: 'hh',
121
- hours24h: 'HH',
122
- keyboardDate: 'D',
133
+ fullDateTime: 'ff',
134
+ fullDateTime12h: 'DD, hh:mm a',
135
+ fullDateTime24h: 'DD, T',
123
136
  keyboardDateTime: 'D t',
124
137
  keyboardDateTime12h: 'D hh:mm a',
125
- keyboardDateTime24h: 'D T',
126
- minutes: 'mm',
127
- seconds: 'ss',
128
- month: 'LLLL',
129
- monthAndDate: 'MMMM d',
130
- monthAndYear: 'LLLL yyyy',
131
- monthShort: 'MMM',
132
- weekday: 'cccc',
133
- weekdayShort: 'ccc',
134
- normalDate: 'd MMMM',
135
- normalDateWithWeekday: 'EEE, MMM d',
136
- shortDate: 'MMM d',
137
- year: 'yyyy'
138
+ keyboardDateTime24h: 'D T'
138
139
  };
139
140
 
140
141
  /**
@@ -93,30 +93,31 @@ const formatTokenMap = {
93
93
  ss: 'seconds'
94
94
  };
95
95
  const defaultFormats = {
96
- normalDateWithWeekday: 'ddd, MMM D',
97
- normalDate: 'D MMMM',
98
- shortDate: 'MMM D',
99
- monthAndDate: 'MMMM D',
100
- dayOfMonth: 'D',
101
96
  year: 'YYYY',
102
97
  month: 'MMMM',
103
98
  monthShort: 'MMM',
104
- monthAndYear: 'MMMM YYYY',
99
+ dayOfMonth: 'D',
105
100
  weekday: 'dddd',
106
101
  weekdayShort: 'ddd',
107
- minutes: 'mm',
108
- hours12h: 'hh',
109
102
  hours24h: 'HH',
103
+ hours12h: 'hh',
104
+ meridiem: 'A',
105
+ minutes: 'mm',
110
106
  seconds: 'ss',
107
+ fullDate: 'll',
108
+ fullDateWithWeekday: 'dddd, LL',
109
+ keyboardDate: 'L',
110
+ shortDate: 'MMM D',
111
+ normalDate: 'D MMMM',
112
+ normalDateWithWeekday: 'ddd, MMM D',
113
+ monthAndYear: 'MMMM YYYY',
114
+ monthAndDate: 'MMMM D',
111
115
  fullTime: 'LT',
112
116
  fullTime12h: 'hh:mm A',
113
117
  fullTime24h: 'HH:mm',
114
- fullDate: 'll',
115
- fullDateWithWeekday: 'dddd, LL',
116
118
  fullDateTime: 'lll',
117
119
  fullDateTime12h: 'll hh:mm A',
118
120
  fullDateTime24h: 'll HH:mm',
119
- keyboardDate: 'L',
120
121
  keyboardDateTime: 'L LT',
121
122
  keyboardDateTime12h: 'L hh:mm A',
122
123
  keyboardDateTime24h: 'L HH:mm'
@@ -67,33 +67,34 @@ const formatTokenMap = {
67
67
  ss: 'seconds'
68
68
  };
69
69
  const defaultFormats = {
70
+ year: 'iYYYY',
71
+ month: 'iMMMM',
72
+ monthShort: 'iMMM',
70
73
  dayOfMonth: 'iD',
74
+ weekday: 'dddd',
75
+ weekdayShort: 'ddd',
76
+ hours24h: 'HH',
77
+ hours12h: 'hh',
78
+ meridiem: 'A',
79
+ minutes: 'mm',
80
+ seconds: 'ss',
71
81
  fullDate: 'iYYYY, iMMMM Do',
72
82
  fullDateWithWeekday: 'iYYYY, iMMMM Do, dddd',
73
- fullDateTime: 'iYYYY, iMMMM Do, hh:mm A',
74
- fullDateTime12h: 'iD iMMMM hh:mm A',
75
- fullDateTime24h: 'iD iMMMM HH:mm',
83
+ keyboardDateTime: 'iYYYY/iMM/iDD LT',
84
+ shortDate: 'iD iMMM',
85
+ normalDate: 'dddd, iD iMMM',
86
+ normalDateWithWeekday: 'DD iMMMM',
87
+ monthAndYear: 'iMMMM iYYYY',
88
+ monthAndDate: 'iD iMMMM',
76
89
  fullTime: 'LT',
77
90
  fullTime12h: 'hh:mm A',
78
91
  fullTime24h: 'HH:mm',
79
- hours12h: 'hh',
80
- hours24h: 'HH',
92
+ fullDateTime: 'iYYYY, iMMMM Do, hh:mm A',
93
+ fullDateTime12h: 'iD iMMMM hh:mm A',
94
+ fullDateTime24h: 'iD iMMMM HH:mm',
81
95
  keyboardDate: 'iYYYY/iMM/iDD',
82
- keyboardDateTime: 'iYYYY/iMM/iDD LT',
83
96
  keyboardDateTime12h: 'iYYYY/iMM/iDD hh:mm A',
84
- keyboardDateTime24h: 'iYYYY/iMM/iDD HH:mm',
85
- minutes: 'mm',
86
- month: 'iMMMM',
87
- monthAndDate: 'iD iMMMM',
88
- monthAndYear: 'iMMMM iYYYY',
89
- monthShort: 'iMMM',
90
- weekday: 'dddd',
91
- weekdayShort: 'ddd',
92
- normalDate: 'dddd, iD iMMM',
93
- normalDateWithWeekday: 'DD iMMMM',
94
- seconds: 'ss',
95
- shortDate: 'iD iMMM',
96
- year: 'iYYYY'
97
+ keyboardDateTime24h: 'iYYYY/iMM/iDD HH:mm'
97
98
  };
98
99
  const NUMBER_SYMBOL_MAP = {
99
100
  '1': '١',
@@ -65,33 +65,34 @@ const formatTokenMap = {
65
65
  ss: 'seconds'
66
66
  };
67
67
  const defaultFormats = {
68
+ year: 'jYYYY',
69
+ month: 'jMMMM',
70
+ monthShort: 'jMMM',
68
71
  dayOfMonth: 'jD',
72
+ weekday: 'dddd',
73
+ weekdayShort: 'ddd',
74
+ hours24h: 'HH',
75
+ hours12h: 'hh',
76
+ meridiem: 'A',
77
+ minutes: 'mm',
78
+ seconds: 'ss',
69
79
  fullDate: 'jYYYY, jMMMM Do',
70
80
  fullDateWithWeekday: 'dddd Do jMMMM jYYYY',
71
- fullDateTime: 'jYYYY, jMMMM Do, hh:mm A',
72
- fullDateTime12h: 'jD jMMMM hh:mm A',
73
- fullDateTime24h: 'jD jMMMM HH:mm',
81
+ keyboardDate: 'jYYYY/jMM/jDD',
82
+ shortDate: 'jD jMMM',
83
+ normalDate: 'dddd, jD jMMM',
84
+ normalDateWithWeekday: 'DD MMMM',
85
+ monthAndYear: 'jMMMM jYYYY',
86
+ monthAndDate: 'jD jMMMM',
74
87
  fullTime: 'LT',
75
88
  fullTime12h: 'hh:mm A',
76
89
  fullTime24h: 'HH:mm',
77
- hours12h: 'hh',
78
- hours24h: 'HH',
79
- keyboardDate: 'jYYYY/jMM/jDD',
90
+ fullDateTime: 'jYYYY, jMMMM Do, hh:mm A',
91
+ fullDateTime12h: 'jD jMMMM hh:mm A',
92
+ fullDateTime24h: 'jD jMMMM HH:mm',
80
93
  keyboardDateTime: 'jYYYY/jMM/jDD LT',
81
94
  keyboardDateTime12h: 'jYYYY/jMM/jDD hh:mm A',
82
- keyboardDateTime24h: 'jYYYY/jMM/jDD HH:mm',
83
- minutes: 'mm',
84
- month: 'jMMMM',
85
- monthAndDate: 'jD jMMMM',
86
- monthAndYear: 'jMMMM jYYYY',
87
- monthShort: 'jMMM',
88
- weekday: 'dddd',
89
- weekdayShort: 'ddd',
90
- normalDate: 'dddd, jD jMMM',
91
- normalDateWithWeekday: 'DD MMMM',
92
- seconds: 'ss',
93
- shortDate: 'jD jMMM',
94
- year: 'jYYYY'
95
+ keyboardDateTime24h: 'jYYYY/jMM/jDD HH:mm'
95
96
  };
96
97
  const NUMBER_SYMBOL_MAP = {
97
98
  '1': '۱',
package/CHANGELOG.md CHANGED
@@ -3,6 +3,78 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 6.7.0
7
+
8
+ _Jun 9, 2023_
9
+
10
+ We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🎁 Improve the default `format` prop value on the pickers.
13
+
14
+ Here are a few examples:
15
+
16
+ ```tsx
17
+ <TimePicker views={['hours', 'minutes', 'seconds']} ampm />
18
+ // Format before v6.7.0: `hh:mm aa`
19
+ // Format after v6.7.0: `hh:mm:ss aa`
20
+
21
+ <DatePicker views={['year']} />
22
+ // Format before v6.7.0: `MM/DD/YYYY`
23
+ // Format after v6.7.0: `YYYY`
24
+
25
+ <DateTimePicker views={['day', 'hours', 'minutes']} ampm />
26
+ // Format before v6.7.0: `MM/DD/YYYY hh:mm aa`
27
+ // Format after v6.7.0: `DD hh:mm aa`
28
+ ```
29
+
30
+ - 🌍 Add Romanian (ro-RO) locale on the pickers
31
+ - 🌍 Improve German (de-DE) locale on the pickers
32
+ - 🌍 Improve Czech (cs-CZ), German (de-DE) and Turkish (tr-TR) locales on the data grid
33
+ - 🚀 Performance improvements
34
+ - 🐞 Bugfixes
35
+ - 📚 Documentation improvements
36
+
37
+ ### `@mui/x-data-grid@v6.7.0` / `@mui/x-data-grid-pro@v6.7.0` / `@mui/x-data-grid-premium@v6.7.0`
38
+
39
+ #### Changes
40
+
41
+ - [DataGrid] Allow overflowing grid root element (#9179) @cherniavskii
42
+ - [DataGrid] Fix module augmentation error when using `@mui/lab` (#9235) @cherniavskii
43
+ - [DataGrid] Fix row with ids matching `Object` prototype (#9265) @romgrk
44
+ - [DataGrid] Fix `sortModel` and `filterModel` resetting when columns change (#9239) @alexgonch
45
+ - [DataGrid] Improve grouping performance for large datasets (#9200) @romgrk
46
+ - [DataGrid] Increase threshold to trigger memory leak warning (#9263) @m4theushw
47
+ - [DataGrid] Update data grid migration guide to include updated type (#9272) @MBilalShafi
48
+ - [DataGridPro] Improve header filter menu visuals (#9181) @MBilalShafi
49
+ - [DataGridPremium] Remove last line break on clipboard paste (#9163) @cherniavskii
50
+ - [l10n] Improve Czech (cs-CZ) locale (#9266) @MartinSkarpa
51
+ - [l10n] Improve German (de-DE) locale (#9259) @ximex
52
+ - [l10n] Improve Turkish (tr-TR) locale (#9237) @MCErtan
53
+
54
+ ### `@mui/x-date-pickers@v6.7.0` / `@mui/x-date-pickers-pro@v6.7.0`
55
+
56
+ #### Changes
57
+
58
+ - [l10n] Add Romanian (ro-RO) locale (#9257) @ximex
59
+ - [l10n] Improve German (de-DE) locale (#9258) @ximex
60
+ - [pickers] Apply dynamic default format depending on views for all desktop and mobile pickers (#9126) @flaviendelangle
61
+ - [pickers] Update `DateRangePickerDay` props JSDoc (#9191) @stevus
62
+
63
+ ### Docs
64
+
65
+ - [docs] Fix missing props on the `GridFilterPanel` API page (#9180) @cherniavskii
66
+ - [docs] Fix overview page typo (#9230) @LukasTy
67
+ - [docs] Fix version redirect (#9273) @alexfauquette
68
+
69
+ ### Core
70
+
71
+ - [core] Temporarily remove the Argos upload on the regression testing (#9267) @flaviendelangle
72
+ - [charts] Add clip-path to avoid charts overflow (#9012) @alexfauquette
73
+ - [charts] Add style customization on bar (#8935) @alexfauquette
74
+ - [charts] Enforce axis `min`/`max` over the `nice()` method (#9189) @alexfauquette
75
+ - [charts] Improve axis label and ticks label alignements (#9190) @alexfauquette
76
+ - [charts] Simplify the switch between responsive and fix dimensions (#9151) @alexfauquette
77
+
6
78
  ## 6.6.0
7
79
 
8
80
  _Jun 1, 2023_
@@ -8,8 +8,8 @@ import { styled, useThemeProps } from '@mui/material/styles';
8
8
  import { unstable_composeClasses as composeClasses } from '@mui/utils';
9
9
  import { PickersToolbar } from '../internals/components/PickersToolbar';
10
10
  import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
11
- import { isYearOnlyView, isYearAndMonthViews } from '../internals/utils/views';
12
11
  import { getDatePickerToolbarUtilityClass } from './datePickerToolbarClasses';
12
+ import { resolveDateFormat } from '../internals/utils/date-utils';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  const useUtilityClasses = ownerState => {
15
15
  const {
@@ -59,20 +59,11 @@ const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePickerToolb
59
59
  if (!value) {
60
60
  return toolbarPlaceholder;
61
61
  }
62
- if (toolbarFormat) {
63
- return utils.formatByString(value, toolbarFormat);
64
- }
65
- if (isYearOnlyView(views)) {
66
- return utils.format(value, 'year');
67
- }
68
- if (isYearAndMonthViews(views)) {
69
- return utils.format(value, 'month');
70
- }
71
-
72
- // Little localization hack (Google is doing the same for android native pickers):
73
- // For english localization it is convenient to include weekday into the date "Mon, Jun 1".
74
- // For other locales using strings like "June 1", without weekday.
75
- return /en/.test(utils.getCurrentLocaleCode()) ? utils.format(value, 'normalDateWithWeekday') : utils.format(value, 'normalDate');
62
+ const formatFromViews = resolveDateFormat(utils, {
63
+ format: toolbarFormat,
64
+ views
65
+ }, true);
66
+ return utils.formatByString(value, formatFromViews);
76
67
  }, [value, toolbarFormat, toolbarPlaceholder, utils, views]);
77
68
  const ownerState = props;
78
69
  return /*#__PURE__*/_jsx(DatePickerToolbarRoot, _extends({
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { DefaultizedProps } from '../internals/models/helpers';
3
3
  import { DateCalendarSlotsComponent, DateCalendarSlotsComponentsProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
4
- import { DateValidationError, DateView, MuiPickersAdapter } from '../models';
4
+ import { DateValidationError, DateView } from '../models';
5
5
  import { BasePickerInputProps } from '../internals/models/props/basePickerProps';
6
6
  import { BaseDateValidationProps, UncapitalizeObjectKeys } from '../internals';
7
7
  import { LocalizedComponent } from '../locales/utils/pickersLocaleTextApi';
@@ -49,9 +49,5 @@ export interface BaseDatePickerProps<TDate> extends BasePickerInputProps<TDate |
49
49
  viewRenderers?: Partial<PickerViewRendererLookup<TDate | null, DateView, DateViewRendererProps<TDate, DateView>, {}>>;
50
50
  }
51
51
  type UseDatePickerDefaultizedProps<TDate, Props extends BaseDatePickerProps<TDate>> = LocalizedComponent<TDate, Omit<DefaultizedProps<Props, 'views' | 'openTo' | keyof BaseDateValidationProps<TDate>>, 'components' | 'componentsProps'>>;
52
- export declare const getDatePickerFieldFormat: (utils: MuiPickersAdapter<any>, { format, views }: {
53
- format?: string | undefined;
54
- views: readonly DateView[];
55
- }) => string | undefined;
56
52
  export declare function useDatePickerDefaultizedProps<TDate, Props extends BaseDatePickerProps<TDate>>(props: Props, name: string): UseDatePickerDefaultizedProps<TDate, Props>;
57
53
  export {};
@@ -2,25 +2,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { useThemeProps } from '@mui/material/styles';
4
4
  import { useDefaultDates, useUtils } from '../internals/hooks/useUtils';
5
- import { applyDefaultViewProps, isYearAndMonthViews, isYearOnlyView } from '../internals/utils/views';
5
+ import { applyDefaultViewProps } from '../internals/utils/views';
6
6
  import { applyDefaultDate } from '../internals/utils/date-utils';
7
7
  import { DatePickerToolbar } from './DatePickerToolbar';
8
8
  import { uncapitalizeObjectKeys } from '../internals/utils/slots-migration';
9
- export const getDatePickerFieldFormat = (utils, {
10
- format,
11
- views
12
- }) => {
13
- if (format != null) {
14
- return format;
15
- }
16
- if (isYearOnlyView(views)) {
17
- return utils.formats.year;
18
- }
19
- if (isYearAndMonthViews(views)) {
20
- return utils.formats.monthAndYear;
21
- }
22
- return undefined;
23
- };
24
9
  export function useDatePickerDefaultizedProps(props, name) {
25
10
  var _themeProps$slots, _themeProps$disableFu, _themeProps$disablePa, _themeProps$slotProps;
26
11
  const utils = useUtils();
@@ -3,13 +3,14 @@ import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { singleItemValueManager } from '../internals/utils/valueManagers';
6
- import { getDatePickerFieldFormat, useDatePickerDefaultizedProps } from '../DatePicker/shared';
6
+ import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
7
7
  import { useLocaleText, useUtils, validateDate } from '../internals';
8
8
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
9
9
  import { CalendarIcon } from '../icons';
10
10
  import { DateField } from '../DateField';
11
11
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
12
12
  import { renderDateViewCalendar } from '../dateViewRenderers';
13
+ import { resolveDateFormat } from '../internals/utils/date-utils';
13
14
  const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
14
15
  var _defaultizedProps$yea, _defaultizedProps$slo2;
15
16
  const localeText = useLocaleText();
@@ -26,7 +27,7 @@ const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePick
26
27
  // Props with the default values specific to the desktop variant
27
28
  const props = _extends({}, defaultizedProps, {
28
29
  viewRenderers,
29
- format: getDatePickerFieldFormat(utils, defaultizedProps),
30
+ format: resolveDateFormat(utils, defaultizedProps, false),
30
31
  yearsPerRow: (_defaultizedProps$yea = defaultizedProps.yearsPerRow) != null ? _defaultizedProps$yea : 4,
31
32
  slots: _extends({
32
33
  openPickerIcon: CalendarIcon,
@@ -7,13 +7,16 @@ import { DateTimeField } from '../DateTimeField';
7
7
  import { useDateTimePickerDefaultizedProps } from '../DateTimePicker/shared';
8
8
  import { renderDateViewCalendar } from '../dateViewRenderers/dateViewRenderers';
9
9
  import { renderDesktopDateTimeView } from '../dateTimeViewRenderers';
10
- import { useLocaleText, validateDateTime } from '../internals';
10
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
11
+ import { validateDateTime } from '../internals/utils/validation/validateDateTime';
11
12
  import { CalendarIcon } from '../icons';
12
13
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
13
14
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
15
+ import { resolveDateTimeFormat } from '../internals/utils/date-time-utils';
14
16
  const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
15
17
  var _defaultizedProps$amp, _defaultizedProps$yea, _defaultizedProps$slo2, _defaultizedProps$slo3, _defaultizedProps$slo4;
16
18
  const localeText = useLocaleText();
19
+ const utils = useUtils();
17
20
 
18
21
  // Props with the default values common to all date time pickers
19
22
  const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiDesktopDateTimePicker');
@@ -49,6 +52,7 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
49
52
  // Props with the default values specific to the desktop variant
50
53
  const props = _extends({}, defaultizedProps, {
51
54
  viewRenderers,
55
+ format: resolveDateTimeFormat(utils, defaultizedProps),
52
56
  views: defaultizedProps.ampm ? [...defaultizedProps.views, 'meridiem'] : defaultizedProps.views,
53
57
  yearsPerRow: (_defaultizedProps$yea = defaultizedProps.yearsPerRow) != null ? _defaultizedProps$yea : 4,
54
58
  ampmInClock,
@@ -5,14 +5,17 @@ import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { singleItemValueManager } from '../internals/utils/valueManagers';
6
6
  import { TimeField } from '../TimeField';
7
7
  import { useTimePickerDefaultizedProps } from '../TimePicker/shared';
8
- import { useLocaleText, validateTime } from '../internals';
8
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
9
+ import { validateTime } from '../internals/utils/validation/validateTime';
9
10
  import { ClockIcon } from '../icons';
10
11
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
11
12
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
12
13
  import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '../timeViewRenderers';
14
+ import { resolveTimeFormat } from '../internals/utils/time-utils';
13
15
  const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
14
16
  var _defaultizedProps$thr, _defaultizedProps$amp, _viewRenderers$hours, _defaultizedProps$slo2, _defaultizedProps$slo3;
15
17
  const localeText = useLocaleText();
18
+ const utils = useUtils();
16
19
 
17
20
  // Props with the default values common to all time pickers
18
21
  const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiDesktopTimePicker');
@@ -41,6 +44,7 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
41
44
  ampmInClock,
42
45
  timeSteps,
43
46
  viewRenderers,
47
+ format: resolveTimeFormat(utils, defaultizedProps),
44
48
  // Setting only `hours` time view in case of single column time picker
45
49
  // Allows for easy view lifecycle management
46
50
  views: shouldRenderTimeInASingleColumn ? ['hours'] : views,
@@ -112,6 +112,7 @@ process.env.NODE_ENV !== "production" ? LocalizationProvider.propTypes = {
112
112
  keyboardDateTime: PropTypes.string,
113
113
  keyboardDateTime12h: PropTypes.string,
114
114
  keyboardDateTime24h: PropTypes.string,
115
+ meridiem: PropTypes.string,
115
116
  minutes: PropTypes.string,
116
117
  month: PropTypes.string,
117
118
  monthAndDate: PropTypes.string,
@@ -3,12 +3,13 @@ import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { useMobilePicker } from '../internals/hooks/useMobilePicker';
6
- import { getDatePickerFieldFormat, useDatePickerDefaultizedProps } from '../DatePicker/shared';
6
+ import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
7
7
  import { useLocaleText, useUtils, validateDate } from '../internals';
8
8
  import { DateField } from '../DateField';
9
9
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
10
10
  import { singleItemValueManager } from '../internals/utils/valueManagers';
11
11
  import { renderDateViewCalendar } from '../dateViewRenderers';
12
+ import { resolveDateFormat } from '../internals/utils/date-utils';
12
13
  const MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
13
14
  var _defaultizedProps$slo2;
14
15
  const localeText = useLocaleText();
@@ -25,7 +26,7 @@ const MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker
25
26
  // Props with the default values specific to the mobile variant
26
27
  const props = _extends({}, defaultizedProps, {
27
28
  viewRenderers,
28
- format: getDatePickerFieldFormat(utils, defaultizedProps),
29
+ format: resolveDateFormat(utils, defaultizedProps, false),
29
30
  slots: _extends({
30
31
  field: DateField
31
32
  }, defaultizedProps.slots),
@@ -5,14 +5,17 @@ import { resolveComponentProps } from '@mui/base/utils';
5
5
  import { singleItemValueManager } from '../internals/utils/valueManagers';
6
6
  import { DateTimeField } from '../DateTimeField';
7
7
  import { useDateTimePickerDefaultizedProps } from '../DateTimePicker/shared';
8
- import { useLocaleText, validateDateTime } from '../internals';
8
+ import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
9
+ import { validateDateTime } from '../internals/utils/validation/validateDateTime';
9
10
  import { useMobilePicker } from '../internals/hooks/useMobilePicker';
10
11
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
11
12
  import { renderDateViewCalendar } from '../dateViewRenderers';
12
13
  import { renderTimeViewClock } from '../timeViewRenderers';
14
+ import { resolveDateTimeFormat } from '../internals/utils/date-time-utils';
13
15
  const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
14
16
  var _defaultizedProps$amp, _defaultizedProps$slo2, _defaultizedProps$slo3;
15
17
  const localeText = useLocaleText();
18
+ const utils = useUtils();
16
19
 
17
20
  // Props with the default values common to all date time pickers
18
21
  const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiMobileDateTimePicker');
@@ -29,6 +32,7 @@ const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTi
29
32
  // Props with the default values specific to the mobile variant
30
33
  const props = _extends({}, defaultizedProps, {
31
34
  viewRenderers,
35
+ format: resolveDateTimeFormat(utils, defaultizedProps),
32
36
  ampmInClock,
33
37
  slots: _extends({
34
38
  field: DateTimeField