@mui/x-date-pickers-pro 7.0.0-beta.2 → 7.0.0-beta.5

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 (278) hide show
  1. package/CHANGELOG.md +429 -30
  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 +5 -2
  8. package/DateRangePicker/DateRangePickerToolbar.js +22 -2
  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 +45 -9
  15. package/DateTimeRangePicker/shared.js +8 -3
  16. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +1 -1
  17. package/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
  18. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +3 -3
  19. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +1 -1
  20. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
  21. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +3 -3
  22. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +1 -1
  23. package/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
  24. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +3 -3
  25. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +1 -1
  26. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +11 -12
  27. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +3 -3
  28. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +1 -1
  29. package/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
  30. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +11 -14
  31. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +1 -1
  32. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
  33. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +12 -16
  34. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +1 -1
  35. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
  36. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +12 -16
  37. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +2 -2
  38. package/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
  39. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +11 -14
  40. package/SingleInputDateRangeField/index.d.ts +1 -1
  41. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +2 -3
  42. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -15
  43. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +2 -2
  44. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -10
  45. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +12 -15
  46. package/SingleInputDateTimeRangeField/index.d.ts +1 -1
  47. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +2 -3
  48. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -20
  49. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +2 -2
  50. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
  51. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +12 -15
  52. package/SingleInputTimeRangeField/index.d.ts +1 -1
  53. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +2 -3
  54. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -14
  55. package/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
  56. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +1 -1
  57. package/index.d.ts +0 -1
  58. package/index.js +2 -1
  59. package/internals/hooks/models/useRangePicker.d.ts +5 -5
  60. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -1
  61. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
  62. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +5 -5
  63. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +15 -15
  64. package/internals/hooks/useEnrichedRangePickerFieldProps.js +37 -40
  65. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -1
  66. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
  67. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +5 -5
  68. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +21 -0
  69. package/internals/hooks/useMultiInputFieldSelectedSections.js +43 -0
  70. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +1 -1
  71. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
  72. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +2 -3
  73. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
  74. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +4 -4
  75. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +2 -3
  76. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
  77. package/internals/hooks/useRangePosition.d.ts +2 -4
  78. package/internals/hooks/useRangePosition.js +3 -6
  79. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  80. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +1 -2
  81. package/internals/models/dateRange.d.ts +3 -15
  82. package/internals/models/dateTimeRange.d.ts +4 -6
  83. package/internals/models/index.d.ts +0 -1
  84. package/internals/models/index.js +0 -1
  85. package/internals/models/timeRange.d.ts +3 -6
  86. package/internals/utils/date-fields-utils.d.ts +1 -5
  87. package/internals/utils/releaseInfo.js +1 -1
  88. package/internals/utils/valueManagers.d.ts +1 -2
  89. package/internals/utils/valueManagers.js +11 -6
  90. package/models/fields.d.ts +69 -0
  91. package/models/index.d.ts +1 -0
  92. package/models/index.js +1 -0
  93. package/modern/DateRangeCalendar/DateRangeCalendar.js +3 -1
  94. package/modern/DateRangePicker/DateRangePicker.js +9 -9
  95. package/modern/DateRangePicker/DateRangePickerToolbar.js +22 -2
  96. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +11 -12
  97. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  98. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +45 -9
  99. package/modern/DateTimeRangePicker/shared.js +7 -2
  100. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
  101. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
  102. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
  103. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +11 -12
  104. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
  105. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
  106. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
  107. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
  108. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -14
  109. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +12 -10
  110. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -19
  111. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
  112. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -13
  113. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
  114. package/modern/index.js +2 -1
  115. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
  116. package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +34 -37
  117. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
  118. package/modern/internals/hooks/useMultiInputFieldSelectedSections.js +40 -0
  119. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
  120. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -30
  121. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -24
  122. package/modern/internals/hooks/useRangePosition.js +3 -6
  123. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  124. package/modern/internals/models/index.js +0 -1
  125. package/modern/internals/utils/releaseInfo.js +1 -1
  126. package/modern/internals/utils/valueManagers.js +11 -6
  127. package/modern/models/index.js +1 -0
  128. package/node/DateRangeCalendar/DateRangeCalendar.js +3 -1
  129. package/node/DateRangePicker/DateRangePicker.js +9 -9
  130. package/node/DateRangePicker/DateRangePickerToolbar.js +22 -2
  131. package/node/DateTimeRangePicker/DateTimeRangePicker.js +11 -12
  132. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  133. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +45 -9
  134. package/node/DateTimeRangePicker/shared.js +7 -2
  135. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -9
  136. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +11 -12
  137. package/node/MobileDateRangePicker/MobileDateRangePicker.js +9 -9
  138. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +13 -14
  139. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +17 -19
  140. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +17 -19
  141. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +17 -19
  142. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +12 -10
  143. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -16
  144. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +15 -13
  145. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -21
  146. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +11 -9
  147. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -15
  148. package/node/StaticDateRangePicker/StaticDateRangePicker.js +0 -1
  149. package/node/index.js +1 -1
  150. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +16 -7
  151. package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +33 -36
  152. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
  153. package/node/internals/hooks/useMultiInputFieldSelectedSections.js +50 -0
  154. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +16 -11
  155. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
  156. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
  157. package/node/internals/hooks/useRangePosition.js +3 -8
  158. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  159. package/node/internals/models/index.js +0 -11
  160. package/node/internals/utils/releaseInfo.js +1 -1
  161. package/node/internals/utils/valueManagers.js +10 -5
  162. package/node/models/index.js +11 -0
  163. package/package.json +5 -5
  164. package/themeAugmentation/props.d.ts +15 -14
  165. package/internals/models/fields.d.ts +0 -49
  166. package/legacy/AdapterDateFns/index.js +0 -1
  167. package/legacy/AdapterDateFnsJalali/index.js +0 -1
  168. package/legacy/AdapterDateFnsV3/index.js +0 -1
  169. package/legacy/AdapterDayjs/index.js +0 -1
  170. package/legacy/AdapterLuxon/index.js +0 -1
  171. package/legacy/AdapterMoment/index.js +0 -1
  172. package/legacy/AdapterMomentHijri/index.js +0 -1
  173. package/legacy/AdapterMomentJalaali/index.js +0 -1
  174. package/legacy/DateRangeCalendar/DateRangeCalendar.js +0 -764
  175. package/legacy/DateRangeCalendar/DateRangeCalendar.types.js +0 -1
  176. package/legacy/DateRangeCalendar/dateRangeCalendarClasses.js +0 -5
  177. package/legacy/DateRangeCalendar/index.js +0 -2
  178. package/legacy/DateRangeCalendar/useDragRange.js +0 -258
  179. package/legacy/DateRangePicker/DateRangePicker.js +0 -334
  180. package/legacy/DateRangePicker/DateRangePicker.types.js +0 -1
  181. package/legacy/DateRangePicker/DateRangePickerToolbar.js +0 -127
  182. package/legacy/DateRangePicker/dateRangePickerToolbarClasses.js +0 -5
  183. package/legacy/DateRangePicker/index.js +0 -3
  184. package/legacy/DateRangePicker/shared.js +0 -33
  185. package/legacy/DateRangePickerDay/DateRangePickerDay.js +0 -366
  186. package/legacy/DateRangePickerDay/dateRangePickerDayClasses.js +0 -5
  187. package/legacy/DateRangePickerDay/index.js +0 -2
  188. package/legacy/DateTimeRangePicker/DateTimeRangePicker.js +0 -413
  189. package/legacy/DateTimeRangePicker/DateTimeRangePicker.types.js +0 -1
  190. package/legacy/DateTimeRangePicker/DateTimeRangePickerTabs.js +0 -191
  191. package/legacy/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +0 -57
  192. package/legacy/DateTimeRangePicker/DateTimeRangePickerToolbar.js +0 -184
  193. package/legacy/DateTimeRangePicker/dateTimeRangePickerTabsClasses.js +0 -6
  194. package/legacy/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.js +0 -5
  195. package/legacy/DateTimeRangePicker/index.js +0 -5
  196. package/legacy/DateTimeRangePicker/shared.js +0 -54
  197. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -343
  198. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.types.js +0 -1
  199. package/legacy/DesktopDateRangePicker/index.js +0 -1
  200. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +0 -491
  201. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.js +0 -1
  202. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.js +0 -48
  203. package/legacy/DesktopDateTimeRangePicker/index.js +0 -1
  204. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -339
  205. package/legacy/MobileDateRangePicker/MobileDateRangePicker.types.js +0 -1
  206. package/legacy/MobileDateRangePicker/index.js +0 -1
  207. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +0 -484
  208. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.js +0 -1
  209. package/legacy/MobileDateTimeRangePicker/index.js +0 -1
  210. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +0 -316
  211. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  212. package/legacy/MultiInputDateRangeField/index.js +0 -2
  213. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +0 -357
  214. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  215. package/legacy/MultiInputDateTimeRangeField/index.js +0 -2
  216. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +0 -330
  217. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  218. package/legacy/MultiInputTimeRangeField/index.js +0 -2
  219. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +0 -307
  220. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.types.js +0 -1
  221. package/legacy/SingleInputDateRangeField/index.js +0 -2
  222. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +0 -30
  223. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +0 -348
  224. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +0 -1
  225. package/legacy/SingleInputDateTimeRangeField/index.js +0 -2
  226. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +0 -35
  227. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +0 -321
  228. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +0 -1
  229. package/legacy/SingleInputTimeRangeField/index.js +0 -2
  230. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +0 -29
  231. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -276
  232. package/legacy/StaticDateRangePicker/StaticDateRangePicker.types.js +0 -1
  233. package/legacy/StaticDateRangePicker/index.js +0 -1
  234. package/legacy/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -87
  235. package/legacy/dateRangeViewRenderers/index.js +0 -1
  236. package/legacy/index.js +0 -52
  237. package/legacy/internals/constants/dimensions.js +0 -5
  238. package/legacy/internals/hooks/models/index.js +0 -1
  239. package/legacy/internals/hooks/models/useRangePicker.js +0 -1
  240. package/legacy/internals/hooks/useDesktopRangePicker/index.js +0 -1
  241. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +0 -154
  242. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.js +0 -1
  243. package/legacy/internals/hooks/useEnrichedRangePickerFieldProps.js +0 -258
  244. package/legacy/internals/hooks/useMobileRangePicker/index.js +0 -1
  245. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +0 -144
  246. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.js +0 -1
  247. package/legacy/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  248. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -102
  249. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -115
  250. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  251. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -109
  252. package/legacy/internals/hooks/useRangePosition.js +0 -39
  253. package/legacy/internals/hooks/useStaticRangePicker/index.js +0 -1
  254. package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -76
  255. package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.js +0 -1
  256. package/legacy/internals/models/dateRange.js +0 -1
  257. package/legacy/internals/models/dateTimeRange.js +0 -1
  258. package/legacy/internals/models/index.js +0 -5
  259. package/legacy/internals/models/rangePickerProps.js +0 -1
  260. package/legacy/internals/models/timeRange.js +0 -1
  261. package/legacy/internals/utils/date-fields-utils.js +0 -26
  262. package/legacy/internals/utils/date-range-manager.js +0 -65
  263. package/legacy/internals/utils/date-utils.js +0 -12
  264. package/legacy/internals/utils/releaseInfo.js +0 -13
  265. package/legacy/internals/utils/validation/validateDateRange.js +0 -45
  266. package/legacy/internals/utils/validation/validateDateTimeRange.js +0 -45
  267. package/legacy/internals/utils/validation/validateTimeRange.js +0 -32
  268. package/legacy/internals/utils/valueManagers.js +0 -135
  269. package/legacy/locales/index.js +0 -1
  270. package/legacy/models/index.js +0 -3
  271. package/legacy/models/multiInputRangeFieldClasses.js +0 -1
  272. package/legacy/models/range.js +0 -1
  273. package/legacy/models/validation.js +0 -1
  274. package/legacy/themeAugmentation/index.js +0 -4
  275. package/modern/internals/models/fields.js +0 -1
  276. /package/{internals/models → models}/fields.js +0 -0
  277. /package/{legacy/internals → modern}/models/fields.js +0 -0
  278. /package/node/{internals/models → models}/fields.js +0 -0
