@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
@@ -5,24 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useDateField = 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 useDateField = inProps => {
14
- const props = (0, _defaultizedFieldProps.useDefaultizedDateField)(inProps);
10
+ var _managers = require("../managers");
11
+ const useDateField = props => {
12
+ const manager = (0, _managers.useDateManager)(props);
15
13
  const {
16
14
  forwardedProps,
17
15
  internalProps
18
16
  } = (0, _hooks.useSplitFieldProps)(props, 'date');
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.validateDate,
25
- valueType: 'date'
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.useDateField = useDateField;
@@ -66,7 +66,7 @@ process.env.NODE_ENV !== "production" ? DatePicker.propTypes = {
66
66
  autoFocus: _propTypes.default.bool,
67
67
  className: _propTypes.default.string,
68
68
  /**
69
- * If `true`, the popover or modal will close after submitting the full date.
69
+ * If `true`, the Picker will close after submitting the full date.
70
70
  * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
71
71
  */
72
72
  closeOnSelect: _propTypes.default.bool,
@@ -23,7 +23,7 @@ var _dateUtils = require("../internals/utils/date-utils");
23
23
  var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
24
24
  var _hooks = require("../hooks");
25
25
  var _jsxRuntime = require("react/jsx-runtime");
26
- const _excluded = ["value", "isLandscape", "onChange", "toolbarFormat", "toolbarPlaceholder", "className", "classes"];
26
+ const _excluded = ["toolbarFormat", "toolbarPlaceholder", "className", "classes"];
27
27
  const useUtilityClasses = classes => {
28
28
  const slots = {
29
29
  root: ['root'],
@@ -66,8 +66,6 @@ const DatePickerToolbar = exports.DatePickerToolbar = /*#__PURE__*/React.forward
66
66
  name: 'MuiDatePickerToolbar'
67
67
  });
68
68
  const {
69
- value,
70
- isLandscape,
71
69
  toolbarFormat,
72
70
  toolbarPlaceholder = '––',
73
71
  className,
@@ -76,13 +74,15 @@ const DatePickerToolbar = exports.DatePickerToolbar = /*#__PURE__*/React.forward
76
74
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
77
75
  const utils = (0, _useUtils.useUtils)();
78
76
  const {
79
- views
77
+ value,
78
+ views,
79
+ orientation
80
80
  } = (0, _hooks.usePickerContext)();
81
81
  const translations = (0, _usePickerTranslations.usePickerTranslations)();
82
82
  const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
83
83
  const classes = useUtilityClasses(classesProp);
84
84
  const dateText = React.useMemo(() => {
85
- if (!value) {
85
+ if (!utils.isValid(value)) {
86
86
  return toolbarPlaceholder;
87
87
  }
88
88
  const formatFromViews = (0, _dateUtils.resolveDateFormat)(utils, {
@@ -94,12 +94,11 @@ const DatePickerToolbar = exports.DatePickerToolbar = /*#__PURE__*/React.forward
94
94
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(DatePickerToolbarRoot, (0, _extends2.default)({
95
95
  ref: ref,
96
96
  toolbarTitle: translations.datePickerToolbarTitle,
97
- isLandscape: isLandscape,
98
97
  className: (0, _clsx.default)(classes.root, className)
99
98
  }, other, {
100
99
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DatePickerToolbarTitle, {
101
100
  variant: "h4",
102
- align: isLandscape ? 'left' : 'center',
101
+ align: orientation === 'landscape' ? 'left' : 'center',
103
102
  ownerState: ownerState,
104
103
  className: classes.title,
105
104
  children: dateText
@@ -121,8 +120,6 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
121
120
  * @default `true` for Desktop, `false` for Mobile.
122
121
  */
123
122
  hidden: _propTypes.default.bool,
124
- isLandscape: _propTypes.default.bool.isRequired,
125
- onChange: _propTypes.default.func.isRequired,
126
123
  /**
127
124
  * The system prop that allows defining system overrides as well as additional CSS styles.
128
125
  */
@@ -136,6 +133,5 @@ process.env.NODE_ENV !== "production" ? DatePickerToolbar.propTypes = {
136
133
  * Toolbar value placeholder—it is displayed when the value is empty.
137
134
  * @default "––"
138
135
  */
139
- toolbarPlaceholder: _propTypes.default.node,
140
- value: _propTypes.default.object
136
+ toolbarPlaceholder: _propTypes.default.node
141
137
  } : void 0;
@@ -5,24 +5,26 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useDateTimeField = 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 useDateTimeField = inProps => {
14
- const props = (0, _defaultizedFieldProps.useDefaultizedDateTimeField)(inProps);
10
+ var _managers = require("../managers");
11
+ const useDateTimeField = props => {
12
+ const manager = (0, _managers.useDateTimeManager)(props);
15
13
  const {
16
14
  forwardedProps,
17
15
  internalProps
18
16
  } = (0, _hooks.useSplitFieldProps)(props, 'date-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.validateDateTime,
25
- valueType: 'date-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.useDateTimeField = useDateTimeField;
@@ -76,8 +76,8 @@ process.env.NODE_ENV !== "production" ? DateTimePicker.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
  /**
@@ -85,11 +85,11 @@ const DateTimePickerTabs = exports.DateTimePickerTabs = function DateTimePickerT
85
85
  } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
86
86
  const {
87
87
  view,
88
- onViewChange
88
+ setView
89
89
  } = (0, _hooks.usePickerContext)();
90
90
  const classes = useUtilityClasses(classesProp);
91
91
  const handleChange = (event, value) => {
92
- onViewChange(tabToView(value));
92
+ setView(tabToView(value));
93
93
  };
94
94
  if (hidden) {
95
95
  return null;
@@ -30,7 +30,7 @@ var _pickersToolbarClasses = require("../internals/components/pickersToolbarClas
30
30
  var _usePickerContext = require("../hooks/usePickerContext");
31
31
  var _useToolbarOwnerState = require("../internals/hooks/useToolbarOwnerState");
32
32
  var _jsxRuntime = require("react/jsx-runtime");
33
- const _excluded = ["ampm", "ampmInClock", "value", "onChange", "isLandscape", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "className", "classes"];
33
+ const _excluded = ["ampm", "ampmInClock", "toolbarFormat", "toolbarPlaceholder", "toolbarTitle", "className", "classes"];
34
34
  const useUtilityClasses = (classes, ownerState) => {
35
35
  const {
36
36
  pickerOrientation,
@@ -238,9 +238,6 @@ function DateTimePickerToolbar(inProps) {
238
238
  const {
239
239
  ampm,
240
240
  ampmInClock,
241
- value,
242
- onChange,
243
- isLandscape,
244
241
  toolbarFormat,
245
242
  toolbarPlaceholder = '––',
246
243
  toolbarTitle: inToolbarTitle,
@@ -249,31 +246,37 @@ function DateTimePickerToolbar(inProps) {
249
246
  } = props,
250
247
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
251
248
  const {
249
+ value: valueContext,
250
+ setValue: setValueContext,
252
251
  disabled,
253
252
  readOnly,
254
253
  variant,
255
- view: viewCtx,
256
- onViewChange: onViewChangeCtx,
254
+ orientation,
255
+ view: viewContext,
256
+ setView: setViewContext,
257
257
  views
258
258
  } = (0, _usePickerContext.usePickerContext)();
259
+ const translations = (0, _usePickerTranslations.usePickerTranslations)();
259
260
  const ownerState = (0, _useToolbarOwnerState.useToolbarOwnerState)();
260
261
  const classes = useUtilityClasses(classesProp, ownerState);
261
262
  const utils = (0, _useUtils.useUtils)();
263
+ const overrides = React.useContext(DateTimePickerToolbarOverrideContext);
264
+ const value = overrides ? overrides.value : valueContext;
265
+ const setValue = overrides ? overrides.setValue : setValueContext;
266
+ const view = overrides ? overrides.view : viewContext;
267
+ const setView = overrides ? overrides.setView : setViewContext;
262
268
  const {
263
269
  meridiemMode,
264
270
  handleMeridiemChange
265
- } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, onChange);
266
- const translations = (0, _usePickerTranslations.usePickerTranslations)();
267
- const overrides = React.useContext(DateTimePickerToolbarOverrideContext);
271
+ } = (0, _dateHelpersHooks.useMeridiemMode)(value, ampm, newValue => setValue(newValue, {
272
+ changeImportance: 'set'
273
+ }));
268
274
  const toolbarVariant = overrides?.forceDesktopVariant ? 'desktop' : variant;
269
275
  const isDesktop = toolbarVariant === 'desktop';
270
276
  const showAmPmControl = Boolean(ampm && !ampmInClock);
271
277
  const toolbarTitle = inToolbarTitle ?? translations.dateTimePickerToolbarTitle;
272
- const view = overrides ? overrides.view : viewCtx;
273
- const onViewChange = overrides ? overrides.onViewChange : onViewChangeCtx;
274
- const formatHours = time => ampm ? utils.format(time, 'hours12h') : utils.format(time, 'hours24h');
275
278
  const dateText = React.useMemo(() => {
276
- if (!value) {
279
+ if (!utils.isValid(value)) {
277
280
  return toolbarPlaceholder;
278
281
  }
279
282
  if (toolbarFormat) {
@@ -281,8 +284,13 @@ function DateTimePickerToolbar(inProps) {
281
284
  }
282
285
  return utils.format(value, 'shortDate');
283
286
  }, [value, toolbarFormat, toolbarPlaceholder, utils]);
287
+ const formatSection = (format, fallback) => {
288
+ if (!utils.isValid(value)) {
289
+ return fallback;
290
+ }
291
+ return utils.format(value, format);
292
+ };
284
293
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarRoot, (0, _extends2.default)({
285
- isLandscape: isLandscape,
286
294
  className: (0, _clsx.default)(classes.root, className),
287
295
  toolbarTitle: toolbarTitle,
288
296
  toolbarVariant: toolbarVariant
@@ -294,13 +302,13 @@ function DateTimePickerToolbar(inProps) {
294
302
  children: [views.includes('year') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
295
303
  tabIndex: -1,
296
304
  variant: "subtitle1",
297
- onClick: () => onViewChange('year'),
305
+ onClick: () => setView('year'),
298
306
  selected: view === 'year',
299
- value: value ? utils.format(value, 'year') : '–'
307
+ value: formatSection('year', '–')
300
308
  }), views.includes('day') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
301
309
  tabIndex: -1,
302
310
  variant: isDesktop ? 'h5' : 'h4',
303
- onClick: () => onViewChange('day'),
311
+ onClick: () => setView('day'),
304
312
  selected: view === 'day',
305
313
  value: dateText
306
314
  })]
@@ -315,10 +323,10 @@ function DateTimePickerToolbar(inProps) {
315
323
  children: [views.includes('hours') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
316
324
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
317
325
  variant: isDesktop ? 'h5' : 'h3',
318
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
319
- onClick: () => onViewChange('hours'),
326
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
327
+ onClick: () => setView('hours'),
320
328
  selected: view === 'hours',
321
- value: value ? formatHours(value) : '--'
329
+ value: formatSection(ampm ? 'hours12h' : 'hours24h', '--')
322
330
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateTimePickerToolbarSeparator, {
323
331
  variant: isDesktop ? 'h5' : 'h3',
324
332
  value: ":",
@@ -327,10 +335,10 @@ function DateTimePickerToolbar(inProps) {
327
335
  toolbarVariant: toolbarVariant
328
336
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
329
337
  variant: isDesktop ? 'h5' : 'h3',
330
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
331
- onClick: () => onViewChange('minutes'),
338
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
339
+ onClick: () => setView('minutes'),
332
340
  selected: view === 'minutes' || !views.includes('minutes') && view === 'hours',
333
- value: value ? utils.format(value, 'minutes') : '--',
341
+ value: formatSection('minutes', '--'),
334
342
  disabled: !views.includes('minutes')
335
343
  })]
336
344
  }), views.includes('seconds') && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
@@ -342,10 +350,10 @@ function DateTimePickerToolbar(inProps) {
342
350
  toolbarVariant: toolbarVariant
343
351
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
344
352
  variant: isDesktop ? 'h5' : 'h3',
345
- width: isDesktop && !isLandscape ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
346
- onClick: () => onViewChange('seconds'),
353
+ width: isDesktop && orientation === 'portrait' ? _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH : undefined,
354
+ onClick: () => setView('seconds'),
347
355
  selected: view === 'seconds',
348
- value: value ? utils.format(value, 'seconds') : '--'
356
+ value: formatSection('seconds', '--')
349
357
  })]
350
358
  })]
351
359
  }), showAmPmControl && !isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsxs)(DateTimePickerToolbarAmPmSelection, {
@@ -368,7 +376,7 @@ function DateTimePickerToolbar(inProps) {
368
376
  })]
369
377
  }), ampm && isDesktop && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersToolbarButton.PickersToolbarButton, {
370
378
  variant: "h5",
371
- onClick: () => onViewChange('meridiem'),
379
+ onClick: () => setView('meridiem'),
372
380
  selected: view === 'meridiem',
373
381
  value: value && meridiemMode ? (0, _dateUtils.formatMeridiem)(utils, meridiemMode) : '--',
374
382
  width: _dimensions.MULTI_SECTION_CLOCK_SECTION_WIDTH
@@ -393,8 +401,6 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
393
401
  * @default `true` for Desktop, `false` for Mobile.
394
402
  */
395
403
  hidden: _propTypes.default.bool,
396
- isLandscape: _propTypes.default.bool.isRequired,
397
- onChange: _propTypes.default.func.isRequired,
398
404
  /**
399
405
  * The system prop that allows defining system overrides as well as additional CSS styles.
400
406
  */
@@ -412,6 +418,5 @@ process.env.NODE_ENV !== "production" ? DateTimePickerToolbar.propTypes = {
412
418
  /**
413
419
  * If provided, it will be used instead of `dateTimePickerToolbarTitle` from localization.
414
420
  */
415
- toolbarTitle: _propTypes.default.node,
416
- value: _propTypes.default.object
421
+ toolbarTitle: _propTypes.default.node
417
422
  } : void 0;
@@ -23,6 +23,8 @@ var _DateField = require("../DateField");
23
23
  var _dateViewRenderers = require("../dateViewRenderers");
24
24
  var _dateUtils = require("../internals/utils/date-utils");
25
25
  var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
26
+ const emptyActions = [];
27
+
26
28
  /**
27
29
  * Demos:
28
30
  *
@@ -47,6 +49,7 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
47
49
 
48
50
  // Props with the default values specific to the desktop variant
49
51
  const props = (0, _extends2.default)({}, defaultizedProps, {
52
+ closeOnSelect: defaultizedProps.closeOnSelect ?? true,
50
53
  viewRenderers,
51
54
  format: (0, _dateUtils.resolveDateFormat)(utils, defaultizedProps, false),
52
55
  yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
@@ -60,7 +63,10 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
60
63
  }),
61
64
  toolbar: (0, _extends2.default)({
62
65
  hidden: true
63
- }, defaultizedProps.slotProps?.toolbar)
66
+ }, defaultizedProps.slotProps?.toolbar),
67
+ actionBar: ownerState => (0, _extends2.default)({
68
+ actions: emptyActions
69
+ }, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
64
70
  })
65
71
  });
66
72
  const {
@@ -93,8 +99,8 @@ DesktopDatePicker.propTypes = {
93
99
  autoFocus: _propTypes.default.bool,
94
100
  className: _propTypes.default.string,
95
101
  /**
96
- * If `true`, the popover or modal will close after submitting the full date.
97
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
102
+ * If `true`, the Picker will close after submitting the full date.
103
+ * @default true
98
104
  */
99
105
  closeOnSelect: _propTypes.default.bool,
100
106
  /**
@@ -34,7 +34,12 @@ var _dateUtils = require("../internals/utils/date-utils");
34
34
  var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
35
35
  var _jsxRuntime = require("react/jsx-runtime");
36
36
  const _excluded = ["openTo", "focusedView", "timeViewsCount"];
37
- const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
37
+ const rendererInterceptor = function RendererInterceptor(props) {
38
+ const {
39
+ viewRenderers,
40
+ popperView,
41
+ rendererProps
42
+ } = props;
38
43
  const {
39
44
  openTo,
40
45
  focusedView,
@@ -53,8 +58,10 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
53
58
  }]
54
59
  });
55
60
  const isTimeViewActive = (0, _timeUtils.isInternalTimeView)(popperView);
61
+ const dateView = isTimeViewActive ? 'day' : popperView;
62
+ const timeView = isTimeViewActive ? popperView : 'hours';
56
63
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
57
- children: [inViewRenderers[!isTimeViewActive ? popperView : 'day']?.((0, _extends2.default)({}, rendererProps, {
64
+ children: [viewRenderers[dateView]?.((0, _extends2.default)({}, rendererProps, {
58
65
  view: !isTimeViewActive ? popperView : 'day',
59
66
  focusedView: focusedView && (0, _dateUtils.isDatePickerView)(focusedView) ? focusedView : null,
60
67
  views: rendererProps.views.filter(_dateUtils.isDatePickerView),
@@ -67,7 +74,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
67
74
  sx: {
68
75
  gridColumn: 2
69
76
  }
70
- }), inViewRenderers[isTimeViewActive ? popperView : 'hours']?.((0, _extends2.default)({}, finalProps, {
77
+ }), viewRenderers[timeView]?.((0, _extends2.default)({}, finalProps, {
71
78
  view: isTimeViewActive ? popperView : 'hours',
72
79
  focusedView: focusedView && (0, _timeUtils.isInternalTimeView)(focusedView) ? focusedView : null,
73
80
  openTo: (0, _timeUtils.isInternalTimeView)(openTo) ? openTo : 'hours',
@@ -115,7 +122,6 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
115
122
  // Need to avoid adding the `meridiem` view when unexpected renderer is specified
116
123
  const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
117
124
  const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
118
- const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
119
125
 
120
126
  // Props with the default values specific to the desktop variant
121
127
  const props = (0, _extends2.default)({}, defaultizedProps, {
@@ -142,10 +148,7 @@ const DesktopDateTimePicker = exports.DesktopDateTimePicker = /*#__PURE__*/React
142
148
  }, defaultizedProps.slotProps?.toolbar),
143
149
  tabs: (0, _extends2.default)({
144
150
  hidden: true
145
- }, defaultizedProps.slotProps?.tabs),
146
- actionBar: ownerState => (0, _extends2.default)({
147
- actions: actionBarActions
148
- }, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
151
+ }, defaultizedProps.slotProps?.tabs)
149
152
  })
150
153
  });
151
154
  const {
@@ -189,8 +192,8 @@ DesktopDateTimePicker.propTypes = {
189
192
  autoFocus: _propTypes.default.bool,
190
193
  className: _propTypes.default.string,
191
194
  /**
192
- * If `true`, the popover or modal will close after submitting the full date.
193
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
195
+ * If `true`, the Picker will close after submitting the full date.
196
+ * @default false
194
197
  */
195
198
  closeOnSelect: _propTypes.default.bool,
196
199
  /**
@@ -73,9 +73,6 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes =
73
73
  */
74
74
  classes: _propTypes.default.object,
75
75
  className: _propTypes.default.string,
76
- isValid: _propTypes.default.func.isRequired,
77
- onChange: _propTypes.default.func.isRequired,
78
- onSelectShortcut: _propTypes.default.func.isRequired,
79
76
  /**
80
77
  * The props used for each component slot.
81
78
  * @default {}
@@ -89,6 +86,5 @@ process.env.NODE_ENV !== "production" ? DesktopDateTimePickerLayout.propTypes =
89
86
  /**
90
87
  * The system prop that allows defining system overrides as well as additional CSS styles.
91
88
  */
92
- sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
93
- value: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.object), _propTypes.default.object])
89
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
94
90
  } : void 0;
@@ -53,7 +53,6 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
53
53
  meridiem: renderTimeView
54
54
  }, defaultizedProps.viewRenderers);
55
55
  const ampmInClock = defaultizedProps.ampmInClock ?? true;
56
- const actionBarActions = shouldRenderTimeInASingleColumn ? [] : ['accept'];
57
56
  // Need to avoid adding the `meridiem` view when unexpected renderer is specified
58
57
  const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
59
58
  const views = !shouldHoursRendererContainMeridiemView ? resolvedViews.filter(view => view !== 'meridiem') : resolvedViews;
@@ -78,10 +77,7 @@ const DesktopTimePicker = exports.DesktopTimePicker = /*#__PURE__*/React.forward
78
77
  toolbar: (0, _extends2.default)({
79
78
  hidden: true,
80
79
  ampmInClock
81
- }, defaultizedProps.slotProps?.toolbar),
82
- actionBar: (0, _extends2.default)({
83
- actions: actionBarActions
84
- }, defaultizedProps.slotProps?.actionBar)
80
+ }, defaultizedProps.slotProps?.toolbar)
85
81
  })
86
82
  });
