@mui/x-date-pickers 7.0.0-alpha.4 → 7.0.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/CHANGELOG.md +342 -0
  2. package/DateCalendar/DateCalendar.types.d.ts +6 -6
  3. package/DateCalendar/DayCalendar.d.ts +4 -4
  4. package/DateCalendar/index.d.ts +1 -1
  5. package/DateField/DateField.js +17 -50
  6. package/DateField/DateField.types.d.ts +5 -9
  7. package/DateField/useDateField.d.ts +2 -2
  8. package/DateField/useDateField.js +1 -5
  9. package/DatePicker/DatePicker.js +5 -1
  10. package/DatePicker/DatePicker.types.d.ts +6 -6
  11. package/DatePicker/index.d.ts +1 -1
  12. package/DatePicker/shared.d.ts +6 -6
  13. package/DateTimeField/DateTimeField.js +17 -50
  14. package/DateTimeField/DateTimeField.types.d.ts +5 -9
  15. package/DateTimeField/useDateTimeField.d.ts +2 -2
  16. package/DateTimeField/useDateTimeField.js +1 -5
  17. package/DateTimePicker/DateTimePicker.js +5 -1
  18. package/DateTimePicker/DateTimePicker.types.d.ts +6 -6
  19. package/DateTimePicker/index.d.ts +1 -1
  20. package/DateTimePicker/shared.d.ts +6 -6
  21. package/DesktopDatePicker/DesktopDatePicker.js +7 -2
  22. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +6 -6
  23. package/DesktopDatePicker/index.d.ts +1 -1
  24. package/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  25. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +8 -8
  26. package/DesktopDateTimePicker/index.d.ts +1 -1
  27. package/DesktopTimePicker/DesktopTimePicker.js +5 -1
  28. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +8 -8
  29. package/DesktopTimePicker/index.d.ts +1 -1
  30. package/DigitalClock/DigitalClock.types.d.ts +4 -4
  31. package/DigitalClock/index.d.ts +1 -1
  32. package/MobileDatePicker/MobileDatePicker.js +7 -2
  33. package/MobileDatePicker/MobileDatePicker.types.d.ts +6 -6
  34. package/MobileDatePicker/index.d.ts +1 -1
  35. package/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  36. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +6 -6
  37. package/MobileDateTimePicker/index.d.ts +1 -1
  38. package/MobileTimePicker/MobileTimePicker.js +5 -1
  39. package/MobileTimePicker/MobileTimePicker.types.d.ts +6 -6
  40. package/MobileTimePicker/index.d.ts +1 -1
  41. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +4 -4
  42. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +3 -3
  43. package/MultiSectionDigitalClock/index.d.ts +1 -1
  44. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +8 -8
  45. package/PickersCalendarHeader/index.d.ts +1 -1
  46. package/PickersLayout/PickersLayout.types.d.ts +6 -6
  47. package/PickersLayout/index.d.ts +1 -1
  48. package/PickersSectionList/PickersSectionList.d.ts +11 -0
  49. package/PickersSectionList/PickersSectionList.js +223 -0
  50. package/PickersSectionList/PickersSectionList.types.d.ts +56 -0
  51. package/PickersSectionList/index.d.ts +4 -0
  52. package/PickersSectionList/index.js +2 -0
  53. package/PickersSectionList/package.json +6 -0
  54. package/PickersSectionList/pickersSectionListClasses.d.ts +11 -0
  55. package/PickersSectionList/pickersSectionListClasses.js +6 -0
  56. package/StaticDatePicker/StaticDatePicker.js +1 -1
  57. package/StaticDatePicker/StaticDatePicker.types.d.ts +7 -7
  58. package/StaticDatePicker/index.d.ts +1 -1
  59. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +7 -7
  60. package/StaticDateTimePicker/index.d.ts +1 -1
  61. package/StaticTimePicker/StaticTimePicker.types.d.ts +7 -7
  62. package/StaticTimePicker/index.d.ts +1 -1
  63. package/TimeClock/TimeClock.types.d.ts +5 -5
  64. package/TimeClock/index.d.ts +1 -1
  65. package/TimeField/TimeField.js +17 -50
  66. package/TimeField/TimeField.types.d.ts +5 -9
  67. package/TimeField/useTimeField.d.ts +2 -2
  68. package/TimeField/useTimeField.js +1 -5
  69. package/TimePicker/TimePicker.js +5 -1
  70. package/TimePicker/TimePicker.types.d.ts +6 -6
  71. package/TimePicker/index.d.ts +1 -1
  72. package/TimePicker/shared.d.ts +5 -5
  73. package/hooks/index.d.ts +1 -0
  74. package/hooks/useClearableField.d.ts +32 -20
  75. package/hooks/useClearableField.js +32 -33
  76. package/index.d.ts +1 -0
  77. package/index.js +4 -1
  78. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +9 -9
  79. package/internals/components/PickersArrowSwitcher/index.d.ts +3 -1
  80. package/internals/components/PickersArrowSwitcher/index.js +2 -1
  81. package/internals/components/{PickersTextField → PickersInput}/Outline.d.ts +1 -0
  82. package/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  83. package/internals/components/PickersInput/PickersFilledInput.d.ts +3 -0
  84. package/internals/components/PickersInput/PickersFilledInput.js +166 -0
  85. package/internals/components/PickersInput/PickersInput.d.ts +15 -0
  86. package/internals/components/{PickersTextField → PickersInput}/PickersInput.js +78 -106
  87. package/internals/components/PickersInput/PickersInput.types.d.ts +60 -0
  88. package/internals/components/PickersInput/PickersOutlinedInput.d.ts +3 -0
  89. package/internals/components/PickersInput/PickersOutlinedInput.js +117 -0
  90. package/internals/components/PickersInput/PickersStandardInput.d.ts +3 -0
  91. package/internals/components/PickersInput/PickersStandardInput.js +123 -0
  92. package/internals/components/PickersInput/index.d.ts +4 -0
  93. package/internals/components/PickersInput/index.js +3 -0
  94. package/internals/components/PickersInput/pickersInputClasses.d.ts +84 -0
  95. package/internals/components/PickersInput/pickersInputClasses.js +18 -0
  96. package/internals/components/PickersModalDialog.d.ts +4 -4
  97. package/internals/components/PickersPopper.d.ts +4 -4
  98. package/internals/components/PickersTextField/PickersTextField.d.ts +1 -2
  99. package/internals/components/PickersTextField/PickersTextField.js +15 -6
  100. package/internals/components/PickersTextField/PickersTextField.types.d.ts +46 -3
  101. package/internals/components/PickersTextField/pickersTextFieldClasses.d.ts +0 -31
  102. package/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  103. package/internals/hooks/useDesktopPicker/index.d.ts +1 -1
  104. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  105. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +8 -8
  106. package/internals/hooks/useField/index.d.ts +1 -1
  107. package/internals/hooks/useField/useField.js +11 -4
  108. package/internals/hooks/useField/useField.types.d.ts +4 -24
  109. package/internals/hooks/useField/useField.utils.js +24 -4
  110. package/internals/hooks/useField/useFieldState.js +7 -3
  111. package/internals/hooks/useMobilePicker/index.d.ts +1 -1
  112. package/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  113. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
  114. package/internals/hooks/useStaticPicker/index.d.ts +1 -1
  115. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +5 -5
  116. package/internals/index.d.ts +7 -6
  117. package/internals/index.js +1 -0
  118. package/internals/models/props/basePickerProps.d.ts +4 -0
  119. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +3 -0
  120. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
  121. package/legacy/DateField/DateField.js +19 -47
  122. package/legacy/DateField/useDateField.js +1 -4
  123. package/legacy/DatePicker/DatePicker.js +5 -1
  124. package/legacy/DateTimeField/DateTimeField.js +19 -47
  125. package/legacy/DateTimeField/useDateTimeField.js +1 -4
  126. package/legacy/DateTimePicker/DateTimePicker.js +5 -1
  127. package/legacy/DesktopDatePicker/DesktopDatePicker.js +7 -2
  128. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  129. package/legacy/DesktopTimePicker/DesktopTimePicker.js +5 -1
  130. package/legacy/MobileDatePicker/MobileDatePicker.js +7 -2
  131. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  132. package/legacy/MobileTimePicker/MobileTimePicker.js +5 -1
  133. package/legacy/PickersSectionList/PickersSectionList.js +230 -0
  134. package/legacy/PickersSectionList/index.js +2 -0
  135. package/legacy/PickersSectionList/pickersSectionListClasses.js +6 -0
  136. package/legacy/StaticDatePicker/StaticDatePicker.js +1 -1
  137. package/legacy/TimeField/TimeField.js +19 -47
  138. package/legacy/TimeField/useTimeField.js +1 -4
  139. package/legacy/TimePicker/TimePicker.js +5 -1
  140. package/legacy/hooks/useClearableField.js +30 -32
  141. package/legacy/index.js +4 -1
  142. package/legacy/internals/components/PickersArrowSwitcher/index.js +2 -1
  143. package/legacy/internals/components/{PickersTextField → PickersInput}/Outline.js +40 -22
  144. package/legacy/internals/components/PickersInput/PickersFilledInput.js +161 -0
  145. package/legacy/internals/components/{PickersTextField → PickersInput}/PickersInput.js +75 -90
  146. package/legacy/internals/components/PickersInput/PickersInput.types.js +1 -0
  147. package/legacy/internals/components/PickersInput/PickersOutlinedInput.js +110 -0
  148. package/legacy/internals/components/PickersInput/PickersStandardInput.js +117 -0
  149. package/legacy/internals/components/PickersInput/index.js +3 -0
  150. package/legacy/internals/components/PickersInput/pickersInputClasses.js +18 -0
  151. package/legacy/internals/components/PickersTextField/PickersTextField.js +16 -7
  152. package/legacy/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  153. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  154. package/legacy/internals/hooks/useField/useField.js +12 -5
  155. package/legacy/internals/hooks/useField/useField.utils.js +26 -4
  156. package/legacy/internals/hooks/useField/useFieldState.js +7 -3
  157. package/legacy/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  158. package/legacy/internals/index.js +1 -0
  159. package/legacy/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +24 -0
  160. package/legacy/locales/ruRU.js +1 -2
  161. package/locales/ruRU.js +1 -2
  162. package/models/fields.d.ts +2 -1
  163. package/modern/DateField/DateField.js +17 -50
  164. package/modern/DateField/useDateField.js +1 -5
  165. package/modern/DatePicker/DatePicker.js +5 -1
  166. package/modern/DateTimeField/DateTimeField.js +17 -50
  167. package/modern/DateTimeField/useDateTimeField.js +1 -5
  168. package/modern/DateTimePicker/DateTimePicker.js +5 -1
  169. package/modern/DesktopDatePicker/DesktopDatePicker.js +7 -2
  170. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  171. package/modern/DesktopTimePicker/DesktopTimePicker.js +5 -1
  172. package/modern/MobileDatePicker/MobileDatePicker.js +7 -2
  173. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  174. package/modern/MobileTimePicker/MobileTimePicker.js +5 -1
  175. package/modern/PickersSectionList/PickersSectionList.js +221 -0
  176. package/modern/PickersSectionList/PickersSectionList.types.js +1 -0
  177. package/modern/PickersSectionList/index.js +2 -0
  178. package/modern/PickersSectionList/pickersSectionListClasses.js +6 -0
  179. package/modern/StaticDatePicker/StaticDatePicker.js +1 -1
  180. package/modern/TimeField/TimeField.js +17 -50
  181. package/modern/TimeField/useTimeField.js +1 -5
  182. package/modern/TimePicker/TimePicker.js +5 -1
  183. package/modern/hooks/useClearableField.js +32 -33
  184. package/modern/index.js +4 -1
  185. package/modern/internals/components/PickersArrowSwitcher/index.js +2 -1
  186. package/modern/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  187. package/modern/internals/components/PickersInput/PickersFilledInput.js +165 -0
  188. package/modern/internals/components/{PickersTextField → PickersInput}/PickersInput.js +78 -106
  189. package/modern/internals/components/PickersInput/PickersInput.types.js +1 -0
  190. package/modern/internals/components/PickersInput/PickersOutlinedInput.js +117 -0
  191. package/modern/internals/components/PickersInput/PickersStandardInput.js +123 -0
  192. package/modern/internals/components/PickersInput/index.js +3 -0
  193. package/modern/internals/components/PickersInput/pickersInputClasses.js +18 -0
  194. package/modern/internals/components/PickersTextField/PickersTextField.js +15 -6
  195. package/modern/internals/components/PickersTextField/pickersTextFieldClasses.js +3 -6
  196. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  197. package/modern/internals/hooks/useField/useField.js +11 -4
  198. package/modern/internals/hooks/useField/useField.utils.js +24 -4
  199. package/modern/internals/hooks/useField/useFieldState.js +7 -3
  200. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  201. package/modern/internals/index.js +1 -0
  202. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +26 -0
  203. package/modern/locales/ruRU.js +1 -2
  204. package/node/DateField/DateField.js +18 -51
  205. package/node/DateField/useDateField.js +1 -5
  206. package/node/DatePicker/DatePicker.js +5 -1
  207. package/node/DateTimeField/DateTimeField.js +18 -51
  208. package/node/DateTimeField/useDateTimeField.js +1 -5
  209. package/node/DateTimePicker/DateTimePicker.js +5 -1
  210. package/node/DesktopDatePicker/DesktopDatePicker.js +10 -5
  211. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +5 -1
  212. package/node/DesktopTimePicker/DesktopTimePicker.js +5 -1
  213. package/node/MobileDatePicker/MobileDatePicker.js +10 -5
  214. package/node/MobileDateTimePicker/MobileDateTimePicker.js +5 -1
  215. package/node/MobileTimePicker/MobileTimePicker.js +5 -1
  216. package/node/PickersSectionList/PickersSectionList.js +228 -0
  217. package/node/PickersSectionList/index.js +49 -0
  218. package/node/PickersSectionList/pickersSectionListClasses.js +14 -0
  219. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  220. package/node/TimeField/TimeField.js +18 -51
  221. package/node/TimeField/useTimeField.js +1 -5
  222. package/node/TimePicker/TimePicker.js +5 -1
  223. package/node/hooks/useClearableField.js +33 -34
  224. package/node/index.js +13 -1
  225. package/node/internals/components/PickersArrowSwitcher/index.js +14 -1
  226. package/node/internals/components/{PickersTextField → PickersInput}/Outline.js +35 -19
  227. package/node/internals/components/PickersInput/PickersFilledInput.js +174 -0
  228. package/node/internals/components/{PickersTextField → PickersInput}/PickersInput.js +80 -108
  229. package/node/internals/components/PickersInput/PickersInput.types.js +5 -0
  230. package/node/internals/components/PickersInput/PickersOutlinedInput.js +125 -0
  231. package/node/internals/components/PickersInput/PickersStandardInput.js +132 -0
  232. package/node/internals/components/PickersInput/index.js +32 -0
  233. package/node/internals/components/PickersInput/pickersInputClasses.js +29 -0
  234. package/node/internals/components/PickersTextField/PickersTextField.js +15 -6
  235. package/node/internals/components/PickersTextField/pickersTextFieldClasses.js +6 -9
  236. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -0
  237. package/node/internals/hooks/useField/useField.js +11 -4
  238. package/node/internals/hooks/useField/useField.utils.js +24 -4
  239. package/node/internals/hooks/useField/useFieldState.js +7 -3
  240. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +3 -1
  241. package/node/internals/index.js +7 -0
  242. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +34 -0
  243. package/node/locales/ruRU.js +1 -2
  244. package/package.json +5 -5
  245. package/themeAugmentation/overrides.d.ts +5 -7
  246. package/themeAugmentation/props.d.ts +6 -8
  247. package/internals/components/PickersTextField/PickersInput.d.ts +0 -3
  248. package/internals/components/PickersTextField/PickersInput.types.d.ts +0 -45
  249. /package/{internals/components/PickersTextField/PickersInput.types.js → PickersSectionList/PickersSectionList.types.js} +0 -0
  250. /package/{legacy/internals/components/PickersTextField → internals/components/PickersInput}/PickersInput.types.js +0 -0
  251. /package/{modern/internals/components/PickersTextField/PickersInput.types.js → legacy/PickersSectionList/PickersSectionList.types.js} +0 -0
  252. /package/node/{internals/components/PickersTextField/PickersInput.types.js → PickersSectionList/PickersSectionList.types.js} +0 -0
