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

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 (365) hide show
  1. package/CHANGELOG.md +423 -96
  2. package/DateRangeCalendar/DateRangeCalendar.js +1 -2
  3. package/DateRangePicker/DateRangePicker.js +1 -1
  4. package/DateRangePickerDay/DateRangePickerDay.js +1 -3
  5. package/DateTimeRangePicker/DateTimeRangePicker.js +1 -1
  6. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +1 -8
  7. package/DesktopDateRangePicker/DesktopDateRangePicker.js +4 -8
  8. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +10 -3
  9. package/DesktopTimeRangePicker/DesktopTimeRangePicker.js +10 -2
  10. package/MobileDateRangePicker/MobileDateRangePicker.js +3 -2
  11. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +16 -3
  12. package/MobileTimeRangePicker/MobileTimeRangePicker.js +10 -2
  13. package/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -4
  14. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -4
  15. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -4
  16. package/StaticDateRangePicker/StaticDateRangePicker.js +2 -1
  17. package/TimeRangePicker/TimeRangePicker.js +1 -1
  18. package/TimeRangePicker/TimeRangePickerTimeWrapper.js +1 -6
  19. package/esm/DateRangeCalendar/DateRangeCalendar.js +1 -2
  20. package/esm/DateRangePicker/DateRangePicker.js +1 -1
  21. package/esm/DateRangePickerDay/DateRangePickerDay.js +1 -3
  22. package/esm/DateTimeRangePicker/DateTimeRangePicker.js +1 -1
  23. package/esm/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +2 -9
  24. package/esm/DesktopDateRangePicker/DesktopDateRangePicker.js +4 -8
  25. package/esm/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +10 -3
  26. package/esm/DesktopTimeRangePicker/DesktopTimeRangePicker.js +10 -2
  27. package/esm/MobileDateRangePicker/MobileDateRangePicker.js +3 -2
  28. package/esm/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +17 -4
  29. package/esm/MobileTimeRangePicker/MobileTimeRangePicker.js +10 -2
  30. package/esm/SingleInputDateRangeField/SingleInputDateRangeField.js +4 -4
  31. package/esm/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +4 -4
  32. package/esm/SingleInputTimeRangeField/SingleInputTimeRangeField.js +4 -4
  33. package/esm/StaticDateRangePicker/StaticDateRangePicker.js +2 -1
  34. package/esm/TimeRangePicker/TimeRangePicker.js +1 -1
  35. package/esm/TimeRangePicker/TimeRangePickerTimeWrapper.js +1 -6
  36. package/esm/index.js +1 -1
  37. package/esm/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -0
  38. package/esm/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +17 -7
  39. package/esm/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +3 -3
  40. package/esm/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -0
  41. package/esm/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +13 -6
  42. package/esm/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +3 -3
  43. package/esm/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -0
  44. package/esm/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +10 -3
  45. package/esm/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +7 -0
  46. package/esm/internals/models/rangePickerProps.d.ts +14 -0
  47. package/esm/internals/utils/createMultiInputRangeField/useTextFieldProps.js +1 -0
  48. package/esm/internals/utils/createRangePickerStepNavigation.d.ts +16 -0
  49. package/esm/internals/utils/createRangePickerStepNavigation.js +31 -0
  50. package/esm/internals/utils/date-fields-utils.d.ts +1 -0
  51. package/index.js +1 -1
  52. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +1 -0
  53. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +17 -7
  54. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +3 -3
  55. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +1 -0
  56. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +13 -6
  57. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +3 -3
  58. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -0
  59. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +10 -3
  60. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +7 -0
  61. package/internals/models/rangePickerProps.d.ts +14 -0
  62. package/internals/utils/createMultiInputRangeField/useTextFieldProps.js +1 -0
  63. package/internals/utils/createRangePickerStepNavigation.d.ts +16 -0
  64. package/internals/utils/createRangePickerStepNavigation.js +37 -0
  65. package/internals/utils/date-fields-utils.d.ts +1 -0
  66. package/package.json +8 -16
  67. package/esm/internals/hooks/models/index.d.ts +0 -1
  68. package/esm/internals/hooks/models/index.js +0 -1
  69. package/esm/internals/hooks/models/useRangePicker.d.ts +0 -8
  70. package/esm/internals/hooks/models/useRangePicker.js +0 -1
  71. package/esm/internals/utils/releaseInfo.d.ts +0 -1
  72. package/esm/internals/utils/releaseInfo.js +0 -13
  73. package/internals/hooks/models/index.d.ts +0 -1
  74. package/internals/hooks/models/index.js +0 -5
  75. package/internals/hooks/models/useRangePicker.d.ts +0 -8
  76. package/internals/hooks/models/useRangePicker.js +0 -5
  77. package/internals/utils/releaseInfo.d.ts +0 -1
  78. package/internals/utils/releaseInfo.js +0 -20
  79. package/modern/AdapterDateFns/index.d.ts +0 -1
  80. package/modern/AdapterDateFns/index.js +0 -1
  81. package/modern/AdapterDateFnsJalali/index.d.ts +0 -1
  82. package/modern/AdapterDateFnsJalali/index.js +0 -1
  83. package/modern/AdapterDateFnsJalaliV2/index.d.ts +0 -1
  84. package/modern/AdapterDateFnsJalaliV2/index.js +0 -1
  85. package/modern/AdapterDateFnsV2/index.d.ts +0 -1
  86. package/modern/AdapterDateFnsV2/index.js +0 -1
  87. package/modern/AdapterDayjs/index.d.ts +0 -1
  88. package/modern/AdapterDayjs/index.js +0 -1
  89. package/modern/AdapterLuxon/index.d.ts +0 -1
  90. package/modern/AdapterLuxon/index.js +0 -1
  91. package/modern/AdapterMoment/index.d.ts +0 -1
  92. package/modern/AdapterMoment/index.js +0 -1
  93. package/modern/AdapterMomentHijri/index.d.ts +0 -1
  94. package/modern/AdapterMomentHijri/index.js +0 -1
  95. package/modern/AdapterMomentJalaali/index.d.ts +0 -1
  96. package/modern/AdapterMomentJalaali/index.js +0 -1
  97. package/modern/DateRangeCalendar/DateRangeCalendar.d.ts +0 -17
  98. package/modern/DateRangeCalendar/DateRangeCalendar.js +0 -748
  99. package/modern/DateRangeCalendar/DateRangeCalendar.types.d.ts +0 -113
  100. package/modern/DateRangeCalendar/DateRangeCalendar.types.js +0 -1
  101. package/modern/DateRangeCalendar/dateRangeCalendarClasses.d.ts +0 -11
  102. package/modern/DateRangeCalendar/dateRangeCalendarClasses.js +0 -3
  103. package/modern/DateRangeCalendar/index.d.ts +0 -4
  104. package/modern/DateRangeCalendar/index.js +0 -2
  105. package/modern/DateRangeCalendar/useDragRange.d.ts +0 -40
  106. package/modern/DateRangeCalendar/useDragRange.js +0 -250
  107. package/modern/DateRangePicker/DateRangePicker.d.ts +0 -17
  108. package/modern/DateRangePicker/DateRangePicker.js +0 -344
  109. package/modern/DateRangePicker/DateRangePicker.types.d.ts +0 -33
  110. package/modern/DateRangePicker/DateRangePicker.types.js +0 -1
  111. package/modern/DateRangePicker/DateRangePickerToolbar.d.ts +0 -25
  112. package/modern/DateRangePicker/DateRangePickerToolbar.js +0 -131
  113. package/modern/DateRangePicker/dateRangePickerToolbarClasses.d.ts +0 -9
  114. package/modern/DateRangePicker/dateRangePickerToolbarClasses.js +0 -5
  115. package/modern/DateRangePicker/index.d.ts +0 -6
  116. package/modern/DateRangePicker/index.js +0 -3
  117. package/modern/DateRangePicker/shared.d.ts +0 -40
  118. package/modern/DateRangePicker/shared.js +0 -26
  119. package/modern/DateRangePickerDay/DateRangePickerDay.d.ts +0 -14
  120. package/modern/DateRangePickerDay/DateRangePickerDay.js +0 -472
  121. package/modern/DateRangePickerDay/DateRangePickerDay.types.d.ts +0 -91
  122. package/modern/DateRangePickerDay/DateRangePickerDay.types.js +0 -1
  123. package/modern/DateRangePickerDay/dateRangePickerDayClasses.d.ts +0 -41
  124. package/modern/DateRangePickerDay/dateRangePickerDayClasses.js +0 -5
  125. package/modern/DateRangePickerDay/index.d.ts +0 -4
  126. package/modern/DateRangePickerDay/index.js +0 -2
  127. package/modern/DateTimeRangePicker/DateTimeRangePicker.d.ts +0 -17
  128. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +0 -431
  129. package/modern/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +0 -28
  130. package/modern/DateTimeRangePicker/DateTimeRangePicker.types.js +0 -1
  131. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +0 -30
  132. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +0 -193
  133. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +0 -17
  134. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +0 -60
  135. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +0 -17
  136. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +0 -200
  137. package/modern/DateTimeRangePicker/dateTimeRangePickerTabsClasses.d.ts +0 -13
  138. package/modern/DateTimeRangePicker/dateTimeRangePickerTabsClasses.js +0 -6
  139. package/modern/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.d.ts +0 -11
  140. package/modern/DateTimeRangePicker/dateTimeRangePickerToolbarClasses.js +0 -5
  141. package/modern/DateTimeRangePicker/index.d.ts +0 -10
  142. package/modern/DateTimeRangePicker/index.js +0 -5
  143. package/modern/DateTimeRangePicker/shared.d.ts +0 -63
  144. package/modern/DateTimeRangePicker/shared.js +0 -51
  145. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.d.ts +0 -17
  146. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +0 -357
  147. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +0 -27
  148. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.types.js +0 -1
  149. package/modern/DesktopDateRangePicker/index.d.ts +0 -2
  150. package/modern/DesktopDateRangePicker/index.js +0 -1
  151. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.d.ts +0 -17
  152. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +0 -512
  153. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +0 -22
  154. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.js +0 -1
  155. package/modern/DesktopDateTimeRangePicker/index.d.ts +0 -2
  156. package/modern/DesktopDateTimeRangePicker/index.js +0 -1
  157. package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.d.ts +0 -7
  158. package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.js +0 -389
  159. package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.types.d.ts +0 -18
  160. package/modern/DesktopTimeRangePicker/DesktopTimeRangePicker.types.js +0 -1
  161. package/modern/DesktopTimeRangePicker/index.d.ts +0 -2
  162. package/modern/DesktopTimeRangePicker/index.js +0 -1
  163. package/modern/LocalizationProvider/index.d.ts +0 -1
  164. package/modern/LocalizationProvider/index.js +0 -1
  165. package/modern/MobileDateRangePicker/MobileDateRangePicker.d.ts +0 -17
  166. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +0 -349
  167. package/modern/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +0 -17
  168. package/modern/MobileDateRangePicker/MobileDateRangePicker.types.js +0 -1
  169. package/modern/MobileDateRangePicker/index.d.ts +0 -2
  170. package/modern/MobileDateRangePicker/index.js +0 -1
  171. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.d.ts +0 -17
  172. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +0 -512
  173. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +0 -17
  174. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.js +0 -1
  175. package/modern/MobileDateTimeRangePicker/index.d.ts +0 -2
  176. package/modern/MobileDateTimeRangePicker/index.js +0 -1
  177. package/modern/MobileTimeRangePicker/MobileTimeRangePicker.d.ts +0 -7
  178. package/modern/MobileTimeRangePicker/MobileTimeRangePicker.js +0 -372
  179. package/modern/MobileTimeRangePicker/MobileTimeRangePicker.types.d.ts +0 -17
  180. package/modern/MobileTimeRangePicker/MobileTimeRangePicker.types.js +0 -1
  181. package/modern/MobileTimeRangePicker/index.d.ts +0 -2
  182. package/modern/MobileTimeRangePicker/index.js +0 -1
  183. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +0 -25
  184. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +0 -215
  185. package/modern/MultiInputDateRangeField/index.d.ts +0 -5
  186. package/modern/MultiInputDateRangeField/index.js +0 -2
  187. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +0 -5
  188. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +0 -4
  189. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +0 -25
  190. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +0 -255
  191. package/modern/MultiInputDateTimeRangeField/index.d.ts +0 -5
  192. package/modern/MultiInputDateTimeRangeField/index.js +0 -2
  193. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +0 -5
  194. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +0 -4
  195. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +0 -25
  196. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +0 -228
  197. package/modern/MultiInputTimeRangeField/index.d.ts +0 -5
  198. package/modern/MultiInputTimeRangeField/index.js +0 -2
  199. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +0 -5
  200. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +0 -4
  201. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.d.ts +0 -7
  202. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +0 -137
  203. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.d.ts +0 -17
  204. package/modern/PickersRangeCalendarHeader/PickersRangeCalendarHeader.types.js +0 -1
  205. package/modern/PickersRangeCalendarHeader/index.d.ts +0 -2
  206. package/modern/PickersRangeCalendarHeader/index.js +0 -1
  207. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.d.ts +0 -19
  208. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +0 -316
  209. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +0 -18
  210. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.types.js +0 -1
  211. package/modern/SingleInputDateRangeField/index.d.ts +0 -3
  212. package/modern/SingleInputDateRangeField/index.js +0 -2
  213. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +0 -2
  214. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +0 -11
  215. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.d.ts +0 -19
  216. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +0 -356
  217. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +0 -18
  218. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.js +0 -1
  219. package/modern/SingleInputDateTimeRangeField/index.d.ts +0 -3
  220. package/modern/SingleInputDateTimeRangeField/index.js +0 -2
  221. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +0 -2
  222. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +0 -11
  223. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.d.ts +0 -19
  224. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +0 -328
  225. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +0 -18
  226. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.types.js +0 -1
  227. package/modern/SingleInputTimeRangeField/index.d.ts +0 -3
  228. package/modern/SingleInputTimeRangeField/index.js +0 -2
  229. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +0 -2
  230. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +0 -11
  231. package/modern/StaticDateRangePicker/StaticDateRangePicker.d.ts +0 -17
  232. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +0 -285
  233. package/modern/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +0 -22
  234. package/modern/StaticDateRangePicker/StaticDateRangePicker.types.js +0 -1
  235. package/modern/StaticDateRangePicker/index.d.ts +0 -2
  236. package/modern/StaticDateRangePicker/index.js +0 -1
  237. package/modern/TimeRangePicker/TimeRangePicker.d.ts +0 -17
  238. package/modern/TimeRangePicker/TimeRangePicker.js +0 -333
  239. package/modern/TimeRangePicker/TimeRangePicker.types.d.ts +0 -22
  240. package/modern/TimeRangePicker/TimeRangePicker.types.js +0 -1
  241. package/modern/TimeRangePicker/TimeRangePickerTabs.d.ts +0 -35
  242. package/modern/TimeRangePicker/TimeRangePickerTabs.js +0 -138
  243. package/modern/TimeRangePicker/TimeRangePickerTimeWrapper.d.ts +0 -17
  244. package/modern/TimeRangePicker/TimeRangePickerTimeWrapper.js +0 -58
  245. package/modern/TimeRangePicker/TimeRangePickerToolbar.d.ts +0 -14
  246. package/modern/TimeRangePicker/TimeRangePickerToolbar.js +0 -256
  247. package/modern/TimeRangePicker/index.d.ts +0 -10
  248. package/modern/TimeRangePicker/index.js +0 -5
  249. package/modern/TimeRangePicker/shared.d.ts +0 -73
  250. package/modern/TimeRangePicker/shared.js +0 -61
  251. package/modern/TimeRangePicker/timeRangePickerTabsClasses.d.ts +0 -9
  252. package/modern/TimeRangePicker/timeRangePickerTabsClasses.js +0 -5
  253. package/modern/TimeRangePicker/timeRangePickerToolbarClasses.d.ts +0 -13
  254. package/modern/TimeRangePicker/timeRangePickerToolbarClasses.js +0 -5
  255. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +0 -49
  256. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -85
  257. package/modern/dateRangeViewRenderers/index.d.ts +0 -2
  258. package/modern/dateRangeViewRenderers/index.js +0 -1
  259. package/modern/hooks/index.d.ts +0 -3
  260. package/modern/hooks/index.js +0 -2
  261. package/modern/hooks/useMultiInputRangeField/index.d.ts +0 -2
  262. package/modern/hooks/useMultiInputRangeField/index.js +0 -1
  263. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +0 -72
  264. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +0 -140
  265. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.d.ts +0 -11
  266. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldRootProps.js +0 -25
  267. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +0 -19
  268. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js +0 -43
  269. package/modern/hooks/useMultiInputRangeField/useTextFieldProps.d.ts +0 -30
  270. package/modern/hooks/useMultiInputRangeField/useTextFieldProps.js +0 -129
  271. package/modern/hooks/usePickerRangePositionContext.d.ts +0 -7
  272. package/modern/hooks/usePickerRangePositionContext.js +0 -15
  273. package/modern/index.d.ts +0 -25
  274. package/modern/index.js +0 -40
  275. package/modern/internals/constants/dimensions.d.ts +0 -3
  276. package/modern/internals/constants/dimensions.js +0 -5
  277. package/modern/internals/hooks/models/index.d.ts +0 -1
  278. package/modern/internals/hooks/models/index.js +0 -1
  279. package/modern/internals/hooks/models/useRangePicker.d.ts +0 -8
  280. package/modern/internals/hooks/models/useRangePicker.js +0 -1
  281. package/modern/internals/hooks/useDesktopRangePicker/index.d.ts +0 -2
  282. package/modern/internals/hooks/useDesktopRangePicker/index.js +0 -1
  283. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.d.ts +0 -9
  284. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +0 -72
  285. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +0 -35
  286. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.js +0 -1
  287. package/modern/internals/hooks/useMobileRangePicker/index.d.ts +0 -2
  288. package/modern/internals/hooks/useMobileRangePicker/index.js +0 -1
  289. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.d.ts +0 -9
  290. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +0 -110
  291. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +0 -31
  292. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.js +0 -1
  293. package/modern/internals/hooks/useNullablePickerRangePositionContext.d.ts +0 -5
  294. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +0 -10
  295. package/modern/internals/hooks/useRangePosition.d.ts +0 -24
  296. package/modern/internals/hooks/useRangePosition.js +0 -18
  297. package/modern/internals/hooks/useStaticRangePicker/index.d.ts +0 -2
  298. package/modern/internals/hooks/useStaticRangePicker/index.js +0 -1
  299. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +0 -13
  300. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +0 -64
  301. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +0 -23
  302. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.js +0 -1
  303. package/modern/internals/models/dateRange.d.ts +0 -16
  304. package/modern/internals/models/dateRange.js +0 -1
  305. package/modern/internals/models/dateTimeRange.d.ts +0 -3
  306. package/modern/internals/models/dateTimeRange.js +0 -1
  307. package/modern/internals/models/fields.d.ts +0 -22
  308. package/modern/internals/models/fields.js +0 -1
  309. package/modern/internals/models/index.d.ts +0 -3
  310. package/modern/internals/models/index.js +0 -3
  311. package/modern/internals/models/managers.d.ts +0 -3
  312. package/modern/internals/models/managers.js +0 -1
  313. package/modern/internals/models/rangePickerProps.d.ts +0 -22
  314. package/modern/internals/models/rangePickerProps.js +0 -1
  315. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +0 -8
  316. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +0 -133
  317. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +0 -73
  318. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js +0 -1
  319. package/modern/internals/utils/createMultiInputRangeField/index.d.ts +0 -3
  320. package/modern/internals/utils/createMultiInputRangeField/index.js +0 -2
  321. package/modern/internals/utils/createMultiInputRangeField/useTextFieldProps.d.ts +0 -14
  322. package/modern/internals/utils/createMultiInputRangeField/useTextFieldProps.js +0 -43
  323. package/modern/internals/utils/date-fields-utils.d.ts +0 -23
  324. package/modern/internals/utils/date-fields-utils.js +0 -28
  325. package/modern/internals/utils/date-range-manager.d.ts +0 -32
  326. package/modern/internals/utils/date-range-manager.js +0 -61
  327. package/modern/internals/utils/date-utils.d.ts +0 -7
  328. package/modern/internals/utils/date-utils.js +0 -18
  329. package/modern/internals/utils/releaseInfo.d.ts +0 -1
  330. package/modern/internals/utils/releaseInfo.js +0 -13
  331. package/modern/internals/utils/valueManagers.d.ts +0 -10
  332. package/modern/internals/utils/valueManagers.js +0 -119
  333. package/modern/locales/index.d.ts +0 -1
  334. package/modern/locales/index.js +0 -1
  335. package/modern/managers/index.d.ts +0 -6
  336. package/modern/managers/index.js +0 -3
  337. package/modern/managers/useDateRangeManager.d.ts +0 -11
  338. package/modern/managers/useDateRangeManager.js +0 -40
  339. package/modern/managers/useDateTimeRangeManager.d.ts +0 -11
  340. package/modern/managers/useDateTimeRangeManager.js +0 -41
  341. package/modern/managers/useTimeRangeManager.d.ts +0 -11
  342. package/modern/managers/useTimeRangeManager.js +0 -45
  343. package/modern/models/fields.d.ts +0 -34
  344. package/modern/models/fields.js +0 -1
  345. package/modern/models/index.d.ts +0 -4
  346. package/modern/models/index.js +0 -4
  347. package/modern/models/range.d.ts +0 -2
  348. package/modern/models/range.js +0 -1
  349. package/modern/models/validation.d.ts +0 -6
  350. package/modern/models/validation.js +0 -1
  351. package/modern/package.json +0 -1
  352. package/modern/themeAugmentation/components.d.ts +0 -79
  353. package/modern/themeAugmentation/index.d.ts +0 -4
  354. package/modern/themeAugmentation/index.js +0 -1
  355. package/modern/themeAugmentation/overrides.d.ts +0 -27
  356. package/modern/themeAugmentation/props.d.ts +0 -54
  357. package/modern/validation/index.d.ts +0 -6
  358. package/modern/validation/index.js +0 -3
  359. package/modern/validation/validateDateRange.d.ts +0 -18
  360. package/modern/validation/validateDateRange.js +0 -59
  361. package/modern/validation/validateDateTimeRange.d.ts +0 -15
  362. package/modern/validation/validateDateTimeRange.js +0 -55
  363. package/modern/validation/validateTimeRange.d.ts +0 -17
  364. package/modern/validation/validateTimeRange.js +0 -48
  365. package/tsconfig.build.tsbuildinfo +0 -1
