@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 { 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";
@@ -63,14 +64,12 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
63
64
  name: 'MuiMultiInputDateTimeRangeField'
64
65
  });
65
66
  const {
66
- internalProps: dateTimeFieldInternalProps,
67
+ internalProps,
67
68
  forwardedProps
68
69
  } = splitFieldInternalAndForwardedProps(themeProps, 'date-time');
69
70
  const {
70
71
  slots,
71
72
  slotProps,
72
- disabled,
73
- autoFocus,
74
73
  unstableStartFieldRef,
75
74
  unstableEndFieldRef,
76
75
  className
@@ -89,13 +88,10 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
89
88
  ownerState,
90
89
  className: clsx(className, classes.root)
91
90
  });
92
- const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
91
+ const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField;
93
92
  const startTextFieldProps = useSlotProps({
94
93
  elementType: TextField,
95
94
  externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
96
- additionalProps: {
97
- autoFocus
98
- },
99
95
  ownerState: _extends({}, ownerState, {
100
96
  position: 'start'
101
97
  })
@@ -115,9 +111,7 @@ const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Mult
115
111
  className: classes.separator
116
112
  });
117
113
  const fieldResponse = useMultiInputDateTimeRangeField({
118
- sharedProps: _extends({}, dateTimeFieldInternalProps, {
119
- disabled
120
- }),
114
+ sharedProps: internalProps,
121
115
  startTextFieldProps,
122
116
  endTextFieldProps,
123
117
  unstableStartFieldRef,
@@ -143,6 +137,9 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
143
137
  * @default `utils.is12HourCycleInCurrentLocale()`
144
138
  */
145
139
  ampm: PropTypes.bool,
140
+ /**
141
+ * If `true`, the `input` element is focused during the first mount.
142
+ */
146
143
  autoFocus: PropTypes.bool,
147
144
  /**
148
145
  * Override or extend the styles applied to the component.
@@ -184,6 +181,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
184
181
  * Add an element between each child.
185
182
  */
186
183
  divider: PropTypes.node,
184
+ /**
185
+ * @default false
186
+ */
187
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
187
188
  /**
188
189
  * Format of the date when rendered in the input(s).
189
190
  */
@@ -260,17 +261,14 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
260
261
  referenceDate: PropTypes.object,
261
262
  /**
262
263
  * The currently selected sections.
263
- * This prop accept four formats:
264
+ * This prop accepts four formats:
264
265
  * 1. If a number is provided, the section at this index will be selected.
265
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
266
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
267
- * 4. If `null` is provided, no section will be selected
266
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
267
+ * 3. If `"all"` is provided, all the sections will be selected.
268
+ * 4. If `null` is provided, no section will be selected.
268
269
  * If not provided, the selected sections will be handled internally.
269
270
  */
270
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
271
- endIndex: PropTypes.number.isRequired,
272
- startIndex: PropTypes.number.isRequired
273
- })]),
271
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
274
272
  /**
275
273
  * Disable specific date.
276
274
  *
@@ -4,15 +4,14 @@ import Typography from '@mui/material/Typography';
4
4
  import Stack, { StackProps } from '@mui/material/Stack';
5
5
  import TextField from '@mui/material/TextField';
6
6
  import { PickerValidDate } from '@mui/x-date-pickers/models';
7
- import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internals/models/dateTimeRange';
8
- import { MultiInputFieldRefs } from '../internals/models/fields';
7
+ import { UseDateTimeRangeFieldProps } from '../internals/models/dateTimeRange';
9
8
  import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
10
- import { MultiInputRangeFieldClasses, RangePosition } from '../models';
11
- export type UseMultiInputDateTimeRangeFieldParams<TDate extends PickerValidDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TDate>, TTextFieldSlotProps>;
12
- export interface UseMultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate> extends Omit<UseDateTimeRangeFieldProps<TDate>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
9
+ import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition } from '../models';
10
+ export type UseMultiInputDateTimeRangeFieldParams<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
11
+ export interface UseMultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
13
12
  }
14
- export type UseMultiInputDateTimeRangeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate>> & UseMultiInputDateTimeRangeFieldProps<TDate>;
15
- export interface MultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
13
+ export type UseMultiInputDateTimeRangeFieldComponentProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseMultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>;
14
+ export interface MultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends UseMultiInputDateTimeRangeFieldComponentProps<TDate, TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
16
15
  autoFocus?: boolean;
17
16
  /**
18
17
  * Override or extend the styles applied to the component.
@@ -27,9 +26,8 @@ export interface MultiInputDateTimeRangeFieldProps<TDate extends PickerValidDate
27
26
  * The props used for each component slot.
28
27
  * @default {}
29
28
  */
