@mui/x-date-pickers 7.0.0-alpha.4 → 7.0.0-alpha.6
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 +342 -0
- package/DateCalendar/DateCalendar.types.d.ts +6 -6
- package/DateCalendar/DayCalendar.d.ts +4 -4
- package/DateCalendar/index.d.ts +1 -1
- package/DateField/DateField.js +17 -50
- package/DateField/DateField.types.d.ts +5 -9
- package/DateField/useDateField.d.ts +2 -2
- package/DateField/useDateField.js +1 -5
- package/DatePicker/DatePicker.js +5 -1
- package/DatePicker/DatePicker.types.d.ts +6 -6
- package/DatePicker/index.d.ts +1 -1
- package/DatePicker/shared.d.ts +6 -6
- package/DateTimeField/DateTimeField.js +17 -50
- package/DateTimeField/DateTimeField.types.d.ts +5 -9
- package/DateTimeField/useDateTimeField.d.ts +2 -2
- package/DateTimeField/useDateTimeField.js +1 -5
- package/DateTimePicker/DateTimePicker.js +5 -1
- package/DateTimePicker/DateTimePicker.types.d.ts +6 -6
- package/DateTimePicker/index.d.ts +1 -1
- package/DateTimePicker/shared.d.ts +6 -6
- package/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +6 -6
- package/DesktopDatePicker/index.d.ts +1 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
- package/DesktopDateTimePicker/index.d.ts +1 -1
- package/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
- package/DesktopTimePicker/index.d.ts +1 -1
- package/DigitalClock/DigitalClock.types.d.ts +4 -4
- package/DigitalClock/index.d.ts +1 -1
- package/MobileDatePicker/MobileDatePicker.js +7 -2
- package/MobileDatePicker/MobileDatePicker.types.d.ts +6 -6
- package/MobileDatePicker/index.d.ts +1 -1
- package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +6 -6
- package/MobileDateTimePicker/index.d.ts +1 -1
- package/MobileTimePicker/MobileTimePicker.js +5 -1
- package/MobileTimePicker/MobileTimePicker.types.d.ts +6 -6
- package/MobileTimePicker/index.d.ts +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -4
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +3 -3
- package/MultiSectionDigitalClock/index.d.ts +1 -1
- package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +8 -8
- package/PickersCalendarHeader/index.d.ts +1 -1
- package/PickersLayout/PickersLayout.types.d.ts +6 -6
- package/PickersLayout/index.d.ts +1 -1
- package/PickersSectionList/PickersSectionList.d.ts +11 -0
- package/PickersSectionList/PickersSectionList.js +223 -0
- package/PickersSectionList/PickersSectionList.types.d.ts +56 -0
- package/PickersSectionList/index.d.ts +4 -0
- package/PickersSectionList/index.js +2 -0
- package/PickersSectionList/package.json +6 -0
- package/PickersSectionList/pickersSectionListClasses.d.ts +11 -0
- package/PickersSectionList/pickersSectionListClasses.js +6 -0
- package/StaticDatePicker/StaticDatePicker.js +1 -1
- package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
- package/StaticDatePicker/index.d.ts +1 -1
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
- package/StaticDateTimePicker/index.d.ts +1 -1
- package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
- package/StaticTimePicker/index.d.ts +1 -1
- package/TimeClock/TimeClock.types.d.ts +5 -5
- package/TimeClock/index.d.ts +1 -1
- package/TimeField/TimeField.js +17 -50
- package/TimeField/TimeField.types.d.ts +5 -9
- package/TimeField/useTimeField.d.ts +2 -2
- package/TimeField/useTimeField.js +1 -5
- package/TimePicker/TimePicker.js +5 -1
- package/TimePicker/TimePicker.types.d.ts +6 -6
- package/TimePicker/index.d.ts +1 -1
- package/TimePicker/shared.d.ts +5 -5
- package/hooks/index.d.ts +1 -0
- package/hooks/useClearableField.d.ts +32 -20
- package/hooks/useClearableField.js +32 -33
- package/index.d.ts +1 -0
- package/index.js +4 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +9 -9
- package/internals/components/PickersArrowSwitcher/index.d.ts +3 -1
- package/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/internals/components/{PickersTextField → PickersInput}/Outline.d.ts +1 -0
- package/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
- package/internals/components/PickersInput/PickersFilledInput.d.ts +3 -0
- package/internals/components/PickersInput/PickersFilledInput.js +166 -0
- package/internals/components/PickersInput/PickersInput.d.ts +15 -0
- package/internals/components/{PickersTextField → PickersInput}/PickersInput.js +78 -106
- package/internals/components/PickersInput/PickersInput.types.d.ts +60 -0
- package/internals/components/PickersInput/PickersOutlinedInput.d.ts +3 -0
- package/internals/components/PickersInput/PickersOutlinedInput.js +117 -0
- package/internals/components/PickersInput/PickersStandardInput.d.ts +3 -0
- package/internals/components/PickersInput/PickersStandardInput.js +123 -0
- package/internals/components/PickersInput/index.d.ts +4 -0
- package/internals/components/PickersInput/index.js +3 -0
- package/internals/components/PickersInput/pickersInputClasses.d.ts +84 -0
- package/internals/components/PickersInput/pickersInputClasses.js +18 -0
- package/internals/components/PickersModalDialog.d.ts +4 -4
- package/internals/components/PickersPopper.d.ts +4 -4
- package/internals/components/PickersTextField/PickersTextField.d.ts +1 -2
- package/internals/components/PickersTextField/PickersTextField.js +15 -6
- package/internals/components/PickersTextField/PickersTextField.types.d.ts +46 -3
- package/internals/components/PickersTextField/pickersTextFieldClasses.d.ts +0 -31
- package/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
- package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +8 -8
- package/internals/hooks/useField/index.d.ts +1 -1
- package/internals/hooks/useField/useField.js +11 -4
- package/internals/hooks/useField/useField.types.d.ts +4 -24
- package/internals/hooks/useField/useField.utils.js +24 -4
- package/internals/hooks/useField/useFieldState.js +7 -3
- package/internals/hooks/useMobilePicker/index.d.ts +1 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
- package/internals/hooks/useStaticPicker/index.d.ts +1 -1
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +5 -5
- package/internals/index.d.ts +7 -6
- package/internals/index.js +1 -0
- package/internals/models/props/basePickerProps.d.ts +4 -0
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +3 -0
- package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
- package/legacy/DateField/DateField.js +19 -47
- package/legacy/DateField/useDateField.js +1 -4
- package/legacy/DatePicker/DatePicker.js +5 -1
- package/legacy/DateTimeField/DateTimeField.js +19 -47
- package/legacy/DateTimeField/useDateTimeField.js +1 -4
- package/legacy/DateTimePicker/DateTimePicker.js +5 -1
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/legacy/MobileDatePicker/MobileDatePicker.js +7 -2
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
- package/legacy/PickersSectionList/PickersSectionList.js +230 -0
- package/legacy/PickersSectionList/index.js +2 -0
- package/legacy/PickersSectionList/pickersSectionListClasses.js +6 -0
- package/legacy/StaticDatePicker/StaticDatePicker.js +1 -1
- package/legacy/TimeField/TimeField.js +19 -47
- package/legacy/TimeField/useTimeField.js +1 -4
- package/legacy/TimePicker/TimePicker.js +5 -1
- package/legacy/hooks/useClearableField.js +30 -32
- package/legacy/index.js +4 -1
- package/legacy/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/legacy/internals/components/{PickersTextField → PickersInput}/Outline.js +40 -22
- package/legacy/internals/components/PickersInput/PickersFilledInput.js +161 -0
- package/legacy/internals/components/{PickersTextField → PickersInput}/PickersInput.js +75 -90
- package/legacy/internals/components/PickersInput/PickersInput.types.js +1 -0
- package/legacy/internals/components/PickersInput/PickersOutlinedInput.js +110 -0
- package/legacy/internals/components/PickersInput/PickersStandardInput.js +117 -0
- package/legacy/internals/components/PickersInput/index.js +3 -0
- package/legacy/internals/components/PickersInput/pickersInputClasses.js +18 -0
- package/legacy/internals/components/PickersTextField/PickersTextField.js +16 -7
- package/legacy/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
- package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/legacy/internals/hooks/useField/useField.js +12 -5
- package/legacy/internals/hooks/useField/useField.utils.js +26 -4
- package/legacy/internals/hooks/useField/useFieldState.js +7 -3
- package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/legacy/internals/index.js +1 -0
- package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +24 -0
- package/legacy/locales/ruRU.js +1 -2
- package/locales/ruRU.js +1 -2
- package/models/fields.d.ts +2 -1
- package/modern/DateField/DateField.js +17 -50
- package/modern/DateField/useDateField.js +1 -5
- package/modern/DatePicker/DatePicker.js +5 -1
- package/modern/DateTimeField/DateTimeField.js +17 -50
- package/modern/DateTimeField/useDateTimeField.js +1 -5
- package/modern/DateTimePicker/DateTimePicker.js +5 -1
- package/modern/DesktopDatePicker/DesktopDatePicker.js +7 -2
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/modern/MobileDatePicker/MobileDatePicker.js +7 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
- package/modern/PickersSectionList/PickersSectionList.js +221 -0
- package/modern/PickersSectionList/PickersSectionList.types.js +1 -0
- package/modern/PickersSectionList/index.js +2 -0
- package/modern/PickersSectionList/pickersSectionListClasses.js +6 -0
- package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
- package/modern/TimeField/TimeField.js +17 -50
- package/modern/TimeField/useTimeField.js +1 -5
- package/modern/TimePicker/TimePicker.js +5 -1
- package/modern/hooks/useClearableField.js +32 -33
- package/modern/index.js +4 -1
- package/modern/internals/components/PickersArrowSwitcher/index.js +2 -1
- package/modern/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
- package/modern/internals/components/PickersInput/PickersFilledInput.js +165 -0
- package/modern/internals/components/{PickersTextField → PickersInput}/PickersInput.js +78 -106
- package/modern/internals/components/PickersInput/PickersInput.types.js +1 -0
- package/modern/internals/components/PickersInput/PickersOutlinedInput.js +117 -0
- package/modern/internals/components/PickersInput/PickersStandardInput.js +123 -0
- package/modern/internals/components/PickersInput/index.js +3 -0
- package/modern/internals/components/PickersInput/pickersInputClasses.js +18 -0
- package/modern/internals/components/PickersTextField/PickersTextField.js +15 -6
- package/modern/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/modern/internals/hooks/useField/useField.js +11 -4
- package/modern/internals/hooks/useField/useField.utils.js +24 -4
- package/modern/internals/hooks/useField/useFieldState.js +7 -3
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/modern/internals/index.js +1 -0
- package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
- package/modern/locales/ruRU.js +1 -2
- package/node/DateField/DateField.js +18 -51
- package/node/DateField/useDateField.js +1 -5
- package/node/DatePicker/DatePicker.js +5 -1
- package/node/DateTimeField/DateTimeField.js +18 -51
- package/node/DateTimeField/useDateTimeField.js +1 -5
- package/node/DateTimePicker/DateTimePicker.js +5 -1
- package/node/DesktopDatePicker/DesktopDatePicker.js +10 -5
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
- package/node/DesktopTimePicker/DesktopTimePicker.js +5 -1
- package/node/MobileDatePicker/MobileDatePicker.js +10 -5
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
- package/node/MobileTimePicker/MobileTimePicker.js +5 -1
- package/node/PickersSectionList/PickersSectionList.js +228 -0
- package/node/PickersSectionList/index.js +49 -0
- package/node/PickersSectionList/pickersSectionListClasses.js +14 -0
- package/node/StaticDatePicker/StaticDatePicker.js +2 -2
- package/node/TimeField/TimeField.js +18 -51
- package/node/TimeField/useTimeField.js +1 -5
- package/node/TimePicker/TimePicker.js +5 -1
- package/node/hooks/useClearableField.js +33 -34
- package/node/index.js +13 -1
- package/node/internals/components/PickersArrowSwitcher/index.js +14 -1
- package/node/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
- package/node/internals/components/PickersInput/PickersFilledInput.js +174 -0
- package/node/internals/components/{PickersTextField → PickersInput}/PickersInput.js +80 -108
- package/node/internals/components/PickersInput/PickersInput.types.js +5 -0
- package/node/internals/components/PickersInput/PickersOutlinedInput.js +125 -0
- package/node/internals/components/PickersInput/PickersStandardInput.js +132 -0
- package/node/internals/components/PickersInput/index.js +32 -0
- package/node/internals/components/PickersInput/pickersInputClasses.js +29 -0
- package/node/internals/components/PickersTextField/PickersTextField.js +15 -6
- package/node/internals/components/PickersTextField/pickersTextFieldClasses.js +6 -9
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
- package/node/internals/hooks/useField/useField.js +11 -4
- package/node/internals/hooks/useField/useField.utils.js +24 -4
- package/node/internals/hooks/useField/useFieldState.js +7 -3
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
- package/node/internals/index.js +7 -0
- package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +34 -0
- package/node/locales/ruRU.js +1 -2
- package/package.json +5 -5
- package/themeAugmentation/overrides.d.ts +5 -7
- package/themeAugmentation/props.d.ts +6 -8
- package/internals/components/PickersTextField/PickersInput.d.ts +0 -3
- package/internals/components/PickersTextField/PickersInput.types.d.ts +0 -45
- /package/{internals/components/PickersTextField/PickersInput.types.js → PickersSectionList/PickersSectionList.types.js} +0 -0
- /package/{legacy/internals/components/PickersTextField → internals/components/PickersInput}/PickersInput.types.js +0 -0
- /package/{modern/internals/components/PickersTextField/PickersInput.types.js → legacy/PickersSectionList/PickersSectionList.types.js} +0 -0
- /package/node/{internals/components/PickersTextField/PickersInput.types.js → PickersSectionList/PickersSectionList.types.js} +0 -0
package/DatePicker/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { DatePicker } from './DatePicker';
|
|
2
|
-
export type { DatePickerProps,
|
|
2
|
+
export type { DatePickerProps, DatePickerSlots, DatePickerSlotProps } from './DatePicker.types';
|
|
3
3
|
export { DatePickerToolbar } from './DatePickerToolbar';
|
|
4
4
|
export type { DatePickerToolbarProps } from './DatePickerToolbar';
|
|
5
5
|
export { datePickerToolbarClasses } from './datePickerToolbarClasses';
|
package/DatePicker/shared.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DefaultizedProps } from '../internals/models/helpers';
|
|
3
|
-
import {
|
|
3
|
+
import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
|
|
4
4
|
import { DateValidationError, DateView } from '../models';
|
|
5
5
|
import { BasePickerInputProps } from '../internals/models/props/basePickerProps';
|
|
6
|
-
import { BaseDateValidationProps } from '../internals';
|
|
6
|
+
import { BaseDateValidationProps } from '../internals/models/validation';
|
|
7
7
|
import { LocalizedComponent } from '../locales/utils/pickersLocaleTextApi';
|
|
8
8
|
import { DatePickerToolbarProps, ExportedDatePickerToolbarProps } from './DatePickerToolbar';
|
|
9
9
|
import { PickerViewRendererLookup } from '../internals/hooks/usePicker/usePickerViews';
|
|
10
10
|
import { DateViewRendererProps } from '../dateViewRenderers';
|
|
11
|
-
export interface
|
|
11
|
+
export interface BaseDatePickerSlots<TDate> extends DateCalendarSlots<TDate> {
|
|
12
12
|
/**
|
|
13
13
|
* Custom component for the toolbar rendered above the views.
|
|
14
14
|
* @default DatePickerToolbar
|
|
15
15
|
*/
|
|
16
16
|
toolbar?: React.JSXElementConstructor<DatePickerToolbarProps<TDate>>;
|
|
17
17
|
}
|
|
18
|
-
export interface
|
|
18
|
+
export interface BaseDatePickerSlotProps<TDate> extends DateCalendarSlotProps<TDate> {
|
|
19
19
|
toolbar?: ExportedDatePickerToolbarProps;
|
|
20
20
|
}
|
|
21
21
|
export interface BaseDatePickerProps<TDate> extends BasePickerInputProps<TDate | null, TDate, DateView, DateValidationError>, ExportedDateCalendarProps<TDate> {
|
|
@@ -23,12 +23,12 @@ export interface BaseDatePickerProps<TDate> extends BasePickerInputProps<TDate |
|
|
|
23
23
|
* Overridable component slots.
|
|
24
24
|
* @default {}
|
|
25
25
|
*/
|
|
26
|
-
slots?:
|
|
26
|
+
slots?: BaseDatePickerSlots<TDate>;
|
|
27
27
|
/**
|
|
28
28
|
* The props used for each component slot.
|
|
29
29
|
* @default {}
|
|
30
30
|
*/
|
|
31
|
-
slotProps?:
|
|
31
|
+
slotProps?: BaseDatePickerSlotProps<TDate>;
|
|
32
32
|
/**
|
|
33
33
|
* Define custom view renderers for each section.
|
|
34
34
|
* If `null`, the section will only have field editing.
|
|
@@ -1,8 +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 = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
4
|
-
_excluded2 = ["inputRef"],
|
|
5
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import MuiTextField from '@mui/material/TextField';
|
|
@@ -11,6 +9,7 @@ import { useSlotProps } from '@mui/base/utils';
|
|
|
11
9
|
import { refType } from '@mui/utils';
|
|
12
10
|
import { useDateTimeField } from './useDateTimeField';
|
|
13
11
|
import { useClearableField } from '../hooks';
|
|
12
|
+
import { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';
|
|
14
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
14
|
/**
|
|
16
15
|
* Demos:
|
|
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
22
21
|
*
|
|
23
22
|
* - [DateTimeField API](https://mui.com/x/api/date-pickers/date-time-field/)
|
|
24
23
|
*/
|
|
25
|
-
const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps,
|
|
24
|
+
const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inProps, inRef) {
|
|
26
25
|
var _slots$textField;
|
|
27
26
|
const themeProps = useThemeProps({
|
|
28
27
|
props: inProps,
|
|
@@ -37,58 +36,26 @@ const DateTimeField = /*#__PURE__*/React.forwardRef(function DateTimeField(inPro
|
|
|
37
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
38
37
|
const ownerState = themeProps;
|
|
39
38
|
const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
39
|
+
const textFieldProps = useSlotProps({
|
|
40
|
+
elementType: TextField,
|
|
41
|
+
externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
|
|
42
|
+
externalForwardedProps: other,
|
|
43
|
+
ownerState,
|
|
44
|
+
additionalProps: {
|
|
45
|
+
ref: inRef
|
|
46
|
+
}
|
|
47
|
+
});
|
|
50
48
|
|
|
51
49
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
52
50
|
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
53
51
|
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}),
|
|
58
|
-
{
|
|
59
|
-
ref: inputRef,
|
|
60
|
-
onPaste,
|
|
61
|
-
onKeyDown,
|
|
62
|
-
inputMode,
|
|
63
|
-
readOnly,
|
|
64
|
-
clearable,
|
|
65
|
-
onClear
|
|
66
|
-
} = _useDateTimeField,
|
|
67
|
-
fieldProps = _objectWithoutPropertiesLoose(_useDateTimeField, _excluded3);
|
|
68
|
-
const {
|
|
69
|
-
InputProps: ProcessedInputProps,
|
|
70
|
-
fieldProps: processedFieldProps
|
|
71
|
-
} = useClearableField({
|
|
72
|
-
onClear,
|
|
73
|
-
clearable,
|
|
74
|
-
fieldProps,
|
|
75
|
-
InputProps: fieldProps.InputProps,
|
|
52
|
+
const fieldResponse = useDateTimeField(textFieldProps);
|
|
53
|
+
const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
|
|
54
|
+
const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
|
|
76
55
|
slots,
|
|
77
56
|
slotProps
|
|
78
|
-
});
|
|
79
|
-
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
80
|
-
ref: ref
|
|
81
|
-
}, processedFieldProps, {
|
|
82
|
-
InputProps: _extends({}, ProcessedInputProps, {
|
|
83
|
-
readOnly
|
|
84
|
-
}),
|
|
85
|
-
inputProps: _extends({}, fieldProps.inputProps, {
|
|
86
|
-
inputMode,
|
|
87
|
-
onPaste,
|
|
88
|
-
onKeyDown,
|
|
89
|
-
ref: inputRef
|
|
90
|
-
})
|
|
91
57
|
}));
|
|
58
|
+
return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
|
|
92
59
|
});
|
|
93
60
|
process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
94
61
|
// ----------------------------- Warning --------------------------------
|
|
@@ -299,7 +266,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
|
|
|
299
266
|
* 4. If `null` is provided, no section will be selected
|
|
300
267
|
* If not provided, the selected sections will be handled internally.
|
|
301
268
|
*/
|
|
302
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
269
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
303
270
|
endIndex: PropTypes.number.isRequired,
|
|
304
271
|
startIndex: PropTypes.number.isRequired
|
|
305
272
|
})]),
|
|
@@ -6,11 +6,7 @@ import { UseFieldInternalProps } from '../internals/hooks/useField';
|
|
|
6
6
|
import { DefaultizedProps, MakeOptional } from '../internals/models/helpers';
|
|
7
7
|
import { BaseDateValidationProps, BaseTimeValidationProps, DateTimeValidationProps, DayValidationProps, MonthValidationProps, TimeValidationProps, YearValidationProps } from '../internals/models/validation';
|
|
8
8
|
import { FieldsTextFieldProps } from '../internals/models/fields';
|
|
9
|
-
import {
|
|
10
|
-
export interface UseDateTimeFieldParams<TDate, TChildProps extends {}> {
|
|
11
|
-
props: UseDateTimeFieldComponentProps<TDate, TChildProps>;
|
|
12
|
-
inputRef?: React.Ref<HTMLInputElement>;
|
|
13
|
-
}
|
|
9
|
+
import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '../hooks/useClearableField';
|
|
14
10
|
export interface UseDateTimeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<TDate | null, TDate, FieldSection, DateTimeValidationError>, 'format'>, DayValidationProps<TDate>, MonthValidationProps<TDate>, YearValidationProps<TDate>, BaseDateValidationProps<TDate>, TimeValidationProps<TDate>, BaseTimeValidationProps, DateTimeValidationProps<TDate> {
|
|
15
11
|
/**
|
|
16
12
|
* 12h/24h view for hour selection clock.
|
|
@@ -25,15 +21,15 @@ export interface DateTimeFieldProps<TDate> extends UseDateTimeFieldComponentProp
|
|
|
25
21
|
* Overridable component slots.
|
|
26
22
|
* @default {}
|
|
27
23
|
*/
|
|
28
|
-
slots?:
|
|
24
|
+
slots?: DateTimeFieldSlots;
|
|
29
25
|
/**
|
|
30
26
|
* The props used for each component slot.
|
|
31
27
|
* @default {}
|
|
32
28
|
*/
|
|
33
|
-
slotProps?:
|
|
29
|
+
slotProps?: DateTimeFieldSlotProps<TDate>;
|
|
34
30
|
}
|
|
35
31
|
export type DateTimeFieldOwnerState<TDate> = DateTimeFieldProps<TDate>;
|
|
36
|
-
export interface
|
|
32
|
+
export interface DateTimeFieldSlots extends UseClearableFieldSlots {
|
|
37
33
|
/**
|
|
38
34
|
* Form control with an input to render the value.
|
|
39
35
|
* Receives the same props as `@mui/material/TextField`.
|
|
@@ -41,6 +37,6 @@ export interface DateTimeFieldSlotsComponent extends FieldSlotsComponents {
|
|
|
41
37
|
*/
|
|
42
38
|
textField?: React.ElementType;
|
|
43
39
|
}
|
|
44
|
-
export interface
|
|
40
|
+
export interface DateTimeFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
|
|
45
41
|
textField?: SlotComponentProps<typeof TextField, {}, DateTimeFieldOwnerState<TDate>>;
|
|
46
42
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { UseDateTimeFieldProps,
|
|
2
|
-
export declare const useDateTimeField: <TDate, TChildProps extends {}>(
|
|
1
|
+
import { UseDateTimeFieldProps, UseDateTimeFieldComponentProps } from './DateTimeField.types';
|
|
2
|
+
export declare const useDateTimeField: <TDate, TChildProps extends {}>(inProps: UseDateTimeFieldComponentProps<TDate, TChildProps>) => import("../internals/hooks/useField").UseFieldResponse<Omit<TChildProps & Omit<UseDateTimeFieldProps<TDate>, "format" | "disableFuture" | "disablePast" | "maxDate" | "minDate"> & Required<Pick<UseDateTimeFieldProps<TDate>, "format" | "disableFuture" | "disablePast" | "maxDate" | "minDate">>, keyof UseDateTimeFieldProps<any>>>;
|
|
@@ -22,17 +22,13 @@ const useDefaultizedDateTimeField = props => {
|
|
|
22
22
|
maxTime: (_props$maxDateTime2 = props.maxDateTime) != null ? _props$maxDateTime2 : props.maxTime
|
|
23
23
|
});
|
|
24
24
|
};
|
|
25
|
-
export const useDateTimeField =
|
|
26
|
-
props: inProps,
|
|
27
|
-
inputRef
|
|
28
|
-
}) => {
|
|
25
|
+
export const useDateTimeField = inProps => {
|
|
29
26
|
const props = useDefaultizedDateTimeField(inProps);
|
|
30
27
|
const {
|
|
31
28
|
forwardedProps,
|
|
32
29
|
internalProps
|
|
33
30
|
} = splitFieldInternalAndForwardedProps(props, 'date-time');
|
|
34
31
|
return useField({
|
|
35
|
-
inputRef,
|
|
36
32
|
forwardedProps,
|
|
37
33
|
internalProps,
|
|
38
34
|
valueManager: singleItemValueManager,
|
|
@@ -198,6 +198,10 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
198
198
|
* @default 3
|
|
199
199
|
*/
|
|
200
200
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
201
|
+
/**
|
|
202
|
+
* Name attribute used by the `input` element in the Field.
|
|
203
|
+
*/
|
|
204
|
+
name: PropTypes.string,
|
|
201
205
|
/**
|
|
202
206
|
* Callback fired when the value is accepted.
|
|
203
207
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -296,7 +300,7 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.propTypes = {
|
|
|
296
300
|
* 4. If `null` is provided, no section will be selected
|
|
297
301
|
* If not provided, the selected sections will be handled internally.
|
|
298
302
|
*/
|
|
299
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
303
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
300
304
|
endIndex: PropTypes.number.isRequired,
|
|
301
305
|
startIndex: PropTypes.number.isRequired
|
|
302
306
|
})]),
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DesktopDateTimePickerProps,
|
|
1
|
+
import { DesktopDateTimePickerProps, DesktopDateTimePickerSlots, DesktopDateTimePickerSlotProps } from '../DesktopDateTimePicker';
|
|
2
2
|
import { DateOrTimeViewWithMeridiem } from '../internals/models';
|
|
3
|
-
import { MobileDateTimePickerProps,
|
|
4
|
-
export interface
|
|
3
|
+
import { MobileDateTimePickerProps, MobileDateTimePickerSlots, MobileDateTimePickerSlotProps } from '../MobileDateTimePicker';
|
|
4
|
+
export interface DateTimePickerSlots<TDate> extends DesktopDateTimePickerSlots<TDate>, MobileDateTimePickerSlots<TDate, DateOrTimeViewWithMeridiem> {
|
|
5
5
|
}
|
|
6
|
-
export interface
|
|
6
|
+
export interface DateTimePickerSlotProps<TDate> extends DesktopDateTimePickerSlotProps<TDate>, MobileDateTimePickerSlotProps<TDate, DateOrTimeViewWithMeridiem> {
|
|
7
7
|
}
|
|
8
8
|
export interface DateTimePickerProps<TDate> extends DesktopDateTimePickerProps<TDate>, Omit<MobileDateTimePickerProps<TDate, DateOrTimeViewWithMeridiem>, 'views'> {
|
|
9
9
|
/**
|
|
@@ -21,10 +21,10 @@ export interface DateTimePickerProps<TDate> extends DesktopDateTimePickerProps<T
|
|
|
21
21
|
* Overridable component slots.
|
|
22
22
|
* @default {}
|
|
23
23
|
*/
|
|
24
|
-
slots?:
|
|
24
|
+
slots?: DateTimePickerSlots<TDate>;
|
|
25
25
|
/**
|
|
26
26
|
* The props used for each component slot.
|
|
27
27
|
* @default {}
|
|
28
28
|
*/
|
|
29
|
-
slotProps?:
|
|
29
|
+
slotProps?: DateTimePickerSlotProps<TDate>;
|
|
30
30
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { DateTimePicker } from './DateTimePicker';
|
|
2
|
-
export type { DateTimePickerProps,
|
|
2
|
+
export type { DateTimePickerProps, DateTimePickerSlots, DateTimePickerSlotProps, } from './DateTimePicker.types';
|
|
3
3
|
export { DateTimePickerTabs } from './DateTimePickerTabs';
|
|
4
4
|
export type { DateTimePickerTabsProps } from './DateTimePickerTabs';
|
|
5
5
|
export { dateTimePickerTabsClasses } from './dateTimePickerTabsClasses';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DefaultizedProps } from '../internals/models/helpers';
|
|
3
3
|
import { DateTimeValidationError } from '../models';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types';
|
|
5
|
+
import { TimeClockSlots, TimeClockSlotProps } from '../TimeClock/TimeClock.types';
|
|
6
6
|
import { BasePickerInputProps } from '../internals/models/props/basePickerProps';
|
|
7
7
|
import { DateTimePickerTabsProps, ExportedDateTimePickerTabsProps } from './DateTimePickerTabs';
|
|
8
8
|
import { BaseDateValidationProps, BaseTimeValidationProps, DateTimeValidationProps } from '../internals/models/validation';
|
|
@@ -13,7 +13,7 @@ import { DateViewRendererProps } from '../dateViewRenderers';
|
|
|
13
13
|
import { TimeViewRendererProps } from '../timeViewRenderers';
|
|
14
14
|
import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock';
|
|
15
15
|
import { DateOrTimeViewWithMeridiem, TimeViewWithMeridiem } from '../internals/models';
|
|
16
|
-
export interface
|
|
16
|
+
export interface BaseDateTimePickerSlots<TDate> extends DateCalendarSlots<TDate>, TimeClockSlots {
|
|
17
17
|
/**
|
|
18
18
|
* Tabs enabling toggling between date and time pickers.
|
|
19
19
|
* @default DateTimePickerTabs
|
|
@@ -25,7 +25,7 @@ export interface BaseDateTimePickerSlotsComponent<TDate> extends DateCalendarSlo
|
|
|
25
25
|
*/
|
|
26
26
|
toolbar?: React.JSXElementConstructor<DateTimePickerToolbarProps<TDate>>;
|
|
27
27
|
}
|
|
28
|
-
export interface
|
|
28
|
+
export interface BaseDateTimePickerSlotProps<TDate> extends DateCalendarSlotProps<TDate>, TimeClockSlotProps {
|
|
29
29
|
/**
|
|
30
30
|
* Props passed down to the tabs component.
|
|
31
31
|
*/
|
|
@@ -45,12 +45,12 @@ export interface BaseDateTimePickerProps<TDate, TView extends DateOrTimeViewWith
|
|
|
45
45
|
* Overridable component slots.
|
|
46
46
|
* @default {}
|
|
47
47
|
*/
|
|
48
|
-
slots?:
|
|
48
|
+
slots?: BaseDateTimePickerSlots<TDate>;
|
|
49
49
|
/**
|
|
50
50
|
* The props used for each component slot.
|
|
51
51
|
* @default {}
|
|
52
52
|
*/
|
|
53
|
-
slotProps?:
|
|
53
|
+
slotProps?: BaseDateTimePickerSlotProps<TDate>;
|
|
54
54
|
/**
|
|
55
55
|
* Define custom view renderers for each section.
|
|
56
56
|
* If `null`, the section will only have field editing.
|
|
@@ -5,7 +5,8 @@ import { resolveComponentProps } from '@mui/base/utils';
|
|
|
5
5
|
import { refType } from '@mui/utils';
|
|
6
6
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
7
7
|
import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
|
|
8
|
-
import { useLocaleText, useUtils
|
|
8
|
+
import { useLocaleText, useUtils } from '../internals/hooks/useUtils';
|
|
9
|
+
import { validateDate } from '../internals/utils/validation/validateDate';
|
|
9
10
|
import { useDesktopPicker } from '../internals/hooks/useDesktopPicker';
|
|
10
11
|
import { CalendarIcon } from '../icons';
|
|
11
12
|
import { DateField } from '../DateField';
|
|
@@ -178,6 +179,10 @@ DesktopDatePicker.propTypes = {
|
|
|
178
179
|
* @default 3
|
|
179
180
|
*/
|
|
180
181
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
182
|
+
/**
|
|
183
|
+
* Name attribute used by the `input` element in the Field.
|
|
184
|
+
*/
|
|
185
|
+
name: PropTypes.string,
|
|
181
186
|
/**
|
|
182
187
|
* Callback fired when the value is accepted.
|
|
183
188
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -276,7 +281,7 @@ DesktopDatePicker.propTypes = {
|
|
|
276
281
|
* 4. If `null` is provided, no section will be selected
|
|
277
282
|
* If not provided, the selected sections will be handled internally.
|
|
278
283
|
*/
|
|
279
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
284
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
280
285
|
endIndex: PropTypes.number.isRequired,
|
|
281
286
|
startIndex: PropTypes.number.isRequired
|
|
282
287
|
})]),
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BaseDatePickerProps,
|
|
1
|
+
import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
|
|
2
|
+
import { BaseDatePickerProps, BaseDatePickerSlots, BaseDatePickerSlotProps } from '../DatePicker/shared';
|
|
3
3
|
import { MakeOptional } from '../internals/models/helpers';
|
|
4
4
|
import { DateView } from '../models';
|
|
5
|
-
export interface
|
|
5
|
+
export interface DesktopDatePickerSlots<TDate> extends BaseDatePickerSlots<TDate>, MakeOptional<UseDesktopPickerSlots<TDate, DateView>, 'field' | 'openPickerIcon'> {
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface DesktopDatePickerSlotProps<TDate> extends BaseDatePickerSlotProps<TDate>, ExportedUseDesktopPickerSlotProps<TDate, DateView> {
|
|
8
8
|
}
|
|
9
9
|
export interface DesktopDatePickerProps<TDate> extends BaseDatePickerProps<TDate>, DesktopOnlyPickerProps<TDate> {
|
|
10
10
|
/**
|
|
@@ -16,10 +16,10 @@ export interface DesktopDatePickerProps<TDate> extends BaseDatePickerProps<TDate
|
|
|
16
16
|
* Overridable component slots.
|
|
17
17
|
* @default {}
|
|
18
18
|
*/
|
|
19
|
-
slots?:
|
|
19
|
+
slots?: DesktopDatePickerSlots<TDate>;
|
|
20
20
|
/**
|
|
21
21
|
* The props used for each component slot.
|
|
22
22
|
* @default {}
|
|
23
23
|
*/
|
|
24
|
-
slotProps?:
|
|
24
|
+
slotProps?: DesktopDatePickerSlotProps<TDate>;
|
|
25
25
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { DesktopDatePicker } from './DesktopDatePicker';
|
|
2
|
-
export type { DesktopDatePickerProps,
|
|
2
|
+
export type { DesktopDatePickerProps, DesktopDatePickerSlots, DesktopDatePickerSlotProps, } from './DesktopDatePicker.types';
|
|
@@ -255,6 +255,10 @@ DesktopDateTimePicker.propTypes = {
|
|
|
255
255
|
* @default 3
|
|
256
256
|
*/
|
|
257
257
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
258
|
+
/**
|
|
259
|
+
* Name attribute used by the `input` element in the Field.
|
|
260
|
+
*/
|
|
261
|
+
name: PropTypes.string,
|
|
258
262
|
/**
|
|
259
263
|
* Callback fired when the value is accepted.
|
|
260
264
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -353,7 +357,7 @@ DesktopDateTimePicker.propTypes = {
|
|
|
353
357
|
* 4. If `null` is provided, no section will be selected
|
|
354
358
|
* If not provided, the selected sections will be handled internally.
|
|
355
359
|
*/
|
|
356
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
360
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
357
361
|
endIndex: PropTypes.number.isRequired,
|
|
358
362
|
startIndex: PropTypes.number.isRequired
|
|
359
363
|
})]),
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BaseDateTimePickerProps,
|
|
1
|
+
import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
|
|
2
|
+
import { BaseDateTimePickerProps, BaseDateTimePickerSlots, BaseDateTimePickerSlotProps } from '../DateTimePicker/shared';
|
|
3
3
|
import { MakeOptional } from '../internals/models/helpers';
|
|
4
4
|
import { DateOrTimeView } from '../models';
|
|
5
5
|
import { DesktopOnlyTimePickerProps } from '../internals/models/props/clock';
|
|
6
6
|
import { DateOrTimeViewWithMeridiem } from '../internals/models';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
export interface
|
|
7
|
+
import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from '../MultiSectionDigitalClock';
|
|
8
|
+
import { DigitalClockSlots, DigitalClockSlotProps } from '../DigitalClock';
|
|
9
|
+
export interface DesktopDateTimePickerSlots<TDate> extends BaseDateTimePickerSlots<TDate>, MakeOptional<UseDesktopPickerSlots<TDate, DateOrTimeViewWithMeridiem>, 'field' | 'openPickerIcon'>, DigitalClockSlots, MultiSectionDigitalClockSlots {
|
|
10
10
|
}
|
|
11
|
-
export interface
|
|
11
|
+
export interface DesktopDateTimePickerSlotProps<TDate> extends BaseDateTimePickerSlotProps<TDate>, ExportedUseDesktopPickerSlotProps<TDate, DateOrTimeViewWithMeridiem>, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {
|
|
12
12
|
}
|
|
13
13
|
export interface DesktopDateTimePickerProps<TDate> extends BaseDateTimePickerProps<TDate, DateOrTimeViewWithMeridiem>, DesktopOnlyPickerProps<TDate>, DesktopOnlyTimePickerProps<TDate> {
|
|
14
14
|
/**
|
|
@@ -24,10 +24,10 @@ export interface DesktopDateTimePickerProps<TDate> extends BaseDateTimePickerPro
|
|
|
24
24
|
* Overridable component slots.
|
|
25
25
|
* @default {}
|
|
26
26
|
*/
|
|
27
|
-
slots?:
|
|
27
|
+
slots?: DesktopDateTimePickerSlots<TDate>;
|
|
28
28
|
/**
|
|
29
29
|
* The props used for each component slot.
|
|
30
30
|
* @default {}
|
|
31
31
|
*/
|
|
32
|
-
slotProps?:
|
|
32
|
+
slotProps?: DesktopDateTimePickerSlotProps<TDate>;
|
|
33
33
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { DesktopDateTimePicker } from './DesktopDateTimePicker';
|
|
2
|
-
export type { DesktopDateTimePickerProps,
|
|
2
|
+
export type { DesktopDateTimePickerProps, DesktopDateTimePickerSlots, DesktopDateTimePickerSlotProps, } from './DesktopDateTimePicker.types';
|
|
@@ -189,6 +189,10 @@ DesktopTimePicker.propTypes = {
|
|
|
189
189
|
* @default 1
|
|
190
190
|
*/
|
|
191
191
|
minutesStep: PropTypes.number,
|
|
192
|
+
/**
|
|
193
|
+
* Name attribute used by the `input` element in the Field.
|
|
194
|
+
*/
|
|
195
|
+
name: PropTypes.string,
|
|
192
196
|
/**
|
|
193
197
|
* Callback fired when the value is accepted.
|
|
194
198
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -269,7 +273,7 @@ DesktopTimePicker.propTypes = {
|
|
|
269
273
|
* 4. If `null` is provided, no section will be selected
|
|
270
274
|
* If not provided, the selected sections will be handled internally.
|
|
271
275
|
*/
|
|
272
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
276
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
273
277
|
endIndex: PropTypes.number.isRequired,
|
|
274
278
|
startIndex: PropTypes.number.isRequired
|
|
275
279
|
})]),
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BaseTimePickerProps,
|
|
1
|
+
import { UseDesktopPickerSlots, ExportedUseDesktopPickerSlotProps, DesktopOnlyPickerProps } from '../internals/hooks/useDesktopPicker';
|
|
2
|
+
import { BaseTimePickerProps, BaseTimePickerSlots, BaseTimePickerSlotProps } from '../TimePicker/shared';
|
|
3
3
|
import { MakeOptional } from '../internals/models/helpers';
|
|
4
4
|
import { TimeViewWithMeridiem } from '../internals/models';
|
|
5
5
|
import { DesktopOnlyTimePickerProps } from '../internals/models/props/clock';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { DigitalClockSlots, DigitalClockSlotProps } from '../DigitalClock';
|
|
7
|
+
import { MultiSectionDigitalClockSlots, MultiSectionDigitalClockSlotProps } from '../MultiSectionDigitalClock';
|
|
8
8
|
import { TimeView } from '../models';
|
|
9
|
-
export interface
|
|
9
|
+
export interface DesktopTimePickerSlots<TDate> extends BaseTimePickerSlots<TDate>, MakeOptional<UseDesktopPickerSlots<TDate, TimeViewWithMeridiem>, 'field' | 'openPickerIcon'>, DigitalClockSlots, MultiSectionDigitalClockSlots {
|
|
10
10
|
}
|
|
11
|
-
export interface
|
|
11
|
+
export interface DesktopTimePickerSlotProps<TDate> extends BaseTimePickerSlotProps, ExportedUseDesktopPickerSlotProps<TDate, TimeViewWithMeridiem>, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps {
|
|
12
12
|
}
|
|
13
13
|
export interface DesktopTimePickerProps<TDate> extends BaseTimePickerProps<TDate, TimeViewWithMeridiem>, DesktopOnlyPickerProps<TDate>, DesktopOnlyTimePickerProps<TDate> {
|
|
14
14
|
/**
|
|
@@ -19,10 +19,10 @@ export interface DesktopTimePickerProps<TDate> extends BaseTimePickerProps<TDate
|
|
|
19
19
|
* Overridable component slots.
|
|
20
20
|
* @default {}
|
|
21
21
|
*/
|
|
22
|
-
slots?:
|
|
22
|
+
slots?: DesktopTimePickerSlots<TDate>;
|
|
23
23
|
/**
|
|
24
24
|
* The props used for each component slot.
|
|
25
25
|
* @default {}
|
|
26
26
|
*/
|
|
27
|
-
slotProps?:
|
|
27
|
+
slotProps?: DesktopTimePickerSlotProps<TDate>;
|
|
28
28
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { DesktopTimePicker } from './DesktopTimePicker';
|
|
2
|
-
export type { DesktopTimePickerProps,
|
|
2
|
+
export type { DesktopTimePickerProps, DesktopTimePickerSlots, DesktopTimePickerSlotProps, } from './DesktopTimePicker.types';
|
|
@@ -6,14 +6,14 @@ import { BaseClockProps, DigitalClockOnlyProps, ExportedBaseClockProps } from '.
|
|
|
6
6
|
import { TimeView } from '../models';
|
|
7
7
|
export interface ExportedDigitalClockProps<TDate> extends ExportedBaseClockProps<TDate>, DigitalClockOnlyProps {
|
|
8
8
|
}
|
|
9
|
-
export interface
|
|
9
|
+
export interface DigitalClockSlots {
|
|
10
10
|
/**
|
|
11
11
|
* Component responsible for rendering a single digital clock item.
|
|
12
12
|
* @default MenuItem from '@mui/material'
|
|
13
13
|
*/
|
|
14
14
|
digitalClockItem?: React.ElementType;
|
|
15
15
|
}
|
|
16
|
-
export interface
|
|
16
|
+
export interface DigitalClockSlotProps {
|
|
17
17
|
digitalClockItem?: SlotComponentProps<typeof MenuItem, {}, Record<string, any>>;
|
|
18
18
|
}
|
|
19
19
|
export interface DigitalClockProps<TDate> extends ExportedDigitalClockProps<TDate>, BaseClockProps<TDate, Extract<TimeView, 'hours'>> {
|
|
@@ -25,10 +25,10 @@ export interface DigitalClockProps<TDate> extends ExportedDigitalClockProps<TDat
|
|
|
25
25
|
* Overrideable component slots.
|
|
26
26
|
* @default {}
|
|
27
27
|
*/
|
|
28
|
-
slots?:
|
|
28
|
+
slots?: DigitalClockSlots;
|
|
29
29
|
/**
|
|
30
30
|
* The props used for each component slot.
|
|
31
31
|
* @default {}
|
|
32
32
|
*/
|
|
33
|
-
slotProps?:
|
|
33
|
+
slotProps?: DigitalClockSlotProps;
|
|
34
34
|
}
|
package/DigitalClock/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { DigitalClock } from './DigitalClock';
|
|
2
|
-
export type { DigitalClockProps,
|
|
2
|
+
export type { DigitalClockProps, DigitalClockSlots, DigitalClockSlotProps, ExportedDigitalClockProps, } from './DigitalClock.types';
|
|
3
3
|
export { digitalClockClasses, getDigitalClockUtilityClass } from './digitalClockClasses';
|
|
4
4
|
export type { DigitalClockClasses, DigitalClockClassKey } from './digitalClockClasses';
|
|
@@ -5,7 +5,8 @@ import { resolveComponentProps } from '@mui/base/utils';
|
|
|
5
5
|
import { refType } from '@mui/utils';
|
|
6
6
|
import { useMobilePicker } from '../internals/hooks/useMobilePicker';
|
|
7
7
|
import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
|
|
8
|
-
import {
|
|
8
|
+
import { useUtils, useLocaleText } from '../internals/hooks/useUtils';
|
|
9
|
+
import { validateDate } from '../internals/utils/validation/validateDate';
|
|
9
10
|
import { DateField } from '../DateField';
|
|
10
11
|
import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
|
|
11
12
|
import { singleItemValueManager } from '../internals/utils/valueManagers';
|
|
@@ -175,6 +176,10 @@ MobileDatePicker.propTypes = {
|
|
|
175
176
|
* @default 3
|
|
176
177
|
*/
|
|
177
178
|
monthsPerRow: PropTypes.oneOf([3, 4]),
|
|
179
|
+
/**
|
|
180
|
+
* Name attribute used by the `input` element in the Field.
|
|
181
|
+
*/
|
|
182
|
+
name: PropTypes.string,
|
|
178
183
|
/**
|
|
179
184
|
* Callback fired when the value is accepted.
|
|
180
185
|
* @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
|
|
@@ -273,7 +278,7 @@ MobileDatePicker.propTypes = {
|
|
|
273
278
|
* 4. If `null` is provided, no section will be selected
|
|
274
279
|
* If not provided, the selected sections will be handled internally.
|
|
275
280
|
*/
|
|
276
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
281
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
277
282
|
endIndex: PropTypes.number.isRequired,
|
|
278
283
|
startIndex: PropTypes.number.isRequired
|
|
279
284
|
})]),
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { BaseDatePickerProps,
|
|
1
|
+
import { UseMobilePickerSlots, MobileOnlyPickerProps, ExportedUseMobilePickerSlotProps } from '../internals/hooks/useMobilePicker';
|
|
2
|
+
import { BaseDatePickerProps, BaseDatePickerSlots, BaseDatePickerSlotProps } from '../DatePicker/shared';
|
|
3
3
|
import { MakeOptional } from '../internals/models/helpers';
|
|
4
4
|
import { DateView } from '../models';
|
|
5
|
-
export interface
|
|
5
|
+
export interface MobileDatePickerSlots<TDate> extends BaseDatePickerSlots<TDate>, MakeOptional<UseMobilePickerSlots<TDate, DateView>, 'field'> {
|
|
6
6
|
}
|
|
7
|
-
export interface
|
|
7
|
+
export interface MobileDatePickerSlotProps<TDate> extends BaseDatePickerSlotProps<TDate>, ExportedUseMobilePickerSlotProps<TDate, DateView> {
|
|
8
8
|
}
|
|
9
9
|
export interface MobileDatePickerProps<TDate> extends BaseDatePickerProps<TDate>, MobileOnlyPickerProps<TDate> {
|
|
10
10
|
/**
|
|
11
11
|
* Overridable component slots.
|
|
12
12
|
* @default {}
|
|
13
13
|
*/
|
|
14
|
-
slots?:
|
|
14
|
+
slots?: MobileDatePickerSlots<TDate>;
|
|
15
15
|
/**
|
|
16
16
|
* The props used for each component slot.
|
|
17
17
|
* @default {}
|
|
18
18
|
*/
|
|
19
|
-
slotProps?:
|
|
19
|
+
slotProps?: MobileDatePickerSlotProps<TDate>;
|
|
20
20
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { MobileDatePicker } from './MobileDatePicker';
|
|
2
|
-
export type { MobileDatePickerProps,
|
|
2
|
+
export type { MobileDatePickerProps, MobileDatePickerSlots, MobileDatePickerSlotProps, } from './MobileDatePicker.types';
|