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

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 (327) 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 +242 -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/DateField.js +26 -31
  24. package/DateField/DateField.types.d.ts +6 -15
  25. package/DateField/useDateField.d.ts +1 -1
  26. package/DateField/useDateField.js +14 -11
  27. package/DatePicker/DatePicker.js +1 -1
  28. package/DatePicker/DatePicker.types.d.ts +5 -0
  29. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  30. package/DatePicker/DatePickerToolbar.js +7 -11
  31. package/DatePicker/shared.d.ts +1 -1
  32. package/DateTimeField/DateTimeField.js +26 -31
  33. package/DateTimeField/DateTimeField.types.d.ts +6 -15
  34. package/DateTimeField/useDateTimeField.d.ts +1 -1
  35. package/DateTimeField/useDateTimeField.js +14 -11
  36. package/DateTimePicker/DateTimePicker.js +2 -2
  37. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  38. package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -2
  39. package/DateTimePicker/DateTimePickerToolbar.js +36 -31
  40. package/DateTimePicker/shared.d.ts +1 -1
  41. package/DesktopDatePicker/DesktopDatePicker.js +9 -14
  42. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +5 -0
  43. package/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  44. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  45. package/DesktopTimePicker/DesktopTimePicker.js +4 -19
  46. package/MobileDatePicker/MobileDatePicker.js +2 -11
  47. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  48. package/MobileTimePicker/MobileTimePicker.js +2 -11
  49. package/PickersActionBar/PickersActionBar.d.ts +6 -3
  50. package/PickersActionBar/PickersActionBar.js +6 -3
  51. package/PickersLayout/PickersLayout.js +1 -5
  52. package/PickersLayout/PickersLayout.types.d.ts +2 -3
  53. package/PickersLayout/usePickerLayout.js +12 -31
  54. package/PickersShortcuts/PickersShortcuts.d.ts +2 -5
  55. package/PickersShortcuts/PickersShortcuts.js +13 -10
  56. package/PickersShortcuts/index.d.ts +1 -1
  57. package/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  58. package/PickersTextField/PickersTextField.js +1 -1
  59. package/TimeField/TimeField.js +25 -30
  60. package/TimeField/TimeField.types.d.ts +6 -15
  61. package/TimeField/useTimeField.d.ts +1 -1
  62. package/TimeField/useTimeField.js +14 -11
  63. package/TimePicker/TimePicker.js +2 -2
  64. package/TimePicker/TimePickerToolbar.d.ts +1 -2
  65. package/TimePicker/TimePickerToolbar.js +20 -18
  66. package/TimePicker/shared.d.ts +1 -1
  67. package/hooks/index.d.ts +1 -0
  68. package/hooks/index.js +2 -1
  69. package/hooks/useIsValidValue.d.ts +7 -0
  70. package/hooks/useIsValidValue.js +11 -0
  71. package/hooks/useParsedFormat.d.ts +8 -6
  72. package/hooks/useParsedFormat.js +10 -12
  73. package/hooks/usePickerActionsContext.d.ts +3 -1
  74. package/hooks/usePickerActionsContext.js +0 -1
  75. package/hooks/usePickerContext.d.ts +5 -3
  76. package/hooks/usePickerContext.js +3 -2
  77. package/hooks/useSplitFieldProps.d.ts +12 -3
  78. package/hooks/useSplitFieldProps.js +8 -3
  79. package/index.d.ts +1 -0
  80. package/index.js +3 -2
  81. package/internals/components/PickerFieldUI.d.ts +132 -0
  82. package/internals/components/PickerFieldUI.js +306 -0
  83. package/internals/components/PickerProvider.d.ts +34 -12
  84. package/internals/components/PickerProvider.js +14 -4
  85. package/internals/components/PickersToolbar.d.ts +2 -3
  86. package/internals/components/PickersToolbar.js +1 -1
  87. package/internals/hooks/date-helpers-hooks.js +4 -3
  88. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  89. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -96
  90. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +10 -33
  91. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  92. package/internals/hooks/useField/index.d.ts +2 -0
  93. package/internals/hooks/useField/index.js +2 -1
  94. package/internals/hooks/useField/useField.js +12 -4
  95. package/internals/hooks/useField/useField.types.d.ts +11 -4
  96. package/internals/hooks/useField/useField.utils.js +2 -2
  97. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  98. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +46 -0
  99. package/internals/hooks/useField/useFieldState.js +2 -2
  100. package/internals/hooks/useField/useFieldV6TextField.js +2 -2
  101. package/internals/hooks/useField/useFieldV7TextField.js +3 -3
  102. package/internals/hooks/useFieldOwnerState.d.ts +1 -2
  103. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  104. package/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  105. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +8 -16
  106. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  107. package/internals/hooks/useNullablePickerContext.js +10 -0
  108. package/internals/hooks/useOpenState.js +3 -2
  109. package/internals/hooks/usePicker/usePicker.d.ts +1 -2
  110. package/internals/hooks/usePicker/usePicker.js +0 -9
  111. package/internals/hooks/usePicker/usePicker.types.d.ts +7 -9
  112. package/internals/hooks/usePicker/usePickerProvider.d.ts +12 -6
  113. package/internals/hooks/usePicker/usePickerProvider.js +26 -4
  114. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  115. package/internals/hooks/usePicker/usePickerValue.js +62 -185
  116. package/internals/hooks/usePicker/usePickerValue.types.d.ts +52 -55
  117. package/internals/hooks/usePicker/usePickerViews.d.ts +27 -23
  118. package/internals/hooks/usePicker/usePickerViews.js +17 -11
  119. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  120. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
  121. package/internals/hooks/useUtils.d.ts +4 -3
  122. package/internals/hooks/useUtils.js +1 -1
  123. package/internals/index.d.ts +11 -6
  124. package/internals/index.js +6 -4
  125. package/internals/models/fields.d.ts +3 -16
  126. package/internals/models/index.d.ts +1 -0
  127. package/internals/models/index.js +2 -1
  128. package/internals/models/manager.d.ts +15 -0
  129. package/internals/models/manager.js +1 -0
  130. package/internals/models/props/basePickerProps.d.ts +2 -14
  131. package/internals/models/props/toolbar.d.ts +1 -5
  132. package/internals/utils/date-utils.js +1 -1
  133. package/internals/utils/valueManagers.js +4 -4
  134. package/locales/index.d.ts +1 -0
  135. package/locales/index.js +1 -0
  136. package/locales/nbNO.js +15 -19
  137. package/locales/utils/getPickersLocalization.d.ts +0 -7
  138. package/locales/utils/getPickersLocalization.js +0 -13
  139. package/locales/zhTW.d.ts +80 -0
  140. package/locales/zhTW.js +73 -0
  141. package/managers/index.d.ts +6 -0
  142. package/managers/index.js +3 -0
  143. package/managers/package.json +6 -0
  144. package/managers/useDateManager.d.ts +27 -0
  145. package/managers/useDateManager.js +55 -0
  146. package/managers/useDateTimeManager.d.ts +28 -0
  147. package/managers/useDateTimeManager.js +60 -0
  148. package/managers/useTimeManager.d.ts +28 -0
  149. package/managers/useTimeManager.js +51 -0
  150. package/models/adapters.d.ts +1 -1
  151. package/models/fields.d.ts +4 -4
  152. package/models/index.d.ts +1 -0
  153. package/models/index.js +1 -0
  154. package/models/manager.d.ts +87 -0
  155. package/models/manager.js +1 -0
  156. package/models/pickers.d.ts +7 -0
  157. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  158. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  159. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  160. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  161. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  162. package/modern/AdapterDateFnsV2/index.js +1 -0
  163. package/modern/DateCalendar/DateCalendar.js +1 -1
  164. package/modern/DateField/DateField.js +26 -31
  165. package/modern/DateField/useDateField.js +14 -11
  166. package/modern/DatePicker/DatePicker.js +1 -1
  167. package/modern/DatePicker/DatePickerToolbar.js +7 -11
  168. package/modern/DateTimeField/DateTimeField.js +26 -31
  169. package/modern/DateTimeField/useDateTimeField.js +14 -11
  170. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  171. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  172. package/modern/DateTimePicker/DateTimePickerToolbar.js +36 -31
  173. package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -14
  174. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  175. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  176. package/modern/DesktopTimePicker/DesktopTimePicker.js +4 -19
  177. package/modern/MobileDatePicker/MobileDatePicker.js +2 -11
  178. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  179. package/modern/MobileTimePicker/MobileTimePicker.js +2 -11
  180. package/modern/PickersActionBar/PickersActionBar.js +6 -3
  181. package/modern/PickersLayout/PickersLayout.js +1 -5
  182. package/modern/PickersLayout/usePickerLayout.js +12 -31
  183. package/modern/PickersShortcuts/PickersShortcuts.js +13 -10
  184. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  185. package/modern/PickersTextField/PickersTextField.js +1 -1
  186. package/modern/TimeField/TimeField.js +25 -30
  187. package/modern/TimeField/useTimeField.js +14 -11
  188. package/modern/TimePicker/TimePicker.js +2 -2
  189. package/modern/TimePicker/TimePickerToolbar.js +20 -18
  190. package/modern/hooks/index.js +2 -1
  191. package/modern/hooks/useIsValidValue.js +11 -0
  192. package/modern/hooks/useParsedFormat.js +10 -12
  193. package/modern/hooks/usePickerActionsContext.js +0 -1
  194. package/modern/hooks/usePickerContext.js +3 -2
  195. package/modern/hooks/useSplitFieldProps.js +8 -3
  196. package/modern/index.js +3 -2
  197. package/modern/internals/components/PickerFieldUI.js +306 -0
  198. package/modern/internals/components/PickerProvider.js +14 -4
  199. package/modern/internals/components/PickersToolbar.js +1 -1
  200. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  201. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -96
  202. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  203. package/modern/internals/hooks/useField/index.js +2 -1
  204. package/modern/internals/hooks/useField/useField.js +12 -4
  205. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  206. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +46 -0
  207. package/modern/internals/hooks/useField/useFieldState.js +2 -2
  208. package/modern/internals/hooks/useField/useFieldV6TextField.js +2 -2
  209. package/modern/internals/hooks/useField/useFieldV7TextField.js +3 -3
  210. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  211. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  212. package/modern/internals/hooks/useOpenState.js +3 -2
  213. package/modern/internals/hooks/usePicker/usePicker.js +0 -9
  214. package/modern/internals/hooks/usePicker/usePickerProvider.js +26 -4
  215. package/modern/internals/hooks/usePicker/usePickerValue.js +62 -185
  216. package/modern/internals/hooks/usePicker/usePickerViews.js +17 -11
  217. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  218. package/modern/internals/hooks/useUtils.js +1 -1
  219. package/modern/internals/index.js +6 -4
  220. package/modern/internals/models/index.js +2 -1
  221. package/modern/internals/models/manager.js +1 -0
  222. package/modern/internals/utils/date-utils.js +1 -1
  223. package/modern/internals/utils/valueManagers.js +4 -4
  224. package/modern/locales/index.js +1 -0
  225. package/modern/locales/nbNO.js +15 -19
  226. package/modern/locales/utils/getPickersLocalization.js +0 -13
  227. package/modern/locales/zhTW.js +73 -0
  228. package/modern/managers/index.js +3 -0
  229. package/modern/managers/useDateManager.js +55 -0
  230. package/modern/managers/useDateTimeManager.js +60 -0
  231. package/modern/managers/useTimeManager.js +51 -0
  232. package/modern/models/index.js +1 -0
  233. package/modern/models/manager.js +1 -0
  234. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  235. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  236. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  237. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  238. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  239. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  240. package/node/DateCalendar/DateCalendar.js +1 -1
  241. package/node/DateField/DateField.js +26 -31
  242. package/node/DateField/useDateField.js +13 -10
  243. package/node/DatePicker/DatePicker.js +1 -1
  244. package/node/DatePicker/DatePickerToolbar.js +7 -11
  245. package/node/DateTimeField/DateTimeField.js +26 -31
  246. package/node/DateTimeField/useDateTimeField.js +13 -10
  247. package/node/DateTimePicker/DateTimePicker.js +2 -2
  248. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  249. package/node/DateTimePicker/DateTimePickerToolbar.js +36 -31
  250. package/node/DesktopDatePicker/DesktopDatePicker.js +9 -14
  251. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  252. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  253. package/node/DesktopTimePicker/DesktopTimePicker.js +4 -19
  254. package/node/MobileDatePicker/MobileDatePicker.js +2 -11
  255. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  256. package/node/MobileTimePicker/MobileTimePicker.js +2 -11
  257. package/node/PickersActionBar/PickersActionBar.js +8 -5
  258. package/node/PickersLayout/PickersLayout.js +1 -5
  259. package/node/PickersLayout/usePickerLayout.js +16 -35
  260. package/node/PickersShortcuts/PickersShortcuts.js +13 -10
  261. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  262. package/node/PickersTextField/PickersTextField.js +1 -1
  263. package/node/TimeField/TimeField.js +25 -30
  264. package/node/TimeField/useTimeField.js +13 -10
  265. package/node/TimePicker/TimePicker.js +2 -2
  266. package/node/TimePicker/TimePickerToolbar.js +20 -18
  267. package/node/hooks/index.js +8 -1
  268. package/node/hooks/useIsValidValue.js +18 -0
  269. package/node/hooks/useParsedFormat.js +10 -12
  270. package/node/hooks/usePickerContext.js +5 -4
  271. package/node/hooks/useSplitFieldProps.js +7 -2
  272. package/node/index.js +13 -1
  273. package/node/internals/components/PickerFieldUI.js +318 -0
  274. package/node/internals/components/PickerProvider.js +16 -6
  275. package/node/internals/components/PickersToolbar.js +1 -1
  276. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  277. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +23 -98
  278. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  279. package/node/internals/hooks/useField/index.js +8 -1
  280. package/node/internals/hooks/useField/useField.js +11 -3
  281. package/node/internals/hooks/useField/useField.utils.js +2 -2
  282. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +55 -0
  283. package/node/internals/hooks/useField/useFieldState.js +2 -2
  284. package/node/internals/hooks/useField/useFieldV6TextField.js +2 -2
  285. package/node/internals/hooks/useField/useFieldV7TextField.js +3 -3
  286. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  287. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  288. package/node/internals/hooks/useOpenState.js +4 -2
  289. package/node/internals/hooks/usePicker/usePicker.js +0 -10
  290. package/node/internals/hooks/usePicker/usePickerProvider.js +26 -4
  291. package/node/internals/hooks/usePicker/usePickerValue.js +62 -185
  292. package/node/internals/hooks/usePicker/usePickerViews.js +17 -12
  293. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  294. package/node/internals/hooks/useUtils.js +1 -1
  295. package/node/internals/index.js +45 -19
  296. package/node/internals/models/index.js +11 -0
  297. package/node/internals/models/manager.js +5 -0
  298. package/node/internals/utils/date-utils.js +1 -1
  299. package/node/internals/utils/valueManagers.js +4 -4
  300. package/node/locales/index.js +11 -0
  301. package/node/locales/nbNO.js +15 -19
  302. package/node/locales/utils/getPickersLocalization.js +2 -16
  303. package/node/locales/zhTW.js +79 -0
  304. package/node/managers/index.js +26 -0
  305. package/node/managers/useDateManager.js +63 -0
  306. package/node/managers/useDateTimeManager.js +68 -0
  307. package/node/managers/useTimeManager.js +59 -0
  308. package/node/models/index.js +11 -0
  309. package/node/models/manager.js +5 -0
  310. package/package.json +3 -3
  311. package/themeAugmentation/props.d.ts +1 -1
  312. package/validation/extractValidationProps.d.ts +1 -1
  313. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  314. package/AdapterDateFnsJalaliV3/index.js +0 -1
  315. package/AdapterDateFnsV3/index.d.ts +0 -1
  316. package/AdapterDateFnsV3/index.js +0 -1
  317. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  318. package/internals/hooks/defaultizedFieldProps.js +0 -40
  319. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  320. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  321. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  322. package/modern/AdapterDateFnsV3/index.js +0 -1
  323. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  324. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  325. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  326. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  327. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -7,21 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.DateField = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
