@mui/x-date-pickers-pro 8.0.0-alpha.0 → 8.0.0-alpha.10

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 (292) 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 +2215 -119
  8. package/DateRangeCalendar/DateRangeCalendar.js +18 -14
  9. package/DateRangePicker/DateRangePicker.js +1 -4
  10. package/DateRangePicker/DateRangePicker.types.d.ts +6 -2
  11. package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -3
  12. package/DateRangePicker/DateRangePickerToolbar.js +33 -53
  13. package/DateRangePicker/shared.d.ts +4 -3
  14. package/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  15. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +1 -2
  16. package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +4 -5
  17. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
  18. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
  19. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  20. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -5
  21. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +85 -123
  22. package/DateTimeRangePicker/shared.d.ts +6 -5
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  24. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +7 -2
  25. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  26. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +2 -3
  27. package/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  28. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +2 -2
  29. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  30. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +2 -3
  31. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +9 -4
  32. package/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
  33. package/MultiInputDateRangeField/index.d.ts +5 -3
  34. package/MultiInputDateRangeField/index.js +2 -2
  35. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +6 -0
  36. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  37. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +9 -4
  38. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
  39. package/MultiInputDateTimeRangeField/index.d.ts +5 -3
  40. package/MultiInputDateTimeRangeField/index.js +2 -2
  41. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +6 -0
  42. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  43. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +9 -4
  44. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
  45. package/MultiInputTimeRangeField/index.d.ts +5 -3
  46. package/MultiInputTimeRangeField/index.js +2 -2
  47. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +6 -0
  48. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  49. package/README.md +10 -7
  50. package/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  51. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -16
  52. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  53. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  54. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  55. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -17
  56. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  57. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  58. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  59. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -17
  60. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  61. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  62. package/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  63. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +2 -2
  64. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
  65. package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  66. package/hooks/index.d.ts +2 -0
  67. package/hooks/index.js +2 -0
  68. package/hooks/package.json +6 -0
  69. package/hooks/useMultiInputRangeField/index.d.ts +1 -0
  70. package/hooks/useMultiInputRangeField/index.js +1 -0
  71. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
  72. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  73. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +17 -0
  74. package/{modern/internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  75. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
  76. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  77. package/hooks/usePickerRangePositionContext.d.ts +7 -0
  78. package/hooks/usePickerRangePositionContext.js +15 -0
  79. package/index.d.ts +2 -0
  80. package/index.js +4 -2
  81. package/internals/hooks/models/index.d.ts +1 -1
  82. package/internals/hooks/models/useRangePicker.d.ts +8 -11
  83. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +70 -102
  84. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +8 -10
  85. package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +26 -17
  86. package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +55 -68
  87. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +59 -82
  88. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -9
  89. package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
  90. package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  91. package/internals/hooks/useRangePosition.d.ts +4 -3
  92. package/internals/hooks/useRangePosition.js +1 -1
  93. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  94. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +18 -31
  95. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -12
  96. package/internals/models/dateTimeRange.d.ts +1 -6
  97. package/internals/models/fields.d.ts +7 -11
  98. package/internals/models/index.d.ts +0 -1
  99. package/internals/models/index.js +0 -1
  100. package/internals/models/managers.d.ts +3 -0
  101. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
  102. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  103. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
  104. package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
  105. package/internals/utils/createMultiInputRangeField/index.js +2 -0
  106. package/internals/utils/date-fields-utils.d.ts +6 -6
  107. package/internals/utils/date-range-manager.d.ts +2 -1
  108. package/internals/utils/date-range-manager.js +13 -10
  109. package/internals/utils/releaseInfo.js +1 -1
  110. package/internals/utils/valueManagers.d.ts +4 -3
  111. package/internals/utils/valueManagers.js +7 -7
  112. package/managers/index.d.ts +6 -0
  113. package/managers/index.js +3 -0
  114. package/managers/package.json +6 -0
  115. package/managers/useDateRangeManager.d.ts +15 -0
  116. package/managers/useDateRangeManager.js +33 -0
  117. package/managers/useDateTimeRangeManager.d.ts +15 -0
  118. package/managers/useDateTimeRangeManager.js +33 -0
  119. package/managers/useTimeRangeManager.d.ts +15 -0
  120. package/managers/useTimeRangeManager.js +31 -0
  121. package/models/fields.d.ts +7 -11
  122. package/models/index.d.ts +1 -2
  123. package/models/index.js +1 -2
  124. package/models/range.d.ts +0 -2
  125. package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  126. package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  127. package/modern/DateRangeCalendar/DateRangeCalendar.js +18 -14
  128. package/modern/DateRangePicker/DateRangePicker.js +1 -4
  129. package/modern/DateRangePicker/DateRangePickerToolbar.js +33 -53
  130. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  131. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
  132. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  133. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +85 -123
  134. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  135. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  136. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  137. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  138. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
  139. package/modern/MultiInputDateRangeField/index.js +2 -2
  140. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  141. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
  142. package/modern/MultiInputDateTimeRangeField/index.js +2 -2
  143. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  144. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
  145. package/modern/MultiInputTimeRangeField/index.js +2 -2
  146. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  147. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  148. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  149. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  150. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  151. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  152. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  153. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  154. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  155. package/modern/hooks/index.js +2 -0
  156. package/modern/hooks/useMultiInputRangeField/index.js +1 -0
  157. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  158. package/{internals/hooks/useMultiInputFieldSelectedSections.js → modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  159. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  160. package/modern/hooks/usePickerRangePositionContext.js +15 -0
  161. package/modern/index.js +4 -2
  162. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +70 -102
  163. package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +55 -68
  164. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +59 -82
  165. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  166. package/modern/internals/hooks/useRangePosition.js +1 -1
  167. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +18 -31
  168. package/modern/internals/models/index.js +0 -1
  169. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  170. package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
  171. package/modern/internals/utils/date-range-manager.js +13 -10
  172. package/modern/internals/utils/releaseInfo.js +1 -1
  173. package/modern/internals/utils/valueManagers.js +7 -7
  174. package/modern/managers/index.js +3 -0
  175. package/modern/managers/useDateRangeManager.js +33 -0
  176. package/modern/managers/useDateTimeRangeManager.js +33 -0
  177. package/modern/managers/useTimeRangeManager.js +31 -0
  178. package/modern/models/index.js +1 -2
  179. package/modern/validation/validateDateRange.js +8 -0
  180. package/modern/validation/validateDateTimeRange.js +4 -0
  181. package/modern/validation/validateTimeRange.js +8 -0
  182. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  183. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  184. package/node/DateRangeCalendar/DateRangeCalendar.js +17 -13
  185. package/node/DateRangePicker/DateRangePicker.js +1 -4
  186. package/node/DateRangePicker/DateRangePickerToolbar.js +31 -51
  187. package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  188. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +33 -31
  189. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  190. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +83 -121
  191. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  192. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  193. package/node/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  194. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  195. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -124
  196. package/node/MultiInputDateRangeField/index.js +3 -9
  197. package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
  198. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -124
  199. package/node/MultiInputDateTimeRangeField/index.js +3 -9
  200. package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
  201. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -125
  202. package/node/MultiInputTimeRangeField/index.js +3 -9
  203. package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
  204. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +22 -32
  205. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  206. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +22 -32
  207. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  208. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +22 -32
  209. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  210. package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  211. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  212. package/node/hooks/index.js +19 -0
  213. package/node/hooks/useMultiInputRangeField/index.js +12 -0
  214. package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
  215. package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
  216. package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
  217. package/node/hooks/usePickerRangePositionContext.js +22 -0
  218. package/node/index.js +23 -1
  219. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +70 -102
  220. package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +57 -70
  221. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +59 -82
  222. package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
  223. package/node/internals/hooks/useRangePosition.js +1 -1
  224. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
  225. package/node/internals/models/index.js +0 -11
  226. package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +143 -0
  227. package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
  228. package/node/internals/utils/date-range-manager.js +13 -10
  229. package/node/internals/utils/releaseInfo.js +1 -1
  230. package/node/internals/utils/valueManagers.js +7 -7
  231. package/node/managers/index.js +26 -0
  232. package/node/managers/useDateRangeManager.js +40 -0
  233. package/node/managers/useDateTimeRangeManager.js +40 -0
  234. package/node/managers/useTimeRangeManager.js +38 -0
  235. package/node/models/index.js +0 -22
  236. package/node/validation/validateDateRange.js +8 -0
  237. package/node/validation/validateDateTimeRange.js +4 -0
  238. package/node/validation/validateTimeRange.js +8 -0
  239. package/package.json +8 -8
  240. package/themeAugmentation/overrides.d.ts +6 -4
  241. package/themeAugmentation/props.d.ts +2 -2
  242. package/validation/validateDateRange.d.ts +9 -1
  243. package/validation/validateDateRange.js +8 -0
  244. package/validation/validateDateTimeRange.d.ts +6 -2
  245. package/validation/validateDateTimeRange.js +4 -0
  246. package/validation/validateTimeRange.d.ts +9 -1
  247. package/validation/validateTimeRange.js +8 -0
  248. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -53
  249. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -54
  250. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -54
  251. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -21
  252. package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
  253. package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  254. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
  255. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -111
  256. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
  257. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -111
  258. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
  259. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
  260. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -111
  261. package/internals/models/timeRange.d.ts +0 -6
  262. package/internals/models/timeRange.js +0 -1
  263. package/models/dateRange.d.ts +0 -7
  264. package/models/dateRange.js +0 -1
  265. package/models/multiInputRangeFieldClasses.d.ts +0 -7
  266. package/models/multiInputRangeFieldClasses.js +0 -1
  267. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  268. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  269. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  270. package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  271. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -111
  272. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -111
  273. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  274. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -111
  275. package/modern/internals/models/timeRange.js +0 -1
  276. package/modern/models/dateRange.js +0 -1
  277. package/modern/models/multiInputRangeFieldClasses.js +0 -1
  278. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
  279. package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
  280. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -119
  281. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -119
  282. package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
  283. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -119
  284. package/node/internals/models/timeRange.js +0 -5
  285. package/node/models/dateRange.js +0 -5
  286. package/node/models/multiInputRangeFieldClasses.js +0 -5
  287. /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  288. /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  289. /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
  290. /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  291. /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  292. /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
@@ -9,17 +9,19 @@ exports.useMobileRangePicker = void 0;
9
9
  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
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
12
+ var _useSlotProps2 = _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
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
- const _excluded = ["props"];
23
+ const _excluded = ["props"],
24
+ _excluded2 = ["ownerState"];
23
25
  const releaseInfo = (0, _releaseInfo.getReleaseInfo)();
24
26
  const useMobileRangePicker = _ref => {
25
27
  let {
@@ -30,107 +32,70 @@ const useMobileRangePicker = _ref => {
30
32
  const {
31
33
  slots,
32
34
  slotProps: innerSlotProps,
33
- className,
34
- sx,
35
- format,
36
- formatDensity,
37
- enableAccessibleFieldDOMStructure,
38
- selectedSections,
39
- onSelectedSectionsChange,
40
- timezone,
41
35
  label,
42
36
  inputRef,
43
- name,
44
37
  readOnly,
45
- disabled,
46
38
  disableOpenPicker,
47
39
  localeText
48
40
  } = props;
49
41
  const startFieldRef = React.useRef(null);
50
42
  const endFieldRef = React.useRef(null);
43
+ const singleInputFieldRef = React.useRef(null);
51
44
  const fieldType = slots.field.fieldType ?? 'multi-input';
52
- const {
53
- rangePosition,
54
- onRangePositionChange
55
- } = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? startFieldRef : undefined);
45
+ const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props, fieldType === 'single-input' ? singleInputFieldRef : undefined);
56
46
  const labelId = (0, _useId.default)();
57
47
  const contextTranslations = (0, _hooks.usePickerTranslations)();
48
+ let fieldRef;
49
+ if (fieldType === 'single-input') {
50
+ fieldRef = singleInputFieldRef;
51
+ } else if (rangePositionResponse.rangePosition === 'start') {
52
+ fieldRef = startFieldRef;
53
+ } else {
54
+ fieldRef = endFieldRef;
55
+ }
58
56
  const {
59
- open,
60
- actions,
61
- layoutProps,
62
57
  providerProps,
63
58
  renderCurrentView,
64
- fieldProps: pickerFieldProps,
65
59
  ownerState
66
60
  } = (0, _internals.usePicker)((0, _extends2.default)({}, pickerParams, {
67
61
  props,
68
- wrapperVariant: 'mobile',
62
+ variant: 'mobile',
69
63
  autoFocusView: true,
70
- fieldRef: rangePosition === 'start' ? startFieldRef : endFieldRef,
71
- localeText,
72
- additionalViewProps: {
73
- rangePosition,
74
- onRangePositionChange
75
- }
64
+ fieldRef,
65
+ localeText
76
66
  }));
77
- const Field = slots.field;
78
- const fieldProps = (0, _useSlotProps.default)({
79
- elementType: Field,
80
- externalSlotProps: innerSlotProps?.field,
81
- additionalProps: (0, _extends2.default)({
82
- // Internal props
83
- readOnly: readOnly ?? true,
84
- disabled,
85
- format,
86
- formatDensity,
87
- enableAccessibleFieldDOMStructure,
88
- selectedSections,
89
- onSelectedSectionsChange,
90
- timezone
91
- }, pickerFieldProps, {
92
- // onChange and value
93
67
 
94
- // Forwarded props
95
- className,
96
- sx
97
- }, fieldType === 'single-input' && !!inputRef && {
98
- inputRef
99
- }, fieldType === 'single-input' && {
100
- name
68
+ // Temporary hack to hide the opening button on the range pickers until we have migrate them to the new opening logic.
69
+ providerProps.contextValue.triggerStatus = 'hidden';
70
+ const Field = slots.field;
71
+ const _useSlotProps = (0, _useSlotProps2.default)({
72
+ elementType: Field,
73
+ externalSlotProps: innerSlotProps?.field,
74
+ additionalProps: {
75
+ // Internal props
76
+ readOnly: readOnly ?? true
77
+ },
78
+ ownerState
101
79
  }),
102
- ownerState
103
- });
80
+ fieldProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded2);
104
81
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
105
- const enrichedFieldProps = (0, _useEnrichedRangePickerFieldProps.useEnrichedRangePickerFieldProps)({
106
- wrapperVariant: 'mobile',
82
+ const enrichedFieldResponse = (0, _useEnrichedRangePickerField.useEnrichedRangePickerField)((0, _extends2.default)({
83
+ variant: 'mobile',
107
84
  fieldType,
108
- open,
109
- actions,
85
+ // These direct access to `providerProps` will go away once the range fields handle the picker opening
86
+ contextValue: providerProps.contextValue,
87
+ fieldPrivateContextValue: providerProps.fieldPrivateContextValue,
110
88
  readOnly,
111
89
  labelId,
112
90
  disableOpenPicker,
113
- label,
114
91
  localeText,
115
- rangePosition,
116
- onRangePositionChange,
117
92
  pickerSlots: slots,
118
93
  pickerSlotProps: innerSlotProps,
119
94
  fieldProps,
120
95
  startFieldRef,
121
- endFieldRef
122
- });
123
- const slotPropsForLayout = (0, _extends2.default)({}, innerSlotProps, {
124
- tabs: (0, _extends2.default)({}, innerSlotProps?.tabs, {
125
- rangePosition,
126
- onRangePositionChange
127
- }),
128
- toolbar: (0, _extends2.default)({}, innerSlotProps?.toolbar, {
129
- titleId: labelId,
130
- rangePosition,
131
- onRangePositionChange
132
- })
133
- });
96
+ endFieldRef,
97
+ singleInputFieldRef
98
+ }, rangePositionResponse));
134
99
  const Layout = slots?.layout ?? _PickersLayout.PickersLayout;
135
100
  const finalLocaleText = (0, _extends2.default)({}, contextTranslations, localeText);
136
101
  let labelledById = pickerParams.valueType === 'date-time' ? `${labelId}-start-toolbar ${labelId}-end-toolbar` : labelId;
@@ -149,21 +114,33 @@ const useMobileRangePicker = _ref => {
149
114
  labelledById = labels.length > 0 ? labels.join(' ') : undefined;
150
115
  }
151
116
  const slotProps = (0, _extends2.default)({}, innerSlotProps, {
117
+ toolbar: (0, _extends2.default)({}, innerSlotProps?.toolbar, {
118
+ titleId: labelId
119
+ }),
152
120
  mobilePaper: (0, _extends2.default)({
153
121
  'aria-labelledby': labelledById
154
122
  }, innerSlotProps?.mobilePaper)
155
123
  });
156
- const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
157
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersModalDialog, (0, _extends2.default)({}, actions, {
158
- open: open,
124
+ const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
125
+ // This override will go away once the range fields handle the picker opening
126
+ fieldPrivateContextValue: (0, _extends2.default)({}, providerProps.fieldPrivateContextValue, enrichedFieldResponse.fieldPrivateContextValue),
127
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerFieldUIContextProvider, {
159
128
  slots: slots,
160
129
  slotProps: slotProps,
161
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
162
- slots: slots,
163
- slotProps: slotPropsForLayout,
164
- children: renderCurrentView()
165
- }))
166
- }))]
130
+ inputRef: inputRef,
131
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_usePickerRangePositionContext.PickerRangePositionContext.Provider, {
132
+ value: rangePositionResponse,
133
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, enrichedFieldResponse.fieldProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickersModalDialog, {
134
+ slots: slots,
135
+ slotProps: slotProps,
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
137
+ slots: slots,
138
+ slotProps: slotProps,
139
+ children: renderCurrentView()
140
+ }))
141
+ })]
142
+ })
143
+ })
167
144
  }));
