@mui/x-date-pickers 6.4.0 → 6.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AdapterDateFns/AdapterDateFns.d.ts +6 -0
- package/AdapterDateFns/AdapterDateFns.js +18 -0
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +6 -0
- package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +18 -0
- package/AdapterDayjs/AdapterDayjs.d.ts +14 -1
- package/AdapterDayjs/AdapterDayjs.js +131 -14
- package/AdapterLuxon/AdapterLuxon.d.ts +7 -1
- package/AdapterLuxon/AdapterLuxon.js +58 -9
- package/AdapterMoment/AdapterMoment.d.ts +12 -1
- package/AdapterMoment/AdapterMoment.js +91 -2
- package/AdapterMomentHijri/AdapterMomentHijri.d.ts +4 -0
- package/AdapterMomentHijri/AdapterMomentHijri.js +10 -0
- package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +4 -0
- package/AdapterMomentJalaali/AdapterMomentJalaali.js +10 -0
- package/CHANGELOG.md +134 -2
- package/DateCalendar/DateCalendar.js +2 -2
- package/DateCalendar/DayCalendar.d.ts +1 -1
- package/DateCalendar/PickersCalendarHeader.d.ts +1 -1
- package/DateCalendar/PickersCalendarHeader.js +2 -2
- package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
- package/DateCalendar/PickersSlideTransition.d.ts +1 -1
- package/DateField/DateField.js +6 -0
- package/DateField/DateField.types.d.ts +2 -2
- package/DateField/index.d.ts +1 -1
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +9 -46
- package/DateTimeField/DateTimeField.js +6 -0
- package/DateTimeField/DateTimeField.types.d.ts +2 -2
- package/DateTimeField/index.d.ts +1 -1
- package/DateTimeField/useDateTimeField.d.ts +1 -1
- package/DateTimeField/useDateTimeField.js +9 -60
- package/DateTimePicker/DateTimePicker.js +19 -2
- package/DateTimePicker/DateTimePicker.types.d.ts +4 -3
- package/DateTimePicker/DateTimePickerTabs.d.ts +3 -3
- package/DateTimePicker/DateTimePickerTabs.js +6 -5
- package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -4
- package/DateTimePicker/DateTimePickerToolbar.js +46 -22
- package/DateTimePicker/shared.d.ts +6 -6
- package/DayCalendarSkeleton/DayCalendarSkeleton.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +54 -12
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +10 -3
- package/DesktopTimePicker/DesktopTimePicker.js +3 -4
- package/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +8 -7
- package/MobileTimePicker/MobileTimePicker.js +1 -2
- package/MonthCalendar/MonthCalendar.js +2 -2
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
- package/PickersActionBar/PickersActionBar.d.ts +2 -2
- package/PickersLayout/PickersLayout.d.ts +1 -1
- package/PickersShortcuts/PickersShortcuts.d.ts +2 -2
- package/README.md +5 -5
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -1
- package/TimeClock/Clock.d.ts +1 -1
- package/TimeClock/ClockNumber.d.ts +1 -1
- package/TimeClock/ClockNumbers.d.ts +2 -2
- package/TimeClock/ClockPointer.d.ts +1 -1
- package/TimeField/TimeField.js +6 -0
- package/TimeField/TimeField.types.d.ts +1 -1
- package/TimeField/index.d.ts +1 -1
- package/TimeField/useTimeField.d.ts +1 -1
- package/TimeField/useTimeField.js +9 -50
- package/TimePicker/TimePickerToolbar.d.ts +2 -2
- package/YearCalendar/YearCalendar.js +2 -2
- package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +13 -0
- package/dateTimeViewRenderers/dateTimeViewRenderers.js +148 -0
- package/dateTimeViewRenderers/index.d.ts +2 -0
- package/dateTimeViewRenderers/index.js +1 -0
- package/dateTimeViewRenderers/package.json +6 -0
- package/dateViewRenderers/dateViewRenderers.d.ts +3 -2
- package/dateViewRenderers/dateViewRenderers.js +2 -2
- package/icons/index.d.ts +42 -0
- package/{internals/components/icons → icons}/index.js +7 -7
- package/icons/package.json +6 -0
- package/index.d.ts +1 -0
- package/index.js +3 -2
- package/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.d.ts +2 -0
- package/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
- package/internals/components/DateTimeViewWrapper/index.d.ts +1 -0
- package/internals/components/DateTimeViewWrapper/index.js +1 -0
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/internals/components/PickersModalDialog.d.ts +1 -1
- package/internals/components/PickersPopper.d.ts +1 -1
- package/internals/components/PickersToolbarButton.d.ts +1 -0
- package/internals/components/PickersToolbarButton.js +8 -3
- package/internals/constants/dimensions.d.ts +1 -0
- package/internals/constants/dimensions.js +2 -1
- package/internals/demo/DemoContainer.d.ts +2 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
- package/internals/hooks/useField/useField.d.ts +1 -1
- package/internals/hooks/useField/useField.js +18 -5
- package/internals/hooks/useField/useField.types.d.ts +8 -2
- package/internals/hooks/useField/useFieldState.d.ts +1 -1
- package/internals/hooks/useField/useFieldState.js +22 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +32 -2
- package/internals/hooks/usePicker/usePickerViews.js +8 -10
- package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
- package/internals/hooks/useViews.js +12 -9
- package/internals/index.d.ts +4 -2
- package/internals/index.js +4 -2
- package/internals/models/fields.d.ts +1 -1
- package/internals/utils/date-utils.d.ts +4 -1
- package/internals/utils/date-utils.js +4 -1
- package/internals/utils/fields.d.ts +5 -0
- package/internals/utils/fields.js +28 -0
- package/internals/utils/getDefaultReferenceDate.d.ts +15 -0
- package/internals/utils/getDefaultReferenceDate.js +62 -0
- package/internals/utils/time-utils.d.ts +2 -1
- package/internals/utils/time-utils.js +1 -0
- package/internals/utils/validation/extractValidationProps.d.ts +5 -1
- package/internals/utils/validation/extractValidationProps.js +4 -1
- package/internals/utils/valueManagers.js +21 -3
- package/legacy/AdapterDateFns/AdapterDateFns.js +18 -0
- package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +18 -0
- package/legacy/AdapterDayjs/AdapterDayjs.js +135 -14
- package/legacy/AdapterLuxon/AdapterLuxon.js +58 -9
- package/legacy/AdapterMoment/AdapterMoment.js +97 -6
- package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +10 -0
- package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +10 -0
- package/legacy/DateCalendar/DateCalendar.js +2 -2
- package/legacy/DateCalendar/PickersCalendarHeader.js +2 -2
- package/legacy/DateField/DateField.js +6 -0
- package/legacy/DateField/useDateField.js +8 -44
- package/legacy/DateTimeField/DateTimeField.js +6 -0
- package/legacy/DateTimeField/useDateTimeField.js +8 -60
- package/legacy/DateTimePicker/DateTimePicker.js +19 -2
- package/legacy/DateTimePicker/DateTimePickerTabs.js +6 -5
- package/legacy/DateTimePicker/DateTimePickerToolbar.js +51 -23
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +55 -12
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +3 -4
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
- package/legacy/MobileTimePicker/MobileTimePicker.js +1 -2
- package/legacy/MonthCalendar/MonthCalendar.js +2 -2
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
- package/legacy/TimeField/TimeField.js +6 -0
- package/legacy/TimeField/useTimeField.js +8 -48
- package/legacy/YearCalendar/YearCalendar.js +2 -2
- package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +147 -0
- package/legacy/dateTimeViewRenderers/index.js +1 -0
- package/legacy/dateViewRenderers/dateViewRenderers.js +2 -4
- package/legacy/{internals/components/icons → icons}/index.js +7 -7
- package/legacy/index.js +3 -2
- package/legacy/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
- package/legacy/internals/components/DateTimeViewWrapper/index.js +1 -0
- package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/legacy/internals/components/PickersToolbarButton.js +7 -2
- package/legacy/internals/constants/dimensions.js +2 -1
- package/legacy/internals/hooks/useField/useField.js +20 -7
- package/legacy/internals/hooks/useField/useFieldState.js +22 -2
- package/legacy/internals/hooks/usePicker/usePickerViews.js +4 -4
- package/legacy/internals/hooks/useViews.js +12 -9
- package/legacy/internals/index.js +4 -2
- package/legacy/internals/utils/date-utils.js +7 -0
- package/legacy/internals/utils/fields.js +28 -0
- package/legacy/internals/utils/getDefaultReferenceDate.js +64 -0
- package/legacy/internals/utils/time-utils.js +3 -0
- package/legacy/internals/utils/validation/extractValidationProps.js +4 -1
- package/legacy/internals/utils/valueManagers.js +20 -4
- package/legacy/locales/index.js +1 -0
- package/legacy/locales/viVN.js +93 -0
- package/legacy/models/index.js +1 -0
- package/legacy/models/timezone.js +1 -0
- package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +16 -1
- package/legacy/tests/describeGregorianAdapter/testCalculations.js +350 -80
- package/legacy/tests/describeGregorianAdapter/testLocalization.js +3 -3
- package/legacy/tests/describeValidation/testDayViewValidation.js +129 -52
- package/legacy/tests/describeValidation/testMinutesViewValidation.js +3 -10
- package/legacy/tests/describeValidation/testMonthViewValidation.js +3 -10
- package/legacy/tests/describeValidation/testYearViewValidation.js +3 -10
- package/legacy/tests/describeValue/describeValue.js +38 -4
- package/legacy/tests/describeValue/testControlledUnControlled.js +44 -23
- package/legacy/tests/describeValue/testPickerActionBar.js +51 -45
- package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +102 -78
- package/legacy/timeViewRenderers/timeViewRenderers.js +1 -1
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/viVN.d.ts +53 -0
- package/locales/viVN.js +57 -0
- package/models/adapters.d.ts +50 -9
- package/models/fields.d.ts +1 -1
- package/models/index.d.ts +1 -0
- package/models/index.js +1 -0
- package/models/timezone.d.ts +1 -0
- package/models/timezone.js +1 -0
- package/modern/AdapterDateFns/AdapterDateFns.js +18 -0
- package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +18 -0
- package/modern/AdapterDayjs/AdapterDayjs.js +130 -14
- package/modern/AdapterLuxon/AdapterLuxon.js +57 -9
- package/modern/AdapterMoment/AdapterMoment.js +90 -2
- package/modern/AdapterMomentHijri/AdapterMomentHijri.js +10 -0
- package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +10 -0
- package/modern/DateCalendar/DateCalendar.js +2 -2
- package/modern/DateCalendar/PickersCalendarHeader.js +2 -2
- package/modern/DateField/DateField.js +6 -0
- package/modern/DateField/useDateField.js +9 -46
- package/modern/DateTimeField/DateTimeField.js +6 -0
- package/modern/DateTimeField/useDateTimeField.js +9 -60
- package/modern/DateTimePicker/DateTimePicker.js +19 -2
- package/modern/DateTimePicker/DateTimePickerTabs.js +6 -5
- package/modern/DateTimePicker/DateTimePickerToolbar.js +46 -22
- package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +53 -11
- package/modern/DesktopTimePicker/DesktopTimePicker.js +3 -4
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
- package/modern/MobileTimePicker/MobileTimePicker.js +1 -2
- package/modern/MonthCalendar/MonthCalendar.js +2 -2
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
- package/modern/TimeField/TimeField.js +6 -0
- package/modern/TimeField/useTimeField.js +9 -50
- package/modern/YearCalendar/YearCalendar.js +2 -2
- package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +147 -0
- package/modern/dateTimeViewRenderers/index.js +1 -0
- package/modern/dateViewRenderers/dateViewRenderers.js +2 -2
- package/modern/{internals/components/icons → icons}/index.js +7 -7
- package/modern/index.js +3 -2
- package/modern/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
- package/modern/internals/components/DateTimeViewWrapper/index.js +1 -0
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/modern/internals/components/PickersToolbarButton.js +8 -3
- package/modern/internals/constants/dimensions.js +2 -1
- package/modern/internals/hooks/useField/useField.js +18 -5
- package/modern/internals/hooks/useField/useFieldState.js +22 -2
- package/modern/internals/hooks/usePicker/usePickerViews.js +8 -10
- package/modern/internals/hooks/useViews.js +12 -9
- package/modern/internals/index.js +4 -2
- package/modern/internals/utils/date-utils.js +4 -1
- package/modern/internals/utils/fields.js +28 -0
- package/modern/internals/utils/getDefaultReferenceDate.js +58 -0
- package/modern/internals/utils/time-utils.js +1 -0
- package/modern/internals/utils/validation/extractValidationProps.js +4 -1
- package/modern/internals/utils/valueManagers.js +21 -3
- package/modern/locales/index.js +1 -0
- package/modern/locales/viVN.js +57 -0
- package/modern/models/index.js +1 -0
- package/modern/models/timezone.js +1 -0
- package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +13 -1
- package/modern/tests/describeGregorianAdapter/testCalculations.js +348 -80
- package/modern/tests/describeGregorianAdapter/testLocalization.js +3 -3
- package/modern/tests/describeValidation/testDayViewValidation.js +129 -52
- package/modern/tests/describeValidation/testMinutesViewValidation.js +3 -10
- package/modern/tests/describeValidation/testMonthViewValidation.js +3 -10
- package/modern/tests/describeValidation/testYearViewValidation.js +3 -10
- package/modern/tests/describeValue/describeValue.js +39 -4
- package/modern/tests/describeValue/testControlledUnControlled.js +35 -16
- package/modern/tests/describeValue/testPickerActionBar.js +38 -29
- package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +89 -58
- package/modern/timeViewRenderers/timeViewRenderers.js +1 -1
- package/node/AdapterDateFns/AdapterDateFns.js +18 -0
- package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +18 -0
- package/node/AdapterDayjs/AdapterDayjs.js +130 -14
- package/node/AdapterLuxon/AdapterLuxon.js +57 -9
- package/node/AdapterMoment/AdapterMoment.js +90 -2
- package/node/AdapterMomentHijri/AdapterMomentHijri.js +10 -0
- package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +10 -0
- package/node/DateCalendar/DateCalendar.js +2 -2
- package/node/DateCalendar/PickersCalendarHeader.js +2 -2
- package/node/DateField/DateField.js +6 -0
- package/node/DateField/useDateField.js +9 -46
- package/node/DateTimeField/DateTimeField.js +6 -0
- package/node/DateTimeField/useDateTimeField.js +9 -60
- package/node/DateTimePicker/DateTimePicker.js +19 -2
- package/node/DateTimePicker/DateTimePickerTabs.js +6 -5
- package/node/DateTimePicker/DateTimePickerToolbar.js +46 -22
- package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +53 -11
- package/node/DesktopTimePicker/DesktopTimePicker.js +3 -4
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
- package/node/MobileTimePicker/MobileTimePicker.js +1 -2
- package/node/MonthCalendar/MonthCalendar.js +2 -2
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +3 -2
- package/node/TimeField/TimeField.js +6 -0
- package/node/TimeField/useTimeField.js +9 -50
- package/node/YearCalendar/YearCalendar.js +2 -2
- package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +156 -0
- package/node/dateTimeViewRenderers/index.js +12 -0
- package/node/dateViewRenderers/dateViewRenderers.js +3 -3
- package/node/{internals/components/icons → icons}/index.js +15 -15
- package/node/index.js +13 -1
- package/node/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +12 -0
- package/node/internals/components/DateTimeViewWrapper/index.js +12 -0
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/node/internals/components/PickersToolbarButton.js +8 -3
- package/node/internals/constants/dimensions.js +4 -2
- package/node/internals/hooks/useField/useField.js +18 -5
- package/node/internals/hooks/useField/useFieldState.js +22 -2
- package/node/internals/hooks/usePicker/usePickerViews.js +8 -10
- package/node/internals/hooks/useViews.js +12 -9
- package/node/internals/index.js +26 -0
- package/node/internals/utils/date-utils.js +7 -2
- package/node/internals/utils/fields.js +36 -0
- package/node/internals/utils/getDefaultReferenceDate.js +66 -0
- package/node/internals/utils/time-utils.js +3 -1
- package/node/internals/utils/validation/extractValidationProps.js +8 -2
- package/node/internals/utils/valueManagers.js +21 -2
- package/node/locales/index.js +11 -0
- package/node/locales/viVN.js +64 -0
- package/node/models/index.js +11 -0
- package/node/models/timezone.js +5 -0
- package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +13 -1
- package/node/tests/describeGregorianAdapter/testCalculations.js +348 -80
- package/node/tests/describeGregorianAdapter/testLocalization.js +3 -4
- package/node/tests/describeValidation/testDayViewValidation.js +129 -52
- package/node/tests/describeValidation/testMinutesViewValidation.js +3 -10
- package/node/tests/describeValidation/testMonthViewValidation.js +3 -10
- package/node/tests/describeValidation/testYearViewValidation.js +3 -10
- package/node/tests/describeValue/describeValue.js +39 -4
- package/node/tests/describeValue/testControlledUnControlled.js +35 -16
- package/node/tests/describeValue/testPickerActionBar.js +38 -28
- package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +88 -57
- package/node/timeViewRenderers/timeViewRenderers.js +1 -1
- package/package.json +5 -5
- package/tests/describeGregorianAdapter/describeGregorianAdapter.js +14 -1
- package/tests/describeGregorianAdapter/testCalculations.js +348 -80
- package/tests/describeGregorianAdapter/testLocalization.js +3 -3
- package/tests/describeValidation/testDayViewValidation.js +129 -52
- package/tests/describeValidation/testMinutesViewValidation.js +3 -10
- package/tests/describeValidation/testMonthViewValidation.js +3 -10
- package/tests/describeValidation/testYearViewValidation.js +3 -10
- package/tests/describeValue/describeValue.js +39 -4
- package/tests/describeValue/testControlledUnControlled.js +35 -16
- package/tests/describeValue/testPickerActionBar.js +38 -29
- package/tests/describeValue/testPickerOpenCloseLifeCycle.js +89 -58
- package/timeViewRenderers/timeViewRenderers.d.ts +4 -4
- package/timeViewRenderers/timeViewRenderers.js +1 -1
- package/internals/components/icons/index.d.ts +0 -42
|
@@ -7,7 +7,7 @@ import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
|
7
7
|
import { TimeField } from '../TimeField';
|
|
8
8
|
import { useTimePickerDefaultizedProps } from '../TimePicker/shared';
|
|
9
9
|
import { useLocaleText, validateTime } from '../internals';
|
|
10
|
-
import {
|
|
10
|
+
import { ClockIcon } from '../icons';
|
|
11
11
|
import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
|
|
12
12
|
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
13
13
|
import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '../timeViewRenderers';
|
|
@@ -47,14 +47,13 @@ var DesktopTimePicker = /*#__PURE__*/React.forwardRef(function DesktopTimePicker
|
|
|
47
47
|
views: shouldRenderTimeInASingleColumn ? ['hours'] : views,
|
|
48
48
|
slots: _extends({
|
|
49
49
|
field: TimeField,
|
|
50
|
-
openPickerIcon:
|
|
50
|
+
openPickerIcon: ClockIcon
|
|
51
51
|
}, defaultizedProps.slots),
|
|
52
52
|
slotProps: _extends({}, defaultizedProps.slotProps, {
|
|
53
53
|
field: function field(ownerState) {
|
|
54
54
|
var _defaultizedProps$slo;
|
|
55
55
|
return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
|
|
56
|
-
ref: ref
|
|
57
|
-
ampm: defaultizedProps.ampm
|
|
56
|
+
ref: ref
|
|
58
57
|
});
|
|
59
58
|
},
|
|
60
59
|
toolbar: _extends({
|
|
@@ -37,8 +37,7 @@ var MobileDateTimePicker = /*#__PURE__*/React.forwardRef(function MobileDateTime
|
|
|
37
37
|
field: function field(ownerState) {
|
|
38
38
|
var _defaultizedProps$slo;
|
|
39
39
|
return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
|
|
40
|
-
ref: ref
|
|
41
|
-
ampm: defaultizedProps.ampm
|
|
40
|
+
ref: ref
|
|
42
41
|
});
|
|
43
42
|
},
|
|
44
43
|
toolbar: _extends({
|
|
@@ -33,8 +33,7 @@ var MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTimePicker(i
|
|
|
33
33
|
field: function field(ownerState) {
|
|
34
34
|
var _defaultizedProps$slo;
|
|
35
35
|
return _extends({}, resolveComponentProps((_defaultizedProps$slo = defaultizedProps.slotProps) == null ? void 0 : _defaultizedProps$slo.field, ownerState), extractValidationProps(defaultizedProps), {
|
|
36
|
-
ref: ref
|
|
37
|
-
ampm: defaultizedProps.ampm
|
|
36
|
+
ref: ref
|
|
38
37
|
});
|
|
39
38
|
},
|
|
40
39
|
toolbar: _extends({
|
|
@@ -120,7 +120,7 @@ export var MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalendar(
|
|
|
120
120
|
onFocusedViewChange(newHasFocus);
|
|
121
121
|
}
|
|
122
122
|
});
|
|
123
|
-
var isMonthDisabled =
|
|
123
|
+
var isMonthDisabled = React.useCallback(function (month) {
|
|
124
124
|
var firstEnabledMonth = utils.startOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate);
|
|
125
125
|
var lastEnabledMonth = utils.startOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate);
|
|
126
126
|
if (utils.isBefore(month, firstEnabledMonth)) {
|
|
@@ -133,7 +133,7 @@ export var MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalendar(
|
|
|
133
133
|
return false;
|
|
134
134
|
}
|
|
135
135
|
return shouldDisableMonth(month);
|
|
136
|
-
});
|
|
136
|
+
}, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableMonth, utils]);
|
|
137
137
|
var handleMonthSelection = useEventCallback(function (event, month) {
|
|
138
138
|
if (readOnly) {
|
|
139
139
|
return;
|
|
@@ -9,7 +9,7 @@ import MenuList from '@mui/material/MenuList';
|
|
|
9
9
|
import MenuItem from '@mui/material/MenuItem';
|
|
10
10
|
import useForkRef from '@mui/utils/useForkRef';
|
|
11
11
|
import { getMultiSectionDigitalClockSectionUtilityClass } from './multiSectionDigitalClockSectionClasses';
|
|
12
|
-
import { DIGITAL_CLOCK_VIEW_HEIGHT } from '../internals/constants/dimensions';
|
|
12
|
+
import { DIGITAL_CLOCK_VIEW_HEIGHT, MULTI_SECTION_CLOCK_SECTION_WIDTH } from '../internals/constants/dimensions';
|
|
13
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
15
15
|
var classes = ownerState.classes;
|
|
@@ -43,7 +43,8 @@ var MultiSectionDigitalClockSectionRoot = styled(MenuList, {
|
|
|
43
43
|
'&:after': {
|
|
44
44
|
display: 'block',
|
|
45
45
|
content: '""',
|
|
46
|
-
height
|
|
46
|
+
// subtracting the height of one item, extra margin and borders to make sure the max height is correct
|
|
47
|
+
height: 'calc(100% - 40px - 6px)'
|
|
47
48
|
}
|
|
48
49
|
};
|
|
49
50
|
});
|
|
@@ -58,7 +59,7 @@ var MultiSectionDigitalClockSectionItem = styled(MenuItem, {
|
|
|
58
59
|
return {
|
|
59
60
|
padding: 8,
|
|
60
61
|
margin: '2px 4px',
|
|
61
|
-
width:
|
|
62
|
+
width: MULTI_SECTION_CLOCK_SECTION_WIDTH,
|
|
62
63
|
justifyContent: 'center',
|
|
63
64
|
'&:first-of-type': {
|
|
64
65
|
marginTop: 4
|
|
@@ -240,6 +240,12 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
240
240
|
* @default false
|
|
241
241
|
*/
|
|
242
242
|
readOnly: PropTypes.bool,
|
|
243
|
+
/**
|
|
244
|
+
* The date used to generate a part of the date-time that is not present in the format when both `value` and `defaultValue` are not present.
|
|
245
|
+
* For example, on time fields it will be used to determine the date to set.
|
|
246
|
+
* @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
|
|
247
|
+
*/
|
|
248
|
+
referenceDate: PropTypes.any,
|
|
243
249
|
/**
|
|
244
250
|
* If `true`, the label is displayed as required and the `input` element is required.
|
|
245
251
|
* @default false
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
var _excluded = ["value", "defaultValue", "format", "formatDensity", "shouldRespectLeadingZeros", "onChange", "readOnly", "onError", "disableFuture", "disablePast", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "ampm", "unstableFieldRef"];
|
|
4
2
|
import { singleItemFieldValueManager, singleItemValueManager } from '../internals/utils/valueManagers';
|
|
5
3
|
import { useField } from '../internals/hooks/useField';
|
|
6
4
|
import { validateTime } from '../internals/utils/validation/validateTime';
|
|
7
5
|
import { useUtils } from '../internals/hooks/useUtils';
|
|
6
|
+
import { splitFieldInternalAndForwardedProps } from '../internals/utils/fields';
|
|
8
7
|
var useDefaultizedTimeField = function useDefaultizedTimeField(props) {
|
|
9
8
|
var _props$ampm, _props$disablePast, _props$disableFuture, _props$format;
|
|
10
9
|
var utils = useUtils();
|
|
@@ -17,55 +16,16 @@ var useDefaultizedTimeField = function useDefaultizedTimeField(props) {
|
|
|
17
16
|
});
|
|
18
17
|
};
|
|
19
18
|
export var useTimeField = function useTimeField(_ref) {
|
|
20
|
-
var
|
|
19
|
+
var inProps = _ref.props,
|
|
21
20
|
inputRef = _ref.inputRef;
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
formatDensity = _useDefaultizedTimeFi.formatDensity,
|
|
27
|
-
shouldRespectLeadingZeros = _useDefaultizedTimeFi.shouldRespectLeadingZeros,
|
|
28
|
-
onChange = _useDefaultizedTimeFi.onChange,
|
|
29
|
-
readOnly = _useDefaultizedTimeFi.readOnly,
|
|
30
|
-
onError = _useDefaultizedTimeFi.onError,
|
|
31
|
-
disableFuture = _useDefaultizedTimeFi.disableFuture,
|
|
32
|
-
disablePast = _useDefaultizedTimeFi.disablePast,
|
|
33
|
-
minTime = _useDefaultizedTimeFi.minTime,
|
|
34
|
-
maxTime = _useDefaultizedTimeFi.maxTime,
|
|
35
|
-
minutesStep = _useDefaultizedTimeFi.minutesStep,
|
|
36
|
-
shouldDisableClock = _useDefaultizedTimeFi.shouldDisableClock,
|
|
37
|
-
shouldDisableTime = _useDefaultizedTimeFi.shouldDisableTime,
|
|
38
|
-
disableIgnoringDatePartForTimeValidation = _useDefaultizedTimeFi.disableIgnoringDatePartForTimeValidation,
|
|
39
|
-
selectedSections = _useDefaultizedTimeFi.selectedSections,
|
|
40
|
-
onSelectedSectionsChange = _useDefaultizedTimeFi.onSelectedSectionsChange,
|
|
41
|
-
ampm = _useDefaultizedTimeFi.ampm,
|
|
42
|
-
unstableFieldRef = _useDefaultizedTimeFi.unstableFieldRef,
|
|
43
|
-
other = _objectWithoutProperties(_useDefaultizedTimeFi, _excluded);
|
|
21
|
+
var props = useDefaultizedTimeField(inProps);
|
|
22
|
+
var _splitFieldInternalAn = splitFieldInternalAndForwardedProps(props, 'time'),
|
|
23
|
+
forwardedProps = _splitFieldInternalAn.forwardedProps,
|
|
24
|
+
internalProps = _splitFieldInternalAn.internalProps;
|
|
44
25
|
return useField({
|
|
45
26
|
inputRef: inputRef,
|
|
46
|
-
forwardedProps:
|
|
47
|
-
internalProps:
|
|
48
|
-
value: value,
|
|
49
|
-
defaultValue: defaultValue,
|
|
50
|
-
format: format,
|
|
51
|
-
formatDensity: formatDensity,
|
|
52
|
-
shouldRespectLeadingZeros: shouldRespectLeadingZeros,
|
|
53
|
-
onChange: onChange,
|
|
54
|
-
readOnly: readOnly,
|
|
55
|
-
onError: onError,
|
|
56
|
-
disableFuture: disableFuture,
|
|
57
|
-
disablePast: disablePast,
|
|
58
|
-
minTime: minTime,
|
|
59
|
-
maxTime: maxTime,
|
|
60
|
-
minutesStep: minutesStep,
|
|
61
|
-
shouldDisableClock: shouldDisableClock,
|
|
62
|
-
shouldDisableTime: shouldDisableTime,
|
|
63
|
-
disableIgnoringDatePartForTimeValidation: disableIgnoringDatePartForTimeValidation,
|
|
64
|
-
selectedSections: selectedSections,
|
|
65
|
-
onSelectedSectionsChange: onSelectedSectionsChange,
|
|
66
|
-
ampm: ampm,
|
|
67
|
-
unstableFieldRef: unstableFieldRef
|
|
68
|
-
},
|
|
27
|
+
forwardedProps: forwardedProps,
|
|
28
|
+
internalProps: internalProps,
|
|
69
29
|
valueManager: singleItemValueManager,
|
|
70
30
|
fieldValueManager: singleItemFieldValueManager,
|
|
71
31
|
validator: validateTime,
|
|
@@ -122,7 +122,7 @@ export var YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(in
|
|
|
122
122
|
onFocusedViewChange(newHasFocus);
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
|
-
var isYearDisabled =
|
|
125
|
+
var isYearDisabled = React.useCallback(function (dateToValidate) {
|
|
126
126
|
if (disablePast && utils.isBeforeYear(dateToValidate, now)) {
|
|
127
127
|
return true;
|
|
128
128
|
}
|
|
@@ -139,7 +139,7 @@ export var YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(in
|
|
|
139
139
|
return true;
|
|
140
140
|
}
|
|
141
141
|
return false;
|
|
142
|
-
});
|
|
142
|
+
}, [disableFuture, disablePast, maxDate, minDate, now, shouldDisableYear, utils]);
|
|
143
143
|
var handleYearSelection = useEventCallback(function (event, year) {
|
|
144
144
|
if (readOnly) {
|
|
145
145
|
return;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import Divider from '@mui/material/Divider';
|
|
5
|
+
import { resolveComponentProps } from '@mui/base/utils';
|
|
6
|
+
import { DateCalendar } from '../DateCalendar';
|
|
7
|
+
import { MultiSectionDigitalClock, multiSectionDigitalClockSectionClasses } from '../MultiSectionDigitalClock';
|
|
8
|
+
import { DateTimeViewWrapper } from '../internals/components/DateTimeViewWrapper';
|
|
9
|
+
import { isInternalTimeView } from '../internals/utils/time-utils';
|
|
10
|
+
import { isDatePickerView } from '../internals/utils/date-utils';
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
export var renderDesktopDateTimeView = function renderDesktopDateTimeView(_ref) {
|
|
14
|
+
var _resolveComponentProp, _resolveComponentProp2, _slotProps$actionBar;
|
|
15
|
+
var view = _ref.view,
|
|
16
|
+
onViewChange = _ref.onViewChange,
|
|
17
|
+
views = _ref.views,
|
|
18
|
+
focusedView = _ref.focusedView,
|
|
19
|
+
onFocusedViewChange = _ref.onFocusedViewChange,
|
|
20
|
+
value = _ref.value,
|
|
21
|
+
defaultValue = _ref.defaultValue,
|
|
22
|
+
onChange = _ref.onChange,
|
|
23
|
+
className = _ref.className,
|
|
24
|
+
classes = _ref.classes,
|
|
25
|
+
disableFuture = _ref.disableFuture,
|
|
26
|
+
disablePast = _ref.disablePast,
|
|
27
|
+
minDate = _ref.minDate,
|
|
28
|
+
minTime = _ref.minTime,
|
|
29
|
+
maxDate = _ref.maxDate,
|
|
30
|
+
maxTime = _ref.maxTime,
|
|
31
|
+
shouldDisableDate = _ref.shouldDisableDate,
|
|
32
|
+
shouldDisableMonth = _ref.shouldDisableMonth,
|
|
33
|
+
shouldDisableYear = _ref.shouldDisableYear,
|
|
34
|
+
shouldDisableTime = _ref.shouldDisableTime,
|
|
35
|
+
shouldDisableClock = _ref.shouldDisableClock,
|
|
36
|
+
reduceAnimations = _ref.reduceAnimations,
|
|
37
|
+
minutesStep = _ref.minutesStep,
|
|
38
|
+
ampm = _ref.ampm,
|
|
39
|
+
onMonthChange = _ref.onMonthChange,
|
|
40
|
+
monthsPerRow = _ref.monthsPerRow,
|
|
41
|
+
onYearChange = _ref.onYearChange,
|
|
42
|
+
yearsPerRow = _ref.yearsPerRow,
|
|
43
|
+
defaultCalendarMonth = _ref.defaultCalendarMonth,
|
|
44
|
+
components = _ref.components,
|
|
45
|
+
componentsProps = _ref.componentsProps,
|
|
46
|
+
slots = _ref.slots,
|
|
47
|
+
slotProps = _ref.slotProps,
|
|
48
|
+
loading = _ref.loading,
|
|
49
|
+
renderLoading = _ref.renderLoading,
|
|
50
|
+
disableHighlightToday = _ref.disableHighlightToday,
|
|
51
|
+
readOnly = _ref.readOnly,
|
|
52
|
+
disabled = _ref.disabled,
|
|
53
|
+
showDaysOutsideCurrentMonth = _ref.showDaysOutsideCurrentMonth,
|
|
54
|
+
dayOfWeekFormatter = _ref.dayOfWeekFormatter,
|
|
55
|
+
sx = _ref.sx,
|
|
56
|
+
autoFocus = _ref.autoFocus,
|
|
57
|
+
fixedWeekNumber = _ref.fixedWeekNumber,
|
|
58
|
+
displayWeekNumber = _ref.displayWeekNumber,
|
|
59
|
+
disableIgnoringDatePartForTimeValidation = _ref.disableIgnoringDatePartForTimeValidation,
|
|
60
|
+
timeSteps = _ref.timeSteps,
|
|
61
|
+
skipDisabled = _ref.skipDisabled,
|
|
62
|
+
timeViewsCount = _ref.timeViewsCount;
|
|
63
|
+
var isActionBarVisible = !!((_resolveComponentProp = resolveComponentProps((_slotProps$actionBar = slotProps == null ? void 0 : slotProps.actionBar) != null ? _slotProps$actionBar : componentsProps == null ? void 0 : componentsProps.actionBar, {})) != null && (_resolveComponentProp2 = _resolveComponentProp.actions) != null && _resolveComponentProp2.length);
|
|
64
|
+
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
65
|
+
children: [/*#__PURE__*/_jsxs(DateTimeViewWrapper, {
|
|
66
|
+
children: [/*#__PURE__*/_jsx(DateCalendar, {
|
|
67
|
+
view: isDatePickerView(view) ? view : 'day',
|
|
68
|
+
onViewChange: onViewChange,
|
|
69
|
+
views: views.filter(isDatePickerView),
|
|
70
|
+
focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,
|
|
71
|
+
onFocusedViewChange: onFocusedViewChange,
|
|
72
|
+
value: value,
|
|
73
|
+
defaultValue: defaultValue,
|
|
74
|
+
onChange: onChange,
|
|
75
|
+
className: className,
|
|
76
|
+
classes: classes,
|
|
77
|
+
disableFuture: disableFuture,
|
|
78
|
+
disablePast: disablePast,
|
|
79
|
+
minDate: minDate,
|
|
80
|
+
maxDate: maxDate,
|
|
81
|
+
shouldDisableDate: shouldDisableDate,
|
|
82
|
+
shouldDisableMonth: shouldDisableMonth,
|
|
83
|
+
shouldDisableYear: shouldDisableYear,
|
|
84
|
+
reduceAnimations: reduceAnimations,
|
|
85
|
+
onMonthChange: onMonthChange,
|
|
86
|
+
monthsPerRow: monthsPerRow,
|
|
87
|
+
onYearChange: onYearChange,
|
|
88
|
+
yearsPerRow: yearsPerRow,
|
|
89
|
+
defaultCalendarMonth: defaultCalendarMonth,
|
|
90
|
+
components: components,
|
|
91
|
+
componentsProps: componentsProps,
|
|
92
|
+
slots: slots,
|
|
93
|
+
slotProps: slotProps,
|
|
94
|
+
loading: loading,
|
|
95
|
+
renderLoading: renderLoading,
|
|
96
|
+
disableHighlightToday: disableHighlightToday,
|
|
97
|
+
readOnly: readOnly,
|
|
98
|
+
disabled: disabled,
|
|
99
|
+
showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,
|
|
100
|
+
dayOfWeekFormatter: dayOfWeekFormatter,
|
|
101
|
+
sx: sx,
|
|
102
|
+
autoFocus: autoFocus,
|
|
103
|
+
fixedWeekNumber: fixedWeekNumber,
|
|
104
|
+
displayWeekNumber: displayWeekNumber
|
|
105
|
+
}), timeViewsCount > 0 && /*#__PURE__*/_jsxs(React.Fragment, {
|
|
106
|
+
children: [/*#__PURE__*/_jsx(Divider, {
|
|
107
|
+
orientation: "vertical"
|
|
108
|
+
}), /*#__PURE__*/_jsx(MultiSectionDigitalClock, {
|
|
109
|
+
view: isInternalTimeView(view) ? view : 'hours',
|
|
110
|
+
onViewChange: onViewChange,
|
|
111
|
+
focusedView: focusedView && isInternalTimeView(focusedView) ? focusedView : null,
|
|
112
|
+
onFocusedViewChange: onFocusedViewChange,
|
|
113
|
+
views: views.filter(isInternalTimeView),
|
|
114
|
+
value: value,
|
|
115
|
+
defaultValue: defaultValue,
|
|
116
|
+
onChange: onChange,
|
|
117
|
+
className: className,
|
|
118
|
+
classes: classes,
|
|
119
|
+
disableFuture: disableFuture,
|
|
120
|
+
disablePast: disablePast,
|
|
121
|
+
minTime: minTime,
|
|
122
|
+
maxTime: maxTime,
|
|
123
|
+
shouldDisableTime: shouldDisableTime,
|
|
124
|
+
shouldDisableClock: shouldDisableClock,
|
|
125
|
+
minutesStep: minutesStep,
|
|
126
|
+
ampm: ampm,
|
|
127
|
+
components: components,
|
|
128
|
+
componentsProps: componentsProps,
|
|
129
|
+
slots: slots,
|
|
130
|
+
slotProps: slotProps,
|
|
131
|
+
readOnly: readOnly,
|
|
132
|
+
disabled: disabled,
|
|
133
|
+
sx: _extends(_defineProperty({
|
|
134
|
+
borderBottom: 0,
|
|
135
|
+
width: 'auto'
|
|
136
|
+
}, ".".concat(multiSectionDigitalClockSectionClasses.root), {
|
|
137
|
+
maxHeight: '100%'
|
|
138
|
+
}), Array.isArray(sx) ? sx : [sx]),
|
|
139
|
+
autoFocus: autoFocus,
|
|
140
|
+
disableIgnoringDatePartForTimeValidation: disableIgnoringDatePartForTimeValidation,
|
|
141
|
+
timeSteps: timeSteps,
|
|
142
|
+
skipDisabled: skipDisabled
|
|
143
|
+
})]
|
|
144
|
+
})]
|
|
145
|
+
}), isActionBarVisible && /*#__PURE__*/_jsx(Divider, {})]
|
|
146
|
+
});
|
|
147
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { renderDesktopDateTimeView } from './dateTimeViewRenderers';
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DateCalendar } from '../DateCalendar';
|
|
3
|
+
import { isDatePickerView } from '../internals/utils/date-utils';
|
|
3
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
-
var isDatePickerView = function isDatePickerView(view) {
|
|
5
|
-
return view === 'year' || view === 'month' || view === 'day';
|
|
6
|
-
};
|
|
7
5
|
export var renderDateViewCalendar = function renderDateViewCalendar(_ref) {
|
|
8
6
|
var view = _ref.view,
|
|
9
7
|
onViewChange = _ref.onViewChange,
|
|
@@ -47,7 +45,7 @@ export var renderDateViewCalendar = function renderDateViewCalendar(_ref) {
|
|
|
47
45
|
view: view,
|
|
48
46
|
onViewChange: onViewChange,
|
|
49
47
|
views: views.filter(isDatePickerView),
|
|
50
|
-
focusedView: focusedView,
|
|
48
|
+
focusedView: focusedView && isDatePickerView(focusedView) ? focusedView : null,
|
|
51
49
|
onFocusedViewChange: onFocusedViewChange,
|
|
52
50
|
value: value,
|
|
53
51
|
defaultValue: defaultValue,
|
|
@@ -6,35 +6,35 @@ import * as React from 'react';
|
|
|
6
6
|
*/
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
8
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
-
export var
|
|
9
|
+
export var ArrowDropDownIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
|
|
10
10
|
d: "M7 10l5 5 5-5z"
|
|
11
11
|
}), 'ArrowDropDown');
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @ignore - internal component.
|
|
15
15
|
*/
|
|
16
|
-
export var
|
|
16
|
+
export var ArrowLeftIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
|
|
17
17
|
d: "M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"
|
|
18
18
|
}), 'ArrowLeft');
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* @ignore - internal component.
|
|
22
22
|
*/
|
|
23
|
-
export var
|
|
23
|
+
export var ArrowRightIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
|
|
24
24
|
d: "M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"
|
|
25
25
|
}), 'ArrowRight');
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* @ignore - internal component.
|
|
29
29
|
*/
|
|
30
|
-
export var
|
|
30
|
+
export var CalendarIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
|
|
31
31
|
d: "M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"
|
|
32
32
|
}), 'Calendar');
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* @ignore - internal component.
|
|
36
36
|
*/
|
|
37
|
-
export var
|
|
37
|
+
export var ClockIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
|
|
38
38
|
children: [/*#__PURE__*/_jsx("path", {
|
|
39
39
|
d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
|
|
40
40
|
}), /*#__PURE__*/_jsx("path", {
|
|
@@ -45,14 +45,14 @@ export var Clock = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
|
|
|
45
45
|
/**
|
|
46
46
|
* @ignore - internal component.
|
|
47
47
|
*/
|
|
48
|
-
export var
|
|
48
|
+
export var DateRangeIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
|
|
49
49
|
d: "M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"
|
|
50
50
|
}), 'DateRange');
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* @ignore - internal component.
|
|
54
54
|
*/
|
|
55
|
-
export var
|
|
55
|
+
export var TimeIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
|
|
56
56
|
children: [/*#__PURE__*/_jsx("path", {
|
|
57
57
|
d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
|
|
58
58
|
}), /*#__PURE__*/_jsx("path", {
|
package/legacy/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-date-pickers v6.
|
|
2
|
+
* @mui/x-date-pickers v6.6.0
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -47,4 +47,5 @@ export * from './PickersLayout';
|
|
|
47
47
|
export * from './PickersActionBar';
|
|
48
48
|
export * from './PickersShortcuts';
|
|
49
49
|
export { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from './internals/utils/utils';
|
|
50
|
-
export * from './models';
|
|
50
|
+
export * from './models';
|
|
51
|
+
export * from './icons';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DateTimeViewWrapper } from './DateTimeViewWrapper';
|
|
@@ -11,7 +11,7 @@ import { useTheme, styled, useThemeProps } from '@mui/material/styles';
|
|
|
11
11
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
12
12
|
import { useSlotProps } from '@mui/base/utils';
|
|
13
13
|
import IconButton from '@mui/material/IconButton';
|
|
14
|
-
import {
|
|
14
|
+
import { ArrowLeftIcon, ArrowRightIcon } from '../../../icons';
|
|
15
15
|
import { getPickersArrowSwitcherUtilityClass } from './pickersArrowSwitcherClasses';
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -130,7 +130,7 @@ export var PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Pickers
|
|
|
130
130
|
}),
|
|
131
131
|
className: classes.button
|
|
132
132
|
});
|
|
133
|
-
var LeftArrowIcon = (_slots$leftArrowIcon = slots == null ? void 0 : slots.leftArrowIcon) != null ? _slots$leftArrowIcon :
|
|
133
|
+
var LeftArrowIcon = (_slots$leftArrowIcon = slots == null ? void 0 : slots.leftArrowIcon) != null ? _slots$leftArrowIcon : ArrowLeftIcon;
|
|
134
134
|
// The spread is here to avoid this bug mui/material-ui#34056
|
|
135
135
|
var _useSlotProps = useSlotProps({
|
|
136
136
|
elementType: LeftArrowIcon,
|
|
@@ -142,7 +142,7 @@ export var PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Pickers
|
|
|
142
142
|
}),
|
|
143
143
|
leftArrowIconOwnerState = _useSlotProps.ownerState,
|
|
144
144
|
leftArrowIconProps = _objectWithoutProperties(_useSlotProps, _excluded2);
|
|
145
|
-
var RightArrowIcon = (_slots$rightArrowIcon = slots == null ? void 0 : slots.rightArrowIcon) != null ? _slots$rightArrowIcon :
|
|
145
|
+
var RightArrowIcon = (_slots$rightArrowIcon = slots == null ? void 0 : slots.rightArrowIcon) != null ? _slots$rightArrowIcon : ArrowRightIcon;
|
|
146
146
|
// The spread is here to avoid this bug mui/material-ui#34056
|
|
147
147
|
var _useSlotProps2 = useSlotProps({
|
|
148
148
|
elementType: RightArrowIcon,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["align", "className", "selected", "typographyClassName", "value", "variant"];
|
|
3
|
+
var _excluded = ["align", "className", "selected", "typographyClassName", "value", "variant", "width"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import Button from '@mui/material/Button';
|
|
@@ -38,13 +38,18 @@ export var PickersToolbarButton = /*#__PURE__*/React.forwardRef(function Pickers
|
|
|
38
38
|
typographyClassName = props.typographyClassName,
|
|
39
39
|
value = props.value,
|
|
40
40
|
variant = props.variant,
|
|
41
|
+
width = props.width,
|
|
41
42
|
other = _objectWithoutProperties(props, _excluded);
|
|
42
43
|
var classes = useUtilityClasses(props);
|
|
43
44
|
return /*#__PURE__*/_jsx(PickersToolbarButtonRoot, _extends({
|
|
44
45
|
variant: "text",
|
|
45
46
|
ref: ref,
|
|
46
47
|
className: clsx(className, classes.root)
|
|
47
|
-
},
|
|
48
|
+
}, width ? {
|
|
49
|
+
sx: {
|
|
50
|
+
width: width
|
|
51
|
+
}
|
|
52
|
+
} : {}, other, {
|
|
48
53
|
children: /*#__PURE__*/_jsx(PickersToolbarText, {
|
|
49
54
|
align: align,
|
|
50
55
|
className: typographyClassName,
|
|
@@ -67,10 +67,18 @@ export var useField = function useField(params) {
|
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
var browserStartIndex = (_selectionStart = inputRef.current.selectionStart) != null ? _selectionStart : 0;
|
|
70
|
-
var nextSectionIndex
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
var nextSectionIndex;
|
|
71
|
+
if (browserStartIndex <= state.sections[0].startInInput) {
|
|
72
|
+
// Special case if browser index is in invisible characters at the beginning
|
|
73
|
+
nextSectionIndex = 1;
|
|
74
|
+
} else if (browserStartIndex >= state.sections[state.sections.length - 1].endInInput) {
|
|
75
|
+
// If the click is after the last character of the input, then we want to select the 1st section.
|
|
76
|
+
nextSectionIndex = 1;
|
|
77
|
+
} else {
|
|
78
|
+
nextSectionIndex = state.sections.findIndex(function (section) {
|
|
79
|
+
return section.startInInput - section.startSeparator.length > browserStartIndex;
|
|
80
|
+
});
|
|
81
|
+
}
|
|
74
82
|
var sectionIndex = nextSectionIndex === -1 ? state.sections.length - 1 : nextSectionIndex - 1;
|
|
75
83
|
_setSelectedSections(sectionIndex);
|
|
76
84
|
};
|
|
@@ -160,7 +168,7 @@ export var useField = function useField(params) {
|
|
|
160
168
|
return;
|
|
161
169
|
}
|
|
162
170
|
var keyPressed;
|
|
163
|
-
if (selectedSectionIndexes.startIndex === 0 && selectedSectionIndexes.endIndex === state.sections.length - 1) {
|
|
171
|
+
if (selectedSectionIndexes.startIndex === 0 && selectedSectionIndexes.endIndex === state.sections.length - 1 && cleanValueStr.length === 1) {
|
|
164
172
|
keyPressed = cleanValueStr;
|
|
165
173
|
} else {
|
|
166
174
|
var prevValueStr = cleanString(fieldValueManager.getValueStrFromSections(state.sections, isRTL));
|
|
@@ -183,7 +191,7 @@ export var useField = function useField(params) {
|
|
|
183
191
|
|
|
184
192
|
// The active section being selected, the browser has replaced its value with the key pressed by the user.
|
|
185
193
|
var activeSectionEndRelativeToNewValue = cleanValueStr.length - prevValueStr.length + activeSection.end - cleanString(activeSection.endSeparator || '').length;
|
|
186
|
-
keyPressed = cleanValueStr.slice(activeSection.start, activeSectionEndRelativeToNewValue);
|
|
194
|
+
keyPressed = cleanValueStr.slice(activeSection.start + cleanString(activeSection.startSeparator || '').length, activeSectionEndRelativeToNewValue);
|
|
187
195
|
}
|
|
188
196
|
if (isAndroid() && keyPressed.length === 0) {
|
|
189
197
|
setTempAndroidValueStr(valueStr);
|
|
@@ -299,7 +307,12 @@ export var useField = function useField(params) {
|
|
|
299
307
|
if (selectionStart !== inputRef.current.selectionStart || selectionEnd !== inputRef.current.selectionEnd) {
|
|
300
308
|
// Fix scroll jumping on iOS browser: https://github.com/mui/mui-x/issues/8321
|
|
301
309
|
var currentScrollTop = inputRef.current.scrollTop;
|
|
302
|
-
|
|
310
|
+
// On multi input range pickers we want to update selection range only for the active input
|
|
311
|
+
// This helps avoiding the focus jumping on Safari https://github.com/mui/mui-x/issues/9003
|
|
312
|
+
// because WebKit implements the `setSelectionRange` based on the spec: https://bugs.webkit.org/show_bug.cgi?id=224425
|
|
313
|
+
if (inputRef.current && inputRef.current === getActiveElement(document)) {
|
|
314
|
+
inputRef.current.setSelectionRange(selectionStart, selectionEnd);
|
|
315
|
+
}
|
|
303
316
|
// Even reading this variable seems to do the trick, but also setting it just to make use of it
|
|
304
317
|
inputRef.current.scrollTop = currentScrollTop;
|
|
305
318
|
}
|
|
@@ -6,6 +6,7 @@ import useControlled from '@mui/utils/useControlled';
|
|
|
6
6
|
import { useTheme } from '@mui/material/styles';
|
|
7
7
|
import { useUtils, useLocaleText, useLocalizationContext } from '../useUtils';
|
|
8
8
|
import { addPositionPropertiesToSections, splitFormatIntoSections, clampDaySectionIfPossible, mergeDateIntoReferenceDate, getSectionsBoundaries, validateSections, getDateFromDateSections } from './useField.utils';
|
|
9
|
+
import { getSectionTypeGranularity } from '../../utils/getDefaultReferenceDate';
|
|
9
10
|
export var useFieldState = function useFieldState(params) {
|
|
10
11
|
var _ref;
|
|
11
12
|
var utils = useUtils();
|
|
@@ -21,6 +22,7 @@ export var useFieldState = function useFieldState(params) {
|
|
|
21
22
|
_params$internalProps = params.internalProps,
|
|
22
23
|
valueProp = _params$internalProps.value,
|
|
23
24
|
defaultValue = _params$internalProps.defaultValue,
|
|
25
|
+
referenceDateProp = _params$internalProps.referenceDate,
|
|
24
26
|
onChange = _params$internalProps.onChange,
|
|
25
27
|
format = _params$internalProps.format,
|
|
26
28
|
_params$internalProps2 = _params$internalProps.formatDensity,
|
|
@@ -46,12 +48,24 @@ export var useFieldState = function useFieldState(params) {
|
|
|
46
48
|
var _React$useState = React.useState(function () {
|
|
47
49
|
var sections = getSectionsFromValue(valueFromTheOutside);
|
|
48
50
|
validateSections(sections, valueType);
|
|
49
|
-
|
|
51
|
+
var stateWithoutReferenceDate = {
|
|
50
52
|
sections: sections,
|
|
51
53
|
value: valueFromTheOutside,
|
|
52
|
-
referenceValue:
|
|
54
|
+
referenceValue: valueManager.emptyValue,
|
|
53
55
|
tempValueStrAndroid: null
|
|
54
56
|
};
|
|
57
|
+
var granularity = getSectionTypeGranularity(sections);
|
|
58
|
+
var referenceValue = valueManager.getInitialReferenceValue({
|
|
59
|
+
referenceDate: referenceDateProp,
|
|
60
|
+
value: valueFromTheOutside,
|
|
61
|
+
valueType: valueType,
|
|
62
|
+
utils: utils,
|
|
63
|
+
props: internalProps,
|
|
64
|
+
granularity: granularity
|
|
65
|
+
});
|
|
66
|
+
return _extends({}, stateWithoutReferenceDate, {
|
|
67
|
+
referenceValue: referenceValue
|
|
68
|
+
});
|
|
55
69
|
}),
|
|
56
70
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
57
71
|
state = _React$useState2[0],
|
|
@@ -271,7 +285,13 @@ export var useFieldState = function useFieldState(params) {
|
|
|
271
285
|
});
|
|
272
286
|
};
|
|
273
287
|
React.useEffect(function () {
|
|
288
|
+
var shouldUpdate = false;
|
|
274
289
|
if (!valueManager.areValuesEqual(utils, state.value, valueFromTheOutside)) {
|
|
290
|
+
shouldUpdate = true;
|
|
291
|
+
} else {
|
|
292
|
+
shouldUpdate = valueManager.getTimezone(utils, state.value) !== valueManager.getTimezone(utils, valueFromTheOutside);
|
|
293
|
+
}
|
|
294
|
+
if (shouldUpdate) {
|
|
275
295
|
setState(function (prevState) {
|
|
276
296
|
return _extends({}, prevState, {
|
|
277
297
|
value: valueFromTheOutside,
|