11
  var React = _interopRequireWildcard(require("react"));
13
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
15
13
  var _styles = require("@mui/material/styles");
16
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
17
14
  var _utils = require("@mui/utils");
18
15
  var _useDateField = require("./useDateField");
19
- var _hooks = require("../hooks");
20
- var _PickersTextField = require("../PickersTextField");
21
- var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
22
- var _useFieldOwnerState = require("../internals/hooks/useFieldOwnerState");
16
+ var _PickerFieldUI = require("../internals/components/PickerFieldUI");
17
+ var _icons = require("../icons");
23
18
  var _jsxRuntime = require("react/jsx-runtime");
24
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
19
+ const _excluded = ["slots", "slotProps"];
25
20
  /**
26
21
  * Demos:
27
22
  *
@@ -39,33 +34,21 @@ const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function Dat
39
34
  });
40
35
  const {
41
36
  slots,
42
- slotProps,
43
- InputProps,
44
- inputProps
37
+ slotProps
45
38
  } = themeProps,
46
39
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
47
- const ownerState = (0, _useFieldOwnerState.useFieldOwnerState)(themeProps);
48
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
49
- const textFieldProps = (0, _useSlotProps.default)({
50
- elementType: TextField,
51
- externalSlotProps: slotProps?.textField,
52
- externalForwardedProps: other,
53
- additionalProps: {
54
- ref: inRef
55
- },
56
- ownerState
40
+ const textFieldProps = (0, _PickerFieldUI.useFieldTextFieldProps)({
41
+ slotProps,
42
+ ref: inRef,
43
+ externalForwardedProps: other
57
44
  });
58
-
59
- // TODO: Remove when mui/material-ui#35088 will be merged
60
- textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
61
- textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
62
45
  const fieldResponse = (0, _useDateField.useDateField)(textFieldProps);
63
- const convertedFieldResponse = (0, _convertFieldResponseIntoMuiTextFieldProps.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
64
- const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
65
- slots,
66
- slotProps
67
- }));
68
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerFieldUI.PickerFieldUI, {
47
+ slots: slots,
48
+ slotProps: slotProps,
49
+ fieldResponse: fieldResponse,
50
+ defaultOpenPickerIcon: _icons.CalendarIcon
51
+ });
69
52
  });
70
53
  process.env.NODE_ENV !== "production" ? DateField.propTypes = {
71
54
  // ----------------------------- Warning --------------------------------
@@ -83,6 +66,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
83
66
  * @default false
84
67
  */
