@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
@@ -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';
@@ -1,4 +1,3 @@
1
1
  import { PickerValidDate } from '@mui/x-date-pickers/models';
2
- import { UseSingleInputDateTimeRangeFieldComponentProps, UseSingleInputDateTimeRangeFieldDefaultizedProps, UseSingleInputDateTimeRangeFieldProps } from './SingleInputDateTimeRangeField.types';
3
- export declare const useDefaultizedTimeRangeFieldProps: <TDate extends PickerValidDate, AdditionalProps extends {}>(props: UseSingleInputDateTimeRangeFieldProps<TDate>) => UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
4
- export declare const useSingleInputDateTimeRangeField: <TDate extends PickerValidDate, TChildProps extends {}>(inProps: UseSingleInputDateTimeRangeFieldComponentProps<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputDateTimeRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputDateTimeRangeFieldProps<any>>>;
2
+ import { UseSingleInputDateTimeRangeFieldProps } from './SingleInputDateTimeRangeField.types';
3
+ export declare const useSingleInputDateTimeRangeField: <TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>(inProps: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps & Omit<UseSingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateTimeFieldBaseProps<any>> & Required<Pick<UseSingleInputDateTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateTimeFieldBaseProps<any>>>, keyof UseSingleInputDateTimeRangeFieldProps<any, any>>>;
@@ -1,26 +1,8 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { useUtils, useField, applyDefaultDate, useDefaultDates, splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
1
+ import { useField, splitFieldInternalAndForwardedProps, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
3
2
  import { rangeValueManager, rangeFieldValueManager } from '../internals/utils/valueManagers';
4
3
  import { validateDateTimeRange } from '../internals/utils/validation/validateDateTimeRange';
5
- export const useDefaultizedTimeRangeFieldProps = props => {
6
- var _props$ampm, _props$disablePast, _props$disableFuture, _props$format, _props$minDateTime, _props$maxDateTime, _props$minDateTime2, _props$maxDateTime2;
7
- const utils = useUtils();
8
- const defaultDates = useDefaultDates();
9
- const ampm = (_props$ampm = props.ampm) != null ? _props$ampm : utils.is12HourCycleInCurrentLocale();
10
- const defaultFormat = ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h;
11
- return _extends({}, props, {
12
- disablePast: (_props$disablePast = props.disablePast) != null ? _props$disablePast : false,
13
- disableFuture: (_props$disableFuture = props.disableFuture) != null ? _props$disableFuture : false,
14
- format: (_props$format = props.format) != null ? _props$format : defaultFormat,
15
- minDate: applyDefaultDate(utils, (_props$minDateTime = props.minDateTime) != null ? _props$minDateTime : props.minDate, defaultDates.minDate),
16
- maxDate: applyDefaultDate(utils, (_props$maxDateTime = props.maxDateTime) != null ? _props$maxDateTime : props.maxDate, defaultDates.maxDate),
17
- minTime: (_props$minDateTime2 = props.minDateTime) != null ? _props$minDateTime2 : props.minTime,
18
- maxTime: (_props$maxDateTime2 = props.maxDateTime) != null ? _props$maxDateTime2 : props.maxTime,
19
- disableIgnoringDatePartForTimeValidation: Boolean(props.minDateTime || props.maxDateTime)
20
- });
21
- };
22
4
  export const useSingleInputDateTimeRangeField = inProps => {
23
- const props = useDefaultizedTimeRangeFieldProps(inProps);
5
+ const props = useDefaultizedDateTimeField(inProps);
24
6
  const {
25
7
  forwardedProps,
26
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 { SingleInputTimeRangeFieldProps } from './SingleInputTimeRangeField.types';
4
- import { FieldType } from '../internals/models';
5
- type DateRangeFieldComponent = (<TDate extends PickerValidDate>(props: SingleInputTimeRangeFieldProps<TDate> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
4
+ import { FieldType } from '../models';
5
+ type DateRangeFieldComponent = (<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false>(props: SingleInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
6
6
  propTypes?: any;
7
7
  fieldType?: FieldType;
8
8
  };
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import MuiTextField from '@mui/material/TextField';
7
7
  import { useClearableField } from '@mui/x-date-pickers/hooks';
8
8
  import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
9
+ import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
9
10
  import { useThemeProps } from '@mui/material/styles';
10
11
  import { useSlotProps } from '@mui/base/utils';
11
12
  import { refType } from '@mui/utils';
@@ -35,7 +36,7 @@ const SingleInputTimeRangeField = /*#__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,
@@ -111,6 +112,10 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.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
  */
@@ -244,17 +249,14 @@ process.env.NODE_ENV !== "production" ? SingleInputTimeRangeField.propTypes = {
244
249
  required: PropTypes.bool,
245
250
  /**
246
251
  * The currently selected sections.
247
- * This prop accept four formats:
252
+ * This prop accepts four formats:
248
253
  * 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
254
+ * 2. If a string of type `FieldSectionType` is provided, the first section with that name will be selected.
255
+ * 3. If `"all"` is provided, all the sections will be selected.
256
+ * 4. If `null` is provided, no section will be selected.
252
257
  * If not provided, the selected sections will be handled internally.
253
258
  */
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
- })]),
259
+ selectedSections: PropTypes.oneOfType([PropTypes.oneOf(['all', 'day', 'empty', 'hours', 'meridiem', 'minutes', 'month', 'seconds', 'weekDay', 'year']), PropTypes.number]),
258
260
  /**
259
261
  * Disable specific time.
260
262
  * @template TDate
@@ -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 { UseTimeRangeFieldDefaultizedProps, UseTimeRangeFieldProps } from '../internals/models';
8
- export interface UseSingleInputTimeRangeFieldProps<TDate extends PickerValidDate> extends UseTimeRangeFieldProps<TDate> {
4
+ import { UseFieldInternalProps } from '@mui/x-date-pickers/internals';
5
+ import { PickerValidDate, BuiltInFieldTextFieldProps } from '@mui/x-date-pickers/models';
6
+ import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
7
+ import { UseTimeRangeFieldProps } from '../internals/models';
8
+ import { DateRange, RangeFieldSection, TimeRangeValidationError } from '../models';
9
+ export interface UseSingleInputTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, ExportedUseClearableFieldProps, Pick<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'unstableFieldRef'> {
9
10
  }
10
- export type UseSingleInputTimeRangeFieldDefaultizedProps<TDate extends PickerValidDate, AdditionalProps extends {}> = UseTimeRangeFieldDefaultizedProps<TDate> & AdditionalProps;
11
- export type UseSingleInputTimeRangeFieldComponentProps<TDate extends PickerValidDate, TChildProps extends {}> = Omit<TChildProps, keyof UseSingleInputTimeRangeFieldProps<TDate>> & UseSingleInputTimeRangeFieldProps<TDate>;
12
- export interface SingleInputTimeRangeFieldProps<TDate extends PickerValidDate> extends UseSingleInputTimeRangeFieldComponentProps<TDate, FieldsTextFieldProps> {
11
+ export type SingleInputTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseSingleInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>> & UseSingleInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure> & {
13
12
  /**
14
13
  * Overridable component slots.
15
14
  * @default {}
@@ -19,17 +18,15 @@ export interface SingleInputTimeRangeFieldProps<TDate extends PickerValidDate> e
19
18
  * The props used for each component slot.
20
19
  * @default {}
21
20
  */
22
- slotProps?: SingleInputTimeRangeFieldSlotProps<TDate>;
23
- }
24
- export type SingleInputTimeRangeFieldOwnerState<TDate extends PickerValidDate> = SingleInputTimeRangeFieldProps<TDate>;
21
+ slotProps?: SingleInputTimeRangeFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure>;
22
+ };
25
23
  export interface SingleInputTimeRangeFieldSlots 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 SingleInputTimeRangeFieldSlotProps<TDate extends PickerValidDate> extends UseClearableFieldSlotProps {
34
- textField?: SlotComponentProps<typeof TextField, {}, SingleInputTimeRangeFieldOwnerState<TDate>>;
30
+ export interface SingleInputTimeRangeFieldSlotProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends UseClearableFieldSlotProps {
31
+ textField?: SlotComponentProps<typeof TextField, {}, SingleInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>;
35
32
  }
@@ -1,3 +1,3 @@
1
1
  export { SingleInputTimeRangeField } from './SingleInputTimeRangeField';
2
2
  export { useSingleInputTimeRangeField as unstable_useSingleInputTimeRangeField } from './useSingleInputTimeRangeField';
3
- export type { UseSingleInputTimeRangeFieldProps, UseSingleInputTimeRangeFieldComponentProps, SingleInputTimeRangeFieldProps, } from './SingleInputTimeRangeField.types';
3
+ export type { UseSingleInputTimeRangeFieldProps, SingleInputTimeRangeFieldProps, } from './SingleInputTimeRangeField.types';
@@ -1,4 +1,3 @@
1
1
  import { PickerValidDate } from '@mui/x-date-pickers/models';
2
- import { UseSingleInputTimeRangeFieldComponentProps, UseSingleInputTimeRangeFieldDefaultizedProps, UseSingleInputTimeRangeFieldProps } from './SingleInputTimeRangeField.types';
3
- export declare const useDefaultizedTimeRangeFieldProps: <TDate extends PickerValidDate, AdditionalProps extends {}>(props: UseSingleInputTimeRangeFieldProps<TDate>) => UseSingleInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
4
- export declare const useSingleInputTimeRangeField: <TDate extends PickerValidDate, TChildProps extends {}>(inProps: UseSingleInputTimeRangeFieldComponentProps<TDate, TChildProps>) => import("@mui/x-date-pickers/internals").UseFieldResponse<Omit<UseSingleInputTimeRangeFieldDefaultizedProps<TDate, TChildProps>, keyof UseSingleInputTimeRangeFieldProps<any>>>;
2
+ import { UseSingleInputTimeRangeFieldProps } from './SingleInputTimeRangeField.types';
3
+ export declare const useSingleInputTimeRangeField: <TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>>(inProps: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps & Omit<UseSingleInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedTimeFieldBaseProps> & Required<Pick<UseSingleInputTimeRangeFieldProps<TDate, TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedTimeFieldBaseProps>>, keyof UseSingleInputTimeRangeFieldProps<any, any>>>;
@@ -1,20 +1,8 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { useUtils, useField, splitFieldInternalAndForwardedProps } from '@mui/x-date-pickers/internals';
1
+ import { useField, splitFieldInternalAndForwardedProps, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
3
2
  import { rangeValueManager, rangeFieldValueManager } from '../internals/utils/valueManagers';
4
3
  import { validateTimeRange } from '../internals/utils/validation/validateTimeRange';
5
- export const useDefaultizedTimeRangeFieldProps = props => {
6
- var _props$ampm, _props$disablePast, _props$disableFuture, _props$format;
7
- const utils = useUtils();
8
- const ampm = (_props$ampm = props.ampm) != null ? _props$ampm : utils.is12HourCycleInCurrentLocale();
9
- const defaultFormat = ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h;
10
- return _extends({}, props, {
11
- disablePast: (_props$disablePast = props.disablePast) != null ? _props$disablePast : false,
12
- disableFuture: (_props$disableFuture = props.disableFuture) != null ? _props$disableFuture : false,
13
- format: (_props$format = props.format) != null ? _props$format : defaultFormat
14
- });
15
- };
16
4
  export const useSingleInputTimeRangeField = inProps => {
17
- const props = useDefaultizedTimeRangeFieldProps(inProps);
5
+ const props = useDefaultizedTimeField(inProps);
18
6
  const {
19
7
  forwardedProps,
20
8
  internalProps
@@ -131,7 +131,6 @@ StaticDateRangePicker.propTypes = {
131
131
  /**
132
132
  * The day view will show as many weeks as needed after the end of the current month to match this value.
133
133
  * Put it to 6 to have a fixed number of weeks in Gregorian calendars
134
- * @default undefined
135
134
  */
136
135
  fixedWeekNumber: PropTypes.number,
137
136
  /**
@@ -4,7 +4,7 @@ import { StaticRangeOnlyPickerProps, UseStaticRangePickerSlots, UseStaticRangePi
4
4
  import { BaseDateRangePickerProps, BaseDateRangePickerSlots, BaseDateRangePickerSlotProps } from '../DateRangePicker/shared';
5
5
  export interface StaticDateRangePickerSlots<TDate extends PickerValidDate> extends BaseDateRangePickerSlots<TDate>, UseStaticRangePickerSlots<TDate, 'day'> {
6
6
  }
7
- export interface StaticDateRangePickerSlotProps<TDate extends PickerValidDate> extends BaseDateRangePickerSlotProps<TDate>, UseStaticRangePickerSlotProps<TDate, 'day'> {
7
+ export interface StaticDateRangePickerSlotProps<TDate extends PickerValidDate> extends BaseDateRangePickerSlotProps<TDate>, Omit<UseStaticRangePickerSlotProps<TDate, 'day'>, 'toolbar'> {
8
8
  }
9
9
  export interface StaticDateRangePickerProps<TDate extends PickerValidDate> extends BaseDateRangePickerProps<TDate>, MakeOptional<StaticRangeOnlyPickerProps, 'displayStaticWrapperAs'> {
10
10
  /**
package/index.d.ts CHANGED
@@ -13,7 +13,6 @@ export * from './MultiInputDateTimeRangeField';
13
13
  export * from './SingleInputDateRangeField';
14
14
  export * from './SingleInputTimeRangeField';
15
15
  export * from './SingleInputDateTimeRangeField';
16
- export type { RangeFieldSection, BaseMultiInputFieldProps, MultiInputFieldSlotTextFieldProps, } from './internals/models/fields';
17
16
  export * from './DateRangeCalendar';
18
17
  export * from './DateRangePicker';
19
18
  export * from './DesktopDateRangePicker';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v7.0.0-beta.2
2
+ * @mui/x-date-pickers-pro v7.0.0-beta.5
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -21,6 +21,7 @@ export * from './MultiInputDateTimeRangeField';
21
21
  export * from './SingleInputDateRangeField';
22
22
  export * from './SingleInputTimeRangeField';
23
23
  export * from './SingleInputDateTimeRangeField';
24
+
24
25
  // Calendars
25
26
  export * from './DateRangeCalendar';
26
27
 
@@ -1,19 +1,19 @@
1
1
  import { UsePickerParams, BasePickerProps, ExportedBaseToolbarProps, UsePickerViewsProps, BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps, DateOrTimeViewWithMeridiem, ExportedBaseTabsProps } from '@mui/x-date-pickers/internals';
2
2
  import { PickerValidDate } from '@mui/x-date-pickers/models';
3
3
  import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
4
- import { RangeFieldSection, BaseRangeNonStaticPickerProps } from '../../models';
4
+ import { BaseRangeNonStaticPickerProps } from '../../models';
5
5
  import { UseRangePositionProps, UseRangePositionResponse } from '../useRangePosition';
6
6
  import { RangePickerFieldSlots, RangePickerFieldSlotProps } from '../useEnrichedRangePickerFieldProps';
7
- import { DateRange } from '../../../models';
7
+ import { DateRange, RangeFieldSection } from '../../../models';
8
8
  export interface UseRangePickerSlots<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlots<DateRange<TDate>, TDate, TView>, RangePickerFieldSlots {
9
9
  }
10
- export interface UseRangePickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotProps<TDate> {
10
+ export interface UseRangePickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean> extends ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView>, RangePickerFieldSlotProps<TDate, TEnableAccessibleFieldDOMStructure> {
11
11
  tabs?: ExportedBaseTabsProps;
12
12
  toolbar?: ExportedBaseToolbarProps;
13
13
  }
14
- export interface RangeOnlyPickerProps<TDate extends PickerValidDate> extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps<DateRange<TDate>, RangeFieldSection>, UsePickerViewsNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {
14
+ export interface RangeOnlyPickerProps extends BaseNonStaticPickerProps, UsePickerValueNonStaticProps, UsePickerViewsNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {
15
15
  }
16
- export interface UseRangePickerProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<any, any, TView, any, any>, TAdditionalViewProps extends {}> extends RangeOnlyPickerProps<TDate>, BasePickerProps<DateRange<TDate>, TDate, TView, TError, TExternalProps, TAdditionalViewProps> {
16
+ export interface UseRangePickerProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<any, any, TView, any, any>, TAdditionalViewProps extends {}> extends RangeOnlyPickerProps, BasePickerProps<DateRange<TDate>, TDate, TView, TError, TExternalProps, TAdditionalViewProps> {
17
17
  }
18
18
  export interface RangePickerAdditionalViewProps extends Pick<UseRangePositionResponse, 'rangePosition' | 'onRangePositionChange'> {
19
19
  }
@@ -2,6 +2,6 @@ import * as React from 'react';
2
2
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals';
3
3
  import { PickerValidDate } from '@mui/x-date-pickers/models';
4
4
  import { UseDesktopRangePickerParams, UseDesktopRangePickerProps } from './useDesktopRangePicker.types';
5
- export declare const useDesktopRangePicker: <TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, any, TExternalProps>>({ props, ...pickerParams }: UseDesktopRangePickerParams<TDate, TView, TExternalProps>) => {
5
+ export declare const useDesktopRangePicker: <TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseDesktopRangePickerProps<TDate, TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>>({ props, ...pickerParams }: UseDesktopRangePickerParams<TDate, TView, TEnableAccessibleFieldDOMStructure, TExternalProps>) => {
6
6
  renderPicker: () => React.JSX.Element;
7
7
  };