@mui/x-date-pickers-pro 7.0.0-beta.1 → 7.0.0-beta.4

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 (293) hide show
  1. package/CHANGELOG.md +437 -4
  2. package/DateRangeCalendar/DateRangeCalendar.d.ts +2 -1
  3. package/DateRangeCalendar/DateRangeCalendar.js +9 -7
  4. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +10 -7
  5. package/DateRangeCalendar/useDragRange.d.ts +4 -4
  6. package/DateRangePicker/DateRangePicker.d.ts +2 -1
  7. package/DateRangePicker/DateRangePicker.js +14 -14
  8. package/DateRangePicker/DateRangePicker.types.d.ts +5 -4
  9. package/DateRangePicker/DateRangePickerToolbar.d.ts +6 -2
  10. package/DateRangePicker/DateRangePickerToolbar.js +7 -1
  11. package/DateRangePicker/shared.d.ts +6 -5
  12. package/DateRangePickerDay/DateRangePickerDay.d.ts +3 -2
  13. package/DateRangePickerDay/DateRangePickerDay.js +2 -2
  14. package/DateTimeRangePicker/DateTimeRangePicker.d.ts +2 -1
  15. package/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
  16. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +5 -4
  17. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  18. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +3 -2
  19. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +6 -2
  20. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
  21. package/DateTimeRangePicker/shared.d.ts +6 -5
  22. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +2 -1
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
  24. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +5 -4
  25. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +2 -1
  26. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
  27. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +5 -4
  28. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.d.ts +2 -1
  29. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +2 -1
  30. package/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
  31. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +5 -4
  32. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +2 -1
  33. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -21
  34. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +5 -4
  35. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +2 -1
  36. package/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
  37. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +12 -14
  38. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +2 -1
  39. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
  40. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +13 -16
  41. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +2 -1
  42. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
  43. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +13 -16
  44. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +3 -2
  45. package/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
  46. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +11 -13
  47. package/SingleInputDateRangeField/index.d.ts +1 -1
  48. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +3 -3
  49. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -15
  50. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +3 -2
  51. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +21 -19
  52. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +12 -14
  53. package/SingleInputDateTimeRangeField/index.d.ts +1 -1
  54. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +3 -3
  55. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -20
  56. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +3 -2
  57. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
  58. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +12 -14
  59. package/SingleInputTimeRangeField/index.d.ts +1 -1
  60. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +3 -3
  61. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -14
  62. package/StaticDateRangePicker/StaticDateRangePicker.d.ts +2 -1
  63. package/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
  64. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +4 -3
  65. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +3 -2
  66. package/index.d.ts +7 -2
  67. package/index.js +8 -2
  68. package/internals/hooks/models/useRangePicker.d.ts +8 -7
  69. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +2 -1
  70. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +17 -8
  71. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -6
  72. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +15 -15
  73. package/internals/hooks/useEnrichedRangePickerFieldProps.js +37 -40
  74. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +2 -1
  75. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
  76. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -6
  77. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +21 -0
  78. package/internals/hooks/useMultiInputFieldSelectedSections.js +43 -0
  79. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +2 -1
  80. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
  81. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +3 -3
  82. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
  83. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +4 -4
  84. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +3 -3
  85. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
  86. package/internals/hooks/useRangePosition.d.ts +2 -4
  87. package/internals/hooks/useRangePosition.js +3 -6
  88. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +2 -1
  89. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  90. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -6
  91. package/internals/models/dateRange.d.ts +5 -16
  92. package/internals/models/dateTimeRange.d.ts +5 -6
  93. package/internals/models/index.d.ts +0 -1
  94. package/internals/models/index.js +0 -1
  95. package/internals/models/timeRange.d.ts +4 -6
  96. package/internals/utils/date-fields-utils.d.ts +1 -5
  97. package/internals/utils/date-range-manager.d.ts +5 -5
  98. package/internals/utils/date-utils.d.ts +5 -5
  99. package/internals/utils/releaseInfo.js +1 -1
  100. package/internals/utils/validation/validateDateRange.d.ts +2 -2
  101. package/internals/utils/validation/validateDateTimeRange.d.ts +2 -2
  102. package/internals/utils/valueManagers.d.ts +3 -3
  103. package/internals/utils/valueManagers.js +11 -6
  104. package/models/fields.d.ts +69 -0
  105. package/models/index.d.ts +1 -0
  106. package/models/index.js +1 -0
  107. package/models/range.d.ts +3 -2
  108. package/modern/DateRangeCalendar/DateRangeCalendar.js +9 -7
  109. package/modern/DateRangePicker/DateRangePicker.js +14 -14
  110. package/modern/DateRangePicker/DateRangePickerToolbar.js +7 -1
  111. package/modern/DateRangePickerDay/DateRangePickerDay.js +2 -2
  112. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
  113. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  114. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
  115. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
  116. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
  117. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
  118. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -21
  119. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
  120. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
  121. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
  122. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
  123. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -14
  124. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +21 -19
  125. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -19
  126. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
  127. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -13
  128. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
  129. package/modern/index.js +8 -2
  130. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +17 -8
  131. package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +34 -37
  132. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
  133. package/modern/internals/hooks/useMultiInputFieldSelectedSections.js +40 -0
  134. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
  135. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -30
  136. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -24
  137. package/modern/internals/hooks/useRangePosition.js +3 -6
  138. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  139. package/modern/internals/models/index.js +0 -1
  140. package/modern/internals/utils/releaseInfo.js +1 -1
  141. package/modern/internals/utils/valueManagers.js +11 -6
  142. package/modern/models/index.js +1 -0
  143. package/node/DateRangeCalendar/DateRangeCalendar.js +10 -8
  144. package/node/DateRangePicker/DateRangePicker.js +14 -14
  145. package/node/DateRangePicker/DateRangePickerToolbar.js +7 -1
  146. package/node/DateRangePickerDay/DateRangePickerDay.js +3 -3
  147. package/node/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
  148. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  149. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
  150. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
  151. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
  152. package/node/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
  153. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +22 -23
  154. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
  155. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
  156. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
  157. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
  158. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -16
  159. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +24 -22
  160. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -21
  161. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
  162. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -15
  163. package/node/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
  164. package/node/index.js +18 -9
  165. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +18 -9
  166. package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +33 -36
  167. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +19 -10
  168. package/node/internals/hooks/useMultiInputFieldSelectedSections.js +50 -0
  169. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +16 -11
  170. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
  171. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
  172. package/node/internals/hooks/useRangePosition.js +3 -8
  173. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  174. package/node/internals/models/index.js +0 -11
  175. package/node/internals/utils/releaseInfo.js +1 -1
  176. package/node/internals/utils/valueManagers.js +10 -5
  177. package/node/models/index.js +11 -0
  178. package/package.json +6 -6
  179. package/themeAugmentation/props.d.ts +17 -17
  180. package/internals/models/fields.d.ts +0 -49
  181. package/legacy/AdapterDateFns/index.js +0 -1
  182. package/legacy/AdapterDateFnsJalali/index.js +0 -1
  183. package/legacy/AdapterDateFnsV3/index.js +0 -1
  184. package/legacy/AdapterDayjs/index.js +0 -1
  185. package/legacy/AdapterLuxon/index.js +0 -1
  186. package/legacy/AdapterMoment/index.js +0 -1
  187. package/legacy/AdapterMomentHijri/index.js +0 -1
  188. package/legacy/AdapterMomentJalaali/index.js +0 -1
  189. package/legacy/DateRangeCalendar/DateRangeCalendar.js +0 -764
  190. package/legacy/DateRangeCalendar/DateRangeCalendar.types.js +0 -1
  191. package/legacy/DateRangeCalendar/dateRangeCalendarClasses.js +0 -5
  192. package/legacy/DateRangeCalendar/index.js +0 -2
  193. package/legacy/DateRangeCalendar/useDragRange.js +0 -258
  194. package/legacy/DateRangePicker/DateRangePicker.js +0 -334
  195. package/legacy/DateRangePicker/DateRangePicker.types.js +0 -1
  196. package/legacy/DateRangePicker/DateRangePickerToolbar.js +0 -127
  197. package/legacy/DateRangePicker/dateRangePickerToolbarClasses.js +0 -5
  198. package/legacy/DateRangePicker/index.js +0 -3
  199. package/legacy/DateRangePicker/shared.js +0 -33
  200. package/legacy/DateRangePickerDay/DateRangePickerDay.js +0 -366
  201. package/legacy/DateRangePickerDay/dateRangePickerDayClasses.js +0 -5
  202. package/legacy/DateRangePickerDay/index.js +0 -2
  203. package/legacy/DateTimeRangePicker/DateTimeRangePicker.js +0 -413
  204. package/legacy/DateTimeRangePicker/DateTimeRangePicker.types.js +0 -1
  205. package/legacy/DateTimeRangePicker/DateTimeRangePickerTabs.js +0 -191
  206. package/legacy/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +0 -57
  207. package/legacy/DateTimeRangePicker/DateTimeRangePickerToolbar.js +0 -184
  208. package/legacy/DateTimeRangePicker/dateTimeRangePickerTabsClasses.js +0 -6
  209. package/legacy/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.js +0 -5
  210. package/legacy/DateTimeRangePicker/index.js +0 -5
  211. package/legacy/DateTimeRangePicker/shared.js +0 -54
  212. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -343
  213. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.types.js +0 -1
  214. package/legacy/DesktopDateRangePicker/index.js +0 -1
  215. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +0 -491
  216. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.js +0 -1
  217. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.js +0 -48
  218. package/legacy/DesktopDateTimeRangePicker/index.js +0 -1
  219. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -339
  220. package/legacy/MobileDateRangePicker/MobileDateRangePicker.types.js +0 -1
  221. package/legacy/MobileDateRangePicker/index.js +0 -1
  222. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +0 -484
  223. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.js +0 -1
  224. package/legacy/MobileDateTimeRangePicker/index.js +0 -1
  225. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +0 -316
  226. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  227. package/legacy/MultiInputDateRangeField/index.js +0 -2
  228. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +0 -357
  229. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  230. package/legacy/MultiInputDateTimeRangeField/index.js +0 -2
  231. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +0 -330
  232. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  233. package/legacy/MultiInputTimeRangeField/index.js +0 -2
  234. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +0 -307
  235. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.types.js +0 -1
  236. package/legacy/SingleInputDateRangeField/index.js +0 -2
  237. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +0 -30
  238. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +0 -348
  239. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +0 -1
  240. package/legacy/SingleInputDateTimeRangeField/index.js +0 -2
  241. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +0 -35
  242. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +0 -321
  243. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +0 -1
  244. package/legacy/SingleInputTimeRangeField/index.js +0 -2
  245. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +0 -29
  246. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -276
  247. package/legacy/StaticDateRangePicker/StaticDateRangePicker.types.js +0 -1
  248. package/legacy/StaticDateRangePicker/index.js +0 -1
  249. package/legacy/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -87
  250. package/legacy/dateRangeViewRenderers/index.js +0 -1
  251. package/legacy/index.js +0 -33
  252. package/legacy/internals/constants/dimensions.js +0 -5
  253. package/legacy/internals/hooks/models/index.js +0 -1
  254. package/legacy/internals/hooks/models/useRangePicker.js +0 -1
  255. package/legacy/internals/hooks/useDesktopRangePicker/index.js +0 -1
  256. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +0 -154
  257. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.js +0 -1
  258. package/legacy/internals/hooks/useEnrichedRangePickerFieldProps.js +0 -258
  259. package/legacy/internals/hooks/useMobileRangePicker/index.js +0 -1
  260. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +0 -144
  261. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.js +0 -1
  262. package/legacy/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  263. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -102
  264. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -115
  265. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  266. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -109
  267. package/legacy/internals/hooks/useRangePosition.js +0 -39
  268. package/legacy/internals/hooks/useStaticRangePicker/index.js +0 -1
  269. package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -76
  270. package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.js +0 -1
  271. package/legacy/internals/models/dateRange.js +0 -1
  272. package/legacy/internals/models/dateTimeRange.js +0 -1
  273. package/legacy/internals/models/index.js +0 -5
  274. package/legacy/internals/models/rangePickerProps.js +0 -1
  275. package/legacy/internals/models/timeRange.js +0 -1
  276. package/legacy/internals/utils/date-fields-utils.js +0 -26
  277. package/legacy/internals/utils/date-range-manager.js +0 -65
  278. package/legacy/internals/utils/date-utils.js +0 -12
  279. package/legacy/internals/utils/releaseInfo.js +0 -13
  280. package/legacy/internals/utils/validation/validateDateRange.js +0 -45
  281. package/legacy/internals/utils/validation/validateDateTimeRange.js +0 -45
  282. package/legacy/internals/utils/validation/validateTimeRange.js +0 -32
  283. package/legacy/internals/utils/valueManagers.js +0 -135
  284. package/legacy/locales/index.js +0 -1
  285. package/legacy/models/index.js +0 -3
  286. package/legacy/models/multiInputRangeFieldClasses.js +0 -1
  287. package/legacy/models/range.js +0 -1
  288. package/legacy/models/validation.js +0 -1
  289. package/legacy/themeAugmentation/index.js +0 -4
  290. package/modern/internals/models/fields.js +0 -1
  291. /package/{internals/models → models}/fields.js +0 -0
  292. /package/{legacy/internals → modern}/models/fields.js +0 -0
  293. /package/node/{internals/models → models}/fields.js +0 -0
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["slots", "slotProps", "disabled", "autoFocus", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
3
+ const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { clsx } from 'clsx';
@@ -11,6 +11,7 @@ import { styled, useThemeProps } from '@mui/material/styles';
11
11
  import { useSlotProps } from '@mui/base/utils';
12
12
  import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
13
13
  import { splitFieldInternalAndForwardedProps, convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
14
+ import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
14
15
  import { useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
15
16
  import { jsx as _jsx } from "react/jsx-runtime";
16
17
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -59,14 +60,12 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
59
60
  name: 'MuiMultiInputTimeRangeField'
60
61
  });
61
62
  const {
62
- internalProps: timeFieldInternalProps,
63
+ internalProps,
63
64
  forwardedProps
64
65
  } = splitFieldInternalAndForwardedProps(themeProps, 'time');
65
66
  const {
66
67
  slots,
67
68
  slotProps,
68
- disabled,
69
- autoFocus,
70
69
  unstableStartFieldRef,
71
70
  unstableEndFieldRef,
72
71
  className
@@ -85,13 +84,10 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
85
84
  ownerState,
86
85
  className: clsx(className, classes.root)
87
86
  });
