@mui/x-date-pickers-pro 8.0.0-alpha.1 → 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 (291) 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 +1903 -231
  8. package/DateRangeCalendar/DateRangeCalendar.js +15 -13
  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 +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 +8 -5
  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 +68 -100
  84. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +8 -10
  85. package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +25 -16
  86. package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +50 -63
  87. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  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 +17 -30
  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.js +2 -1
  108. package/internals/utils/releaseInfo.js +1 -1
  109. package/internals/utils/valueManagers.d.ts +4 -3
  110. package/internals/utils/valueManagers.js +7 -7
  111. package/managers/index.d.ts +6 -0
  112. package/managers/index.js +3 -0
  113. package/managers/package.json +6 -0
  114. package/managers/useDateRangeManager.d.ts +15 -0
  115. package/managers/useDateRangeManager.js +33 -0
  116. package/managers/useDateTimeRangeManager.d.ts +15 -0
  117. package/managers/useDateTimeRangeManager.js +33 -0
  118. package/managers/useTimeRangeManager.d.ts +15 -0
  119. package/managers/useTimeRangeManager.js +31 -0
  120. package/models/fields.d.ts +7 -11
  121. package/models/index.d.ts +1 -2
  122. package/models/index.js +1 -2
  123. package/models/range.d.ts +0 -2
  124. package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  125. package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  126. package/modern/DateRangeCalendar/DateRangeCalendar.js +15 -13
  127. package/modern/DateRangePicker/DateRangePicker.js +1 -4
  128. package/modern/DateRangePicker/DateRangePickerToolbar.js +33 -41
  129. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  130. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
  131. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  132. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +81 -109
  133. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  134. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  135. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  136. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  137. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
  138. package/modern/MultiInputDateRangeField/index.js +2 -2
  139. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  140. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
  141. package/modern/MultiInputDateTimeRangeField/index.js +2 -2
  142. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  143. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
  144. package/modern/MultiInputTimeRangeField/index.js +2 -2
  145. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  146. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  147. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  148. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  149. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  150. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  151. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  152. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  153. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  154. package/modern/hooks/index.js +2 -0
  155. package/modern/hooks/useMultiInputRangeField/index.js +1 -0
  156. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  157. package/{internals/hooks/useMultiInputFieldSelectedSections.js → modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  158. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  159. package/modern/hooks/usePickerRangePositionContext.js +15 -0
  160. package/modern/index.js +4 -2
  161. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
  162. package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +50 -63
  163. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  164. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  165. package/modern/internals/hooks/useRangePosition.js +1 -1
  166. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
  167. package/modern/internals/models/index.js +0 -1
  168. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  169. package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
  170. package/modern/internals/utils/date-range-manager.js +2 -1
  171. package/modern/internals/utils/releaseInfo.js +1 -1
  172. package/modern/internals/utils/valueManagers.js +7 -7
  173. package/modern/managers/index.js +3 -0
  174. package/modern/managers/useDateRangeManager.js +33 -0
  175. package/modern/managers/useDateTimeRangeManager.js +33 -0
  176. package/modern/managers/useTimeRangeManager.js +31 -0
  177. package/modern/models/index.js +1 -2
  178. package/modern/validation/validateDateRange.js +8 -0
  179. package/modern/validation/validateDateTimeRange.js +4 -0
  180. package/modern/validation/validateTimeRange.js +8 -0
  181. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  182. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  183. package/node/DateRangeCalendar/DateRangeCalendar.js +14 -12
  184. package/node/DateRangePicker/DateRangePicker.js +1 -4
  185. package/node/DateRangePicker/DateRangePickerToolbar.js +31 -39
  186. package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  187. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +33 -31
  188. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  189. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +80 -108
  190. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  191. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  192. package/node/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  193. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  194. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -124
  195. package/node/MultiInputDateRangeField/index.js +3 -9
  196. package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
  197. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -124
  198. package/node/MultiInputDateTimeRangeField/index.js +3 -9
  199. package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
  200. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -125
  201. package/node/MultiInputTimeRangeField/index.js +3 -9
  202. package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
  203. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +22 -32
  204. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  205. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +22 -32
  206. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  207. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +22 -32
  208. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  209. package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  210. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  211. package/node/hooks/index.js +19 -0
  212. package/node/hooks/useMultiInputRangeField/index.js +12 -0
  213. package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
  214. package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
  215. package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
  216. package/node/hooks/usePickerRangePositionContext.js +22 -0
  217. package/node/index.js +23 -1
  218. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
  219. package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +52 -65
  220. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  221. package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
  222. package/node/internals/hooks/useRangePosition.js +1 -1
  223. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +16 -29
  224. package/node/internals/models/index.js +0 -11
  225. package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +143 -0
  226. package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
  227. package/node/internals/utils/date-range-manager.js +2 -1
  228. package/node/internals/utils/releaseInfo.js +1 -1
  229. package/node/internals/utils/valueManagers.js +7 -7
  230. package/node/managers/index.js +26 -0
  231. package/node/managers/useDateRangeManager.js +40 -0
  232. package/node/managers/useDateTimeRangeManager.js +40 -0
  233. package/node/managers/useTimeRangeManager.js +38 -0
  234. package/node/models/index.js +0 -22
  235. package/node/validation/validateDateRange.js +8 -0
  236. package/node/validation/validateDateTimeRange.js +4 -0
  237. package/node/validation/validateTimeRange.js +8 -0
  238. package/package.json +6 -6
  239. package/themeAugmentation/overrides.d.ts +6 -4
  240. package/themeAugmentation/props.d.ts +2 -2
  241. package/validation/validateDateRange.d.ts +9 -1
  242. package/validation/validateDateRange.js +8 -0
  243. package/validation/validateDateTimeRange.d.ts +6 -2
  244. package/validation/validateDateTimeRange.js +4 -0
  245. package/validation/validateTimeRange.d.ts +9 -1
  246. package/validation/validateTimeRange.js +8 -0
  247. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -53
  248. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -54
  249. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -54
  250. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -21
  251. package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
  252. package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  253. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
  254. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  255. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
  256. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  257. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
  258. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
  259. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  260. package/internals/models/timeRange.d.ts +0 -6
  261. package/internals/models/timeRange.js +0 -1
  262. package/models/dateRange.d.ts +0 -7
  263. package/models/dateRange.js +0 -1
  264. package/models/multiInputRangeFieldClasses.d.ts +0 -7
  265. package/models/multiInputRangeFieldClasses.js +0 -1
  266. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  267. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  268. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  269. package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  270. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  271. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  272. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  273. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  274. package/modern/internals/models/timeRange.js +0 -1
  275. package/modern/models/dateRange.js +0 -1
  276. package/modern/models/multiInputRangeFieldClasses.js +0 -1
  277. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
  278. package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
  279. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -121
  280. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -121
  281. package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
  282. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -121
  283. package/node/internals/models/timeRange.js +0 -5
  284. package/node/models/dateRange.js +0 -5
  285. package/node/models/multiInputRangeFieldClasses.js +0 -5
  286. /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  287. /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  288. /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
  289. /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  290. /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  291. /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
@@ -28,16 +28,23 @@ var _shared = require("../DateTimeRangePicker/shared");
28
28
  var _MultiInputDateTimeRangeField = require("../MultiInputDateTimeRangeField");
29
29
  var _DateTimeRangePickerTimeWrapper = require("../DateTimeRangePicker/DateTimeRangePickerTimeWrapper");
30
30
  var _dimensions = require("../internals/constants/dimensions");
31
+ var _hooks = require("../hooks");
31
32
  var _jsxRuntime = require("react/jsx-runtime");
32
- const _excluded = ["openTo", "rangePosition"];
33
- const rendererInterceptor = function rendererInterceptor(inViewRenderers, popperView, rendererProps) {
33
+ const _excluded = ["openTo"];
34
+ const rendererInterceptor = function RendererInterceptor(props) {
34
35
  const {
35
- openTo,
36
- rangePosition
36
+ viewRenderers,
37
+ popperView,
38
+ rendererProps
39
+ } = props;
40
+ const {
41
+ openTo
37
42
  } = rendererProps,
38
43
  otherProps = (0, _objectWithoutPropertiesLoose2.default)(rendererProps, _excluded);
44
+ const {
45
+ rangePosition
46
+ } = (0, _hooks.usePickerRangePositionContext)();
39
47
  const finalProps = (0, _extends2.default)({}, otherProps, {
40
- rangePosition,
41
48
  focusedView: null,
42
49
  sx: [{
43
50
  [`&.${_MultiSectionDigitalClock.multiSectionDigitalClockClasses.root}`]: {
@@ -50,7 +57,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
50
57
  });
51
58
  const isTimeViewActive = (0, _internals.isInternalTimeView)(popperView);
52
59
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
53
- children: [inViewRenderers.day?.((0, _extends2.default)({}, rendererProps, {
60
+ children: [viewRenderers.day?.((0, _extends2.default)({}, rendererProps, {
54
61
  availableRangePositions: [rangePosition],
55
62
  view: !isTimeViewActive ? popperView : 'day',
56
63
  views: rendererProps.views.filter(_internals.isDatePickerView),
@@ -66,7 +73,7 @@ const rendererInterceptor = function rendererInterceptor(inViewRenderers, popper
66
73
  view: isTimeViewActive ? popperView : 'hours',
67
74
  views: finalProps.views.filter(_internals.isInternalTimeView),
68
75
  openTo: (0, _internals.isInternalTimeView)(openTo) ? openTo : 'hours',
69
- viewRenderer: inViewRenderers[isTimeViewActive ? popperView : 'hours'],
76
+ viewRenderer: viewRenderers[isTimeViewActive ? popperView : 'hours'],
70
77
  sx: [{
71
78
  gridColumn: 3
72
79
  }, ...finalProps.sx]
@@ -99,7 +106,6 @@ const DesktopDateTimeRangePicker = exports.DesktopDateTimeRangePicker = /*#__PUR
99
106
  // Need to avoid adding the `meridiem` view when unexpected renderer is specified
100
107
  const shouldHoursRendererContainMeridiemView = viewRenderers.hours?.name === _timeViewRenderers.renderMultiSectionDigitalClockTimeView.name;
101
108
  const views = !shouldHoursRendererContainMeridiemView ? defaultizedProps.views.filter(view => view !== 'meridiem') : defaultizedProps.views;
102
- const actionBarActions = defaultizedProps.shouldRenderTimeInASingleColumn ? [] : ['accept'];
103
109
  const props = (0, _extends2.default)({}, defaultizedProps, {
104
110
  views,
105
111
  viewRenderers,
@@ -112,24 +118,19 @@ const DesktopDateTimeRangePicker = exports.DesktopDateTimeRangePicker = /*#__PUR
112
118
  layout: _DesktopDateTimePicker.DesktopDateTimePickerLayout
113
119
  }, defaultizedProps.slots),
114
120
  slotProps: (0, _extends2.default)({}, defaultizedProps.slotProps, {
115
- field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps), {
116
- ref
117
- }),
121
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
118
122
  tabs: (0, _extends2.default)({
119
123
  hidden: true
120
124
  }, defaultizedProps.slotProps?.tabs),
121
125
  toolbar: (0, _extends2.default)({
122
- hidden: true,
123
- toolbarVariant: 'desktop'
124
- }, defaultizedProps.slotProps?.toolbar),
125
- actionBar: ownerState => (0, _extends2.default)({
126
- actions: actionBarActions
127
- }, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.actionBar, ownerState))
126
+ hidden: true
127
+ }, defaultizedProps.slotProps?.toolbar)
128
128
  })
129
129
  });
130
130
  const {
131
131
  renderPicker
132
132
  } = (0, _useDesktopRangePicker.useDesktopRangePicker)({
133
+ ref,
133
134
  props,
134
135
  valueManager: _valueManagers.rangeValueManager,
135
136
  valueType: 'date-time',
@@ -162,8 +163,8 @@ DesktopDateTimeRangePicker.propTypes = {
162
163
  calendars: _propTypes.default.oneOf([1, 2, 3]),
163
164
  className: _propTypes.default.string,
164
165
  /**
165
- * If `true`, the popover or modal will close after submitting the full date.
166
- * @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
167
168
  */
168
169
  closeOnSelect: _propTypes.default.bool,
169
170
  /**
@@ -256,12 +257,10 @@ DesktopDateTimeRangePicker.propTypes = {
256
257
  formatDensity: _propTypes.default.oneOf(['dense', 'spacious']),
257
258
  /**
258
259
  * Pass a ref to the `input` element.
259
- * Ignored if the field has several inputs.
260
260
  */
261
261
  inputRef: _utils.refType,
262
262
  /**
263
263
  * The label content.
264
- * Ignored if the field has several inputs.
265
264
  */
266
265
  label: _propTypes.default.node,
267
266
  /**
@@ -310,7 +309,6 @@ DesktopDateTimeRangePicker.propTypes = {
310
309
  minutesStep: _propTypes.default.number,
311
310
  /**
312
311
  * Name attribute used by the `input` element in the Field.
313
- * Ignored if the field has several inputs.
314
312
  */
315
313
  name: _propTypes.default.string,
316
314
  /**
@@ -49,9 +49,7 @@ const MobileDateRangePicker = exports.MobileDateRangePicker = /*#__PURE__*/React
49
49
  field: _MultiInputDateRangeField.MultiInputDateRangeField
50
50
  }, defaultizedProps.slots),
51
51
  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
- }),
52
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
55
53
  toolbar: (0, _extends2.default)({
56
54
  hidden: false
57
55
  }, defaultizedProps.slotProps?.toolbar)
@@ -60,6 +58,7 @@ const MobileDateRangePicker = exports.MobileDateRangePicker = /*#__PURE__*/React
60
58
  const {
61
59
  renderPicker
62
60
  } = (0, _useMobileRangePicker.useMobileRangePicker)({
61
+ ref,
63
62
  props,
64
63
  valueManager: _valueManagers.rangeValueManager,
65
64
  valueType: 'date',
@@ -81,8 +80,8 @@ MobileDateRangePicker.propTypes = {
81
80
  autoFocus: _propTypes.default.bool,
82
81
  className: _propTypes.default.string,
83
82
  /**
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).
83
+ * If `true`, the Picker will close after submitting the full date.
84
+ * @default false
86
85
  */
87
86
  closeOnSelect: _propTypes.default.bool,
88
87
  /**
@@ -170,12 +169,10 @@ MobileDateRangePicker.propTypes = {
170
169
  formatDensity: _propTypes.default.oneOf(['dense', 'spacious']),
171
170
  /**
172
171
  * Pass a ref to the `input` element.
173
- * Ignored if the field has several inputs.
174
172
  */
175
173
  inputRef: _utils.refType,
176
174
  /**
177
175
  * The label content.
178
- * Ignored if the field has several inputs.
179
176
  */
180
177
  label: _propTypes.default.node,
181
178
  /**
@@ -201,7 +198,6 @@ MobileDateRangePicker.propTypes = {
201
198
  minDate: _propTypes.default.object,
202
199
  /**
203
200
  * Name attribute used by the `input` element in the Field.
204
- * Ignored if the field has several inputs.
205
201
  */
206
202
  name: _propTypes.default.string,
207
203
  /**
@@ -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
  }
@@ -114,21 +121,19 @@ const MobileDateTimeRangePicker = exports.MobileDateTimeRangePicker = /*#__PURE_
114
121
  field: _MultiInputDateTimeRangeField.MultiInputDateTimeRangeField
115
122
  }, defaultizedProps.slots),
116
123
  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
- }),
124
+ field: ownerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(defaultizedProps.slotProps?.field, ownerState), (0, _validation.extractValidationProps)(defaultizedProps)),
120
125
  tabs: (0, _extends2.default)({
121
126
  hidden: false
122
127
  }, defaultizedProps.slotProps?.tabs),
123
128
  toolbar: (0, _extends2.default)({
124
- hidden: false,
125
- toolbarVariant: 'mobile'
129
+ hidden: false
126
130
  }, defaultizedProps.slotProps?.toolbar)
127
131
  })
128
132
  });
129
133
  const {
130
134
  renderPicker
131
135
  } = (0, _useMobileRangePicker.useMobileRangePicker)({
136
+ ref,
132
137
  props,
133
138
  valueManager: _valueManagers.rangeValueManager,
134
139
  valueType: 'date-time',
@@ -156,8 +161,8 @@ MobileDateTimeRangePicker.propTypes = {
156
161
  autoFocus: _propTypes.default.bool,
157
162
  className: _propTypes.default.string,
158
163
  /**
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).
164
+ * If `true`, the Picker will close after submitting the full date.
165
+ * @default false
161
166
  */
162
167
  closeOnSelect: _propTypes.default.bool,
163
168
  /**
@@ -250,12 +255,10 @@ MobileDateTimeRangePicker.propTypes = {
250
255
  formatDensity: _propTypes.default.oneOf(['dense', 'spacious']),
251
256
  /**
252
257
  * Pass a ref to the `input` element.
253
- * Ignored if the field has several inputs.
254
258
  */
255
259
  inputRef: _utils.refType,
256
260
  /**
257
261
  * The label content.
258
- * Ignored if the field has several inputs.
259
262
  */
260
263
  label: _propTypes.default.node,
261
264
  /**
@@ -304,7 +307,6 @@ MobileDateTimeRangePicker.propTypes = {
304
307
  minutesStep: _propTypes.default.number,
305
308
  /**
306
309
  * Name attribute used by the `input` element in the Field.
307
- * Ignored if the field has several inputs.
308
310
  */
309
311
  name: _propTypes.default.string,
310
312
  /**
@@ -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
+ };