@mui/x-date-pickers-pro 8.0.0-alpha.1 → 8.0.0-alpha.11

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 (294) 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 +2007 -230
  8. package/DateRangeCalendar/DateRangeCalendar.js +73 -46
  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 -41
  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 +81 -109
  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 +6 -8
  28. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +2 -2
  29. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -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/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
  50. package/README.md +8 -5
  51. package/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  52. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -16
  53. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  54. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  55. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  56. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -17
  57. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  58. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  59. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  60. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -17
  61. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  62. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  63. package/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  64. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +2 -2
  65. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
  66. package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  67. package/hooks/index.d.ts +2 -0
  68. package/hooks/index.js +2 -0
  69. package/hooks/package.json +6 -0
  70. package/hooks/useMultiInputRangeField/index.d.ts +1 -0
  71. package/hooks/useMultiInputRangeField/index.js +1 -0
  72. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
  73. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  74. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +17 -0
  75. package/{modern/internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  76. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
  77. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  78. package/hooks/usePickerRangePositionContext.d.ts +7 -0
  79. package/hooks/usePickerRangePositionContext.js +15 -0
  80. package/index.d.ts +2 -0
  81. package/index.js +4 -2
  82. package/internals/hooks/models/index.d.ts +1 -1
  83. package/internals/hooks/models/useRangePicker.d.ts +8 -11
  84. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
  85. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +8 -10
  86. package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +25 -16
  87. package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +50 -63
  88. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  89. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -9
  90. package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
  91. package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  92. package/internals/hooks/useRangePosition.d.ts +4 -3
  93. package/internals/hooks/useRangePosition.js +1 -1
  94. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  95. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
  96. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -12
  97. package/internals/models/dateTimeRange.d.ts +1 -6
  98. package/internals/models/fields.d.ts +7 -11
  99. package/internals/models/index.d.ts +0 -1
  100. package/internals/models/index.js +0 -1
  101. package/internals/models/managers.d.ts +3 -0
  102. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
  103. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  104. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
  105. package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
  106. package/internals/utils/createMultiInputRangeField/index.js +2 -0
  107. package/internals/utils/date-fields-utils.d.ts +6 -6
  108. package/internals/utils/date-range-manager.js +2 -1
  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 +73 -46
  128. package/modern/DateRangePicker/DateRangePicker.js +1 -4
  129. package/modern/DateRangePicker/DateRangePickerToolbar.js +33 -41
  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 +81 -109
  134. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  135. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  136. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +6 -8
  137. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -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/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
  148. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  149. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  150. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  151. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  152. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  153. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  154. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  155. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  156. package/modern/hooks/index.js +2 -0
  157. package/modern/hooks/useMultiInputRangeField/index.js +1 -0
  158. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  159. package/{internals/hooks/useMultiInputFieldSelectedSections.js → modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  160. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  161. package/modern/hooks/usePickerRangePositionContext.js +15 -0
  162. package/modern/index.js +4 -2
  163. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
  164. package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +50 -63
  165. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  166. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  167. package/modern/internals/hooks/useRangePosition.js +1 -1
  168. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
  169. package/modern/internals/models/index.js +0 -1
  170. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  171. package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
  172. package/modern/internals/utils/date-range-manager.js +2 -1
  173. package/modern/internals/utils/releaseInfo.js +1 -1
  174. package/modern/internals/utils/valueManagers.js +7 -7
  175. package/modern/managers/index.js +3 -0
  176. package/modern/managers/useDateRangeManager.js +33 -0
  177. package/modern/managers/useDateTimeRangeManager.js +33 -0
  178. package/modern/managers/useTimeRangeManager.js +31 -0
  179. package/modern/models/index.js +1 -2
  180. package/modern/validation/validateDateRange.js +8 -0
  181. package/modern/validation/validateDateTimeRange.js +4 -0
  182. package/modern/validation/validateTimeRange.js +8 -0
  183. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  184. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  185. package/node/DateRangeCalendar/DateRangeCalendar.js +72 -45
  186. package/node/DateRangePicker/DateRangePicker.js +1 -4
  187. package/node/DateRangePicker/DateRangePickerToolbar.js +31 -39
  188. package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  189. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +33 -31
  190. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  191. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +80 -108
  192. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  193. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  194. package/node/MobileDateRangePicker/MobileDateRangePicker.js +6 -8
  195. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +20 -16
  196. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -124
  197. package/node/MultiInputDateRangeField/index.js +3 -9
  198. package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
  199. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -124
  200. package/node/MultiInputDateTimeRangeField/index.js +3 -9
  201. package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
  202. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -125
  203. package/node/MultiInputTimeRangeField/index.js +3 -9
  204. package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
  205. package/node/PickersRangeCalendarHeader/PickersRangeCalendarHeader.js +2 -2
  206. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +22 -32
  207. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  208. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +22 -32
  209. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  210. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +22 -32
  211. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  212. package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  213. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  214. package/node/hooks/index.js +19 -0
  215. package/node/hooks/useMultiInputRangeField/index.js +12 -0
  216. package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
  217. package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
  218. package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
  219. package/node/hooks/usePickerRangePositionContext.js +22 -0
  220. package/node/index.js +23 -1
  221. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
  222. package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +52 -65
  223. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  224. package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
  225. package/node/internals/hooks/useRangePosition.js +1 -1
  226. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +16 -29
  227. package/node/internals/models/index.js +0 -11
  228. package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +143 -0
  229. package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
  230. package/node/internals/utils/date-range-manager.js +2 -1
  231. package/node/internals/utils/releaseInfo.js +1 -1
  232. package/node/internals/utils/valueManagers.js +7 -7
  233. package/node/managers/index.js +26 -0
  234. package/node/managers/useDateRangeManager.js +40 -0
  235. package/node/managers/useDateTimeRangeManager.js +40 -0
  236. package/node/managers/useTimeRangeManager.js +38 -0
  237. package/node/models/index.js +0 -22
  238. package/node/validation/validateDateRange.js +8 -0
  239. package/node/validation/validateDateTimeRange.js +4 -0
  240. package/node/validation/validateTimeRange.js +8 -0
  241. package/package.json +6 -6
  242. package/themeAugmentation/overrides.d.ts +6 -4
  243. package/themeAugmentation/props.d.ts +2 -2
  244. package/validation/validateDateRange.d.ts +9 -1
  245. package/validation/validateDateRange.js +8 -0
  246. package/validation/validateDateTimeRange.d.ts +6 -2
  247. package/validation/validateDateTimeRange.js +4 -0
  248. package/validation/validateTimeRange.d.ts +9 -1
  249. package/validation/validateTimeRange.js +8 -0
  250. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -53
  251. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -54
  252. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -54
  253. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -21
  254. package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
  255. package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  256. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
  257. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  258. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
  259. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  260. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
  261. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
  262. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  263. package/internals/models/timeRange.d.ts +0 -6
  264. package/internals/models/timeRange.js +0 -1
  265. package/models/dateRange.d.ts +0 -7
  266. package/models/dateRange.js +0 -1
  267. package/models/multiInputRangeFieldClasses.d.ts +0 -7
  268. package/models/multiInputRangeFieldClasses.js +0 -1
  269. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  270. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  271. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  272. package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  273. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  274. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  275. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  276. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  277. package/modern/internals/models/timeRange.js +0 -1
  278. package/modern/models/dateRange.js +0 -1
  279. package/modern/models/multiInputRangeFieldClasses.js +0 -1
  280. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
  281. package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
  282. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -121
  283. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -121
  284. package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
  285. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -121
  286. package/node/internals/models/timeRange.js +0 -5
  287. package/node/models/dateRange.js +0 -5
  288. package/node/models/multiInputRangeFieldClasses.js +0 -5
  289. /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  290. /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  291. /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
  292. /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  293. /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  294. /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
@@ -43,15 +43,15 @@ const MobileDateRangePicker = exports.MobileDateRangePicker = /*#__PURE__*/React
43
43
  format: utils.formats.keyboardDate,
44
44
  // Force one calendar on mobile to avoid layout issues
45
45
  calendars: 1,
46
+ // force current calendar position, since we only have one calendar
47
+ currentMonthCalendarPosition: 1,
46
48
  views: ['day'],
47
49
  openTo: 'day',
48
50
  slots: (0, _extends2.default)({
49
51
  field: _MultiInputDateRangeField.MultiInputDateRangeField
50
52
  }, defaultizedProps.slots),
51
53
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
52
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
53
- ref
54
- }),
54
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
55
55
  toolbar: (0, _extends2.default)({
56
56
  hidden: false
57
57
  }, defaultizedProps.slotProps?.toolbar)
