@mui/x-date-pickers 8.0.0-alpha.1 → 8.0.0-alpha.11

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 (580) 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/AdapterMoment/AdapterMoment.js +10 -0
  20. package/CHANGELOG.md +2007 -230
  21. package/DateCalendar/DateCalendar.js +41 -22
  22. package/DateCalendar/DateCalendar.types.d.ts +2 -1
  23. package/DateCalendar/DayCalendar.d.ts +1 -2
  24. package/DateCalendar/DayCalendar.js +12 -36
  25. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  26. package/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  27. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  28. package/DateCalendar/PickersSlideTransition.js +12 -5
  29. package/DateCalendar/useCalendarState.d.ts +13 -27
  30. package/DateCalendar/useCalendarState.js +65 -55
  31. package/DateField/DateField.js +29 -33
  32. package/DateField/DateField.types.d.ts +7 -15
  33. package/DateField/useDateField.d.ts +1 -1
  34. package/DateField/useDateField.js +14 -11
  35. package/DatePicker/DatePicker.js +1 -1
  36. package/DatePicker/DatePicker.types.d.ts +7 -3
  37. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  38. package/DatePicker/DatePickerToolbar.js +17 -33
  39. package/DatePicker/shared.d.ts +6 -5
  40. package/DateTimeField/DateTimeField.js +29 -33
  41. package/DateTimeField/DateTimeField.types.d.ts +7 -16
  42. package/DateTimeField/useDateTimeField.d.ts +1 -1
  43. package/DateTimeField/useDateTimeField.js +14 -11
  44. package/DateTimePicker/DateTimePicker.js +2 -2
  45. package/DateTimePicker/DateTimePicker.types.d.ts +4 -5
  46. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
  47. package/DateTimePicker/DateTimePickerTabs.js +15 -20
  48. package/DateTimePicker/DateTimePickerToolbar.d.ts +16 -5
  49. package/DateTimePicker/DateTimePickerToolbar.js +88 -80
  50. package/DateTimePicker/shared.d.ts +8 -8
  51. package/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  52. package/DesktopDatePicker/DesktopDatePicker.js +11 -17
  53. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
  54. package/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  55. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  56. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +2 -2
  57. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  58. package/DesktopTimePicker/DesktopTimePicker.js +6 -22
  59. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  60. package/DigitalClock/DigitalClock.js +13 -11
  61. package/DigitalClock/DigitalClock.types.d.ts +8 -2
  62. package/MobileDatePicker/MobileDatePicker.js +4 -14
  63. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
  64. package/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  65. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  66. package/MobileTimePicker/MobileTimePicker.js +4 -14
  67. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  68. package/MonthCalendar/MonthCalendar.d.ts +1 -1
  69. package/MonthCalendar/MonthCalendar.js +31 -11
  70. package/MonthCalendar/MonthCalendar.types.d.ts +2 -2
  71. package/MonthCalendar/MonthCalendarButton.d.ts +24 -0
  72. package/{modern/MonthCalendar/PickersMonth.js → MonthCalendar/MonthCalendarButton.js} +20 -61
  73. package/MonthCalendar/index.d.ts +0 -3
  74. package/MonthCalendar/index.js +1 -2
  75. package/MonthCalendar/monthCalendarClasses.d.ts +7 -1
  76. package/MonthCalendar/monthCalendarClasses.js +1 -1
  77. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  78. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +6 -6
  79. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +4 -4
  80. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  81. package/PickersActionBar/PickersActionBar.d.ts +6 -7
  82. package/PickersActionBar/PickersActionBar.js +26 -17
  83. package/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  84. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +4 -6
  85. package/PickersLayout/PickersLayout.d.ts +7 -5
  86. package/PickersLayout/PickersLayout.js +23 -42
  87. package/PickersLayout/PickersLayout.types.d.ts +20 -22
  88. package/PickersLayout/usePickerLayout.d.ts +5 -4
  89. package/PickersLayout/usePickerLayout.js +26 -53
  90. package/PickersSectionList/PickersSectionList.js +21 -16
  91. package/PickersSectionList/PickersSectionList.types.d.ts +13 -6
  92. package/PickersShortcuts/PickersShortcuts.d.ts +9 -11
  93. package/PickersShortcuts/PickersShortcuts.js +21 -11
  94. package/PickersShortcuts/index.d.ts +1 -1
  95. package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +7 -0
  96. package/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  97. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +1 -1
  98. package/PickersTextField/PickersInput/PickersInput.js +20 -14
  99. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +3 -2
  100. package/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  101. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +3 -6
  102. package/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  103. package/PickersTextField/PickersInputBase/PickersInputBase.types.d.ts +1 -0
  104. package/PickersTextField/PickersOutlinedInput/Outline.d.ts +0 -1
  105. package/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  106. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  107. package/PickersTextField/PickersTextField.js +75 -62
  108. package/PickersTextField/PickersTextField.types.d.ts +43 -4
  109. package/PickersTextField/usePickerTextFieldOwnerState.d.ts +4 -0
  110. package/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  111. package/README.md +8 -5
  112. package/StaticDatePicker/StaticDatePicker.js +2 -2
  113. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
  114. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  115. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  116. package/StaticTimePicker/StaticTimePicker.js +2 -2
  117. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  118. package/TimeClock/Clock.d.ts +4 -0
  119. package/TimeClock/Clock.js +27 -27
  120. package/TimeClock/ClockNumber.js +15 -11
  121. package/TimeClock/ClockPointer.d.ts +6 -1
  122. package/TimeClock/ClockPointer.js +16 -10
  123. package/TimeClock/TimeClock.js +30 -12
  124. package/TimeField/TimeField.js +28 -32
  125. package/TimeField/TimeField.types.d.ts +7 -16
  126. package/TimeField/useTimeField.d.ts +1 -1
  127. package/TimeField/useTimeField.js +14 -11
  128. package/TimePicker/TimePicker.js +2 -2
  129. package/TimePicker/TimePicker.types.d.ts +4 -5
  130. package/TimePicker/TimePickerToolbar.d.ts +1 -3
  131. package/TimePicker/TimePickerToolbar.js +36 -51
  132. package/TimePicker/shared.d.ts +6 -6
  133. package/YearCalendar/YearCalendar.js +46 -13
  134. package/YearCalendar/YearCalendar.types.d.ts +2 -2
  135. package/YearCalendar/YearCalendarButton.d.ts +23 -0
  136. package/{modern/YearCalendar/PickersYear.js → YearCalendar/YearCalendarButton.js} +20 -59
  137. package/YearCalendar/index.d.ts +0 -3
  138. package/YearCalendar/index.js +1 -2
  139. package/YearCalendar/yearCalendarClasses.d.ts +7 -1
  140. package/YearCalendar/yearCalendarClasses.js +1 -1
  141. package/hooks/index.d.ts +2 -0
  142. package/hooks/index.js +3 -1
  143. package/hooks/useClearableField.d.ts +5 -3
  144. package/hooks/useClearableField.js +4 -2
  145. package/hooks/useIsValidValue.d.ts +7 -0
  146. package/hooks/useIsValidValue.js +11 -0
  147. package/hooks/useParsedFormat.d.ts +9 -7
  148. package/hooks/useParsedFormat.js +11 -13
  149. package/hooks/usePickerActionsContext.d.ts +7 -0
  150. package/hooks/usePickerActionsContext.js +15 -0
  151. package/hooks/usePickerContext.d.ts +5 -1
  152. package/hooks/usePickerContext.js +2 -2
  153. package/hooks/useSplitFieldProps.d.ts +12 -3
  154. package/hooks/useSplitFieldProps.js +8 -3
  155. package/index.d.ts +1 -0
  156. package/index.js +3 -2
  157. package/internals/components/PickerFieldUI.d.ts +133 -0
  158. package/internals/components/PickerFieldUI.js +317 -0
  159. package/internals/components/{PickersPopper.d.ts → PickerPopper/PickerPopper.d.ts} +26 -25
  160. package/{modern/internals/components/PickersPopper.js → internals/components/PickerPopper/PickerPopper.js} +47 -47
  161. package/internals/components/PickerPopper/index.d.ts +4 -0
  162. package/internals/components/PickerPopper/index.js +2 -0
  163. package/internals/components/PickerPopper/pickerPopperClasses.d.ts +9 -0
  164. package/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  165. package/internals/components/PickerProvider.d.ts +86 -32
  166. package/internals/components/PickerProvider.js +25 -7
  167. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  168. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.types.d.ts +11 -8
  169. package/internals/components/PickersModalDialog.d.ts +1 -3
  170. package/internals/components/PickersModalDialog.js +9 -3
  171. package/internals/components/PickersToolbar.d.ts +2 -3
  172. package/internals/components/PickersToolbar.js +15 -12
  173. package/internals/components/PickersToolbarButton.js +4 -6
  174. package/internals/components/PickersToolbarText.js +11 -13
  175. package/internals/hooks/date-helpers-hooks.js +4 -3
  176. package/internals/hooks/useClockReferenceDate.d.ts +2 -1
  177. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  178. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  179. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +16 -38
  180. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  181. package/internals/hooks/useField/index.d.ts +2 -0
  182. package/internals/hooks/useField/index.js +2 -1
  183. package/internals/hooks/useField/useField.d.ts +3 -3
  184. package/internals/hooks/useField/useField.js +17 -4
  185. package/internals/hooks/useField/useField.types.d.ts +55 -48
  186. package/internals/hooks/useField/useField.utils.d.ts +4 -3
  187. package/internals/hooks/useField/useField.utils.js +2 -2
  188. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +6 -5
  189. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  190. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  191. package/internals/hooks/useField/useFieldState.d.ts +9 -8
  192. package/internals/hooks/useField/useFieldState.js +2 -3
  193. package/internals/hooks/useField/useFieldV6TextField.d.ts +4 -3
  194. package/internals/hooks/useField/useFieldV6TextField.js +5 -2
  195. package/internals/hooks/useField/useFieldV7TextField.js +6 -3
  196. package/internals/hooks/useFieldOwnerState.d.ts +6 -0
  197. package/internals/hooks/useFieldOwnerState.js +16 -0
  198. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  199. package/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  200. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +15 -22
  201. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  202. package/internals/hooks/useNullablePickerContext.js +10 -0
  203. package/internals/hooks/useOpenState.d.ts +3 -2
  204. package/internals/hooks/useOpenState.js +11 -9
  205. package/internals/hooks/usePicker/index.d.ts +1 -1
  206. package/internals/hooks/usePicker/usePicker.d.ts +3 -4
  207. package/internals/hooks/usePicker/usePicker.js +4 -20
  208. package/internals/hooks/usePicker/usePicker.types.d.ts +10 -10
  209. package/internals/hooks/usePicker/usePickerProvider.d.ts +45 -10
  210. package/internals/hooks/usePicker/usePickerProvider.js +50 -16
  211. package/internals/hooks/usePicker/usePickerValue.d.ts +3 -2
  212. package/internals/hooks/usePicker/usePickerValue.js +84 -214
  213. package/internals/hooks/usePicker/usePickerValue.types.d.ts +130 -75
  214. package/internals/hooks/usePicker/usePickerViews.d.ts +59 -41
  215. package/internals/hooks/usePicker/usePickerViews.js +31 -20
  216. package/internals/hooks/useReduceAnimations.d.ts +2 -0
  217. package/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  218. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +1 -1
  219. package/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  220. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +7 -13
  221. package/internals/hooks/useToolbarOwnerState.d.ts +10 -0
  222. package/internals/hooks/useToolbarOwnerState.js +13 -0
  223. package/internals/hooks/useUtils.d.ts +4 -3
  224. package/internals/hooks/useUtils.js +1 -1
  225. package/internals/hooks/useValueWithTimezone.d.ts +5 -4
  226. package/internals/hooks/useViews.d.ts +5 -5
  227. package/internals/index.d.ts +27 -18
  228. package/internals/index.js +13 -8
  229. package/internals/models/common.d.ts +1 -1
  230. package/internals/models/fields.d.ts +8 -24
  231. package/internals/models/index.d.ts +1 -0
  232. package/internals/models/index.js +2 -1
  233. package/internals/models/manager.d.ts +15 -0
  234. package/internals/models/manager.js +1 -0
  235. package/internals/models/pickers.d.ts +1 -0
  236. package/internals/models/pickers.js +1 -0
  237. package/internals/models/props/basePickerProps.d.ts +3 -33
  238. package/internals/models/props/tabs.d.ts +0 -13
  239. package/internals/models/props/time.d.ts +2 -1
  240. package/internals/models/props/toolbar.d.ts +1 -19
  241. package/internals/models/value.d.ts +9 -0
  242. package/internals/utils/date-utils.d.ts +1 -1
  243. package/internals/utils/date-utils.js +1 -1
  244. package/internals/utils/utils.d.ts +3 -0
  245. package/internals/utils/utils.js +11 -1
  246. package/internals/utils/valueManagers.d.ts +4 -3
  247. package/internals/utils/valueManagers.js +4 -4
  248. package/locales/index.d.ts +1 -0
  249. package/locales/index.js +1 -0
  250. package/locales/nbNO.js +15 -19
  251. package/locales/nlNL.js +7 -7
  252. package/locales/roRO.js +15 -18
  253. package/locales/utils/getPickersLocalization.d.ts +0 -7
  254. package/locales/utils/getPickersLocalization.js +0 -13
  255. package/locales/zhTW.d.ts +80 -0
  256. package/locales/zhTW.js +73 -0
  257. package/managers/index.d.ts +6 -0
  258. package/managers/index.js +3 -0
  259. package/managers/package.json +6 -0
  260. package/managers/useDateManager.d.ts +27 -0
  261. package/managers/useDateManager.js +55 -0
  262. package/managers/useDateTimeManager.d.ts +28 -0
  263. package/managers/useDateTimeManager.js +60 -0
  264. package/managers/useTimeManager.d.ts +28 -0
  265. package/managers/useTimeManager.js +51 -0
  266. package/models/adapters.d.ts +5 -5
  267. package/models/fields.d.ts +33 -9
  268. package/models/index.d.ts +1 -0
  269. package/models/index.js +1 -0
  270. package/models/manager.d.ts +87 -0
  271. package/models/manager.js +1 -0
  272. package/models/pickers.d.ts +7 -0
  273. package/models/validation.d.ts +2 -1
  274. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  275. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  276. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  277. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  278. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  279. package/modern/AdapterDateFnsV2/index.js +1 -0
  280. package/modern/AdapterMoment/AdapterMoment.js +10 -0
  281. package/modern/DateCalendar/DateCalendar.js +41 -22
  282. package/modern/DateCalendar/DayCalendar.js +12 -36
  283. package/modern/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  284. package/modern/DateCalendar/PickersSlideTransition.js +12 -5
  285. package/modern/DateCalendar/useCalendarState.js +65 -55
  286. package/modern/DateField/DateField.js +29 -33
  287. package/modern/DateField/useDateField.js +14 -11
  288. package/modern/DatePicker/DatePicker.js +1 -1
  289. package/modern/DatePicker/DatePickerToolbar.js +17 -33
  290. package/modern/DateTimeField/DateTimeField.js +29 -33
  291. package/modern/DateTimeField/useDateTimeField.js +14 -11
  292. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  293. package/modern/DateTimePicker/DateTimePickerTabs.js +15 -20
  294. package/modern/DateTimePicker/DateTimePickerToolbar.js +88 -80
  295. package/modern/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  296. package/modern/DesktopDatePicker/DesktopDatePicker.js +11 -17
  297. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  298. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +9 -34
  299. package/modern/DesktopTimePicker/DesktopTimePicker.js +6 -22
  300. package/modern/DigitalClock/DigitalClock.js +13 -11
  301. package/modern/MobileDatePicker/MobileDatePicker.js +4 -14
  302. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  303. package/modern/MobileTimePicker/MobileTimePicker.js +4 -14
  304. package/modern/MonthCalendar/MonthCalendar.js +31 -11
  305. package/{MonthCalendar/PickersMonth.js → modern/MonthCalendar/MonthCalendarButton.js} +20 -61
  306. package/modern/MonthCalendar/index.js +1 -2
  307. package/modern/MonthCalendar/monthCalendarClasses.js +1 -1
  308. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  309. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +14 -10
  310. package/modern/PickersActionBar/PickersActionBar.js +26 -17
  311. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  312. package/modern/PickersLayout/PickersLayout.js +23 -42
  313. package/modern/PickersLayout/usePickerLayout.js +26 -53
  314. package/modern/PickersSectionList/PickersSectionList.js +21 -16
  315. package/modern/PickersShortcuts/PickersShortcuts.js +21 -11
  316. package/modern/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  317. package/modern/PickersTextField/PickersInput/PickersInput.js +20 -14
  318. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  319. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  320. package/modern/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  321. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  322. package/modern/PickersTextField/PickersTextField.js +75 -62
  323. package/modern/PickersTextField/usePickerTextFieldOwnerState.js +11 -0
  324. package/modern/StaticDatePicker/StaticDatePicker.js +2 -2
  325. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  326. package/modern/StaticTimePicker/StaticTimePicker.js +2 -2
  327. package/modern/TimeClock/Clock.js +27 -27
  328. package/modern/TimeClock/ClockNumber.js +15 -11
  329. package/modern/TimeClock/ClockPointer.js +16 -10
  330. package/modern/TimeClock/TimeClock.js +30 -12
  331. package/modern/TimeField/TimeField.js +28 -32
  332. package/modern/TimeField/useTimeField.js +14 -11
  333. package/modern/TimePicker/TimePicker.js +2 -2
  334. package/modern/TimePicker/TimePickerToolbar.js +36 -51
  335. package/modern/YearCalendar/YearCalendar.js +46 -13
  336. package/{YearCalendar/PickersYear.js → modern/YearCalendar/YearCalendarButton.js} +20 -59
  337. package/modern/YearCalendar/index.js +1 -2
  338. package/modern/YearCalendar/yearCalendarClasses.js +1 -1
  339. package/modern/hooks/index.js +3 -1
  340. package/modern/hooks/useClearableField.js +4 -2
  341. package/modern/hooks/useIsValidValue.js +11 -0
  342. package/modern/hooks/useParsedFormat.js +11 -13
  343. package/modern/hooks/usePickerActionsContext.js +15 -0
  344. package/modern/hooks/usePickerContext.js +2 -2
  345. package/modern/hooks/useSplitFieldProps.js +8 -3
  346. package/modern/index.js +3 -2
  347. package/modern/internals/components/PickerFieldUI.js +317 -0
  348. package/{internals/components/PickersPopper.js → modern/internals/components/PickerPopper/PickerPopper.js} +47 -47
  349. package/modern/internals/components/PickerPopper/index.js +2 -0
  350. package/modern/internals/components/PickerPopper/pickerPopperClasses.js +6 -0
  351. package/modern/internals/components/PickerProvider.js +25 -7
  352. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  353. package/modern/internals/components/PickersModalDialog.js +9 -3
  354. package/modern/internals/components/PickersToolbar.js +15 -12
  355. package/modern/internals/components/PickersToolbarButton.js +4 -6
  356. package/modern/internals/components/PickersToolbarText.js +11 -13
  357. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  358. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +35 -120
  359. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  360. package/modern/internals/hooks/useField/index.js +2 -1
  361. package/modern/internals/hooks/useField/useField.js +17 -4
  362. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  363. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +47 -0
  364. package/modern/internals/hooks/useField/useFieldState.js +2 -3
  365. package/modern/internals/hooks/useField/useFieldV6TextField.js +5 -2
  366. package/modern/internals/hooks/useField/useFieldV7TextField.js +6 -3
  367. package/modern/internals/hooks/useFieldOwnerState.js +16 -0
  368. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +34 -68
  369. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  370. package/modern/internals/hooks/useOpenState.js +11 -9
  371. package/modern/internals/hooks/usePicker/usePicker.js +4 -20
  372. package/modern/internals/hooks/usePicker/usePickerProvider.js +50 -16
  373. package/modern/internals/hooks/usePicker/usePickerValue.js +84 -214
  374. package/modern/internals/hooks/usePicker/usePickerViews.js +31 -20
  375. package/modern/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +5 -2
  376. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  377. package/modern/internals/hooks/useToolbarOwnerState.js +13 -0
  378. package/modern/internals/hooks/useUtils.js +1 -1
  379. package/modern/internals/index.js +13 -8
  380. package/modern/internals/models/index.js +2 -1
  381. package/modern/internals/models/manager.js +1 -0
  382. package/modern/internals/models/pickers.js +1 -0
  383. package/modern/internals/utils/date-utils.js +1 -1
  384. package/modern/internals/utils/utils.js +11 -1
  385. package/modern/internals/utils/valueManagers.js +4 -4
  386. package/modern/locales/index.js +1 -0
  387. package/modern/locales/nbNO.js +15 -19
  388. package/modern/locales/nlNL.js +7 -7
  389. package/modern/locales/roRO.js +15 -18
  390. package/modern/locales/utils/getPickersLocalization.js +0 -13
  391. package/modern/locales/zhTW.js +73 -0
  392. package/modern/managers/index.js +3 -0
  393. package/modern/managers/useDateManager.js +55 -0
  394. package/modern/managers/useDateTimeManager.js +60 -0
  395. package/modern/managers/useTimeManager.js +51 -0
  396. package/modern/models/index.js +1 -0
  397. package/modern/models/manager.js +1 -0
  398. package/modern/validation/useValidation.js +1 -1
  399. package/modern/validation/validateDate.js +8 -0
  400. package/modern/validation/validateDateTime.js +8 -0
  401. package/modern/validation/validateTime.js +8 -0
  402. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  403. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  404. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  405. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  406. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  407. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  408. package/node/AdapterMoment/AdapterMoment.js +10 -0
  409. package/node/DateCalendar/DateCalendar.js +41 -22
  410. package/node/DateCalendar/DayCalendar.js +12 -37
  411. package/node/DateCalendar/PickersFadeTransitionGroup.js +4 -6
  412. package/node/DateCalendar/PickersSlideTransition.js +12 -5
  413. package/node/DateCalendar/useCalendarState.js +66 -57
  414. package/node/DateField/DateField.js +29 -33
  415. package/node/DateField/useDateField.js +13 -10
  416. package/node/DatePicker/DatePicker.js +1 -1
  417. package/node/DatePicker/DatePickerToolbar.js +17 -33
  418. package/node/DateTimeField/DateTimeField.js +29 -33
  419. package/node/DateTimeField/useDateTimeField.js +13 -10
  420. package/node/DateTimePicker/DateTimePicker.js +2 -2
  421. package/node/DateTimePicker/DateTimePickerTabs.js +15 -20
  422. package/node/DateTimePicker/DateTimePickerToolbar.js +89 -80
  423. package/node/DayCalendarSkeleton/DayCalendarSkeleton.js +10 -19
  424. package/node/DesktopDatePicker/DesktopDatePicker.js +11 -17
  425. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +17 -27
  426. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +10 -35
  427. package/node/DesktopTimePicker/DesktopTimePicker.js +6 -22
  428. package/node/DigitalClock/DigitalClock.js +13 -11
  429. package/node/MobileDatePicker/MobileDatePicker.js +4 -14
  430. package/node/MobileDateTimePicker/MobileDateTimePicker.js +4 -14
  431. package/node/MobileTimePicker/MobileTimePicker.js +4 -14
  432. package/node/MonthCalendar/MonthCalendar.js +31 -11
  433. package/node/MonthCalendar/{PickersMonth.js → MonthCalendarButton.js} +20 -61
  434. package/node/MonthCalendar/index.js +1 -8
  435. package/node/MonthCalendar/monthCalendarClasses.js +1 -1
  436. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +11 -7
  437. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +13 -10
  438. package/node/PickersActionBar/PickersActionBar.js +28 -19
  439. package/node/PickersCalendarHeader/PickersCalendarHeader.js +12 -9
  440. package/node/PickersLayout/PickersLayout.js +23 -42
  441. package/node/PickersLayout/usePickerLayout.js +30 -57
  442. package/node/PickersSectionList/PickersSectionList.js +21 -16
  443. package/node/PickersShortcuts/PickersShortcuts.js +21 -11
  444. package/node/PickersTextField/PickersFilledInput/PickersFilledInput.js +34 -28
  445. package/node/PickersTextField/PickersInput/PickersInput.js +20 -14
  446. package/node/PickersTextField/PickersInput/pickersInputClasses.js +1 -1
  447. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +45 -38
  448. package/node/PickersTextField/PickersOutlinedInput/Outline.js +13 -10
  449. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +8 -14
  450. package/node/PickersTextField/PickersTextField.js +75 -62
  451. package/node/PickersTextField/usePickerTextFieldOwnerState.js +18 -0
  452. package/node/StaticDatePicker/StaticDatePicker.js +2 -2
  453. package/node/StaticDateTimePicker/StaticDateTimePicker.js +2 -2
  454. package/node/StaticTimePicker/StaticTimePicker.js +2 -2
  455. package/node/TimeClock/Clock.js +27 -27
  456. package/node/TimeClock/ClockNumber.js +15 -11
  457. package/node/TimeClock/ClockPointer.js +15 -10
  458. package/node/TimeClock/TimeClock.js +30 -12
  459. package/node/TimeField/TimeField.js +28 -32
  460. package/node/TimeField/useTimeField.js +13 -10
  461. package/node/TimePicker/TimePicker.js +2 -2
  462. package/node/TimePicker/TimePickerToolbar.js +36 -51
  463. package/node/YearCalendar/YearCalendar.js +45 -12
  464. package/node/YearCalendar/{PickersYear.js → YearCalendarButton.js} +20 -59
  465. package/node/YearCalendar/index.js +1 -8
  466. package/node/YearCalendar/yearCalendarClasses.js +1 -1
  467. package/node/hooks/index.js +15 -1
  468. package/node/hooks/useClearableField.js +4 -2
  469. package/node/hooks/useIsValidValue.js +18 -0
  470. package/node/hooks/useParsedFormat.js +11 -13
  471. package/node/hooks/usePickerActionsContext.js +22 -0
  472. package/node/hooks/usePickerContext.js +5 -4
  473. package/node/hooks/useSplitFieldProps.js +7 -2
  474. package/node/index.js +13 -1
  475. package/node/internals/components/PickerFieldUI.js +329 -0
  476. package/node/internals/components/{PickersPopper.js → PickerPopper/PickerPopper.js} +48 -48
  477. package/node/internals/components/PickerPopper/index.js +25 -0
  478. package/node/internals/components/PickerPopper/pickerPopperClasses.js +14 -0
  479. package/node/internals/components/PickerProvider.js +27 -9
  480. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +12 -11
  481. package/node/internals/components/PickersModalDialog.js +9 -3
  482. package/node/internals/components/PickersToolbar.js +15 -12
  483. package/node/internals/components/PickersToolbarButton.js +4 -6
  484. package/node/internals/components/PickersToolbarText.js +10 -12
  485. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  486. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +37 -122
  487. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  488. package/node/internals/hooks/useField/index.js +8 -1
  489. package/node/internals/hooks/useField/useField.js +16 -3
  490. package/node/internals/hooks/useField/useField.utils.js +2 -2
  491. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +56 -0
  492. package/node/internals/hooks/useField/useFieldState.js +2 -3
  493. package/node/internals/hooks/useField/useFieldV6TextField.js +5 -2
  494. package/node/internals/hooks/useField/useFieldV7TextField.js +6 -3
  495. package/node/internals/hooks/useFieldOwnerState.js +24 -0
  496. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +35 -69
  497. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  498. package/node/internals/hooks/useOpenState.js +12 -9
  499. package/node/internals/hooks/usePicker/usePicker.js +4 -20
  500. package/node/internals/hooks/usePicker/usePickerProvider.js +51 -17
  501. package/node/internals/hooks/usePicker/usePickerValue.js +84 -213
  502. package/node/internals/hooks/usePicker/usePickerViews.js +31 -21
  503. package/node/internals/hooks/{useDefaultReduceAnimations.js → useReduceAnimations.js} +7 -4
  504. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +7 -12
  505. package/node/internals/hooks/useToolbarOwnerState.js +21 -0
  506. package/node/internals/hooks/useUtils.js +1 -1
  507. package/node/internals/index.js +87 -34
  508. package/node/internals/models/index.js +11 -0
  509. package/node/internals/models/manager.js +5 -0
  510. package/node/internals/models/pickers.js +5 -0
  511. package/node/internals/utils/date-utils.js +1 -1
  512. package/node/internals/utils/utils.js +14 -2
  513. package/node/internals/utils/valueManagers.js +4 -4
  514. package/node/locales/index.js +11 -0
  515. package/node/locales/nbNO.js +15 -19
  516. package/node/locales/nlNL.js +7 -7
  517. package/node/locales/roRO.js +15 -18
  518. package/node/locales/utils/getPickersLocalization.js +2 -16
  519. package/node/locales/zhTW.js +79 -0
  520. package/node/managers/index.js +26 -0
  521. package/node/managers/useDateManager.js +63 -0
  522. package/node/managers/useDateTimeManager.js +68 -0
  523. package/node/managers/useTimeManager.js +59 -0
  524. package/node/models/index.js +11 -0
  525. package/node/models/manager.js +5 -0
  526. package/node/validation/useValidation.js +1 -1
  527. package/node/validation/validateDate.js +8 -0
  528. package/node/validation/validateDateTime.js +8 -0
  529. package/node/validation/validateTime.js +8 -0
  530. package/package.json +5 -5
  531. package/themeAugmentation/components.d.ts +3 -11
  532. package/themeAugmentation/overrides.d.ts +5 -7
  533. package/themeAugmentation/props.d.ts +7 -9
  534. package/validation/extractValidationProps.d.ts +1 -1
  535. package/validation/useValidation.d.ts +7 -6
  536. package/validation/useValidation.js +1 -1
  537. package/validation/validateDate.d.ts +12 -3
  538. package/validation/validateDate.js +8 -0
  539. package/validation/validateDateTime.d.ts +12 -4
  540. package/validation/validateDateTime.js +8 -0
  541. package/validation/validateTime.d.ts +12 -3
  542. package/validation/validateTime.js +8 -0
  543. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  544. package/AdapterDateFnsJalaliV3/index.js +0 -1
  545. package/AdapterDateFnsV3/index.d.ts +0 -1
  546. package/AdapterDateFnsV3/index.js +0 -1
  547. package/MonthCalendar/PickersMonth.d.ts +0 -28
  548. package/MonthCalendar/pickersMonthClasses.d.ts +0 -13
  549. package/MonthCalendar/pickersMonthClasses.js +0 -5
  550. package/YearCalendar/PickersYear.d.ts +0 -27
  551. package/YearCalendar/pickersYearClasses.d.ts +0 -13
  552. package/YearCalendar/pickersYearClasses.js +0 -5
  553. package/internals/components/pickersPopperClasses.d.ts +0 -9
  554. package/internals/components/pickersPopperClasses.js +0 -5
  555. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  556. package/internals/hooks/defaultizedFieldProps.js +0 -40
  557. package/internals/hooks/useDefaultReduceAnimations.d.ts +0 -2
  558. package/internals/hooks/useIsLandscape.d.ts +0 -4
  559. package/internals/hooks/useIsLandscape.js +0 -35
  560. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +0 -32
  561. package/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  562. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  563. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  564. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  565. package/modern/AdapterDateFnsV3/index.js +0 -1
  566. package/modern/MonthCalendar/pickersMonthClasses.js +0 -5
  567. package/modern/YearCalendar/pickersYearClasses.js +0 -5
  568. package/modern/internals/components/pickersPopperClasses.js +0 -5
  569. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  570. package/modern/internals/hooks/useIsLandscape.js +0 -35
  571. package/modern/internals/hooks/usePicker/usePickerLayoutProps.js +0 -31
  572. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  573. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  574. package/node/MonthCalendar/pickersMonthClasses.js +0 -12
  575. package/node/YearCalendar/pickersYearClasses.js +0 -12
  576. package/node/internals/components/pickersPopperClasses.js +0 -12
  577. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  578. package/node/internals/hooks/useIsLandscape.js +0 -43
  579. package/node/internals/hooks/usePicker/usePickerLayoutProps.js +0 -38
  580. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -25,7 +25,7 @@ var _useViews = require("../internals/hooks/useViews");
