@mui/x-date-pickers 8.5.3 → 8.6.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 (176) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/DateCalendar/DateCalendar.js +16 -16
  3. package/DateCalendar/DayCalendar.js +48 -48
  4. package/DateCalendar/useCalendarState.js +25 -25
  5. package/DateCalendar/useIsDateDisabled.js +2 -2
  6. package/DatePicker/DatePickerToolbar.js +7 -9
  7. package/DateTimeField/DateTimeField.js +1 -1
  8. package/DateTimePicker/DateTimePicker.js +1 -1
  9. package/DateTimePicker/DateTimePickerToolbar.js +12 -13
  10. package/DateTimePicker/shared.js +3 -3
  11. package/DesktopDatePicker/DesktopDatePicker.js +3 -3
  12. package/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -4
  13. package/DesktopTimePicker/DesktopTimePicker.js +4 -4
  14. package/DigitalClock/DigitalClock.d.ts +1 -1
  15. package/DigitalClock/DigitalClock.js +16 -16
  16. package/LocalizationProvider/LocalizationProvider.d.ts +9 -3
  17. package/LocalizationProvider/LocalizationProvider.js +28 -19
  18. package/MobileDatePicker/MobileDatePicker.js +3 -3
  19. package/MobileDateTimePicker/MobileDateTimePicker.js +4 -4
  20. package/MobileTimePicker/MobileTimePicker.js +4 -4
  21. package/MonthCalendar/MonthCalendar.js +19 -18
  22. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +32 -32
  23. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +4 -4
  24. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +7 -7
  25. package/PickerDay2/PickerDay2.js +3 -3
  26. package/PickersActionBar/PickersActionBar.d.ts +2 -2
  27. package/PickersActionBar/PickersActionBar.js +2 -2
  28. package/PickersCalendarHeader/PickersCalendarHeader.js +7 -8
  29. package/PickersDay/PickersDay.js +3 -3
  30. package/PickersDay/usePickerDayOwnerState.js +5 -5
  31. package/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  32. package/StaticTimePicker/StaticTimePicker.js +1 -1
  33. package/TimeClock/Clock.js +8 -9
  34. package/TimeClock/ClockNumbers.d.ts +3 -3
  35. package/TimeClock/ClockNumbers.js +5 -5
  36. package/TimeClock/TimeClock.js +29 -29
  37. package/TimeField/TimeField.js +1 -1
  38. package/TimePicker/TimePicker.js +1 -1
  39. package/TimePicker/TimePickerToolbar.js +7 -9
  40. package/TimePicker/shared.js +3 -3
  41. package/YearCalendar/YearCalendar.js +19 -18
  42. package/esm/DateCalendar/DateCalendar.js +16 -16
  43. package/esm/DateCalendar/DayCalendar.js +48 -48
  44. package/esm/DateCalendar/useCalendarState.js +25 -25
  45. package/esm/DateCalendar/useIsDateDisabled.js +2 -2
  46. package/esm/DatePicker/DatePickerToolbar.js +6 -8
  47. package/esm/DateTimeField/DateTimeField.js +1 -1
  48. package/esm/DateTimePicker/DateTimePicker.js +1 -1
  49. package/esm/DateTimePicker/DateTimePickerToolbar.js +11 -12
  50. package/esm/DateTimePicker/shared.js +3 -3
  51. package/esm/DesktopDatePicker/DesktopDatePicker.js +3 -3
  52. package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +4 -4
  53. package/esm/DesktopTimePicker/DesktopTimePicker.js +4 -4
  54. package/esm/DigitalClock/DigitalClock.d.ts +1 -1
  55. package/esm/DigitalClock/DigitalClock.js +16 -16
  56. package/esm/LocalizationProvider/LocalizationProvider.d.ts +9 -3
  57. package/esm/LocalizationProvider/LocalizationProvider.js +27 -18
  58. package/esm/MobileDatePicker/MobileDatePicker.js +3 -3
  59. package/esm/MobileDateTimePicker/MobileDateTimePicker.js +4 -4
  60. package/esm/MobileTimePicker/MobileTimePicker.js +4 -4
  61. package/esm/MonthCalendar/MonthCalendar.js +20 -19
  62. package/esm/MultiSectionDigitalClock/MultiSectionDigitalClock.js +32 -32
  63. package/esm/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +4 -4
  64. package/esm/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +7 -7
  65. package/esm/PickerDay2/PickerDay2.js +3 -3
  66. package/esm/PickersActionBar/PickersActionBar.d.ts +2 -2
  67. package/esm/PickersActionBar/PickersActionBar.js +2 -2
  68. package/esm/PickersCalendarHeader/PickersCalendarHeader.js +6 -7
  69. package/esm/PickersDay/PickersDay.js +3 -3
  70. package/esm/PickersDay/usePickerDayOwnerState.js +5 -5
  71. package/esm/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  72. package/esm/StaticTimePicker/StaticTimePicker.js +1 -1
  73. package/esm/TimeClock/Clock.js +7 -8
  74. package/esm/TimeClock/ClockNumbers.d.ts +3 -3
  75. package/esm/TimeClock/ClockNumbers.js +5 -5
  76. package/esm/TimeClock/TimeClock.js +29 -29
  77. package/esm/TimeField/TimeField.js +1 -1
  78. package/esm/TimePicker/TimePicker.js +1 -1
  79. package/esm/TimePicker/TimePickerToolbar.js +6 -8
  80. package/esm/TimePicker/shared.js +3 -3
  81. package/esm/YearCalendar/YearCalendar.js +20 -19
  82. package/esm/hooks/index.d.ts +2 -1
  83. package/esm/hooks/index.js +2 -1
  84. package/esm/hooks/useParsedFormat.js +6 -6
  85. package/esm/hooks/usePickerAdapter.d.ts +7 -0
  86. package/esm/hooks/usePickerAdapter.js +20 -0
  87. package/esm/hooks/usePickerTranslations.js +1 -1
  88. package/esm/index.js +1 -1
  89. package/esm/internals/components/pickersToolbarClasses.d.ts +1 -1
  90. package/esm/internals/demo/DemoContainer.d.ts +2 -3
  91. package/esm/internals/demo/DemoContainer.js +3 -2
  92. package/esm/internals/hooks/date-helpers-hooks.js +16 -16
  93. package/esm/internals/hooks/useClockReferenceDate.d.ts +2 -2
  94. package/esm/internals/hooks/useClockReferenceDate.js +3 -3
  95. package/esm/internals/hooks/useControlledValue.js +8 -7
  96. package/esm/internals/hooks/useField/buildSectionsFromFormat.d.ts +1 -1
  97. package/esm/internals/hooks/useField/buildSectionsFromFormat.js +17 -17
  98. package/esm/internals/hooks/useField/useField.types.d.ts +2 -2
  99. package/esm/internals/hooks/useField/useField.utils.d.ts +10 -10
  100. package/esm/internals/hooks/useField/useField.utils.js +69 -69
  101. package/esm/internals/hooks/useField/useFieldCharacterEditing.js +11 -11
  102. package/esm/internals/hooks/useField/useFieldRootHandleKeyDown.js +7 -7
  103. package/esm/internals/hooks/useField/useFieldSectionContentProps.js +15 -16
  104. package/esm/internals/hooks/useField/useFieldState.js +22 -24
  105. package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +6 -6
  106. package/esm/internals/hooks/usePicker/usePicker.js +5 -6
  107. package/esm/internals/hooks/useUtils.d.ts +1 -8
  108. package/esm/internals/hooks/useUtils.js +3 -19
  109. package/esm/internals/index.d.ts +2 -1
  110. package/esm/internals/index.js +2 -1
  111. package/esm/internals/models/manager.d.ts +14 -14
  112. package/esm/internals/models/props/time.d.ts +1 -1
  113. package/esm/internals/utils/date-time-utils.d.ts +1 -1
  114. package/esm/internals/utils/date-time-utils.js +5 -5
  115. package/esm/internals/utils/date-utils.d.ts +11 -11
  116. package/esm/internals/utils/date-utils.js +34 -34
  117. package/esm/internals/utils/getDefaultReferenceDate.d.ts +2 -2
  118. package/esm/internals/utils/getDefaultReferenceDate.js +16 -16
  119. package/esm/internals/utils/time-utils.d.ts +5 -5
  120. package/esm/internals/utils/time-utils.js +12 -12
  121. package/esm/internals/utils/valueManagers.js +4 -4
  122. package/esm/managers/useDateManager.js +12 -12
  123. package/esm/managers/useDateTimeManager.js +13 -13
  124. package/esm/managers/useTimeManager.js +9 -10
  125. package/esm/validation/useValidation.d.ts +2 -3
  126. package/esm/validation/useValidation.js +2 -2
  127. package/esm/validation/validateDate.js +6 -6
  128. package/esm/validation/validateTime.js +6 -6
  129. package/hooks/index.d.ts +2 -1
  130. package/hooks/index.js +8 -1
  131. package/hooks/useParsedFormat.js +6 -6
  132. package/hooks/usePickerAdapter.d.ts +7 -0
  133. package/hooks/usePickerAdapter.js +29 -0
  134. package/hooks/usePickerTranslations.js +2 -2
  135. package/index.js +1 -1
  136. package/internals/components/pickersToolbarClasses.d.ts +1 -1
  137. package/internals/demo/DemoContainer.d.ts +2 -3
  138. package/internals/demo/DemoContainer.js +3 -2
  139. package/internals/hooks/date-helpers-hooks.js +16 -16
  140. package/internals/hooks/useClockReferenceDate.d.ts +2 -2
  141. package/internals/hooks/useClockReferenceDate.js +3 -3
  142. package/internals/hooks/useControlledValue.js +7 -7
  143. package/internals/hooks/useField/buildSectionsFromFormat.d.ts +1 -1
  144. package/internals/hooks/useField/buildSectionsFromFormat.js +17 -17
  145. package/internals/hooks/useField/useField.types.d.ts +2 -2
  146. package/internals/hooks/useField/useField.utils.d.ts +10 -10
  147. package/internals/hooks/useField/useField.utils.js +69 -69
  148. package/internals/hooks/useField/useFieldCharacterEditing.js +11 -11
  149. package/internals/hooks/useField/useFieldRootHandleKeyDown.js +7 -7
  150. package/internals/hooks/useField/useFieldSectionContentProps.js +14 -15
  151. package/internals/hooks/useField/useFieldState.js +23 -25
  152. package/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +6 -6
  153. package/internals/hooks/usePicker/usePicker.js +5 -6
  154. package/internals/hooks/useUtils.d.ts +1 -8
  155. package/internals/hooks/useUtils.js +5 -24
  156. package/internals/index.d.ts +2 -1
  157. package/internals/index.js +2 -7
  158. package/internals/models/manager.d.ts +14 -14
  159. package/internals/models/props/time.d.ts +1 -1
  160. package/internals/utils/date-time-utils.d.ts +1 -1
  161. package/internals/utils/date-time-utils.js +5 -5
  162. package/internals/utils/date-utils.d.ts +11 -11
  163. package/internals/utils/date-utils.js +34 -34
  164. package/internals/utils/getDefaultReferenceDate.d.ts +2 -2
  165. package/internals/utils/getDefaultReferenceDate.js +16 -16
  166. package/internals/utils/time-utils.d.ts +5 -5
  167. package/internals/utils/time-utils.js +12 -12
  168. package/internals/utils/valueManagers.js +4 -4
  169. package/managers/useDateManager.js +12 -12
  170. package/managers/useDateTimeManager.js +13 -13
  171. package/managers/useTimeManager.js +10 -11
  172. package/package.json +2 -2
  173. package/validation/useValidation.d.ts +2 -3
  174. package/validation/useValidation.js +2 -2
  175. package/validation/validateDate.js +6 -6
  176. package/validation/validateTime.js +6 -6
