@mui/x-date-pickers-pro 6.0.2 → 6.0.3
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 +58 -5
- package/DateRangePickerDay/DateRangePickerDay.js +3 -6
- package/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
- package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +8 -10
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
- package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +8 -8
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
- package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +8 -8
- package/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
- package/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
- package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
- package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
- package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
- package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/internal/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +4 -4
- package/internal/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +4 -4
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -2
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +1 -2
- package/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
- package/internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +14 -2
- package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +1 -2
- package/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
- package/internal/hooks/useRangePickerInputProps.d.ts +2 -2
- package/internal/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -1
- package/internal/models/dateRange.d.ts +2 -1
- package/internal/models/dateTimeRange.d.ts +2 -1
- package/internal/models/fields.d.ts +1 -1
- package/internal/models/timeRange.d.ts +2 -1
- package/internal/utils/releaseInfo.js +1 -1
- package/internal/utils/valueManagers.js +3 -9
- package/legacy/DateRangePickerDay/DateRangePickerDay.js +4 -7
- package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
- package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +13 -2
- package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -2
- package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
- package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +4 -2
- package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
- package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +4 -2
- package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
- package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +4 -2
- package/legacy/index.js +1 -1
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
- package/legacy/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
- package/legacy/internal/utils/releaseInfo.js +1 -1
- package/legacy/internal/utils/valueManagers.js +2 -8
- package/modern/DateRangePickerDay/DateRangePickerDay.js +3 -6
- package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
- package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
- package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
- package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
- package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
- package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
- package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
- package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
- package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
- package/modern/index.js +1 -1
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
- package/modern/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
- package/modern/internal/utils/releaseInfo.js +1 -1
- package/modern/internal/utils/valueManagers.js +3 -9
- package/node/DateRangePickerDay/DateRangePickerDay.js +3 -6
- package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +2 -0
- package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -3
- package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +14 -3
- package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -0
- package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +5 -3
- package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -0
- package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +5 -3
- package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -0
- package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +5 -3
- package/node/index.js +1 -1
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +23 -15
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +14 -12
- package/node/internal/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +14 -12
- package/node/internal/utils/releaseInfo.js +1 -1
- package/node/internal/utils/valueManagers.js +2 -8
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,60 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 6.0.3
|
|
7
|
+
|
|
8
|
+
_Mar 23, 2023_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🌍 Improve Bulgarian (bg-BG), Persian (fa-IR), Polish (pl-PL), and Dutch (nl-NL) locales
|
|
13
|
+
- 🐞 Bugfixes
|
|
14
|
+
- 📚 Documentation improvements
|
|
15
|
+
|
|
16
|
+
### `@mui/x-data-grid@v6.0.3` / `@mui/x-data-grid-pro@v6.0.3` / `@mui/x-data-grid-premium@v6.0.3`
|
|
17
|
+
|
|
18
|
+
#### Changes
|
|
19
|
+
|
|
20
|
+
- [DataGrid] Fix overflow calculation issue in column group headers (#8246) @MBilalShafi
|
|
21
|
+
- [DataGridPro] Fix column reorder glitches (#8335) @cherniavskii
|
|
22
|
+
- [l10n] Improve Bulgarian (bg-BG) locale (#8315) @todevmilen
|
|
23
|
+
- [l10n] Improve Persian (fa-IR) locale (#8268) @fakhamatia
|
|
24
|
+
- [l10n] improve Dutch (nl-NL) locale (#8317) @developenguin
|
|
25
|
+
|
|
26
|
+
### `@mui/x-date-pickers@v6.0.3` / `@mui/x-date-pickers-pro@v6.0.3`
|
|
27
|
+
|
|
28
|
+
#### Changes
|
|
29
|
+
|
|
30
|
+
- [fields] Allow to reset the value from the outside (#8287) @flaviendelangle
|
|
31
|
+
- [fields] Cleanup section order generation (#8290) @flaviendelangle
|
|
32
|
+
- [fields] Fix Safari input selection resetting regression (#8295) @LukasTy
|
|
33
|
+
- [fields] Fix editing when all sections are selected (#8330) @flaviendelangle
|
|
34
|
+
- [fields] Fix iOS browser scroll jumping when entering data (#8328) @LukasTy
|
|
35
|
+
- [fields] New prop `unstableFieldRef` to imperatively interact with the selected sections (#8235) @flaviendelangle
|
|
36
|
+
- [pickers] Align date calendar colors (#8318) @LukasTy
|
|
37
|
+
- [pickers] Support invalid dates from the field (#8298) @flaviendelangle
|
|
38
|
+
- [l10n] Improve Persian (fa-IR) locale (#8268) @fakhamatia
|
|
39
|
+
- [l10n] Improve Polish (pl-PL) locale (#8344) @drmats
|
|
40
|
+
- [l10n] improve Dutch (nl-NL) locale (#8317) @developenguin
|
|
41
|
+
|
|
42
|
+
### Docs
|
|
43
|
+
|
|
44
|
+
- [docs] Create examples of pickers with custom fields (#8034) @flaviendelangle
|
|
45
|
+
- [docs] Fix 301 redirections @oliviertassinari
|
|
46
|
+
- [docs] Fix link to React's docs @oliviertassinari
|
|
47
|
+
- [docs] Fix pro license links to point to the same page (#8303) @LukasTy
|
|
48
|
+
- [docs] Give an incentive to upgrade (#8269) @oliviertassinari
|
|
49
|
+
- [docs] Improve contrast on data grid navigation (#8239) @oliviertassinari
|
|
50
|
+
- [docs] Update shortcuts page to use slotProps (#8288) @dcorb
|
|
51
|
+
- [docs] Explain the `shouldDisableTime` migration in more depth (#8348) @LukasTy
|
|
52
|
+
|
|
53
|
+
### Core
|
|
54
|
+
|
|
55
|
+
- [core] Remove unused `visx` chart package (#8259) @LukasTy
|
|
56
|
+
- [core] Upgrade monorepo (#8331) @cherniavskii
|
|
57
|
+
- [charts] Project setup (#8308) @alexfauquette
|
|
58
|
+
- [test] Track visual regressions of column menu and filter/column panels (#8095) @cherniavskii
|
|
59
|
+
|
|
6
60
|
## 6.0.2
|
|
7
61
|
|
|
8
62
|
_Mar 16, 2023_
|
|
@@ -98,11 +152,9 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
|
|
|
98
152
|
|
|
99
153
|
_Mar 3, 2023_
|
|
100
154
|
|
|
101
|
-
We're
|
|
155
|
+
We're excited to [announce the first v6 stable release](https://mui.com/blog/mui-x-v6/)! 🎉🚀
|
|
102
156
|
|
|
103
157
|
This is now the officially supported major version, where we'll keep rolling out new features, bug fixes, and improvements.
|
|
104
|
-
Head over to the [what's new](https://mui.com/x/whats-new/) page to check the highlighted new features.
|
|
105
|
-
|
|
106
158
|
Migration guides are available with a complete list of the breaking changes:
|
|
107
159
|
|
|
108
160
|
- [Data Grid](https://mui.com/x/migration/migration-data-grid-v5/)
|
|
@@ -119,6 +171,7 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
|
|
|
119
171
|
- experimentalFeatures={{ rowPinning: true }}
|
|
120
172
|
/>
|
|
121
173
|
```
|
|
174
|
+
|
|
122
175
|
- ⚡️ Improved grid performance by rows and cells memoization (#7846) @m4theushw
|
|
123
176
|
- ✨ Fields have a distinct visual state when empty (#8069) @LukasTy
|
|
124
177
|
- 🌍 Improve Czech (cs-CZ) locale (#8113) @BlastyCZ
|
|
@@ -556,14 +609,14 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
|
|
|
556
609
|
```
|
|
557
610
|
|
|
558
611
|
- The `error` and `onError` props were removed - the grid no longer catches errors during rendering.
|
|
559
|
-
To catch errors that happen during rendering use the [error boundary](https://
|
|
612
|
+
To catch errors that happen during rendering use the [error boundary](https://react.dev/reference/react/Component#catching-rendering-errors-with-an-error-boundary).
|
|
560
613
|
|
|
561
614
|
- The `components.ErrorOverlay` slot was removed.
|
|
562
615
|
|
|
563
616
|
- The `GridErrorOverlay` component was removed.
|
|
564
617
|
|
|
565
618
|
- The `componentError` event was removed.
|
|
566
|
-
Use the [error boundary](https://
|
|
619
|
+
Use the [error boundary](https://react.dev/reference/react/Component#catching-rendering-errors-with-an-error-boundary) to catch errors thrown during rendering.
|
|
567
620
|
|
|
568
621
|
- The `apiRef.current.showError` method was removed.
|
|
569
622
|
The UI for errors is no longer handled by the grid.
|
|
@@ -80,7 +80,7 @@ const DateRangePickerDayRoot = styled('div', {
|
|
|
80
80
|
}, ownerState.isHighlighting && {
|
|
81
81
|
borderRadius: 0,
|
|
82
82
|
color: (theme.vars || theme).palette.primary.contrastText,
|
|
83
|
-
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.
|
|
83
|
+
backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity),
|
|
84
84
|
'&:first-of-type': startBorderStyle,
|
|
85
85
|
'&:last-of-type': endBorderStyle
|
|
86
86
|
}, (ownerState.isStartOfHighlighting || ownerState.isFirstVisibleCell) && _extends({}, startBorderStyle, {
|
|
@@ -139,7 +139,6 @@ const DateRangePickerDayDay = styled(PickersDay, {
|
|
|
139
139
|
[`&.${dateRangePickerDayClasses.notSelectedDate}`]: styles.notSelectedDate
|
|
140
140
|
}, styles.day]
|
|
141
141
|
})(({
|
|
142
|
-
theme,
|
|
143
142
|
ownerState
|
|
144
143
|
}) => _extends({
|
|
145
144
|
// Required to overlap preview border
|
|
@@ -147,12 +146,10 @@ const DateRangePickerDayDay = styled(PickersDay, {
|
|
|
147
146
|
'& > *': {
|
|
148
147
|
transform: 'scale(0.9)'
|
|
149
148
|
}
|
|
150
|
-
}, !ownerState.selected && {
|
|
151
|
-
backgroundColor: 'transparent'
|
|
152
149
|
}, !ownerState.selected && ownerState.isHighlighting && {
|
|
153
|
-
|
|
150
|
+
opacity: 0.7,
|
|
154
151
|
[`&.${pickersDayClasses.dayOutsideMonth}`]: {
|
|
155
|
-
|
|
152
|
+
opacity: 0.4
|
|
156
153
|
}
|
|
157
154
|
}, ownerState.draggable && {
|
|
158
155
|
cursor: 'grab'
|
|
@@ -287,6 +287,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
|
|
|
287
287
|
* The system prop, which allows defining system overrides as well as additional CSS styles.
|
|
288
288
|
*/
|
|
289
289
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
290
|
+
unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
291
|
+
unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
290
292
|
/**
|
|
291
293
|
* The selected value.
|
|
292
294
|
* Used when the component is controlled.
|
|
@@ -3,22 +3,20 @@ import { SlotComponentProps } from '@mui/base/utils';
|
|
|
3
3
|
import Typography from '@mui/material/Typography';
|
|
4
4
|
import Stack, { StackProps } from '@mui/material/Stack';
|
|
5
5
|
import TextField from '@mui/material/TextField';
|
|
6
|
+
import { FieldRef } from '@mui/x-date-pickers/models';
|
|
6
7
|
import { UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
|
|
7
8
|
import { UseDateRangeFieldProps } from '../internal/models/dateRange';
|
|
8
9
|
import { RangePosition } from '../internal/models/range';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
export interface UseMultiInputDateRangeFieldProps<TDate> extends UseDateRangeFieldProps<TDate> {
|
|
10
|
+
import { UseMultiInputRangeFieldParams } from '../internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
|
|
11
|
+
import { RangeFieldSection } from '../internal/models/fields';
|
|
12
|
+
export type UseMultiInputDateRangeFieldParams<TDate, TTextFieldProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TDate>, TTextFieldProps>;
|
|
13
|
+
export interface UseMultiInputDateRangeFieldProps<TDate> extends Omit<UseDateRangeFieldProps<TDate>, 'unstableFieldRef'> {
|
|
14
|
+
unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
|
|
15
|
+
unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
|
|
17
16
|
}
|
|
18
17
|
export type UseMultiInputDateRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate>> & UseMultiInputDateRangeFieldProps<TDate>;
|
|
19
|
-
export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, Omit<StackProps, 'position'
|
|
18
|
+
export interface MultiInputDateRangeFieldProps<TDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
|
|
20
19
|
autoFocus?: boolean;
|
|
21
|
-
}> {
|
|
22
20
|
/**
|
|
23
21
|
* Overridable components.
|
|
24
22
|
* @default {}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
|
|
3
|
+
const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "shouldDisableDate", "minDate", "maxDate", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
|
|
4
4
|
_excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
|
|
5
5
|
_excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
|
|
6
6
|
import * as React from 'react';
|
|
@@ -65,7 +65,10 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
65
65
|
disableFuture,
|
|
66
66
|
disablePast,
|
|
67
67
|
selectedSections,
|
|
68
|
-
onSelectedSectionsChange
|
|
68
|
+
onSelectedSectionsChange,
|
|
69
|
+
unstableStartFieldRef,
|
|
70
|
+
unstableEndFieldRef,
|
|
71
|
+
autoFocus
|
|
69
72
|
} = themeProps,
|
|
70
73
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
71
74
|
const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
|
|
@@ -85,6 +88,9 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
85
88
|
const startTextFieldProps = useSlotProps({
|
|
86
89
|
elementType: TextField,
|
|
87
90
|
externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
|
|
91
|
+
additionalProps: {
|
|
92
|
+
autoFocus
|
|
93
|
+
},
|
|
88
94
|
ownerState: _extends({}, ownerState, {
|
|
89
95
|
position: 'start'
|
|
90
96
|
})
|
|
@@ -129,7 +135,9 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
|
|
|
129
135
|
startTextFieldProps,
|
|
130
136
|
endTextFieldProps,
|
|
131
137
|
startInputRef: startTextFieldProps.inputRef,
|
|
132
|
-
|
|
138
|
+
unstableStartFieldRef,
|
|
139
|
+
endInputRef: endTextFieldProps.inputRef,
|
|
140
|
+
unstableEndFieldRef
|
|
133
141
|
}),
|
|
134
142
|
{
|
|
135
143
|
startDate: {
|
|
@@ -179,6 +187,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
179
187
|
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
180
188
|
*/
|
|
181
189
|
ampm: PropTypes.bool,
|
|
190
|
+
autoFocus: PropTypes.bool,
|
|
182
191
|
className: PropTypes.string,
|
|
183
192
|
/**
|
|
184
193
|
* Overridable components.
|
|
@@ -344,6 +353,8 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
|
|
|
344
353
|
* The system prop, which allows defining system overrides as well as additional CSS styles.
|
|
345
354
|
*/
|
|
346
355
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
356
|
+
unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
357
|
+
unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
347
358
|
/**
|
|
348
359
|
* The selected value.
|
|
349
360
|
* Used when the component is controlled.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { FieldRef } from '@mui/x-date-pickers/models';
|
|
2
3
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
3
4
|
import Typography from '@mui/material/Typography';
|
|
4
5
|
import Stack, { StackProps } from '@mui/material/Stack';
|
|
@@ -6,17 +7,16 @@ import TextField from '@mui/material/TextField';
|
|
|
6
7
|
import { UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
|
|
7
8
|
import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internal/models/dateTimeRange';
|
|
8
9
|
import { RangePosition } from '../internal/models/range';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
export interface UseMultiInputDateTimeRangeFieldProps<TDate> extends UseDateTimeRangeFieldProps<TDate> {
|
|
10
|
+
import { RangeFieldSection } from '../internal/models/fields';
|
|
11
|
+
import { UseMultiInputRangeFieldParams } from '../internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
|
|
12
|
+
export type UseMultiInputDateTimeRangeFieldParams<TDate, TTextFieldProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TDate>, TTextFieldProps>;
|
|
13
|
+
export interface UseMultiInputDateTimeRangeFieldProps<TDate> extends Omit<UseDateTimeRangeFieldProps<TDate>, 'unstableFieldRef'> {
|
|
14
|
+
unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
|
|
15
|
+
unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
|
|
17
16
|
}
|
|
18
17
|
export type UseMultiInputDateTimeRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate>> & UseMultiInputDateTimeRangeFieldProps<TDate>;
|
|
19
18
|
export interface MultiInputDateTimeRangeFieldProps<TDate> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
|
|
19
|
+
autoFocus?: boolean;
|
|
20
20
|
/**
|
|
21
21
|
* Overridable components.
|
|
22
22
|
* @default {}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"],
|
|
3
|
+
const _excluded = ["slots", "slotProps", "components", "componentsProps", "value", "defaultValue", "format", "onChange", "readOnly", "disabled", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableClock", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableStartFieldRef", "unstableEndFieldRef", "autoFocus"],
|
|
4
4
|
_excluded2 = ["onKeyDown", "ref", "readOnly", "inputMode"],
|
|
5
5
|
_excluded3 = ["onKeyDown", "ref", "readOnly", "inputMode"];
|
|
6
6
|
import * as React from 'react';
|
|
@@ -60,7 +60,10 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
60
60
|
disableFuture,
|
|
61
61
|
disablePast,
|
|
62
62
|
selectedSections,
|
|
63
|
-
onSelectedSectionsChange
|
|
63
|
+
onSelectedSectionsChange,
|
|
64
|
+
unstableStartFieldRef,
|
|
65
|
+
unstableEndFieldRef,
|
|
66
|
+
autoFocus
|
|
64
67
|
} = themeProps,
|
|
65
68
|
other = _objectWithoutPropertiesLoose(themeProps, _excluded);
|
|
66
69
|
const slots = innerSlots != null ? innerSlots : uncapitalizeObjectKeys(components);
|
|
@@ -80,6 +83,9 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
80
83
|
const startTextFieldProps = useSlotProps({
|
|
81
84
|
elementType: TextField,
|
|
82
85
|
externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
|
|
86
|
+
additionalProps: {
|
|
87
|
+
autoFocus
|
|
88
|
+
},
|
|
83
89
|
ownerState: _extends({}, ownerState, {
|
|
84
90
|
position: 'start'
|
|
85
91
|
})
|
|
@@ -119,7 +125,9 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
|
|
|
119
125
|
startTextFieldProps,
|
|
120
126
|
endTextFieldProps,
|
|
121
127
|
startInputRef: startTextFieldProps.inputRef,
|
|
122
|
-
|
|
128
|
+
unstableStartFieldRef,
|
|
129
|
+
endInputRef: endTextFieldProps.inputRef,
|
|
130
|
+
unstableEndFieldRef
|
|
123
131
|
}),
|
|
124
132
|
{
|
|
125
133
|
startDate: {
|
|
@@ -169,6 +177,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
169
177
|
* @default `utils.is12HourCycleInCurrentLocale()`
|
|
170
178
|
*/
|
|
171
179
|
ampm: PropTypes.bool,
|
|
180
|
+
autoFocus: PropTypes.bool,
|
|
172
181
|
className: PropTypes.string,
|
|
173
182
|
/**
|
|
174
183
|
* Overridable components.
|
|
@@ -310,6 +319,8 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
|
|
|
310
319
|
* The system prop, which allows defining system overrides as well as additional CSS styles.
|
|
311
320
|
*/
|
|
312
321
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
322
|
+
unstableEndFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
323
|
+
unstableStartFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
313
324
|
/**
|
|
314
325
|
* The selected value.
|
|
315
326
|
* Used when the component is controlled.
|
|
@@ -3,20 +3,20 @@ import { SlotComponentProps } from '@mui/base/utils';
|
|
|
3
3
|
import Typography from '@mui/material/Typography';
|
|
4
4
|
import Stack, { StackProps } from '@mui/material/Stack';
|
|
5
5
|
import TextField from '@mui/material/TextField';
|
|
6
|
+
import { FieldRef } from '@mui/x-date-pickers/models';
|
|
6
7
|
import { UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals';
|
|
7
8
|
import { UseTimeRangeFieldDefaultizedProps, UseTimeRangeFieldProps } from '../internal/models/timeRange';
|
|
8
9
|
import { RangePosition } from '../internal/models/range';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
export interface UseMultiInputTimeRangeFieldProps<TDate> extends UseTimeRangeFieldProps<TDate> {
|
|
10
|
+
import { UseMultiInputRangeFieldParams } from '../internal/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
|
|
11
|
+
import { RangeFieldSection } from '../internal/models/fields';
|
|
12
|
+
export type UseMultiInputTimeRangeFieldParams<TDate, TTextFieldProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputTimeRangeFieldProps<TDate>, TTextFieldProps>;
|
|
13
|
+
export interface UseMultiInputTimeRangeFieldProps<TDate> extends Omit<UseTimeRangeFieldProps<TDate>, 'unstableFieldRef'> {
|
|
14
|
+
unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
|
|
15
|
+
unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
|
|
17
16
|
}
|
|
18
17
|
export type UseMultiInputTimeRangeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TDate>> & UseMultiInputTimeRangeFieldProps<TDate>;
|
|
19
18
|
export interface MultiInputTimeRangeFieldProps<TDate> extends UseMultiInputTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
|
|
19
|
+
autoFocus?: boolean;
|
|
20
20
|
/**
|
|
21
21
|
* Overridable components.
|
|
22
22
|
* @default {}
|
|
@@ -251,6 +251,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
|
|
|
251
251
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
252
252
|
*/
|
|
253
253
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
254
|
+
/**
|
|
255
|
+
* The ref object used to imperatively interact with the field.
|
|
256
|
+
*/
|
|
257
|
+
unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
254
258
|
/**
|
|
255
259
|
* The selected value.
|
|
256
260
|
* Used when the component is controlled.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"];
|
|
3
|
+
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
|
|
4
4
|
import { useUtils, useDefaultDates, applyDefaultDate, useField } from '@mui/x-date-pickers/internals';
|
|
5
5
|
import { rangeValueManager, rangeFieldValueManager } from '../internal/utils/valueManagers';
|
|
6
6
|
import { validateDateRange } from '../internal/hooks/validation/useDateRangeValidation';
|
|
@@ -34,7 +34,8 @@ export const useSingleInputDateRangeField = ({
|
|
|
34
34
|
disableFuture,
|
|
35
35
|
disablePast,
|
|
36
36
|
selectedSections,
|
|
37
|
-
onSelectedSectionsChange
|
|
37
|
+
onSelectedSectionsChange,
|
|
38
|
+
unstableFieldRef
|
|
38
39
|
} = _useDefaultizedDateRa,
|
|
39
40
|
other = _objectWithoutPropertiesLoose(_useDefaultizedDateRa, _excluded);
|
|
40
41
|
return useField({
|
|
@@ -53,7 +54,8 @@ export const useSingleInputDateRangeField = ({
|
|
|
53
54
|
disableFuture,
|
|
54
55
|
disablePast,
|
|
55
56
|
selectedSections,
|
|
56
|
-
onSelectedSectionsChange
|
|
57
|
+
onSelectedSectionsChange,
|
|
58
|
+
unstableFieldRef
|
|
57
59
|
},
|
|
58
60
|
valueManager: rangeValueManager,
|
|
59
61
|
fieldValueManager: rangeFieldValueManager,
|
|
@@ -299,6 +299,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
|
|
|
299
299
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
300
300
|
*/
|
|
301
301
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
302
|
+
/**
|
|
303
|
+
* The ref object used to imperatively interact with the field.
|
|
304
|
+
*/
|
|
305
|
+
unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
302
306
|
/**
|
|
303
307
|
* The selected value.
|
|
304
308
|
* Used when the component is controlled.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange"];
|
|
3
|
+
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "shouldDisableDate", "minDate", "maxDate", "disableFuture", "disablePast", "minTime", "maxTime", "minDateTime", "maxDateTime", "minutesStep", "shouldDisableTime", "disableIgnoringDatePartForTimeValidation", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
|
|
4
4
|
import { useUtils, useField, applyDefaultDate, useDefaultDates } from '@mui/x-date-pickers/internals';
|
|
5
5
|
import { rangeValueManager, rangeFieldValueManager } from '../internal/utils/valueManagers';
|
|
6
6
|
import { validateDateTimeRange } from '../internal/hooks/validation/useDateTimeRangeValidation';
|
|
@@ -44,7 +44,8 @@ export const useSingleInputDateTimeRangeField = ({
|
|
|
44
44
|
shouldDisableTime,
|
|
45
45
|
disableIgnoringDatePartForTimeValidation,
|
|
46
46
|
selectedSections,
|
|
47
|
-
onSelectedSectionsChange
|
|
47
|
+
onSelectedSectionsChange,
|
|
48
|
+
unstableFieldRef
|
|
48
49
|
} = _useDefaultizedTimeRa,
|
|
49
50
|
other = _objectWithoutPropertiesLoose(_useDefaultizedTimeRa, _excluded);
|
|
50
51
|
return useField({
|
|
@@ -68,7 +69,8 @@ export const useSingleInputDateTimeRangeField = ({
|
|
|
68
69
|
shouldDisableTime,
|
|
69
70
|
disableIgnoringDatePartForTimeValidation,
|
|
70
71
|
selectedSections,
|
|
71
|
-
onSelectedSectionsChange
|
|
72
|
+
onSelectedSectionsChange,
|
|
73
|
+
unstableFieldRef
|
|
72
74
|
},
|
|
73
75
|
valueManager: rangeValueManager,
|
|
74
76
|
fieldValueManager: rangeFieldValueManager,
|
|
@@ -275,6 +275,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
|
|
|
275
275
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
276
276
|
*/
|
|
277
277
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
278
|
+
/**
|
|
279
|
+
* The ref object used to imperatively interact with the field.
|
|
280
|
+
*/
|
|
281
|
+
unstableFieldRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
278
282
|
/**
|
|
279
283
|
* The selected value.
|
|
280
284
|
* Used when the component is controlled.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange"];
|
|
3
|
+
const _excluded = ["value", "defaultValue", "format", "onChange", "readOnly", "onError", "minTime", "maxTime", "minutesStep", "shouldDisableTime", "disableFuture", "disablePast", "selectedSections", "onSelectedSectionsChange", "unstableFieldRef"];
|
|
4
4
|
import { useUtils, useField } from '@mui/x-date-pickers/internals';
|
|
5
5
|
import { rangeValueManager, rangeFieldValueManager } from '../internal/utils/valueManagers';
|
|
6
6
|
import { validateTimeRange } from '../internal/hooks/validation/useTimeRangeValidation';
|
|
@@ -34,7 +34,8 @@ export const useSingleInputTimeRangeField = ({
|
|
|
34
34
|
disableFuture,
|
|
35
35
|
disablePast,
|
|
36
36
|
selectedSections,
|
|
37
|
-
onSelectedSectionsChange
|
|
37
|
+
onSelectedSectionsChange,
|
|
38
|
+
unstableFieldRef
|
|
38
39
|
} = _useDefaultizedTimeRa,
|
|
39
40
|
other = _objectWithoutPropertiesLoose(_useDefaultizedTimeRa, _excluded);
|
|
40
41
|
return useField({
|
|
@@ -54,7 +55,8 @@ export const useSingleInputTimeRangeField = ({
|
|
|
54
55
|
disableFuture,
|
|
55
56
|
disablePast,
|
|
56
57
|
selectedSections,
|
|
57
|
-
onSelectedSectionsChange
|
|
58
|
+
onSelectedSectionsChange,
|
|
59
|
+
unstableFieldRef
|
|
58
60
|
},
|
|
59
61
|
valueManager: rangeValueManager,
|
|
60
62
|
fieldValueManager: rangeFieldValueManager,
|
package/index.d.ts
CHANGED
|
@@ -17,5 +17,5 @@ export * from './dateRangeViewRenderers';
|
|
|
17
17
|
export type { DateRangeValidationError } from './internal/hooks/validation/useDateRangeValidation';
|
|
18
18
|
export type { DateTimeRangeValidationError } from './internal/hooks/validation/useDateTimeRangeValidation';
|
|
19
19
|
export type { TimeRangeValidationError } from './internal/hooks/validation/useTimeRangeValidation';
|
|
20
|
-
export type { DateRange } from './internal/models/range';
|
|
20
|
+
export type { DateRange, RangePosition } from './internal/models/range';
|
|
21
21
|
export type { UseDateRangeFieldProps } from './internal/models/dateRange';
|
package/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import Typography, { TypographyProps } from '@mui/material/Typography';
|
|
|
5
5
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
6
6
|
import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout/PickersLayout.types';
|
|
7
7
|
import { DateOrTimeView, UsePickerParams, BasePickerProps, PickersPopperSlotsComponent, PickersPopperSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, UncapitalizeObjectKeys, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
|
|
8
|
-
import { DateRange } from '../../models';
|
|
8
|
+
import { DateRange, RangeFieldSection } from '../../models';
|
|
9
9
|
import { BaseMultiInputFieldProps } from '../../models/fields';
|
|
10
10
|
import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
|
|
11
11
|
export interface UseDesktopRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends Pick<PickersPopperSlotsComponent, 'DesktopPaper' | 'DesktopTransition' | 'DesktopTrapFocus' | 'Popper'>, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
|
|
@@ -21,7 +21,7 @@ export interface UseDesktopRangePickerSlotsComponent<TDate, TView extends DateOr
|
|
|
21
21
|
TextField?: React.ElementType<TextFieldProps>;
|
|
22
22
|
}
|
|
23
23
|
export interface UseDesktopRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends PickersPopperSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
|
|
24
|
-
field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, unknown>>, {}, unknown>;
|
|
24
|
+
field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, RangeFieldSection, unknown>>, {}, unknown>;
|
|
25
25
|
fieldRoot?: SlotComponentProps<typeof Stack, {}, unknown>;
|
|
26
26
|
fieldSeparator?: SlotComponentProps<typeof Typography, {}, unknown>;
|
|
27
27
|
textField?: SlotComponentProps<typeof TextField, {}, {
|
|
@@ -29,7 +29,7 @@ export interface UseDesktopRangePickerSlotsComponentsProps<TDate, TView extends
|
|
|
29
29
|
} & Record<string, any>>;
|
|
30
30
|
toolbar?: ExportedBaseToolbarProps;
|
|
31
31
|
}
|
|
32
|
-
export interface DesktopRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null>, UsePickerViewsNonStaticProps, UseRangePositionProps {
|
|
32
|
+
export interface DesktopRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, RangeFieldSection>, UsePickerViewsNonStaticProps, UseRangePositionProps {
|
|
33
33
|
/**
|
|
34
34
|
* If `true`, the start `input` element is focused during the first mount.
|
|
35
35
|
*/
|
|
@@ -49,6 +49,6 @@ export interface UseDesktopRangePickerProps<TDate, TView extends DateOrTimeView,
|
|
|
49
49
|
}
|
|
50
50
|
export interface DesktopRangePickerAdditionalViewProps extends UseRangePositionResponse {
|
|
51
51
|
}
|
|
52
|
-
export interface UseDesktopRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, DesktopRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
|
|
52
|
+
export interface UseDesktopRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, RangeFieldSection, TExternalProps, DesktopRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
|
|
53
53
|
props: TExternalProps;
|
|
54
54
|
}
|
|
@@ -5,7 +5,7 @@ import Typography, { TypographyProps } from '@mui/material/Typography';
|
|
|
5
5
|
import { SlotComponentProps } from '@mui/base/utils';
|
|
6
6
|
import { ExportedPickersLayoutSlotsComponent, ExportedPickersLayoutSlotsComponentsProps } from '@mui/x-date-pickers/PickersLayout/PickersLayout.types';
|
|
7
7
|
import { DateOrTimeView, UsePickerParams, BasePickerProps, PickersModalDialogSlotsComponent, PickersModalDialogSlotsComponentsProps, ExportedBaseToolbarProps, UsePickerViewsProps, UncapitalizeObjectKeys, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps } from '@mui/x-date-pickers/internals';
|
|
8
|
-
import { DateRange } from '../../models';
|
|
8
|
+
import { DateRange, RangeFieldSection } from '../../models';
|
|
9
9
|
import { BaseMultiInputFieldProps } from '../../models/fields';
|
|
10
10
|
import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
|
|
11
11
|
export interface UseMobileRangePickerSlotsComponent<TDate, TView extends DateOrTimeView> extends PickersModalDialogSlotsComponent, ExportedPickersLayoutSlotsComponent<DateRange<TDate>, TDate, TView> {
|
|
@@ -20,7 +20,7 @@ export interface UseMobileRangePickerSlotsComponent<TDate, TView extends DateOrT
|
|
|
20
20
|
TextField?: React.ElementType<TextFieldProps>;
|
|
21
21
|
}
|
|
22
22
|
export interface UseMobileRangePickerSlotsComponentsProps<TDate, TView extends DateOrTimeView> extends PickersModalDialogSlotsComponentsProps, ExportedPickersLayoutSlotsComponentsProps<DateRange<TDate>, TDate, TView> {
|
|
23
|
-
field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, unknown>>, {}, unknown>;
|
|
23
|
+
field?: SlotComponentProps<React.ElementType<BaseMultiInputFieldProps<DateRange<TDate>, RangeFieldSection, unknown>>, {}, unknown>;
|
|
24
24
|
fieldRoot?: SlotComponentProps<typeof Stack, {}, unknown>;
|
|
25
25
|
fieldSeparator?: SlotComponentProps<typeof Typography, {}, unknown>;
|
|
26
26
|
textField?: SlotComponentProps<typeof TextField, {}, {
|
|
@@ -28,7 +28,7 @@ export interface UseMobileRangePickerSlotsComponentsProps<TDate, TView extends D
|
|
|
28
28
|
} & Record<string, any>>;
|
|
29
29
|
toolbar?: ExportedBaseToolbarProps;
|
|
30
30
|
}
|
|
31
|
-
export interface MobileRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null>, UsePickerViewsNonStaticProps, UseRangePositionProps {
|
|
31
|
+
export interface MobileRangeOnlyPickerProps<TDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<TDate | null, RangeFieldSection>, UsePickerViewsNonStaticProps, UseRangePositionProps {
|
|
32
32
|
}
|
|
33
33
|
export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeView, TError, TExternalProps extends UsePickerViewsProps<any, TView, any, any>> extends MobileRangeOnlyPickerProps<TDate>, BasePickerProps<DateRange<TDate>, TDate, TView, TError, TExternalProps, MobileRangePickerAdditionalViewProps> {
|
|
34
34
|
/**
|
|
@@ -44,6 +44,6 @@ export interface UseMobileRangePickerProps<TDate, TView extends DateOrTimeView,
|
|
|
44
44
|
}
|
|
45
45
|
export interface MobileRangePickerAdditionalViewProps extends UseRangePositionResponse {
|
|
46
46
|
}
|
|
47
|
-
export interface UseMobileRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, TExternalProps, MobileRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
|
|
47
|
+
export interface UseMobileRangePickerParams<TDate, TView extends DateOrTimeView, TExternalProps extends UseMobileRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, RangeFieldSection, TExternalProps, MobileRangePickerAdditionalViewProps>, 'valueManager' | 'validator'> {
|
|
48
48
|
props: TExternalProps;
|
|
49
49
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { UseDateFieldProps } from '@mui/x-date-pickers/DateField';
|
|
2
1
|
import { UseMultiInputDateRangeFieldParams } from '../../../MultiInputDateRangeField/MultiInputDateRangeField.types';
|
|
3
2
|
import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
|
|
4
|
-
export declare const useMultiInputDateRangeField: <TDate,
|
|
3
|
+
export declare const useMultiInputDateRangeField: <TDate, TTextFieldProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, startInputRef, unstableStartFieldRef, endTextFieldProps, endInputRef, unstableEndFieldRef, }: UseMultiInputDateRangeFieldParams<TDate, TTextFieldProps>) => UseMultiInputRangeFieldResponse<TTextFieldProps>;
|