168
145
  return {
169
146
  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;
@@ -14,8 +14,9 @@ var _styles = require("@mui/material/styles");
14
14
  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
+ var _usePickerRangePositionContext = require("../../../hooks/usePickerRangePositionContext");
17
18
  var _jsxRuntime = require("react/jsx-runtime");
18
- const _excluded = ["props", "ref"];
19
+ const _excluded = ["props"];
19
20
  const PickerStaticLayout = (0, _styles.styled)(_PickersLayout.PickersLayout)(({
20
21
  theme
21
22
  }) => ({
@@ -30,25 +31,18 @@ const PickerStaticLayout = (0, _styles.styled)(_PickersLayout.PickersLayout)(({
30
31
  */
31
32
  const useStaticRangePicker = _ref => {
32
33
  let {
33
- props,
34
- ref
34
+ props
35
35
  } = _ref,
36
36
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
37
37
  const {
38
38
  localeText,
39
39
  slots,
40
40
  slotProps,
41
- className,
42
- sx,
43
41
  displayStaticWrapperAs,
44
42
  autoFocus
45
43
  } = props;
44
+ const rangePositionResponse = (0, _useRangePosition.useRangePosition)(props);
46
45
  const {
47
- rangePosition,
48
- onRangePositionChange
49
- } = (0, _useRangePosition.useRangePosition)(props);
50
- const {
51
- layoutProps,
52
46
  providerProps,
53
47
  renderCurrentView
54
48
  } = (0, _internals.usePicker)((0, _extends2.default)({}, pickerParams, {
@@ -56,29 +50,22 @@ const useStaticRangePicker = _ref => {
56
50
  autoFocusView: autoFocus ?? false,
57
51
  fieldRef: undefined,
58
52
  localeText,
59
- additionalViewProps: {
60
- rangePosition,
61
- onRangePositionChange
62
- },
63
- wrapperVariant: displayStaticWrapperAs
53
+ variant: displayStaticWrapperAs
64
54
  }));
65
55
  const Layout = slots?.layout ?? PickerStaticLayout;
66
- const slotPropsForLayout = (0, _extends2.default)({}, slotProps, {
67
- toolbar: (0, _extends2.default)({}, slotProps?.toolbar, {
68
- rangePosition,
69
- onRangePositionChange
70
- })
71
- });
72
- const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
73
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
74
- slots: slots,
75
- slotProps: slotPropsForLayout,
76
- sx: [...(Array.isArray(sx) ? sx : [sx]), ...(Array.isArray(slotProps?.layout?.sx) ? slotProps.layout.sx : [slotProps?.layout?.sx])],
77
- className: (0, _clsx.default)(className, slotProps?.layout?.className),
78
- ref: ref,
79
- children: renderCurrentView()
56
+ const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_usePickerRangePositionContext.PickerRangePositionContext.Provider, {
57
+ value: rangePositionResponse,
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_internals.PickerProvider, (0, _extends2.default)({}, providerProps, {
59
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
60
+ slots: slots,
61
+ slotProps: slotProps,
62
+ sx: (0, _internals.mergeSx)(providerProps.contextValue.rootSx, slotProps?.layout?.sx),
63
+ className: (0, _clsx.default)(providerProps.contextValue.rootClassName, slotProps?.layout?.className),
64
+ ref: providerProps.contextValue.rootRef,
65
+ children: renderCurrentView()
66
+ }))
80
67
  }))
81
- }));
68
+ });
82
69
  return {
83
70
  renderPicker
84
71
  };
@@ -25,17 +25,6 @@ Object.keys(_dateTimeRange).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
- var _timeRange = require("./timeRange");
29
- Object.keys(_timeRange).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _timeRange[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _timeRange[key];
36
- }
37
- });
38
- });
39
28
  var _rangePickerProps = require("./rangePickerProps");