30
- slotProps?: MultiInputDateTimeRangeFieldSlotProps<TDate>;
29
+ slotProps?: MultiInputDateTimeRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
31
30
  }
32
- export type MultiInputDateTimeRangeFieldOwnerState<TDate extends PickerValidDate> = MultiInputDateTimeRangeFieldProps<TDate>;
33
31
  export interface MultiInputDateTimeRangeFieldSlots {
34
32
  /**
35
33
  * Element rendered at the root.
@@ -39,8 +37,7 @@ export interface MultiInputDateTimeRangeFieldSlots {
39
37
  /**
40
38
  * Form control with an input to render a date and time.
41
39
  * It is rendered twice: once for the start date time and once for the end date time.
42
- * Receives the same props as `@mui/material/TextField`.
43
- * @default TextField from '@mui/material'
40
+ * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
44
41
  */
45
42
  textField?: React.ElementType;
46
43
  /**
@@ -49,11 +46,10 @@ export interface MultiInputDateTimeRangeFieldSlots {
49
46
  */
50
47
  separator?: React.ElementType;
51
48
  }
52
- export interface MultiInputDateTimeRangeFieldSlotProps<TDate extends PickerValidDate> {
53
- root?: SlotComponentProps<typeof Stack, {}, MultiInputDateTimeRangeFieldOwnerState<TDate>>;
54
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateTimeRangeFieldOwnerState<TDate> & {
49
+ export interface MultiInputDateTimeRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> {
50
+ root?: SlotComponentProps<typeof Stack, {}, MultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
51
+ textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
55
52
  position: RangePosition;
56
53
  }>;
57
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateTimeRangeFieldOwnerState<TDate>>;
54
+ separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
58
55
  }
59
- export type UseMultiInputDateTimeRangeFieldDefaultizedProps<TDate extends PickerValidDate, AdditionalProps extends {}> = UseDateTimeRangeFieldDefaultizedProps<TDate> & Omit<AdditionalProps, 'value' | 'defaultValue' | 'onChange'>;
@@ -4,7 +4,7 @@ import { MultiInputTimeRangeFieldProps } from './MultiInputTimeRangeField.types'
4
4
  import { MultiInputRangeFieldClasses } from '../models';
5
5
  export declare const multiInputTimeRangeFieldClasses: MultiInputRangeFieldClasses;
6
6
  export declare const getMultiInputTimeRangeFieldUtilityClass: (slot: string) => string;
7
- type MultiInputTimeRangeFieldComponent = (<TDate extends PickerValidDate>(props: MultiInputTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
+ type MultiInputTimeRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
8
8
  propTypes?: any;
9
9
  };
10
10
  /**
@@ -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";
@@ -63,14 +64,12 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
63
64
  name: 'MuiMultiInputTimeRangeField'
64
65
  });
65
66
  const {
66
- internalProps: timeFieldInternalProps,
67
+ internalProps,
67
68
  forwardedProps
68
69
  } = splitFieldInternalAndForwardedProps(themeProps, 'time');
69
70
  const {
70
71
  slots,
71
72
  slotProps,
72
- disabled,
73
- autoFocus,
74
73
  unstableStartFieldRef,
75
74
  unstableEndFieldRef,
76
75
  className
@@ -89,13 +88,10 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
89
88
  ownerState,
90
89
  className: clsx(className, classes.root)
91
90
  });
92
- const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
91
+ const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField;
93
92
  const startTextFieldProps = useSlotProps({
94
93
  elementType: TextField,
95
94
  externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
96
- additionalProps: {
97
- autoFocus
98
- },
99
95
  ownerState: _extends({}, ownerState, {
100
96
  position: 'start'
101
97
  })
@@ -115,9 +111,7 @@ const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
115
111
  className: classes.separator
116
112
  });
117
113
  const fieldResponse = useMultiInputTimeRangeField({
118
- sharedProps: _extends({}, timeFieldInternalProps, {
119
- disabled
120
- }),
114
+ sharedProps: internalProps,
121
115
  startTextFieldProps,
122
116
  endTextFieldProps,
123
117
  unstableStartFieldRef,
@@ -143,6 +137,9 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
143
137
  * @default `utils.is12HourCycleInCurrentLocale()`
144
138
  */
145
139
  ampm: PropTypes.bool,
140
+ /**
141
+ * If `true`, the `input` element is focused during the first mount.
142
+ */
146
143
  autoFocus: PropTypes.bool,
147
144
  /**
148
145
  * Override or extend the styles applied to the component.
@@ -184,6 +181,10 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
184
181
  * Add an element between each child.
185
182
  */
186
183
  divider: PropTypes.node,
184
+ /**
185
+ * @default false
186
+ */
187
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
187
188
  /**
188
189
  * Format of the date when rendered in the input(s).
189
190
  */
@@ -244,17 +245,14 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
244
245
  referenceDate: PropTypes.object,
245
246
  /**
246
247
  * The currently selected sections.
247
- * This prop accept four formats:
248
+ * This prop accepts four formats:
248
249
  * 1. If a number is provided, the section at this index will be selected.
249
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
250
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
251
- * 4. If `null` is provided, no section will be selected
250
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
251
+ * 3. If `"all"` is provided, all the sections will be selected.
252
+ * 4. If `null` is provided, no section will be selected.
252
253
  * If not provided, the selected sections will be handled internally.
253
254
  */
254
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
255
- endIndex: PropTypes.number.isRequired,
256
- startIndex: PropTypes.number.isRequired
257
- })]),
255
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
258
256
  /**
259
257
  * Disable specific time.
260
258
  * @template TDate
@@ -4,15 +4,14 @@ import Typography from '@mui/material/Typography';
4
4
  import Stack, { StackProps } from '@mui/material/Stack';
5
5
  import TextField from '@mui/material/TextField';
6
6
  import { PickerValidDate } from '@mui/x-date-pickers/models';
7
- import { UseTimeRangeFieldDefaultizedProps, UseTimeRangeFieldProps } from '../internals/models/timeRange';
7
+ import { UseTimeRangeFieldProps } from '../internals/models/timeRange';
8
8
  import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
9
- import { MultiInputFieldRefs } from '../internals/models/fields';
10
- import { MultiInputRangeFieldClasses, RangePosition } from '../models';
11
- export type UseMultiInputTimeRangeFieldParams<TDate extends PickerValidDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputTimeRangeFieldProps<TDate>, TTextFieldSlotProps>;
12
- export interface UseMultiInputTimeRangeFieldProps<TDate extends PickerValidDate> extends Omit<UseTimeRangeFieldProps<TDate>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
9
+ import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition } from '../models';
10
+ export type UseMultiInputTimeRangeFieldParams<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
11
+ export interface UseMultiInputTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
13
12
  }
14
- export type UseMultiInputTimeRangeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TDate>> & UseMultiInputTimeRangeFieldProps<TDate>;
15
- export interface MultiInputTimeRangeFieldProps<TDate extends PickerValidDate> extends UseMultiInputTimeRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
13
+ export type UseMultiInputTimeRangeFieldComponentProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseMultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>;
14
+ export interface MultiInputTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends UseMultiInputTimeRangeFieldComponentProps<TDate, TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
16
15
  autoFocus?: boolean;
17
16
  /**
18
17
  * Override or extend the styles applied to the component.
@@ -27,9 +26,8 @@ export interface MultiInputTimeRangeFieldProps<TDate extends PickerValidDate> ex
27
26
  * The props used for each component slot.
28
27
  * @default {}
29
28
  */