@@ -60,6 +60,7 @@ const MobileDateRangePicker = exports.MobileDateRangePicker = /*#__PURE__*/React
60
60
  const {
61
61
  renderPicker
62
62
  } = (0, _useMobileRangePicker.useMobileRangePicker)({
63
+ ref,
63
64
  props,
64
65
  valueManager: _valueManagers.rangeValueManager,
65
66
  valueType: 'date',
@@ -81,8 +82,8 @@ MobileDateRangePicker.propTypes = {
81
82
  autoFocus: _propTypes.default.bool,
82
83
  className: _propTypes.default.string,
83
84
  /**
84
- * If `true`, the popover or modal will close after submitting the full date.
85
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
85
+ * If `true`, the Picker will close after submitting the full date.
86
+ * @default false
86
87
  */
87
88
  closeOnSelect: _propTypes.default.bool,
88
89
  /**
@@ -170,12 +171,10 @@ MobileDateRangePicker.propTypes = {
170
171
  formatDensity: _propTypes.default.oneOf(['dense', 'spacious']),
171
172
  /**
172
173
  * Pass a ref to the `input` element.
173
- * Ignored if the field has several inputs.
174
174
  */
175
175
  inputRef: _utils.refType,
176
176
  /**
177
177
  * The label content.
178
- * Ignored if the field has several inputs.
179
178
  */
180
179
  label: _propTypes.default.node,
181
180
  /**
@@ -201,7 +200,6 @@ MobileDateRangePicker.propTypes = {
201
200
  minDate: _propTypes.default.object,
202
201
  /**
203
202
  * Name attribute used by the `input` element in the Field.
204
- * Ignored if the field has several inputs.
205
203
  */
206
204
  name: _propTypes.default.string,
207
205
  /**
@@ -26,17 +26,24 @@ var _shared = require("../DateTimeRangePicker/shared");
26
26
  var _MultiInputDateTimeRangeField = require("../MultiInputDateTimeRangeField");
27
27
  var _DateTimeRangePickerTimeWrapper = require("../DateTimeRangePicker/DateTimeRangePickerTimeWrapper");
28
28
  var _dimensions = require("../internals/constants/dimensions");
29
+ var _hooks = require("../hooks");
29
30
  var _jsxRuntime = require("react/jsx-runtime");
30
- const _excluded = ["view", "openTo", "rangePosition"];
31
- const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
31
+ const _excluded = ["view", "openTo"];
32
+ const rendererInterceptor = function RendererInterceptor(props) {
33
+ const {
34
+ viewRenderers,
35
+ popperView,
36
+ rendererProps
37
+ } = props;
38
+ const {
39
+ rangePosition
40
+ } = (0, _hooks.usePickerRangePositionContext)();
32
41
  const {
33
42
  view,
34
- openTo,
35
- rangePosition
43
+ openTo
36
44
  } = rendererProps,
37
45
  otherRendererProps = (0, _objectWithoutPropertiesLoose2.default)(rendererProps, _excluded);
38
46
  const finalProps = (0, _extends2.default)({}, otherRendererProps, {
39
- rangePosition,
40
47
  focusedView: null,
41
48
  sx: [{
42
49
  width: _internals.DIALOG_WIDTH,
@@ -60,7 +67,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
60
67
  }]
61
68
  });
62
69
  const isTimeView = (0, _internals.isInternalTimeView)(popperView);
63
- const viewRenderer = inViewRenderers[popperView];
70
+ const viewRenderer = viewRenderers[popperView];
64
71
  if (!viewRenderer) {
65
72
  return null;
66
73
  }
@@ -110,25 +117,25 @@ const MobileDateTimeRangePicker = exports.MobileDateTimeRangePicker = /*#__PURE_
110
117
  calendars: 1,
111
118
  // force true to correctly handle `renderTimeViewClock` as a renderer
112
119
  ampmInClock: true,
120
+ // force current calendar position, since we only have one calendar
121
+ currentMonthCalendarPosition: 1,
113
122
  slots: (0, _extends2.default)({
114
123
  field: _MultiInputDateTimeRangeField.MultiInputDateTimeRangeField
115
124
  }, defaultizedProps.slots),
116
125
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
117
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
118
- ref
119
- }),
126
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
120
127
  tabs: (0, _extends2.default)({
121
128
  hidden: false
122
129
  }, defaultizedProps.slotProps?.tabs),
123
130
  toolbar: (0, _extends2.default)({
124
- hidden: false,
125
- toolbarVariant: 'mobile'
131
+ hidden: false
126
132
  }, defaultizedProps.slotProps?.toolbar)
127
133
  })
128
134
  });
129
135
  const {
130
136
  renderPicker
131
137
  } = (0, _useMobileRangePicker.useMobileRangePicker)({
138
+ ref,
132
139
  props,
133
140
  valueManager: _valueManagers.rangeValueManager,
134
141
  valueType: 'date-time',
@@ -156,8 +163,8 @@ MobileDateTimeRangePicker.propTypes = {
156
163
  autoFocus: _propTypes.default.bool,
157
164
  className: _propTypes.default.string,
158
165
  /**
159
- * If `true`, the popover or modal will close after submitting the full date.
160
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
166
+ * If `true`, the Picker will close after submitting the full date.
167
+ * @default false
161
168
  */
162
169
  closeOnSelect: _propTypes.default.bool,
163
170
  /**
@@ -250,12 +257,10 @@ MobileDateTimeRangePicker.propTypes = {
250
257
  formatDensity: _propTypes.default.oneOf(['dense', 'spacious']),
251
258
  /**
252
259
  * Pass a ref to the `input` element.
253
- * Ignored if the field has several inputs.
254
260
  */
255
261
  inputRef: _utils.refType,
256
262
  /**
257
263
  * The label content.
258
- * Ignored if the field has several inputs.
259
264
  */
260
265
  label: _propTypes.default.node,
261
266
  /**
@@ -304,7 +309,6 @@ MobileDateTimeRangePicker.propTypes = {
304
309
  minutesStep: _propTypes.default.number,
305
310
  /**
306
311
  * Name attribute used by the `input` element in the Field.
307
- * Ignored if the field has several inputs.
308
312
  */
309
313
  name: _propTypes.default.string,
310
314
  /**
@@ -2,58 +2,14 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
- exports.multiInputDateRangeFieldClasses = exports.getMultiInputDateRangeFieldUtilityClass = exports.MultiInputDateRangeField = void 0;
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
- var React = _interopRequireWildcard(require("react"));
8
+ exports.MultiInputDateRangeField = void 0;
13
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _clsx = _interopRequireDefault(require("clsx"));
15
- var _Stack = _interopRequireDefault(require("@mui/material/Stack"));
16
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
17
- var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
18
- var _styles = require("@mui/material/styles");
19
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
20
- var _utils = require("@mui/utils");
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 _useMultiInputDateRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField");
25
- var _jsxRuntime = require("react/jsx-runtime");
26
- const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
27
- const multiInputDateRangeFieldClasses = exports.multiInputDateRangeFieldClasses = (0, _utils.unstable_generateUtilityClasses)('MuiMultiInputDateRangeField', ['root', 'separator']);
28
- const getMultiInputDateRangeFieldUtilityClass = slot => (0, _utils.unstable_generateUtilityClass)('MuiMultiInputDateRangeField', slot);
29
- exports.getMultiInputDateRangeFieldUtilityClass = getMultiInputDateRangeFieldUtilityClass;
30
- const useUtilityClasses = ownerState => {
31
- const {
32
- classes
33
- } = ownerState;
34
- const slots = {
35
- root: ['root'],
36
- separator: ['separator']
37
- };
38
- return (0, _utils.unstable_composeClasses)(slots, getMultiInputDateRangeFieldUtilityClass, classes);
39
- };
40
- const MultiInputDateRangeFieldRoot = (0, _styles.styled)(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stack.default, (0, _extends2.default)({
41
- ref: ref,
42
- spacing: 2,
43
- direction: "row",
44
- alignItems: "center"
45
- }, props))), {
46
- name: 'MuiMultiInputDateRangeField',
47
- slot: 'Root',
48
- overridesResolver: (props, styles) => styles.root
49
- })({});
50
- const MultiInputDateRangeFieldSeparator = (0, _styles.styled)(_Typography.default, {
51
- name: 'MuiMultiInputDateRangeField',
52
- slot: 'Separator',
53
- overridesResolver: (props, styles) => styles.separator
54
- })({
55
- lineHeight: '1.4375em' // 23px
56
- });
10
+ var _managers = require("../managers");
11
+ var _createMultiInputRangeField = require("../internals/utils/createMultiInputRangeField");
12
+ var _multiInputDateRangeFieldClasses = require("./multiInputDateRangeFieldClasses");
57
13
  /**
58
14
  * Demos:
59
15
  *
@@ -64,85 +20,19 @@ const MultiInputDateRangeFieldSeparator = (0, _styles.styled)(_Typography.defaul
64
20
  *
65
21
  * - [MultiInputDateRangeField API](https://mui.com/x/api/multi-input-date-range-field/)
66
22
  */
67
- const MultiInputDateRangeField = exports.MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateRangeField(inProps, ref) {
68
- const themeProps = (0, _styles.useThemeProps)({
69
- props: inProps,
70
- name: 'MuiMultiInputDateRangeField'
71
- });
72
- const {
73
- internalProps,
74
- forwardedProps
75
- } = (0, _hooks.useSplitFieldProps)(themeProps, 'date');
76
- const {
77
- slots,
78
- slotProps,
79
- unstableStartFieldRef,
80
- unstableEndFieldRef,
81
- className
82
- } = forwardedProps,
83
- otherForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(forwardedProps, _excluded);
84
- const ownerState = themeProps;
85
- const classes = useUtilityClasses(ownerState);
86
- const Root = slots?.root ?? MultiInputDateRangeFieldRoot;
87
- const rootProps = (0, _useSlotProps.default)({
88
- elementType: Root,
89
- externalSlotProps: slotProps?.root,
90
- externalForwardedProps: otherForwardedProps,
91
- additionalProps: {
92
- ref
93
- },
94
- ownerState,
95
- className: (0, _clsx.default)(className, classes.root)
96
- });
97
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
98
- const startTextFieldProps = (0, _useSlotProps.default)({
99
- elementType: TextField,
100
- externalSlotProps: slotProps?.textField,
101
- ownerState: (0, _extends2.default)({}, ownerState, {
102
- position: 'start'
103
- })
104
- });
105
- const endTextFieldProps = (0, _useSlotProps.default)({
106
- elementType: TextField,
107
- externalSlotProps: slotProps?.textField,
108
- ownerState: (0, _extends2.default)({}, ownerState, {
109
- position: 'end'
110
- })
111
- });
112
- const Separator = slots?.separator ?? MultiInputDateRangeFieldSeparator;
113
- const separatorProps = (0, _useSlotProps.default)({
114
- elementType: Separator,
115
- externalSlotProps: slotProps?.separator,
116
- additionalProps: {
117
- children: ` ${internalProps.dateSeparator ?? '–'} `
118
- },
119
- ownerState,
120
- className: classes.separator
121
- });
122
- const fieldResponse = (0, _useMultiInputDateRangeField.useMultiInputDateRangeField)({
123
- sharedProps: internalProps,
124
- startTextFieldProps,
125
- endTextFieldProps,
126
- unstableStartFieldRef,
127
- unstableEndFieldRef
128
- });
129
- const startDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.startDate);
130
- const endDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.endDate);
131
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
132
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
133
- fullWidth: true
134
- }, startDateProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
135
- fullWidth: true
136
- }, endDateProps))]
137
- }));
23
+ const MultiInputDateRangeField = exports.MultiInputDateRangeField = (0, _createMultiInputRangeField.createMultiInputRangeField)({
24
+ name: 'MuiMultiInputDateRangeField',
25
+ getUtilityClass: _multiInputDateRangeFieldClasses.getMultiInputDateRangeFieldUtilityClass,
26
+ useManager: _managers.useDateRangeManager
138
27
  });
