@mui/x-date-pickers-pro 7.0.0-beta.2 → 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 (274) hide show
  1. package/CHANGELOG.md +298 -23
  2. package/DateRangeCalendar/DateRangeCalendar.js +3 -1
  3. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +3 -0
  4. package/DateRangePicker/DateRangePicker.d.ts +1 -1
  5. package/DateRangePicker/DateRangePicker.js +9 -9
  6. package/DateRangePicker/DateRangePicker.types.d.ts +3 -3
  7. package/DateRangePicker/DateRangePickerToolbar.d.ts +3 -0
  8. package/DateRangePicker/DateRangePickerToolbar.js +6 -0
  9. package/DateTimeRangePicker/DateTimeRangePicker.d.ts +1 -1
  10. package/DateTimeRangePicker/DateTimeRangePicker.js +11 -12
  11. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +3 -3
  12. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  13. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +3 -0
  14. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +6 -0
  15. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +1 -1
  16. package/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
  17. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +3 -3
  18. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +1 -1
  19. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
  20. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +3 -3
  21. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +1 -1
  22. package/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
  23. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +3 -3
  24. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +1 -1
  25. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +11 -12
  26. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +3 -3
  27. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +1 -1
  28. package/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
  29. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +11 -14
  30. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +1 -1
  31. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
  32. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +12 -16
  33. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +1 -1
  34. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
  35. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +12 -16
  36. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +2 -2
  37. package/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
  38. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +11 -14
  39. package/SingleInputDateRangeField/index.d.ts +1 -1
  40. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +2 -3
  41. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -15
  42. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +2 -2
  43. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -10
  44. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +12 -15
  45. package/SingleInputDateTimeRangeField/index.d.ts +1 -1
  46. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +2 -3
  47. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -20
  48. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +2 -2
  49. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
  50. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +12 -15
  51. package/SingleInputTimeRangeField/index.d.ts +1 -1
  52. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +2 -3
  53. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -14
  54. package/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
  55. package/index.d.ts +0 -1
  56. package/index.js +2 -1
  57. package/internals/hooks/models/useRangePicker.d.ts +5 -5
  58. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
  59. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
  60. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +5 -5
  61. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +15 -15
  62. package/internals/hooks/useEnrichedRangePickerFieldProps.js +37 -40
  63. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
  64. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +17 -8
  65. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +5 -5
  66. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +21 -0
  67. package/internals/hooks/useMultiInputFieldSelectedSections.js +43 -0
  68. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
  69. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
  70. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +2 -3
  71. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
  72. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +4 -4
  73. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +2 -3
  74. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
  75. package/internals/hooks/useRangePosition.d.ts +2 -4
  76. package/internals/hooks/useRangePosition.js +3 -6
  77. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  78. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +1 -2
  79. package/internals/models/dateRange.d.ts +3 -15
  80. package/internals/models/dateTimeRange.d.ts +4 -6
  81. package/internals/models/index.d.ts +0 -1
  82. package/internals/models/index.js +0 -1
  83. package/internals/models/timeRange.d.ts +3 -6
  84. package/internals/utils/date-fields-utils.d.ts +1 -5
  85. package/internals/utils/releaseInfo.js +1 -1
  86. package/internals/utils/valueManagers.d.ts +1 -2
  87. package/internals/utils/valueManagers.js +11 -6
  88. package/models/fields.d.ts +69 -0
  89. package/models/index.d.ts +1 -0
  90. package/models/index.js +1 -0
  91. package/modern/DateRangeCalendar/DateRangeCalendar.js +3 -1
  92. package/modern/DateRangePicker/DateRangePicker.js +9 -9
  93. package/modern/DateRangePicker/DateRangePickerToolbar.js +6 -0
  94. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +11 -12
  95. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  96. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +6 -0
  97. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
  98. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
  99. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
  100. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +11 -12
  101. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
  102. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
  103. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
  104. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
  105. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -14
  106. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -10
  107. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -19
  108. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
  109. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -13
  110. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
  111. package/modern/index.js +2 -1
  112. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
  113. package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +34 -37
  114. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +17 -8
  115. package/modern/internals/hooks/useMultiInputFieldSelectedSections.js +40 -0
  116. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
  117. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -30
  118. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -24
  119. package/modern/internals/hooks/useRangePosition.js +3 -6
  120. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  121. package/modern/internals/models/index.js +0 -1
  122. package/modern/internals/utils/releaseInfo.js +1 -1
  123. package/modern/internals/utils/valueManagers.js +11 -6
  124. package/modern/models/index.js +1 -0
  125. package/node/DateRangeCalendar/DateRangeCalendar.js +3 -1
  126. package/node/DateRangePicker/DateRangePicker.js +9 -9
  127. package/node/DateRangePicker/DateRangePickerToolbar.js +6 -0
  128. package/node/DateTimeRangePicker/DateTimeRangePicker.js +11 -12
  129. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  130. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +6 -0
  131. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
  132. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
  133. package/node/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
  134. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -14
  135. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
  136. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
  137. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
  138. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
  139. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -16
  140. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +15 -13
  141. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -21
  142. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
  143. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -15
  144. package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
  145. package/node/index.js +1 -1
  146. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
  147. package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +33 -36
  148. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +17 -8
  149. package/node/internals/hooks/useMultiInputFieldSelectedSections.js +50 -0
  150. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +16 -11
  151. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
  152. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
  153. package/node/internals/hooks/useRangePosition.js +3 -8
  154. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  155. package/node/internals/models/index.js +0 -11
  156. package/node/internals/utils/releaseInfo.js +1 -1
  157. package/node/internals/utils/valueManagers.js +10 -5
  158. package/node/models/index.js +11 -0
  159. package/package.json +5 -5
  160. package/themeAugmentation/props.d.ts +12 -12
  161. package/internals/models/fields.d.ts +0 -49
  162. package/legacy/AdapterDateFns/index.js +0 -1
  163. package/legacy/AdapterDateFnsJalali/index.js +0 -1
  164. package/legacy/AdapterDateFnsV3/index.js +0 -1
  165. package/legacy/AdapterDayjs/index.js +0 -1
  166. package/legacy/AdapterLuxon/index.js +0 -1
  167. package/legacy/AdapterMoment/index.js +0 -1
  168. package/legacy/AdapterMomentHijri/index.js +0 -1
  169. package/legacy/AdapterMomentJalaali/index.js +0 -1
  170. package/legacy/DateRangeCalendar/DateRangeCalendar.js +0 -764
  171. package/legacy/DateRangeCalendar/DateRangeCalendar.types.js +0 -1
  172. package/legacy/DateRangeCalendar/dateRangeCalendarClasses.js +0 -5
  173. package/legacy/DateRangeCalendar/index.js +0 -2
  174. package/legacy/DateRangeCalendar/useDragRange.js +0 -258
  175. package/legacy/DateRangePicker/DateRangePicker.js +0 -334
  176. package/legacy/DateRangePicker/DateRangePicker.types.js +0 -1
  177. package/legacy/DateRangePicker/DateRangePickerToolbar.js +0 -127
  178. package/legacy/DateRangePicker/dateRangePickerToolbarClasses.js +0 -5
  179. package/legacy/DateRangePicker/index.js +0 -3
  180. package/legacy/DateRangePicker/shared.js +0 -33
  181. package/legacy/DateRangePickerDay/DateRangePickerDay.js +0 -366
  182. package/legacy/DateRangePickerDay/dateRangePickerDayClasses.js +0 -5
  183. package/legacy/DateRangePickerDay/index.js +0 -2
  184. package/legacy/DateTimeRangePicker/DateTimeRangePicker.js +0 -413
  185. package/legacy/DateTimeRangePicker/DateTimeRangePicker.types.js +0 -1
  186. package/legacy/DateTimeRangePicker/DateTimeRangePickerTabs.js +0 -191
  187. package/legacy/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +0 -57
  188. package/legacy/DateTimeRangePicker/DateTimeRangePickerToolbar.js +0 -184
  189. package/legacy/DateTimeRangePicker/dateTimeRangePickerTabsClasses.js +0 -6
  190. package/legacy/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.js +0 -5
  191. package/legacy/DateTimeRangePicker/index.js +0 -5
  192. package/legacy/DateTimeRangePicker/shared.js +0 -54
  193. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -343
  194. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.types.js +0 -1
  195. package/legacy/DesktopDateRangePicker/index.js +0 -1
  196. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +0 -491
  197. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.js +0 -1
  198. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.js +0 -48
  199. package/legacy/DesktopDateTimeRangePicker/index.js +0 -1
  200. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -339
  201. package/legacy/MobileDateRangePicker/MobileDateRangePicker.types.js +0 -1
  202. package/legacy/MobileDateRangePicker/index.js +0 -1
  203. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +0 -484
  204. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.js +0 -1
  205. package/legacy/MobileDateTimeRangePicker/index.js +0 -1
  206. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +0 -316
  207. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  208. package/legacy/MultiInputDateRangeField/index.js +0 -2
  209. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +0 -357
  210. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  211. package/legacy/MultiInputDateTimeRangeField/index.js +0 -2
  212. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +0 -330
  213. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  214. package/legacy/MultiInputTimeRangeField/index.js +0 -2
  215. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +0 -307
  216. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.types.js +0 -1
  217. package/legacy/SingleInputDateRangeField/index.js +0 -2
  218. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +0 -30
  219. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +0 -348
  220. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +0 -1
  221. package/legacy/SingleInputDateTimeRangeField/index.js +0 -2
  222. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +0 -35
  223. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +0 -321
  224. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +0 -1
  225. package/legacy/SingleInputTimeRangeField/index.js +0 -2
  226. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +0 -29
  227. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -276
  228. package/legacy/StaticDateRangePicker/StaticDateRangePicker.types.js +0 -1
  229. package/legacy/StaticDateRangePicker/index.js +0 -1
  230. package/legacy/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -87
  231. package/legacy/dateRangeViewRenderers/index.js +0 -1
  232. package/legacy/index.js +0 -52
  233. package/legacy/internals/constants/dimensions.js +0 -5
  234. package/legacy/internals/hooks/models/index.js +0 -1
  235. package/legacy/internals/hooks/models/useRangePicker.js +0 -1
  236. package/legacy/internals/hooks/useDesktopRangePicker/index.js +0 -1
  237. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +0 -154
  238. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.js +0 -1
  239. package/legacy/internals/hooks/useEnrichedRangePickerFieldProps.js +0 -258
  240. package/legacy/internals/hooks/useMobileRangePicker/index.js +0 -1
  241. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +0 -144
  242. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.js +0 -1
  243. package/legacy/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  244. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -102
  245. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -115
  246. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  247. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -109
  248. package/legacy/internals/hooks/useRangePosition.js +0 -39
  249. package/legacy/internals/hooks/useStaticRangePicker/index.js +0 -1
  250. package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -76
  251. package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.js +0 -1
  252. package/legacy/internals/models/dateRange.js +0 -1
  253. package/legacy/internals/models/dateTimeRange.js +0 -1
  254. package/legacy/internals/models/index.js +0 -5
  255. package/legacy/internals/models/rangePickerProps.js +0 -1
  256. package/legacy/internals/models/timeRange.js +0 -1
  257. package/legacy/internals/utils/date-fields-utils.js +0 -26
  258. package/legacy/internals/utils/date-range-manager.js +0 -65
  259. package/legacy/internals/utils/date-utils.js +0 -12
  260. package/legacy/internals/utils/releaseInfo.js +0 -13
  261. package/legacy/internals/utils/validation/validateDateRange.js +0 -45
  262. package/legacy/internals/utils/validation/validateDateTimeRange.js +0 -45
  263. package/legacy/internals/utils/validation/validateTimeRange.js +0 -32
  264. package/legacy/internals/utils/valueManagers.js +0 -135
  265. package/legacy/locales/index.js +0 -1
  266. package/legacy/models/index.js +0 -3
  267. package/legacy/models/multiInputRangeFieldClasses.js +0 -1
  268. package/legacy/models/range.js +0 -1
  269. package/legacy/models/validation.js +0 -1
  270. package/legacy/themeAugmentation/index.js +0 -4
  271. package/modern/internals/models/fields.js +0 -1
  272. /package/{internals/models → models}/fields.js +0 -0
  273. /package/{legacy/internals → modern}/models/fields.js +0 -0
  274. /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 { useMultiInputDateRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField';
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 MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
59
60
  name: 'MuiMultiInputDateRangeField'
60
61
  });
