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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.d.ts +1 -1
  2. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  3. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  4. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.d.ts +1 -1
  5. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  6. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  7. package/CHANGELOG.md +242 -1
  8. package/DateRangeCalendar/DateRangeCalendar.js +12 -10
  9. package/DateRangePicker/DateRangePicker.js +1 -1
  10. package/DateRangePicker/DateRangePicker.types.d.ts +5 -0
  11. package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -3
  12. package/DateRangePicker/DateRangePickerToolbar.js +27 -19
  13. package/DateRangePicker/shared.d.ts +1 -1
  14. package/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  15. package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +3 -4
  16. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
  17. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
  18. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  19. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -3
  20. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
  21. package/DateTimeRangePicker/shared.d.ts +2 -2
  22. package/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +5 -0
  24. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  25. package/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  26. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  27. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +9 -4
  28. package/MultiInputDateRangeField/MultiInputDateRangeField.js +12 -116
  29. package/MultiInputDateRangeField/index.d.ts +5 -3
  30. package/MultiInputDateRangeField/index.js +2 -2
  31. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +6 -0
  32. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  33. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +9 -4
  34. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +12 -116
  35. package/MultiInputDateTimeRangeField/index.d.ts +5 -3
  36. package/MultiInputDateTimeRangeField/index.js +2 -2
  37. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +6 -0
  38. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  39. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +9 -4
  40. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -117
  41. package/MultiInputTimeRangeField/index.d.ts +5 -3
  42. package/MultiInputTimeRangeField/index.js +2 -2
  43. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +6 -0
  44. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  45. package/SingleInputDateRangeField/SingleInputDateRangeField.js +20 -30
  46. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -17
  47. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  48. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  49. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +20 -30
  50. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -18
  51. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  52. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  53. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -30
  54. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -18
  55. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  56. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  57. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
  58. package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  59. package/hooks/index.d.ts +2 -0
  60. package/hooks/index.js +2 -0
  61. package/hooks/package.json +6 -0
  62. package/hooks/useMultiInputRangeField/index.d.ts +1 -0
  63. package/hooks/useMultiInputRangeField/index.js +1 -0
  64. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
  65. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  66. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +17 -0
  67. package/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  68. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
  69. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  70. package/hooks/usePickerRangePositionContext.d.ts +7 -0
  71. package/hooks/usePickerRangePositionContext.js +15 -0
  72. package/index.d.ts +2 -0
  73. package/index.js +4 -2
  74. package/internals/hooks/models/index.d.ts +1 -1
  75. package/internals/hooks/models/useRangePicker.d.ts +6 -8
  76. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +40 -67
  77. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +3 -5
  78. package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +18 -9
  79. package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +39 -52
  80. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +33 -56
  81. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +3 -5
  82. package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
  83. package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  84. package/internals/hooks/useRangePosition.d.ts +2 -2
  85. package/internals/hooks/useRangePosition.js +1 -1
  86. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  87. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +2 -2
  88. package/internals/models/dateTimeRange.d.ts +1 -6
  89. package/internals/models/fields.d.ts +1 -2
  90. package/internals/models/index.d.ts +0 -1
  91. package/internals/models/index.js +0 -1
  92. package/internals/models/managers.d.ts +3 -0
  93. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
  94. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +133 -0
  95. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
  96. package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
  97. package/internals/utils/createMultiInputRangeField/index.js +2 -0
  98. package/internals/utils/date-range-manager.js +2 -1
  99. package/internals/utils/releaseInfo.js +1 -1
  100. package/internals/utils/valueManagers.js +7 -7
  101. package/managers/index.d.ts +6 -0
  102. package/managers/index.js +3 -0
  103. package/managers/package.json +6 -0
  104. package/managers/useDateRangeManager.d.ts +15 -0
  105. package/managers/useDateRangeManager.js +33 -0
  106. package/managers/useDateTimeRangeManager.d.ts +15 -0
  107. package/managers/useDateTimeRangeManager.js +33 -0
  108. package/managers/useTimeRangeManager.d.ts +15 -0
  109. package/managers/useTimeRangeManager.js +31 -0
  110. package/models/fields.d.ts +1 -2
  111. package/models/index.d.ts +0 -2
  112. package/models/index.js +0 -2
  113. package/models/range.d.ts +0 -1
  114. package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  115. package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  116. package/modern/DateRangeCalendar/DateRangeCalendar.js +12 -10
  117. package/modern/DateRangePicker/DateRangePicker.js +1 -1
  118. package/modern/DateRangePicker/DateRangePickerToolbar.js +27 -19
  119. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  120. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
  121. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  122. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
  123. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  124. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  125. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  126. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  127. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +12 -116
  128. package/modern/MultiInputDateRangeField/index.js +2 -2
  129. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  130. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +12 -116
  131. package/modern/MultiInputDateTimeRangeField/index.js +2 -2
  132. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  133. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +13 -117
  134. package/modern/MultiInputTimeRangeField/index.js +2 -2
  135. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  136. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +20 -30
  137. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  138. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +20 -30
  139. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  140. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +20 -30
  141. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  142. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  143. package/modern/hooks/index.js +2 -0
  144. package/modern/hooks/useMultiInputRangeField/index.js +1 -0
  145. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  146. package/modern/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  147. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  148. package/modern/hooks/usePickerRangePositionContext.js +15 -0
  149. package/modern/index.js +4 -2
  150. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +40 -67
  151. package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +39 -52
  152. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +33 -56
  153. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  154. package/modern/internals/hooks/useRangePosition.js +1 -1
  155. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  156. package/modern/internals/models/index.js +0 -1
  157. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +133 -0
  158. package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
  159. package/modern/internals/utils/date-range-manager.js +2 -1
  160. package/modern/internals/utils/releaseInfo.js +1 -1
  161. package/modern/internals/utils/valueManagers.js +7 -7
  162. package/modern/managers/index.js +3 -0
  163. package/modern/managers/useDateRangeManager.js +33 -0
  164. package/modern/managers/useDateTimeRangeManager.js +33 -0
  165. package/modern/managers/useTimeRangeManager.js +31 -0
  166. package/modern/models/index.js +0 -2
  167. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  168. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  169. package/node/DateRangeCalendar/DateRangeCalendar.js +12 -10
  170. package/node/DateRangePicker/DateRangePicker.js +1 -1
  171. package/node/DateRangePicker/DateRangePickerToolbar.js +26 -18
  172. package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -2
  173. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +10 -9
  174. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  175. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +29 -31
  176. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +9 -3
  177. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +17 -14
  178. package/node/MobileDateRangePicker/MobileDateRangePicker.js +2 -2
  179. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +15 -8
  180. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +11 -119
  181. package/node/MultiInputDateRangeField/index.js +3 -9
  182. package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
  183. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +11 -119
  184. package/node/MultiInputDateTimeRangeField/index.js +3 -9
  185. package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
  186. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +12 -120
  187. package/node/MultiInputTimeRangeField/index.js +3 -9
  188. package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
  189. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +19 -29
  190. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  191. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +19 -29
  192. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  193. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +19 -29
  194. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  195. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  196. package/node/hooks/index.js +19 -0
  197. package/node/hooks/useMultiInputRangeField/index.js +12 -0
  198. package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
  199. package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
  200. package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
  201. package/node/hooks/usePickerRangePositionContext.js +22 -0
  202. package/node/index.js +23 -1
  203. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +39 -66
  204. package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +41 -54
  205. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +32 -55
  206. package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
  207. package/node/internals/hooks/useRangePosition.js +1 -1
  208. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +14 -24
  209. package/node/internals/models/index.js +0 -11
  210. package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +140 -0
  211. package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
  212. package/node/internals/utils/date-range-manager.js +2 -1
  213. package/node/internals/utils/releaseInfo.js +1 -1
  214. package/node/internals/utils/valueManagers.js +7 -7
  215. package/node/managers/index.js +26 -0
  216. package/node/managers/useDateRangeManager.js +40 -0
  217. package/node/managers/useDateTimeRangeManager.js +40 -0
  218. package/node/managers/useTimeRangeManager.js +38 -0
  219. package/node/models/index.js +0 -22
  220. package/package.json +5 -5
  221. package/themeAugmentation/overrides.d.ts +6 -4
  222. package/themeAugmentation/props.d.ts +2 -2
  223. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -55
  224. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -56
  225. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -56
  226. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -20
  227. package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
  228. package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  229. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
  230. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  231. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
  232. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  233. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
  234. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
  235. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  236. package/internals/models/timeRange.d.ts +0 -6
  237. package/internals/models/timeRange.js +0 -1
  238. package/models/dateRange.d.ts +0 -7
  239. package/models/dateRange.js +0 -1
  240. package/models/multiInputRangeFieldClasses.d.ts +0 -7
  241. package/models/multiInputRangeFieldClasses.js +0 -1
  242. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  243. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  244. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  245. package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  246. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  247. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  248. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  249. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  250. package/modern/internals/models/timeRange.js +0 -1
  251. package/modern/models/dateRange.js +0 -1
  252. package/modern/models/multiInputRangeFieldClasses.js +0 -1
  253. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
  254. package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
  255. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -121
  256. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -121
  257. package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
  258. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -121
  259. package/node/internals/models/timeRange.js +0 -5
  260. package/node/models/dateRange.js +0 -5
  261. package/node/models/multiInputRangeFieldClasses.js +0 -5
  262. /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  263. /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  264. /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
  265. /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  266. /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  267. /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