@@ -0,0 +1,31 @@
1
+ import { createStepNavigation } from '@mui/x-date-pickers/internals';
2
+ export function createRangePickerStepNavigation(parameters) {
3
+ const {
4
+ steps,
5
+ rangePositionResponse
6
+ } = parameters;
7
+ return createStepNavigation({
8
+ steps,
9
+ isViewMatchingStep: (view, step) => {
10
+ if (step.rangePosition !== rangePositionResponse.rangePosition) {
11
+ return false;
12
+ }
13
+ return step.views == null || step.views.includes(view);
14
+ },
15
+ onStepChange: ({
16
+ step,
17
+ defaultView,
18
+ setView,
19
+ view,
20
+ views
21
+ }) => {
22
+ if (step.rangePosition !== rangePositionResponse.rangePosition) {
23
+ rangePositionResponse.setRangePosition(step.rangePosition);
24
+ }
25
+ const targetView = step.views == null ? defaultView : step.views.find(viewBis => views.includes(viewBis));
26
+ if (targetView !== view) {
27
+ setView(targetView);
28
+ }
29
+ }
30
+ });
31
+ }
@@ -17,6 +17,7 @@ export declare const removeLastSeparator: (dateSections: FieldRangeSection[]) =>
17
17
  modified: boolean;
