@mui/x-date-pickers 5.0.2 → 6.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +212 -3
- package/CalendarPicker/CalendarPicker.d.ts +8 -2
- package/CalendarPicker/CalendarPicker.js +54 -71
- package/CalendarPicker/DayPicker.d.ts +2 -2
- package/CalendarPicker/DayPicker.js +6 -2
- package/CalendarPicker/PickersCalendarHeader.d.ts +3 -10
- package/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/CalendarPicker/useCalendarState.d.ts +2 -2
- package/CalendarPicker/useCalendarState.js +7 -7
- package/ClockPicker/Clock.d.ts +9 -4
- package/ClockPicker/Clock.js +13 -13
- package/ClockPicker/ClockNumbers.d.ts +3 -3
- package/ClockPicker/ClockNumbers.js +2 -2
- package/ClockPicker/ClockPicker.d.ts +8 -58
- package/ClockPicker/ClockPicker.js +52 -128
- package/ClockPicker/ClockPointer.d.ts +1 -1
- package/ClockPicker/ClockPointer.js +4 -4
- package/DateField/useDateField.d.ts +1 -1
- package/DateField/useDateField.js +5 -1
- package/DatePicker/DatePicker.js +10 -20
- package/DateTimePicker/DateTimePicker.js +10 -39
- package/DesktopDatePicker/DesktopDatePicker.d.ts +1 -1
- package/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/DesktopDateTimePicker/DesktopDateTimePicker.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/DesktopTimePicker/DesktopTimePicker.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/LocalizationProvider/LocalizationProvider.d.ts +10 -11
- package/LocalizationProvider/LocalizationProvider.js +31 -24
- package/MobileDatePicker/MobileDatePicker.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.js +14 -22
- package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/MobileTimePicker/MobileTimePicker.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.js +9 -21
- package/MonthPicker/MonthPicker.d.ts +12 -9
- package/MonthPicker/MonthPicker.js +60 -57
- package/MonthPicker/PickersMonth.d.ts +10 -7
- package/MonthPicker/PickersMonth.js +76 -44
- package/MonthPicker/pickersMonthClasses.d.ts +9 -1
- package/MonthPicker/pickersMonthClasses.js +1 -1
- package/PickersDay/PickersDay.d.ts +0 -6
- package/PickersDay/PickersDay.js +0 -5
- package/StaticDatePicker/StaticDatePicker.d.ts +1 -1
- package/StaticDatePicker/StaticDatePicker.js +17 -23
- package/StaticDateTimePicker/StaticDateTimePicker.d.ts +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/StaticTimePicker/StaticTimePicker.d.ts +1 -1
- package/StaticTimePicker/StaticTimePicker.js +17 -22
- package/TimePicker/TimePicker.js +5 -19
- package/YearPicker/PickersYear.d.ts +7 -6
- package/YearPicker/PickersYear.js +34 -23
- package/YearPicker/YearPicker.d.ts +21 -4
- package/YearPicker/YearPicker.js +109 -49
- package/YearPicker/pickersYearClasses.d.ts +1 -1
- package/index.js +1 -1
- package/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/internals/components/PickerStaticWrapper/PickerStaticWrapper.d.ts +20 -6
- package/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +38 -22
- package/internals/components/PickerStaticWrapper/index.d.ts +1 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.d.ts +3 -0
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +166 -0
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +63 -0
- package/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/internals/components/PickersArrowSwitcher/index.d.ts +2 -0
- package/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/internals/components/{pickersArrowSwitcherClasses.d.ts → PickersArrowSwitcher/pickersArrowSwitcherClasses.d.ts} +0 -0
- package/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/internals/components/PickersPopper.d.ts +2 -6
- package/internals/components/PickersPopper.js +5 -5
- package/internals/components/PickersToolbar.d.ts +1 -1
- package/internals/components/PickersToolbar.js +1 -2
- package/internals/components/PickersToolbarText.d.ts +1 -1
- package/internals/components/wrappers/DesktopTooltipWrapper.d.ts +1 -1
- package/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/internals/components/wrappers/DesktopWrapper.d.ts +8 -3
- package/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/internals/components/wrappers/MobileWrapper.d.ts +8 -3
- package/internals/components/wrappers/MobileWrapper.js +23 -18
- package/internals/hooks/useField/useField.interfaces.d.ts +0 -1
- package/internals/hooks/useField/useField.js +19 -23
- package/internals/hooks/useField/useField.utils.js +10 -2
- package/internals/hooks/useUtils.d.ts +5 -2
- package/internals/hooks/useUtils.js +11 -2
- package/internals/hooks/validation/useDateValidation.d.ts +4 -4
- package/internals/hooks/validation/useDateValidation.js +12 -2
- package/internals/index.d.ts +5 -5
- package/internals/index.js +3 -3
- package/internals/models/muiPickersAdapter.d.ts +12 -7
- package/internals/models/props/baseToolbarProps.d.ts +0 -8
- package/internals/models/props/staticPickerProps.d.ts +2 -8
- package/legacy/CalendarPicker/CalendarPicker.js +52 -69
- package/legacy/CalendarPicker/DayPicker.js +6 -2
- package/legacy/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/legacy/CalendarPicker/useCalendarState.js +7 -7
- package/legacy/ClockPicker/Clock.js +13 -13
- package/legacy/ClockPicker/ClockNumbers.js +2 -2
- package/legacy/ClockPicker/ClockPicker.js +57 -133
- package/legacy/ClockPicker/ClockPointer.js +4 -4
- package/legacy/DateField/useDateField.js +5 -1
- package/legacy/DatePicker/DatePicker.js +10 -20
- package/legacy/DateTimePicker/DateTimePicker.js +10 -39
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +13 -21
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +8 -20
- package/legacy/LocalizationProvider/LocalizationProvider.js +28 -23
- package/legacy/MobileDatePicker/MobileDatePicker.js +13 -21
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/legacy/MobileTimePicker/MobileTimePicker.js +8 -20
- package/legacy/MonthPicker/MonthPicker.js +67 -62
- package/legacy/MonthPicker/PickersMonth.js +89 -57
- package/legacy/MonthPicker/pickersMonthClasses.js +1 -1
- package/legacy/PickersDay/PickersDay.js +0 -5
- package/legacy/StaticDatePicker/StaticDatePicker.js +17 -24
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +17 -43
- package/legacy/StaticTimePicker/StaticTimePicker.js +17 -23
- package/legacy/TimePicker/TimePicker.js +5 -19
- package/legacy/YearPicker/PickersYear.js +35 -25
- package/legacy/YearPicker/YearPicker.js +111 -51
- package/legacy/index.js +1 -1
- package/legacy/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/legacy/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +41 -24
- package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +180 -0
- package/legacy/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/legacy/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/legacy/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/legacy/internals/components/PickersPopper.js +5 -5
- package/legacy/internals/components/PickersToolbar.js +1 -2
- package/legacy/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/legacy/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/legacy/internals/components/wrappers/MobileWrapper.js +22 -17
- package/legacy/internals/hooks/useField/useField.js +21 -23
- package/legacy/internals/hooks/useField/useField.utils.js +10 -2
- package/legacy/internals/hooks/useUtils.js +13 -2
- package/legacy/internals/hooks/validation/useDateValidation.js +12 -2
- package/legacy/internals/index.js +3 -3
- package/legacy/locales/faIR.js +52 -0
- package/legacy/locales/fiFI.js +61 -0
- package/legacy/locales/index.js +2 -0
- package/legacy/locales/isIS.js +0 -1
- package/locales/faIR.d.ts +35 -0
- package/locales/faIR.js +36 -0
- package/locales/fiFI.d.ts +35 -0
- package/locales/fiFI.js +45 -0
- package/locales/index.d.ts +2 -0
- package/locales/index.js +2 -0
- package/locales/isIS.js +0 -1
- package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
- package/modern/CalendarPicker/CalendarPicker.js +54 -71
- package/modern/CalendarPicker/DayPicker.js +6 -2
- package/modern/CalendarPicker/PickersCalendarHeader.js +7 -20
- package/modern/CalendarPicker/useCalendarState.js +7 -7
- package/modern/ClockPicker/Clock.js +13 -13
- package/modern/ClockPicker/ClockNumbers.js +2 -2
- package/modern/ClockPicker/ClockPicker.js +52 -128
- package/modern/ClockPicker/ClockPointer.js +4 -4
- package/modern/DateField/useDateField.js +5 -1
- package/modern/DatePicker/DatePicker.js +10 -20
- package/modern/DateTimePicker/DateTimePicker.js +10 -39
- package/modern/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/modern/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/modern/LocalizationProvider/LocalizationProvider.js +29 -24
- package/modern/MobileDatePicker/MobileDatePicker.js +14 -22
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/modern/MobileTimePicker/MobileTimePicker.js +9 -21
- package/modern/MonthPicker/MonthPicker.js +60 -57
- package/modern/MonthPicker/PickersMonth.js +76 -44
- package/modern/MonthPicker/pickersMonthClasses.js +1 -1
- package/modern/PickersDay/PickersDay.js +0 -5
- package/modern/StaticDatePicker/StaticDatePicker.js +17 -23
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/modern/StaticTimePicker/StaticTimePicker.js +17 -22
- package/modern/TimePicker/TimePicker.js +5 -19
- package/modern/YearPicker/PickersYear.js +34 -23
- package/modern/YearPicker/YearPicker.js +109 -49
- package/modern/index.js +1 -1
- package/modern/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/modern/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +38 -22
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +164 -0
- package/modern/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/modern/internals/components/PickersArrowSwitcher/index.js +1 -0
- package/modern/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/modern/internals/components/PickersPopper.js +5 -5
- package/modern/internals/components/PickersToolbar.js +1 -2
- package/modern/internals/components/wrappers/DesktopTooltipWrapper.js +29 -24
- package/modern/internals/components/wrappers/DesktopWrapper.js +26 -21
- package/modern/internals/components/wrappers/MobileWrapper.js +23 -18
- package/modern/internals/hooks/useField/useField.js +19 -21
- package/modern/internals/hooks/useField/useField.utils.js +10 -2
- package/modern/internals/hooks/useUtils.js +11 -2
- package/modern/internals/hooks/validation/useDateValidation.js +12 -2
- package/modern/internals/index.js +3 -3
- package/modern/locales/faIR.js +36 -0
- package/modern/locales/fiFI.js +45 -0
- package/modern/locales/index.js +2 -0
- package/modern/locales/isIS.js +0 -1
- package/node/CalendarPicker/CalendarPicker.js +54 -71
- package/node/CalendarPicker/DayPicker.js +5 -1
- package/node/CalendarPicker/PickersCalendarHeader.js +7 -21
- package/node/CalendarPicker/useCalendarState.js +6 -6
- package/node/ClockPicker/Clock.js +12 -12
- package/node/ClockPicker/ClockNumbers.js +2 -2
- package/node/ClockPicker/ClockPicker.js +52 -129
- package/node/ClockPicker/ClockPointer.js +4 -4
- package/node/DateField/useDateField.js +5 -1
- package/node/DatePicker/DatePicker.js +10 -20
- package/node/DateTimePicker/DateTimePicker.js +10 -39
- package/node/DesktopDatePicker/DesktopDatePicker.js +14 -22
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -40
- package/node/DesktopTimePicker/DesktopTimePicker.js +9 -21
- package/node/LocalizationProvider/LocalizationProvider.js +31 -25
- package/node/MobileDatePicker/MobileDatePicker.js +14 -22
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +13 -40
- package/node/MobileTimePicker/MobileTimePicker.js +9 -21
- package/node/MonthPicker/MonthPicker.js +61 -58
- package/node/MonthPicker/PickersMonth.js +71 -43
- package/node/MonthPicker/pickersMonthClasses.js +1 -1
- package/node/PickersDay/PickersDay.js +0 -5
- package/node/StaticDatePicker/StaticDatePicker.js +17 -23
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +17 -42
- package/node/StaticTimePicker/StaticTimePicker.js +17 -22
- package/node/TimePicker/TimePicker.js +5 -19
- package/node/YearPicker/PickersYear.js +33 -22
- package/node/YearPicker/YearPicker.js +111 -49
- package/node/index.js +1 -1
- package/node/internals/components/CalendarOrClockPicker/CalendarOrClockPicker.js +2 -2
- package/node/internals/components/PickerStaticWrapper/PickerStaticWrapper.js +39 -22
- package/node/internals/components/{PickersArrowSwitcher.js → PickersArrowSwitcher/PickersArrowSwitcher.js} +102 -58
- package/node/internals/{models/muiPickersAdapter.js → components/PickersArrowSwitcher/PickersArrowSwitcher.types.js} +0 -0
- package/node/internals/components/PickersArrowSwitcher/index.js +13 -0
- package/node/internals/components/{pickersArrowSwitcherClasses.js → PickersArrowSwitcher/pickersArrowSwitcherClasses.js} +0 -0
- package/node/internals/components/PickersPopper.js +5 -5
- package/node/internals/components/PickersToolbar.js +1 -2
- package/node/internals/components/wrappers/DesktopTooltipWrapper.js +30 -24
- package/node/internals/components/wrappers/DesktopWrapper.js +27 -21
- package/node/internals/components/wrappers/MobileWrapper.js +24 -18
- package/node/internals/hooks/useField/useField.js +19 -23
- package/node/internals/hooks/useField/useField.utils.js +10 -2
- package/node/internals/hooks/useUtils.js +15 -2
- package/node/internals/hooks/validation/useDateValidation.js +14 -4
- package/node/internals/index.js +8 -2
- package/node/locales/faIR.js +45 -0
- package/node/locales/fiFI.js +54 -0
- package/node/locales/index.js +26 -0
- package/node/locales/isIS.js +0 -1
- package/package.json +4 -4
- package/themeAugmentation/props.d.ts +3 -3
- package/internals/components/PickersArrowSwitcher.d.ts +0 -62
- package/internals/components/PickersArrowSwitcher.js +0 -124
- package/legacy/internals/components/PickersArrowSwitcher.js +0 -128
- package/modern/internals/components/PickersArrowSwitcher.js +0 -124
|
@@ -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", "components", "componentsProps"];
|
|
3
|
+
const _excluded = ["ToolbarComponent", "value", "onChange", "components", "componentsProps", "localeText"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { useTimePickerDefaultizedProps, timePickerValueManager } from '../TimePicker/shared';
|
|
@@ -35,7 +35,8 @@ export const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTim
|
|
|
35
35
|
const {
|
|
36
36
|
ToolbarComponent = TimePickerToolbar,
|
|
37
37
|
components,
|
|
38
|
-
componentsProps
|
|
38
|
+
componentsProps,
|
|
39
|
+
localeText
|
|
39
40
|
} = props,
|
|
40
41
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
41
42
|
|
|
@@ -51,6 +52,7 @@ export const MobileTimePicker = /*#__PURE__*/React.forwardRef(function MobileTim
|
|
|
51
52
|
PureDateInputComponent: PureDateInput,
|
|
52
53
|
components: components,
|
|
53
54
|
componentsProps: componentsProps,
|
|
55
|
+
localeText: localeText,
|
|
54
56
|
children: /*#__PURE__*/_jsx(CalendarOrClockPicker, _extends({}, pickerProps, {
|
|
55
57
|
autoFocus: true,
|
|
56
58
|
toolbarTitle: props.label || props.toolbarTitle,
|
|
@@ -138,25 +140,6 @@ process.env.NODE_ENV !== "production" ? MobileTimePicker.propTypes = {
|
|
|
138
140
|
*/
|
|
139
141
|
disableOpenPicker: PropTypes.bool,
|
|
140
142
|
|
|
141
|
-
/**
|
|
142
|
-
* Accessible text that helps user to understand which time and view is selected.
|
|
143
|
-
* @template TDate
|
|
144
|
-
* @param {ClockPickerView} view The current view rendered.
|
|
145
|
-
* @param {TDate | null} time The current time.
|
|
146
|
-
* @param {MuiPickersAdapter<TDate>} adapter The current date adapter.
|
|
147
|
-
* @returns {string} The clock label.
|
|
148
|
-
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization
|
|
149
|
-
* @default <TDate extends any>(
|
|
150
|
-
* view: ClockView,
|
|
151
|
-
* time: TDate | null,
|
|
152
|
-
* adapter: MuiPickersAdapter<TDate>,
|
|
153
|
-
* ) =>
|
|
154
|
-
* `Select ${view}. ${
|
|
155
|
-
* time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`
|
|
156
|
-
* }`
|
|
157
|
-
*/
|
|
158
|
-
getClockLabelText: PropTypes.func,
|
|
159
|
-
|
|
160
143
|
/**
|
|
161
144
|
* Get aria-label text for control that opens picker dialog. Aria-label text must include selected date. @DateIOType
|
|
162
145
|
* @template TInputDate, TDate
|
|
@@ -187,6 +170,11 @@ process.env.NODE_ENV !== "production" ? MobileTimePicker.propTypes = {
|
|
|
187
170
|
})]),
|
|
188
171
|
label: PropTypes.node,
|
|
189
172
|
|
|
173
|
+
/**
|
|
174
|
+
* Locale for components texts
|
|
175
|
+
*/
|
|
176
|
+
localeText: PropTypes.object,
|
|
177
|
+
|
|
190
178
|
/**
|
|
191
179
|
* Custom mask. Can be used to override generate from format. (e.g. `__/__/____ __:__` or `__/__/____ __:__ _M`).
|
|
192
180
|
*/
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SxProps } from '@mui/system';
|
|
3
3
|
import { Theme } from '@mui/material/styles';
|
|
4
|
-
import { NonNullablePickerChangeHandler } from '../internals/hooks/useViews';
|
|
5
4
|
import { MonthPickerClasses } from './monthPickerClasses';
|
|
6
5
|
import { BaseDateValidationProps, MonthValidationProps } from '../internals/hooks/validation/models';
|
|
7
6
|
import { DefaultizedProps } from '../internals/models/helpers';
|
|
8
7
|
export interface MonthPickerProps<TDate> extends MonthValidationProps<TDate>, BaseDateValidationProps<TDate> {
|
|
8
|
+
autoFocus?: boolean;
|
|
9
9
|
/**
|
|
10
10
|
* className applied to the root element.
|
|
11
11
|
*/
|
|
@@ -14,24 +14,27 @@ export interface MonthPickerProps<TDate> extends MonthValidationProps<TDate>, Ba
|
|
|
14
14
|
* Override or extend the styles applied to the component.
|
|
15
15
|
*/
|
|
16
16
|
classes?: Partial<MonthPickerClasses>;
|
|
17
|
+
/**
|
|
18
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
19
|
+
*/
|
|
20
|
+
sx?: SxProps<Theme>;
|
|
17
21
|
/** Date value for the MonthPicker */
|
|
18
|
-
|
|
22
|
+
value: TDate | null;
|
|
19
23
|
/** If `true` picker is disabled */
|
|
20
24
|
disabled?: boolean;
|
|
21
|
-
/** Callback fired on date change. */
|
|
22
|
-
onChange: NonNullablePickerChangeHandler<TDate>;
|
|
23
|
-
/** If `true` picker is readonly */
|
|
24
|
-
readOnly?: boolean;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Callback fired when the value (the selected month) changes.
|
|
27
|
+
* @template TValue
|
|
28
|
+
* @param {TValue} value The new parsed value.
|
|
27
29
|
*/
|
|
28
|
-
|
|
30
|
+
onChange: (value: TDate) => void;
|
|
31
|
+
/** If `true` picker is readonly */
|
|
32
|
+
readOnly?: boolean;
|
|
29
33
|
/**
|
|
30
34
|
* If `true`, today's date is rendering without highlighting with circle.
|
|
31
35
|
* @default false
|
|
32
36
|
*/
|
|
33
37
|
disableHighlightToday?: boolean;
|
|
34
|
-
autoFocus?: boolean;
|
|
35
38
|
onMonthFocus?: (month: number) => void;
|
|
36
39
|
hasFocus?: boolean;
|
|
37
40
|
onFocusedViewChange?: (newHasFocus: boolean) => void;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["className", "
|
|
3
|
+
const _excluded = ["className", "value", "disabled", "disableFuture", "disablePast", "maxDate", "minDate", "onChange", "shouldDisableMonth", "readOnly", "disableHighlightToday", "autoFocus", "onMonthFocus", "hasFocus", "onFocusedViewChange"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { useTheme } from '@mui/system';
|
|
8
8
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
9
|
-
import { unstable_composeClasses as composeClasses,
|
|
9
|
+
import { unstable_useControlled as useControlled, unstable_composeClasses as composeClasses, unstable_useEventCallback as useEventCallback } from '@mui/utils';
|
|
10
10
|
import { PickersMonth } from './PickersMonth';
|
|
11
11
|
import { useUtils, useNow, useDefaultDates } from '../internals/hooks/useUtils';
|
|
12
12
|
import { getMonthPickerUtilityClass } from './monthPickerClasses';
|
|
@@ -50,13 +50,14 @@ const MonthPickerRoot = styled('div', {
|
|
|
50
50
|
margin: '0 4px'
|
|
51
51
|
});
|
|
52
52
|
export const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(inProps, ref) {
|
|
53
|
-
const utils = useUtils();
|
|
54
53
|
const now = useNow();
|
|
54
|
+
const theme = useTheme();
|
|
55
|
+
const utils = useUtils();
|
|
55
56
|
const props = useMonthPickerDefaultizedProps(inProps, 'MuiMonthPicker');
|
|
56
57
|
|
|
57
58
|
const {
|
|
58
59
|
className,
|
|
59
|
-
|
|
60
|
+
value,
|
|
60
61
|
disabled,
|
|
61
62
|
disableFuture,
|
|
62
63
|
disablePast,
|
|
@@ -75,11 +76,11 @@ export const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(in
|
|
|
75
76
|
|
|
76
77
|
const ownerState = props;
|
|
77
78
|
const classes = useUtilityClasses(ownerState);
|
|
78
|
-
const
|
|
79
|
-
const selectedDateOrToday =
|
|
79
|
+
const todayMonth = React.useMemo(() => utils.getMonth(now), [utils, now]);
|
|
80
|
+
const selectedDateOrToday = value != null ? value : now;
|
|
80
81
|
const selectedMonth = React.useMemo(() => {
|
|
81
|
-
if (
|
|
82
|
-
return utils.getMonth(
|
|
82
|
+
if (value != null) {
|
|
83
|
+
return utils.getMonth(value);
|
|
83
84
|
}
|
|
84
85
|
|
|
85
86
|
if (disableHighlightToday) {
|
|
@@ -87,9 +88,22 @@ export const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(in
|
|
|
87
88
|
}
|
|
88
89
|
|
|
89
90
|
return utils.getMonth(now);
|
|
90
|
-
}, [now,
|
|
91
|
-
const [focusedMonth, setFocusedMonth] = React.useState(() => selectedMonth ||
|
|
92
|
-
const
|
|
91
|
+
}, [now, value, utils, disableHighlightToday]);
|
|
92
|
+
const [focusedMonth, setFocusedMonth] = React.useState(() => selectedMonth || todayMonth);
|
|
93
|
+
const [internalHasFocus, setInternalHasFocus] = useControlled({
|
|
94
|
+
name: 'MonthPicker',
|
|
95
|
+
state: 'hasFocus',
|
|
96
|
+
controlled: hasFocus,
|
|
97
|
+
default: autoFocus
|
|
98
|
+
});
|
|
99
|
+
const changeHasFocus = useEventCallback(newHasFocus => {
|
|
100
|
+
setInternalHasFocus(newHasFocus);
|
|
101
|
+
|
|
102
|
+
if (onFocusedViewChange) {
|
|
103
|
+
onFocusedViewChange(newHasFocus);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
const isMonthDisabled = useEventCallback(month => {
|
|
93
107
|
const firstEnabledMonth = utils.startOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate);
|
|
94
108
|
const lastEnabledMonth = utils.startOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate);
|
|
95
109
|
|
|
@@ -106,31 +120,16 @@ export const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(in
|
|
|
106
120
|
}
|
|
107
121
|
|
|
108
122
|
return shouldDisableMonth(month);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const onMonthSelect = month => {
|
|
123
|
+
});
|
|
124
|
+
const handleMonthSelection = useEventCallback((event, month) => {
|
|
112
125
|
if (readOnly) {
|
|
113
126
|
return;
|
|
114
127
|
}
|
|
115
128
|
|
|
116
129
|
const newDate = utils.setMonth(selectedDateOrToday, month);
|
|
117
|
-
onChange(newDate
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
const [internalHasFocus, setInternalHasFocus] = useControlled({
|
|
121
|
-
name: 'MonthPicker',
|
|
122
|
-
state: 'hasFocus',
|
|
123
|
-
controlled: hasFocus,
|
|
124
|
-
default: autoFocus
|
|
130
|
+
onChange(newDate);
|
|
125
131
|
});
|
|
126
|
-
const
|
|
127
|
-
setInternalHasFocus(newHasFocus);
|
|
128
|
-
|
|
129
|
-
if (onFocusedViewChange) {
|
|
130
|
-
onFocusedViewChange(newHasFocus);
|
|
131
|
-
}
|
|
132
|
-
}, [setInternalHasFocus, onFocusedViewChange]);
|
|
133
|
-
const focusMonth = React.useCallback(month => {
|
|
132
|
+
const focusMonth = useEventCallback(month => {
|
|
134
133
|
if (!isMonthDisabled(utils.setMonth(selectedDateOrToday, month))) {
|
|
135
134
|
setFocusedMonth(month);
|
|
136
135
|
changeHasFocus(true);
|
|
@@ -139,32 +138,32 @@ export const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(in
|
|
|
139
138
|
onMonthFocus(month);
|
|
140
139
|
}
|
|
141
140
|
}
|
|
142
|
-
}
|
|
141
|
+
});
|
|
143
142
|
React.useEffect(() => {
|
|
144
143
|
setFocusedMonth(prevFocusedMonth => selectedMonth !== null && prevFocusedMonth !== selectedMonth ? selectedMonth : prevFocusedMonth);
|
|
145
144
|
}, [selectedMonth]);
|
|
146
|
-
const handleKeyDown = useEventCallback(event => {
|
|
145
|
+
const handleKeyDown = useEventCallback((event, month) => {
|
|
147
146
|
const monthsInYear = 12;
|
|
148
147
|
const monthsInRow = 3;
|
|
149
148
|
|
|
150
149
|
switch (event.key) {
|
|
151
150
|
case 'ArrowUp':
|
|
152
|
-
focusMonth((monthsInYear +
|
|
151
|
+
focusMonth((monthsInYear + month - monthsInRow) % monthsInYear);
|
|
153
152
|
event.preventDefault();
|
|
154
153
|
break;
|
|
155
154
|
|
|
156
155
|
case 'ArrowDown':
|
|
157
|
-
focusMonth((monthsInYear +
|
|
156
|
+
focusMonth((monthsInYear + month + monthsInRow) % monthsInYear);
|
|
158
157
|
event.preventDefault();
|
|
159
158
|
break;
|
|
160
159
|
|
|
161
160
|
case 'ArrowLeft':
|
|
162
|
-
focusMonth((monthsInYear +
|
|
161
|
+
focusMonth((monthsInYear + month + (theme.direction === 'ltr' ? -1 : 1)) % monthsInYear);
|
|
163
162
|
event.preventDefault();
|
|
164
163
|
break;
|
|
165
164
|
|
|
166
165
|
case 'ArrowRight':
|
|
167
|
-
focusMonth((monthsInYear +
|
|
166
|
+
focusMonth((monthsInYear + month + (theme.direction === 'ltr' ? 1 : -1)) % monthsInYear);
|
|
168
167
|
event.preventDefault();
|
|
169
168
|
break;
|
|
170
169
|
|
|
@@ -172,33 +171,35 @@ export const MonthPicker = /*#__PURE__*/React.forwardRef(function MonthPicker(in
|
|
|
172
171
|
break;
|
|
173
172
|
}
|
|
174
173
|
});
|
|
175
|
-
const handleMonthFocus =
|
|
174
|
+
const handleMonthFocus = useEventCallback((event, month) => {
|
|
176
175
|
focusMonth(month);
|
|
177
|
-
}
|
|
178
|
-
const handleMonthBlur =
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
176
|
+
});
|
|
177
|
+
const handleMonthBlur = useEventCallback((event, month) => {
|
|
178
|
+
if (focusedMonth === month) {
|
|
179
|
+
changeHasFocus(false);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
182
|
return /*#__PURE__*/_jsx(MonthPickerRoot, _extends({
|
|
183
183
|
ref: ref,
|
|
184
184
|
className: clsx(classes.root, className),
|
|
185
|
-
ownerState: ownerState
|
|
186
|
-
onKeyDown: handleKeyDown
|
|
185
|
+
ownerState: ownerState
|
|
187
186
|
}, other, {
|
|
188
187
|
children: utils.getMonthArray(selectedDateOrToday).map(month => {
|
|
189
188
|
const monthNumber = utils.getMonth(month);
|
|
190
189
|
const monthText = utils.format(month, 'monthShort');
|
|
190
|
+
const isSelected = monthNumber === selectedMonth;
|
|
191
191
|
const isDisabled = disabled || isMonthDisabled(month);
|
|
192
192
|
return /*#__PURE__*/_jsx(PickersMonth, {
|
|
193
|
+
selected: isSelected,
|
|
193
194
|
value: monthNumber,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
onClick: handleMonthSelection,
|
|
196
|
+
onKeyDown: handleKeyDown,
|
|
197
|
+
autoFocus: internalHasFocus && monthNumber === focusedMonth,
|
|
198
|
+
disabled: isDisabled,
|
|
199
|
+
tabIndex: monthNumber === focusedMonth ? 0 : -1,
|
|
198
200
|
onFocus: handleMonthFocus,
|
|
199
201
|
onBlur: handleMonthBlur,
|
|
200
|
-
|
|
201
|
-
"aria-current": currentMonthNumber === monthNumber ? 'date' : undefined,
|
|
202
|
+
"aria-current": todayMonth === monthNumber ? 'date' : undefined,
|
|
202
203
|
children: monthText
|
|
203
204
|
}, monthText);
|
|
204
205
|
})
|
|
@@ -221,11 +222,6 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes = {
|
|
|
221
222
|
*/
|
|
222
223
|
className: PropTypes.string,
|
|
223
224
|
|
|
224
|
-
/**
|
|
225
|
-
* Date value for the MonthPicker
|
|
226
|
-
*/
|
|
227
|
-
date: PropTypes.any,
|
|
228
|
-
|
|
229
225
|
/**
|
|
230
226
|
* If `true` picker is disabled
|
|
231
227
|
*/
|
|
@@ -261,7 +257,9 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes = {
|
|
|
261
257
|
minDate: PropTypes.any,
|
|
262
258
|
|
|
263
259
|
/**
|
|
264
|
-
* Callback fired
|
|
260
|
+
* Callback fired when the value (the selected month) changes.
|
|
261
|
+
* @template TValue
|
|
262
|
+
* @param {TValue} value The new parsed value.
|
|
265
263
|
*/
|
|
266
264
|
onChange: PropTypes.func.isRequired,
|
|
267
265
|
onFocusedViewChange: PropTypes.func,
|
|
@@ -284,5 +282,10 @@ process.env.NODE_ENV !== "production" ? MonthPicker.propTypes = {
|
|
|
284
282
|
/**
|
|
285
283
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
286
284
|
*/
|
|
287
|
-
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
|
|
285
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Date value for the MonthPicker
|
|
289
|
+
*/
|
|
290
|
+
value: PropTypes.any
|
|
288
291
|
} : void 0;
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { PickersMonthClasses } from './pickersMonthClasses';
|
|
3
|
-
|
|
3
|
+
interface PickersMonthProps {
|
|
4
|
+
'aria-current'?: React.AriaAttributes['aria-current'];
|
|
5
|
+
autoFocus: boolean;
|
|
4
6
|
children: React.ReactNode;
|
|
7
|
+
classes?: Partial<PickersMonthClasses>;
|
|
5
8
|
disabled?: boolean;
|
|
6
|
-
|
|
9
|
+
onClick: (event: React.MouseEvent, month: number) => void;
|
|
10
|
+
onKeyDown: (event: React.KeyboardEvent, month: number) => void;
|
|
11
|
+
onFocus: (event: React.FocusEvent, month: number) => void;
|
|
12
|
+
onBlur: (event: React.FocusEvent, month: number) => void;
|
|
7
13
|
selected?: boolean;
|
|
8
14
|
value: number;
|
|
9
|
-
hasFocus: boolean;
|
|
10
|
-
onBlur: (event: React.FocusEvent, month: number) => void;
|
|
11
|
-
onFocus: (event: React.FocusEvent, month: number) => void;
|
|
12
15
|
tabIndex: number;
|
|
13
|
-
classes?: Partial<PickersMonthClasses>;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* @ignore - do not document.
|
|
17
19
|
*/
|
|
18
|
-
export declare const PickersMonth: React.
|
|
20
|
+
export declare const PickersMonth: React.MemoExoticComponent<(props: PickersMonthProps) => JSX.Element>;
|
|
21
|
+
export {};
|
|
@@ -1,39 +1,53 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["
|
|
3
|
+
const _excluded = ["autoFocus", "children", "disabled", "selected", "value", "tabIndex", "onClick", "onKeyDown", "onFocus", "onBlur", "aria-current"];
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import Typography from '@mui/material/Typography';
|
|
6
5
|
import { styled, alpha } from '@mui/material/styles';
|
|
7
6
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
8
|
-
import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';
|
|
9
|
-
import {
|
|
7
|
+
import { capitalize, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/material/utils';
|
|
8
|
+
import { WrapperVariantContext } from '../internals/components/wrappers/WrapperVariantContext';
|
|
10
9
|
import { getPickersMonthUtilityClass, pickersMonthClasses } from './pickersMonthClasses';
|
|
11
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
11
|
|
|
13
12
|
const useUtilityClasses = ownerState => {
|
|
14
13
|
const {
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
wrapperVariant,
|
|
15
|
+
disabled,
|
|
16
|
+
selected,
|
|
17
|
+
classes
|
|
17
18
|
} = ownerState;
|
|
18
19
|
const slots = {
|
|
19
|
-
root: ['root',
|
|
20
|
+
root: ['root', wrapperVariant && `mode${capitalize(wrapperVariant)}`],
|
|
21
|
+
monthButton: ['monthButton', disabled && 'disabled', selected && 'selected']
|
|
20
22
|
};
|
|
21
23
|
return composeClasses(slots, getPickersMonthUtilityClass, classes);
|
|
22
24
|
};
|
|
23
25
|
|
|
24
|
-
const PickersMonthRoot = styled(
|
|
26
|
+
const PickersMonthRoot = styled('div', {
|
|
25
27
|
name: 'PrivatePickersMonth',
|
|
26
28
|
slot: 'Root',
|
|
27
29
|
overridesResolver: (_, styles) => [styles.root, {
|
|
30
|
+
[`&.${pickersMonthClasses.modeDesktop}`]: styles.modeDesktop
|
|
31
|
+
}, {
|
|
32
|
+
[`&.${pickersMonthClasses.modeMobile}`]: styles.modeMobile
|
|
33
|
+
}]
|
|
34
|
+
})({
|
|
35
|
+
flexBasis: '33.3%',
|
|
36
|
+
display: 'flex',
|
|
37
|
+
alignItems: 'center',
|
|
38
|
+
justifyContent: 'center'
|
|
39
|
+
});
|
|
40
|
+
const PickersMonthButton = styled('button', {
|
|
41
|
+
name: 'PrivatePickersMonth',
|
|
42
|
+
slot: 'MonthButton',
|
|
43
|
+
overridesResolver: (_, styles) => [styles.monthButton, {
|
|
44
|
+
[`&.${pickersMonthClasses.disabled}`]: styles.disabled
|
|
45
|
+
}, {
|
|
28
46
|
[`&.${pickersMonthClasses.selected}`]: styles.selected
|
|
29
47
|
}]
|
|
30
48
|
})(({
|
|
31
49
|
theme
|
|
32
50
|
}) => _extends({
|
|
33
|
-
flex: '1 0 33.33%',
|
|
34
|
-
display: 'flex',
|
|
35
|
-
alignItems: 'center',
|
|
36
|
-
justifyContent: 'center',
|
|
37
51
|
color: 'unset',
|
|
38
52
|
backgroundColor: 'transparent',
|
|
39
53
|
border: 0,
|
|
@@ -41,13 +55,20 @@ const PickersMonthRoot = styled(Typography, {
|
|
|
41
55
|
}, theme.typography.subtitle1, {
|
|
42
56
|
margin: '8px 0',
|
|
43
57
|
height: 36,
|
|
58
|
+
width: 72,
|
|
44
59
|
borderRadius: 18,
|
|
45
60
|
cursor: 'pointer',
|
|
46
|
-
'&:focus
|
|
61
|
+
'&:focus': {
|
|
62
|
+
backgroundColor: alpha(theme.palette.action.active, theme.palette.action.focusOpacity)
|
|
63
|
+
},
|
|
64
|
+
'&:hover': {
|
|
47
65
|
backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)
|
|
48
66
|
},
|
|
49
67
|
'&:disabled': {
|
|
50
|
-
|
|
68
|
+
cursor: 'auto',
|
|
69
|
+
pointerEvents: 'none'
|
|
70
|
+
},
|
|
71
|
+
[`&.${pickersMonthClasses.disabled}`]: {
|
|
51
72
|
color: theme.palette.text.secondary
|
|
52
73
|
},
|
|
53
74
|
[`&.${pickersMonthClasses.selected}`]: {
|
|
@@ -58,53 +79,64 @@ const PickersMonthRoot = styled(Typography, {
|
|
|
58
79
|
}
|
|
59
80
|
}
|
|
60
81
|
}));
|
|
61
|
-
|
|
62
|
-
const noop = () => {};
|
|
63
82
|
/**
|
|
64
83
|
* @ignore - do not document.
|
|
65
84
|
*/
|
|
66
85
|
|
|
67
|
-
|
|
68
|
-
export const PickersMonth = props => {
|
|
86
|
+
const PickersMonthRaw = props => {
|
|
69
87
|
// TODO v6 add 'useThemeProps' once the component class names are aligned
|
|
70
88
|
const {
|
|
89
|
+
autoFocus,
|
|
90
|
+
children,
|
|
71
91
|
disabled,
|
|
72
|
-
onSelect,
|
|
73
|
-
selected,
|
|
74
92
|
value,
|
|
75
93
|
tabIndex,
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
94
|
+
onClick,
|
|
95
|
+
onKeyDown,
|
|
96
|
+
onFocus,
|
|
97
|
+
onBlur,
|
|
98
|
+
'aria-current': ariaCurrent
|
|
79
99
|
} = props,
|
|
80
100
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
81
101
|
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
const handleSelection = () => {
|
|
85
|
-
onSelect(value);
|
|
86
|
-
};
|
|
87
|
-
|
|
102
|
+
const wrapperVariant = React.useContext(WrapperVariantContext);
|
|
88
103
|
const ref = React.useRef(null);
|
|
89
104
|
useEnhancedEffect(() => {
|
|
90
|
-
if (
|
|
105
|
+
if (autoFocus) {
|
|
91
106
|
var _ref$current;
|
|
92
107
|
|
|
93
108
|
(_ref$current = ref.current) == null ? void 0 : _ref$current.focus();
|
|
94
109
|
}
|
|
95
|
-
}, [
|
|
110
|
+
}, [autoFocus]);
|
|
111
|
+
|
|
112
|
+
const ownerState = _extends({}, props, {
|
|
113
|
+
wrapperVariant
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
const classes = useUtilityClasses(ownerState);
|
|
96
117
|
return /*#__PURE__*/_jsx(PickersMonthRoot, _extends({
|
|
97
|
-
ref: ref,
|
|
98
|
-
component: "button",
|
|
99
|
-
type: "button",
|
|
100
118
|
className: classes.root,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
119
|
+
ownerState: ownerState
|
|
120
|
+
}, other, {
|
|
121
|
+
children: /*#__PURE__*/_jsx(PickersMonthButton, {
|
|
122
|
+
ref: ref,
|
|
123
|
+
disabled: disabled,
|
|
124
|
+
type: "button",
|
|
125
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
126
|
+
"aria-current": ariaCurrent,
|
|
127
|
+
onClick: event => onClick(event, value),
|
|
128
|
+
onKeyDown: event => onKeyDown(event, value),
|
|
129
|
+
onFocus: event => onFocus(event, value),
|
|
130
|
+
onBlur: event => onBlur(event, value),
|
|
131
|
+
className: classes.monthButton,
|
|
132
|
+
ownerState: ownerState,
|
|
133
|
+
children: children
|
|
134
|
+
})
|
|
135
|
+
}));
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* @ignore - do not document.
|
|
139
|
+
*/
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
export const PickersMonth = /*#__PURE__*/React.memo(PickersMonthRaw);
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
export interface PickersMonthClasses {
|
|
2
2
|
/** Styles applied to the root element. */
|
|
3
3
|
root: string;
|
|
4
|
-
/** Styles applied to
|
|
4
|
+
/** Styles applied to the root element in mobile mode. */
|
|
5
|
+
modeMobile: string;
|
|
6
|
+
/** Styles applied to the root element in desktop mode. */
|
|
7
|
+
modeDesktop: string;
|
|
8
|
+
/** Styles applied to the month button element. */
|
|
9
|
+
monthButton: string;
|
|
10
|
+
/** Styles applied to a disabled month button element. */
|
|
11
|
+
disabled: string;
|
|
12
|
+
/** Styles applied to a selected month button element. */
|
|
5
13
|
selected: string;
|
|
6
14
|
}
|
|
7
15
|
export declare type PickersMonthClassKey = keyof PickersMonthClasses;
|
|
@@ -4,4 +4,4 @@ export function getPickersMonthUtilityClass(slot) {
|
|
|
4
4
|
return generateUtilityClass('PrivatePickersMonth', slot);
|
|
5
5
|
}
|
|
6
6
|
export const pickersMonthClasses = generateUtilityClasses( // TODO v6 Rename 'PrivatePickersMonth' to 'MuiPickersMonth' to follow convention
|
|
7
|
-
'PrivatePickersMonth', ['root', 'selected']);
|
|
7
|
+
'PrivatePickersMonth', ['root', 'modeMobile', 'modeDesktop', 'monthButton', 'disabled', 'selected']);
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { SxProps } from '@mui/system';
|
|
3
2
|
import { ButtonBaseProps } from '@mui/material/ButtonBase';
|
|
4
|
-
import { Theme } from '@mui/material/styles';
|
|
5
3
|
import { ExtendMui } from '../internals/models/helpers';
|
|
6
4
|
import { PickerSelectionState } from '../internals/hooks/usePickerState';
|
|
7
5
|
import { PickersDayClasses } from './pickersDayClasses';
|
|
@@ -53,10 +51,6 @@ export interface PickersDayProps<TDate> extends Omit<ExtendMui<ButtonBaseProps>,
|
|
|
53
51
|
* @default false
|
|
54
52
|
*/
|
|
55
53
|
today?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
58
|
-
*/
|
|
59
|
-
sx?: SxProps<Theme>;
|
|
60
54
|
}
|
|
61
55
|
declare type PickersDayComponent = (<TDate>(props: PickersDayProps<TDate> & React.RefAttributes<HTMLButtonElement>) => JSX.Element) & {
|
|
62
56
|
propTypes?: any;
|
package/PickersDay/PickersDay.js
CHANGED
|
@@ -266,11 +266,6 @@ process.env.NODE_ENV !== "production" ? PickersDayRaw.propTypes = {
|
|
|
266
266
|
*/
|
|
267
267
|
showDaysOutsideCurrentMonth: PropTypes.bool,
|
|
268
268
|
|
|
269
|
-
/**
|
|
270
|
-
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
271
|
-
*/
|
|
272
|
-
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
273
|
-
|
|
274
269
|
/**
|
|
275
270
|
* If `true`, renders as today date.
|
|
276
271
|
* @default false
|
|
@@ -8,7 +8,7 @@ export interface StaticDatePickerSlotsComponent extends PickersStaticWrapperSlot
|
|
|
8
8
|
}
|
|
9
9
|
export interface StaticDatePickerSlotsComponentsProps extends PickersStaticWrapperSlotsComponentsProps, CalendarPickerSlotsComponentsProps {
|
|
10
10
|
}
|
|
11
|
-
export interface StaticDatePickerProps<TInputDate, TDate> extends StaticPickerProps<BaseDatePickerProps<TInputDate, TDate>> {
|
|
11
|
+
export interface StaticDatePickerProps<TInputDate, TDate> extends StaticPickerProps<TDate, BaseDatePickerProps<TInputDate, TDate>> {
|
|
12
12
|
/**
|
|
13
13
|
* Overrideable components.
|
|
14
14
|
* @default {}
|