@@ -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,6 @@
1
+ import { MultiInputRangeFieldClasses } from '../internals/utils/createMultiInputRangeField';
2
+ export interface MultiInputDateRangeFieldClasses extends MultiInputRangeFieldClasses {
3
+ }
4
+ export type MultiInputDateRangeFieldClassKey = keyof MultiInputRangeFieldClasses;
5
+ export declare const multiInputDateRangeFieldClasses: MultiInputRangeFieldClasses;
6
+ export declare const getMultiInputDateRangeFieldUtilityClass: (slot: string) => string;
@@ -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);
@@ -1,8 +1,13 @@
1
1
  import * as React from 'react';
2
- import { MultiInputDateTimeRangeFieldProps } from './MultiInputDateTimeRangeField.types';
3
- import { MultiInputRangeFieldClasses } from '../models';
4
- export declare const multiInputDateTimeRangeFieldClasses: MultiInputRangeFieldClasses;
5
- export declare const getMultiInputDateTimeRangeFieldUtilityClass: (slot: string) => string;
2
+ import { UseDateTimeRangeManagerReturnValue } from '../managers';
3
+ import { MultiInputRangeFieldProps } from '../internals/utils/createMultiInputRangeField';
4
+ import { MultiInputDateTimeRangeFieldClasses } from './multiInputDateTimeRangeFieldClasses';
5
+ export interface MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MultiInputRangeFieldProps<UseDateTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure>> {
6
+ /**
7
+ * Override or extend the styles applied to the component.
8
+ */
9
+ classes?: Partial<MultiInputDateTimeRangeFieldClasses>;
10
+ }
6
11
  type MultiInputDateTimeRangeFieldComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