25
25
  var _PickersCalendarHeader = require("../PickersCalendarHeader");
26
26
  var _dateUtils = require("../internals/utils/date-utils");
27
27
  var _PickerViewRoot = require("../internals/components/PickerViewRoot");
28
- var _useDefaultReduceAnimations = require("../internals/hooks/useDefaultReduceAnimations");
28
+ var _useReduceAnimations = require("../internals/hooks/useReduceAnimations");
29
29
  var _dateCalendarClasses = require("./dateCalendarClasses");
30
30
  var _useValueWithTimezone = require("../internals/hooks/useValueWithTimezone");
31
31
  var _valueManagers = require("../internals/utils/valueManagers");
@@ -43,18 +43,18 @@ const useUtilityClasses = classes => {
43
43
  function useDateCalendarDefaultizedProps(props, name) {
44
44
  const utils = (0, _useUtils.useUtils)();
45
45
  const defaultDates = (0, _useUtils.useDefaultDates)();
46
- const defaultReduceAnimations = (0, _useDefaultReduceAnimations.useDefaultReduceAnimations)();
47
46
  const themeProps = (0, _styles.useThemeProps)({
48
47
  props,
49
48
  name
50
49
  });
50
+ const reduceAnimations = (0, _useReduceAnimations.useReduceAnimations)(themeProps.reduceAnimations);
51
51
  return (0, _extends2.default)({}, themeProps, {
52
52
  loading: themeProps.loading ?? false,
53
53
  disablePast: themeProps.disablePast ?? false,
54
54
  disableFuture: themeProps.disableFuture ?? false,
55
55
  openTo: themeProps.openTo ?? 'day',
56
56
  views: themeProps.views ?? ['year', 'day'],
57
- reduceAnimations: themeProps.reduceAnimations ?? defaultReduceAnimations,
57
+ reduceAnimations,
58
58
  renderLoading: themeProps.renderLoading ?? (() => /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
59
59
  children: "..."
60
60
  })),
@@ -103,7 +103,6 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
103
103
  disableFuture,
104
104
  disablePast,
105
105
  onChange,
106
- onYearChange,
107
106
  onMonthChange,
108
107
  reduceAnimations,
109
108
  shouldDisableDate,
@@ -119,7 +118,7 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
119
118
  minDate,
120
119
  maxDate,
121
120
  disableHighlightToday,
122
- focusedView: inFocusedView,
121
+ focusedView: focusedViewProp,
123
122
  onFocusedViewChange,
124
123
  showDaysOutsideCurrentMonth,
125
124
  fixedWeekNumber,
@@ -162,15 +161,13 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
162
161
  onChange: handleValueChange,
163
162
  onViewChange,
164
163
  autoFocus,
165
- focusedView: inFocusedView,
164
+ focusedView: focusedViewProp,
166
165
  onFocusedViewChange
167
166
  });
