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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.d.ts +1 -1
  2. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  3. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  4. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.d.ts +1 -1
  5. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  6. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  7. package/CHANGELOG.md +2215 -119
  8. package/DateRangeCalendar/DateRangeCalendar.js +18 -14
  9. package/DateRangePicker/DateRangePicker.js +1 -4
  10. package/DateRangePicker/DateRangePicker.types.d.ts +6 -2
  11. package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -3
  12. package/DateRangePicker/DateRangePickerToolbar.js +33 -53
  13. package/DateRangePicker/shared.d.ts +4 -3
  14. package/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  15. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +1 -2
  16. package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +4 -5
  17. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
  18. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
  19. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  20. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -5
  21. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +85 -123
  22. package/DateTimeRangePicker/shared.d.ts +6 -5
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  24. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +7 -2
  25. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  26. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +2 -3
  27. package/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  28. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +2 -2
  29. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  30. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +2 -3
  31. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +9 -4
  32. package/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
  33. package/MultiInputDateRangeField/index.d.ts +5 -3
  34. package/MultiInputDateRangeField/index.js +2 -2
  35. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +6 -0
  36. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  37. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +9 -4
  38. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
  39. package/MultiInputDateTimeRangeField/index.d.ts +5 -3
  40. package/MultiInputDateTimeRangeField/index.js +2 -2
  41. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +6 -0
  42. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  43. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +9 -4
  44. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
  45. package/MultiInputTimeRangeField/index.d.ts +5 -3
  46. package/MultiInputTimeRangeField/index.js +2 -2
  47. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +6 -0
  48. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  49. package/README.md +10 -7
  50. package/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  51. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -16
  52. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  53. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  54. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  55. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -17
  56. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  57. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  58. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  59. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -17
  60. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  61. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  62. package/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  63. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +2 -2
  64. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
  65. package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  66. package/hooks/index.d.ts +2 -0
  67. package/hooks/index.js +2 -0
  68. package/hooks/package.json +6 -0
  69. package/hooks/useMultiInputRangeField/index.d.ts +1 -0
  70. package/hooks/useMultiInputRangeField/index.js +1 -0
  71. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
  72. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  73. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +17 -0
  74. package/{modern/internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  75. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
  76. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  77. package/hooks/usePickerRangePositionContext.d.ts +7 -0
  78. package/hooks/usePickerRangePositionContext.js +15 -0
  79. package/index.d.ts +2 -0
  80. package/index.js +4 -2
  81. package/internals/hooks/models/index.d.ts +1 -1
  82. package/internals/hooks/models/useRangePicker.d.ts +8 -11
  83. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +70 -102
  84. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +8 -10
  85. package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +26 -17
  86. package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +55 -68
  87. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +59 -82
  88. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -9
  89. package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
  90. package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  91. package/internals/hooks/useRangePosition.d.ts +4 -3
  92. package/internals/hooks/useRangePosition.js +1 -1
  93. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  94. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +18 -31
  95. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -12
  96. package/internals/models/dateTimeRange.d.ts +1 -6
  97. package/internals/models/fields.d.ts +7 -11
  98. package/internals/models/index.d.ts +0 -1
  99. package/internals/models/index.js +0 -1
  100. package/internals/models/managers.d.ts +3 -0
  101. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
  102. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  103. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
  104. package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
  105. package/internals/utils/createMultiInputRangeField/index.js +2 -0
  106. package/internals/utils/date-fields-utils.d.ts +6 -6
  107. package/internals/utils/date-range-manager.d.ts +2 -1
  108. package/internals/utils/date-range-manager.js +13 -10
  109. package/internals/utils/releaseInfo.js +1 -1
  110. package/internals/utils/valueManagers.d.ts +4 -3
  111. package/internals/utils/valueManagers.js +7 -7
  112. package/managers/index.d.ts +6 -0
  113. package/managers/index.js +3 -0
  114. package/managers/package.json +6 -0
  115. package/managers/useDateRangeManager.d.ts +15 -0
  116. package/managers/useDateRangeManager.js +33 -0
  117. package/managers/useDateTimeRangeManager.d.ts +15 -0
  118. package/managers/useDateTimeRangeManager.js +33 -0
  119. package/managers/useTimeRangeManager.d.ts +15 -0
  120. package/managers/useTimeRangeManager.js +31 -0
  121. package/models/fields.d.ts +7 -11
  122. package/models/index.d.ts +1 -2
  123. package/models/index.js +1 -2
  124. package/models/range.d.ts +0 -2
  125. package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  126. package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  127. package/modern/DateRangeCalendar/DateRangeCalendar.js +18 -14
  128. package/modern/DateRangePicker/DateRangePicker.js +1 -4
  129. package/modern/DateRangePicker/DateRangePickerToolbar.js +33 -53
  130. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  131. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
  132. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  133. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +85 -123
  134. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  135. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  136. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  137. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  138. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
  139. package/modern/MultiInputDateRangeField/index.js +2 -2
  140. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  141. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
  142. package/modern/MultiInputDateTimeRangeField/index.js +2 -2
  143. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  144. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
  145. package/modern/MultiInputTimeRangeField/index.js +2 -2
  146. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  147. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  148. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  149. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  150. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  151. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  152. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  153. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  154. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  155. package/modern/hooks/index.js +2 -0
  156. package/modern/hooks/useMultiInputRangeField/index.js +1 -0
  157. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  158. package/{internals/hooks/useMultiInputFieldSelectedSections.js → modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  159. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  160. package/modern/hooks/usePickerRangePositionContext.js +15 -0
  161. package/modern/index.js +4 -2
  162. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +70 -102
  163. package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +55 -68
  164. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +59 -82
  165. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  166. package/modern/internals/hooks/useRangePosition.js +1 -1
  167. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +18 -31
  168. package/modern/internals/models/index.js +0 -1
  169. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  170. package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
  171. package/modern/internals/utils/date-range-manager.js +13 -10
  172. package/modern/internals/utils/releaseInfo.js +1 -1
  173. package/modern/internals/utils/valueManagers.js +7 -7
  174. package/modern/managers/index.js +3 -0
  175. package/modern/managers/useDateRangeManager.js +33 -0
  176. package/modern/managers/useDateTimeRangeManager.js +33 -0
  177. package/modern/managers/useTimeRangeManager.js +31 -0
  178. package/modern/models/index.js +1 -2
  179. package/modern/validation/validateDateRange.js +8 -0
  180. package/modern/validation/validateDateTimeRange.js +4 -0
  181. package/modern/validation/validateTimeRange.js +8 -0
  182. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  183. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  184. package/node/DateRangeCalendar/DateRangeCalendar.js +17 -13
  185. package/node/DateRangePicker/DateRangePicker.js +1 -4
  186. package/node/DateRangePicker/DateRangePickerToolbar.js +31 -51
  187. package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  188. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +33 -31
  189. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  190. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +83 -121
  191. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  192. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  193. package/node/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  194. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  195. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -124
  196. package/node/MultiInputDateRangeField/index.js +3 -9
  197. package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
  198. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -124
  199. package/node/MultiInputDateTimeRangeField/index.js +3 -9
  200. package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
  201. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -125
  202. package/node/MultiInputTimeRangeField/index.js +3 -9
  203. package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
  204. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +22 -32
  205. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  206. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +22 -32
  207. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  208. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +22 -32
  209. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  210. package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  211. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  212. package/node/hooks/index.js +19 -0
  213. package/node/hooks/useMultiInputRangeField/index.js +12 -0
  214. package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
  215. package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
  216. package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
  217. package/node/hooks/usePickerRangePositionContext.js +22 -0
  218. package/node/index.js +23 -1
  219. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +70 -102
  220. package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +57 -70
  221. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +59 -82
  222. package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
  223. package/node/internals/hooks/useRangePosition.js +1 -1
  224. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
  225. package/node/internals/models/index.js +0 -11
  226. package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +143 -0
  227. package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
  228. package/node/internals/utils/date-range-manager.js +13 -10
  229. package/node/internals/utils/releaseInfo.js +1 -1
  230. package/node/internals/utils/valueManagers.js +7 -7
  231. package/node/managers/index.js +26 -0
  232. package/node/managers/useDateRangeManager.js +40 -0
  233. package/node/managers/useDateTimeRangeManager.js +40 -0
  234. package/node/managers/useTimeRangeManager.js +38 -0
  235. package/node/models/index.js +0 -22
  236. package/node/validation/validateDateRange.js +8 -0
  237. package/node/validation/validateDateTimeRange.js +4 -0
  238. package/node/validation/validateTimeRange.js +8 -0
  239. package/package.json +8 -8
  240. package/themeAugmentation/overrides.d.ts +6 -4
  241. package/themeAugmentation/props.d.ts +2 -2
  242. package/validation/validateDateRange.d.ts +9 -1
  243. package/validation/validateDateRange.js +8 -0
  244. package/validation/validateDateTimeRange.d.ts +6 -2
  245. package/validation/validateDateTimeRange.js +4 -0
  246. package/validation/validateTimeRange.d.ts +9 -1
  247. package/validation/validateTimeRange.js +8 -0
  248. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -53
  249. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -54
  250. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -54
  251. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -21
  252. package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
  253. package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  254. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
  255. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -111
  256. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
  257. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -111
  258. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
  259. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
  260. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -111
  261. package/internals/models/timeRange.d.ts +0 -6
  262. package/internals/models/timeRange.js +0 -1
  263. package/models/dateRange.d.ts +0 -7
  264. package/models/dateRange.js +0 -1
  265. package/models/multiInputRangeFieldClasses.d.ts +0 -7
  266. package/models/multiInputRangeFieldClasses.js +0 -1
  267. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  268. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  269. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  270. package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  271. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -111
  272. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -111
  273. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  274. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -111
  275. package/modern/internals/models/timeRange.js +0 -1
  276. package/modern/models/dateRange.js +0 -1
  277. package/modern/models/multiInputRangeFieldClasses.js +0 -1
  278. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
  279. package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
  280. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -119
  281. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -119
  282. package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
  283. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -119
  284. package/node/internals/models/timeRange.js +0 -5
  285. package/node/models/dateRange.js +0 -5
  286. package/node/models/multiInputRangeFieldClasses.js +0 -5
  287. /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  288. /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  289. /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
  290. /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  291. /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  292. /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.useDateRangeManager = useDateRangeManager;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _internals = require("@mui/x-date-pickers/internals");
13
+ var _valueManagers = require("../internals/utils/valueManagers");
14
+ var _validation = require("../validation");
15
+ function useDateRangeManager(parameters = {}) {
16
+ const {
17
+ enableAccessibleFieldDOMStructure = true,
18
+ dateSeparator
19
+ } = parameters;
20
+ return React.useMemo(() => ({
21
+ valueType: 'date',
22
+ validator: _validation.validateDateRange,
23
+ internal_valueManager: _valueManagers.rangeValueManager,
24
+ internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
25
+ dateSeparator
26
+ }),
27
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
28
+ internal_applyDefaultsToFieldInternalProps: ({
29
+ internalProps,
30
+ utils,
31
+ defaultDates
32
+ }) => (0, _extends2.default)({}, internalProps, (0, _internals.getDateFieldInternalPropsDefaults)({
33
+ defaultDates,
34
+ utils,
35
+ internalProps
36
+ })),
37
+ // TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
38
+ internal_getOpenPickerButtonAriaLabel: () => ''
39
+ }), [enableAccessibleFieldDOMStructure, dateSeparator]);
40
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.useDateTimeRangeManager = useDateTimeRangeManager;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _internals = require("@mui/x-date-pickers/internals");
13
+ var _valueManagers = require("../internals/utils/valueManagers");
14
+ var _validation = require("../validation");
15
+ function useDateTimeRangeManager(parameters = {}) {
16
+ const {
17
+ enableAccessibleFieldDOMStructure = true,
18
+ dateSeparator
19
+ } = parameters;
20
+ return React.useMemo(() => ({
21
+ valueType: 'date-time',
22
+ validator: _validation.validateDateTimeRange,
23
+ internal_valueManager: _valueManagers.rangeValueManager,
24
+ internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
25
+ dateSeparator
26
+ }),
27
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
28
+ internal_applyDefaultsToFieldInternalProps: ({
29
+ internalProps,
30
+ utils,
31
+ defaultDates
32
+ }) => (0, _extends2.default)({}, internalProps, (0, _internals.getDateTimeFieldInternalPropsDefaults)({
33
+ internalProps,
34
+ utils,
35
+ defaultDates
36
+ })),
37
+ // TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
38
+ internal_getOpenPickerButtonAriaLabel: () => ''
39
+ }), [enableAccessibleFieldDOMStructure, dateSeparator]);
40
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.useTimeRangeManager = useTimeRangeManager;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _internals = require("@mui/x-date-pickers/internals");
13
+ var _valueManagers = require("../internals/utils/valueManagers");
14
+ var _validation = require("../validation");
15
+ function useTimeRangeManager(parameters = {}) {
16
+ const {
17
+ enableAccessibleFieldDOMStructure = true,
18
+ dateSeparator
19
+ } = parameters;
20
+ return React.useMemo(() => ({
21
+ valueType: 'time',
22
+ validator: _validation.validateTimeRange,
23
+ internal_valueManager: _valueManagers.rangeValueManager,
24
+ internal_fieldValueManager: (0, _valueManagers.getRangeFieldValueManager)({
25
+ dateSeparator
26
+ }),
27
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
28
+ internal_applyDefaultsToFieldInternalProps: ({
29
+ internalProps,
30
+ utils
31
+ }) => (0, _extends2.default)({}, internalProps, (0, _internals.getTimeFieldInternalPropsDefaults)({
32
+ utils,
33
+ internalProps
34
+ })),
35
+ // TODO v8: Add a real aria label before moving the opening logic to the field on range pickers.
36
+ internal_getOpenPickerButtonAriaLabel: () => ''
37
+ }), [enableAccessibleFieldDOMStructure, dateSeparator]);
38
+ }
@@ -3,17 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- var _dateRange = require("./dateRange");
7
- Object.keys(_dateRange).forEach(function (key) {
8
- if (key === "default" || key === "__esModule") return;
9
- if (key in exports && exports[key] === _dateRange[key]) return;
10
- Object.defineProperty(exports, key, {
11
- enumerable: true,
12
- get: function () {
13
- return _dateRange[key];
14
- }
15
- });
16
- });
17
6
  var _fields = require("./fields");