88
- const TextField = slots?.textField ?? MuiTextField;
87
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
89
88
  const startTextFieldProps = useSlotProps({
90
89
  elementType: TextField,
91
90
  externalSlotProps: slotProps?.textField,
92
- additionalProps: {
93
- autoFocus
94
- },
95
91
  ownerState: _extends({}, ownerState, {
96
92
  position: 'start'
97
93
  })
@@ -111,9 +107,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
111
107
  className: classes.separator
112
108
  });
113
109
  const fieldResponse = useMultiInputTimeRangeField({
114
- sharedProps: _extends({}, timeFieldInternalProps, {
115
- disabled
116
- }),
110
+ sharedProps: internalProps,
117
111
  startTextFieldProps,
118
112
  endTextFieldProps,
119
113
  unstableStartFieldRef,
@@ -139,6 +133,9 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
139
133
  * @default `utils.is12HourCycleInCurrentLocale()`
140
134
  */
141
135
  ampm: PropTypes.bool,
136
+ /**
137
+ * If `true`, the `input` element is focused during the first mount.
138
+ */
142
139
  autoFocus: PropTypes.bool,
143
140
  /**
144
141
  * Override or extend the styles applied to the component.
@@ -149,7 +146,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
149
146
  /**
150
147
  * The default value. Use when the component is not controlled.
151
148
  */
152
- defaultValue: PropTypes.arrayOf(PropTypes.any),
149
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
153
150
  /**
154
151
  * Defines the `flex-direction` style property.
155
152
  * It is applied for all screen sizes.
@@ -180,6 +177,10 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
180
177
  * Add an element between each child.
181
178
  */
182
179
  divider: PropTypes.node,
180
+ /**
181
+ * @default false
182
+ */
183
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
183
184
  /**
184
185
  * Format of the date when rendered in the input(s).
185
186
  */
@@ -194,12 +195,12 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
194
195
  * Maximal selectable time.
195
196
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
196
197
  */
197
- maxTime: PropTypes.any,
198
+ maxTime: PropTypes.object,
198
199
  /**
199
200
  * Minimal selectable time.
200
201
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
201
202
  */
202
- minTime: PropTypes.any,
203
+ minTime: PropTypes.object,
203
204
  /**
204
205
  * Step over minutes.
205
206
  * @default 1
@@ -237,20 +238,17 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
237
238
  * For example, on time fields it will be used to determine the date to set.
238
239
  * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
239
240
  */
240
- referenceDate: PropTypes.any,
241
+ referenceDate: PropTypes.object,
241
242
  /**
242
243
  * The currently selected sections.
243
- * This prop accept four formats:
244
+ * This prop accepts four formats:
244
245
  * 1. If a number is provided, the section at this index will be selected.
245
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
246
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
247
- * 4. If `null` is provided, no section will be selected
246
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
247
+ * 3. If `"all"` is provided, all the sections will be selected.
248
+ * 4. If `null` is provided, no section will be selected.
248
249
  * If not provided, the selected sections will be handled internally.
249
250
  */
250
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
251
- endIndex: PropTypes.number.isRequired,
252
- startIndex: PropTypes.number.isRequired
253
- })]),
251
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
254
252
  /**
255
253
  * Disable specific time.
256
254
  * @template TDate
@@ -318,6 +316,6 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
318
316
  * The selected value.
319
317
  * Used when the component is controlled.
320
318
  */