12
  propTypes?: any;
8
13
  };
@@ -1,48 +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", "classes"];
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, useFieldOwnerState } 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 { useMultiInputDateTimeRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js";
19
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- export const multiInputDateTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
21
- export const getMultiInputDateTimeRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateTimeRangeField', slot);
22
- const useUtilityClasses = classes => {
23
- const slots = {
24
- root: ['root'],
25
- separator: ['separator']
26
- };
27
- return composeClasses(slots, getMultiInputDateTimeRangeFieldUtilityClass, classes);
28
- };
29
- const MultiInputDateTimeRangeFieldRoot = styled(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
30
- ref: ref,
31
- spacing: 2,
32
- direction: "row",
33
- alignItems: "center"
34
- }, props))), {
35
- name: 'MuiMultiInputDateTimeRangeField',
36
- slot: 'Root',
37
- overridesResolver: (props, styles) => styles.root
38
- })({});
39
- const MultiInputDateTimeRangeFieldSeparator = styled(Typography, {
40
- name: 'MuiMultiInputDateTimeRangeField',
41
- slot: 'Separator',
42
- overridesResolver: (props, styles) => styles.separator
43
- })({
44
- lineHeight: '1.4375em' // 23px
45
- });
4
+ import { useDateTimeRangeManager } from "../managers/index.js";
5
+ import {
6
+ // The alias is needed to have the doc gen working.
7
+ createMultiInputRangeField as createMultiInputDateTimeRangeField } from "../internals/utils/createMultiInputRangeField/index.js";
8
+ import { getMultiInputDateTimeRangeFieldUtilityClass } from "./multiInputDateTimeRangeFieldClasses.js";
46
9
  /**
47
10
  * Demos:
48
11
  *
@@ -53,80 +16,12 @@ const MultiInputDateTimeRangeFieldSeparator = styled(Typography, {
53
16
  *
54
17
  * - [MultiInputDateTimeRangeField API](https://mui.com/x/api/multi-input-date-time-range-field/)
55
18
  */
56
- const MultiInputDateTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInputDateTimeRangeField(inProps, ref) {
57
- const themeProps = useThemeProps({
58
- props: inProps,
59
- name: 'MuiMultiInputDateTimeRangeField'
60
- });
61
- const {
62
- internalProps,
63
- forwardedProps
64
- } = useSplitFieldProps(themeProps, 'date-time');
65
- const {
66
- slots,
67
- slotProps,
68
- unstableStartFieldRef,
69
- unstableEndFieldRef,
70
- className,
71
- classes: classesProp
72
- } = forwardedProps,
73
- otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
74
- const ownerState = useFieldOwnerState(themeProps);
75
- const classes = useUtilityClasses(classesProp);
76
- const Root = slots?.root ?? MultiInputDateTimeRangeFieldRoot;
77
- const rootProps = useSlotProps({
78
- elementType: Root,
79
- externalSlotProps: slotProps?.root,
80
- externalForwardedProps: otherForwardedProps,
81
- additionalProps: {
82
- ref
83
- },
84
- ownerState,
85
- className: clsx(className, classes.root)
86
- });
87
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
88
- const startTextFieldProps = useSlotProps({
89
- elementType: TextField,
90
- externalSlotProps: slotProps?.textField,
91
- ownerState: _extends({}, ownerState, {
92
- position: 'start'
93
- })
94
- });
95
- const endTextFieldProps = useSlotProps({
96
- elementType: TextField,
97
- externalSlotProps: slotProps?.textField,
98
- ownerState: _extends({}, ownerState, {
99
- position: 'end'
100
- })
101
- });
102
- const Separator = slots?.separator ?? MultiInputDateTimeRangeFieldSeparator;
103
- const separatorProps = useSlotProps({
104
- elementType: Separator,
105
- externalSlotProps: slotProps?.separator,
106
- additionalProps: {
107
- children: ` ${internalProps.dateSeparator ?? '–'} `
108
- },
109
- ownerState,
110
- className: classes.separator
111
- });
112
- const fieldResponse = useMultiInputDateTimeRangeField({
113
- sharedProps: internalProps,
114
- startTextFieldProps,
115
- endTextFieldProps,
116
- unstableStartFieldRef,
117
- unstableEndFieldRef
118
- });
119
- const startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
120
- const endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
121
- return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
122
- children: [/*#__PURE__*/_jsx(TextField, _extends({
123
- fullWidth: true
124
- }, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
125
- fullWidth: true
126
- }, endDateProps))]
127
- }));
19
+ const MultiInputDateTimeRangeField = createMultiInputDateTimeRangeField({
20
+ name: 'MuiMultiInputDateTimeRangeField',
21
+ getUtilityClass: getMultiInputDateTimeRangeFieldUtilityClass,
22
+ useManager: useDateTimeRangeManager
128
23
  });
