@mui/x-date-pickers 6.16.2 → 6.17.0

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 (197) hide show
  1. package/AdapterDateFns/AdapterDateFns.js +1 -1
  2. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +1 -1
  3. package/AdapterDayjs/AdapterDayjs.js +1 -1
  4. package/AdapterLuxon/AdapterLuxon.js +1 -1
  5. package/CHANGELOG.md +131 -0
  6. package/DateCalendar/DayCalendar.js +1 -3
  7. package/DateField/DateField.js +1 -1
  8. package/DatePicker/DatePicker.d.ts +10 -0
  9. package/DatePicker/DatePicker.js +10 -0
  10. package/DatePicker/DatePickerToolbar.d.ts +10 -0
  11. package/DatePicker/DatePickerToolbar.js +10 -0
  12. package/DateTimeField/DateTimeField.js +1 -1
  13. package/DateTimePicker/DateTimePickerTabs.d.ts +10 -0
  14. package/DateTimePicker/DateTimePickerTabs.js +11 -0
  15. package/DateTimePicker/DateTimePickerToolbar.d.ts +10 -0
  16. package/DateTimePicker/DateTimePickerToolbar.js +11 -0
  17. package/DayCalendarSkeleton/DayCalendarSkeleton.d.ts +1 -2
  18. package/DayCalendarSkeleton/DayCalendarSkeleton.js +1 -2
  19. package/DesktopDatePicker/DesktopDatePicker.d.ts +10 -0
  20. package/DesktopDatePicker/DesktopDatePicker.js +10 -0
  21. package/DigitalClock/DigitalClock.d.ts +10 -0
  22. package/DigitalClock/DigitalClock.js +10 -0
  23. package/LocalizationProvider/LocalizationProvider.d.ts +12 -0
  24. package/LocalizationProvider/LocalizationProvider.js +12 -0
  25. package/MobileDatePicker/MobileDatePicker.d.ts +10 -0
  26. package/MobileDatePicker/MobileDatePicker.js +10 -0
  27. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +10 -0
  28. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +10 -0
  29. package/PickersActionBar/PickersActionBar.d.ts +10 -0
  30. package/PickersActionBar/PickersActionBar.js +10 -0
  31. package/PickersCalendarHeader/PickersCalendarHeader.d.ts +11 -0
  32. package/PickersCalendarHeader/PickersCalendarHeader.js +11 -0
  33. package/PickersDay/PickersDay.d.ts +1 -3
  34. package/PickersDay/PickersDay.js +1 -3
  35. package/PickersLayout/PickersLayout.d.ts +9 -0
  36. package/PickersLayout/PickersLayout.js +10 -0
  37. package/PickersShortcuts/PickersShortcuts.d.ts +9 -0
  38. package/PickersShortcuts/PickersShortcuts.js +9 -0
  39. package/StaticDatePicker/StaticDatePicker.d.ts +10 -0
  40. package/StaticDatePicker/StaticDatePicker.js +10 -0
  41. package/TimeClock/TimeClock.d.ts +4 -0
  42. package/TimeClock/TimeClock.js +4 -0
  43. package/TimeField/TimeField.js +1 -1
  44. package/TimePicker/TimePickerToolbar.d.ts +10 -0
  45. package/TimePicker/TimePickerToolbar.js +11 -0
  46. package/index.js +1 -1
  47. package/internals/components/FakeTextField/FakeTextField.d.ts +18 -3
  48. package/internals/components/FakeTextField/FakeTextField.js +39 -14
  49. package/internals/hooks/useField/useField.js +14 -4
  50. package/internals/hooks/useField/useField.utils.js +1 -1
  51. package/internals/hooks/useField/useFieldState.js +5 -8
  52. package/legacy/AdapterDateFns/AdapterDateFns.js +1 -1
  53. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +1 -1
  54. package/legacy/AdapterDayjs/AdapterDayjs.js +1 -1
  55. package/legacy/AdapterLuxon/AdapterLuxon.js +1 -1
  56. package/legacy/DateCalendar/DayCalendar.js +1 -3
  57. package/legacy/DateField/DateField.js +1 -1
  58. package/legacy/DatePicker/DatePicker.js +10 -0
  59. package/legacy/DatePicker/DatePickerToolbar.js +10 -0
  60. package/legacy/DateTimeField/DateTimeField.js +1 -1
  61. package/legacy/DateTimePicker/DateTimePickerTabs.js +11 -0
  62. package/legacy/DateTimePicker/DateTimePickerToolbar.js +11 -0
  63. package/legacy/DayCalendarSkeleton/DayCalendarSkeleton.js +1 -2
  64. package/legacy/DesktopDatePicker/DesktopDatePicker.js +10 -0
  65. package/legacy/DigitalClock/DigitalClock.js +10 -0
  66. package/legacy/LocalizationProvider/LocalizationProvider.js +12 -0
  67. package/legacy/MobileDatePicker/MobileDatePicker.js +10 -0
  68. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +10 -0
  69. package/legacy/PickersActionBar/PickersActionBar.js +10 -0
  70. package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +11 -0
  71. package/legacy/PickersDay/PickersDay.js +1 -3
  72. package/legacy/PickersLayout/PickersLayout.js +10 -0
  73. package/legacy/PickersShortcuts/PickersShortcuts.js +9 -0
  74. package/legacy/StaticDatePicker/StaticDatePicker.js +10 -0
  75. package/legacy/TimeClock/TimeClock.js +4 -0
  76. package/legacy/TimeField/TimeField.js +1 -1
  77. package/legacy/TimePicker/TimePickerToolbar.js +11 -0
  78. package/legacy/index.js +1 -1
  79. package/legacy/internals/components/FakeTextField/FakeTextField.js +45 -15
  80. package/legacy/internals/hooks/useField/useField.js +14 -4
  81. package/legacy/internals/hooks/useField/useField.utils.js +1 -1
  82. package/legacy/internals/hooks/useField/useFieldState.js +5 -8
  83. package/modern/AdapterDateFns/AdapterDateFns.js +1 -1
  84. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +1 -1
  85. package/modern/AdapterDayjs/AdapterDayjs.js +1 -1
  86. package/modern/AdapterLuxon/AdapterLuxon.js +1 -1
  87. package/modern/DateCalendar/DayCalendar.js +1 -3
  88. package/modern/DateField/DateField.js +1 -1
  89. package/modern/DatePicker/DatePicker.js +10 -0
  90. package/modern/DatePicker/DatePickerToolbar.js +10 -0
  91. package/modern/DateTimeField/DateTimeField.js +1 -1
  92. package/modern/DateTimePicker/DateTimePickerTabs.js +11 -0
  93. package/modern/DateTimePicker/DateTimePickerToolbar.js +11 -0
  94. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +1 -2
  95. package/modern/DesktopDatePicker/DesktopDatePicker.js +10 -0
  96. package/modern/DigitalClock/DigitalClock.js +10 -0
  97. package/modern/LocalizationProvider/LocalizationProvider.js +12 -0
  98. package/modern/MobileDatePicker/MobileDatePicker.js +10 -0
  99. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +10 -0
  100. package/modern/PickersActionBar/PickersActionBar.js +10 -0
  101. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +11 -0
  102. package/modern/PickersDay/PickersDay.js +1 -3
  103. package/modern/PickersLayout/PickersLayout.js +10 -0
  104. package/modern/PickersShortcuts/PickersShortcuts.js +9 -0
  105. package/modern/StaticDatePicker/StaticDatePicker.js +10 -0
  106. package/modern/TimeClock/TimeClock.js +4 -0
  107. package/modern/TimeField/TimeField.js +1 -1
  108. package/modern/TimePicker/TimePickerToolbar.js +11 -0
  109. package/modern/index.js +1 -1
  110. package/modern/internals/components/FakeTextField/FakeTextField.js +39 -14
  111. package/modern/internals/hooks/useField/useField.js +14 -4
  112. package/modern/internals/hooks/useField/useField.utils.js +1 -1
  113. package/modern/internals/hooks/useField/useFieldState.js +5 -8
  114. package/node/AdapterDateFns/AdapterDateFns.js +1 -1
  115. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +1 -1
  116. package/node/AdapterDayjs/AdapterDayjs.js +1 -1
  117. package/node/AdapterLuxon/AdapterLuxon.js +1 -1
  118. package/node/DateCalendar/DateCalendar.js +2 -2
  119. package/node/DateCalendar/DayCalendar.js +3 -5
  120. package/node/DateCalendar/PickersFadeTransitionGroup.js +2 -2
  121. package/node/DateCalendar/PickersSlideTransition.js +2 -2
  122. package/node/DateCalendar/useCalendarState.js +2 -2
  123. package/node/DateCalendar/useIsDateDisabled.js +2 -2
  124. package/node/DateField/DateField.js +3 -3
  125. package/node/DatePicker/DatePicker.js +12 -2
  126. package/node/DatePicker/DatePickerToolbar.js +12 -2
  127. package/node/DatePicker/shared.js +2 -2
  128. package/node/DateTimeField/DateTimeField.js +3 -3
  129. package/node/DateTimePicker/DateTimePicker.js +2 -2
  130. package/node/DateTimePicker/DateTimePickerTabs.js +13 -2
  131. package/node/DateTimePicker/DateTimePickerToolbar.js +13 -2
  132. package/node/DateTimePicker/shared.js +2 -2
  133. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +3 -4
  134. package/node/DesktopDatePicker/DesktopDatePicker.js +12 -2
  135. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -2
  136. package/node/DesktopTimePicker/DesktopTimePicker.js +2 -2
  137. package/node/DigitalClock/DigitalClock.js +12 -2
  138. package/node/LocalizationProvider/LocalizationProvider.js +14 -2
  139. package/node/MobileDatePicker/MobileDatePicker.js +12 -2
  140. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  141. package/node/MobileTimePicker/MobileTimePicker.js +2 -2
  142. package/node/MonthCalendar/MonthCalendar.js +2 -2
  143. package/node/MonthCalendar/PickersMonth.js +2 -2
  144. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +12 -2
  145. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +2 -2
  146. package/node/PickersActionBar/PickersActionBar.js +12 -2
  147. package/node/PickersCalendarHeader/PickersCalendarHeader.js +13 -2
  148. package/node/PickersDay/PickersDay.js +3 -5
  149. package/node/PickersLayout/PickersLayout.js +12 -2
  150. package/node/PickersLayout/usePickerLayout.js +2 -2
  151. package/node/PickersShortcuts/PickersShortcuts.js +11 -2
  152. package/node/StaticDatePicker/StaticDatePicker.js +12 -2
  153. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  154. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  155. package/node/TimeClock/Clock.js +2 -2
  156. package/node/TimeClock/ClockNumber.js +2 -2
  157. package/node/TimeClock/ClockNumbers.js +2 -2
  158. package/node/TimeClock/ClockPointer.js +2 -2
  159. package/node/TimeClock/TimeClock.js +6 -2
  160. package/node/TimeField/TimeField.js +3 -3
  161. package/node/TimePicker/TimePicker.js +2 -2
  162. package/node/TimePicker/TimePickerToolbar.js +13 -2
  163. package/node/TimePicker/shared.js +2 -2
  164. package/node/YearCalendar/PickersYear.js +2 -2
  165. package/node/YearCalendar/YearCalendar.js +2 -2
  166. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +2 -2
  167. package/node/dateViewRenderers/dateViewRenderers.js +2 -2
  168. package/node/hooks/useClearableField.js +2 -2
  169. package/node/icons/index.js +2 -2
  170. package/node/index.js +1 -1
  171. package/node/internals/components/FakeTextField/FakeTextField.js +43 -18
  172. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +2 -2
  173. package/node/internals/components/PickersModalDialog.js +2 -2
  174. package/node/internals/components/PickersPopper.js +2 -2
  175. package/node/internals/components/PickersToolbar.js +2 -2
  176. package/node/internals/components/PickersToolbarButton.js +2 -2
  177. package/node/internals/components/PickersToolbarText.js +2 -2
  178. package/node/internals/demo/DemoContainer.js +2 -2
  179. package/node/internals/hooks/date-helpers-hooks.js +2 -2
  180. package/node/internals/hooks/useClockReferenceDate.js +2 -2
  181. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -2
  182. package/node/internals/hooks/useField/useField.js +16 -6
  183. package/node/internals/hooks/useField/useField.utils.js +1 -1
  184. package/node/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
  185. package/node/internals/hooks/useField/useFieldState.js +7 -10
  186. package/node/internals/hooks/useIsLandscape.js +2 -2
  187. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +2 -2
  188. package/node/internals/hooks/useOpenState.js +2 -2
  189. package/node/internals/hooks/usePicker/usePickerValue.js +2 -2
  190. package/node/internals/hooks/usePicker/usePickerViews.js +2 -2
  191. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +2 -2
  192. package/node/internals/hooks/useUtils.js +2 -2
  193. package/node/internals/hooks/useValidation.js +2 -2
  194. package/node/internals/hooks/useValueWithTimezone.js +2 -2
  195. package/node/internals/hooks/useViews.js +2 -2
  196. package/node/timeViewRenderers/timeViewRenderers.js +2 -2
  197. package/package.json +5 -5
