@mui/x-date-pickers 8.0.0-alpha.6 → 8.0.0-alpha.7

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 (281) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +2 -4
  2. package/AdapterDateFns/AdapterDateFns.js +49 -47
  3. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  6. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
  7. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  8. package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
  9. package/AdapterDateFnsJalaliV2/index.js +1 -0
  10. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  11. package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
  12. package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  13. package/AdapterDateFnsV2/index.d.ts +1 -0
  14. package/AdapterDateFnsV2/index.js +1 -0
  15. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  16. package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
  17. package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
  18. package/AdapterMoment/AdapterMoment.d.ts +1 -1
  19. package/CHANGELOG.md +127 -1
  20. package/DateCalendar/DateCalendar.js +1 -1
  21. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  22. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  23. package/DateField/useDateField.d.ts +1 -1
  24. package/DateField/useDateField.js +13 -11
  25. package/DatePicker/DatePicker.js +1 -1
  26. package/DatePicker/DatePicker.types.d.ts +5 -0
  27. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  28. package/DatePicker/DatePickerToolbar.js +7 -11
  29. package/DatePicker/shared.d.ts +1 -1
  30. package/DateTimeField/useDateTimeField.d.ts +1 -1
  31. package/DateTimeField/useDateTimeField.js +13 -11
  32. package/DateTimePicker/DateTimePicker.js +2 -2
  33. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  34. package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -2
  35. package/DateTimePicker/DateTimePickerToolbar.js +36 -31
  36. package/DateTimePicker/shared.d.ts +1 -1
  37. package/DesktopDatePicker/DesktopDatePicker.js +9 -3
  38. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +5 -0
  39. package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  40. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  41. package/DesktopTimePicker/DesktopTimePicker.js +3 -7
  42. package/MobileDatePicker/MobileDatePicker.js +2 -2
  43. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  44. package/MobileTimePicker/MobileTimePicker.js +2 -2
  45. package/PickersActionBar/PickersActionBar.d.ts +6 -3
  46. package/PickersActionBar/PickersActionBar.js +6 -3
  47. package/PickersLayout/PickersLayout.js +1 -5
  48. package/PickersLayout/PickersLayout.types.d.ts +2 -3
  49. package/PickersLayout/usePickerLayout.js +12 -31
  50. package/PickersShortcuts/PickersShortcuts.d.ts +2 -5
  51. package/PickersShortcuts/PickersShortcuts.js +13 -10
  52. package/PickersShortcuts/index.d.ts +1 -1
  53. package/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  54. package/PickersTextField/PickersTextField.js +1 -1
  55. package/TimeField/useTimeField.d.ts +1 -1
  56. package/TimeField/useTimeField.js +13 -11
  57. package/TimePicker/TimePicker.js +2 -2
  58. package/TimePicker/TimePickerToolbar.d.ts +1 -2
  59. package/TimePicker/TimePickerToolbar.js +20 -18
  60. package/TimePicker/shared.d.ts +1 -1
  61. package/hooks/index.d.ts +1 -0
  62. package/hooks/index.js +2 -1
  63. package/hooks/useIsValidValue.d.ts +7 -0
  64. package/hooks/useIsValidValue.js +11 -0
  65. package/hooks/usePickerActionsContext.d.ts +3 -1
  66. package/hooks/usePickerActionsContext.js +0 -1
  67. package/hooks/usePickerContext.d.ts +2 -2
  68. package/hooks/usePickerContext.js +1 -1
  69. package/index.d.ts +1 -0
  70. package/index.js +3 -2
  71. package/internals/components/PickerProvider.d.ts +11 -10
  72. package/internals/components/PickerProvider.js +8 -3
  73. package/internals/components/PickersToolbar.d.ts +2 -3
  74. package/internals/components/PickersToolbar.js +1 -1
  75. package/internals/hooks/date-helpers-hooks.js +4 -3
  76. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  77. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
  78. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  79. package/internals/hooks/useField/index.d.ts +1 -1
  80. package/internals/hooks/useField/index.js +1 -1
  81. package/internals/hooks/useField/useField.d.ts +10 -1
  82. package/internals/hooks/useField/useField.js +17 -1
  83. package/internals/hooks/useField/useField.utils.js +2 -2
  84. package/internals/hooks/useField/useFieldState.js +2 -2
  85. package/internals/hooks/useField/useFieldV6TextField.js +2 -2
  86. package/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  87. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
  88. package/internals/hooks/useOpenState.js +3 -2
  89. package/internals/hooks/usePicker/usePicker.d.ts +1 -1
  90. package/internals/hooks/usePicker/usePicker.js +0 -6
  91. package/internals/hooks/usePicker/usePicker.types.d.ts +5 -6
  92. package/internals/hooks/usePicker/usePickerProvider.d.ts +5 -5
  93. package/internals/hooks/usePicker/usePickerProvider.js +4 -2
  94. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  95. package/internals/hooks/usePicker/usePickerValue.js +67 -184
  96. package/internals/hooks/usePicker/usePickerValue.types.d.ts +48 -54
  97. package/internals/hooks/usePicker/usePickerViews.d.ts +27 -23
  98. package/internals/hooks/usePicker/usePickerViews.js +17 -11
  99. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  100. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
  101. package/internals/hooks/useUtils.js +1 -1
  102. package/internals/index.d.ts +5 -3
  103. package/internals/index.js +5 -3
  104. package/internals/models/index.d.ts +1 -0
  105. package/internals/models/index.js +2 -1
  106. package/internals/models/manager.d.ts +12 -0
  107. package/internals/models/manager.js +1 -0
  108. package/internals/models/props/basePickerProps.d.ts +2 -2
  109. package/internals/models/props/toolbar.d.ts +1 -5
  110. package/internals/utils/date-utils.js +1 -1
  111. package/internals/utils/valueManagers.js +4 -4
  112. package/locales/index.d.ts +1 -0
  113. package/locales/index.js +1 -0
  114. package/locales/nbNO.js +15 -19
  115. package/locales/utils/getPickersLocalization.js +1 -1
  116. package/locales/zhTW.d.ts +80 -0
  117. package/locales/zhTW.js +73 -0
  118. package/managers/index.d.ts +6 -0
  119. package/managers/index.js +3 -0
  120. package/managers/package.json +6 -0
  121. package/managers/useDateManager.d.ts +27 -0
  122. package/managers/useDateManager.js +47 -0
  123. package/managers/useDateTimeManager.d.ts +28 -0
  124. package/managers/useDateTimeManager.js +52 -0
  125. package/managers/useTimeManager.d.ts +28 -0
  126. package/managers/useTimeManager.js +43 -0
  127. package/models/adapters.d.ts +1 -1
  128. package/models/index.d.ts +1 -0
  129. package/models/index.js +1 -0
  130. package/models/manager.d.ts +78 -0
  131. package/models/manager.js +1 -0
  132. package/models/pickers.d.ts +7 -0
  133. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  134. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  135. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  136. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  137. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  138. package/modern/AdapterDateFnsV2/index.js +1 -0
  139. package/modern/DateCalendar/DateCalendar.js +1 -1
  140. package/modern/DateField/useDateField.js +13 -11
  141. package/modern/DatePicker/DatePicker.js +1 -1
  142. package/modern/DatePicker/DatePickerToolbar.js +7 -11
  143. package/modern/DateTimeField/useDateTimeField.js +13 -11
  144. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  145. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  146. package/modern/DateTimePicker/DateTimePickerToolbar.js +36 -31
  147. package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -3
  148. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  149. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  150. package/modern/DesktopTimePicker/DesktopTimePicker.js +3 -7
  151. package/modern/MobileDatePicker/MobileDatePicker.js +2 -2
  152. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  153. package/modern/MobileTimePicker/MobileTimePicker.js +2 -2
  154. package/modern/PickersActionBar/PickersActionBar.js +6 -3
  155. package/modern/PickersLayout/PickersLayout.js +1 -5
  156. package/modern/PickersLayout/usePickerLayout.js +12 -31
  157. package/modern/PickersShortcuts/PickersShortcuts.js +13 -10
  158. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  159. package/modern/PickersTextField/PickersTextField.js +1 -1
  160. package/modern/TimeField/useTimeField.js +13 -11
  161. package/modern/TimePicker/TimePicker.js +2 -2
  162. package/modern/TimePicker/TimePickerToolbar.js +20 -18
  163. package/modern/hooks/index.js +2 -1
  164. package/modern/hooks/useIsValidValue.js +11 -0
  165. package/modern/hooks/usePickerActionsContext.js +0 -1
  166. package/modern/hooks/usePickerContext.js +1 -1
  167. package/modern/index.js +3 -2
  168. package/modern/internals/components/PickerProvider.js +8 -3
  169. package/modern/internals/components/PickersToolbar.js +1 -1
  170. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  171. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  172. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  173. package/modern/internals/hooks/useField/index.js +1 -1
  174. package/modern/internals/hooks/useField/useField.js +17 -1
  175. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  176. package/modern/internals/hooks/useField/useFieldState.js +2 -2
  177. package/modern/internals/hooks/useField/useFieldV6TextField.js +2 -2
  178. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  179. package/modern/internals/hooks/useOpenState.js +3 -2
  180. package/modern/internals/hooks/usePicker/usePicker.js +0 -6
  181. package/modern/internals/hooks/usePicker/usePickerProvider.js +4 -2
  182. package/modern/internals/hooks/usePicker/usePickerValue.js +67 -184
  183. package/modern/internals/hooks/usePicker/usePickerViews.js +17 -11
  184. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  185. package/modern/internals/hooks/useUtils.js +1 -1
  186. package/modern/internals/index.js +5 -3
  187. package/modern/internals/models/index.js +2 -1
  188. package/modern/internals/models/manager.js +1 -0
  189. package/modern/internals/utils/date-utils.js +1 -1
  190. package/modern/internals/utils/valueManagers.js +4 -4
  191. package/modern/locales/index.js +1 -0
  192. package/modern/locales/nbNO.js +15 -19
  193. package/modern/locales/utils/getPickersLocalization.js +1 -1
  194. package/modern/locales/zhTW.js +73 -0
  195. package/modern/managers/index.js +3 -0
  196. package/modern/managers/useDateManager.js +47 -0
  197. package/modern/managers/useDateTimeManager.js +52 -0
  198. package/modern/managers/useTimeManager.js +43 -0
  199. package/modern/models/index.js +1 -0
  200. package/modern/models/manager.js +1 -0
  201. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  202. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  203. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  204. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  205. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  206. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  207. package/node/DateCalendar/DateCalendar.js +1 -1
  208. package/node/DateField/useDateField.js +12 -10
  209. package/node/DatePicker/DatePicker.js +1 -1
  210. package/node/DatePicker/DatePickerToolbar.js +7 -11
  211. package/node/DateTimeField/useDateTimeField.js +12 -10
  212. package/node/DateTimePicker/DateTimePicker.js +2 -2
  213. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  214. package/node/DateTimePicker/DateTimePickerToolbar.js +36 -31
  215. package/node/DesktopDatePicker/DesktopDatePicker.js +9 -3
  216. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  217. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  218. package/node/DesktopTimePicker/DesktopTimePicker.js +3 -7
  219. package/node/MobileDatePicker/MobileDatePicker.js +2 -2
  220. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  221. package/node/MobileTimePicker/MobileTimePicker.js +2 -2
  222. package/node/PickersActionBar/PickersActionBar.js +8 -5
  223. package/node/PickersLayout/PickersLayout.js +1 -5
  224. package/node/PickersLayout/usePickerLayout.js +16 -35
  225. package/node/PickersShortcuts/PickersShortcuts.js +13 -10
  226. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  227. package/node/PickersTextField/PickersTextField.js +1 -1
  228. package/node/TimeField/useTimeField.js +12 -10
  229. package/node/TimePicker/TimePicker.js +2 -2
  230. package/node/TimePicker/TimePickerToolbar.js +20 -18
  231. package/node/hooks/index.js +8 -1
  232. package/node/hooks/useIsValidValue.js +18 -0
  233. package/node/hooks/usePickerContext.js +1 -1
  234. package/node/index.js +13 -1
  235. package/node/internals/components/PickerProvider.js +8 -3
  236. package/node/internals/components/PickersToolbar.js +1 -1
  237. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  238. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +1 -3
  239. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  240. package/node/internals/hooks/useField/index.js +6 -0
  241. package/node/internals/hooks/useField/useField.js +18 -1
  242. package/node/internals/hooks/useField/useField.utils.js +2 -2
  243. package/node/internals/hooks/useField/useFieldState.js +2 -2
  244. package/node/internals/hooks/useField/useFieldV6TextField.js +2 -2
  245. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +1 -3
  246. package/node/internals/hooks/useOpenState.js +4 -2
  247. package/node/internals/hooks/usePicker/usePicker.js +0 -7
  248. package/node/internals/hooks/usePicker/usePickerProvider.js +4 -2
  249. package/node/internals/hooks/usePicker/usePickerValue.js +67 -184
  250. package/node/internals/hooks/usePicker/usePickerViews.js +17 -12
  251. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  252. package/node/internals/hooks/useUtils.js +1 -1
  253. package/node/internals/index.js +26 -18
  254. package/node/internals/models/index.js +11 -0
  255. package/node/internals/models/manager.js +5 -0
  256. package/node/internals/utils/date-utils.js +1 -1
  257. package/node/internals/utils/valueManagers.js +4 -4
  258. package/node/locales/index.js +11 -0
  259. package/node/locales/nbNO.js +15 -19
  260. package/node/locales/utils/getPickersLocalization.js +1 -1
  261. package/node/locales/zhTW.js +79 -0
  262. package/node/managers/index.js +26 -0
  263. package/node/managers/useDateManager.js +55 -0
  264. package/node/managers/useDateTimeManager.js +60 -0
  265. package/node/managers/useTimeManager.js +51 -0
  266. package/node/models/index.js +11 -0
  267. package/node/models/manager.js +5 -0
  268. package/package.json +3 -3
  269. package/themeAugmentation/props.d.ts +1 -1
  270. package/validation/extractValidationProps.d.ts +1 -1
  271. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  272. package/AdapterDateFnsJalaliV3/index.js +0 -1
  273. package/AdapterDateFnsV3/index.d.ts +0 -1
  274. package/AdapterDateFnsV3/index.js +0 -1
  275. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  276. package/internals/hooks/defaultizedFieldProps.js +0 -40
  277. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  278. package/modern/AdapterDateFnsV3/index.js +0 -1
  279. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  280. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  281. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  'use client';