139
- process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
28
+ MultiInputDateRangeField.propTypes = {
140
29
  // ----------------------------- Warning --------------------------------
141
30
  // | These PropTypes are generated from the TypeScript type definitions |
142
31
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
143
32
  // ----------------------------------------------------------------------
144
33
  /**
145
34
  * If `true`, the `input` element is focused during the first mount.
35
+ * @default false
146
36
  */
147
37
  autoFocus: _propTypes.default.bool,
148
38
  /**
@@ -266,10 +156,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
266
156
  */
267
157
  shouldDisableDate: _propTypes.default.func,
268
158
  /**
269
- * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
270
- * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
159
+ * If `true`, the format will respect the leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
160
+ * If `false`, the format will always add leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
271
161
  *
272
- * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
162
+ * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (for example "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
273
163
  *
274
164
  * Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
275
165
  * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
@@ -325,4 +215,4 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
325
215
  * Used when the component is controlled.
326
216
  */
327
217
  value: _propTypes.default.arrayOf(_propTypes.default.object)
328
- } : void 0;
218
+ };
@@ -12,20 +12,14 @@ Object.defineProperty(exports, "MultiInputDateRangeField", {
12
12
  Object.defineProperty(exports, "getMultiInputDateRangeFieldUtilityClass", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _MultiInputDateRangeField.getMultiInputDateRangeFieldUtilityClass;
15
+ return _multiInputDateRangeFieldClasses.getMultiInputDateRangeFieldUtilityClass;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "multiInputDateRangeFieldClasses", {
19
19
  enumerable: true,
20
20
  get: function () {
21
- return _MultiInputDateRangeField.multiInputDateRangeFieldClasses;
22
- }
23
- });
24
- Object.defineProperty(exports, "unstable_useMultiInputDateRangeField", {
25
- enumerable: true,
26
- get: function () {
27
- return _useMultiInputDateRangeField.useMultiInputDateRangeField;
21
+ return _multiInputDateRangeFieldClasses.multiInputDateRangeFieldClasses;
28
22
  }
29
23
  });
30
24
  var _MultiInputDateRangeField = require("./MultiInputDateRangeField");
31
- var _useMultiInputDateRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField");
25
+ var _multiInputDateRangeFieldClasses = require("./multiInputDateRangeFieldClasses");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.multiInputDateRangeFieldClasses = exports.getMultiInputDateRangeFieldUtilityClass = void 0;
8
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
9
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
10
+ const multiInputDateRangeFieldClasses = exports.multiInputDateRangeFieldClasses = (0, _generateUtilityClasses.default)('MuiMultiInputDateRangeField', ['root', 'separator']);
11
+ const getMultiInputDateRangeFieldUtilityClass = slot => (0, _generateUtilityClass.default)('MuiMultiInputDateRangeField', slot);
12
+ exports.getMultiInputDateRangeFieldUtilityClass = getMultiInputDateRangeFieldUtilityClass;
@@ -2,58 +2,14 @@
2
2
  'use client';
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
8
7
  });