30
- slotProps?: MultiInputTimeRangeFieldSlotProps<TDate>;
29
+ slotProps?: MultiInputTimeRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
31
30
  }
32
- export type MultiInputTimeRangeFieldOwnerState<TDate extends PickerValidDate> = MultiInputTimeRangeFieldProps<TDate>;
33
31
  export interface MultiInputTimeRangeFieldSlots {
34
32
  /**
35
33
  * Element rendered at the root.
@@ -39,8 +37,7 @@ export interface MultiInputTimeRangeFieldSlots {
39
37
  /**
40
38
  * Form control with an input to render a time.
41
39
  * It is rendered twice: once for the start time and once for the end time.
42
- * Receives the same props as `@mui/material/TextField`.
43
- * @default TextField from '@mui/material'
40
+ * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
44
41
  */
45
42
  textField?: React.ElementType;
46
43
  /**
@@ -49,11 +46,10 @@ export interface MultiInputTimeRangeFieldSlots {
49
46
  */
50
47
  separator?: React.ElementType;
51
48
  }
52
- export interface MultiInputTimeRangeFieldSlotProps<TDate extends PickerValidDate> {
53
- root?: SlotComponentProps<typeof Stack, {}, MultiInputTimeRangeFieldOwnerState<TDate>>;
54
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputTimeRangeFieldOwnerState<TDate> & {
49
+ export interface MultiInputTimeRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> {
50
+ root?: SlotComponentProps<typeof Stack, {}, MultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
51
+ textField?: SlotComponentProps<typeof TextField, {}, MultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
55
52
  position: RangePosition;
56
53
  }>;
57
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputTimeRangeFieldOwnerState<TDate>>;
54
+ separator?: SlotComponentProps<typeof Typography, {}, MultiInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
58
55
  }
59
- export type UseMultiInputTimeRangeFieldDefaultizedProps<TDate extends PickerValidDate, AdditionalProps extends {}> = UseTimeRangeFieldDefaultizedProps<TDate> & Omit<AdditionalProps, 'value' | 'defaultValue' | 'onChange'>;
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { PickerValidDate } from '@mui/x-date-pickers/models';
3
3
  import { SingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
4
- import { FieldType } from '../internals/models';
5
- type DateRangeFieldComponent = (<TDate extends PickerValidDate>(props: SingleInputDateRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ import { FieldType } from '../models';
5
+ type DateRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: SingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
6
6
  propTypes?: any;
7
7
  fieldType?: FieldType;
8
8
  };
@@ -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
  /**
@@ -35,7 +36,7 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
35
36
  } = themeProps,
36
37
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
37
38
  const ownerState = themeProps;
38
- const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
39
+ const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField;
39
40
  const textFieldProps = useSlotProps({
40
41
  elementType: TextField,
41
42
  externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
@@ -101,6 +102,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
101
102
  * @default false
102
103
  */
103
104
  disablePast: PropTypes.bool,
105
+ /**
106
+ * @default false
107
+ */
108
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
104
109
  /**
105
110
  * If `true`, the component is displayed in focused state.
106
111
  */
@@ -227,17 +232,14 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
227
232
  required: PropTypes.bool,
228
233
  /**
229
234
  * The currently selected sections.
230
- * This prop accept four formats:
235
+ * This prop accepts four formats:
231
236
  * 1. If a number is provided, the section at this index will be selected.
232
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
233
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
234
- * 4. If `null` is provided, no section will be selected
237
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
238
+ * 3. If `"all"` is provided, all the sections will be selected.
239
+ * 4. If `null` is provided, no section will be selected.
235
240
  * If not provided, the selected sections will be handled internally.
236
241
  */
237
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
238
- endIndex: PropTypes.number.isRequired,
239
- startIndex: PropTypes.number.isRequired
240
- })]),
242
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
241
243
  /**
242
244
  * Disable specific date.
243
245
  *
@@ -1,15 +1,14 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/base/utils';
3
3
  import TextField from '@mui/material/TextField';
4
- import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals';
5
- import { PickerValidDate } from '@mui/x-date-pickers/models';
6
- import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
7
- import { UseDateRangeFieldDefaultizedProps, UseDateRangeFieldProps } from '../internals/models';
8
- export interface UseSingleInputDateRangeFieldProps<TDate extends PickerValidDate> extends UseDateRangeFieldProps<TDate> {
4
+ import { UseFieldInternalProps } from '@mui/x-date-pickers/internals';
5
+ import { BuiltInFieldTextFieldProps, PickerValidDate } from '@mui/x-date-pickers/models';
6
+ import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
7
+ import { UseDateRangeFieldProps } from '../internals/models';
8
+ import type { DateRange, RangeFieldSection, DateRangeValidationError } from '../models';
9
+ export interface UseSingleInputDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, ExportedUseClearableFieldProps, Pick<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'unstableFieldRef'> {
9
10
  }
10
- export type UseSingleInputDateRangeFieldDefaultizedProps<TDate extends PickerValidDate, AdditionalProps extends {}> = UseDateRangeFieldDefaultizedProps<TDate> & Omit<AdditionalProps, 'value' | 'defaultValue' | 'onChange'>;
11
- export type UseSingleInputDateRangeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseSingleInputDateRangeFieldProps<TDate>> & UseSingleInputDateRangeFieldProps<TDate>;
12
- export type SingleInputDateRangeFieldProps<TDate extends PickerValidDate, TChildProps extends {} = FieldsTextFieldProps> = UseSingleInputDateRangeFieldComponentProps<TDate, TChildProps> & {
11
+ export type SingleInputDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
13
12
  /**
14
13
  * Overridable component slots.
15
14
  * @default {}
@@ -19,17 +18,15 @@ export type SingleInputDateRangeFieldProps<TDate extends PickerValidDate, TChild
19
18
  * The props used for each component slot.
20
19
  * @default {}
21
20
  */