321
- value: PropTypes.arrayOf(PropTypes.any)
319
+ value: PropTypes.arrayOf(PropTypes.object)
322
320
  } : void 0;
323
321
  export { MultiInputTimeRangeField };
@@ -6,9 +6,10 @@ import PropTypes from 'prop-types';
6
6
  import MuiTextField from '@mui/material/TextField';
7
7
  import { useThemeProps } from '@mui/material/styles';
8
8
  import { useSlotProps } from '@mui/base/utils';
9
+ import { refType } from '@mui/utils';
9
10
  import { useClearableField } from '@mui/x-date-pickers/hooks';
10
11
  import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
11
- import { refType } from '@mui/utils';
12
+ import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
12
13
  import { useSingleInputDateRangeField } from './useSingleInputDateRangeField';
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  /**
@@ -34,7 +35,7 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
34
35
  } = themeProps,
35
36
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
36
37
  const ownerState = themeProps;
37
- const TextField = slots?.textField ?? MuiTextField;
38
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
38
39
  const textFieldProps = useSlotProps({
39
40
  elementType: TextField,
40
41
  externalSlotProps: slotProps?.textField,
@@ -84,7 +85,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
84
85
  /**
85
86
  * The default value. Use when the component is not controlled.
86
87
  */
87
- defaultValue: PropTypes.arrayOf(PropTypes.any),
88
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
88
89
  /**
89
90
  * If `true`, the component is disabled.
90
91
  * @default false
@@ -100,6 +101,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
100
101
  * @default false
101
102
  */
