@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
@@ -13,6 +13,8 @@ import { renderDateRangeViewCalendar } from "../dateRangeViewRenderers/index.js"
13
13
  import { MultiInputDateRangeField } from "../MultiInputDateRangeField/index.js";
14
14
  import { useDesktopRangePicker } from "../internals/hooks/useDesktopRangePicker/index.js";
15
15
  import { validateDateRange } from "../validation/index.js";
16
+ const emptyActions = [];
17
+
16
18
  /**
17
19
  * Demos:
18
20
  *
@@ -32,6 +34,7 @@ const DesktopDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopDat
32
34
  day: renderDateRangeViewCalendar
33
35
  }, defaultizedProps.viewRenderers);
34
36
  const props = _extends({}, defaultizedProps, {
37
+ closeOnSelect: defaultizedProps.closeOnSelect ?? true,
35
38
  viewRenderers,
36
39
  format: utils.formats.keyboardDate,
37
40
  calendars: defaultizedProps.calendars ?? 2,
@@ -41,17 +44,19 @@ const DesktopDateRangePicker = /*#__PURE__*/React.forwardRef(function DesktopDat
41
44
  field: MultiInputDateRangeField
42
45
  }, defaultizedProps.slots),
43
46
  slotProps: _extends({}, defaultizedProps.slotProps, {
44
- field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
45
- ref
46
- }),
47
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
47
48
  toolbar: _extends({
48
49
  hidden: true
49
- }, defaultizedProps.slotProps?.toolbar)
50
+ }, defaultizedProps.slotProps?.toolbar),
51
+ actionBar: ownerState => _extends({
52
+ actions: emptyActions
53
+ }, resolveComponentProps(defaultizedProps.slotProps?.actionBar, ownerState))
50
54
  })
51
55
  });