129
- process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes = {
24
+ MultiInputDateTimeRangeField.propTypes = {
130
25
  // ----------------------------- Warning --------------------------------
131
26
  // | These PropTypes are generated from the TypeScript type definitions |
132
27
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -138,6 +33,7 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
138
33
  ampm: PropTypes.bool,
139
34
  /**
140
35
  * If `true`, the `input` element is focused during the first mount.
36
+ * @default false
141
37
  */
142
38
  autoFocus: PropTypes.bool,
143
39
  /**
@@ -355,5 +251,5 @@ process.env.NODE_ENV !== "production" ? MultiInputDateTimeRangeField.propTypes =
355
251
  * Used when the component is controlled.
356
252
  */
357
253
  value: PropTypes.arrayOf(PropTypes.object)
358
- } : void 0;
254
+ };
359
255
  export { MultiInputDateTimeRangeField };
@@ -1,3 +1,5 @@
1
- export { MultiInputDateTimeRangeField, getMultiInputDateTimeRangeFieldUtilityClass, multiInputDateTimeRangeFieldClasses, } from './MultiInputDateTimeRangeField';
2
- export { useMultiInputDateTimeRangeField as unstable_useMultiInputDateTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField';
3
- export type { UseMultiInputDateTimeRangeFieldProps, UseMultiInputDateTimeRangeFieldComponentProps, MultiInputDateTimeRangeFieldProps, } from './MultiInputDateTimeRangeField.types';
1
+ export { MultiInputDateTimeRangeField } from './MultiInputDateTimeRangeField';
2
+ export type { MultiInputDateTimeRangeFieldProps } from './MultiInputDateTimeRangeField';
3
+ export { multiInputDateTimeRangeFieldClasses, getMultiInputDateTimeRangeFieldUtilityClass, } from './multiInputDateTimeRangeFieldClasses';
4
+ export type { MultiInputDateTimeRangeFieldClassKey, MultiInputDateTimeRangeFieldClasses, } from './multiInputDateTimeRangeFieldClasses';
5
+ export type { MultiInputRangeFieldSlots as MultiInputDateTimeRangeFieldSlots, MultiInputRangeFieldSlotProps as MultiInputDateTimeRangeFieldSlotProps, } from '../internals/utils/createMultiInputRangeField';
@@ -1,2 +1,2 @@
1
- export { MultiInputDateTimeRangeField, getMultiInputDateTimeRangeFieldUtilityClass, multiInputDateTimeRangeFieldClasses } from "./MultiInputDateTimeRangeField.js";
2
- export { useMultiInputDateTimeRangeField as unstable_useMultiInputDateTimeRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js";
1
+ export { MultiInputDateTimeRangeField } from "./MultiInputDateTimeRangeField.js";
2
+ export { multiInputDateTimeRangeFieldClasses, getMultiInputDateTimeRangeFieldUtilityClass } from "./multiInputDateTimeRangeFieldClasses.js";
@@ -0,0 +1,6 @@
1
+ import { MultiInputRangeFieldClasses } from '../internals/utils/createMultiInputRangeField';
2
+ export interface MultiInputDateTimeRangeFieldClasses extends MultiInputRangeFieldClasses {
3
+ }
4
+ export type MultiInputDateTimeRangeFieldClassKey = keyof MultiInputRangeFieldClasses;
5
+ export declare const multiInputDateTimeRangeFieldClasses: MultiInputRangeFieldClasses;
6
+ export declare const getMultiInputDateTimeRangeFieldUtilityClass: (slot: string) => string;
@@ -0,0 +1,4 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export const multiInputDateTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputDateTimeRangeField', ['root', 'separator']);
4
+ export const getMultiInputDateTimeRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputDateTimeRangeField', slot);
@@ -1,8 +1,13 @@
1
1
  import * as React from 'react';
2
- import { MultiInputTimeRangeFieldProps } from './MultiInputTimeRangeField.types';
3
- import { MultiInputRangeFieldClasses } from '../models';
4
- export declare const multiInputTimeRangeFieldClasses: MultiInputRangeFieldClasses;
5
- export declare const getMultiInputTimeRangeFieldUtilityClass: (slot: string) => string;
2
+ import { UseTimeRangeManagerReturnValue } from '../managers';
3
+ import { MultiInputRangeFieldProps } from '../internals/utils/createMultiInputRangeField';
4
+ import { MultiInputTimeRangeFieldClasses } from './multiInputTimeRangeFieldClasses';
5
+ export interface MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MultiInputRangeFieldProps<UseTimeRangeManagerReturnValue<TEnableAccessibleFieldDOMStructure>> {
6
+ /**
7
+ * Override or extend the styles applied to the component.
8
+ */
9
+ classes?: Partial<MultiInputTimeRangeFieldClasses>;
10
+ }
6
11
  type MultiInputTimeRangeFieldComponent = (<TEnableAccessibleFieldDOMStructure extends boolean = true>(props: MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & React.RefAttributes<HTMLDivElement>) => React.JSX.Element) & {
7
12
  propTypes?: any;
8
13
  };
@@ -1,48 +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", "classes"];
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, useFieldOwnerState } 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 { useMultiInputTimeRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js";
19
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
- export const multiInputTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputTimeRangeField', ['root', 'separator']);
21
- export const getMultiInputTimeRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputTimeRangeField', slot);
22
- const useUtilityClasses = classes => {
23
- const slots = {
24
- root: ['root'],
25
- separator: ['separator']
26
- };
27
- return composeClasses(slots, getMultiInputTimeRangeFieldUtilityClass, classes);
28
- };
29
- const MultiInputTimeRangeFieldRoot = styled(/*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/_jsx(Stack, _extends({
30
- ref: ref,
31
- spacing: 2,
32
- direction: "row",
33
- alignItems: "center"
34
- }, props))), {
35
- name: 'MuiMultiInputTimeRangeField',
36
- slot: 'Root',
37
- overridesResolver: (props, styles) => styles.root
38
- })({});
39
- const MultiInputTimeRangeFieldSeparator = styled(Typography, {
40
- name: 'MuiMultiInputTimeRangeField',
41
- slot: 'Separator',
42
- overridesResolver: (props, styles) => styles.separator
43
- })({
44
- lineHeight: '1.4375em' // 23px
45
- });
4
+ import { useTimeRangeManager } from "../managers/index.js";
5
+ import {
6
+ // The alias is needed to have the doc gen working.
7
+ createMultiInputRangeField as createMultiInputTimeRangeField } from "../internals/utils/createMultiInputRangeField/index.js";
8
+ import { getMultiInputTimeRangeFieldUtilityClass } from "./multiInputTimeRangeFieldClasses.js";
46
9
  /**
47
10
  * Demos:
48
11
  *
@@ -53,80 +16,12 @@ const MultiInputTimeRangeFieldSeparator = styled(Typography, {
53
16
  *
54
17
  * - [MultiInputTimeRangeField API](https://mui.com/x/api/multi-input-time-range-field/)
55
18
  */
56
- const MultiInputTimeRangeField = /*#__PURE__*/React.forwardRef(function MultiInputTimeRangeField(inProps, ref) {
57
- const themeProps = useThemeProps({
58
- props: inProps,
59
- name: 'MuiMultiInputTimeRangeField'
60
- });
61
- const {
62
- internalProps,
63
- forwardedProps
64
- } = useSplitFieldProps(themeProps, 'time');
65
- const {
66
- slots,
67
- slotProps,
68
- unstableStartFieldRef,
69
- unstableEndFieldRef,
70
- className,
71
- classes: classesProp
72
- } = forwardedProps,
73
- otherForwardedProps = _objectWithoutPropertiesLoose(forwardedProps, _excluded);
74
- const ownerState = useFieldOwnerState(themeProps);
75
- const classes = useUtilityClasses(classesProp);
76
- const Root = slots?.root ?? MultiInputTimeRangeFieldRoot;
77
- const rootProps = useSlotProps({
78
- elementType: Root,
79
- externalSlotProps: slotProps?.root,
80
- externalForwardedProps: otherForwardedProps,
81
- additionalProps: {
82
- ref
83
- },
84
- ownerState,
85
- className: clsx(className, classes.root)
86
- });
87
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
88
- const startTextFieldProps = useSlotProps({
89
- elementType: TextField,
90
- externalSlotProps: slotProps?.textField,
91
- ownerState: _extends({}, ownerState, {
92
- position: 'start'
93
- })
94
- });
95
- const endTextFieldProps = useSlotProps({
96
- elementType: TextField,
97
- externalSlotProps: slotProps?.textField,
98
- ownerState: _extends({}, ownerState, {
99
- position: 'end'
100
- })
101
- });
102
- const Separator = slots?.separator ?? MultiInputTimeRangeFieldSeparator;
103
- const separatorProps = useSlotProps({
104
- elementType: Separator,
105
- externalSlotProps: slotProps?.separator,
106
- additionalProps: {
107
- children: ` ${internalProps.dateSeparator ?? '–'} `
108
- },
109
- ownerState,
110
- className: classes.separator
111
- });
112
- const fieldResponse = useMultiInputTimeRangeField({
113
- sharedProps: internalProps,
114
- startTextFieldProps,
115
- endTextFieldProps,
116
- unstableStartFieldRef,
117
- unstableEndFieldRef
118
- });
119
- const startDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.startDate);
120
- const endDateProps = convertFieldResponseIntoMuiTextFieldProps(fieldResponse.endDate);
121
- return /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
122
- children: [/*#__PURE__*/_jsx(TextField, _extends({
123
- fullWidth: true
124
- }, startDateProps)), /*#__PURE__*/_jsx(Separator, _extends({}, separatorProps)), /*#__PURE__*/_jsx(TextField, _extends({
125
- fullWidth: true
126
- }, endDateProps))]
127
- }));
19
+ const MultiInputTimeRangeField = createMultiInputTimeRangeField({
20
+ name: 'MuiMultiInputTimeRangeField',
21
+ getUtilityClass: getMultiInputTimeRangeFieldUtilityClass,
22
+ useManager: useTimeRangeManager
128
23
  });
129
- process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
24
+ MultiInputTimeRangeField.propTypes = {
130
25
  // ----------------------------- Warning --------------------------------
131
26
  // | These PropTypes are generated from the TypeScript type definitions |
132
27
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -138,6 +33,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
138
33
  ampm: PropTypes.bool,
139
34
  /**
140
35
  * If `true`, the `input` element is focused during the first mount.
36
+ * @default false
141
37
  */
142
38
  autoFocus: PropTypes.bool,
143
39
  /**
@@ -288,7 +184,7 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
288
184
  */
289
185
  slotProps: PropTypes.object,
290
186
  /**
291
- * Overridable slots.
187
+ * Overridable component slots.
292
188
  * @default {}
293
189
  */
294
190
  slots: PropTypes.object,
@@ -327,5 +223,5 @@ process.env.NODE_ENV !== "production" ? MultiInputTimeRangeField.propTypes = {
327
223
  * Used when the component is controlled.
328
224
  */
329
225
  value: PropTypes.arrayOf(PropTypes.object)
330
- } : void 0;
226
+ };
331
227
  export { MultiInputTimeRangeField };
@@ -1,3 +1,5 @@
1
- export { MultiInputTimeRangeField, getMultiInputTimeRangeFieldUtilityClass, multiInputTimeRangeFieldClasses, } from './MultiInputTimeRangeField';
2
- export { useMultiInputTimeRangeField as unstable_useMultiInputTimeRangeField } from '../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField';
3
- export type { UseMultiInputTimeRangeFieldProps, UseMultiInputTimeRangeFieldComponentProps, MultiInputTimeRangeFieldProps, } from './MultiInputTimeRangeField.types';
1
+ export { MultiInputTimeRangeField } from './MultiInputTimeRangeField';
2
+ export type { MultiInputTimeRangeFieldProps } from './MultiInputTimeRangeField';
3
+ export { multiInputTimeRangeFieldClasses, getMultiInputTimeRangeFieldUtilityClass, } from './multiInputTimeRangeFieldClasses';
4
+ export type { MultiInputTimeRangeFieldClassKey, MultiInputTimeRangeFieldClasses, } from './multiInputTimeRangeFieldClasses';
5
+ export type { MultiInputRangeFieldSlots as MultiInputTimeRangeFieldSlots, MultiInputRangeFieldSlotProps as MultiInputTimeRangeFieldSlotProps, } from '../internals/utils/createMultiInputRangeField';
@@ -1,2 +1,2 @@
1
- export { MultiInputTimeRangeField, getMultiInputTimeRangeFieldUtilityClass, multiInputTimeRangeFieldClasses } from "./MultiInputTimeRangeField.js";
2
- export { useMultiInputTimeRangeField as unstable_useMultiInputTimeRangeField } from "../internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js";
1
+ export { MultiInputTimeRangeField } from "./MultiInputTimeRangeField.js";
2
+ export { multiInputTimeRangeFieldClasses, getMultiInputTimeRangeFieldUtilityClass } from "./multiInputTimeRangeFieldClasses.js";
@@ -0,0 +1,6 @@
1
+ import { MultiInputRangeFieldClasses } from '../internals/utils/createMultiInputRangeField';
2
+ export interface MultiInputTimeRangeFieldClasses extends MultiInputRangeFieldClasses {
3
+ }
4
+ export type MultiInputTimeRangeFieldClassKey = keyof MultiInputRangeFieldClasses;
5
+ export declare const multiInputTimeRangeFieldClasses: MultiInputRangeFieldClasses;
6
+ export declare const getMultiInputTimeRangeFieldUtilityClass: (slot: string) => string;
@@ -0,0 +1,4 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export const multiInputTimeRangeFieldClasses = generateUtilityClasses('MuiMultiInputTimeRangeField', ['root', 'separator']);
4
+ export const getMultiInputTimeRangeFieldUtilityClass = slot => generateUtilityClass('MuiMultiInputTimeRangeField', slot);
@@ -1,17 +1,13 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["slots", "slotProps", "InputProps", "inputProps"];
4
+ const _excluded = ["slots", "slotProps"];
6
5
  import * as React from 'react';
7
6
  import PropTypes from 'prop-types';
8
- import MuiTextField from '@mui/material/TextField';
9
7
  import { useThemeProps } from '@mui/material/styles';
10
- import useSlotProps from '@mui/utils/useSlotProps';
11
8
  import { refType } from '@mui/utils';
12
- import { useClearableField } from '@mui/x-date-pickers/hooks';
13
- import { convertFieldResponseIntoMuiTextFieldProps, useFieldOwnerState } from '@mui/x-date-pickers/internals';
14
- import { PickersTextField } from '@mui/x-date-pickers/PickersTextField';
9
+ import { DateRangeIcon } from '@mui/x-date-pickers/icons';
10
+ import { PickerFieldUI, useFieldTextFieldProps } from '@mui/x-date-pickers/internals';
15
11
  import { useSingleInputDateRangeField } from "./useSingleInputDateRangeField.js";
16
12
  import { jsx as _jsx } from "react/jsx-runtime";
17
13
  /**
@@ -31,33 +27,21 @@ const SingleInputDateRangeField = /*#__PURE__*/React.forwardRef(function SingleI
31
27
  });
