@mui/x-date-pickers-pro 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/DateRangeCalendar/DateRangeCalendar.js +1 -1
- package/DateRangeCalendar/DateRangeCalendar.types.d.ts +6 -6
- package/DateRangeCalendar/index.d.ts +1 -1
- package/DateRangePicker/DateRangePicker.js +6 -1
- package/DateRangePicker/DateRangePicker.types.d.ts +6 -6
- package/DateRangePicker/index.d.ts +1 -1
- package/DateRangePicker/shared.d.ts +5 -5
- package/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
- package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +6 -6
- package/DesktopDateRangePicker/index.d.ts +1 -1
- package/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
- package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +6 -6
- package/MobileDateRangePicker/index.d.ts +1 -1
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -52
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +4 -4
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -52
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +4 -4
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -52
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +4 -4
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
- package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -9
- package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +2 -2
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +5 -9
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +2 -2
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +5 -9
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +2 -2
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
- package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +6 -6
- package/StaticDateRangePicker/index.d.ts +1 -1
- package/index.js +1 -1
- package/internals/hooks/useDesktopRangePicker/index.d.ts +1 -1
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
- package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -7
- package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +6 -5
- package/internals/hooks/useMobileRangePicker/index.d.ts +1 -1
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
- package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -7
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
- package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -2
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -1
- package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
- package/internals/hooks/useStaticRangePicker/index.d.ts +1 -1
- package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +5 -5
- package/internals/models/rangePickerProps.d.ts +5 -0
- package/internals/utils/releaseInfo.js +1 -1
- package/legacy/DateRangeCalendar/DateRangeCalendar.js +1 -1
- package/legacy/DateRangePicker/DateRangePicker.js +6 -1
- package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
- package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -48
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -48
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -48
- package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +19 -47
- package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -4
- package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +19 -47
- package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -4
- package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -48
- package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -4
- package/legacy/index.js +1 -1
- package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
- package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
- package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
- package/legacy/internals/utils/releaseInfo.js +1 -1
- package/modern/DateRangeCalendar/DateRangeCalendar.js +1 -1
- package/modern/DateRangePicker/DateRangePicker.js +6 -1
- package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
- package/modern/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -52
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -52
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -52
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
- package/modern/index.js +1 -1
- package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
- package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
- package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
- package/modern/internals/utils/releaseInfo.js +1 -1
- package/node/DateRangeCalendar/DateRangeCalendar.js +1 -1
- package/node/DateRangePicker/DateRangePicker.js +6 -1
- package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +6 -1
- package/node/MobileDateRangePicker/MobileDateRangePicker.js +6 -1
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -51
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -51
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -51
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -50
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +1 -5
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +17 -50
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +1 -5
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +18 -51
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +1 -5
- package/node/index.js +1 -1
- package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +3 -1
- package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +3 -1
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +2 -10
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +2 -10
- package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +2 -10
- package/node/internals/utils/releaseInfo.js +1 -1
- package/package.json +5 -5
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
4
|
-
_excluded2 = ["inputRef"],
|
|
5
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
6
|
import MuiTextField from '@mui/material/TextField';
|
|
7
|
+
import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
9
8
|
import { useThemeProps } from '@mui/material/styles';
|
|
10
9
|
import { useSlotProps } from '@mui/base/utils';
|
|
11
10
|
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
22
21
|
*
|
|
23
22
|
* - [SingleInputDateTimeRangeField API](https://mui.com/x/api/single-input-date-time-range-field/)
|
|
24
23
|
*/
|
|
25
|
-
const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateTimeRangeField(inProps,
|
|
24
|
+
const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputDateTimeRangeField(inProps, inRef) {
|
|
26
25
|
var _slots$textField;
|
|
27
26
|
const themeProps = useThemeProps({
|
|
28
27
|
props: inProps,
|
|
@@ -37,58 +36,26 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
|
|
|
37
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
38
37
|
const ownerState = themeProps;
|
|
39
38
|
const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
39
|
+
const textFieldProps = useSlotProps({
|
|
40
|
+
elementType: TextField,
|
|
41
|
+
externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
|
|
42
|
+
externalForwardedProps: other,
|
|
43
|
+
ownerState,
|
|
44
|
+
additionalProps: {
|
|
45
|
+
ref: inRef
|
|
46
|
+
}
|
|
47
|
+
});
|
|
50
48
|
|
|
51
49
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
52
50
|
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
53
51
|
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}),
|
|
58
|
-
{
|
|
59
|
-
ref: inputRef,
|
|
60
|
-
onPaste,
|
|
61
|
-
onKeyDown,
|
|
62
|
-
inputMode,
|
|
63
|
-
readOnly,
|
|
64
|
-
clearable,
|
|
65
|
-
onClear
|
|
66
|
-
} = _useSingleInputDateTi,
|
|
67
|
-
fieldProps = _objectWithoutPropertiesLoose(_useSingleInputDateTi, _excluded3);
|
|
68
|
-
const {
|
|
69
|
-
InputProps: ProcessedInputProps,
|
|
70
|
-
fieldProps: processedFieldProps
|
|
71
|
-
} = useClearableField({
|
|
72
|
-
onClear,
|
|
73
|
-
clearable,
|
|
74
|
-
fieldProps,
|
|
75
|
-
InputProps: fieldProps.InputProps,
|
|
52
|
+
const fieldResponse = useSingleInputDateTimeRangeField(textFieldProps);
|
|
53
|
+
const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
|
|
54
|
+
const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
|
|
76
55
|
slots,
|
|
77
56
|
slotProps
|
|
78
|
-
});
|
|
79
|
-
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
80
|
-
ref: ref
|
|
81
|
-
}, processedFieldProps, {
|
|
82
|
-
InputProps: _extends({}, ProcessedInputProps, {
|
|
83
|
-
readOnly
|
|
84
|
-
}),
|
|
85
|
-
inputProps: _extends({}, fieldProps.inputProps, {
|
|
86
|
-
inputMode,
|
|
87
|
-
onPaste,
|
|
88
|
-
onKeyDown,
|
|
89
|
-
ref: inputRef
|
|
90
|
-
})
|
|
91
57
|
}));
|
|
58
|
+
return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
|
|
92
59
|
});
|
|
93
60
|
SingleInputDateTimeRangeField.fieldType = 'single-input';
|
|
94
61
|
process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes = {
|
|
@@ -300,7 +267,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
300
267
|
* 4. If `null` is provided, no section will be selected
|
|
301
268
|
* If not provided, the selected sections will be handled internally.
|
|
302
269
|
*/
|
|
303
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
270
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
304
271
|
endIndex: PropTypes.number.isRequired,
|
|
305
272
|
startIndex: PropTypes.number.isRequired
|
|
306
273
|
})]),
|
|
@@ -2,12 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
3
3
|
import TextField from '@mui/material/TextField';
|
|
4
4
|
import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals/models/fields';
|
|
5
|
-
import {
|
|
5
|
+
import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
|
|
6
6
|
import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internals/models';
|
|
7
|
-
export interface UseSingleInputDateTimeRangeFieldParams<TDate, TChildProps extends {}> {
|
|
8
|
-
props: UseSingleInputDateTimeRangeFieldComponentProps<TDate, TChildProps>;
|
|
9
|
-
inputRef?: React.Ref<HTMLInputElement>;
|
|
10
|
-
}
|
|
11
7
|
export interface UseSingleInputDateTimeRangeFieldProps<TDate> extends UseDateTimeRangeFieldProps<TDate> {
|
|
12
8
|
}
|
|
13
9
|
export type UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps extends {}> = UseDateTimeRangeFieldDefaultizedProps<TDate> & AdditionalProps;
|
|
@@ -17,15 +13,15 @@ export interface SingleInputDateTimeRangeFieldProps<TDate> extends UseSingleInpu
|
|
|
17
13
|
* Overridable component slots.
|
|
18
14
|
* @default {}
|
|
19
15
|
*/
|
|
20
|
-
slots?:
|
|
16
|
+
slots?: SingleInputDateTimeRangeFieldSlots;
|
|
21
17
|
/**
|
|
22
18
|
* The props used for each component slot.
|
|
23
19
|
* @default {}
|
|
24
20
|
*/
|
|
25
|
-
slotProps?:
|
|
21
|
+
slotProps?: SingleInputDateTimeRangeFieldSlotProps<TDate>;
|
|
26
22
|
}
|
|
27
23
|
export type SingleInputDateTimeRangeFieldOwnerState<TDate> = SingleInputDateTimeRangeFieldProps<TDate>;
|
|
28
|
-
export interface
|
|
24
|
+
export interface SingleInputDateTimeRangeFieldSlots extends UseClearableFieldSlots {
|
|
29
25
|
/**
|
|
30
26
|
* Form control with an input to render the value.
|
|
31
27
|
* Receives the same props as `@mui/material/TextField`.
|
|
@@ -33,6 +29,6 @@ export interface SingleInputDateTimeRangeFieldSlotsComponent extends FieldSlotsC
|
|
|
33
29
|
*/
|
|
34
30
|
textField?: React.ElementType;
|
|
35
31
|
}
|
|
36
|
-
export interface
|
|
32
|
+
export interface SingleInputDateTimeRangeFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
|
|
37
33
|
textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateTimeRangeFieldOwnerState<TDate>>;
|
|
38
34
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseSingleInputDateTimeRangeFieldComponentProps, UseSingleInputDateTimeRangeFieldDefaultizedProps, UseSingleInputDateTimeRangeFieldProps } from './SingleInputDateTimeRangeField.types';
|
|
2
2
|
export declare const useDefaultizedTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseSingleInputDateTimeRangeFieldProps<TDate>) => UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
|
|
3
|
-
export declare const useSingleInputDateTimeRangeField: <TDate, TChildProps extends {}>(
|
|
3
|
+
export declare const useSingleInputDateTimeRangeField: <TDate, TChildProps extends {}>(inProps: UseSingleInputDateTimeRangeFieldComponentProps<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputDateTimeRangeFieldProps<any>>>;
|
|
@@ -19,17 +19,13 @@ export const useDefaultizedTimeRangeFieldProps = props => {
|
|
|
19
19
|
disableIgnoringDatePartForTimeValidation: Boolean(props.minDateTime || props.maxDateTime)
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
|
-
export const useSingleInputDateTimeRangeField =
|
|
23
|
-
props: inProps,
|
|
24
|
-
inputRef
|
|
25
|
-
}) => {
|
|
22
|
+
export const useSingleInputDateTimeRangeField = inProps => {
|
|
26
23
|
const props = useDefaultizedTimeRangeFieldProps(inProps);
|
|
27
24
|
const {
|
|
28
25
|
forwardedProps,
|
|
29
26
|
internalProps
|
|
30
27
|
} = splitFieldInternalAndForwardedProps(props, 'date-time');
|
|
31
28
|
return useField({
|
|
32
|
-
inputRef,
|
|
33
29
|
forwardedProps,
|
|
34
30
|
internalProps,
|
|
35
31
|
valueManager: rangeValueManager,
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"]
|
|
4
|
-
_excluded2 = ["inputRef"],
|
|
5
|
-
_excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
|
|
3
|
+
const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import PropTypes from 'prop-types';
|
|
8
|
-
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
9
6
|
import MuiTextField from '@mui/material/TextField';
|
|
7
|
+
import { useClearableField } from '@mui/x-date-pickers/hooks';
|
|
8
|
+
import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
|
|
10
9
|
import { useThemeProps } from '@mui/material/styles';
|
|
11
10
|
import { useSlotProps } from '@mui/base/utils';
|
|
12
11
|
import { refType } from '@mui/utils';
|
|
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
22
21
|
*
|
|
23
22
|
* - [SingleInputTimeRangeField API](https://mui.com/x/api/single-input-time-range-field/)
|
|
24
23
|
*/
|
|
25
|
-
const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputTimeRangeField(inProps,
|
|
24
|
+
const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleInputTimeRangeField(inProps, inRef) {
|
|
26
25
|
var _slots$textField;
|
|
27
26
|
const themeProps = useThemeProps({
|
|
28
27
|
props: inProps,
|
|
@@ -37,58 +36,26 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
|
|
|
37
36
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
38
37
|
const ownerState = themeProps;
|
|
39
38
|
const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
textFieldProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
39
|
+
const textFieldProps = useSlotProps({
|
|
40
|
+
elementType: TextField,
|
|
41
|
+
externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
|
|
42
|
+
externalForwardedProps: other,
|
|
43
|
+
ownerState,
|
|
44
|
+
additionalProps: {
|
|
45
|
+
ref: inRef
|
|
46
|
+
}
|
|
47
|
+
});
|
|
50
48
|
|
|
51
49
|
// TODO: Remove when mui/material-ui#35088 will be merged
|
|
52
50
|
textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
|
|
53
51
|
textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}),
|
|
58
|
-
{
|
|
59
|
-
ref: inputRef,
|
|
60
|
-
onPaste,
|
|
61
|
-
onKeyDown,
|
|
62
|
-
inputMode,
|
|
63
|
-
readOnly,
|
|
64
|
-
clearable,
|
|
65
|
-
onClear
|
|
66
|
-
} = _useSingleInputTimeRa,
|
|
67
|
-
fieldProps = _objectWithoutPropertiesLoose(_useSingleInputTimeRa, _excluded3);
|
|
68
|
-
const {
|
|
69
|
-
InputProps: ProcessedInputProps,
|
|
70
|
-
fieldProps: processedFieldProps
|
|
71
|
-
} = useClearableField({
|
|
72
|
-
onClear,
|
|
73
|
-
clearable,
|
|
74
|
-
fieldProps,
|
|
75
|
-
InputProps: fieldProps.InputProps,
|
|
52
|
+
const fieldResponse = useSingleInputTimeRangeField(textFieldProps);
|
|
53
|
+
const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
|
|
54
|
+
const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
|
|
76
55
|
slots,
|
|
77
56
|
slotProps
|
|
78
|
-
});
|
|
79
|
-
return /*#__PURE__*/_jsx(TextField, _extends({
|
|
80
|
-
ref: ref
|
|
81
|
-
}, processedFieldProps, {
|
|
82
|
-
InputProps: _extends({}, ProcessedInputProps, {
|
|
83
|
-
readOnly
|
|
84
|
-
}),
|
|
85
|
-
inputProps: _extends({}, fieldProps.inputProps, {
|
|
86
|
-
inputMode,
|
|
87
|
-
onPaste,
|
|
88
|
-
onKeyDown,
|
|
89
|
-
ref: inputRef
|
|
90
|
-
})
|
|
91
57
|
}));
|
|
58
|
+
return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
|
|
92
59
|
});
|
|
93
60
|
SingleInputTimeRangeField.fieldType = 'single-input';
|
|
94
61
|
process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
@@ -284,7 +251,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
284
251
|
* 4. If `null` is provided, no section will be selected
|
|
285
252
|
* If not provided, the selected sections will be handled internally.
|
|
286
253
|
*/
|
|
287
|
-
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
254
|
+
selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
|
|
288
255
|
endIndex: PropTypes.number.isRequired,
|
|
289
256
|
startIndex: PropTypes.number.isRequired
|
|
290
257
|
})]),
|
|
@@ -2,12 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
3
3
|
import TextField from '@mui/material/TextField';
|
|
4
4
|
import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals/models/fields';
|
|
5
|
-
import {
|
|
5
|
+
import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
|
|
6
6
|
import { UseTimeRangeFieldDefaultizedProps, UseTimeRangeFieldProps } from '../internals/models';
|
|
7
|
-
export interface UseSingleInputTimeRangeFieldParams<TDate, TChildProps extends {}> {
|
|
8
|
-
props: UseSingleInputTimeRangeFieldComponentProps<TDate, TChildProps>;
|
|
9
|
-
inputRef?: React.Ref<HTMLInputElement>;
|
|
10
|
-
}
|
|
11
7
|
export interface UseSingleInputTimeRangeFieldProps<TDate> extends UseTimeRangeFieldProps<TDate> {
|
|
12
8
|
}
|
|
13
9
|
export type UseSingleInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps extends {}> = UseTimeRangeFieldDefaultizedProps<TDate> & AdditionalProps;
|
|
@@ -17,15 +13,15 @@ export interface SingleInputTimeRangeFieldProps<TDate> extends UseSingleInputTim
|
|
|
17
13
|
* Overridable component slots.
|
|
18
14
|
* @default {}
|
|
19
15
|
*/
|
|
20
|
-
slots?:
|
|
16
|
+
slots?: SingleInputTimeRangeFieldSlots;
|
|
21
17
|
/**
|
|
22
18
|
* The props used for each component slot.
|
|
23
19
|
* @default {}
|
|
24
20
|
*/
|
|
25
|
-
slotProps?:
|
|
21
|
+
slotProps?: SingleInputTimeRangeFieldSlotProps<TDate>;
|
|
26
22
|
}
|
|
27
23
|
export type SingleInputTimeRangeFieldOwnerState<TDate> = SingleInputTimeRangeFieldProps<TDate>;
|
|
28
|
-
export interface
|
|
24
|
+
export interface SingleInputTimeRangeFieldSlots extends UseClearableFieldSlots {
|
|
29
25
|
/**
|
|
30
26
|
* Form control with an input to render the value.
|
|
31
27
|
* Receives the same props as `@mui/material/TextField`.
|
|
@@ -33,6 +29,6 @@ export interface SingleInputTimeRangeFieldSlotsComponent extends FieldSlotsCompo
|
|
|
33
29
|
*/
|
|
34
30
|
textField?: React.ElementType;
|
|
35
31
|
}
|
|
36
|
-
export interface
|
|
32
|
+
export interface SingleInputTimeRangeFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
|
|
37
33
|
textField?: SlotComponentProps<typeof TextField, {}, SingleInputTimeRangeFieldOwnerState<TDate>>;
|
|
38
34
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UseSingleInputTimeRangeFieldComponentProps, UseSingleInputTimeRangeFieldDefaultizedProps, UseSingleInputTimeRangeFieldProps } from './SingleInputTimeRangeField.types';
|
|
2
2
|
export declare const useDefaultizedTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseSingleInputTimeRangeFieldProps<TDate>) => UseSingleInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
|
|
3
|
-
export declare const useSingleInputTimeRangeField: <TDate, TChildProps extends {}>(
|
|
3
|
+
export declare const useSingleInputTimeRangeField: <TDate, TChildProps extends {}>(inProps: UseSingleInputTimeRangeFieldComponentProps<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputTimeRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputTimeRangeFieldProps<any>>>;
|
|
@@ -13,17 +13,13 @@ export const useDefaultizedTimeRangeFieldProps = props => {
|
|
|
13
13
|
format: (_props$format = props.format) != null ? _props$format : defaultFormat
|
|
14
14
|
});
|
|
15
15
|
};
|
|
16
|
-
export const useSingleInputTimeRangeField =
|
|
17
|
-
props: inProps,
|
|
18
|
-
inputRef
|
|
19
|
-
}) => {
|
|
16
|
+
export const useSingleInputTimeRangeField = inProps => {
|
|
20
17
|
const props = useDefaultizedTimeRangeFieldProps(inProps);
|
|
21
18
|
const {
|
|
22
19
|
forwardedProps,
|
|
23
20
|
internalProps
|
|
24
21
|
} = splitFieldInternalAndForwardedProps(props, 'time');
|
|
25
22
|
return useField({
|
|
26
|
-
inputRef,
|
|
27
23
|
forwardedProps,
|
|
28
24
|
internalProps,
|
|
29
25
|
valueManager: rangeValueManager,
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { MakeOptional } from '@mui/x-date-pickers/internals';
|
|
2
|
-
import { StaticRangeOnlyPickerProps,
|
|
3
|
-
import { BaseDateRangePickerProps,
|
|
4
|
-
export interface
|
|
2
|
+
import { StaticRangeOnlyPickerProps, UseStaticRangePickerSlots, UseStaticRangePickerSlotProps } from '../internals/hooks/useStaticRangePicker';
|
|
3
|
+
import { BaseDateRangePickerProps, BaseDateRangePickerSlots, BaseDateRangePickerSlotProps } from '../DateRangePicker/shared';
|
|
4
|
+
export interface StaticDateRangePickerSlots<TDate> extends BaseDateRangePickerSlots<TDate>, UseStaticRangePickerSlots<TDate, 'day'> {
|
|
5
5
|
}
|
|
6
|
-
export interface
|
|
6
|
+
export interface StaticDateRangePickerSlotProps<TDate> extends BaseDateRangePickerSlotProps<TDate>, UseStaticRangePickerSlotProps<TDate, 'day'> {
|
|
7
7
|
}
|
|
8
8
|
export interface StaticDateRangePickerProps<TDate> extends BaseDateRangePickerProps<TDate>, MakeOptional<StaticRangeOnlyPickerProps, 'displayStaticWrapperAs'> {
|
|
9
9
|
/**
|
|
10
10
|
* Overridable component slots.
|
|
11
11
|
* @default {}
|
|
12
12
|
*/
|
|
13
|
-
slots?:
|
|
13
|
+
slots?: StaticDateRangePickerSlots<TDate>;
|
|
14
14
|
/**
|
|
15
15
|
* The props used for each component slot.
|
|
16
16
|
* @default {}
|
|
17
17
|
*/
|
|
18
|
-
slotProps?:
|
|
18
|
+
slotProps?: StaticDateRangePickerSlotProps<TDate>;
|
|
19
19
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { StaticDateRangePicker } from './StaticDateRangePicker';
|
|
2
|
-
export type { StaticDateRangePickerProps,
|
|
2
|
+
export type { StaticDateRangePickerProps, StaticDateRangePickerSlots, StaticDateRangePickerSlotProps, } from './StaticDateRangePicker.types';
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useDesktopRangePicker } from './useDesktopRangePicker';
|
|
2
|
-
export type {
|
|
2
|
+
export type { UseDesktopRangePickerSlots, UseDesktopRangePickerSlotProps, DesktopRangeOnlyPickerProps, } from './useDesktopRangePicker.types';
|
|
@@ -30,6 +30,7 @@ export const useDesktopRangePicker = _ref => {
|
|
|
30
30
|
timezone,
|
|
31
31
|
label,
|
|
32
32
|
inputRef,
|
|
33
|
+
name,
|
|
33
34
|
readOnly,
|
|
34
35
|
disabled,
|
|
35
36
|
autoFocus,
|
|
@@ -86,7 +87,8 @@ export const useDesktopRangePicker = _ref => {
|
|
|
86
87
|
autoFocus: autoFocus && !props.open,
|
|
87
88
|
ref: fieldContainerRef
|
|
88
89
|
}, fieldType === 'single-input' && {
|
|
89
|
-
inputRef
|
|
90
|
+
inputRef,
|
|
91
|
+
name
|
|
90
92
|
}),
|
|
91
93
|
ownerState: props
|
|
92
94
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { UsePickerParams, BasePickerProps,
|
|
1
|
+
import { UsePickerParams, BasePickerProps, PickersPopperSlots, PickersPopperSlotProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
|
|
2
2
|
import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
|
|
3
|
-
import {
|
|
3
|
+
import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
|
|
4
4
|
import { DateRange, RangeFieldSection, BaseRangeNonStaticPickerProps } from '../../models';
|
|
5
5
|
import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
|
|
6
|
-
import {
|
|
7
|
-
export interface
|
|
6
|
+
import { RangePickerFieldSlots, RangePickerFieldSlotProps } from '../useEnrichedRangePickerFieldProps';
|
|
7
|
+
export interface UseDesktopRangePickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlots, ExportedPickersLayoutSlots<DateRange<TDate>, TDate, TView>, RangePickerFieldSlots {
|
|
8
8
|
}
|
|
9
|
-
export interface
|
|
9
|
+
export interface UseDesktopRangePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersPopperSlotProps, ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotProps<TDate> {
|
|
10
10
|
toolbar?: ExportedBaseToolbarProps;
|
|
11
11
|
}
|
|
12
12
|
export interface DesktopRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, RangeFieldSection>, UsePickerViewsNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {
|
|
@@ -20,12 +20,12 @@ export interface UseDesktopRangePickerProps<TDate, TView extends DateOrTimeViewW
|
|
|
20
20
|
* Overridable component slots.
|
|
21
21
|
* @default {}
|
|
22
22
|
*/
|
|
23
|
-
slots:
|
|
23
|
+
slots: UseDesktopRangePickerSlots<TDate, TView>;
|
|
24
24
|
/**
|
|
25
25
|
* The props used for each component slot.
|
|
26
26
|
* @default {}
|
|
27
27
|
*/
|
|
28
|
-
slotProps?:
|
|
28
|
+
slotProps?: UseDesktopRangePickerSlotProps<TDate, TView>;
|
|
29
29
|
}
|
|
30
30
|
export interface DesktopRangePickerAdditionalViewProps extends Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'> {
|
|
31
31
|
}
|
|
@@ -4,12 +4,13 @@ import Typography, { TypographyProps } from '@mui/material/Typography';
|
|
|
4
4
|
import TextField, { TextFieldProps } from '@mui/material/TextField';
|
|
5
5
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
6
6
|
import { BaseSingleInputFieldProps } from '@mui/x-date-pickers/models';
|
|
7
|
+
import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
|
|
7
8
|
import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
|
|
8
9
|
import { PickersInputLocaleText } from '@mui/x-date-pickers/locales';
|
|
9
|
-
import { BaseFieldProps, UsePickerResponse, WrapperVariant, UsePickerProps
|
|
10
|
+
import { BaseFieldProps, UsePickerResponse, WrapperVariant, UsePickerProps } from '@mui/x-date-pickers/internals';
|
|
10
11
|
import { BaseMultiInputFieldProps, DateRange, RangeFieldSection, RangePosition, UseDateRangeFieldProps } from '../models';
|
|
11
12
|
import { UseRangePositionResponse } from './useRangePosition';
|
|
12
|
-
export interface
|
|
13
|
+
export interface RangePickerFieldSlots extends UseClearableFieldSlots {
|
|
13
14
|
field: React.ElementType;
|
|
14
15
|
/**
|
|
15
16
|
* Element rendered at the root.
|
|
@@ -29,7 +30,7 @@ export interface RangePickerFieldSlotsComponent extends FieldSlotsComponents {
|
|
|
29
30
|
*/
|
|
30
31
|
textField?: React.ElementType<TextFieldProps>;
|
|
31
32
|
}
|
|
32
|
-
export interface
|
|
33
|
+
export interface RangePickerFieldSlotProps<TDate> extends UseClearableFieldSlotProps {
|
|
33
34
|
field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, TDate, RangeFieldSection, unknown>>, {}, UsePickerProps<DateRange<TDate>, TDate, any, RangeFieldSection, any, any, any>>;
|
|
34
35
|
fieldRoot?: SlotComponentProps<typeof Stack, {}, Record<string, any>>;
|
|
35
36
|
fieldSeparator?: SlotComponentProps<typeof Typography, {}, Record<string, any>>;
|
|
@@ -47,8 +48,8 @@ export interface UseEnrichedRangePickerFieldPropsParams<TDate, TView extends Dat
|
|
|
47
48
|
inputRef?: React.Ref<HTMLInputElement>;
|
|
48
49
|
label?: React.ReactNode;
|
|
49
50
|
localeText: PickersInputLocaleText<TDate> | undefined;
|
|
50
|
-
pickerSlotProps:
|
|
51
|
-
pickerSlots:
|
|
51
|
+
pickerSlotProps: RangePickerFieldSlotProps<TDate> | undefined;
|
|
52
|
+
pickerSlots: RangePickerFieldSlots | undefined;
|
|
52
53
|
fieldProps: FieldProps;
|
|
53
54
|
anchorRef?: React.Ref<HTMLDivElement>;
|
|
54
55
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { useMobileRangePicker } from './useMobileRangePicker';
|
|
2
|
-
export type {
|
|
2
|
+
export type { UseMobileRangePickerSlots, UseMobileRangePickerSlotProps, MobileRangeOnlyPickerProps, } from './useMobileRangePicker.types';
|
|
@@ -31,6 +31,7 @@ export const useMobileRangePicker = _ref => {
|
|
|
31
31
|
timezone,
|
|
32
32
|
label,
|
|
33
33
|
inputRef,
|
|
34
|
+
name,
|
|
34
35
|
readOnly,
|
|
35
36
|
disabled,
|
|
36
37
|
disableOpenPicker,
|
|
@@ -72,7 +73,8 @@ export const useMobileRangePicker = _ref => {
|
|
|
72
73
|
formatDensity,
|
|
73
74
|
timezone
|
|
74
75
|
}, fieldType === 'single-input' && {
|
|
75
|
-
inputRef
|
|
76
|
+
inputRef,
|
|
77
|
+
name
|
|
76
78
|
}),
|
|
77
79
|
ownerState: props
|
|
78
80
|
});
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { UsePickerParams, BasePickerProps,
|
|
2
|
-
import {
|
|
1
|
+
import { UsePickerParams, BasePickerProps, PickersModalDialogSlots, PickersModalDialogSlotProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
|
|
2
|
+
import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
|
|
3
3
|
import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals/models';
|
|
4
4
|
import { DateRange, RangeFieldSection, BaseRangeNonStaticPickerProps } from '../../models';
|
|
5
5
|
import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
|
|
6
|
-
import {
|
|
7
|
-
export interface
|
|
6
|
+
import { RangePickerFieldSlots, RangePickerFieldSlotProps } from '../useEnrichedRangePickerFieldProps';
|
|
7
|
+
export interface UseMobileRangePickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlots, ExportedPickersLayoutSlots<DateRange<TDate>, TDate, TView>, RangePickerFieldSlots {
|
|
8
8
|
}
|
|
9
|
-
export interface
|
|
9
|
+
export interface UseMobileRangePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends PickersModalDialogSlotProps, ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotProps<TDate> {
|
|
10
10
|
toolbar?: ExportedBaseToolbarProps;
|
|
11
11
|
}
|
|
12
12
|
export interface MobileRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, RangeFieldSection>, UsePickerViewsNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {
|
|
@@ -16,12 +16,12 @@ export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeViewWi
|
|
|
16
16
|
* Overridable component slots.
|
|
17
17
|
* @default {}
|
|
18
18
|
*/
|
|
19
|
-
slots:
|
|
19
|
+
slots: UseMobileRangePickerSlots<TDate, TView>;
|
|
20
20
|
/**
|
|
21
21
|
* The props used for each component slot.
|
|
22
22
|
* @default {}
|
|
23
23
|
*/
|
|
24
|
-
slotProps?:
|
|
24
|
+
slotProps?: UseMobileRangePickerSlotProps<TDate, TView>;
|
|
25
25
|
}
|
|
26
26
|
export interface MobileRangePickerAdditionalViewProps extends Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'> {
|
|
27
27
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { UseMultiInputDateRangeFieldParams } from '../../../MultiInputDateRangeField/MultiInputDateRangeField.types';
|
|
2
2
|
import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
|
|
3
|
-
export declare const useMultiInputDateRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps,
|
|
3
|
+
export declare const useMultiInputDateRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
|
|
@@ -9,10 +9,8 @@ import { excludeProps } from './shared';
|
|
|
9
9
|
export const useMultiInputDateRangeField = ({
|
|
10
10
|
sharedProps: inSharedProps,
|
|
11
11
|
startTextFieldProps,
|
|
12
|
-
startInputRef,
|
|
13
12
|
unstableStartFieldRef,
|
|
14
13
|
endTextFieldProps,
|
|
15
|
-
endInputRef,
|
|
16
14
|
unstableEndFieldRef
|
|
17
15
|
}) => {
|
|
18
16
|
const sharedProps = useDefaultizedDateRangeFieldProps(inSharedProps);
|
|
@@ -97,14 +95,8 @@ export const useMultiInputDateRangeField = ({
|
|
|
97
95
|
selectedSections,
|
|
98
96
|
onSelectedSectionsChange
|
|
99
97
|
});
|
|
100
|
-
const startDateResponse = useDateField(
|
|
101
|
-
|
|
102
|
-
inputRef: startInputRef
|
|
103
|
-
});
|
|
104
|
-
const endDateResponse = useDateField({
|
|
105
|
-
props: endFieldProps,
|
|
106
|
-
inputRef: endInputRef
|
|
107
|
-
});
|
|
98
|
+
const startDateResponse = useDateField(startFieldProps);
|
|
99
|
+
const endDateResponse = useDateField(endFieldProps);
|
|
108
100
|
|
|
109
101
|
/* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
|
|
110
102
|
return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { UseMultiInputDateTimeRangeFieldDefaultizedProps, UseMultiInputDateTimeRangeFieldParams, UseMultiInputDateTimeRangeFieldProps } from '../../../MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types';
|
|
2
2
|
import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
|
|
3
3
|
export declare const useDefaultizedDateTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseMultiInputDateTimeRangeFieldProps<TDate>) => UseMultiInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
|
|
4
|
-
export declare const useMultiInputDateTimeRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps,
|
|
4
|
+
export declare const useMultiInputDateTimeRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateTimeRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
|
|
@@ -25,10 +25,8 @@ export const useDefaultizedDateTimeRangeFieldProps = props => {
|
|
|
25
25
|
export const useMultiInputDateTimeRangeField = ({
|
|
26
26
|
sharedProps: inSharedProps,
|
|
27
27
|
startTextFieldProps,
|
|
28
|
-
startInputRef,
|
|
29
28
|
unstableStartFieldRef,
|
|
30
29
|
endTextFieldProps,
|
|
31
|
-
endInputRef,
|
|
32
30
|
unstableEndFieldRef
|
|
33
31
|
}) => {
|
|
34
32
|
const sharedProps = useDefaultizedDateTimeRangeFieldProps(inSharedProps);
|
|
@@ -110,14 +108,8 @@ export const useMultiInputDateTimeRangeField = ({
|
|
|
110
108
|
selectedSections,
|
|
111
109
|
onSelectedSectionsChange
|
|
112
110
|
});
|
|
113
|
-
const startDateResponse = useDateTimeField(
|
|
114
|
-
|
|
115
|
-
inputRef: startInputRef
|
|
116
|
-
});
|
|
117
|
-
const endDateResponse = useDateTimeField({
|
|
118
|
-
props: endFieldProps,
|
|
119
|
-
inputRef: endInputRef
|
|
120
|
-
});
|
|
111
|
+
const startDateResponse = useDateTimeField(startFieldProps);
|
|
112
|
+
const endDateResponse = useDateTimeField(endFieldProps);
|
|
121
113
|
|
|
122
114
|
/* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
|
|
123
115
|
return {
|
|
@@ -5,10 +5,8 @@ import { RangeFieldSection } from '../../models/fields';
|
|
|
5
5
|
export interface UseMultiInputRangeFieldParams<TSharedProps extends {}, TTextFieldSlotProps extends {}> {
|
|
6
6
|
sharedProps: TSharedProps;
|
|
7
7
|
startTextFieldProps: TTextFieldSlotProps;
|
|
8
|
-
startInputRef?: React.Ref<HTMLInputElement>;
|
|
9
8
|
unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
|
|
10
9
|
endTextFieldProps: TTextFieldSlotProps;
|
|
11
|
-
endInputRef?: React.Ref<HTMLInputElement>;
|
|
12
10
|
unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
|
|
13
11
|
}
|
|
14
12
|
export interface UseMultiInputRangeFieldResponse<TForwardedProps extends {}> {
|