@mui/x-date-pickers-pro 8.0.0-alpha.6 → 8.0.0-alpha.8

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 (267) hide show
  1. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.d.ts +1 -1
  2. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  3. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  4. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.d.ts +1 -1
  5. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  6. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  7. package/CHANGELOG.md +242 -1
  8. package/DateRangeCalendar/DateRangeCalendar.js +12 -10
  9. package/DateRangePicker/DateRangePicker.js +1 -1
  10. package/DateRangePicker/DateRangePicker.types.d.ts +5 -0
  11. package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -3
  12. package/DateRangePicker/DateRangePickerToolbar.js +27 -19
  13. package/DateRangePicker/shared.d.ts +1 -1
  14. package/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  15. package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +3 -4
  16. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
  17. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
  18. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  19. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -3
  20. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
  21. package/DateTimeRangePicker/shared.d.ts +2 -2
  22. package/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +5 -0
  24. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  25. package/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  26. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  27. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +9 -4
  28. package/MultiInputDateRangeField/MultiInputDateRangeField.js +12 -116
  29. package/MultiInputDateRangeField/index.d.ts +5 -3
  30. package/MultiInputDateRangeField/index.js +2 -2
  31. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +6 -0
  32. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  33. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +9 -4
  34. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +12 -116
  35. package/MultiInputDateTimeRangeField/index.d.ts +5 -3
  36. package/MultiInputDateTimeRangeField/index.js +2 -2
  37. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +6 -0
  38. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  39. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +9 -4
  40. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -117
  41. package/MultiInputTimeRangeField/index.d.ts +5 -3
  42. package/MultiInputTimeRangeField/index.js +2 -2
  43. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +6 -0
  44. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  45. package/SingleInputDateRangeField/SingleInputDateRangeField.js +20 -30
  46. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -17
  47. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  48. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  49. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +20 -30
  50. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -18
  51. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  52. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  53. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -30
  54. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -18
  55. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  56. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  57. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
  58. package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  59. package/hooks/index.d.ts +2 -0
  60. package/hooks/index.js +2 -0
  61. package/hooks/package.json +6 -0
  62. package/hooks/useMultiInputRangeField/index.d.ts +1 -0
  63. package/hooks/useMultiInputRangeField/index.js +1 -0
  64. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
  65. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  66. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +17 -0
  67. package/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  68. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
  69. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  70. package/hooks/usePickerRangePositionContext.d.ts +7 -0
  71. package/hooks/usePickerRangePositionContext.js +15 -0
  72. package/index.d.ts +2 -0
  73. package/index.js +4 -2
  74. package/internals/hooks/models/index.d.ts +1 -1
  75. package/internals/hooks/models/useRangePicker.d.ts +6 -8
  76. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +40 -67
  77. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +3 -5
  78. package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +18 -9
  79. package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +39 -52
  80. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +33 -56
  81. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +3 -5
  82. package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
  83. package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  84. package/internals/hooks/useRangePosition.d.ts +2 -2
  85. package/internals/hooks/useRangePosition.js +1 -1
  86. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  87. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  88. package/internals/models/dateTimeRange.d.ts +1 -6
  89. package/internals/models/fields.d.ts +1 -2
  90. package/internals/models/index.d.ts +0 -1
  91. package/internals/models/index.js +0 -1
  92. package/internals/models/managers.d.ts +3 -0
  93. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
  94. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +133 -0
  95. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
  96. package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
  97. package/internals/utils/createMultiInputRangeField/index.js +2 -0
  98. package/internals/utils/date-range-manager.js +2 -1
  99. package/internals/utils/releaseInfo.js +1 -1
  100. package/internals/utils/valueManagers.js +7 -7
  101. package/managers/index.d.ts +6 -0
  102. package/managers/index.js +3 -0
  103. package/managers/package.json +6 -0
  104. package/managers/useDateRangeManager.d.ts +15 -0
  105. package/managers/useDateRangeManager.js +33 -0
  106. package/managers/useDateTimeRangeManager.d.ts +15 -0
  107. package/managers/useDateTimeRangeManager.js +33 -0
  108. package/managers/useTimeRangeManager.d.ts +15 -0
  109. package/managers/useTimeRangeManager.js +31 -0
  110. package/models/fields.d.ts +1 -2
  111. package/models/index.d.ts +0 -2
  112. package/models/index.js +0 -2
  113. package/models/range.d.ts +0 -1
  114. package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  115. package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  116. package/modern/DateRangeCalendar/DateRangeCalendar.js +12 -10
  117. package/modern/DateRangePicker/DateRangePicker.js +1 -1
  118. package/modern/DateRangePicker/DateRangePickerToolbar.js +27 -19
  119. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  120. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
  121. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  122. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
  123. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  124. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  125. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  126. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  127. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +12 -116
  128. package/modern/MultiInputDateRangeField/index.js +2 -2
  129. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  130. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +12 -116
  131. package/modern/MultiInputDateTimeRangeField/index.js +2 -2
  132. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  133. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -117
  134. package/modern/MultiInputTimeRangeField/index.js +2 -2
  135. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  136. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +20 -30
  137. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  138. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +20 -30
  139. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  140. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -30
  141. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  142. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  143. package/modern/hooks/index.js +2 -0
  144. package/modern/hooks/useMultiInputRangeField/index.js +1 -0
  145. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  146. package/modern/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  147. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  148. package/modern/hooks/usePickerRangePositionContext.js +15 -0
  149. package/modern/index.js +4 -2
  150. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +40 -67
  151. package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +39 -52
  152. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +33 -56
  153. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  154. package/modern/internals/hooks/useRangePosition.js +1 -1
  155. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  156. package/modern/internals/models/index.js +0 -1
  157. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +133 -0
  158. package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
  159. package/modern/internals/utils/date-range-manager.js +2 -1
  160. package/modern/internals/utils/releaseInfo.js +1 -1
  161. package/modern/internals/utils/valueManagers.js +7 -7
  162. package/modern/managers/index.js +3 -0
  163. package/modern/managers/useDateRangeManager.js +33 -0
  164. package/modern/managers/useDateTimeRangeManager.js +33 -0
  165. package/modern/managers/useTimeRangeManager.js +31 -0
  166. package/modern/models/index.js +0 -2
  167. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  168. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  169. package/node/DateRangeCalendar/DateRangeCalendar.js +12 -10
  170. package/node/DateRangePicker/DateRangePicker.js +1 -1
  171. package/node/DateRangePicker/DateRangePickerToolbar.js +26 -18
  172. package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  173. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
  174. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  175. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
  176. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  177. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  178. package/node/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  179. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  180. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +11 -119
  181. package/node/MultiInputDateRangeField/index.js +3 -9
  182. package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
  183. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +11 -119
  184. package/node/MultiInputDateTimeRangeField/index.js +3 -9
  185. package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
  186. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +12 -120
  187. package/node/MultiInputTimeRangeField/index.js +3 -9
  188. package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
  189. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +19 -29
  190. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  191. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +19 -29
  192. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  193. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +19 -29
  194. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  195. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  196. package/node/hooks/index.js +19 -0
  197. package/node/hooks/useMultiInputRangeField/index.js +12 -0
  198. package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
  199. package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
  200. package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
  201. package/node/hooks/usePickerRangePositionContext.js +22 -0
  202. package/node/index.js +23 -1
  203. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +39 -66
  204. package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +41 -54
  205. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +32 -55
  206. package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
  207. package/node/internals/hooks/useRangePosition.js +1 -1
  208. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  209. package/node/internals/models/index.js +0 -11
  210. package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +140 -0
  211. package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
  212. package/node/internals/utils/date-range-manager.js +2 -1
  213. package/node/internals/utils/releaseInfo.js +1 -1
  214. package/node/internals/utils/valueManagers.js +7 -7
  215. package/node/managers/index.js +26 -0
  216. package/node/managers/useDateRangeManager.js +40 -0
  217. package/node/managers/useDateTimeRangeManager.js +40 -0
  218. package/node/managers/useTimeRangeManager.js +38 -0
  219. package/node/models/index.js +0 -22
  220. package/package.json +5 -5
  221. package/themeAugmentation/overrides.d.ts +6 -4
  222. package/themeAugmentation/props.d.ts +2 -2
  223. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -55
  224. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -56
  225. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -56
  226. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -20
  227. package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
  228. package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  229. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
  230. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  231. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
  232. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  233. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
  234. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
  235. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  236. package/internals/models/timeRange.d.ts +0 -6
  237. package/internals/models/timeRange.js +0 -1
  238. package/models/dateRange.d.ts +0 -7
  239. package/models/dateRange.js +0 -1
  240. package/models/multiInputRangeFieldClasses.d.ts +0 -7
  241. package/models/multiInputRangeFieldClasses.js +0 -1
  242. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  243. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  244. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  245. package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  246. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  247. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  248. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  249. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  250. package/modern/internals/models/timeRange.js +0 -1
  251. package/modern/models/dateRange.js +0 -1
  252. package/modern/models/multiInputRangeFieldClasses.js +0 -1
  253. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
  254. package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
  255. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -121
  256. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -121
  257. package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
  258. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -121
  259. package/node/internals/models/timeRange.js +0 -5
  260. package/node/models/dateRange.js +0 -5
  261. package/node/models/multiInputRangeFieldClasses.js +0 -5
  262. /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  263. /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  264. /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
  265. /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  266. /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  267. /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