32
28
  const {
33
29
  slots,
34
- slotProps,
35
- InputProps,
36
- inputProps
30
+ slotProps
37
31
  } = themeProps,
38
32
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
39
- const ownerState = useFieldOwnerState(themeProps);
40
- const TextField = slots?.textField ?? (inProps.enableAccessibleFieldDOMStructure === false ? MuiTextField : PickersTextField);
41
- const textFieldProps = useSlotProps({
42
- elementType: TextField,
43
- externalSlotProps: slotProps?.textField,
44
- externalForwardedProps: other,
45
- ownerState,
46
- additionalProps: {
47
- ref: inRef
48
- }
33
+ const textFieldProps = useFieldTextFieldProps({
34
+ slotProps,
35
+ ref: inRef,
36
+ externalForwardedProps: other
49
37
  });
50
-
51
- // TODO: Remove when mui/material-ui#35088 will be merged
52
- textFieldProps.inputProps = _extends({}, inputProps, textFieldProps.inputProps);
53
- textFieldProps.InputProps = _extends({}, InputProps, textFieldProps.InputProps);
54
38
  const fieldResponse = useSingleInputDateRangeField(textFieldProps);
55
- const convertedFieldResponse = convertFieldResponseIntoMuiTextFieldProps(fieldResponse);
56
- const processedFieldProps = useClearableField(_extends({}, convertedFieldResponse, {
57
- slots,
58
- slotProps
59
- }));
60
- return /*#__PURE__*/_jsx(TextField, _extends({}, processedFieldProps));
39
+ return /*#__PURE__*/_jsx(PickerFieldUI, {
40
+ slots: slots,
41
+ slotProps: slotProps,
42
+ fieldResponse: fieldResponse,
43
+ defaultOpenPickerIcon: DateRangeIcon
44
+ });
61
45
  });
