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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (293) hide show
  1. package/CHANGELOG.md +437 -4
  2. package/DateRangeCalendar/DateRangeCalendar.d.ts +2 -1
  3. package/DateRangeCalendar/DateRangeCalendar.js +9 -7
  4. package/DateRangeCalendar/DateRangeCalendar.types.d.ts +10 -7
  5. package/DateRangeCalendar/useDragRange.d.ts +4 -4
  6. package/DateRangePicker/DateRangePicker.d.ts +2 -1
  7. package/DateRangePicker/DateRangePicker.js +14 -14
  8. package/DateRangePicker/DateRangePicker.types.d.ts +5 -4
  9. package/DateRangePicker/DateRangePickerToolbar.d.ts +6 -2
  10. package/DateRangePicker/DateRangePickerToolbar.js +7 -1
  11. package/DateRangePicker/shared.d.ts +6 -5
  12. package/DateRangePickerDay/DateRangePickerDay.d.ts +3 -2
  13. package/DateRangePickerDay/DateRangePickerDay.js +2 -2
  14. package/DateTimeRangePicker/DateTimeRangePicker.d.ts +2 -1
  15. package/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
  16. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +5 -4
  17. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  18. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +3 -2
  19. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +6 -2
  20. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
  21. package/DateTimeRangePicker/shared.d.ts +6 -5
  22. package/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +2 -1
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
  24. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +5 -4
  25. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +2 -1
  26. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
  27. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +5 -4
  28. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.d.ts +2 -1
  29. package/MobileDateRangePicker/MobileDateRangePicker.d.ts +2 -1
  30. package/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
  31. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +5 -4
  32. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +2 -1
  33. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -21
  34. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +5 -4
  35. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +2 -1
  36. package/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
  37. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +12 -14
  38. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +2 -1
  39. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
  40. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +13 -16
  41. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +2 -1
  42. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
  43. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +13 -16
  44. package/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +3 -2
  45. package/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
  46. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +11 -13
  47. package/SingleInputDateRangeField/index.d.ts +1 -1
  48. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +3 -3
  49. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -15
  50. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +3 -2
  51. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +21 -19
  52. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +12 -14
  53. package/SingleInputDateTimeRangeField/index.d.ts +1 -1
  54. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +3 -3
  55. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -20
  56. package/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +3 -2
  57. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
  58. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +12 -14
  59. package/SingleInputTimeRangeField/index.d.ts +1 -1
  60. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +3 -3
  61. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -14
  62. package/StaticDateRangePicker/StaticDateRangePicker.d.ts +2 -1
  63. package/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
  64. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +4 -3
  65. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +3 -2
  66. package/index.d.ts +7 -2
  67. package/index.js +8 -2
  68. package/internals/hooks/models/useRangePicker.d.ts +8 -7
  69. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +2 -1
  70. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +17 -8
  71. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +7 -6
  72. package/internals/hooks/useEnrichedRangePickerFieldProps.d.ts +15 -15
  73. package/internals/hooks/useEnrichedRangePickerFieldProps.js +37 -40
  74. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +2 -1
  75. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
  76. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -6
  77. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +21 -0
  78. package/internals/hooks/useMultiInputFieldSelectedSections.js +43 -0
  79. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +2 -1
  80. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
  81. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +3 -3
  82. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
  83. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +4 -4
  84. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +3 -3
  85. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
  86. package/internals/hooks/useRangePosition.d.ts +2 -4
  87. package/internals/hooks/useRangePosition.js +3 -6
  88. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +2 -1
  89. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  90. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -6
  91. package/internals/models/dateRange.d.ts +5 -16
  92. package/internals/models/dateTimeRange.d.ts +5 -6
  93. package/internals/models/index.d.ts +0 -1
  94. package/internals/models/index.js +0 -1
  95. package/internals/models/timeRange.d.ts +4 -6
  96. package/internals/utils/date-fields-utils.d.ts +1 -5
  97. package/internals/utils/date-range-manager.d.ts +5 -5
  98. package/internals/utils/date-utils.d.ts +5 -5
  99. package/internals/utils/releaseInfo.js +1 -1
  100. package/internals/utils/validation/validateDateRange.d.ts +2 -2
  101. package/internals/utils/validation/validateDateTimeRange.d.ts +2 -2
  102. package/internals/utils/valueManagers.d.ts +3 -3
  103. package/internals/utils/valueManagers.js +11 -6
  104. package/models/fields.d.ts +69 -0
  105. package/models/index.d.ts +1 -0
  106. package/models/index.js +1 -0
  107. package/models/range.d.ts +3 -2
  108. package/modern/DateRangeCalendar/DateRangeCalendar.js +9 -7
  109. package/modern/DateRangePicker/DateRangePicker.js +14 -14
  110. package/modern/DateRangePicker/DateRangePickerToolbar.js +7 -1
  111. package/modern/DateRangePickerDay/DateRangePickerDay.js +2 -2
  112. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
  113. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  114. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
  115. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
  116. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
  117. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
  118. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -21
  119. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
  120. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
  121. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
  122. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
  123. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -14
  124. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +21 -19
  125. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -19
  126. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
  127. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -13
  128. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
  129. package/modern/index.js +8 -2
  130. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +17 -8
  131. package/modern/internals/hooks/useEnrichedRangePickerFieldProps.js +34 -37
  132. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +18 -9
  133. package/modern/internals/hooks/useMultiInputFieldSelectedSections.js +40 -0
  134. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +17 -12
  135. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -30
  136. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -24
  137. package/modern/internals/hooks/useRangePosition.js +3 -6
  138. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  139. package/modern/internals/models/index.js +0 -1
  140. package/modern/internals/utils/releaseInfo.js +1 -1
  141. package/modern/internals/utils/valueManagers.js +11 -6
  142. package/modern/models/index.js +1 -0
  143. package/node/DateRangeCalendar/DateRangeCalendar.js +10 -8
  144. package/node/DateRangePicker/DateRangePicker.js +14 -14
  145. package/node/DateRangePicker/DateRangePickerToolbar.js +7 -1
  146. package/node/DateRangePickerDay/DateRangePickerDay.js +3 -3
  147. package/node/DateTimeRangePicker/DateTimeRangePicker.js +20 -21
  148. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +7 -1
  149. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +7 -1
  150. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +14 -14
  151. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -21
  152. package/node/MobileDateRangePicker/MobileDateRangePicker.js +14 -14
  153. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +22 -23
  154. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +22 -24
  155. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +26 -28
  156. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +22 -24
  157. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +17 -15
  158. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +2 -16
  159. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +24 -22
  160. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +2 -21
  161. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +16 -14
  162. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +2 -15
  163. package/node/StaticDateRangePicker/StaticDateRangePicker.js +5 -6
  164. package/node/index.js +18 -9
  165. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +18 -9
  166. package/node/internals/hooks/useEnrichedRangePickerFieldProps.js +33 -36
  167. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +19 -10
  168. package/node/internals/hooks/useMultiInputFieldSelectedSections.js +50 -0
  169. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +16 -11
  170. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +23 -31
  171. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +23 -25
  172. package/node/internals/hooks/useRangePosition.js +3 -8
  173. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +1 -0
  174. package/node/internals/models/index.js +0 -11
  175. package/node/internals/utils/releaseInfo.js +1 -1
  176. package/node/internals/utils/valueManagers.js +10 -5
  177. package/node/models/index.js +11 -0
  178. package/package.json +6 -6
  179. package/themeAugmentation/props.d.ts +17 -17
  180. package/internals/models/fields.d.ts +0 -49
  181. package/legacy/AdapterDateFns/index.js +0 -1
  182. package/legacy/AdapterDateFnsJalali/index.js +0 -1
  183. package/legacy/AdapterDateFnsV3/index.js +0 -1
  184. package/legacy/AdapterDayjs/index.js +0 -1
  185. package/legacy/AdapterLuxon/index.js +0 -1
  186. package/legacy/AdapterMoment/index.js +0 -1
  187. package/legacy/AdapterMomentHijri/index.js +0 -1
  188. package/legacy/AdapterMomentJalaali/index.js +0 -1
  189. package/legacy/DateRangeCalendar/DateRangeCalendar.js +0 -764
  190. package/legacy/DateRangeCalendar/DateRangeCalendar.types.js +0 -1
  191. package/legacy/DateRangeCalendar/dateRangeCalendarClasses.js +0 -5
  192. package/legacy/DateRangeCalendar/index.js +0 -2
  193. package/legacy/DateRangeCalendar/useDragRange.js +0 -258
  194. package/legacy/DateRangePicker/DateRangePicker.js +0 -334
  195. package/legacy/DateRangePicker/DateRangePicker.types.js +0 -1
  196. package/legacy/DateRangePicker/DateRangePickerToolbar.js +0 -127
  197. package/legacy/DateRangePicker/dateRangePickerToolbarClasses.js +0 -5
  198. package/legacy/DateRangePicker/index.js +0 -3
  199. package/legacy/DateRangePicker/shared.js +0 -33
  200. package/legacy/DateRangePickerDay/DateRangePickerDay.js +0 -366
  201. package/legacy/DateRangePickerDay/dateRangePickerDayClasses.js +0 -5
  202. package/legacy/DateRangePickerDay/index.js +0 -2
  203. package/legacy/DateTimeRangePicker/DateTimeRangePicker.js +0 -413
  204. package/legacy/DateTimeRangePicker/DateTimeRangePicker.types.js +0 -1
  205. package/legacy/DateTimeRangePicker/DateTimeRangePickerTabs.js +0 -191
  206. package/legacy/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +0 -57
  207. package/legacy/DateTimeRangePicker/DateTimeRangePickerToolbar.js +0 -184
  208. package/legacy/DateTimeRangePicker/dateTimeRangePickerTabsClasses.js +0 -6
  209. package/legacy/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.js +0 -5
  210. package/legacy/DateTimeRangePicker/index.js +0 -5
  211. package/legacy/DateTimeRangePicker/shared.js +0 -54
  212. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -343
  213. package/legacy/DesktopDateRangePicker/DesktopDateRangePicker.types.js +0 -1
  214. package/legacy/DesktopDateRangePicker/index.js +0 -1
  215. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +0 -491
  216. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.js +0 -1
  217. package/legacy/DesktopDateTimeRangePicker/DesktopDateTimeRangePickerLayout.js +0 -48
  218. package/legacy/DesktopDateTimeRangePicker/index.js +0 -1
  219. package/legacy/MobileDateRangePicker/MobileDateRangePicker.js +0 -339
  220. package/legacy/MobileDateRangePicker/MobileDateRangePicker.types.js +0 -1
  221. package/legacy/MobileDateRangePicker/index.js +0 -1
  222. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +0 -484
  223. package/legacy/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.js +0 -1
  224. package/legacy/MobileDateTimeRangePicker/index.js +0 -1
  225. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.js +0 -316
  226. package/legacy/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  227. package/legacy/MultiInputDateRangeField/index.js +0 -2
  228. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +0 -357
  229. package/legacy/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  230. package/legacy/MultiInputDateTimeRangeField/index.js +0 -2
  231. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.js +0 -330
  232. package/legacy/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  233. package/legacy/MultiInputTimeRangeField/index.js +0 -2
  234. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.js +0 -307
  235. package/legacy/SingleInputDateRangeField/SingleInputDateRangeField.types.js +0 -1
  236. package/legacy/SingleInputDateRangeField/index.js +0 -2
  237. package/legacy/SingleInputDateRangeField/useSingleInputDateRangeField.js +0 -30
  238. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +0 -348
  239. package/legacy/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +0 -1
  240. package/legacy/SingleInputDateTimeRangeField/index.js +0 -2
  241. package/legacy/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +0 -35
  242. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.js +0 -321
  243. package/legacy/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +0 -1
  244. package/legacy/SingleInputTimeRangeField/index.js +0 -2
  245. package/legacy/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +0 -29
  246. package/legacy/StaticDateRangePicker/StaticDateRangePicker.js +0 -276
  247. package/legacy/StaticDateRangePicker/StaticDateRangePicker.types.js +0 -1
  248. package/legacy/StaticDateRangePicker/index.js +0 -1
  249. package/legacy/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -87
  250. package/legacy/dateRangeViewRenderers/index.js +0 -1
  251. package/legacy/index.js +0 -33
  252. package/legacy/internals/constants/dimensions.js +0 -5
  253. package/legacy/internals/hooks/models/index.js +0 -1
  254. package/legacy/internals/hooks/models/useRangePicker.js +0 -1
  255. package/legacy/internals/hooks/useDesktopRangePicker/index.js +0 -1
  256. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +0 -154
  257. package/legacy/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.js +0 -1
  258. package/legacy/internals/hooks/useEnrichedRangePickerFieldProps.js +0 -258
  259. package/legacy/internals/hooks/useMobileRangePicker/index.js +0 -1
  260. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +0 -144
  261. package/legacy/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.js +0 -1
  262. package/legacy/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  263. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -102
  264. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -115
  265. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  266. package/legacy/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -109
  267. package/legacy/internals/hooks/useRangePosition.js +0 -39
  268. package/legacy/internals/hooks/useStaticRangePicker/index.js +0 -1
  269. package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -76
  270. package/legacy/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.js +0 -1
  271. package/legacy/internals/models/dateRange.js +0 -1
  272. package/legacy/internals/models/dateTimeRange.js +0 -1
  273. package/legacy/internals/models/index.js +0 -5
  274. package/legacy/internals/models/rangePickerProps.js +0 -1
  275. package/legacy/internals/models/timeRange.js +0 -1
  276. package/legacy/internals/utils/date-fields-utils.js +0 -26
  277. package/legacy/internals/utils/date-range-manager.js +0 -65
  278. package/legacy/internals/utils/date-utils.js +0 -12
  279. package/legacy/internals/utils/releaseInfo.js +0 -13
  280. package/legacy/internals/utils/validation/validateDateRange.js +0 -45
  281. package/legacy/internals/utils/validation/validateDateTimeRange.js +0 -45
  282. package/legacy/internals/utils/validation/validateTimeRange.js +0 -32
  283. package/legacy/internals/utils/valueManagers.js +0 -135
  284. package/legacy/locales/index.js +0 -1
  285. package/legacy/models/index.js +0 -3
  286. package/legacy/models/multiInputRangeFieldClasses.js +0 -1
  287. package/legacy/models/range.js +0 -1
  288. package/legacy/models/validation.js +0 -1
  289. package/legacy/themeAugmentation/index.js +0 -4
  290. package/modern/internals/models/fields.js +0 -1
  291. /package/{internals/models → models}/fields.js +0 -0
  292. /package/{legacy/internals → modern}/models/fields.js +0 -0
  293. /package/node/{internals/models → models}/fields.js +0 -0