40
29
  Object.keys(_rangePickerProps).forEach(function (key) {
41
30
  if (key === "default" || key === "__esModule") return;
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.createMultiInputRangeField = createMultiInputRangeField;
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var React = _interopRequireWildcard(require("react"));
13
+ var _clsx = _interopRequireDefault(require("clsx"));
14
+ var _Stack = _interopRequireDefault(require("@mui/material/Stack"));
15
+ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
16
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
17
+ var _styles = require("@mui/material/styles");
18
+ var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
19
+ var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
20
+ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
21
+ var _internals = require("@mui/x-date-pickers/internals");
22
+ var _hooks = require("@mui/x-date-pickers/hooks");
23
+ var _PickersTextField = require("@mui/x-date-pickers/PickersTextField");
24
+ var _useMultiInputRangeField = require("../../../hooks/useMultiInputRangeField");
25
+ var _jsxRuntime = require("react/jsx-runtime");
26
+ const _excluded = ["slots", "slotProps", "className", "classes"];
27
+ function createMultiInputRangeField({
28
+ useManager,
29
+ name,
30
+ getUtilityClass
31
+ }) {
32
+ const useUtilityClasses = classes => {
33
+ const slots = {
34
+ root: ['root'],
35
+ separator: ['separator']
36
+ };
37
+ return (0, _composeClasses.default)(slots, getUtilityClass, classes);
38
+ };
39
+ const MultiInputRangeFieldRoot = (0, _styles.styled)(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stack.default, (0, _extends2.default)({
40
+ ref: ref,
41
+ spacing: 2,
42
+ direction: "row",
43
+ alignItems: "center"
44
+ }, props))), {
45
+ name,
46
+ slot: 'Root',
47
+ overridesResolver: (props, styles) => styles.root
48
+ })({});
49
+ const MultiInputRangeFieldSeparator = (0, _styles.styled)(_Typography.default, {
50
+ name,
51
+ slot: 'Separator',
52
+ overridesResolver: (props, styles) => styles.separator
53
+ })({
54
+ lineHeight: '1.4375em' // 23px
55
+ });
56
+ const MultiInputRangeField = /*#__PURE__*/React.forwardRef(function MultiInputRangeField(props, ref) {
57
+ const themeProps = (0, _styles.useThemeProps)({
58
+ props,
59
+ // eslint-disable-next-line material-ui/mui-name-matches-component-name
60
+ name
61
+ });
62
+ const manager = useManager({
63
+ enableAccessibleFieldDOMStructure: props.enableAccessibleFieldDOMStructure,
64
+ dateSeparator: props.dateSeparator
65
+ });
66
+ const {
67
+ internalProps,
68
+ forwardedProps
69
+ } = (0, _hooks.useSplitFieldProps)(themeProps, manager.valueType);
70
+ const {
71
+ slots,
72
+ slotProps,
73
+ className,
74
+ classes: classesProp
75
+ } = forwardedProps,
76
+ otherForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(forwardedProps, _excluded);
77
+ const classes = useUtilityClasses(classesProp);
78
+ const ownerState = (0, _internals.useFieldOwnerState)(internalProps);
79
+ const pickerContext = (0, _internals.useNullablePickerContext)();
80
+ const handleRef = (0, _useForkRef.default)(ref, pickerContext?.rootRef);
81
+ const Root = slots?.root ?? MultiInputRangeFieldRoot;
82
+ const rootProps = (0, _useSlotProps.default)({
83
+ elementType: Root,
84
+ externalSlotProps: slotProps?.root,
85
+ externalForwardedProps: otherForwardedProps,
86
+ additionalProps: {
87
+ ref: handleRef
88
+ },
89
+ ownerState,
90
+ className: (0, _clsx.default)(className, classes.root)
91
+ });
92
+ const startTextFieldProps = (0, _useSlotProps.default)({
93
+ elementType: _PickersTextField.PickersTextField,
94
+ externalSlotProps: slotProps?.textField,
95
+ ownerState: (0, _extends2.default)({}, ownerState, {
96
+ position: 'start'
97
+ })
98
+ });
99
+ const endTextFieldProps = (0, _useSlotProps.default)({
100
+ elementType: _PickersTextField.PickersTextField,
101
+ externalSlotProps: slotProps?.textField,
102
+ ownerState: (0, _extends2.default)({}, ownerState, {
103
+ position: 'end'
104
+ })
105
+ });
106
+ const {
107
+ startDate,
108
+ endDate,
109
+ enableAccessibleFieldDOMStructure
110
+ } = (0, _useMultiInputRangeField.useMultiInputRangeField)({
111
+ manager,
112
+ internalProps,
113
+ startForwardedProps: startTextFieldProps,
114
+ endForwardedProps: endTextFieldProps
115
+ });
116
+ const Separator = slots?.separator ?? MultiInputRangeFieldSeparator;
117
+ const separatorProps = (0, _useSlotProps.default)({
118
+ elementType: Separator,
119
+ externalSlotProps: slotProps?.separator,
120
+ additionalProps: {
121
+ children: internalProps.dateSeparator ?? '–'
122
+ },
123
+ ownerState,
124
+ className: classes.separator
125
+ });
126
+ const {
127
+ textFieldProps: startDateProps
128
+ } = (0, _internals.cleanFieldResponse)(startDate);
129
+ const {
130
+ textFieldProps: endDateProps
131
+ } = (0, _internals.cleanFieldResponse)(endDate);
132
+ const TextField = slots?.textField ?? (enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
133
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
134
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
135
+ fullWidth: true
136
+ }, startDateProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
137
+ fullWidth: true
138
+ }, endDateProps))]
139
+ }));
140
+ });
141
+ MultiInputRangeField.fieldType = 'multi-input';
142
+ return MultiInputRangeField;
143
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "createMultiInputRangeField", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _createMultiInputRangeField.createMultiInputRangeField;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "unstable_useMultiInputRangeField", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useMultiInputRangeField.useMultiInputRangeField;
16
+ }
17
+ });
18
+ var _createMultiInputRangeField = require("./createMultiInputRangeField");
19
+ var _useMultiInputRangeField = require("../../../hooks/useMultiInputRangeField/useMultiInputRangeField");
@@ -12,9 +12,11 @@ function calculateRangeChange({
12
12
  newDate: selectedDate,
13
13
  rangePosition,
14
14
  allowRangeFlip = false,
15
- shouldMergeDateAndTime = false
15
+ shouldMergeDateAndTime = false,
16
+ referenceDate
16
17
  }) {
17
- const [start, end] = range;
18
+ const start = !utils.isValid(range[0]) ? null : range[0];
19
+ const end = !utils.isValid(range[1]) ? null : range[1];
18
20
  if (shouldMergeDateAndTime && selectedDate) {
19
21
  // If there is a date already selected, then we want to keep its time
20
22
  if (start && rangePosition === 'start') {
@@ -24,29 +26,30 @@ function calculateRangeChange({
24
26
  selectedDate = (0, _internals.mergeDateAndTime)(utils, selectedDate, end);
25
27
  }
26
28
  }
29
+ const newSelectedDate = referenceDate && selectedDate && shouldMergeDateAndTime ? (0, _internals.mergeDateAndTime)(utils, selectedDate, referenceDate) : selectedDate;
27
30
  if (rangePosition === 'start') {
28
31
  const truthyResult = allowRangeFlip ? {
29
32
  nextSelection: 'start',
30
- newRange: [end, selectedDate]
33
+ newRange: [end, newSelectedDate]
31
34
  } : {
32
35
  nextSelection: 'end',
33
- newRange: [selectedDate, null]
36
+ newRange: [newSelectedDate, null]
34
37
  };
35
- return Boolean(end) && utils.isAfter(selectedDate, end) ? truthyResult : {
38
+ return Boolean(end) && utils.isAfter(newSelectedDate, end) ? truthyResult : {
36
39
  nextSelection: 'end',
37
- newRange: [selectedDate, end]
40
+ newRange: [newSelectedDate, end]
38
41
  };
39
42
  }
40
43
  const truthyResult = allowRangeFlip ? {
41
44
  nextSelection: 'end',
42
- newRange: [selectedDate, start]
45
+ newRange: [newSelectedDate, start]
43
46
  } : {
44
47
  nextSelection: 'end',
45
- newRange: [selectedDate, null]
48
+ newRange: [newSelectedDate, null]
46
49
  };
47
- return Boolean(start) && utils.isBeforeDay(selectedDate, start) ? truthyResult : {
50
+ return Boolean(start) && utils.isBeforeDay(newSelectedDate, start) ? truthyResult : {
48
51
  nextSelection: 'start',
49
- newRange: [start, selectedDate]
52
+ newRange: [start, newSelectedDate]
50
53
  };
51
54
  }
52
55
  function calculateRangePreview(options) {
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getReleaseInfo = void 0;
7
7
  var _utils = require("@mui/utils");
8
8
  const getReleaseInfo = () => {
9
- const releaseInfo = "MTczMTUzODgwMDAwMA==";
9
+ const releaseInfo = "MTczODI5OTYwMDAwMA==";
10
10
  if (process.env.NODE_ENV !== 'production') {
11
11
  // A simple hack to set the value in the test environment (has no build step).
12
12
  // eslint-disable-next-line no-useless-concat
@@ -19,8 +19,8 @@ const rangeValueManager = exports.rangeValueManager = {
19
19
  referenceDate: referenceDateProp
20
20
  } = _ref,
21
21
  params = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
22
- const shouldKeepStartDate = value[0] != null && params.utils.isValid(value[0]);
23
- const shouldKeepEndDate = value[1] != null && params.utils.isValid(value[1]);
22
+ const shouldKeepStartDate = params.utils.isValid(value[0]);
23
+ const shouldKeepEndDate = params.utils.isValid(value[1]);
24
24
  if (shouldKeepStartDate && shouldKeepEndDate) {
25
25
  return value;
26
26
  }
@@ -33,8 +33,8 @@ const rangeValueManager = exports.rangeValueManager = {
33
33
  hasError: error => error[0] != null || error[1] != null,
34
34
  defaultErrorState: [null, null],
35
35
  getTimezone: (utils, value) => {
36
- const timezoneStart = value[0] == null || !utils.isValid(value[0]) ? null : utils.getTimezone(value[0]);
37
- const timezoneEnd = value[1] == null || !utils.isValid(value[1]) ? null : utils.getTimezone(value[1]);
36
+ const timezoneStart = utils.isValid(value[0]) ? utils.getTimezone(value[0]) : null;
37
+ const timezoneEnd = utils.isValid(value[1]) ? utils.getTimezone(value[1]) : null;
38
38
  if (timezoneStart != null && timezoneEnd != null && timezoneStart !== timezoneEnd) {
39
39
  throw new Error('MUI X: The timezone of the start and the end date should be the same.');
40
40
  }
@@ -46,8 +46,8 @@ const getRangeFieldValueManager = ({
46
46
  dateSeparator = '–'
47
47
  }) => ({
48
48
  updateReferenceValue: (utils, value, prevReferenceValue) => {
49
- const shouldKeepStartDate = value[0] != null && utils.isValid(value[0]);
50
- const shouldKeepEndDate = value[1] != null && utils.isValid(value[1]);
49
+ const shouldKeepStartDate = utils.isValid(value[0]);
50
+ const shouldKeepEndDate = utils.isValid(value[1]);
51
51
  if (!shouldKeepStartDate && !shouldKeepEndDate) {
52
52
  return prevReferenceValue;
53
53
  }
@@ -118,7 +118,7 @@ const getRangeFieldValueManager = ({
118
118
  },
119
119
  getNewValuesFromNewActiveDate: newActiveDate => ({
120
120
  value: updateDateInRange(newActiveDate, state.value),
121
- referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : updateDateInRange(newActiveDate, state.referenceValue)
121
+ referenceValue: !utils.isValid(newActiveDate) ? state.referenceValue : updateDateInRange(newActiveDate, state.referenceValue)
122
122
  })
123
123
  };
124
124
  }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useDateRangeManager", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _useDateRangeManager.useDateRangeManager;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useDateTimeRangeManager", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _useDateTimeRangeManager.useDateTimeRangeManager;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "useTimeRangeManager", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _useTimeRangeManager.useTimeRangeManager;
22
+ }
23
+ });
24
+ var _useDateRangeManager = require("./useDateRangeManager");
25
+ var _useTimeRangeManager = require("./useTimeRangeManager");
26
+ var _useDateTimeRangeManager = require("./useDateTimeRangeManager");