@@ -13,9 +13,10 @@ var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
13
13
  var _xLicense = require("@mui/x-license");
14
14
  var _PickersLayout = require("@mui/x-date-pickers/PickersLayout");
15
15
  var _internals = require("@mui/x-date-pickers/internals");
16
- var _useEnrichedRangePickerFieldProps = require("../useEnrichedRangePickerFieldProps");
16
+ var _useEnrichedRangePickerField = require("../useEnrichedRangePickerField");
17
17
  var _releaseInfo = require("../../utils/releaseInfo");
18
18
  var _useRangePosition = require("../useRangePosition");
19
+ var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
20
21
  const _excluded = ["props"];
21
22
  const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
@@ -30,60 +31,46 @@ const useDesktopRangePicker = _ref => {
30
31
  slotProps,
31
32
  className,
32
33
  sx,
33
- format,
34
- formatDensity,
35
- enableAccessibleFieldDOMStructure,
36
- selectedSections,
37
- onSelectedSectionsChange,
38
- timezone,
39
34
  label,
40
35
  inputRef,
41
36
  name,
42
37
  readOnly,
43
- disabled,
44
38
  autoFocus,
45
39
  disableOpenPicker,
46
40
  localeText,
47
41
  reduceAnimations
48
42
  } = props;
49
43
  const fieldContainerRef = React.useRef(null);