3
3
 
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.default = void 0;
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12
  var React = _interopRequireWildcard(require("react"));
12
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
13
+ var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
13
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14
15
  var _RtlProvider = require("@mui/system/RtlProvider");
15
16
  var _PickersActionBar = require("../PickersActionBar");
@@ -18,6 +19,7 @@ var _PickersShortcuts = require("../PickersShortcuts");
18
19
  var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
19
20
  var _hooks = require("../hooks");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
22
+ const _excluded = ["ownerState"];
21
23
  function toolbarHasView(toolbarProps) {
22
24
  return toolbarProps.view !== null;
23
25
  }
@@ -41,24 +43,14 @@ const usePickerLayout = props => {
41
43
  ownerState: pickerOwnerState
42
44
  } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
43
45
  const {
44
- variant,
45
- orientation,
46
46
  view
47
47
  } = (0, _hooks.usePickerContext)();
48
48
  const isRtl = (0, _RtlProvider.useRtl)();
49
49
  const {
50
- value,
51
- onChange,
52
- onSelectShortcut,
53
- isValid,
54
50
  children,
55
51
  slots,
56
52
  slotProps,
57
53
  classes: classesProp
58
- // TODO: Remove this "as" hack. It get introduced to mark `value` prop in PickersLayoutProps as not required.
59
- // The true type should be
60
- // - For pickers value: PickerValidDate | null
61
- // - For range pickers value: [PickerValidDate | null, PickerValidDate | null]
62
54
  } = props;
