@mui/x-date-pickers 6.15.0 → 6.16.1

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 (509) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/DateCalendar/DateCalendar.js +9 -3
  3. package/DateCalendar/DateCalendar.types.d.ts +1 -1
  4. package/DateCalendar/DayCalendar.d.ts +6 -5
  5. package/DateCalendar/DayCalendar.js +20 -8
  6. package/DateCalendar/PickersFadeTransitionGroup.js +6 -6
  7. package/DateCalendar/PickersSlideTransition.d.ts +0 -1
  8. package/DateCalendar/PickersSlideTransition.js +5 -5
  9. package/DateCalendar/dayCalendarClasses.d.ts +2 -0
  10. package/DateCalendar/dayCalendarClasses.js +1 -1
  11. package/DateField/DateField.js +32 -4
  12. package/DateField/DateField.types.d.ts +3 -2
  13. package/DatePicker/DatePicker.js +6 -2
  14. package/DateTimeField/DateTimeField.js +32 -4
  15. package/DateTimeField/DateTimeField.types.d.ts +3 -2
  16. package/DateTimePicker/DateTimePicker.js +6 -2
  17. package/DateTimePicker/DateTimePickerToolbar.js +1 -0
  18. package/DesktopDatePicker/DesktopDatePicker.js +6 -2
  19. package/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  20. package/MobileDatePicker/MobileDatePicker.js +6 -2
  21. package/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  22. package/MonthCalendar/MonthCalendar.js +4 -1
  23. package/StaticDatePicker/StaticDatePicker.js +6 -2
  24. package/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  25. package/TimeField/TimeField.js +29 -4
  26. package/TimeField/TimeField.types.d.ts +3 -2
  27. package/TimePicker/TimePickerToolbar.js +1 -0
  28. package/YearCalendar/PickersYear.js +1 -1
  29. package/YearCalendar/YearCalendar.js +6 -3
  30. package/hooks/index.d.ts +1 -0
  31. package/hooks/index.js +1 -0
  32. package/hooks/package.json +6 -0
  33. package/hooks/useClearableField.d.ts +25 -0
  34. package/hooks/useClearableField.js +79 -0
  35. package/icons/index.d.ts +6 -0
  36. package/icons/index.js +8 -1
  37. package/index.d.ts +1 -0
  38. package/index.js +3 -2
  39. package/internals/constants/dimensions.d.ts +2 -1
  40. package/internals/constants/dimensions.js +2 -1
  41. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  42. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +3 -2
  43. package/internals/hooks/useField/index.d.ts +1 -1
  44. package/internals/hooks/useField/useField.js +27 -7
  45. package/internals/hooks/useField/useField.types.d.ts +37 -1
  46. package/internals/index.d.ts +1 -1
  47. package/internals/models/props/toolbar.d.ts +3 -0
  48. package/internals/models/validation.d.ts +3 -0
  49. package/internals/utils/date-utils.d.ts +1 -0
  50. package/internals/utils/date-utils.js +4 -0
  51. package/legacy/DateCalendar/DateCalendar.js +9 -3
  52. package/legacy/DateCalendar/DayCalendar.js +24 -11
  53. package/legacy/DateCalendar/PickersFadeTransitionGroup.js +6 -6
  54. package/legacy/DateCalendar/PickersSlideTransition.js +5 -5
  55. package/legacy/DateCalendar/dayCalendarClasses.js +1 -1
  56. package/legacy/DateField/DateField.js +30 -3
  57. package/legacy/DatePicker/DatePicker.js +6 -2
  58. package/legacy/DateTimeField/DateTimeField.js +30 -3
  59. package/legacy/DateTimePicker/DateTimePicker.js +6 -2
  60. package/legacy/DateTimePicker/DateTimePickerToolbar.js +1 -0
  61. package/legacy/DesktopDatePicker/DesktopDatePicker.js +6 -2
  62. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  63. package/legacy/MobileDatePicker/MobileDatePicker.js +6 -2
  64. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  65. package/legacy/MonthCalendar/MonthCalendar.js +4 -1
  66. package/legacy/StaticDatePicker/StaticDatePicker.js +6 -2
  67. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  68. package/legacy/TimeField/TimeField.js +27 -3
  69. package/legacy/TimePicker/TimePickerToolbar.js +1 -0
  70. package/legacy/YearCalendar/PickersYear.js +1 -1
  71. package/legacy/YearCalendar/YearCalendar.js +6 -4
  72. package/legacy/hooks/index.js +1 -0
  73. package/legacy/hooks/useClearableField.js +80 -0
  74. package/legacy/icons/index.js +8 -1
  75. package/legacy/index.js +3 -2
  76. package/legacy/internals/constants/dimensions.js +2 -1
  77. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  78. package/legacy/internals/hooks/useField/useField.js +31 -8
  79. package/legacy/internals/utils/date-utils.js +6 -0
  80. package/legacy/locales/beBY.js +2 -0
  81. package/legacy/locales/caES.js +2 -0
  82. package/legacy/locales/csCZ.js +2 -0
  83. package/legacy/locales/daDK.js +2 -0
  84. package/legacy/locales/deDE.js +2 -0
  85. package/legacy/locales/elGR.js +2 -0
  86. package/legacy/locales/enUS.js +1 -0
  87. package/legacy/locales/esES.js +2 -0
  88. package/legacy/locales/faIR.js +2 -0
  89. package/legacy/locales/fiFI.js +2 -0
  90. package/legacy/locales/frFR.js +2 -0
  91. package/legacy/locales/heIL.js +2 -0
  92. package/legacy/locales/huHU.js +1 -0
  93. package/legacy/locales/isIS.js +2 -0
  94. package/legacy/locales/itIT.js +2 -0
  95. package/legacy/locales/jaJP.js +2 -0
  96. package/legacy/locales/koKR.js +2 -0
  97. package/legacy/locales/kzKZ.js +2 -0
  98. package/legacy/locales/nbNO.js +2 -0
  99. package/legacy/locales/nlNL.js +2 -0
  100. package/legacy/locales/plPL.js +2 -0
  101. package/legacy/locales/ptBR.js +2 -0
  102. package/legacy/locales/roRO.js +1 -0
  103. package/legacy/locales/ruRU.js +2 -0
  104. package/legacy/locales/skSK.js +2 -0
  105. package/legacy/locales/svSE.js +2 -0
  106. package/legacy/locales/trTR.js +2 -0
  107. package/legacy/locales/ukUA.js +2 -0
  108. package/legacy/locales/urPK.js +2 -0
  109. package/legacy/locales/viVN.js +2 -0
  110. package/legacy/locales/zhCN.js +2 -0
  111. package/legacy/locales/zhHK.js +2 -0
  112. package/locales/beBY.d.ts +1 -0
  113. package/locales/beBY.js +2 -0
  114. package/locales/caES.d.ts +1 -0
  115. package/locales/caES.js +2 -0
  116. package/locales/csCZ.d.ts +1 -0
  117. package/locales/csCZ.js +2 -0
  118. package/locales/daDK.d.ts +1 -0
  119. package/locales/daDK.js +2 -0
  120. package/locales/deDE.d.ts +1 -0
  121. package/locales/deDE.js +2 -0
  122. package/locales/elGR.d.ts +1 -0
  123. package/locales/elGR.js +2 -0
  124. package/locales/enUS.d.ts +1 -0
  125. package/locales/enUS.js +1 -0
  126. package/locales/esES.d.ts +1 -0
  127. package/locales/esES.js +2 -0
  128. package/locales/faIR.d.ts +1 -0
  129. package/locales/faIR.js +2 -0
  130. package/locales/fiFI.d.ts +1 -0
  131. package/locales/fiFI.js +2 -0
  132. package/locales/frFR.d.ts +1 -0
  133. package/locales/frFR.js +2 -0
  134. package/locales/heIL.d.ts +1 -0
  135. package/locales/heIL.js +2 -0
  136. package/locales/huHU.d.ts +1 -0
  137. package/locales/huHU.js +1 -0
  138. package/locales/isIS.d.ts +1 -0
  139. package/locales/isIS.js +2 -0
  140. package/locales/itIT.d.ts +1 -0
  141. package/locales/itIT.js +2 -0
  142. package/locales/jaJP.d.ts +1 -0
  143. package/locales/jaJP.js +2 -0
  144. package/locales/koKR.d.ts +1 -0
  145. package/locales/koKR.js +2 -0
  146. package/locales/kzKZ.d.ts +1 -0
  147. package/locales/kzKZ.js +2 -0
  148. package/locales/nbNO.d.ts +1 -0
  149. package/locales/nbNO.js +2 -0
  150. package/locales/nlNL.d.ts +1 -0
  151. package/locales/nlNL.js +2 -0
  152. package/locales/plPL.d.ts +1 -0
  153. package/locales/plPL.js +2 -0
  154. package/locales/ptBR.d.ts +1 -0
  155. package/locales/ptBR.js +2 -0
  156. package/locales/roRO.d.ts +1 -0
  157. package/locales/roRO.js +1 -0
  158. package/locales/ruRU.d.ts +1 -0
  159. package/locales/ruRU.js +2 -0
  160. package/locales/skSK.d.ts +1 -0
  161. package/locales/skSK.js +2 -0
  162. package/locales/svSE.d.ts +1 -0
  163. package/locales/svSE.js +2 -0
  164. package/locales/trTR.d.ts +1 -0
  165. package/locales/trTR.js +2 -0
  166. package/locales/ukUA.d.ts +1 -0
  167. package/locales/ukUA.js +2 -0
  168. package/locales/urPK.d.ts +1 -0
  169. package/locales/urPK.js +2 -0
  170. package/locales/utils/getPickersLocalization.d.ts +1 -0
  171. package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  172. package/locales/viVN.d.ts +1 -0
  173. package/locales/viVN.js +2 -0
  174. package/locales/zhCN.d.ts +1 -0
  175. package/locales/zhCN.js +2 -0
  176. package/locales/zhHK.d.ts +1 -0
  177. package/locales/zhHK.js +2 -0
  178. package/models/adapters.d.ts +1 -0
  179. package/models/fields.d.ts +2 -0
  180. package/modern/DateCalendar/DateCalendar.js +9 -3
  181. package/modern/DateCalendar/DayCalendar.js +27 -13
  182. package/modern/DateCalendar/PickersFadeTransitionGroup.js +6 -6
  183. package/modern/DateCalendar/PickersSlideTransition.js +5 -5
  184. package/modern/DateCalendar/dayCalendarClasses.js +1 -1
  185. package/modern/DateField/DateField.js +32 -4
  186. package/modern/DatePicker/DatePicker.js +6 -2
  187. package/modern/DateTimeField/DateTimeField.js +32 -4
  188. package/modern/DateTimePicker/DateTimePicker.js +6 -2
  189. package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -0
  190. package/modern/DesktopDatePicker/DesktopDatePicker.js +6 -2
  191. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  192. package/modern/MobileDatePicker/MobileDatePicker.js +6 -2
  193. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  194. package/modern/MonthCalendar/MonthCalendar.js +4 -1
  195. package/modern/StaticDatePicker/StaticDatePicker.js +6 -2
  196. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  197. package/modern/TimeField/TimeField.js +29 -4
  198. package/modern/TimePicker/TimePickerToolbar.js +1 -0
  199. package/modern/YearCalendar/PickersYear.js +1 -1
  200. package/modern/YearCalendar/YearCalendar.js +5 -3
  201. package/modern/hooks/index.js +1 -0
  202. package/modern/hooks/useClearableField.js +78 -0
  203. package/modern/icons/index.js +8 -1
  204. package/modern/index.js +3 -2
  205. package/modern/internals/constants/dimensions.js +2 -1
  206. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  207. package/modern/internals/hooks/useField/useField.js +26 -7
  208. package/modern/internals/utils/date-utils.js +4 -0
  209. package/modern/locales/beBY.js +2 -0
  210. package/modern/locales/caES.js +2 -0
  211. package/modern/locales/csCZ.js +2 -0
  212. package/modern/locales/daDK.js +2 -0
  213. package/modern/locales/deDE.js +2 -0
  214. package/modern/locales/elGR.js +2 -0
  215. package/modern/locales/enUS.js +1 -0
  216. package/modern/locales/esES.js +2 -0
  217. package/modern/locales/faIR.js +2 -0
  218. package/modern/locales/fiFI.js +2 -0
  219. package/modern/locales/frFR.js +2 -0
  220. package/modern/locales/heIL.js +2 -0
  221. package/modern/locales/huHU.js +1 -0
  222. package/modern/locales/isIS.js +2 -0
  223. package/modern/locales/itIT.js +2 -0
  224. package/modern/locales/jaJP.js +2 -0
  225. package/modern/locales/koKR.js +2 -0
  226. package/modern/locales/kzKZ.js +2 -0
  227. package/modern/locales/nbNO.js +2 -0
  228. package/modern/locales/nlNL.js +2 -0
  229. package/modern/locales/plPL.js +2 -0
  230. package/modern/locales/ptBR.js +2 -0
  231. package/modern/locales/roRO.js +1 -0
  232. package/modern/locales/ruRU.js +2 -0
  233. package/modern/locales/skSK.js +2 -0
  234. package/modern/locales/svSE.js +2 -0
  235. package/modern/locales/trTR.js +2 -0
  236. package/modern/locales/ukUA.js +2 -0
  237. package/modern/locales/urPK.js +2 -0
  238. package/modern/locales/viVN.js +2 -0
  239. package/modern/locales/zhCN.js +2 -0
  240. package/modern/locales/zhHK.js +2 -0
  241. package/node/DateCalendar/DateCalendar.js +10 -5
  242. package/node/DateCalendar/DayCalendar.js +26 -12
  243. package/node/DateCalendar/PickersFadeTransitionGroup.js +6 -6
  244. package/node/DateCalendar/PickersSlideTransition.js +5 -7
  245. package/node/DateCalendar/dateCalendarClasses.js +1 -2
  246. package/node/DateCalendar/dayCalendarClasses.js +1 -2
  247. package/node/DateCalendar/pickersFadeTransitionGroupClasses.js +1 -2
  248. package/node/DateCalendar/pickersSlideTransitionClasses.js +1 -2
  249. package/node/DateField/DateField.js +33 -6
  250. package/node/DatePicker/DatePicker.js +7 -4
  251. package/node/DatePicker/DatePickerToolbar.js +1 -2
  252. package/node/DatePicker/datePickerToolbarClasses.js +1 -2
  253. package/node/DateTimeField/DateTimeField.js +33 -6
  254. package/node/DateTimePicker/DateTimePicker.js +7 -4
  255. package/node/DateTimePicker/DateTimePickerTabs.js +1 -2
  256. package/node/DateTimePicker/DateTimePickerToolbar.js +1 -0
  257. package/node/DateTimePicker/dateTimePickerTabsClasses.js +1 -2
  258. package/node/DateTimePicker/dateTimePickerToolbarClasses.js +1 -2
  259. package/node/DayCalendarSkeleton/dayCalendarSkeletonClasses.js +1 -2
  260. package/node/DesktopDatePicker/DesktopDatePicker.js +7 -4
  261. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -4
  262. package/node/DesktopTimePicker/DesktopTimePicker.js +1 -2
  263. package/node/DigitalClock/DigitalClock.js +1 -2
  264. package/node/DigitalClock/digitalClockClasses.js +1 -2
  265. package/node/LocalizationProvider/LocalizationProvider.js +2 -4
  266. package/node/MobileDatePicker/MobileDatePicker.js +7 -4
  267. package/node/MobileDateTimePicker/MobileDateTimePicker.js +7 -4
  268. package/node/MobileTimePicker/MobileTimePicker.js +1 -2
  269. package/node/MonthCalendar/MonthCalendar.js +5 -3
  270. package/node/MonthCalendar/PickersMonth.js +2 -3
  271. package/node/MonthCalendar/monthCalendarClasses.js +1 -2
  272. package/node/MonthCalendar/pickersMonthClasses.js +1 -2
  273. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -2
  274. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +2 -3
  275. package/node/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +1 -2
  276. package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +1 -2
  277. package/node/PickersCalendarHeader/PickersCalendarHeader.js +1 -2
  278. package/node/PickersCalendarHeader/pickersCalendarHeaderClasses.js +1 -2
  279. package/node/PickersDay/PickersDay.js +1 -2
  280. package/node/PickersDay/pickersDayClasses.js +1 -2
  281. package/node/PickersLayout/PickersLayout.js +3 -6
  282. package/node/PickersLayout/pickersLayoutClasses.js +1 -2
  283. package/node/PickersLayout/usePickerLayout.js +1 -2
  284. package/node/StaticDatePicker/StaticDatePicker.js +7 -4
  285. package/node/StaticDateTimePicker/StaticDateTimePicker.js +7 -4
  286. package/node/StaticTimePicker/StaticTimePicker.js +1 -2
  287. package/node/TimeClock/TimeClock.js +1 -2
  288. package/node/TimeClock/clockClasses.js +1 -2
  289. package/node/TimeClock/clockNumberClasses.js +1 -2
  290. package/node/TimeClock/clockPointerClasses.js +1 -2
  291. package/node/TimeClock/shared.js +2 -4
  292. package/node/TimeClock/timeClockClasses.js +1 -2
  293. package/node/TimeField/TimeField.js +30 -6
  294. package/node/TimePicker/TimePicker.js +1 -2
  295. package/node/TimePicker/TimePickerToolbar.js +1 -0
  296. package/node/TimePicker/timePickerToolbarClasses.js +1 -2
  297. package/node/YearCalendar/PickersYear.js +3 -4
  298. package/node/YearCalendar/YearCalendar.js +6 -5
  299. package/node/YearCalendar/pickersYearClasses.js +1 -2
  300. package/node/YearCalendar/yearCalendarClasses.js +1 -2
  301. package/node/hooks/index.js +12 -0
  302. package/node/hooks/useClearableField.js +87 -0
  303. package/node/icons/index.js +15 -15
  304. package/node/index.js +13 -1
  305. package/node/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +2 -3
  306. package/node/internals/components/PickerViewRoot/PickerViewRoot.js +2 -3
  307. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +2 -3
  308. package/node/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.js +1 -2
  309. package/node/internals/components/PickersToolbar.js +2 -3
  310. package/node/internals/components/PickersToolbarButton.js +2 -3
  311. package/node/internals/components/PickersToolbarText.js +2 -3
  312. package/node/internals/components/pickersPopperClasses.js +1 -2
  313. package/node/internals/components/pickersToolbarButtonClasses.js +1 -2
  314. package/node/internals/components/pickersToolbarClasses.js +1 -2
  315. package/node/internals/components/pickersToolbarTextClasses.js +1 -2
  316. package/node/internals/constants/dimensions.js +8 -13
  317. package/node/internals/hooks/useDefaultReduceAnimations.js +1 -2
  318. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  319. package/node/internals/hooks/useField/useField.js +26 -7
  320. package/node/internals/utils/date-utils.js +7 -2
  321. package/node/internals/utils/getDefaultReferenceDate.js +1 -2
  322. package/node/internals/utils/utils.js +1 -2
  323. package/node/internals/utils/validation/extractValidationProps.js +3 -6
  324. package/node/internals/utils/valueManagers.js +3 -5
  325. package/node/locales/beBY.js +3 -2
  326. package/node/locales/caES.js +3 -2
  327. package/node/locales/csCZ.js +3 -2
  328. package/node/locales/daDK.js +3 -2
  329. package/node/locales/deDE.js +3 -2
  330. package/node/locales/elGR.js +3 -2
  331. package/node/locales/enUS.js +3 -4
  332. package/node/locales/esES.js +3 -2
  333. package/node/locales/faIR.js +3 -2
  334. package/node/locales/fiFI.js +3 -2
  335. package/node/locales/frFR.js +3 -2
  336. package/node/locales/heIL.js +3 -2
  337. package/node/locales/huHU.js +2 -2
  338. package/node/locales/isIS.js +3 -2
  339. package/node/locales/itIT.js +3 -2
  340. package/node/locales/jaJP.js +3 -2
  341. package/node/locales/koKR.js +3 -2
  342. package/node/locales/kzKZ.js +3 -2
  343. package/node/locales/nbNO.js +3 -2
  344. package/node/locales/nlNL.js +3 -2
  345. package/node/locales/plPL.js +3 -2
  346. package/node/locales/ptBR.js +3 -2
  347. package/node/locales/roRO.js +2 -2
  348. package/node/locales/ruRU.js +3 -2
  349. package/node/locales/skSK.js +3 -2
  350. package/node/locales/svSE.js +3 -2
  351. package/node/locales/trTR.js +3 -2
  352. package/node/locales/ukUA.js +3 -2
  353. package/node/locales/urPK.js +3 -2
  354. package/node/locales/viVN.js +3 -2
  355. package/node/locales/zhCN.js +3 -2
  356. package/node/locales/zhHK.js +3 -2
  357. package/package.json +5 -5
  358. package/legacy/tests/describe.types.js +0 -1
  359. package/legacy/tests/describeAdapters/describeAdapters.js +0 -29
  360. package/legacy/tests/describeAdapters/index.js +0 -1
  361. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -32
  362. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  363. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  364. package/legacy/tests/describeGregorianAdapter/index.js +0 -2
  365. package/legacy/tests/describeGregorianAdapter/testCalculations.js +0 -707
  366. package/legacy/tests/describeGregorianAdapter/testFormat.js +0 -26
  367. package/legacy/tests/describeGregorianAdapter/testLocalization.js +0 -49
  368. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  369. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  370. package/legacy/tests/describeHijriAdapter/index.js +0 -1
  371. package/legacy/tests/describeHijriAdapter/testCalculations.js +0 -167
  372. package/legacy/tests/describeHijriAdapter/testLocalization.js +0 -20
  373. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  374. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  375. package/legacy/tests/describeJalaliAdapter/index.js +0 -1
  376. package/legacy/tests/describeJalaliAdapter/testCalculations.js +0 -236
  377. package/legacy/tests/describeJalaliAdapter/testLocalization.js +0 -20
  378. package/legacy/tests/describePicker/describePicker.js +0 -159
  379. package/legacy/tests/describePicker/describePicker.types.js +0 -1
  380. package/legacy/tests/describePicker/index.js +0 -1
  381. package/legacy/tests/describeValidation/describeValidation.js +0 -31
  382. package/legacy/tests/describeValidation/describeValidation.types.js +0 -1
  383. package/legacy/tests/describeValidation/index.js +0 -1
  384. package/legacy/tests/describeValidation/testDayViewValidation.js +0 -281
  385. package/legacy/tests/describeValidation/testMinutesViewValidation.js +0 -194
  386. package/legacy/tests/describeValidation/testMonthViewValidation.js +0 -136
  387. package/legacy/tests/describeValidation/testTextFieldValidation.js +0 -463
  388. package/legacy/tests/describeValidation/testYearViewValidation.js +0 -95
  389. package/legacy/tests/describeValue/describeValue.js +0 -57
  390. package/legacy/tests/describeValue/describeValue.types.js +0 -1
  391. package/legacy/tests/describeValue/index.js +0 -1
  392. package/legacy/tests/describeValue/testControlledUnControlled.js +0 -237
  393. package/legacy/tests/describeValue/testPickerActionBar.js +0 -250
  394. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -362
  395. package/legacy/tests/describeValue/testShortcuts.js +0 -119
  396. package/modern/tests/describe.types.js +0 -1
  397. package/modern/tests/describeAdapters/describeAdapters.js +0 -29
  398. package/modern/tests/describeAdapters/index.js +0 -1
  399. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -29
  400. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  401. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  402. package/modern/tests/describeGregorianAdapter/index.js +0 -2
  403. package/modern/tests/describeGregorianAdapter/testCalculations.js +0 -706
  404. package/modern/tests/describeGregorianAdapter/testFormat.js +0 -27
  405. package/modern/tests/describeGregorianAdapter/testLocalization.js +0 -50
  406. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  407. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  408. package/modern/tests/describeHijriAdapter/index.js +0 -1
  409. package/modern/tests/describeHijriAdapter/testCalculations.js +0 -164
  410. package/modern/tests/describeHijriAdapter/testLocalization.js +0 -21
  411. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  412. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  413. package/modern/tests/describeJalaliAdapter/index.js +0 -1
  414. package/modern/tests/describeJalaliAdapter/testCalculations.js +0 -237
  415. package/modern/tests/describeJalaliAdapter/testLocalization.js +0 -21
  416. package/modern/tests/describePicker/describePicker.js +0 -162
  417. package/modern/tests/describePicker/describePicker.types.js +0 -1
  418. package/modern/tests/describePicker/index.js +0 -1
  419. package/modern/tests/describeValidation/describeValidation.js +0 -31
  420. package/modern/tests/describeValidation/describeValidation.types.js +0 -1
  421. package/modern/tests/describeValidation/index.js +0 -1
  422. package/modern/tests/describeValidation/testDayViewValidation.js +0 -280
  423. package/modern/tests/describeValidation/testMinutesViewValidation.js +0 -193
  424. package/modern/tests/describeValidation/testMonthViewValidation.js +0 -137
  425. package/modern/tests/describeValidation/testTextFieldValidation.js +0 -470
  426. package/modern/tests/describeValidation/testYearViewValidation.js +0 -94
  427. package/modern/tests/describeValue/describeValue.js +0 -59
  428. package/modern/tests/describeValue/describeValue.types.js +0 -1
  429. package/modern/tests/describeValue/index.js +0 -1
  430. package/modern/tests/describeValue/testControlledUnControlled.js +0 -239
  431. package/modern/tests/describeValue/testPickerActionBar.js +0 -254
  432. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  433. package/modern/tests/describeValue/testShortcuts.js +0 -112
  434. package/node/tests/describe.types.js +0 -5
  435. package/node/tests/describeAdapters/describeAdapters.js +0 -37
  436. package/node/tests/describeAdapters/index.js +0 -12
  437. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -37
  438. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -5
  439. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -10
  440. package/node/tests/describeGregorianAdapter/index.js +0 -19
  441. package/node/tests/describeGregorianAdapter/testCalculations.js +0 -711
  442. package/node/tests/describeGregorianAdapter/testFormat.js +0 -34
  443. package/node/tests/describeGregorianAdapter/testLocalization.js +0 -57
  444. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +0 -29
  445. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -5
  446. package/node/tests/describeHijriAdapter/index.js +0 -12
  447. package/node/tests/describeHijriAdapter/testCalculations.js +0 -171
  448. package/node/tests/describeHijriAdapter/testLocalization.js +0 -28
  449. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -29
  450. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -5
  451. package/node/tests/describeJalaliAdapter/index.js +0 -12
  452. package/node/tests/describeJalaliAdapter/testCalculations.js +0 -244
  453. package/node/tests/describeJalaliAdapter/testLocalization.js +0 -28
  454. package/node/tests/describePicker/describePicker.js +0 -173
  455. package/node/tests/describePicker/describePicker.types.js +0 -5
  456. package/node/tests/describePicker/index.js +0 -12
  457. package/node/tests/describeValidation/describeValidation.js +0 -39
  458. package/node/tests/describeValidation/describeValidation.types.js +0 -5
  459. package/node/tests/describeValidation/index.js +0 -12
  460. package/node/tests/describeValidation/testDayViewValidation.js +0 -290
  461. package/node/tests/describeValidation/testMinutesViewValidation.js +0 -203
  462. package/node/tests/describeValidation/testMonthViewValidation.js +0 -147
  463. package/node/tests/describeValidation/testTextFieldValidation.js +0 -480
  464. package/node/tests/describeValidation/testYearViewValidation.js +0 -104
  465. package/node/tests/describeValue/describeValue.js +0 -69
  466. package/node/tests/describeValue/describeValue.types.js +0 -5
  467. package/node/tests/describeValue/index.js +0 -12
  468. package/node/tests/describeValue/testControlledUnControlled.js +0 -248
  469. package/node/tests/describeValue/testPickerActionBar.js +0 -264
  470. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -381
  471. package/node/tests/describeValue/testShortcuts.js +0 -122
  472. package/tests/describe.types.js +0 -1
  473. package/tests/describeAdapters/describeAdapters.js +0 -29
  474. package/tests/describeAdapters/index.js +0 -1
  475. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -30
  476. package/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  477. package/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  478. package/tests/describeGregorianAdapter/index.js +0 -2
  479. package/tests/describeGregorianAdapter/testCalculations.js +0 -706
  480. package/tests/describeGregorianAdapter/testFormat.js +0 -27
  481. package/tests/describeGregorianAdapter/testLocalization.js +0 -50
  482. package/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  483. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  484. package/tests/describeHijriAdapter/index.js +0 -1
  485. package/tests/describeHijriAdapter/testCalculations.js +0 -164
  486. package/tests/describeHijriAdapter/testLocalization.js +0 -21
  487. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  488. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  489. package/tests/describeJalaliAdapter/index.js +0 -1
  490. package/tests/describeJalaliAdapter/testCalculations.js +0 -237
  491. package/tests/describeJalaliAdapter/testLocalization.js +0 -21
  492. package/tests/describePicker/describePicker.js +0 -162
  493. package/tests/describePicker/describePicker.types.js +0 -1
  494. package/tests/describePicker/index.js +0 -1
  495. package/tests/describeValidation/describeValidation.js +0 -31
  496. package/tests/describeValidation/describeValidation.types.js +0 -1
  497. package/tests/describeValidation/index.js +0 -1
  498. package/tests/describeValidation/testDayViewValidation.js +0 -280
  499. package/tests/describeValidation/testMinutesViewValidation.js +0 -193
  500. package/tests/describeValidation/testMonthViewValidation.js +0 -137
  501. package/tests/describeValidation/testTextFieldValidation.js +0 -470
  502. package/tests/describeValidation/testYearViewValidation.js +0 -94
  503. package/tests/describeValue/describeValue.js +0 -59
  504. package/tests/describeValue/describeValue.types.js +0 -1
  505. package/tests/describeValue/index.js +0 -1
  506. package/tests/describeValue/testControlledUnControlled.js +0 -239
  507. package/tests/describeValue/testPickerActionBar.js +0 -254
  508. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  509. package/tests/describeValue/testShortcuts.js +0 -112
