@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.
Files changed (178) hide show
  1. package/AdapterDateFns/index.js +1 -0
  2. package/AdapterDayjs/index.js +1 -0
  3. package/AdapterMoment/index.js +1 -0
  4. package/AdapterMomentHijri/index.d.ts +1 -1
  5. package/CHANGELOG.md +103 -12
  6. package/DateCalendar/DateCalendar.js +2 -2
  7. package/DateCalendar/PickersCalendarHeader.d.ts +2 -2
  8. package/DateField/DateField.js +2 -2
  9. package/DatePicker/DatePicker.js +2 -2
  10. package/DatePicker/DatePicker.types.d.ts +2 -2
  11. package/DatePicker/shared.d.ts +2 -2
  12. package/DateTimeField/DateTimeField.js +2 -2
  13. package/DateTimeField/DateTimeField.types.d.ts +2 -2
  14. package/DateTimePicker/DateTimePicker.js +2 -2
  15. package/DateTimePicker/DateTimePicker.types.d.ts +2 -2
  16. package/DateTimePicker/shared.d.ts +2 -2
  17. package/DesktopDatePicker/DesktopDatePicker.js +2 -2
  18. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +2 -2
  19. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  20. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  21. package/DesktopTimePicker/DesktopTimePicker.js +2 -2
  22. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  23. package/MobileDatePicker/MobileDatePicker.js +2 -2
  24. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -2
  25. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  26. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +2 -2
  27. package/MobileTimePicker/MobileTimePicker.js +2 -2
  28. package/MobileTimePicker/MobileTimePicker.types.d.ts +2 -2
  29. package/PickersLayout/PickersLayout.js +2 -2
  30. package/PickersLayout/PickersLayout.types.d.ts +2 -2
  31. package/StaticDatePicker/StaticDatePicker.js +2 -2
  32. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -2
  33. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  34. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  35. package/StaticTimePicker/StaticTimePicker.js +2 -2
  36. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  37. package/TimeClock/TimeClock.js +2 -2
  38. package/TimeClock/TimeClock.types.d.ts +2 -2
  39. package/TimeField/TimeField.js +2 -2
  40. package/TimeField/TimeField.types.d.ts +2 -2
  41. package/TimePicker/TimePicker.js +2 -2
  42. package/TimePicker/TimePicker.types.d.ts +2 -2
  43. package/TimePicker/shared.d.ts +2 -2
  44. package/index.js +1 -1
  45. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -2
  46. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +2 -2
  47. package/internals/components/PickersModalDialog.d.ts +4 -4
  48. package/internals/components/PickersPopper.d.ts +1 -1
  49. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -11
  50. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +1 -1
  51. package/internals/hooks/useField/useField.js +11 -5
  52. package/internals/hooks/useField/useField.types.d.ts +13 -8
  53. package/internals/hooks/useField/useField.utils.d.ts +3 -3
  54. package/internals/hooks/useField/useField.utils.js +63 -35
  55. package/internals/hooks/useField/useFieldCharacterEditing.js +4 -9
  56. package/internals/hooks/useField/useFieldState.js +43 -37
  57. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +1 -1
  58. package/internals/hooks/usePicker/usePicker.js +7 -0
  59. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
  60. package/internals/hooks/useViews.js +1 -1
  61. package/internals/utils/slots-migration.d.ts +2 -2
  62. package/internals/utils/valueManagers.js +11 -7
  63. package/legacy/AdapterDateFns/index.js +1 -0
  64. package/legacy/AdapterDayjs/index.js +1 -0
  65. package/legacy/AdapterMoment/index.js +1 -0
  66. package/legacy/DateCalendar/DateCalendar.js +2 -2
  67. package/legacy/DateField/DateField.js +2 -2
  68. package/legacy/DatePicker/DatePicker.js +2 -2
  69. package/legacy/DateTimeField/DateTimeField.js +2 -2
  70. package/legacy/DateTimePicker/DateTimePicker.js +2 -2
  71. package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -2
  72. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  73. package/legacy/DesktopTimePicker/DesktopTimePicker.js +2 -2
  74. package/legacy/MobileDatePicker/MobileDatePicker.js +2 -2
  75. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  76. package/legacy/MobileTimePicker/MobileTimePicker.js +2 -2
  77. package/legacy/PickersLayout/PickersLayout.js +2 -2
  78. package/legacy/StaticDatePicker/StaticDatePicker.js +2 -2
  79. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  80. package/legacy/StaticTimePicker/StaticTimePicker.js +2 -2
  81. package/legacy/TimeClock/TimeClock.js +2 -2
  82. package/legacy/TimeField/TimeField.js +2 -2
  83. package/legacy/TimePicker/TimePicker.js +2 -2
  84. package/legacy/index.js +1 -1
  85. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -2
  86. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +15 -12
  87. package/legacy/internals/hooks/useField/useField.js +11 -5
  88. package/legacy/internals/hooks/useField/useField.utils.js +64 -36
  89. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +4 -9
  90. package/legacy/internals/hooks/useField/useFieldState.js +45 -39
  91. package/legacy/internals/hooks/usePicker/usePicker.js +7 -0
  92. package/legacy/internals/hooks/useViews.js +1 -1
  93. package/legacy/internals/utils/valueManagers.js +4 -0
  94. package/legacy/locales/deDE.js +8 -5
  95. package/legacy/locales/frFR.js +34 -20
  96. package/legacy/locales/heIL.js +71 -0
  97. package/legacy/locales/index.js +1 -0
  98. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +20 -1
  99. package/locales/deDE.js +4 -5
  100. package/locales/frFR.js +16 -20
  101. package/locales/heIL.d.ts +51 -0
  102. package/locales/heIL.js +57 -0
  103. package/locales/index.d.ts +1 -0
  104. package/locales/index.js +1 -0
  105. package/modern/AdapterDateFns/index.js +1 -0
  106. package/modern/AdapterDayjs/index.js +1 -0
  107. package/modern/AdapterMoment/index.js +1 -0
  108. package/modern/DateCalendar/DateCalendar.js +2 -2
  109. package/modern/DateField/DateField.js +2 -2
  110. package/modern/DatePicker/DatePicker.js +2 -2
  111. package/modern/DateTimeField/DateTimeField.js +2 -2
  112. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  113. package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -2
  114. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  115. package/modern/DesktopTimePicker/DesktopTimePicker.js +2 -2
  116. package/modern/MobileDatePicker/MobileDatePicker.js +2 -2
  117. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  118. package/modern/MobileTimePicker/MobileTimePicker.js +2 -2
  119. package/modern/PickersLayout/PickersLayout.js +2 -2
  120. package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
  121. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  122. package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
  123. package/modern/TimeClock/TimeClock.js +2 -2
  124. package/modern/TimeField/TimeField.js +2 -2
  125. package/modern/TimePicker/TimePicker.js +2 -2
  126. package/modern/index.js +1 -1
  127. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -2
  128. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -11
  129. package/modern/internals/hooks/useField/useField.js +11 -5
  130. package/modern/internals/hooks/useField/useField.utils.js +63 -35
  131. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +4 -9
  132. package/modern/internals/hooks/useField/useFieldState.js +43 -37
  133. package/modern/internals/hooks/usePicker/usePicker.js +7 -0
  134. package/modern/internals/hooks/useViews.js +1 -1
  135. package/modern/internals/utils/valueManagers.js +11 -7
  136. package/modern/locales/deDE.js +4 -5
  137. package/modern/locales/frFR.js +16 -20
  138. package/modern/locales/heIL.js +57 -0
  139. package/modern/locales/index.js +1 -0
  140. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +20 -1
  141. package/node/AdapterDateFns/index.js +1 -0
  142. package/node/AdapterDayjs/index.js +1 -0
  143. package/node/AdapterMoment/index.js +1 -0
  144. package/node/DateCalendar/DateCalendar.js +2 -2
  145. package/node/DateField/DateField.js +2 -2
  146. package/node/DatePicker/DatePicker.js +2 -2
  147. package/node/DateTimeField/DateTimeField.js +2 -2
  148. package/node/DateTimePicker/DateTimePicker.js +2 -2
  149. package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
  150. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  151. package/node/DesktopTimePicker/DesktopTimePicker.js +2 -2
  152. package/node/MobileDatePicker/MobileDatePicker.js +2 -2
  153. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  154. package/node/MobileTimePicker/MobileTimePicker.js +2 -2
  155. package/node/PickersLayout/PickersLayout.js +2 -2
  156. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  157. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  158. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  159. package/node/TimeClock/TimeClock.js +2 -2
  160. package/node/TimeField/TimeField.js +2 -2
  161. package/node/TimePicker/TimePicker.js +2 -2
  162. package/node/index.js +1 -1
  163. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +8 -2
  164. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +13 -11
  165. package/node/internals/hooks/useField/useField.js +11 -5
  166. package/node/internals/hooks/useField/useField.utils.js +66 -38
  167. package/node/internals/hooks/useField/useFieldCharacterEditing.js +3 -8
  168. package/node/internals/hooks/useField/useFieldState.js +43 -37
  169. package/node/internals/hooks/usePicker/usePicker.js +7 -0
  170. package/node/internals/hooks/useViews.js +1 -1
  171. package/node/internals/utils/valueManagers.js +11 -7
  172. package/node/locales/deDE.js +4 -5
  173. package/node/locales/frFR.js +16 -20
  174. package/node/locales/heIL.js +64 -0
  175. package/node/locales/index.js +11 -0
  176. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +19 -0
  177. package/package.json +3 -3
  178. 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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