18
18
  startSeparator: string;
19
19
  endSeparator: string;
20
+ isEndFormatSeparator?: boolean;
20
21
  })[];
21
22
  export declare function getRangeFieldType(field: React.ElementType & {
22
23
  fieldType?: 'single-input' | 'multi-input';
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-date-pickers-pro v8.0.0-beta.2
2
+ * @mui/x-date-pickers-pro v8.0.0
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -3,6 +3,7 @@ import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals';
3
3
  import { UseDesktopRangePickerParams, UseDesktopRangePickerProps } from "./useDesktopRangePicker.types.js";
4
4
  export declare const useDesktopRangePicker: <TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseDesktopRangePickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>>({
5
5
  props,
6
+ steps,
6
7
  ...pickerParams
7
8
  }: UseDesktopRangePickerParams<TView, TEnableAccessibleFieldDOMStructure, TExternalProps>) => {
8
9
  renderPicker: () => React.JSX.Element;
@@ -10,23 +10,24 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
13
+ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
13
14
  var _xLicense = require("@mui/x-license");
14
15
  var _PickersLayout = require("@mui/x-date-pickers/PickersLayout");
15
16
  var _internals = require("@mui/x-date-pickers/internals");
16
- var _releaseInfo = require("../../utils/releaseInfo");
17
17
  var _useRangePosition = require("../useRangePosition");
18
18
  var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
19
19
  var _dateFieldsUtils = require("../../utils/date-fields-utils");
20
+ var _createRangePickerStepNavigation = require("../../utils/createRangePickerStepNavigation");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
- const _excluded = ["props"],
22
+ const _excluded = ["props", "steps"],
22
23
  _excluded2 = ["ownerState"];
23
- const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
24
24
  const useDesktopRangePicker = _ref => {
25
25
  let {
26
- props
26
+ props,
27
+ steps
27
28
  } = _ref,
28
29
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
29
- (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', releaseInfo);
30
+ (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', "MTc0NDg0MDgwMDAwMA==");
30
31
  const {
31
32
  slots,
32
33
  slotProps,
@@ -36,6 +37,10 @@ const useDesktopRangePicker = _ref => {
36
37
  const fieldType = (0, _dateFieldsUtils.getRangeFieldType)(slots.field);
37
38
  const viewContainerRole = fieldType === 'single-input' ? 'dialog' : 'tooltip';
38
39
  const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props);
40
+ const getStepNavigation = (0, _createRangePickerStepNavigation.createRangePickerStepNavigation)({
41
+ steps,
42
+ rangePositionResponse
43
+ });
39
44
  const {
40
45
  providerProps,
41
46
  renderCurrentView,
@@ -45,13 +50,18 @@ const useDesktopRangePicker = _ref => {
45
50
  variant: 'desktop',
46
51
  autoFocusView: viewContainerRole === 'dialog',
47
52
  viewContainerRole,
48
- localeText
53
+ localeText,
54
+ getStepNavigation,
55
+ onPopperExited: (0, _useEventCallback.default)(() => rangePositionResponse.setRangePosition('start'))
49
56
  }));
50
57
  const Field = slots.field;
51
58
  const _useSlotProps = (0, _useSlotProps2.default)({
52
59
  elementType: Field,
53
60
  externalSlotProps: slotProps?.field,
54
- ownerState
61
+ ownerState,
62
+ additionalProps: {
63
+ 'data-active-range-position': providerProps.contextValue.open ? rangePositionResponse.rangePosition : undefined
64
+ }
55
65
  }),
56
66
  fieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
57
67
  const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
@@ -2,7 +2,7 @@ import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
2
2
  import { PickerFieldSlotProps, PickerOwnerState } from '@mui/x-date-pickers/models';
3
3
  import { PickerPopperSlots, PickerPopperSlotProps, UsePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
4
4
  import { ExportedPickersLayoutSlotProps, ExportedPickersLayoutSlots } from '@mui/x-date-pickers/PickersLayout';
5
- import { RangeOnlyPickerProps, UseRangePickerParams, UseRangePickerProps } from "../models/useRangePicker.js";
5
+ import { NonStaticRangePickerProps, NonStaticRangePickerHookParameters, UseRangePickerProps } from "../../models/index.js";
6
6
  export interface UseDesktopRangePickerSlots extends PickerPopperSlots, ExportedPickersLayoutSlots<PickerRangeValue>, PickerFieldUISlotsFromContext {
7
7
  /**
8
8
  * Component used to enter the date with the keyboard.
@@ -14,7 +14,7 @@ export interface UseDesktopRangePickerSlotProps<TEnableAccessibleFieldDOMStructu
14
14
  dateSeparator?: string;
15
15
  }, {}, PickerOwnerState>;
16
16
  }
17
- export interface DesktopRangeOnlyPickerProps extends RangeOnlyPickerProps {
17
+ export interface DesktopRangeOnlyPickerProps extends NonStaticRangePickerProps {
18
18
  /**
19
19
  * If `true`, the start `input` element is focused during the first mount.
20
20
  */
@@ -32,4 +32,4 @@ export interface UseDesktopRangePickerProps<TView extends DateOrTimeViewWithMeri
32
32
  */
33
33
  slotProps?: UseDesktopRangePickerSlotProps<TEnableAccessibleFieldDOMStructure>;
34
34
  }
35
- export interface UseDesktopRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseDesktopRangePickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>> extends UseRangePickerParams<TView, TExternalProps> {}
35
+ export interface UseDesktopRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseDesktopRangePickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>> extends NonStaticRangePickerHookParameters<TView, TExternalProps> {}
@@ -3,6 +3,7 @@ import { DateOrTimeViewWithMeridiem } from '@mui/x-date-pickers/internals';
3
3
  import { UseMobileRangePickerParams, UseMobileRangePickerProps } from "./useMobileRangePicker.types.js";
4
4
  export declare const useMobileRangePicker: <TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseMobileRangePickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>>({
5
5
  props,
6
+ steps,
6
7
  ...pickerParams
7
8
  }: UseMobileRangePickerParams<TView, TEnableAccessibleFieldDOMStructure, TExternalProps>) => {
8
9
  renderPicker: () => React.JSX.Element;
@@ -10,25 +10,26 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
13
+ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
13
14
  var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
14
15
  var _xLicense = require("@mui/x-license");
15
16
  var _PickersLayout = require("@mui/x-date-pickers/PickersLayout");
16
17
  var _internals = require("@mui/x-date-pickers/internals");
17
18
  var _hooks = require("@mui/x-date-pickers/hooks");
18
- var _releaseInfo = require("../../utils/releaseInfo");
19
19
  var _useRangePosition = require("../useRangePosition");
20
20
  var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
21
21
  var _dateFieldsUtils = require("../../utils/date-fields-utils");
22
+ var _createRangePickerStepNavigation = require("../../utils/createRangePickerStepNavigation");
22
23
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["props"],
24
+ const _excluded = ["props", "steps"],
24
25
  _excluded2 = ["ownerState"];
25
- const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
26
26
  const useMobileRangePicker = _ref => {
27
27
  let {
28
- props
28
+ props,
29
+ steps
29
30
  } = _ref,
30
31
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
31
- (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', releaseInfo);
32
+ (0, _xLicense.useLicenseVerifier)('x-date-pickers-pro', "MTc0NDg0MDgwMDAwMA==");
32
33
  const {
33
34
  slots,
34
35
  slotProps: innerSlotProps,
@@ -39,6 +40,10 @@ const useMobileRangePicker = _ref => {
39
40
  const fieldType = (0, _dateFieldsUtils.getRangeFieldType)(slots.field);
40
41
  const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props);
41
42
  const contextTranslations = (0, _hooks.usePickerTranslations)();
43
+ const getStepNavigation = (0, _createRangePickerStepNavigation.createRangePickerStepNavigation)({
44
+ steps,
45
+ rangePositionResponse
46
+ });
42
47
  const {
43
48
  providerProps,
44
49
  renderCurrentView,
@@ -48,7 +53,9 @@ const useMobileRangePicker = _ref => {
48
53
  variant: 'mobile',
49
54
  autoFocusView: true,
50
55
  viewContainerRole: 'dialog',
51
- localeText
56
+ localeText,
57
+ getStepNavigation,
58
+ onPopperExited: (0, _useEventCallback.default)(() => rangePositionResponse.setRangePosition('start'))
52
59
  }));
53
60
  const labelId = providerProps.privateContextValue.labelId;
54
61
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
@@ -2,7 +2,7 @@ import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
2
2
  import { PickerFieldSlotProps, PickerOwnerState } from '@mui/x-date-pickers/models';
3
3
  import { PickersModalDialogSlots, PickersModalDialogSlotProps, UsePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from '@mui/x-date-pickers/internals';
4
4
  import { ExportedPickersLayoutSlotProps, ExportedPickersLayoutSlots, PickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
5
- import { RangeOnlyPickerProps, UseRangePickerParams, UseRangePickerProps } from "../models/useRangePicker.js";
5
+ import { NonStaticRangePickerProps, NonStaticRangePickerHookParameters, UseRangePickerProps } from "../../models/index.js";
6
6
  export interface UseMobileRangePickerSlots extends PickersModalDialogSlots, ExportedPickersLayoutSlots<PickerRangeValue>, PickerFieldUISlotsFromContext {
7
7
  /**
8
8
  * Component used to enter the date with the keyboard.
@@ -15,7 +15,7 @@ export interface ExportedUseMobileRangePickerSlotProps<TEnableAccessibleFieldDOM
15
15
  }, {}, PickerOwnerState>;
16
16
  }
17
17
  export interface UseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> extends ExportedUseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure>, Pick<PickersLayoutSlotProps<PickerRangeValue>, 'toolbar'> {}
18
- export interface MobileRangeOnlyPickerProps extends RangeOnlyPickerProps {}
18
+ export interface MobileRangeOnlyPickerProps extends NonStaticRangePickerProps {}
19
19
  export interface UseMobileRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TError, TExternalProps extends UsePickerProps<PickerRangeValue, TView, TError, any>> extends UseRangePickerProps<TView, TError, TExternalProps> {
20
20
  /**
21
21
  * Overridable component slots.
@@ -28,4 +28,4 @@ export interface UseMobileRangePickerProps<TView extends DateOrTimeViewWithMerid
28
28
  */
29
29
  slotProps?: UseMobileRangePickerSlotProps<TEnableAccessibleFieldDOMStructure>;
30
30
  }
31
- export interface UseMobileRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseMobileRangePickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>> extends UseRangePickerParams<TView, TExternalProps> {}
31
+ export interface UseMobileRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TEnableAccessibleFieldDOMStructure extends boolean, TExternalProps extends UseMobileRangePickerProps<TView, TEnableAccessibleFieldDOMStructure, any, TExternalProps>> extends NonStaticRangePickerHookParameters<TView, TExternalProps> {}
@@ -7,6 +7,7 @@ import { UseStaticRangePickerParams, UseStaticRangePickerProps } from "./useStat
7
7
  */
8
8
  export declare const useStaticRangePicker: <TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TView, any, TExternalProps>>({
9
9
  props,
10
+ steps,
10
11
  ...pickerParams
11
12
  }: UseStaticRangePickerParams<TView, TExternalProps>) => {
12
13
  renderPicker: () => React.JSX.Element;
@@ -15,8 +15,9 @@ var _PickersLayout = require("@mui/x-date-pickers/PickersLayout");
15
15
  var _internals = require("@mui/x-date-pickers/internals");
16
16
  var _useRangePosition = require("../useRangePosition");
17
17
  var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
18
+ var _createRangePickerStepNavigation = require("../../utils/createRangePickerStepNavigation");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["props"];
20
+ const _excluded = ["props", "steps"];
20
21
  const PickerStaticLayout = (0, _styles.styled)(_PickersLayout.PickersLayout)(({
21
22
  theme
22
23
  }) => ({
@@ -31,7 +32,8 @@ const PickerStaticLayout = (0, _styles.styled)(_PickersLayout.PickersLayout)(({
31
32
  */
32
33
  const useStaticRangePicker = _ref => {
33
34
  let {
34
- props
35
+ props,
36
+ steps
35
37
  } = _ref,
36
38
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
37
39
  const {
@@ -42,6 +44,10 @@ const useStaticRangePicker = _ref => {
42
44
  autoFocus
43
45
  } = props;
44
46
  const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props);
47
+ const getStepNavigation = (0, _createRangePickerStepNavigation.createRangePickerStepNavigation)({
48
+ steps,
49
+ rangePositionResponse
50
+ });
45
51
  const {
46
52
  providerProps,
47
53
  renderCurrentView
@@ -50,7 +56,8 @@ const useStaticRangePicker = _ref => {
50
56
  variant: displayStaticWrapperAs,
51
57
  autoFocusView: autoFocus ?? false,
52
58
  viewContainerRole: null,
53
- localeText
59
+ localeText,
60
+ getStepNavigation
54
61
  }));
55
62
  const Layout = slots?.layout ?? PickerStaticLayout;
56
63
  const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_usePickerRangePositionContext.PickerRangePositionContext.Provider, {
@@ -1,6 +1,7 @@
1
1
  import { BasePickerProps, UsePickerParameters, ExportedBaseToolbarProps, StaticOnlyPickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
2
2
  import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps } from '@mui/x-date-pickers/PickersLayout';
3
3
  import { UseRangePositionProps } from "../useRangePosition.js";
4
+ import { PickerRangeStep } from "../../utils/createRangePickerStepNavigation.js";
4
5
  export interface UseStaticRangePickerSlots extends ExportedPickersLayoutSlots<PickerRangeValue> {}
5
6
  export interface UseStaticRangePickerSlotProps extends ExportedPickersLayoutSlotProps<PickerRangeValue> {
6
7
  toolbar?: ExportedBaseToolbarProps;
@@ -20,4 +21,10 @@ export interface UseStaticRangePickerProps<TView extends DateOrTimeViewWithMerid
20
21
  }
21
22
  export interface UseStaticRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticRangePickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParameters<PickerRangeValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'ref'> {
22
23
  props: TExternalProps;
24
+ /**
25
+ * Steps available for the picker.
26
+ * This will be used to define the behavior of navigation actions.
27
+ * If null, the picker will not have any step navigation.
28
+ */
29
+ steps: PickerRangeStep[] | null;
23
30
  }
@@ -1,4 +1,7 @@
1
+ import { BasePickerProps, DateOrTimeViewWithMeridiem, PickerRangeValue, UsePickerNonStaticProps, UsePickerParameters, UsePickerProps } from '@mui/x-date-pickers/internals';
1
2
  import * as React from 'react';
3
+ import { UseRangePositionProps } from "../hooks/useRangePosition.js";
4
+ import { PickerRangeStep } from "../utils/createRangePickerStepNavigation.js";
2
5
  /**
3
6
  * Props common to all range non-static pickers.
4
7
  * These props are handled by the headless wrappers.
@@ -19,4 +22,15 @@ export interface BaseRangeNonStaticPickerProps {
19
22
  * Ignored if the field has several inputs.
20
23
  */
21
24
  name?: string;
25
+ }
26
+ export interface NonStaticRangePickerProps extends UsePickerNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {}
27
+ export interface UseRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerProps<PickerRangeValue, TView, TError, any>> extends NonStaticRangePickerProps, BasePickerProps<PickerRangeValue, TView, TError, TExternalProps> {}
28
+ export interface NonStaticRangePickerHookParameters<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseRangePickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParameters<PickerRangeValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'rendererInterceptor' | 'ref'> {
29
+ props: TExternalProps;
30
+ /**
31
+ * Steps available for the picker.
32
+ * This will be used to define the behavior of navigation actions.
33
+ * If null, the picker will not have any step navigation.
34
+ */
35
+ steps: PickerRangeStep[] | null;
22
36
  }
@@ -47,5 +47,6 @@ function useTextFieldProps({
47
47
  textFieldProps.InputProps.ref = pickerContext.triggerRef;
48
48
  }
49
49
  }
50
+ textFieldProps.InputProps['data-multi-input'] = position;
50
51
  return textFieldProps;
51
52
  }
@@ -0,0 +1,16 @@
1
+ import { DateOrTimeViewWithMeridiem, RangePosition } from '@mui/x-date-pickers/internals';
2
+ import { UseRangePositionResponse } from "../hooks/useRangePosition.js";
3
+ export declare function createRangePickerStepNavigation(parameters: CreateRangePickerStepNavigationParameters): import("@mui/x-date-pickers/internals/utils/createStepNavigation").CreateStepNavigationReturnValue;
4
+ export interface PickerRangeStep {
5
+ /**
6
+ * The views that are handled inside this step.
7
+ * If null, all views are handled by this step.
8
+ */
9
+ views: readonly DateOrTimeViewWithMeridiem[] | null;
10
+ rangePosition: RangePosition;
11
+ }
12
+ interface CreateRangePickerStepNavigationParameters {
13
+ steps: PickerRangeStep[] | null;
14
+ rangePositionResponse: UseRangePositionResponse;
15
+ }
16
+ export {};
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createRangePickerStepNavigation = createRangePickerStepNavigation;
7
+ var _internals = require("@mui/x-date-pickers/internals");
8
+ function createRangePickerStepNavigation(parameters) {
9
+ const {
10
+ steps,
11
+ rangePositionResponse
12
+ } = parameters;
13
+ return (0, _internals.createStepNavigation)({
14
+ steps,
15
+ isViewMatchingStep: (view, step) => {
16
+ if (step.rangePosition !== rangePositionResponse.rangePosition) {
17
+ return false;
18
+ }
19
+ return step.views == null || step.views.includes(view);
20
+ },
21
+ onStepChange: ({
22
+ step,
23
+ defaultView,
24
+ setView,
25
+ view,
26
+ views
27
+ }) => {
28
+ if (step.rangePosition !== rangePositionResponse.rangePosition) {
29
+ rangePositionResponse.setRangePosition(step.rangePosition);
30
+ }
31
+ const targetView = step.views == null ? defaultView : step.views.find(viewBis => views.includes(viewBis));
32
+ if (targetView !== view) {
33
+ setView(targetView);
34
+ }
35
+ }
36
+ });
37
+ }
@@ -17,6 +17,7 @@ export declare const removeLastSeparator: (dateSections: FieldRangeSection[]) =>
17
17
  modified: boolean;
18
18
  startSeparator: string;
19
19
  endSeparator: string;
20
+ isEndFormatSeparator?: boolean;
20
21
  })[];
21
22
  export declare function getRangeFieldType(field: React.ElementType & {
22
23
  fieldType?: 'single-input' | 'multi-input';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "8.0.0-beta.2",
3
+ "version": "8.0.0",
4
4
  "description": "The Pro plan edition of the Date and Time Picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./index.js",
@@ -32,20 +32,20 @@
32
32
  "directory": "packages/x-date-pickers-pro"
33
33
  },
34
34
  "dependencies": {
35
- "@babel/runtime": "^7.26.10",
36
- "@mui/utils": "^7.0.0 || ^7.0.0-beta",
35
+ "@babel/runtime": "^7.27.0",
36
+ "@mui/utils": "^7.0.2",
37
37
  "clsx": "^2.1.1",
38
38
  "prop-types": "^15.8.1",
39
39
  "react-transition-group": "^4.4.5",
40
- "@mui/x-internals": "8.0.0-beta.2",
41
- "@mui/x-license": "8.0.0-beta.2",
42
- "@mui/x-date-pickers": "8.0.0-beta.2"
40
+ "@mui/x-date-pickers": "8.0.0",
41
+ "@mui/x-license": "8.0.0",
42
+ "@mui/x-internals": "8.0.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@emotion/react": "^11.9.0",
46
46
  "@emotion/styled": "^11.8.1",
47
- "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta",
48
- "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0 || ^7.0.0-beta",
47
+ "@mui/material": "^5.15.14 || ^6.0.0 || ^7.0.0",
48
+ "@mui/system": "^5.15.14 || ^6.0.0 || ^7.0.0",
49
49
  "date-fns": "^2.25.0 || ^3.2.0 || ^4.0.0",
50
50
  "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0",
51
51
  "dayjs": "^1.10.7",
@@ -100,10 +100,6 @@
100
100
  "import": {
101
101
  "types": "./esm/index.d.ts",
102
102
  "default": "./esm/index.js"
103
- },
104
- "mui-modern": {
105
- "types": "./modern/index.d.ts",
106
- "default": "./modern/index.js"
107
103
  }
108
104
  },
109
105
  "./*": {
@@ -114,10 +110,6 @@
114
110
  "import": {
115
111
  "types": "./esm/*/index.d.ts",
116
112
  "default": "./esm/*/index.js"
117
- },
118
- "mui-modern": {
119
- "types": "./modern/*/index.d.ts",
120
- "default": "./modern/*/index.js"
121
113
  }
122
114
  },
123
115
  "./esm": null,
@@ -1 +0,0 @@
1
- export type { RangeOnlyPickerProps, UseRangePickerProps, UseRangePickerParams } from './useRangePicker';
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- import { UsePickerParameters, BasePickerProps, UsePickerProps, UsePickerNonStaticProps, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
2
- import { BaseRangeNonStaticPickerProps } from "../../models/index.js";
3
- import { UseRangePositionProps } from "../useRangePosition.js";
4
- export interface RangeOnlyPickerProps extends UsePickerNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {}
5
- export interface UseRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerProps<PickerRangeValue, TView, TError, any>> extends RangeOnlyPickerProps, BasePickerProps<PickerRangeValue, TView, TError, TExternalProps> {}
6
- export interface UseRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseRangePickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParameters<PickerRangeValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'rendererInterceptor' | 'ref'> {
7
- props: TExternalProps;
8
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export declare const getReleaseInfo: () => any;
@@ -1,13 +0,0 @@
1
- import { ponyfillGlobal } from '@mui/utils';
2
- export const getReleaseInfo = () => {
3
- const releaseInfo = "MTc0MzExMjgwMDAwMA==";
4
- if (process.env.NODE_ENV !== 'production') {
5
- // A simple hack to set the value in the test environment (has no build step).
6
- // eslint-disable-next-line no-useless-concat
7
- if (releaseInfo === '__RELEASE' + '_INFO__') {
8
- // eslint-disable-next-line no-underscore-dangle
9
- return ponyfillGlobal.__MUI_RELEASE_INFO__;
10
- }
11
- }
12
- return releaseInfo;
13
- };
@@ -1 +0,0 @@
1
- export type { RangeOnlyPickerProps, UseRangePickerProps, UseRangePickerParams } from './useRangePicker';
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,8 +0,0 @@
1
- import { UsePickerParameters, BasePickerProps, UsePickerProps, UsePickerNonStaticProps, DateOrTimeViewWithMeridiem, PickerRangeValue } from '@mui/x-date-pickers/internals';
2
- import { BaseRangeNonStaticPickerProps } from "../../models/index.js";
3
- import { UseRangePositionProps } from "../useRangePosition.js";
4
- export interface RangeOnlyPickerProps extends UsePickerNonStaticProps, BaseRangeNonStaticPickerProps, UseRangePositionProps {}
5
- export interface UseRangePickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerProps<PickerRangeValue, TView, TError, any>> extends RangeOnlyPickerProps, BasePickerProps<PickerRangeValue, TView, TError, TExternalProps> {}
6
- export interface UseRangePickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseRangePickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParameters<PickerRangeValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator' | 'rendererInterceptor' | 'ref'> {
7
- props: TExternalProps;
8
- }
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1 +0,0 @@
1
- export declare const getReleaseInfo: () => any;
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getReleaseInfo = void 0;
7
- var _utils = require("@mui/utils");
8
- const getReleaseInfo = () => {
9
- const releaseInfo = "MTc0MzExMjgwMDAwMA==";
10
- if (process.env.NODE_ENV !== 'production') {
11
- // A simple hack to set the value in the test environment (has no build step).
12
- // eslint-disable-next-line no-useless-concat
13
- if (releaseInfo === '__RELEASE' + '_INFO__') {
14
- // eslint-disable-next-line no-underscore-dangle
15
- return _utils.ponyfillGlobal.__MUI_RELEASE_INFO__;
16
- }
17
- }
18
- return releaseInfo;
19
- };
20
- exports.getReleaseInfo = getReleaseInfo;
@@ -1 +0,0 @@
1
- export { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
@@ -1 +0,0 @@
1
- export { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';
@@ -1 +0,0 @@
1
- export { AdapterDateFnsJalali } from '@mui/x-date-pickers/AdapterDateFnsJalali';
@@ -1 +0,0 @@
1
- export { AdapterDateFnsJalali } from '@mui/x-date-pickers/AdapterDateFnsJalali';
@@ -1 +0,0 @@
1
- export { AdapterDateFnsJalali } from '@mui/x-date-pickers/AdapterDateFnsJalaliV2';
@@ -1 +0,0 @@
1
- export { AdapterDateFnsJalali } from '@mui/x-date-pickers/AdapterDateFnsJalaliV2';
@@ -1 +0,0 @@
1
- export { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV2';
@@ -1 +0,0 @@
1
- export { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV2';
@@ -1 +0,0 @@
1
- export { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
@@ -1 +0,0 @@
1
- export { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
@@ -1 +0,0 @@
1
- export { AdapterLuxon } from '@mui/x-date-pickers/AdapterLuxon';
@@ -1 +0,0 @@
1
- export { AdapterLuxon } from '@mui/x-date-pickers/AdapterLuxon';
@@ -1 +0,0 @@
1
- export { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
@@ -1 +0,0 @@
1
- export { AdapterMoment } from '@mui/x-date-pickers/AdapterMoment';
@@ -1 +0,0 @@
1
- export { AdapterMomentHijri } from '@mui/x-date-pickers/AdapterMomentHijri';
@@ -1 +0,0 @@
1
- export { AdapterMomentHijri } from '@mui/x-date-pickers/AdapterMomentHijri';
@@ -1 +0,0 @@
1
- export { AdapterMomentJalaali } from '@mui/x-date-pickers/AdapterMomentJalaali';
@@ -1 +0,0 @@
1
- export { AdapterMomentJalaali } from '@mui/x-date-pickers/AdapterMomentJalaali';