@@ -91,9 +91,10 @@ DesktopDatePicker.propTypes = {
91
91
  componentsProps: PropTypes.object,
92
92
  /**
93
93
  * Formats the day of week displayed in the calendar header.
94
- * @param {string} day The day of week provided by the adapter's method `getWeekdays`.
94
+ * @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
95
+ * @param {TDate} date The date of the day of week provided by the adapter.
95
96
  * @returns {string} The name to display.
96
- * @default (day) => day.charAt(0).toUpperCase()
97
+ * @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
97
98
  */
98
99
  dayOfWeekFormatter: PropTypes.func,
99
100
  /**
@@ -287,6 +288,9 @@ DesktopDatePicker.propTypes = {
287
288
  })]),
288
289
  /**
289
290
  * Disable specific date.
291
+ *
292
+ * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
293
+ *
290
294
  * @template TDate
291
295
  * @param {TDate} day The date to test.
292
296
  * @returns {boolean} If `true` the date will be disabled.
@@ -138,9 +138,10 @@ DesktopDateTimePicker.propTypes = {
138
138
  componentsProps: PropTypes.object,
139
139
  /**
140
140
  * Formats the day of week displayed in the calendar header.
141
- * @param {string} day The day of week provided by the adapter's method `getWeekdays`.
141
+ * @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
142
+ * @param {TDate} date The date of the day of week provided by the adapter.
142
143
  * @returns {string} The name to display.
143
- * @default (day) => day.charAt(0).toUpperCase()
144
+ * @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
144
145
  */
145
146
  dayOfWeekFormatter: PropTypes.func,
146
147
  /**
@@ -370,6 +371,9 @@ DesktopDateTimePicker.propTypes = {
370
371
  shouldDisableClock: PropTypes.func,
371
372
  /**
372
373
  * Disable specific date.
374
+ *
375
+ * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
376
+ *
373
377
  * @template TDate
374
378
  * @param {TDate} day The date to test.
375
379
  * @returns {boolean} If `true` the date will be disabled.
@@ -88,9 +88,10 @@ MobileDatePicker.propTypes = {
88
88
  componentsProps: PropTypes.object,
89
89
  /**
90
90
  * Formats the day of week displayed in the calendar header.
91
- * @param {string} day The day of week provided by the adapter's method `getWeekdays`.
91
+ * @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
92
+ * @param {TDate} date The date of the day of week provided by the adapter.
92
93
  * @returns {string} The name to display.
93
- * @default (day) => day.charAt(0).toUpperCase()
94
+ * @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
94
95
  */
95
96
  dayOfWeekFormatter: PropTypes.func,
96
97
  /**
@@ -284,6 +285,9 @@ MobileDatePicker.propTypes = {
284
285
  })]),
285
286
  /**
286
287
  * Disable specific date.
288
+ *
289
+ * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
290
+ *
287
291
  * @template TDate
288
292
  * @param {TDate} day The date to test.
289
293
  * @returns {boolean} If `true` the date will be disabled.
@@ -109,9 +109,10 @@ MobileDateTimePicker.propTypes = {
109
109
  componentsProps: PropTypes.object,
110
110
  /**
111
111
  * Formats the day of week displayed in the calendar header.
112
- * @param {string} day The day of week provided by the adapter's method `getWeekdays`.
112
+ * @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
113
+ * @param {TDate} date The date of the day of week provided by the adapter.
113
114
  * @returns {string} The name to display.
114
- * @default (day) => day.charAt(0).toUpperCase()
115
+ * @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
115
116
  */
116
117
  dayOfWeekFormatter: PropTypes.func,
117
118
  /**
@@ -341,6 +342,9 @@ MobileDateTimePicker.propTypes = {
341
342
  shouldDisableClock: PropTypes.func,
342
343
  /**
343
344
  * Disable specific date.
345
+ *
346
+ * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
347
+ *
344
348
  * @template TDate
345
349
  * @param {TDate} day The date to test.
346
350
  * @returns {boolean} If `true` the date will be disabled.
@@ -15,6 +15,7 @@ import { applyDefaultDate, getMonthsInYear } from '../internals/utils/date-utils
15
15
  import { singleItemValueManager } from '../internals/utils/valueManagers';
16
16
  import { SECTION_TYPE_GRANULARITY } from '../internals/utils/getDefaultReferenceDate';
17
17
  import { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';
18
+ import { DIALOG_WIDTH } from '../internals/constants/dimensions';
18
19
  import { jsx as _jsx } from "react/jsx-runtime";
19
20
  var useUtilityClasses = function useUtilityClasses(ownerState) {
20
21
  var classes = ownerState.classes;
@@ -49,7 +50,9 @@ var MonthCalendarRoot = styled('div', {
49
50
  flexWrap: 'wrap',
50
51
  alignContent: 'stretch',
51
52
  padding: '0 4px',
52
- width: 320
53
+ width: DIALOG_WIDTH,
54
+ // avoid padding increasing width over defined
55
+ boxSizing: 'border-box'
53
56
  });
54
57
  export var MonthCalendar = /*#__PURE__*/React.forwardRef(function MonthCalendar(inProps, ref) {
55
58
  var props = useMonthCalendarDefaultizedProps(inProps, 'MuiMonthCalendar');
@@ -67,9 +67,10 @@ StaticDatePicker.propTypes = {
67
67
  componentsProps: PropTypes.object,
68
68
  /**
69
69
  * Formats the day of week displayed in the calendar header.
70
- * @param {string} day The day of week provided by the adapter's method `getWeekdays`.
70
+ * @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
71
+ * @param {TDate} date The date of the day of week provided by the adapter.
71
72
  * @returns {string} The name to display.
72
- * @default (day) => day.charAt(0).toUpperCase()
73
+ * @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
73
74
  */
74
75
  dayOfWeekFormatter: PropTypes.func,
75
76
  /**
@@ -217,6 +218,9 @@ StaticDatePicker.propTypes = {
217
218
  renderLoading: PropTypes.func,
218
219
  /**
219
220
  * Disable specific date.
221
+ *
222
+ * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
223
+ *
220
224
  * @template TDate
221
225
  * @param {TDate} day The date to test.
222
226
  * @returns {boolean} If `true` the date will be disabled.
@@ -87,9 +87,10 @@ StaticDateTimePicker.propTypes = {
87
87
  componentsProps: PropTypes.object,
88
88
  /**
89
89
  * Formats the day of week displayed in the calendar header.
90
- * @param {string} day The day of week provided by the adapter's method `getWeekdays`.
90
+ * @param {string} day The day of week provided by the adapter. Deprecated, will be removed in v7: Use `date` instead.
91
+ * @param {TDate} date The date of the day of week provided by the adapter.
91
92
  * @returns {string} The name to display.
92
- * @default (day) => day.charAt(0).toUpperCase()
93
+ * @default (_day: string, date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()
93
94
  */
94
95
  dayOfWeekFormatter: PropTypes.func,
95
96
  /**
@@ -273,6 +274,9 @@ StaticDateTimePicker.propTypes = {
273
274
  shouldDisableClock: PropTypes.func,
274
275
  /**
275
276
  * Disable specific date.
277
+ *
278
+ * Warning: This function can be called multiple times (e.g. when rendering date calendar, checking if focus can be moved to a certain date, etc.). Expensive computations can impact performance.
279
+ *
276
280
  * @template TDate
277
281
  * @param {TDate} day The date to test.
278
282
  * @returns {boolean} If `true` the date will be disabled.
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  var _excluded = ["slots", "slotProps", "components", "componentsProps", "InputProps", "inputProps"],
4
4
  _excluded2 = ["inputRef"],
5
- _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly"];
5
+ _excluded3 = ["ref", "onPaste", "onKeyDown", "inputMode", "readOnly", "clearable", "onClear"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import MuiTextField from '@mui/material/TextField';
@@ -10,6 +10,7 @@ import { useThemeProps } from '@mui/material/styles';
10
10
  import { useSlotProps } from '@mui/base/utils';
11
11
  import { refType } from '@mui/utils';
12
12
  import { useTimeField } from './useTimeField';
13
+ import { useClearableField } from '../hooks';
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  var TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, ref) {
15
16
  var _ref, _slots$textField, _slotProps$textField;
@@ -47,11 +48,25 @@ var TimeField = /*#__PURE__*/React.forwardRef(function TimeField(inProps, ref) {
47
48
  onKeyDown = _useTimeField.onKeyDown,
48
49
  inputMode = _useTimeField.inputMode,
49
50
  readOnly = _useTimeField.readOnly,
51
+ clearable = _useTimeField.clearable,
52
+ onClear = _useTimeField.onClear,
50
53
  fieldProps = _objectWithoutProperties(_useTimeField, _excluded3);
54
+ var _useClearableField = useClearableField({
55
+ onClear: onClear,
56
+ clearable: clearable,
57
+ fieldProps: fieldProps,
58
+ InputProps: fieldProps.InputProps,
59
+ slots: slots,
60
+ slotProps: slotProps,
61
+ components: components,
62
+ componentsProps: componentsProps
63
+ }),
64
+ ProcessedInputProps = _useClearableField.InputProps,
65
+ processedFieldProps = _useClearableField.fieldProps;
51
66
  return /*#__PURE__*/_jsx(TextField, _extends({
52
67
  ref: ref
53
- }, fieldProps, {
54
- InputProps: _extends({}, fieldProps.InputProps, {
68
+ }, processedFieldProps, {
69
+ InputProps: _extends({}, ProcessedInputProps, {
55
70
  readOnly: readOnly
56
71
  }),
57
72
  inputProps: _extends({}, fieldProps.inputProps, {
@@ -78,6 +93,11 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
78
93
  */
79
94
  autoFocus: PropTypes.bool,
80
95
  className: PropTypes.string,
96
+ /**
97
+ * If `true`, a clear button will be shown in the field allowing value clearing.
98
+ * @default false
99
+ */
100
+ clearable: PropTypes.bool,
81
101
  /**
82
102
  * The color of the component.
83
103
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -218,6 +238,10 @@ process.env.NODE_ENV !== "production" ? TimeField.propTypes = {
218
238
  * @param {FieldChangeHandlerContext<TError>} context The context containing the validation result of the current value.
219
239
  */
220
240
  onChange: PropTypes.func,
241
+ /**
242
+ * Callback fired when the clear button is clicked.
243
+ */
244
+ onClear: PropTypes.func,
221
245
  /**
222
246
  * Callback fired when the error associated to the current value changes.
223
247
  * @template TValue The value type. Will be either the same type as `value` or `null`. Can be in `[start, end]` format in case of range value.
@@ -232,6 +232,7 @@ process.env.NODE_ENV !== "production" ? TimePickerToolbar.propTypes = {
232
232
  */
233
233
  onViewChange: PropTypes.func.isRequired,
234
234
  readOnly: PropTypes.bool,
235
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
235
236
  titleId: PropTypes.string,
236
237
  /**
237
238
  * Toolbar date format.
@@ -48,7 +48,7 @@ var PickersYearButton = styled('button', {
48
48
  border: 0,
49
49
  outline: 0
50
50
  }, theme.typography.subtitle1, (_extends2 = {
51
- margin: '8px 0',
51
+ margin: '6px 0',
52
52
  height: 36,
53
53
  width: 72,
54
54
  borderRadius: 18,
@@ -15,6 +15,7 @@ import { applyDefaultDate } from '../internals/utils/date-utils';
15
15
  import { singleItemValueManager } from '../internals/utils/valueManagers';
16
16
  import { SECTION_TYPE_GRANULARITY } from '../internals/utils/getDefaultReferenceDate';
17
17
  import { useControlledValueWithTimezone } from '../internals/hooks/useValueWithTimezone';
18
+ import { DIALOG_WIDTH, MAX_CALENDAR_HEIGHT } from '../internals/constants/dimensions';
18
19
  import { jsx as _jsx } from "react/jsx-runtime";
19
20
  var useUtilityClasses = function useUtilityClasses(ownerState) {
20
21
  var classes = ownerState.classes;
@@ -24,6 +25,7 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
24
25
  return composeClasses(slots, getYearCalendarUtilityClass, classes);
25
26
  };
26
27
  function useYearCalendarDefaultizedProps(props, name) {
28
+ var _themeProps$yearsPerR;
27
29
  var utils = useUtils();
28
30
  var defaultDates = useDefaultDates();
29
31
  var themeProps = useThemeProps({
@@ -34,6 +36,7 @@ function useYearCalendarDefaultizedProps(props, name) {
34
36
  disablePast: false,
35
37
  disableFuture: false
36
38
  }, themeProps, {
39
+ yearsPerRow: (_themeProps$yearsPerR = themeProps.yearsPerRow) != null ? _themeProps$yearsPerR : 3,
37
40
  minDate: applyDefaultDate(utils, themeProps.minDate, defaultDates.minDate),
38
41
  maxDate: applyDefaultDate(utils, themeProps.maxDate, defaultDates.maxDate)
39
42
  });
@@ -51,8 +54,8 @@ var YearCalendarRoot = styled('div', {
51
54
  overflowY: 'auto',
52
55
  height: '100%',
53
56
  padding: '0 4px',
54
- width: 320,
55
- maxHeight: 304,
57
+ width: DIALOG_WIDTH,
58
+ maxHeight: MAX_CALENDAR_HEIGHT,
56
59
  // avoid padding increasing width over defined
57
60
  boxSizing: 'border-box',
58
61
  position: 'relative'
@@ -76,8 +79,7 @@ export var YearCalendar = /*#__PURE__*/React.forwardRef(function YearCalendar(in
76
79
  onYearFocus = props.onYearFocus,
77
80
  hasFocus = props.hasFocus,
78
81
  onFocusedViewChange = props.onFocusedViewChange,
79
- _props$yearsPerRow = props.yearsPerRow,
80
- yearsPerRow = _props$yearsPerRow === void 0 ? 3 : _props$yearsPerRow,
82
+ yearsPerRow = props.yearsPerRow,
81
83
  timezoneProp = props.timezone,
82
84
  gridLabelId = props.gridLabelId,
83
85
  other = _objectWithoutProperties(props, _excluded);
@@ -0,0 +1 @@
1
+ export { useClearableField } from './useClearableField';
@@ -0,0 +1,80 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
+ var _excluded = ["ownerState"];
5
+ import * as React from 'react';
6
+ import { useSlotProps } from '@mui/base/utils';
7
+ import MuiIconButton from '@mui/material/IconButton';
8
+ import InputAdornment from '@mui/material/InputAdornment';
9
+ import { ClearIcon } from '../icons';
10
+ import { useLocaleText } from '../internals';
11
+ import { jsx as _jsx } from "react/jsx-runtime";
12
+ import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ export var useClearableField = function useClearableField(_ref) {
14
+ var _ref2, _slots$clearButton, _slotProps$clearButto, _ref3, _slots$clearIcon, _slotProps$clearIcon;
15
+ var clearable = _ref.clearable,
16
+ forwardedFieldProps = _ref.fieldProps,
17
+ ForwardedInputProps = _ref.InputProps,
18
+ onClear = _ref.onClear,
19
+ slots = _ref.slots,
20
+ slotProps = _ref.slotProps,
21
+ components = _ref.components,
22
+ componentsProps = _ref.componentsProps;
23
+ var localeText = useLocaleText();
24
+ var IconButton = (_ref2 = (_slots$clearButton = slots == null ? void 0 : slots.clearButton) != null ? _slots$clearButton : components == null ? void 0 : components.ClearButton) != null ? _ref2 : MuiIconButton;
25
+ // The spread is here to avoid this bug mui/material-ui#34056
26
+ var _useSlotProps = useSlotProps({
27
+ elementType: IconButton,
28
+ externalSlotProps: (_slotProps$clearButto = slotProps == null ? void 0 : slotProps.clearButton) != null ? _slotProps$clearButto : componentsProps == null ? void 0 : componentsProps.clearButton,
29
+ ownerState: {},
30
+ className: 'clearButton',
31
+ additionalProps: {
32
+ title: localeText.fieldClearLabel
33
+ }
34
+ }),
35
+ ownerState = _useSlotProps.ownerState,
36
+ iconButtonProps = _objectWithoutProperties(_useSlotProps, _excluded);
37
+ var EndClearIcon = (_ref3 = (_slots$clearIcon = slots == null ? void 0 : slots.clearIcon) != null ? _slots$clearIcon : components == null ? void 0 : components.ClearIcon) != null ? _ref3 : ClearIcon;
38
+ var endClearIconProps = useSlotProps({
39
+ elementType: EndClearIcon,
40
+ externalSlotProps: (_slotProps$clearIcon = slotProps == null ? void 0 : slotProps.clearIcon) != null ? _slotProps$clearIcon : componentsProps == null ? void 0 : componentsProps.clearIcon,
41
+ ownerState: {}
42
+ });
43
+ var InputProps = _extends({}, ForwardedInputProps, {
44
+ endAdornment: clearable ? /*#__PURE__*/_jsxs(React.Fragment, {
45
+ children: [/*#__PURE__*/_jsx(InputAdornment, {
46
+ position: "end",
47
+ sx: {
48
+ marginRight: ForwardedInputProps != null && ForwardedInputProps.endAdornment ? -1 : -1.5
49
+ },
50
+ children: /*#__PURE__*/_jsx(IconButton, _extends({}, iconButtonProps, {
51
+ onClick: onClear,
52
+ children: /*#__PURE__*/_jsx(EndClearIcon, _extends({
53
+ fontSize: "small"
54
+ }, endClearIconProps))
55
+ }))
56
+ }), ForwardedInputProps == null ? void 0 : ForwardedInputProps.endAdornment]
57
+ }) : ForwardedInputProps == null ? void 0 : ForwardedInputProps.endAdornment
58
+ });
59
+ var fieldProps = _extends({}, forwardedFieldProps, {
60
+ sx: [{
61
+ '& .clearButton': {
62
+ opacity: 1
63
+ },
64
+ '@media (pointer: fine)': {
65
+ '& .clearButton': {
66
+ opacity: 0
67
+ },
68
+ '&:hover, &:focus-within': {
69
+ '.clearButton': {
70
+ opacity: 1
71
+ }
72
+ }
73
+ }
74
+ }].concat(_toConsumableArray(Array.isArray(forwardedFieldProps.sx) ? forwardedFieldProps.sx : [forwardedFieldProps.sx]))
75
+ });
76
+ return {
77
+ InputProps: InputProps,
78
+ fieldProps: fieldProps
79
+ };
80
+ };
@@ -58,4 +58,11 @@ export var TimeIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
58
58
  }), /*#__PURE__*/_jsx("path", {
59
59
  d: "M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"
60
60
  })]
61
- }), 'Time');
61
+ }), 'Time');
62
+
63
+ /**
64
+ * @ignore - internal component.
65
+ */
66
+ export var ClearIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
67
+ d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
68
+ }), 'Clear');
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers v6.15.0
2
+ * @mui/x-date-pickers v6.16.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -48,4 +48,5 @@ export * from './PickersActionBar';
48
48
  export * from './PickersShortcuts';
49
49
  export { DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from './internals/utils/utils';
50
50
  export * from './models';
51
- export * from './icons';
51
+ export * from './icons';
52
+ export * from './hooks';
@@ -1,6 +1,7 @@
1
1
  export var DAY_SIZE = 36;
2
2
  export var DAY_MARGIN = 2;
3
3
  export var DIALOG_WIDTH = 320;
4
- export var VIEW_HEIGHT = 358;
4
+ export var MAX_CALENDAR_HEIGHT = 280;
5
+ export var VIEW_HEIGHT = 334;
5
6
  export var DIGITAL_CLOCK_VIEW_HEIGHT = 232;
6
7
  export var MULTI_SECTION_CLOCK_SECTION_WIDTH = 48;
@@ -119,7 +119,9 @@ export var useDesktopPicker = function useDesktopPicker(_ref) {
119
119
  }))));