168
167
  const {
169
168
  referenceDate,
170
169
  calendarState,
171
- changeFocusedDay,
172
- changeMonth,
173
- handleChangeMonth,
170
+ setVisibleDate,
174
171
  isDateDisabled,
175
172
  onMonthSwitchingAnimationEnd
176
173
  } = (0, _useCalendarState.useCalendarState)({
@@ -183,7 +180,13 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
183
180
  shouldDisableDate,
184
181
  disablePast,
185
182
  disableFuture,
186
- timezone
183
+ timezone,
184
+ getCurrentMonthFromVisibleDate: (visibleDate, prevMonth) => {
185
+ if (utils.isSameMonth(visibleDate, prevMonth)) {
186
+ return prevMonth;
187
+ }
188
+ return utils.startOfMonth(visibleDate);
189
+ }
187
190
  });
188
191
 
189
192
  // When disabled, limit the view to the selected date
@@ -200,9 +203,9 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
200
203
  view,
201
204
  currentMonth: calendarState.currentMonth,
202
205
  onViewChange: setView,
203
- onMonthChange: (newMonth, direction) => handleChangeMonth({
204
- newMonth,
205
- direction
206
+ onMonthChange: month => setVisibleDate({
207
+ target: month,
208
+ reason: 'header-navigation'
206
209
  }),
207
210
  minDate: minDateWithDisabled,
208
211
  maxDate: maxDateWithDisabled,
@@ -230,12 +233,17 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
230
233
  }) : newDate;