@@ -15,7 +15,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var _styles = require("@mui/material/styles");
16
16
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
17
17
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
18
- var _usePickerTranslations = require("../hooks/usePickerTranslations");
18
+ var _hooks = require("../hooks");
19
19
  var _useUtils = require("../internals/hooks/useUtils");
20
20
  var _PickersArrowSwitcher = require("../internals/components/PickersArrowSwitcher");
21
21
  var _timeUtils = require("../internals/utils/time-utils");
@@ -67,13 +67,13 @@ const TIME_CLOCK_DEFAULT_VIEWS = ['hours', 'minutes'];
67
67
  * - [TimeClock API](https://mui.com/x/api/date-pickers/time-clock/)
68
68
  */
69
69
  const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function TimeClock(inProps, ref) {
70
- const utils = (0, _useUtils.useUtils)();
70
+ const adapter = (0, _hooks.usePickerAdapter)();
71
71
  const props = (0, _styles.useThemeProps)({
72
72
  props: inProps,
73
73
  name: 'MuiTimeClock'
74
74
  });
75
75
  const {
76
- ampm = utils.is12HourCycleInCurrentLocale(),
76
+ ampm = adapter.is12HourCycleInCurrentLocale(),
77
77
  ampmInClock = false,
78
78
  autoFocus,
79
79
  slots,
@@ -119,11 +119,11 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
119
119
  const valueOrReferenceDate = (0, _useClockReferenceDate.useClockReferenceDate)({
120
120
  value,
121
121
  referenceDate: referenceDateProp,
122
- utils,
122
+ adapter,
123
123
  props,
124
124
  timezone
125
125
  });
126
- const translations = (0, _usePickerTranslations.usePickerTranslations)();
126
+ const translations = (0, _hooks.usePickerTranslations)();
127
127
  const now = (0, _useUtils.useNow)(timezone);
128
128
  const selectedId = (0, _useId.default)();
129
129
  const {
@@ -149,7 +149,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
149
149
  handleMeridiemChange
150
150
  } = (0, _dateHelpersHooks.useMeridiemMode)(valueOrReferenceDate, ampm, setValueAndGoToNextView);
151
151
  const isTimeDisabled = React.useCallback((rawValue, viewType) => {
152
- const isAfter = (0, _timeUtils.createIsAfterIgnoreDatePart)(disableIgnoringDatePartForTimeValidation, utils);
152
+ const isAfter = (0, _timeUtils.createIsAfterIgnoreDatePart)(disableIgnoringDatePartForTimeValidation, adapter);
153
153
  const shouldCheckPastEnd = viewType === 'hours' || viewType === 'minutes' && views.includes('seconds');
154
154
  const containsValidTime = ({
155
155
  start,
@@ -176,11 +176,11 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
176
176
  if (shouldDisableTime) {
177
177
  switch (viewType) {
178
178
  case 'hours':
179
- return !shouldDisableTime(utils.setHours(valueOrReferenceDate, timeValue), 'hours');
179
+ return !shouldDisableTime(adapter.setHours(valueOrReferenceDate, timeValue), 'hours');
180
180
  case 'minutes':
181
- return !shouldDisableTime(utils.setMinutes(valueOrReferenceDate, timeValue), 'minutes');
181
+ return !shouldDisableTime(adapter.setMinutes(valueOrReferenceDate, timeValue), 'minutes');
182
182
  case 'seconds':
183
- return !shouldDisableTime(utils.setSeconds(valueOrReferenceDate, timeValue), 'seconds');
183
+ return !shouldDisableTime(adapter.setSeconds(valueOrReferenceDate, timeValue), 'seconds');
184
184
  default:
185
185
  return false;
186
186
  }
@@ -191,12 +191,12 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
191
191
  case 'hours':
192
192
  {
193
193
  const valueWithMeridiem = (0, _timeUtils.convertValueToMeridiem)(rawValue, meridiemMode, ampm);
194
- const dateWithNewHours = utils.setHours(valueOrReferenceDate, valueWithMeridiem);
195
- if (utils.getHours(dateWithNewHours) !== valueWithMeridiem) {
194
+ const dateWithNewHours = adapter.setHours(valueOrReferenceDate, valueWithMeridiem);
195
+ if (adapter.getHours(dateWithNewHours) !== valueWithMeridiem) {
196
196
  return true;
197
197
  }
198
- const start = utils.setSeconds(utils.setMinutes(dateWithNewHours, 0), 0);
199
- const end = utils.setSeconds(utils.setMinutes(dateWithNewHours, 59), 59);
198
+ const start = adapter.setSeconds(adapter.setMinutes(dateWithNewHours, 0), 0);
199
+ const end = adapter.setSeconds(adapter.setMinutes(dateWithNewHours, 59), 59);
200
200
  return !containsValidTime({
201
201
  start,
202
202
  end
@@ -204,9 +204,9 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
204
204
  }
205
205
  case 'minutes':
206
206
  {
207
- const dateWithNewMinutes = utils.setMinutes(valueOrReferenceDate, rawValue);
208
- const start = utils.setSeconds(dateWithNewMinutes, 0);
209
- const end = utils.setSeconds(dateWithNewMinutes, 59);
207
+ const dateWithNewMinutes = adapter.setMinutes(valueOrReferenceDate, rawValue);
208
+ const start = adapter.setSeconds(dateWithNewMinutes, 0);
209
+ const end = adapter.setSeconds(dateWithNewMinutes, 59);
210
210
  return !containsValidTime({
211
211
  start,
212
212
  end
@@ -214,7 +214,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
214
214
  }
215
215
  case 'seconds':
216
216
  {
217
- const dateWithNewSeconds = utils.setSeconds(valueOrReferenceDate, rawValue);
217
+ const dateWithNewSeconds = adapter.setSeconds(valueOrReferenceDate, rawValue);
218
218
  const start = dateWithNewSeconds;
219
219
  const end = dateWithNewSeconds;
220
220
  return !containsValidTime({
@@ -225,16 +225,16 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
225
225
  default:
226
226
  throw new Error('not supported');
227
227
  }
228
- }, [ampm, valueOrReferenceDate, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime, utils, disableFuture, disablePast, now, views]);
228
+ }, [ampm, valueOrReferenceDate, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime, adapter, disableFuture, disablePast, now, views]);
229
229
  const viewProps = React.useMemo(() => {
230
230
  switch (view) {
231
231
  case 'hours':
232
232
  {
233
233
  const handleHoursChange = (hourValue, isFinish) => {
234
234
  const valueWithMeridiem = (0, _timeUtils.convertValueToMeridiem)(hourValue, meridiemMode, ampm);
235
- setValueAndGoToNextView(utils.setHours(valueOrReferenceDate, valueWithMeridiem), isFinish, 'hours');
235
+ setValueAndGoToNextView(adapter.setHours(valueOrReferenceDate, valueWithMeridiem), isFinish, 'hours');
236
236
  };
237
- const viewValue = utils.getHours(valueOrReferenceDate);
237
+ const viewValue = adapter.getHours(valueOrReferenceDate);
238
238
  let viewRange;
239
239
  if (ampm) {
240
240
  if (viewValue > 12) {
@@ -250,7 +250,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
250
250
  viewValue,
251
251
  children: (0, _ClockNumbers.getHourNumbers)({
252
252
  value,
253
- utils,
253
+ adapter,
254
254
  ampm,
255
255
  onChange: handleHoursChange,
256
256
  getClockNumberText: translations.hoursClockNumberText,
@@ -262,15 +262,15 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
262
262
  }
263
263
  case 'minutes':
264
264
  {
265
- const minutesValue = utils.getMinutes(valueOrReferenceDate);
265
+ const minutesValue = adapter.getMinutes(valueOrReferenceDate);
266
266
  const handleMinutesChange = (minuteValue, isFinish) => {
267
- setValueAndGoToNextView(utils.setMinutes(valueOrReferenceDate, minuteValue), isFinish, 'minutes');
267
+ setValueAndGoToNextView(adapter.setMinutes(valueOrReferenceDate, minuteValue), isFinish, 'minutes');
268
268
  };
269
269
  return {
270
270
  viewValue: minutesValue,
271
271
  onChange: handleMinutesChange,
272
272
  children: (0, _ClockNumbers.getMinutesNumbers)({
273
- utils,
273
+ adapter,
274
274
  value: minutesValue,
275
275
  onChange: handleMinutesChange,
276
276
  getClockNumberText: translations.minutesClockNumberText,
@@ -282,15 +282,15 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
282
282
  }
283
283
  case 'seconds':
284
284
  {
285
- const secondsValue = utils.getSeconds(valueOrReferenceDate);
285
+ const secondsValue = adapter.getSeconds(valueOrReferenceDate);
286
286
  const handleSecondsChange = (secondValue, isFinish) => {
287
- setValueAndGoToNextView(utils.setSeconds(valueOrReferenceDate, secondValue), isFinish, 'seconds');
287
+ setValueAndGoToNextView(adapter.setSeconds(valueOrReferenceDate, secondValue), isFinish, 'seconds');
288
288
  };
289
289
  return {
290
290
  viewValue: secondsValue,
291
291
  onChange: handleSecondsChange,
292
292
  children: (0, _ClockNumbers.getMinutesNumbers)({
293
- utils,
293
+ adapter,
294
294
  value: secondsValue,
295
295
  onChange: handleSecondsChange,
296
296
  getClockNumberText: translations.secondsClockNumberText,
@@ -303,7 +303,7 @@ const TimeClock = exports.TimeClock = /*#__PURE__*/React.forwardRef(function Tim
303
303
  default:
304
304
  throw new Error('You must provide the type for ClockView');
305
305
  }
306
- }, [view, utils, value, ampm, translations.hoursClockNumberText, translations.minutesClockNumberText, translations.secondsClockNumberText, meridiemMode, setValueAndGoToNextView, valueOrReferenceDate, isTimeDisabled, selectedId, disabled]);
306
+ }, [view, adapter, value, ampm, translations.hoursClockNumberText, translations.minutesClockNumberText, translations.secondsClockNumberText, meridiemMode, setValueAndGoToNextView, valueOrReferenceDate, isTimeDisabled, selectedId, disabled]);
307
307
  const classes = useUtilityClasses(classesProp);
308
308
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimeClockRoot, (0, _extends2.default)({
309
309
  ref: ref,
@@ -345,7 +345,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
345
345
  // ----------------------------------------------------------------------
346
346
  /**
347
347
  * 12h/24h view for hour selection clock.
348
- * @default utils.is12HourCycleInCurrentLocale()
348
+ * @default adapter.is12HourCycleInCurrentLocale()
349
349
  */
350
350
  ampm: _propTypes.default.bool,
351
351
  /**
@@ -58,7 +58,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
58
58
  // ----------------------------------------------------------------------
59
59
  /**
60
60
  * 12h/24h view for hour selection clock.
61
- * @default utils.is12HourCycleInCurrentLocale()
61
+ * @default adapter.is12HourCycleInCurrentLocale()
62
62
  */
63
63
  ampm: _propTypes.default.bool,
64
64
  /**
@@ -60,7 +60,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
60
60
  // ----------------------------------------------------------------------
61
61
  /**
62
62
  * 12h/24h view for hour selection clock.
63
- * @default utils.is12HourCycleInCurrentLocale()
63
+ * @default adapter.is12HourCycleInCurrentLocale()
64
64
  */
65
65
  ampm: _propTypes.default.bool,
66
66
  /**
@@ -18,12 +18,10 @@ var _PickersToolbarText = require("../internals/components/PickersToolbarText");
18
18
  var _PickersToolbarButton = require("../internals/components/PickersToolbarButton");
19
19
  var _PickersToolbar = require("../internals/components/PickersToolbar");
20
20
  var _utils = require("../internals/utils/utils");
21
- var _usePickerTranslations = require("../hooks/usePickerTranslations");
22
- var _useUtils = require("../internals/hooks/useUtils");
21
+ var _hooks = require("../hooks");
23
22
  var _dateHelpersHooks = require("../internals/hooks/date-helpers-hooks");
24
23
  var _timePickerToolbarClasses = require("./timePickerToolbarClasses");
25
24
  var _dateUtils = require("../internals/utils/date-utils");
26
- var _hooks = require("../hooks");
27
25
  var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
28
26
  var _jsxRuntime = require("react/jsx-runtime");
29
27
  const _excluded = ["ampm", "ampmInClock", "className", "classes"];
@@ -131,8 +129,8 @@ function TimePickerToolbar(inProps) {
131
129
  classes: classesProp
132
130
  } = props,
133
131
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
134
- const utils = (0, _useUtils.useUtils)();
135
- const translations = (0, _usePickerTranslations.usePickerTranslations)();
132
+ const adapter = (0, _hooks.usePickerAdapter)();
133
+ const translations = (0, _hooks.usePickerTranslations)();
136
134
  const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
137
135
  const classes = useUtilityClasses(classesProp, ownerState);
138
136
  const {
@@ -152,10 +150,10 @@ function TimePickerToolbar(inProps) {
152
150
  changeImportance: 'set'
153
151
  }));
154
152
  const formatSection = format => {
155
- if (!utils.isValid(value)) {
153
+ if (!adapter.isValid(value)) {
156
154
  return '--';
157
155
  }
158
- return utils.format(value, format);
156
+ return adapter.format(value, format);
159
157
  };
160
158
  const separator = /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerToolbarSeparator, {
161
159
  tabIndex: -1,
@@ -199,7 +197,7 @@ function TimePickerToolbar(inProps) {
199
197
  variant: "subtitle2",
200
198
  selected: meridiemMode === 'am',
201
199
  typographyClassName: classes.ampmLabel,
202
- value: (0, _dateUtils.formatMeridiem)(utils, 'am'),
200
+ value: (0, _dateUtils.formatMeridiem)(adapter, 'am'),
203
201
  onClick: readOnly ? undefined : () => handleMeridiemChange('am'),
204
202
  disabled: disabled
205
203
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
@@ -207,7 +205,7 @@ function TimePickerToolbar(inProps) {
207
205
  variant: "subtitle2",
208
206
  selected: meridiemMode === 'pm',
209
207
  typographyClassName: classes.ampmLabel,
210
- value: (0, _dateUtils.formatMeridiem)(utils, 'pm'),
208
+ value: (0, _dateUtils.formatMeridiem)(adapter, 'pm'),
211
209
  onClick: readOnly ? undefined : () => handleMeridiemChange('pm'),
212
210
  disabled: disabled
213
211
  })]
@@ -9,18 +9,18 @@ exports.useTimePickerDefaultizedProps = useTimePickerDefaultizedProps;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _styles = require("@mui/material/styles");
12
- var _useUtils = require("../internals/hooks/useUtils");
13
12
  var _TimePickerToolbar = require("./TimePickerToolbar");
14
13
  var _views = require("../internals/utils/views");
15
14
  var _useTimeManager = require("../managers/useTimeManager");
15
+ var _usePickerAdapter = require("../hooks/usePickerAdapter");
16
16
  function useTimePickerDefaultizedProps(props, name) {
17
- const utils = (0, _useUtils.useUtils)();
17
+ const adapter = (0, _usePickerAdapter.usePickerAdapter)();
18
18
  const themeProps = (0, _styles.useThemeProps)({
19
19
  props,
20
20
  name
21
21
  });
22
22
  const validationProps = (0, _useTimeManager.useApplyDefaultValuesToTimeValidationProps)(themeProps);
23
- const ampm = themeProps.ampm ?? utils.is12HourCycleInCurrentLocale();
23
+ const ampm = themeProps.ampm ?? adapter.is12HourCycleInCurrentLocale();
24
24
  const localeText = React.useMemo(() => {
25
25
  if (themeProps.localeText?.toolbarTitle == null) {
26
26
  return themeProps.localeText;
@@ -28,6 +28,7 @@ var _useControlledValue = require("../internals/hooks/useControlledValue");
28
28
  var _dimensions = require("../internals/constants/dimensions");
29
29
  var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
30
30
  var _useDateManager = require("../managers/useDateManager");
31
+ var _usePickerAdapter = require("../hooks/usePickerAdapter");
31
32
  var _jsxRuntime = require("react/jsx-runtime");
32
33
  const _excluded = ["autoFocus", "className", "classes", "value", "defaultValue", "referenceDate", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "readOnly", "shouldDisableYear", "disableHighlightToday", "onYearFocus", "hasFocus", "onFocusedViewChange", "yearsOrder", "yearsPerRow", "timezone", "gridLabelId", "slots", "slotProps"];
33
34
  const useUtilityClasses = classes => {
@@ -140,13 +141,13 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
140
141
  });
141
142
  const now = (0, _useUtils.useNow)(timezone);
142
143
  const isRtl = (0, _RtlProvider.useRtl)();
143
- const utils = (0, _useUtils.useUtils)();
144
+ const adapter = (0, _usePickerAdapter.usePickerAdapter)();
144
145
  const {
145
146
  ownerState
146
147
  } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
147
148
  const referenceDate = React.useMemo(() => _valueManagers.singleItemValueManager.getInitialReferenceValue({
148
149
  value,
149
- utils,
150
+ adapter,
150
151
  props,
151
152
  timezone,
152
153
  referenceDate: referenceDateProp,
@@ -154,14 +155,14 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
154
155
  }), [] // eslint-disable-line react-hooks/exhaustive-deps
155
156
  );
156
157
  const classes = useUtilityClasses(classesProp);
157
- const todayYear = React.useMemo(() => utils.getYear(now), [utils, now]);
158
+ const todayYear = React.useMemo(() => adapter.getYear(now), [adapter, now]);
158
159
  const selectedYear = React.useMemo(() => {
159
160
  if (value != null) {
160
- return utils.getYear(value);
161
+ return adapter.getYear(value);
161
162
  }
162
163
  return null;
163
- }, [value, utils]);
164
- const [focusedYear, setFocusedYear] = React.useState(() => selectedYear || utils.getYear(referenceDate));
164
+ }, [value, adapter]);
165
+ const [focusedYear, setFocusedYear] = React.useState(() => selectedYear || adapter.getYear(referenceDate));
165
166
  const [internalHasFocus, setInternalHasFocus] = (0, _useControlled.default)({
166
167
  name: 'YearCalendar',
167
168
  state: 'hasFocus',
@@ -175,33 +176,33 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
175
176
  }
176
177
  });
177
178
  const isYearDisabled = React.useCallback(dateToValidate => {
178
- if (disablePast && utils.isBeforeYear(dateToValidate, now)) {
179
+ if (disablePast && adapter.isBeforeYear(dateToValidate, now)) {
179
180
  return true;
180
181
  }
181
- if (disableFuture && utils.isAfterYear(dateToValidate, now)) {
182
+ if (disableFuture && adapter.isAfterYear(dateToValidate, now)) {
182
183
  return true;
183
184
  }
184
- if (minDate && utils.isBeforeYear(dateToValidate, minDate)) {
185
+ if (minDate && adapter.isBeforeYear(dateToValidate, minDate)) {
185
186
  return true;
186
187
  }
187
- if (maxDate && utils.isAfterYear(dateToValidate, maxDate)) {
188
+ if (maxDate && adapter.isAfterYear(dateToValidate, maxDate)) {
188
189
  return true;
189
190
  }
190
191
  if (!shouldDisableYear) {
191
192
  return false;
192
193
  }
193
- const yearToValidate = utils.startOfYear(dateToValidate);
194
+ const yearToValidate = adapter.startOfYear(dateToValidate);
194
195
  return shouldDisableYear(yearToValidate);
195
- }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableYear, utils]);
196
+ }, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableYear, adapter]);
196
197
  const handleYearSelection = (0, _useEventCallback.default)((event, year) => {
197
198
  if (readOnly) {
198
199
  return;
199
200
  }
200
- const newDate = utils.setYear(value ?? referenceDate, year);
201
+ const newDate = adapter.setYear(value ?? referenceDate, year);
201
202
  handleValueChange(newDate);
202
203
  });
203
204
  const focusYear = (0, _useEventCallback.default)(year => {
204
- if (!isYearDisabled(utils.setYear(value ?? referenceDate, year))) {
205
+ if (!isYearDisabled(adapter.setYear(value ?? referenceDate, year))) {
205
206
  setFocusedYear(year);
206
207
  changeHasFocus(true);
207
208
  onYearFocus?.(year);
@@ -265,7 +266,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
265
266
  }
266
267
  scrollerRef.current.scrollTop = elementBottom - clientHeight / 2 - offsetHeight / 2;
267
268
  }, [autoFocus]);
268
- const yearRange = utils.getYearRange([minDate, maxDate]);
269
+ const yearRange = adapter.getYearRange([minDate, maxDate]);
269
270
  if (yearsOrder === 'desc') {
270
271
  yearRange.reverse();
271
272
  }
@@ -282,7 +283,7 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
282
283
  yearsPerRow: yearsPerRow
283
284
  }, other, {
284
285
  children: [yearRange.map(year => {
285
- const yearNumber = utils.getYear(year);
286
+ const yearNumber = adapter.getYear(year);
286
287
  const isSelected = yearNumber === selectedYear;
287
288
  const isDisabled = disabled || isYearDisabled(year);
288
289
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_YearCalendarButton.YearCalendarButton, {
@@ -299,8 +300,8 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
299
300
  slots: slots,
300
301
  slotProps: slotProps,
301
302
  classes: classesProp,
302
- children: utils.format(year, 'year')
303
- }, utils.format(year, 'year'));
303
+ children: adapter.format(year, 'year')
304
+ }, adapter.format(year, 'year'));
304
305
  }), Array.from({
305
306
  length: fillerAmount
306
307
  }, (_, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(YearCalendarButtonFiller, {}, index))]
@@ -12,7 +12,6 @@ import composeClasses from '@mui/utils/composeClasses';
12
12
  import useId from '@mui/utils/useId';
13
13
  import useEventCallback from '@mui/utils/useEventCallback';
14
14
  import { useCalendarState } from "./useCalendarState.js";
15
- import { useUtils } from "../internals/hooks/useUtils.js";
16
15
  import { PickersFadeTransitionGroup } from "./PickersFadeTransitionGroup.js";
17
16
  import { DayCalendar } from "./DayCalendar.js";
18
17
  import { MonthCalendar } from "../MonthCalendar/index.js";
@@ -28,6 +27,7 @@ import { singleItemValueManager } from "../internals/utils/valueManagers.js";
28
27
  import { VIEW_HEIGHT } from "../internals/constants/dimensions.js";
29
28
  import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
30
29
  import { useApplyDefaultValuesToDateValidationProps } from "../managers/useDateManager.js";
30
+ import { usePickerAdapter } from "../hooks/usePickerAdapter.js";
31
31
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
32
32
  const useUtilityClasses = classes => {
33
33
  const slots = {
@@ -77,7 +77,7 @@ const DateCalendarViewTransitionContainer = styled(PickersFadeTransitionGroup, {
77
77
  * - [DateCalendar API](https://mui.com/x/api/date-pickers/date-calendar/)
78
78
  */
79
79
  export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(inProps, ref) {
80
- const utils = useUtils();
80
+ const adapter = usePickerAdapter();
81
81
  const {
82
82
  ownerState
83
83
  } = usePickerPrivateContext();
@@ -171,10 +171,10 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
171
171
  disableFuture,
172
172
  timezone,
173
173
  getCurrentMonthFromVisibleDate: (visibleDate, prevMonth) => {
174
- if (utils.isSameMonth(visibleDate, prevMonth)) {
174
+ if (adapter.isSameMonth(visibleDate, prevMonth)) {
175
175
  return prevMonth;
176
176
  }
177
- return utils.startOfMonth(visibleDate);
177
+ return adapter.startOfMonth(visibleDate);
178
178
  }
179
179
  });
180
180
 
@@ -208,13 +208,13 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
208
208
  ownerState
209
209
  });
210
210
  const handleDateMonthChange = useEventCallback(newDate => {
211
- const startOfMonth = utils.startOfMonth(newDate);
212
- const endOfMonth = utils.endOfMonth(newDate);
211
+ const startOfMonth = adapter.startOfMonth(newDate);
212
+ const endOfMonth = adapter.endOfMonth(newDate);
213
213
  const closestEnabledDate = isDateDisabled(newDate) ? findClosestEnabledDate({
214
- utils,
214
+ adapter,
215
215
  date: newDate,
216
- minDate: utils.isBefore(minDate, startOfMonth) ? startOfMonth : minDate,
217
- maxDate: utils.isAfter(maxDate, endOfMonth) ? endOfMonth : maxDate,
216
+ minDate: adapter.isBefore(minDate, startOfMonth) ? startOfMonth : minDate,
217
+ maxDate: adapter.isAfter(maxDate, endOfMonth) ? endOfMonth : maxDate,
218
218
  disablePast,
219
219
  disableFuture,
220
220
  isDateDisabled,
@@ -235,13 +235,13 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
235
235
  }
236
236
  });
237
237
  const handleDateYearChange = useEventCallback(newDate => {
238
- const startOfYear = utils.startOfYear(newDate);
239
- const endOfYear = utils.endOfYear(newDate);
238
+ const startOfYear = adapter.startOfYear(newDate);
239
+ const endOfYear = adapter.endOfYear(newDate);
240
240
  const closestEnabledDate = isDateDisabled(newDate) ? findClosestEnabledDate({
241
- utils,
241
+ adapter,
242
242
  date: newDate,
243
- minDate: utils.isBefore(minDate, startOfYear) ? startOfYear : minDate,
244
- maxDate: utils.isAfter(maxDate, endOfYear) ? endOfYear : maxDate,
243
+ minDate: adapter.isBefore(minDate, startOfYear) ? startOfYear : minDate,
244
+ maxDate: adapter.isAfter(maxDate, endOfYear) ? endOfYear : maxDate,
245
245
  disablePast,
246
246
  disableFuture,
247
247
  isDateDisabled,
@@ -264,12 +264,12 @@ export const DateCalendar = /*#__PURE__*/React.forwardRef(function DateCalendar(
264
264
  const handleSelectedDayChange = useEventCallback(day => {
265
265
  if (day) {
266
266
  // If there is a date already selected, then we want to keep its time
267
- return handleValueChange(mergeDateAndTime(utils, day, value ?? referenceDate), 'finish', view);
267
+ return handleValueChange(mergeDateAndTime(adapter, day, value ?? referenceDate), 'finish', view);
268
268
  }
269
269
  return handleValueChange(day, 'finish', view);
270
270
  });
271
271
  React.useEffect(() => {
272
- if (utils.isValid(value)) {
272
+ if (adapter.isValid(value)) {
273
273
  setVisibleDate({
274
274
  target: value,
275
275
  reason: 'controlled-value-change'