85
68
  clearable: _propTypes.default.bool,
69
+ /**
70
+ * The position at which the clear button is placed.
71
+ * If the field is not clearable, the button is not rendered.
72
+ * @default 'end'
73
+ */
74
+ clearButtonPosition: _propTypes.default.oneOf(['end', 'start']),
86
75
  /**
87
76
  * The color of the component.
88
77
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -226,6 +215,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
226
215
  * @param {FieldSelectedSections} newValue The new selected sections.
227
216
  */
228
217
  onSelectedSectionsChange: _propTypes.default.func,
218
+ /**
219
+ * The position at which the opening button is placed.
220
+ * If there is no picker to open, the button is not rendered
221
+ * @default 'end'
222
+ */
223
+ openPickerButtonPosition: _propTypes.default.oneOf(['end', 'start']),
229
224
  /**
230
225
  * If `true`, the component is read-only.
231
226
  * When read-only, the value cannot be changed but the user can interact with the interface.
@@ -5,24 +5,27 @@ 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,
28
+ getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
26
29
  });
27
30
  };
28
31
  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;
@@ -7,21 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
9
  exports.DateTimeField = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
11
  var React = _interopRequireWildcard(require("react"));
13
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
15
13
  var _styles = require("@mui/material/styles");
16
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
17
14
  var _utils = require("@mui/utils");
18
15
  var _useDateTimeField = require("./useDateTimeField");
19
- var _hooks = require("../hooks");
20
- var _PickersTextField = require("../PickersTextField");
21
- var _convertFieldResponseIntoMuiTextFieldProps = require("../internals/utils/convertFieldResponseIntoMuiTextFieldProps");
22
- var _useFieldOwnerState = require("../internals/hooks/useFieldOwnerState");
16
+ var _PickerFieldUI = require("../internals/components/PickerFieldUI");
17
+ var _icons = require("../icons");
23
18
  var _jsxRuntime = require("react/jsx-runtime");
24
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
19
+ const _excluded = ["slots", "slotProps"];
25
20
  /**
26
21
  * Demos:
27
22
  *
@@ -39,33 +34,21 @@ const DateTimeField = exports.DateTimeField = /*#__PURE__*/React.forwardRef(func
39
34
  });