61
62
  const {
62
- internalProps: dateFieldInternalProps,
63
+ internalProps,
63
64
  forwardedProps
64
65
  } = splitFieldInternalAndForwardedProps(themeProps, 'date');
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 MultiInputDateRangeField = /*#__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 MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
111
107
  className: classes.separator
112
108
  });
113
109
  const fieldResponse = useMultiInputDateRangeField({
114
- sharedProps: _extends({}, dateFieldInternalProps, {
115
- disabled
116
- }),
110
+ sharedProps: internalProps,
117
111
  startTextFieldProps,
118
112
  endTextFieldProps,
119
113
  unstableStartFieldRef,
@@ -134,6 +128,9 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
134
128
  // | These PropTypes are generated from the TypeScript type definitions |
135
129
  // | To update them edit the TypeScript types and run "yarn proptypes" |
136
130
  // ----------------------------------------------------------------------
131
+ /**
132
+ * If `true`, the `input` element is focused during the first mount.
133
+ */
137
134
  autoFocus: PropTypes.bool,
138
135
  /**
139
136
  * Override or extend the styles applied to the component.
@@ -170,6 +167,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
170
167
  * Add an element between each child.
171
168
  */
172
169
  divider: PropTypes.node,
170
+ /**
171
+ * @default false
172
+ */
173
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
173
174
  /**
174
175
  * Format of the date when rendered in the input(s).
175
176
  */
