@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
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { BoxProps } from '@mui/material/Box';
|
|
3
|
+
import { PickersSectionListProps } from '../../../PickersSectionList';
|
|
4
|
+
export interface PickersInputPropsUsedByField extends Pick<PickersSectionListProps, 'elements' | 'sectionListRef' | 'contentEditable' | 'tabIndex'> {
|
|
5
|
+
/**
|
|
6
|
+
* Is `true` if the current values equals the empty value.
|
|
7
|
+
* For a single item value, it means that `value === null`
|
|
8
|
+
* For a range value, it means that `value === [null, null]`
|
|
9
|
+
*/
|
|
10
|
+
areAllSectionsEmpty: boolean;
|
|
11
|
+
onClick: React.MouseEventHandler<HTMLDivElement>;
|
|
12
|
+
onKeyDown: React.KeyboardEventHandler<HTMLDivElement>;
|
|
13
|
+
onInput: React.FormEventHandler<HTMLDivElement>;
|
|
14
|
+
onPaste: React.ClipboardEventHandler<HTMLDivElement>;
|
|
15
|
+
endAdornment?: React.ReactNode;
|
|
16
|
+
startAdornment?: React.ReactNode;
|
|
17
|
+
value: string;
|
|
18
|
+
onChange: React.ChangeEventHandler<HTMLInputElement>;
|
|
19
|
+
label?: React.ReactNode;
|
|
20
|
+
id?: string;
|
|
21
|
+
fullWidth?: boolean;
|
|
22
|
+
readOnly?: boolean;
|
|
23
|
+
inputProps?: React.HTMLAttributes<HTMLInputElement> & {
|
|
24
|
+
ref?: React.Ref<HTMLInputElement>;
|
|
25
|
+
};
|
|
26
|
+
inputRef?: React.Ref<HTMLInputElement>;
|
|
27
|
+
}
|
|
28
|
+
export interface PickersInputProps extends Omit<BoxProps, keyof PickersInputPropsUsedByField>, PickersInputPropsUsedByField {
|
|
29
|
+
ownerState?: any;
|
|
30
|
+
margin?: 'dense' | 'none' | 'normal';
|
|
31
|
+
renderSuffix?: (state: {
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
error?: boolean;
|
|
34
|
+
filled?: boolean;
|
|
35
|
+
focused?: boolean;
|
|
36
|
+
margin?: 'dense' | 'none' | 'normal';
|
|
37
|
+
required?: boolean;
|
|
38
|
+
adornedStart?: boolean;
|
|
39
|
+
}) => React.ReactNode;
|
|
40
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
41
|
+
/**
|
|
42
|
+
* The components used for each slot inside.
|
|
43
|
+
*
|
|
44
|
+
* @default {}
|
|
45
|
+
*/
|
|
46
|
+
slots?: {
|
|
47
|
+
root?: React.ElementType;
|
|
48
|
+
input?: React.ElementType;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface PickersOutlinedInputProps extends PickersInputProps {
|
|
52
|
+
notched?: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface PickersStandardInputProps extends PickersInputProps {
|
|
55
|
+
disableUnderline?: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface PickersFilledInputProps extends PickersInputProps {
|
|
58
|
+
disableUnderline?: boolean;
|
|
59
|
+
hiddenLabel?: boolean;
|
|
60
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
const _excluded = ["label", "autoFocus", "ownerState", "notched"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { useFormControl } from '@mui/material/FormControl';
|
|
6
|
+
import { styled } from '@mui/material/styles';
|
|
7
|
+
import { unstable_composeClasses as composeClasses, unstable_capitalize as capitalize } from '@mui/utils';
|
|
8
|
+
import { pickersOutlinedInputClasses, getPickersOutlinedInputUtilityClass } from './pickersInputClasses';
|
|
9
|
+
import Outline from './Outline';
|
|
10
|
+
import { PickersInputRoot, PickersInput, PickersInputSectionsContainer } from './PickersInput';
|
|
11
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
+
const OutlinedInputRoot = styled(PickersInputRoot, {
|
|
14
|
+
name: 'MuiPickersOutlinedInput',
|
|
15
|
+
slot: 'Root',
|
|
16
|
+
overridesResolver: (props, styles) => styles.root
|
|
17
|
+
})(({
|
|
18
|
+
theme,
|
|
19
|
+
ownerState
|
|
20
|
+
}) => {
|
|
21
|
+
const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
|
|
22
|
+
return {
|
|
23
|
+
padding: '0 14px',
|
|
24
|
+
borderRadius: (theme.vars || theme).shape.borderRadius,
|
|
25
|
+
[`&:hover .${pickersOutlinedInputClasses.notchedOutline}`]: {
|
|
26
|
+
borderColor: (theme.vars || theme).palette.text.primary
|
|
27
|
+
},
|
|
28
|
+
// Reset on touch devices, it doesn't add specificity
|
|
29
|
+
'@media (hover: none)': {
|
|
30
|
+
[`&:hover .${pickersOutlinedInputClasses.notchedOutline}`]: {
|
|
31
|
+
borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
[`&.${pickersOutlinedInputClasses.focused} .${pickersOutlinedInputClasses.notchedOutline}`]: {
|
|
35
|
+
borderStyle: 'solid',
|
|
36
|
+
borderColor: (theme.vars || theme).palette[ownerState.color].main,
|
|
37
|
+
borderWidth: 2
|
|
38
|
+
},
|
|
39
|
+
[`&.${pickersOutlinedInputClasses.disabled}`]: {
|
|
40
|
+
[`& .${pickersOutlinedInputClasses.notchedOutline}`]: {
|
|
41
|
+
borderColor: (theme.vars || theme).palette.action.disabled
|
|
42
|
+
},
|
|
43
|
+
'*': {
|
|
44
|
+
color: (theme.vars || theme).palette.action.disabled
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
[`&.${pickersOutlinedInputClasses.error} .${pickersOutlinedInputClasses.notchedOutline}`]: {
|
|
48
|
+
borderColor: (theme.vars || theme).palette.error.main
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
const OutlinedPickersInputSectionsContainer = styled(PickersInputSectionsContainer, {
|
|
53
|
+
name: 'MuiPickersOutlinedInput',
|
|
54
|
+
slot: 'SectionsContainer',
|
|
55
|
+
overridesResolver: (props, styles) => styles.sectionsContainer
|
|
56
|
+
})(({
|
|
57
|
+
ownerState
|
|
58
|
+
}) => _extends({
|
|
59
|
+
padding: '16.5px 0'
|
|
60
|
+
}, ownerState.size === 'small' && {
|
|
61
|
+
padding: '8.5px 0'
|
|
62
|
+
}));
|
|
63
|
+
const useUtilityClasses = ownerState => {
|
|
64
|
+
const {
|
|
65
|
+
focused,
|
|
66
|
+
disabled,
|
|
67
|
+
error,
|
|
68
|
+
classes,
|
|
69
|
+
fullWidth,
|
|
70
|
+
color,
|
|
71
|
+
size,
|
|
72
|
+
endAdornment,
|
|
73
|
+
startAdornment
|
|
74
|
+
} = ownerState;
|
|
75
|
+
const slots = {
|
|
76
|
+
root: ['root', focused && !disabled && 'focused', disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', `color${color ? capitalize(color) : ''}`, size === 'small' && 'inputSizeSmall', Boolean(startAdornment) && 'adornedStart', Boolean(endAdornment) && 'adornedEnd'],
|
|
77
|
+
notchedOutline: ['notchedOutline'],
|
|
78
|
+
before: ['before'],
|
|
79
|
+
after: ['after'],
|
|
80
|
+
content: ['content'],
|
|
81
|
+
input: ['input']
|
|
82
|
+
};
|
|
83
|
+
return composeClasses(slots, getPickersOutlinedInputUtilityClass, classes);
|
|
84
|
+
};
|
|
85
|
+
export const PickersOutlinedInput = /*#__PURE__*/React.forwardRef(function PickersOutlinedInput(props, ref) {
|
|
86
|
+
const {
|
|
87
|
+
label,
|
|
88
|
+
ownerState: ownerStateProp,
|
|
89
|
+
notched
|
|
90
|
+
} = props,
|
|
91
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
92
|
+
const muiFormControl = useFormControl();
|
|
93
|
+
const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {
|
|
94
|
+
color: (muiFormControl == null ? void 0 : muiFormControl.color) || 'primary'
|
|
95
|
+
});
|
|
96
|
+
const classes = useUtilityClasses(ownerState);
|
|
97
|
+
return /*#__PURE__*/_jsx(PickersInput, _extends({
|
|
98
|
+
slots: {
|
|
99
|
+
root: OutlinedInputRoot,
|
|
100
|
+
input: OutlinedPickersInputSectionsContainer
|
|
101
|
+
},
|
|
102
|
+
renderSuffix: state => /*#__PURE__*/_jsx(Outline, {
|
|
103
|
+
shrink: Boolean(notched || state.adornedStart || state.focused || state.filled),
|
|
104
|
+
notched: Boolean(notched || state.adornedStart || state.focused || state.filled),
|
|
105
|
+
className: classes.notchedOutline,
|
|
106
|
+
label: label != null && label !== '' && muiFormControl != null && muiFormControl.required ? /*#__PURE__*/_jsxs(React.Fragment, {
|
|
107
|
+
children: [label, "\u2009", '*']
|
|
108
|
+
}) : label,
|
|
109
|
+
ownerState: ownerState
|
|
110
|
+
})
|
|
111
|
+
}, other, {
|
|
112
|
+
label: label,
|
|
113
|
+
classes: classes,
|
|
114
|
+
ref: ref
|
|
115
|
+
}));
|
|
116
|
+
});
|
|
117
|
+
PickersInput.muiName = 'Input';
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
const _excluded = ["label", "autoFocus", "ownerState"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import { useFormControl } from '@mui/material/FormControl';
|
|
6
|
+
import { styled } from '@mui/material/styles';
|
|
7
|
+
import { unstable_composeClasses as composeClasses, unstable_capitalize as capitalize } from '@mui/utils';
|
|
8
|
+
import { pickersStandardInputClasses, getPickersStandardInputUtilityClass } from './pickersInputClasses';
|
|
9
|
+
import { PickersInputRoot, PickersInput } from './PickersInput';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const StandardInputRoot = styled(PickersInputRoot, {
|
|
12
|
+
name: 'MuiPickersStandardInput',
|
|
13
|
+
slot: 'Root',
|
|
14
|
+
overridesResolver: (props, styles) => styles.root
|
|
15
|
+
})(({
|
|
16
|
+
theme,
|
|
17
|
+
ownerState
|
|
18
|
+
}) => {
|
|
19
|
+
const light = theme.palette.mode === 'light';
|
|
20
|
+
let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
|
|
21
|
+
if (theme.vars) {
|
|
22
|
+
bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;
|
|
23
|
+
}
|
|
24
|
+
return _extends({
|
|
25
|
+
'label + &': {
|
|
26
|
+
marginTop: 16
|
|
27
|
+
}
|
|
28
|
+
}, !ownerState.disableUnderline && {
|
|
29
|
+
'&:after': {
|
|
30
|
+
background: 'red',
|
|
31
|
+
borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color].main}`,
|
|
32
|
+
left: 0,
|
|
33
|
+
bottom: 0,
|
|
34
|
+
// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
|
|
35
|
+
content: '""',
|
|
36
|
+
position: 'absolute',
|
|
37
|
+
right: 0,
|
|
38
|
+
transform: 'scaleX(0)',
|
|
39
|
+
transition: theme.transitions.create('transform', {
|
|
40
|
+
duration: theme.transitions.duration.shorter,
|
|
41
|
+
easing: theme.transitions.easing.easeOut
|
|
42
|
+
}),
|
|
43
|
+
pointerEvents: 'none' // Transparent to the hover style.
|
|
44
|
+
},
|
|
45
|
+
[`&.${pickersStandardInputClasses.focused}:after`]: {
|
|
46
|
+
// translateX(0) is a workaround for Safari transform scale bug
|
|
47
|
+
// See https://github.com/mui/material-ui/issues/31766
|
|
48
|
+
transform: 'scaleX(1) translateX(0)'
|
|
49
|
+
},
|
|
50
|
+
[`&.${pickersStandardInputClasses.error}`]: {
|
|
51
|
+
'&:before, &:after': {
|
|
52
|
+
borderBottomColor: (theme.vars || theme).palette.error.main
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
'&:before': {
|
|
56
|
+
borderBottom: `1px solid ${bottomLineColor}`,
|
|
57
|
+
left: 0,
|
|
58
|
+
bottom: 0,
|
|
59
|
+
// Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
|
|
60
|
+
content: '"\\00a0"',
|
|
61
|
+
position: 'absolute',
|
|
62
|
+
right: 0,
|
|
63
|
+
transition: theme.transitions.create('border-bottom-color', {
|
|
64
|
+
duration: theme.transitions.duration.shorter
|
|
65
|
+
}),
|
|
66
|
+
pointerEvents: 'none' // Transparent to the hover style.
|
|
67
|
+
},
|
|
68
|
+
[`&:hover:not(.${pickersStandardInputClasses.disabled}, .${pickersStandardInputClasses.error}):before`]: {
|
|
69
|
+
borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,
|
|
70
|
+
// Reset on touch devices, it doesn't add specificity
|
|
71
|
+
'@media (hover: none)': {
|
|
72
|
+
borderBottom: `1px solid ${bottomLineColor}`
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
[`&.${pickersStandardInputClasses.disabled}:before`]: {
|
|
76
|
+
borderBottomStyle: 'dotted'
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
const useUtilityClasses = ownerState => {
|
|
81
|
+
const {
|
|
82
|
+
focused,
|
|
83
|
+
disabled,
|
|
84
|
+
error,
|
|
85
|
+
classes,
|
|
86
|
+
fullWidth,
|
|
87
|
+
color,
|
|
88
|
+
size,
|
|
89
|
+
endAdornment,
|
|
90
|
+
startAdornment
|
|
91
|
+
} = ownerState;
|
|
92
|
+
const slots = {
|
|
93
|
+
root: ['root', focused && !disabled && 'focused', disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', `color${capitalize(color)}`, size === 'small' && 'inputSizeSmall', Boolean(startAdornment) && 'adornedStart', Boolean(endAdornment) && 'adornedEnd'],
|
|
94
|
+
notchedOutline: ['notchedOutline'],
|
|
95
|
+
before: ['before'],
|
|
96
|
+
after: ['after'],
|
|
97
|
+
content: ['content'],
|
|
98
|
+
input: ['input']
|
|
99
|
+
};
|
|
100
|
+
return composeClasses(slots, getPickersStandardInputUtilityClass, classes);
|
|
101
|
+
};
|
|
102
|
+
export const PickersStandardInput = /*#__PURE__*/React.forwardRef(function PickersStandardInput(props, ref) {
|
|
103
|
+
const {
|
|
104
|
+
label,
|
|
105
|
+
ownerState: ownerStateProp
|
|
106
|
+
} = props,
|
|
107
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
108
|
+
const muiFormControl = useFormControl();
|
|
109
|
+
const ownerState = _extends({}, props, ownerStateProp, muiFormControl, {
|
|
110
|
+
color: (muiFormControl == null ? void 0 : muiFormControl.color) || 'primary'
|
|
111
|
+
});
|
|
112
|
+
const classes = useUtilityClasses(ownerState);
|
|
113
|
+
return /*#__PURE__*/_jsx(PickersInput, _extends({
|
|
114
|
+
slots: {
|
|
115
|
+
root: StandardInputRoot
|
|
116
|
+
}
|
|
117
|
+
}, other, {
|
|
118
|
+
label: label,
|
|
119
|
+
classes: classes,
|
|
120
|
+
ref: ref
|
|
121
|
+
}));
|
|
122
|
+
});
|
|
123
|
+
PickersInput.muiName = 'Input';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { PickersInput } from './PickersInput';
|
|
2
|
+
export { PickersInputProps } from './PickersInput.types';
|
|
3
|
+
export { pickersInputClasses, getPickersInputUtilityClass } from './pickersInputClasses';
|
|
4
|
+
export type { PickersInputClasses, PickersInputClassKey } from './pickersInputClasses';
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export interface PickersInputClasses {
|
|
2
|
+
/** Styles applied to the root element. */
|
|
3
|
+
root: string;
|
|
4
|
+
/** Styles applied to the root element if focused. */
|
|
5
|
+
focused: string;
|
|
6
|
+
/** State class applied to the root element if `disabled=true`. */
|
|
7
|
+
disabled: string;
|
|
8
|
+
/** State class applied to the root element if `readOnly=true`. */
|
|
9
|
+
readOnly: string;
|
|
10
|
+
/** State class applied to the root element if `error=true`. */
|
|
11
|
+
error: string;
|
|
12
|
+
/** Styles applied to the NotchedOutline element. */
|
|
13
|
+
notchedOutline: string;
|
|
14
|
+
/** Styles applied to the real hidden input element. */
|
|
15
|
+
input: string;
|
|
16
|
+
/** Styles applied to the container of the sections. */
|
|
17
|
+
sectionsContainer: string;
|
|
18
|
+
/** Styles applied to the content of a section. */
|
|
19
|
+
sectionContent: string;
|
|
20
|
+
/** Styles applied to the separator before a section */
|
|
21
|
+
sectionBefore: string;
|
|
22
|
+
/** Styles applied to the separator after a section */
|
|
23
|
+
sectionAfter: string;
|
|
24
|
+
/** Styles applied to the root if there is a startAdornment present */
|
|
25
|
+
adornedStart: string;
|
|
26
|
+
/** Styles applied to the root if there is an endAdornment present */
|
|
27
|
+
adornedEnd: string;
|
|
28
|
+
/** Styles applied to the root element unless `disableUnderline={true}`. */
|
|
29
|
+
underline?: string;
|
|
30
|
+
}
|
|
31
|
+
export type PickersInputClassKey = keyof PickersInputClasses;
|
|
32
|
+
export declare function getPickersInputUtilityClass(slot: string): string;
|
|
33
|
+
export declare function getPickersOutlinedInputUtilityClass(slot: string): string;
|
|
34
|
+
export declare function getPickersFilledInputUtilityClass(slot: string): string;
|
|
35
|
+
export declare function getPickersStandardInputUtilityClass(slot: string): string;
|
|
36
|
+
export declare const pickersInputClasses: Record<keyof PickersInputClasses, string>;
|
|
37
|
+
export declare const pickersOutlinedInputClasses: {
|
|
38
|
+
underline: string;
|
|
39
|
+
disabled: string;
|
|
40
|
+
input: string;
|
|
41
|
+
readOnly: string;
|
|
42
|
+
error: string;
|
|
43
|
+
focused: string;
|
|
44
|
+
root: string;
|
|
45
|
+
adornedStart: string;
|
|
46
|
+
adornedEnd: string;
|
|
47
|
+
notchedOutline: string;
|
|
48
|
+
sectionContent: string;
|
|
49
|
+
sectionsContainer: string;
|
|
50
|
+
sectionBefore: string;
|
|
51
|
+
sectionAfter: string;
|
|
52
|
+
};
|
|
53
|
+
export declare const pickersFilledInputClasses: {
|
|
54
|
+
underline: string;
|
|
55
|
+
disabled: string;
|
|
56
|
+
input: string;
|
|
57
|
+
readOnly: string;
|
|
58
|
+
error: string;
|
|
59
|
+
focused: string;
|
|
60
|
+
root: string;
|
|
61
|
+
adornedStart: string;
|
|
62
|
+
adornedEnd: string;
|
|
63
|
+
notchedOutline: string;
|
|
64
|
+
sectionContent: string;
|
|
65
|
+
sectionsContainer: string;
|
|
66
|
+
sectionBefore: string;
|
|
67
|
+
sectionAfter: string;
|
|
68
|
+
};
|
|
69
|
+
export declare const pickersStandardInputClasses: {
|
|
70
|
+
underline: string;
|
|
71
|
+
disabled: string;
|
|
72
|
+
input: string;
|
|
73
|
+
readOnly: string;
|
|
74
|
+
error: string;
|
|
75
|
+
focused: string;
|
|
76
|
+
root: string;
|
|
77
|
+
adornedStart: string;
|
|
78
|
+
adornedEnd: string;
|
|
79
|
+
notchedOutline: string;
|
|
80
|
+
sectionContent: string;
|
|
81
|
+
sectionsContainer: string;
|
|
82
|
+
sectionBefore: string;
|
|
83
|
+
sectionAfter: string;
|
|
84
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
|
|
3
|
+
export function getPickersInputUtilityClass(slot) {
|
|
4
|
+
return generateUtilityClass('MuiPickersInput', slot);
|
|
5
|
+
}
|
|
6
|
+
export function getPickersOutlinedInputUtilityClass(slot) {
|
|
7
|
+
return generateUtilityClass('MuiPickersOutlinedInput', slot);
|
|
8
|
+
}
|
|
9
|
+
export function getPickersFilledInputUtilityClass(slot) {
|
|
10
|
+
return generateUtilityClass('MuiPickersFilledInput', slot);
|
|
11
|
+
}
|
|
12
|
+
export function getPickersStandardInputUtilityClass(slot) {
|
|
13
|
+
return generateUtilityClass('MuiPickersStandardInput', slot);
|
|
14
|
+
}
|
|
15
|
+
export const pickersInputClasses = generateUtilityClasses('MuiPickersInput', ['root', 'focused', 'disabled', 'error', 'notchedOutline', 'sectionContent', 'sectionBefore', 'sectionAfter', 'adornedStart', 'adornedEnd', 'input']);
|
|
16
|
+
export const pickersOutlinedInputClasses = _extends({}, pickersInputClasses, generateUtilityClasses('MuiPickersOutlinedInput', ['root', 'notchedOutline', 'input']));
|
|
17
|
+
export const pickersFilledInputClasses = _extends({}, pickersInputClasses, generateUtilityClasses('MuiPickersFilledInput', ['root', 'underline', 'input']));
|
|
18
|
+
export const pickersStandardInputClasses = _extends({}, pickersInputClasses, generateUtilityClasses('MuiPickersStandardInput', ['root', 'underline', 'input']));
|
|
@@ -3,7 +3,7 @@ import { DialogProps as MuiDialogProps } from '@mui/material/Dialog';
|
|
|
3
3
|
import { PaperProps as MuiPaperProps } from '@mui/material/Paper/Paper';
|
|
4
4
|
import { TransitionProps as MuiTransitionProps } from '@mui/material/transitions/transition';
|
|
5
5
|
import { UsePickerValueActions } from '../hooks/usePicker/usePickerValue.types';
|
|
6
|
-
export interface
|
|
6
|
+
export interface PickersModalDialogSlots {
|
|
7
7
|
/**
|
|
8
8
|
* Custom component for the dialog inside which the views are rendered on mobile.
|
|
9
9
|
* @default PickersModalDialogRoot
|
|
@@ -20,7 +20,7 @@ export interface PickersModalDialogSlotsComponent {
|
|
|
20
20
|
*/
|
|
21
21
|
mobileTransition?: React.JSXElementConstructor<MuiTransitionProps>;
|
|
22
22
|
}
|
|
23
|
-
export interface
|
|
23
|
+
export interface PickersModalDialogSlotProps {
|
|
24
24
|
/**
|
|
25
25
|
* Props passed down to the [`Dialog`](https://mui.com/material-ui/api/dialog/) component.
|
|
26
26
|
*/
|
|
@@ -39,12 +39,12 @@ export interface PickersModalDialogProps extends UsePickerValueActions {
|
|
|
39
39
|
* Overridable component slots.
|
|
40
40
|
* @default {}
|
|
41
41
|
*/
|
|
42
|
-
slots?:
|
|
42
|
+
slots?: PickersModalDialogSlots;
|
|
43
43
|
/**
|
|
44
44
|
* The props used for each component slot.
|
|
45
45
|
* @default {}
|
|
46
46
|
*/
|
|
47
|
-
slotProps?:
|
|
47
|
+
slotProps?: PickersModalDialogSlotProps;
|
|
48
48
|
open: boolean;
|
|
49
49
|
}
|
|
50
50
|
export declare function PickersModalDialog(props: React.PropsWithChildren<PickersModalDialogProps>): React.JSX.Element;
|
|
@@ -9,7 +9,7 @@ import { UsePickerValueActions } from '../hooks/usePicker/usePickerValue.types';
|
|
|
9
9
|
interface PickersPopperOwnerState extends PickerPopperProps {
|
|
10
10
|
placement: PopperPlacementType;
|
|
11
11
|
}
|
|
12
|
-
export interface
|
|
12
|
+
export interface PickersPopperSlots {
|
|
13
13
|
/**
|
|
14
14
|
* Custom component for the paper rendered inside the desktop picker's Popper.
|
|
15
15
|
* @default PickersPopperPaper
|
|
@@ -31,7 +31,7 @@ export interface PickersPopperSlotsComponent {
|
|
|
31
31
|
*/
|
|
32
32
|
popper?: React.ElementType<MuiPopperProps>;
|
|
33
33
|
}
|
|
34
|
-
export interface
|
|
34
|
+
export interface PickersPopperSlotProps {
|
|
35
35
|
/**
|
|
36
36
|
* Props passed down to the desktop [Paper](https://mui.com/material-ui/api/paper/) component.
|
|
37
37
|
*/
|
|
@@ -57,8 +57,8 @@ export interface PickerPopperProps extends UsePickerValueActions {
|
|
|
57
57
|
containerRef?: React.Ref<HTMLDivElement>;
|
|
58
58
|
children?: React.ReactNode;
|
|
59
59
|
onBlur?: () => void;
|
|
60
|
-
slots?:
|
|
61
|
-
slotProps?:
|
|
60
|
+
slots?: PickersPopperSlots;
|
|
61
|
+
slotProps?: PickersPopperSlotProps;
|
|
62
62
|
classes?: Partial<PickersPopperClasses>;
|
|
63
63
|
shouldRestoreFocus?: () => boolean;
|
|
64
64
|
reduceAnimations?: boolean;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import
|
|
3
|
-
export declare const PickersTextField: React.ForwardRefExoticComponent<Omit<PickersTextFieldProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
2
|
+
export declare const PickersTextField: React.ForwardRefExoticComponent<(Omit<import("./PickersTextField.types").PickersStandardTextFieldProps, "ref"> | Omit<import("./PickersTextField.types").PickersOutlinedTextFieldProps, "ref"> | Omit<import("./PickersTextField.types").PickersFilledTextFieldProps, "ref">) & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["onFocus", "onBlur", "className", "color", "disabled", "error", "
|
|
3
|
+
const _excluded = ["onFocus", "onBlur", "className", "color", "disabled", "error", "variant", "required", "InputProps", "inputProps", "inputRef", "sectionListRef", "elements", "areAllSectionsEmpty", "onClick", "onKeyDown", "onKeyUp", "onPaste", "onInput", "endAdornment", "startAdornment", "tabIndex", "contentEditable", "focused", "value", "onChange", "fullWidth", "id", "helperText", "FormHelperTextProps", "label", "InputLabelProps"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { styled } from '@mui/material/styles';
|
|
@@ -10,9 +10,16 @@ import InputLabel from '@mui/material/InputLabel';
|
|
|
10
10
|
import FormHelperText from '@mui/material/FormHelperText';
|
|
11
11
|
import FormControl from '@mui/material/FormControl';
|
|
12
12
|
import { getPickersTextFieldUtilityClass } from './pickersTextFieldClasses';
|
|
13
|
-
import {
|
|
13
|
+
import { PickersOutlinedInput } from '../PickersInput/PickersOutlinedInput';
|
|
14
|
+
import { PickersFilledInput } from '../PickersInput/PickersFilledInput';
|
|
15
|
+
import { PickersStandardInput } from '../PickersInput/PickersStandardInput';
|
|
14
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
+
const VARIANT_COMPONENT = {
|
|
19
|
+
standard: PickersStandardInput,
|
|
20
|
+
filled: PickersFilledInput,
|
|
21
|
+
outlined: PickersOutlinedInput
|
|
22
|
+
};
|
|
16
23
|
const PickersTextFieldRoot = styled(FormControl, {
|
|
17
24
|
name: 'MuiPickersTextField',
|
|
18
25
|
slot: 'Root',
|
|
@@ -39,13 +46,13 @@ export const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTe
|
|
|
39
46
|
color = 'primary',
|
|
40
47
|
disabled = false,
|
|
41
48
|
error = false,
|
|
42
|
-
required = false,
|
|
43
49
|
variant = 'outlined',
|
|
50
|
+
required = false,
|
|
44
51
|
// Props used by PickersInput
|
|
45
52
|
InputProps,
|
|
46
53
|
inputProps,
|
|
47
54
|
inputRef,
|
|
48
|
-
|
|
55
|
+
sectionListRef,
|
|
49
56
|
elements,
|
|
50
57
|
areAllSectionsEmpty,
|
|
51
58
|
onClick,
|
|
@@ -83,6 +90,7 @@ export const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTe
|
|
|
83
90
|
variant
|
|
84
91
|
});
|
|
85
92
|
const classes = useUtilityClasses(ownerState);
|
|
93
|
+
const PickersInputComponent = VARIANT_COMPONENT[variant];
|
|
86
94
|
return /*#__PURE__*/_jsxs(PickersTextFieldRoot, _extends({
|
|
87
95
|
className: clsx(classes.root, className),
|
|
88
96
|
ref: handleRootRef,
|
|
@@ -93,6 +101,7 @@ export const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTe
|
|
|
93
101
|
variant: variant,
|
|
94
102
|
error: error,
|
|
95
103
|
color: color,
|
|
104
|
+
fullWidth: fullWidth,
|
|
96
105
|
required: required,
|
|
97
106
|
ownerState: ownerState
|
|
98
107
|
}, other, {
|
|
@@ -101,7 +110,7 @@ export const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTe
|
|
|
101
110
|
id: inputLabelId
|
|
102
111
|
}, InputLabelProps, {
|
|
103
112
|
children: label
|
|
104
|
-
})), /*#__PURE__*/_jsx(
|
|
113
|
+
})), /*#__PURE__*/_jsx(PickersInputComponent, _extends({
|
|
105
114
|
elements: elements,
|
|
106
115
|
areAllSectionsEmpty: areAllSectionsEmpty,
|
|
107
116
|
onClick: onClick,
|
|
@@ -118,7 +127,7 @@ export const PickersTextField = /*#__PURE__*/React.forwardRef(function PickersTe
|
|
|
118
127
|
fullWidth: fullWidth,
|
|
119
128
|
inputProps: inputProps,
|
|
120
129
|
inputRef: inputRef,
|
|
121
|
-
|
|
130
|
+
sectionListRef: sectionListRef,
|
|
122
131
|
label: label
|
|
123
132
|
}, InputProps)), helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
|
|
124
133
|
id: helperTextId
|
|
@@ -2,15 +2,15 @@ import * as React from 'react';
|
|
|
2
2
|
import { FormControlProps } from '@mui/material/FormControl';
|
|
3
3
|
import { FormHelperTextProps } from '@mui/material/FormHelperText';
|
|
4
4
|
import { InputLabelProps } from '@mui/material/InputLabel';
|
|
5
|
-
import {
|
|
5
|
+
import { TextFieldVariants } from '@mui/material/TextField';
|
|
6
|
+
import { PickersFilledInputProps, PickersInputPropsUsedByField, PickersOutlinedInputProps, PickersStandardInputProps } from '../PickersInput/PickersInput.types';
|
|
6
7
|
interface PickersTextFieldPropsUsedByField {
|
|
7
8
|
onFocus: React.FocusEventHandler<HTMLDivElement>;
|
|
8
9
|
onBlur: React.FocusEventHandler<HTMLDivElement>;
|
|
9
10
|
disabled: boolean;
|
|
10
11
|
error: boolean;
|
|
11
12
|
}
|
|
12
|
-
export interface
|
|
13
|
-
InputProps?: PickersInputOtherProps;
|
|
13
|
+
export interface PickersBaseTextFieldProps extends PickersInputPropsUsedByField, PickersTextFieldPropsUsedByField, Omit<FormControlProps, keyof PickersInputPropsUsedByField | keyof PickersTextFieldPropsUsedByField> {
|
|
14
14
|
FormHelperTextProps?: Partial<FormHelperTextProps>;
|
|
15
15
|
InputLabelProps?: Partial<InputLabelProps>;
|
|
16
16
|
/**
|
|
@@ -18,4 +18,47 @@ export interface PickersTextFieldProps extends PickersInputPropsUsedByField, Pic
|
|
|
18
18
|
*/
|
|
19
19
|
helperText?: React.ReactNode;
|
|
20
20
|
}
|
|
21
|
+
export interface PickersStandardTextFieldProps extends PickersBaseTextFieldProps {
|
|
22
|
+
/**
|
|
23
|
+
* The variant to use.
|
|
24
|
+
* @default 'outlined'
|
|
25
|
+
*/
|
|
26
|
+
variant?: 'standard';
|
|
27
|
+
/**
|
|
28
|
+
* Props applied to the Input element.
|
|
29
|
+
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
30
|
+
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
31
|
+
* component depending on the `variant` prop value.
|
|
32
|
+
*/
|
|
33
|
+
InputProps?: Partial<PickersStandardInputProps>;
|
|
34
|
+
}
|
|
35
|
+
export interface PickersOutlinedTextFieldProps extends PickersBaseTextFieldProps {
|
|
36
|
+
/**
|
|
37
|
+
* The variant to use.
|
|
38
|
+
* @default 'outlined'
|
|
39
|
+
*/
|
|
40
|
+
variant?: 'outlined';
|
|
41
|
+
/**
|
|
42
|
+
* Props applied to the Input element.
|
|
43
|
+
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
44
|
+
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
45
|
+
* component depending on the `variant` prop value.
|
|
46
|
+
*/
|
|
47
|
+
InputProps?: Partial<PickersOutlinedInputProps>;
|
|
48
|
+
}
|
|
49
|
+
export interface PickersFilledTextFieldProps extends PickersBaseTextFieldProps {
|
|
50
|
+
/**
|
|
51
|
+
* The variant to use.
|
|
52
|
+
* @default 'outlined'
|
|
53
|
+
*/
|
|
54
|
+
variant?: 'filled';
|
|
55
|
+
/**
|
|
56
|
+
* Props applied to the Input element.
|
|
57
|
+
* It will be a [`FilledInput`](/material-ui/api/filled-input/),
|
|
58
|
+
* [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
|
|
59
|
+
* component depending on the `variant` prop value.
|
|
60
|
+
*/
|
|
61
|
+
InputProps?: Partial<PickersFilledInputProps>;
|
|
62
|
+
}
|
|
63
|
+
export type PickersTextFieldProps<Variant extends TextFieldVariants = TextFieldVariants> = Variant extends 'filled' ? PickersFilledTextFieldProps : Variant extends 'standard' ? PickersStandardTextFieldProps : PickersOutlinedTextFieldProps;
|
|
21
64
|
export {};
|