9
- exports.multiInputDateTimeRangeFieldClasses = exports.getMultiInputDateTimeRangeFieldUtilityClass = exports.MultiInputDateTimeRangeField = void 0;
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
- var React = _interopRequireWildcard(require("react"));
8
+ exports.MultiInputDateTimeRangeField = void 0;
13
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
- var _clsx = _interopRequireDefault(require("clsx"));
15
- var _Stack = _interopRequireDefault(require("@mui/material/Stack"));
16
- var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
17
- var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
18
- var _styles = require("@mui/material/styles");
19
- var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
20
- var _utils = require("@mui/utils");
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 _useMultiInputDateTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField");
25
- var _jsxRuntime = require("react/jsx-runtime");
26
- const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
27
- const multiInputDateTimeRangeFieldClasses = exports.multiInputDateTimeRangeFieldClasses = (0, _utils.unstable_generateUtilityClasses)('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
28
- const getMultiInputDateTimeRangeFieldUtilityClass = slot => (0, _utils.unstable_generateUtilityClass)('MuiMultiInputDateTimeRangeField', slot);
29
- exports.getMultiInputDateTimeRangeFieldUtilityClass = getMultiInputDateTimeRangeFieldUtilityClass;
30
- const useUtilityClasses = ownerState => {
31
- const {
32
- classes
33
- } = ownerState;
34
- const slots = {
35
- root: ['root'],
36
- separator: ['separator']
37
- };
38
- return (0, _utils.unstable_composeClasses)(slots, getMultiInputDateTimeRangeFieldUtilityClass, classes);
39
- };
40
- const MultiInputDateTimeRangeFieldRoot = (0, _styles.styled)(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Stack.default, (0, _extends2.default)({
41
- ref: ref,
42
- spacing: 2,
43
- direction: "row",
44
- alignItems: "center"
45
- }, props))), {
46
- name: 'MuiMultiInputDateTimeRangeField',
47
- slot: 'Root',
48
- overridesResolver: (props, styles) => styles.root
49
- })({});
50
- const MultiInputDateTimeRangeFieldSeparator = (0, _styles.styled)(_Typography.default, {
51
- name: 'MuiMultiInputDateTimeRangeField',
52
- slot: 'Separator',
53
- overridesResolver: (props, styles) => styles.separator
54
- })({
55
- lineHeight: '1.4375em' // 23px
56
- });
10
+ var _managers = require("../managers");
11
+ var _createMultiInputRangeField = require("../internals/utils/createMultiInputRangeField");
12
+ var _multiInputDateTimeRangeFieldClasses = require("./multiInputDateTimeRangeFieldClasses");
57
13
  /**
58
14
  * Demos:
59
15
  *
@@ -64,79 +20,12 @@ const MultiInputDateTimeRangeFieldSeparator = (0, _styles.styled)(_Typography.de
64
20
  *
65
21
  * - [MultiInputDateTimeRangeField API](https://mui.com/x/api/multi-input-date-time-range-field/)
66
22
  */
