@mui/x-date-pickers 5.0.1 → 5.0.3
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 +70 -2
- package/CalendarPicker/CalendarPicker.js +7 -5
- package/CalendarPicker/DayPicker.d.ts +3 -1
- package/CalendarPicker/DayPicker.js +61 -9
- package/CalendarPicker/PickersCalendarHeader.d.ts +5 -3
- package/CalendarPicker/PickersCalendarHeader.js +59 -12
- package/CalendarPicker/PickersFadeTransitionGroup.d.ts +4 -3
- package/CalendarPicker/PickersFadeTransitionGroup.js +33 -11
- package/CalendarPicker/PickersSlideTransition.d.ts +3 -1
- package/CalendarPicker/PickersSlideTransition.js +47 -17
- package/CalendarPicker/dayPickerClasses.d.ts +17 -0
- package/CalendarPicker/dayPickerClasses.js +3 -0
- package/CalendarPicker/index.d.ts +9 -0
- package/CalendarPicker/index.js +5 -1
- package/CalendarPicker/pickersCalendarHeaderClasses.d.ts +15 -0
- package/CalendarPicker/pickersCalendarHeaderClasses.js +3 -0
- package/CalendarPicker/pickersFadeTransitionGroupClasses.d.ts +7 -0
- package/CalendarPicker/pickersFadeTransitionGroupClasses.js +3 -0
- package/CalendarPicker/pickersSlideTransitionClasses.d.ts +19 -0
- package/CalendarPicker/pickersSlideTransitionClasses.js +5 -0
- package/CalendarPickerSkeleton/CalendarPickerSkeleton.d.ts +1 -1
- package/CalendarPickerSkeleton/CalendarPickerSkeleton.js +10 -9
- package/ClockPicker/Clock.d.ts +4 -1
- package/ClockPicker/Clock.js +74 -13
- package/ClockPicker/ClockNumber.d.ts +3 -2
- package/ClockPicker/ClockNumber.js +35 -8
- package/ClockPicker/ClockPicker.d.ts +6 -6
- package/ClockPicker/ClockPicker.js +6 -6
- package/ClockPicker/ClockPointer.d.ts +3 -12
- package/ClockPicker/ClockPointer.js +67 -56
- package/ClockPicker/clockClasses.d.ts +19 -0
- package/ClockPicker/clockClasses.js +5 -0
- package/ClockPicker/clockNumberClasses.d.ts +11 -0
- package/ClockPicker/clockNumberClasses.js +5 -0
- package/ClockPicker/clockPointerClasses.d.ts +9 -0
- package/ClockPicker/clockPointerClasses.js +5 -0
- package/ClockPicker/index.d.ts +9 -0
- package/ClockPicker/index.js +4 -1
- package/DatePicker/DatePicker.js +1 -1
- package/DatePicker/DatePickerToolbar.d.ts +5 -2
- package/DatePicker/DatePickerToolbar.js +28 -9
- package/DatePicker/datePickerToolbarClasses.d.ts +9 -0
- package/DatePicker/datePickerToolbarClasses.js +5 -0
- package/DatePicker/index.d.ts +3 -0
- package/DatePicker/index.js +2 -1
- package/DateTimePicker/DateTimePicker.js +2 -2
- package/DateTimePicker/DateTimePickerTabs.d.ts +6 -1
- package/DateTimePicker/DateTimePickerTabs.js +31 -3
- package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -2
- package/DateTimePicker/DateTimePickerToolbar.js +33 -12
- package/DateTimePicker/dateTimePickerTabsClasses.d.ts +7 -0
- package/DateTimePicker/dateTimePickerTabsClasses.js +5 -0
- package/DateTimePicker/dateTimePickerToolbarClasses.d.ts +13 -0
- package/DateTimePicker/dateTimePickerToolbarClasses.js +5 -0
- package/DateTimePicker/index.d.ts +5 -0
- package/DateTimePicker/index.js +3 -1
- package/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/MobileDatePicker/MobileDatePicker.js +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/MobileTimePicker/MobileTimePicker.js +1 -1
- package/MonthPicker/PickersMonth.d.ts +2 -3
- package/MonthPicker/PickersMonth.js +26 -6
- package/MonthPicker/index.d.ts +2 -0
- package/MonthPicker/index.js +2 -1
- package/MonthPicker/pickersMonthClasses.d.ts +9 -0
- package/MonthPicker/pickersMonthClasses.js +7 -0
- package/PickersDay/PickersDay.js +2 -1
- package/StaticDatePicker/StaticDatePicker.js +6 -4
- package/StaticDateTimePicker/StaticDateTimePicker.js +7 -5
- package/StaticTimePicker/StaticTimePicker.js +6 -4
- package/TimePicker/TimePicker.js +1 -1
- package/TimePicker/TimePickerToolbar.d.ts +1 -1
- package/TimePicker/TimePickerToolbar.js +19 -6
- package/TimePicker/index.d.ts +3 -0
- package/TimePicker/index.js +2 -1
- package/TimePicker/timePickerToolbarClasses.d.ts +1 -0
- package/YearPicker/PickersYear.d.ts +4 -13
- package/YearPicker/PickersYear.js +23 -9
- package/YearPicker/YearPicker.d.ts +1 -1
- package/YearPicker/YearPicker.js +32 -3
- package/YearPicker/index.d.ts +2 -0
- package/YearPicker/index.js +2 -1
- package/YearPicker/pickersYearClasses.d.ts +17 -0
- package/YearPicker/pickersYearClasses.js +7 -0
- package/YearPicker/yearPickerClasses.d.ts +1 -1
- package/index.js +1 -1
- package/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.d.ts +4 -2
- package/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +35 -5
- package/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.d.ts +9 -0
- package/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.js +5 -0
- package/internals/components/PickerStaticWrapper/PickerStaticWrapper.d.ts +1 -0
- package/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +6 -3
- package/internals/components/PickersArrowSwitcher.d.ts +2 -0
- package/internals/components/PickersArrowSwitcher.js +23 -4
- package/internals/components/PickersPopper.d.ts +3 -1
- package/internals/components/PickersPopper.js +36 -8
- package/internals/components/PickersToolbar.d.ts +2 -1
- package/internals/components/PickersToolbar.js +29 -8
- package/internals/components/PickersToolbarButton.d.ts +2 -0
- package/internals/components/PickersToolbarButton.js +28 -4
- package/internals/components/PickersToolbarText.d.ts +3 -1
- package/internals/components/PickersToolbarText.js +25 -6
- package/internals/components/pickersArrowSwitcherClasses.d.ts +11 -0
- package/internals/components/pickersArrowSwitcherClasses.js +5 -0
- package/internals/components/pickersPopperClasses.d.ts +9 -0
- package/internals/components/pickersPopperClasses.js +5 -0
- package/internals/components/pickersToolbarButtonClasses.d.ts +7 -0
- package/internals/components/pickersToolbarButtonClasses.js +5 -0
- package/internals/components/pickersToolbarClasses.d.ts +13 -0
- package/internals/components/pickersToolbarClasses.js +5 -0
- package/internals/components/pickersToolbarTextClasses.d.ts +9 -0
- package/internals/components/pickersToolbarTextClasses.js +7 -0
- package/internals/index.d.ts +21 -1
- package/internals/index.js +8 -1
- package/internals/models/muiPickersAdapter.d.ts +12 -7
- package/internals/utils/date-utils.d.ts +1 -1
- package/legacy/CalendarPicker/CalendarPicker.js +8 -5
- package/legacy/CalendarPicker/DayPicker.js +71 -9
- package/legacy/CalendarPicker/PickersCalendarHeader.js +67 -12
- package/legacy/CalendarPicker/PickersFadeTransitionGroup.js +30 -10
- package/legacy/CalendarPicker/PickersSlideTransition.js +42 -24
- package/legacy/CalendarPicker/dayPickerClasses.js +5 -0
- package/legacy/CalendarPicker/index.js +5 -1
- package/legacy/CalendarPicker/pickersCalendarHeaderClasses.js +5 -0
- package/legacy/CalendarPicker/pickersFadeTransitionGroupClasses.js +5 -0
- package/legacy/CalendarPicker/pickersSlideTransitionClasses.js +8 -0
- package/legacy/CalendarPickerSkeleton/CalendarPickerSkeleton.js +9 -8
- package/legacy/ClockPicker/Clock.js +86 -13
- package/legacy/ClockPicker/ClockNumber.js +34 -11
- package/legacy/ClockPicker/ClockPicker.js +6 -6
- package/legacy/ClockPicker/ClockPointer.js +67 -81
- package/legacy/ClockPicker/clockClasses.js +5 -0
- package/legacy/ClockPicker/clockNumberClasses.js +5 -0
- package/legacy/ClockPicker/clockPointerClasses.js +5 -0
- package/legacy/ClockPicker/index.js +4 -1
- package/legacy/DatePicker/DatePicker.js +1 -1
- package/legacy/DatePicker/DatePickerToolbar.js +26 -9
- package/legacy/DatePicker/datePickerToolbarClasses.js +5 -0
- package/legacy/DatePicker/index.js +2 -1
- package/legacy/DateTimePicker/DateTimePicker.js +2 -2
- package/legacy/DateTimePicker/DateTimePickerTabs.js +31 -3
- package/legacy/DateTimePicker/DateTimePickerToolbar.js +31 -12
- package/legacy/DateTimePicker/dateTimePickerTabsClasses.js +5 -0
- package/legacy/DateTimePicker/dateTimePickerToolbarClasses.js +5 -0
- package/legacy/DateTimePicker/index.js +3 -1
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/legacy/MobileDatePicker/MobileDatePicker.js +1 -1
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/legacy/MobileTimePicker/MobileTimePicker.js +1 -1
- package/legacy/MonthPicker/PickersMonth.js +26 -8
- package/legacy/MonthPicker/index.js +2 -1
- package/legacy/MonthPicker/pickersMonthClasses.js +7 -0
- package/legacy/PickersDay/PickersDay.js +2 -1
- package/legacy/StaticDatePicker/StaticDatePicker.js +5 -3
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +6 -4
- package/legacy/StaticTimePicker/StaticTimePicker.js +5 -3
- package/legacy/TimePicker/TimePicker.js +1 -1
- package/legacy/TimePicker/TimePickerToolbar.js +19 -11
- package/legacy/TimePicker/index.js +2 -1
- package/legacy/YearPicker/PickersYear.js +22 -12
- package/legacy/YearPicker/YearPicker.js +32 -3
- package/legacy/YearPicker/index.js +2 -1
- package/legacy/YearPicker/pickersYearClasses.js +7 -0
- package/legacy/index.js +1 -1
- package/legacy/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +38 -5
- package/legacy/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.js +5 -0
- package/legacy/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +5 -2
- package/legacy/internals/components/PickersArrowSwitcher.js +21 -4
- package/legacy/internals/components/PickersPopper.js +38 -8
- package/legacy/internals/components/PickersToolbar.js +26 -8
- package/legacy/internals/components/PickersToolbarButton.js +28 -4
- package/legacy/internals/components/PickersToolbarText.js +24 -6
- package/legacy/internals/components/pickersArrowSwitcherClasses.js +5 -0
- package/legacy/internals/components/pickersPopperClasses.js +5 -0
- package/legacy/internals/components/pickersToolbarButtonClasses.js +5 -0
- package/legacy/internals/components/pickersToolbarClasses.js +5 -0
- package/legacy/internals/components/pickersToolbarTextClasses.js +7 -0
- package/legacy/internals/index.js +8 -1
- package/legacy/locales/deDE.js +18 -11
- package/legacy/locales/faIR.js +52 -0
- package/legacy/locales/fiFI.js +61 -0
- package/legacy/locales/index.js +3 -0
- package/legacy/locales/isIS.js +53 -0
- package/locales/deDE.js +16 -11
- 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 +3 -0
- package/locales/index.js +3 -0
- package/locales/isIS.d.ts +35 -0
- package/locales/isIS.js +39 -0
- package/modern/CalendarPicker/CalendarPicker.js +7 -5
- package/modern/CalendarPicker/DayPicker.js +61 -9
- package/modern/CalendarPicker/PickersCalendarHeader.js +59 -12
- package/modern/CalendarPicker/PickersFadeTransitionGroup.js +33 -11
- package/modern/CalendarPicker/PickersSlideTransition.js +47 -17
- package/modern/CalendarPicker/dayPickerClasses.js +3 -0
- package/modern/CalendarPicker/index.js +5 -1
- package/modern/CalendarPicker/pickersCalendarHeaderClasses.js +3 -0
- package/modern/CalendarPicker/pickersFadeTransitionGroupClasses.js +3 -0
- package/modern/CalendarPicker/pickersSlideTransitionClasses.js +5 -0
- package/modern/CalendarPickerSkeleton/CalendarPickerSkeleton.js +10 -9
- package/modern/ClockPicker/Clock.js +74 -13
- package/modern/ClockPicker/ClockNumber.js +35 -8
- package/modern/ClockPicker/ClockPicker.js +6 -6
- package/modern/ClockPicker/ClockPointer.js +67 -56
- package/modern/ClockPicker/clockClasses.js +5 -0
- package/modern/ClockPicker/clockNumberClasses.js +5 -0
- package/modern/ClockPicker/clockPointerClasses.js +5 -0
- package/modern/ClockPicker/index.js +4 -1
- package/modern/DatePicker/DatePicker.js +1 -1
- package/modern/DatePicker/DatePickerToolbar.js +28 -9
- package/modern/DatePicker/datePickerToolbarClasses.js +5 -0
- package/modern/DatePicker/index.js +2 -1
- package/modern/DateTimePicker/DateTimePicker.js +2 -2
- package/modern/DateTimePicker/DateTimePickerTabs.js +31 -3
- package/modern/DateTimePicker/DateTimePickerToolbar.js +33 -12
- package/modern/DateTimePicker/dateTimePickerTabsClasses.js +5 -0
- package/modern/DateTimePicker/dateTimePickerToolbarClasses.js +5 -0
- package/modern/DateTimePicker/index.js +3 -1
- package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/modern/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/modern/MobileTimePicker/MobileTimePicker.js +1 -1
- package/modern/MonthPicker/PickersMonth.js +26 -6
- package/modern/MonthPicker/index.js +2 -1
- package/modern/MonthPicker/pickersMonthClasses.js +7 -0
- package/modern/PickersDay/PickersDay.js +2 -1
- package/modern/StaticDatePicker/StaticDatePicker.js +6 -4
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +7 -5
- package/modern/StaticTimePicker/StaticTimePicker.js +6 -4
- package/modern/TimePicker/TimePicker.js +1 -1
- package/modern/TimePicker/TimePickerToolbar.js +19 -6
- package/modern/TimePicker/index.js +2 -1
- package/modern/YearPicker/PickersYear.js +23 -9
- package/modern/YearPicker/YearPicker.js +32 -3
- package/modern/YearPicker/index.js +2 -1
- package/modern/YearPicker/pickersYearClasses.js +7 -0
- package/modern/index.js +1 -1
- package/modern/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +35 -5
- package/modern/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.js +5 -0
- package/modern/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +6 -3
- package/modern/internals/components/PickersArrowSwitcher.js +23 -4
- package/modern/internals/components/PickersPopper.js +36 -8
- package/modern/internals/components/PickersToolbar.js +29 -8
- package/modern/internals/components/PickersToolbarButton.js +28 -4
- package/modern/internals/components/PickersToolbarText.js +25 -6
- package/modern/internals/components/pickersArrowSwitcherClasses.js +5 -0
- package/modern/internals/components/pickersPopperClasses.js +5 -0
- package/modern/internals/components/pickersToolbarButtonClasses.js +5 -0
- package/modern/internals/components/pickersToolbarClasses.js +5 -0
- package/modern/internals/components/pickersToolbarTextClasses.js +7 -0
- package/modern/internals/index.js +8 -1
- package/modern/locales/deDE.js +15 -10
- package/modern/locales/faIR.js +36 -0
- package/modern/locales/fiFI.js +45 -0
- package/modern/locales/index.js +3 -0
- package/modern/locales/isIS.js +39 -0
- package/node/CalendarPicker/CalendarPicker.js +7 -5
- package/node/CalendarPicker/DayPicker.js +63 -8
- package/node/CalendarPicker/PickersCalendarHeader.js +59 -11
- package/node/CalendarPicker/PickersFadeTransitionGroup.js +32 -12
- package/node/CalendarPicker/PickersSlideTransition.js +45 -16
- package/node/CalendarPicker/dayPickerClasses.js +14 -0
- package/node/CalendarPicker/index.js +33 -1
- package/node/CalendarPicker/pickersCalendarHeaderClasses.js +14 -0
- package/node/CalendarPicker/pickersFadeTransitionGroupClasses.js +14 -0
- package/node/CalendarPicker/pickersSlideTransitionClasses.js +16 -0
- package/node/CalendarPickerSkeleton/CalendarPickerSkeleton.js +9 -10
- package/node/ClockPicker/Clock.js +73 -11
- package/node/ClockPicker/ClockNumber.js +32 -8
- package/node/ClockPicker/ClockPicker.js +6 -6
- package/node/ClockPicker/ClockPointer.js +71 -63
- package/node/ClockPicker/clockClasses.js +16 -0
- package/node/ClockPicker/clockNumberClasses.js +16 -0
- package/node/ClockPicker/clockPointerClasses.js +16 -0
- package/node/ClockPicker/index.js +25 -1
- package/node/DatePicker/DatePicker.js +1 -1
- package/node/DatePicker/DatePickerToolbar.js +27 -9
- package/node/DatePicker/datePickerToolbarClasses.js +16 -0
- package/node/DatePicker/index.js +9 -1
- package/node/DateTimePicker/DateTimePicker.js +2 -2
- package/node/DateTimePicker/DateTimePickerTabs.js +31 -2
- package/node/DateTimePicker/DateTimePickerToolbar.js +32 -14
- package/node/DateTimePicker/dateTimePickerTabsClasses.js +16 -0
- package/node/DateTimePicker/dateTimePickerToolbarClasses.js +16 -0
- package/node/DateTimePicker/index.js +17 -1
- package/node/DesktopDatePicker/DesktopDatePicker.js +1 -1
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/node/DesktopTimePicker/DesktopTimePicker.js +1 -1
- package/node/MobileDatePicker/MobileDatePicker.js +1 -1
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/node/MobileTimePicker/MobileTimePicker.js +1 -1
- package/node/MonthPicker/PickersMonth.js +24 -6
- package/node/MonthPicker/index.js +9 -1
- package/node/MonthPicker/pickersMonthClasses.js +18 -0
- package/node/PickersDay/PickersDay.js +2 -1
- package/node/StaticDatePicker/StaticDatePicker.js +6 -4
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +7 -5
- package/node/StaticTimePicker/StaticTimePicker.js +6 -4
- package/node/TimePicker/TimePicker.js +1 -1
- package/node/TimePicker/TimePickerToolbar.js +19 -8
- package/node/TimePicker/index.js +9 -1
- package/node/YearPicker/PickersYear.js +26 -16
- package/node/YearPicker/YearPicker.js +34 -4
- package/node/YearPicker/index.js +9 -1
- package/node/YearPicker/pickersYearClasses.js +18 -0
- package/node/index.js +1 -1
- package/node/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +34 -4
- package/node/internals/components/CalendarOrClockPicker/calendarOrClockPickerClasses.js +16 -0
- package/node/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +7 -3
- package/node/internals/components/PickersArrowSwitcher.js +22 -4
- package/node/internals/components/PickersPopper.js +37 -10
- package/node/internals/components/PickersToolbar.js +28 -8
- package/node/internals/components/PickersToolbarButton.js +28 -3
- package/node/internals/components/PickersToolbarText.js +24 -5
- package/node/internals/components/pickersArrowSwitcherClasses.js +16 -0
- package/node/internals/components/pickersPopperClasses.js +16 -0
- package/node/internals/components/pickersToolbarButtonClasses.js +16 -0
- package/node/internals/components/pickersToolbarClasses.js +16 -0
- package/node/internals/components/pickersToolbarTextClasses.js +18 -0
- package/node/internals/index.js +51 -1
- package/node/locales/deDE.js +16 -11
- package/node/locales/faIR.js +45 -0
- package/node/locales/fiFI.js +54 -0
- package/node/locales/index.js +39 -0
- package/node/locales/isIS.js +48 -0
- package/package.json +2 -2
- package/themeAugmentation/components.d.ts +138 -4
- package/themeAugmentation/overrides.d.ts +57 -5
- package/themeAugmentation/props.d.ts +47 -7
- package/internals/models/muiPickersAdapter.js +0 -1
- package/legacy/internals/models/muiPickersAdapter.js +0 -1
- package/modern/internals/models/muiPickersAdapter.js +0 -1
- package/node/internals/models/muiPickersAdapter.js +0 -5
|
@@ -2,15 +2,32 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
const _excluded = ["disabled", "onSelect", "selected", "value", "tabIndex", "hasFocus", "onFocus", "onBlur"];
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import clsx from 'clsx';
|
|
6
5
|
import Typography from '@mui/material/Typography';
|
|
7
6
|
import { styled, alpha } from '@mui/material/styles';
|
|
8
|
-
import {
|
|
7
|
+
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
9
8
|
import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';
|
|
10
9
|
import { onSpaceOrEnter } from '../internals/utils/utils';
|
|
10
|
+
import { getPickersMonthUtilityClass, pickersMonthClasses } from './pickersMonthClasses';
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
|
|
13
|
-
const
|
|
12
|
+
|
|
13
|
+
const useUtilityClasses = ownerState => {
|
|
14
|
+
const {
|
|
15
|
+
classes,
|
|
16
|
+
selected
|
|
17
|
+
} = ownerState;
|
|
18
|
+
const slots = {
|
|
19
|
+
root: ['root', selected && 'selected']
|
|
20
|
+
};
|
|
21
|
+
return composeClasses(slots, getPickersMonthUtilityClass, classes);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const PickersMonthRoot = styled(Typography, {
|
|
25
|
+
name: 'PrivatePickersMonth',
|
|
26
|
+
slot: 'Root',
|
|
27
|
+
overridesResolver: (_, styles) => [styles.root, {
|
|
28
|
+
[`&.${pickersMonthClasses.selected}`]: styles.selected
|
|
29
|
+
}]
|
|
30
|
+
})(({
|
|
14
31
|
theme
|
|
15
32
|
}) => _extends({
|
|
16
33
|
flex: '1 0 33.33%',
|
|
@@ -33,7 +50,7 @@ const PickersMonthRoot = styled(Typography)(({
|
|
|
33
50
|
pointerEvents: 'none',
|
|
34
51
|
color: theme.palette.text.secondary
|
|
35
52
|
},
|
|
36
|
-
[`&.${
|
|
53
|
+
[`&.${pickersMonthClasses.selected}`]: {
|
|
37
54
|
color: theme.palette.primary.contrastText,
|
|
38
55
|
backgroundColor: theme.palette.primary.main,
|
|
39
56
|
'&:focus, &:hover': {
|
|
@@ -49,6 +66,7 @@ const noop = () => {};
|
|
|
49
66
|
|
|
50
67
|
|
|
51
68
|
export const PickersMonth = props => {
|
|
69
|
+
// TODO v6 add 'useThemeProps' once the component class names are aligned
|
|
52
70
|
const {
|
|
53
71
|
disabled,
|
|
54
72
|
onSelect,
|
|
@@ -61,6 +79,8 @@ export const PickersMonth = props => {
|
|
|
61
79
|
} = props,
|
|
62
80
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
63
81
|
|
|
82
|
+
const classes = useUtilityClasses(props);
|
|
83
|
+
|
|
64
84
|
const handleSelection = () => {
|
|
65
85
|
onSelect(value);
|
|
66
86
|
};
|
|
@@ -75,7 +95,7 @@ export const PickersMonth = props => {
|
|
|
75
95
|
ref: ref,
|
|
76
96
|
component: "button",
|
|
77
97
|
type: "button",
|
|
78
|
-
className:
|
|
98
|
+
className: classes.root,
|
|
79
99
|
tabIndex: tabIndex,
|
|
80
100
|
onClick: handleSelection,
|
|
81
101
|
onKeyDown: onSpaceOrEnter(handleSelection),
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { MonthPicker } from './MonthPicker';
|
|
2
|
-
export { monthPickerClasses, getMonthPickerUtilityClass } from './monthPickerClasses';
|
|
2
|
+
export { monthPickerClasses, getMonthPickerUtilityClass } from './monthPickerClasses';
|
|
3
|
+
export { pickersMonthClasses } from './pickersMonthClasses';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
|
|
2
|
+
export function getPickersMonthUtilityClass(slot) {
|
|
3
|
+
// TODO v6 Rename 'PrivatePickersMonth' to 'MuiPickersMonth' to follow convention
|
|
4
|
+
return generateUtilityClass('PrivatePickersMonth', slot);
|
|
5
|
+
}
|
|
6
|
+
export const pickersMonthClasses = generateUtilityClasses( // TODO v6 Rename 'PrivatePickersMonth' to 'MuiPickersMonth' to follow convention
|
|
7
|
+
'PrivatePickersMonth', ['root', 'selected']);
|
|
@@ -20,12 +20,13 @@ const useUtilityClasses = ownerState => {
|
|
|
20
20
|
disableMargin,
|
|
21
21
|
disableHighlightToday,
|
|
22
22
|
today,
|
|
23
|
+
disabled,
|
|
23
24
|
outsideCurrentMonth,
|
|
24
25
|
showDaysOutsideCurrentMonth,
|
|
25
26
|
classes
|
|
26
27
|
} = ownerState;
|
|
27
28
|
const slots = {
|
|
28
|
-
root: ['root', selected && 'selected', !disableMargin && 'dayWithMargin', !disableHighlightToday && today && 'today', outsideCurrentMonth && showDaysOutsideCurrentMonth && 'dayOutsideMonth'],
|
|
29
|
+
root: ['root', selected && 'selected', disabled && 'disabled', !disableMargin && 'dayWithMargin', !disableHighlightToday && today && 'today', outsideCurrentMonth && showDaysOutsideCurrentMonth && 'dayOutsideMonth', outsideCurrentMonth && !showDaysOutsideCurrentMonth && 'hiddenDaySpacingFiller'],
|
|
29
30
|
hiddenDaySpacingFiller: ['hiddenDaySpacingFiller']
|
|
30
31
|
};
|
|
31
32
|
return composeClasses(slots, getPickersDayUtilityClass, classes);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["ToolbarComponent", "value", "onChange", "displayStaticWrapperAs", "components", "componentsProps"];
|
|
3
|
+
const _excluded = ["ToolbarComponent", "value", "onChange", "displayStaticWrapperAs", "components", "componentsProps", "className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { useDatePickerDefaultizedProps, datePickerValueManager } from '../DatePicker/shared';
|
|
@@ -29,7 +29,8 @@ export const StaticDatePicker = /*#__PURE__*/React.forwardRef(function StaticDat
|
|
|
29
29
|
ToolbarComponent = DatePickerToolbar,
|
|
30
30
|
displayStaticWrapperAs = 'mobile',
|
|
31
31
|
components,
|
|
32
|
-
componentsProps
|
|
32
|
+
componentsProps,
|
|
33
|
+
className
|
|
33
34
|
} = props,
|
|
34
35
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
35
36
|
|
|
@@ -49,7 +50,8 @@ export const StaticDatePicker = /*#__PURE__*/React.forwardRef(function StaticDat
|
|
|
49
50
|
return /*#__PURE__*/_jsx(PickerStaticWrapper, _extends({
|
|
50
51
|
displayStaticWrapperAs: displayStaticWrapperAs,
|
|
51
52
|
components: components,
|
|
52
|
-
componentsProps: componentsProps
|
|
53
|
+
componentsProps: componentsProps,
|
|
54
|
+
className: className
|
|
53
55
|
}, wrapperProps, {
|
|
54
56
|
children: /*#__PURE__*/_jsx(CalendarOrClockPicker, _extends({}, pickerProps, {
|
|
55
57
|
toolbarTitle: props.label || props.toolbarTitle,
|
|
@@ -165,7 +167,7 @@ process.env.NODE_ENV !== "production" ? StaticDatePicker.propTypes = {
|
|
|
165
167
|
* Get aria-label text for switching between views button.
|
|
166
168
|
* @param {CalendarPickerView} currentView The view from which we want to get the button text.
|
|
167
169
|
* @returns {string} The label of the view.
|
|
168
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
170
|
+
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
|
|
169
171
|
*/
|
|
170
172
|
getViewSwitchingButtonText: PropTypes.func,
|
|
171
173
|
ignoreInvalidInputs: PropTypes.bool,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["displayStaticWrapperAs", "onChange", "ToolbarComponent", "value", "components", "componentsProps", "hideTabs"];
|
|
3
|
+
const _excluded = ["displayStaticWrapperAs", "onChange", "ToolbarComponent", "value", "components", "componentsProps", "hideTabs", "className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { useDateTimePickerDefaultizedProps, dateTimePickerValueManager } from '../DateTimePicker/shared';
|
|
@@ -31,7 +31,8 @@ export const StaticDateTimePicker = /*#__PURE__*/React.forwardRef(function Stati
|
|
|
31
31
|
ToolbarComponent = DateTimePickerToolbar,
|
|
32
32
|
components: providedComponents,
|
|
33
33
|
componentsProps,
|
|
34
|
-
hideTabs = displayStaticWrapperAs === 'desktop'
|
|
34
|
+
hideTabs = displayStaticWrapperAs === 'desktop',
|
|
35
|
+
className
|
|
35
36
|
} = props,
|
|
36
37
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
37
38
|
|
|
@@ -55,7 +56,8 @@ export const StaticDateTimePicker = /*#__PURE__*/React.forwardRef(function Stati
|
|
|
55
56
|
return /*#__PURE__*/_jsx(PickerStaticWrapper, _extends({
|
|
56
57
|
displayStaticWrapperAs: displayStaticWrapperAs,
|
|
57
58
|
components: components,
|
|
58
|
-
componentsProps: componentsProps
|
|
59
|
+
componentsProps: componentsProps,
|
|
60
|
+
className: className
|
|
59
61
|
}, wrapperProps, {
|
|
60
62
|
children: /*#__PURE__*/_jsx(CalendarOrClockPicker, _extends({}, pickerProps, {
|
|
61
63
|
toolbarTitle: props.label || props.toolbarTitle,
|
|
@@ -188,7 +190,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes = {
|
|
|
188
190
|
* @param {TDate | null} time The current time.
|
|
189
191
|
* @param {MuiPickersAdapter<TDate>} adapter The current date adapter.
|
|
190
192
|
* @returns {string} The clock label.
|
|
191
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
193
|
+
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
|
|
192
194
|
* @default <TDate extends any>(
|
|
193
195
|
* view: ClockView,
|
|
194
196
|
* time: TDate | null,
|
|
@@ -214,7 +216,7 @@ process.env.NODE_ENV !== "production" ? StaticDateTimePicker.propTypes = {
|
|
|
214
216
|
* Get aria-label text for switching between views button.
|
|
215
217
|
* @param {CalendarPickerView} currentView The view from which we want to get the button text.
|
|
216
218
|
* @returns {string} The label of the view.
|
|
217
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
219
|
+
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
|
|
218
220
|
*/
|
|
219
221
|
getViewSwitchingButtonText: PropTypes.func,
|
|
220
222
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["displayStaticWrapperAs", "onChange", "ToolbarComponent", "value", "components", "componentsProps"];
|
|
3
|
+
const _excluded = ["displayStaticWrapperAs", "onChange", "ToolbarComponent", "value", "components", "componentsProps", "className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { useTimePickerDefaultizedProps, timePickerValueManager } from '../TimePicker/shared';
|
|
@@ -28,7 +28,8 @@ export const StaticTimePicker = /*#__PURE__*/React.forwardRef(function StaticTim
|
|
|
28
28
|
displayStaticWrapperAs = 'mobile',
|
|
29
29
|
ToolbarComponent = TimePickerToolbar,
|
|
30
30
|
components,
|
|
31
|
-
componentsProps
|
|
31
|
+
componentsProps,
|
|
32
|
+
className
|
|
32
33
|
} = props,
|
|
33
34
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
34
35
|
|
|
@@ -49,7 +50,8 @@ export const StaticTimePicker = /*#__PURE__*/React.forwardRef(function StaticTim
|
|
|
49
50
|
return /*#__PURE__*/_jsx(PickerStaticWrapper, _extends({
|
|
50
51
|
displayStaticWrapperAs: displayStaticWrapperAs,
|
|
51
52
|
components: components,
|
|
52
|
-
componentsProps: componentsProps
|
|
53
|
+
componentsProps: componentsProps,
|
|
54
|
+
className: className
|
|
53
55
|
}, wrapperProps, {
|
|
54
56
|
children: /*#__PURE__*/_jsx(CalendarOrClockPicker, _extends({}, pickerProps, {
|
|
55
57
|
toolbarTitle: props.label || props.toolbarTitle,
|
|
@@ -144,7 +146,7 @@ process.env.NODE_ENV !== "production" ? StaticTimePicker.propTypes = {
|
|
|
144
146
|
* @param {TDate | null} time The current time.
|
|
145
147
|
* @param {MuiPickersAdapter<TDate>} adapter The current date adapter.
|
|
146
148
|
* @returns {string} The clock label.
|
|
147
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
149
|
+
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
|
|
148
150
|
* @default <TDate extends any>(
|
|
149
151
|
* view: ClockView,
|
|
150
152
|
* time: TDate | null,
|
|
@@ -143,7 +143,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
143
143
|
* @param {TDate | null} time The current time.
|
|
144
144
|
* @param {MuiPickersAdapter<TDate>} adapter The current date adapter.
|
|
145
145
|
* @returns {string} The clock label.
|
|
146
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
146
|
+
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
|
|
147
147
|
* @default <TDate extends any>(
|
|
148
148
|
* view: ClockView,
|
|
149
149
|
* time: TDate | null,
|
|
@@ -2,11 +2,12 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
const _excluded = ["ampm", "ampmInClock", "parsedValue", "isLandscape", "isMobileKeyboardViewOpen", "onChange", "openView", "setOpenView", "toggleMobileKeyboardView", "toolbarTitle", "views", "disabled", "readOnly"];
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import { useTheme, styled } from '@mui/material/styles';
|
|
5
|
+
import { useTheme, styled, useThemeProps } from '@mui/material/styles';
|
|
6
6
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
7
7
|
import { PickersToolbarText } from '../internals/components/PickersToolbarText';
|
|
8
8
|
import { PickersToolbarButton } from '../internals/components/PickersToolbarButton';
|
|
9
|
-
import { PickersToolbar
|
|
9
|
+
import { PickersToolbar } from '../internals/components/PickersToolbar';
|
|
10
|
+
import { pickersToolbarClasses } from '../internals/components/pickersToolbarClasses';
|
|
10
11
|
import { arrayIncludes } from '../internals/utils/utils';
|
|
11
12
|
import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
|
|
12
13
|
import { useMeridiemMode } from '../internals/hooks/date-helpers-hooks';
|
|
@@ -51,7 +52,10 @@ const TimePickerToolbarSeparator = styled(PickersToolbarText, {
|
|
|
51
52
|
const TimePickerToolbarHourMinuteLabel = styled('div', {
|
|
52
53
|
name: 'MuiTimePickerToolbar',
|
|
53
54
|
slot: 'HourMinuteLabel',
|
|
54
|
-
overridesResolver: (props, styles) =>
|
|
55
|
+
overridesResolver: (props, styles) => [{
|
|
56
|
+
[`&.${timePickerToolbarClasses.hourMinuteLabelLandscape}`]: styles.hourMinuteLabelLandscape,
|
|
57
|
+
[`&.${timePickerToolbarClasses.hourMinuteLabelReverse}`]: styles.hourMinuteLabelReverse
|
|
58
|
+
}, styles.hourMinuteLabel]
|
|
55
59
|
})(({
|
|
56
60
|
theme,
|
|
57
61
|
ownerState
|
|
@@ -67,7 +71,11 @@ const TimePickerToolbarHourMinuteLabel = styled('div', {
|
|
|
67
71
|
const TimePickerToolbarAmPmSelection = styled('div', {
|
|
68
72
|
name: 'MuiTimePickerToolbar',
|
|
69
73
|
slot: 'AmPmSelection',
|
|
70
|
-
overridesResolver: (props, styles) =>
|
|
74
|
+
overridesResolver: (props, styles) => [{
|
|
75
|
+
[`.${timePickerToolbarClasses.ampmLabel}`]: styles.ampmLabel
|
|
76
|
+
}, {
|
|
77
|
+
[`&.${timePickerToolbarClasses.ampmLandscape}`]: styles.ampmLandscape
|
|
78
|
+
}, styles.ampmSelection]
|
|
71
79
|
})(({
|
|
72
80
|
ownerState
|
|
73
81
|
}) => _extends({
|
|
@@ -89,7 +97,12 @@ const TimePickerToolbarAmPmSelection = styled('div', {
|
|
|
89
97
|
* @ignore - internal component.
|
|
90
98
|
*/
|
|
91
99
|
|
|
92
|
-
export
|
|
100
|
+
export function TimePickerToolbar(inProps) {
|
|
101
|
+
const props = useThemeProps({
|
|
102
|
+
props: inProps,
|
|
103
|
+
name: 'MuiTimePickerToolbar'
|
|
104
|
+
});
|
|
105
|
+
|
|
93
106
|
const {
|
|
94
107
|
ampm,
|
|
95
108
|
ampmInClock,
|
|
@@ -185,4 +198,4 @@ export const TimePickerToolbar = props => {
|
|
|
185
198
|
})]
|
|
186
199
|
})]
|
|
187
200
|
}));
|
|
188
|
-
}
|
|
201
|
+
}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { TimePicker } from './TimePicker';
|
|
1
|
+
export { TimePicker } from './TimePicker';
|
|
2
|
+
export { timePickerToolbarClasses } from './timePickerToolbarClasses';
|
|
@@ -5,13 +5,10 @@ import * as React from 'react';
|
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { useForkRef, capitalize } from '@mui/material/utils';
|
|
7
7
|
import { alpha, styled } from '@mui/material/styles';
|
|
8
|
-
import { unstable_composeClasses as composeClasses
|
|
8
|
+
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
9
9
|
import { WrapperVariantContext } from '../internals/components/wrappers/WrapperVariantContext';
|
|
10
|
+
import { getPickersYearUtilityClass, pickersYearClasses } from './pickersYearClasses';
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
export function getPickersYearUtilityClass(slot) {
|
|
12
|
-
return generateUtilityClass('PrivatePickersYear', slot);
|
|
13
|
-
}
|
|
14
|
-
export const pickersYearClasses = generateUtilityClasses('PrivatePickersYear', ['root', 'modeMobile', 'modeDesktop', 'yearButton', 'disabled', 'selected']);
|
|
15
12
|
|
|
16
13
|
const useUtilityClasses = ownerState => {
|
|
17
14
|
const {
|
|
@@ -27,7 +24,15 @@ const useUtilityClasses = ownerState => {
|
|
|
27
24
|
return composeClasses(slots, getPickersYearUtilityClass, classes);
|
|
28
25
|
};
|
|
29
26
|
|
|
30
|
-
const PickersYearRoot = styled('div'
|
|
27
|
+
const PickersYearRoot = styled('div', {
|
|
28
|
+
name: 'PrivatePickersYear',
|
|
29
|
+
slot: 'Root',
|
|
30
|
+
overridesResolver: (_, styles) => [styles.root, {
|
|
31
|
+
[`&.${pickersYearClasses.modeDesktop}`]: styles.modeDesktop
|
|
32
|
+
}, {
|
|
33
|
+
[`&.${pickersYearClasses.modeMobile}`]: styles.modeMobile
|
|
34
|
+
}]
|
|
35
|
+
})(({
|
|
31
36
|
ownerState
|
|
32
37
|
}) => _extends({
|
|
33
38
|
flexBasis: '33.3%',
|
|
@@ -37,7 +42,15 @@ const PickersYearRoot = styled('div')(({
|
|
|
37
42
|
}, ownerState?.wrapperVariant === 'desktop' && {
|
|
38
43
|
flexBasis: '25%'
|
|
39
44
|
}));
|
|
40
|
-
const PickersYearButton = styled('button'
|
|
45
|
+
const PickersYearButton = styled('button', {
|
|
46
|
+
name: 'PrivatePickersYear',
|
|
47
|
+
slot: 'Button',
|
|
48
|
+
overridesResolver: (_, styles) => [styles.button, {
|
|
49
|
+
[`&.${pickersYearClasses.disabled}`]: styles.disabled
|
|
50
|
+
}, {
|
|
51
|
+
[`&.${pickersYearClasses.selected}`]: styles.selected
|
|
52
|
+
}]
|
|
53
|
+
})(({
|
|
41
54
|
theme
|
|
42
55
|
}) => _extends({
|
|
43
56
|
color: 'unset',
|
|
@@ -72,6 +85,7 @@ const noop = () => {};
|
|
|
72
85
|
|
|
73
86
|
|
|
74
87
|
export const PickersYear = /*#__PURE__*/React.forwardRef(function PickersYear(props, forwardedRef) {
|
|
88
|
+
// TODO v6: add 'useThemeProps' once the component class names are aligned
|
|
75
89
|
const {
|
|
76
90
|
autoFocus,
|
|
77
91
|
className,
|
|
@@ -94,11 +108,11 @@ export const PickersYear = /*#__PURE__*/React.forwardRef(function PickersYear(pr
|
|
|
94
108
|
wrapperVariant
|
|
95
109
|
});
|
|
96
110
|
|
|
97
|
-
const classes = useUtilityClasses(ownerState); //
|
|
111
|
+
const classes = useUtilityClasses(ownerState); // We can't forward the `autoFocus` to the button because it is a native button, not a MUI Button
|
|
98
112
|
|
|
99
113
|
React.useEffect(() => {
|
|
100
114
|
if (autoFocus) {
|
|
101
|
-
// `ref.current` being `null` would be a bug in
|
|
115
|
+
// `ref.current` being `null` would be a bug in MUI.
|
|
102
116
|
ref.current.focus();
|
|
103
117
|
}
|
|
104
118
|
}, [autoFocus]);
|
|
@@ -3,8 +3,9 @@ import * as React from 'react';
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { useTheme, styled, useThemeProps } from '@mui/material/styles';
|
|
5
5
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
6
|
-
import { useControlled } from '@mui/material/utils';
|
|
7
6
|
import clsx from 'clsx';
|
|
7
|
+
import { useForkRef } from '@mui/material/utils';
|
|
8
|
+
import { unstable_useControlled as useControlled } from '@mui/utils';
|
|
8
9
|
import { PickersYear } from './PickersYear';
|
|
9
10
|
import { useUtils, useNow, useDefaultDates } from '../internals/hooks/useUtils';
|
|
10
11
|
import { WrapperVariantContext } from '../internals/components/wrappers/WrapperVariantContext';
|
|
@@ -48,7 +49,8 @@ const YearPickerRoot = styled('div', {
|
|
|
48
49
|
flexWrap: 'wrap',
|
|
49
50
|
overflowY: 'auto',
|
|
50
51
|
height: '100%',
|
|
51
|
-
|
|
52
|
+
padding: '0 4px',
|
|
53
|
+
maxHeight: '304px'
|
|
52
54
|
});
|
|
53
55
|
export const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inProps, ref) {
|
|
54
56
|
const now = useNow();
|
|
@@ -181,8 +183,35 @@ export const YearPicker = /*#__PURE__*/React.forwardRef(function YearPicker(inPr
|
|
|
181
183
|
}
|
|
182
184
|
}, [focusedYear, changeHasFocus]);
|
|
183
185
|
const nowYear = utils.getYear(now);
|
|
186
|
+
const scrollerRef = React.useRef(null);
|
|
187
|
+
const handleRef = useForkRef(ref, scrollerRef);
|
|
188
|
+
React.useEffect(() => {
|
|
189
|
+
if (autoFocus || scrollerRef.current === null) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
const tabbableButton = scrollerRef.current.querySelector('[tabindex="0"]');
|
|
194
|
+
|
|
195
|
+
if (!tabbableButton) {
|
|
196
|
+
return;
|
|
197
|
+
} // Taken from useScroll in x-data-grid, but vertically centered
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
const offsetHeight = tabbableButton.offsetHeight;
|
|
201
|
+
const offsetTop = tabbableButton.offsetTop;
|
|
202
|
+
const clientHeight = scrollerRef.current.clientHeight;
|
|
203
|
+
const scrollTop = scrollerRef.current.scrollTop;
|
|
204
|
+
const elementBottom = offsetTop + offsetHeight;
|
|
205
|
+
|
|
206
|
+
if (offsetHeight > clientHeight || offsetTop < scrollTop) {
|
|
207
|
+
// Button already visible
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
scrollerRef.current.scrollTop = elementBottom - clientHeight / 2 - offsetHeight / 2;
|
|
212
|
+
}, [autoFocus]);
|
|
184
213
|
return /*#__PURE__*/_jsx(YearPickerRoot, {
|
|
185
|
-
ref:
|
|
214
|
+
ref: handleRef,
|
|
186
215
|
className: clsx(classes.root, className),
|
|
187
216
|
ownerState: ownerState,
|
|
188
217
|
children: utils.getYearRange(minDate, maxDate).map(year => {
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { YearPicker } from './YearPicker';
|
|
2
|
-
export { yearPickerClasses, getYearPickerUtilityClass } from './yearPickerClasses';
|
|
2
|
+
export { yearPickerClasses, getYearPickerUtilityClass } from './yearPickerClasses';
|
|
3
|
+
export { pickersYearClasses } from './pickersYearClasses';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
|
|
2
|
+
export function getPickersYearUtilityClass(slot) {
|
|
3
|
+
// TODO v6: Rename 'PrivatePickersYear' to 'MuiPickersYear' to follow convention
|
|
4
|
+
return generateUtilityClass('PrivatePickersYear', slot);
|
|
5
|
+
} // TODO v6: Rename 'PrivatePickersYear' to 'MuiPickersYear' to follow convention
|
|
6
|
+
|
|
7
|
+
export const pickersYearClasses = generateUtilityClasses('PrivatePickersYear', ['root', 'modeDesktop', 'modeMobile', 'yearButton', 'selected', 'disabled']);
|
package/modern/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["autoFocus", "className", "parsedValue", "DateInputProps", "isMobileKeyboardViewOpen", "onDateChange", "onViewChange", "openTo", "orientation", "showToolbar", "toggleMobileKeyboardView", "ToolbarComponent", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "views", "dateRangeIcon", "timeIcon", "hideTabs"];
|
|
3
|
+
const _excluded = ["autoFocus", "className", "parsedValue", "DateInputProps", "isMobileKeyboardViewOpen", "onDateChange", "onViewChange", "openTo", "orientation", "showToolbar", "toggleMobileKeyboardView", "ToolbarComponent", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "views", "dateRangeIcon", "timeIcon", "hideTabs", "classes"];
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import { styled } from '@mui/material/styles';
|
|
5
|
+
import { styled, useThemeProps } from '@mui/material/styles';
|
|
6
|
+
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
6
7
|
import { useViews } from '../../hooks/useViews';
|
|
7
8
|
import { ClockPicker } from '../../../ClockPicker/ClockPicker';
|
|
8
9
|
import { CalendarPicker } from '../../../CalendarPicker/CalendarPicker';
|
|
@@ -11,12 +12,33 @@ import { useIsLandscape } from '../../hooks/useIsLandscape';
|
|
|
11
12
|
import { WrapperVariantContext } from '../wrappers/WrapperVariantContext';
|
|
12
13
|
import { PickerViewRoot } from '../PickerViewRoot';
|
|
13
14
|
import { useFocusManagement } from './useFocusManagement';
|
|
15
|
+
import { getCalendarOrClockPickerUtilityClass } from './calendarOrClockPickerClasses';
|
|
14
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
-
|
|
18
|
+
|
|
19
|
+
const useUtilityClasses = ownerState => {
|
|
20
|
+
const {
|
|
21
|
+
classes
|
|
22
|
+
} = ownerState;
|
|
23
|
+
const slots = {
|
|
24
|
+
root: ['root'],
|
|
25
|
+
mobileKeyboardInputView: ['mobileKeyboardInputView']
|
|
26
|
+
};
|
|
27
|
+
return composeClasses(slots, getCalendarOrClockPickerUtilityClass, classes);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const MobileKeyboardInputView = styled('div', {
|
|
31
|
+
name: 'MuiCalendarOrClockPicker',
|
|
32
|
+
slot: 'MobileKeyboardInputView',
|
|
33
|
+
overridesResolver: (_, styles) => styles.mobileKeyboardInputView
|
|
34
|
+
})({
|
|
17
35
|
padding: '16px 24px'
|
|
18
36
|
});
|
|
19
|
-
const PickerRoot = styled('div'
|
|
37
|
+
const PickerRoot = styled('div', {
|
|
38
|
+
name: 'MuiCalendarOrClockPicker',
|
|
39
|
+
slot: 'Root',
|
|
40
|
+
overridesResolver: (_, styles) => styles.root
|
|
41
|
+
})(({
|
|
20
42
|
ownerState
|
|
21
43
|
}) => _extends({
|
|
22
44
|
display: 'flex',
|
|
@@ -33,7 +55,12 @@ const isDatePickerView = view => view === 'year' || view === 'month' || view ===
|
|
|
33
55
|
const isTimePickerView = view => view === 'hours' || view === 'minutes' || view === 'seconds';
|
|
34
56
|
|
|
35
57
|
let warnedOnceNotValidOpenTo = false;
|
|
36
|
-
export function CalendarOrClockPicker(
|
|
58
|
+
export function CalendarOrClockPicker(inProps) {
|
|
59
|
+
const props = useThemeProps({
|
|
60
|
+
props: inProps,
|
|
61
|
+
name: 'MuiCalendarOrClockPicker'
|
|
62
|
+
});
|
|
63
|
+
|
|
37
64
|
const {
|
|
38
65
|
autoFocus,
|
|
39
66
|
parsedValue,
|
|
@@ -59,6 +86,7 @@ export function CalendarOrClockPicker(props) {
|
|
|
59
86
|
const TabsComponent = other.components?.Tabs;
|
|
60
87
|
const isLandscape = useIsLandscape(views, orientation);
|
|
61
88
|
const wrapperVariant = React.useContext(WrapperVariantContext);
|
|
89
|
+
const classes = useUtilityClasses(props);
|
|
62
90
|
const toShowToolbar = showToolbar ?? wrapperVariant !== 'desktop';
|
|
63
91
|
const showTabs = !hideTabs && typeof window !== 'undefined' && window.innerHeight > 667;
|
|
64
92
|
const handleDateChange = React.useCallback((newDate, selectionState) => {
|
|
@@ -103,6 +131,7 @@ export function CalendarOrClockPicker(props) {
|
|
|
103
131
|
ownerState: {
|
|
104
132
|
isLandscape
|
|
105
133
|
},
|
|
134
|
+
className: classes.root,
|
|
106
135
|
children: [toShowToolbar && /*#__PURE__*/_jsx(ToolbarComponent, _extends({}, other, {
|
|
107
136
|
views: views,
|
|
108
137
|
isLandscape: isLandscape,
|
|
@@ -122,6 +151,7 @@ export function CalendarOrClockPicker(props) {
|
|
|
122
151
|
onChange: setOpenView
|
|
123
152
|
}, other.componentsProps?.tabs)), /*#__PURE__*/_jsx(PickerViewRoot, {
|
|
124
153
|
children: isMobileKeyboardViewOpen ? /*#__PURE__*/_jsx(MobileKeyboardInputView, {
|
|
154
|
+
className: classes.mobileKeyboardInputView,
|
|
125
155
|
children: /*#__PURE__*/_jsx(KeyboardDateInput, _extends({}, DateInputProps, {
|
|
126
156
|
ignoreInvalidInputs: true,
|
|
127
157
|
disableOpenPicker: true,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { generateUtilityClass, generateUtilityClasses } from '@mui/material';
|
|
2
|
+
export function getCalendarOrClockPickerUtilityClass(slot) {
|
|
3
|
+
return generateUtilityClass('MuiCalendarOrClockPicker', slot);
|
|
4
|
+
}
|
|
5
|
+
export const calendarOrClockPickerClasses = generateUtilityClasses('MuiCalendarOrClockPicker', ['root', 'mobileKeyboardInputView']);
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["displayStaticWrapperAs", "onAccept", "onClear", "onCancel", "onDismiss", "onSetToday", "open", "children", "components", "componentsProps"];
|
|
3
|
+
const _excluded = ["displayStaticWrapperAs", "onAccept", "onClear", "onCancel", "onDismiss", "onSetToday", "open", "children", "components", "componentsProps", "className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
8
|
+
import clsx from 'clsx';
|
|
8
9
|
import { DIALOG_WIDTH } from '../../constants/dimensions';
|
|
9
10
|
import { WrapperVariantContext } from '../wrappers/WrapperVariantContext';
|
|
10
11
|
import { getStaticWrapperUtilityClass } from './pickerStaticWrapperClasses';
|
|
@@ -59,7 +60,8 @@ function PickerStaticWrapper(inProps) {
|
|
|
59
60
|
onSetToday,
|
|
60
61
|
children,
|
|
61
62
|
components,
|
|
62
|
-
componentsProps
|
|
63
|
+
componentsProps,
|
|
64
|
+
className
|
|
63
65
|
} = props,
|
|
64
66
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
65
67
|
|
|
@@ -69,7 +71,7 @@ function PickerStaticWrapper(inProps) {
|
|
|
69
71
|
return /*#__PURE__*/_jsx(WrapperVariantContext.Provider, {
|
|
70
72
|
value: displayStaticWrapperAs,
|
|
71
73
|
children: /*#__PURE__*/_jsxs(PickerStaticWrapperRoot, _extends({
|
|
72
|
-
className: classes.root
|
|
74
|
+
className: clsx(classes.root, className)
|
|
73
75
|
}, other, {
|
|
74
76
|
children: [/*#__PURE__*/_jsx(PickerStaticWrapperContent, {
|
|
75
77
|
className: classes.content,
|
|
@@ -98,6 +100,7 @@ process.env.NODE_ENV !== "production" ? PickerStaticWrapper.propTypes = {
|
|
|
98
100
|
* Override or extend the styles applied to the component.
|
|
99
101
|
*/
|
|
100
102
|
classes: PropTypes.object,
|
|
103
|
+
className: PropTypes.string,
|
|
101
104
|
|
|
102
105
|
/**
|
|
103
106
|
* Overrideable components.
|
|
@@ -4,13 +4,26 @@ const _excluded = ["children", "className", "components", "componentsProps", "is
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import Typography from '@mui/material/Typography';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { useTheme, styled, useThemeProps } from '@mui/material/styles';
|
|
8
|
+
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
9
9
|
import IconButton from '@mui/material/IconButton';
|
|
10
10
|
import { ArrowLeft, ArrowRight } from './icons';
|
|
11
|
+
import { getPickersArrowSwitcherUtilityClass } from './pickersArrowSwitcherClasses';
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
|
|
14
|
+
|
|
15
|
+
const useUtilityClasses = ownerState => {
|
|
16
|
+
const {
|
|
17
|
+
classes
|
|
18
|
+
} = ownerState;
|
|
19
|
+
const slots = {
|
|
20
|
+
root: ['root'],
|
|
21
|
+
spacer: ['spacer'],
|
|
22
|
+
button: ['button']
|
|
23
|
+
};
|
|
24
|
+
return composeClasses(slots, getPickersArrowSwitcherUtilityClass, classes);
|
|
25
|
+
};
|
|
26
|
+
|
|
14
27
|
const PickersArrowSwitcherRoot = styled('div', {
|
|
15
28
|
name: 'MuiPickersArrowSwitcher',
|
|
16
29
|
slot: 'Root',
|
|
@@ -36,7 +49,12 @@ const PickersArrowSwitcherButton = styled(IconButton, {
|
|
|
36
49
|
}) => _extends({}, ownerState.hidden && {
|
|
37
50
|
visibility: 'hidden'
|
|
38
51
|
}));
|
|
39
|
-
export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function PickersArrowSwitcher(
|
|
52
|
+
export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function PickersArrowSwitcher(inProps, ref) {
|
|
53
|
+
const props = useThemeProps({
|
|
54
|
+
props: inProps,
|
|
55
|
+
name: 'MuiPickersArrowSwitcher'
|
|
56
|
+
});
|
|
57
|
+
|
|
40
58
|
const {
|
|
41
59
|
children,
|
|
42
60
|
className,
|
|
@@ -60,6 +78,7 @@ export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
60
78
|
const rightArrowButtonProps = componentsProps?.rightArrowButton || {};
|
|
61
79
|
const RightArrowIcon = components?.RightArrowIcon || ArrowRight;
|
|
62
80
|
const ownerState = props;
|
|
81
|
+
const classes = useUtilityClasses(ownerState);
|
|
63
82
|
return /*#__PURE__*/_jsxs(PickersArrowSwitcherRoot, _extends({
|
|
64
83
|
ref: ref,
|
|
65
84
|
className: clsx(classes.root, className),
|