@mui/x-date-pickers 8.0.0-alpha.4 → 8.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 +182 -0
- package/DatePicker/DatePickerToolbar.d.ts +1 -2
- package/DatePicker/DatePickerToolbar.js +6 -17
- package/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
- package/DateTimePicker/DateTimePickerTabs.js +6 -13
- package/DateTimePicker/DateTimePickerToolbar.d.ts +8 -4
- package/DateTimePicker/DateTimePickerToolbar.js +13 -24
- package/DateTimePicker/shared.d.ts +2 -2
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +2 -3
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +1 -2
- package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -11
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
- package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
- package/MonthCalendar/MonthCalendar.d.ts +1 -1
- package/MonthCalendar/MonthCalendar.js +31 -11
- package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
- package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
- package/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
- package/MonthCalendar/index.d.ts +0 -3
- package/MonthCalendar/index.js +1 -2
- package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
- package/MonthCalendar/monthCalendarClasses.js +1 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -0
- package/PickersActionBar/PickersActionBar.d.ts +0 -4
- package/PickersActionBar/PickersActionBar.js +12 -13
- package/PickersLayout/PickersLayout.d.ts +2 -2
- package/PickersLayout/PickersLayout.js +1 -11
- package/PickersLayout/PickersLayout.types.d.ts +12 -14
- package/PickersLayout/usePickerLayout.d.ts +2 -2
- package/PickersLayout/usePickerLayout.js +3 -18
- package/PickersSectionList/PickersSectionList.js +21 -16
- package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
- package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
- package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
- package/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
- package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
- package/PickersTextField/PickersInputBase/PickersInputBase.js +36 -37
- package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
- package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
- package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/PickersTextField/PickersTextField.js +75 -62
- package/PickersTextField/PickersTextField.types.d.ts +43 -4
- package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
- package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
- package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
- package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
- package/TimeClock/Clock.d.ts +4 -0
- package/TimeClock/Clock.js +9 -6
- package/TimeClock/TimeClock.js +21 -4
- package/TimePicker/TimePicker.types.d.ts +2 -2
- package/TimePicker/TimePickerToolbar.d.ts +2 -2
- package/TimePicker/TimePickerToolbar.js +6 -20
- package/YearCalendar/YearCalendar.js +46 -13
- package/YearCalendar/YearCalendar.types.d.ts +2 -2
- package/YearCalendar/YearCalendarButton.d.ts +23 -0
- package/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
- package/YearCalendar/index.d.ts +0 -3
- package/YearCalendar/index.js +1 -2
- package/YearCalendar/yearCalendarClasses.d.ts +7 -1
- package/YearCalendar/yearCalendarClasses.js +1 -1
- package/hooks/index.d.ts +1 -0
- package/hooks/index.js +2 -1
- package/hooks/usePickerActionsContext.d.ts +5 -0
- package/hooks/usePickerActionsContext.js +16 -0
- package/hooks/usePickerContext.d.ts +3 -1
- package/hooks/usePickerContext.js +0 -1
- package/index.js +1 -1
- package/internals/components/PickerProvider.d.ts +11 -6
- package/internals/components/PickerProvider.js +12 -6
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +1 -1
- package/internals/components/PickersModalDialog.d.ts +1 -3
- package/internals/components/PickersModalDialog.js +9 -3
- package/internals/components/PickersPopper.d.ts +1 -3
- package/internals/components/PickersPopper.js +11 -6
- package/internals/components/PickersToolbar.d.ts +3 -3
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -9
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +5 -5
- package/internals/hooks/useFieldOwnerState.d.ts +1 -0
- package/internals/hooks/useFieldOwnerState.js +6 -2
- package/internals/hooks/useMobilePicker/useMobilePicker.js +8 -7
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +5 -5
- package/internals/hooks/usePicker/usePicker.js +1 -3
- package/internals/hooks/usePicker/usePicker.types.d.ts +2 -2
- package/internals/hooks/usePicker/usePickerProvider.js +5 -4
- package/internals/hooks/usePicker/usePickerValue.js +46 -64
- package/internals/hooks/usePicker/usePickerValue.types.d.ts +38 -17
- package/internals/hooks/usePicker/usePickerViews.d.ts +15 -4
- package/internals/hooks/usePicker/usePickerViews.js +9 -7
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +4 -4
- package/internals/index.d.ts +4 -4
- package/internals/index.js +1 -1
- package/internals/models/props/tabs.d.ts +0 -13
- package/internals/models/props/toolbar.d.ts +1 -16
- package/models/fields.d.ts +11 -1
- package/modern/DatePicker/DatePickerToolbar.js +6 -17
- package/modern/DateTimePicker/DateTimePickerTabs.js +6 -13
- package/modern/DateTimePicker/DateTimePickerToolbar.js +13 -24
- package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -11
- package/modern/MonthCalendar/MonthCalendar.js +31 -11
- package/modern/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
- package/modern/MonthCalendar/index.js +1 -2
- package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -0
- package/modern/PickersActionBar/PickersActionBar.js +12 -13
- package/modern/PickersLayout/PickersLayout.js +1 -11
- package/modern/PickersLayout/usePickerLayout.js +3 -18
- package/modern/PickersSectionList/PickersSectionList.js +21 -16
- package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +36 -37
- package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/modern/PickersTextField/PickersTextField.js +75 -62
- package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
- package/modern/TimeClock/Clock.js +9 -6
- package/modern/TimeClock/TimeClock.js +21 -4
- package/modern/TimePicker/TimePickerToolbar.js +6 -20
- package/modern/YearCalendar/YearCalendar.js +46 -13
- package/modern/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
- package/modern/YearCalendar/index.js +1 -2
- package/modern/YearCalendar/yearCalendarClasses.js +1 -1
- package/modern/hooks/index.js +2 -1
- package/modern/hooks/usePickerActionsContext.js +16 -0
- package/modern/hooks/usePickerContext.js +0 -1
- package/modern/index.js +1 -1
- package/modern/internals/components/PickerProvider.js +12 -6
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/modern/internals/components/PickersModalDialog.js +9 -3
- package/modern/internals/components/PickersPopper.js +11 -6
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -9
- package/modern/internals/hooks/useFieldOwnerState.js +6 -2
- package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +8 -7
- package/modern/internals/hooks/usePicker/usePicker.js +1 -3
- package/modern/internals/hooks/usePicker/usePickerProvider.js +5 -4
- package/modern/internals/hooks/usePicker/usePickerValue.js +46 -64
- package/modern/internals/hooks/usePicker/usePickerViews.js +9 -7
- package/modern/internals/index.js +1 -1
- package/node/DatePicker/DatePickerToolbar.js +6 -17
- package/node/DateTimePicker/DateTimePickerTabs.js +6 -13
- package/node/DateTimePicker/DateTimePickerToolbar.js +14 -25
- package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -11
- package/node/MonthCalendar/MonthCalendar.js +31 -11
- package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
- package/node/MonthCalendar/index.js +1 -8
- package/node/MonthCalendar/monthCalendarClasses.js +1 -1
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +3 -0
- package/node/PickersActionBar/PickersActionBar.js +12 -13
- package/node/PickersLayout/PickersLayout.js +1 -11
- package/node/PickersLayout/usePickerLayout.js +3 -18
- package/node/PickersSectionList/PickersSectionList.js +21 -16
- package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
- package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
- package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
- package/node/PickersTextField/PickersInputBase/PickersInputBase.js +36 -37
- package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
- package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
- package/node/PickersTextField/PickersTextField.js +75 -62
- package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
- package/node/TimeClock/Clock.js +9 -6
- package/node/TimeClock/TimeClock.js +21 -4
- package/node/TimePicker/TimePickerToolbar.js +6 -20
- package/node/YearCalendar/YearCalendar.js +45 -12
- package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
- package/node/YearCalendar/index.js +1 -8
- package/node/YearCalendar/yearCalendarClasses.js +1 -1
- package/node/hooks/index.js +8 -1
- package/node/hooks/usePickerActionsContext.js +22 -0
- package/node/index.js +1 -1
- package/node/internals/components/PickerProvider.js +13 -7
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
- package/node/internals/components/PickersModalDialog.js +9 -3
- package/node/internals/components/PickersPopper.js +11 -6
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +9 -9
- package/node/internals/hooks/useFieldOwnerState.js +6 -2
- package/node/internals/hooks/useMobilePicker/useMobilePicker.js +8 -7
- package/node/internals/hooks/usePicker/usePicker.js +1 -3
- package/node/internals/hooks/usePicker/usePickerProvider.js +5 -4
- package/node/internals/hooks/usePicker/usePickerValue.js +46 -64
- package/node/internals/hooks/usePicker/usePickerViews.js +9 -7
- package/node/internals/index.js +2 -2
- package/package.json +3 -3
- package/themeAugmentation/components.d.ts +0 -8
- package/themeAugmentation/overrides.d.ts +2 -4
- package/themeAugmentation/props.d.ts +4 -7
- package/MonthCalendar/PickersMonth.d.ts +0 -28
- package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
- package/MonthCalendar/pickersMonthClasses.js +0 -5
- package/YearCalendar/PickersYear.d.ts +0 -27
- package/YearCalendar/pickersYearClasses.d.ts +0 -13
- package/YearCalendar/pickersYearClasses.js +0 -5
- package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
- package/modern/YearCalendar/pickersYearClasses.js +0 -5
- package/node/MonthCalendar/pickersMonthClasses.js +0 -12
- package/node/YearCalendar/pickersYearClasses.js +0 -12
|
@@ -1,47 +1,27 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["autoFocus", "
|
|
3
|
+
const _excluded = ["autoFocus", "classes", "disabled", "selected", "value", "onClick", "onKeyDown", "onFocus", "onBlur", "slots", "slotProps"];
|
|
4
4
|
import * as React from 'react';
|
|
5
|
-
import
|
|
6
|
-
import { styled, alpha, useThemeProps } from '@mui/material/styles';
|
|
5
|
+
import { styled, alpha } from '@mui/material/styles';
|
|
7
6
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
8
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
9
8
|
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
10
|
-
import { getPickersMonthUtilityClass, pickersMonthClasses } from "./pickersMonthClasses.js";
|
|
11
9
|
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
10
|
+
import { getMonthCalendarUtilityClass, monthCalendarClasses } from "./monthCalendarClasses.js";
|
|
12
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
12
|
const useUtilityClasses = (classes, ownerState) => {
|
|
14
13
|
const slots = {
|
|
15
|
-
|
|
16
|
-
monthButton: ['monthButton', ownerState.isMonthDisabled && 'disabled', ownerState.isMonthSelected && 'selected']
|
|
14
|
+
button: ['button', ownerState.isMonthDisabled && 'disabled', ownerState.isMonthSelected && 'selected']
|
|
17
15
|
};
|
|
18
|
-
return composeClasses(slots,
|
|
16
|
+
return composeClasses(slots, getMonthCalendarUtilityClass, classes);
|
|
19
17
|
};
|
|
20
|
-
const
|
|
21
|
-
name: '
|
|
22
|
-
slot: '
|
|
23
|
-
overridesResolver: (_, styles) => [styles.
|
|
24
|
-
}
|
|
25
|
-
display: 'flex',
|
|
26
|
-
alignItems: 'center',
|
|
27
|
-
justifyContent: 'center',
|
|
28
|
-
flexBasis: '33.3%',
|
|
29
|
-
variants: [{
|
|
30
|
-
props: {
|
|
31
|
-
monthsPerRow: 4
|
|
32
|
-
},
|
|
33
|
-
style: {
|
|
34
|
-
flexBasis: '25%'
|
|
35
|
-
}
|
|
36
|
-
}]
|
|
37
|
-
});
|
|
38
|
-
const MonthCalendarButton = styled('button', {
|
|
39
|
-
name: 'MuiPickersMonth',
|
|
40
|
-
slot: 'MonthButton',
|
|
41
|
-
overridesResolver: (_, styles) => [styles.monthButton, {
|
|
42
|
-
[`&.${pickersMonthClasses.disabled}`]: styles.disabled
|
|
18
|
+
const DefaultMonthButton = styled('button', {
|
|
19
|
+
name: 'MuiMonthCalendar',
|
|
20
|
+
slot: 'Button',
|
|
21
|
+
overridesResolver: (_, styles) => [styles.button, {
|
|
22
|
+
[`&.${monthCalendarClasses.disabled}`]: styles.disabled
|
|
43
23
|
}, {
|
|
44
|
-
[`&.${
|
|
24
|
+
[`&.${monthCalendarClasses.selected}`]: styles.selected
|
|
45
25
|
}]
|
|
46
26
|
})(({
|
|
47
27
|
theme
|
|
@@ -51,7 +31,6 @@ const MonthCalendarButton = styled('button', {
|
|
|
51
31
|
border: 0,
|
|
52
32
|
outline: 0
|
|
53
33
|
}, theme.typography.subtitle1, {
|
|
54
|
-
margin: '8px 0',
|
|
55
34
|
height: 36,
|
|
56
35
|
width: 72,
|
|
57
36
|
borderRadius: 18,
|
|
@@ -66,10 +45,10 @@ const MonthCalendarButton = styled('button', {
|
|
|
66
45
|
cursor: 'auto',
|
|
67
46
|
pointerEvents: 'none'
|
|
68
47
|
},
|
|
69
|
-
[`&.${
|
|
48
|
+
[`&.${monthCalendarClasses.disabled}`]: {
|
|
70
49
|
color: (theme.vars || theme).palette.text.secondary
|
|
71
50
|
},
|
|
72
|
-
[`&.${
|
|
51
|
+
[`&.${monthCalendarClasses.selected}`]: {
|
|
73
52
|
color: (theme.vars || theme).palette.primary.contrastText,
|
|
74
53
|
backgroundColor: (theme.vars || theme).palette.primary.main,
|
|
75
54
|
'&:focus, &:hover': {
|
|
@@ -81,29 +60,17 @@ const MonthCalendarButton = styled('button', {
|
|
|
81
60
|
/**
|
|
82
61
|
* @ignore - do not document.
|
|
83
62
|
*/
|
|
84
|
-
export const
|
|
85
|
-
const props = useThemeProps({
|
|
86
|
-
props: inProps,
|
|
87
|
-
name: 'MuiPickersMonth'
|
|
88
|
-
});
|
|
63
|
+
export const MonthCalendarButton = /*#__PURE__*/React.memo(function MonthCalendarButton(props) {
|
|
89
64
|
const {
|
|
90
65
|
autoFocus,
|
|
91
|
-
className,
|
|
92
66
|
classes: classesProp,
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
selected = false,
|
|
67
|
+
disabled,
|
|
68
|
+
selected,
|
|
96
69
|
value,
|
|
97
|
-
tabIndex,
|
|
98
70
|
onClick,
|
|
99
71
|
onKeyDown,
|
|
100
72
|
onFocus,
|
|
101
73
|
onBlur,
|
|
102
|
-
'aria-current': ariaCurrent,
|
|
103
|
-
'aria-label': ariaLabel
|
|
104
|
-
// We don't want to forward this prop to the root element
|
|
105
|
-
,
|
|
106
|
-
|
|
107
74
|
slots,
|
|
108
75
|
slotProps
|
|
109
76
|
} = props,
|
|
@@ -125,32 +92,24 @@ export const PickersMonth = /*#__PURE__*/React.memo(function PickersMonth(inProp
|
|
|
125
92
|
ref.current?.focus();
|
|
126
93
|
}
|
|
127
94
|
}, [autoFocus]);
|
|
128
|
-
const MonthButton = slots?.monthButton ??
|
|
95
|
+
const MonthButton = slots?.monthButton ?? DefaultMonthButton;
|
|
129
96
|
const monthButtonProps = useSlotProps({
|
|
130
97
|
elementType: MonthButton,
|
|
131
98
|
externalSlotProps: slotProps?.monthButton,
|
|
99
|
+
externalForwardedProps: other,
|
|
132
100
|
additionalProps: {
|
|
133
|
-
children,
|
|
134
101
|
disabled,
|
|
135
|
-
tabIndex,
|
|
136
102
|
ref,
|
|
137
103
|
type: 'button',
|
|
138
104
|
role: 'radio',
|
|
139
|
-
'aria-current': ariaCurrent,
|
|
140
105
|
'aria-checked': selected,
|
|
141
|
-
'aria-label': ariaLabel,
|
|
142
106
|
onClick: event => onClick(event, value),
|
|
143
107
|
onKeyDown: event => onKeyDown(event, value),
|
|
144
108
|
onFocus: event => onFocus(event, value),
|
|
145
109
|
onBlur: event => onBlur(event, value)
|
|
146
110
|
},
|
|
147
111
|
ownerState,
|
|
148
|
-
className: classes.
|
|
112
|
+
className: classes.button
|
|
149
113
|
});
|
|
150
|
-
return /*#__PURE__*/_jsx(
|
|
151
|
-
className: clsx(classes.root, className),
|
|
152
|
-
ownerState: ownerState
|
|
153
|
-
}, other, {
|
|
154
|
-
children: /*#__PURE__*/_jsx(MonthButton, _extends({}, monthButtonProps))
|
|
155
|
-
}));
|
|
114
|
+
return /*#__PURE__*/_jsx(MonthButton, _extends({}, monthButtonProps));
|
|
156
115
|
});
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export { MonthCalendar } from "./MonthCalendar.js";
|
|
2
|
-
export { monthCalendarClasses, getMonthCalendarUtilityClass } from "./monthCalendarClasses.js";
|
|
3
|
-
export { pickersMonthClasses } from "./pickersMonthClasses.js";
|
|
2
|
+
export { monthCalendarClasses, getMonthCalendarUtilityClass } from "./monthCalendarClasses.js";
|
|
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClass as generateUtilityClass, unstable_generat
|
|
|
2
2
|
export function getMonthCalendarUtilityClass(slot) {
|
|
3
3
|
return generateUtilityClass('MuiMonthCalendar', slot);
|
|
4
4
|
}
|
|
5
|
-
export const monthCalendarClasses = generateUtilityClasses('MuiMonthCalendar', ['root']);
|
|
5
|
+
export const monthCalendarClasses = generateUtilityClasses('MuiMonthCalendar', ['root', 'button', 'disabled', 'selected']);
|
|
@@ -189,6 +189,9 @@ export const MultiSectionDigitalClock = /*#__PURE__*/React.forwardRef(function M
|
|
|
189
189
|
{
|
|
190
190
|
const valueWithMeridiem = convertValueToMeridiem(rawValue, meridiemMode, ampm);
|
|
191
191
|
const dateWithNewHours = utils.setHours(valueOrReferenceDate, valueWithMeridiem);
|
|
192
|
+
if (utils.getHours(dateWithNewHours) !== valueWithMeridiem) {
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
192
195
|
const start = utils.setSeconds(utils.setMinutes(dateWithNewHours, 0), 0);
|
|
193
196
|
const end = utils.setSeconds(utils.setMinutes(dateWithNewHours, 59), 59);
|
|
194
197
|
return !containsValidTime({
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
-
const _excluded = ["
|
|
5
|
+
const _excluded = ["actions"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
9
|
import Button from '@mui/material/Button';
|
|
10
10
|
import DialogActions from '@mui/material/DialogActions';
|
|
11
11
|
import { usePickerTranslations } from "../hooks/usePickerTranslations.js";
|
|
12
|
+
import { usePickerActionsContext } from "../hooks/index.js";
|
|
12
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
14
|
const PickersActionBarRoot = styled(DialogActions, {
|
|
14
15
|
name: 'MuiPickersLayout',
|
|
@@ -28,14 +29,16 @@ const PickersActionBarRoot = styled(DialogActions, {
|
|
|
28
29
|
*/
|
|
29
30
|
function PickersActionBar(props) {
|
|
30
31
|
const {
|
|
31
|
-
onAccept,
|
|
32
|
-
onClear,
|
|
33
|
-
onCancel,
|
|
34
|
-
onSetToday,
|
|
35
32
|
actions
|
|
36
33
|
} = props,
|
|
37
34
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
38
35
|
const translations = usePickerTranslations();
|
|
36
|
+
const {
|
|
37
|
+
clearValue,
|
|
38
|
+
setValueToToday,
|
|
39
|
+
acceptValueChanges,
|
|
40
|
+
cancelValueChanges
|
|
41
|
+
} = usePickerActionsContext();
|
|
39
42
|
if (actions == null || actions.length === 0) {
|
|
40
43
|
return null;
|
|
41
44
|
}
|
|
@@ -43,22 +46,22 @@ function PickersActionBar(props) {
|
|
|
43
46
|
switch (actionType) {
|
|
44
47
|
case 'clear':
|
|
45
48
|
return /*#__PURE__*/_jsx(Button, {
|
|
46
|
-
onClick:
|
|
49
|
+
onClick: clearValue,
|
|
47
50
|
children: translations.clearButtonLabel
|
|
48
51
|
}, actionType);
|
|
49
52
|
case 'cancel':
|
|
50
53
|
return /*#__PURE__*/_jsx(Button, {
|
|
51
|
-
onClick:
|
|
54
|
+
onClick: cancelValueChanges,
|
|
52
55
|
children: translations.cancelButtonLabel
|
|
53
56
|
}, actionType);
|
|
54
57
|
case 'accept':
|
|
55
58
|
return /*#__PURE__*/_jsx(Button, {
|
|
56
|
-
onClick:
|
|
59
|
+
onClick: acceptValueChanges,
|
|
57
60
|
children: translations.okButtonLabel
|
|
58
61
|
}, actionType);
|
|
59
62
|
case 'today':
|
|
60
63
|
return /*#__PURE__*/_jsx(Button, {
|
|
61
|
-
onClick:
|
|
64
|
+
onClick: setValueToToday,
|
|
62
65
|
children: translations.todayButtonLabel
|
|
63
66
|
}, actionType);
|
|
64
67
|
default:
|
|
@@ -85,10 +88,6 @@ process.env.NODE_ENV !== "production" ? PickersActionBar.propTypes = {
|
|
|
85
88
|
* @default false
|
|
86
89
|
*/
|
|
87
90
|
disableSpacing: PropTypes.bool,
|
|
88
|
-
onAccept: PropTypes.func.isRequired,
|
|
89
|
-
onCancel: PropTypes.func.isRequired,
|
|
90
|
-
onClear: PropTypes.func.isRequired,
|
|
91
|
-
onSetToday: PropTypes.func.isRequired,
|
|
92
91
|
/**
|
|
93
92
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
94
93
|
*/
|
|
@@ -151,16 +151,8 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
|
|
|
151
151
|
classes: PropTypes.object,
|
|
152
152
|
className: PropTypes.string,
|
|
153
153
|
isValid: PropTypes.func.isRequired,
|
|
154
|
-
onAccept: PropTypes.func.isRequired,
|
|
155
|
-
onCancel: PropTypes.func.isRequired,
|
|
156
154
|
onChange: PropTypes.func.isRequired,
|
|
157
|
-
onClear: PropTypes.func.isRequired,
|
|
158
|
-
onClose: PropTypes.func.isRequired,
|
|
159
|
-
onDismiss: PropTypes.func.isRequired,
|
|
160
|
-
onOpen: PropTypes.func.isRequired,
|
|
161
155
|
onSelectShortcut: PropTypes.func.isRequired,
|
|
162
|
-
onSetToday: PropTypes.func.isRequired,
|
|
163
|
-
onViewChange: PropTypes.func.isRequired,
|
|
164
156
|
/**
|
|
165
157
|
* The props used for each component slot.
|
|
166
158
|
* @default {}
|
|
@@ -175,8 +167,6 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
|
|
|
175
167
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
176
168
|
*/
|
|
177
169
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
178
|
-
value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object])
|
|
179
|
-
view: PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']),
|
|
180
|
-
views: PropTypes.arrayOf(PropTypes.oneOf(['day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'year']).isRequired).isRequired
|
|
170
|
+
value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.object), PropTypes.object])
|
|
181
171
|
} : void 0;
|
|
182
172
|
export { PickersLayout };
|
|
@@ -35,17 +35,11 @@ const usePickerLayout = props => {
|
|
|
35
35
|
} = usePickerPrivateContext();
|
|
36
36
|
const {
|
|
37
37
|
variant,
|
|
38
|
-
orientation
|
|
38
|
+
orientation,
|
|
39
|
+
view
|
|
39
40
|
} = usePickerContext();
|
|
40
41
|
const isRtl = useRtl();
|
|
41
42
|
const {
|
|
42
|
-
onAccept,
|
|
43
|
-
onClear,
|
|
44
|
-
onCancel,
|
|
45
|
-
onSetToday,
|
|
46
|
-
view,
|
|
47
|
-
views,
|
|
48
|
-
onViewChange,
|
|
49
43
|
value,
|
|
50
44
|
onChange,
|
|
51
45
|
onSelectShortcut,
|
|
@@ -70,10 +64,6 @@ const usePickerLayout = props => {
|
|
|
70
64
|
elementType: ActionBar,
|
|
71
65
|
externalSlotProps: slotProps?.actionBar,
|
|
72
66
|
additionalProps: {
|
|
73
|
-
onAccept,
|
|
74
|
-
onClear,
|
|
75
|
-
onCancel,
|
|
76
|
-
onSetToday,
|
|
77
67
|
actions: variant === 'desktop' ? [] : ['cancel', 'accept']
|
|
78
68
|
},
|
|
79
69
|
className: classes.actionBar,
|
|
@@ -90,10 +80,7 @@ const usePickerLayout = props => {
|
|
|
90
80
|
isLandscape: orientation === 'landscape',
|
|
91
81
|
// Will be removed in a follow up PR?
|
|
92
82
|
onChange,
|
|
93
|
-
value
|
|
94
|
-
view,
|
|
95
|
-
onViewChange,
|
|
96
|
-
views
|
|
83
|
+
value
|
|
97
84
|
},
|
|
98
85
|
className: classes.toolbar,
|
|
99
86
|
ownerState
|
|
@@ -106,8 +93,6 @@ const usePickerLayout = props => {
|
|
|
106
93
|
// Tabs
|
|
107
94
|
const Tabs = slots?.tabs;
|
|
108
95
|
const tabs = view && Tabs ? /*#__PURE__*/_jsx(Tabs, _extends({
|
|
109
|
-
view: view,
|
|
110
|
-
onViewChange: onViewChange,
|
|
111
96
|
className: classes.tabs
|
|
112
97
|
}, slotProps?.tabs)) : null;
|
|
113
98
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
4
4
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
|
-
const _excluded = ["slots", "slotProps", "elements", "sectionListRef"];
|
|
5
|
+
const _excluded = ["slots", "slotProps", "elements", "sectionListRef", "classes"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import useSlotProps from '@mui/utils/useSlotProps';
|
|
@@ -10,6 +10,7 @@ import composeClasses from '@mui/utils/composeClasses';
|
|
|
10
10
|
import useForkRef from '@mui/utils/useForkRef';
|
|
11
11
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
12
12
|
import { getPickersSectionListUtilityClass, pickersSectionListClasses } from "./pickersSectionListClasses.js";
|
|
13
|
+
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
|
|
13
14
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
15
|
export const PickersSectionListRoot = styled('div', {
|
|
15
16
|
name: 'MuiPickersSectionList',
|
|
@@ -38,10 +39,7 @@ export const PickersSectionListSectionContent = styled('span', {
|
|
|
38
39
|
})({
|
|
39
40
|
outline: 'none'
|
|
40
41
|
});
|
|
41
|
-
const useUtilityClasses =
|
|
42
|
-
const {
|
|
43
|
-
classes
|
|
44
|
-
} = ownerState;
|
|
42
|
+
const useUtilityClasses = classes => {
|
|
45
43
|
const slots = {
|
|
46
44
|
root: ['root'],
|
|
47
45
|
section: ['section'],
|
|
@@ -56,13 +54,16 @@ function PickersSection(props) {
|
|
|
56
54
|
element,
|
|
57
55
|
classes
|
|
58
56
|
} = props;
|
|
57
|
+
const {
|
|
58
|
+
ownerState
|
|
59
|
+
} = usePickerPrivateContext();
|
|
59
60
|
const Section = slots?.section ?? PickersSectionListSection;
|
|
60
61
|
const sectionProps = useSlotProps({
|
|
61
62
|
elementType: Section,
|
|
62
63
|
externalSlotProps: slotProps?.section,
|
|
63
64
|
externalForwardedProps: element.container,
|
|
64
65
|
className: classes.section,
|
|
65
|
-
ownerState
|
|
66
|
+
ownerState
|
|
66
67
|
});
|
|
67
68
|
const SectionContent = slots?.sectionContent ?? PickersSectionListSectionContent;
|
|
68
69
|
const sectionContentProps = useSlotProps({
|
|
@@ -73,24 +74,24 @@ function PickersSection(props) {
|
|
|
73
74
|
suppressContentEditableWarning: true
|
|
74
75
|
},
|
|
75
76
|
className: classes.sectionContent,
|
|
76
|
-
ownerState
|
|
77
|
+
ownerState
|
|
77
78
|
});
|
|
78
79
|
const SectionSeparator = slots?.sectionSeparator ?? PickersSectionListSectionSeparator;
|
|
79
80
|
const sectionSeparatorBeforeProps = useSlotProps({
|
|
80
81
|
elementType: SectionSeparator,
|
|
81
82
|
externalSlotProps: slotProps?.sectionSeparator,
|
|
82
83
|
externalForwardedProps: element.before,
|
|
83
|
-
ownerState: {
|
|
84
|
-
|
|
85
|
-
}
|
|
84
|
+
ownerState: _extends({}, ownerState, {
|
|
85
|
+
separatorPosition: 'before'
|
|
86
|
+
})
|
|
86
87
|
});
|
|
87
88
|
const sectionSeparatorAfterProps = useSlotProps({
|
|
88
89
|
elementType: SectionSeparator,
|
|
89
90
|
externalSlotProps: slotProps?.sectionSeparator,
|
|
90
91
|
externalForwardedProps: element.after,
|
|
91
|
-
ownerState: {
|
|
92
|
-
|
|
93
|
-
}
|
|
92
|
+
ownerState: _extends({}, ownerState, {
|
|
93
|
+
separatorPosition: 'after'
|
|
94
|
+
})
|
|
94
95
|
});
|
|
95
96
|
return /*#__PURE__*/_jsxs(Section, _extends({}, sectionProps, {
|
|
96
97
|
children: [/*#__PURE__*/_jsx(SectionSeparator, _extends({}, sectionSeparatorBeforeProps)), /*#__PURE__*/_jsx(SectionContent, _extends({}, sectionContentProps)), /*#__PURE__*/_jsx(SectionSeparator, _extends({}, sectionSeparatorAfterProps))]
|
|
@@ -135,10 +136,14 @@ const PickersSectionList = /*#__PURE__*/React.forwardRef(function PickersSection
|
|
|
135
136
|
slots,
|
|
136
137
|
slotProps,
|
|
137
138
|
elements,
|
|
138
|
-
sectionListRef
|
|
139
|
+
sectionListRef,
|
|
140
|
+
classes: classesProp
|
|
139
141
|
} = props,
|
|
140
142
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
141
|
-
const classes = useUtilityClasses(
|
|
143
|
+
const classes = useUtilityClasses(classesProp);
|
|
144
|
+
const {
|
|
145
|
+
ownerState
|
|
146
|
+
} = usePickerPrivateContext();
|
|
142
147
|
const rootRef = React.useRef(null);
|
|
143
148
|
const handleRootRef = useForkRef(ref, rootRef);
|
|
144
149
|
const getRoot = methodName => {
|
|
@@ -186,7 +191,7 @@ const PickersSectionList = /*#__PURE__*/React.forwardRef(function PickersSection
|
|
|
186
191
|
suppressContentEditableWarning: true
|
|
187
192
|
},
|
|
188
193
|
className: classes.root,
|
|
189
|
-
ownerState
|
|
194
|
+
ownerState
|
|
190
195
|
});
|
|
191
196
|
return /*#__PURE__*/_jsx(Root, _extends({}, rootProps, {
|
|
192
197
|
children: rootProps.contentEditable ? elements.map(({
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["label", "autoFocus", "disableUnderline", "
|
|
3
|
+
const _excluded = ["label", "autoFocus", "disableUnderline", "hiddenLabel", "classes"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import { useFormControl } from '@mui/material/FormControl';
|
|
7
6
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
8
7
|
import { shouldForwardProp } from '@mui/system';
|
|
9
8
|
import { refType } from '@mui/utils';
|
|
@@ -11,6 +10,7 @@ import composeClasses from '@mui/utils/composeClasses';
|
|
|
11
10
|
import { pickersFilledInputClasses, getPickersFilledInputUtilityClass } from "./pickersFilledInputClasses.js";
|
|
12
11
|
import { PickersInputBase } from "../PickersInputBase/index.js";
|
|
13
12
|
import { PickersInputBaseRoot, PickersInputBaseSectionsContainer } from "../PickersInputBase/PickersInputBase.js";
|
|
13
|
+
import { usePickerTextFieldOwnerState } from "../usePickerTextFieldOwnerState.js";
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
15
|
const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
|
|
16
16
|
name: 'MuiPickersFilledInput',
|
|
@@ -50,7 +50,7 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
|
|
|
50
50
|
// @ts-ignore
|
|
51
51
|
.filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
|
|
52
52
|
props: {
|
|
53
|
-
color,
|
|
53
|
+
inputColor: color,
|
|
54
54
|
disableUnderline: false
|
|
55
55
|
},
|
|
56
56
|
style: {
|
|
@@ -109,16 +109,16 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
}, {
|
|
112
|
-
props:
|
|
113
|
-
|
|
114
|
-
}
|
|
112
|
+
props: {
|
|
113
|
+
hasStartAdornment: true
|
|
114
|
+
},
|
|
115
115
|
style: {
|
|
116
116
|
paddingLeft: 12
|
|
117
117
|
}
|
|
118
118
|
}, {
|
|
119
|
-
props:
|
|
120
|
-
|
|
121
|
-
}
|
|
119
|
+
props: {
|
|
120
|
+
hasEndAdornment: true
|
|
121
|
+
},
|
|
122
122
|
style: {
|
|
123
123
|
paddingRight: 12
|
|
124
124
|
}
|
|
@@ -128,7 +128,8 @@ const PickersFilledInputRoot = styled(PickersInputBaseRoot, {
|
|
|
128
128
|
const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer, {
|
|
129
129
|
name: 'MuiPickersFilledInput',
|
|
130
130
|
slot: 'sectionsContainer',
|
|
131
|
-
overridesResolver: (props, styles) => styles.sectionsContainer
|
|
131
|
+
overridesResolver: (props, styles) => styles.sectionsContainer,
|
|
132
|
+
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'hiddenLabel'
|
|
132
133
|
})({
|
|
133
134
|
paddingTop: 25,
|
|
134
135
|
paddingRight: 12,
|
|
@@ -136,23 +137,23 @@ const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer,
|
|
|
136
137
|
paddingLeft: 12,
|
|
137
138
|
variants: [{
|
|
138
139
|
props: {
|
|
139
|
-
|
|
140
|
+
inputSize: 'small'
|
|
140
141
|
},
|
|
141
142
|
style: {
|
|
142
143
|
paddingTop: 21,
|
|
143
144
|
paddingBottom: 4
|
|
144
145
|
}
|
|
145
146
|
}, {
|
|
146
|
-
props:
|
|
147
|
-
|
|
148
|
-
}
|
|
147
|
+
props: {
|
|
148
|
+
hasStartAdornment: true
|
|
149
|
+
},
|
|
149
150
|
style: {
|
|
150
151
|
paddingLeft: 0
|
|
151
152
|
}
|
|
152
153
|
}, {
|
|
153
|
-
props:
|
|
154
|
-
|
|
155
|
-
}
|
|
154
|
+
props: {
|
|
155
|
+
hasEndAdornment: true
|
|
156
|
+
},
|
|
156
157
|
style: {
|
|
157
158
|
paddingRight: 0
|
|
158
159
|
}
|
|
@@ -167,7 +168,7 @@ const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer,
|
|
|
167
168
|
}, {
|
|
168
169
|
props: {
|
|
169
170
|
hiddenLabel: true,
|
|
170
|
-
|
|
171
|
+
inputSize: 'small'
|
|
171
172
|
},
|
|
172
173
|
style: {
|
|
173
174
|
paddingTop: 8,
|
|
@@ -175,18 +176,18 @@ const PickersFilledSectionsContainer = styled(PickersInputBaseSectionsContainer,
|
|
|
175
176
|
}
|
|
176
177
|
}]
|
|
177
178
|
});
|
|
178
|
-
const useUtilityClasses = ownerState => {
|
|
179
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
179
180
|
const {
|
|
180
|
-
|
|
181
|
-
disableUnderline
|
|
181
|
+
inputHasUnderline
|
|
182
182
|
} = ownerState;
|
|
183
183
|
const slots = {
|
|
184
|
-
root: ['root',
|
|
184
|
+
root: ['root', inputHasUnderline && 'underline'],
|
|
185
185
|
input: ['input']
|
|
186
186
|
};
|
|
187
187
|
const composedClasses = composeClasses(slots, getPickersFilledInputUtilityClass, classes);
|
|
188
188
|
return _extends({}, classes, composedClasses);
|
|
189
189
|
};
|
|
190
|
+
|
|
190
191
|
/**
|
|
191
192
|
* @ignore - internal component.
|
|
192
193
|
*/
|
|
@@ -198,14 +199,15 @@ const PickersFilledInput = /*#__PURE__*/React.forwardRef(function PickersFilledI
|
|
|
198
199
|
const {
|
|
199
200
|
label,
|
|
200
201
|
disableUnderline = false,
|
|
201
|
-
|
|
202
|
+
hiddenLabel = false,
|
|
203
|
+
classes: classesProp
|
|
202
204
|
} = props,
|
|
203
205
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
204
|
-
const
|
|
205
|
-
const ownerState = _extends({},
|
|
206
|
-
|
|
206
|
+
const pickerTextFieldOwnerState = usePickerTextFieldOwnerState();
|
|
207
|
+
const ownerState = _extends({}, pickerTextFieldOwnerState, {
|
|
208
|
+
inputHasUnderline: !disableUnderline
|
|
207
209
|
});
|
|
208
|
-
const classes = useUtilityClasses(ownerState);
|
|
210
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
209
211
|
return /*#__PURE__*/_jsx(PickersInputBase, _extends({
|
|
210
212
|
slots: {
|
|
211
213
|
root: PickersFilledInputRoot,
|
|
@@ -214,12 +216,16 @@ const PickersFilledInput = /*#__PURE__*/React.forwardRef(function PickersFilledI
|
|
|
214
216
|
slotProps: {
|
|
215
217
|
root: {
|
|
216
218
|
disableUnderline
|
|
219
|
+
},
|
|
220
|
+
input: {
|
|
221
|
+
hiddenLabel
|
|
217
222
|
}
|
|
218
223
|
}
|
|
219
224
|
}, other, {
|
|
220
225
|
label: label,
|
|
221
226
|
classes: classes,
|
|
222
|
-
ref: ref
|
|
227
|
+
ref: ref,
|
|
228
|
+
ownerState: ownerState
|
|
223
229
|
}));
|
|
224
230
|
});
|
|
225
231
|
process.env.NODE_ENV !== "production" ? PickersFilledInput.propTypes = {
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["label", "autoFocus", "disableUnderline", "ownerState"];
|
|
3
|
+
const _excluded = ["label", "autoFocus", "disableUnderline", "ownerState", "classes"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
-
import { useFormControl } from '@mui/material/FormControl';
|
|
7
6
|
import { styled, useThemeProps } from '@mui/material/styles';
|
|
7
|
+
import { shouldForwardProp } from '@mui/system/createStyled';
|
|
8
8
|
import { refType } from '@mui/utils';
|
|
9
9
|
import composeClasses from '@mui/utils/composeClasses';
|
|
10
10
|
import { pickersInputClasses, getPickersInputUtilityClass } from "./pickersInputClasses.js";
|
|
11
11
|
import { PickersInputBase } from "../PickersInputBase/index.js";
|
|
12
12
|
import { PickersInputBaseRoot } from "../PickersInputBase/PickersInputBase.js";
|
|
13
|
+
import { usePickerTextFieldOwnerState } from "../usePickerTextFieldOwnerState.js";
|
|
13
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
15
|
const PickersInputRoot = styled(PickersInputBaseRoot, {
|
|
15
16
|
name: 'MuiPickersInput',
|
|
16
17
|
slot: 'Root',
|
|
17
|
-
overridesResolver: (props, styles) => styles.root
|
|
18
|
+
overridesResolver: (props, styles) => styles.root,
|
|
19
|
+
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'disableUnderline'
|
|
18
20
|
})(({
|
|
19
21
|
theme
|
|
20
22
|
}) => {
|
|
@@ -31,7 +33,7 @@ const PickersInputRoot = styled(PickersInputBaseRoot, {
|
|
|
31
33
|
// @ts-ignore
|
|
32
34
|
.filter(key => (theme.vars ?? theme).palette[key].main).map(color => ({
|
|
33
35
|
props: {
|
|
34
|
-
color
|
|
36
|
+
inputColor: color
|
|
35
37
|
},
|
|
36
38
|
style: {
|
|
37
39
|
'&::after': {
|
|
@@ -96,18 +98,18 @@ const PickersInputRoot = styled(PickersInputBaseRoot, {
|
|
|
96
98
|
}]
|
|
97
99
|
};
|
|
98
100
|
});
|
|
99
|
-
const useUtilityClasses = ownerState => {
|
|
101
|
+
const useUtilityClasses = (classes, ownerState) => {
|
|
100
102
|
const {
|
|
101
|
-
|
|
102
|
-
disableUnderline
|
|
103
|
+
inputHasUnderline
|
|
103
104
|
} = ownerState;
|
|
104
105
|
const slots = {
|
|
105
|
-
root: ['root', !
|
|
106
|
+
root: ['root', !inputHasUnderline && 'underline'],
|
|
106
107
|
input: ['input']
|
|
107
108
|
};
|
|
108
109
|
const composedClasses = composeClasses(slots, getPickersInputUtilityClass, classes);
|
|
109
110
|
return _extends({}, classes, composedClasses);
|
|
110
111
|
};
|
|
112
|
+
|
|
111
113
|
/**
|
|
112
114
|
* @ignore - internal component.
|
|
113
115
|
*/
|
|
@@ -119,18 +121,22 @@ const PickersInput = /*#__PURE__*/React.forwardRef(function PickersInput(inProps
|
|
|
119
121
|
const {
|
|
120
122
|
label,
|
|
121
123
|
disableUnderline = false,
|
|
122
|
-
|
|
124
|
+
classes: classesProp
|
|
123
125
|
} = props,
|
|
124
126
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
125
|
-
const
|
|
126
|
-
const ownerState = _extends({},
|
|
127
|
-
disableUnderline
|
|
128
|
-
color: muiFormControl?.color || 'primary'
|
|
127
|
+
const pickerTextFieldOwnerState = usePickerTextFieldOwnerState();
|
|
128
|
+
const ownerState = _extends({}, pickerTextFieldOwnerState, {
|
|
129
|
+
inputHasUnderline: !disableUnderline
|
|
129
130
|
});
|
|
130
|
-
const classes = useUtilityClasses(ownerState);
|
|
131
|
+
const classes = useUtilityClasses(classesProp, ownerState);
|
|
131
132
|
return /*#__PURE__*/_jsx(PickersInputBase, _extends({
|
|
132
133
|
slots: {
|
|
133
134
|
root: PickersInputRoot
|
|
135
|
+
},
|
|
136
|
+
slotProps: {
|
|
137
|
+
root: {
|
|
138
|
+
disableUnderline
|
|
139
|
+
}
|
|
134
140
|
}
|
|
135
141
|
}, other, {
|
|
136
142
|
label: label,
|