18
7
  Object.keys(_fields).forEach(function (key) {
19
8
  if (key === "default" || key === "__esModule") return;
@@ -46,15 +35,4 @@ Object.keys(_validation).forEach(function (key) {
46
35
  return _validation[key];
47
36
  }
48
37
  });
49
- });
50
- var _multiInputRangeFieldClasses = require("./multiInputRangeFieldClasses");
51
- Object.keys(_multiInputRangeFieldClasses).forEach(function (key) {
52
- if (key === "default" || key === "__esModule") return;
53
- if (key in exports && exports[key] === _multiInputRangeFieldClasses[key]) return;
54
- Object.defineProperty(exports, key, {
55
- enumerable: true,
56
- get: function () {
57
- return _multiInputRangeFieldClasses[key];
58
- }
59
- });
60
38
  });
@@ -15,6 +15,14 @@ const _excluded = ["shouldDisableDate"];
15
15
  * Validation props used by the Date Range Picker, Date Range Field and Date Range Calendar components.
16
16
  */
17
17
 
18
+ /**
19
+ * Validation props as received by the validateDateRange method.
20
+ */
21
+
22
+ /**
23
+ * Name of the props that should be defaulted before being passed to the validateDateRange method.
24
+ */
25
+
18
26
  const validateDateRange = ({
19
27
  adapter,
20
28
  value,
@@ -15,6 +15,10 @@ const _excluded = ["shouldDisableDate"];
15
15
  * Validation props used by the Date Time Range Picker and Date Time Range Field.
16
16
  */
17
17
 
18
+ /**
19
+ * Validation props as received by the validateDateTimeRange method.
20
+ */
21
+
18
22
  const validateDateTimeRange = ({
19
23
  adapter,
20
24
  value,
@@ -11,6 +11,14 @@ var _valueManagers = require("../internals/utils/valueManagers");
11
11
  * Validation props used by the Time Range Picker and Time Range Field.
12
12
  */
13
13
 
14
+ /**
15
+ * Validation props as received by the validateTimeRange method.
16
+ */
17
+
18
+ /**
19
+ * Name of the props that should be defaulted before being passed to the validateTimeRange method.
20
+ */
21
+
14
22
  const validateTimeRange = ({
15
23
  adapter,
16
24
  value,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-date-pickers-pro",
3
- "version": "8.0.0-alpha.0",
3
+ "version": "8.0.0-alpha.10",
4
4
  "description": "The Pro plan edition of the Date and Time Picker components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -32,14 +32,14 @@
32
32
  "directory": "packages/x-date-pickers-pro"
33
33
  },
34
34
  "dependencies": {
35
- "@babel/runtime": "^7.26.0",
35
+ "@babel/runtime": "^7.26.7",
36
36
  "@mui/utils": "^5.16.6 || ^6.0.0",
37
37
  "clsx": "^2.1.1",
38
38
  "prop-types": "^15.8.1",
39
39
  "react-transition-group": "^4.4.5",
40
- "@mui/x-date-pickers": "8.0.0-alpha.0",
41
- "@mui/x-license": "8.0.0-alpha.0",
42
- "@mui/x-internals": "8.0.0-alpha.0"
40
+ "@mui/x-internals": "8.0.0-alpha.10",
41
+ "@mui/x-license": "8.0.0-alpha.10",
42
+ "@mui/x-date-pickers": "8.0.0-alpha.10"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@emotion/react": "^11.9.0",
@@ -47,14 +47,14 @@
47
47
  "@mui/material": "^5.15.14 || ^6.0.0",
48
48
  "@mui/system": "^5.15.14 || ^6.0.0",
49
49
  "date-fns": "^2.25.0 || ^3.2.0 || ^4.0.0",
50
- "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0",
50
+ "date-fns-jalali": "^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0",
51
51
  "dayjs": "^1.10.7",
52
52
  "luxon": "^3.0.2",
53
53
  "moment": "^2.29.4",
54
54
  "moment-hijri": "^2.1.2 || ^3.0.0",
55
55
  "moment-jalaali": "^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0",
56
- "react": "^17.0.0 || ^18.0.0",
57
- "react-dom": "^17.0.0 || ^18.0.0"
56
+ "react": "^17.0.0 || ^18.0.0 || ^19.0.0",
57
+ "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
58
58
  },
59
59
  "peerDependenciesMeta": {
60
60
  "@emotion/react": {
@@ -1,11 +1,13 @@
1
1
  import { DateRangePickerDayClassKey } from '../DateRangePickerDay';
2
2
  import { DateRangeCalendarClassKey } from '../DateRangeCalendar';
3
3
  import { DateRangePickerToolbarClassKey } from '../DateRangePicker';
4
- import { MultiInputRangeFieldClassKey } from '../models';
5
4
  import {
6
5
  DateTimeRangePickerTabsClassKey,
7
6
  DateTimeRangePickerToolbarClassKey,
8
7
  } from '../DateTimeRangePicker';
8
+ import { MultiInputDateRangeFieldClassKey } from '../MultiInputDateRangeField';
9
+ import { MultiInputDateTimeRangeFieldClassKey } from '../MultiInputDateTimeRangeField';
10
+ import { MultiInputTimeRangeFieldClassKey } from '../MultiInputTimeRangeField';
9
11
 
10
12
  // prettier-ignore
11
13
  export interface PickersProComponentNameToClassKey {
@@ -17,9 +19,9 @@ export interface PickersProComponentNameToClassKey {
17
19
  MuiDateTimeRangePickerToolbar: DateTimeRangePickerToolbarClassKey;
18
20
 
19
21
  // Multi input range fields
20
- MuiMultiInputDateRangeField: MultiInputRangeFieldClassKey;
21
- MuiMultiInputDateTimeRangeField: MultiInputRangeFieldClassKey;
22
- MuiMultiInputTimeRangeField: MultiInputRangeFieldClassKey;
22
+ MuiMultiInputDateRangeField: MultiInputDateRangeFieldClassKey;
23
+ MuiMultiInputDateTimeRangeField: MultiInputDateTimeRangeFieldClassKey;
24
+ MuiMultiInputTimeRangeField: MultiInputTimeRangeFieldClassKey;
23
25
  }
24
26
 
25
27
  declare module '@mui/material/styles' {
@@ -1,14 +1,14 @@
1
1
  import { DateRangePickerDayProps } from '../DateRangePickerDay';
2
- import { MultiInputDateRangeFieldProps } from '../MultiInputDateRangeField/MultiInputDateRangeField.types';
3
- import { SingleInputDateRangeFieldProps } from '../SingleInputDateRangeField/SingleInputDateRangeField.types';
4
2
  import { DateRangeCalendarProps } from '../DateRangeCalendar';
5
3
  import { DateRangePickerProps } from '../DateRangePicker';
6
4
  import { ExportedDateRangePickerToolbarProps } from '../DateRangePicker/DateRangePickerToolbar';
7
5
  import { DesktopDateRangePickerProps } from '../DesktopDateRangePicker';
8
6
  import { MobileDateRangePickerProps } from '../MobileDateRangePicker';
9
7
  import { StaticDateRangePickerProps } from '../StaticDateRangePicker';
8
+ import { MultiInputDateRangeFieldProps } from '../MultiInputDateRangeField';
10
9
  import { MultiInputDateTimeRangeFieldProps } from '../MultiInputDateTimeRangeField';
11
10
  import { MultiInputTimeRangeFieldProps } from '../MultiInputTimeRangeField';
11
+ import { SingleInputDateRangeFieldProps } from '../SingleInputDateRangeField';
12
12
  import { SingleInputDateTimeRangeFieldProps } from '../SingleInputDateTimeRangeField';
13
13
  import { SingleInputTimeRangeFieldProps } from '../SingleInputTimeRangeField';
14
14
  import { DateTimeRangePickerProps } from '../DateTimeRangePicker';
@@ -1,3 +1,4 @@
1
+ import type { MakeRequired } from '@mui/x-internals/types';
1
2
  import { Validator } from '@mui/x-date-pickers/validation';
2
3
  import { BaseDateValidationProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
3
4
  import { DayRangeValidationProps } from '../internals/models/dateRange';
@@ -7,6 +8,13 @@ import { DateRangeValidationError } from '../models';
7
8
  */
8
9
  export interface ExportedValidateDateRangeProps extends DayRangeValidationProps, BaseDateValidationProps {
9
10
  }
10
- export interface ValidateDateRangeProps extends DayRangeValidationProps, Required<BaseDateValidationProps> {
11
+ /**
12
+ * Validation props as received by the validateDateRange method.
13
+ */
14
+ export interface ValidateDateRangeProps extends MakeRequired<ExportedValidateDateRangeProps, ValidateDateRangePropsToDefault> {
11
15
  }
16
+ /**
17
+ * Name of the props that should be defaulted before being passed to the validateDateRange method.
18
+ */
19
+ export type ValidateDateRangePropsToDefault = keyof BaseDateValidationProps;
12
20
  export declare const validateDateRange: Validator<PickerRangeValue, DateRangeValidationError, ValidateDateRangeProps>;
@@ -9,6 +9,14 @@ import { rangeValueManager } from "../internals/utils/valueManagers.js";
9
9
  * Validation props used by the Date Range Picker, Date Range Field and Date Range Calendar components.
10
10
  */
11
11
 
12
+ /**
13
+ * Validation props as received by the validateDateRange method.
14
+ */
15
+
16
+ /**
17
+ * Name of the props that should be defaulted before being passed to the validateDateRange method.
18
+ */
19
+
12
20
  export const validateDateRange = ({
13
21
  adapter,
14
22
  value,
@@ -1,13 +1,17 @@
1
1
  import { DateTimeValidationProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
2
2
  import { Validator } from '@mui/x-date-pickers/validation';
3
3
  import { DateTimeRangeValidationError } from '../models';
4
- import { ExportedValidateDateRangeProps, ValidateDateRangeProps } from './validateDateRange';
5
- import { ExportedValidateTimeRangeProps, ValidateTimeRangeProps } from './validateTimeRange';
4
+ import { ExportedValidateDateRangeProps, ValidateDateRangeProps, ValidateDateRangePropsToDefault } from './validateDateRange';
5
+ import { ExportedValidateTimeRangeProps, ValidateTimeRangeProps, ValidateTimeRangePropsToDefault } from './validateTimeRange';
6
6
  /**
7
7
  * Validation props used by the Date Time Range Picker and Date Time Range Field.
8
8
  */
9
9
  export interface ExportedValidateDateTimeRangeProps extends ExportedValidateDateRangeProps, ExportedValidateTimeRangeProps, DateTimeValidationProps {
10
10
  }
11
+ /**
12
+ * Validation props as received by the validateDateTimeRange method.
13
+ */
11
14
  export interface ValidateDateTimeRangeProps extends ValidateDateRangeProps, ValidateTimeRangeProps {
12
15
  }
16
+ export type ValidateDateTimeRangePropsToDefault = ValidateDateRangePropsToDefault | ValidateTimeRangePropsToDefault;
13
17
  export declare const validateDateTimeRange: Validator<PickerRangeValue, DateTimeRangeValidationError, ValidateDateTimeRangeProps>;
@@ -9,6 +9,10 @@ import { rangeValueManager } from "../internals/utils/valueManagers.js";
9
9
  * Validation props used by the Date Time Range Picker and Date Time Range Field.
10
10
  */
11
11
 
12
+ /**
13
+ * Validation props as received by the validateDateTimeRange method.
14
+ */
15
+
12
16
  export const validateDateTimeRange = ({
13
17
  adapter,
14
18
  value,
@@ -1,3 +1,4 @@
1
+ import type { MakeRequired } from '@mui/x-internals/types';
1
2
  import { Validator } from '@mui/x-date-pickers/validation';
2
3
  import { TimeValidationProps, BaseTimeValidationProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
3
4
  import { TimeRangeValidationError } from '../models';
@@ -6,6 +7,13 @@ import { TimeRangeValidationError } from '../models';
6
7
  */
7
8
  export interface ExportedValidateTimeRangeProps extends BaseTimeValidationProps, TimeValidationProps {
8
9
  }
9
- export interface ValidateTimeRangeProps extends Required<BaseTimeValidationProps>, TimeValidationProps {
10
+ /**
11
+ * Validation props as received by the validateTimeRange method.
12
+ */
13
+ export interface ValidateTimeRangeProps extends MakeRequired<ExportedValidateTimeRangeProps, ValidateTimeRangePropsToDefault> {
10
14
  }
15
+ /**
16
+ * Name of the props that should be defaulted before being passed to the validateTimeRange method.
17
+ */
18
+ export type ValidateTimeRangePropsToDefault = keyof BaseTimeValidationProps;
11
19
  export declare const validateTimeRange: Validator<PickerRangeValue, TimeRangeValidationError, ValidateTimeRangeProps>;
@@ -6,6 +6,14 @@ import { rangeValueManager } from "../internals/utils/valueManagers.js";
6
6
  * Validation props used by the Time Range Picker and Time Range Field.
7
7
  */
8
8
 
9
+ /**
10
+ * Validation props as received by the validateTimeRange method.
11
+ */
12
+
13
+ /**
14
+ * Name of the props that should be defaulted before being passed to the validateTimeRange method.
15
+ */
16
+
9
17
  export const validateTimeRange = ({
10
18
  adapter,
11
19
  value,
@@ -1,53 +0,0 @@
1
- import * as React from 'react';
2
- import { SlotComponentProps } from '@mui/utils';
3
- import Typography from '@mui/material/Typography';
4
- import Stack, { StackProps } from '@mui/material/Stack';
5
- import TextField from '@mui/material/TextField';
6
- import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
7
- import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition, UseDateRangeFieldProps } from '../models';
8
- export type UseMultiInputDateRangeFieldParams<TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
9
- export interface UseMultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
10
- }
11
- export type UseMultiInputDateRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseMultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>;
12
- export interface MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends UseMultiInputDateRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
13
- autoFocus?: boolean;
14
- /**
15
- * Override or extend the styles applied to the component.
16
- */
17
- classes?: Partial<MultiInputRangeFieldClasses>;
18
- /**
19
- * Overridable component slots.
20
- * @default {}
21
- */
22
- slots?: MultiInputDateRangeFieldSlots;
23
- /**
24
- * The props used for each component slot.
25
- * @default {}
26
- */
27
- slotProps?: MultiInputDateRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
28
- }
29
- export interface MultiInputDateRangeFieldSlots {
30
- /**
31
- * Element rendered at the root.
32
- * @default MultiInputDateRangeFieldRoot
33
- */
34
- root?: React.ElementType;
35
- /**
36
- * Form control with an input to render a date.
37
- * It is rendered twice: once for the start date and once for the end date.
38
- * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
39
- */
40
- textField?: React.ElementType;
41
- /**
42
- * Element rendered between the two inputs.
43
- * @default MultiInputDateRangeFieldSeparator
44
- */
45
- separator?: React.ElementType;
46
- }
47
- export interface MultiInputDateRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> {
48
- root?: SlotComponentProps<typeof Stack, {}, MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
49
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
50
- position: RangePosition;
51
- }>;
52
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
53
- }
@@ -1,54 +0,0 @@
1
- import * as React from 'react';
2
- import { SlotComponentProps } from '@mui/utils';
3
- import Typography from '@mui/material/Typography';
4
- import Stack, { StackProps } from '@mui/material/Stack';
5
- import TextField from '@mui/material/TextField';
6
- import { UseDateTimeRangeFieldProps } from '../internals/models/dateTimeRange';
7
- import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
8
- import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition } from '../models';
9
- export type UseMultiInputDateTimeRangeFieldParams<TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
10
- export interface UseMultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
11
- }
12
- export type UseMultiInputDateTimeRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseMultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>;
13
- export interface MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends UseMultiInputDateTimeRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
14
- autoFocus?: boolean;
15
- /**
16
- * Override or extend the styles applied to the component.
17
- */
18
- classes?: Partial<MultiInputRangeFieldClasses>;
19
- /**
20
- * Overridable component slots.
21
- * @default {}
22
- */
23
- slots?: MultiInputDateTimeRangeFieldSlots;
24
- /**
25
- * The props used for each component slot.
26
- * @default {}
27
- */
28
- slotProps?: MultiInputDateTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
29
- }
30
- export interface MultiInputDateTimeRangeFieldSlots {
31
- /**
32
- * Element rendered at the root.
33
- * @default MultiInputDateTimeRangeFieldRoot
34
- */
35
- root?: React.ElementType;
36
- /**
37
- * Form control with an input to render a date and time.
38
- * It is rendered twice: once for the start date time and once for the end date time.
39
- * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
40
- */
41
- textField?: React.ElementType;
42
- /**
43
- * Element rendered between the two inputs.
44
- * @default MultiInputDateTimeRangeFieldSeparator
45
- */
46
- separator?: React.ElementType;
47
- }
48
- export interface MultiInputDateTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> {
49
- root?: SlotComponentProps<typeof Stack, {}, MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
50
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
51
- position: RangePosition;
52
- }>;
53
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputDateTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
54
- }
@@ -1,54 +0,0 @@
1
- import * as React from 'react';
2
- import { SlotComponentProps } from '@mui/utils';
3
- import Typography from '@mui/material/Typography';
4
- import Stack, { StackProps } from '@mui/material/Stack';
5
- import TextField from '@mui/material/TextField';
6
- import { UseTimeRangeFieldProps } from '../internals/models/timeRange';
7
- import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types';
8
- import { MultiInputFieldRefs, MultiInputRangeFieldClasses, RangePosition } from '../models';
9
- export type UseMultiInputTimeRangeFieldParams<TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}> = UseMultiInputRangeFieldParams<UseMultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, TTextFieldSlotProps>;
10
- export interface UseMultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends Omit<UseTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>, 'unstableFieldRef' | 'clearable' | 'onClear'>, MultiInputFieldRefs {
11
- }
12
- export type UseMultiInputTimeRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure extends boolean, TChildProps extends {}> = Omit<TChildProps, keyof UseMultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>> & UseMultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>;
13
- export interface MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean = true> extends UseMultiInputTimeRangeFieldComponentProps<TEnableAccessibleFieldDOMStructure, Omit<StackProps, 'position'>> {
14
- autoFocus?: boolean;
15
- /**
16
- * Override or extend the styles applied to the component.
17
- */
18
- classes?: Partial<MultiInputRangeFieldClasses>;
19
- /**
20
- * Overridable slots.
21
- * @default {}
22
- */
23
- slots?: MultiInputTimeRangeFieldSlots;
24
- /**
25
- * The props used for each component slot.
26
- * @default {}
27
- */
28
- slotProps?: MultiInputTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure>;
29
- }
30
- export interface MultiInputTimeRangeFieldSlots {
31
- /**
32
- * Element rendered at the root.
33
- * @default MultiInputTimeRangeFieldRoot
34
- */
35
- root?: React.ElementType;
36
- /**
37
- * Form control with an input to render a time.
38
- * It is rendered twice: once for the start time and once for the end time.
39
- * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`.
40
- */
41
- textField?: React.ElementType;
42
- /**
43
- * Element rendered between the two inputs.
44
- * @default MultiInputTimeRangeFieldSeparator
45
- */
46
- separator?: React.ElementType;
47
- }
48
- export interface MultiInputTimeRangeFieldSlotProps<TEnableAccessibleFieldDOMStructure extends boolean> {
49
- root?: SlotComponentProps<typeof Stack, {}, MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
50
- textField?: SlotComponentProps<typeof TextField, {}, MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure> & {
51
- position: RangePosition;
52
- }>;
53
- separator?: SlotComponentProps<typeof Typography, {}, MultiInputTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure>>;
54
- }
@@ -1,21 +0,0 @@
1
- import * as React from 'react';
2
- import { UseFieldInternalProps } from '@mui/x-date-pickers/internals';
3
- import { FieldRef, FieldSelectedSections } from '@mui/x-date-pickers/models';
4
- import { RangeFieldSection } from '../../models';
5
- interface UseMultiInputFieldSelectedSectionsParams extends Pick<UseFieldInternalProps<any, RangeFieldSection, any, any>, 'selectedSections' | 'onSelectedSectionsChange'> {
6
- unstableStartFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
7
- unstableEndFieldRef?: React.Ref<FieldRef<RangeFieldSection>>;
8
- }
9
- export declare const useMultiInputFieldSelectedSections: (params: UseMultiInputFieldSelectedSectionsParams) => {
10
- start: {
11
- unstableFieldRef: React.Ref<FieldRef<RangeFieldSection>> | undefined;
12
- selectedSections: FieldSelectedSections;
13
- onSelectedSectionsChange: (newSelectedSections: FieldSelectedSections) => void;
14
- };
15
- end: {
16
- unstableFieldRef: ((instance: FieldRef<RangeFieldSection> | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | null;
17
- selectedSections: FieldSelectedSections;
18
- onSelectedSectionsChange: (newSelectedSections: FieldSelectedSections) => void;
19
- };
20
- };
21
- export {};
@@ -1 +0,0 @@
1
- export declare const excludeProps: <TProps extends {}>(props: TProps, excludedProps: Array<keyof TProps>) => TProps;
@@ -1,9 +0,0 @@
1
- /* TODO: remove this when a clearable behavior for multiple input range fields is implemented */
2
- export const excludeProps = (props, excludedProps) => {
3
- return Object.keys(props).reduce((acc, key) => {
4
- if (!excludedProps.includes(key)) {
5
- acc[key] = props[key];
6
- }
7
- return acc;
8
- }, {});
9
- };
@@ -1,3 +0,0 @@
1
- import { UseMultiInputDateRangeFieldParams } from '../../../MultiInputDateRangeField/MultiInputDateRangeField.types';
2
- import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
3
- export declare const useMultiInputDateRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputDateRangeFieldParams<TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>;