@@ -0,0 +1,2 @@
1
+ export { PickersSectionList as Unstable_PickersSectionList, PickersSectionListRoot as Unstable_PickersSectionListRoot, PickersSectionListSection as Unstable_PickersSectionListSection, PickersSectionListSectionSeparator as Unstable_PickersSectionListSectionSeparator, PickersSectionListSectionContent as Unstable_PickersSectionListSectionContent } from './PickersSectionList';
2
+ export { getPickersSectionListUtilityClass, pickersSectionListClasses } from './pickersSectionListClasses';
@@ -0,0 +1,6 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export function getPickersSectionListUtilityClass(slot) {
4
+ return generateUtilityClass('MuiPickersSectionList', slot);
5
+ }
6
+ export var pickersSectionListClasses = generateUtilityClasses('MuiPickersSectionList', ['root', 'section', 'sectionContent']);
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
4
4
  import { useDatePickerDefaultizedProps } from '../DatePicker/shared';
5
5
  import { renderDateViewCalendar } from '../dateViewRenderers';
6
6
  import { useStaticPicker } from '../internals/hooks/useStaticPicker';
7
- import { validateDate } from '../internals';
7
+ import { validateDate } from '../internals/utils/validation/validateDate';
8
8
  import { singleItemValueManager } from '../internals/utils/valueManagers';