102
103
  disablePast: PropTypes.bool,
104
+ /**
105
+ * @default false
106
+ */
107
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
103
108
  /**
104
109
  * If `true`, the component is displayed in focused state.
105
110
  */
@@ -171,11 +176,11 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
171
176
  /**
172
177
  * Maximal selectable date.
173
178
  */
174
- maxDate: PropTypes.any,
179
+ maxDate: PropTypes.object,
175
180
  /**
176
181
  * Minimal selectable date.
177
182
  */
178
- minDate: PropTypes.any,
183
+ minDate: PropTypes.object,
179
184
  /**
180
185
  * Name attribute of the `input` element.
181
186
  */
@@ -218,7 +223,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
218
223
  * For example, on time fields it will be used to determine the date to set.
219
224
  * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
220
225
  */
221
- referenceDate: PropTypes.any,
226
+ referenceDate: PropTypes.object,
222
227
  /**
223
228
  * If `true`, the label is displayed as required and the `input` element is required.
224
229
  * @default false
@@ -226,17 +231,14 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
226
231
  required: PropTypes.bool,
227
232
  /**
228
233
  * The currently selected sections.
229
- * This prop accept four formats:
234
+ * This prop accepts four formats:
230
235
  * 1. If a number is provided, the section at this index will be selected.
231
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
232
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
233
- * 4. If `null` is provided, no section will be selected
236
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
237
+ * 3. If `"all"` is provided, all the sections will be selected.
238
+ * 4. If `null` is provided, no section will be selected.
234
239
  * If not provided, the selected sections will be handled internally.
235
240
  */