120
120
  }
121
121
  var slotsForField = _extends({
122
- textField: slots.textField
122
+ textField: slots.textField,
123
+ clearIcon: slots.clearIcon,
124
+ clearButton: slots.clearButton
123
125
  }, fieldProps.slots);
124
126
  var Layout = (_slots$layout = slots.layout) != null ? _slots$layout : PickersLayout;
125
127
  var handleInputRef = useForkRef(internalInputRef, fieldProps.inputRef, inputRef);
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
- var _excluded = ["onClick", "onKeyDown", "onFocus", "onBlur", "onMouseUp", "onPaste", "error"];
4
+ var _excluded = ["onClick", "onKeyDown", "onFocus", "onBlur", "onMouseUp", "onPaste", "error", "clearable", "onClear", "disabled"];
5
5
  import * as React from 'react';
6
6
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
7
7
  import useEventCallback from '@mui/utils/useEventCallback';
@@ -42,6 +42,9 @@ export var useField = function useField(params) {
42
42
  onMouseUp = _params$forwardedProp.onMouseUp,
43
43
  onPaste = _params$forwardedProp.onPaste,
44
44
  error = _params$forwardedProp.error,
45
+ clearable = _params$forwardedProp.clearable,
46
+ onClear = _params$forwardedProp.onClear,
47
+ disabled = _params$forwardedProp.disabled,
45
48
  otherForwardedProps = _objectWithoutProperties(_params$forwardedProp, _excluded),
46
49
  fieldValueManager = params.fieldValueManager,
47
50
  valueManager = params.valueManager,
@@ -85,11 +88,16 @@ export var useField = function useField(params) {
85
88
  var sectionIndex = nextSectionIndex === -1 ? state.sections.length - 1 : nextSectionIndex - 1;
86
89
  _setSelectedSections(sectionIndex);
87
90
  };
88
- var handleInputClick = useEventCallback(function () {
89
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
90
- args[_key] = arguments[_key];
91
+ var handleInputClick = useEventCallback(function (event) {
92
+ // The click event on the clear button would propagate to the input, trigger this handler and result in a wrong section selection.
93
+ // We avoid this by checking if the call of `handleInputClick` is actually intended, or a side effect.
94
+ if (event.isDefaultPrevented()) {
95
+ return;
96
+ }
97
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
98
+ args[_key - 1] = arguments[_key];
91
99
  }
92
- onClick == null || onClick.apply(void 0, _toConsumableArray(args));
100
+ onClick == null || onClick.apply(void 0, [event].concat(_toConsumableArray(args)));
93
101
  syncSelectionFromDOM();
94
102
  });
95
103
  var handleInputMouseUp = useEventCallback(function (event) {
@@ -384,7 +392,8 @@ export var useField = function useField(params) {
384
392
  return 'numeric';
385
393
  }, [selectedSectionIndexes, state.sections]);
386
394
  var inputHasFocus = inputRef.current && inputRef.current === getActiveElement(document);
387
- var shouldShowPlaceholder = !inputHasFocus && valueManager.areValuesEqual(utils, state.value, valueManager.emptyValue);
395
+ var areAllSectionsEmpty = valueManager.areValuesEqual(utils, state.value, valueManager.emptyValue);
396
+ var shouldShowPlaceholder = !inputHasFocus && areAllSectionsEmpty;
388
397
  React.useImperativeHandle(unstableFieldRef, function () {
389
398
  return {
390
399
  getSections: function getSections() {
@@ -408,9 +417,21 @@ export var useField = function useField(params) {
408
417
  }
409
418
  };
410
419
  });
420
+ var handleClearValue = useEventCallback(function (event) {
421
+ var _inputRef$current;
422
+ event.preventDefault();
423
+ for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
424
+ args[_key4 - 1] = arguments[_key4];
425
+ }
426
+ onClear == null || onClear.apply(void 0, [event].concat(_toConsumableArray(args)));
427
+ clearValue();
428
+ inputRef == null || (_inputRef$current = inputRef.current) == null || _inputRef$current.focus();
429
+ _setSelectedSections(0);
430
+ });
411
431
  return _extends({
412
432
  placeholder: placeholder,
413
- autoComplete: 'off'
433
+ autoComplete: 'off',
434
+ disabled: Boolean(disabled)
414
435
  }, otherForwardedProps, {
415
436
  value: shouldShowPlaceholder ? '' : valueStr,
416
437
  inputMode: inputMode,
@@ -422,7 +443,9 @@ export var useField = function useField(params) {
422
443
  onChange: handleInputChange,
423
444
  onKeyDown: handleInputKeyDown,
424
445
  onMouseUp: handleInputMouseUp,
446
+ onClear: handleClearValue,
425
447
  error: inputError,
426
- ref: handleRef
448
+ ref: handleRef,
449
+ clearable: Boolean(clearable && !areAllSectionsEmpty && !readOnly && !disabled)
427
450
  });
428
451
  };
@@ -120,4 +120,10 @@ export var resolveDateFormat = function resolveDateFormat(utils, _ref2, isInTool
120
120
  return /en/.test(utils.getCurrentLocaleCode()) ? formats.normalDateWithWeekday : formats.normalDate;
121
121
  }
122
122
  return formats.keyboardDate;
123
+ };
124
+ export var getWeekdays = function getWeekdays(utils, date) {
125
+ var start = utils.startOfWeek(date);
126
+ return [0, 1, 2, 3, 4, 5, 6].map(function (diff) {
127
+ return utils.addDays(start, diff);
128
+ });
123
129
  };
@@ -62,6 +62,8 @@ var beBYPickers = {
62
62
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
63
63
  return value !== null && utils.isValid(value) ? "\u0410\u0431\u0440\u0430\u0446\u044C \u0447\u0430\u0441, \u0430\u0431\u0440\u044B\u043D\u044B \u0447\u0430\u0441 ".concat(utils.format(value, 'fullTime')) : 'Абраць час';
64
64
  },
65
+ // fieldClearLabel: 'Clear value',
66
+
65
67
  // Table labels
66
68
  timeTableLabel: 'абраць час',
67
69
  dateTableLabel: 'абраць дату',
@@ -61,6 +61,8 @@ var caESPickers = {
61
61
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
62
62
  return value !== null && utils.isValid(value) ? "Tria l'hora, l'hora triada \xE9s ".concat(utils.format(value, 'fullTime')) : "Tria l'hora";
63
63
  },
64
+ // fieldClearLabel: 'Clear value',
65
+
64
66
  // Table labels
65
67
  timeTableLabel: 'tria la data',
66
68
  dateTableLabel: "tria l'hora",
@@ -63,6 +63,8 @@ var csCZPickers = {
63
63
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
64
64
  return value !== null && utils.isValid(value) ? "Vyberte \u010Das, vybran\xFD \u010Das je ".concat(utils.format(value, 'fullTime')) : 'Vyberte čas';
65
65
  },
66
+ // fieldClearLabel: 'Clear value',
67
+
66
68
  // Table labels
67
69
  timeTableLabel: 'vyberte čas',
68
70
  dateTableLabel: 'vyberte datum',
@@ -63,6 +63,8 @@ var daDKPickers = {
63
63
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
64
64
  return value !== null && utils.isValid(value) ? "V\xE6lg tidspunkt, valgte tidspunkt er ".concat(utils.format(value, 'fullTime')) : 'Vælg tidspunkt';
65
65
  },
66
+ // fieldClearLabel: 'Clear value',
67
+
66
68
  // Table labels
67
69
  timeTableLabel: 'vælg tidspunkt',
68
70
  dateTableLabel: 'vælg dato',
@@ -63,6 +63,8 @@ var deDEPickers = {
63
63
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
64
64
  return value !== null && utils.isValid(value) ? "Uhrzeit ausw\xE4hlen, gew\xE4hlte Uhrzeit ist ".concat(utils.format(value, 'fullTime')) : 'Uhrzeit auswählen';
65
65
  },
66
+ // fieldClearLabel: 'Clear value',
67
+
66
68
  // Table labels
67
69
  timeTableLabel: 'Uhrzeit auswählen',
68
70
  dateTableLabel: 'Datum auswählen',
@@ -61,6 +61,8 @@ var elGRPickers = {
61
61
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
62
62
  return value !== null && utils.isValid(value) ? "\u0395\u03C0\u03B9\u03BB\u03AD\u03BE\u03C4\u03B5 \u03CE\u03C1\u03B1, \u03B7 \u03B5\u03C0\u03B9\u03BB\u03B5\u03B3\u03BC\u03AD\u03BD\u03B7 \u03CE\u03C1\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 ".concat(utils.format(value, 'fullTime')) : 'Επιλέξτε ώρα';
63
63
  },
64
+ // fieldClearLabel: 'Clear value',
65
+
64
66
  // Table labels
65
67
  timeTableLabel: 'επιλέξτε ώρα',
66
68
  dateTableLabel: 'επιλέξτε ημερομηνία',
@@ -58,6 +58,7 @@ var enUSPickers = {
58
58
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
59
59
  return value !== null && utils.isValid(value) ? "Choose time, selected time is ".concat(utils.format(value, 'fullTime')) : 'Choose time';
60
60
  },
61
+ fieldClearLabel: 'Clear value',
61
62
  // Table labels
62
63
  timeTableLabel: 'pick time',
63
64
  dateTableLabel: 'pick date',
@@ -61,6 +61,8 @@ var esESPickers = {
61
61
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
62
62
  return value !== null && utils.isValid(value) ? "Elige la hora, la hora elegido es ".concat(utils.format(value, 'fullTime')) : 'Elige la hora';
63
63
  },
64
+ // fieldClearLabel: 'Clear value',
65
+
64
66
  // Table labels
65
67
  timeTableLabel: 'elige la fecha',
66
68
  dateTableLabel: 'elige la hora',
@@ -61,6 +61,8 @@ var faIRPickers = {
61
61
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
62
62
  return value !== null && utils.isValid(value) ? "\u0633\u0627\u0639\u062A \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F\u060C \u0633\u0627\u0639\u062A \u0627\u0646\u062A\u062E\u0627\u0628 \u0634\u062F\u0647 ".concat(utils.format(value, 'fullTime'), " \u0645\u06CC \u0628\u0627\u0634\u062F") : 'ساعت را انتخاب کنید';
63
63
  },
64
+ // fieldClearLabel: 'Clear value',
65
+
64
66
  // Table labels
65
67
  timeTableLabel: 'انتخاب تاریخ',
66
68
  dateTableLabel: 'انتخاب ساعت',
@@ -61,6 +61,8 @@ var fiFIPickers = {
61
61
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
62
62
  return value !== null && utils.isValid(value) ? "Valitse aika, valittu aika on ".concat(utils.format(value, 'fullTime')) : 'Valitse aika';
63
63
  },
64
+ // fieldClearLabel: 'Clear value',
65
+
64
66
  // Table labels
65
67
  timeTableLabel: 'valitse aika',
66
68
  dateTableLabel: 'valitse päivä',
@@ -61,6 +61,8 @@ var frFRPickers = {
61
61
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
62
62
  return value !== null && utils.isValid(value) ? "Choisir l'heure, l'heure s\xE9lectionn\xE9e est ".concat(utils.format(value, 'fullTime')) : "Choisir l'heure";
63
63
  },
64
+ // fieldClearLabel: 'Clear value',
65
+
64
66
  // Table labels
65
67
  timeTableLabel: "choix de l'heure",
66
68
  dateTableLabel: 'choix de la date',
@@ -61,6 +61,8 @@ var heILPickers = {
61
61
  openTimePickerDialogue: function openTimePickerDialogue(value, utils) {
62
62
  return value !== null && utils.isValid(value) ? "\u05D1\u05D7\u05D9\u05E8\u05EA \u05E9\u05E2\u05D4, \u05D4\u05E9\u05E2\u05D4 \u05E9\u05E0\u05D1\u05D7\u05E8\u05D4 \u05D4\u05D9\u05D0 ".concat(utils.format(value, 'fullTime')) : 'בחירת שעה';
63
63
  },
64
+ // fieldClearLabel: 'Clear value',
65
+
64
66
  // Table labels
65
67
  timeTableLabel: 'בחירת שעה',
66
68
  dateTableLabel: 'בחירת תאריך',