9
9
  /**
10
10
  * Demos:
@@ -1,8 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["slots", "slotProps", "InputProps", "inputProps"],
4
- _excluded2 = ["inputRef"],
5
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
3
+ var _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
6
4
  import * as React from 'react';
7
5
  import PropTypes from 'prop-types';
8
6
  import MuiTextField from '@mui/material/TextField';
@@ -11,6 +9,7 @@ import { useSlotProps } from '@mui/base/utils';
11
9
  import { refType } from '@mui/utils';
12
10
  import { useTimeField } from './useTimeField';
13
11
  import { useClearableField } from '../hooks';
12
+ import { convertFieldResponseIntoMuiTextFieldProps } from '../internals/utils/convertFieldResponseIntoMuiTextFieldProps';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
15
14
  /**
16
15
  * Demos:
@@ -22,7 +21,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
22
21
  *
23
22
  * - [TimeField API](https://mui.com/x/api/date-pickers/time-field/)
24
23
  */
25
- var TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, ref) {
24
+ var TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, inRef) {
26
25
  var _slots$textField;
27
26
  var themeProps = useThemeProps({
28
27
  props: inProps,
@@ -35,53 +34,26 @@ var TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, ref) {
35
34
  other = _objectWithoutProperties(themeProps, _excluded);
36
35
  var ownerState = themeProps;
37
36
  var TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
38
- var _useSlotProps = useSlotProps({
39
- elementType: TextField,
40
- externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
41
- externalForwardedProps: other,
42
- ownerState: ownerState
43
- }),
44
- externalInputRef = _useSlotProps.inputRef,
45
- textFieldProps = _objectWithoutProperties(_useSlotProps, _excluded2);
37
+ var textFieldProps = useSlotProps({
38
+ elementType: TextField,
39
+ externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
40
+ externalForwardedProps: other,
41
+ ownerState: ownerState,
42
+ additionalProps: {
43
+ ref: inRef
44
+ }
45
+ });
46
46
 
47
47
  // TODO: Remove when mui/material-ui#35088 will be merged
48
48
  textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
49
49
  textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
50
- var _useTimeField = useTimeField({
51
- props: textFieldProps,
52
- inputRef: externalInputRef
53
- }),
54
- inputRef = _useTimeField.ref,
55
- onPaste = _useTimeField.onPaste,
56
- onKeyDown = _useTimeField.onKeyDown,
57
- inputMode = _useTimeField.inputMode,
58
- readOnly = _useTimeField.readOnly,
59
- clearable = _useTimeField.clearable,
60
- onClear = _useTimeField.onClear,
61
- fieldProps = _objectWithoutProperties(_useTimeField, _excluded3);
62
- var _useClearableField = useClearableField({
63
- onClear: onClear,
64
- clearable: clearable,
65
- fieldProps: fieldProps,
66
- InputProps: fieldProps.InputProps,
67
- slots: slots,
68
- slotProps: slotProps
69
- }),
70
- ProcessedInputProps = _useClearableField.InputProps,
71
- processedFieldProps = _useClearableField.fieldProps;
72
- return /*#__PURE__*/_jsx(TextField, _extends({
73
- ref: ref
74
- }, processedFieldProps, {
75
- InputProps: _extends({}, ProcessedInputProps, {
76
- readOnly: readOnly
77
- }),
78
- inputProps: _extends({}, fieldProps.inputProps, {
79
- inputMode: inputMode,
80
- onPaste: onPaste,
81
- onKeyDown: onKeyDown,
82
- ref: inputRef
83
- })
50
+ var fieldResponse = useTimeField(textFieldProps);
51
+ var convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
52
+ var processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
53
+ slots: slots,
54
+ slotProps: slotProps
84
55
  }));
56
+ return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
85
57
  });
86
58
  process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
87
59
  // ----------------------------- Warning --------------------------------
@@ -276,7 +248,7 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
276
248
  * 4. If `null` is provided, no section will be selected
277
249
  * If not provided, the selected sections will be handled internally.
278
250
  */
279
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
251
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
280
252
  endIndex: PropTypes.number.isRequired,
281
253
  startIndex: PropTypes.number.isRequired
282
254
  })]),