236
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
237
- endIndex: PropTypes.number.isRequired,
238
- startIndex: PropTypes.number.isRequired
239
- })]),
241
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
240
242
  /**
241
243
  * Disable specific date.
242
244
  *
@@ -298,7 +300,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
298
300
  * The selected value.
299
301
  * Used when the component is controlled.
300
302
  */
301
- value: PropTypes.arrayOf(PropTypes.any),
303
+ value: PropTypes.arrayOf(PropTypes.object),
302
304
  /**
303
305
  * The variant to use.
304
306
  * @default 'outlined'
@@ -1,20 +1,8 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { useUtils, useDefaultDates, applyDefaultDate, useField, splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
1
+ import { useField, splitFieldInternalAndForwardedProps, useDefaultizedDateField } from '@mui/x-date-pickers/internals';
3
2
  import { rangeValueManager, rangeFieldValueManager } from '../internals/utils/valueManagers';
4
3
  import { validateDateRange } from '../internals/utils/validation/validateDateRange';
5
- export const useDefaultizedDateRangeFieldProps = props => {
6
- const utils = useUtils();
7
- const defaultDates = useDefaultDates();
8
- return _extends({}, props, {
9
- disablePast: props.disablePast ?? false,
10
- disableFuture: props.disableFuture ?? false,
11
- format: props.format ?? utils.formats.keyboardDate,
12
- minDate: applyDefaultDate(utils, props.minDate, defaultDates.minDate),
13
- maxDate: applyDefaultDate(utils, props.maxDate, defaultDates.maxDate)
14
- });
15
- };
16
4
  export const useSingleInputDateRangeField = inProps => {
17
- const props = useDefaultizedDateRangeFieldProps(inProps);
5
+ const props = useDefaultizedDateField(inProps);
18
6
  const {
19
7
  forwardedProps,
20
8
  internalProps
@@ -5,10 +5,11 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import MuiTextField from '@mui/material/TextField';
7
7
  import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
8
+ import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
8
9
  import { useThemeProps } from '@mui/material/styles';
10
+ import { refType } from '@mui/utils';
9
11
  import { useSlotProps } from '@mui/base/utils';
10
12
  import { useClearableField } from '@mui/x-date-pickers/hooks';
11
- import { refType } from '@mui/utils';
12
13
  import { useSingleInputDateTimeRangeField } from './useSingleInputDateTimeRangeField';
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  /**
@@ -34,7 +35,7 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
34
35
  } = themeProps,
35
36
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
36
37
  const ownerState = themeProps;
37
- const TextField = slots?.textField ?? MuiTextField;
38
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
38
39
  const textFieldProps = useSlotProps({
39
40
  elementType: TextField,
40
41
  externalSlotProps: slotProps?.textField,
@@ -89,7 +90,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
89
90
  /**
90
91
  * The default value. Use when the component is not controlled.
91
92
  */