50
- const anchorRef = React.useRef(null);
51
44
  const popperRef = React.useRef(null);
52
45
  const startFieldRef = React.useRef(null);
53
46
  const endFieldRef = React.useRef(null);
54
47
  const singleInputFieldRef = React.useRef(null);
55
48
  const initialView = React.useRef(props.openTo ?? null);
56
49
  const fieldType = slots.field.fieldType ?? 'multi-input';
57
- const {
58
- rangePosition,
59
- onRangePositionChange
60
- } = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
50
+ const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
61
51
  let fieldRef;
62
52
  if (fieldType === 'single-input') {
63
53
  fieldRef = singleInputFieldRef;
64
- } else if (rangePosition === 'start') {
54
+ } else if (rangePositionResponse.rangePosition === 'start') {
65
55
  fieldRef = startFieldRef;
66
56
  } else {
67
57
  fieldRef = endFieldRef;
68
58
  }
69
59
  const {
70
- layoutProps,
71
60
  providerProps,
72
61
  renderCurrentView,
73
62
  shouldRestoreFocus,
74
- fieldProps: pickerFieldProps,
75
63
  ownerState
76
64
  } = (0, _internals.usePicker)((0, _extends2.default)({}, pickerParams, {
77
65
  props,
78
66
  variant: 'desktop',
79
67
  autoFocusView: false,
80
68
  fieldRef,
81
- localeText,
82
- additionalViewProps: {
83
- rangePosition,
84
- onRangePositionChange
85
- }
69
+ localeText
86
70
  }));