@@ -15,15 +15,12 @@ var useDefaultizedTimeField = function useDefaultizedTimeField(props) {
15
15
  format: (_props$format = props.format) != null ? _props$format : defaultFormat
16
16
  });
17
17
  };
18
- export var useTimeField = function useTimeField(_ref) {
19
- var inProps = _ref.props,
20
- inputRef = _ref.inputRef;
18
+ export var useTimeField = function useTimeField(inProps) {
21
19
  var props = useDefaultizedTimeField(inProps);
22
20
  var _splitFieldInternalAn = splitFieldInternalAndForwardedProps(props, 'time'),
23
21
  forwardedProps = _splitFieldInternalAn.forwardedProps,
24
22
  internalProps = _splitFieldInternalAn.internalProps;
25
23
  return useField({
26
- inputRef: inputRef,
27
24
  forwardedProps: forwardedProps,
28
25
  internalProps: internalProps,
29
26
  valueManager: singleItemValueManager,
@@ -148,6 +148,10 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
148
148
  * @default 1
149
149
  */
150
150
  minutesStep: PropTypes.number,
151
+ /**
152
+ * Name attribute used by the `input` element in the Field.
153
+ */
154
+ name: PropTypes.string,
151
155
  /**
152
156
  * Callback fired when the value is accepted.
153
157
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -228,7 +232,7 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
228
232
  * 4. If `null` is provided, no section will be selected
229
233
  * If not provided, the selected sections will be handled internally.
230
234
  */
231
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
235
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
232
236
  endIndex: PropTypes.number.isRequired,
233
237
  startIndex: PropTypes.number.isRequired
234
238
  })]),