@@ -223,17 +224,14 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
223
224
  referenceDate: PropTypes.object,
224
225
  /**
225
226
  * The currently selected sections.
226
- * This prop accept four formats:
227
+ * This prop accepts four formats:
227
228
  * 1. If a number is provided, the section at this index will be selected.
228
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
229
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
230
- * 4. If `null` is provided, no section will be selected
229
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
230
+ * 3. If `"all"` is provided, all the sections will be selected.
231
+ * 4. If `null` is provided, no section will be selected.
231
232
  * If not provided, the selected sections will be handled internally.
232
233
  */
233
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
234
- endIndex: PropTypes.number.isRequired,
235
- startIndex: PropTypes.number.isRequired
236
- })]),
234
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
237
235
  /**
238
236
  * Disable specific date.
239
237
  *
@@ -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 { useMultiInputDateTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField';
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 MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
59
60
  name: 'MuiMultiInputDateTimeRangeField'
60
61
  });
61
62
  const {
62
- internalProps: dateTimeFieldInternalProps,
63
+ internalProps,
63
64
  forwardedProps
64
65
  } = splitFieldInternalAndForwardedProps(themeProps, 'date-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 MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
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 MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
111
107
  className: classes.separator
112
108
  });
113
109
  const fieldResponse = useMultiInputDateTimeRangeField({
114
- sharedProps: _extends({}, dateTimeFieldInternalProps, {
115
- disabled
116
- }),
110
+ sharedProps: internalProps,
117
111
  startTextFieldProps,
118
112
  endTextFieldProps,
119
113
  unstableStartFieldRef,
@@ -139,6 +133,9 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.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.
@@ -180,6 +177,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.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
  */
