@mui/x-date-pickers 7.0.0-beta.7 → 7.0.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 (145) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +1 -1
  2. package/AdapterDateFnsBase/AdapterDateFnsBase.js +1 -2
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +2 -4
  4. package/AdapterDateFnsV3/AdapterDateFnsV3.js +1 -1
  5. package/AdapterDayjs/AdapterDayjs.js +2 -4
  6. package/AdapterLuxon/AdapterLuxon.js +12 -9
  7. package/AdapterMoment/AdapterMoment.js +5 -6
  8. package/CHANGELOG.md +195 -12
  9. package/DateCalendar/DateCalendar.js +14 -16
  10. package/DateCalendar/DayCalendar.js +5 -6
  11. package/DateField/DateField.js +3 -4
  12. package/DatePicker/DatePicker.js +1 -1
  13. package/DatePicker/shared.d.ts +2 -1
  14. package/DatePicker/shared.js +3 -5
  15. package/DateTimeField/DateTimeField.js +3 -4
  16. package/DateTimePicker/DateTimePicker.js +1 -1
  17. package/DateTimePicker/DateTimePickerToolbar.js +1 -1
  18. package/DateTimePicker/shared.d.ts +2 -1
  19. package/DateTimePicker/shared.js +11 -13
  20. package/DesktopDatePicker/DesktopDatePicker.js +7 -11
  21. package/DesktopDateTimePicker/DesktopDateTimePicker.js +72 -37
  22. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +12 -0
  23. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +101 -0
  24. package/DesktopDateTimePicker/index.d.ts +1 -0
  25. package/DesktopDateTimePicker/index.js +2 -1
  26. package/DesktopTimePicker/DesktopTimePicker.js +8 -12
  27. package/DigitalClock/DigitalClock.js +2 -3
  28. package/LocalizationProvider/LocalizationProvider.js +1 -2
  29. package/MobileDatePicker/MobileDatePicker.js +6 -10
  30. package/MobileDateTimePicker/MobileDateTimePicker.js +8 -12
  31. package/MobileTimePicker/MobileTimePicker.js +6 -10
  32. package/MonthCalendar/MonthCalendar.js +4 -4
  33. package/MonthCalendar/PickersMonth.js +1 -2
  34. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -1
  35. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +1 -1
  36. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +3 -5
  37. package/PickersActionBar/PickersActionBar.js +1 -1
  38. package/PickersCalendarHeader/PickersCalendarHeader.js +4 -5
  39. package/PickersLayout/usePickerLayout.js +8 -9
  40. package/PickersSectionList/PickersSectionList.js +9 -11
  41. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +2 -3
  42. package/PickersTextField/PickersInput/PickersInput.js +1 -1
  43. package/PickersTextField/PickersInputBase/PickersInputBase.js +4 -5
  44. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +2 -2
  45. package/README.md +1 -1
  46. package/StaticDatePicker/StaticDatePicker.js +4 -5
  47. package/StaticDateTimePicker/StaticDateTimePicker.js +6 -7
  48. package/StaticTimePicker/StaticTimePicker.js +3 -4
  49. package/TimeClock/TimeClock.js +1 -1
  50. package/TimeField/TimeField.js +2 -3
  51. package/TimePicker/shared.d.ts +2 -1
  52. package/TimePicker/shared.js +5 -7
  53. package/YearCalendar/YearCalendar.js +5 -6
  54. package/hooks/useClearableField.js +6 -7
  55. package/index.js +1 -1
  56. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -9
  57. package/internals/components/PickersModalDialog.js +6 -7
  58. package/internals/components/PickersPopper.js +13 -16
  59. package/internals/components/PickersToolbar.js +9 -12
  60. package/internals/hooks/date-helpers-hooks.js +1 -1
  61. package/internals/hooks/defaultizedFieldProps.js +15 -18
  62. package/internals/hooks/useClockReferenceDate.js +1 -1
  63. package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
  64. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +11 -12
  65. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
  66. package/internals/hooks/useField/buildSectionsFromFormat.js +35 -31
  67. package/internals/hooks/useField/useField.js +2 -2
  68. package/internals/hooks/useField/useField.utils.js +4 -7
  69. package/internals/hooks/useField/useFieldCharacterEditing.js +1 -2
  70. package/internals/hooks/useField/useFieldState.js +1 -1
  71. package/internals/hooks/useField/useFieldV6TextField.js +9 -15
  72. package/internals/hooks/useField/useFieldV7TextField.js +9 -11
  73. package/internals/hooks/useMobilePicker/useMobilePicker.js +7 -8
  74. package/internals/hooks/useOpenState.js +1 -1
  75. package/internals/hooks/usePicker/index.d.ts +1 -0
  76. package/internals/hooks/usePicker/usePickerViews.d.ts +4 -2
  77. package/internals/hooks/usePicker/usePickerViews.js +1 -2
  78. package/internals/hooks/useStaticPicker/useStaticPicker.js +13 -17
  79. package/internals/hooks/useValueWithTimezone.js +5 -6
  80. package/internals/hooks/useViews.js +3 -4
  81. package/internals/index.d.ts +1 -1
  82. package/internals/models/validation.d.ts +1 -1
  83. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +3 -3
  84. package/internals/utils/date-time-utils.js +2 -5
  85. package/internals/utils/fields.js +1 -1
  86. package/internals/utils/getDefaultReferenceDate.js +2 -6
  87. package/internals/utils/views.js +1 -1
  88. package/locales/csCZ.js +1 -4
  89. package/locales/daDK.js +1 -4
  90. package/locales/deDE.js +1 -4
  91. package/locales/huHU.js +1 -4
  92. package/locales/jaJP.js +1 -4
  93. package/locales/roRO.js +1 -4
  94. package/locales/skSK.js +1 -4
  95. package/modern/AdapterLuxon/AdapterLuxon.js +9 -4
  96. package/modern/DateCalendar/DateCalendar.js +1 -1
  97. package/modern/DateField/DateField.js +1 -1
  98. package/modern/DatePicker/DatePicker.js +1 -1
  99. package/modern/DateTimeField/DateTimeField.js +1 -1
  100. package/modern/DateTimePicker/DateTimePicker.js +1 -1
  101. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  102. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +64 -25
  103. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +101 -0
  104. package/modern/DesktopDateTimePicker/index.js +2 -1
  105. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  106. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
  107. package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
  108. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  109. package/modern/index.js +1 -1
  110. package/modern/internals/components/PickersPopper.js +1 -1
  111. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +34 -30
  112. package/modern/internals/hooks/useField/useFieldV7TextField.js +1 -1
  113. package/modern/internals/hooks/useOpenState.js +1 -1
  114. package/modern/internals/utils/fields.js +1 -1
  115. package/node/AdapterLuxon/AdapterLuxon.js +9 -4
  116. package/node/DateCalendar/DateCalendar.js +1 -1
  117. package/node/DateField/DateField.js +1 -1
  118. package/node/DatePicker/DatePicker.js +1 -1
  119. package/node/DateTimeField/DateTimeField.js +1 -1
  120. package/node/DateTimePicker/DateTimePicker.js +1 -1
  121. package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
  122. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +63 -25
  123. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +108 -0
  124. package/node/DesktopDateTimePicker/index.js +8 -1
  125. package/node/MobileDatePicker/MobileDatePicker.js +1 -1
  126. package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -1
  127. package/node/StaticDatePicker/StaticDatePicker.js +1 -1
  128. package/node/StaticDateTimePicker/StaticDateTimePicker.js +1 -1
  129. package/node/index.js +1 -1
  130. package/node/internals/components/PickersPopper.js +1 -1
  131. package/node/internals/hooks/useField/buildSectionsFromFormat.js +34 -30
  132. package/node/internals/hooks/useField/useFieldV7TextField.js +1 -1
  133. package/node/internals/hooks/useOpenState.js +1 -1
  134. package/node/internals/utils/fields.js +1 -1
  135. package/package.json +5 -5
  136. package/timeViewRenderers/timeViewRenderers.js +1 -1
  137. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +0 -15
  138. package/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -163
  139. package/dateTimeViewRenderers/index.d.ts +0 -2
  140. package/dateTimeViewRenderers/index.js +0 -1
  141. package/dateTimeViewRenderers/package.json +0 -6
  142. package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -162
  143. package/modern/dateTimeViewRenderers/index.js +0 -1
  144. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +0 -171
  145. package/node/dateTimeViewRenderers/index.js +0 -12