@@ -1,24 +1,26 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["ownerState"];
4
+ var _excluded = ["clearable", "onClear", "InputProps", "sx", "slots", "slotProps"],
5
+ _excluded2 = ["ownerState"];
5
6
  import * as React from 'react';
6
7
  import { useSlotProps } from '@mui/base/utils';
7
8
  import MuiIconButton from '@mui/material/IconButton';
8
9
  import InputAdornment from '@mui/material/InputAdornment';
9
10
  import { ClearIcon } from '../icons';
10
- import { useLocaleText } from '../internals';
11
+ import { useLocaleText } from '../internals/hooks/useUtils';
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
- export var useClearableField = function useClearableField(_ref) {
14
+ export var useClearableField = function useClearableField(props) {
14
15
  var _slots$clearButton, _slots$clearIcon;
15
- var clearable = _ref.clearable,
16
- forwardedFieldProps = _ref.fieldProps,
17
- ForwardedInputProps = _ref.InputProps,
18
- onClear = _ref.onClear,
19
- slots = _ref.slots,
20
- slotProps = _ref.slotProps;
21
16
  var localeText = useLocaleText();
17
+ var clearable = props.clearable,
18
+ onClear = props.onClear,
19
+ InputProps = props.InputProps,
20
+ sx = props.sx,
21
+ slots = props.slots,
22
+ slotProps = props.slotProps,
23
+ other = _objectWithoutProperties(props, _excluded);
22
24
  var IconButton = (_slots$clearButton = slots == null ? void 0 : slots.clearButton) != null ? _slots$clearButton : MuiIconButton;
23
25
  // The spread is here to avoid this bug mui/material-ui#34056
24
26
  var _useSlotProps = useSlotProps({
@@ -31,30 +33,30 @@ export var useClearableField = function useClearableField(_ref) {
31
33
  }
32
34
  }),
33
35
  ownerState = _useSlotProps.ownerState,
34
- iconButtonProps = _objectWithoutProperties(_useSlotProps, _excluded);
36
+ iconButtonProps = _objectWithoutProperties(_useSlotProps, _excluded2);
35
37
  var EndClearIcon = (_slots$clearIcon = slots == null ? void 0 : slots.clearIcon) != null ? _slots$clearIcon : ClearIcon;
36
38
  var endClearIconProps = useSlotProps({
37
39
  elementType: EndClearIcon,
38
40
  externalSlotProps: slotProps == null ? void 0 : slotProps.clearIcon,
39
41
  ownerState: {}
40
42
  });
41
- var InputProps = _extends({}, ForwardedInputProps, {
42
- endAdornment: clearable ? /*#__PURE__*/_jsxs(React.Fragment, {
43
- children: [/*#__PURE__*/_jsx(InputAdornment, {
44
- position: "end",
45
- sx: {
46
- marginRight: ForwardedInputProps != null && ForwardedInputProps.endAdornment ? -1 : -1.5
47
- },
48
- children: /*#__PURE__*/_jsx(IconButton, _extends({}, iconButtonProps, {
49
- onClick: onClear,
50
- children: /*#__PURE__*/_jsx(EndClearIcon, _extends({
51
- fontSize: "small"
52
- }, endClearIconProps))
53
- }))
54
- }), ForwardedInputProps == null ? void 0 : ForwardedInputProps.endAdornment]
55
- }) : ForwardedInputProps == null ? void 0 : ForwardedInputProps.endAdornment
56
- });
57
- var fieldProps = _extends({}, forwardedFieldProps, {
43
+ return _extends({}, other, {
44
+ InputProps: _extends({}, InputProps, {
45
+ endAdornment: clearable ? /*#__PURE__*/_jsxs(React.Fragment, {
46
+ children: [/*#__PURE__*/_jsx(InputAdornment, {
47
+ position: "end",
48
+ sx: {
49
+ marginRight: InputProps != null && InputProps.endAdornment ? -1 : -1.5
50
+ },
51
+ children: /*#__PURE__*/_jsx(IconButton, _extends({}, iconButtonProps, {
52
+ onClick: onClear,
53
+ children: /*#__PURE__*/_jsx(EndClearIcon, _extends({
54
+ fontSize: "small"
55
+ }, endClearIconProps))
56
+ }))
57
+ }), InputProps == null ? void 0 : InputProps.endAdornment]
58
+ }) : InputProps == null ? void 0 : InputProps.endAdornment
59
+ }),
58
60
  sx: [{
59
61
  '& .clearButton': {
60
62
  opacity: 1
@@ -69,10 +71,6 @@ export var useClearableField = function useClearableField(_ref) {
69
71
  }
70
72
  }
71
73
  }
72
- }].concat(_toConsumableArray(Array.isArray(forwardedFieldProps.sx) ? forwardedFieldProps.sx : [forwardedFieldProps.sx]))
74
+ }].concat(_toConsumableArray(Array.isArray(sx) ? sx : [sx]))
73
75
  });
74
- return {
75
- InputProps: InputProps,
76
- fieldProps: fieldProps
77
- };
78
76
  };
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v7.0.0-alpha.4
2
+ * @mui/x-date-pickers v7.0.0-alpha.6
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -49,6 +49,9 @@ export * from './PickersShortcuts';
49
49
 