@@ -256,17 +257,14 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
256
257
  referenceDate: PropTypes.object,
257
258
  /**
258
259
  * The currently selected sections.
259
- * This prop accept four formats:
260
+ * This prop accepts four formats:
260
261
  * 1. If a number is provided, the section at this index will be selected.
261
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
262
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
263
- * 4. If `null` is provided, no section will be selected
262
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
263
+ * 3. If `"all"` is provided, all the sections will be selected.
264
+ * 4. If `null` is provided, no section will be selected.
264
265
  * If not provided, the selected sections will be handled internally.
265
266
  */
266
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
267
- endIndex: PropTypes.number.isRequired,
268
- startIndex: PropTypes.number.isRequired
269
- })]),
267
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
270
268
  /**
271
269
  * Disable specific date.
272
270
  *
@@ -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.
@@ -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
  */
@@ -240,17 +241,14 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
240
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
@@ -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,
@@ -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
  */
@@ -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
  *
@@ -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,
@@ -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
  */
@@ -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
  *
@@ -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,
@@ -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
  */
@@ -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
@@ -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
@@ -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
  /**
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.0.0-beta.2
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
@@ -21,6 +21,7 @@ export * from './MultiInputDateTimeRangeField';
21
21
  export * from './SingleInputDateRangeField';
22
22
  export * from './SingleInputTimeRangeField';
23
23
  export * from './SingleInputDateTimeRangeField';
24
+
24
25
  // Calendars
25
26
  export * from './DateRangeCalendar';
26
27
 
@@ -26,6 +26,9 @@ export const useDesktopRangePicker = _ref => {
26
26
  sx,
27
27
  format,
28
28
  formatDensity,
29
+ enableAccessibleFieldDOMStructure,
30
+ selectedSections,
31
+ onSelectedSectionsChange,
29
32
  timezone,
30
33
  label,
31
34
  inputRef,
@@ -40,12 +43,14 @@ export const useDesktopRangePicker = _ref => {
40
43
  const fieldContainerRef = React.useRef(null);
41
44
  const anchorRef = React.useRef(null);
42
45
  const popperRef = React.useRef(null);
46
+ const startFieldRef = React.useRef(null);
47
+ const endFieldRef = React.useRef(null);
43
48
  const initialView = React.useRef(props.openTo ?? null);
49
+ const fieldType = slots.field.fieldType ?? 'multi-input';
44
50
  const {
45
51
  rangePosition,
46
- onRangePositionChange,
47
- singleInputFieldRef
48
- } = useRangePosition(props);
52
+ onRangePositionChange
53
+ } = useRangePosition(props, fieldType === 'single-input' ? startFieldRef : undefined);
49
54
  const {
50
55
  open,
51
56
  actions,
@@ -57,6 +62,7 @@ export const useDesktopRangePicker = _ref => {
57
62
  props,
58
63
  wrapperVariant: 'desktop',
59
64
  autoFocusView: false,
65
+ fieldRef: rangePosition === 'start' ? startFieldRef : endFieldRef,
60
66
  additionalViewProps: {
61
67
  rangePosition,
62
68
  onRangePositionChange
@@ -77,7 +83,6 @@ export const useDesktopRangePicker = _ref => {
77
83
  });
78
84
  };
79
85
  const Field = slots.field;
80
- const fieldType = Field.fieldType ?? 'multi-input';
81
86
  const fieldProps = useSlotProps({
82
87
  elementType: Field,
83
88
  externalSlotProps: slotProps?.field,
@@ -88,13 +93,16 @@ export const useDesktopRangePicker = _ref => {
88
93
  sx,
89
94
  format,
90
95
  formatDensity,
96
+ enableAccessibleFieldDOMStructure,
97
+ selectedSections,
98
+ onSelectedSectionsChange,
91
99
  timezone,
92
100
  autoFocus: autoFocus && !props.open,
93
101
  ref: fieldContainerRef
94
- }, fieldType === 'single-input' && {
102
+ }, inputRef ? {
95
103
  inputRef,
96
104
  name
97
- }),
105
+ } : {}),
98
106
  ownerState: props
99
107
  });
100
108
  const enrichedFieldProps = useEnrichedRangePickerFieldProps({
@@ -109,11 +117,12 @@ export const useDesktopRangePicker = _ref => {
109
117
  onBlur: handleBlur,
110
118
  rangePosition,
111
119
  onRangePositionChange,
112
- singleInputFieldRef,
113
120
  pickerSlotProps: slotProps,
114
121
  pickerSlots: slots,
115
122
  fieldProps,
116
123
  anchorRef,
124
+ startFieldRef,
125
+ endFieldRef,
117
126
  currentView: layoutProps.view !== props.openTo ? layoutProps.view : undefined,
118
127
  initialView: initialView.current ?? undefined,
119
128
  onViewChange: layoutProps.onViewChange