71
+
72
+ // Temporary hack to hide the opening button on the range pickers until we have migrate them to the new opening logic.
73
+ providerProps.contextValue.triggerStatus = 'hidden';
87
74
  React.useEffect(() => {
88
75
  if (providerProps.contextValue.view) {
89
76
  initialView.current = providerProps.contextValue.view;
@@ -107,17 +94,7 @@ const useDesktopRangePicker = _ref => {
107
94
  additionalProps: (0, _extends2.default)({
108
95
  // Internal props
109
96
  readOnly,
110
- disabled,
111
- format,
112
- formatDensity,
113
- enableAccessibleFieldDOMStructure,
114
- selectedSections,
115
- onSelectedSectionsChange,
116
- timezone,
117
- autoFocus: autoFocus && !props.open
118
- }, pickerFieldProps, {
119
- // onChange and value
120
-
97
+ autoFocus: autoFocus && !props.open,
121
98
  // Forwarded props
122
99
  className,
123
100
  sx,
@@ -129,58 +106,54 @@ const useDesktopRangePicker = _ref => {
129
106
  }),
130
107
  ownerState
131
108
  });
132
- const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)({
109
+ const enrichedFieldResponse = (0, _useEnrichedRangePickerField.useEnrichedRangePickerField)((0, _extends2.default)({
133
110
  variant: 'desktop',
134
111
  fieldType,
135
112
  // These direct access to `providerProps` will go away once the range fields handle the picker opening
136
- open: providerProps.contextValue.open,
137
- setOpen: providerProps.contextValue.setOpen,
113
+ contextValue: providerProps.contextValue,
114
+ fieldPrivateContextValue: providerProps.fieldPrivateContextValue,
138
115
  readOnly,
139
116
  disableOpenPicker,
140
117
  label,
141
118
  localeText,
142
119
  onBlur: handleBlur,
143
- rangePosition,
144
- onRangePositionChange,
145
120
  pickerSlotProps: slotProps,
146
121
  pickerSlots: slots,
147
122
  fieldProps,
148
- anchorRef,
123
+ anchorRef: providerProps.contextValue.triggerRef,
149
124
  startFieldRef,
150
125
  endFieldRef,
151
126
  singleInputFieldRef,
152
127
  currentView: providerProps.contextValue.view !== props.openTo ? providerProps.contextValue.view : undefined,
153
- initialView: initialView.current ?? undefined,
154
- onViewChange: providerProps.contextValue.onViewChange
155
- });
156
- const slotPropsForLayout = (0, _extends2.default)({}, slotProps, {
157
- tabs: (0, _extends2.default)({}, slotProps?.tabs, {
158
- rangePosition,
159
- onRangePositionChange
160
- }),
161
- toolbar: (0, _extends2.default)({}, slotProps?.toolbar, {
162
- rangePosition,
163
- onRangePositionChange
164
- })
165
- });
128
+ initialView: initialView.current ?? undefined
129
+ }, rangePositionResponse));
166
130
  const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
167
- const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
168
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersPopper, {
169
- role: "tooltip",
170
- placement: "bottom-start",
171
- containerRef: popperRef,
172
- anchorEl: anchorRef.current,
173
- onBlur: handleBlur,
131
+ const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
132
+ // This override will go away once the range fields handle the picker opening
133
+ fieldPrivateContextValue: (0, _extends2.default)({}, providerProps.fieldPrivateContextValue, enrichedFieldResponse.fieldPrivateContextValue),
134
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerFieldUIContextProvider, {
174
135
  slots: slots,
175
136
  slotProps: slotProps,
176
- shouldRestoreFocus: shouldRestoreFocus,
177
- reduceAnimations: reduceAnimations,
178
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
179
- slots: slots,
180
- slotProps: slotPropsForLayout,
181
- children: renderCurrentView()
182
- }))
183
- })]
137
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_usePickerRangePositionContext.PickerRangePositionContext.Provider, {
138
+ value: rangePositionResponse,
139
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldResponse.fieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersPopper, {
140
+ role: "tooltip",
141
+ placement: "bottom-start",
142
+ containerRef: popperRef,
143
+ anchorEl: providerProps.contextValue.triggerRef.current,
144
+ onBlur: handleBlur,
145
+ slots: slots,
146
+ slotProps: slotProps,
147
+ shouldRestoreFocus: shouldRestoreFocus,
148
+ reduceAnimations: reduceAnimations,
149
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
150
+ slots: slots,
151
+ slotProps: slotProps,
152
+ children: renderCurrentView()
153
+ }))
154
+ })]
155
+ })
156
+ })
184
157
  }));