@@ -104,6 +104,17 @@ var PickersCalendarHeaderSwitchViewIcon = styled(ArrowDropDownIcon, {
104
104
  transform: 'rotate(0deg)'
105
105
  };
106
106
  });
107
+ /**
108
+ * Demos:
109
+ *
110
+ * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)
111
+ * - [DateRangeCalendar](https://mui.com/x/react-date-pickers/date-range-calendar/)
112
+ * - [Custom slots and subcomponents](https://mui.com/x/react-date-pickers/custom-components/)
113
+ *
114
+ * API:
115
+ *
116
+ * - [PickersCalendarHeader API](https://mui.com/x/api/date-pickers/pickers-calendar-header/)
117
+ */
107
118
  var PickersCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersCalendarHeader(inProps, ref) {
108
119
  var _slots$switchViewButt, _slots$switchViewIcon;
109
120
  var localeText = useLocaleText();
@@ -358,11 +358,9 @@ process.env.NODE_ENV !== "production" ? PickersDayRaw.propTypes = {
358
358
  } : void 0;
359
359
 
360
360
  /**
361
- *
362
361
  * Demos:
363
362
  *
364
- * - [Date Picker](https://mui.com/x/react-date-pickers/date-picker/)
365
- *
363
+ * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)
366
364
  * API:
367
365
  *
368
366
  * - [PickersDay API](https://mui.com/x/api/date-pickers/pickers-day/)
@@ -72,6 +72,16 @@ export var PickersLayoutContentWrapper = styled('div', {
72
72
  display: 'flex',
73
73
  flexDirection: 'column'
74
74
  });
75
+
76
+ /**
77
+ * Demos:
78
+ *
79
+ * - [Custom layout](https://mui.com/x/react-date-pickers/custom-layout/)
80
+ *
81
+ * API:
82
+ *
83
+ * - [PickersLayout API](https://mui.com/x/api/date-pickers/pickers-layout/)
84
+ */
75
85
  var PickersLayout = function PickersLayout(inProps) {
76
86
  var props = useThemeProps({
77
87
  props: inProps,
@@ -10,6 +10,15 @@ import ListItem from '@mui/material/ListItem';
10
10
  import Chip from '@mui/material/Chip';
11
11
  import { VIEW_HEIGHT } from '../internals/constants/dimensions';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ /**
14
+ * Demos:
15
+ *
16
+ * - [Shortcuts](https://mui.com/x/react-date-pickers/shortcuts/)
17
+ *
18
+ * API:
19
+ *
20
+ * - [PickersShortcuts API](https://mui.com/x/api/date-pickers/pickers-shortcuts/)
21
+ */
13
22
  function PickersShortcuts(props) {
14
23
  var items = props.items,
15
24
  changeImportance = props.changeImportance,
@@ -6,6 +6,16 @@ import { renderDateViewCalendar } from '../dateViewRenderers';
6
6
  import { useStaticPicker } from '../internals/hooks/useStaticPicker';
7
7
  import { validateDate } from '../internals';
8
8
  import { singleItemValueManager } from '../internals/utils/valueManagers';
9
+ /**
10
+ * Demos:
11
+ *
12
+ * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)
13
+ * - [Validation](https://mui.com/x/react-date-pickers/validation/)
14
+ *
15
+ * API:
16
+ *
17
+ * - [StaticDatePicker API](https://mui.com/x/api/date-pickers/static-date-picker/)
18
+ */
9
19
  var StaticDatePicker = /*#__PURE__*/React.forwardRef(function StaticDatePicker(inProps, ref) {
10
20
  var _defaultizedProps$dis, _defaultizedProps$yea, _defaultizedProps$slo;
11
21
  var defaultizedProps = useDatePickerDefaultizedProps(inProps, 'MuiStaticDatePicker');
@@ -54,6 +54,10 @@ var TimeClockArrowSwitcher = styled(PickersArrowSwitcher, {
54
54
  var TIME_CLOCK_DEFAULT_VIEWS = ['hours', 'minutes'];
55
55
 
56
56
  /**
57
+ * Demos:
58
+ *
59
+ * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)
60
+ * - [TimeClock](https://mui.com/x/react-date-pickers/time-clock/)
57
61
  *
58
62
  * API:
59
63
  *
@@ -111,7 +111,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
111
111
  /**
112
112
  * The color of the component.
113
113
  * It supports both default and custom theme colors, which can be added as shown in the
114
- * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
114
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
115
115
  * @default 'primary'
116
116
  */
117
117
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
@@ -107,6 +107,17 @@ TimePickerToolbarAmPmSelection.propTypes = {
107
107
  ownerState: PropTypes.object.isRequired,
108
108
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
109
109
  };
110
+
111
+ /**
112
+ * Demos:
113
+ *
114
+ * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)
115
+ * - [Custom components](https://mui.com/x/react-date-pickers/custom-components/)
116
+ *
117
+ * API:
118
+ *
119
+ * - [TimePickerToolbar API](https://mui.com/x/api/date-pickers/time-picker-toolbar/)
120
+ */
110
121
  function TimePickerToolbar(inProps) {
111
122
  var props = useThemeProps({
112
123
  props: inProps,
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v6.16.2
2
+ * @mui/x-date-pickers v6.17.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -1,19 +1,49 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ var _excluded = ["elements", "valueStr", "onValueStrChange", "id", "error", "InputProps", "inputProps", "autoFocus", "disabled", "valueType", "ownerState"];
1
4
  import * as React from 'react';
2
- import Stack from '@mui/material/Stack';
5
+ import Box from '@mui/material/Box';
3
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { createElement as _createElement } from "react";
4
8
  import { jsxs as _jsxs } from "react/jsx-runtime";
5
- export function FakeTextField(props) {
6
- var sections = props.sections;
7
- return /*#__PURE__*/_jsx(Stack, {
8
- direction: "row",
9
- spacing: 1,
10
- children: sections.map(function (section) {
11
- return /*#__PURE__*/_jsxs(React.Fragment, {
12
- children: [section.startSeparator, /*#__PURE__*/_jsx("input", {
13
- value: section.value,
14
- onChange: function onChange() {}
15
- }), section.endSeparator]
16
- });
17
- })
9
+ export var FakeTextField = /*#__PURE__*/React.forwardRef(function FakeTextField(props, ref) {
10
+ var elements = props.elements,
11
+ valueStr = props.valueStr,
12
+ onValueStrChange = props.onValueStrChange,
13
+ id = props.id,
14
+ error = props.error,
15
+ InputProps = props.InputProps,
16
+ inputProps = props.inputProps,
17
+ autoFocus = props.autoFocus,
18
+ disabled = props.disabled,
19
+ valueType = props.valueType,
20
+ ownerState = props.ownerState,
21
+ other = _objectWithoutProperties(props, _excluded);
22
+ return /*#__PURE__*/_jsxs(React.Fragment, {
23
+ children: [/*#__PURE__*/_jsx(Box, _extends({
24
+ ref: ref
25
+ }, other, {
26
+ style: {
27
+ display: 'inline-block',
28
+ border: '1px solid black',
29
+ borderRadius: 4,
30
+ padding: '2px 4px',
31
+ color: valueType === 'placeholder' ? 'grey' : 'black'
32
+ },
33
+ children: elements.map(function (_ref, elementIndex) {
34
+ var container = _ref.container,
35
+ content = _ref.content,
36
+ before = _ref.before,
37
+ after = _ref.after;
38
+ return /*#__PURE__*/_createElement("span", _extends({}, container, {
39
+ key: elementIndex
40
+ }), /*#__PURE__*/_jsx("span", _extends({}, before)), /*#__PURE__*/_jsx("span", _extends({}, content)), /*#__PURE__*/_jsx("span", _extends({}, after)));
41
+ })
42
+ })), /*#__PURE__*/_jsx("input", {
43
+ type: "hidden",
44
+ value: valueStr,
45
+ onChange: onValueStrChange,
46
+ id: id
47
+ })]
18
48
  });
19
- }
49
+ });
@@ -171,6 +171,11 @@ export var useField = function useField(params) {
171
171
  return;
172
172
  }
173
173
  var targetValue = event.target.value;
174
+ if (targetValue === '') {
175
+ resetCharacterQuery();
176
+ clearValue();
177
+ return;
178
+ }
174
179
  var eventData = event.nativeEvent.data;
175
180
  // Calling `.fill(04/11/2022)` in playwright will trigger a change event with the requested content to insert in `event.nativeEvent.data`
176
181
  // usual changes have only the currently typed character in the `event.nativeEvent.data`
@@ -210,8 +215,13 @@ export var useField = function useField(params) {
210
215
  var activeSectionEndRelativeToNewValue = cleanValueStr.length - prevValueStr.length + activeSection.end - cleanString(activeSection.endSeparator || '').length;
211
216
  keyPressed = cleanValueStr.slice(activeSection.start + cleanString(activeSection.startSeparator || '').length, activeSectionEndRelativeToNewValue);
212
217
  }
213
- if (isAndroid() && keyPressed.length === 0) {
214
- setTempAndroidValueStr(valueStr);
218
+ if (keyPressed.length === 0) {
219
+ if (isAndroid()) {
220
+ setTempAndroidValueStr(valueStr);
221
+ } else {
222
+ resetCharacterQuery();
223
+ clearActiveSection();
224
+ }
215
225
  return;
216
226
  }
217
227
  applyCharacterEditing({
@@ -269,7 +279,7 @@ export var useField = function useField(params) {
269
279
  }
270
280
 
271
281
  // Reset the value of the selected section
272
- case ['Backspace', 'Delete'].includes(event.key):
282
+ case event.key === 'Delete':
273
283
  {
274
284
  event.preventDefault();
275
285
  if (readOnly) {
@@ -330,7 +340,7 @@ export var useField = function useField(params) {
330
340
  // Fix scroll jumping on iOS browser: https://github.com/mui/mui-x/issues/8321
331
341
  var currentScrollTop = inputRef.current.scrollTop;
332
342
  // On multi input range pickers we want to update selection range only for the active input
333
- // This helps avoiding the focus jumping on Safari https://github.com/mui/mui-x/issues/9003
343
+ // This helps to avoid the focus jumping on Safari https://github.com/mui/mui-x/issues/9003
334
344
  // because WebKit implements the `setSelectionRange` based on the spec: https://bugs.webkit.org/show_bug.cgi?id=224425
335
345
  if (inputRef.current === getActiveElement(document)) {
336
346
  inputRef.current.setSelectionRange(selectionStart, selectionEnd);
@@ -312,7 +312,7 @@ export var doesSectionFormatHaveLeadingZeros = function doesSectionFormatHaveLea
312
312
  }
313
313
  case 'seconds':
314
314
  {
315
- return utils.formatByString(utils.setMinutes(now, 1), format).length > 1;
315
+ return utils.formatByString(utils.setSeconds(now, 1), format).length > 1;
316
316
  }
317
317
  default:
318
318
  {
@@ -137,6 +137,9 @@ export var useFieldState = function useFieldState(params) {
137
137
  tempValueStrAndroid: null
138
138
  });
139
139
  });
140
+ if (valueManager.areValuesEqual(utils, state.value, value)) {
141
+ return;
142
+ }
140
143
  var context = {
141
144
  validationError: validator({
142
145
  adapter: adapter,
@@ -158,9 +161,6 @@ export var useFieldState = function useFieldState(params) {
158
161
  return addPositionPropertiesToSections(newSections, isRTL);
159
162
  };
160
163
  var clearValue = function clearValue() {
161
- if (valueManager.areValuesEqual(utils, state.value, valueManager.emptyValue)) {
162
- return;
163
- }
164
164
  publishValue({
165
165
  value: valueManager.emptyValue,
166
166
  referenceValue: state.referenceValue,
@@ -172,16 +172,13 @@ export var useFieldState = function useFieldState(params) {
172
172
  return;
173
173
  }
174
174
  var activeSection = state.sections[selectedSectionIndexes.startIndex];
175
- if (activeSection.value === '') {
176
- return;
177
- }
178
175
  var activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);
179
176
  var nonEmptySectionCountBefore = activeDateManager.getSections(state.sections).filter(function (section) {
180
177
  return section.value !== '';
181
178
  }).length;
182
- var isTheOnlyNonEmptySection = nonEmptySectionCountBefore === 1;
179
+ var hasNoOtherNonEmptySections = nonEmptySectionCountBefore === (activeSection.value === '' ? 0 : 1);
183
180
  var newSections = setSectionValue(selectedSectionIndexes.startIndex, '');
184
- var newActiveDate = isTheOnlyNonEmptySection ? null : utils.date(new Date(''));
181
+ var newActiveDate = hasNoOtherNonEmptySections ? null : utils.date(new Date(''));
185
182
  var newValues = activeDateManager.getNewValuesFromNewActiveDate(newActiveDate);
186
183
  if ((newActiveDate != null && !utils.isValid(newActiveDate)) !== (activeDateManager.date != null && !utils.isValid(activeDateManager.date))) {
187
184
  publishValue(_extends({}, newValues, {
@@ -228,7 +228,7 @@ const defaultFormats = {
228
228
  monthShort: 'MMM',
229
229
  dayOfMonth: 'd',
230
230
  weekday: 'EEEE',
231
- weekdayShort: 'EEE',
231
+ weekdayShort: 'EEEEEE',
232
232
  hours24h: 'HH',
233
233
  hours12h: 'hh',
234
234
  meridiem: 'aa',
@@ -228,7 +228,7 @@ const defaultFormats = {
228
228
  monthShort: 'MMM',
229
229
  dayOfMonth: 'd',
230
230
  weekday: 'EEEE',
231
- weekdayShort: 'EEE',
231
+ weekdayShort: 'EEEEEE',
232
232
  hours24h: 'HH',
233
233
  hours12h: 'hh',
234
234
  meridiem: 'aa',
@@ -99,7 +99,7 @@ const defaultFormats = {
99
99
  monthShort: 'MMM',
100
100
  dayOfMonth: 'D',
101
101
  weekday: 'dddd',
102
- weekdayShort: 'ddd',
102
+ weekdayShort: 'dd',
103
103
  hours24h: 'HH',
104
104
  hours12h: 'hh',
105
105
  meridiem: 'A',
@@ -113,7 +113,7 @@ const defaultFormats = {
113
113
  monthShort: 'MMM',
114
114
  dayOfMonth: 'd',
115
115
  weekday: 'cccc',
116
- weekdayShort: 'ccc',
116
+ weekdayShort: 'ccccc',
117
117
  hours24h: 'HH',
118
118
  hours12h: 'hh',
119
119
  meridiem: 'a',
@@ -412,9 +412,7 @@ export function DayCalendar(inProps) {
412
412
  className: classes.weekNumberLabel,
413
413
  children: localeText.calendarWeekNumberHeaderText
414
414
  }), getWeekdays(utils, now).map((weekday, i) => {
415
- // regression-prevention:
416
- // since 'weekdayShort' now always returns an abbreviated form we slice the first 2 letters from it.
417
- const day = utils.format(weekday, 'weekdayShort').slice(0, 2);
415
+ const day = utils.format(weekday, 'weekdayShort');
418
416
  return /*#__PURE__*/_jsx(PickersCalendarWeekDayLabel, {
419
417
  variant: "caption",
420
418
  role: "columnheader",
@@ -112,7 +112,7 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
112
112
  /**
113
113
  * The color of the component.
114
114
  * It supports both default and custom theme colors, which can be added as shown in the
115
- * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
115
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
116
116
  * @default 'primary'
117
117
  */
118
118
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
@@ -10,6 +10,16 @@ import { DesktopDatePicker } from '../DesktopDatePicker';
10
10
  import { MobileDatePicker } from '../MobileDatePicker';
11
11
  import { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from '../internals/utils/utils';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ /**
14
+ * Demos:
15
+ *
16
+ * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)
17
+ * - [Validation](https://mui.com/x/react-date-pickers/validation/)
18
+ *
19
+ * API:
20
+ *
21
+ * - [DatePicker API](https://mui.com/x/api/date-pickers/date-picker/)
22
+ */
13
23
  const DatePicker = /*#__PURE__*/React.forwardRef(function DatePicker(inProps, ref) {
14
24
  const props = useThemeProps({
15
25
  props: inProps,
@@ -39,6 +39,16 @@ const DatePickerToolbarTitle = styled(Typography, {
39
39
  }) => _extends({}, ownerState.isLandscape && {
40
40
  margin: 'auto 16px auto auto'
41
41
  }));
42
+ /**
43
+ * Demos:
44
+ *
45
+ * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)
46
+ * - [Custom components](https://mui.com/x/react-date-pickers/custom-components/)
47
+ *
48
+ * API:
49
+ *
50
+ * - [DatePickerToolbar API](https://mui.com/x/api/date-pickers/date-picker-toolbar/)
51
+ */
42
52
  const DatePickerToolbar = /*#__PURE__*/React.forwardRef(function DatePickerToolbar(inProps, ref) {
43
53
  const props = useThemeProps({
44
54
  props: inProps,
@@ -117,7 +117,7 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
117
117
  /**
118
118
  * The color of the component.
119
119
  * It supports both default and custom theme colors, which can be added as shown in the
120
- * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).
120
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
121
121
  * @default 'primary'
122
122
  */
123
123
  color: PropTypes.oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']),
@@ -47,6 +47,17 @@ const DateTimePickerTabsRoot = styled(Tabs, {
47
47
  }
48
48
  }
49
49
  }));
50
+
51
+ /**
52
+ * Demos:
53
+ *
54
+ * - [DateTimePicker](https://mui.com/x/react-date-pickers/date-time-picker/)
55
+ * - [Custom slots and subcomponents](https://mui.com/x/react-date-pickers/custom-components/)
56
+ *
57
+ * API:
58
+ *
59
+ * - [DateTimePickerTabs API](https://mui.com/x/api/date-pickers/date-time-picker-tabs/)
60
+ */
50
61
  const DateTimePickerTabs = function DateTimePickerTabs(inProps) {
51
62
  const props = useThemeProps({
52
63
  props: inProps,
@@ -153,6 +153,17 @@ const DateTimePickerToolbarAmPmSelection = styled('div', {
153
153
  fontSize: 17
154
154
  }
155
155
  }));
156
+
157
+ /**
158
+ * Demos:
159
+ *
160
+ * - [DateTimePicker](https://mui.com/x/react-date-pickers/date-time-picker/)
161
+ * - [Custom components](https://mui.com/x/react-date-pickers/custom-components/)
162
+ *
163
+ * API:
164
+ *
165
+ * - [DateTimePickerToolbar API](https://mui.com/x/api/date-pickers/date-time-picker-toolbar/)
166
+ */
156
167
  function DateTimePickerToolbar(inProps) {
157
168
  const props = useThemeProps({
158
169
  props: inProps,
@@ -60,10 +60,9 @@ DayCalendarSkeletonDay.propTypes = {
60
60
  const monthMap = [[0, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 0]];
61
61
 
62
62
  /**
63
- *
64
63
  * Demos:
65
64
  *
66
- * - [Date Picker](https://mui.com/x/react-date-pickers/date-picker/)
65
+ * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)
67
66
  *
68
67
  * API:
69
68
  *
@@ -12,6 +12,16 @@ import { DateField } from '../DateField';
12
12
  import { extractValidationProps } from '../internals/utils/validation/extractValidationProps';
13
13
  import { renderDateViewCalendar } from '../dateViewRenderers';
14
14
  import { resolveDateFormat } from '../internals/utils/date-utils';
15
+ /**
16
+ * Demos:
17
+ *
18
+ * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)
19
+ * - [Validation](https://mui.com/x/react-date-pickers/validation/)
20
+ *
21
+ * API:
22
+ *
23
+ * - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
24
+ */
15
25
  const DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
16
26
  const localeText = useLocaleText();
17
27
  const utils = useUtils();
@@ -79,6 +79,16 @@ const DigitalClockItem = styled(MenuItem, {
79
79
  backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.focusOpacity)
80
80
  }
81
81
  }));
82
+ /**
83
+ * Demos:
84
+ *
85
+ * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)
86
+ * - [DigitalClock](https://mui.com/x/react-date-pickers/digital-clock/)
87
+ *
88
+ * API:
89
+ *
90
+ * - [DigitalClock API](https://mui.com/x/api/date-pickers/digital-clock/)
91
+ */
82
92
  export const DigitalClock = /*#__PURE__*/React.forwardRef(function DigitalClock(inProps, ref) {
83
93
  const utils = useUtils();
84
94
  const containerRef = React.useRef(null);
@@ -9,6 +9,18 @@ export const MuiPickersAdapterContext = /*#__PURE__*/React.createContext(null);
9
9
  if (process.env.NODE_ENV !== 'production') {
10
10
  MuiPickersAdapterContext.displayName = 'MuiPickersAdapterContext';
11
11
  }
12
+ /**
13
+ * Demos:
14
+ *
15
+ * - [Date format and localization](https://mui.com/x/react-date-pickers/adapters-locale/)
16
+ * - [Calendar systems](https://mui.com/x/react-date-pickers/calendar-systems/)
17
+ * - [Translated components](https://mui.com/x/react-date-pickers/localization/)
18
+ * - [UTC and timezones](https://mui.com/x/react-date-pickers/timezone/)
19
+ *
20
+ * API:
21
+ *
22
+ * - [LocalizationProvider API](https://mui.com/x/api/date-pickers/localization-provider/)
23
+ */
12
24
  export const LocalizationProvider = function LocalizationProvider(inProps) {
13
25
  const {
14
26
  localeText: inLocaleText
@@ -11,6 +11,16 @@ import { extractValidationProps } from '../internals/utils/validation/extractVal
11
11
  import { singleItemValueManager } from '../internals/utils/valueManagers';
12
12
  import { renderDateViewCalendar } from '../dateViewRenderers';
13
13
  import { resolveDateFormat } from '../internals/utils/date-utils';
14
+ /**
15
+ * Demos:
16
+ *
17
+ * - [DatePicker](https://mui.com/x/react-date-pickers/date-picker/)
18
+ * - [Validation](https://mui.com/x/react-date-pickers/validation/)
19
+ *
20
+ * API:
21
+ *
22
+ * - [MobileDatePicker API](https://mui.com/x/api/date-pickers/mobile-date-picker/)
23
+ */
14
24
  const MobileDatePicker = /*#__PURE__*/React.forwardRef(function MobileDatePicker(inProps, ref) {
15
25
  const localeText = useLocaleText();
16
26
  const utils = useUtils();
@@ -41,6 +41,16 @@ const MultiSectionDigitalClockRoot = styled(PickerViewRoot, {
41
41
  width: '100%',
42
42
  borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
43
43
  }));
44
+ /**
45
+ * Demos:
46
+ *
47
+ * - [TimePicker](https://mui.com/x/react-date-pickers/time-picker/)
48
+ * - [DigitalClock](https://mui.com/x/react-date-pickers/digital-clock/)
49
+ *
50
+ * API:
51
+ *
52
+ * - [MultiSectionDigitalClock API](https://mui.com/x/api/date-pickers/multi-section-digital-clock/)
53
+ */
44
54
  export const MultiSectionDigitalClock = /*#__PURE__*/React.forwardRef(function MultiSectionDigitalClock(inProps, ref) {
45
55
  const utils = useUtils();
46
56
  const props = useThemeProps({
@@ -7,6 +7,16 @@ import Button from '@mui/material/Button';
7
7
  import DialogActions from '@mui/material/DialogActions';
8
8
  import { useLocaleText } from '../internals/hooks/useUtils';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
+ /**
11
+ * Demos:
12
+ *
13
+ * - [Custom slots and subcomponents](https://mui.com/x/react-date-pickers/custom-components/)
14
+ * - [Custom layout](https://mui.com/x/react-date-pickers/custom-layout/)
15
+ *
16
+ * API:
17
+ *
18
+ * - [PickersActionBar API](https://mui.com/x/api/date-pickers/pickers-action-bar/)
19
+ */
10
20
  function PickersActionBar(props) {
11
21
  const {
12
22
  onAccept,
@@ -94,6 +94,17 @@ const PickersCalendarHeaderSwitchViewIcon = styled(ArrowDropDownIcon, {
94
94
  transition: theme.transitions.create('transform'),
95
95
  transform: 'rotate(0deg)'
96
96
  }));
97
+ /**
98
+ * Demos:
99
+ *
100
+ * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)
101
+ * - [DateRangeCalendar](https://mui.com/x/react-date-pickers/date-range-calendar/)
102
+ * - [Custom slots and subcomponents](https://mui.com/x/react-date-pickers/custom-components/)
103
+ *
104
+ * API:
105
+ *
106
+ * - [PickersCalendarHeader API](https://mui.com/x/api/date-pickers/pickers-calendar-header/)
107
+ */
97
108
  const PickersCalendarHeader = /*#__PURE__*/React.forwardRef(function PickersCalendarHeader(inProps, ref) {
98
109
  const localeText = useLocaleText();
99
110
  const utils = useUtils();
@@ -343,11 +343,9 @@ process.env.NODE_ENV !== "production" ? PickersDayRaw.propTypes = {
343
343
  } : void 0;
344
344
 
345
345
  /**
346
- *
347
346
  * Demos:
348
347
  *
349
- * - [Date Picker](https://mui.com/x/react-date-pickers/date-picker/)
350
- *
348
+ * - [DateCalendar](https://mui.com/x/react-date-pickers/date-calendar/)
351
349
  * API:
352
350
  *
353
351
  * - [PickersDay API](https://mui.com/x/api/date-pickers/pickers-day/)
@@ -70,6 +70,16 @@ export const PickersLayoutContentWrapper = styled('div', {
70
70
  display: 'flex',
71
71
  flexDirection: 'column'
72
72
  });
73
+
74
+ /**
75
+ * Demos:
76
+ *
77
+ * - [Custom layout](https://mui.com/x/react-date-pickers/custom-layout/)
78
+ *
79
+ * API:
80
+ *
81
+ * - [PickersLayout API](https://mui.com/x/api/date-pickers/pickers-layout/)
82
+ */
73
83
  const PickersLayout = function PickersLayout(inProps) {
74
84
  const props = useThemeProps({
75
85
  props: inProps,
@@ -9,6 +9,15 @@ import ListItem from '@mui/material/ListItem';
9
9
  import Chip from '@mui/material/Chip';
10
10
  import { VIEW_HEIGHT } from '../internals/constants/dimensions';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
+ /**
13
+ * Demos:
14
+ *
15
+ * - [Shortcuts](https://mui.com/x/react-date-pickers/shortcuts/)
16
+ *
17
+ * API:
18
+ *
19
+ * - [PickersShortcuts API](https://mui.com/x/api/date-pickers/pickers-shortcuts/)
20
+ */
12
21
  function PickersShortcuts(props) {
13
22
  const {
14
23
  items,