62
46
  SingleInputDateRangeField.fieldType = 'single-input';
63
47
  process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
@@ -76,6 +60,12 @@ process.env.NODE_ENV !== "production" ? SingleInputDateRangeField.propTypes = {
76
60
  * @default false
77
61
  */
78
62
  clearable: PropTypes.bool,
63
+ /**
64
+ * The position at which the clear button is placed.
65
+ * If the field is not clearable, the button is not rendered.
66
+ * @default 'end'
67
+ */
68
+ clearButtonPosition: PropTypes.oneOf(['end', 'start']),
79
69
  /**
80
70
  * The color of the component.
81
71
  * It supports both default and custom theme colors, which can be added as shown in the
@@ -1,12 +1,7 @@
1
- import * as React from 'react';
2
- import { TextFieldProps } from '@mui/material/TextField';
3
- import { SlotComponentPropsFromProps } from '@mui/x-internals/types';
4
- import { PickerRangeValue, UseFieldInternalProps } from '@mui/x-date-pickers/internals';
5
- import { BuiltInFieldTextFieldProps, FieldOwnerState } from '@mui/x-date-pickers/models';
6
- import { ExportedUseClearableFieldProps, UseClearableFieldSlots, UseClearableFieldSlotProps } from '@mui/x-date-pickers/hooks';
7
- import { PickersTextFieldProps } from '@mui/x-date-pickers/PickersTextField';
8
- import type { DateRangeValidationError, UseDateRangeFieldProps } from '../models';
9
- export interface UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends UseDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, ExportedUseClearableFieldProps, Pick<UseFieldInternalProps<PickerRangeValue, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'unstableFieldRef'> {
1
+ import { ExportedPickerFieldUIProps, PickerFieldUISlots, PickerFieldUISlotProps } from '@mui/x-date-pickers/internals';
2
+ import { BuiltInFieldTextFieldProps } from '@mui/x-date-pickers/models';
3
+ import { DateRangeManagerFieldInternalProps } from '../managers/useDateRangeManager';
4
+ export interface UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends DateRangeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, Omit<ExportedPickerFieldUIProps, 'openPickerButtonPosition'> {
10
5
  }
11
6
  export type SingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> = Omit<BuiltInFieldTextFieldProps<TEnableAccessibleFieldDOMStructure>, keyof UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
12
7
  /**
@@ -20,13 +15,7 @@ export type SingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure ex
20
15
  */
21
16
  slotProps?: SingleInputDateRangeFieldSlotProps;
22
17
  };