231
234
  if (closestEnabledDate) {
232
235
  setValueAndGoToNextView(closestEnabledDate, 'finish');
233
- onMonthChange?.(startOfMonth);
236
+ setVisibleDate({
237
+ target: closestEnabledDate,
238
+ reason: 'cell-interaction'
239
+ });
234
240
  } else {
235
241
  goToNextView();
236
- changeMonth(startOfMonth);
242
+ setVisibleDate({
243
+ target: startOfMonth,
244
+ reason: 'cell-interaction'
245
+ });
237
246
  }
238
- changeFocusedDay(closestEnabledDate, true);
239
247
  });
240
248
  const handleDateYearChange = (0, _utils.unstable_useEventCallback)(newDate => {
241
249
  const startOfYear = utils.startOfYear(newDate);
@@ -252,12 +260,17 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
252
260
  }) : newDate;
253
261
  if (closestEnabledDate) {
254
262
  setValueAndGoToNextView(closestEnabledDate, 'finish');
255
- onYearChange?.(closestEnabledDate);
263
+ setVisibleDate({
264
+ target: closestEnabledDate,
265
+ reason: 'cell-interaction'
266
+ });
256
267
  } else {
257
268
  goToNextView();
258
- changeMonth(startOfYear);
269
+ setVisibleDate({
270
+ target: startOfYear,
271
+ reason: 'cell-interaction'
272
+ });
259
273
  }