40
35
  const {
41
36
  slots,
42
- slotProps,
43
- InputProps,
44
- inputProps
37
+ slotProps
45
38
  } = themeProps,
46
39
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
47
- const ownerState = (0, _useFieldOwnerState.useFieldOwnerState)(themeProps);
48
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
49
- const textFieldProps = (0, _useSlotProps.default)({
50
- elementType: TextField,
51
- externalSlotProps: slotProps?.textField,
52
- externalForwardedProps: other,
53
- ownerState,
54
- additionalProps: {
55
- ref: inRef
56
- }
40
+ const textFieldProps = (0, _PickerFieldUI.useFieldTextFieldProps)({
41
+ slotProps,
42
+ ref: inRef,
43
+ externalForwardedProps: other
57
44
  });
58
-
59
- // TODO: Remove when mui/material-ui#35088 will be merged
60
- textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
61
- textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
62
45
  const fieldResponse = (0, _useDateTimeField.useDateTimeField)(textFieldProps);
63
- const convertedFieldResponse = (0, _convertFieldResponseIntoMuiTextFieldProps.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
64
- const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
65
- slots,
66
- slotProps
67
- }));
68
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({}, processedFieldProps));
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerFieldUI.PickerFieldUI, {
47
+ slots: slots,
48
+ slotProps: slotProps,
49
+ fieldResponse: fieldResponse,
50
+ defaultOpenPickerIcon: _icons.CalendarIcon
51
+ });
69
52
  });