23
- export interface SingleInputDateRangeFieldSlots extends UseClearableFieldSlots {
24
- /**
25
- * Form control with an input to render the value.
26
- * @default <PickersTextField />, or <TextField /> from '@mui/material' if `enableAccessibleFieldDOMStructure` is `false`.
27
- */
28
- textField?: React.ElementType;
18
+ export interface SingleInputDateRangeFieldSlots extends PickerFieldUISlots {
29
19
  }
30
- export interface SingleInputDateRangeFieldSlotProps extends UseClearableFieldSlotProps {
31
- textField?: SlotComponentPropsFromProps<PickersTextFieldProps | TextFieldProps, {}, FieldOwnerState>;
20
+ export interface SingleInputDateRangeFieldSlotProps extends PickerFieldUISlotProps {
32
21
  }
@@ -1,2 +1,2 @@
1
1
  import { UseSingleInputDateRangeFieldProps } from './SingleInputDateRangeField.types';
2
- export declare const useSingleInputDateRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(inProps: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps & Omit<UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateFieldBaseProps> & Required<Pick<UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, keyof import("@mui/x-date-pickers/internals/hooks/defaultizedFieldProps").UseDefaultizedDateFieldBaseProps>>, "disabled" | "format" | "onChange" | "onError" | "defaultValue" | "value" | "readOnly" | "referenceDate" | "timezone" | "formatDensity" | "enableAccessibleFieldDOMStructure" | "selectedSections" | "onSelectedSectionsChange" | "shouldRespectLeadingZeros" | "unstableFieldRef" | keyof import("@mui/x-date-pickers/internals").BaseDateValidationProps | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "dateSeparator">>;
2
+ export declare const useSingleInputDateRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TAllProps extends UseSingleInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>(props: TAllProps) => import("@mui/x-date-pickers/internals").UseFieldResponse<TEnableAccessibleFieldDOMStructure, Omit<TAllProps, "disabled" | "readOnly" | "value" | "defaultValue" | "autoFocus" | "onChange" | "onError" | "format" | "enableAccessibleFieldDOMStructure" | "unstableFieldRef" | "referenceDate" | "formatDensity" | "shouldRespectLeadingZeros" | "selectedSections" | "onSelectedSectionsChange" | "timezone" | keyof import("@mui/x-date-pickers/internals").BaseDateValidationProps | "shouldDisableDate" | "shouldDisableMonth" | "shouldDisableYear" | "unstableStartFieldRef" | "unstableEndFieldRef" | "dateSeparator">>;
@@ -1,25 +1,25 @@
1
1
  'use client';
2
2
 
3
- import * as React from 'react';
4
- import { useField, useDefaultizedDateField } from '@mui/x-date-pickers/internals';
3
+ import { useField, useFieldInternalPropsWithDefaults } from '@mui/x-date-pickers/internals';
5
4
  import { useSplitFieldProps } from '@mui/x-date-pickers/hooks';
6
- import { rangeValueManager, getRangeFieldValueManager } from "../internals/utils/valueManagers.js";
7
- import { validateDateRange } from "../validation/index.js";
8
- export const useSingleInputDateRangeField = inProps => {
9
- const props = useDefaultizedDateField(inProps);
5
+ import { useDateRangeManager } from "../managers/index.js";
6
+ export const useSingleInputDateRangeField = props => {
7
+ const manager = useDateRangeManager(props);
10
8
  const {
11
9
  forwardedProps,
12
10
  internalProps
13
11
  } = useSplitFieldProps(props, 'date');
14
- const fieldValueManager = React.useMemo(() => getRangeFieldValueManager({
15
- dateSeparator: internalProps.dateSeparator
16
- }), [internalProps.dateSeparator]);
12
+ const internalPropsWithDefaults = useFieldInternalPropsWithDefaults({
13
+ manager,
14
+ internalProps
15
+ });
17
16
  return useField({
18
17
  forwardedProps,
19
- internalProps,
20
- valueManager: rangeValueManager,
21
- fieldValueManager,
22
- validator: validateDateRange,
23
- valueType: 'date'
18
+ internalProps: internalPropsWithDefaults,
19
+ valueManager: manager.internal_valueManager,
20
+ fieldValueManager: manager.internal_fieldValueManager,
21
+ validator: manager.validator,
22
+ valueType: manager.valueType,
23
+ getOpenPickerButtonAriaLabel: manager.internal_getOpenPickerButtonAriaLabel
24
24
  });
25
25
  };