@@ -0,0 +1,43 @@
1
+ import * as React from 'react';
2
+ import useForkRef from '@mui/utils/useForkRef';
3
+ import useEventCallback from '@mui/utils/useEventCallback';
4
+ export const useMultiInputFieldSelectedSections = params => {
5
+ var _params$selectedSecti;
6
+ const unstableEndFieldRef = React.useRef(null);
7
+ const handleUnstableEndFieldRef = useForkRef(params.unstableEndFieldRef, unstableEndFieldRef);
8
+ const [startSelectedSection, setStartSelectedSection] = React.useState((_params$selectedSecti = params.selectedSections) != null ? _params$selectedSecti : null);
9
+ const [endSelectedSection, setEndSelectedSection] = React.useState(null);
10
+ const getActiveField = () => {
11
+ if (unstableEndFieldRef.current && unstableEndFieldRef.current.isFieldFocused()) {
12
+ return 'end';
13
+ }
14
+ return 'start';
15
+ };
16
+ const handleStartSelectedSectionChange = useEventCallback(newSelectedSections => {
17
+ setStartSelectedSection(newSelectedSections);
18
+ if (getActiveField() === 'start') {
19
+ var _params$onSelectedSec;
20
+ (_params$onSelectedSec = params.onSelectedSectionsChange) == null || _params$onSelectedSec.call(params, newSelectedSections);
21
+ }
22
+ });
23
+ const handleEndSelectedSectionChange = useEventCallback(newSelectedSections => {
24
+ setEndSelectedSection(newSelectedSections);
25
+ if (getActiveField() === 'end') {
26
+ var _params$onSelectedSec2;
27
+ (_params$onSelectedSec2 = params.onSelectedSectionsChange) == null || _params$onSelectedSec2.call(params, newSelectedSections);
28
+ }
29
+ });
30
+ const activeField = getActiveField();
31
+ return {
32
+ start: {
33
+ unstableFieldRef: params.unstableStartFieldRef,
34
+ selectedSections: activeField === 'start' && params.selectedSections !== undefined ? params.selectedSections : startSelectedSection,
35
+ onSelectedSectionsChange: handleStartSelectedSectionChange
36
+ },
37
+ end: {
38
+ unstableFieldRef: handleUnstableEndFieldRef,
39
+ selectedSections: activeField === 'end' && params.selectedSections !== undefined ? params.selectedSections : endSelectedSection,
40
+ onSelectedSectionsChange: handleEndSelectedSectionChange
41
+ }
42
+ };
43
+ };
@@ -1,3 +1,4 @@
1
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
1
2
  import { UseMultiInputDateRangeFieldParams } from '../../../MultiInputDateRangeField/MultiInputDateRangeField.types';