22
- slotProps?: SingleInputDateRangeFieldSlotProps<TDate>;
21
+ slotProps?: SingleInputDateRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
23
22
  };
24
- export type SingleInputDateRangeFieldOwnerState<TDate extends PickerValidDate> = SingleInputDateRangeFieldProps<TDate>;
25
23
  export interface SingleInputDateRangeFieldSlots extends UseClearableFieldSlots {
26
24
  /**
27
25
  * Form control with an input to render the value.
28
- * Receives the same props as `@mui/material/TextField`.
29
- * @default TextField from '@mui/material'
26
+ * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
30
27
  */
31
28
  textField?: React.ElementType;
32
29
  }
33
- export interface SingleInputDateRangeFieldSlotProps<TDate extends PickerValidDate> extends UseClearableFieldSlotProps {
34
- textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateRangeFieldOwnerState<TDate>>;
30
+ export interface SingleInputDateRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
31
+ textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
35
32
  }
@@ -1,3 +1,3 @@
1
1
  export { SingleInputDateRangeField } from './SingleInputDateRangeField';
2
2
  export { useSingleInputDateRangeField as unstable_useSingleInputDateRangeField } from './useSingleInputDateRangeField';
3
- export type { UseSingleInputDateRangeFieldProps, UseSingleInputDateRangeFieldComponentProps, SingleInputDateRangeFieldProps, } from './SingleInputDateRangeField.types';
3
+ export type { UseSingleInputDateRangeFieldProps, SingleInputDateRangeFieldProps, } from './SingleInputDateRangeField.types';
@@ -1,4 +1,3 @@
1
1
  import { PickerValidDate } from '@mui/x-date-pickers/models';