87
83
  const {
@@ -124,8 +120,8 @@ DesktopTimePicker.propTypes = {
124
120
  autoFocus: _propTypes.default.bool,
125
121
  className: _propTypes.default.string,
126
122
  /**
127
- * If `true`, the popover or modal will close after submitting the full date.
128
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
123
+ * If `true`, the Picker will close after submitting the full date.
124
+ * @default false
129
125
  */
130
126
  closeOnSelect: _propTypes.default.bool,
131
127
  /**
@@ -90,8 +90,8 @@ MobileDatePicker.propTypes = {
90
90
  autoFocus: _propTypes.default.bool,
91
91
  className: _propTypes.default.string,
92
92
  /**
93
- * If `true`, the popover or modal will close after submitting the full date.
94
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
93
+ * If `true`, the Picker will close after submitting the full date.
94
+ * @default false
95
95
  */
96
96
  closeOnSelect: _propTypes.default.bool,
97
97
  /**
@@ -110,8 +110,8 @@ MobileDateTimePicker.propTypes = {
110
110
  autoFocus: _propTypes.default.bool,
111
111
  className: _propTypes.default.string,
112
112
  /**
113
- * If `true`, the popover or modal will close after submitting the full date.
114
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
113
+ * If `true`, the Picker will close after submitting the full date.
114
+ * @default false
115
115
  */
116
116
  closeOnSelect: _propTypes.default.bool,
117
117
  /**
@@ -103,8 +103,8 @@ MobileTimePicker.propTypes = {
103
103
  autoFocus: _propTypes.default.bool,
104
104
  className: _propTypes.default.string,
105
105
  /**
106
- * If `true`, the popover or modal will close after submitting the full date.
107
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
106
+ * If `true`, the Picker will close after submitting the full date.
107
+ * @default false
108
108
  */
109
109
  closeOnSelect: _propTypes.default.bool,
110
110
  /**
@@ -6,7 +6,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.PickersActionBar = PickersActionBar;
9
+ exports.PickersActionBar = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
12
  var React = _interopRequireWildcard(require("react"));
@@ -34,7 +34,7 @@ const PickersActionBarRoot = (0, _styles.styled)(_DialogActions.default, {
34
34
  *
35
35
  * - [PickersActionBar API](https://mui.com/x/api/date-pickers/pickers-action-bar/)
36
36
  */
37
- function PickersActionBar(props) {
37
+ function PickersActionBarComponent(props) {
38
38
  const {
39
39
  actions
40
40
  } = props,
@@ -79,7 +79,7 @@ function PickersActionBar(props) {
79
79
  children: buttons
80
80
  }));
81
81
  }
82
- process.env.NODE_ENV !== "production" ? PickersActionBar.propTypes = {
82
+ process.env.NODE_ENV !== "production" ? PickersActionBarComponent.propTypes = {
83
83
  // ----------------------------- Warning --------------------------------
84
84
  // | These PropTypes are generated from the TypeScript type definitions |
85
85
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -87,7 +87,9 @@ process.env.NODE_ENV !== "production" ? PickersActionBar.propTypes = {
87
87
  /**
88
88
  * Ordered array of actions to display.
89
89
  * If empty, does not display that action bar.
90
- * @default `['cancel', 'accept']` for mobile and `[]` for desktop
90
+ * @default
91
+ * - `[]` for Desktop Date Picker and Desktop Date Range Picker
92
+ * - `['cancel', 'accept']` for all other Pickers
91
93
  */
92
94
  actions: _propTypes.default.arrayOf(_propTypes.default.oneOf(['accept', 'cancel', 'clear', 'today']).isRequired),
93
95
  /**
@@ -99,4 +101,5 @@ process.env.NODE_ENV !== "production" ? PickersActionBar.propTypes = {
99
101
  * The system prop that allows defining system overrides as well as additional CSS styles.
100
102
  */
101
103
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
102
- } : void 0;
104
+ } : void 0;
105
+ const PickersActionBar = exports.PickersActionBar = /*#__PURE__*/React.memo(PickersActionBarComponent);
@@ -157,9 +157,6 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
157
157
  */
158
158
  classes: _propTypes.default.object,
159
159
  className: _propTypes.default.string,
160
- isValid: _propTypes.default.func.isRequired,
161
- onChange: _propTypes.default.func.isRequired,
162
- onSelectShortcut: _propTypes.default.func.isRequired,
163
160
  /**
164
161
  * The props used for each component slot.
165
162
  * @default {}
@@ -173,6 +170,5 @@ process.env.NODE_ENV !== "production" ? PickersLayout.propTypes = {
173
170
  /**
174
171
  * The system prop that allows defining system overrides as well as additional CSS styles.
175
172
  */
176
- sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
177
- value: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.object), _propTypes.default.object])
173
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
178
174
  } : void 0;