70
53
  process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
71
54
  // ----------------------------- Warning --------------------------------
@@ -88,6 +71,12 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
88
71
  * @default false
89
72
  */
90
73
  clearable: _propTypes.default.bool,
74
+ /**
75
+ * The position at which the clear button is placed.
76
+ * If the field is not clearable, the button is not rendered.
77
+ * @default 'end'
78
+ */
79
+ clearButtonPosition: _propTypes.default.oneOf(['end', 'start']),
91
80
  /**
92
81
  * The color of the component.
93
82
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -259,6 +248,12 @@ process.env.NODE_ENV !== "production" ? DateTimeField.propTypes = {
259
248
  * @param {FieldSelectedSections} newValue The new selected sections.
260
249
  */
261
250
  onSelectedSectionsChange: _propTypes.default.func,
251
+ /**
252
+ * The position at which the opening button is placed.
253
+ * If there is no picker to open, the button is not rendered
254
+ * @default 'end'
255
+ */
256
+ openPickerButtonPosition: _propTypes.default.oneOf(['end', 'start']),
262
257
  /**
263
258
  * If `true`, the component is read-only.
264
259
  * When read-only, the value cannot be changed but the user can interact with the interface.
@@ -5,24 +5,27 @@ 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,
28
+ getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
26
29
  });
27
30
  };
28
31
  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;
@@ -14,15 +14,14 @@ var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveC
14
14
  var _utils = require("@mui/utils");
15
15
  var _valueManagers = require("../internals/utils/valueManagers");
16
16
  var _shared = require("../DatePicker/shared");
17
- var _usePickerTranslations = require("../hooks/usePickerTranslations");
18
17
  var _useUtils = require("../internals/hooks/useUtils");
19
18
  var _validation = require("../validation");
20
19
  var _useDesktopPicker = require("../internals/hooks/useDesktopPicker");
21
- var _icons = require("../icons");
22
20
  var _DateField = require("../DateField");
23
21
  var _dateViewRenderers = require("../dateViewRenderers");
24
22
  var _dateUtils = require("../internals/utils/date-utils");
25
- var _getPickersLocalization = require("../locales/utils/getPickersLocalization");
23
+ const emptyActions = [];
24
+
26
25
  /**
27
26
  * Demos:
28
27
  *
@@ -34,7 +33,6 @@ var _getPickersLocalization = require("../locales/utils/getPickersLocalization")
34
33
  * - [DesktopDatePicker API](https://mui.com/x/api/date-pickers/desktop-date-picker/)
35
34
  */