260
- changeFocusedDay(closestEnabledDate, true);
261
274
  });
262
275
  const handleSelectedDayChange = (0, _utils.unstable_useEventCallback)(day => {
263
276
  if (day) {
@@ -267,8 +280,11 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
267
280
  return handleValueChange(day, 'finish', view);
268
281
  });
269
282
  React.useEffect(() => {
270
- if (value != null && utils.isValid(value)) {
271
- changeMonth(value);
283
+ if (utils.isValid(value)) {
284
+ setVisibleDate({
285
+ target: value,
286
+ reason: 'controlled-value-change'
287
+ });
272
288
  }
273
289
  }, [value]); // eslint-disable-line
274
290
 
@@ -335,7 +351,10 @@ const DateCalendar = exports.DateCalendar = /*#__PURE__*/React.forwardRef(functi
335
351
  referenceDate: referenceDate
336
352
  })), view === 'day' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_DayCalendar.DayCalendar, (0, _extends2.default)({}, calendarState, baseDateValidationProps, commonViewProps, {
337
353
  onMonthSwitchingAnimationEnd: onMonthSwitchingAnimationEnd,
338
- onFocusedDayChange: changeFocusedDay,
354
+ onFocusedDayChange: focusedDate => setVisibleDate({
355
+ target: focusedDate,
356
+ reason: 'cell-interaction'
357
+ }),
339
358
  reduceAnimations: reduceAnimations,
340
359
  selectedDays: selectedDays,
341
360
  onSelectedDaysChange: handleSelectedDayChange,
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ 'use client';
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
@@ -14,7 +15,7 @@ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
14
15
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
15
16
  var _RtlProvider = require("@mui/system/RtlProvider");
16
17
  var _styles = require("@mui/material/styles");
17
- var _utils = require("@mui/utils");
18
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
18
19
  var _clsx = _interopRequireDefault(require("clsx"));
19
20
  var _PickersDay = require("../PickersDay/PickersDay");
20
21
  var _usePickerTranslations = require("../hooks/usePickerTranslations");
@@ -26,7 +27,7 @@ var _dateUtils = require("../internals/utils/date-utils");
26
27
  var _dayCalendarClasses = require("./dayCalendarClasses");
27
28
  var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
28
29
  var _jsxRuntime = require("react/jsx-runtime");
29
- const _excluded = ["parentProps", "day", "focusableDay", "selectedDays", "isDateDisabled", "currentMonthNumber", "isViewFocused"],
30
+ const _excluded = ["parentProps", "day", "focusedDay", "selectedDays", "isDateDisabled", "currentMonthNumber", "isViewFocused"],
30
31
  _excluded2 = ["ownerState"];
31
32
  const useUtilityClasses = classes => {
32
33
  const slots = {
@@ -40,7 +41,7 @@ const useUtilityClasses = classes => {
40
41
  weekNumberLabel: ['weekNumberLabel'],
41
42
  weekNumber: ['weekNumber']
42
43
  };
43
- return (0, _utils.unstable_composeClasses)(slots, _dayCalendarClasses.getDayCalendarUtilityClass, classes);
44
+ return (0, _composeClasses.default)(slots, _dayCalendarClasses.getDayCalendarUtilityClass, classes);
44
45
  };
45
46
  const weeksContainerHeight = (_dimensions.DAY_SIZE + _dimensions.DAY_MARGIN * 2) * 6;
46
47
  const PickersCalendarDayRoot = (0, _styles.styled)('div', {
@@ -143,7 +144,7 @@ function WrappedDay(_ref) {
143
144
  let {
144
145
  parentProps,
145
146
  day,
146
- focusableDay,
147
+ focusedDay,
147
148
  selectedDays,
148
149
  isDateDisabled,
149
150
  currentMonthNumber,
@@ -164,7 +165,8 @@ function WrappedDay(_ref) {
164
165
  const {
165
166
  ownerState
166
167
  } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
167
- const isFocusableDay = focusableDay !== null && utils.isSameDay(day, focusableDay);
168
+ const isFocusableDay = focusedDay != null && utils.isSameDay(day, focusedDay);
169
+ const isFocusedDay = isViewFocused && isFocusableDay;
168
170
  const isSelected = selectedDays.some(selectedDay => utils.isSameDay(selectedDay, day));
169
171
  const isToday = utils.isSameDay(day, now);
170
172
  const isDisabled = React.useMemo(() => disabled || isDateDisabled(day), [disabled, isDateDisabled, day]);
@@ -206,7 +208,7 @@ function WrappedDay(_ref) {
206
208
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Day, (0, _extends2.default)({}, dayProps, {
207
209
  day: day,
208
210
  disabled: isDisabled,
209
- autoFocus: isViewFocused && isFocusableDay,
211
+ autoFocus: !outsideCurrentMonth && isFocusedDay,
210
212
  today: isToday,
211
213
  outsideCurrentMonth: outsideCurrentMonth,
212
214
  isFirstVisibleCell: isFirstVisibleCell,
@@ -257,7 +259,6 @@ function DayCalendar(inProps) {
257
259
  gridLabelId,
258
260
  displayWeekNumber,
259
261
  fixedWeekNumber,
260
- autoFocus,
261
262
  timezone
262
263
  } = props;
263
264
  const now = (0, _useUtils.useNow)(timezone);
@@ -274,13 +275,6 @@ function DayCalendar(inProps) {
274
275
  timezone
275
276
  });
276
277
  const translations = (0, _usePickerTranslations.usePickerTranslations)();
277
- const [internalHasFocus, setInternalHasFocus] = (0, _utils.unstable_useControlled)({
278
- name: 'DayCalendar',
279
- state: 'hasFocus',
280
- controlled: hasFocus,
281
- default: autoFocus ?? false
282
- });
283
- const [internalFocusedDay, setInternalFocusedDay] = React.useState(() => focusedDay || now);
284
278
  const handleDaySelect = (0, _useEventCallback.default)(day => {
285
279
  if (readOnly) {
286
280
  return;
@@ -290,9 +284,7 @@ function DayCalendar(inProps) {
290
284
  const focusDay = day => {
291
285
  if (!isDateDisabled(day)) {
292
286
  onFocusedDayChange(day);
293
- setInternalFocusedDay(day);
294
287
  onFocusedViewChange?.(true);
295
- setInternalHasFocus(true);
296
288
  }
297
289
  };
298
290
  const handleKeyDown = (0, _useEventCallback.default)((event, day) => {
@@ -359,7 +351,7 @@ function DayCalendar(inProps) {
359
351
  });
360
352
  const handleFocus = (0, _useEventCallback.default)((event, day) => focusDay(day));
361
353
  const handleBlur = (0, _useEventCallback.default)((event, day) => {
362
- if (internalHasFocus && utils.isSameDay(internalFocusedDay, day)) {
354
+ if (focusedDay != null && utils.isSameDay(focusedDay, day)) {
363
355
  onFocusedViewChange?.(false);
364
356
  }
365
357
  });
@@ -371,23 +363,6 @@ function DayCalendar(inProps) {
371
363
  const transitionKey = `${currentYearNumber}-${currentMonthNumber}`;
372
364
  // eslint-disable-next-line react-hooks/exhaustive-deps
373
365
  const slideNodeRef = React.useMemo(() => /*#__PURE__*/React.createRef(), [transitionKey]);
374
- const focusableDay = React.useMemo(() => {
375
- const startOfMonth = utils.startOfMonth(currentMonth);
376
- const endOfMonth = utils.endOfMonth(currentMonth);
377
- if (isDateDisabled(internalFocusedDay) || utils.isAfterDay(internalFocusedDay, endOfMonth) || utils.isBeforeDay(internalFocusedDay, startOfMonth)) {
378
- return (0, _dateUtils.findClosestEnabledDate)({
379
- utils,
380
- date: internalFocusedDay,
381
- minDate: startOfMonth,
382
- maxDate: endOfMonth,
383
- disablePast,
384
- disableFuture,
385
- isDateDisabled,
386
- timezone
387
- });
388
- }
389
- return internalFocusedDay;
390
- }, [currentMonth, disableFuture, disablePast, internalFocusedDay, isDateDisabled, utils, timezone]);
391
366
  const weeksToDisplay = React.useMemo(() => {
392
367
  const toDisplay = utils.getWeekArray(currentMonth);
393
368
  let nextMonth = utils.addMonths(currentMonth, 1);
@@ -454,14 +429,14 @@ function DayCalendar(inProps) {
454
429
  parentProps: props,
455
430
  day: day,
456
431
  selectedDays: validSelectedDays,
457
- focusableDay: focusableDay,
432
+ isViewFocused: hasFocus,
433
+ focusedDay: focusedDay,
458
434
  onKeyDown: handleKeyDown,
459
435
  onFocus: handleFocus,
460
436
  onBlur: handleBlur,
461
437
  onDaySelect: handleDaySelect,
462
438
  isDateDisabled: isDateDisabled,
463
- currentMonthNumber: currentMonthNumber,
464
- isViewFocused: internalHasFocus
439
+ currentMonthNumber: currentMonthNumber
465
440
  // fix issue of announcing column 1 as column 2 when `displayWeekNumber` is enabled
466
441
  ,
467
442
  "aria-colindex": dayIndex + 1
@@ -14,10 +14,7 @@ var _styles = require("@mui/material/styles");
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _pickersFadeTransitionGroupClasses = require("./pickersFadeTransitionGroupClasses");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
- const useUtilityClasses = ownerState => {
18
- const {
19
- classes
20
- } = ownerState;
17
+ const useUtilityClasses = classes => {
21
18
  const slots = {
22
19
  root: ['root']
23
20
  };
@@ -44,9 +41,10 @@ function PickersFadeTransitionGroup(inProps) {
44
41
  children,
45
42
  className,
46
43
  reduceAnimations,
47
- transKey
44
+ transKey,
45
+ classes: classesProp
48
46
  } = props;
49
- const classes = useUtilityClasses(props);
47
+ const classes = useUtilityClasses(classesProp);
50
48
  const theme = (0, _styles.useTheme)();
51
49
  if (reduceAnimations) {
52
50
  return children;
@@ -14,11 +14,11 @@ var _styles = require("@mui/material/styles");
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _reactTransitionGroup = require("react-transition-group");
16
16
  var _pickersSlideTransitionClasses = require("./pickersSlideTransitionClasses");
17
+ var _usePickerPrivateContext = require("../internals/hooks/usePickerPrivateContext");
17
18
  var _jsxRuntime = require("react/jsx-runtime");
18
19
  const _excluded = ["children", "className", "reduceAnimations", "slideDirection", "transKey", "classes"];
19
- const useUtilityClasses = ownerState => {
20
+ const useUtilityClasses = (classes, ownerState) => {
20
21
  const {
21
- classes,
22
22
  slideDirection
23
23
  } = ownerState;
24
24
  const slots = {
@@ -107,11 +107,18 @@ function PickersSlideTransition(inProps) {
107
107
  children,
108
108
  className,
109
109
  reduceAnimations,
110
- transKey
111
- // extracting `classes` from `other`
110
+ slideDirection,
111
+ transKey,
112
+ classes: classesProp
112
113
  } = props,
113
114
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
114
- const classes = useUtilityClasses(props);
115
+ const {
116
+ ownerState: pickerOwnerState
117
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
118
+ const ownerState = (0, _extends2.default)({}, pickerOwnerState, {
119
+ slideDirection
120
+ });
121
+ const classes = useUtilityClasses(classesProp, ownerState);
115
122
  const theme = (0, _styles.useTheme)();
116
123
  if (reduceAnimations) {
117
124
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -6,7 +6,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.useCalendarState = exports.createCalendarStateReducer = void 0;
9
+ exports.useCalendarState = void 0;
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
@@ -14,13 +14,15 @@ var _useIsDateDisabled = require("./useIsDateDisabled");
14
14
  var _useUtils = require("../internals/hooks/useUtils");
15
15
  var _valueManagers = require("../internals/utils/valueManagers");
16
16
  var _getDefaultReferenceDate = require("../internals/utils/getDefaultReferenceDate");
17
- const createCalendarStateReducer = (reduceAnimations, disableSwitchToMonthOnDayFocus, utils) => (state, action) => {
17
+ var _dateUtils = require("../internals/utils/date-utils");
18
+ const createCalendarStateReducer = (reduceAnimations, utils) => (state, action) => {
18
19
  switch (action.type) {
19
- case 'changeMonth':
20
+ case 'setVisibleDate':
20
21
  return (0, _extends2.default)({}, state, {
21
22
  slideDirection: action.direction,
22
- currentMonth: action.newMonth,
23
- isMonthSwitchingAnimating: !reduceAnimations
23
+ currentMonth: action.month,
24
+ isMonthSwitchingAnimating: !utils.isSameMonth(action.month, state.currentMonth) && !reduceAnimations && !action.skipAnimation,
25
+ focusedDay: action.focusedDay
24
26
  });
25
27
  case 'changeMonthTimezone':
26
28
  {
@@ -40,40 +42,27 @@ const createCalendarStateReducer = (reduceAnimations, disableSwitchToMonthOnDayF
40
42
  return (0, _extends2.default)({}, state, {
41
43
  isMonthSwitchingAnimating: false
42
44
  });
43
- case 'changeFocusedDay':
44
- {
45
- if (state.focusedDay != null && action.focusedDay != null && utils.isSameDay(action.focusedDay, state.focusedDay)) {
46
- return state;
47
- }
48
- const needMonthSwitch = action.focusedDay != null && !disableSwitchToMonthOnDayFocus && !utils.isSameMonth(state.currentMonth, action.focusedDay);
49
- return (0, _extends2.default)({}, state, {
50
- focusedDay: action.focusedDay,
51
- isMonthSwitchingAnimating: needMonthSwitch && !reduceAnimations && !action.withoutMonthSwitchingAnimation,
52
- currentMonth: needMonthSwitch ? utils.startOfMonth(action.focusedDay) : state.currentMonth,
53
- slideDirection: action.focusedDay != null && utils.isAfterDay(action.focusedDay, state.currentMonth) ? 'left' : 'right'
54
- });
55
- }
56
45
  default:
57
46
  throw new Error('missing support');
58
47
  }
59
48
  };
60
- exports.createCalendarStateReducer = createCalendarStateReducer;
61
49
  const useCalendarState = params => {
62
50
  const {
63
51
  value,
64
52
  referenceDate: referenceDateProp,
65
53
  disableFuture,
66
54
  disablePast,
67
- disableSwitchToMonthOnDayFocus = false,
68
55
  maxDate,
69
56
  minDate,
70
57
  onMonthChange,
58
+ onYearChange,
71
59
  reduceAnimations,
72
60
  shouldDisableDate,
73
- timezone
61
+ timezone,
62
+ getCurrentMonthFromVisibleDate
74
63
  } = params;
75
64
  const utils = (0, _useUtils.useUtils)();
76
- const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations), disableSwitchToMonthOnDayFocus, utils)).current;
65
+ const reducerFn = React.useRef(createCalendarStateReducer(Boolean(reduceAnimations), utils)).current;
77
66
  const referenceDate = React.useMemo(() => {
78
67
  return _valueManagers.singleItemValueManager.getInitialReferenceValue({
79
68
  value,
@@ -93,6 +82,14 @@ const useCalendarState = params => {
93
82
  currentMonth: utils.startOfMonth(referenceDate),
94
83
  slideDirection: 'left'
95
84
  });
85
+ const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
86
+ shouldDisableDate,
87
+ minDate,
88
+ maxDate,
89
+ disableFuture,
90
+ disablePast,
91
+ timezone
92
+ });
96
93
 
97
94
  // Ensure that `calendarState.currentMonth` timezone is updated when `referenceDate` (or timezone changes)
98
95
  // https://github.com/mui/mui-x/issues/10804
@@ -102,54 +99,66 @@ const useCalendarState = params => {
102
99
  newTimezone: utils.getTimezone(referenceDate)
103
100
  });
104
101
  }, [referenceDate, utils]);
105
- const handleChangeMonth = React.useCallback(payload => {
106
- dispatch((0, _extends2.default)({
107
- type: 'changeMonth'
108
- }, payload));
109
- if (onMonthChange) {
110
- onMonthChange(payload.newMonth);
111
- }
112
- }, [onMonthChange]);
113
- const changeMonth = React.useCallback(newDate => {
114
- const newDateRequested = newDate;
115
- if (utils.isSameMonth(newDateRequested, calendarState.currentMonth)) {
102
+ const setVisibleDate = (0, _useEventCallback.default)(({
103
+ target,
104
+ reason
105
+ }) => {
106
+ if (reason === 'cell-interaction' && calendarState.focusedDay != null && utils.isSameDay(target, calendarState.focusedDay)) {
116
107
  return;
117
108
  }
118
- handleChangeMonth({
119
- newMonth: utils.startOfMonth(newDateRequested),
120
- direction: utils.isAfterDay(newDateRequested, calendarState.currentMonth) ? 'left' : 'right'
109
+ const skipAnimation = reason === 'cell-interaction';
110
+ let month;
111
+ let focusedDay;
112
+ if (reason === 'cell-interaction') {
113
+ month = getCurrentMonthFromVisibleDate(target, calendarState.currentMonth);
114
+ focusedDay = target;
115
+ } else {
116
+ month = utils.isSameMonth(target, calendarState.currentMonth) ? calendarState.currentMonth : utils.startOfMonth(target);
117
+ focusedDay = target;
118
+
119
+ // If the date is disabled, we try to find a non-disabled date inside the same month.
120
+ if (isDateDisabled(focusedDay)) {
121
+ const startOfMonth = utils.startOfMonth(target);
122
+ const endOfMonth = utils.endOfMonth(target);
123
+ focusedDay = (0, _dateUtils.findClosestEnabledDate)({
124
+ utils,
125
+ date: focusedDay,
126
+ minDate: utils.isBefore(minDate, startOfMonth) ? startOfMonth : minDate,
127
+ maxDate: utils.isAfter(maxDate, endOfMonth) ? endOfMonth : maxDate,
128
+ disablePast,
129
+ disableFuture,
130
+ isDateDisabled,
131
+ timezone
132
+ });
133
+ }
134
+ }
135
+ const hasChangedMonth = !utils.isSameMonth(calendarState.currentMonth, month);
136
+ const hasChangedYear = !utils.isSameYear(calendarState.currentMonth, month);
137
+ if (hasChangedMonth) {
138
+ onMonthChange?.(month);
139
+ }
140
+ if (hasChangedYear) {
141
+ onYearChange?.(utils.startOfYear(month));
142
+ }
143
+ dispatch({
144
+ type: 'setVisibleDate',
145
+ month,
146
+ direction: utils.isAfterDay(month, calendarState.currentMonth) ? 'left' : 'right',
147
+ focusedDay: calendarState.focusedDay != null && focusedDay != null && utils.isSameDay(focusedDay, calendarState.focusedDay) ? calendarState.focusedDay : focusedDay,
148
+ skipAnimation
121
149
  });
122
- }, [calendarState.currentMonth, handleChangeMonth, utils]);
123
- const isDateDisabled = (0, _useIsDateDisabled.useIsDateDisabled)({
124
- shouldDisableDate,
125
- minDate,
126
- maxDate,
127
- disableFuture,
128
- disablePast,
129
- timezone
130
150
  });
131
151
  const onMonthSwitchingAnimationEnd = React.useCallback(() => {
132
152
  dispatch({
133
153
  type: 'finishMonthSwitchingAnimation'
134
154
  });
135
155
  }, []);
136
- const changeFocusedDay = (0, _useEventCallback.default)((newFocusedDate, withoutMonthSwitchingAnimation) => {
137
- if (!isDateDisabled(newFocusedDate)) {
138
- dispatch({
139
- type: 'changeFocusedDay',
140
- focusedDay: newFocusedDate,
141
- withoutMonthSwitchingAnimation
142
- });
143
- }
144
- });
145
156
  return {
146
157
  referenceDate,
147
158
  calendarState,
148
- changeMonth,
149
- changeFocusedDay,
159
+ setVisibleDate,
150
160
  isDateDisabled,
151
- onMonthSwitchingAnimationEnd,
152
- handleChangeMonth
161
+ onMonthSwitchingAnimationEnd
153
162
  };
154
163
  };
155
164
  exports.useCalendarState = useCalendarState;
@@ -7,20 +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");
16
+ var _PickerFieldUI = require("../internals/components/PickerFieldUI");
17
+ var _icons = require("../icons");
22
18
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
19
+ const _excluded = ["slots", "slotProps"];
24
20
  /**
25
21
  * Demos:
26
22
  *
@@ -38,33 +34,21 @@ const DateField = exports.DateField = /*#__PURE__*/React.forwardRef(function Dat
38
34
  });
39
35
  const {
40
36
  slots,
41
- slotProps,
42
- InputProps,
43
- inputProps
37
+ slotProps
44
38
  } = themeProps,
45
39
  other = (0, _objectWithoutPropertiesLoose2.default)(themeProps, _excluded);
46
- const ownerState = themeProps;
47
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
48
- const textFieldProps = (0, _useSlotProps.default)({
49
- elementType: TextField,
50
- externalSlotProps: slotProps?.textField,
51
- externalForwardedProps: other,
52
- additionalProps: {
53
- ref: inRef
54
- },
55
- ownerState
40
+ const textFieldProps = (0, _PickerFieldUI.useFieldTextFieldProps)({
41
+ slotProps,
42
+ ref: inRef,
43
+ externalForwardedProps: other
56
44
  });
57
-
58
- // TODO: Remove when mui/material-ui#35088 will be merged
59
- textFieldProps.inputProps = (0, _extends2.default)({}, inputProps, textFieldProps.inputProps);
60
- textFieldProps.InputProps = (0, _extends2.default)({}, InputProps, textFieldProps.InputProps);
61
45
  const fieldResponse = (0, _useDateField.useDateField)(textFieldProps);
62
- const convertedFieldResponse = (0, _convertFieldResponseIntoMuiTextFieldProps.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse);
63
- const processedFieldProps = (0, _hooks.useClearableField)((0, _extends2.default)({}, convertedFieldResponse, {
64
- slots,
65
- slotProps
66
- }));
67
- 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
+ });
68
52
  });
69
53
  process.env.NODE_ENV !== "production" ? DateField.propTypes = {
70
54
  // ----------------------------- Warning --------------------------------
@@ -82,6 +66,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
82
66
  * @default false
83
67
  */
84
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']),
85
75
  /**
86
76
  * The color of the component.
87
77
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -225,6 +215,12 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
225
215
  * @param {FieldSelectedSections} newValue The new selected sections.
226
216
  */
227
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']),
228
224
  /**
229
225
  * If `true`, the component is read-only.
230
226
  * When read-only, the value cannot be changed but the user can interact with the interface.
@@ -274,10 +270,10 @@ process.env.NODE_ENV !== "production" ? DateField.propTypes = {
274
270
  */
275
271
  shouldDisableYear: _propTypes.default.func,
276
272
  /**
277
- * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
278
- * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
273
+ * If `true`, the format will respect the leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
274
+ * If `false`, the format will always add leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
279
275
  *
280
- * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
276
+ * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (for example "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
281
277
  *
282
278
  * Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
283
279
  * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.