2
3
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
3
- export declare const useMultiInputDateRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
4
+ export declare const useMultiInputDateRangeField: <TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateRangeFieldParams<TDate, TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>;
@@ -1,11 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import useEventCallback from '@mui/utils/useEventCallback';
3
3
  import { unstable_useDateField as useDateField } from '@mui/x-date-pickers/DateField';
4
- import { useLocalizationContext, useValidation, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
5
- import { useDefaultizedDateRangeFieldProps } from '../../../SingleInputDateRangeField/useSingleInputDateRangeField';
4
+ import { useLocalizationContext, useValidation, useControlledValueWithTimezone, useDefaultizedDateField } from '@mui/x-date-pickers/internals';
6
5
  import { validateDateRange } from '../../utils/validation/validateDateRange';
7
6
  import { rangeValueManager } from '../../utils/valueManagers';
8
7
  import { excludeProps } from './shared';
8
+ import { useMultiInputFieldSelectedSections } from '../useMultiInputFieldSelectedSections';
9
9
  export const useMultiInputDateRangeField = ({
10
10
  sharedProps: inSharedProps,
11
11
  startTextFieldProps,
@@ -13,7 +13,7 @@ export const useMultiInputDateRangeField = ({
13
13
  endTextFieldProps,
14
14
  unstableEndFieldRef
15
15
  }) => {
16
- const sharedProps = useDefaultizedDateRangeFieldProps(inSharedProps);
16
+ const sharedProps = useDefaultizedDateField(inSharedProps);
17
17
  const adapter = useLocalizationContext();
18
18
  const {
19
19
  value: valueProp,
@@ -26,7 +26,9 @@ export const useMultiInputDateRangeField = ({
26
26
  readOnly,
27
27
  selectedSections,
28
28
  onSelectedSectionsChange,
29
- timezone: timezoneProp
29
+ timezone: timezoneProp,
30
+ enableAccessibleFieldDOMStructure,
31
+ autoFocus
30
32
  } = sharedProps;
31
33
  const {
32
34
  value,
@@ -63,37 +65,40 @@ export const useMultiInputDateRangeField = ({
63
65
  value,
64
66
  timezone
65
67
  }), validateDateRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
68
+ const selectedSectionsResponse = useMultiInputFieldSelectedSections({
69
+ selectedSections,
70
+ onSelectedSectionsChange,
71
+ unstableStartFieldRef,
72
+ unstableEndFieldRef
73
+ });
66
74
  const startFieldProps = _extends({
67
75
  error: !!validationError[0]
68
- }, startTextFieldProps, {
76
+ }, startTextFieldProps, selectedSectionsResponse.start, {
69
77
  disabled,
70
78
  readOnly,
71
79
  format,
72
80
  formatDensity,
73
81
  shouldRespectLeadingZeros,
74
82
  timezone,
75
- unstableFieldRef: unstableStartFieldRef,
76
83
  value: valueProp === undefined ? undefined : valueProp[0],
77
84
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
78
85
  onChange: handleStartDateChange,
79
- selectedSections,
80
- onSelectedSectionsChange
86
+ enableAccessibleFieldDOMStructure,
87
+ autoFocus // Do not add on end field.
81
88
  });
82
89
  const endFieldProps = _extends({
83
90
  error: !!validationError[1]
84
- }, endTextFieldProps, {
91
+ }, endTextFieldProps, selectedSectionsResponse.end, {
85
92
  format,
86
93
  formatDensity,
87
94
  shouldRespectLeadingZeros,
88
95
  disabled,
89
96
  readOnly,
90
97
  timezone,
91
- unstableFieldRef: unstableEndFieldRef,
92
98
  value: valueProp === undefined ? undefined : valueProp[1],
93
99
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
94
100
  onChange: handleEndDateChange,
95
- selectedSections,
96
- onSelectedSectionsChange
101
+ enableAccessibleFieldDOMStructure
97
102
  });
98
103
  const startDateResponse = useDateField(startFieldProps);
99
104
  const endDateResponse = useDateField(endFieldProps);
@@ -1,4 +1,4 @@
1
- import type { UseMultiInputDateTimeRangeFieldDefaultizedProps, UseMultiInputDateTimeRangeFieldParams, UseMultiInputDateTimeRangeFieldProps } from '../../../MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types';
1
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
+ import type { UseMultiInputDateTimeRangeFieldParams } from '../../../MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types';
2
3
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
3
- export declare const useDefaultizedDateTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseMultiInputDateTimeRangeFieldProps<TDate>) => UseMultiInputDateTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
4
- export declare const useMultiInputDateTimeRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateTimeRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
4
+ export declare const useMultiInputDateTimeRangeField: <TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateTimeRangeFieldParams<TDate, TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>;
@@ -1,27 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import useEventCallback from '@mui/utils/useEventCallback';
3
3
  import { unstable_useDateTimeField as useDateTimeField } from '@mui/x-date-pickers/DateTimeField';
4
- import { applyDefaultDate, useDefaultDates, useLocalizationContext, useUtils, useValidation, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
4
+ import { useLocalizationContext, useValidation, useControlledValueWithTimezone, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
5
5
  import { validateDateTimeRange } from '../../utils/validation/validateDateTimeRange';
6
6
  import { rangeValueManager } from '../../utils/valueManagers';
7
7
  import { excludeProps } from './shared';
8
- export const useDefaultizedDateTimeRangeFieldProps = props => {
9
- var _props$ampm, _props$disablePast, _props$disableFuture, _props$format, _props$minDateTime, _props$maxDateTime, _props$minDateTime2, _props$maxDateTime2;
10
- const utils = useUtils();
11
- const defaultDates = useDefaultDates();
12
- const ampm = (_props$ampm = props.ampm) != null ? _props$ampm : utils.is12HourCycleInCurrentLocale();
13
- const defaultFormat = ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h;
14
- return _extends({}, props, {
15
- disablePast: (_props$disablePast = props.disablePast) != null ? _props$disablePast : false,
16
- disableFuture: (_props$disableFuture = props.disableFuture) != null ? _props$disableFuture : false,
17
- format: (_props$format = props.format) != null ? _props$format : defaultFormat,
18
- minDate: applyDefaultDate(utils, (_props$minDateTime = props.minDateTime) != null ? _props$minDateTime : props.minDate, defaultDates.minDate),
19
- maxDate: applyDefaultDate(utils, (_props$maxDateTime = props.maxDateTime) != null ? _props$maxDateTime : props.maxDate, defaultDates.maxDate),
20
- minTime: (_props$minDateTime2 = props.minDateTime) != null ? _props$minDateTime2 : props.minTime,
21
- maxTime: (_props$maxDateTime2 = props.maxDateTime) != null ? _props$maxDateTime2 : props.maxTime,
22
- disableIgnoringDatePartForTimeValidation: Boolean(props.minDateTime || props.maxDateTime)
23
- });
24
- };
8
+ import { useMultiInputFieldSelectedSections } from '../useMultiInputFieldSelectedSections';
25
9
  export const useMultiInputDateTimeRangeField = ({
26
10
  sharedProps: inSharedProps,
27
11
  startTextFieldProps,
@@ -29,19 +13,22 @@ export const useMultiInputDateTimeRangeField = ({
29
13
  endTextFieldProps,
30
14
  unstableEndFieldRef
31
15
  }) => {
32
- const sharedProps = useDefaultizedDateTimeRangeFieldProps(inSharedProps);
16
+ const sharedProps = useDefaultizedDateTimeField(inSharedProps);
33
17
  const adapter = useLocalizationContext();
34
18
  const {
35
19
  value: valueProp,
36
20
  defaultValue,
37
21
  format,
22
+ formatDensity,
38
23
  shouldRespectLeadingZeros,
39
- timezone: timezoneProp,
40
24
  onChange,
41
25
  disabled,
42
26
  readOnly,
43
27
  selectedSections,
44
- onSelectedSectionsChange
28
+ onSelectedSectionsChange,
29
+ timezone: timezoneProp,
30
+ enableAccessibleFieldDOMStructure,
31
+ autoFocus
45
32
  } = sharedProps;
46
33
  const {
47
34
  value,
@@ -78,35 +65,40 @@ export const useMultiInputDateTimeRangeField = ({
78
65
  value,
79
66
  timezone
80
67
  }), validateDateTimeRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
68
+ const selectedSectionsResponse = useMultiInputFieldSelectedSections({
69
+ selectedSections,
70
+ onSelectedSectionsChange,
71
+ unstableStartFieldRef,
72
+ unstableEndFieldRef
73
+ });
81
74
  const startFieldProps = _extends({
82
75
  error: !!validationError[0]
83
- }, startTextFieldProps, {
84
- format,
85
- shouldRespectLeadingZeros,
76
+ }, startTextFieldProps, selectedSectionsResponse.start, {
86
77
  disabled,
87
78
  readOnly,
79
+ format,
80
+ formatDensity,
81
+ shouldRespectLeadingZeros,
88
82
  timezone,
89
- unstableFieldRef: unstableStartFieldRef,
90
83
  value: valueProp === undefined ? undefined : valueProp[0],
91
84
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
92
85
  onChange: handleStartDateChange,
93
- selectedSections,
94
- onSelectedSectionsChange
86
+ enableAccessibleFieldDOMStructure,
87
+ autoFocus // Do not add on end field.
95
88
  });
96
89
  const endFieldProps = _extends({
97
90
  error: !!validationError[1]
98
- }, endTextFieldProps, {
91
+ }, endTextFieldProps, selectedSectionsResponse.end, {
99
92
  format,
93
+ formatDensity,
100
94
  shouldRespectLeadingZeros,
101
95
  disabled,
102
96
  readOnly,
103
97
  timezone,
104
- unstableFieldRef: unstableEndFieldRef,
105
98
  value: valueProp === undefined ? undefined : valueProp[1],
106
99
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
107
100
  onChange: handleEndDateChange,
108
- selectedSections,
109
- onSelectedSectionsChange
101
+ enableAccessibleFieldDOMStructure
110
102
  });
111
103
  const startDateResponse = useDateTimeField(startFieldProps);
112
104
  const endDateResponse = useDateTimeField(endFieldProps);
@@ -1,11 +1,11 @@
1
1
  import { UseFieldResponse } from '@mui/x-date-pickers/internals';
2
- import { MultiInputFieldRefs } from '../../models/fields';
2
+ import { MultiInputFieldRefs } from '../../../models';
3
3
  export interface UseMultiInputRangeFieldParams<TSharedProps extends {}, TTextFieldSlotProps extends {}> extends MultiInputFieldRefs {
4
4
  sharedProps: TSharedProps;
5
5
  startTextFieldProps: TTextFieldSlotProps;
6
6
  endTextFieldProps: TTextFieldSlotProps;
7
7
  }
8
- export interface UseMultiInputRangeFieldResponse<TForwardedProps extends {}> {
9
- startDate: UseFieldResponse<TForwardedProps>;
10
- endDate: UseFieldResponse<TForwardedProps>;
8
+ export interface UseMultiInputRangeFieldResponse<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends {}> {
9
+ startDate: UseFieldResponse<TEnableAccessibleFieldDOMStructure, TForwardedProps>;
10
+ endDate: UseFieldResponse<TEnableAccessibleFieldDOMStructure, TForwardedProps>;
11
11
  }
@@ -1,4 +1,4 @@
1
- import type { UseMultiInputTimeRangeFieldDefaultizedProps, UseMultiInputTimeRangeFieldParams, UseMultiInputTimeRangeFieldProps } from '../../../MultiInputTimeRangeField/MultiInputTimeRangeField.types';
1
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
2
+ import type { UseMultiInputTimeRangeFieldParams } from '../../../MultiInputTimeRangeField/MultiInputTimeRangeField.types';
2
3
  import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
3
- export declare const useDefaultizedTimeRangeFieldProps: <TDate, AdditionalProps extends {}>(props: UseMultiInputTimeRangeFieldProps<TDate>) => UseMultiInputTimeRangeFieldDefaultizedProps<TDate, AdditionalProps>;
4
- export declare const useMultiInputTimeRangeField: <TDate, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputTimeRangeFieldParams<TDate, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TTextFieldSlotProps>;
4
+ export declare const useMultiInputTimeRangeField: <TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputTimeRangeFieldParams<TDate, TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>;
@@ -1,21 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import useEventCallback from '@mui/utils/useEventCallback';
3
3
  import { unstable_useTimeField as useTimeField } from '@mui/x-date-pickers/TimeField';
4
- import { useLocalizationContext, useUtils, useValidation, useControlledValueWithTimezone } from '@mui/x-date-pickers/internals';
4
+ import { useLocalizationContext, useValidation, useControlledValueWithTimezone, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
5
5
  import { validateTimeRange } from '../../utils/validation/validateTimeRange';
6
6
  import { rangeValueManager } from '../../utils/valueManagers';
7
7
  import { excludeProps } from './shared';
8
- export const useDefaultizedTimeRangeFieldProps = props => {
9
- var _props$ampm, _props$disablePast, _props$disableFuture, _props$format;
10
- const utils = useUtils();
11
- const ampm = (_props$ampm = props.ampm) != null ? _props$ampm : utils.is12HourCycleInCurrentLocale();
12
- const defaultFormat = ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h;
13
- return _extends({}, props, {
14
- disablePast: (_props$disablePast = props.disablePast) != null ? _props$disablePast : false,
15
- disableFuture: (_props$disableFuture = props.disableFuture) != null ? _props$disableFuture : false,
16
- format: (_props$format = props.format) != null ? _props$format : defaultFormat
17
- });
18
- };
8
+ import { useMultiInputFieldSelectedSections } from '../useMultiInputFieldSelectedSections';
19
9
  export const useMultiInputTimeRangeField = ({
20
10
  sharedProps: inSharedProps,
21
11
  startTextFieldProps,
@@ -23,19 +13,22 @@ export const useMultiInputTimeRangeField = ({
23
13
  endTextFieldProps,
24
14
  unstableEndFieldRef
25
15
  }) => {
26
- const sharedProps = useDefaultizedTimeRangeFieldProps(inSharedProps);
16
+ const sharedProps = useDefaultizedTimeField(inSharedProps);
27
17
  const adapter = useLocalizationContext();
28
18
  const {
29
19
  value: valueProp,
30
20
  defaultValue,
31
21
  format,
22
+ formatDensity,
32
23
  shouldRespectLeadingZeros,
33
- timezone: timezoneProp,
34
24
  onChange,
35
25
  disabled,
36
26
  readOnly,
37
27
  selectedSections,
38
- onSelectedSectionsChange
28
+ onSelectedSectionsChange,
29
+ timezone: timezoneProp,
30
+ enableAccessibleFieldDOMStructure,
31
+ autoFocus
39
32
  } = sharedProps;
40
33
  const {
41
34
  value,
@@ -72,35 +65,40 @@ export const useMultiInputTimeRangeField = ({
72
65
  value,
73
66
  timezone
74
67
  }), validateTimeRange, rangeValueManager.isSameError, rangeValueManager.defaultErrorState);
68
+ const selectedSectionsResponse = useMultiInputFieldSelectedSections({
69
+ selectedSections,
70
+ onSelectedSectionsChange,
71
+ unstableStartFieldRef,
72
+ unstableEndFieldRef
73
+ });
75
74
  const startFieldProps = _extends({
76
75
  error: !!validationError[0]
77
- }, startTextFieldProps, {
78
- format,
79
- shouldRespectLeadingZeros,
76
+ }, startTextFieldProps, selectedSectionsResponse.start, {
80
77
  disabled,
81
78
  readOnly,
79
+ format,
80
+ formatDensity,
81
+ shouldRespectLeadingZeros,
82
82
  timezone,
83
- unstableFieldRef: unstableStartFieldRef,
84
83
  value: valueProp === undefined ? undefined : valueProp[0],
85
84
  defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
86
85
  onChange: handleStartDateChange,
87
- selectedSections,
88
- onSelectedSectionsChange
86
+ enableAccessibleFieldDOMStructure,
87
+ autoFocus // Do not add on end field.
89
88
  });
90
89
  const endFieldProps = _extends({
91
90
  error: !!validationError[1]
92
- }, endTextFieldProps, {
91
+ }, endTextFieldProps, selectedSectionsResponse.end, {
93
92
  format,
93
+ formatDensity,
94
94
  shouldRespectLeadingZeros,
95
95
  disabled,
96
96
  readOnly,
97
97
  timezone,
98
- unstableFieldRef: unstableEndFieldRef,
99
98
  value: valueProp === undefined ? undefined : valueProp[1],
100
99
  defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
101
100
  onChange: handleEndDateChange,
102
- selectedSections,
103
- onSelectedSectionsChange
101
+ enableAccessibleFieldDOMStructure
104
102
  });
105
103
  const startDateResponse = useTimeField(startFieldProps);
106
104
  const endDateResponse = useTimeField(endFieldProps);
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { FieldRef } from '@mui/x-date-pickers/models';
3
- import { RangePosition } from '../../models';
4
- import { RangeFieldSection } from '../models/fields';
3
+ import { RangePosition, RangeFieldSection } from '../../models';
5
4
  export interface UseRangePositionProps {
6
5
  /**
7
6
  * The position in the currently edited date range.
@@ -23,6 +22,5 @@ export interface UseRangePositionProps {
23
22
  export interface UseRangePositionResponse {
24
23
  rangePosition: RangePosition;
25
24
  onRangePositionChange: (newPosition: RangePosition) => void;
26
- singleInputFieldRef: React.MutableRefObject<FieldRef<RangeFieldSection> | undefined>;
27
25
  }
28
- export declare const useRangePosition: (props: UseRangePositionProps) => UseRangePositionResponse;
26
+ export declare const useRangePosition: (props: UseRangePositionProps, singleInputFieldRef?: React.RefObject<FieldRef<RangeFieldSection>>) => UseRangePositionResponse;
@@ -1,9 +1,7 @@
1
- import * as React from 'react';
2
1
  import useControlled from '@mui/utils/useControlled';
3
2
  import useEventCallback from '@mui/utils/useEventCallback';
4
- export const useRangePosition = props => {
3
+ export const useRangePosition = (props, singleInputFieldRef) => {
5
4
  var _props$defaultRangePo;
6
- const singleInputFieldRef = React.useRef();
7
5
  const [rangePosition, setRangePosition] = useControlled({
8
6
  name: 'useRangePosition',
9
7
  state: 'rangePosition',
@@ -14,7 +12,7 @@ export const useRangePosition = props => {
14
12
  // When using a single input field,
15
13
  // we want to select the 1st section of the edited date when updating the range position.
16
14
  const syncRangePositionWithSingleInputField = newRangePosition => {
17
- if (singleInputFieldRef.current == null) {
15
+ if ((singleInputFieldRef == null ? void 0 : singleInputFieldRef.current) == null) {
18
16
  return;
19
17
  }
20
18
  const sections = singleInputFieldRef.current.getSections();
@@ -29,7 +27,6 @@ export const useRangePosition = props => {
29
27
  });
30
28
  return {
31
29
  rangePosition,
32
- onRangePositionChange: handleRangePositionChange,
33
- singleInputFieldRef
30
+ onRangePositionChange: handleRangePositionChange
34
31
  };
35
32
  };
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals';
3
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
4
  import { UseStaticRangePickerParams, UseStaticRangePickerProps } from './useStaticRangePicker.types';
4
5
  /**
5
6
  * Hook managing all the range static pickers:
6
7
  * - StaticDateRangePicker
7
8
  */
8
- export declare const useStaticRangePicker: <TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>>({ props, ref, ...pickerParams }: UseStaticRangePickerParams<TDate, TView, TExternalProps>) => {
9
+ export declare const useStaticRangePicker: <TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>>({ props, ref, ...pickerParams }: UseStaticRangePickerParams<TDate, TView, TExternalProps>) => {
9
10
  renderPicker: () => React.JSX.Element;
10
11
  };
@@ -47,6 +47,7 @@ export const useStaticRangePicker = _ref => {
47
47
  } = usePicker(_extends({}, pickerParams, {
48
48
  props,
49
49
  autoFocusView: autoFocus != null ? autoFocus : false,
50
+ fieldRef: undefined,
50
51
  additionalViewProps: {
51
52
  rangePosition,
52
53
  onRangePositionChange
@@ -1,17 +1,17 @@
1
1
  import * as React from 'react';
2
2
  import { BasePickerProps, UsePickerParams, ExportedBaseToolbarProps, StaticOnlyPickerProps, DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals';
3
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
4
  import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
4
- import { DateRange } from '../../../models';
5
+ import { RangeFieldSection, DateRange } from '../../../models';
5
6
  import { UseRangePositionProps } from '../useRangePosition';
6
- import { RangeFieldSection } from '../../models/fields';
7
- export interface UseStaticRangePickerSlots<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlots<DateRange<TDate>, TDate, TView> {
7
+ export interface UseStaticRangePickerSlots<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlots<DateRange<TDate>, TDate, TView> {
8
8
  }
9
- export interface UseStaticRangePickerSlotProps<TDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView> {
9
+ export interface UseStaticRangePickerSlotProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem> extends ExportedPickersLayoutSlotProps<DateRange<TDate>, TDate, TView> {
10
10
  toolbar?: ExportedBaseToolbarProps;
11
11
  }
12
12
  export interface StaticRangeOnlyPickerProps extends StaticOnlyPickerProps, UseRangePositionProps {
13
13
  }
14
- export interface UseStaticRangePickerProps<TDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>> extends BasePickerProps<DateRange<TDate>, TDate, TView, TError, TExternalProps, {}>, StaticRangeOnlyPickerProps {
14
+ export interface UseStaticRangePickerProps<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>> extends BasePickerProps<DateRange<TDate>, TDate, TView, TError, TExternalProps, {}>, StaticRangeOnlyPickerProps {
15
15
  /**
16
16
  * Overridable components.
17
17
  * @default {}
@@ -23,7 +23,7 @@ export interface UseStaticRangePickerProps<TDate, TView extends DateOrTimeViewWi
23
23
  */
24
24
  slotProps?: UseStaticRangePickerSlotProps<TDate, TView>;
25
25
  }
26
- export interface UseStaticRangePickerParams<TDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, RangeFieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
26
+ export interface UseStaticRangePickerParams<TDate extends PickerValidDate, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TDate, TView, any, TExternalProps>> extends Pick<UsePickerParams<DateRange<TDate>, TDate, TView, RangeFieldSection, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
27
27
  props: TExternalProps;
28
28
  /**
29
29
  * Ref to pass to the root element
@@ -1,10 +1,10 @@
1
- import { BaseDateValidationProps, DefaultizedProps, MakeOptional, UseFieldInternalProps } from '@mui/x-date-pickers/internals';
2
- import type { DateRangeValidationError, DateRange } from '../../models';
3
- import { RangeFieldSection } from './fields';
1
+ import { BaseDateValidationProps, MakeOptional, UseFieldInternalProps } from '@mui/x-date-pickers/internals';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
+ import type { DateRangeValidationError, RangeFieldSection, DateRange } from '../../models';
4
4
  /**
5
5
  * Props used to validate a day value in range pickers.
6
6
  */
7
- export interface DayRangeValidationProps<TDate> {
7
+ export interface DayRangeValidationProps<TDate extends PickerValidDate> {
8
8
  /**
9
9
  * Disable specific date.
10
10
  *
@@ -17,16 +17,5 @@ export interface DayRangeValidationProps<TDate> {
17
17
  */
18
18
  shouldDisableDate?: (day: TDate, position: 'start' | 'end') => boolean;
19
19
  }
20
- /**
21
- * Props used in every range picker.
22
- */
23
- export interface BaseRangeProps {
24
- /**
25
- * If `true`, the component is disabled.
26
- * @default false
27
- */
28
- disabled?: boolean;
29
- }
30
- export interface UseDateRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, DateRangeValidationError>, 'format'>, DayRangeValidationProps<TDate>, BaseDateValidationProps<TDate>, BaseRangeProps {
20
+ export interface UseDateRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<Omit<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'unstableFieldRef'>, 'format'>, DayRangeValidationProps<TDate>, BaseDateValidationProps<TDate> {
31
21
  }
32
- export type UseDateRangeFieldDefaultizedProps<TDate> = DefaultizedProps<UseDateRangeFieldProps<TDate>, keyof BaseDateValidationProps<TDate> | 'format'>;
@@ -1,14 +1,13 @@
1
- import { BaseDateValidationProps, TimeValidationProps, DefaultizedProps, MakeOptional, UseFieldInternalProps, DateTimeValidationProps, DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals';
2
- import { BaseRangeProps, DayRangeValidationProps } from './dateRange';
3
- import { DateTimeRangeValidationError, DateRange } from '../../models';
4
- import { RangeFieldSection } from './fields';
5
- export interface UseDateTimeRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, DateTimeRangeValidationError>, 'format'>, DayRangeValidationProps<TDate>, TimeValidationProps<TDate>, BaseDateValidationProps<TDate>, DateTimeValidationProps<TDate>, BaseRangeProps {
1
+ import { BaseDateValidationProps, TimeValidationProps, MakeOptional, UseFieldInternalProps, DateTimeValidationProps, DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
+ import { DayRangeValidationProps } from './dateRange';
4
+ import { DateTimeRangeValidationError, RangeFieldSection, DateRange } from '../../models';
5
+ export interface UseDateTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<Omit<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateTimeRangeValidationError>, 'unstableFieldRef'>, 'format'>, DayRangeValidationProps<TDate>, TimeValidationProps<TDate>, BaseDateValidationProps<TDate>, DateTimeValidationProps<TDate> {
6
6
  /**
7
7
  * 12h/24h view for hour selection clock.
8
8
  * @default `utils.is12HourCycleInCurrentLocale()`
9
9
  */
10
10
  ampm?: boolean;
11
11
  }
12
- export type UseDateTimeRangeFieldDefaultizedProps<TDate> = DefaultizedProps<UseDateTimeRangeFieldProps<TDate>, keyof BaseDateValidationProps<TDate> | 'format' | 'disableIgnoringDatePartForTimeValidation'>;
13
12
  export type DateTimeRangePickerView = Exclude<DateOrTimeViewWithMeridiem, 'month' | 'year'>;
14
13
  export type DateTimeRangePickerViewExternal = Exclude<DateTimeRangePickerView, 'meridiem'>;
@@ -1,5 +1,4 @@
1
1
  export * from './dateRange';
2
2
  export * from './dateTimeRange';
3
3
  export * from './timeRange';
4
- export * from './fields';
5
4
  export * from './rangePickerProps';
@@ -1,5 +1,4 @@
1
1
  export * from './dateRange';
2
2
  export * from './dateTimeRange';
3
3
  export * from './timeRange';
4
- export * from './fields';
5
4
  export * from './rangePickerProps';
@@ -1,12 +1,10 @@
1
- import { BaseTimeValidationProps, TimeValidationProps, DefaultizedProps, MakeOptional, UseFieldInternalProps } from '@mui/x-date-pickers/internals';
2
- import { TimeRangeValidationError, DateRange } from '../../models';
3
- import { BaseRangeProps } from './dateRange';
4
- import { RangeFieldSection } from './fields';
5
- export interface UseTimeRangeFieldProps<TDate> extends MakeOptional<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TimeRangeValidationError>, 'format'>, TimeValidationProps<TDate>, BaseTimeValidationProps, BaseRangeProps {
1
+ import { BaseTimeValidationProps, TimeValidationProps, MakeOptional, UseFieldInternalProps } from '@mui/x-date-pickers/internals';
2
+ import { PickerValidDate } from '@mui/x-date-pickers/models';
3
+ import { TimeRangeValidationError, RangeFieldSection, DateRange } from '../../models';
4
+ export interface UseTimeRangeFieldProps<TDate extends PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<Omit<UseFieldInternalProps<DateRange<TDate>, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'unstableFieldRef'>, 'format'>, TimeValidationProps<TDate>, BaseTimeValidationProps {
6
5
  /**
7
6
  * 12h/24h view for hour selection clock.
8
7
  * @default `utils.is12HourCycleInCurrentLocale()`
9
8
  */
10
9
  ampm?: boolean;
11
10
  }
12
- export type UseTimeRangeFieldDefaultizedProps<TDate> = DefaultizedProps<UseTimeRangeFieldProps<TDate>, keyof BaseTimeValidationProps | 'format'>;
@@ -1,4 +1,4 @@
1
- import { RangeFieldSection } from '../models/fields';
1
+ import { RangeFieldSection } from '../../models';
2
2
  export declare const splitDateRangeSections: (sections: RangeFieldSection[]) => {
3
3
  startDate: RangeFieldSection[];
4
4
  endDate: RangeFieldSection[];
@@ -15,10 +15,6 @@ export declare const removeLastSeparator: (dateSections: RangeFieldSection[]) =>
15
15
  hasLeadingZerosInFormat: boolean;
16
16
  hasLeadingZerosInInput: boolean;
17
17
  modified: boolean;
18
- start: number;
19
- end: number;
20
- startInInput: number;
21
- endInInput: number;
22
18
  startSeparator: string;
23
19
  endSeparator: string;
24
20
  })[];
@@ -1,6 +1,6 @@
1
- import { MuiPickersAdapter } from '@mui/x-date-pickers/models';
1
+ import { MuiPickersAdapter, PickerValidDate } from '@mui/x-date-pickers/models';
2
2
  import { DateRange, RangePosition } from '../../models';
3
- interface CalculateRangeChangeOptions<TDate> {
3
+ interface CalculateRangeChangeOptions<TDate extends PickerValidDate> {
4
4
  utils: MuiPickersAdapter<TDate>;
5
5
  range: DateRange<TDate>;
6
6
  newDate: TDate | null;
@@ -13,10 +13,10 @@ interface CalculateRangeChangeOptions<TDate> {
13
13
  allowRangeFlip?: boolean;
14
14
  shouldMergeDateAndTime?: boolean;
15
15
  }
16
- interface CalculateRangeChangeResponse<TDate> {
16
+ interface CalculateRangeChangeResponse<TDate extends PickerValidDate> {
17
17
  nextSelection: RangePosition;
18
18
  newRange: DateRange<TDate>;
19
19
  }
20
- export declare function calculateRangeChange<TDate>({ utils, range, newDate: selectedDate, rangePosition, allowRangeFlip, shouldMergeDateAndTime, }: CalculateRangeChangeOptions<TDate>): CalculateRangeChangeResponse<TDate>;
21
- export declare function calculateRangePreview<TDate>(options: CalculateRangeChangeOptions<TDate>): DateRange<TDate>;
20
+ export declare function calculateRangeChange<TDate extends PickerValidDate>({ utils, range, newDate: selectedDate, rangePosition, allowRangeFlip, shouldMergeDateAndTime, }: CalculateRangeChangeOptions<TDate>): CalculateRangeChangeResponse<TDate>;
21
+ export declare function calculateRangePreview<TDate extends PickerValidDate>(options: CalculateRangeChangeOptions<TDate>): DateRange<TDate>;
22
22
  export {};
@@ -1,6 +1,6 @@
1
- import { MuiPickersAdapter } from '@mui/x-date-pickers/models';
1
+ import { MuiPickersAdapter, PickerValidDate } from '@mui/x-date-pickers/models';
2
2
  import { DateRange, NonEmptyDateRange } from '../../models';
3
- export declare const isRangeValid: <TDate>(utils: MuiPickersAdapter<TDate, any>, range: DateRange<TDate> | null) => range is NonEmptyDateRange<TDate>;
4
- export declare const isWithinRange: <TDate>(utils: MuiPickersAdapter<TDate, any>, day: TDate, range: DateRange<TDate> | null) => boolean;
5
- export declare const isStartOfRange: <TDate>(utils: MuiPickersAdapter<TDate, any>, day: TDate, range: DateRange<TDate> | null) => boolean;
6
- export declare const isEndOfRange: <TDate>(utils: MuiPickersAdapter<TDate, any>, day: TDate, range: DateRange<TDate> | null) => boolean;
3
+ export declare const isRangeValid: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, range: DateRange<TDate> | null) => range is NonEmptyDateRange<TDate>;
4
+ export declare const isWithinRange: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, day: TDate, range: DateRange<TDate> | null) => boolean;
5
+ export declare const isStartOfRange: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, day: TDate, range: DateRange<TDate> | null) => boolean;
6
+ export declare const isEndOfRange: <TDate extends PickerValidDate>(utils: MuiPickersAdapter<TDate, any>, day: TDate, range: DateRange<TDate> | null) => boolean;