@@ -6,7 +6,6 @@ import { applyDefaultViewProps } from '../internals/utils/views';
6
6
  import { applyDefaultDate } from '../internals/utils/date-utils';
7
7
  import { DatePickerToolbar } from './DatePickerToolbar';
8
8
  export function useDatePickerDefaultizedProps(props, name) {
9
- var _themeProps$disableFu, _themeProps$disablePa;
10
9
  const utils = useUtils();
11
10
  const defaultDates = useDefaultDates();
12
11
  const themeProps = useThemeProps({
@@ -14,8 +13,7 @@ export function useDatePickerDefaultizedProps(props, name) {
14
13
  name
15
14
  });
16
15
  const localeText = React.useMemo(() => {
17
- var _themeProps$localeTex;
18
- if (((_themeProps$localeTex = themeProps.localeText) == null ? void 0 : _themeProps$localeTex.toolbarTitle) == null) {
16
+ if (themeProps.localeText?.toolbarTitle == null) {
19
17
  return themeProps.localeText;
20
18
  }
21
19
  return _extends({}, themeProps.localeText, {
@@ -30,8 +28,8 @@ export function useDatePickerDefaultizedProps(props, name) {
30
28
  defaultViews: ['year', 'day'],
31
29
  defaultOpenTo: 'day'
32
30
  }), {
33
- disableFuture: (_themeProps$disableFu = themeProps.disableFuture) != null ? _themeProps$disableFu : false,
34
- disablePast: (_themeProps$disablePa = themeProps.disablePast) != null ? _themeProps$disablePa : false,
31
+ disableFuture: themeProps.disableFuture ?? false,
32
+ disablePast: themeProps.disablePast ?? false,
35
33
  minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),
36
34
  maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate),
37
35
  slots: _extends({
@@ -23,7 +23,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
23
23
  * - [DateTimeField API](https://mui.com/x/api/date-pickers/date-time-field/)
24
24
  */
25
25
  const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, inRef) {
26
- var _slots$textField;
27
26
  const themeProps = useThemeProps({
28
27
  props: inProps,
29
28
  name: 'MuiDateTimeField'
@@ -36,10 +35,10 @@ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inPro
36
35
  } = themeProps,
37
36
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
38
37
  const ownerState = themeProps;
39
- const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField;
38
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
40
39
  const textFieldProps = useSlotProps({
41
40
  elementType: TextField,
42
- externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
41
+ externalSlotProps: slotProps?.textField,
43
42
  externalForwardedProps: other,
44
43
  ownerState,
45
44
  additionalProps: {
@@ -275,7 +274,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
275
274
  /**
276
275
  * Disable specific date.
277
276
  *
278
- * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
277
+ * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
279
278
  *
280
279
  * @template TDate
281
280
  * @param {TDate} day The date to test.
@@ -304,7 +304,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
304
304
  /**
305
305
  * Disable specific date.
306
306
  *
307
- * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
307
+ * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
308
308
  *
309
309
  * @template TDate
310
310
  * @param {TDate} day The date to test.
@@ -208,7 +208,7 @@ function DateTimePickerToolbar(inProps) {
208
208
  const classes = useUtilityClasses(_extends({}, ownerState, {
209
209
  theme
210
210
  }));
211
- const toolbarTitle = inToolbarTitle != null ? inToolbarTitle : localeText.dateTimePickerToolbarTitle;
211
+ const toolbarTitle = inToolbarTitle ?? localeText.dateTimePickerToolbarTitle;
212
212
  const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
213
213
  const dateText = React.useMemo(() => {
214
214
  if (!value) {
@@ -35,6 +35,7 @@ export interface BaseDateTimePickerSlotProps<TDate extends PickerValidDate> exte
35
35
  */
36
36
  toolbar?: ExportedDateTimePickerToolbarProps;
37
37
  }
38
+ export type DateTimePickerViewRenderers<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TAdditionalProps extends {} = {}> = PickerViewRendererLookup<TDate | null, TView, Omit<DateViewRendererProps<TDate, TView>, 'slots' | 'slotProps'> & Omit<TimeViewRendererProps<TimeViewWithMeridiem, BaseClockProps<TDate, TimeViewWithMeridiem>>, 'slots' | 'slotProps'>, TAdditionalProps>;
38
39
  export interface BaseDateTimePickerProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends BasePickerInputProps<TDate | null, TDate, TView, DateTimeValidationError>, Omit<ExportedDateCalendarProps<TDate>, 'onViewChange'>, ExportedBaseClockProps<TDate>, DateTimeValidationProps<TDate> {
39
40
  /**
40
41
  * Display ampm controls under the clock (instead of in the toolbar).
@@ -56,7 +57,7 @@ export interface BaseDateTimePickerProps<TDate extends PickerValidDate, TView ex
56
57
  * If `null`, the section will only have field editing.
57
58
  * If `undefined`, internally defined view will be the used.
58
59
  */
59
- viewRenderers?: Partial<PickerViewRendererLookup<TDate | null, TView, DateViewRendererProps<TDate, TView> & TimeViewRendererProps<TimeViewWithMeridiem, BaseClockProps<TDate, TimeViewWithMeridiem>>, {}>>;
60
+ viewRenderers?: Partial<DateTimePickerViewRenderers<TDate, TView>>;
60
61
  }
61
62
  type UseDateTimePickerDefaultizedProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, Props extends BaseDateTimePickerProps<TDate, TView>> = LocalizedComponent<TDate, DefaultizedProps<Props, 'views' | 'openTo' | 'orientation' | 'ampm' | keyof BaseDateValidationProps<TDate> | keyof BaseTimeValidationProps>>;
62
63
  export declare function useDateTimePickerDefaultizedProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, Props extends BaseDateTimePickerProps<TDate, TView>>(props: Props, name: string): UseDateTimePickerDefaultizedProps<TDate, TView, Props>;
@@ -7,17 +7,15 @@ import { DateTimePickerTabs } from './DateTimePickerTabs';
7
7
  import { DateTimePickerToolbar } from './DateTimePickerToolbar';
8
8
  import { applyDefaultViewProps } from '../internals/utils/views';
9
9
  export function useDateTimePickerDefaultizedProps(props, name) {
10
- var _themeProps$ampm, _themeProps$orientati, _themeProps$disableIg, _themeProps$disableFu, _themeProps$disablePa, _themeProps$minDateTi, _themeProps$maxDateTi, _themeProps$minDateTi2, _themeProps$maxDateTi2, _themeProps$slotProps;
11
10
  const utils = useUtils();
12
11
  const defaultDates = useDefaultDates();
13
12
  const themeProps = useThemeProps({
14
13
  props,
15
14
  name
16
15
  });
17
- const ampm = (_themeProps$ampm = themeProps.ampm) != null ? _themeProps$ampm : utils.is12HourCycleInCurrentLocale();
16
+ const ampm = themeProps.ampm ?? utils.is12HourCycleInCurrentLocale();
18
17
  const localeText = React.useMemo(() => {
19
- var _themeProps$localeTex;
20
- if (((_themeProps$localeTex = themeProps.localeText) == null ? void 0 : _themeProps$localeTex.toolbarTitle) == null) {
18
+ if (themeProps.localeText?.toolbarTitle == null) {
21
19
  return themeProps.localeText;
22
20
  }
23
21
  return _extends({}, themeProps.localeText, {
@@ -32,17 +30,17 @@ export function useDateTimePickerDefaultizedProps(props, name) {
32
30
  }), {
33
31
  ampm,
34
32
  localeText,
35
- orientation: (_themeProps$orientati = themeProps.orientation) != null ? _themeProps$orientati : 'portrait',
33
+ orientation: themeProps.orientation ?? 'portrait',
36
34
  // TODO: Remove from public API
37
- disableIgnoringDatePartForTimeValidation: (_themeProps$disableIg = themeProps.disableIgnoringDatePartForTimeValidation) != null ? _themeProps$disableIg : Boolean(themeProps.minDateTime || themeProps.maxDateTime ||
35
+ disableIgnoringDatePartForTimeValidation: themeProps.disableIgnoringDatePartForTimeValidation ?? Boolean(themeProps.minDateTime || themeProps.maxDateTime ||
38
36
  // allow time clock to correctly check time validity: https://github.com/mui/mui-x/issues/8520
39
37
  themeProps.disablePast || themeProps.disableFuture),
40
- disableFuture: (_themeProps$disableFu = themeProps.disableFuture) != null ? _themeProps$disableFu : false,
41
- disablePast: (_themeProps$disablePa = themeProps.disablePast) != null ? _themeProps$disablePa : false,
42
- minDate: applyDefaultDate(utils, (_themeProps$minDateTi = themeProps.minDateTime) != null ? _themeProps$minDateTi : themeProps.minDate, defaultDates.minDate),
43
- maxDate: applyDefaultDate(utils, (_themeProps$maxDateTi = themeProps.maxDateTime) != null ? _themeProps$maxDateTi : themeProps.maxDate, defaultDates.maxDate),
44
- minTime: (_themeProps$minDateTi2 = themeProps.minDateTime) != null ? _themeProps$minDateTi2 : themeProps.minTime,
45
- maxTime: (_themeProps$maxDateTi2 = themeProps.maxDateTime) != null ? _themeProps$maxDateTi2 : themeProps.maxTime,
38
+ disableFuture: themeProps.disableFuture ?? false,
39
+ disablePast: themeProps.disablePast ?? false,
40
+ minDate: applyDefaultDate(utils, themeProps.minDateTime ?? themeProps.minDate, defaultDates.minDate),
41
+ maxDate: applyDefaultDate(utils, themeProps.maxDateTime ?? themeProps.maxDate, defaultDates.maxDate),
42
+ minTime: themeProps.minDateTime ?? themeProps.minTime,
43
+ maxTime: themeProps.maxDateTime ?? themeProps.maxTime,
46
44
  slots: _extends({
47
45
  toolbar: DateTimePickerToolbar,
48
46
  tabs: DateTimePickerTabs
@@ -50,7 +48,7 @@ export function useDateTimePickerDefaultizedProps(props, name) {
50
48
  slotProps: _extends({}, themeProps.slotProps, {
51
49
  toolbar: _extends({
52
50
  ampm
53
- }, (_themeProps$slotProps = themeProps.slotProps) == null ? void 0 : _themeProps$slotProps.toolbar)
51
+ }, themeProps.slotProps?.toolbar)
54
52
  })
55
53
  });
56
54
  }
@@ -24,7 +24,6 @@ import { resolveDateFormat } from '../internals/utils/date-utils';
24
24
  * - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
25
25
  */
26
26
  const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
27
- var _defaultizedProps$yea, _defaultizedProps$slo2, _props$localeText$ope, _props$localeText;
28
27
  const localeText = useLocaleText();
29
28
  const utils = useUtils();
30
29
 
@@ -40,21 +39,18 @@ const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePick
40
39
  const props = _extends({}, defaultizedProps, {
41
40
  viewRenderers,
42
41
  format: resolveDateFormat(utils, defaultizedProps, false),
43
- yearsPerRow: (_defaultizedProps$yea = defaultizedProps.yearsPerRow) != null ? _defaultizedProps$yea : 4,
42
+ yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
44
43
  slots: _extends({
45
44
  openPickerIcon: CalendarIcon,
46
45
  field: DateField
47
46
  }, defaultizedProps.slots),
48
47
  slotProps: _extends({}, defaultizedProps.slotProps, {
49
- field: ownerState => {
50
- var _defaultizedProps$slo;
51
- return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
52
- ref
53
- });
54
- },
48
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
49
+ ref
50
+ }),
55
51
  toolbar: _extends({
56
52
  hidden: true
57
- }, (_defaultizedProps$slo2 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo2.toolbar)
53
+ }, defaultizedProps.slotProps?.toolbar)
58
54
  })
59
55
  });
60
56
  const {
@@ -63,7 +59,7 @@ const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePick
63
59
  props,
64
60
  valueManager: singleItemValueManager,
65
61
  valueType: 'date',
66
- getOpenDialogAriaText: (_props$localeText$ope = (_props$localeText = props.localeText) == null ? void 0 : _props$localeText.openDatePickerDialogue) != null ? _props$localeText$ope : localeText.openDatePickerDialogue,
62
+ getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? localeText.openDatePickerDialogue,
67
63
  validator: validateDate
68
64
  });
69
65
  return renderPicker();
@@ -285,7 +281,7 @@ DesktopDatePicker.propTypes = {
285
281
  /**
286
282
  * Disable specific date.
287
283
  *
288
- * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
284
+ * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
289
285
  *
290
286
  * @template TDate
291
287
  * @param {TDate} day The date to test.
@@ -1,19 +1,64 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["openTo", "focusedView", "timeViewsCount"];
2
4
  import * as React from 'react';
3
5
  import PropTypes from 'prop-types';
4
6
  import { resolveComponentProps } from '@mui/base/utils';
5
7
  import { refType } from '@mui/utils';
8
+ import Divider from '@mui/material/Divider';
6
9
  import { singleItemValueManager } from '../internals/utils/valueManagers';
7
10
  import { DateTimeField } from '../DateTimeField';
8
11
  import { useDateTimePickerDefaultizedProps } from '../DateTimePicker/shared';
9
12
  import { renderDateViewCalendar } from '../dateViewRenderers/dateViewRenderers';
10
- import { renderDesktopDateTimeView } from '../dateTimeViewRenderers';
11
13
  import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
12
14
  import { validateDateTime } from '../internals/utils/validation/validateDateTime';
13
15
  import { CalendarIcon } from '../icons';
14
16
  import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
15
17
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
16
18
  import { resolveDateTimeFormat, resolveTimeViewsResponse } from '../internals/utils/date-time-utils';
19
+ import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '../timeViewRenderers';
20
+ import { VIEW_HEIGHT, isDatePickerView, isInternalTimeView } from '../internals';
21
+ import { multiSectionDigitalClockClasses, multiSectionDigitalClockSectionClasses } from '../MultiSectionDigitalClock';
22
+ import { digitalClockClasses } from '../DigitalClock';
23
+ import { DesktopDateTimePickerLayout } from './DesktopDateTimePickerLayout';
24
+ import { jsx as _jsx } from "react/jsx-runtime";
25
+ import { jsxs as _jsxs } from "react/jsx-runtime";
26
+ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
27
+ const {
28
+ openTo,
29
+ focusedView,
30
+ timeViewsCount
31
+ } = rendererProps,
32
+ otherProps = _objectWithoutPropertiesLoose(rendererProps, _excluded);
33
+ const finalProps = _extends({}, otherProps, {
34
+ focusedView: null,
35
+ sx: [{
36
+ [`&.${multiSectionDigitalClockClasses.root}`]: {
37
+ borderBottom: 0
38
+ },
39
+ [`&.${multiSectionDigitalClockClasses.root}, .${multiSectionDigitalClockSectionClasses.root}, &.${digitalClockClasses.root}`]: {
40
+ maxHeight: VIEW_HEIGHT
41
+ }
42
+ }]
43
+ });
44
+ const isTimeViewActive = isInternalTimeView(popperView);
45
+ return /*#__PURE__*/_jsxs(React.Fragment, {
46
+ children: [inViewRenderers[!isTimeViewActive ? popperView : 'day']?.(_extends({}, rendererProps, {
47
+ view: !isTimeViewActive ? popperView : 'day',
48
+ focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,
49
+ views: rendererProps.views.filter(isDatePickerView)
50
+ })), timeViewsCount > 0 && /*#__PURE__*/_jsxs(React.Fragment, {
51
+ children: [/*#__PURE__*/_jsx(Divider, {
52
+ orientation: "vertical"
53
+ }), inViewRenderers[isTimeViewActive ? popperView : 'hours']?.(_extends({}, finalProps, {
54
+ view: isTimeViewActive ? popperView : 'hours',
55
+ focusedView: focusedView && isInternalTimeView(focusedView) ? focusedView : null,
56
+ openTo: isInternalTimeView(openTo) ? openTo : 'hours',
57
+ views: rendererProps.views.filter(isInternalTimeView)
58
+ }))]
59
+ })]
60
+ });
61
+ };
17
62
  /**
18
63
  * Demos:
19
64
  *
@@ -25,7 +70,6 @@ import { resolveDateTimeFormat, resolveTimeViewsResponse } from '../internals/ut
25
70
  * - [DesktopDateTimePicker API](https://mui.com/x/api/date-pickers/desktop-date-time-picker/)
26
71
  */
27
72
  const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
28
- var _defaultizedProps$amp, _defaultizedProps$yea, _defaultizedProps$slo2, _defaultizedProps$slo3, _defaultizedProps$slo4, _props$localeText$ope, _props$localeText;
29
73
  const localeText = useLocaleText();
30
74
  const utils = useUtils();
31
75
 
@@ -34,65 +78,55 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
34
78
  const {
35
79
  shouldRenderTimeInASingleColumn,
36
80
  thresholdToRenderTimeInASingleColumn,
37
- views,
81
+ views: resolvedViews,
38
82
  timeSteps
39
83
  } = resolveTimeViewsResponse(defaultizedProps);
40
- const shouldUseNewRenderer = !defaultizedProps.viewRenderers || Object.keys(defaultizedProps.viewRenderers).length === 0;
41
- const viewRenderers =
42
- // we can only ensure the expected two-column layout if none of the renderers are overridden
43
- shouldUseNewRenderer ? {
44
- day: renderDesktopDateTimeView,
45
- month: renderDesktopDateTimeView,
46
- year: renderDesktopDateTimeView,
47
- hours: renderDesktopDateTimeView,
48
- minutes: renderDesktopDateTimeView,
49
- seconds: renderDesktopDateTimeView,
50
- meridiem: renderDesktopDateTimeView
51
- } : _extends({
84
+ const renderTimeView = shouldRenderTimeInASingleColumn ? renderDigitalClockTimeView : renderMultiSectionDigitalClockTimeView;
85
+ const viewRenderers = _extends({
52
86
  day: renderDateViewCalendar,
53
87
  month: renderDateViewCalendar,
54
88
  year: renderDateViewCalendar,
55
- hours: null,
56
- minutes: null,
57
- seconds: null,
58
- meridiem: null
89
+ hours: renderTimeView,
90
+ minutes: renderTimeView,
91
+ seconds: renderTimeView,
92
+ meridiem: renderTimeView
59
93
  }, defaultizedProps.viewRenderers);
60
- const ampmInClock = (_defaultizedProps$amp = defaultizedProps.ampmInClock) != null ? _defaultizedProps$amp : true;
61
- // add "accept" action only when the new date time view renderers are used
62
- const actionBarActions = shouldUseNewRenderer ? ['accept'] : [];
94
+ const ampmInClock = defaultizedProps.ampmInClock ?? true;
95
+ // Need to avoid adding the `meridiem` view when unexpected renderer is specified
96
+ const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === renderMultiSectionDigitalClockTimeView.name;
97
+ const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
98
+ const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
63
99
 
64
100
  // Props with the default values specific to the desktop variant
65
101
  const props = _extends({}, defaultizedProps, {
66
102
  viewRenderers,
67
103
  format: resolveDateTimeFormat(utils, defaultizedProps),
68
104
  views,
69
- yearsPerRow: (_defaultizedProps$yea = defaultizedProps.yearsPerRow) != null ? _defaultizedProps$yea : 4,
105
+ yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
70
106
  ampmInClock,
71
107
  timeSteps,
72
108
  thresholdToRenderTimeInASingleColumn,
73
109
  shouldRenderTimeInASingleColumn,
74
110
  slots: _extends({
75
111
  field: DateTimeField,
112
+ layout: DesktopDateTimePickerLayout,
76
113
  openPickerIcon: CalendarIcon
77
114
  }, defaultizedProps.slots),
78
115
  slotProps: _extends({}, defaultizedProps.slotProps, {
79
- field: ownerState => {
80
- var _defaultizedProps$slo;
81
- return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
82
- ref
83
- });
84
- },
116
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
117
+ ref
118
+ }),
85
119
  toolbar: _extends({
86
120
  hidden: true,
87
121
  ampmInClock,
88
- toolbarVariant: shouldUseNewRenderer ? 'desktop' : 'mobile'
89
- }, (_defaultizedProps$slo2 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo2.toolbar),
122
+ toolbarVariant: 'desktop'
123
+ }, defaultizedProps.slotProps?.toolbar),
90
124
  tabs: _extends({
91
125
  hidden: true
92
- }, (_defaultizedProps$slo3 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo3.tabs),
93
- actionBar: _extends({
126
+ }, defaultizedProps.slotProps?.tabs),
127
+ actionBar: ownerState => _extends({
94
128
  actions: actionBarActions
95
- }, (_defaultizedProps$slo4 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo4.actionBar)
129
+ }, resolveComponentProps(defaultizedProps.slotProps?.actionBar, ownerState))
96
130
  })
97
131
  });
98
132
  const {
@@ -101,8 +135,9 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
101
135
  props,
102
136
  valueManager: singleItemValueManager,
103
137
  valueType: 'date-time',
104
- getOpenDialogAriaText: (_props$localeText$ope = (_props$localeText = props.localeText) == null ? void 0 : _props$localeText.openDatePickerDialogue) != null ? _props$localeText$ope : localeText.openDatePickerDialogue,
105
- validator: validateDateTime
138
+ getOpenDialogAriaText: props.localeText?.openDatePickerDialogue ?? localeText.openDatePickerDialogue,
139
+ validator: validateDateTime,
140
+ rendererInterceptor
106
141
  });
107
142
  return renderPicker();
108
143
  });
@@ -361,7 +396,7 @@ DesktopDateTimePicker.propTypes = {
361
396
  /**
362
397
  * Disable specific date.
363
398
  *
364
- * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
399
+ * Warning: This function can be called multiple times (for example when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
365
400
  *
366
401
  * @template TDate
367
402
  * @param {TDate} day The date to test.
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { PickersLayoutProps } from '../PickersLayout';
3
+ import { PickerValidDate } from '../models';
4
+ import { DateOrTimeViewWithMeridiem } from '../internals';
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+ declare function DesktopDateTimePickerLayout<TValue, TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem>(props: PickersLayoutProps<TValue, TDate, TView>): React.JSX.Element;
9
+ declare namespace DesktopDateTimePickerLayout {
10
+ var propTypes: any;
11
+ }
12
+ export { DesktopDateTimePickerLayout };
@@ -0,0 +1,101 @@
1
+ import * as React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import clsx from 'clsx';
4
+ import Divider from '@mui/material/Divider';
5
+ import { PickersLayoutContentWrapper, PickersLayoutRoot, pickersLayoutClasses, usePickerLayout } from '../PickersLayout';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ /**
9
+ * @ignore - internal component.
10
+ */
11
+ function DesktopDateTimePickerLayout(props) {
12
+ const {
13
+ toolbar,
14
+ tabs,
15
+ content,
16
+ actionBar,
17
+ shortcuts
18
+ } = usePickerLayout(props);
19
+ const {
20
+ sx,
21
+ className,
22
+ isLandscape,
23
+ ref
24
+ } = props;
25
+ const isActionBarVisible = actionBar && (actionBar.props.actions?.length ?? 0) > 0;
26
+ return /*#__PURE__*/_jsxs(PickersLayoutRoot, {
27
+ ref: ref,
28
+ className: clsx(className, pickersLayoutClasses.root),
29
+ sx: [{
30
+ [`& .${pickersLayoutClasses.tabs}`]: {
31
+ gridRow: 4,
32
+ gridColumn: '1 / 4'
33
+ },
34
+ [`& .${pickersLayoutClasses.actionBar}`]: {
35
+ gridRow: 5
36
+ }
37
+ }, ...(Array.isArray(sx) ? sx : [sx])],
38
+ ownerState: props,
39
+ children: [isLandscape ? shortcuts : toolbar, isLandscape ? toolbar : shortcuts, /*#__PURE__*/_jsxs(PickersLayoutContentWrapper, {
40
+ className: pickersLayoutClasses.contentWrapper,
41
+ sx: {
42
+ display: 'grid'
43
+ },
44
+ children: [content, tabs, isActionBarVisible && /*#__PURE__*/_jsx(Divider, {
45
+ sx: {
46
+ gridRow: 3,
47
+ gridColumn: '1 / 4'
48
+ }
49
+ })]
50
+ }), actionBar]
51
+ });
52
+ }
53
+ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes = {
54
+ // ----------------------------- Warning --------------------------------
55
+ // | These PropTypes are generated from the TypeScript type definitions |
56
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
57
+ // ----------------------------------------------------------------------
58
+ children: PropTypes.node,
59
+ /**
60
+ * Override or extend the styles applied to the component.
61
+ */
62
+ classes: PropTypes.object,
63
+ className: PropTypes.string,
64
+ disabled: PropTypes.bool,
65
+ isLandscape: PropTypes.bool.isRequired,
66
+ isValid: PropTypes.func.isRequired,
67
+ onAccept: PropTypes.func.isRequired,
68
+ onCancel: PropTypes.func.isRequired,
69
+ onChange: PropTypes.func.isRequired,
70
+ onClear: PropTypes.func.isRequired,
71
+ onClose: PropTypes.func.isRequired,
72
+ onDismiss: PropTypes.func.isRequired,
73
+ onOpen: PropTypes.func.isRequired,
74
+ onSelectShortcut: PropTypes.func.isRequired,
75
+ onSetToday: PropTypes.func.isRequired,
76
+ onViewChange: PropTypes.func.isRequired,
77
+ /**
78
+ * Force rendering in particular orientation.
79
+ */
80
+ orientation: PropTypes.oneOf(['landscape', 'portrait']),
81
+ readOnly: PropTypes.bool,
82
+ /**
83
+ * The props used for each component slot.
84
+ * @default {}
85
+ */
86
+ slotProps: PropTypes.object,
87
+ /**
88
+ * Overridable component slots.
89
+ * @default {}
90
+ */
91
+ slots: PropTypes.object,
92
+ /**
93
+ * The system prop that allows defining system overrides as well as additional CSS styles.
94
+ */
95
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
96
+ value: PropTypes.any,
97
+ view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
98
+ views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired,
99
+ wrapperVariant: PropTypes.oneOf(['desktop', 'mobile'])
100
+ } : void 0;
101
+ export { DesktopDateTimePickerLayout };
@@ -1,2 +1,3 @@
1
1
  export { DesktopDateTimePicker } from './DesktopDateTimePicker';
2
+ export { DesktopDateTimePickerLayout } from './DesktopDateTimePickerLayout';
2
3
  export type { DesktopDateTimePickerProps, DesktopDateTimePickerSlots, DesktopDateTimePickerSlotProps, } from './DesktopDateTimePicker.types';
@@ -1 +1,2 @@
1
- export { DesktopDateTimePicker } from './DesktopDateTimePicker';
1
+ export { DesktopDateTimePicker } from './DesktopDateTimePicker';
2
+ export { DesktopDateTimePickerLayout } from './DesktopDateTimePickerLayout';
@@ -25,7 +25,6 @@ import { resolveTimeViewsResponse } from '../internals/utils/date-time-utils';
25
25
  * - [DesktopTimePicker API](https://mui.com/x/api/date-pickers/desktop-time-picker/)
26
26
  */
27
27
  const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
28
- var _defaultizedProps$amp, _viewRenderers$hours, _defaultizedProps$slo2, _defaultizedProps$slo3, _props$localeText$ope, _props$localeText;
29
28
  const localeText = useLocaleText();
30
29
  const utils = useUtils();
31
30
 
@@ -43,10 +42,10 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
43
42
  seconds: renderTimeView,
44
43
  meridiem: renderTimeView
45
44
  }, defaultizedProps.viewRenderers);
46
- const ampmInClock = (_defaultizedProps$amp = defaultizedProps.ampmInClock) != null ? _defaultizedProps$amp : true;
45
+ const ampmInClock = defaultizedProps.ampmInClock ?? true;
47
46
  const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
48
47
  // Need to avoid adding the `meridiem` view when unexpected renderer is specified
49
- const shouldHoursRendererContainMeridiemView = ((_viewRenderers$hours = viewRenderers.hours) == null ? void 0 : _viewRenderers$hours.name) === renderMultiSectionDigitalClockTimeView.name;
48
+ const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === renderMultiSectionDigitalClockTimeView.name;
50
49
  const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
51
50
 
52
51
  // Props with the default values specific to the desktop variant
@@ -63,19 +62,16 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
63
62
  openPickerIcon: ClockIcon
64
63
  }, defaultizedProps.slots),
65
64
  slotProps: _extends({}, defaultizedProps.slotProps, {
66
- field: ownerState => {
67
- var _defaultizedProps$slo;
68
- return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
69
- ref
70
- });
71
- },
65
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
66
+ ref
67
+ }),
72
68
  toolbar: _extends({
73
69
  hidden: true,
74
70
  ampmInClock
75
- }, (_defaultizedProps$slo2 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo2.toolbar),
71
+ }, defaultizedProps.slotProps?.toolbar),
76
72
  actionBar: _extends({
77
73
  actions: actionBarActions
78
- }, (_defaultizedProps$slo3 = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo3.actionBar)
74
+ }, defaultizedProps.slotProps?.actionBar)
79
75
  })