92
- defaultValue: PropTypes.arrayOf(PropTypes.any),
93
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
93
94
  /**
94
95
  * If `true`, the component is disabled.
95
96
  * @default false
@@ -110,6 +111,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
110
111
  * @default false
111
112
  */
112
113
  disablePast: PropTypes.bool,
114
+ /**
115
+ * @default false
116
+ */
117
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
113
118
  /**
114
119
  * If `true`, the component is displayed in focused state.
115
120
  */
@@ -181,29 +186,29 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
181
186
  /**
182
187
  * Maximal selectable date.
183
188
  */
184
- maxDate: PropTypes.any,
189
+ maxDate: PropTypes.object,
185
190
  /**
186
191
  * Maximal selectable moment of time with binding to date, to set max time in each day use `maxTime`.
187
192
  */
188
- maxDateTime: PropTypes.any,
193
+ maxDateTime: PropTypes.object,
189
194
  /**
190
195
  * Maximal selectable time.
191
196
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
192
197
  */
193
- maxTime: PropTypes.any,
198
+ maxTime: PropTypes.object,
194
199
  /**
195
200
  * Minimal selectable date.
196
201
  */
197
- minDate: PropTypes.any,
202
+ minDate: PropTypes.object,
198
203
  /**
199
204
  * Minimal selectable moment of time with binding to date, to set min time in each day use `minTime`.
200
205
  */
201
- minDateTime: PropTypes.any,
206
+ minDateTime: PropTypes.object,
202
207
  /**
203
208
  * Minimal selectable time.
204
209
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
205
210
  */
206
- minTime: PropTypes.any,
211
+ minTime: PropTypes.object,
207
212
  /**
208
213
  * Step over minutes.
209
214
  * @default 1
@@ -251,7 +256,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
251
256
  * For example, on time fields it will be used to determine the date to set.
252
257
  * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
253
258
  */
254
- referenceDate: PropTypes.any,
259
+ referenceDate: PropTypes.object,
255
260
  /**
256
261
  * If `true`, the label is displayed as required and the `input` element is required.
257
262
  * @default false
@@ -259,17 +264,14 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
259
264
  required: PropTypes.bool,
260
265
  /**
261
266
  * The currently selected sections.
262
- * This prop accept four formats:
267
+ * This prop accepts four formats:
263
268
  * 1. If a number is provided, the section at this index will be selected.
264
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
265
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
266
- * 4. If `null` is provided, no section will be selected
269
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
270
+ * 3. If `"all"` is provided, all the sections will be selected.
271
+ * 4. If `null` is provided, no section will be selected.
267
272
  * If not provided, the selected sections will be handled internally.
268
273
  */
269
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
270
- endIndex: PropTypes.number.isRequired,
271
- startIndex: PropTypes.number.isRequired
272
- })]),
274
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
273
275
  /**
274
276
  * Disable specific date.
275
277
  *
@@ -339,7 +341,7 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
339
341
  * The selected value.
340
342
  * Used when the component is controlled.
341
343
  */