185
158
  return {
186
159
  renderPicker
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.useEnrichedRangePickerFieldProps = void 0;
8
+ exports.useEnrichedRangePickerField = void 0;
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
@@ -16,15 +16,14 @@ var _hooks = require("@mui/x-date-pickers/hooks");
16
16
  var _internals = require("@mui/x-date-pickers/internals");
17
17
  const _excluded = ["clearable", "onClear"];
18
18
  const useMultiInputFieldSlotProps = ({
19
+ contextValue,
19
20
  variant,
20
- open,
21
- setOpen,
22
21
  readOnly,
23
22
  labelId,
24
23
  disableOpenPicker,
25
24
  onBlur,
26
25
  rangePosition,
27
- onRangePositionChange,
26
+ setRangePosition,
28
27
  localeText: inLocaleText,
29
28
  pickerSlotProps,
30
29
  pickerSlots,
@@ -32,7 +31,6 @@ const useMultiInputFieldSlotProps = ({
32
31
  anchorRef,
33
32
  currentView,
34
33
  initialView,
35
- onViewChange,
36
34
  startFieldRef,
37
35
  endFieldRef
38
36
  }) => {
@@ -41,7 +39,7 @@ const useMultiInputFieldSlotProps = ({
41
39
  const handleEndFieldRef = (0, _useForkRef.default)(fieldProps.unstableEndFieldRef, endFieldRef);
42
40
  const previousRangePosition = React.useRef(rangePosition);
43
41
  React.useEffect(() => {
44
- if (!open || variant === 'mobile') {
42
+ if (!contextValue.open || variant === 'mobile') {
45
43
  return;
46
44
  }
47
45
  const currentFieldRef = rangePosition === 'start' ? startFieldRef : endFieldRef;
@@ -57,36 +55,36 @@ const useMultiInputFieldSlotProps = ({
57
55
  // use the current view or `0` when the range position has just been swapped
58
56
  previousRangePosition.current === rangePosition ? currentView : 0);
59
57
  previousRangePosition.current = rangePosition;
60
- }, [rangePosition, open, currentView, startFieldRef, endFieldRef, variant]);
58
+ }, [rangePosition, contextValue.open, currentView, startFieldRef, endFieldRef, variant]);
61
59
  const openRangeStartSelection = event => {
62
60
  event.stopPropagation();
63
- onRangePositionChange('start');
61
+ setRangePosition('start');
64
62
  if (!readOnly && !disableOpenPicker) {
65
63
  event.preventDefault();
66
- setOpen(true);
64
+ contextValue.setOpen(true);
67
65
  }
68
66
  };
69
67
  const openRangeEndSelection = event => {
70
68
  event.stopPropagation();
71
- onRangePositionChange('end');
69
+ setRangePosition('end');
72
70
  if (!readOnly && !disableOpenPicker) {
73
71
  event.preventDefault();
74
- setOpen(true);
72
+ contextValue.setOpen(true);
75
73
  }
76
74
  };
77
75
  const handleFocusStart = () => {
78
- if (open) {
79
- onRangePositionChange('start');
76
+ if (contextValue.open) {
77
+ setRangePosition('start');
80
78
  if (previousRangePosition.current !== 'start' && initialView) {
81
- onViewChange?.(initialView);
79
+ contextValue.setView?.(initialView);
82
80
  }
83
81
  }
84
82
  };
85
83
  const handleFocusEnd = () => {
86
- if (open) {
87
- onRangePositionChange('end');
84
+ if (contextValue.open) {
85
+ setRangePosition('end');
88
86
  if (previousRangePosition.current !== 'end' && initialView) {
89
- onViewChange?.(initialView);
87
+ contextValue.setView?.(initialView);
90
88
  }
91
89
  }
92
90
  };
@@ -105,8 +103,8 @@ const useMultiInputFieldSlotProps = ({
105
103
  label: inLocaleText?.start ?? translations.start,
106
104
  onKeyDown: (0, _internals.onSpaceOrEnter)(openRangeStartSelection),
107
105
  onFocus: handleFocusStart,
108
- focused: open ? rangePosition === 'start' : undefined
109
- }, !readOnly && !fieldProps.disabled && {
106
+ focused: contextValue.open ? rangePosition === 'start' : undefined
107
+ }, !readOnly && !contextValue.disabled && {
110
108
  onClick: openRangeStartSelection
111
109
  }, variant === 'mobile' && {
112
110
  readOnly: true
@@ -121,8 +119,8 @@ const useMultiInputFieldSlotProps = ({
121
119
  label: inLocaleText?.end ?? translations.end,
122
120
  onKeyDown: (0, _internals.onSpaceOrEnter)(openRangeEndSelection),
123
121
  onFocus: handleFocusEnd,
124
- focused: open ? rangePosition === 'end' : undefined
125
- }, !readOnly && !fieldProps.disabled && {
122
+ focused: contextValue.open ? rangePosition === 'end' : undefined
123
+ }, !readOnly && !contextValue.disabled && {
126
124
  onClick: openRangeEndSelection
127
125
  }, variant === 'mobile' && {
128
126
  readOnly: true
@@ -153,29 +151,29 @@ const useMultiInputFieldSlotProps = ({
153
151
  slots,
154
152
  slotProps
155
153
  });
156
- return enrichedFieldProps;
154
+ return {
155
+ fieldProps: enrichedFieldProps,
156
+ fieldPrivateContextValue: {}
157
+ };
157
158
  };
158
159
  const useSingleInputFieldSlotProps = ({
160
+ contextValue,
161
+ fieldPrivateContextValue,
159
162
  variant,
160
- open,
161
- setOpen,
162
163
  readOnly,
163
164
  labelId,
164
165
  disableOpenPicker,
165
166
  label,
166
167
  onBlur,
167
168
  rangePosition,
168
- onRangePositionChange,
169
+ setRangePosition,
169
170
  singleInputFieldRef,
170
- pickerSlots,
171
- pickerSlotProps,
172
171
  fieldProps,
173
- anchorRef,
174
172
  currentView
175
173
  }) => {
176
174
  const handleFieldRef = (0, _useForkRef.default)(fieldProps.unstableFieldRef, singleInputFieldRef);
177
175
  React.useEffect(() => {
178
- if (!open || !singleInputFieldRef.current || variant === 'mobile') {
176
+ if (!contextValue.open || !singleInputFieldRef.current || variant === 'mobile') {
179
177
  return;
180
178
  }
181
179
  if (singleInputFieldRef.current.isFieldFocused()) {
@@ -188,7 +186,7 @@ const useSingleInputFieldSlotProps = ({
188
186
  const newSelectedSection = rangePosition === 'start' ? sections.indexOf(currentView) : sections.lastIndexOf(currentView);
189
187
  singleInputFieldRef.current?.focusField(newSelectedSection);
190
188
  }
191
- }, [rangePosition, open, currentView, singleInputFieldRef, variant]);
189
+ }, [rangePosition, contextValue.open, currentView, singleInputFieldRef, variant]);
192
190
  const updateRangePosition = () => {
193
191
  if (!singleInputFieldRef.current?.isFieldFocused()) {
194
192
  return;
@@ -197,52 +195,41 @@ const useSingleInputFieldSlotProps = ({
197
195
  const activeSectionIndex = singleInputFieldRef.current?.getActiveSectionIndex();
198
196
  const domRangePosition = activeSectionIndex == null || activeSectionIndex < sections.length / 2 ? 'start' : 'end';
199
197
  if (domRangePosition != null && domRangePosition !== rangePosition) {
200
- onRangePositionChange(domRangePosition);
198
+ setRangePosition(domRangePosition);
201
199
  }
202
200
  };
203
201
  const handleSelectedSectionsChange = (0, _useEventCallback.default)(selectedSection => {
204
202
  setTimeout(updateRangePosition);
205
- fieldProps.onSelectedSectionsChange?.(selectedSection);
203
+ fieldPrivateContextValue.onSelectedSectionsChange?.(selectedSection);
206
204
  });
207
205
  const openPicker = event => {
208
206
  event.stopPropagation();
209
207
  if (!readOnly && !disableOpenPicker) {
210
208
  event.preventDefault();
211
- setOpen(true);
209
+ contextValue.setOpen(true);
212
210
  }
213
211
  };
214
- const slots = (0, _extends2.default)({}, fieldProps.slots, {
215
- textField: pickerSlots?.textField,
216
- clearButton: pickerSlots?.clearButton,
217
- clearIcon: pickerSlots?.clearIcon
218
- });
219
- const slotProps = (0, _extends2.default)({}, fieldProps.slotProps, {
220
- textField: pickerSlotProps?.textField,
221
- clearButton: pickerSlotProps?.clearButton,
222
- clearIcon: pickerSlotProps?.clearIcon
223
- });
224
212
  const enrichedFieldProps = (0, _extends2.default)({}, fieldProps, {
225
- slots,
226
- slotProps,
227
213
  label,
228
214
  unstableFieldRef: handleFieldRef,
229
215
  onKeyDown: (0, _internals.onSpaceOrEnter)(openPicker, fieldProps.onKeyDown),
230
- onSelectedSectionsChange: handleSelectedSectionsChange,
231
216
  onBlur,
232
- InputProps: (0, _extends2.default)({
233
- ref: anchorRef
234
- }, fieldProps?.InputProps),
235
- focused: open ? true : undefined
217
+ focused: contextValue.open ? true : undefined
236
218
  }, labelId != null && {
237
219
  id: labelId
238
220
  }, variant === 'mobile' && {
239
221
  readOnly: true
240
- }, !readOnly && !fieldProps.disabled && {
222
+ }, !readOnly && !contextValue.disabled && {
241
223
  onClick: openPicker
242
224
  });
243
- return enrichedFieldProps;
225
+ return {
226
+ fieldProps: enrichedFieldProps,
227
+ fieldPrivateContextValue: {
228
+ onSelectedSectionsChange: handleSelectedSectionsChange
229
+ }
230
+ };
244
231
  };
245
- const useEnrichedRangePickerFieldProps = params => {
232
+ const useEnrichedRangePickerField = params => {
246
233
  /* eslint-disable react-hooks/rules-of-hooks */
247
234
  if (process.env.NODE_ENV !== 'production') {
248
235
  const fieldTypeRef = React.useRef(params.fieldType);
@@ -256,4 +243,4 @@ const useEnrichedRangePickerFieldProps = params => {
256
243
  return useSingleInputFieldSlotProps(params);
257
244
  /* eslint-enable react-hooks/rules-of-hooks */
258
245
  };
259
- exports.useEnrichedRangePickerFieldProps = useEnrichedRangePickerFieldProps;
246
+ exports.useEnrichedRangePickerField = useEnrichedRangePickerField;
@@ -15,9 +15,10 @@ var _PickersLayout = require("@mui/x-date-pickers/PickersLayout");
15
15
  var _internals = require("@mui/x-date-pickers/internals");
16
16
  var _hooks = require("@mui/x-date-pickers/hooks");
17
17
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
18
- var _useEnrichedRangePickerFieldProps = require("../useEnrichedRangePickerFieldProps");
18
+ var _useEnrichedRangePickerField = require("../useEnrichedRangePickerField");
19
19
  var _releaseInfo = require("../../utils/releaseInfo");
20
20
  var _useRangePosition = require("../useRangePosition");
21
+ var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  const _excluded = ["props"];
23
24
  const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
@@ -32,17 +33,10 @@ const useMobileRangePicker = _ref => {
32
33
  slotProps: innerSlotProps,
33
34
  className,
34
35
  sx,
35
- format,
36
- formatDensity,
37
- enableAccessibleFieldDOMStructure,
38
- selectedSections,
39
- onSelectedSectionsChange,
40
- timezone,
41
36
  label,
42
37
  inputRef,
43
38
  name,
44
39
  readOnly,
45
- disabled,
46
40
  disableOpenPicker,
47
41
  localeText
48
42
  } = props;
@@ -50,37 +44,31 @@ const useMobileRangePicker = _ref => {
50
44
  const endFieldRef = React.useRef(null);
51
45
  const singleInputFieldRef = React.useRef(null);
52
46
  const fieldType = slots.field.fieldType ?? 'multi-input';
53
- const {
54
- rangePosition,
55
- onRangePositionChange
56
- } = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
47
+ const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
57
48
  const labelId = (0, _useId.default)();
58
49
  const contextTranslations = (0, _hooks.usePickerTranslations)();
59
50
  let fieldRef;
60
51
  if (fieldType === 'single-input') {
61
52
  fieldRef = singleInputFieldRef;
62
- } else if (rangePosition === 'start') {
53
+ } else if (rangePositionResponse.rangePosition === 'start') {
63
54
  fieldRef = startFieldRef;
64
55
  } else {
65
56
  fieldRef = endFieldRef;
66
57
  }
67
58
  const {
68
- layoutProps,
69
59
  providerProps,
70
60
  renderCurrentView,
71
- fieldProps: pickerFieldProps,
72
61
  ownerState
73
62
  } = (0, _internals.usePicker)((0, _extends2.default)({}, pickerParams, {
74
63
  props,
75
64
  variant: 'mobile',
76
65
  autoFocusView: true,
77
66
  fieldRef,
78
- localeText,
79
- additionalViewProps: {
80
- rangePosition,
81
- onRangePositionChange
82
- }
67
+ localeText
83
68
  }));
69
+
70
+ // Temporary hack to hide the opening button on the range pickers until we have migrate them to the new opening logic.
71
+ providerProps.contextValue.triggerStatus = 'hidden';
84
72
  const Field = slots.field;
85
73
  const fieldProps = (0, _useSlotProps.default)({
86
74
  elementType: Field,
@@ -88,16 +76,6 @@ const useMobileRangePicker = _ref => {
88
76
  additionalProps: (0, _extends2.default)({
89
77
  // Internal props
90
78
  readOnly: readOnly ?? true,
91
- disabled,
92
- format,
93
- formatDensity,
94
- enableAccessibleFieldDOMStructure,
95
- selectedSections,
96
- onSelectedSectionsChange,
97
- timezone
98
- }, pickerFieldProps, {
99
- // onChange and value
100
-
101
79
  // Forwarded props
102
80
  className,
103
81
  sx
@@ -109,37 +87,24 @@ const useMobileRangePicker = _ref => {
109
87
  ownerState
110
88
  });
111
89
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
112
- const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)({
90
+ const enrichedFieldResponse = (0, _useEnrichedRangePickerField.useEnrichedRangePickerField)((0, _extends2.default)({
113
91
  variant: 'mobile',
114
92
  fieldType,
115
93
  // These direct access to `providerProps` will go away once the range fields handle the picker opening
116
- open: providerProps.contextValue.open,
117
- setOpen: providerProps.contextValue.setOpen,
94
+ contextValue: providerProps.contextValue,
95
+ fieldPrivateContextValue: providerProps.fieldPrivateContextValue,
118
96
  readOnly,
119
97
  labelId,
120
98
  disableOpenPicker,
121
99
  label,
122
100
  localeText,
123
- rangePosition,
124
- onRangePositionChange,
125
101
  pickerSlots: slots,
126
102
  pickerSlotProps: innerSlotProps,
127
103
  fieldProps,
128
104
  startFieldRef,
129
105
  endFieldRef,
130
106
  singleInputFieldRef
131
- });
132
- const slotPropsForLayout = (0, _extends2.default)({}, innerSlotProps, {
133
- tabs: (0, _extends2.default)({}, innerSlotProps?.tabs, {
134
- rangePosition,
135
- onRangePositionChange
136
- }),
137
- toolbar: (0, _extends2.default)({}, innerSlotProps?.toolbar, {
138
- titleId: labelId,
139
- rangePosition,
140
- onRangePositionChange
141
- })
142
- });
107
+ }, rangePositionResponse));
143
108
  const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
144
109
  const finalLocaleText = (0, _extends2.default)({}, contextTranslations, localeText);
145
110
  let labelledById = pickerParams.valueType === 'date-time' ? `${labelId}-start-toolbar ${labelId}-end-toolbar` : labelId;
@@ -158,20 +123,32 @@ const useMobileRangePicker = _ref => {
158
123
  labelledById = labels.length > 0 ? labels.join(' ') : undefined;
159
124
  }
160
125
  const slotProps = (0, _extends2.default)({}, innerSlotProps, {
126
+ toolbar: (0, _extends2.default)({}, innerSlotProps?.toolbar, {
127
+ titleId: labelId
128
+ }),
161
129
  mobilePaper: (0, _extends2.default)({
162
130
  'aria-labelledby': labelledById
163
131
  }, innerSlotProps?.mobilePaper)
164
132
  });
165
- const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
166
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersModalDialog, {
133
+ const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
134
+ // This override will go away once the range fields handle the picker opening
135
+ fieldPrivateContextValue: (0, _extends2.default)({}, providerProps.fieldPrivateContextValue, enrichedFieldResponse.fieldPrivateContextValue),
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerFieldUIContextProvider, {
167
137
  slots: slots,
168
138
  slotProps: slotProps,
169
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
170
- slots: slots,
171
- slotProps: slotPropsForLayout,
172
- children: renderCurrentView()
173
- }))
174
- })]
139
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_usePickerRangePositionContext.PickerRangePositionContext.Provider, {
140
+ value: rangePositionResponse,
141
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldResponse.fieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersModalDialog, {
142
+ slots: slots,
143
+ slotProps: slotProps,
144
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
145
+ slots: slots,
146
+ slotProps: slotProps,
147
+ children: renderCurrentView()
148
+ }))
149
+ })]
150
+ })
151
+ })
175
152
  }));
176
153
  return {
177
154
  renderPicker
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useNullablePickerRangePositionContext = useNullablePickerRangePositionContext;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _usePickerRangePositionContext = require("../../hooks/usePickerRangePositionContext");
10
+ /**
11
+ * Returns information about the range position of the picker that wraps the current component.
12
+ * If no picker wraps the current component, returns `null`.
13
+ */
14
+ function useNullablePickerRangePositionContext() {
15
+ return React.useContext(_usePickerRangePositionContext.PickerRangePositionContext);
16
+ }
@@ -32,7 +32,7 @@ const useRangePosition = (props, singleInputFieldRef) => {
32
32
  });
33
33
  return {
34
34
  rangePosition,
35
- onRangePositionChange: handleRangePositionChange
35
+ setRangePosition: handleRangePositionChange
36
36
  };
37
37
  };
38
38
  exports.useRangePosition = useRangePosition;