36
35
  const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forwardRef(function DesktopDatePicker(inProps, ref) {
37
- const translations = (0, _usePickerTranslations.usePickerTranslations)();
38
36
  const utils = (0, _useUtils.useUtils)();
39
37
 
40
38
  // Props with the default values common to all date pickers
@@ -47,11 +45,11 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
47
45
 
48
46
  // Props with the default values specific to the desktop variant
49
47
  const props = (0, _extends2.default)({}, defaultizedProps, {
48
+ closeOnSelect: defaultizedProps.closeOnSelect ?? true,
50
49
  viewRenderers,
51
50
  format: (0, _dateUtils.resolveDateFormat)(utils, defaultizedProps, false),
52
51
  yearsPerRow: defaultizedProps.yearsPerRow ?? 4,
53
52
  slots: (0, _extends2.default)({
54
- openPickerIcon: _icons.CalendarIcon,
55
53
  field: _DateField.DateField
56
54
  }, defaultizedProps.slots),
57
55
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
@@ -60,7 +58,10 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
60
58
  }),
61
59
  toolbar: (0, _extends2.default)({
62
60
  hidden: true
63
- }, defaultizedProps.slotProps?.toolbar)
61
+ }, defaultizedProps.slotProps?.toolbar),
62
+ actionBar: ownerState => (0, _extends2.default)({
63
+ actions: emptyActions
64
+ }, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
64
65
  })
65
66
  });
66
67
  const {
@@ -69,12 +70,6 @@ const DesktopDatePicker = exports.DesktopDatePicker = /*#__PURE__*/React.forward
69
70
  props,
70
71
  valueManager: _valueManagers.singleItemValueManager,
71
72
  valueType: 'date',
72
- getOpenDialogAriaText: (0, _getPickersLocalization.buildGetOpenDialogAriaText)({
73
- utils,
74
- formatKey: 'fullDate',
75
- contextTranslation: translations.openDatePickerDialogue,
76
- propsTranslation: props.localeText?.openDatePickerDialogue
77
- }),
78
73
  validator: _validation.validateDate
79
74
  });
80
75
  return renderPicker();
@@ -93,8 +88,8 @@ DesktopDatePicker.propTypes = {
93
88
  autoFocus: _propTypes.default.bool,
94
89
  className: _propTypes.default.string,
95
90
  /**
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).
91
+ * If `true`, the Picker will close after submitting the full date.
92
+ * @default true
98
93
  */
99
94
  closeOnSelect: _propTypes.default.bool,
100
95
  /**