342
- value: PropTypes.arrayOf(PropTypes.any),
344
+ value: PropTypes.arrayOf(PropTypes.object),
343
345
  /**
344
346
  * The variant to use.
345
347
  * @default 'outlined'
@@ -1,25 +1,8 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { useUtils, useField, applyDefaultDate, useDefaultDates, splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
1
+ import { useField, splitFieldInternalAndForwardedProps, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
3
2
  import { rangeValueManager, rangeFieldValueManager } from '../internals/utils/valueManagers';
4
3
  import { validateDateTimeRange } from '../internals/utils/validation/validateDateTimeRange';
5
- export const useDefaultizedTimeRangeFieldProps = props => {
6
- const utils = useUtils();
7
- const defaultDates = useDefaultDates();
8
- const ampm = props.ampm ?? utils.is12HourCycleInCurrentLocale();
9
- const defaultFormat = ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h;
10
- return _extends({}, props, {
11
- disablePast: props.disablePast ?? false,
12
- disableFuture: props.disableFuture ?? false,
13
- format: props.format ?? defaultFormat,
14
- minDate: applyDefaultDate(utils, props.minDateTime ?? props.minDate, defaultDates.minDate),
15
- maxDate: applyDefaultDate(utils, props.maxDateTime ?? props.maxDate, defaultDates.maxDate),
16
- minTime: props.minDateTime ?? props.minTime,
17
- maxTime: props.maxDateTime ?? props.maxTime,
18
- disableIgnoringDatePartForTimeValidation: Boolean(props.minDateTime || props.maxDateTime)
19
- });
20
- };
21
4
  export const useSingleInputDateTimeRangeField = inProps => {
22
- const props = useDefaultizedTimeRangeFieldProps(inProps);
5
+ const props = useDefaultizedDateTimeField(inProps);
23
6
  const {
24
7
  forwardedProps,
25
8
  internalProps
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import MuiTextField from '@mui/material/TextField';
7
7
  import { useClearableField } from '@mui/x-date-pickers/hooks';
8
8
  import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
9
+ import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
9
10
  import { useThemeProps } from '@mui/material/styles';
10
11
  import { useSlotProps } from '@mui/base/utils';
11
12
  import { refType } from '@mui/utils';
@@ -34,7 +35,7 @@ const SingleInputTimeRangeField = /*#__PURE__*/React.forwardRef(function SingleI
34
35
  } = themeProps,
35
36
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
36
37
  const ownerState = themeProps;
37
- const TextField = slots?.textField ?? MuiTextField;
38
+ const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField);
38
39
  const textFieldProps = useSlotProps({
39
40
  elementType: TextField,
40
41
  externalSlotProps: slotProps?.textField,
@@ -89,7 +90,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
89
90
  /**
90
91
  * The default value. Use when the component is not controlled.
91
92
  */
92
- defaultValue: PropTypes.arrayOf(PropTypes.any),
93
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
93
94
  /**
94
95
  * If `true`, the component is disabled.
95
96
  * @default false
@@ -110,6 +111,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
110
111
  * @default false
111
112
  */
112
113
  disablePast: PropTypes.bool,
114
+ /**
115
+ * @default false
116
+ */
117
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
113
118
  /**
114
119
  * If `true`, the component is displayed in focused state.
115
120
  */
@@ -182,12 +187,12 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
182
187
  * Maximal selectable time.
183
188
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
184
189
  */
185
- maxTime: PropTypes.any,
190
+ maxTime: PropTypes.object,
186
191
  /**
187
192
  * Minimal selectable time.
188
193
  * The date part of the object will be ignored unless `props.disableIgnoringDatePartForTimeValidation === true`.
189
194
  */
190
- minTime: PropTypes.any,
195
+ minTime: PropTypes.object,
191
196
  /**
192
197
  * Step over minutes.
193
198
  * @default 1
@@ -235,7 +240,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
235
240
  * For example, on time fields it will be used to determine the date to set.
236
241
  * @default The closest valid date using the validation props, except callbacks such as `shouldDisableDate`. Value is rounded to the most granular section used.
237
242
  */
238
- referenceDate: PropTypes.any,
243
+ referenceDate: PropTypes.object,
239
244
  /**
240
245
  * If `true`, the label is displayed as required and the `input` element is required.
241
246
  * @default false
@@ -243,17 +248,14 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
243
248
  required: PropTypes.bool,
244
249
  /**
245
250
  * The currently selected sections.
246
- * This prop accept four formats:
251
+ * This prop accepts four formats:
247
252
  * 1. If a number is provided, the section at this index will be selected.
248
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
249
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
250
- * 4. If `null` is provided, no section will be selected
253
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
254
+ * 3. If `"all"` is provided, all the sections will be selected.
255
+ * 4. If `null` is provided, no section will be selected.
251
256
  * If not provided, the selected sections will be handled internally.
252
257
  */
253
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
254
- endIndex: PropTypes.number.isRequired,
255
- startIndex: PropTypes.number.isRequired
256
- })]),
258
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
257
259
  /**
258
260
  * Disable specific time.
259
261
  * @template TDate
@@ -312,7 +314,7 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
312
314
  * The selected value.
313
315
  * Used when the component is controlled.
314
316
  */