63
55
  const ownerState = React.useMemo(() => (0, _extends2.default)({}, pickerOwnerState, {
64
56
  layoutDirection: isRtl ? 'rtl' : 'ltr'
@@ -67,28 +59,23 @@ const usePickerLayout = props => {
67
59
 
68
60
  // Action bar
69
61
  const ActionBar = slots?.actionBar ?? _PickersActionBar.PickersActionBar;
70
- const actionBarProps = (0, _useSlotProps.default)({
71
- elementType: ActionBar,
72
- externalSlotProps: slotProps?.actionBar,
73
- additionalProps: {
74
- actions: variant === 'desktop' ? [] : ['cancel', 'accept']
75
- },
76
- className: classes.actionBar,
77
- ownerState
78
- });
62
+ const _useSlotProps = (0, _useSlotProps2.default)({
63
+ elementType: ActionBar,
64
+ externalSlotProps: slotProps?.actionBar,
65
+ additionalProps: {
66
+ actions: ['cancel', 'accept']
67
+ },
68
+ className: classes.actionBar,
69
+ ownerState
70
+ }),
71
+ actionBarProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded);
79
72
  const actionBar = /*#__PURE__*/(0, _jsxRuntime.jsx)(ActionBar, (0, _extends2.default)({}, actionBarProps));
80
73
 
81
74
  // Toolbar
82
75
  const Toolbar = slots?.toolbar;
83
- const toolbarProps = (0, _useSlotProps.default)({
76
+ const toolbarProps = (0, _useSlotProps2.default)({
84
77
  elementType: Toolbar,
85
78
  externalSlotProps: slotProps?.toolbar,
86
- additionalProps: {
87
- isLandscape: orientation === 'landscape',
88
- // Will be removed in a follow up PR?
89
- onChange,
90
- value
91
- },
92
79
  className: classes.toolbar,
93
80
  ownerState
94
81
  });
@@ -105,15 +92,9 @@ const usePickerLayout = props => {
105
92
 
106
93
  // Shortcuts
107
94
  const Shortcuts = slots?.shortcuts ?? _PickersShortcuts.PickersShortcuts;
108
- const shortcutsProps = (0, _useSlotProps.default)({
95
+ const shortcutsProps = (0, _useSlotProps2.default)({
109
96
  elementType: Shortcuts,
110
97
  externalSlotProps: slotProps?.shortcuts,
111
- additionalProps: {
112
- isValid,
113
- isLandscape: orientation === 'landscape',
114
- // Will be removed in a follow up PR?
115
- onChange: onSelectShortcut
116
- },
117
98
  className: classes.shortcuts,
118
99
  ownerState
119
100
  });
@@ -16,8 +16,9 @@ var _List = _interopRequireDefault(require("@mui/material/List"));
16
16
  var _ListItem = _interopRequireDefault(require("@mui/material/ListItem"));
17
17
  var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
18
18
  var _dimensions = require("../internals/constants/dimensions");
19
+ var _hooks = require("../hooks");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["items", "changeImportance", "isLandscape", "onChange", "isValid"],
21
+ const _excluded = ["items", "changeImportance"],
21
22
  _excluded2 = ["getValue"];
22
23
  const PickersShortcutsRoot = (0, _styles.styled)(_List.default, {
23
24
  name: 'MuiPickersLayout',
@@ -37,11 +38,13 @@ const PickersShortcutsRoot = (0, _styles.styled)(_List.default, {
37
38
  function PickersShortcuts(props) {
38
39
  const {
39
40
  items,
40
- changeImportance = 'accept',
41
- onChange,
42
- isValid
41
+ changeImportance = 'accept'
43
42
  } = props,
44
43
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
44
+ const {
45
+ setValue
46
+ } = (0, _hooks.usePickerActionsContext)();
47
+ const isValidValue = (0, _hooks.useIsValidValue)();
45
48
  if (items == null || items.length === 0) {
46
49
  return null;
47
50
  }
@@ -51,14 +54,17 @@ function PickersShortcuts(props) {
51
54
  } = _ref,
52
55
  item = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded2);
53
56
  const newValue = getValue({
54
- isValid
57
+ isValid: isValidValue
55
58
  });
56
59
  return (0, _extends2.default)({}, item, {
57
60
  label: item.label,
58
61
  onClick: () => {
59
- onChange(newValue, changeImportance, item);
62
+ setValue(newValue, {
63
+ changeImportance,
64
+ shortcut: item
65
+ });
60
66
  },
61
- disabled: !isValid(newValue)
67
+ disabled: !isValidValue(newValue)
62
68
  });
63
69
  });
64
70
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickersShortcutsRoot, (0, _extends2.default)({
@@ -102,8 +108,6 @@ process.env.NODE_ENV !== "production" ? PickersShortcuts.propTypes = {
102
108
  * @default false
103
109
  */
104
110
  disablePadding: _propTypes.default.bool,
105
- isLandscape: _propTypes.default.bool.isRequired,
106
- isValid: _propTypes.default.func.isRequired,
107
111
  /**
108
112
  * Ordered array of shortcuts to display.
109
113
  * If empty, does not display the shortcuts.
@@ -114,7 +118,6 @@ process.env.NODE_ENV !== "production" ? PickersShortcuts.propTypes = {
114
118
  id: _propTypes.default.string,
115
119
  label: _propTypes.default.string.isRequired
116
120
  })),
117
- onChange: _propTypes.default.func.isRequired,
118
121
  style: _propTypes.default.object,
119
122
  /**
120
123
  * The content of the subheader, normally `ListSubheader`.
@@ -221,6 +221,9 @@ const PickersInputBase = exports.PickersInputBase = /*#__PURE__*/React.forwardRe
221
221
  muiFormControl.onFocus?.(event);
222
222
  onFocus?.(event);
223
223
  };
224
+ const handleHiddenInputFocus = event => {
225
+ handleInputFocus(event);
226
+ };
224
227
  const handleInputBlur = event => {
225
228
  muiFormControl.onBlur?.(event);
226
229
  onBlur?.(event);
@@ -296,6 +299,10 @@ const PickersInputBase = exports.PickersInputBase = /*#__PURE__*/React.forwardRe
296
299
  readOnly: readOnly,
297
300
  required: muiFormControl.required,
298
301
  disabled: muiFormControl.disabled
302
+ // Hidden input element cannot be focused, trigger the root focus instead
303
+ // This allows to maintain the ability to do `inputRef.current.focus()` to focus the field
304
+ ,
305
+ onFocus: handleHiddenInputFocus
299
306
  }, inputProps, {
300
307
  ref: handleInputRef
301
308
  }))]
@@ -132,7 +132,7 @@ const PickersTextField = exports.PickersTextField = /*#__PURE__*/React.forwardRe
132
132
  required: required,
133
133
  ownerState: ownerState
134
134
  }, other, {
135
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, (0, _extends2.default)({
135
+ children: [label != null && label !== '' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputLabel.default, (0, _extends2.default)({
136
136
  htmlFor: id,
137
137
  id: inputLabelId
138
138
  }, InputLabelProps, {
@@ -5,24 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useTimeField = void 0;
8
- var _valueManagers = require("../internals/utils/valueManagers");
9
8
  var _useField = require("../internals/hooks/useField");
10
- var _validation = require("../validation");
11
9
  var _hooks = require("../hooks");
12
- var _defaultizedFieldProps = require("../internals/hooks/defaultizedFieldProps");
13
- const useTimeField = inProps => {
14
- const props = (0, _defaultizedFieldProps.useDefaultizedTimeField)(inProps);
10
+ var _managers = require("../managers");
11
+ const useTimeField = props => {
12
+ const manager = (0, _managers.useTimeManager)(props);
15
13
  const {
16
14
  forwardedProps,
17
15
  internalProps
18
16
  } = (0, _hooks.useSplitFieldProps)(props, 'time');
17
+ const internalPropsWithDefaults = (0, _useField.useFieldInternalPropsWithDefaults)({
18
+ manager,
19
+ internalProps
20
+ });
19
21
  return (0, _useField.useField)({
20
22
  forwardedProps,
21
- internalProps,
22
- valueManager: _valueManagers.singleItemValueManager,
23
- fieldValueManager: _valueManagers.singleItemFieldValueManager,
24
- validator: _validation.validateTime,
25
- valueType: 'time'
23
+ internalProps: internalPropsWithDefaults,
24
+ valueManager: manager.internal_valueManager,
25
+ fieldValueManager: manager.internal_fieldValueManager,
26
+ validator: manager.validator,
27
+ valueType: manager.valueType
26
28
  });
27
29
  };
28
30
  exports.useTimeField = useTimeField;
@@ -76,8 +76,8 @@ process.env.NODE_ENV !== "production" ? TimePicker.propTypes = {
76
76
  autoFocus: _propTypes.default.bool,
77
77
  className: _propTypes.default.string,
78
78
  /**
79
- * If `true`, the popover or modal will close after submitting the full date.
80
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
79
+ * If `true`, the Picker will close after submitting the full date.
80
+ * @default false
81
81
  */
82
82
  closeOnSelect: _propTypes.default.bool,
83
83
  /**
@@ -26,7 +26,7 @@ var _dateUtils = require("../internals/utils/date-utils");
26
26
  var _hooks = require("../hooks");
27
27
  var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
28
28
  var _jsxRuntime = require("react/jsx-runtime");
29
- const _excluded = ["ampm", "ampmInClock", "value", "isLandscape", "onChange", "className", "classes"];
29
+ const _excluded = ["ampm", "ampmInClock", "className", "classes"];
30
30
  const useUtilityClasses = (classes, ownerState) => {
31
31
  const {
32
32
  pickerOrientation,
@@ -129,9 +129,6 @@ function TimePickerToolbar(inProps) {
129
129
  const {
130
130
  ampm,
131
131
  ampmInClock,
132
- value,
133
- isLandscape,
134
- onChange,
135
132
  className,
136
133
  classes: classesProp
137
134
  } = props,
@@ -141,18 +138,27 @@ function TimePickerToolbar(inProps) {
141
138
  const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
142
139
  const classes = useUtilityClasses(classesProp, ownerState);
143
140
  const {
141
+ value,
142
+ setValue,
144
143
  disabled,
145
144
  readOnly,
146
145
  view,
147
- onViewChange,
146
+ setView,
148
147
  views
149
148
  } = (0, _hooks.usePickerContext)();
150
149
  const showAmPmControl = Boolean(ampm && !ampmInClock && views.includes('hours'));
151
150
  const {
152
151
  meridiemMode,
153
152
  handleMeridiemChange
154
- } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, onChange);
155
- const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
153
+ } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, newValue => setValue(newValue, {
154
+ changeImportance: 'set'
155
+ }));
156
+ const formatSection = format => {
157
+ if (!utils.isValid(value)) {
158
+ return '--';
159
+ }
160
+ return utils.format(value, format);
161
+ };
156
162
  const separator = /*#__PURE__*/(0, _jsxRuntime.jsx)(TimePickerToolbarSeparator, {
157
163
  tabIndex: -1,
158
164
  value: ":",
@@ -163,7 +169,6 @@ function TimePickerToolbar(inProps) {
163
169
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimePickerToolbarRoot, (0, _extends2.default)({
164
170
  landscapeDirection: "row",
165
171
  toolbarTitle: translations.timePickerToolbarTitle,
166
- isLandscape: isLandscape,
167
172
  ownerState: ownerState,
168
173
  className: (0, _clsx.default)(classes.root, className)
169
174
  }, other, {
@@ -173,20 +178,20 @@ function TimePickerToolbar(inProps) {
173
178
  children: [(0, _utils.arrayIncludes)(views, 'hours') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
174
179
  tabIndex: -1,
175
180
  variant: "h3",
176
- onClick: () => onViewChange('hours'),
181
+ onClick: () => setView('hours'),
177
182
  selected: view === 'hours',
178
- value: value ? formatHours(value) : '--'
183
+ value: formatSection(ampm ? 'hours12h' : 'hours24h')
179
184
  }), (0, _utils.arrayIncludes)(views, ['hours', 'minutes']) && separator, (0, _utils.arrayIncludes)(views, 'minutes') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
180
185
  tabIndex: -1,
181
186
  variant: "h3",
182
- onClick: () => onViewChange('minutes'),
187
+ onClick: () => setView('minutes'),
183
188
  selected: view === 'minutes',
184
- value: value ? utils.format(value, 'minutes') : '--'
189
+ value: formatSection('minutes')
185
190
  }), (0, _utils.arrayIncludes)(views, ['minutes', 'seconds']) && separator, (0, _utils.arrayIncludes)(views, 'seconds') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
186
191
  variant: "h3",
187
- onClick: () => onViewChange('seconds'),
192
+ onClick: () => setView('seconds'),
188
193
  selected: view === 'seconds',
189
- value: value ? utils.format(value, 'seconds') : '--'
194
+ value: formatSection('seconds')
190
195
  })]
191
196
  }), showAmPmControl && /*#__PURE__*/(0, _jsxRuntime.jsxs)(TimePickerToolbarAmPmSelection, {
192
197
  className: classes.ampmSelection,
@@ -228,8 +233,6 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
228
233
  * @default `true` for Desktop, `false` for Mobile.
229
234
  */
230
235
  hidden: _propTypes.default.bool,
231
- isLandscape: _propTypes.default.bool.isRequired,
232
- onChange: _propTypes.default.func.isRequired,
233
236
  /**
234
237
  * The system prop that allows defining system overrides as well as additional CSS styles.
235
238
  */
@@ -243,6 +246,5 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
243
246
  * Toolbar value placeholder—it is displayed when the value is empty.
244
247
  * @default "––"
245
248
  */
246
- toolbarPlaceholder: _propTypes.default.node,
247
- value: _propTypes.default.object
249
+ toolbarPlaceholder: _propTypes.default.node
248
250
  } : void 0;
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "useClearableField", {
9
9
  return _useClearableField.useClearableField;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "useIsValidValue", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useIsValidValue.useIsValidValue;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "useParsedFormat", {
13
19
  enumerable: true,
14
20
  get: function () {
@@ -44,4 +50,5 @@ var _usePickerTranslations = require("./usePickerTranslations");
44
50
  var _useSplitFieldProps = require("./useSplitFieldProps");
45
51
  var _useParsedFormat = require("./useParsedFormat");
46
52
  var _usePickerContext = require("./usePickerContext");
47
- var _usePickerActionsContext = require("./usePickerActionsContext");
53
+ var _usePickerActionsContext = require("./usePickerActionsContext");
54
+ var _useIsValidValue = require("./useIsValidValue");
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.IsValidValueContext = void 0;
9
+ exports.useIsValidValue = useIsValidValue;
10
+ var React = _interopRequireWildcard(require("react"));
11
+ const IsValidValueContext = exports.IsValidValueContext = /*#__PURE__*/React.createContext(() => true);
12
+
13
+ /**
14
+ * Returns a function to check if a value is valid according to the validation props passed to the parent picker.
15
+ */
16
+ function useIsValidValue() {
17
+ return React.useContext(IsValidValueContext);
18
+ }
@@ -14,7 +14,7 @@ var _PickerProvider = require("../internals/components/PickerProvider");
14
14
  const usePickerContext = () => {
15
15
  const value = React.useContext(_PickerProvider.PickerContext);
16
16
  if (value == null) {
17
- throw new Error(['MUI X: The `usePickerContext` can only be called in fields that are used as a slot of a picker component'].join('\n'));
17
+ throw new Error('MUI X: The `usePickerContext` hook can only be called inside the context of a picker component');
18
18
  }
19
19
  return value;
20
20
  };
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v8.0.0-alpha.6
2
+ * @mui/x-date-pickers v8.0.0-alpha.7
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -463,4 +463,16 @@ Object.keys(_validation).forEach(function (key) {
463
463
  return _validation[key];
464
464
  }
465
465
  });
466
+ });
467
+ var _managers = require("./managers");
468
+ Object.keys(_managers).forEach(function (key) {
469
+ if (key === "default" || key === "__esModule") return;
470
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
471
+ if (key in exports && exports[key] === _managers[key]) return;
472
+ Object.defineProperty(exports, key, {
473
+ enumerable: true,
474
+ get: function () {
475
+ return _managers[key];
476
+ }
477
+ });
466
478
  });
@@ -8,6 +8,7 @@ exports.PickerPrivateContext = exports.PickerContext = exports.PickerActionsCont
8
8
  exports.PickerProvider = PickerProvider;
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _LocalizationProvider = require("../../LocalizationProvider");
11
+ var _useIsValidValue = require("../../hooks/useIsValidValue");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
13
  const PickerContext = exports.PickerContext = /*#__PURE__*/React.createContext(null);
13
14
  const PickerActionsContext = exports.PickerActionsContext = /*#__PURE__*/React.createContext(null);
@@ -35,6 +36,7 @@ function PickerProvider(props) {
35
36
  contextValue,
36
37
  actionsContextValue,
37
38
  privateContextValue,
39
+ isValidContextValue,
38
40
  localeText,
39
41
  children
40
42
  } = props;
@@ -44,9 +46,12 @@ function PickerProvider(props) {
44
46
  value: actionsContextValue,
45
47
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerPrivateContext.Provider, {
46
48
  value: privateContextValue,
47
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
48
- localeText: localeText,
49
- children: children
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useIsValidValue.IsValidValueContext.Provider, {
50
+ value: isValidContextValue,
51
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
52
+ localeText: localeText,
53
+ children: children
54
+ })
50
55
  })
51
56
  })
52
57
  })
@@ -17,7 +17,7 @@ var _createStyled = require("@mui/system/createStyled");
17
17
  var _pickersToolbarClasses = require("./pickersToolbarClasses");
18
18
  var _useToolbarOwnerState = require("../hooks/useToolbarOwnerState");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["children", "className", "classes", "toolbarTitle", "hidden", "titleId", "isLandscape", "classes", "landscapeDirection"];
20
+ const _excluded = ["children", "className", "classes", "toolbarTitle", "hidden", "titleId", "classes", "landscapeDirection"];
21
21
  const useUtilityClasses = classes => {
22
22
  const slots = {
23
23
  root: ['root'],
@@ -36,11 +36,12 @@ function usePreviousMonthDisabled(month, {
36
36
  }
37
37
  function useMeridiemMode(date, ampm, onChange, selectionState) {
38
38
  const utils = (0, _useUtils.useUtils)();
39
- const meridiemMode = (0, _timeUtils.getMeridiem)(date, utils);
39
+ const cleanDate = React.useMemo(() => !utils.isValid(date) ? null : date, [utils, date]);
40
+ const meridiemMode = (0, _timeUtils.getMeridiem)(cleanDate, utils);
40
41
  const handleMeridiemChange = React.useCallback(mode => {
41
- const timeWithMeridiem = date == null ? null : (0, _timeUtils.convertToMeridiem)(date, mode, Boolean(ampm), utils);
42
+ const timeWithMeridiem = cleanDate == null ? null : (0, _timeUtils.convertToMeridiem)(cleanDate, mode, Boolean(ampm), utils);
42
43
  onChange(timeWithMeridiem, selectionState ?? 'partial');
43
- }, [ampm, date, onChange, selectionState, utils]);
44
+ }, [ampm, cleanDate, onChange, selectionState, utils]);
44
45
  return {
45
46
  meridiemMode,
46
47
  handleMeridiemChange
@@ -60,7 +60,6 @@ const useDesktopPicker = _ref => {
60
60
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
61
61
  const {
62
62
  hasUIView,
63
- layoutProps,
64
63
  providerProps,
65
64
  renderCurrentView,
66
65
  shouldRestoreFocus,
@@ -71,7 +70,6 @@ const useDesktopPicker = _ref => {
71
70
  fieldRef,
72
71
  localeText,
73
72
  autoFocusView: true,
74
- additionalViewProps: {},
75
73
  variant: 'desktop'
76
74
  }));
77
75
  const InputAdornment = slots.inputAdornment ?? _InputAdornment.default;
@@ -187,7 +185,7 @@ const useDesktopPicker = _ref => {
187
185
  slotProps: slotProps,
188
186
  shouldRestoreFocus: shouldRestoreFocus,
189
187
  reduceAnimations: reduceAnimations,
190
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
188
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
191
189
  slots: slots,
192
190
  slotProps: slotProps,
193
191
  children: renderCurrentView()
@@ -120,7 +120,7 @@ const createSection = ({
120
120
  const sectionConfig = (0, _useField.getDateSectionConfigFromFormatToken)(utils, token);
121
121
  const hasLeadingZerosInFormat = (0, _useField.doesSectionFormatHaveLeadingZeros)(utils, sectionConfig.contentType, sectionConfig.type, token);
122
122
  const hasLeadingZerosInInput = shouldRespectLeadingZeros ? hasLeadingZerosInFormat : sectionConfig.contentType === 'digit';
123
- const isValidDate = date != null && utils.isValid(date);
123
+ const isValidDate = utils.isValid(date);
124
124
  let sectionValue = isValidDate ? utils.formatByString(date, token) : '';
125
125
  let maxLength = null;
126
126
  if (hasLeadingZerosInInput) {
@@ -21,5 +21,11 @@ Object.defineProperty(exports, "useField", {
21
21
  return _useField.useField;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "useFieldInternalPropsWithDefaults", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _useField.useFieldInternalPropsWithDefaults;
28
+ }
29
+ });
24
30
  var _useField = require("./useField");
25
31
  var _useField2 = require("./useField.utils");
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.useField = void 0;
8
+ exports.useFieldInternalPropsWithDefaults = exports.useField = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
@@ -18,6 +18,23 @@ var _useFieldState = require("./useFieldState");
18
18
  var _useFieldCharacterEditing = require("./useFieldCharacterEditing");
19
19
  var _useFieldV7TextField = require("./useFieldV7TextField");
20
20
  var _useFieldV6TextField = require("./useFieldV6TextField");
21
+ /**
22
+ * Applies the default values to the field internal props.
23
+ * This is a temporary hook that will be removed during a follow up when `useField` will receive the internal props without the defaults.
24
+ * It is only here to allow the migration to be done in smaller steps.
25
+ */
26
+ const useFieldInternalPropsWithDefaults = ({
27
+ manager,
28
+ internalProps
29
+ }) => {
30
+ const localizationContext = (0, _useUtils.useLocalizationContext)();
31
+ return React.useMemo(() => {
32
+ return manager.internal_applyDefaultsToFieldInternalProps((0, _extends2.default)({}, localizationContext, {
33
+ internalProps
34
+ }));
35
+ }, [manager, internalProps, localizationContext]);
36
+ };
37
+ exports.useFieldInternalPropsWithDefaults = useFieldInternalPropsWithDefaults;
21
38
  const useField = params => {
22
39
  const utils = (0, _useUtils.useUtils)();
23
40
  const {
@@ -383,7 +383,7 @@ const getSectionsBoundaries = (utils, localizedDigits, timezone) => {
383
383
  currentDate
384
384
  }) => ({
385
385
  minimum: 1,
386
- maximum: currentDate != null && utils.isValid(currentDate) ? utils.getDaysInMonth(currentDate) : maxDaysInMonth,
386
+ maximum: utils.isValid(currentDate) ? utils.getDaysInMonth(currentDate) : maxDaysInMonth,
387
387
  longestMonth: longestMonth
388
388
  }),
389
389
  weekDay: ({
@@ -534,7 +534,7 @@ const mergeDateIntoReferenceDate = (utils, dateToTransferFrom, sections, referen
534
534
  exports.mergeDateIntoReferenceDate = mergeDateIntoReferenceDate;
535
535
  const isAndroid = () => navigator.userAgent.toLowerCase().includes('android');
536
536
 
537
- // TODO v8: Remove if we drop the v6 TextField approach.
537
+ // TODO v9: Remove
538
538
  exports.isAndroid = isAndroid;
539
539
  const getSectionOrder = (sections, shouldApplyRTL) => {
540
540
  const neighbors = {};
@@ -156,7 +156,7 @@ const useFieldState = params => {
156
156
  const updateValueFromValueStr = valueStr => {
157
157
  const parseDateStr = (dateStr, referenceDate) => {
158
158
  const date = utils.parse(dateStr, format);
159
- if (date == null || !utils.isValid(date)) {
159
+ if (!utils.isValid(date)) {
160
160
  return null;
161
161
  }
162
162
  const sections = (0, _buildSectionsFromFormat.buildSectionsFromFormat)({
@@ -207,7 +207,7 @@ const useFieldState = params => {
207
207
  * Then we merge the value of the modified sections into the reference date.
208
208
  * This makes sure that we don't lose some information of the initial date (like the time on a date field).
209
209
  */
210
- if (newActiveDate != null && utils.isValid(newActiveDate)) {
210
+ if (utils.isValid(newActiveDate)) {
211
211
  const mergedDate = (0, _useField.mergeDateIntoReferenceDate)(utils, newActiveDate, newActiveDateSections, activeDateManager.referenceDate, true);
212
212
  values = activeDateManager.getNewValuesFromNewActiveDate(mergedDate);
213
213
  shouldPublish = true;
@@ -44,8 +44,8 @@ const addPositionPropertiesToSections = (sections, localizedDigits, isRtl) => {
44
44
  exports.addPositionPropertiesToSections = addPositionPropertiesToSections;
45
45
  const useFieldV6TextField = params => {
46
46
  const isRtl = (0, _RtlProvider.useRtl)();
47
- const focusTimeoutRef = React.useRef();
48
- const selectionSyncTimeoutRef = React.useRef();
47
+ const focusTimeoutRef = React.useRef(undefined);
48
+ const selectionSyncTimeoutRef = React.useRef(undefined);
49
49
  const {
50
50
  forwardedProps: {
51
51
  onFocus,
@@ -53,7 +53,6 @@ const useMobilePicker = _ref => {
53
53
  const labelId = (0, _useId.default)();
54
54
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
55
55
  const {
56
- layoutProps,
57
56
  providerProps,
58
57
  renderCurrentView,
59
58
  fieldProps: pickerFieldProps,
@@ -63,7 +62,6 @@ const useMobilePicker = _ref => {
63
62
  fieldRef,
64
63
  localeText,
65
64
  autoFocusView: true,
66
- additionalViewProps: {},
67
65
  variant: 'mobile'
68
66
  }));
69
67
  const Field = slots.field;
@@ -136,7 +134,7 @@ const useMobilePicker = _ref => {
136
134
  })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersModalDialog.PickersModalDialog, {
137
135
  slots: slots,
138
136
  slotProps: slotProps,
139
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
137
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
140
138
  slots: slots,
141
139
  slotProps: slotProps,
142
140
  children: renderCurrentView()