2
- import { UseSingleInputDateRangeFieldComponentProps, UseSingleInputDateRangeFieldDefaultizedProps, UseSingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
3
- export declare const useDefaultizedDateRangeFieldProps: <TDate extends PickerValidDate, AdditionalProps extends {}>(props: UseSingleInputDateRangeFieldProps<TDate>) => UseSingleInputDateRangeFieldDefaultizedProps<TDate, AdditionalProps>;
4
- export declare const useSingleInputDateRangeField: <TDate extends PickerValidDate, TChildProps extends {}>(inProps: UseSingleInputDateRangeFieldComponentProps<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputDateRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputDateRangeFieldProps<any>>>;
2
+ import { UseSingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
3
+ export declare const useSingleInputDateRangeField: <TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>(inProps: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps & Omit<UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateFieldBaseProps<any>> & Required<Pick<UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateFieldBaseProps<any>>>, keyof UseSingleInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>>;
@@ -1,21 +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
- var _props$disablePast, _props$disableFuture, _props$format;
7
- const utils = useUtils();
8
- const defaultDates = useDefaultDates();
9
- return _extends({}, props, {
10
- disablePast: (_props$disablePast = props.disablePast) != null ? _props$disablePast : false,
11
- disableFuture: (_props$disableFuture = props.disableFuture) != null ? _props$disableFuture : false,
12
- format: (_props$format = props.format) != null ? _props$format : utils.formats.keyboardDate,
13
- minDate: applyDefaultDate(utils, props.minDate, defaultDates.minDate),
14
- maxDate: applyDefaultDate(utils, props.maxDate, defaultDates.maxDate)
15
- });
16
- };
17
4
  export const useSingleInputDateRangeField = inProps => {
18
- const props = useDefaultizedDateRangeFieldProps(inProps);
5
+ const props = useDefaultizedDateField(inProps);
19
6
  const {
20
7
  forwardedProps,
21
8
  internalProps
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { PickerValidDate } from '@mui/x-date-pickers/models';
3
3
  import { SingleInputDateTimeRangeFieldProps } from './SingleInputDateTimeRangeField.types';
4
- import { FieldType } from '../internals/models';
5
- type DateRangeFieldComponent = (<TDate extends PickerValidDate>(props: SingleInputDateTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ import { FieldType } from '../models';
5
+ type DateRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: SingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
6
6
  propTypes?: any;
7
7
  fieldType?: FieldType;
8
8
  };
@@ -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
  /**
@@ -35,7 +36,7 @@ const SingleInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function Sin
35
36
  } = themeProps,
36
37
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
37
38
  const ownerState = themeProps;
38
- const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : MuiTextField;
39
+ const TextField = (_slots$textField = slots == null ? void 0 : slots.textField) != null ? _slots$textField : inProps.enableAccessibleFieldDOMStructure ? PickersTextField : MuiTextField;
39
40
  const textFieldProps = useSlotProps({
40
41
  elementType: TextField,
41
42
  externalSlotProps: slotProps == null ? void 0 : slotProps.textField,
@@ -111,6 +112,10 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
111
112
  * @default false
112
113
  */
113
114
  disablePast: PropTypes.bool,
115
+ /**
116
+ * @default false
117
+ */
118
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
114
119
  /**
115
120
  * If `true`, the component is displayed in focused state.
116
121
  */
@@ -260,17 +265,14 @@ process.env.NODE_ENV !== "production" ? SingleInputDateTimeRangeField.propTypes
260
265
  required: PropTypes.bool,
261
266
  /**
262
267
  * The currently selected sections.
263
- * This prop accept four formats:
268
+ * This prop accepts four formats:
264
269
  * 1. If a number is provided, the section at this index will be selected.
265
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
266
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
267
- * 4. If `null` is provided, no section will be selected
270
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
271
+ * 3. If `"all"` is provided, all the sections will be selected.
272
+ * 4. If `null` is provided, no section will be selected.
268
273
  * If not provided, the selected sections will be handled internally.
269
274
  */
270
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
271
- endIndex: PropTypes.number.isRequired,
272
- startIndex: PropTypes.number.isRequired
273
- })]),
275
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
274
276
  /**
275
277
  * Disable specific date.
276
278
  *
@@ -1,15 +1,14 @@
1
1
  import * as React from 'react';
2
2
  import { SlotComponentProps } from '@mui/base/utils';
3
3
  import TextField from '@mui/material/TextField';
4
- import { FieldsTextFieldProps } from '@mui/x-date-pickers/internals';
5
- import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
6
- import { PickerValidDate } from '@mui/x-date-pickers/models';
7
- import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internals/models';
8
- export interface UseSingleInputDateTimeRangeFieldProps<TDate extends PickerValidDate> extends UseDateTimeRangeFieldProps<TDate> {
4
+ import { UseFieldInternalProps } from '@mui/x-date-pickers/internals';
5
+ import { BuiltInFieldTextFieldProps, PickerValidDate } from '@mui/x-date-pickers/models';
6
+ import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
7
+ import { UseDateTimeRangeFieldProps } from '../internals/models';
8
+ import { DateRange, RangeFieldSection, DateTimeRangeValidationError } from '../models';
9
+ export interface UseSingleInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, ExportedUseClearableFieldProps, Pick<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'unstableFieldRef'> {
9
10
  }
10
- export type UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate extends PickerValidDate, AdditionalProps extends {}> = UseDateTimeRangeFieldDefaultizedProps<TDate> & AdditionalProps;
11
- export type UseSingleInputDateTimeRangeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseSingleInputDateTimeRangeFieldProps<TDate>> & UseSingleInputDateTimeRangeFieldProps<TDate>;
12
- export interface SingleInputDateTimeRangeFieldProps<TDate extends PickerValidDate> extends UseSingleInputDateTimeRangeFieldComponentProps<TDate, FieldsTextFieldProps> {
11
+ export type SingleInputDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseSingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseSingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
13
12
  /**
14
13
  * Overridable component slots.
15
14
  * @default {}
@@ -19,17 +18,15 @@ export interface SingleInputDateTimeRangeFieldProps<TDate extends PickerValidDat
19
18
  * The props used for each component slot.
20
19
  * @default {}
21
20
  */
22
- slotProps?: SingleInputDateTimeRangeFieldSlotProps<TDate>;
23
- }
24
- export type SingleInputDateTimeRangeFieldOwnerState<TDate extends PickerValidDate> = SingleInputDateTimeRangeFieldProps<TDate>;
21
+ slotProps?: SingleInputDateTimeRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
22
+ };
25
23
  export interface SingleInputDateTimeRangeFieldSlots extends UseClearableFieldSlots {
26
24
  /**
27
25
  * Form control with an input to render the value.
28
- * Receives the same props as `@mui/material/TextField`.
29
- * @default TextField from '@mui/material'
26
+ * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
30
27
  */
31
28
  textField?: React.ElementType;
32
29
  }
33
- export interface SingleInputDateTimeRangeFieldSlotProps<TDate extends PickerValidDate> extends UseClearableFieldSlotProps {
34
- textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateTimeRangeFieldOwnerState<TDate>>;
30
+ export interface SingleInputDateTimeRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
31
+ textField?: SlotComponentProps<typeof TextField, {}, SingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
35
32
  }
@@ -1,3 +1,3 @@
1
1
  export { SingleInputDateTimeRangeField } from './SingleInputDateTimeRangeField';
2
2
  export { useSingleInputDateTimeRangeField as unstable_useSingleInputDateTimeRangeField } from './useSingleInputDateTimeRangeField';
3
- export type { UseSingleInputDateTimeRangeFieldProps, UseSingleInputDateTimeRangeFieldComponentProps, SingleInputDateTimeRangeFieldProps, } from './SingleInputDateTimeRangeField.types';
3
+ export type { UseSingleInputDateTimeRangeFieldProps, SingleInputDateTimeRangeFieldProps, } from './SingleInputDateTimeRangeField.types';