67
- const MultiInputDateTimeRangeField = exports.MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateTimeRangeField(inProps, ref) {
68
- const themeProps = (0, _styles.useThemeProps)({
69
- props: inProps,
70
- name: 'MuiMultiInputDateTimeRangeField'
71
- });
72
- const {
73
- internalProps,
74
- forwardedProps
75
- } = (0, _hooks.useSplitFieldProps)(themeProps, 'date-time');
76
- const {
77
- slots,
78
- slotProps,
79
- unstableStartFieldRef,
80
- unstableEndFieldRef,
81
- className
82
- } = forwardedProps,
83
- otherForwardedProps = (0, _objectWithoutPropertiesLoose2.default)(forwardedProps, _excluded);
84
- const ownerState = themeProps;
85
- const classes = useUtilityClasses(ownerState);
86
- const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
87
- const rootProps = (0, _useSlotProps.default)({
88
- elementType: Root,
89
- externalSlotProps: slotProps?.root,
90
- externalForwardedProps: otherForwardedProps,
91
- additionalProps: {
92
- ref
93
- },
94
- ownerState,
95
- className: (0, _clsx.default)(className, classes.root)
96
- });
97
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? _TextField.default : _PickersTextField.PickersTextField);
98
- const startTextFieldProps = (0, _useSlotProps.default)({
99
- elementType: TextField,
100
- externalSlotProps: slotProps?.textField,
101
- ownerState: (0, _extends2.default)({}, ownerState, {
102
- position: 'start'
103
- })
104
- });
105
- const endTextFieldProps = (0, _useSlotProps.default)({
106
- elementType: TextField,
107
- externalSlotProps: slotProps?.textField,
108
- ownerState: (0, _extends2.default)({}, ownerState, {
109
- position: 'end'
110
- })
111
- });
112
- const Separator = slots?.separator ?? MultiInputDateTimeRangeFieldSeparator;
113
- const separatorProps = (0, _useSlotProps.default)({
114
- elementType: Separator,
115
- externalSlotProps: slotProps?.separator,
116
- additionalProps: {
117
- children: ` ${internalProps.dateSeparator ?? '–'} `
118
- },
119
- ownerState,
120
- className: classes.separator
121
- });
122
- const fieldResponse = (0, _useMultiInputDateTimeRangeField.useMultiInputDateTimeRangeField)({
123
- sharedProps: internalProps,
124
- startTextFieldProps,
125
- endTextFieldProps,
126
- unstableStartFieldRef,
127
- unstableEndFieldRef
128
- });
129
- const startDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.startDate);
130
- const endDateProps = (0, _internals.convertFieldResponseIntoMuiTextFieldProps)(fieldResponse.endDate);
131
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
132
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
133
- fullWidth: true
134
- }, startDateProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(Separator, (0, _extends2.default)({}, separatorProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TextField, (0, _extends2.default)({
135
- fullWidth: true
136
- }, endDateProps))]
137
- }));
23
+ const MultiInputDateTimeRangeField = exports.MultiInputDateTimeRangeField = (0, _createMultiInputRangeField.createMultiInputRangeField)({
24
+ name: 'MuiMultiInputDateTimeRangeField',
25
+ getUtilityClass: _multiInputDateTimeRangeFieldClasses.getMultiInputDateTimeRangeFieldUtilityClass,
26
+ useManager: _managers.useDateTimeRangeManager
138
27
  });
