@mui/x-date-pickers 7.0.0-alpha.3 → 7.0.0-alpha.4
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/AdapterLuxon/AdapterLuxon.d.ts +27 -27
- package/AdapterLuxon/AdapterLuxon.js +0 -1
- package/CHANGELOG.md +123 -0
- package/DateCalendar/useCalendarState.js +0 -1
- package/MonthCalendar/MonthCalendar.js +0 -1
- package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -2
- package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +2 -2
- package/PickersCalendarHeader/PickersCalendarHeader.js +4 -4
- package/TimeClock/Clock.js +0 -1
- package/TimeClock/ClockPointer.js +0 -1
- package/YearCalendar/YearCalendar.js +0 -1
- package/index.js +1 -1
- package/internals/components/PickersTextField/Outline.d.ts +7 -1
- package/internals/components/PickersTextField/Outline.js +2 -4
- package/internals/components/PickersTextField/PickersInput.d.ts +1 -2
- package/internals/components/PickersTextField/PickersInput.js +117 -112
- package/internals/components/PickersTextField/PickersInput.types.d.ts +35 -20
- package/internals/components/PickersTextField/PickersTextField.js +57 -48
- package/internals/components/PickersTextField/PickersTextField.types.d.ts +19 -16
- package/internals/components/PickersTextField/pickersTextFieldClasses.d.ts +11 -7
- package/internals/components/PickersTextField/pickersTextFieldClasses.js +1 -1
- package/internals/constants/dimensions.d.ts +1 -1
- package/internals/constants/dimensions.js +1 -1
- package/internals/demo/DemoContainer.d.ts +4 -0
- package/internals/demo/DemoContainer.js +47 -19
- package/internals/hooks/useClockReferenceDate.js +0 -1
- package/internals/hooks/useField/useField.utils.js +0 -2
- package/internals/hooks/useViews.js +0 -1
- package/legacy/AdapterLuxon/AdapterLuxon.js +0 -1
- package/legacy/DateCalendar/useCalendarState.js +0 -1
- package/legacy/MonthCalendar/MonthCalendar.js +0 -1
- package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -2
- package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +2 -2
- package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +4 -4
- package/legacy/TimeClock/Clock.js +0 -1
- package/legacy/TimeClock/ClockPointer.js +0 -1
- package/legacy/YearCalendar/YearCalendar.js +0 -1
- package/legacy/index.js +1 -1
- package/legacy/internals/components/PickersTextField/Outline.js +1 -4
- package/legacy/internals/components/PickersTextField/PickersInput.js +119 -115
- package/legacy/internals/components/PickersTextField/PickersTextField.js +51 -51
- package/legacy/internals/components/PickersTextField/pickersTextFieldClasses.js +1 -1
- package/legacy/internals/constants/dimensions.js +1 -1
- package/legacy/internals/demo/DemoContainer.js +45 -19
- package/legacy/internals/hooks/useClockReferenceDate.js +0 -1
- package/legacy/internals/hooks/useField/useField.utils.js +0 -2
- package/legacy/internals/hooks/useViews.js +0 -1
- package/legacy/locales/plPL.js +0 -1
- package/legacy/locales/svSE.js +0 -1
- package/legacy/locales/urPK.js +0 -1
- package/locales/plPL.js +0 -1
- package/locales/svSE.js +0 -1
- package/locales/urPK.js +0 -1
- package/modern/AdapterLuxon/AdapterLuxon.js +0 -1
- package/modern/DateCalendar/useCalendarState.js +0 -1
- package/modern/MonthCalendar/MonthCalendar.js +0 -1
- package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -2
- package/modern/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +2 -2
- package/modern/PickersCalendarHeader/PickersCalendarHeader.js +4 -4
- package/modern/TimeClock/Clock.js +0 -1
- package/modern/TimeClock/ClockPointer.js +0 -1
- package/modern/YearCalendar/YearCalendar.js +0 -1
- package/modern/index.js +1 -1
- package/modern/internals/components/PickersTextField/Outline.js +2 -4
- package/modern/internals/components/PickersTextField/PickersInput.js +116 -112
- package/modern/internals/components/PickersTextField/PickersTextField.js +57 -47
- package/modern/internals/components/PickersTextField/pickersTextFieldClasses.js +1 -1
- package/modern/internals/constants/dimensions.js +1 -1
- package/modern/internals/demo/DemoContainer.js +47 -19
- package/modern/internals/hooks/useClockReferenceDate.js +0 -1
- package/modern/internals/hooks/useField/useField.utils.js +0 -2
- package/modern/internals/hooks/useViews.js +0 -1
- package/modern/locales/plPL.js +0 -1
- package/modern/locales/svSE.js +0 -1
- package/modern/locales/urPK.js +0 -1
- package/node/AdapterLuxon/AdapterLuxon.js +0 -1
- package/node/DateCalendar/useCalendarState.js +0 -1
- package/node/MonthCalendar/MonthCalendar.js +0 -1
- package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +8 -2
- package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +2 -2
- package/node/PickersCalendarHeader/PickersCalendarHeader.js +4 -4
- package/node/TimeClock/Clock.js +0 -1
- package/node/TimeClock/ClockPointer.js +0 -1
- package/node/YearCalendar/YearCalendar.js +0 -1
- package/node/index.js +1 -1
- package/node/internals/components/PickersTextField/Outline.js +2 -4
- package/node/internals/components/PickersTextField/PickersInput.js +119 -115
- package/node/internals/components/PickersTextField/PickersTextField.js +58 -48
- package/node/internals/components/PickersTextField/pickersTextFieldClasses.js +1 -1
- package/node/internals/constants/dimensions.js +1 -1
- package/node/internals/demo/DemoContainer.js +47 -19
- package/node/internals/hooks/useClockReferenceDate.js +0 -1
- package/node/internals/hooks/useField/useField.utils.js +0 -2
- package/node/internals/hooks/useViews.js +0 -1
- package/node/locales/plPL.js +0 -1
- package/node/locales/svSE.js +0 -1
- package/node/locales/urPK.js +0 -1
- package/package.json +5 -5
package/modern/locales/plPL.js
CHANGED
package/modern/locales/svSE.js
CHANGED
package/modern/locales/urPK.js
CHANGED
|
@@ -238,7 +238,6 @@ class AdapterLuxon {
|
|
|
238
238
|
if (typeof Intl === 'undefined' || typeof Intl.DateTimeFormat === 'undefined') {
|
|
239
239
|
return true; // Luxon defaults to en-US if Intl not found
|
|
240
240
|
}
|
|
241
|
-
|
|
242
241
|
return Boolean(new Intl.DateTimeFormat(this.locale, {
|
|
243
242
|
hour: 'numeric'
|
|
244
243
|
})?.resolvedOptions()?.hour12);
|
|
@@ -120,7 +120,6 @@ const MonthCalendar = exports.MonthCalendar = /*#__PURE__*/React.forwardRef(func
|
|
|
120
120
|
granularity: _getDefaultReferenceDate.SECTION_TYPE_GRANULARITY.month
|
|
121
121
|
}), [] // eslint-disable-line react-hooks/exhaustive-deps
|
|
122
122
|
);
|
|
123
|
-
|
|
124
123
|
const ownerState = props;
|
|
125
124
|
const classes = useUtilityClasses(ownerState);
|
|
126
125
|
const todayMonth = React.useMemo(() => utils.getMonth(now), [utils, now]);
|
|
@@ -45,7 +45,12 @@ const MultiSectionDigitalClockSectionRoot = (0, _styles.styled)(_MenuList.defaul
|
|
|
45
45
|
'@media (prefers-reduced-motion: no-preference)': {
|
|
46
46
|
scrollBehavior: ownerState.alreadyRendered ? 'smooth' : 'auto'
|
|
47
47
|
},
|
|
48
|
-
'
|
|
48
|
+
'@media (pointer: fine)': {
|
|
49
|
+
'&:hover': {
|
|
50
|
+
overflowY: 'auto'
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
'@media (pointer: none), (pointer: coarse)': {
|
|
49
54
|
overflowY: 'auto'
|
|
50
55
|
},
|
|
51
56
|
'&:not(:first-of-type)': {
|
|
@@ -161,7 +166,8 @@ const MultiSectionDigitalClockSection = exports.MultiSectionDigitalClockSection
|
|
|
161
166
|
"aria-disabled": readOnly,
|
|
162
167
|
"aria-label": option.ariaLabel,
|
|
163
168
|
"aria-selected": isSelected,
|
|
164
|
-
tabIndex: tabIndex
|
|
169
|
+
tabIndex: tabIndex,
|
|
170
|
+
className: classes.item
|
|
165
171
|
}, slotProps?.digitalClockSectionItem, {
|
|
166
172
|
children: option.label
|
|
167
173
|
}), option.label);
|
|
@@ -9,6 +9,6 @@ exports.multiSectionDigitalClockSectionClasses = void 0;
|
|
|
9
9
|
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
10
10
|
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
11
11
|
function getMultiSectionDigitalClockSectionUtilityClass(slot) {
|
|
12
|
-
return (0, _generateUtilityClass.default)('
|
|
12
|
+
return (0, _generateUtilityClass.default)('MuiMultiSectionDigitalClockSection', slot);
|
|
13
13
|
}
|
|
14
|
-
const multiSectionDigitalClockSectionClasses = exports.multiSectionDigitalClockSectionClasses = (0, _generateUtilityClasses.default)('
|
|
14
|
+
const multiSectionDigitalClockSectionClasses = exports.multiSectionDigitalClockSectionClasses = (0, _generateUtilityClasses.default)('MuiMultiSectionDigitalClockSection', ['root', 'item']);
|
|
@@ -46,13 +46,13 @@ const PickersCalendarHeaderRoot = (0, _styles.styled)('div', {
|
|
|
46
46
|
})({
|
|
47
47
|
display: 'flex',
|
|
48
48
|
alignItems: 'center',
|
|
49
|
-
marginTop:
|
|
50
|
-
marginBottom:
|
|
49
|
+
marginTop: 12,
|
|
50
|
+
marginBottom: 4,
|
|
51
51
|
paddingLeft: 24,
|
|
52
52
|
paddingRight: 12,
|
|
53
53
|
// prevent jumping in safari
|
|
54
|
-
maxHeight:
|
|
55
|
-
minHeight:
|
|
54
|
+
maxHeight: 40,
|
|
55
|
+
minHeight: 40
|
|
56
56
|
});
|
|
57
57
|
const PickersCalendarHeaderLabelContainer = (0, _styles.styled)('div', {
|
|
58
58
|
name: 'MuiPickersCalendarHeader',
|
package/node/TimeClock/Clock.js
CHANGED
|
@@ -124,7 +124,6 @@ const YearCalendar = exports.YearCalendar = /*#__PURE__*/React.forwardRef(functi
|
|
|
124
124
|
granularity: _getDefaultReferenceDate.SECTION_TYPE_GRANULARITY.year
|
|
125
125
|
}), [] // eslint-disable-line react-hooks/exhaustive-deps
|
|
126
126
|
);
|
|
127
|
-
|
|
128
127
|
const ownerState = props;
|
|
129
128
|
const classes = useUtilityClasses(ownerState);
|
|
130
129
|
const todayYear = React.useMemo(() => utils.getYear(now), [utils, now]);
|
package/node/index.js
CHANGED
|
@@ -10,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _styles = require("@mui/material/styles");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
const _excluded = ["children", "
|
|
13
|
+
const _excluded = ["children", "className", "label"];
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
const OutlineRoot = (0, _styles.styled)('fieldset')({
|
|
@@ -78,13 +78,11 @@ const OutlineLegend = (0, _styles.styled)('legend')(({
|
|
|
78
78
|
function Outline(props) {
|
|
79
79
|
const {
|
|
80
80
|
className,
|
|
81
|
-
label
|
|
82
|
-
notched
|
|
81
|
+
label
|
|
83
82
|
} = props,
|
|
84
83
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
85
84
|
const withLabel = label != null && label !== '';
|
|
86
85
|
const ownerState = (0, _extends2.default)({}, props, {
|
|
87
|
-
notched,
|
|
88
86
|
withLabel
|
|
89
87
|
});
|
|
90
88
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(OutlineRoot, (0, _extends2.default)({
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.PickersInput = void 0;
|
|
8
8
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -13,14 +13,16 @@ var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
|
13
13
|
var _FormControl = require("@mui/material/FormControl");
|
|
14
14
|
var _styles = require("@mui/material/styles");
|
|
15
15
|
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
16
|
-
var
|
|
16
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
17
|
+
var _capitalize = _interopRequireDefault(require("@mui/utils/capitalize"));
|
|
18
|
+
var _visuallyHidden = _interopRequireDefault(require("@mui/utils/visuallyHidden"));
|
|
17
19
|
var _pickersTextFieldClasses = require("./pickersTextFieldClasses");
|
|
18
20
|
var _Outline = _interopRequireDefault(require("./Outline"));
|
|
19
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const _excluded = ["elements", "defaultValue", "label", "
|
|
22
|
+
const _excluded = ["elements", "areAllSectionsEmpty", "defaultValue", "label", "value", "onChange", "id", "autoFocus", "endAdornment", "startAdornment", "contentEditable", "tabIndex", "fullWidth", "inputProps", "inputRef", "sectionsContainerRef"];
|
|
21
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
24
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
|
-
const
|
|
25
|
+
const PickersInputRoot = (0, _styles.styled)(_Box.default, {
|
|
24
26
|
name: 'MuiPickersInput',
|
|
25
27
|
slot: 'Root',
|
|
26
28
|
overridesResolver: (props, styles) => styles.root
|
|
@@ -37,6 +39,7 @@ const SectionsWrapper = (0, _styles.styled)(_Box.default, {
|
|
|
37
39
|
alignItems: 'center',
|
|
38
40
|
width: ownerState.fullWidth ? '100%' : '25ch',
|
|
39
41
|
position: 'relative',
|
|
42
|
+
outline: 'none',
|
|
40
43
|
borderRadius: (theme.vars || theme).shape.borderRadius,
|
|
41
44
|
[`&:hover .${_pickersTextFieldClasses.pickersInputClasses.notchedOutline}`]: {
|
|
42
45
|
borderColor: (theme.vars || theme).palette.text.primary
|
|
@@ -67,22 +70,30 @@ const SectionsWrapper = (0, _styles.styled)(_Box.default, {
|
|
|
67
70
|
padding: '8.5px 14px'
|
|
68
71
|
});
|
|
69
72
|
});
|
|
70
|
-
const
|
|
73
|
+
const PickersInputSectionsContainer = (0, _styles.styled)('div', {
|
|
71
74
|
name: 'MuiPickersInput',
|
|
72
|
-
slot: '
|
|
73
|
-
overridesResolver: (props, styles) => styles.
|
|
75
|
+
slot: 'SectionsContainer',
|
|
76
|
+
overridesResolver: (props, styles) => styles.sectionsContainer
|
|
74
77
|
})(({
|
|
75
78
|
theme,
|
|
76
79
|
ownerState
|
|
77
|
-
}) => ({
|
|
80
|
+
}) => (0, _extends2.default)({
|
|
78
81
|
fontFamily: theme.typography.fontFamily,
|
|
79
82
|
fontSize: 'inherit',
|
|
80
83
|
lineHeight: '1.4375em',
|
|
81
84
|
// 23px
|
|
82
85
|
flexGrow: 1,
|
|
83
|
-
|
|
84
|
-
}))
|
|
85
|
-
|
|
86
|
+
outline: 'none'
|
|
87
|
+
}, !(ownerState.adornedStart || ownerState.focused || ownerState.filled) && (0, _extends2.default)({
|
|
88
|
+
color: 'currentColor'
|
|
89
|
+
}, ownerState.label == null && (theme.vars ? {
|
|
90
|
+
opacity: theme.vars.opacity.inputPlaceholder
|
|
91
|
+
} : {
|
|
92
|
+
opacity: theme.palette.mode === 'light' ? 0.42 : 0.5
|
|
93
|
+
}), ownerState.label != null && {
|
|
94
|
+
opacity: 0
|
|
95
|
+
})));
|
|
96
|
+
const PickersInputSection = (0, _styles.styled)('span', {
|
|
86
97
|
name: 'MuiPickersInput',
|
|
87
98
|
slot: 'Section',
|
|
88
99
|
overridesResolver: (props, styles) => styles.section
|
|
@@ -95,9 +106,9 @@ const SectionContainer = (0, _styles.styled)('span', {
|
|
|
95
106
|
// 23px
|
|
96
107
|
flexGrow: 1
|
|
97
108
|
}));
|
|
98
|
-
const
|
|
109
|
+
const PickersInputContent = (0, _styles.styled)('span', {
|
|
99
110
|
name: 'MuiPickersInput',
|
|
100
|
-
slot: '
|
|
111
|
+
slot: 'SectionContent',
|
|
101
112
|
overridesResolver: (props, styles) => styles.content
|
|
102
113
|
})(({
|
|
103
114
|
theme
|
|
@@ -108,18 +119,18 @@ const SectionInput = (0, _styles.styled)('span', {
|
|
|
108
119
|
letterSpacing: 'inherit',
|
|
109
120
|
width: 'fit-content'
|
|
110
121
|
}));
|
|
111
|
-
const
|
|
122
|
+
const PickersInputSeparator = (0, _styles.styled)('span', {
|
|
112
123
|
name: 'MuiPickersInput',
|
|
113
124
|
slot: 'Separator',
|
|
114
125
|
overridesResolver: (props, styles) => styles.separator
|
|
115
126
|
})(() => ({
|
|
116
127
|
whiteSpace: 'pre'
|
|
117
128
|
}));
|
|
118
|
-
const
|
|
129
|
+
const PickersInputInput = (0, _styles.styled)('input', {
|
|
119
130
|
name: 'MuiPickersInput',
|
|
120
|
-
slot: '
|
|
131
|
+
slot: 'Input',
|
|
121
132
|
overridesResolver: (props, styles) => styles.hiddenInput
|
|
122
|
-
})((0, _extends2.default)({},
|
|
133
|
+
})((0, _extends2.default)({}, _visuallyHidden.default));
|
|
123
134
|
const NotchedOutlineRoot = (0, _styles.styled)(_Outline.default, {
|
|
124
135
|
name: 'MuiPickersInput',
|
|
125
136
|
slot: 'NotchedOutline',
|
|
@@ -132,36 +143,6 @@ const NotchedOutlineRoot = (0, _styles.styled)(_Outline.default, {
|
|
|
132
143
|
borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
|
|
133
144
|
};
|
|
134
145
|
});
|
|
135
|
-
function InputContent({
|
|
136
|
-
elements,
|
|
137
|
-
contentEditable,
|
|
138
|
-
ownerState
|
|
139
|
-
}) {
|
|
140
|
-
if (contentEditable) {
|
|
141
|
-
return elements.map(({
|
|
142
|
-
content,
|
|
143
|
-
before,
|
|
144
|
-
after
|
|
145
|
-
}) => `${before.children}${content.children}${after.children}`).join('');
|
|
146
|
-
}
|
|
147
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
148
|
-
children: elements.map(({
|
|
149
|
-
container,
|
|
150
|
-
content,
|
|
151
|
-
before,
|
|
152
|
-
after
|
|
153
|
-
}, elementIndex) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(SectionContainer, (0, _extends2.default)({}, container, {
|
|
154
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(SectionSeparator, (0, _extends2.default)({}, before, {
|
|
155
|
-
className: (0, _clsx.default)(_pickersTextFieldClasses.pickersInputClasses.before, before?.className)
|
|
156
|
-
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(SectionInput, (0, _extends2.default)({}, content, {
|
|
157
|
-
className: (0, _clsx.default)(_pickersTextFieldClasses.pickersInputClasses.content, content?.className),
|
|
158
|
-
ownerState
|
|
159
|
-
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(SectionSeparator, (0, _extends2.default)({}, after, {
|
|
160
|
-
className: (0, _clsx.default)(_pickersTextFieldClasses.pickersInputClasses.after, after?.className)
|
|
161
|
-
}))]
|
|
162
|
-
}), elementIndex))
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
146
|
const useUtilityClasses = ownerState => {
|
|
166
147
|
const {
|
|
167
148
|
focused,
|
|
@@ -169,104 +150,127 @@ const useUtilityClasses = ownerState => {
|
|
|
169
150
|
error,
|
|
170
151
|
classes,
|
|
171
152
|
fullWidth,
|
|
153
|
+
readOnly,
|
|
172
154
|
color,
|
|
173
155
|
size,
|
|
174
156
|
endAdornment,
|
|
175
157
|
startAdornment
|
|
176
158
|
} = ownerState;
|
|
177
159
|
const slots = {
|
|
178
|
-
root: ['root', focused && !disabled && 'focused', disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', `color${(0,
|
|
160
|
+
root: ['root', focused && !disabled && 'focused', disabled && 'disabled', readOnly && 'readOnly', error && 'error', fullWidth && 'fullWidth', `color${(0, _capitalize.default)(color)}`, size === 'small' && 'inputSizeSmall', Boolean(startAdornment) && 'adornedStart', Boolean(endAdornment) && 'adornedEnd'],
|
|
179
161
|
notchedOutline: ['notchedOutline'],
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
162
|
+
input: ['input'],
|
|
163
|
+
sectionsContainer: ['sectionsContainer'],
|
|
164
|
+
sectionContent: ['sectionContent'],
|
|
165
|
+
sectionBefore: ['sectionBefore'],
|
|
166
|
+
sectionAfter: ['sectionAfter']
|
|
184
167
|
};
|
|
185
|
-
return (0,
|
|
168
|
+
return (0, _composeClasses.default)(slots, _pickersTextFieldClasses.getPickersInputUtilityClass, classes);
|
|
186
169
|
};
|
|
187
|
-
|
|
188
|
-
// TODO: move to utils
|
|
189
|
-
// Separates the state props from the form control
|
|
190
|
-
function formControlState({
|
|
191
|
-
props,
|
|
192
|
-
states,
|
|
193
|
-
muiFormControl
|
|
194
|
-
}) {
|
|
195
|
-
return states.reduce((acc, state) => {
|
|
196
|
-
acc[state] = props[state];
|
|
197
|
-
if (muiFormControl) {
|
|
198
|
-
if (typeof props[state] === 'undefined') {
|
|
199
|
-
acc[state] = muiFormControl[state];
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
return acc;
|
|
203
|
-
}, {});
|
|
204
|
-
}
|
|
205
|
-
const PickersInput = /*#__PURE__*/React.forwardRef(function PickersInput(props, ref) {
|
|
170
|
+
const PickersInput = exports.PickersInput = /*#__PURE__*/React.forwardRef(function PickersInput(props, ref) {
|
|
206
171
|
const {
|
|
207
172
|
elements,
|
|
173
|
+
areAllSectionsEmpty,
|
|
208
174
|
label,
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
onValueStrChange,
|
|
175
|
+
value,
|
|
176
|
+
onChange,
|
|
212
177
|
id,
|
|
213
|
-
ownerState: ownerStateProp,
|
|
214
178
|
endAdornment,
|
|
215
|
-
startAdornment
|
|
179
|
+
startAdornment,
|
|
180
|
+
contentEditable,
|
|
181
|
+
tabIndex,
|
|
182
|
+
inputProps,
|
|
183
|
+
inputRef,
|
|
184
|
+
sectionsContainerRef
|
|
216
185
|
} = props,
|
|
217
186
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
218
|
-
const
|
|
219
|
-
const
|
|
187
|
+
const rootRef = React.useRef(null);
|
|
188
|
+
const handleRootRef = (0, _useForkRef.default)(ref, rootRef);
|
|
189
|
+
const handleInputRef = (0, _useForkRef.default)(inputProps?.ref, inputRef);
|
|
220
190
|
const muiFormControl = (0, _FormControl.useFormControl)();
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
191
|
+
if (!muiFormControl) {
|
|
192
|
+
throw new Error('MUI: PickersInput should always be used inside a PickersTextField component');
|
|
193
|
+
}
|
|
194
|
+
const handleInputFocus = event => {
|
|
195
|
+
// Fix a bug with IE11 where the focus/blur events are triggered
|
|
196
|
+
// while the component is disabled.
|
|
197
|
+
if (muiFormControl.disabled) {
|
|
198
|
+
event.stopPropagation();
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
muiFormControl.onFocus?.(event);
|
|
202
|
+
};
|
|
226
203
|
React.useEffect(() => {
|
|
227
204
|
if (muiFormControl) {
|
|
228
205
|
muiFormControl.setAdornedStart(Boolean(startAdornment));
|
|
229
206
|
}
|
|
230
207
|
}, [muiFormControl, startAdornment]);
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
208
|
+
React.useEffect(() => {
|
|
209
|
+
if (!muiFormControl) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
if (areAllSectionsEmpty) {
|
|
213
|
+
muiFormControl.onEmpty();
|
|
214
|
+
} else {
|
|
215
|
+
muiFormControl.onFilled();
|
|
216
|
+
}
|
|
217
|
+
}, [muiFormControl, areAllSectionsEmpty]);
|
|
218
|
+
const ownerState = (0, _extends2.default)({}, props, muiFormControl);
|
|
239
219
|
const classes = useUtilityClasses(ownerState);
|
|
240
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
241
|
-
ref: handleInputRef
|
|
242
|
-
}, other, {
|
|
220
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersInputRoot, (0, _extends2.default)({}, other, {
|
|
243
221
|
className: classes.root,
|
|
244
|
-
onClick: onWrapperClick,
|
|
245
222
|
ownerState: ownerState,
|
|
246
|
-
"aria-invalid":
|
|
247
|
-
|
|
223
|
+
"aria-invalid": muiFormControl.error,
|
|
224
|
+
ref: handleRootRef,
|
|
225
|
+
children: [startAdornment, /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersInputSectionsContainer, {
|
|
248
226
|
ownerState: ownerState,
|
|
249
|
-
className: classes.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
})
|
|
227
|
+
className: classes.sectionsContainer,
|
|
228
|
+
contentEditable: contentEditable,
|
|
229
|
+
suppressContentEditableWarning: true,
|
|
230
|
+
onFocus: handleInputFocus,
|
|
231
|
+
onBlur: muiFormControl.onBlur,
|
|
232
|
+
tabIndex: tabIndex,
|
|
233
|
+
ref: sectionsContainerRef,
|
|
234
|
+
children: contentEditable ? elements.map(({
|
|
235
|
+
content,
|
|
236
|
+
before,
|
|
237
|
+
after
|
|
238
|
+
}) => `${before.children}${content.children}${after.children}`).join('') : /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
239
|
+
children: elements.map(({
|
|
240
|
+
container,
|
|
241
|
+
content,
|
|
242
|
+
before,
|
|
243
|
+
after
|
|
244
|
+
}, elementIndex) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersInputSection, (0, _extends2.default)({}, container, {
|
|
245
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(PickersInputSeparator, (0, _extends2.default)({}, before, {
|
|
246
|
+
className: (0, _clsx.default)(_pickersTextFieldClasses.pickersInputClasses.sectionBefore, before?.className)
|
|
247
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersInputContent, (0, _extends2.default)({}, content, {
|
|
248
|
+
suppressContentEditableWarning: true,
|
|
249
|
+
className: (0, _clsx.default)(_pickersTextFieldClasses.pickersInputClasses.sectionContent, content?.className),
|
|
250
|
+
ownerState
|
|
251
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersInputSeparator, (0, _extends2.default)({}, after, {
|
|
252
|
+
className: (0, _clsx.default)(_pickersTextFieldClasses.pickersInputClasses.sectionAfter, after?.className)
|
|
253
|
+
}))]
|
|
254
|
+
}), elementIndex))
|
|
255
|
+
})
|
|
261
256
|
}), endAdornment, /*#__PURE__*/(0, _jsxRuntime.jsx)(NotchedOutlineRoot, {
|
|
262
|
-
shrink:
|
|
263
|
-
notched:
|
|
257
|
+
shrink: muiFormControl.adornedStart || muiFormControl.focused || muiFormControl.filled,
|
|
258
|
+
notched: muiFormControl.adornedStart || muiFormControl.focused || muiFormControl.filled,
|
|
264
259
|
className: classes.notchedOutline,
|
|
265
|
-
label: label != null && label !== '' &&
|
|
260
|
+
label: label != null && label !== '' && muiFormControl.required ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
266
261
|
children: [label, "\u2009", '*']
|
|
267
262
|
}) : label,
|
|
268
263
|
ownerState: ownerState
|
|
269
|
-
})
|
|
264
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersInputInput, (0, _extends2.default)({
|
|
265
|
+
className: classes.input,
|
|
266
|
+
value: value,
|
|
267
|
+
onChange: onChange,
|
|
268
|
+
id: id,
|
|
269
|
+
"aria-hidden": "true",
|
|
270
|
+
tabIndex: -1
|
|
271
|
+
}, inputProps, {
|
|
272
|
+
ref: handleInputRef
|
|
273
|
+
}))]
|
|
270
274
|
}));
|
|
271
275
|
});
|
|
272
|
-
|
|
276
|
+
PickersInput.muiName = 'Input';
|