@mui/x-date-pickers 5.0.2 → 6.0.0-alpha.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.
- package/CHANGELOG.md +212 -3
- package/CalendarPicker/CalendarPicker.d.ts +8 -2
- package/CalendarPicker/CalendarPicker.js +54 -71
- package/CalendarPicker/DayPicker.d.ts +2 -2
- package/CalendarPicker/DayPicker.js +6 -2
- package/CalendarPicker/PickersCalendarHeader.d.ts +3 -10
- package/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/CalendarPicker/useCalendarState.d.ts +2 -2
- package/CalendarPicker/useCalendarState.js +7 -7
- package/ClockPicker/Clock.d.ts +9 -4
- package/ClockPicker/Clock.js +13 -13
- package/ClockPicker/ClockNumbers.d.ts +3 -3
- package/ClockPicker/ClockNumbers.js +2 -2
- package/ClockPicker/ClockPicker.d.ts +8 -58
- package/ClockPicker/ClockPicker.js +52 -128
- package/ClockPicker/ClockPointer.d.ts +1 -1
- package/ClockPicker/ClockPointer.js +4 -4
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +5 -1
- package/DatePicker/DatePicker.js +10 -20
- package/DateTimePicker/DateTimePicker.js +10 -39
- package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/LocalizationProvider/LocalizationProvider.d.ts +10 -11
- package/LocalizationProvider/LocalizationProvider.js +31 -24
- package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.js +14 -22
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/MobileTimePicker/MobileTimePicker.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.js +9 -21
- package/MonthPicker/MonthPicker.d.ts +12 -9
- package/MonthPicker/MonthPicker.js +60 -57
- package/MonthPicker/PickersMonth.d.ts +10 -7
- package/MonthPicker/PickersMonth.js +76 -44
- package/MonthPicker/pickersMonthClasses.d.ts +9 -1
- package/MonthPicker/pickersMonthClasses.js +1 -1
- package/PickersDay/PickersDay.d.ts +0 -6
- package/PickersDay/PickersDay.js +0 -5
- package/StaticDatePicker/StaticDatePicker.d.ts +1 -1
- package/StaticDatePicker/StaticDatePicker.js +17 -23
- package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/StaticTimePicker/StaticTimePicker.d.ts +1 -1
- package/StaticTimePicker/StaticTimePicker.js +17 -22
- package/TimePicker/TimePicker.js +5 -19
- package/YearPicker/PickersYear.d.ts +7 -6
- package/YearPicker/PickersYear.js +34 -23
- package/YearPicker/YearPicker.d.ts +21 -4
- package/YearPicker/YearPicker.js +109 -49
- package/YearPicker/pickersYearClasses.d.ts +1 -1
- package/index.js +1 -1
- package/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/internals/components/PickerStaticWrapper/PickerStaticWrapper.d.ts +20 -6
- package/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +38 -22
- package/internals/components/PickerStaticWrapper/index.d.ts +1 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.d.ts +3 -0
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +166 -0
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +63 -0
- package/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/internals/components/PickersArrowSwitcher/index.d.ts +2 -0
- package/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/internals/components/{pickersArrowSwitcherClasses.d.ts → PickersArrowSwitcher/pickersArrowSwitcherClasses.d.ts} +0 -0
- package/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/internals/components/PickersPopper.d.ts +2 -6
- package/internals/components/PickersPopper.js +5 -5
- package/internals/components/PickersToolbar.d.ts +1 -1
- package/internals/components/PickersToolbar.js +1 -2
- package/internals/components/PickersToolbarText.d.ts +1 -1
- package/internals/components/wrappers/DesktopTooltipWrapper.d.ts +1 -1
- package/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/internals/components/wrappers/DesktopWrapper.d.ts +8 -3
- package/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/internals/components/wrappers/MobileWrapper.d.ts +8 -3
- package/internals/components/wrappers/MobileWrapper.js +23 -18
- package/internals/hooks/useField/useField.interfaces.d.ts +0 -1
- package/internals/hooks/useField/useField.js +19 -23
- package/internals/hooks/useField/useField.utils.js +10 -2
- package/internals/hooks/useUtils.d.ts +5 -2
- package/internals/hooks/useUtils.js +11 -2
- package/internals/hooks/validation/useDateValidation.d.ts +4 -4
- package/internals/hooks/validation/useDateValidation.js +12 -2
- package/internals/index.d.ts +5 -5
- package/internals/index.js +3 -3
- package/internals/models/muiPickersAdapter.d.ts +12 -7
- package/internals/models/props/baseToolbarProps.d.ts +0 -8
- package/internals/models/props/staticPickerProps.d.ts +2 -8
- package/legacy/CalendarPicker/CalendarPicker.js +52 -69
- package/legacy/CalendarPicker/DayPicker.js +6 -2
- package/legacy/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/legacy/CalendarPicker/useCalendarState.js +7 -7
- package/legacy/ClockPicker/Clock.js +13 -13
- package/legacy/ClockPicker/ClockNumbers.js +2 -2
- package/legacy/ClockPicker/ClockPicker.js +57 -133
- package/legacy/ClockPicker/ClockPointer.js +4 -4
- package/legacy/DateField/useDateField.js +5 -1
- package/legacy/DatePicker/DatePicker.js +10 -20
- package/legacy/DateTimePicker/DateTimePicker.js +10 -39
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +13 -21
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +8 -20
- package/legacy/LocalizationProvider/LocalizationProvider.js +28 -23
- package/legacy/MobileDatePicker/MobileDatePicker.js +13 -21
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/legacy/MobileTimePicker/MobileTimePicker.js +8 -20
- package/legacy/MonthPicker/MonthPicker.js +67 -62
- package/legacy/MonthPicker/PickersMonth.js +89 -57
- package/legacy/MonthPicker/pickersMonthClasses.js +1 -1
- package/legacy/PickersDay/PickersDay.js +0 -5
- package/legacy/StaticDatePicker/StaticDatePicker.js +17 -24
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +17 -43
- package/legacy/StaticTimePicker/StaticTimePicker.js +17 -23
- package/legacy/TimePicker/TimePicker.js +5 -19
- package/legacy/YearPicker/PickersYear.js +35 -25
- package/legacy/YearPicker/YearPicker.js +111 -51
- package/legacy/index.js +1 -1
- package/legacy/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/legacy/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +41 -24
- package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +180 -0
- package/legacy/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/legacy/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/legacy/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/legacy/internals/components/PickersPopper.js +5 -5
- package/legacy/internals/components/PickersToolbar.js +1 -2
- package/legacy/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/legacy/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/legacy/internals/components/wrappers/MobileWrapper.js +22 -17
- package/legacy/internals/hooks/useField/useField.js +21 -23
- package/legacy/internals/hooks/useField/useField.utils.js +10 -2
- package/legacy/internals/hooks/useUtils.js +13 -2
- package/legacy/internals/hooks/validation/useDateValidation.js +12 -2
- package/legacy/internals/index.js +3 -3
- package/legacy/locales/faIR.js +52 -0
- package/legacy/locales/fiFI.js +61 -0
- package/legacy/locales/index.js +2 -0
- package/legacy/locales/isIS.js +0 -1
- package/locales/faIR.d.ts +35 -0
- package/locales/faIR.js +36 -0
- package/locales/fiFI.d.ts +35 -0
- package/locales/fiFI.js +45 -0
- package/locales/index.d.ts +2 -0
- package/locales/index.js +2 -0
- package/locales/isIS.js +0 -1
- package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
- package/modern/CalendarPicker/CalendarPicker.js +54 -71
- package/modern/CalendarPicker/DayPicker.js +6 -2
- package/modern/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/modern/CalendarPicker/useCalendarState.js +7 -7
- package/modern/ClockPicker/Clock.js +13 -13
- package/modern/ClockPicker/ClockNumbers.js +2 -2
- package/modern/ClockPicker/ClockPicker.js +52 -128
- package/modern/ClockPicker/ClockPointer.js +4 -4
- package/modern/DateField/useDateField.js +5 -1
- package/modern/DatePicker/DatePicker.js +10 -20
- package/modern/DateTimePicker/DateTimePicker.js +10 -39
- package/modern/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/modern/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/modern/LocalizationProvider/LocalizationProvider.js +29 -24
- package/modern/MobileDatePicker/MobileDatePicker.js +14 -22
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/modern/MobileTimePicker/MobileTimePicker.js +9 -21
- package/modern/MonthPicker/MonthPicker.js +60 -57
- package/modern/MonthPicker/PickersMonth.js +76 -44
- package/modern/MonthPicker/pickersMonthClasses.js +1 -1
- package/modern/PickersDay/PickersDay.js +0 -5
- package/modern/StaticDatePicker/StaticDatePicker.js +17 -23
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/modern/StaticTimePicker/StaticTimePicker.js +17 -22
- package/modern/TimePicker/TimePicker.js +5 -19
- package/modern/YearPicker/PickersYear.js +34 -23
- package/modern/YearPicker/YearPicker.js +109 -49
- package/modern/index.js +1 -1
- package/modern/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/modern/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +38 -22
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +164 -0
- package/modern/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/modern/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/modern/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/modern/internals/components/PickersPopper.js +5 -5
- package/modern/internals/components/PickersToolbar.js +1 -2
- package/modern/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/modern/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/modern/internals/components/wrappers/MobileWrapper.js +23 -18
- package/modern/internals/hooks/useField/useField.js +19 -21
- package/modern/internals/hooks/useField/useField.utils.js +10 -2
- package/modern/internals/hooks/useUtils.js +11 -2
- package/modern/internals/hooks/validation/useDateValidation.js +12 -2
- package/modern/internals/index.js +3 -3
- package/modern/locales/faIR.js +36 -0
- package/modern/locales/fiFI.js +45 -0
- package/modern/locales/index.js +2 -0
- package/modern/locales/isIS.js +0 -1
- package/node/CalendarPicker/CalendarPicker.js +54 -71
- package/node/CalendarPicker/DayPicker.js +5 -1
- package/node/CalendarPicker/PickersCalendarHeader.js +7 -21
- package/node/CalendarPicker/useCalendarState.js +6 -6
- package/node/ClockPicker/Clock.js +12 -12
- package/node/ClockPicker/ClockNumbers.js +2 -2
- package/node/ClockPicker/ClockPicker.js +52 -129
- package/node/ClockPicker/ClockPointer.js +4 -4
- package/node/DateField/useDateField.js +5 -1
- package/node/DatePicker/DatePicker.js +10 -20
- package/node/DateTimePicker/DateTimePicker.js +10 -39
- package/node/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/node/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/node/LocalizationProvider/LocalizationProvider.js +31 -25
- package/node/MobileDatePicker/MobileDatePicker.js +14 -22
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/node/MobileTimePicker/MobileTimePicker.js +9 -21
- package/node/MonthPicker/MonthPicker.js +61 -58
- package/node/MonthPicker/PickersMonth.js +71 -43
- package/node/MonthPicker/pickersMonthClasses.js +1 -1
- package/node/PickersDay/PickersDay.js +0 -5
- package/node/StaticDatePicker/StaticDatePicker.js +17 -23
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/node/StaticTimePicker/StaticTimePicker.js +17 -22
- package/node/TimePicker/TimePicker.js +5 -19
- package/node/YearPicker/PickersYear.js +33 -22
- package/node/YearPicker/YearPicker.js +111 -49
- package/node/index.js +1 -1
- package/node/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/node/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +39 -22
- package/node/internals/components/{PickersArrowSwitcher.js → PickersArrowSwitcher/PickersArrowSwitcher.js} +102 -58
- package/node/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/node/internals/components/PickersArrowSwitcher/index.js +13 -0
- package/node/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/node/internals/components/PickersPopper.js +5 -5
- package/node/internals/components/PickersToolbar.js +1 -2
- package/node/internals/components/wrappers/DesktopTooltipWrapper.js +30 -24
- package/node/internals/components/wrappers/DesktopWrapper.js +27 -21
- package/node/internals/components/wrappers/MobileWrapper.js +24 -18
- package/node/internals/hooks/useField/useField.js +19 -23
- package/node/internals/hooks/useField/useField.utils.js +10 -2
- package/node/internals/hooks/useUtils.js +15 -2
- package/node/internals/hooks/validation/useDateValidation.js +14 -4
- package/node/internals/index.js +8 -2
- package/node/locales/faIR.js +45 -0
- package/node/locales/fiFI.js +54 -0
- package/node/locales/index.js +26 -0
- package/node/locales/isIS.js +0 -1
- package/package.json +4 -4
- package/themeAugmentation/props.d.ts +3 -3
- package/internals/components/PickersArrowSwitcher.d.ts +0 -62
- package/internals/components/PickersArrowSwitcher.js +0 -124
- package/legacy/internals/components/PickersArrowSwitcher.js +0 -128
- package/modern/internals/components/PickersArrowSwitcher.js +0 -124
|
@@ -7,7 +7,6 @@ import { styled, useThemeProps } from '@mui/material/styles';
|
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
8
8
|
import { Clock } from './Clock';
|
|
9
9
|
import { useUtils, useNow, useLocaleText } from '../internals/hooks/useUtils';
|
|
10
|
-
import { buildDeprecatedPropsWarning } from '../internals/utils/warning';
|
|
11
10
|
import { getHourNumbers, getMinutesNumbers } from './ClockNumbers';
|
|
12
11
|
import { PickersArrowSwitcher } from '../internals/components/PickersArrowSwitcher';
|
|
13
12
|
import { convertValueToMeridiem, createIsAfterIgnoreDatePart } from '../internals/utils/time-utils';
|
|
@@ -46,14 +45,13 @@ const ClockPickerArrowSwitcher = styled(PickersArrowSwitcher, {
|
|
|
46
45
|
right: 12,
|
|
47
46
|
top: 15
|
|
48
47
|
});
|
|
49
|
-
|
|
48
|
+
|
|
50
49
|
/**
|
|
51
50
|
*
|
|
52
51
|
* API:
|
|
53
52
|
*
|
|
54
53
|
* - [ClockPicker API](https://mui.com/x/api/date-pickers/clock-picker/)
|
|
55
54
|
*/
|
|
56
|
-
|
|
57
55
|
export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(inProps, ref) {
|
|
58
56
|
const props = useThemeProps({
|
|
59
57
|
props: inProps,
|
|
@@ -65,17 +63,11 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
65
63
|
autoFocus,
|
|
66
64
|
components,
|
|
67
65
|
componentsProps,
|
|
68
|
-
|
|
66
|
+
value,
|
|
69
67
|
disableIgnoringDatePartForTimeValidation,
|
|
70
|
-
getClockLabelText: getClockLabelTextProp,
|
|
71
|
-
getHoursClockNumberText: getHoursClockNumberTextProp,
|
|
72
|
-
getMinutesClockNumberText: getMinutesClockNumberTextProp,
|
|
73
|
-
getSecondsClockNumberText: getSecondsClockNumberTextProp,
|
|
74
|
-
leftArrowButtonText: leftArrowButtonTextProp,
|
|
75
68
|
maxTime,
|
|
76
69
|
minTime,
|
|
77
70
|
minutesStep = 1,
|
|
78
|
-
rightArrowButtonText: rightArrowButtonTextProp,
|
|
79
71
|
shouldDisableTime,
|
|
80
72
|
showViewSwitcher,
|
|
81
73
|
onChange,
|
|
@@ -84,24 +76,11 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
84
76
|
openTo,
|
|
85
77
|
onViewChange,
|
|
86
78
|
className,
|
|
79
|
+
sx,
|
|
87
80
|
disabled,
|
|
88
81
|
readOnly
|
|
89
82
|
} = props;
|
|
90
|
-
deprecatedPropsWarning({
|
|
91
|
-
leftArrowButtonText: leftArrowButtonTextProp,
|
|
92
|
-
rightArrowButtonText: rightArrowButtonTextProp,
|
|
93
|
-
getClockLabelText: getClockLabelTextProp,
|
|
94
|
-
getHoursClockNumberText: getHoursClockNumberTextProp,
|
|
95
|
-
getMinutesClockNumberText: getMinutesClockNumberTextProp,
|
|
96
|
-
getSecondsClockNumberText: getSecondsClockNumberTextProp
|
|
97
|
-
});
|
|
98
83
|
const localeText = useLocaleText();
|
|
99
|
-
const leftArrowButtonText = leftArrowButtonTextProp != null ? leftArrowButtonTextProp : localeText.openPreviousView;
|
|
100
|
-
const rightArrowButtonText = rightArrowButtonTextProp != null ? rightArrowButtonTextProp : localeText.openNextView;
|
|
101
|
-
const getClockLabelText = getClockLabelTextProp != null ? getClockLabelTextProp : localeText.clockLabelText;
|
|
102
|
-
const getHoursClockNumberText = getHoursClockNumberTextProp != null ? getHoursClockNumberTextProp : localeText.hoursClockNumberText;
|
|
103
|
-
const getMinutesClockNumberText = getMinutesClockNumberTextProp != null ? getMinutesClockNumberTextProp : localeText.minutesClockNumberText;
|
|
104
|
-
const getSecondsClockNumberText = getSecondsClockNumberTextProp != null ? getSecondsClockNumberTextProp : localeText.secondsClockNumberText;
|
|
105
84
|
const {
|
|
106
85
|
openView,
|
|
107
86
|
setOpenView,
|
|
@@ -117,11 +96,11 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
117
96
|
});
|
|
118
97
|
const now = useNow();
|
|
119
98
|
const utils = useUtils();
|
|
120
|
-
const
|
|
99
|
+
const selectedTimeOrMidnight = React.useMemo(() => value || utils.setSeconds(utils.setMinutes(utils.setHours(now, 0), 0), 0), [value, now, utils]);
|
|
121
100
|
const {
|
|
122
101
|
meridiemMode,
|
|
123
102
|
handleMeridiemChange
|
|
124
|
-
} = useMeridiemMode(
|
|
103
|
+
} = useMeridiemMode(selectedTimeOrMidnight, ampm, handleChangeAndOpenNext);
|
|
125
104
|
const isTimeDisabled = React.useCallback((rawValue, viewType) => {
|
|
126
105
|
const isAfter = createIsAfterIgnoreDatePart(disableIgnoringDatePartForTimeValidation, utils);
|
|
127
106
|
|
|
@@ -140,13 +119,13 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
140
119
|
return true;
|
|
141
120
|
};
|
|
142
121
|
|
|
143
|
-
const isValidValue = (
|
|
144
|
-
if (
|
|
122
|
+
const isValidValue = (timeValue, step = 1) => {
|
|
123
|
+
if (timeValue % step !== 0) {
|
|
145
124
|
return false;
|
|
146
125
|
}
|
|
147
126
|
|
|
148
127
|
if (shouldDisableTime) {
|
|
149
|
-
return !shouldDisableTime(
|
|
128
|
+
return !shouldDisableTime(timeValue, viewType);
|
|
150
129
|
}
|
|
151
130
|
|
|
152
131
|
return true;
|
|
@@ -155,19 +134,19 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
155
134
|
switch (viewType) {
|
|
156
135
|
case 'hours':
|
|
157
136
|
{
|
|
158
|
-
const
|
|
159
|
-
const dateWithNewHours = utils.setHours(
|
|
137
|
+
const valueWithMeridiem = convertValueToMeridiem(rawValue, meridiemMode, ampm);
|
|
138
|
+
const dateWithNewHours = utils.setHours(selectedTimeOrMidnight, valueWithMeridiem);
|
|
160
139
|
const start = utils.setSeconds(utils.setMinutes(dateWithNewHours, 0), 0);
|
|
161
140
|
const end = utils.setSeconds(utils.setMinutes(dateWithNewHours, 59), 59);
|
|
162
141
|
return !containsValidTime({
|
|
163
142
|
start,
|
|
164
143
|
end
|
|
165
|
-
}) || !isValidValue(
|
|
144
|
+
}) || !isValidValue(valueWithMeridiem);
|
|
166
145
|
}
|
|
167
146
|
|
|
168
147
|
case 'minutes':
|
|
169
148
|
{
|
|
170
|
-
const dateWithNewMinutes = utils.setMinutes(
|
|
149
|
+
const dateWithNewMinutes = utils.setMinutes(selectedTimeOrMidnight, rawValue);
|
|
171
150
|
const start = utils.setSeconds(dateWithNewMinutes, 0);
|
|
172
151
|
const end = utils.setSeconds(dateWithNewMinutes, 59);
|
|
173
152
|
return !containsValidTime({
|
|
@@ -178,7 +157,7 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
178
157
|
|
|
179
158
|
case 'seconds':
|
|
180
159
|
{
|
|
181
|
-
const dateWithNewSeconds = utils.setSeconds(
|
|
160
|
+
const dateWithNewSeconds = utils.setSeconds(selectedTimeOrMidnight, rawValue);
|
|
182
161
|
const start = dateWithNewSeconds;
|
|
183
162
|
const end = dateWithNewSeconds;
|
|
184
163
|
return !containsValidTime({
|
|
@@ -190,27 +169,27 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
190
169
|
default:
|
|
191
170
|
throw new Error('not supported');
|
|
192
171
|
}
|
|
193
|
-
}, [ampm,
|
|
172
|
+
}, [ampm, selectedTimeOrMidnight, disableIgnoringDatePartForTimeValidation, maxTime, meridiemMode, minTime, minutesStep, shouldDisableTime, utils]);
|
|
194
173
|
const selectedId = useId();
|
|
195
174
|
const viewProps = React.useMemo(() => {
|
|
196
175
|
switch (openView) {
|
|
197
176
|
case 'hours':
|
|
198
177
|
{
|
|
199
|
-
const handleHoursChange = (
|
|
200
|
-
const valueWithMeridiem = convertValueToMeridiem(
|
|
201
|
-
handleChangeAndOpenNext(utils.setHours(
|
|
178
|
+
const handleHoursChange = (hourValue, isFinish) => {
|
|
179
|
+
const valueWithMeridiem = convertValueToMeridiem(hourValue, meridiemMode, ampm);
|
|
180
|
+
handleChangeAndOpenNext(utils.setHours(selectedTimeOrMidnight, valueWithMeridiem), isFinish);
|
|
202
181
|
};
|
|
203
182
|
|
|
204
183
|
return {
|
|
205
184
|
onChange: handleHoursChange,
|
|
206
|
-
|
|
185
|
+
viewValue: utils.getHours(selectedTimeOrMidnight),
|
|
207
186
|
children: getHourNumbers({
|
|
208
|
-
|
|
187
|
+
value,
|
|
209
188
|
utils,
|
|
210
189
|
ampm,
|
|
211
190
|
onChange: handleHoursChange,
|
|
212
|
-
getClockNumberText:
|
|
213
|
-
isDisabled:
|
|
191
|
+
getClockNumberText: localeText.hoursClockNumberText,
|
|
192
|
+
isDisabled: hourValue => disabled || isTimeDisabled(hourValue, 'hours'),
|
|
214
193
|
selectedId
|
|
215
194
|
})
|
|
216
195
|
};
|
|
@@ -218,21 +197,21 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
218
197
|
|
|
219
198
|
case 'minutes':
|
|
220
199
|
{
|
|
221
|
-
const minutesValue = utils.getMinutes(
|
|
200
|
+
const minutesValue = utils.getMinutes(selectedTimeOrMidnight);
|
|
222
201
|
|
|
223
|
-
const handleMinutesChange = (
|
|
224
|
-
handleChangeAndOpenNext(utils.setMinutes(
|
|
202
|
+
const handleMinutesChange = (minuteValue, isFinish) => {
|
|
203
|
+
handleChangeAndOpenNext(utils.setMinutes(selectedTimeOrMidnight, minuteValue), isFinish);
|
|
225
204
|
};
|
|
226
205
|
|
|
227
206
|
return {
|
|
228
|
-
|
|
207
|
+
viewValue: minutesValue,
|
|
229
208
|
onChange: handleMinutesChange,
|
|
230
209
|
children: getMinutesNumbers({
|
|
231
210
|
utils,
|
|
232
211
|
value: minutesValue,
|
|
233
212
|
onChange: handleMinutesChange,
|
|
234
|
-
getClockNumberText:
|
|
235
|
-
isDisabled:
|
|
213
|
+
getClockNumberText: localeText.minutesClockNumberText,
|
|
214
|
+
isDisabled: minuteValue => disabled || isTimeDisabled(minuteValue, 'minutes'),
|
|
236
215
|
selectedId
|
|
237
216
|
})
|
|
238
217
|
};
|
|
@@ -240,21 +219,21 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
240
219
|
|
|
241
220
|
case 'seconds':
|
|
242
221
|
{
|
|
243
|
-
const secondsValue = utils.getSeconds(
|
|
222
|
+
const secondsValue = utils.getSeconds(selectedTimeOrMidnight);
|
|
244
223
|
|
|
245
|
-
const handleSecondsChange = (
|
|
246
|
-
handleChangeAndOpenNext(utils.setSeconds(
|
|
224
|
+
const handleSecondsChange = (secondValue, isFinish) => {
|
|
225
|
+
handleChangeAndOpenNext(utils.setSeconds(selectedTimeOrMidnight, secondValue), isFinish);
|
|
247
226
|
};
|
|
248
227
|
|
|
249
228
|
return {
|
|
250
|
-
|
|
229
|
+
viewValue: secondsValue,
|
|
251
230
|
onChange: handleSecondsChange,
|
|
252
231
|
children: getMinutesNumbers({
|
|
253
232
|
utils,
|
|
254
233
|
value: secondsValue,
|
|
255
234
|
onChange: handleSecondsChange,
|
|
256
|
-
getClockNumberText:
|
|
257
|
-
isDisabled:
|
|
235
|
+
getClockNumberText: localeText.secondsClockNumberText,
|
|
236
|
+
isDisabled: secondValue => disabled || isTimeDisabled(secondValue, 'seconds'),
|
|
258
237
|
selectedId
|
|
259
238
|
})
|
|
260
239
|
};
|
|
@@ -263,31 +242,31 @@ export const ClockPicker = /*#__PURE__*/React.forwardRef(function ClockPicker(in
|
|
|
263
242
|
default:
|
|
264
243
|
throw new Error('You must provide the type for ClockView');
|
|
265
244
|
}
|
|
266
|
-
}, [openView, utils,
|
|
245
|
+
}, [openView, utils, value, ampm, localeText.hoursClockNumberText, localeText.minutesClockNumberText, localeText.secondsClockNumberText, meridiemMode, handleChangeAndOpenNext, selectedTimeOrMidnight, isTimeDisabled, selectedId, disabled]);
|
|
267
246
|
const ownerState = props;
|
|
268
247
|
const classes = useUtilityClasses(ownerState);
|
|
269
248
|
return /*#__PURE__*/_jsxs(ClockPickerRoot, {
|
|
270
249
|
ref: ref,
|
|
271
250
|
className: clsx(classes.root, className),
|
|
272
251
|
ownerState: ownerState,
|
|
252
|
+
sx: sx,
|
|
273
253
|
children: [showViewSwitcher && /*#__PURE__*/_jsx(ClockPickerArrowSwitcher, {
|
|
274
254
|
className: classes.arrowSwitcher,
|
|
275
|
-
leftArrowButtonText: leftArrowButtonText,
|
|
276
|
-
rightArrowButtonText: rightArrowButtonText,
|
|
277
255
|
components: components,
|
|
278
256
|
componentsProps: componentsProps,
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
257
|
+
onGoToPrevious: () => setOpenView(previousView),
|
|
258
|
+
isPreviousDisabled: !previousView,
|
|
259
|
+
previousLabel: localeText.openPreviousView,
|
|
260
|
+
onGoToNext: () => setOpenView(nextView),
|
|
261
|
+
isNextDisabled: !nextView,
|
|
262
|
+
nextLabel: localeText.openNextView,
|
|
283
263
|
ownerState: ownerState
|
|
284
264
|
}), /*#__PURE__*/_jsx(Clock, _extends({
|
|
285
265
|
autoFocus: autoFocus,
|
|
286
|
-
date: date,
|
|
287
266
|
ampmInClock: ampmInClock,
|
|
267
|
+
value: value,
|
|
288
268
|
type: openView,
|
|
289
269
|
ampm: ampm,
|
|
290
|
-
getClockLabelText: getClockLabelText,
|
|
291
270
|
minutesStep: minutesStep,
|
|
292
271
|
isTimeDisabled: isTimeDisabled,
|
|
293
272
|
meridiemMode: meridiemMode,
|
|
@@ -339,11 +318,6 @@ process.env.NODE_ENV !== "production" ? ClockPicker.propTypes = {
|
|
|
339
318
|
*/
|
|
340
319
|
componentsProps: PropTypes.object,
|
|
341
320
|
|
|
342
|
-
/**
|
|
343
|
-
* Selected date @DateIOType.
|
|
344
|
-
*/
|
|
345
|
-
date: PropTypes.any,
|
|
346
|
-
|
|
347
321
|
/**
|
|
348
322
|
* If `true`, the picker and text field are disabled.
|
|
349
323
|
* @default false
|
|
@@ -356,59 +330,6 @@ process.env.NODE_ENV !== "production" ? ClockPicker.propTypes = {
|
|
|
356
330
|
*/
|
|
357
331
|
disableIgnoringDatePartForTimeValidation: PropTypes.bool,
|
|
358
332
|
|
|
359
|
-
/**
|
|
360
|
-
* Accessible text that helps user to understand which time and view is selected.
|
|
361
|
-
* @template TDate
|
|
362
|
-
* @param {ClockPickerView} view The current view rendered.
|
|
363
|
-
* @param {TDate | null} time The current time.
|
|
364
|
-
* @param {MuiPickersAdapter<TDate>} adapter The current date adapter.
|
|
365
|
-
* @returns {string} The clock label.
|
|
366
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
367
|
-
* @default <TDate extends any>(
|
|
368
|
-
* view: ClockView,
|
|
369
|
-
* time: TDate | null,
|
|
370
|
-
* adapter: MuiPickersAdapter<TDate>,
|
|
371
|
-
* ) =>
|
|
372
|
-
* `Select ${view}. ${
|
|
373
|
-
* time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`
|
|
374
|
-
* }`
|
|
375
|
-
*/
|
|
376
|
-
getClockLabelText: PropTypes.func,
|
|
377
|
-
|
|
378
|
-
/**
|
|
379
|
-
* Get clock number aria-text for hours.
|
|
380
|
-
* @param {string} hours The hours to format.
|
|
381
|
-
* @returns {string} the formatted hours text.
|
|
382
|
-
* @default (hours: string) => `${hours} hours`
|
|
383
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
384
|
-
*/
|
|
385
|
-
getHoursClockNumberText: PropTypes.func,
|
|
386
|
-
|
|
387
|
-
/**
|
|
388
|
-
* Get clock number aria-text for minutes.
|
|
389
|
-
* @param {string} minutes The minutes to format.
|
|
390
|
-
* @returns {string} the formatted minutes text.
|
|
391
|
-
* @default (minutes: string) => `${minutes} minutes`
|
|
392
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
393
|
-
*/
|
|
394
|
-
getMinutesClockNumberText: PropTypes.func,
|
|
395
|
-
|
|
396
|
-
/**
|
|
397
|
-
* Get clock number aria-text for seconds.
|
|
398
|
-
* @param {string} seconds The seconds to format.
|
|
399
|
-
* @returns {string} the formatted seconds text.
|
|
400
|
-
* @default (seconds: string) => `${seconds} seconds`
|
|
401
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
402
|
-
*/
|
|
403
|
-
getSecondsClockNumberText: PropTypes.func,
|
|
404
|
-
|
|
405
|
-
/**
|
|
406
|
-
* Left arrow icon aria-label text.
|
|
407
|
-
* @default 'open previous view'
|
|
408
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
409
|
-
*/
|
|
410
|
-
leftArrowButtonText: PropTypes.string,
|
|
411
|
-
|
|
412
333
|
/**
|
|
413
334
|
* Max time acceptable time.
|
|
414
335
|
* For input validation date part of passed object will be ignored if `disableIgnoringDatePartForTimeValidation` not specified.
|
|
@@ -450,13 +371,6 @@ process.env.NODE_ENV !== "production" ? ClockPicker.propTypes = {
|
|
|
450
371
|
*/
|
|
451
372
|
readOnly: PropTypes.bool,
|
|
452
373
|
|
|
453
|
-
/**
|
|
454
|
-
* Right arrow icon aria-label text.
|
|
455
|
-
* @default 'open next view'
|
|
456
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
457
|
-
*/
|
|
458
|
-
rightArrowButtonText: PropTypes.string,
|
|
459
|
-
|
|
460
374
|
/**
|
|
461
375
|
* Dynamically check if time is disabled or not.
|
|
462
376
|
* If returns `false` appropriate time point will ot be acceptable.
|
|
@@ -467,6 +381,16 @@ process.env.NODE_ENV !== "production" ? ClockPicker.propTypes = {
|
|
|
467
381
|
shouldDisableTime: PropTypes.func,
|
|
468
382
|
showViewSwitcher: PropTypes.bool,
|
|
469
383
|
|
|
384
|
+
/**
|
|
385
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
386
|
+
*/
|
|
387
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* Selected date @DateIOType.
|
|
391
|
+
*/
|
|
392
|
+
value: PropTypes.any,
|
|
393
|
+
|
|
470
394
|
/**
|
|
471
395
|
* Controlled open view.
|
|
472
396
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["className", "hasSelected", "isInner", "type", "
|
|
3
|
+
const _excluded = ["className", "hasSelected", "isInner", "type", "viewValue"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
@@ -71,7 +71,7 @@ export function ClockPointer(inProps) {
|
|
|
71
71
|
className,
|
|
72
72
|
isInner,
|
|
73
73
|
type,
|
|
74
|
-
|
|
74
|
+
viewValue
|
|
75
75
|
} = props,
|
|
76
76
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
77
77
|
|
|
@@ -88,9 +88,9 @@ export function ClockPointer(inProps) {
|
|
|
88
88
|
|
|
89
89
|
const getAngleStyle = () => {
|
|
90
90
|
const max = type === 'hours' ? 12 : 60;
|
|
91
|
-
let angle = 360 / max *
|
|
91
|
+
let angle = 360 / max * viewValue;
|
|
92
92
|
|
|
93
|
-
if (type === 'hours' &&
|
|
93
|
+
if (type === 'hours' && viewValue > 12) {
|
|
94
94
|
angle -= 360; // round up angle to max 360 degrees
|
|
95
95
|
}
|
|
96
96
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { UseDateFieldProps } from './DateField.interfaces';
|
|
2
|
-
export declare const useDateField: <TInputDate, TDate, TProps extends UseDateFieldProps<TInputDate, TDate>>(inProps: TProps) => import("../internals/hooks/useField").UseFieldResponse<Omit<TProps & Omit<UseDateFieldProps<TInputDate, TDate>, "minDate" | "maxDate" | "disableFuture" | "disablePast"> & Required<Pick<UseDateFieldProps<TInputDate, TDate>, "minDate" | "maxDate" | "disableFuture" | "disablePast">>, "defaultValue" | "onChange" | "onError" | "value" | "
|
|
2
|
+
export declare const useDateField: <TInputDate, TDate, TProps extends UseDateFieldProps<TInputDate, TDate>>(inProps: TProps) => import("../internals/hooks/useField").UseFieldResponse<Omit<TProps & Omit<UseDateFieldProps<TInputDate, TDate>, "minDate" | "maxDate" | "disableFuture" | "disablePast"> & Required<Pick<UseDateFieldProps<TInputDate, TDate>, "minDate" | "maxDate" | "disableFuture" | "disablePast">>, "defaultValue" | "onChange" | "onError" | "value" | "minDate" | "maxDate" | "format" | "disableFuture" | "disablePast" | "readOnly" | "shouldDisableMonth" | "shouldDisableDate" | "shouldDisableYear">>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast"];
|
|
3
|
+
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "shouldDisableMonth", "shouldDisableYear", "minDate", "maxDate", "disableFuture", "disablePast"];
|
|
4
4
|
import { datePickerValueManager } from '../DatePicker/shared';
|
|
5
5
|
import { useField, splitFormatIntoSections, addPositionPropertiesToSections, createDateStrFromSections } from '../internals/hooks/useField';
|
|
6
6
|
import { isSameDateError, validateDate } from '../internals/hooks/validation/useDateValidation';
|
|
@@ -47,6 +47,8 @@ export const useDateField = inProps => {
|
|
|
47
47
|
readOnly,
|
|
48
48
|
onError,
|
|
49
49
|
shouldDisableDate,
|
|
50
|
+
shouldDisableMonth,
|
|
51
|
+
shouldDisableYear,
|
|
50
52
|
minDate,
|
|
51
53
|
maxDate,
|
|
52
54
|
disableFuture,
|
|
@@ -64,6 +66,8 @@ export const useDateField = inProps => {
|
|
|
64
66
|
readOnly,
|
|
65
67
|
onError,
|
|
66
68
|
shouldDisableDate,
|
|
69
|
+
shouldDisableMonth,
|
|
70
|
+
shouldDisableYear,
|
|
67
71
|
minDate,
|
|
68
72
|
maxDate,
|
|
69
73
|
disableFuture,
|
package/DatePicker/DatePicker.js
CHANGED
|
@@ -159,14 +159,6 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
159
159
|
* @default (date, utils) => `Choose date, selected date is ${utils.format(utils.date(date), 'fullDate')}`
|
|
160
160
|
*/
|
|
161
161
|
getOpenDialogAriaText: PropTypes.func,
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Get aria-label text for switching between views button.
|
|
165
|
-
* @param {CalendarPickerView} currentView The view from which we want to get the button text.
|
|
166
|
-
* @returns {string} The label of the view.
|
|
167
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
168
|
-
*/
|
|
169
|
-
getViewSwitchingButtonText: PropTypes.func,
|
|
170
162
|
ignoreInvalidInputs: PropTypes.bool,
|
|
171
163
|
|
|
172
164
|
/**
|
|
@@ -188,12 +180,6 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
188
180
|
})]),
|
|
189
181
|
label: PropTypes.node,
|
|
190
182
|
|
|
191
|
-
/**
|
|
192
|
-
* Left arrow icon aria-label text.
|
|
193
|
-
* @deprecated
|
|
194
|
-
*/
|
|
195
|
-
leftArrowButtonText: PropTypes.string,
|
|
196
|
-
|
|
197
183
|
/**
|
|
198
184
|
* If `true` renders `LoadingComponent` in calendar instead of calendar view.
|
|
199
185
|
* Can be used to preload information and show it in calendar.
|
|
@@ -201,6 +187,11 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
201
187
|
*/
|
|
202
188
|
loading: PropTypes.bool,
|
|
203
189
|
|
|
190
|
+
/**
|
|
191
|
+
* Locale for components texts
|
|
192
|
+
*/
|
|
193
|
+
localeText: PropTypes.object,
|
|
194
|
+
|
|
204
195
|
/**
|
|
205
196
|
* Custom mask. Can be used to override generate from format. (e.g. `__/__/____ __:__` or `__/__/____ __:__ _M`).
|
|
206
197
|
*/
|
|
@@ -358,12 +349,6 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
358
349
|
*/
|
|
359
350
|
rifmFormatter: PropTypes.func,
|
|
360
351
|
|
|
361
|
-
/**
|
|
362
|
-
* Right arrow icon aria-label text.
|
|
363
|
-
* @deprecated
|
|
364
|
-
*/
|
|
365
|
-
rightArrowButtonText: PropTypes.string,
|
|
366
|
-
|
|
367
352
|
/**
|
|
368
353
|
* Disable specific date. @DateIOType
|
|
369
354
|
* @template TDate
|
|
@@ -401,6 +386,11 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
|
|
|
401
386
|
*/
|
|
402
387
|
showToolbar: PropTypes.bool,
|
|
403
388
|
|
|
389
|
+
/**
|
|
390
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
391
|
+
*/
|
|
392
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
393
|
+
|
|
404
394
|
/**
|
|
405
395
|
* Component that will replace default toolbar renderer.
|
|
406
396
|
* @default DatePickerToolbar
|
|
@@ -173,25 +173,6 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
173
173
|
*/
|
|
174
174
|
disablePast: PropTypes.bool,
|
|
175
175
|
|
|
176
|
-
/**
|
|
177
|
-
* Accessible text that helps user to understand which time and view is selected.
|
|
178
|
-
* @template TDate
|
|
179
|
-
* @param {ClockPickerView} view The current view rendered.
|
|
180
|
-
* @param {TDate | null} time The current time.
|
|
181
|
-
* @param {MuiPickersAdapter<TDate>} adapter The current date adapter.
|
|
182
|
-
* @returns {string} The clock label.
|
|
183
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
184
|
-
* @default <TDate extends any>(
|
|
185
|
-
* view: ClockView,
|
|
186
|
-
* time: TDate | null,
|
|
187
|
-
* adapter: MuiPickersAdapter<TDate>,
|
|
188
|
-
* ) =>
|
|
189
|
-
* `Select ${view}. ${
|
|
190
|
-
* time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`
|
|
191
|
-
* }`
|
|
192
|
-
*/
|
|
193
|
-
getClockLabelText: PropTypes.func,
|
|
194
|
-
|
|
195
176
|
/**
|
|
196
177
|
* Get aria-label text for control that opens picker dialog. Aria-label text must include selected date. @DateIOType
|
|
197
178
|
* @template TInputDate, TDate
|
|
@@ -202,14 +183,6 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
202
183
|
*/
|
|
203
184
|
getOpenDialogAriaText: PropTypes.func,
|
|
204
185
|
|
|
205
|
-
/**
|
|
206
|
-
* Get aria-label text for switching between views button.
|
|
207
|
-
* @param {CalendarPickerView} currentView The view from which we want to get the button text.
|
|
208
|
-
* @returns {string} The label of the view.
|
|
209
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
210
|
-
*/
|
|
211
|
-
getViewSwitchingButtonText: PropTypes.func,
|
|
212
|
-
|
|
213
186
|
/**
|
|
214
187
|
* Toggles visibility of date time switching tabs
|
|
215
188
|
* @default false for mobile, true for desktop
|
|
@@ -236,12 +209,6 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
236
209
|
})]),
|
|
237
210
|
label: PropTypes.node,
|
|
238
211
|
|
|
239
|
-
/**
|
|
240
|
-
* Left arrow icon aria-label text.
|
|
241
|
-
* @deprecated
|
|
242
|
-
*/
|
|
243
|
-
leftArrowButtonText: PropTypes.string,
|
|
244
|
-
|
|
245
212
|
/**
|
|
246
213
|
* If `true` renders `LoadingComponent` in calendar instead of calendar view.
|
|
247
214
|
* Can be used to preload information and show it in calendar.
|
|
@@ -249,6 +216,11 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
249
216
|
*/
|
|
250
217
|
loading: PropTypes.bool,
|
|
251
218
|
|
|
219
|
+
/**
|
|
220
|
+
* Locale for components texts
|
|
221
|
+
*/
|
|
222
|
+
localeText: PropTypes.object,
|
|
223
|
+
|
|
252
224
|
/**
|
|
253
225
|
* Custom mask. Can be used to override generate from format. (e.g. `__/__/____ __:__` or `__/__/____ __:__ _M`).
|
|
254
226
|
*/
|
|
@@ -434,12 +406,6 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
434
406
|
*/
|
|
435
407
|
rifmFormatter: PropTypes.func,
|
|
436
408
|
|
|
437
|
-
/**
|
|
438
|
-
* Right arrow icon aria-label text.
|
|
439
|
-
* @deprecated
|
|
440
|
-
*/
|
|
441
|
-
rightArrowButtonText: PropTypes.string,
|
|
442
|
-
|
|
443
409
|
/**
|
|
444
410
|
* Disable specific date. @DateIOType
|
|
445
411
|
* @template TDate
|
|
@@ -486,6 +452,11 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
486
452
|
*/
|
|
487
453
|
showToolbar: PropTypes.bool,
|
|
488
454
|
|
|
455
|
+
/**
|
|
456
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
457
|
+
*/
|
|
458
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
459
|
+
|
|
489
460
|
/**
|
|
490
461
|
* Time tab icon.
|
|
491
462
|
*/
|
|
@@ -6,7 +6,7 @@ export interface DesktopDatePickerSlotsComponent extends DesktopWrapperSlotsComp
|
|
|
6
6
|
}
|
|
7
7
|
export interface DesktopDatePickerSlotsComponentsProps extends DesktopWrapperSlotsComponentsProps, CalendarPickerSlotsComponentsProps {
|
|
8
8
|
}
|
|
9
|
-
export interface DesktopDatePickerProps<TInputDate, TDate> extends Omit<BaseDatePickerProps<TInputDate, TDate>, 'components' | 'componentsProps'>, DesktopWrapperProps {
|
|
9
|
+
export interface DesktopDatePickerProps<TInputDate, TDate> extends Omit<BaseDatePickerProps<TInputDate, TDate>, 'components' | 'componentsProps'>, DesktopWrapperProps<TDate> {
|
|
10
10
|
/**
|
|
11
11
|
* Overrideable components.
|
|
12
12
|
* @default {}
|