139
- process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes = {
28
+ MultiInputDateTimeRangeField.propTypes = {
140
29
  // ----------------------------- Warning --------------------------------
141
30
  // | These PropTypes are generated from the TypeScript type definitions |
142
31
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -148,6 +37,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
148
37
  ampm: _propTypes.default.bool,
149
38
  /**
150
39
  * If `true`, the `input` element is focused during the first mount.
40
+ * @default false
151
41
  */
152
42
  autoFocus: _propTypes.default.bool,
153
43
  /**
@@ -306,10 +196,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
306
196
  */
307
197
  shouldDisableTime: _propTypes.default.func,
308
198
  /**
309
- * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
310
- * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
199
+ * If `true`, the format will respect the leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
200
+ * If `false`, the format will always add leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
311
201
  *
312
- * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (e.g: "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
202
+ * Warning n°1: Luxon is not able to respect the leading zeroes when using macro tokens (for example "DD"), so `shouldRespectLeadingZeros={true}` might lead to inconsistencies when using `AdapterLuxon`.
313
203
  *
314
204
  * Warning n°2: When `shouldRespectLeadingZeros={true}`, the field will add an invisible character on the sections containing a single digit to make sure `onChange` is fired.
315
205
  * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
@@ -365,4 +255,4 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
365
255
  * Used when the component is controlled.
366
256
  */
367
257
  value: _propTypes.default.arrayOf(_propTypes.default.object)
368
- } : void 0;
258
+ };
@@ -12,20 +12,14 @@ Object.defineProperty(exports, "MultiInputDateTimeRangeField", {
12
12
  Object.defineProperty(exports, "getMultiInputDateTimeRangeFieldUtilityClass", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _MultiInputDateTimeRangeField.getMultiInputDateTimeRangeFieldUtilityClass;
15
+ return _multiInputDateTimeRangeFieldClasses.getMultiInputDateTimeRangeFieldUtilityClass;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "multiInputDateTimeRangeFieldClasses", {
19
19
  enumerable: true,
20
20
  get: function () {
21
- return _MultiInputDateTimeRangeField.multiInputDateTimeRangeFieldClasses;
22
- }
23
- });
24
- Object.defineProperty(exports, "unstable_useMultiInputDateTimeRangeField", {
25
- enumerable: true,
26
- get: function () {
27
- return _useMultiInputDateTimeRangeField.useMultiInputDateTimeRangeField;
21
+ return _multiInputDateTimeRangeFieldClasses.multiInputDateTimeRangeFieldClasses;
28
22
  }
29
23
  });
30
24
  var _MultiInputDateTimeRangeField = require("./MultiInputDateTimeRangeField");
31
- var _useMultiInputDateTimeRangeField = require("../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField");
25
+ var _multiInputDateTimeRangeFieldClasses = require("./multiInputDateTimeRangeFieldClasses");
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.multiInputDateTimeRangeFieldClasses = exports.getMultiInputDateTimeRangeFieldUtilityClass = void 0;
8
+ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
9
+ var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
10
+ const multiInputDateTimeRangeFieldClasses = exports.multiInputDateTimeRangeFieldClasses = (0, _generateUtilityClasses.default)('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
11
+ const getMultiInputDateTimeRangeFieldUtilityClass = slot => (0, _generateUtilityClass.default)('MuiMultiInputDateTimeRangeField', slot);
12
+ exports.getMultiInputDateTimeRangeFieldUtilityClass = getMultiInputDateTimeRangeFieldUtilityClass;