80
76
  });
81
77
  const {
@@ -84,7 +80,7 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
84
80
  props,
85
81
  valueManager: singleItemValueManager,
86
82
  valueType: 'time',
87
- getOpenDialogAriaText: (_props$localeText$ope = (_props$localeText = props.localeText) == null ? void 0 : _props$localeText.openTimePickerDialogue) != null ? _props$localeText$ope : localeText.openTimePickerDialogue,
83
+ getOpenDialogAriaText: props.localeText?.openTimePickerDialogue ?? localeText.openTimePickerDialogue,
88
84
  validator: validateTime
89
85
  });
90
86
  return renderPicker();
@@ -90,7 +90,6 @@ const DigitalClockItem = styled(MenuItem, {
90
90
  * - [DigitalClock API](https://mui.com/x/api/date-pickers/digital-clock/)
91
91
  */
92
92
  export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(inProps, ref) {
93
- var _slots$digitalClockIt;
94
93
  const utils = useUtils();
95
94
  const containerRef = React.useRef(null);
96
95
  const handleRef = useForkRef(ref, containerRef);
@@ -146,10 +145,10 @@ export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(
146
145
  alreadyRendered: !!containerRef.current
147
146
  }), [props]);
148
147
  const classes = useUtilityClasses(ownerState);
149
- const ClockItem = (_slots$digitalClockIt = slots == null ? void 0 : slots.digitalClockItem) != null ? _slots$digitalClockIt : DigitalClockItem;
148
+ const ClockItem = slots?.digitalClockItem ?? DigitalClockItem;
150
149
  const clockItemProps = useSlotProps({
151
150
  elementType: ClockItem,
152
- externalSlotProps: slotProps == null ? void 0 : slotProps.digitalClockItem,
151
+ externalSlotProps: slotProps?.digitalClockItem,
153
152
  ownerState: {},
154
153
  className: classes.item
155
154
  });
@@ -22,7 +22,6 @@ if (process.env.NODE_ENV !== 'production') {
22
22
  * - [LocalizationProvider API](https://mui.com/x/api/date-pickers/localization-provider/)
23
23
  */
24
24
  export const LocalizationProvider = function LocalizationProvider(inProps) {
25
- var _React$useContext;
26
25
  const {
27
26
  localeText: inLocaleText
28
27
  } = inProps,
@@ -30,7 +29,7 @@ export const LocalizationProvider = function LocalizationProvider(inProps) {
30
29
  const {
31
30
  utils: parentUtils,
32
31
  localeText: parentLocaleText
33
- } = (_React$useContext = React.useContext(MuiPickersAdapterContext)) != null ? _React$useContext : {
32
+ } = React.useContext(MuiPickersAdapterContext) ?? {
34
33
  utils: undefined,
35
34
  localeText: undefined
36
35
  };