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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.d.ts +1 -1
  2. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  3. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  4. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.d.ts +1 -1
  5. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  6. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  7. package/CHANGELOG.md +1903 -231
  8. package/DateRangeCalendar/DateRangeCalendar.js +15 -13
  9. package/DateRangePicker/DateRangePicker.js +1 -4
  10. package/DateRangePicker/DateRangePicker.types.d.ts +6 -2
  11. package/DateRangePicker/DateRangePickerToolbar.d.ts +2 -3
  12. package/DateRangePicker/DateRangePickerToolbar.js +33 -41
  13. package/DateRangePicker/shared.d.ts +4 -3
  14. package/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  15. package/DateTimeRangePicker/DateTimeRangePicker.types.d.ts +1 -2
  16. package/DateTimeRangePicker/DateTimeRangePickerTabs.d.ts +4 -5
  17. package/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
  18. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.d.ts +8 -10
  19. package/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  20. package/DateTimeRangePicker/DateTimeRangePickerToolbar.d.ts +2 -5
  21. package/DateTimeRangePicker/DateTimeRangePickerToolbar.js +81 -109
  22. package/DateTimeRangePicker/shared.d.ts +6 -5
  23. package/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  24. package/DesktopDateRangePicker/DesktopDateRangePicker.types.d.ts +7 -2
  25. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  26. package/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.types.d.ts +2 -3
  27. package/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  28. package/MobileDateRangePicker/MobileDateRangePicker.types.d.ts +2 -2
  29. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  30. package/MobileDateTimeRangePicker/MobileDateTimeRangePicker.types.d.ts +2 -3
  31. package/MultiInputDateRangeField/MultiInputDateRangeField.d.ts +9 -4
  32. package/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
  33. package/MultiInputDateRangeField/index.d.ts +5 -3
  34. package/MultiInputDateRangeField/index.js +2 -2
  35. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.d.ts +6 -0
  36. package/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  37. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.d.ts +9 -4
  38. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
  39. package/MultiInputDateTimeRangeField/index.d.ts +5 -3
  40. package/MultiInputDateTimeRangeField/index.js +2 -2
  41. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.d.ts +6 -0
  42. package/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  43. package/MultiInputTimeRangeField/MultiInputTimeRangeField.d.ts +9 -4
  44. package/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
  45. package/MultiInputTimeRangeField/index.d.ts +5 -3
  46. package/MultiInputTimeRangeField/index.js +2 -2
  47. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.d.ts +6 -0
  48. package/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  49. package/README.md +8 -5
  50. package/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  51. package/SingleInputDateRangeField/SingleInputDateRangeField.types.d.ts +6 -16
  52. package/SingleInputDateRangeField/useSingleInputDateRangeField.d.ts +1 -1
  53. package/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  54. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  55. package/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.types.d.ts +6 -17
  56. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.d.ts +1 -1
  57. package/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  58. package/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  59. package/SingleInputTimeRangeField/SingleInputTimeRangeField.types.d.ts +6 -17
  60. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.d.ts +1 -1
  61. package/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  62. package/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  63. package/StaticDateRangePicker/StaticDateRangePicker.types.d.ts +2 -2
  64. package/dateRangeViewRenderers/dateRangeViewRenderers.d.ts +2 -2
  65. package/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  66. package/hooks/index.d.ts +2 -0
  67. package/hooks/index.js +2 -0
  68. package/hooks/package.json +6 -0
  69. package/hooks/useMultiInputRangeField/index.d.ts +1 -0
  70. package/hooks/useMultiInputRangeField/index.js +1 -0
  71. package/hooks/useMultiInputRangeField/useMultiInputRangeField.d.ts +53 -0
  72. package/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  73. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.d.ts +17 -0
  74. package/{modern/internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  75. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.d.ts +17 -0
  76. package/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  77. package/hooks/usePickerRangePositionContext.d.ts +7 -0
  78. package/hooks/usePickerRangePositionContext.js +15 -0
  79. package/index.d.ts +2 -0
  80. package/index.js +4 -2
  81. package/internals/hooks/models/index.d.ts +1 -1
  82. package/internals/hooks/models/useRangePicker.d.ts +8 -11
  83. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
  84. package/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.types.d.ts +8 -10
  85. package/internals/hooks/{useEnrichedRangePickerFieldProps.d.ts → useEnrichedRangePickerField.d.ts} +25 -16
  86. package/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +50 -63
  87. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  88. package/internals/hooks/useMobileRangePicker/useMobileRangePicker.types.d.ts +7 -9
  89. package/internals/hooks/useNullablePickerRangePositionContext.d.ts +5 -0
  90. package/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  91. package/internals/hooks/useRangePosition.d.ts +4 -3
  92. package/internals/hooks/useRangePosition.js +1 -1
  93. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.d.ts +1 -1
  94. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
  95. package/internals/hooks/useStaticRangePicker/useStaticRangePicker.types.d.ts +6 -12
  96. package/internals/models/dateTimeRange.d.ts +1 -6
  97. package/internals/models/fields.d.ts +7 -11
  98. package/internals/models/index.d.ts +0 -1
  99. package/internals/models/index.js +0 -1
  100. package/internals/models/managers.d.ts +3 -0
  101. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.d.ts +3 -0
  102. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  103. package/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.d.ts +72 -0
  104. package/internals/utils/createMultiInputRangeField/index.d.ts +3 -0
  105. package/internals/utils/createMultiInputRangeField/index.js +2 -0
  106. package/internals/utils/date-fields-utils.d.ts +6 -6
  107. package/internals/utils/date-range-manager.js +2 -1
  108. package/internals/utils/releaseInfo.js +1 -1
  109. package/internals/utils/valueManagers.d.ts +4 -3
  110. package/internals/utils/valueManagers.js +7 -7
  111. package/managers/index.d.ts +6 -0
  112. package/managers/index.js +3 -0
  113. package/managers/package.json +6 -0
  114. package/managers/useDateRangeManager.d.ts +15 -0
  115. package/managers/useDateRangeManager.js +33 -0
  116. package/managers/useDateTimeRangeManager.d.ts +15 -0
  117. package/managers/useDateTimeRangeManager.js +33 -0
  118. package/managers/useTimeRangeManager.d.ts +15 -0
  119. package/managers/useTimeRangeManager.js +31 -0
  120. package/models/fields.d.ts +7 -11
  121. package/models/index.d.ts +1 -2
  122. package/models/index.js +1 -2
  123. package/models/range.d.ts +0 -2
  124. package/modern/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  125. package/modern/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  126. package/modern/DateRangeCalendar/DateRangeCalendar.js +15 -13
  127. package/modern/DateRangePicker/DateRangePicker.js +1 -4
  128. package/modern/DateRangePicker/DateRangePickerToolbar.js +33 -41
  129. package/modern/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  130. package/modern/DateTimeRangePicker/DateTimeRangePickerTabs.js +35 -33
  131. package/modern/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  132. package/modern/DateTimeRangePicker/DateTimeRangePickerToolbar.js +81 -109
  133. package/modern/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  134. package/modern/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  135. package/modern/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  136. package/modern/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  137. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.js +15 -121
  138. package/modern/MultiInputDateRangeField/index.js +2 -2
  139. package/modern/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +4 -0
  140. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +15 -121
  141. package/modern/MultiInputDateTimeRangeField/index.js +2 -2
  142. package/modern/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +4 -0
  143. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.js +16 -122
  144. package/modern/MultiInputTimeRangeField/index.js +2 -2
  145. package/modern/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +4 -0
  146. package/modern/SingleInputDateRangeField/SingleInputDateRangeField.js +23 -33
  147. package/modern/SingleInputDateRangeField/useSingleInputDateRangeField.js +14 -14
  148. package/modern/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +23 -33
  149. package/modern/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +14 -14
  150. package/modern/SingleInputTimeRangeField/SingleInputTimeRangeField.js +23 -33
  151. package/modern/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +14 -14
  152. package/modern/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  153. package/modern/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  154. package/modern/hooks/index.js +2 -0
  155. package/modern/hooks/useMultiInputRangeField/index.js +1 -0
  156. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeField.js +149 -0
  157. package/{internals/hooks/useMultiInputFieldSelectedSections.js → modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +10 -8
  158. package/modern/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +59 -0
  159. package/modern/hooks/usePickerRangePositionContext.js +15 -0
  160. package/modern/index.js +4 -2
  161. package/modern/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
  162. package/modern/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +50 -63
  163. package/modern/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  164. package/modern/internals/hooks/useNullablePickerRangePositionContext.js +10 -0
  165. package/modern/internals/hooks/useRangePosition.js +1 -1
  166. package/modern/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +17 -30
  167. package/modern/internals/models/index.js +0 -1
  168. package/modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +136 -0
  169. package/modern/internals/utils/createMultiInputRangeField/index.js +2 -0
  170. package/modern/internals/utils/date-range-manager.js +2 -1
  171. package/modern/internals/utils/releaseInfo.js +1 -1
  172. package/modern/internals/utils/valueManagers.js +7 -7
  173. package/modern/managers/index.js +3 -0
  174. package/modern/managers/useDateRangeManager.js +33 -0
  175. package/modern/managers/useDateTimeRangeManager.js +33 -0
  176. package/modern/managers/useTimeRangeManager.js +31 -0
  177. package/modern/models/index.js +1 -2
  178. package/modern/validation/validateDateRange.js +8 -0
  179. package/modern/validation/validateDateTimeRange.js +4 -0
  180. package/modern/validation/validateTimeRange.js +8 -0
  181. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  182. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  183. package/node/DateRangeCalendar/DateRangeCalendar.js +14 -12
  184. package/node/DateRangePicker/DateRangePicker.js +1 -4
  185. package/node/DateRangePicker/DateRangePickerToolbar.js +31 -39
  186. package/node/DateTimeRangePicker/DateTimeRangePicker.js +2 -5
  187. package/node/DateTimeRangePicker/DateTimeRangePickerTabs.js +33 -31
  188. package/node/DateTimeRangePicker/DateTimeRangePickerTimeWrapper.js +8 -6
  189. package/node/DateTimeRangePicker/DateTimeRangePickerToolbar.js +80 -108
  190. package/node/DesktopDateRangePicker/DesktopDateRangePicker.js +11 -9
  191. package/node/DesktopDateTimeRangePicker/DesktopDateTimeRangePicker.js +20 -22
  192. package/node/MobileDateRangePicker/MobileDateRangePicker.js +4 -8
  193. package/node/MobileDateTimeRangePicker/MobileDateTimeRangePicker.js +18 -16
  194. package/node/MultiInputDateRangeField/MultiInputDateRangeField.js +14 -124
  195. package/node/MultiInputDateRangeField/index.js +3 -9
  196. package/node/MultiInputDateRangeField/multiInputDateRangeFieldClasses.js +12 -0
  197. package/node/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.js +14 -124
  198. package/node/MultiInputDateTimeRangeField/index.js +3 -9
  199. package/node/MultiInputDateTimeRangeField/multiInputDateTimeRangeFieldClasses.js +12 -0
  200. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.js +15 -125
  201. package/node/MultiInputTimeRangeField/index.js +3 -9
  202. package/node/MultiInputTimeRangeField/multiInputTimeRangeFieldClasses.js +12 -0
  203. package/node/SingleInputDateRangeField/SingleInputDateRangeField.js +22 -32
  204. package/node/SingleInputDateRangeField/useSingleInputDateRangeField.js +13 -14
  205. package/node/SingleInputDateTimeRangeField/SingleInputDateTimeRangeField.js +22 -32
  206. package/node/SingleInputDateTimeRangeField/useSingleInputDateTimeRangeField.js +13 -14
  207. package/node/SingleInputTimeRangeField/SingleInputTimeRangeField.js +22 -32
  208. package/node/SingleInputTimeRangeField/useSingleInputTimeRangeField.js +13 -14
  209. package/node/StaticDateRangePicker/StaticDateRangePicker.js +2 -2
  210. package/node/dateRangeViewRenderers/dateRangeViewRenderers.js +0 -6
  211. package/node/hooks/index.js +19 -0
  212. package/node/hooks/useMultiInputRangeField/index.js +12 -0
  213. package/node/hooks/useMultiInputRangeField/useMultiInputRangeField.js +155 -0
  214. package/node/{internals/hooks/useMultiInputFieldSelectedSections.js → hooks/useMultiInputRangeField/useMultiInputRangeFieldSelectedSections.js} +11 -10
  215. package/node/hooks/useMultiInputRangeField/useMultiInputRangeFieldTextFieldProps.js +66 -0
  216. package/node/hooks/usePickerRangePositionContext.js +22 -0
  217. package/node/index.js +23 -1
  218. package/node/internals/hooks/useDesktopRangePicker/useDesktopRangePicker.js +68 -100
  219. package/node/internals/hooks/{useEnrichedRangePickerFieldProps.js → useEnrichedRangePickerField.js} +52 -65
  220. package/node/internals/hooks/useMobileRangePicker/useMobileRangePicker.js +57 -80
  221. package/node/internals/hooks/useNullablePickerRangePositionContext.js +16 -0
  222. package/node/internals/hooks/useRangePosition.js +1 -1
  223. package/node/internals/hooks/useStaticRangePicker/useStaticRangePicker.js +16 -29
  224. package/node/internals/models/index.js +0 -11
  225. package/node/internals/utils/createMultiInputRangeField/createMultiInputRangeField.js +143 -0
  226. package/node/internals/utils/createMultiInputRangeField/index.js +19 -0
  227. package/node/internals/utils/date-range-manager.js +2 -1
  228. package/node/internals/utils/releaseInfo.js +1 -1
  229. package/node/internals/utils/valueManagers.js +7 -7
  230. package/node/managers/index.js +26 -0
  231. package/node/managers/useDateRangeManager.js +40 -0
  232. package/node/managers/useDateTimeRangeManager.js +40 -0
  233. package/node/managers/useTimeRangeManager.js +38 -0
  234. package/node/models/index.js +0 -22
  235. package/node/validation/validateDateRange.js +8 -0
  236. package/node/validation/validateDateTimeRange.js +4 -0
  237. package/node/validation/validateTimeRange.js +8 -0
  238. package/package.json +6 -6
  239. package/themeAugmentation/overrides.d.ts +6 -4
  240. package/themeAugmentation/props.d.ts +2 -2
  241. package/validation/validateDateRange.d.ts +9 -1
  242. package/validation/validateDateRange.js +8 -0
  243. package/validation/validateDateTimeRange.d.ts +6 -2
  244. package/validation/validateDateTimeRange.js +4 -0
  245. package/validation/validateTimeRange.d.ts +9 -1
  246. package/validation/validateTimeRange.js +8 -0
  247. package/MultiInputDateRangeField/MultiInputDateRangeField.types.d.ts +0 -53
  248. package/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.d.ts +0 -54
  249. package/MultiInputTimeRangeField/MultiInputTimeRangeField.types.d.ts +0 -54
  250. package/internals/hooks/useMultiInputFieldSelectedSections.d.ts +0 -21
  251. package/internals/hooks/useMultiInputRangeField/shared.d.ts +0 -1
  252. package/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  253. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.d.ts +0 -3
  254. package/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  255. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.d.ts +0 -3
  256. package/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  257. package/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.d.ts +0 -11
  258. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.d.ts +0 -3
  259. package/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  260. package/internals/models/timeRange.d.ts +0 -6
  261. package/internals/models/timeRange.js +0 -1
  262. package/models/dateRange.d.ts +0 -7
  263. package/models/dateRange.js +0 -1
  264. package/models/multiInputRangeFieldClasses.d.ts +0 -7
  265. package/models/multiInputRangeFieldClasses.js +0 -1
  266. package/modern/MultiInputDateRangeField/MultiInputDateRangeField.types.js +0 -1
  267. package/modern/MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js +0 -1
  268. package/modern/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -1
  269. package/modern/internals/hooks/useMultiInputRangeField/shared.js +0 -9
  270. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -113
  271. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -113
  272. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -1
  273. package/modern/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -113
  274. package/modern/internals/models/timeRange.js +0 -1
  275. package/modern/models/dateRange.js +0 -1
  276. package/modern/models/multiInputRangeFieldClasses.js +0 -1
  277. package/node/MultiInputTimeRangeField/MultiInputTimeRangeField.types.js +0 -5
  278. package/node/internals/hooks/useMultiInputRangeField/shared.js +0 -16
  279. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateRangeField.js +0 -121
  280. package/node/internals/hooks/useMultiInputRangeField/useMultiInputDateTimeRangeField.js +0 -121
  281. package/node/internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js +0 -5
  282. package/node/internals/hooks/useMultiInputRangeField/useMultiInputTimeRangeField.js +0 -121
  283. package/node/internals/models/timeRange.js +0 -5
  284. package/node/models/dateRange.js +0 -5
  285. package/node/models/multiInputRangeFieldClasses.js +0 -5
  286. /package/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  287. /package/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  288. /package/{MultiInputTimeRangeField/MultiInputTimeRangeField.types.js → modern/internals/models/managers.js} +0 -0
  289. /package/{internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types.js → modern/internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
  290. /package/node/{MultiInputDateRangeField/MultiInputDateRangeField.types.js → internals/models/managers.js} +0 -0
  291. /package/node/{MultiInputDateTimeRangeField/MultiInputDateTimeRangeField.types.js → internals/utils/createMultiInputRangeField/createMultiInputRangeField.types.js} +0 -0
@@ -1,113 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import useEventCallback from '@mui/utils/useEventCallback';
3
- import { unstable_useDateTimeField as useDateTimeField } from '@mui/x-date-pickers/DateTimeField';
4
- import { useControlledValueWithTimezone, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
5
- import { useValidation } from '@mui/x-date-pickers/validation';
6
- import { validateDateTimeRange } from "../../../validation/index.js";
7
- import { rangeValueManager } from "../../utils/valueManagers.js";
8
- import { excludeProps } from "./shared.js";
9
- import { useMultiInputFieldSelectedSections } from "../useMultiInputFieldSelectedSections.js";
10
- export const useMultiInputDateTimeRangeField = ({
11
- sharedProps: inSharedProps,
12
- startTextFieldProps,
13
- unstableStartFieldRef,
14
- endTextFieldProps,
15
- unstableEndFieldRef
16
- }) => {
17
- const sharedProps = useDefaultizedDateTimeField(inSharedProps);
18
- const {
19
- value: valueProp,
20
- defaultValue,
21
- referenceDate,
22
- format,
23
- formatDensity,
24
- shouldRespectLeadingZeros,
25
- onChange,
26
- disabled,
27
- readOnly,
28
- selectedSections,
29
- onSelectedSectionsChange,
30
- timezone: timezoneProp,
31
- enableAccessibleFieldDOMStructure,
32
- autoFocus
33
- } = sharedProps;
34
- const {
35
- value,
36
- handleValueChange,
37
- timezone
38
- } = useControlledValueWithTimezone({
39
- name: 'useMultiInputDateRangeField',
40
- timezone: timezoneProp,
41
- value: valueProp,
42
- defaultValue,
43
- referenceDate,
44
- onChange,
45
- valueManager: rangeValueManager
46
- });
47
- const {
48
- validationError,
49
- getValidationErrorForNewValue
50
- } = useValidation({
51
- props: sharedProps,
52
- value,
53
- timezone,
54
- validator: validateDateTimeRange,
55
- onError: sharedProps.onError
56
- });
57
-
58
- // TODO: Maybe export utility from `useField` instead of copy/pasting the logic
59
- const buildChangeHandler = index => {
60
- return (newDate, rawContext) => {
61
- const newDateRange = index === 0 ? [newDate, value[1]] : [value[0], newDate];
62
- const context = _extends({}, rawContext, {
63
- validationError: getValidationErrorForNewValue(newDateRange)
64
- });
65
- handleValueChange(newDateRange, context);
66
- };
67
- };
68
- const handleStartDateChange = useEventCallback(buildChangeHandler(0));
69
- const handleEndDateChange = useEventCallback(buildChangeHandler(1));
70
- const selectedSectionsResponse = useMultiInputFieldSelectedSections({
71
- selectedSections,
72
- onSelectedSectionsChange,
73
- unstableStartFieldRef,
74
- unstableEndFieldRef
75
- });
76
- const startFieldProps = _extends({
77
- error: !!validationError[0]
78
- }, startTextFieldProps, selectedSectionsResponse.start, {
79
- disabled,
80
- readOnly,
81
- format,
82
- formatDensity,
83
- shouldRespectLeadingZeros,
84
- timezone,
85
- value: valueProp === undefined ? undefined : valueProp[0],
86
- defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
87
- onChange: handleStartDateChange,
88
- enableAccessibleFieldDOMStructure,
89
- autoFocus // Do not add on end field.
90
- });
91
- const endFieldProps = _extends({
92
- error: !!validationError[1]
93
- }, endTextFieldProps, selectedSectionsResponse.end, {
94
- format,
95
- formatDensity,
96
- shouldRespectLeadingZeros,
97
- disabled,
98
- readOnly,
99
- timezone,
100
- value: valueProp === undefined ? undefined : valueProp[1],
101
- defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
102
- onChange: handleEndDateChange,
103
- enableAccessibleFieldDOMStructure
104
- });
105
- const startDateResponse = useDateTimeField(startFieldProps);
106
- const endDateResponse = useDateTimeField(endFieldProps);
107
-
108
- /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
109
- return {
110
- startDate: excludeProps(startDateResponse, ['clearable', 'onClear']),
111
- endDate: excludeProps(endDateResponse, ['clearable', 'onClear'])
112
- };
113
- };
@@ -1,11 +0,0 @@
1
- import { UseFieldResponse } from '@mui/x-date-pickers/internals';
2
- import { MultiInputFieldRefs } from '../../../models';
3
- export interface UseMultiInputRangeFieldParams<TSharedProps extends {}, TTextFieldSlotProps extends {}> extends MultiInputFieldRefs {
4
- sharedProps: TSharedProps;
5
- startTextFieldProps: TTextFieldSlotProps;
6
- endTextFieldProps: TTextFieldSlotProps;
7
- }
8
- export interface UseMultiInputRangeFieldResponse<TEnableAccessibleFieldDOMStructure extends boolean, TForwardedProps extends {}> {
9
- startDate: UseFieldResponse<TEnableAccessibleFieldDOMStructure, TForwardedProps>;
10
- endDate: UseFieldResponse<TEnableAccessibleFieldDOMStructure, TForwardedProps>;
11
- }
@@ -1,3 +0,0 @@
1
- import type { UseMultiInputTimeRangeFieldParams } from '../../../MultiInputTimeRangeField/MultiInputTimeRangeField.types';
2
- import type { UseMultiInputRangeFieldResponse } from './useMultiInputRangeField.types';
3
- export declare const useMultiInputTimeRangeField: <TEnableAccessibleFieldDOMStructure extends boolean, TTextFieldSlotProps extends {}>({ sharedProps: inSharedProps, startTextFieldProps, unstableStartFieldRef, endTextFieldProps, unstableEndFieldRef, }: UseMultiInputTimeRangeFieldParams<TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>) => UseMultiInputRangeFieldResponse<TEnableAccessibleFieldDOMStructure, TTextFieldSlotProps>;
@@ -1,113 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import useEventCallback from '@mui/utils/useEventCallback';
3
- import { unstable_useTimeField as useTimeField } from '@mui/x-date-pickers/TimeField';
4
- import { useControlledValueWithTimezone, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
5
- import { useValidation } from '@mui/x-date-pickers/validation';
6
- import { validateTimeRange } from "../../../validation/index.js";
7
- import { rangeValueManager } from "../../utils/valueManagers.js";
8
- import { excludeProps } from "./shared.js";
9
- import { useMultiInputFieldSelectedSections } from "../useMultiInputFieldSelectedSections.js";
10
- export const useMultiInputTimeRangeField = ({
11
- sharedProps: inSharedProps,
12
- startTextFieldProps,
13
- unstableStartFieldRef,
14
- endTextFieldProps,
15
- unstableEndFieldRef
16
- }) => {
17
- const sharedProps = useDefaultizedTimeField(inSharedProps);
18
- const {
19
- value: valueProp,
20
- defaultValue,
21
- referenceDate,
22
- format,
23
- formatDensity,
24
- shouldRespectLeadingZeros,
25
- onChange,
26
- disabled,
27
- readOnly,
28
- selectedSections,
29
- onSelectedSectionsChange,
30
- timezone: timezoneProp,
31
- enableAccessibleFieldDOMStructure,
32
- autoFocus
33
- } = sharedProps;
34
- const {
35
- value,
36
- handleValueChange,
37
- timezone
38
- } = useControlledValueWithTimezone({
39
- name: 'useMultiInputDateRangeField',
40
- timezone: timezoneProp,
41
- value: valueProp,
42
- defaultValue,
43
- onChange,
44
- valueManager: rangeValueManager,
45
- referenceDate
46
- });
47
- const {
48
- validationError,
49
- getValidationErrorForNewValue
50
- } = useValidation({
51
- props: sharedProps,
52
- validator: validateTimeRange,
53
- value,
54
- timezone,
55
- onError: sharedProps.onError
56
- });
57
-
58
- // TODO: Maybe export utility from `useField` instead of copy/pasting the logic
59
- const buildChangeHandler = index => {
60
- return (newDate, rawContext) => {
61
- const newDateRange = index === 0 ? [newDate, value[1]] : [value[0], newDate];
62
- const context = _extends({}, rawContext, {
63
- validationError: getValidationErrorForNewValue(newDateRange)
64
- });
65
- handleValueChange(newDateRange, context);
66
- };
67
- };
68
- const handleStartDateChange = useEventCallback(buildChangeHandler(0));
69
- const handleEndDateChange = useEventCallback(buildChangeHandler(1));
70
- const selectedSectionsResponse = useMultiInputFieldSelectedSections({
71
- selectedSections,
72
- onSelectedSectionsChange,
73
- unstableStartFieldRef,
74
- unstableEndFieldRef
75
- });
76
- const startFieldProps = _extends({
77
- error: !!validationError[0]
78
- }, startTextFieldProps, selectedSectionsResponse.start, {
79
- disabled,
80
- readOnly,
81
- format,
82
- formatDensity,
83
- shouldRespectLeadingZeros,
84
- timezone,
85
- value: valueProp === undefined ? undefined : valueProp[0],
86
- defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
87
- onChange: handleStartDateChange,
88
- enableAccessibleFieldDOMStructure,
89
- autoFocus // Do not add on end field.
90
- });
91
- const endFieldProps = _extends({
92
- error: !!validationError[1]
93
- }, endTextFieldProps, selectedSectionsResponse.end, {
94
- format,
95
- formatDensity,
96
- shouldRespectLeadingZeros,
97
- disabled,
98
- readOnly,
99
- timezone,
100
- value: valueProp === undefined ? undefined : valueProp[1],
101
- defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
102
- onChange: handleEndDateChange,
103
- enableAccessibleFieldDOMStructure
104
- });
105
- const startDateResponse = useTimeField(startFieldProps);
106
- const endDateResponse = useTimeField(endFieldProps);
107
-
108
- /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
109
- return {
110
- startDate: excludeProps(startDateResponse, ['clearable', 'onClear']),
111
- endDate: excludeProps(endDateResponse, ['clearable', 'onClear'])
112
- };
113
- };
@@ -1,6 +0,0 @@
1
- import { MakeOptional } from '@mui/x-internals/types';
2
- import { UseFieldInternalProps, AmPmProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
3
- import { TimeRangeValidationError, RangeFieldSection, RangeFieldSeparatorProps } from '../../models';
4
- import type { ExportedValidateTimeRangeProps } from '../../validation/validateTimeRange';
5
- export interface UseTimeRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<Omit<UseFieldInternalProps<PickerRangeValue, RangeFieldSection, TEnableAccessibleFieldDOMStructure, TimeRangeValidationError>, 'unstableFieldRef'>, 'format'>, RangeFieldSeparatorProps, ExportedValidateTimeRangeProps, AmPmProps {
6
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,7 +0,0 @@
1
- import { MakeOptional } from '@mui/x-internals/types';
2
- import { UseFieldInternalProps, PickerRangeValue } from '@mui/x-date-pickers/internals';
3
- import { RangeFieldSection, RangeFieldSeparatorProps } from './fields';
4
- import { DateRangeValidationError } from './validation';
5
- import type { ExportedValidateDateRangeProps } from '../validation/validateDateRange';
6
- export interface UseDateRangeFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<Omit<UseFieldInternalProps<PickerRangeValue, RangeFieldSection, TEnableAccessibleFieldDOMStructure, DateRangeValidationError>, 'unstableFieldRef'>, 'format'>, RangeFieldSeparatorProps, ExportedValidateDateRangeProps {
7
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,7 +0,0 @@
1
- export interface MultiInputRangeFieldClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the separator element. */
5
- separator: string;
6
- }
7
- export type MultiInputRangeFieldClassKey = keyof MultiInputRangeFieldClasses;
@@ -1 +0,0 @@
1
- export {};
@@ -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,113 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import useEventCallback from '@mui/utils/useEventCallback';
3
- import { unstable_useDateField as useDateField } from '@mui/x-date-pickers/DateField';
4
- import { useControlledValueWithTimezone, useDefaultizedDateField } from '@mui/x-date-pickers/internals';
5
- import { useValidation } from '@mui/x-date-pickers/validation';
6
- import { validateDateRange } from "../../../validation/index.js";
7
- import { rangeValueManager } from "../../utils/valueManagers.js";
8
- import { excludeProps } from "./shared.js";
9
- import { useMultiInputFieldSelectedSections } from "../useMultiInputFieldSelectedSections.js";
10
- export const useMultiInputDateRangeField = ({
11
- sharedProps: inSharedProps,
12
- startTextFieldProps,
13
- unstableStartFieldRef,
14
- endTextFieldProps,
15
- unstableEndFieldRef
16
- }) => {
17
- const sharedProps = useDefaultizedDateField(inSharedProps);
18
- const {
19
- value: valueProp,
20
- defaultValue,
21
- referenceDate,
22
- format,
23
- formatDensity,
24
- shouldRespectLeadingZeros,
25
- onChange,
26
- disabled,
27
- readOnly,
28
- selectedSections,
29
- onSelectedSectionsChange,
30
- timezone: timezoneProp,
31
- enableAccessibleFieldDOMStructure,
32
- autoFocus
33
- } = sharedProps;
34
- const {
35
- value,
36
- handleValueChange,
37
- timezone
38
- } = useControlledValueWithTimezone({
39
- name: 'useMultiInputDateRangeField',
40
- timezone: timezoneProp,
41
- value: valueProp,
42
- defaultValue,
43
- referenceDate,
44
- onChange,
45
- valueManager: rangeValueManager
46
- });
47
- const {
48
- validationError,
49
- getValidationErrorForNewValue
50
- } = useValidation({
51
- props: sharedProps,
52
- value,
53
- timezone,
54
- validator: validateDateRange,
55
- onError: sharedProps.onError
56
- });
57
-
58
- // TODO: Maybe export utility from `useField` instead of copy/pasting the logic
59
- const buildChangeHandler = index => {
60
- return (newDate, rawContext) => {
61
- const newDateRange = index === 0 ? [newDate, value[1]] : [value[0], newDate];
62
- const context = _extends({}, rawContext, {
63
- validationError: getValidationErrorForNewValue(newDateRange)
64
- });
65
- handleValueChange(newDateRange, context);
66
- };
67
- };
68
- const handleStartDateChange = useEventCallback(buildChangeHandler(0));
69
- const handleEndDateChange = useEventCallback(buildChangeHandler(1));
70
- const selectedSectionsResponse = useMultiInputFieldSelectedSections({
71
- selectedSections,
72
- onSelectedSectionsChange,
73
- unstableStartFieldRef,
74
- unstableEndFieldRef
75
- });
76
- const startFieldProps = _extends({
77
- error: !!validationError[0]
78
- }, startTextFieldProps, selectedSectionsResponse.start, {
79
- disabled,
80
- readOnly,
81
- format,
82
- formatDensity,
83
- shouldRespectLeadingZeros,
84
- timezone,
85
- value: valueProp === undefined ? undefined : valueProp[0],
86
- defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
87
- onChange: handleStartDateChange,
88
- enableAccessibleFieldDOMStructure,
89
- autoFocus // Do not add on end field.
90
- });
91
- const endFieldProps = _extends({
92
- error: !!validationError[1]
93
- }, endTextFieldProps, selectedSectionsResponse.end, {
94
- format,
95
- formatDensity,
96
- shouldRespectLeadingZeros,
97
- disabled,
98
- readOnly,
99
- timezone,
100
- value: valueProp === undefined ? undefined : valueProp[1],
101
- defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
102
- onChange: handleEndDateChange,
103
- enableAccessibleFieldDOMStructure
104
- });
105
- const startDateResponse = useDateField(startFieldProps);
106
- const endDateResponse = useDateField(endFieldProps);
107
-
108
- /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
109
- return {
110
- startDate: excludeProps(startDateResponse, ['clearable', 'onClear']),
111
- endDate: excludeProps(endDateResponse, ['clearable', 'onClear'])
112
- };
113
- };
@@ -1,113 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import useEventCallback from '@mui/utils/useEventCallback';
3
- import { unstable_useDateTimeField as useDateTimeField } from '@mui/x-date-pickers/DateTimeField';
4
- import { useControlledValueWithTimezone, useDefaultizedDateTimeField } from '@mui/x-date-pickers/internals';
5
- import { useValidation } from '@mui/x-date-pickers/validation';
6
- import { validateDateTimeRange } from "../../../validation/index.js";
7
- import { rangeValueManager } from "../../utils/valueManagers.js";
8
- import { excludeProps } from "./shared.js";
9
- import { useMultiInputFieldSelectedSections } from "../useMultiInputFieldSelectedSections.js";
10
- export const useMultiInputDateTimeRangeField = ({
11
- sharedProps: inSharedProps,
12
- startTextFieldProps,
13
- unstableStartFieldRef,
14
- endTextFieldProps,
15
- unstableEndFieldRef
16
- }) => {
17
- const sharedProps = useDefaultizedDateTimeField(inSharedProps);
18
- const {
19
- value: valueProp,
20
- defaultValue,
21
- referenceDate,
22
- format,
23
- formatDensity,
24
- shouldRespectLeadingZeros,
25
- onChange,
26
- disabled,
27
- readOnly,
28
- selectedSections,
29
- onSelectedSectionsChange,
30
- timezone: timezoneProp,
31
- enableAccessibleFieldDOMStructure,
32
- autoFocus
33
- } = sharedProps;
34
- const {
35
- value,
36
- handleValueChange,
37
- timezone
38
- } = useControlledValueWithTimezone({
39
- name: 'useMultiInputDateRangeField',
40
- timezone: timezoneProp,
41
- value: valueProp,
42
- defaultValue,
43
- referenceDate,
44
- onChange,
45
- valueManager: rangeValueManager
46
- });
47
- const {
48
- validationError,
49
- getValidationErrorForNewValue
50
- } = useValidation({
51
- props: sharedProps,
52
- value,
53
- timezone,
54
- validator: validateDateTimeRange,
55
- onError: sharedProps.onError
56
- });
57
-
58
- // TODO: Maybe export utility from `useField` instead of copy/pasting the logic
59
- const buildChangeHandler = index => {
60
- return (newDate, rawContext) => {
61
- const newDateRange = index === 0 ? [newDate, value[1]] : [value[0], newDate];
62
- const context = _extends({}, rawContext, {
63
- validationError: getValidationErrorForNewValue(newDateRange)
64
- });
65
- handleValueChange(newDateRange, context);
66
- };
67
- };
68
- const handleStartDateChange = useEventCallback(buildChangeHandler(0));
69
- const handleEndDateChange = useEventCallback(buildChangeHandler(1));
70
- const selectedSectionsResponse = useMultiInputFieldSelectedSections({
71
- selectedSections,
72
- onSelectedSectionsChange,
73
- unstableStartFieldRef,
74
- unstableEndFieldRef
75
- });
76
- const startFieldProps = _extends({
77
- error: !!validationError[0]
78
- }, startTextFieldProps, selectedSectionsResponse.start, {
79
- disabled,
80
- readOnly,
81
- format,
82
- formatDensity,
83
- shouldRespectLeadingZeros,
84
- timezone,
85
- value: valueProp === undefined ? undefined : valueProp[0],
86
- defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
87
- onChange: handleStartDateChange,
88
- enableAccessibleFieldDOMStructure,
89
- autoFocus // Do not add on end field.
90
- });
91
- const endFieldProps = _extends({
92
- error: !!validationError[1]
93
- }, endTextFieldProps, selectedSectionsResponse.end, {
94
- format,
95
- formatDensity,
96
- shouldRespectLeadingZeros,
97
- disabled,
98
- readOnly,
99
- timezone,
100
- value: valueProp === undefined ? undefined : valueProp[1],
101
- defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
102
- onChange: handleEndDateChange,
103
- enableAccessibleFieldDOMStructure
104
- });
105
- const startDateResponse = useDateTimeField(startFieldProps);
106
- const endDateResponse = useDateTimeField(endFieldProps);
107
-
108
- /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
109
- return {
110
- startDate: excludeProps(startDateResponse, ['clearable', 'onClear']),
111
- endDate: excludeProps(endDateResponse, ['clearable', 'onClear'])
112
- };
113
- };
@@ -1,113 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import useEventCallback from '@mui/utils/useEventCallback';
3
- import { unstable_useTimeField as useTimeField } from '@mui/x-date-pickers/TimeField';
4
- import { useControlledValueWithTimezone, useDefaultizedTimeField } from '@mui/x-date-pickers/internals';
5
- import { useValidation } from '@mui/x-date-pickers/validation';
6
- import { validateTimeRange } from "../../../validation/index.js";
7
- import { rangeValueManager } from "../../utils/valueManagers.js";
8
- import { excludeProps } from "./shared.js";
9
- import { useMultiInputFieldSelectedSections } from "../useMultiInputFieldSelectedSections.js";
10
- export const useMultiInputTimeRangeField = ({
11
- sharedProps: inSharedProps,
12
- startTextFieldProps,
13
- unstableStartFieldRef,
14
- endTextFieldProps,
15
- unstableEndFieldRef
16
- }) => {
17
- const sharedProps = useDefaultizedTimeField(inSharedProps);
18
- const {
19
- value: valueProp,
20
- defaultValue,
21
- referenceDate,
22
- format,
23
- formatDensity,
24
- shouldRespectLeadingZeros,
25
- onChange,
26
- disabled,
27
- readOnly,
28
- selectedSections,
29
- onSelectedSectionsChange,
30
- timezone: timezoneProp,
31
- enableAccessibleFieldDOMStructure,
32
- autoFocus
33
- } = sharedProps;
34
- const {
35
- value,
36
- handleValueChange,
37
- timezone
38
- } = useControlledValueWithTimezone({
39
- name: 'useMultiInputDateRangeField',
40
- timezone: timezoneProp,
41
- value: valueProp,
42
- defaultValue,
43
- onChange,
44
- valueManager: rangeValueManager,
45
- referenceDate
46
- });
47
- const {
48
- validationError,
49
- getValidationErrorForNewValue
50
- } = useValidation({
51
- props: sharedProps,
52
- validator: validateTimeRange,
53
- value,
54
- timezone,
55
- onError: sharedProps.onError
56
- });
57
-
58
- // TODO: Maybe export utility from `useField` instead of copy/pasting the logic
59
- const buildChangeHandler = index => {
60
- return (newDate, rawContext) => {
61
- const newDateRange = index === 0 ? [newDate, value[1]] : [value[0], newDate];
62
- const context = _extends({}, rawContext, {
63
- validationError: getValidationErrorForNewValue(newDateRange)
64
- });
65
- handleValueChange(newDateRange, context);
66
- };
67
- };
68
- const handleStartDateChange = useEventCallback(buildChangeHandler(0));
69
- const handleEndDateChange = useEventCallback(buildChangeHandler(1));
70
- const selectedSectionsResponse = useMultiInputFieldSelectedSections({
71
- selectedSections,
72
- onSelectedSectionsChange,
73
- unstableStartFieldRef,
74
- unstableEndFieldRef
75
- });
76
- const startFieldProps = _extends({
77
- error: !!validationError[0]
78
- }, startTextFieldProps, selectedSectionsResponse.start, {
79
- disabled,
80
- readOnly,
81
- format,
82
- formatDensity,
83
- shouldRespectLeadingZeros,
84
- timezone,
85
- value: valueProp === undefined ? undefined : valueProp[0],
86
- defaultValue: defaultValue === undefined ? undefined : defaultValue[0],
87
- onChange: handleStartDateChange,
88
- enableAccessibleFieldDOMStructure,
89
- autoFocus // Do not add on end field.
90
- });
91
- const endFieldProps = _extends({
92
- error: !!validationError[1]
93
- }, endTextFieldProps, selectedSectionsResponse.end, {
94
- format,
95
- formatDensity,
96
- shouldRespectLeadingZeros,
97
- disabled,
98
- readOnly,
99
- timezone,
100
- value: valueProp === undefined ? undefined : valueProp[1],
101
- defaultValue: defaultValue === undefined ? undefined : defaultValue[1],
102
- onChange: handleEndDateChange,
103
- enableAccessibleFieldDOMStructure
104
- });
105
- const startDateResponse = useTimeField(startFieldProps);
106
- const endDateResponse = useTimeField(endFieldProps);
107
-
108
- /* TODO: Undo this change when a clearable behavior for multiple input range fields is implemented */
109
- return {
110
- startDate: excludeProps(startDateResponse, ['clearable', 'onClear']),
111
- endDate: excludeProps(endDateResponse, ['clearable', 'onClear'])
112
- };
113
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.excludeProps = void 0;
7
- /* TODO: remove this when a clearable behavior for multiple input range fields is implemented */
8
- const excludeProps = (props, excludedProps) => {
9
- return Object.keys(props).reduce((acc, key) => {
10
- if (!excludedProps.includes(key)) {
11
- acc[key] = props[key];
12
- }
13
- return acc;
14
- }, {});
15
- };
16
- exports.excludeProps = excludeProps;