22
+ * Overridable component slots.
23
23
  * @default {}
24
24
  */
25
25
  slots?: UncapitalizeObjectKeys<StaticTimePickerSlotsComponent<TDate>>;
@@ -321,7 +321,7 @@ process.env.NODE_ENV !== "production" ? TimeClock.propTypes = {
321
321
  classes: PropTypes.object,
322
322
  className: PropTypes.string,
323
323
  /**
324
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
52
+ * Overridable component slots.
53
53
  * @default {}
54
54
  */
55
55
  slots?: UncapitalizeObjectKeys<TimeClockSlotsComponent>;
@@ -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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
36
+ * Overridable component slots.
37
37
  * @default {}
38
38
  */
39
39
  slots?: UncapitalizeObjectKeys<TimeFieldSlotsComponent>;
@@ -64,7 +64,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
64
64
  */
65
65
  closeOnSelect: PropTypes.bool,
66
66
  /**
67
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
28
+ * Overridable component slots.
29
29
  * @default {}
30
30
  */
31
31
  slots?: UncapitalizeObjectKeys<TimePickerSlotsComponents<TDate>>;
@@ -27,7 +27,7 @@ export interface BaseTimePickerProps<TDate> extends BasePickerInputProps<TDate |
27
27
  */
28
28
  ampmInClock?: boolean;
29
29
  /**
30
- * Overrideable components.
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
- * Overrideable component slots.
42
+ * Overridable component slots.
43
43
  * @default {}
44
44
  */
45
45
  slots?: UncapitalizeObjectKeys<BaseTimePickerSlotsComponent<TDate>>;
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v6.0.0
2
+ * @mui/x-date-pickers v6.0.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -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: 'small',
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: 'small',
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
- * Overrideable components.
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
- * Overrideable component slots.
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
- * Overrideable components.
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
- * Overrideable component slots.
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(_useSlotProps, _excluded);
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
- * Overrideable component slots.
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.activeElement;
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 FieldSectionsValueBoundaries<TDate> = Record<FieldSectionType, (params: {
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} prevSections The last section list stored in state.
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>, prevSections: TSection[] | null, value: TValue, format: string) => TSection[];
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 doesSectionHaveTrailingZeros: <TDate>(utils: MuiPickersAdapter<TDate>, contentType: 'digit' | 'letter', sectionType: FieldSectionType, format: string) => boolean;
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.