@mui/x-date-pickers 6.16.0 → 6.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdapterDayjs/AdapterDayjs.js +6 -4
- package/AdapterMoment/AdapterMoment.js +2 -5
- package/CHANGELOG.md +165 -1
- package/DateCalendar/DateCalendar.js +3 -1
- package/DateCalendar/DayCalendar.js +2 -2
- package/DateCalendar/PickersFadeTransitionGroup.js +6 -6
- package/DateCalendar/PickersSlideTransition.d.ts +0 -1
- package/DateCalendar/PickersSlideTransition.js +5 -5
- package/DateField/DateField.d.ts +10 -0
- package/DateField/DateField.js +10 -0
- package/DateTimeField/DateTimeField.d.ts +10 -0
- package/DateTimeField/DateTimeField.js +10 -0
- package/DateTimePicker/DateTimePicker.d.ts +10 -0
- package/DateTimePicker/DateTimePicker.js +15 -0
- package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +10 -0
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +25 -7
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -3
- package/DesktopTimePicker/DesktopTimePicker.d.ts +10 -0
- package/DesktopTimePicker/DesktopTimePicker.js +18 -9
- package/DigitalClock/DigitalClock.js +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +10 -0
- package/MobileDateTimePicker/MobileDateTimePicker.js +10 -0
- package/MobileTimePicker/MobileTimePicker.d.ts +10 -0
- package/MobileTimePicker/MobileTimePicker.js +10 -0
- package/MonthCalendar/MonthCalendar.js +4 -1
- package/StaticDateTimePicker/StaticDateTimePicker.d.ts +10 -0
- package/StaticDateTimePicker/StaticDateTimePicker.js +10 -0
- package/StaticTimePicker/StaticTimePicker.d.ts +10 -0
- package/StaticTimePicker/StaticTimePicker.js +10 -0
- package/TimeField/TimeField.d.ts +10 -0
- package/TimeField/TimeField.js +10 -0
- package/TimePicker/TimePicker.d.ts +10 -0
- package/TimePicker/TimePicker.js +10 -0
- package/YearCalendar/PickersYear.js +1 -1
- package/YearCalendar/YearCalendar.js +6 -3
- package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +2 -1
- package/dateTimeViewRenderers/dateTimeViewRenderers.js +52 -33
- package/index.js +1 -1
- package/internals/components/FakeTextField/FakeTextField.d.ts +7 -0
- package/internals/components/FakeTextField/FakeTextField.js +19 -0
- package/internals/components/FakeTextField/index.d.ts +1 -0
- package/internals/components/FakeTextField/index.js +1 -0
- package/internals/constants/dimensions.d.ts +2 -1
- package/internals/constants/dimensions.js +2 -1
- package/internals/hooks/useField/useField.js +6 -4
- package/internals/hooks/useField/useField.types.d.ts +6 -0
- package/internals/utils/date-time-utils.d.ts +11 -0
- package/internals/utils/date-time-utils.js +32 -2
- package/legacy/AdapterDayjs/AdapterDayjs.js +6 -4
- package/legacy/AdapterMoment/AdapterMoment.js +2 -5
- package/legacy/DateCalendar/DateCalendar.js +3 -1
- package/legacy/DateCalendar/DayCalendar.js +2 -2
- package/legacy/DateCalendar/PickersFadeTransitionGroup.js +6 -6
- package/legacy/DateCalendar/PickersSlideTransition.js +5 -5
- package/legacy/DateField/DateField.js +10 -0
- package/legacy/DateTimeField/DateTimeField.js +10 -0
- package/legacy/DateTimePicker/DateTimePicker.js +15 -0
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +24 -8
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +19 -10
- package/legacy/DigitalClock/DigitalClock.js +1 -1
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +10 -0
- package/legacy/MobileTimePicker/MobileTimePicker.js +10 -0
- package/legacy/MonthCalendar/MonthCalendar.js +4 -1
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +10 -0
- package/legacy/StaticTimePicker/StaticTimePicker.js +10 -0
- package/legacy/TimeField/TimeField.js +10 -0
- package/legacy/TimePicker/TimePicker.js +10 -0
- package/legacy/YearCalendar/PickersYear.js +1 -1
- package/legacy/YearCalendar/YearCalendar.js +6 -4
- package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +51 -33
- package/legacy/index.js +1 -1
- package/legacy/internals/components/FakeTextField/FakeTextField.js +19 -0
- package/legacy/internals/components/FakeTextField/index.js +1 -0
- package/legacy/internals/constants/dimensions.js +2 -1
- package/legacy/internals/hooks/useField/useField.js +5 -3
- package/legacy/internals/utils/date-time-utils.js +34 -2
- package/legacy/locales/esES.js +1 -1
- package/locales/esES.js +1 -1
- package/modern/AdapterDayjs/AdapterDayjs.js +6 -4
- package/modern/AdapterMoment/AdapterMoment.js +2 -5
- package/modern/DateCalendar/DateCalendar.js +3 -1
- package/modern/DateCalendar/DayCalendar.js +2 -2
- package/modern/DateCalendar/PickersFadeTransitionGroup.js +6 -6
- package/modern/DateCalendar/PickersSlideTransition.js +5 -5
- package/modern/DateField/DateField.js +10 -0
- package/modern/DateTimeField/DateTimeField.js +10 -0
- package/modern/DateTimePicker/DateTimePicker.js +15 -0
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +25 -7
- package/modern/DesktopTimePicker/DesktopTimePicker.js +17 -8
- package/modern/DigitalClock/DigitalClock.js +1 -1
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +10 -0
- package/modern/MobileTimePicker/MobileTimePicker.js +10 -0
- package/modern/MonthCalendar/MonthCalendar.js +4 -1
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +10 -0
- package/modern/StaticTimePicker/StaticTimePicker.js +10 -0
- package/modern/TimeField/TimeField.js +10 -0
- package/modern/TimePicker/TimePicker.js +10 -0
- package/modern/YearCalendar/PickersYear.js +1 -1
- package/modern/YearCalendar/YearCalendar.js +5 -3
- package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +52 -33
- package/modern/index.js +1 -1
- package/modern/internals/components/FakeTextField/FakeTextField.js +19 -0
- package/modern/internals/components/FakeTextField/index.js +1 -0
- package/modern/internals/constants/dimensions.js +2 -1
- package/modern/internals/hooks/useField/useField.js +6 -4
- package/modern/internals/utils/date-time-utils.js +29 -2
- package/modern/locales/esES.js +1 -1
- package/node/AdapterDayjs/AdapterDayjs.js +6 -4
- package/node/AdapterMoment/AdapterMoment.js +2 -5
- package/node/DateCalendar/DateCalendar.js +4 -3
- package/node/DateCalendar/DayCalendar.js +2 -2
- package/node/DateCalendar/PickersFadeTransitionGroup.js +6 -6
- package/node/DateCalendar/PickersSlideTransition.js +5 -7
- package/node/DateCalendar/dateCalendarClasses.js +1 -2
- package/node/DateCalendar/dayCalendarClasses.js +1 -2
- package/node/DateCalendar/pickersFadeTransitionGroupClasses.js +1 -2
- package/node/DateCalendar/pickersSlideTransitionClasses.js +1 -2
- package/node/DateField/DateField.js +11 -2
- package/node/DatePicker/DatePicker.js +1 -2
- package/node/DatePicker/DatePickerToolbar.js +1 -2
- package/node/DatePicker/datePickerToolbarClasses.js +1 -2
- package/node/DateTimeField/DateTimeField.js +11 -2
- package/node/DateTimePicker/DateTimePicker.js +16 -2
- package/node/DateTimePicker/DateTimePickerTabs.js +1 -2
- package/node/DateTimePicker/dateTimePickerTabsClasses.js +1 -2
- package/node/DateTimePicker/dateTimePickerToolbarClasses.js +1 -2
- package/node/DayCalendarSkeleton/dayCalendarSkeletonClasses.js +1 -2
- package/node/DesktopDatePicker/DesktopDatePicker.js +1 -2
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +25 -8
- package/node/DesktopTimePicker/DesktopTimePicker.js +18 -10
- package/node/DigitalClock/DigitalClock.js +2 -3
- package/node/DigitalClock/digitalClockClasses.js +1 -2
- package/node/LocalizationProvider/LocalizationProvider.js +2 -4
- package/node/MobileDatePicker/MobileDatePicker.js +1 -2
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +11 -2
- package/node/MobileTimePicker/MobileTimePicker.js +11 -2
- package/node/MonthCalendar/MonthCalendar.js +5 -3
- package/node/MonthCalendar/PickersMonth.js +2 -3
- package/node/MonthCalendar/monthCalendarClasses.js +1 -2
- package/node/MonthCalendar/pickersMonthClasses.js +1 -2
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -2
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +2 -3
- package/node/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +1 -2
- package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +1 -2
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +1 -2
- package/node/PickersCalendarHeader/pickersCalendarHeaderClasses.js +1 -2
- package/node/PickersDay/PickersDay.js +1 -2
- package/node/PickersDay/pickersDayClasses.js +1 -2
- package/node/PickersLayout/PickersLayout.js +3 -6
- package/node/PickersLayout/pickersLayoutClasses.js +1 -2
- package/node/PickersLayout/usePickerLayout.js +1 -2
- package/node/StaticDatePicker/StaticDatePicker.js +1 -2
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +11 -2
- package/node/StaticTimePicker/StaticTimePicker.js +11 -2
- package/node/TimeClock/TimeClock.js +1 -2
- package/node/TimeClock/clockClasses.js +1 -2
- package/node/TimeClock/clockNumberClasses.js +1 -2
- package/node/TimeClock/clockPointerClasses.js +1 -2
- package/node/TimeClock/shared.js +2 -4
- package/node/TimeClock/timeClockClasses.js +1 -2
- package/node/TimeField/TimeField.js +11 -2
- package/node/TimePicker/TimePicker.js +11 -2
- package/node/TimePicker/timePickerToolbarClasses.js +1 -2
- package/node/YearCalendar/PickersYear.js +3 -4
- package/node/YearCalendar/YearCalendar.js +6 -5
- package/node/YearCalendar/pickersYearClasses.js +1 -2
- package/node/YearCalendar/yearCalendarClasses.js +1 -2
- package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +51 -32
- package/node/icons/index.js +9 -17
- package/node/index.js +1 -1
- package/node/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +2 -3
- package/node/internals/components/FakeTextField/FakeTextField.js +27 -0
- package/node/internals/components/FakeTextField/index.js +12 -0
- package/node/internals/components/PickerViewRoot/PickerViewRoot.js +2 -3
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +2 -3
- package/node/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.js +1 -2
- package/node/internals/components/PickersToolbar.js +2 -3
- package/node/internals/components/PickersToolbarButton.js +2 -3
- package/node/internals/components/PickersToolbarText.js +2 -3
- package/node/internals/components/pickersPopperClasses.js +1 -2
- package/node/internals/components/pickersToolbarButtonClasses.js +1 -2
- package/node/internals/components/pickersToolbarClasses.js +1 -2
- package/node/internals/components/pickersToolbarTextClasses.js +1 -2
- package/node/internals/constants/dimensions.js +8 -13
- package/node/internals/hooks/useDefaultReduceAnimations.js +1 -2
- package/node/internals/hooks/useField/useField.js +6 -4
- package/node/internals/utils/date-time-utils.js +29 -1
- package/node/internals/utils/getDefaultReferenceDate.js +1 -2
- package/node/internals/utils/utils.js +1 -2
- package/node/internals/utils/validation/extractValidationProps.js +3 -6
- package/node/internals/utils/valueManagers.js +3 -5
- package/node/locales/beBY.js +1 -2
- package/node/locales/caES.js +1 -2
- package/node/locales/csCZ.js +1 -2
- package/node/locales/daDK.js +1 -2
- package/node/locales/deDE.js +1 -2
- package/node/locales/elGR.js +1 -2
- package/node/locales/enUS.js +2 -4
- package/node/locales/esES.js +2 -3
- package/node/locales/faIR.js +1 -2
- package/node/locales/fiFI.js +1 -2
- package/node/locales/frFR.js +1 -2
- package/node/locales/heIL.js +1 -2
- package/node/locales/huHU.js +1 -2
- package/node/locales/isIS.js +1 -2
- package/node/locales/itIT.js +1 -2
- package/node/locales/jaJP.js +1 -2
- package/node/locales/koKR.js +1 -2
- package/node/locales/kzKZ.js +1 -2
- package/node/locales/nbNO.js +1 -2
- package/node/locales/nlNL.js +1 -2
- package/node/locales/plPL.js +1 -2
- package/node/locales/ptBR.js +1 -2
- package/node/locales/roRO.js +1 -2
- package/node/locales/ruRU.js +1 -2
- package/node/locales/skSK.js +1 -2
- package/node/locales/svSE.js +1 -2
- package/node/locales/trTR.js +1 -2
- package/node/locales/ukUA.js +1 -2
- package/node/locales/urPK.js +1 -2
- package/node/locales/viVN.js +1 -2
- package/node/locales/zhCN.js +1 -2
- package/node/locales/zhHK.js +1 -2
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["onClick", "onKeyDown", "onFocus", "onBlur", "onMouseUp", "onPaste", "error", "clearable", "onClear"];
|
|
4
|
+
var _excluded = ["onClick", "onKeyDown", "onFocus", "onBlur", "onMouseUp", "onPaste", "error", "clearable", "onClear", "disabled"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
7
7
|
import useEventCallback from '@mui/utils/useEventCallback';
|
|
@@ -44,6 +44,7 @@ export var useField = function useField(params) {
|
|
|
44
44
|
error = _params$forwardedProp.error,
|
|
45
45
|
clearable = _params$forwardedProp.clearable,
|
|
46
46
|
onClear = _params$forwardedProp.onClear,
|
|
47
|
+
disabled = _params$forwardedProp.disabled,
|
|
47
48
|
otherForwardedProps = _objectWithoutProperties(_params$forwardedProp, _excluded),
|
|
48
49
|
fieldValueManager = params.fieldValueManager,
|
|
49
50
|
valueManager = params.valueManager,
|
|
@@ -429,7 +430,8 @@ export var useField = function useField(params) {
|
|
|
429
430
|
});
|
|
430
431
|
return _extends({
|
|
431
432
|
placeholder: placeholder,
|
|
432
|
-
autoComplete: 'off'
|
|
433
|
+
autoComplete: 'off',
|
|
434
|
+
disabled: Boolean(disabled)
|
|
433
435
|
}, otherForwardedProps, {
|
|
434
436
|
value: shouldShowPlaceholder ? '' : valueStr,
|
|
435
437
|
inputMode: inputMode,
|
|
@@ -444,6 +446,6 @@ export var useField = function useField(params) {
|
|
|
444
446
|
onClear: handleClearValue,
|
|
445
447
|
error: inputError,
|
|
446
448
|
ref: handleRef,
|
|
447
|
-
clearable: Boolean(clearable && !areAllSectionsEmpty && !readOnly)
|
|
449
|
+
clearable: Boolean(clearable && !areAllSectionsEmpty && !readOnly && !disabled)
|
|
448
450
|
});
|
|
449
451
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
1
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
4
|
var _excluded = ["views", "format"];
|
|
4
|
-
import { resolveTimeFormat, isTimeView } from './time-utils';
|
|
5
|
+
import { resolveTimeFormat, isTimeView, isInternalTimeView } from './time-utils';
|
|
5
6
|
import { resolveDateFormat } from './date-utils';
|
|
6
7
|
export var resolveDateTimeFormat = function resolveDateTimeFormat(utils, _ref) {
|
|
7
8
|
var views = _ref.views,
|
|
@@ -36,4 +37,35 @@ export var resolveDateTimeFormat = function resolveDateTimeFormat(utils, _ref) {
|
|
|
36
37
|
views: dateViews
|
|
37
38
|
}, other), false);
|
|
38
39
|
return "".concat(dateFormat, " ").concat(timeFormat);
|
|
39
|
-
};
|
|
40
|
+
};
|
|
41
|
+
var resolveViews = function resolveViews(ampm, views, shouldUseSingleColumn) {
|
|
42
|
+
if (shouldUseSingleColumn) {
|
|
43
|
+
return views.filter(function (view) {
|
|
44
|
+
return !isInternalTimeView(view) || view === 'hours';
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return ampm ? [].concat(_toConsumableArray(views), ['meridiem']) : views;
|
|
48
|
+
};
|
|
49
|
+
var resolveShouldRenderTimeInASingleColumn = function resolveShouldRenderTimeInASingleColumn(timeSteps, threshold) {
|
|
50
|
+
var _timeSteps$hours, _timeSteps$minutes;
|
|
51
|
+
return 24 * 60 / (((_timeSteps$hours = timeSteps.hours) != null ? _timeSteps$hours : 1) * ((_timeSteps$minutes = timeSteps.minutes) != null ? _timeSteps$minutes : 5)) <= threshold;
|
|
52
|
+
};
|
|
53
|
+
export function resolveTimeViewsResponse(_ref2) {
|
|
54
|
+
var inThreshold = _ref2.thresholdToRenderTimeInASingleColumn,
|
|
55
|
+
ampm = _ref2.ampm,
|
|
56
|
+
inTimeSteps = _ref2.timeSteps,
|
|
57
|
+
views = _ref2.views;
|
|
58
|
+
var thresholdToRenderTimeInASingleColumn = inThreshold != null ? inThreshold : 24;
|
|
59
|
+
var timeSteps = _extends({
|
|
60
|
+
hours: 1,
|
|
61
|
+
minutes: 5,
|
|
62
|
+
seconds: 5
|
|
63
|
+
}, inTimeSteps);
|
|
64
|
+
var shouldRenderTimeInASingleColumn = resolveShouldRenderTimeInASingleColumn(timeSteps, thresholdToRenderTimeInASingleColumn);
|
|
65
|
+
return {
|
|
66
|
+
thresholdToRenderTimeInASingleColumn: thresholdToRenderTimeInASingleColumn,
|
|
67
|
+
timeSteps: timeSteps,
|
|
68
|
+
shouldRenderTimeInASingleColumn: shouldRenderTimeInASingleColumn,
|
|
69
|
+
views: resolveViews(ampm, views, shouldRenderTimeInASingleColumn)
|
|
70
|
+
};
|
|
71
|
+
}
|
package/legacy/locales/esES.js
CHANGED
|
@@ -68,7 +68,7 @@ var esESPickers = {
|
|
|
68
68
|
dateTableLabel: 'elige la hora',
|
|
69
69
|
// Field section placeholders
|
|
70
70
|
fieldYearPlaceholder: function fieldYearPlaceholder(params) {
|
|
71
|
-
return '
|
|
71
|
+
return 'A'.repeat(params.digitAmount);
|
|
72
72
|
},
|
|
73
73
|
fieldMonthPlaceholder: function fieldMonthPlaceholder(params) {
|
|
74
74
|
return params.contentType === 'letter' ? 'MMMM' : 'MM';
|
package/locales/esES.js
CHANGED
|
@@ -47,7 +47,7 @@ const esESPickers = {
|
|
|
47
47
|
timeTableLabel: 'elige la fecha',
|
|
48
48
|
dateTableLabel: 'elige la hora',
|
|
49
49
|
// Field section placeholders
|
|
50
|
-
fieldYearPlaceholder: params => '
|
|
50
|
+
fieldYearPlaceholder: params => 'A'.repeat(params.digitAmount),
|
|
51
51
|
fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
|
|
52
52
|
fieldDayPlaceholder: () => 'DD',
|
|
53
53
|
fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',
|
|
@@ -295,13 +295,15 @@ export class AdapterDayjs {
|
|
|
295
295
|
return parsedValue.locale(this.locale);
|
|
296
296
|
};
|
|
297
297
|
this.getTimezone = value => {
|
|
298
|
-
if (this.hasUTCPlugin() && value.isUTC()) {
|
|
299
|
-
return 'UTC';
|
|
300
|
-
}
|
|
301
298
|
if (this.hasTimezonePlugin()) {
|
|
302
299
|
// @ts-ignore
|
|
303
300
|
const zone = value.$x?.$timezone;
|
|
304
|
-
|
|
301
|
+
if (zone) {
|
|
302
|
+
return zone;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
if (this.hasUTCPlugin() && value.isUTC()) {
|
|
306
|
+
return 'UTC';
|
|
305
307
|
}
|
|
306
308
|
return 'system';
|
|
307
309
|
};
|
|
@@ -239,16 +239,13 @@ export class AdapterMoment {
|
|
|
239
239
|
return this.createTZDate(value, timezone);
|
|
240
240
|
};
|
|
241
241
|
this.getTimezone = value => {
|
|
242
|
-
if (value.isUTC()) {
|
|
243
|
-
return 'UTC';
|
|
244
|
-
}
|
|
245
|
-
|
|
246
242
|
// @ts-ignore
|
|
247
243
|
// eslint-disable-next-line no-underscore-dangle
|
|
248
244
|
const zone = value._z?.name;
|
|
245
|
+
const defaultZone = value.isUTC() ? 'UTC' : 'system';
|
|
249
246
|
|
|
250
247
|
// @ts-ignore
|
|
251
|
-
return zone ?? this.moment.defaultZone?.name ??
|
|
248
|
+
return zone ?? this.moment.defaultZone?.name ?? defaultZone;
|
|
252
249
|
};
|
|
253
250
|
this.setTimezone = (value, timezone) => {
|
|
254
251
|
if (this.getTimezone(value) === timezone) {
|
|
@@ -21,6 +21,7 @@ import { useDefaultReduceAnimations } from '../internals/hooks/useDefaultReduceA
|
|
|
21
21
|
import { getDateCalendarUtilityClass } from './dateCalendarClasses';
|
|
22
22
|
import { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';
|
|
23
23
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
24
|
+
import { VIEW_HEIGHT } from '../internals/constants/dimensions';
|
|
24
25
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
25
26
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
26
27
|
const useUtilityClasses = ownerState => {
|
|
@@ -61,7 +62,8 @@ const DateCalendarRoot = styled(PickerViewRoot, {
|
|
|
61
62
|
overridesResolver: (props, styles) => styles.root
|
|
62
63
|
})({
|
|
63
64
|
display: 'flex',
|
|
64
|
-
flexDirection: 'column'
|
|
65
|
+
flexDirection: 'column',
|
|
66
|
+
height: VIEW_HEIGHT
|
|
65
67
|
});
|
|
66
68
|
const DateCalendarViewTransitionContainer = styled(PickersFadeTransitionGroup, {
|
|
67
69
|
name: 'MuiDateCalendar',
|
|
@@ -67,7 +67,7 @@ const PickersCalendarWeekDayLabel = styled(Typography, {
|
|
|
67
67
|
color: (theme.vars || theme).palette.text.secondary
|
|
68
68
|
}));
|
|
69
69
|
const PickersCalendarWeekNumberLabel = styled(Typography, {
|
|
70
|
-
name: '
|
|
70
|
+
name: 'MuiDayCalendar',
|
|
71
71
|
slot: 'WeekNumberLabel',
|
|
72
72
|
overridesResolver: (_, styles) => styles.weekNumberLabel
|
|
73
73
|
})(({
|
|
@@ -83,7 +83,7 @@ const PickersCalendarWeekNumberLabel = styled(Typography, {
|
|
|
83
83
|
color: theme.palette.text.disabled
|
|
84
84
|
}));
|
|
85
85
|
const PickersCalendarWeekNumber = styled(Typography, {
|
|
86
|
-
name: '
|
|
86
|
+
name: 'MuiDayCalendar',
|
|
87
87
|
slot: 'WeekNumber',
|
|
88
88
|
overridesResolver: (_, styles) => styles.weekNumber
|
|
89
89
|
})(({
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
|
-
import Fade from '@mui/material/Fade';
|
|
4
|
-
import { styled, useThemeProps } from '@mui/material/styles';
|
|
5
|
-
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
6
3
|
import { TransitionGroup } from 'react-transition-group';
|
|
4
|
+
import Fade from '@mui/material/Fade';
|
|
5
|
+
import { styled, useTheme, useThemeProps } from '@mui/material/styles';
|
|
6
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
7
7
|
import { getPickersFadeTransitionGroupUtilityClass } from './pickersFadeTransitionGroupClasses';
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
const useUtilityClasses = ownerState => {
|
|
@@ -15,7 +15,6 @@ const useUtilityClasses = ownerState => {
|
|
|
15
15
|
};
|
|
16
16
|
return composeClasses(slots, getPickersFadeTransitionGroupUtilityClass, classes);
|
|
17
17
|
};
|
|
18
|
-
const animationDuration = 500;
|
|
19
18
|
const PickersFadeTransitionGroupRoot = styled(TransitionGroup, {
|
|
20
19
|
name: 'MuiPickersFadeTransitionGroup',
|
|
21
20
|
slot: 'Root',
|
|
@@ -40,6 +39,7 @@ export function PickersFadeTransitionGroup(inProps) {
|
|
|
40
39
|
transKey
|
|
41
40
|
} = props;
|
|
42
41
|
const classes = useUtilityClasses(props);
|
|
42
|
+
const theme = useTheme();
|
|
43
43
|
if (reduceAnimations) {
|
|
44
44
|
return children;
|
|
45
45
|
}
|
|
@@ -50,8 +50,8 @@ export function PickersFadeTransitionGroup(inProps) {
|
|
|
50
50
|
mountOnEnter: true,
|
|
51
51
|
unmountOnExit: true,
|
|
52
52
|
timeout: {
|
|
53
|
-
appear:
|
|
54
|
-
enter:
|
|
53
|
+
appear: theme.transitions.duration.enteringScreen,
|
|
54
|
+
enter: theme.transitions.duration.enteringScreen,
|
|
55
55
|
exit: 0
|
|
56
56
|
},
|
|
57
57
|
children: children
|
|
@@ -3,8 +3,8 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
const _excluded = ["children", "className", "reduceAnimations", "slideDirection", "transKey", "classes"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { styled, useThemeProps } from '@mui/material/styles';
|
|
7
|
-
import
|
|
6
|
+
import { styled, useTheme, useThemeProps } from '@mui/material/styles';
|
|
7
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { CSSTransition, TransitionGroup } from 'react-transition-group';
|
|
9
9
|
import { getPickersSlideTransitionUtilityClass, pickersSlideTransitionClasses } from './pickersSlideTransitionClasses';
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -22,7 +22,6 @@ const useUtilityClasses = ownerState => {
|
|
|
22
22
|
};
|
|
23
23
|
return composeClasses(slots, getPickersSlideTransitionUtilityClass, classes);
|
|
24
24
|
};
|
|
25
|
-
export const slideAnimationDuration = 350;
|
|
26
25
|
const PickersSlideTransitionRoot = styled(TransitionGroup, {
|
|
27
26
|
name: 'MuiPickersSlideTransition',
|
|
28
27
|
slot: 'Root',
|
|
@@ -43,7 +42,7 @@ const PickersSlideTransitionRoot = styled(TransitionGroup, {
|
|
|
43
42
|
theme
|
|
44
43
|
}) => {
|
|
45
44
|
const slideTransition = theme.transitions.create('transform', {
|
|
46
|
-
duration:
|
|
45
|
+
duration: theme.transitions.duration.complex,
|
|
47
46
|
easing: 'cubic-bezier(0.35, 0.8, 0.4, 1)'
|
|
48
47
|
});
|
|
49
48
|
return {
|
|
@@ -105,6 +104,7 @@ export function PickersSlideTransition(inProps) {
|
|
|
105
104
|
} = props,
|
|
106
105
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
107
106
|
const classes = useUtilityClasses(props);
|
|
107
|
+
const theme = useTheme();
|
|
108
108
|
if (reduceAnimations) {
|
|
109
109
|
return /*#__PURE__*/_jsx("div", {
|
|
110
110
|
className: clsx(classes.root, className),
|
|
@@ -126,7 +126,7 @@ export function PickersSlideTransition(inProps) {
|
|
|
126
126
|
children: /*#__PURE__*/_jsx(CSSTransition, _extends({
|
|
127
127
|
mountOnEnter: true,
|
|
128
128
|
unmountOnExit: true,
|
|
129
|
-
timeout:
|
|
129
|
+
timeout: theme.transitions.duration.complex,
|
|
130
130
|
classNames: transitionClasses
|
|
131
131
|
}, other, {
|
|
132
132
|
children: children
|
|
@@ -12,6 +12,16 @@ import { refType } from '@mui/utils';
|
|
|
12
12
|
import { useDateField } from './useDateField';
|
|
13
13
|
import { useClearableField } from '../hooks';
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
/**
|
|
16
|
+
* Demos:
|
|
17
|
+
*
|
|
18
|
+
* - [DateField](http://mui.com/x/react-date-pickers/date-field/)
|
|
19
|
+
* - [Fields](https://mui.com/x/react-date-pickers/fields/)
|
|
20
|
+
*
|
|
21
|
+
* API:
|
|
22
|
+
*
|
|
23
|
+
* - [DateField API](https://mui.com/x/api/date-pickers/date-field/)
|
|
24
|
+
*/
|
|
15
25
|
const DateField = /*#__PURE__*/React.forwardRef(function DateField(inProps, ref) {
|
|
16
26
|
const themeProps = useThemeProps({
|
|
17
27
|
props: inProps,
|
|
@@ -12,6 +12,16 @@ import { refType } from '@mui/utils';
|
|
|
12
12
|
import { useDateTimeField } from './useDateTimeField';
|
|
13
13
|
import { useClearableField } from '../hooks';
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
/**
|
|
16
|
+
* Demos:
|
|
17
|
+
*
|
|
18
|
+
* - [DateTimeField](http://mui.com/x/react-date-pickers/date-time-field/)
|
|
19
|
+
* - [Fields](https://mui.com/x/react-date-pickers/fields/)
|
|
20
|
+
*
|
|
21
|
+
* API:
|
|
22
|
+
*
|
|
23
|
+
* - [DateTimeField API](https://mui.com/x/api/date-pickers/date-time-field/)
|
|
24
|
+
*/
|
|
15
25
|
const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, ref) {
|
|
16
26
|
const themeProps = useThemeProps({
|
|
17
27
|
props: inProps,
|
|
@@ -10,6 +10,16 @@ import { DesktopDateTimePicker } from '../DesktopDateTimePicker';
|
|
|
10
10
|
import { MobileDateTimePicker } from '../MobileDateTimePicker';
|
|
11
11
|
import { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from '../internals/utils/utils';
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
/**
|
|
14
|
+
* Demos:
|
|
15
|
+
*
|
|
16
|
+
* - [DateTimePicker](https://mui.com/x/react-date-pickers/date-time-picker/)
|
|
17
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
18
|
+
*
|
|
19
|
+
* API:
|
|
20
|
+
*
|
|
21
|
+
* - [DateTimePicker API](https://mui.com/x/api/date-pickers/date-time-picker/)
|
|
22
|
+
*/
|
|
13
23
|
const DateTimePicker = /*#__PURE__*/React.forwardRef(function DateTimePicker(inProps, ref) {
|
|
14
24
|
const props = useThemeProps({
|
|
15
25
|
props: inProps,
|
|
@@ -377,6 +387,11 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
377
387
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
378
388
|
*/
|
|
379
389
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
390
|
+
/**
|
|
391
|
+
* Amount of time options below or at which the single column time renderer is used.
|
|
392
|
+
* @default 24
|
|
393
|
+
*/
|
|
394
|
+
thresholdToRenderTimeInASingleColumn: PropTypes.number,
|
|
380
395
|
/**
|
|
381
396
|
* The time steps between two time unit options.
|
|
382
397
|
* For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
@@ -13,18 +13,29 @@ import { validateDateTime } from '../internals/utils/validation/validateDateTime
|
|
|
13
13
|
import { CalendarIcon } from '../icons';
|
|
14
14
|
import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
|
|
15
15
|
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
16
|
-
import { resolveDateTimeFormat } from '../internals/utils/date-time-utils';
|
|
16
|
+
import { resolveDateTimeFormat, resolveTimeViewsResponse } from '../internals/utils/date-time-utils';
|
|
17
|
+
/**
|
|
18
|
+
* Demos:
|
|
19
|
+
*
|
|
20
|
+
* - [DateTimePicker](https://mui.com/x/react-date-pickers/date-time-picker/)
|
|
21
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
22
|
+
*
|
|
23
|
+
* API:
|
|
24
|
+
*
|
|
25
|
+
* - [DesktopDateTimePicker API](https://mui.com/x/api/date-pickers/desktop-date-time-picker/)
|
|
26
|
+
*/
|
|
17
27
|
const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDateTimePicker(inProps, ref) {
|
|
18
28
|
const localeText = useLocaleText();
|
|
19
29
|
const utils = useUtils();
|
|
20
30
|
|
|
21
31
|
// Props with the default values common to all date time pickers
|
|
22
32
|
const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiDesktopDateTimePicker');
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
33
|
+
const {
|
|
34
|
+
shouldRenderTimeInASingleColumn,
|
|
35
|
+
thresholdToRenderTimeInASingleColumn,
|
|
36
|
+
views,
|
|
37
|
+
timeSteps
|
|
38
|
+
} = resolveTimeViewsResponse(defaultizedProps);
|
|
28
39
|
const shouldUseNewRenderer = !defaultizedProps.viewRenderers || Object.keys(defaultizedProps.viewRenderers).length === 0;
|
|
29
40
|
const viewRenderers =
|
|
30
41
|
// we can only ensure the expected two-column layout if none of the renderers are overridden
|
|
@@ -53,10 +64,12 @@ const DesktopDateTimePicker = /*#__PURE__*/React.forwardRef(function DesktopDate
|
|
|
53
64
|
const props = _extends({}, defaultizedProps, {
|
|
54
65
|
viewRenderers,
|
|
55
66
|
format: resolveDateTimeFormat(utils, defaultizedProps),
|
|
56
|
-
views
|
|
67
|
+
views,
|
|
57
68
|
yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
|
|
58
69
|
ampmInClock,
|
|
59
70
|
timeSteps,
|
|
71
|
+
thresholdToRenderTimeInASingleColumn,
|
|
72
|
+
shouldRenderTimeInASingleColumn,
|
|
60
73
|
slots: _extends({
|
|
61
74
|
field: DateTimeField,
|
|
62
75
|
openPickerIcon: CalendarIcon
|
|
@@ -427,6 +440,11 @@ DesktopDateTimePicker.propTypes = {
|
|
|
427
440
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
428
441
|
*/
|
|
429
442
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
443
|
+
/**
|
|
444
|
+
* Amount of time options below or at which the single column time renderer is used.
|
|
445
|
+
* @default 24
|
|
446
|
+
*/
|
|
447
|
+
thresholdToRenderTimeInASingleColumn: PropTypes.number,
|
|
430
448
|
/**
|
|
431
449
|
* The time steps between two time unit options.
|
|
432
450
|
* For example, if `timeStep.minutes = 8`, then the available minute options will be `[0, 8, 16, 24, 32, 40, 48, 56]`.
|
|
@@ -13,19 +13,28 @@ import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
|
|
|
13
13
|
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
14
14
|
import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '../timeViewRenderers';
|
|
15
15
|
import { resolveTimeFormat } from '../internals/utils/time-utils';
|
|
16
|
+
import { resolveTimeViewsResponse } from '../internals/utils/date-time-utils';
|
|
17
|
+
/**
|
|
18
|
+
* Demos:
|
|
19
|
+
*
|
|
20
|
+
* - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)
|
|
21
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
22
|
+
*
|
|
23
|
+
* API:
|
|
24
|
+
*
|
|
25
|
+
* - [DesktopTimePicker API](https://mui.com/x/api/date-pickers/desktop-time-picker/)
|
|
26
|
+
*/
|
|
16
27
|
const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker(inProps, ref) {
|
|
17
28
|
const localeText = useLocaleText();
|
|
18
29
|
const utils = useUtils();
|
|
19
30
|
|
|
20
31
|
// Props with the default values common to all time pickers
|
|
21
32
|
const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiDesktopTimePicker');
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}, defaultizedProps.timeSteps);
|
|
28
|
-
const shouldRenderTimeInASingleColumn = 24 * 60 / (timeSteps.hours * timeSteps.minutes) <= thresholdToRenderTimeInASingleColumn;
|
|
33
|
+
const {
|
|
34
|
+
shouldRenderTimeInASingleColumn,
|
|
35
|
+
views: resolvedViews,
|
|
36
|
+
timeSteps
|
|
37
|
+
} = resolveTimeViewsResponse(defaultizedProps);
|
|
29
38
|
const renderTimeView = shouldRenderTimeInASingleColumn ? renderDigitalClockTimeView : renderMultiSectionDigitalClockTimeView;
|
|
30
39
|
const viewRenderers = _extends({
|
|
31
40
|
hours: renderTimeView,
|
|
@@ -37,7 +46,7 @@ const DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePick
|
|
|
37
46
|
const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
|
|
38
47
|
// Need to avoid adding the `meridiem` view when unexpected renderer is specified
|
|
39
48
|
const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === renderMultiSectionDigitalClockTimeView.name;
|
|
40
|
-
const views =
|
|
49
|
+
const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
|
|
41
50
|
|
|
42
51
|
// Props with the default values specific to the desktop variant
|
|
43
52
|
const props = _extends({}, defaultizedProps, {
|
|
@@ -152,7 +152,7 @@ export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(
|
|
|
152
152
|
props,
|
|
153
153
|
timezone
|
|
154
154
|
});
|
|
155
|
-
const handleValueChange = useEventCallback(newValue => handleRawValueChange(newValue, 'finish'));
|
|
155
|
+
const handleValueChange = useEventCallback(newValue => handleRawValueChange(newValue, 'finish', 'hours'));
|
|
156
156
|
const {
|
|
157
157
|
setValueAndGoToNextView
|
|
158
158
|
} = useViews({
|
|
@@ -13,6 +13,16 @@ import { extractValidationProps } from '../internals/utils/validation/extractVal
|
|
|
13
13
|
import { renderDateViewCalendar } from '../dateViewRenderers';
|
|
14
14
|
import { renderTimeViewClock } from '../timeViewRenderers';
|
|
15
15
|
import { resolveDateTimeFormat } from '../internals/utils/date-time-utils';
|
|
16
|
+
/**
|
|
17
|
+
* Demos:
|
|
18
|
+
*
|
|
19
|
+
* - [DateTimePicker](https://mui.com/x/react-date-pickers/date-time-picker/)
|
|
20
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
21
|
+
*
|
|
22
|
+
* API:
|
|
23
|
+
*
|
|
24
|
+
* - [MobileDateTimePicker API](https://mui.com/x/api/date-pickers/mobile-date-time-picker/)
|
|
25
|
+
*/
|
|
16
26
|
const MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTimePicker(inProps, ref) {
|
|
17
27
|
const localeText = useLocaleText();
|
|
18
28
|
const utils = useUtils();
|
|
@@ -12,6 +12,16 @@ import { useMobilePicker } from '../internals/hooks/useMobilePicker';
|
|
|
12
12
|
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
13
13
|
import { renderTimeViewClock } from '../timeViewRenderers';
|
|
14
14
|
import { resolveTimeFormat } from '../internals/utils/time-utils';
|
|
15
|
+
/**
|
|
16
|
+
* Demos:
|
|
17
|
+
*
|
|
18
|
+
* - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)
|
|
19
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
20
|
+
*
|
|
21
|
+
* API:
|
|
22
|
+
*
|
|
23
|
+
* - [MobileTimePicker API](https://mui.com/x/api/date-pickers/mobile-time-picker/)
|
|
24
|
+
*/
|
|
15
25
|
const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(inProps, ref) {
|
|
16
26
|
const localeText = useLocaleText();
|
|
17
27
|
const utils = useUtils();
|
|
@@ -14,6 +14,7 @@ import { applyDefaultDate, getMonthsInYear } from '../internals/utils/date-utils
|
|
|
14
14
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
15
15
|
import { SECTION_TYPE_GRANULARITY } from '../internals/utils/getDefaultReferenceDate';
|
|
16
16
|
import { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';
|
|
17
|
+
import { DIALOG_WIDTH } from '../internals/constants/dimensions';
|
|
17
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
19
|
const useUtilityClasses = ownerState => {
|
|
19
20
|
const {
|
|
@@ -48,7 +49,9 @@ const MonthCalendarRoot = styled('div', {
|
|
|
48
49
|
flexWrap: 'wrap',
|
|
49
50
|
alignContent: 'stretch',
|
|
50
51
|
padding: '0 4px',
|
|
51
|
-
width:
|
|
52
|
+
width: DIALOG_WIDTH,
|
|
53
|
+
// avoid padding increasing width over defined
|
|
54
|
+
boxSizing: 'border-box'
|
|
52
55
|
});
|
|
53
56
|
export const MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalendar(inProps, ref) {
|
|
54
57
|
const props = useMonthCalendarDefaultizedProps(inProps, 'MuiMonthCalendar');
|
|
@@ -7,6 +7,16 @@ import { renderDateViewCalendar } from '../dateViewRenderers';
|
|
|
7
7
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
8
8
|
import { useStaticPicker } from '../internals/hooks/useStaticPicker';
|
|
9
9
|
import { validateDateTime } from '../internals/utils/validation/validateDateTime';
|
|
10
|
+
/**
|
|
11
|
+
* Demos:
|
|
12
|
+
*
|
|
13
|
+
* - [DateTimePicker](https://mui.com/x/react-date-pickers/date-time-picker/)
|
|
14
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
15
|
+
*
|
|
16
|
+
* API:
|
|
17
|
+
*
|
|
18
|
+
* - [StaticDateTimePicker API](https://mui.com/x/api/date-pickers/static-date-time-picker/)
|
|
19
|
+
*/
|
|
10
20
|
const StaticDateTimePicker = /*#__PURE__*/React.forwardRef(function StaticDateTimePicker(inProps, ref) {
|
|
11
21
|
const defaultizedProps = useDateTimePickerDefaultizedProps(inProps, 'MuiStaticDateTimePicker');
|
|
12
22
|
const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile';
|
|
@@ -6,6 +6,16 @@ import { renderTimeViewClock } from '../timeViewRenderers';
|
|
|
6
6
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
7
7
|
import { useStaticPicker } from '../internals/hooks/useStaticPicker';
|
|
8
8
|
import { validateTime } from '../internals/utils/validation/validateTime';
|
|
9
|
+
/**
|
|
10
|
+
* Demos:
|
|
11
|
+
*
|
|
12
|
+
* - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)
|
|
13
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
14
|
+
*
|
|
15
|
+
* API:
|
|
16
|
+
*
|
|
17
|
+
* - [StaticTimePicker API](https://mui.com/x/api/date-pickers/static-time-picker/)
|
|
18
|
+
*/
|
|
9
19
|
const StaticTimePicker = /*#__PURE__*/React.forwardRef(function StaticTimePicker(inProps, ref) {
|
|
10
20
|
const defaultizedProps = useTimePickerDefaultizedProps(inProps, 'MuiStaticTimePicker');
|
|
11
21
|
const displayStaticWrapperAs = defaultizedProps.displayStaticWrapperAs ?? 'mobile';
|
|
@@ -12,6 +12,16 @@ import { refType } from '@mui/utils';
|
|
|
12
12
|
import { useTimeField } from './useTimeField';
|
|
13
13
|
import { useClearableField } from '../hooks';
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
/**
|
|
16
|
+
* Demos:
|
|
17
|
+
*
|
|
18
|
+
* - [TimeField](http://mui.com/x/react-date-pickers/time-field/)
|
|
19
|
+
* - [Fields](https://mui.com/x/react-date-pickers/fields/)
|
|
20
|
+
*
|
|
21
|
+
* API:
|
|
22
|
+
*
|
|
23
|
+
* - [TimeField API](https://mui.com/x/api/date-pickers/time-field/)
|
|
24
|
+
*/
|
|
15
25
|
const TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, ref) {
|
|
16
26
|
const themeProps = useThemeProps({
|
|
17
27
|
props: inProps,
|
|
@@ -10,6 +10,16 @@ import { DesktopTimePicker } from '../DesktopTimePicker';
|
|
|
10
10
|
import { MobileTimePicker } from '../MobileTimePicker';
|
|
11
11
|
import { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from '../internals/utils/utils';
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
/**
|
|
14
|
+
* Demos:
|
|
15
|
+
*
|
|
16
|
+
* - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)
|
|
17
|
+
* - [Validation](https://mui.com/x/react-date-pickers/validation/)
|
|
18
|
+
*
|
|
19
|
+
* API:
|
|
20
|
+
*
|
|
21
|
+
* - [TimePicker API](https://mui.com/x/api/date-pickers/time-picker/)
|
|
22
|
+
*/
|
|
13
23
|
const TimePicker = /*#__PURE__*/React.forwardRef(function TimePicker(inProps, ref) {
|
|
14
24
|
const props = useThemeProps({
|
|
15
25
|
props: inProps,
|
|
@@ -14,6 +14,7 @@ import { applyDefaultDate } from '../internals/utils/date-utils';
|
|
|
14
14
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
15
15
|
import { SECTION_TYPE_GRANULARITY } from '../internals/utils/getDefaultReferenceDate';
|
|
16
16
|
import { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';
|
|
17
|
+
import { DIALOG_WIDTH, MAX_CALENDAR_HEIGHT } from '../internals/constants/dimensions';
|
|
17
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
19
|
const useUtilityClasses = ownerState => {
|
|
19
20
|
const {
|
|
@@ -35,6 +36,7 @@ function useYearCalendarDefaultizedProps(props, name) {
|
|
|
35
36
|
disablePast: false,
|
|
36
37
|
disableFuture: false
|
|
37
38
|
}, themeProps, {
|
|
39
|
+
yearsPerRow: themeProps.yearsPerRow ?? 3,
|
|
38
40
|
minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),
|
|
39
41
|
maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)
|
|
40
42
|
});
|
|
@@ -50,8 +52,8 @@ const YearCalendarRoot = styled('div', {
|
|
|
50
52
|
overflowY: 'auto',
|
|
51
53
|
height: '100%',
|
|
52
54
|
padding: '0 4px',
|
|
53
|
-
width:
|
|
54
|
-
maxHeight:
|
|
55
|
+
width: DIALOG_WIDTH,
|
|
56
|
+
maxHeight: MAX_CALENDAR_HEIGHT,
|
|
55
57
|
// avoid padding increasing width over defined
|
|
56
58
|
boxSizing: 'border-box',
|
|
57
59
|
position: 'relative'
|
|
@@ -76,7 +78,7 @@ export const YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(
|
|
|
76
78
|
onYearFocus,
|
|
77
79
|
hasFocus,
|
|
78
80
|
onFocusedViewChange,
|
|
79
|
-
yearsPerRow
|
|
81
|
+
yearsPerRow,
|
|
80
82
|
timezone: timezoneProp,
|
|
81
83
|
gridLabelId
|
|
82
84
|
} = props,
|