@mui/x-date-pickers 6.0.0 → 6.0.2
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/AdapterDateFns/index.js +1 -0
- package/AdapterDayjs/index.js +1 -0
- package/AdapterMoment/index.js +1 -0
- package/AdapterMomentHijri/index.d.ts +1 -1
- package/CHANGELOG.md +103 -12
- package/DateCalendar/DateCalendar.js +2 -2
- package/DateCalendar/PickersCalendarHeader.d.ts +2 -2
- package/DateField/DateField.js +2 -2
- package/DatePicker/DatePicker.js +2 -2
- package/DatePicker/DatePicker.types.d.ts +2 -2
- package/DatePicker/shared.d.ts +2 -2
- package/DateTimeField/DateTimeField.js +2 -2
- package/DateTimeField/DateTimeField.types.d.ts +2 -2
- package/DateTimePicker/DateTimePicker.js +2 -2
- package/DateTimePicker/DateTimePicker.types.d.ts +2 -2
- package/DateTimePicker/shared.d.ts +2 -2
- package/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/DesktopDatePicker/DesktopDatePicker.types.d.ts +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
- package/DesktopTimePicker/DesktopTimePicker.js +2 -2
- package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
- package/MobileDatePicker/MobileDatePicker.js +2 -2
- package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +2 -2
- package/MobileTimePicker/MobileTimePicker.js +2 -2
- package/MobileTimePicker/MobileTimePicker.types.d.ts +2 -2
- package/PickersLayout/PickersLayout.js +2 -2
- package/PickersLayout/PickersLayout.types.d.ts +2 -2
- package/StaticDatePicker/StaticDatePicker.js +2 -2
- package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -2
- package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
- package/StaticTimePicker/StaticTimePicker.js +2 -2
- package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
- package/TimeClock/TimeClock.js +2 -2
- package/TimeClock/TimeClock.types.d.ts +2 -2
- package/TimeField/TimeField.js +2 -2
- package/TimeField/TimeField.types.d.ts +2 -2
- package/TimePicker/TimePicker.js +2 -2
- package/TimePicker/TimePicker.types.d.ts +2 -2
- package/TimePicker/shared.d.ts +2 -2
- package/index.js +1 -1
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -2
- package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +2 -2
- package/internals/components/PickersModalDialog.d.ts +4 -4
- package/internals/components/PickersPopper.d.ts +1 -1
- package/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -11
- package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +1 -1
- package/internals/hooks/useField/useField.js +11 -5
- package/internals/hooks/useField/useField.types.d.ts +13 -8
- package/internals/hooks/useField/useField.utils.d.ts +3 -3
- package/internals/hooks/useField/useField.utils.js +63 -35
- package/internals/hooks/useField/useFieldCharacterEditing.js +4 -9
- package/internals/hooks/useField/useFieldState.js +43 -37
- package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +1 -1
- package/internals/hooks/usePicker/usePicker.js +7 -0
- package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
- package/internals/hooks/useViews.js +1 -1
- package/internals/utils/slots-migration.d.ts +2 -2
- package/internals/utils/valueManagers.js +11 -7
- package/legacy/AdapterDateFns/index.js +1 -0
- package/legacy/AdapterDayjs/index.js +1 -0
- package/legacy/AdapterMoment/index.js +1 -0
- package/legacy/DateCalendar/DateCalendar.js +2 -2
- package/legacy/DateField/DateField.js +2 -2
- package/legacy/DatePicker/DatePicker.js +2 -2
- package/legacy/DateTimeField/DateTimeField.js +2 -2
- package/legacy/DateTimePicker/DateTimePicker.js +2 -2
- package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/legacy/DesktopTimePicker/DesktopTimePicker.js +2 -2
- package/legacy/MobileDatePicker/MobileDatePicker.js +2 -2
- package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/legacy/MobileTimePicker/MobileTimePicker.js +2 -2
- package/legacy/PickersLayout/PickersLayout.js +2 -2
- package/legacy/StaticDatePicker/StaticDatePicker.js +2 -2
- package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/legacy/StaticTimePicker/StaticTimePicker.js +2 -2
- package/legacy/TimeClock/TimeClock.js +2 -2
- package/legacy/TimeField/TimeField.js +2 -2
- package/legacy/TimePicker/TimePicker.js +2 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -2
- package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +15 -12
- package/legacy/internals/hooks/useField/useField.js +11 -5
- package/legacy/internals/hooks/useField/useField.utils.js +64 -36
- package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +4 -9
- package/legacy/internals/hooks/useField/useFieldState.js +45 -39
- package/legacy/internals/hooks/usePicker/usePicker.js +7 -0
- package/legacy/internals/hooks/useViews.js +1 -1
- package/legacy/internals/utils/valueManagers.js +4 -0
- package/legacy/locales/deDE.js +8 -5
- package/legacy/locales/frFR.js +34 -20
- package/legacy/locales/heIL.js +71 -0
- package/legacy/locales/index.js +1 -0
- package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +20 -1
- package/locales/deDE.js +4 -5
- package/locales/frFR.js +16 -20
- package/locales/heIL.d.ts +51 -0
- package/locales/heIL.js +57 -0
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/modern/AdapterDateFns/index.js +1 -0
- package/modern/AdapterDayjs/index.js +1 -0
- package/modern/AdapterMoment/index.js +1 -0
- package/modern/DateCalendar/DateCalendar.js +2 -2
- package/modern/DateField/DateField.js +2 -2
- package/modern/DatePicker/DatePicker.js +2 -2
- package/modern/DateTimeField/DateTimeField.js +2 -2
- package/modern/DateTimePicker/DateTimePicker.js +2 -2
- package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/modern/DesktopTimePicker/DesktopTimePicker.js +2 -2
- package/modern/MobileDatePicker/MobileDatePicker.js +2 -2
- package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/modern/MobileTimePicker/MobileTimePicker.js +2 -2
- package/modern/PickersLayout/PickersLayout.js +2 -2
- package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
- package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
- package/modern/TimeClock/TimeClock.js +2 -2
- package/modern/TimeField/TimeField.js +2 -2
- package/modern/TimePicker/TimePicker.js +2 -2
- package/modern/index.js +1 -1
- package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -2
- package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -11
- package/modern/internals/hooks/useField/useField.js +11 -5
- package/modern/internals/hooks/useField/useField.utils.js +63 -35
- package/modern/internals/hooks/useField/useFieldCharacterEditing.js +4 -9
- package/modern/internals/hooks/useField/useFieldState.js +43 -37
- package/modern/internals/hooks/usePicker/usePicker.js +7 -0
- package/modern/internals/hooks/useViews.js +1 -1
- package/modern/internals/utils/valueManagers.js +11 -7
- package/modern/locales/deDE.js +4 -5
- package/modern/locales/frFR.js +16 -20
- package/modern/locales/heIL.js +57 -0
- package/modern/locales/index.js +1 -0
- package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +20 -1
- package/node/AdapterDateFns/index.js +1 -0
- package/node/AdapterDayjs/index.js +1 -0
- package/node/AdapterMoment/index.js +1 -0
- package/node/DateCalendar/DateCalendar.js +2 -2
- package/node/DateField/DateField.js +2 -2
- package/node/DatePicker/DatePicker.js +2 -2
- package/node/DateTimeField/DateTimeField.js +2 -2
- package/node/DateTimePicker/DateTimePicker.js +2 -2
- package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
- package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
- package/node/DesktopTimePicker/DesktopTimePicker.js +2 -2
- package/node/MobileDatePicker/MobileDatePicker.js +2 -2
- package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
- package/node/MobileTimePicker/MobileTimePicker.js +2 -2
- package/node/PickersLayout/PickersLayout.js +2 -2
- package/node/StaticDatePicker/StaticDatePicker.js +2 -2
- package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
- package/node/StaticTimePicker/StaticTimePicker.js +2 -2
- package/node/TimeClock/TimeClock.js +2 -2
- package/node/TimeField/TimeField.js +2 -2
- package/node/TimePicker/TimePicker.js +2 -2
- package/node/index.js +1 -1
- package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -2
- package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -11
- package/node/internals/hooks/useField/useField.js +11 -5
- package/node/internals/hooks/useField/useField.utils.js +66 -38
- package/node/internals/hooks/useField/useFieldCharacterEditing.js +3 -8
- package/node/internals/hooks/useField/useFieldState.js +43 -37
- package/node/internals/hooks/usePicker/usePicker.js +7 -0
- package/node/internals/hooks/useViews.js +1 -1
- package/node/internals/utils/valueManagers.js +11 -7
- package/node/locales/deDE.js +4 -5
- package/node/locales/frFR.js +16 -20
- package/node/locales/heIL.js +64 -0
- package/node/locales/index.js +11 -0
- package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +19 -0
- package/package.json +3 -3
- package/tests/describeValue/testPickerOpenCloseLifeCycle.js +20 -1
|
@@ -9,7 +9,7 @@ export interface MobileTimePickerSlotsComponentsProps<TDate> extends BaseTimePic
|
|
|
9
9
|
}
|
|
10
10
|
export interface MobileTimePickerProps<TDate> extends BaseTimePickerProps<TDate>, MobileOnlyPickerProps<TDate> {
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Overridable components.
|
|
13
13
|
* @default {}
|
|
14
14
|
* @deprecated Please use `slots`.
|
|
15
15
|
*/
|
|
@@ -21,7 +21,7 @@ export interface MobileTimePickerProps<TDate> extends BaseTimePickerProps<TDate>
|
|
|
21
21
|
*/
|
|
22
22
|
componentsProps?: MobileTimePickerSlotsComponentsProps<TDate>;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Overridable component slots.
|
|
25
25
|
* @default {}
|
|
26
26
|
*/
|
|
27
27
|
slots?: UncapitalizeObjectKeys<MobileTimePickerSlotsComponent<TDate>>;
|
|
@@ -115,7 +115,7 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
|
|
|
115
115
|
classes: PropTypes.object,
|
|
116
116
|
className: PropTypes.string,
|
|
117
117
|
/**
|
|
118
|
-
*
|
|
118
|
+
* Overridable components.
|
|
119
119
|
* @default {}
|
|
120
120
|
* @deprecated Please use `slots`.
|
|
121
121
|
*/
|
|
@@ -149,7 +149,7 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
|
|
|
149
149
|
*/
|
|
150
150
|
slotProps: PropTypes.object,
|
|
151
151
|
/**
|
|
152
|
-
*
|
|
152
|
+
* Overridable component slots.
|
|
153
153
|
* @default {}
|
|
154
154
|
*/
|
|
155
155
|
slots: PropTypes.object,
|
|
@@ -79,7 +79,7 @@ export interface PickersLayoutProps<TValue, TDate, TView extends DateOrTimeView>
|
|
|
79
79
|
ref?: React.Ref<HTMLDivElement>;
|
|
80
80
|
classes?: Partial<PickersLayoutClasses>;
|
|
81
81
|
/**
|
|
82
|
-
*
|
|
82
|
+
* Overridable components.
|
|
83
83
|
* @default {}
|
|
84
84
|
* @deprecated Please use `slots`.
|
|
85
85
|
*/
|
|
@@ -91,7 +91,7 @@ export interface PickersLayoutProps<TValue, TDate, TView extends DateOrTimeView>
|
|
|
91
91
|
*/
|
|
92
92
|
componentsProps?: PickersLayoutSlotsComponentsProps<TValue, TDate, TView>;
|
|
93
93
|
/**
|
|
94
|
-
*
|
|
94
|
+
* Overridable component slots.
|
|
95
95
|
* @default {}
|
|
96
96
|
*/
|
|
97
97
|
slots?: UncapitalizeObjectKeys<PickersLayoutSlotsComponent<TValue, TDate, TView>>;
|
|
@@ -54,7 +54,7 @@ StaticDatePicker.propTypes = {
|
|
|
54
54
|
*/
|
|
55
55
|
className: PropTypes.string,
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Overridable components.
|
|
58
58
|
* @default {}
|
|
59
59
|
* @deprecated Please use `slots`.
|
|
60
60
|
*/
|
|
@@ -248,7 +248,7 @@ StaticDatePicker.propTypes = {
|
|
|
248
248
|
*/
|
|
249
249
|
slotProps: PropTypes.object,
|
|
250
250
|
/**
|
|
251
|
-
*
|
|
251
|
+
* Overridable component slots.
|
|
252
252
|
* @default {}
|
|
253
253
|
*/
|
|
254
254
|
slots: PropTypes.object,
|
|
@@ -7,7 +7,7 @@ export interface StaticDatePickerSlotsComponentsProps<TDate> extends BaseDatePic
|
|
|
7
7
|
}
|
|
8
8
|
export interface StaticDatePickerProps<TDate> extends BaseDatePickerProps<TDate>, MakeOptional<StaticOnlyPickerProps, 'displayStaticWrapperAs'> {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Overridable components.
|
|
11
11
|
* @default {}
|
|
12
12
|
* @deprecated Please use `slots`.
|
|
13
13
|
*/
|
|
@@ -19,7 +19,7 @@ export interface StaticDatePickerProps<TDate> extends BaseDatePickerProps<TDate>
|
|
|
19
19
|
*/
|
|
20
20
|
componentsProps?: StaticDatePickerSlotsComponentsProps<TDate>;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Overridable component slots.
|
|
23
23
|
* @default {}
|
|
24
24
|
*/
|
|
25
25
|
slots?: UncapitalizeObjectKeys<StaticDatePickerSlotsComponent<TDate>>;
|
|
@@ -74,7 +74,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
74
74
|
*/
|
|
75
75
|
className: PropTypes.string,
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* Overridable components.
|
|
78
78
|
* @default {}
|
|
79
79
|
* @deprecated Please use `slots`.
|
|
80
80
|
*/
|
|
@@ -311,7 +311,7 @@ StaticDateTimePicker.propTypes = {
|
|
|
311
311
|
*/
|
|
312
312
|
slotProps: PropTypes.object,
|
|
313
313
|
/**
|
|
314
|
-
*
|
|
314
|
+
* Overridable component slots.
|
|
315
315
|
* @default {}
|
|
316
316
|
*/
|
|
317
317
|
slots: PropTypes.object,
|
|
@@ -7,7 +7,7 @@ export interface StaticDateTimePickerSlotsComponentsProps<TDate> extends BaseDat
|
|
|
7
7
|
}
|
|
8
8
|
export interface StaticDateTimePickerProps<TDate> extends BaseDateTimePickerProps<TDate>, MakeOptional<StaticOnlyPickerProps, 'displayStaticWrapperAs'> {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Overridable components.
|
|
11
11
|
* @default {}
|
|
12
12
|
* @deprecated Please use `slots`.
|
|
13
13
|
*/
|
|
@@ -19,7 +19,7 @@ export interface StaticDateTimePickerProps<TDate> extends BaseDateTimePickerProp
|
|
|
19
19
|
*/
|
|
20
20
|
componentsProps?: StaticDateTimePickerSlotsComponentsProps<TDate>;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Overridable component slots.
|
|
23
23
|
* @default {}
|
|
24
24
|
*/
|
|
25
25
|
slots?: UncapitalizeObjectKeys<StaticDateTimePickerSlotsComponent<TDate>>;
|
|
@@ -66,7 +66,7 @@ StaticTimePicker.propTypes = {
|
|
|
66
66
|
*/
|
|
67
67
|
className: PropTypes.string,
|
|
68
68
|
/**
|
|
69
|
-
*
|
|
69
|
+
* Overridable components.
|
|
70
70
|
* @default {}
|
|
71
71
|
* @deprecated Please use `slots`.
|
|
72
72
|
*/
|
|
@@ -195,7 +195,7 @@ StaticTimePicker.propTypes = {
|
|
|
195
195
|
*/
|
|
196
196
|
slotProps: PropTypes.object,
|
|
197
197
|
/**
|
|
198
|
-
*
|
|
198
|
+
* Overridable component slots.
|
|
199
199
|
* @default {}
|
|
200
200
|
*/
|
|
201
201
|
slots: PropTypes.object,
|
|
@@ -7,7 +7,7 @@ export interface StaticTimePickerSlotsComponentsProps<TDate> extends BaseTimePic
|
|
|
7
7
|
}
|
|
8
8
|
export interface StaticTimePickerProps<TDate> extends BaseTimePickerProps<TDate>, MakeOptional<StaticOnlyPickerProps, 'displayStaticWrapperAs'> {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Overridable components.
|
|
11
11
|
* @default {}
|
|
12
12
|
* @deprecated Please use `slots`.
|
|
13
13
|
*/
|
|
@@ -19,7 +19,7 @@ export interface StaticTimePickerProps<TDate> extends BaseTimePickerProps<TDate>
|
|
|
19
19
|
*/
|
|
20
20
|
componentsProps?: StaticTimePickerSlotsComponentsProps<TDate>;
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Overridable component slots.
|
|
23
23
|
* @default {}
|
|
24
24
|
*/
|
|
25
25
|
slots?: UncapitalizeObjectKeys<StaticTimePickerSlotsComponent<TDate>>;
|
package/TimeClock/TimeClock.js
CHANGED
|
@@ -321,7 +321,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
321
321
|
classes: PropTypes.object,
|
|
322
322
|
className: PropTypes.string,
|
|
323
323
|
/**
|
|
324
|
-
*
|
|
324
|
+
* Overridable components.
|
|
325
325
|
* @default {}
|
|
326
326
|
* @deprecated Please use `slots`.
|
|
327
327
|
*/
|
|
@@ -416,7 +416,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
|
|
|
416
416
|
*/
|
|
417
417
|
slotProps: PropTypes.object,
|
|
418
418
|
/**
|
|
419
|
-
*
|
|
419
|
+
* Overridable component slots.
|
|
420
420
|
* @default {}
|
|
421
421
|
*/
|
|
422
422
|
slots: PropTypes.object,
|
|
@@ -37,7 +37,7 @@ export interface TimeClockProps<TDate> extends ExportedTimeClockProps<TDate> {
|
|
|
37
37
|
*/
|
|
38
38
|
classes?: Partial<TimeClockClasses>;
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Overridable components.
|
|
41
41
|
* @default {}
|
|
42
42
|
* @deprecated Please use `slots`.
|
|
43
43
|
*/
|
|
@@ -49,7 +49,7 @@ export interface TimeClockProps<TDate> extends ExportedTimeClockProps<TDate> {
|
|
|
49
49
|
*/
|
|
50
50
|
componentsProps?: TimeClockSlotsComponentsProps;
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* Overridable component slots.
|
|
53
53
|
* @default {}
|
|
54
54
|
*/
|
|
55
55
|
slots?: UncapitalizeObjectKeys<TimeClockSlotsComponent>;
|
package/TimeField/TimeField.js
CHANGED
|
@@ -81,7 +81,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
81
81
|
*/
|
|
82
82
|
color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
84
|
+
* Overridable components.
|
|
85
85
|
* @default {}
|
|
86
86
|
* @deprecated Please use `slots`.
|
|
87
87
|
*/
|
|
@@ -271,7 +271,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
|
|
|
271
271
|
*/
|
|
272
272
|
slotProps: PropTypes.object,
|
|
273
273
|
/**
|
|
274
|
-
*
|
|
274
|
+
* Overridable component slots.
|
|
275
275
|
* @default {}
|
|
276
276
|
*/
|
|
277
277
|
slots: PropTypes.object,
|
|
@@ -21,7 +21,7 @@ export type UseTimeFieldDefaultizedProps<TDate> = DefaultizedProps<UseTimeFieldP
|
|
|
21
21
|
export type UseTimeFieldComponentProps<TDate, TChildProps extends {}> = Omit<TChildProps, keyof UseTimeFieldProps<TDate>> & UseTimeFieldProps<TDate>;
|
|
22
22
|
export interface TimeFieldProps<TDate> extends UseTimeFieldComponentProps<TDate, FieldsTextFieldProps> {
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Overridable components.
|
|
25
25
|
* @default {}
|
|
26
26
|
* @deprecated Please use `slots`.
|
|
27
27
|
*/
|
|
@@ -33,7 +33,7 @@ export interface TimeFieldProps<TDate> extends UseTimeFieldComponentProps<TDate,
|
|
|
33
33
|
*/
|
|
34
34
|
componentsProps?: TimeFieldSlotsComponentsProps<TDate>;
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Overridable component slots.
|
|
37
37
|
* @default {}
|
|
38
38
|
*/
|
|
39
39
|
slots?: UncapitalizeObjectKeys<TimeFieldSlotsComponent>;
|
package/TimePicker/TimePicker.js
CHANGED
|
@@ -64,7 +64,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
64
64
|
*/
|
|
65
65
|
closeOnSelect: PropTypes.bool,
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Overridable components.
|
|
68
68
|
* @default {}
|
|
69
69
|
* @deprecated Please use `slots`.
|
|
70
70
|
*/
|
|
@@ -241,7 +241,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
|
|
|
241
241
|
*/
|
|
242
242
|
slotProps: PropTypes.object,
|
|
243
243
|
/**
|
|
244
|
-
*
|
|
244
|
+
* Overridable component slots.
|
|
245
245
|
* @default {}
|
|
246
246
|
*/
|
|
247
247
|
slots: PropTypes.object,
|
|
@@ -13,7 +13,7 @@ export interface TimePickerProps<TDate> extends DesktopTimePickerProps<TDate>, M
|
|
|
13
13
|
*/
|
|
14
14
|
desktopModeMediaQuery?: string;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Overridable components.
|
|
17
17
|
* @default {}
|
|
18
18
|
* @deprecated Please use `slots`.
|
|
19
19
|
*/
|
|
@@ -25,7 +25,7 @@ export interface TimePickerProps<TDate> extends DesktopTimePickerProps<TDate>, M
|
|
|
25
25
|
*/
|
|
26
26
|
componentsProps?: TimePickerSlotsComponentsProps<TDate>;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Overridable component slots.
|
|
29
29
|
* @default {}
|
|
30
30
|
*/
|
|
31
31
|
slots?: UncapitalizeObjectKeys<TimePickerSlotsComponents<TDate>>;
|
package/TimePicker/shared.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export interface BaseTimePickerProps<TDate> extends BasePickerInputProps<TDate |
|
|
|
27
27
|
*/
|
|
28
28
|
ampmInClock?: boolean;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Overridable components.
|
|
31
31
|
* @default {}
|
|
32
32
|
* @deprecated Please use `slots`.
|
|
33
33
|
*/
|
|
@@ -39,7 +39,7 @@ export interface BaseTimePickerProps<TDate> extends BasePickerInputProps<TDate |
|
|
|
39
39
|
*/
|
|
40
40
|
componentsProps?: BaseTimePickerSlotsComponentsProps;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Overridable component slots.
|
|
43
43
|
* @default {}
|
|
44
44
|
*/
|
|
45
45
|
slots?: UncapitalizeObjectKeys<BaseTimePickerSlotsComponent<TDate>>;
|
package/index.js
CHANGED
|
@@ -95,7 +95,7 @@ export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
95
95
|
elementType: PreviousIconButton,
|
|
96
96
|
externalSlotProps: (_slotProps$previousIc = slotProps == null ? void 0 : slotProps.previousIconButton) != null ? _slotProps$previousIc : componentsProps == null ? void 0 : componentsProps.previousIconButton,
|
|
97
97
|
additionalProps: {
|
|
98
|
-
size: '
|
|
98
|
+
size: 'medium',
|
|
99
99
|
title: leftProps.label,
|
|
100
100
|
'aria-label': leftProps.label,
|
|
101
101
|
disabled: leftProps.isDisabled,
|
|
@@ -112,7 +112,7 @@ export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
112
112
|
elementType: NextIconButton,
|
|
113
113
|
externalSlotProps: (_slotProps$nextIconBu = slotProps == null ? void 0 : slotProps.nextIconButton) != null ? _slotProps$nextIconBu : componentsProps == null ? void 0 : componentsProps.nextIconButton,
|
|
114
114
|
additionalProps: {
|
|
115
|
-
size: '
|
|
115
|
+
size: 'medium',
|
|
116
116
|
title: rightProps.label,
|
|
117
117
|
'aria-label': rightProps.label,
|
|
118
118
|
disabled: rightProps.isDisabled,
|
|
@@ -129,6 +129,9 @@ export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
129
129
|
const _useSlotProps = useSlotProps({
|
|
130
130
|
elementType: LeftArrowIcon,
|
|
131
131
|
externalSlotProps: (_slotProps$leftArrowI = slotProps == null ? void 0 : slotProps.leftArrowIcon) != null ? _slotProps$leftArrowI : componentsProps == null ? void 0 : componentsProps.leftArrowIcon,
|
|
132
|
+
additionalProps: {
|
|
133
|
+
fontSize: 'inherit'
|
|
134
|
+
},
|
|
132
135
|
ownerState: undefined
|
|
133
136
|
}),
|
|
134
137
|
leftArrowIconProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded2);
|
|
@@ -137,6 +140,9 @@ export const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function Picke
|
|
|
137
140
|
const _useSlotProps2 = useSlotProps({
|
|
138
141
|
elementType: RightArrowIcon,
|
|
139
142
|
externalSlotProps: (_slotProps$rightArrow = slotProps == null ? void 0 : slotProps.rightArrowIcon) != null ? _slotProps$rightArrow : componentsProps == null ? void 0 : componentsProps.rightArrowIcon,
|
|
143
|
+
additionalProps: {
|
|
144
|
+
fontSize: 'inherit'
|
|
145
|
+
},
|
|
140
146
|
ownerState: undefined
|
|
141
147
|
}),
|
|
142
148
|
rightArrowIconProps = _objectWithoutPropertiesLoose(_useSlotProps2, _excluded3);
|
|
@@ -6,7 +6,7 @@ import { PickersArrowSwitcherClasses } from './pickersArrowSwitcherClasses';
|
|
|
6
6
|
import { UncapitalizeObjectKeys } from '../../utils/slots-migration';
|
|
7
7
|
export interface ExportedPickersArrowSwitcherProps {
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Overridable components.
|
|
10
10
|
* @default {}
|
|
11
11
|
* @deprecated Please use `slots`.
|
|
12
12
|
*/
|
|
@@ -18,7 +18,7 @@ export interface ExportedPickersArrowSwitcherProps {
|
|
|
18
18
|
*/
|
|
19
19
|
componentsProps?: PickersArrowSwitcherSlotsComponentsProps;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Overridable component slots.
|
|
22
22
|
* @default {}
|
|
23
23
|
*/
|
|
24
24
|
slots?: UncapitalizeObjectKeys<PickersArrowSwitcherSlotsComponent>;
|
|
@@ -16,7 +16,7 @@ export interface PickersModalDialogSlotsComponent {
|
|
|
16
16
|
*/
|
|
17
17
|
MobilePaper?: React.JSXElementConstructor<MuiPaperProps>;
|
|
18
18
|
/**
|
|
19
|
-
* Custom component for the mobile dialog [Transition](https://mui.com/material-ui/transitions).
|
|
19
|
+
* Custom component for the mobile dialog [Transition](https://mui.com/material-ui/transitions/).
|
|
20
20
|
* @default Fade from @mui/material
|
|
21
21
|
*/
|
|
22
22
|
MobileTransition?: React.JSXElementConstructor<MuiTransitionProps>;
|
|
@@ -31,13 +31,13 @@ export interface PickersModalDialogSlotsComponentsProps {
|
|
|
31
31
|
*/
|
|
32
32
|
mobilePaper?: Partial<MuiPaperProps>;
|
|
33
33
|
/**
|
|
34
|
-
* Props passed down to the mobile [Transition](https://mui.com/material-ui/transitions) component.
|
|
34
|
+
* Props passed down to the mobile [Transition](https://mui.com/material-ui/transitions/) component.
|
|
35
35
|
*/
|
|
36
36
|
mobileTransition?: Partial<MuiTransitionProps>;
|
|
37
37
|
}
|
|
38
38
|
export interface PickersModalDialogProps extends UsePickerValueActions {
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Overridable components.
|
|
41
41
|
* @default {}
|
|
42
42
|
* @deprecated Please use `slots`.
|
|
43
43
|
*/
|
|
@@ -49,7 +49,7 @@ export interface PickersModalDialogProps extends UsePickerValueActions {
|
|
|
49
49
|
*/
|
|
50
50
|
componentsProps?: PickersModalDialogSlotsComponentsProps;
|
|
51
51
|
/**
|
|
52
|
-
*
|
|
52
|
+
* Overridable component slots.
|
|
53
53
|
* @default {}
|
|
54
54
|
*/
|
|
55
55
|
slots?: UncapitalizeObjectKeys<PickersModalDialogSlotsComponent>;
|
|
@@ -14,7 +14,7 @@ export interface PickersPopperSlotsComponent {
|
|
|
14
14
|
*/
|
|
15
15
|
DesktopPaper?: React.JSXElementConstructor<MuiPaperProps>;
|
|
16
16
|
/**
|
|
17
|
-
* Custom component for the desktop popper [Transition](https://mui.com/material-ui/transitions).
|
|
17
|
+
* Custom component for the desktop popper [Transition](https://mui.com/material-ui/transitions/).
|
|
18
18
|
* @default Grow from @mui/material
|
|
19
19
|
*/
|
|
20
20
|
DesktopTransition?: React.JSXElementConstructor<MuiTransitionProps>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["ownerState"]
|
|
3
|
+
const _excluded = ["ownerState"],
|
|
4
|
+
_excluded2 = ["ownerState"];
|
|
4
5
|
import * as React from 'react';
|
|
5
6
|
import { useSlotProps } from '@mui/base/utils';
|
|
6
7
|
import MuiInputAdornment from '@mui/material/InputAdornment';
|
|
@@ -63,16 +64,17 @@ export const useDesktopPicker = ({
|
|
|
63
64
|
wrapperVariant: 'desktop'
|
|
64
65
|
});
|
|
65
66
|
const InputAdornment = (_slots$inputAdornment = slots.inputAdornment) != null ? _slots$inputAdornment : MuiInputAdornment;
|
|
66
|
-
const inputAdornmentProps = useSlotProps({
|
|
67
|
-
elementType: InputAdornment,
|
|
68
|
-
externalSlotProps: innerSlotProps == null ? void 0 : innerSlotProps.inputAdornment,
|
|
69
|
-
additionalProps: {
|
|
70
|
-
position: 'end'
|
|
71
|
-
},
|
|
72
|
-
ownerState: props
|
|
73
|
-
});
|
|
74
|
-
const OpenPickerButton = (_slots$openPickerButt = slots.openPickerButton) != null ? _slots$openPickerButt : IconButton;
|
|
75
67
|
const _useSlotProps = useSlotProps({
|
|
68
|
+
elementType: InputAdornment,
|
|
69
|
+
externalSlotProps: innerSlotProps == null ? void 0 : innerSlotProps.inputAdornment,
|
|
70
|
+
additionalProps: {
|
|
71
|
+
position: 'end'
|
|
72
|
+
},
|
|
73
|
+
ownerState: props
|
|
74
|
+
}),
|
|
75
|
+
inputAdornmentProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded);
|
|
76
|
+
const OpenPickerButton = (_slots$openPickerButt = slots.openPickerButton) != null ? _slots$openPickerButt : IconButton;
|
|
77
|
+
const _useSlotProps2 = useSlotProps({
|
|
76
78
|
elementType: OpenPickerButton,
|
|
77
79
|
externalSlotProps: innerSlotProps == null ? void 0 : innerSlotProps.openPickerButton,
|
|
78
80
|
additionalProps: {
|
|
@@ -83,7 +85,7 @@ export const useDesktopPicker = ({
|
|
|
83
85
|
},
|
|
84
86
|
ownerState: props
|
|
85
87
|
}),
|
|
86
|
-
openPickerButtonProps = _objectWithoutPropertiesLoose(
|
|
88
|
+
openPickerButtonProps = _objectWithoutPropertiesLoose(_useSlotProps2, _excluded2);
|
|
87
89
|
const OpenPickerIcon = slots.openPickerIcon;
|
|
88
90
|
const Field = slots.field;
|
|
89
91
|
const fieldProps = useSlotProps({
|
|
@@ -55,7 +55,7 @@ export interface DesktopOnlyPickerProps<TDate> extends BaseNonStaticPickerProps,
|
|
|
55
55
|
}
|
|
56
56
|
export interface UseDesktopPickerProps<TDate, TView extends DateOrTimeView, TError, TExternalProps extends UsePickerViewsProps<any, TView, any, any>> extends BasePickerProps<TDate | null, TDate, TView, TError, TExternalProps, {}>, DesktopOnlyPickerProps<TDate> {
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Overridable component slots.
|
|
59
59
|
* @default {}
|
|
60
60
|
*/
|
|
61
61
|
slots: UncapitalizeObjectKeys<UseDesktopPickerSlotsComponent<TDate, TView>>;
|
|
@@ -10,11 +10,9 @@ import { useUtils } from '../useUtils';
|
|
|
10
10
|
import { adjustSectionValue, isAndroid, cleanString } from './useField.utils';
|
|
11
11
|
import { useFieldState } from './useFieldState';
|
|
12
12
|
import { useFieldCharacterEditing } from './useFieldCharacterEditing';
|
|
13
|
+
import { getActiveElement } from '../../utils/utils';
|
|
13
14
|
export const useField = params => {
|
|
14
15
|
const utils = useUtils();
|
|
15
|
-
if (!utils.formatTokenMap) {
|
|
16
|
-
throw new Error('This adapter is not compatible with the field components');
|
|
17
|
-
}
|
|
18
16
|
const {
|
|
19
17
|
state,
|
|
20
18
|
selectedSectionIndexes,
|
|
@@ -61,6 +59,10 @@ export const useField = params => {
|
|
|
61
59
|
const focusTimeoutRef = React.useRef(undefined);
|
|
62
60
|
const syncSelectionFromDOM = () => {
|
|
63
61
|
var _selectionStart;
|
|
62
|
+
if (readOnly) {
|
|
63
|
+
setSelectedSections(null);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
64
66
|
const browserStartIndex = (_selectionStart = inputRef.current.selectionStart) != null ? _selectionStart : 0;
|
|
65
67
|
const nextSectionIndex = browserStartIndex <= state.sections[0].startInInput ? 1 // Special case if browser index is in invisible characters at the beginning.
|
|
66
68
|
: state.sections.findIndex(section => section.startInInput - section.startSeparator.length > browserStartIndex);
|
|
@@ -87,7 +89,7 @@ export const useField = params => {
|
|
|
87
89
|
if (!input || input !== inputRef.current) {
|
|
88
90
|
return;
|
|
89
91
|
}
|
|
90
|
-
if (selectedSectionIndexes != null) {
|
|
92
|
+
if (selectedSectionIndexes != null || readOnly) {
|
|
91
93
|
return;
|
|
92
94
|
}
|
|
93
95
|
if (
|
|
@@ -258,6 +260,10 @@ export const useField = params => {
|
|
|
258
260
|
});
|
|
259
261
|
useEnhancedEffect(() => {
|
|
260
262
|
if (selectedSectionIndexes == null) {
|
|
263
|
+
if (inputRef.current.selectionStart !== 0 || inputRef.current.selectionEnd !== 0) {
|
|
264
|
+
// Ensure input selection range is in sync with component selection indexes
|
|
265
|
+
inputRef.current.setSelectionRange(0, 0);
|
|
266
|
+
}
|
|
261
267
|
return;
|
|
262
268
|
}
|
|
263
269
|
const firstSelectedSection = state.sections[selectedSectionIndexes.startIndex];
|
|
@@ -315,7 +321,7 @@ export const useField = params => {
|
|
|
315
321
|
}
|
|
316
322
|
return 'tel';
|
|
317
323
|
}, [selectedSectionIndexes, state.sections]);
|
|
318
|
-
const inputHasFocus = inputRef.current && inputRef.current === document
|
|
324
|
+
const inputHasFocus = inputRef.current && inputRef.current === getActiveElement(document);
|
|
319
325
|
const shouldShowPlaceholder = !inputHasFocus && (!state.value || valueManager.areValuesEqual(utils, state.value, valueManager.emptyValue));
|
|
320
326
|
return _extends({
|
|
321
327
|
placeholder: state.placeholder,
|
|
@@ -152,14 +152,19 @@ export interface FieldSection {
|
|
|
152
152
|
endSeparator: string;
|
|
153
153
|
}
|
|
154
154
|
export type FieldSectionWithoutPosition<TSection extends FieldSection = FieldSection> = Omit<TSection, 'start' | 'end' | 'startInInput' | 'endInInput'>;
|
|
155
|
-
export type
|
|
156
|
-
currentDate: TDate | null;
|
|
157
|
-
format: string;
|
|
158
|
-
contentType: 'digit' | 'letter';
|
|
159
|
-
}) => {
|
|
155
|
+
export type FieldSectionValueBoundaries<TDate, SectionType extends FieldSectionType> = {
|
|
160
156
|
minimum: number;
|
|
161
157
|
maximum: number;
|
|
162
|
-
}
|
|
158
|
+
} & (SectionType extends 'day' ? {
|
|
159
|
+
longestMonth: TDate;
|
|
160
|
+
} : {});
|
|
161
|
+
export type FieldSectionsValueBoundaries<TDate> = {
|
|
162
|
+
[SectionType in FieldSectionType]: (params: {
|
|
163
|
+
currentDate: TDate | null;
|
|
164
|
+
format: string;
|
|
165
|
+
contentType: 'digit' | 'letter';
|
|
166
|
+
}) => FieldSectionValueBoundaries<TDate, SectionType>;
|
|
167
|
+
};
|
|
163
168
|
export type FieldChangeHandler<TValue, TError> = (value: TValue, context: FieldChangeHandlerContext<TError>) => void;
|
|
164
169
|
export interface FieldChangeHandlerContext<TError> {
|
|
165
170
|
validationError: TError;
|
|
@@ -205,12 +210,12 @@ export interface FieldValueManager<TValue, TDate, TSection extends FieldSection,
|
|
|
205
210
|
* @template TValue, TDate, TSection
|
|
206
211
|
* @param {MuiPickersAdapter<TDate>} utils The utils to manipulate the date.
|
|
207
212
|
* @param {PickersLocaleText<TDate>} localeText The localization object to generate the placeholders.
|
|
208
|
-
* @param {TSection[] | null}
|
|
213
|
+
* @param {TSection[] | null} sections The sections to use as a fallback if a date is null or invalid.
|
|
209
214
|
* @param {TValue} value The current value to generate sections from.
|
|
210
215
|
* @param {string} format The date format.
|
|
211
216
|
* @returns {TSection[]} The new section list.
|
|
212
217
|
*/
|
|
213
|
-
getSectionsFromValue: (utils: MuiPickersAdapter<TDate>, localeText: PickersLocaleText<TDate>,
|
|
218
|
+
getSectionsFromValue: (utils: MuiPickersAdapter<TDate>, localeText: PickersLocaleText<TDate>, sections: TSection[] | null, value: TValue, format: string) => TSection[];
|
|
214
219
|
/**
|
|
215
220
|
* Creates the string value to render in the input based on the current section list.
|
|
216
221
|
* @template TSection
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { FieldSection, AvailableAdjustKeyCode, FieldSectionsValueBoundaries, SectionOrdering, FieldValueType, FieldSectionWithoutPosition } from './useField.types';
|
|
1
|
+
import { FieldSection, AvailableAdjustKeyCode, FieldSectionsValueBoundaries, SectionOrdering, FieldValueType, FieldSectionWithoutPosition, FieldSectionValueBoundaries } from './useField.types';
|
|
2
2
|
import { MuiPickersAdapter, FieldSectionType } from '../../models';
|
|
3
3
|
import { PickersLocaleText } from '../../../locales/utils/pickersLocaleTextApi';
|
|
4
4
|
export declare const getDateSectionConfigFromFormatToken: <TDate>(utils: MuiPickersAdapter<TDate>, formatToken: string) => Pick<FieldSection, 'type' | 'contentType'>;
|
|
5
5
|
export declare const getDaysInWeekStr: <TDate>(utils: MuiPickersAdapter<TDate>, format: string) => string[];
|
|
6
|
-
export declare const cleanLeadingZerosInNumericSectionValue: <TDate>(utils: MuiPickersAdapter<TDate>, format: string, value: string) => string;
|
|
7
6
|
export declare const getLetterEditingOptions: <TDate>(utils: MuiPickersAdapter<TDate>, sectionType: FieldSectionType, format: string) => string[];
|
|
7
|
+
export declare const cleanDigitSectionValue: <TDate>(utils: MuiPickersAdapter<TDate>, value: number, sectionType: FieldSectionType, format: string, hasLeadingZeros: boolean, sectionBoundaries: FieldSectionValueBoundaries<TDate, any>) => string;
|
|
8
8
|
export declare const adjustSectionValue: <TDate, TSection extends FieldSection>(utils: MuiPickersAdapter<TDate>, section: TSection, keyCode: AvailableAdjustKeyCode, sectionsValueBoundaries: FieldSectionsValueBoundaries<TDate>, activeDate: TDate | null) => string;
|
|
9
9
|
export declare const cleanString: (dirtyString: string) => string;
|
|
10
10
|
export declare const addPositionPropertiesToSections: <TSection extends FieldSection>(sections: FieldSectionWithoutPosition<TSection>[]) => TSection[];
|
|
11
11
|
export declare const changeSectionValueFormat: <TDate>(utils: MuiPickersAdapter<TDate>, valueStr: string, currentFormat: string, newFormat: string) => string;
|
|
12
|
-
export declare const
|
|
12
|
+
export declare const doesSectionHaveLeadingZeros: <TDate>(utils: MuiPickersAdapter<TDate>, contentType: 'digit' | 'letter', sectionType: FieldSectionType, format: string) => boolean;
|
|
13
13
|
export declare const splitFormatIntoSections: <TDate>(utils: MuiPickersAdapter<TDate>, localeText: PickersLocaleText<TDate>, format: string, date: TDate | null) => FieldSectionWithoutPosition<FieldSection>[];
|
|
14
14
|
/**
|
|
15
15
|
* Some date libraries like `dayjs` don't support parsing from date with escaped characters.
|