52
56
  const {
53
57
  renderPicker
54
58
  } = useDesktopRangePicker({
59
+ ref,
55
60
  props,
56
61
  valueManager: rangeValueManager,
57
62
  valueType: 'date',
@@ -78,8 +83,8 @@ DesktopDateRangePicker.propTypes = {
78
83
  calendars: PropTypes.oneOf([1, 2, 3]),
79
84
  className: PropTypes.string,
80
85
  /**
81
- * If `true`, the popover or modal will close after submitting the full date.
82
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
86
+ * If `true`, the Picker will close after submitting the full date.
87
+ * @default true
83
88
  */
84
89
  closeOnSelect: PropTypes.bool,
85
90
  /**
@@ -167,12 +172,10 @@ DesktopDateRangePicker.propTypes = {
167
172
  formatDensity: PropTypes.oneOf(['dense', 'spacious']),
168
173
  /**
169
174
  * Pass a ref to the `input` element.
170
- * Ignored if the field has several inputs.
171
175
  */
172
176
  inputRef: refType,
173
177
  /**
174
178
  * The label content.
175
- * Ignored if the field has several inputs.
176
179
  */
177
180
  label: PropTypes.node,
178
181
  /**
@@ -198,7 +201,6 @@ DesktopDateRangePicker.propTypes = {
198
201
  minDate: PropTypes.object,
199
202
  /**
200
203
  * Name attribute used by the `input` element in the Field.
201
- * Ignored if the field has several inputs.
202
204
  */
203
205
  name: PropTypes.string,
204
206
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["openTo", "rangePosition"];
5
+ const _excluded = ["openTo"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { isDatePickerView, isInternalTimeView, resolveDateTimeFormat, useUtils } from '@mui/x-date-pickers/internals';
@@ -22,15 +22,22 @@ import { useDateTimeRangePickerDefaultizedProps } from "../DateTimeRangePicker/s
22
22
  import { MultiInputDateTimeRangeField } from "../MultiInputDateTimeRangeField/index.js";
23
23
  import { DateTimeRangePickerTimeWrapper } from "../DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js";
24
24
  import { RANGE_VIEW_HEIGHT } from "../internals/constants/dimensions.js";
25
+ import { usePickerRangePositionContext } from "../hooks/index.js";
25
26
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
- const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
27
+ const rendererInterceptor = function RendererInterceptor(props) {
27
28
  const {
28
- openTo,
29
- rangePosition
29
+ viewRenderers,
30
+ popperView,
31
+ rendererProps
32
+ } = props;
33
+ const {
34
+ openTo
30
35
  } = rendererProps,
31
36
  otherProps = _objectWithoutPropertiesLoose(rendererProps, _excluded);
37
+ const {
38
+ rangePosition
39
+ } = usePickerRangePositionContext();
32
40
  const finalProps = _extends({}, otherProps, {
33
- rangePosition,
34
41
  focusedView: null,
35
42
  sx: [{
36
43
  [`&.${multiSectionDigitalClockClasses.root}`]: {
@@ -43,7 +50,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
43
50
  });
44
51
  const isTimeViewActive = isInternalTimeView(popperView);
45
52
  return /*#__PURE__*/_jsxs(React.Fragment, {
46
- children: [inViewRenderers.day?.(_extends({}, rendererProps, {
53
+ children: [viewRenderers.day?.(_extends({}, rendererProps, {
47
54
  availableRangePositions: [rangePosition],
48
55
  view: !isTimeViewActive ? popperView : 'day',
49
56
  views: rendererProps.views.filter(isDatePickerView),
@@ -59,7 +66,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
59
66
  view: isTimeViewActive ? popperView : 'hours',
60
67
  views: finalProps.views.filter(isInternalTimeView),
61
68
  openTo: isInternalTimeView(openTo) ? openTo : 'hours',
62
- viewRenderer: inViewRenderers[isTimeViewActive ? popperView : 'hours'],
69
+ viewRenderer: viewRenderers[isTimeViewActive ? popperView : 'hours'],
63
70
  sx: [{
64
71
  gridColumn: 3
65
72
  }, ...finalProps.sx]
@@ -92,7 +99,6 @@ const DesktopDateTimeRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
92
99
  // Need to avoid adding the `meridiem` view when unexpected renderer is specified
93
100
  const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === renderMultiSectionDigitalClockTimeView.name;
94
101
  const views = !shouldHoursRendererContainMeridiemView ? defaultizedProps.views.filter(view => view !== 'meridiem') : defaultizedProps.views;
95
- const actionBarActions = defaultizedProps.shouldRenderTimeInASingleColumn ? [] : ['accept'];
96
102
  const props = _extends({}, defaultizedProps, {
97
103
  views,
98
104
  viewRenderers,
@@ -105,24 +111,19 @@ const DesktopDateTimeRangePicker = /*#__PURE__*/React.forwardRef(function Deskto
105
111
  layout: DesktopDateTimePickerLayout
106
112
  }, defaultizedProps.slots),
107
113
  slotProps: _extends({}, defaultizedProps.slotProps, {
108
- field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
109
- ref
110
- }),
114
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
111
115
  tabs: _extends({
112
116
  hidden: true
113
117
  }, defaultizedProps.slotProps?.tabs),
114
118
  toolbar: _extends({
115
- hidden: true,
116
- toolbarVariant: 'desktop'
117
- }, defaultizedProps.slotProps?.toolbar),
118
- actionBar: ownerState => _extends({
119
- actions: actionBarActions
120
- }, resolveComponentProps(defaultizedProps.slotProps?.actionBar, ownerState))
119
+ hidden: true
120
+ }, defaultizedProps.slotProps?.toolbar)
121
121
  })
122
122
  });
123
123
  const {
124
124
  renderPicker
125
125
  } = useDesktopRangePicker({
126
+ ref,
126
127
  props,
127
128
  valueManager: rangeValueManager,
128
129
  valueType: 'date-time',
@@ -155,8 +156,8 @@ DesktopDateTimeRangePicker.propTypes = {
155
156
  calendars: PropTypes.oneOf([1, 2, 3]),
156
157
  className: PropTypes.string,
157
158
  /**
158
- * If `true`, the popover or modal will close after submitting the full date.
159
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
159
+ * If `true`, the Picker will close after submitting the full date.
160
+ * @default false
160
161
  */
161
162
  closeOnSelect: PropTypes.bool,
162
163
  /**
@@ -249,12 +250,10 @@ DesktopDateTimeRangePicker.propTypes = {
249
250
  formatDensity: PropTypes.oneOf(['dense', 'spacious']),
250
251
  /**
251
252
  * Pass a ref to the `input` element.
252
- * Ignored if the field has several inputs.
253
253
  */
254
254
  inputRef: refType,
255
255
  /**
256
256
  * The label content.
257
- * Ignored if the field has several inputs.
258
257
  */
259
258
  label: PropTypes.node,
260
259
  /**
@@ -303,7 +302,6 @@ DesktopDateTimeRangePicker.propTypes = {
303
302
  minutesStep: PropTypes.number,
304
303
  /**
305
304
  * Name attribute used by the `input` element in the Field.
306
- * Ignored if the field has several inputs.
307
305
  */
308
306
  name: PropTypes.string,
309
307
  /**
@@ -42,9 +42,7 @@ const MobileDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateR
42
42
  field: MultiInputDateRangeField
43
43
  }, defaultizedProps.slots),
44
44
  slotProps: _extends({}, defaultizedProps.slotProps, {
45
- field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
46
- ref
47
- }),
45
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
48
46
  toolbar: _extends({
49
47
  hidden: false
50
48
  }, defaultizedProps.slotProps?.toolbar)
@@ -53,6 +51,7 @@ const MobileDateRangePicker = /*#__PURE__*/React.forwardRef(function MobileDateR
53
51
  const {
54
52
  renderPicker
55
53
  } = useMobileRangePicker({
54
+ ref,
56
55
  props,
57
56
  valueManager: rangeValueManager,
58
57
  valueType: 'date',
@@ -74,8 +73,8 @@ MobileDateRangePicker.propTypes = {
74
73
  autoFocus: PropTypes.bool,
75
74
  className: PropTypes.string,
76
75
  /**
77
- * If `true`, the popover or modal will close after submitting the full date.
78
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
76
+ * If `true`, the Picker will close after submitting the full date.
77
+ * @default false
79
78
  */
80
79
  closeOnSelect: PropTypes.bool,
81
80
  /**
@@ -163,12 +162,10 @@ MobileDateRangePicker.propTypes = {
163
162
  formatDensity: PropTypes.oneOf(['dense', 'spacious']),
164
163
  /**
165
164
  * Pass a ref to the `input` element.
166
- * Ignored if the field has several inputs.
167
165
  */
168
166
  inputRef: refType,
169
167
  /**
170
168
  * The label content.
171
- * Ignored if the field has several inputs.
172
169
  */
173
170
  label: PropTypes.node,
174
171
  /**
@@ -194,7 +191,6 @@ MobileDateRangePicker.propTypes = {
194
191
  minDate: PropTypes.object,
195
192
  /**
196
193
  * Name attribute used by the `input` element in the Field.
197
- * Ignored if the field has several inputs.
198
194
  */
199
195
  name: PropTypes.string,
200
196
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["view", "openTo", "rangePosition"];
5
+ const _excluded = ["view", "openTo"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { refType } from '@mui/utils';
@@ -20,16 +20,23 @@ import { useDateTimeRangePickerDefaultizedProps } from "../DateTimeRangePicker/s
20
20
  import { MultiInputDateTimeRangeField } from "../MultiInputDateTimeRangeField/index.js";
21
21
  import { DateTimeRangePickerTimeWrapper } from "../DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js";
22
22
  import { RANGE_VIEW_HEIGHT } from "../internals/constants/dimensions.js";
23
+ import { usePickerRangePositionContext } from "../hooks/index.js";
23
24
  import { jsx as _jsx } from "react/jsx-runtime";
24
- const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
25
+ const rendererInterceptor = function RendererInterceptor(props) {
26
+ const {
27
+ viewRenderers,
28
+ popperView,
29
+ rendererProps
30
+ } = props;
31
+ const {
32
+ rangePosition
33
+ } = usePickerRangePositionContext();
25
34
  const {
26
35
  view,
27
- openTo,
28
- rangePosition
36
+ openTo
29
37
  } = rendererProps,
30
38
  otherRendererProps = _objectWithoutPropertiesLoose(rendererProps, _excluded);
31
39
  const finalProps = _extends({}, otherRendererProps, {
32
- rangePosition,
33
40
  focusedView: null,
34
41
  sx: [{
35
42
  width: DIALOG_WIDTH,
@@ -53,7 +60,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
53
60
  }]
54
61
  });
55
62
  const isTimeView = isInternalTimeView(popperView);
56
- const viewRenderer = inViewRenderers[popperView];
63
+ const viewRenderer = viewRenderers[popperView];
57
64
  if (!viewRenderer) {
58
65
  return null;
59
66
  }
@@ -107,21 +114,19 @@ const MobileDateTimeRangePicker = /*#__PURE__*/React.forwardRef(function MobileD
107
114
  field: MultiInputDateTimeRangeField
108
115
  }, defaultizedProps.slots),
109
116
  slotProps: _extends({}, defaultizedProps.slotProps, {
110
- field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps), {
111
- ref
112
- }),
117
+ field: ownerState => _extends({}, resolveComponentProps(defaultizedProps.slotProps?.field, ownerState), extractValidationProps(defaultizedProps)),
113
118
  tabs: _extends({
114
119
  hidden: false
115
120
  }, defaultizedProps.slotProps?.tabs),
116
121
  toolbar: _extends({
117
- hidden: false,
118
- toolbarVariant: 'mobile'
122
+ hidden: false
119
123
  }, defaultizedProps.slotProps?.toolbar)
120
124
  })
121
125
  });
122
126
  const {
123
127
  renderPicker
124
128
  } = useMobileRangePicker({
129
+ ref,
125
130
  props,
126
131
  valueManager: rangeValueManager,
127
132
  valueType: 'date-time',
@@ -149,8 +154,8 @@ MobileDateTimeRangePicker.propTypes = {
149
154
  autoFocus: PropTypes.bool,
150
155
  className: PropTypes.string,
151
156
  /**
152
- * If `true`, the popover or modal will close after submitting the full date.
153
- * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
157
+ * If `true`, the Picker will close after submitting the full date.
158
+ * @default false
154
159
  */
155
160
  closeOnSelect: PropTypes.bool,
156
161
  /**
@@ -243,12 +248,10 @@ MobileDateTimeRangePicker.propTypes = {
243
248
  formatDensity: PropTypes.oneOf(['dense', 'spacious']),
244
249
  /**
245
250
  * Pass a ref to the `input` element.
246
- * Ignored if the field has several inputs.
247
251
  */
248
252
  inputRef: refType,
249
253
  /**
250
254
  * The label content.
251
- * Ignored if the field has several inputs.
252
255
  */
253
256
  label: PropTypes.node,
254
257
  /**
@@ -297,7 +300,6 @@ MobileDateTimeRangePicker.propTypes = {
297
300
  minutesStep: PropTypes.number,
298
301
  /**
299
302
  * Name attribute used by the `input` element in the Field.
300
- * Ignored if the field has several inputs.
301
303
  */
302
304
  name: PropTypes.string,
303
305
  /**
@@ -1,51 +1,11 @@
1
1
  'use client';
2
2
 
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- import _extends from "@babel/runtime/helpers/esm/extends";
5
- const _excluded = ["slots", "slotProps", "unstableStartFieldRef", "unstableEndFieldRef", "className"];
6
- import * as React from 'react';
7
3
  import PropTypes from 'prop-types';
8
- import clsx from 'clsx';
9
- import Stack from '@mui/material/Stack';
10
- import MuiTextField from '@mui/material/TextField';
11
- import Typography from '@mui/material/Typography';
12
- import { styled, useThemeProps } from '@mui/material/styles';
13
- import useSlotProps from '@mui/utils/useSlotProps';
14
- import { unstable_composeClasses as composeClasses, unstable_generateUtilityClass as generateUtilityClass, unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
15
- import { convertFieldResponseIntoMuiTextFieldProps } from '@mui/x-date-pickers/internals';
16
- import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
17
- import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
18
- import { useMultiInputDateRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js";
19
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- export const multiInputDateRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateRangeField', ['root', 'separator']);
21
- export const getMultiInputDateRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateRangeField', slot);
22
- const useUtilityClasses = ownerState => {
23
- const {
24
- classes
25
- } = ownerState;
26
- const slots = {
27
- root: ['root'],
28
- separator: ['separator']
29
- };
30
- return composeClasses(slots, getMultiInputDateRangeFieldUtilityClass, classes);
31
- };
32
- const MultiInputDateRangeFieldRoot = styled(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
33
- ref: ref,
34
- spacing: 2,
35
- direction: "row",
36
- alignItems: "center"
37
- }, props))), {
38
- name: 'MuiMultiInputDateRangeField',
39
- slot: 'Root',
40
- overridesResolver: (props, styles) => styles.root
41
- })({});
42
- const MultiInputDateRangeFieldSeparator = styled(Typography, {
43
- name: 'MuiMultiInputDateRangeField',
44
- slot: 'Separator',
45
- overridesResolver: (props, styles) => styles.separator
46
- })({
47
- lineHeight: '1.4375em' // 23px
48
- });
4
+ import { useDateRangeManager } from "../managers/index.js";
5
+ import {
6
+ // The alias is needed to have the doc gen working.
7
+ createMultiInputRangeField as createMultiInputDateRangeField } from "../internals/utils/createMultiInputRangeField/index.js";
8
+ import { getMultiInputDateRangeFieldUtilityClass } from "./multiInputDateRangeFieldClasses.js";
49
9
  /**
50
10
  * Demos:
51
11
  *
@@ -56,85 +16,19 @@ const MultiInputDateRangeFieldSeparator = styled(Typography, {
56
16
  *
57
17
  * - [MultiInputDateRangeField API](https://mui.com/x/api/multi-input-date-range-field/)
58
18
  */
59
- const MultiInputDateRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateRangeField(inProps, ref) {
60
- const themeProps = useThemeProps({
61
- props: inProps,
62
- name: 'MuiMultiInputDateRangeField'
63
- });
64
- const {
65
- internalProps,
66
- forwardedProps
67
- } = useSplitFieldProps(themeProps, 'date');
68
- const {
69
- slots,
70
- slotProps,
71
- unstableStartFieldRef,
72
- unstableEndFieldRef,
73
- className
74
- } = forwardedProps,
75
- otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
76
- const ownerState = themeProps;
77
- const classes = useUtilityClasses(ownerState);
78
- const Root = slots?.root ?? MultiInputDateRangeFieldRoot;
79
- const rootProps = useSlotProps({
80
- elementType: Root,
81
- externalSlotProps: slotProps?.root,
82
- externalForwardedProps: otherForwardedProps,
83
- additionalProps: {
84
- ref
85
- },
86
- ownerState,
87
- className: clsx(className, classes.root)
88
- });
89
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
90
- const startTextFieldProps = useSlotProps({
91
- elementType: TextField,
92
- externalSlotProps: slotProps?.textField,
93
- ownerState: _extends({}, ownerState, {
94
- position: 'start'
95
- })
96
- });
97
- const endTextFieldProps = useSlotProps({
98
- elementType: TextField,
99
- externalSlotProps: slotProps?.textField,
100
- ownerState: _extends({}, ownerState, {
101
- position: 'end'
102
- })
103
- });
104
- const Separator = slots?.separator ?? MultiInputDateRangeFieldSeparator;
105
- const separatorProps = useSlotProps({
106
- elementType: Separator,
107
- externalSlotProps: slotProps?.separator,
108
- additionalProps: {
109
- children: ` ${internalProps.dateSeparator ?? '–'} `
110
- },
111
- ownerState,
112
- className: classes.separator
113
- });
114
- const fieldResponse = useMultiInputDateRangeField({
115
- sharedProps: internalProps,
116
- startTextFieldProps,
117
- endTextFieldProps,
118
- unstableStartFieldRef,
119
- unstableEndFieldRef
120
- });
121
- const startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
122
- const endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
123
- return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
124
- children: [/*#__PURE__*/_jsx(TextField, _extends({
125
- fullWidth: true
126
- }, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
127
- fullWidth: true
128
- }, endDateProps))]
129
- }));
19
+ const MultiInputDateRangeField = createMultiInputDateRangeField({
20
+ name: 'MuiMultiInputDateRangeField',
21
+ getUtilityClass: getMultiInputDateRangeFieldUtilityClass,
22
+ useManager: useDateRangeManager
130
23
  });
131
- process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
24
+ MultiInputDateRangeField.propTypes = {
132
25
  // ----------------------------- Warning --------------------------------
133
26
  // | These PropTypes are generated from the TypeScript type definitions |
134
27
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
135
28
  // ----------------------------------------------------------------------
136
29
  /**
137
30
  * If `true`, the `input` element is focused during the first mount.
31
+ * @default false
138
32
  */
139
33
  autoFocus: PropTypes.bool,
140
34
  /**
@@ -258,10 +152,10 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
258
152
  */
259
153
  shouldDisableDate: PropTypes.func,
260
154
  /**
261
- * If `true`, the format will respect the leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
262
- * If `false`, the format will always add leading zeroes (e.g: on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
155
+ * If `true`, the format will respect the leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `8/16/2018`)
156
+ * If `false`, the format will always add leading zeroes (for example on dayjs, the format `M/D/YYYY` will render `08/16/2018`)
263
157
  *
264
- * 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`.
158
+ * 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`.
265
159
  *
266
160
  * 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.
267
161
  * If you need to get the clean value from the input, you can remove this character using `input.value.replace(/\u200e/g, '')`.
@@ -317,5 +211,5 @@ process.env.NODE_ENV !== "production" ? MultiInputDateRangeField.propTypes = {
317
211
  * Used when the component is controlled.
318
212
  */
319
213
  value: PropTypes.arrayOf(PropTypes.object)
320
- } : void 0;
214
+ };
321
215
  export { MultiInputDateRangeField };
@@ -1,2 +1,2 @@
1
- export { MultiInputDateRangeField, getMultiInputDateRangeFieldUtilityClass, multiInputDateRangeFieldClasses } from "./MultiInputDateRangeField.js";
2
- export { useMultiInputDateRangeField as unstable_useMultiInputDateRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js";
1
+ export { MultiInputDateRangeField } from "./MultiInputDateRangeField.js";
2
+ export { multiInputDateRangeFieldClasses, getMultiInputDateRangeFieldUtilityClass } from "./multiInputDateRangeFieldClasses.js";
@@ -0,0 +1,4 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export const multiInputDateRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateRangeField', ['root', 'separator']);
4
+ export const getMultiInputDateRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateRangeField', slot);