@@ -3,6 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
3
3
  const _excluded = ["view", "openTo", "rangePosition", "sx"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
+ import { refType } from '@mui/utils';
6
7
  import { DIALOG_WIDTH, VIEW_HEIGHT, extractValidationProps, isInternalTimeView, isDatePickerView } from '@mui/x-date-pickers/internals';
7
8
  import { resolveComponentProps } from '@mui/base/utils';
8
9
  import { renderDigitalClockTimeView, renderMultiSectionDigitalClockTimeView } from '@mui/x-date-pickers/timeViewRenderers';
@@ -208,10 +209,13 @@ MobileDateTimeRangePicker.propTypes = {
208
209
  * If `true`, the week number will be display in the calendar.
209
210
  */
210
211
  displayWeekNumber: PropTypes.bool,
212
+ /**
213
+ * @default false
214
+ */
215
+ enableAccessibleFieldDOMStructure: PropTypes.any,
211
216
  /**
212
217
  * The day view will show as many weeks as needed after the end of the current month to match this value.
213
218
  * Put it to 6 to have a fixed number of weeks in Gregorian calendars
214
- * @default undefined
215
219
  */
216
220
  fixedWeekNumber: PropTypes.number,
217
221
  /**
@@ -229,9 +233,7 @@ MobileDateTimeRangePicker.propTypes = {
229
233
  * Pass a ref to the `input` element.
230
234
  * Ignored if the field has several inputs.
231
235
  */
232
- inputRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
233
- current: PropTypes.object
234
- })]),
236
+ inputRef: refType,
235
237
  /**
236
238
  * The label content.
237
239
  * Ignored if the field has several inputs.
@@ -375,17 +377,14 @@ MobileDateTimeRangePicker.propTypes = {
375
377
  renderLoading: PropTypes.func,
376
378
  /**
377
379
  * The currently selected sections.
378
- * This prop accept four formats:
380
+ * This prop accepts four formats:
379
381
  * 1. If a number is provided, the section at this index will be selected.
380
- * 2. If an object with a `startIndex` and `endIndex` properties are provided, the sections between those two indexes will be selected.
381
- * 3. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
382
- * 4. If `null` is provided, no section will be selected
382
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
383
+ * 3. If `"all"` is provided, all the sections will be selected.
384
+ * 4. If `null` is provided, no section will be selected.
383
385
  * If not provided, the selected sections will be handled internally.
384
386
  */