50
50
  // Other slots
51
51
  export * from './PickersCalendarHeader';
52
+
53
+ // Field utilities
54
+ export * from './PickersSectionList';
52
55
  export { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from './internals/utils/utils';
53
56
  export * from './models';
54
57
  export * from './icons';
@@ -1 +1,2 @@
1
- export { PickersArrowSwitcher } from './PickersArrowSwitcher';
1
+ export { PickersArrowSwitcher } from './PickersArrowSwitcher';
2
+ export { pickersArrowSwitcherClasses, getPickersArrowSwitcherUtilityClass } from './pickersArrowSwitcherClasses';
@@ -4,25 +4,43 @@ var _excluded = ["children", "className", "label"];
4
4
  import * as React from 'react';
5
5
  import { styled } from '@mui/material/styles';
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- var OutlineRoot = styled('fieldset')({
8
- textAlign: 'left',
9
- position: 'absolute',
10
- bottom: 0,
11
- right: 0,
12
- top: -5,
13
- left: 0,
14
- margin: 0,
15
- padding: '0 8px',
16
- pointerEvents: 'none',
17
- borderRadius: 'inherit',
18
- borderStyle: 'solid',
19
- borderWidth: 1,
20
- overflow: 'hidden',
21
- minWidth: '0%'
7
+ var OutlineRoot = styled('fieldset', {
8
+ name: 'MuiPickersOutlinedInput',
9
+ slot: 'NotchedOutline',
10
+ overridesResolver: function overridesResolver(props, styles) {
11
+ return styles.notchedOutline;
12
+ }
13
+ })(function (_ref) {
14
+ var theme = _ref.theme;
15
+ var borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
16
+ return {
17
+ textAlign: 'left',
18
+ position: 'absolute',
19
+ bottom: 0,
20
+ right: 0,
21
+ top: -5,
22
+ left: 0,
23
+ margin: 0,
24
+ padding: '0 8px',
25
+ pointerEvents: 'none',
26
+ borderRadius: 'inherit',
27
+ borderStyle: 'solid',
28
+ borderWidth: 1,
29
+ overflow: 'hidden',
30
+ minWidth: '0%',
31
+ borderColor: theme.vars ? "rgba(".concat(theme.vars.palette.common.onBackgroundChannel, " / 0.23)") : borderColor
32
+ };
22
33
  });
23
- var OutlineLegend = styled('legend')(function (_ref) {
24
- var ownerState = _ref.ownerState,
25
- theme = _ref.theme;
34
+ var OutlineLabel = styled('span')(function (_ref2) {
35
+ var theme = _ref2.theme;
36
+ return {
37
+ fontFamily: theme.typography.fontFamily,
38
+ fontSize: 'inherit'
39
+ };
40
+ });
41
+ var OutlineLegend = styled('legend')(function (_ref3) {
42
+ var ownerState = _ref3.ownerState,
43
+ theme = _ref3.theme;
26
44
  return _extends({
27
45
  float: 'unset',
28
46
  // Fix conflict with bootstrap
@@ -78,17 +96,17 @@ export default function Outline(props) {
78
96
  });
79
97
  return /*#__PURE__*/_jsx(OutlineRoot, _extends({
80
98
  "aria-hidden": true,
81
- className: className,
82
- ownerState: ownerState
99
+ className: className
83
100
  }, other, {
101
+ ownerState: ownerState,
84
102
  children: /*#__PURE__*/_jsx(OutlineLegend, {
85
103
  ownerState: ownerState,
86
- children: withLabel ? /*#__PURE__*/_jsx("span", {
104
+ children: withLabel ? /*#__PURE__*/_jsx(OutlineLabel, {
87
105
  children: label
88
106
  }) :
89
107
  /*#__PURE__*/
90
108
  // notranslate needed while Google Translate will not fix zero-width space issue
91
- _jsx("span", {
109
+ _jsx(OutlineLabel, {
92
110
  className: "notranslate",
93
111
  children: "\u200B"
94
112
  })
@@ -0,0 +1,161 @@
1
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ var _excluded = ["label", "autoFocus", "ownerState"];
5
+ import * as React from 'react';
6
+ import { useFormControl } from '@mui/material/FormControl';
7
+ import { styled } from '@mui/material/styles';
8
+ import { unstable_composeClasses as composeClasses, unstable_capitalize as capitalize } from '@mui/utils';
9
+ import { pickersFilledInputClasses, getPickersFilledInputUtilityClass } from './pickersInputClasses';
10
+ import { PickersInputRoot, PickersInput, PickersInputSectionsContainer } from './PickersInput';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ var FilledInputRoot = styled(PickersInputRoot, {
13
+ name: 'MuiPickersFilledInput',
14
+ slot: 'Root',
15
+ overridesResolver: function overridesResolver(props, styles) {
16
+ return styles.root;
17
+ }
18
+ })(function (_ref) {
19
+ var _palette;
20
+ var theme = _ref.theme,
21
+ ownerState = _ref.ownerState;
22
+ var light = theme.palette.mode === 'light';
23
+ var bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
24
+ var backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';
25
+ var hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';
26
+ var disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';
27
+ return _extends(_defineProperty(_defineProperty({
28
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,
29
+ borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,
30
+ borderTopRightRadius: (theme.vars || theme).shape.borderRadius,
31
+ transition: theme.transitions.create('background-color', {
32
+ duration: theme.transitions.duration.shorter,
33
+ easing: theme.transitions.easing.easeOut
34
+ }),
35
+ '&:hover': {
36
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.hoverBg : hoverBackground,
37
+ // Reset on touch devices, it doesn't add specificity
38
+ '@media (hover: none)': {
39
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor
40
+ }
41
+ }
42
+ }, "&.".concat(pickersFilledInputClasses.focused), {
43
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor
44
+ }), "&.".concat(pickersFilledInputClasses.disabled), {
45
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground
46
+ }), !ownerState.disableUnderline && _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
47
+ '&:after': {
48
+ borderBottom: "2px solid ".concat((_palette = (theme.vars || theme).palette[ownerState.color || 'primary']) == null ? void 0 : _palette.main),
49
+ left: 0,
50
+ bottom: 0,
51
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
52
+ content: '""',
53
+ position: 'absolute',
54
+ right: 0,
55
+ transform: 'scaleX(0)',
56
+ transition: theme.transitions.create('transform', {
57
+ duration: theme.transitions.duration.shorter,
58
+ easing: theme.transitions.easing.easeOut
59
+ }),
60
+ pointerEvents: 'none' // Transparent to the hover style.
61
+ }
62
+ }, "&.".concat(pickersFilledInputClasses.focused, ":after"), {
63
+ // translateX(0) is a workaround for Safari transform scale bug
64
+ // See https://github.com/mui/material-ui/issues/31766
65
+ transform: 'scaleX(1) translateX(0)'
66
+ }), "&.".concat(pickersFilledInputClasses.error), {
67
+ '&:before, &:after': {
68
+ borderBottomColor: (theme.vars || theme).palette.error.main
69
+ }
70
+ }), '&:before', {
71
+ borderBottom: "1px solid ".concat(theme.vars ? "rgba(".concat(theme.vars.palette.common.onBackgroundChannel, " / ").concat(theme.vars.opacity.inputUnderline, ")") : bottomLineColor),
72
+ left: 0,
73
+ bottom: 0,
74
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
75
+ content: '"\\00a0"',
76
+ position: 'absolute',
77
+ right: 0,
78
+ transition: theme.transitions.create('border-bottom-color', {
79
+ duration: theme.transitions.duration.shorter
80
+ }),
81
+ pointerEvents: 'none' // Transparent to the hover style.
82
+ }), "&:hover:not(.".concat(pickersFilledInputClasses.disabled, ", .").concat(pickersFilledInputClasses.error, "):before"), {
83
+ borderBottom: "1px solid ".concat((theme.vars || theme).palette.text.primary)
84
+ }), "&.".concat(pickersFilledInputClasses.disabled, ":before"), {
85
+ borderBottomStyle: 'dotted'
86
+ }), ownerState.startAdornment && {
87
+ paddingLeft: 12
88
+ }, ownerState.endAdornment && {
89
+ paddingRight: 12
90
+ });
91
+ });
92
+ var FilledSectionsContainer = styled(PickersInputSectionsContainer, {
93
+ name: 'MuiPickersFilledInput',
94
+ slot: 'sectionsContainer',
95
+ overridesResolver: function overridesResolver(props, styles) {
96
+ return styles.sectionsContainer;
97
+ }
98
+ })(function (_ref3) {
99
+ var ownerState = _ref3.ownerState;
100
+ return _extends({
101
+ paddingTop: 25,
102
+ paddingRight: 12,
103
+ paddingBottom: 8,
104
+ paddingLeft: 12
105
+ }, ownerState.size === 'small' && {
106
+ paddingTop: 21,
107
+ paddingBottom: 4
108
+ }, ownerState.startAdornment && {
109
+ paddingLeft: 0
110
+ }, ownerState.endAdornment && {
111
+ paddingRight: 0
112
+ }, ownerState.hiddenLabel && {
113
+ paddingTop: 16,
114
+ paddingBottom: 17
115
+ }, ownerState.hiddenLabel && ownerState.size === 'small' && {
116
+ paddingTop: 8,
117
+ paddingBottom: 9
118
+ });
119
+ });
120
+ var useUtilityClasses = function useUtilityClasses(ownerState) {
121
+ var focused = ownerState.focused,
122
+ disabled = ownerState.disabled,
123
+ error = ownerState.error,
124
+ classes = ownerState.classes,
125
+ fullWidth = ownerState.fullWidth,
126
+ color = ownerState.color,
127
+ size = ownerState.size,
128
+ endAdornment = ownerState.endAdornment,
129
+ startAdornment = ownerState.startAdornment;
130
+ var slots = {
131
+ root: ['root', focused && !disabled && 'focused', disabled && 'disabled', error && 'error', fullWidth && 'fullWidth', "color".concat(capitalize(color)), size === 'small' && 'inputSizeSmall', Boolean(startAdornment) && 'adornedStart', Boolean(endAdornment) && 'adornedEnd'],
132
+ notchedOutline: ['notchedOutline'],
133
+ before: ['before'],
134
+ after: ['after'],
135
+ content: ['content'],
136
+ input: ['input']
137
+ };
138
+ return composeClasses(slots, getPickersFilledInputUtilityClass, classes);
139
+ };
140
+ export var PickersFilledInput = /*#__PURE__*/React.forwardRef(function PickersFilledInput(props, ref) {
141
+ var label = props.label,
142
+ autoFocus = props.autoFocus,
143
+ ownerStateProp = props.ownerState,
144
+ other = _objectWithoutProperties(props, _excluded);
145
+ var muiFormControl = useFormControl();
146
+ var ownerState = _extends({}, props, ownerStateProp, muiFormControl, {
147
+ color: (muiFormControl == null ? void 0 : muiFormControl.color) || 'primary'
148
+ });
149
+ var classes = useUtilityClasses(ownerState);
150
+ return /*#__PURE__*/_jsx(PickersInput, _extends({
151
+ slots: {
152
+ root: FilledInputRoot,
153
+ input: FilledSectionsContainer
154
+ }
155
+ }, other, {
156
+ label: label,
157
+ classes: classes,
158
+ ref: ref
159
+ }));
160
+ });
161
+ PickersInput.muiName = 'Input';