315
- value: PropTypes.arrayOf(PropTypes.any),
317
+ value: PropTypes.arrayOf(PropTypes.object),
316
318
  /**
317
319
  * The variant to use.
318
320
  * @default 'outlined'
@@ -1,19 +1,8 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { useUtils, useField, splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
1
+ import { useField, splitFieldInternalAndForwardedProps, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
3
2
  import { rangeValueManager, rangeFieldValueManager } from '../internals/utils/valueManagers';
4
3
  import { validateTimeRange } from '../internals/utils/validation/validateTimeRange';
5
- export const useDefaultizedTimeRangeFieldProps = props => {
6
- const utils = useUtils();
7
- const ampm = props.ampm ?? utils.is12HourCycleInCurrentLocale();
8
- const defaultFormat = ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h;
9
- return _extends({}, props, {
10
- disablePast: props.disablePast ?? false,
11
- disableFuture: props.disableFuture ?? false,
12
- format: props.format ?? defaultFormat
13
- });
14
- };
15
4
  export const useSingleInputTimeRangeField = inProps => {
16
- const props = useDefaultizedTimeRangeFieldProps(inProps);
5
+ const props = useDefaultizedTimeField(inProps);
17
6
  const {
18
7
  forwardedProps,
19
8
  internalProps
@@ -87,7 +87,7 @@ StaticDateRangePicker.propTypes = {
87
87
  * The default value.
88
88
  * Used when the component is not controlled.
89
89
  */
90
- defaultValue: PropTypes.arrayOf(PropTypes.any),
90
+ defaultValue: PropTypes.arrayOf(PropTypes.object),
91
91
  /**
92
92
  * If `true`, after selecting `start` date calendar will not automatically switch to the month of `end` date.
93
93
  * @default false
@@ -130,7 +130,6 @@ StaticDateRangePicker.propTypes = {
130
130
  /**
131
131
  * The day view will show as many weeks as needed after the end of the current month to match this value.
132
132
  * Put it to 6 to have a fixed number of weeks in Gregorian calendars
133
- * @default undefined
134
133
  */
135
134
  fixedWeekNumber: PropTypes.number,
136
135
  /**
@@ -147,11 +146,11 @@ StaticDateRangePicker.propTypes = {
147
146
  /**
148
147
  * Maximal selectable date.
149
148
  */
150
- maxDate: PropTypes.any,
149
+ maxDate: PropTypes.object,
151
150
  /**
152
151
  * Minimal selectable date.
153
152
  */
154
- minDate: PropTypes.any,
153
+ minDate: PropTypes.object,
155
154
  /**
156
155
  * Callback fired when the value is accepted.
157
156
  * @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.
@@ -208,7 +207,7 @@ StaticDateRangePicker.propTypes = {
208
207
  * The date used to generate the new value when both `value` and `defaultValue` are empty.
209
208
  * @default The closest valid date-time using the validation props, except callbacks like `shouldDisable<...>`.
210
209
  */
211
- referenceDate: PropTypes.any,
210
+ referenceDate: PropTypes.object,
212
211
  /**
213
212
  * Component rendered on the "day" view when `props.loading` is true.
214
213
  * @returns {React.ReactNode} The node to render when loading.
@@ -263,7 +262,7 @@ StaticDateRangePicker.propTypes = {
263
262
  * The selected value.
264
263
  * Used when the component is controlled.
265
264
  */
266
- value: PropTypes.arrayOf(PropTypes.any),
265
+ value: PropTypes.arrayOf(PropTypes.object),
267
266
  /**
268
267
  * Define custom view renderers for each section.
269
268
  * If `null`, the section will only have field editing.
package/modern/index.js CHANGED
@@ -1,11 +1,16 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.0.0-beta.1
2
+ * @mui/x-date-pickers-pro v7.0.0-beta.4
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
- export { LicenseInfo } from '@mui/x-license-pro';
8
+ import { LicenseInfo as LicenseInfoExport } from '@mui/x-license';
9
+ /**
10
+ * @deprecated Use `@mui/x-license` package instead:
11
+ * @example import { LicenseInfo } from '@mui/x-license';
12
+ */
13
+ export class LicenseInfo extends LicenseInfoExport {}
9
14
  export * from '@mui/x-date-pickers';
10
15
  export * from './DateRangePickerDay';
11
16
 
@@ -16,6 +21,7 @@ export * from './MultiInputDateTimeRangeField';
16
21
  export * from './SingleInputDateRangeField';
17
22
  export * from './SingleInputTimeRangeField';
18
23
  export * from './SingleInputDateTimeRangeField';
24
+
19
25
  // Calendars
20
26
  export * from './DateRangeCalendar';
21
27