385
- selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number, PropTypes.shape({
386
- endIndex: PropTypes.number.isRequired,
387
- startIndex: PropTypes.number.isRequired
388
- })]),
387
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
389
388
  /**
390
389
  * Disable specific date.
391
390
  *
@@ -5,9 +5,9 @@ import { BaseDateTimeRangePickerProps, BaseDateTimeRangePickerSlots, BaseDateTim
5
5
  import { DateTimeRangePickerView } from '../internals/models';
6
6
  export interface MobileDateTimeRangePickerSlots<TDate extends PickerValidDate> extends BaseDateTimeRangePickerSlots<TDate>, MakeOptional<UseMobileRangePickerSlots<TDate, DateTimeRangePickerView>, 'field'> {
7
7
  }
8
- export interface MobileDateTimeRangePickerSlotProps<TDate extends PickerValidDate> extends BaseDateTimeRangePickerSlotProps<TDate>, Omit<UseMobileRangePickerSlotProps<TDate, DateTimeRangePickerView>, 'tabs' | 'toolbar'> {
8
+ export interface MobileDateTimeRangePickerSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends BaseDateTimeRangePickerSlotProps<TDate>, Omit<UseMobileRangePickerSlotProps<TDate, DateTimeRangePickerView, TEnableAccessibleFieldDOMStructure>, 'tabs' | 'toolbar'> {
9
9
  }
10
- export interface MobileDateTimeRangePickerProps<TDate extends PickerValidDate> extends BaseDateTimeRangePickerProps<TDate>, MobileRangeOnlyPickerProps<TDate> {
10
+ export interface MobileDateTimeRangePickerProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends BaseDateTimeRangePickerProps<TDate>, MobileRangeOnlyPickerProps {
11
11
  /**
12
12
  * Overridable component slots.
13
13
  * @default {}
@@ -17,5 +17,5 @@ export interface MobileDateTimeRangePickerProps<TDate extends PickerValidDate> e
17
17
  * The props used for each component slot.
18
18
  * @default {}
19
19
  */
20
- slotProps?: MobileDateTimeRangePickerSlotProps<TDate>;
20
+ slotProps?: MobileDateTimeRangePickerSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
21
21
  }
@@ -4,7 +4,7 @@ import { MultiInputDateRangeFieldProps } from './MultiInputDateRangeField.types'
4
4
  import { MultiInputRangeFieldClasses } from '../models';
5
5
  export declare const multiInputDateRangeFieldClasses: MultiInputRangeFieldClasses;
6
6
  export declare const getMultiInputDateRangeFieldUtilityClass: (slot: string) => string;
7
- type MultiInputDateRangeFieldComponent = (<TDate extends PickerValidDate>(props: MultiInputDateRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
+ type MultiInputDateRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MultiInputDateRangeFieldProps<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 { 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";
@@ -63,14 +64,12 @@ const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
63
64
  name: 'MuiMultiInputDateRangeField'
64
65
  });
65
66
  const {
66
- internalProps: dateFieldInternalProps,
67
+ internalProps,
67
68
  forwardedProps
68
69
  } = splitFieldInternalAndForwardedProps(themeProps, 'date');
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 MultiInputDateRangeField = /*#__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 MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInp
115
111
  className: classes.separator
116
112
  });
117
113
  const fieldResponse = useMultiInputDateRangeField({
118
- sharedProps: _extends({}, dateFieldInternalProps, {
119
- disabled
120
- }),
114
+ sharedProps: internalProps,
121
115
  startTextFieldProps,
122
116
  endTextFieldProps,
123
117
  unstableStartFieldRef,
@@ -138,6 +132,9 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
138
132
  // | These PropTypes are generated from the TypeScript type definitions |
139
133
  // | To update them edit the TypeScript types and run "yarn proptypes" |
140
134
  // ----------------------------------------------------------------------
135
+ /**
136
+ * If `true`, the `input` element is focused during the first mount.
137
+ */
141
138
  autoFocus: PropTypes.bool,
142
139
  /**
143
140
  * Override or extend the styles applied to the component.
@@ -174,6 +171,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
174
171
  * Add an element between each child.
175
172
  */
176
173
  divider: PropTypes.node,
174
+ /**
175
+ * @default false
176
+ */
177
+ enableAccessibleFieldDOMStructure: PropTypes.bool,
177
178
  /**
178
179
  * Format of the date when rendered in the input(s).
179
180
  */
@@ -227,17 +228,14 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
227
228
  referenceDate: PropTypes.object,
228
229
  /**
229
230
  * The currently selected sections.
230
- * This prop accept four formats:
231
+ * This prop accepts four formats:
231
232
  * 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
233
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
234
+ * 3. If `"all"` is provided, all the sections will be selected.
235
+ * 4. If `null` is provided, no section will be selected.
235
236
  * If not provided, the selected sections will be handled internally.
236
237
  */
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
- })]),
238
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
241
239
  /**
242
240
  * Disable specific date.
243
241
  *
@@ -6,13 +6,12 @@ import Stack, { StackProps } from '@mui/material/Stack';
6
6
  import TextField from '@mui/material/TextField';
7
7
  import { UseDateRangeFieldProps } from '../internals/models/dateRange';
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 UseMultiInputDateRangeFieldParams<TDate extends PickerValidDate, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TDate>, TTextFieldSlotProps>;
12
- export interface UseMultiInputDateRangeFieldProps<TDate extends PickerValidDate> extends Omit<UseDateRangeFieldProps<TDate>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
9
+ import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition } from '../models';
10
+ export type UseMultiInputDateRangeFieldParams<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
11
+ export interface UseMultiInputDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
13
12
  }
14
- export type UseMultiInputDateRangeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate>> & UseMultiInputDateRangeFieldProps<TDate>;
15
- export interface MultiInputDateRangeFieldProps<TDate extends PickerValidDate> extends UseMultiInputDateRangeFieldComponentProps<TDate, Omit<StackProps, 'position'>> {
13
+ export type UseMultiInputDateRangeFieldComponentProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseMultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>;
14
+ export interface MultiInputDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> extends UseMultiInputDateRangeFieldComponentProps<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 MultiInputDateRangeFieldProps<TDate extends PickerValidDate> ex
27
26
  * The props used for each component slot.
28
27
  * @default {}
29
28
  */
30
- slotProps?: MultiInputDateRangeFieldSlotProps<TDate>;
29
+ slotProps?: MultiInputDateRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
31
30
  }
32
- export type MultiInputDateRangeFieldOwnerState<TDate extends PickerValidDate> = MultiInputDateRangeFieldProps<TDate>;
33
31
  export interface MultiInputDateRangeFieldSlots {
34
32
  /**
35
33
  * Element rendered at the root.
@@ -39,8 +37,7 @@ export interface MultiInputDateRangeFieldSlots {
39
37
  /**
40
38
  * Form control with an input to render a date.
41
39
  * It is rendered twice: once for the start date and once for the end date.
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,10 +46,10 @@ export interface MultiInputDateRangeFieldSlots {
49
46
  */
50
47
  separator?: React.ElementType;
51
48
  }
52
- export interface MultiInputDateRangeFieldSlotProps<TDate extends PickerValidDate> {
53
- root?: SlotComponentProps<typeof Stack, {}, MultiInputDateRangeFieldOwnerState<TDate>>;
54
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateRangeFieldOwnerState<TDate> & {
49
+ export interface MultiInputDateRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> {
50
+ root?: SlotComponentProps<typeof Stack, {}, MultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
51
+ textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
55
52
  position: RangePosition;
56
53
  }>;
57
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateRangeFieldOwnerState<TDate>>;
54
+ separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
58
55
  }
@@ -4,7 +4,7 @@ import { MultiInputDateTimeRangeFieldProps } from './MultiInputDateTimeRangeFiel
4
4
  import { MultiInputRangeFieldClasses } from '../models';
5
5
  export declare const multiInputDateTimeRangeFieldClasses: MultiInputRangeFieldClasses;
6
6
  export declare const getMultiInputDateTimeRangeFieldUtilityClass: (slot: string) => string;
7
- type MultiInputDateTimeRangeFieldComponent = (<TDate extends PickerValidDate>(props: MultiInputDateTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
+ type MultiInputDateTimeRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: MultiInputDateTimeRangeFieldProps<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 { 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
  };