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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +2 -4
  2. package/AdapterDateFns/AdapterDateFns.js +49 -47
  3. package/AdapterDateFnsBase/AdapterDateFnsBase.d.ts +1 -1
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +2 -4
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  6. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.d.ts → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts} +2 -2
  7. package/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  8. package/AdapterDateFnsJalaliV2/index.d.ts +1 -0
  9. package/AdapterDateFnsJalaliV2/index.js +1 -0
  10. package/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/package.json +1 -1
  11. package/{AdapterDateFnsV3/AdapterDateFnsV3.d.ts → AdapterDateFnsV2/AdapterDateFnsV2.d.ts} +2 -2
  12. package/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  13. package/AdapterDateFnsV2/index.d.ts +1 -0
  14. package/AdapterDateFnsV2/index.js +1 -0
  15. package/{AdapterDateFnsV3 → AdapterDateFnsV2}/package.json +1 -1
  16. package/AdapterDayjs/AdapterDayjs.d.ts +1 -1
  17. package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
  18. package/AdapterMoment/AdapterMoment.d.ts +1 -1
  19. package/CHANGELOG.md +242 -1
  20. package/DateCalendar/DateCalendar.js +1 -1
  21. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  22. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  23. package/DateField/DateField.js +26 -31
  24. package/DateField/DateField.types.d.ts +6 -15
  25. package/DateField/useDateField.d.ts +1 -1
  26. package/DateField/useDateField.js +14 -11
  27. package/DatePicker/DatePicker.js +1 -1
  28. package/DatePicker/DatePicker.types.d.ts +5 -0
  29. package/DatePicker/DatePickerToolbar.d.ts +1 -2
  30. package/DatePicker/DatePickerToolbar.js +7 -11
  31. package/DatePicker/shared.d.ts +1 -1
  32. package/DateTimeField/DateTimeField.js +26 -31
  33. package/DateTimeField/DateTimeField.types.d.ts +6 -15
  34. package/DateTimeField/useDateTimeField.d.ts +1 -1
  35. package/DateTimeField/useDateTimeField.js +14 -11
  36. package/DateTimePicker/DateTimePicker.js +2 -2
  37. package/DateTimePicker/DateTimePickerTabs.js +2 -2
  38. package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -2
  39. package/DateTimePicker/DateTimePickerToolbar.js +36 -31
  40. package/DateTimePicker/shared.d.ts +1 -1
  41. package/DesktopDatePicker/DesktopDatePicker.js +9 -14
  42. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +5 -0
  43. package/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  44. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  45. package/DesktopTimePicker/DesktopTimePicker.js +4 -19
  46. package/MobileDatePicker/MobileDatePicker.js +2 -11
  47. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  48. package/MobileTimePicker/MobileTimePicker.js +2 -11
  49. package/PickersActionBar/PickersActionBar.d.ts +6 -3
  50. package/PickersActionBar/PickersActionBar.js +6 -3
  51. package/PickersLayout/PickersLayout.js +1 -5
  52. package/PickersLayout/PickersLayout.types.d.ts +2 -3
  53. package/PickersLayout/usePickerLayout.js +12 -31
  54. package/PickersShortcuts/PickersShortcuts.d.ts +2 -5
  55. package/PickersShortcuts/PickersShortcuts.js +13 -10
  56. package/PickersShortcuts/index.d.ts +1 -1
  57. package/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  58. package/PickersTextField/PickersTextField.js +1 -1
  59. package/TimeField/TimeField.js +25 -30
  60. package/TimeField/TimeField.types.d.ts +6 -15
  61. package/TimeField/useTimeField.d.ts +1 -1
  62. package/TimeField/useTimeField.js +14 -11
  63. package/TimePicker/TimePicker.js +2 -2
  64. package/TimePicker/TimePickerToolbar.d.ts +1 -2
  65. package/TimePicker/TimePickerToolbar.js +20 -18
  66. package/TimePicker/shared.d.ts +1 -1
  67. package/hooks/index.d.ts +1 -0
  68. package/hooks/index.js +2 -1
  69. package/hooks/useIsValidValue.d.ts +7 -0
  70. package/hooks/useIsValidValue.js +11 -0
  71. package/hooks/useParsedFormat.d.ts +8 -6
  72. package/hooks/useParsedFormat.js +10 -12
  73. package/hooks/usePickerActionsContext.d.ts +3 -1
  74. package/hooks/usePickerActionsContext.js +0 -1
  75. package/hooks/usePickerContext.d.ts +5 -3
  76. package/hooks/usePickerContext.js +3 -2
  77. package/hooks/useSplitFieldProps.d.ts +12 -3
  78. package/hooks/useSplitFieldProps.js +8 -3
  79. package/index.d.ts +1 -0
  80. package/index.js +3 -2
  81. package/internals/components/PickerFieldUI.d.ts +132 -0
  82. package/internals/components/PickerFieldUI.js +306 -0
  83. package/internals/components/PickerProvider.d.ts +34 -12
  84. package/internals/components/PickerProvider.js +14 -4
  85. package/internals/components/PickersToolbar.d.ts +2 -3
  86. package/internals/components/PickersToolbar.js +1 -1
  87. package/internals/hooks/date-helpers-hooks.js +4 -3
  88. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +1 -1
  89. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -96
  90. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +10 -33
  91. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  92. package/internals/hooks/useField/index.d.ts +2 -0
  93. package/internals/hooks/useField/index.js +2 -1
  94. package/internals/hooks/useField/useField.js +12 -4
  95. package/internals/hooks/useField/useField.types.d.ts +11 -4
  96. package/internals/hooks/useField/useField.utils.js +2 -2
  97. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +15 -0
  98. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +46 -0
  99. package/internals/hooks/useField/useFieldState.js +2 -2
  100. package/internals/hooks/useField/useFieldV6TextField.js +2 -2
  101. package/internals/hooks/useField/useFieldV7TextField.js +3 -3
  102. package/internals/hooks/useFieldOwnerState.d.ts +1 -2
  103. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +1 -1
  104. package/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  105. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +8 -16
  106. package/internals/hooks/useNullablePickerContext.d.ts +5 -0
  107. package/internals/hooks/useNullablePickerContext.js +10 -0
  108. package/internals/hooks/useOpenState.js +3 -2
  109. package/internals/hooks/usePicker/usePicker.d.ts +1 -2
  110. package/internals/hooks/usePicker/usePicker.js +0 -9
  111. package/internals/hooks/usePicker/usePicker.types.d.ts +7 -9
  112. package/internals/hooks/usePicker/usePickerProvider.d.ts +12 -6
  113. package/internals/hooks/usePicker/usePickerProvider.js +26 -4
  114. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  115. package/internals/hooks/usePicker/usePickerValue.js +62 -185
  116. package/internals/hooks/usePicker/usePickerValue.types.d.ts +52 -55
  117. package/internals/hooks/usePicker/usePickerViews.d.ts +27 -23
  118. package/internals/hooks/usePicker/usePickerViews.js +17 -11
  119. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  120. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +2 -2
  121. package/internals/hooks/useUtils.d.ts +4 -3
  122. package/internals/hooks/useUtils.js +1 -1
  123. package/internals/index.d.ts +11 -6
  124. package/internals/index.js +6 -4
  125. package/internals/models/fields.d.ts +3 -16
  126. package/internals/models/index.d.ts +1 -0
  127. package/internals/models/index.js +2 -1
  128. package/internals/models/manager.d.ts +15 -0
  129. package/internals/models/manager.js +1 -0
  130. package/internals/models/props/basePickerProps.d.ts +2 -14
  131. package/internals/models/props/toolbar.d.ts +1 -5
  132. package/internals/utils/date-utils.js +1 -1
  133. package/internals/utils/valueManagers.js +4 -4
  134. package/locales/index.d.ts +1 -0
  135. package/locales/index.js +1 -0
  136. package/locales/nbNO.js +15 -19
  137. package/locales/utils/getPickersLocalization.d.ts +0 -7
  138. package/locales/utils/getPickersLocalization.js +0 -13
  139. package/locales/zhTW.d.ts +80 -0
  140. package/locales/zhTW.js +73 -0
  141. package/managers/index.d.ts +6 -0
  142. package/managers/index.js +3 -0
  143. package/managers/package.json +6 -0
  144. package/managers/useDateManager.d.ts +27 -0
  145. package/managers/useDateManager.js +55 -0
  146. package/managers/useDateTimeManager.d.ts +28 -0
  147. package/managers/useDateTimeManager.js +60 -0
  148. package/managers/useTimeManager.d.ts +28 -0
  149. package/managers/useTimeManager.js +51 -0
  150. package/models/adapters.d.ts +1 -1
  151. package/models/fields.d.ts +4 -4
  152. package/models/index.d.ts +1 -0
  153. package/models/index.js +1 -0
  154. package/models/manager.d.ts +87 -0
  155. package/models/manager.js +1 -0
  156. package/models/pickers.d.ts +7 -0
  157. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  158. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  159. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  160. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  161. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  162. package/modern/AdapterDateFnsV2/index.js +1 -0
  163. package/modern/DateCalendar/DateCalendar.js +1 -1
  164. package/modern/DateField/DateField.js +26 -31
  165. package/modern/DateField/useDateField.js +14 -11
  166. package/modern/DatePicker/DatePicker.js +1 -1
  167. package/modern/DatePicker/DatePickerToolbar.js +7 -11
  168. package/modern/DateTimeField/DateTimeField.js +26 -31
  169. package/modern/DateTimeField/useDateTimeField.js +14 -11
  170. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  171. package/modern/DateTimePicker/DateTimePickerTabs.js +2 -2
  172. package/modern/DateTimePicker/DateTimePickerToolbar.js +36 -31
  173. package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -14
  174. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  175. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  176. package/modern/DesktopTimePicker/DesktopTimePicker.js +4 -19
  177. package/modern/MobileDatePicker/MobileDatePicker.js +2 -11
  178. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  179. package/modern/MobileTimePicker/MobileTimePicker.js +2 -11
  180. package/modern/PickersActionBar/PickersActionBar.js +6 -3
  181. package/modern/PickersLayout/PickersLayout.js +1 -5
  182. package/modern/PickersLayout/usePickerLayout.js +12 -31
  183. package/modern/PickersShortcuts/PickersShortcuts.js +13 -10
  184. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  185. package/modern/PickersTextField/PickersTextField.js +1 -1
  186. package/modern/TimeField/TimeField.js +25 -30
  187. package/modern/TimeField/useTimeField.js +14 -11
  188. package/modern/TimePicker/TimePicker.js +2 -2
  189. package/modern/TimePicker/TimePickerToolbar.js +20 -18
  190. package/modern/hooks/index.js +2 -1
  191. package/modern/hooks/useIsValidValue.js +11 -0
  192. package/modern/hooks/useParsedFormat.js +10 -12
  193. package/modern/hooks/usePickerActionsContext.js +0 -1
  194. package/modern/hooks/usePickerContext.js +3 -2
  195. package/modern/hooks/useSplitFieldProps.js +8 -3
  196. package/modern/index.js +3 -2
  197. package/modern/internals/components/PickerFieldUI.js +306 -0
  198. package/modern/internals/components/PickerProvider.js +14 -4
  199. package/modern/internals/components/PickersToolbar.js +1 -1
  200. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  201. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +21 -96
  202. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  203. package/modern/internals/hooks/useField/index.js +2 -1
  204. package/modern/internals/hooks/useField/useField.js +12 -4
  205. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  206. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +46 -0
  207. package/modern/internals/hooks/useField/useFieldState.js +2 -2
  208. package/modern/internals/hooks/useField/useFieldV6TextField.js +2 -2
  209. package/modern/internals/hooks/useField/useFieldV7TextField.js +3 -3
  210. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  211. package/modern/internals/hooks/useNullablePickerContext.js +10 -0
  212. package/modern/internals/hooks/useOpenState.js +3 -2
  213. package/modern/internals/hooks/usePicker/usePicker.js +0 -9
  214. package/modern/internals/hooks/usePicker/usePickerProvider.js +26 -4
  215. package/modern/internals/hooks/usePicker/usePickerValue.js +62 -185
  216. package/modern/internals/hooks/usePicker/usePickerViews.js +17 -11
  217. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  218. package/modern/internals/hooks/useUtils.js +1 -1
  219. package/modern/internals/index.js +6 -4
  220. package/modern/internals/models/index.js +2 -1
  221. package/modern/internals/models/manager.js +1 -0
  222. package/modern/internals/utils/date-utils.js +1 -1
  223. package/modern/internals/utils/valueManagers.js +4 -4
  224. package/modern/locales/index.js +1 -0
  225. package/modern/locales/nbNO.js +15 -19
  226. package/modern/locales/utils/getPickersLocalization.js +0 -13
  227. package/modern/locales/zhTW.js +73 -0
  228. package/modern/managers/index.js +3 -0
  229. package/modern/managers/useDateManager.js +55 -0
  230. package/modern/managers/useDateTimeManager.js +60 -0
  231. package/modern/managers/useTimeManager.js +51 -0
  232. package/modern/models/index.js +1 -0
  233. package/modern/models/manager.js +1 -0
  234. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  235. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  236. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  237. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  238. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  239. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  240. package/node/DateCalendar/DateCalendar.js +1 -1
  241. package/node/DateField/DateField.js +26 -31
  242. package/node/DateField/useDateField.js +13 -10
  243. package/node/DatePicker/DatePicker.js +1 -1
  244. package/node/DatePicker/DatePickerToolbar.js +7 -11
  245. package/node/DateTimeField/DateTimeField.js +26 -31
  246. package/node/DateTimeField/useDateTimeField.js +13 -10
  247. package/node/DateTimePicker/DateTimePicker.js +2 -2
  248. package/node/DateTimePicker/DateTimePickerTabs.js +2 -2
  249. package/node/DateTimePicker/DateTimePickerToolbar.js +36 -31
  250. package/node/DesktopDatePicker/DesktopDatePicker.js +9 -14
  251. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +14 -22
  252. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -5
  253. package/node/DesktopTimePicker/DesktopTimePicker.js +4 -19
  254. package/node/MobileDatePicker/MobileDatePicker.js +2 -11
  255. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -11
  256. package/node/MobileTimePicker/MobileTimePicker.js +2 -11
  257. package/node/PickersActionBar/PickersActionBar.js +8 -5
  258. package/node/PickersLayout/PickersLayout.js +1 -5
  259. package/node/PickersLayout/usePickerLayout.js +16 -35
  260. package/node/PickersShortcuts/PickersShortcuts.js +13 -10
  261. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  262. package/node/PickersTextField/PickersTextField.js +1 -1
  263. package/node/TimeField/TimeField.js +25 -30
  264. package/node/TimeField/useTimeField.js +13 -10
  265. package/node/TimePicker/TimePicker.js +2 -2
  266. package/node/TimePicker/TimePickerToolbar.js +20 -18
  267. package/node/hooks/index.js +8 -1
  268. package/node/hooks/useIsValidValue.js +18 -0
  269. package/node/hooks/useParsedFormat.js +10 -12
  270. package/node/hooks/usePickerContext.js +5 -4
  271. package/node/hooks/useSplitFieldProps.js +7 -2
  272. package/node/index.js +13 -1
  273. package/node/internals/components/PickerFieldUI.js +318 -0
  274. package/node/internals/components/PickerProvider.js +16 -6
  275. package/node/internals/components/PickersToolbar.js +1 -1
  276. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  277. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +23 -98
  278. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  279. package/node/internals/hooks/useField/index.js +8 -1
  280. package/node/internals/hooks/useField/useField.js +11 -3
  281. package/node/internals/hooks/useField/useField.utils.js +2 -2
  282. package/node/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +55 -0
  283. package/node/internals/hooks/useField/useFieldState.js +2 -2
  284. package/node/internals/hooks/useField/useFieldV6TextField.js +2 -2
  285. package/node/internals/hooks/useField/useFieldV7TextField.js +3 -3
  286. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +20 -51
  287. package/node/internals/hooks/useNullablePickerContext.js +16 -0
  288. package/node/internals/hooks/useOpenState.js +4 -2
  289. package/node/internals/hooks/usePicker/usePicker.js +0 -10
  290. package/node/internals/hooks/usePicker/usePickerProvider.js +26 -4
  291. package/node/internals/hooks/usePicker/usePickerValue.js +62 -185
  292. package/node/internals/hooks/usePicker/usePickerViews.js +17 -12
  293. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  294. package/node/internals/hooks/useUtils.js +1 -1
  295. package/node/internals/index.js +45 -19
  296. package/node/internals/models/index.js +11 -0
  297. package/node/internals/models/manager.js +5 -0
  298. package/node/internals/utils/date-utils.js +1 -1
  299. package/node/internals/utils/valueManagers.js +4 -4
  300. package/node/locales/index.js +11 -0
  301. package/node/locales/nbNO.js +15 -19
  302. package/node/locales/utils/getPickersLocalization.js +2 -16
  303. package/node/locales/zhTW.js +79 -0
  304. package/node/managers/index.js +26 -0
  305. package/node/managers/useDateManager.js +63 -0
  306. package/node/managers/useDateTimeManager.js +68 -0
  307. package/node/managers/useTimeManager.js +59 -0
  308. package/node/models/index.js +11 -0
  309. package/node/models/manager.js +5 -0
  310. package/package.json +3 -3
  311. package/themeAugmentation/props.d.ts +1 -1
  312. package/validation/extractValidationProps.d.ts +1 -1
  313. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  314. package/AdapterDateFnsJalaliV3/index.js +0 -1
  315. package/AdapterDateFnsV3/index.d.ts +0 -1
  316. package/AdapterDateFnsV3/index.js +0 -1
  317. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  318. package/internals/hooks/defaultizedFieldProps.js +0 -40
  319. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.d.ts +0 -3
  320. package/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  321. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  322. package/modern/AdapterDateFnsV3/index.js +0 -1
  323. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  324. package/modern/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -44
  325. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  326. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
  327. package/node/internals/utils/convertFieldResponseIntoMuiTextFieldProps.js +0 -52
@@ -5,9 +5,9 @@ import { UseViewsOptions } from '../useViews';
5
5
  import type { UsePickerValueViewsResponse } from './usePickerValue.types';
6
6
  import { DateOrTimeViewWithMeridiem, PickerRangeValue, PickerValidValue, PickerValue } from '../../models';
7
7
  import { FieldRef, PickerValidDate, TimezoneProps } from '../../../models';
8
- interface PickerViewsRendererBaseExternalProps<TView extends DateOrTimeViewWithMeridiem> extends Omit<UsePickerViewsProps<any, TView, any, any>, 'openTo' | 'viewRenderers'> {
8
+ export interface PickerViewsRendererBaseExternalProps extends Omit<UsePickerViewsProps<any, any, any>, 'openTo' | 'viewRenderers'> {
9
9
  }
10
- export type PickerViewsRendererProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps<TView>, TAdditionalProps extends {}> = Omit<TExternalProps, 'className' | 'sx'> & TAdditionalProps & Pick<UsePickerValueViewsResponse<TValue>, 'value' | 'onChange'> & {
10
+ export type PickerViewsRendererProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps> = Omit<TExternalProps, 'className' | 'sx'> & Pick<UsePickerValueViewsResponse<TValue>, 'value' | 'onChange'> & {
11
11
  view: TView;
12
12
  views: readonly TView[];
13
13
  focusedView: TView | null;
@@ -15,19 +15,17 @@ export type PickerViewsRendererProps<TValue extends PickerValidValue, TView exte
15
15
  showViewSwitcher: boolean;
16
16
  timeViewsCount: number;
17
17
  };
18
- export type PickerViewRenderer<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps<TView>, TAdditionalProps extends {}> = (props: PickerViewsRendererProps<TValue, TView, TExternalProps, TAdditionalProps>) => React.ReactNode;
19
- export type PickerViewRendererLookup<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps<any>, TAdditionalProps extends {}> = {
20
- [K in TView]: PickerViewRenderer<TValue, K, TExternalProps, TAdditionalProps> | null;
21
- };
18
+ export type PickerViewRenderer<TValue extends PickerValidValue, TExternalProps extends PickerViewsRendererBaseExternalProps> = (props: PickerViewsRendererProps<TValue, any, TExternalProps>) => React.ReactNode;
19
+ export type PickerViewRendererLookup<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends PickerViewsRendererBaseExternalProps> = Record<TView, PickerViewRenderer<TValue, TExternalProps> | null>;
22
20
  /**
23
21
  * Props used to handle the views that are common to all pickers.
24
22
  */
25
- export interface UsePickerViewsBaseProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any, any>, TAdditionalProps extends {}> extends Omit<UseViewsOptions<any, TView>, 'onChange' | 'onFocusedViewChange' | 'focusedView'>, TimezoneProps {
23
+ export interface UsePickerViewsBaseProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any>> extends Omit<UseViewsOptions<any, TView>, 'onChange' | 'onFocusedViewChange' | 'focusedView'>, TimezoneProps {
26
24
  /**
27
25
  * If `null`, the section will only have field editing.
28
26
  * If `undefined`, internally defined view will be used.
29
27
  */
30
- viewRenderers: PickerViewRendererLookup<TValue, TView, TExternalProps, TAdditionalProps>;
28
+ viewRenderers: PickerViewRendererLookup<TValue, TView, TExternalProps>;
31
29
  /**
32
30
  * If `true`, disable heavy animations.
33
31
  * @default `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` matches Android <10 or iOS <13
@@ -42,32 +40,44 @@ export interface UsePickerViewsBaseProps<TValue extends PickerValidValue, TView
42
40
  /**
43
41
  * Props used to handle the value of the pickers.
44
42
  */
45
- export interface UsePickerViewsProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any, any>, TAdditionalProps extends {}> extends UsePickerViewsBaseProps<TValue, TView, TExternalProps, TAdditionalProps> {
43
+ export interface UsePickerViewsProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any>> extends UsePickerViewsBaseProps<TValue, TView, TExternalProps> {
46
44
  className?: string;
47
45
  sx?: SxProps<Theme>;
48
46
  }
49
- export interface UsePickerViewParams<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, TExternalProps, TAdditionalProps>, TAdditionalProps extends {}> {
47
+ export interface UsePickerViewParams<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, TExternalProps>> {
50
48
  props: TExternalProps;
51
49
  propsFromPickerValue: UsePickerValueViewsResponse<TValue>;
52
- additionalViewProps: TAdditionalProps;
53
50
  autoFocusView: boolean;
54
- fieldRef: React.RefObject<FieldRef<PickerValue> | FieldRef<PickerRangeValue>> | undefined;
51
+ fieldRef?: React.RefObject<FieldRef<PickerValue> | FieldRef<PickerRangeValue> | null>;
55
52
  /**
56
53
  * A function that intercepts the regular picker rendering.
57
54
  * Can be used to consume the provided `viewRenderers` and render a custom component wrapping them.
58
- * @param {PickerViewRendererLookup<TValue, TView, TExternalProps, TAdditionalProps>} viewRenderers The `viewRenderers` that were provided to the picker component.
55
+ * @param {PickerViewRendererLookup<TValue, TView, TExternalProps>} viewRenderers The `viewRenderers` that were provided to the picker component.
59
56
  * @param {TView} popperView The current picker view.
60
57
  * @param {any} rendererProps All the props that are being passed down to the renderer.
61
58
  * @returns {React.ReactNode} A React node that will be rendered instead of the default renderer.
62
59
  */
63
- rendererInterceptor?: (viewRenderers: PickerViewRendererLookup<TValue, TView, TExternalProps, TAdditionalProps>, popperView: TView, rendererProps: PickerViewsRendererProps<TValue, TView, TExternalProps, TAdditionalProps>) => React.ReactNode;
60
+ rendererInterceptor?: React.JSXElementConstructor<PickerRendererInterceptorProps<TValue, TView, TExternalProps>>;
61
+ }
62
+ export interface PickerRendererInterceptorProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, TExternalProps>> {
63
+ viewRenderers: PickerViewRendererLookup<TValue, TView, TExternalProps>;
64
+ popperView: TView;
65
+ rendererProps: PickerViewsRendererProps<TValue, TView, TExternalProps>;
64
66
  }
65
67
  export interface UsePickerViewsResponse<TView extends DateOrTimeViewWithMeridiem> {
66
68
  renderCurrentView: () => React.ReactNode;
67
69
  shouldRestoreFocus: () => boolean;
68
70
  provider: UsePickerViewsProviderParams<TView>;
69
71
  }
70
- export interface UsePickerViewsContextValue<TView extends DateOrTimeViewWithMeridiem> {
72
+ export interface UsePickerViewsActionsContextValue<TView extends DateOrTimeViewWithMeridiem> {
73
+ /**
74
+ * Set the current view.
75
+ * @template TView
76
+ * @param {TView} view The view to render
77
+ */
78
+ setView: (view: TView) => void;
79
+ }
80
+ export interface UsePickerViewsContextValue<TView extends DateOrTimeViewWithMeridiem> extends UsePickerViewsActionsContextValue<TView> {
71
81
  /**
72
82
  * Available views.
73
83
  */
@@ -76,17 +86,12 @@ export interface UsePickerViewsContextValue<TView extends DateOrTimeViewWithMeri
76
86
  * View currently rendered.
77
87
  */
78
88
  view: TView | null;
79
- /**
80
- * Callback called when the view to render changes
81
- * @template TView
82
- * @param {TView} view The view to render
83
- */
84
- onViewChange: (view: TView) => void;
85
89
  }
86
90
  export interface UsePickerViewsProviderParams<TView extends DateOrTimeViewWithMeridiem> {
87
91
  hasUIView: boolean;
88
92
  views: readonly TView[];
89
93
  contextValue: UsePickerViewsContextValue<TView>;
94
+ actionsContextValue: UsePickerViewsActionsContextValue<TView>;
90
95
  }
91
96
  /**
92
97
  * Manage the views of all the pickers:
@@ -94,5 +99,4 @@ export interface UsePickerViewsProviderParams<TView extends DateOrTimeViewWithMe
94
99
  * - Handles the switch between UI views and field views
95
100
  * - Handles the focus management when switching views
96
101
  */
97
- export declare const usePickerViews: <TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any, any>, TAdditionalProps extends {}>({ props, propsFromPickerValue, additionalViewProps, autoFocusView, rendererInterceptor, fieldRef, }: UsePickerViewParams<TValue, TView, TExternalProps, TAdditionalProps>) => UsePickerViewsResponse<TView>;
98
- export {};
102
+ export declare const usePickerViews: <TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerViewsProps<TValue, TView, any>>({ props, propsFromPickerValue, autoFocusView, rendererInterceptor: RendererInterceptor, fieldRef, }: UsePickerViewParams<TValue, TView, TExternalProps>) => UsePickerViewsResponse<TView>;
@@ -14,7 +14,7 @@ import { isTimeView } from "../../utils/time-utils.js";
14
14
  /**
15
15
  * Props used to handle the value of the pickers.
16
16
  */
17
-
17
+ import { jsx as _jsx } from "react/jsx-runtime";
18
18
  /**
19
19
  * Manage the views of all the pickers:
20
20
  * - Handles the view switch
@@ -24,9 +24,8 @@ import { isTimeView } from "../../utils/time-utils.js";
24
24
  export const usePickerViews = ({
25
25
  props,
26
26
  propsFromPickerValue,
27
- additionalViewProps,
28
27
  autoFocusView,
29
- rendererInterceptor,
28
+ rendererInterceptor: RendererInterceptor,
30
29
  fieldRef
31
30
  }) => {
32
31
  const {
@@ -124,15 +123,18 @@ export const usePickerViews = ({
124
123
  setFocusedView(newView, true);
125
124
  }, [open]); // eslint-disable-line react-hooks/exhaustive-deps
126
125
 
127
- const contextValue = React.useMemo(() => ({
126
+ const actionsContextValue = React.useMemo(() => ({
127
+ setView
128
+ }), [setView]);
129
+ const contextValue = React.useMemo(() => _extends({}, actionsContextValue, {
128
130
  views,
129
- view: popperView,
130
- onViewChange: setView
131
- }), [views, popperView, setView]);
131
+ view: popperView
132
+ }), [actionsContextValue, views, popperView]);
132
133
  const providerParams = {
133
134
  hasUIView,
134
135
  views,
135
- contextValue
136
+ contextValue,
137
+ actionsContextValue
136
138
  };
137
139
  return {
138
140
  shouldRestoreFocus,
@@ -145,7 +147,7 @@ export const usePickerViews = ({
145
147
  if (renderer == null) {
146
148
  return null;
147
149
  }
148
- const rendererProps = _extends({}, propsToForwardToView, additionalViewProps, {
150
+ const rendererProps = _extends({}, propsToForwardToView, {
149
151
  views,
150
152
  timezone,
151
153
  value,
@@ -157,8 +159,12 @@ export const usePickerViews = ({
157
159
  showViewSwitcher: timeViewsCount > 1,
158
160
  timeViewsCount
159
161
  });
160
- if (rendererInterceptor) {
161
- return rendererInterceptor(viewRenderers, popperView, rendererProps);
162
+ if (RendererInterceptor) {
163
+ return /*#__PURE__*/_jsx(RendererInterceptor, {
164
+ viewRenderers: viewRenderers,
165
+ popperView: popperView,
166
+ rendererProps: rendererProps
167
+ });
162
168
  }
163
169
  return renderer(rendererProps);
164
170
  }
@@ -39,20 +39,17 @@ export const useStaticPicker = _ref => {
39
39
  autoFocus
40
40
  } = props;
41
41
  const {
42
- layoutProps,
43
42
  providerProps,
44
43
  renderCurrentView
45
44
  } = usePicker(_extends({}, pickerParams, {
46
45
  props,
47
46
  autoFocusView: autoFocus ?? false,
48
- fieldRef: undefined,
49
47
  localeText,
50
- additionalViewProps: {},
51
48
  variant: displayStaticWrapperAs
52
49
  }));
53
50
  const Layout = slots?.layout ?? PickerStaticLayout;
54
51
  const renderPicker = () => /*#__PURE__*/_jsx(PickerProvider, _extends({}, providerProps, {
55
- children: /*#__PURE__*/_jsx(Layout, _extends({}, layoutProps, slotProps?.layout, {
52
+ children: /*#__PURE__*/_jsx(Layout, _extends({}, slotProps?.layout, {
56
53
  slots: slots,
57
54
  slotProps: slotProps,
58
55
  sx: [...(Array.isArray(sx) ? sx : [sx]), ...(Array.isArray(slotProps?.layout?.sx) ? slotProps.layout.sx : [slotProps?.layout?.sx])],
@@ -26,7 +26,7 @@ export interface StaticOnlyPickerProps {
26
26
  */
27
27
  onClose?: () => void;
28
28
  }
29
- export interface UseStaticPickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<PickerValue, TView, any, any>> extends BasePickerProps<PickerValue, TView, TError, TExternalProps, {}>, StaticOnlyPickerProps {
29
+ export interface UseStaticPickerProps<TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<PickerValue, TView, any>> extends BasePickerProps<PickerValue, TView, TError, TExternalProps>, StaticOnlyPickerProps {
30
30
  /**
31
31
  * Overridable component slots.
32
32
  * @default {}
@@ -38,7 +38,7 @@ export interface UseStaticPickerProps<TView extends DateOrTimeViewWithMeridiem,
38
38
  */
39
39
  slotProps?: UseStaticPickerSlotProps;
40
40
  }
41
- export interface UseStaticPickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParams<PickerValue, TView, TExternalProps, {}>, 'valueManager' | 'valueType' | 'validator'> {
41
+ export interface UseStaticPickerParams<TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UseStaticPickerProps<TView, any, TExternalProps>> extends Pick<UsePickerParams<PickerValue, TView, TExternalProps>, 'valueManager' | 'valueType' | 'validator'> {
42
42
  props: TExternalProps;
43
43
  /**
44
44
  * Ref to pass to the root element
@@ -1,12 +1,13 @@
1
1
  import { MuiPickersAdapterContextValue } from '../../LocalizationProvider/LocalizationProvider';
2
2
  import { PickersLocaleText } from '../../locales/utils/pickersLocaleTextApi';
3
3
  import { PickersTimezone, PickerValidDate } from '../../models';
4
- export declare const useLocalizationContext: () => Omit<MuiPickersAdapterContextValue, "localeText"> & {
5
- localeText: PickersLocaleText;
6
- };
4
+ export declare const useLocalizationContext: () => UseLocalizationContextReturnValue;
7
5
  export declare const useUtils: () => import("@mui/x-date-pickers/models").MuiPickersAdapter<any>;
8
6
  export declare const useDefaultDates: () => {
9
7
  minDate: PickerValidDate;
10
8
  maxDate: PickerValidDate;
11
9
  };
12
10
  export declare const useNow: (timezone: PickersTimezone) => PickerValidDate;
11
+ export interface UseLocalizationContextReturnValue extends Omit<MuiPickersAdapterContextValue, 'localeText'> {
12
+ localeText: PickersLocaleText;
13
+ }
@@ -19,7 +19,7 @@ export const useUtils = () => useLocalizationContext().utils;
19
19
  export const useDefaultDates = () => useLocalizationContext().defaultDates;
20
20
  export const useNow = timezone => {
21
21
  const utils = useUtils();
22
- const now = React.useRef();
22
+ const now = React.useRef(undefined);
23
23
  if (now.current === undefined) {
24
24
  now.current = utils.date(undefined, timezone);
25
25
  }
@@ -1,6 +1,9 @@
1
1
  export { PickersArrowSwitcher } from './components/PickersArrowSwitcher/PickersArrowSwitcher';
2
2
  export type { ExportedPickersArrowSwitcherProps, PickersArrowSwitcherSlots, PickersArrowSwitcherSlotProps, } from './components/PickersArrowSwitcher';
3
+ export { PickerFieldUI, PickerFieldUIContextProvider, cleanFieldResponse, useFieldTextFieldProps, } from './components/PickerFieldUI';
4
+ export type { ExportedPickerFieldUIProps, PickerFieldUISlots, PickerFieldUISlotProps, } from './components/PickerFieldUI';
3
5
  export { PickerProvider } from './components/PickerProvider';
6
+ export type { PickerContextValue } from './components/PickerProvider';
4
7
  export { PickersModalDialog } from './components/PickersModalDialog';
5
8
  export type { PickersModalDialogSlots, PickersModalDialogSlotProps, } from './components/PickersModalDialog';
6
9
  export { PickersPopper } from './components/PickersPopper';
@@ -24,14 +27,14 @@ export { PickersToolbarButton } from './components/PickersToolbarButton';
24
27
  export { DAY_MARGIN, DIALOG_WIDTH, VIEW_HEIGHT } from './constants/dimensions';
25
28
  export { useControlledValueWithTimezone } from './hooks/useValueWithTimezone';
26
29
  export type { DesktopOnlyPickerProps } from './hooks/useDesktopPicker';
27
- export { useField, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections, } from './hooks/useField';
28
- export type { UseFieldInternalProps, UseFieldParams, UseFieldResponse, FieldValueManager, FieldChangeHandler, FieldChangeHandlerContext, } from './hooks/useField';
30
+ export { useField, useFieldInternalPropsWithDefaults, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections, } from './hooks/useField';
31
+ export type { UseFieldInternalProps, UseFieldParams, UseFieldResponse, FieldValueManager, FieldChangeHandler, FieldChangeHandlerContext, PickerFieldPrivateContextValue, } from './hooks/useField';
29
32
  export { useFieldOwnerState } from './hooks/useFieldOwnerState';
30
33
  export type { MobileOnlyPickerProps } from './hooks/useMobilePicker';
31
34
  export { usePicker } from './hooks/usePicker';
32
35
  export type { UsePickerParams, UsePickerProps, UsePickerValueFieldResponse, PickerViewsRendererProps, } from './hooks/usePicker';
33
36
  export type { UsePickerValueContextValue, UsePickerValueNonStaticProps, PickerValueManager, PickerSelectionState, } from './hooks/usePicker/usePickerValue.types';
34
- export type { PickerViewRendererLookup, PickerViewRenderer, UsePickerViewsProps, } from './hooks/usePicker/usePickerViews';
37
+ export type { PickerViewRendererLookup, PickerRendererInterceptorProps, PickerViewRenderer, UsePickerViewsProps, } from './hooks/usePicker/usePickerViews';
35
38
  export type { UsePickerProviderNonStaticProps } from './hooks/usePicker/usePickerProvider';
36
39
  export { usePickerPrivateContext } from './hooks/usePickerPrivateContext';
37
40
  export { useStaticPicker } from './hooks/useStaticPicker';
@@ -42,9 +45,10 @@ export { useLocalizationContext, useDefaultDates, useUtils, useNow } from './hoo
42
45
  export type { ExportedUseViewsOptions, UseViewsOptions } from './hooks/useViews';
43
46
  export { useViews } from './hooks/useViews';
44
47
  export { usePreviousMonthDisabled, useNextMonthDisabled } from './hooks/date-helpers-hooks';
48
+ export type { PickerAnyManager, PickerManagerFieldInternalProps, PickerManagerEnableAccessibleFieldDOMStructure, PickerManagerError, } from './models/manager';
45
49
  export type { RangePosition } from './models/pickers';
46
50
  export type { BaseSingleInputFieldProps, FieldRangeSection } from './models/fields';
47
- export type { BasePickerProps, BasePickerInputProps, BaseNonStaticPickerProps, } from './models/props/basePickerProps';
51
+ export type { BasePickerProps, BasePickerInputProps } from './models/props/basePickerProps';
48
52
  export type { BaseClockProps, DesktopOnlyTimePickerProps, AmPmProps } from './models/props/time';
49
53
  export type { ExportedBaseTabsProps } from './models/props/tabs';
50
54
  export type { BaseToolbarProps, ExportedBaseToolbarProps } from './models/props/toolbar';
@@ -52,12 +56,10 @@ export type { FormProps } from './models/formProps';
52
56
  export type { PickerVariant, TimeViewWithMeridiem, DateOrTimeViewWithMeridiem, } from './models/common';
53
57
  export type { BaseDateValidationProps, BaseTimeValidationProps, TimeValidationProps, MonthValidationProps, YearValidationProps, DayValidationProps, DateTimeValidationProps, } from './models/validation';
54
58
  export type { PickerValue, PickerRangeValue, PickerNonNullableRangeValue, InferNonNullablePickerValue, PickerValidValue, } from './models/value';
55
- export { convertFieldResponseIntoMuiTextFieldProps } from './utils/convertFieldResponseIntoMuiTextFieldProps';
56
59
  export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual, getTodayDate, isDatePickerView, mergeDateAndTime, formatMeridiem, } from './utils/date-utils';
57
60
  export { resolveTimeViewsResponse, resolveDateTimeFormat } from './utils/date-time-utils';
58
61
  export { getDefaultReferenceDate } from './utils/getDefaultReferenceDate';
59
62
  export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, DEFAULT_DESKTOP_MODE_MEDIA_QUERY, } from './utils/utils';
60
- export { useDefaultizedDateField, useDefaultizedTimeField, useDefaultizedDateTimeField, } from './hooks/defaultizedFieldProps';
61
63
  export { useDefaultReduceAnimations } from './hooks/useDefaultReduceAnimations';
62
64
  export { applyDefaultViewProps } from './utils/views';
63
65
  export { DayCalendar } from '../DateCalendar/DayCalendar';
@@ -66,3 +68,6 @@ export type { ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.typ
66
68
  export { useCalendarState } from '../DateCalendar/useCalendarState';
67
69
  export { isInternalTimeView, isTimeView } from './utils/time-utils';
68
70
  export { DateTimePickerToolbarOverrideContext } from '../DateTimePicker/DateTimePickerToolbar';
71
+ export { getDateFieldInternalPropsDefaults } from '../managers/useDateManager';
72
+ export { getTimeFieldInternalPropsDefaults } from '../managers/useTimeManager';
73
+ export { getDateTimeFieldInternalPropsDefaults } from '../managers/useDateTimeManager';
@@ -1,4 +1,5 @@
1
1
  export { PickersArrowSwitcher } from "./components/PickersArrowSwitcher/PickersArrowSwitcher.js";
2
+ export { PickerFieldUI, PickerFieldUIContextProvider, cleanFieldResponse, useFieldTextFieldProps } from "./components/PickerFieldUI.js";
2
3
  export { PickerProvider } from "./components/PickerProvider.js";
3
4
  export { PickersModalDialog } from "./components/PickersModalDialog.js";
4
5
  export { PickersPopper } from "./components/PickersPopper.js";
@@ -11,7 +12,7 @@ export { pickersPopperClasses } from "./components/pickersPopperClasses.js";
11
12
  export { PickersToolbarButton } from "./components/PickersToolbarButton.js";
12
13
  export { DAY_MARGIN, DIALOG_WIDTH, VIEW_HEIGHT } from "./constants/dimensions.js";
13
14
  export { useControlledValueWithTimezone } from "./hooks/useValueWithTimezone.js";
14
- export { useField, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from "./hooks/useField/index.js";
15
+ export { useField, useFieldInternalPropsWithDefaults, createDateStrForV7HiddenInputFromSections, createDateStrForV6InputFromSections } from "./hooks/useField/index.js";
15
16
  export { useFieldOwnerState } from "./hooks/useFieldOwnerState.js";
16
17
  export { usePicker } from "./hooks/usePicker/index.js";
17
18
  export { usePickerPrivateContext } from "./hooks/usePickerPrivateContext.js";
@@ -20,15 +21,16 @@ export { useToolbarOwnerState } from "./hooks/useToolbarOwnerState.js";
20
21
  export { useLocalizationContext, useDefaultDates, useUtils, useNow } from "./hooks/useUtils.js";
21
22
  export { useViews } from "./hooks/useViews.js";
22
23
  export { usePreviousMonthDisabled, useNextMonthDisabled } from "./hooks/date-helpers-hooks.js";
23
- export { convertFieldResponseIntoMuiTextFieldProps } from "./utils/convertFieldResponseIntoMuiTextFieldProps.js";
24
24
  export { applyDefaultDate, replaceInvalidDateByNull, areDatesEqual, getTodayDate, isDatePickerView, mergeDateAndTime, formatMeridiem } from "./utils/date-utils.js";
25
25
  export { resolveTimeViewsResponse, resolveDateTimeFormat } from "./utils/date-time-utils.js";
26
26
  export { getDefaultReferenceDate } from "./utils/getDefaultReferenceDate.js";
27
27
  export { executeInTheNextEventLoopTick, getActiveElement, onSpaceOrEnter, DEFAULT_DESKTOP_MODE_MEDIA_QUERY } from "./utils/utils.js";
28
- export { useDefaultizedDateField, useDefaultizedTimeField, useDefaultizedDateTimeField } from "./hooks/defaultizedFieldProps.js";
29
28
  export { useDefaultReduceAnimations } from "./hooks/useDefaultReduceAnimations.js";
30
29
  export { applyDefaultViewProps } from "./utils/views.js";
31
30
  export { DayCalendar } from "../DateCalendar/DayCalendar.js";
32
31
  export { useCalendarState } from "../DateCalendar/useCalendarState.js";
33
32
  export { isInternalTimeView, isTimeView } from "./utils/time-utils.js";
34
- export { DateTimePickerToolbarOverrideContext } from "../DateTimePicker/DateTimePickerToolbar.js";
33
+ export { DateTimePickerToolbarOverrideContext } from "../DateTimePicker/DateTimePickerToolbar.js";
34
+ export { getDateFieldInternalPropsDefaults } from "../managers/useDateManager.js";
35
+ export { getTimeFieldInternalPropsDefaults } from "../managers/useTimeManager.js";
36
+ export { getDateTimeFieldInternalPropsDefaults } from "../managers/useDateTimeManager.js";
@@ -1,14 +1,13 @@
1
1
  import { SxProps } from '@mui/material/styles';
2
- import { MakeRequired } from '@mui/x-internals/types';
3
- import type { ExportedUseClearableFieldProps, UseClearableFieldSlotProps, UseClearableFieldSlots } from '../../hooks/useClearableField';
4
2
  import type { FieldSection, PickerOwnerState } from '../../models';
5
3
  import type { UseFieldInternalProps } from '../hooks/useField';
6
4
  import { RangePosition } from './pickers';
7
5
  import { PickerValidValue } from './value';
6
+ import type { ExportedPickerFieldUIProps } from '../components/PickerFieldUI';
8
7
  export interface FieldRangeSection extends FieldSection {
9
8
  dateName: RangePosition;
10
9
  }
11
- export interface BaseForwardedSingleInputFieldProps extends ExportedUseClearableFieldProps {
10
+ export interface BaseForwardedSingleInputFieldProps extends Pick<ExportedPickerFieldUIProps, 'clearable' | 'onClear'> {
12
11
  className: string | undefined;
13
12
  sx: SxProps<any> | undefined;
14
13
  label: React.ReactNode | undefined;
@@ -19,22 +18,10 @@ export interface BaseForwardedSingleInputFieldProps extends ExportedUseClearable
19
18
  onBlur?: React.FocusEventHandler;
20
19
  ref?: React.Ref<HTMLDivElement>;
21
20
  inputRef?: React.Ref<HTMLInputElement>;
22
- InputProps?: {
23
- ref?: React.Ref<any>;
24
- endAdornment?: React.ReactNode;
25
- startAdornment?: React.ReactNode;
26
- };
27
- inputProps?: {
28
- 'aria-label'?: string;
29
- };
30
- slots?: UseClearableFieldSlots;
31
- slotProps?: UseClearableFieldSlotProps & {
32
- textField?: {};
33
- };
34
21
  ownerState: PickerOwnerState;
35
22
  }
36
23
  /**
37
24
  * Props the single input field can receive when used inside a picker.
38
25
  * Only contains what the MUI components are passing to the field, not what users can pass using the `props.slotProps.field`.
39
26
  */
40
- export type BaseSingleInputFieldProps<TValue extends PickerValidValue, TEnableAccessibleFieldDOMStructure extends boolean, TError> = MakeRequired<Pick<UseFieldInternalProps<TValue, TEnableAccessibleFieldDOMStructure, TError>, 'readOnly' | 'disabled' | 'format' | 'formatDensity' | 'enableAccessibleFieldDOMStructure' | 'selectedSections' | 'onSelectedSectionsChange' | 'timezone' | 'value' | 'onChange' | 'unstableFieldRef' | 'autoFocus'>, 'format' | 'value' | 'onChange' | 'timezone'> & BaseForwardedSingleInputFieldProps;
27
+ export type BaseSingleInputFieldProps<TValue extends PickerValidValue, TEnableAccessibleFieldDOMStructure extends boolean, TError> = Pick<UseFieldInternalProps<TValue, TEnableAccessibleFieldDOMStructure, TError>, 'readOnly' | 'unstableFieldRef' | 'autoFocus'> & BaseForwardedSingleInputFieldProps;
@@ -2,3 +2,4 @@ export * from './fields';
2
2
  export * from './common';
3
3
  export * from './value';
4
4
  export * from './formProps';
5
+ export * from './manager';
@@ -1,4 +1,5 @@
1
1
  export * from "./fields.js";
2
2
  export * from "./common.js";
3
3
  export * from "./value.js";
4
- export * from "./formProps.js";
4
+ export * from "./formProps.js";
5
+ export * from "./manager.js";
@@ -0,0 +1,15 @@
1
+ import type { PickerManager } from '../../models';
2
+ export type PickerAnyManager = PickerManager<any, any, any, any, any>;
3
+ type PickerManagerProperties<TManager extends PickerAnyManager> = TManager extends PickerManager<infer TValue, infer TEnableAccessibleFieldDOMStructure, infer TError, infer TFieldInternalProps, infer TFieldInternalPropsWithDefaults> ? {
4
+ value: TValue;
5
+ enableAccessibleFieldDOMStructure: TEnableAccessibleFieldDOMStructure;
6
+ error: TError;
7
+ fieldInternalProps: TFieldInternalProps;
8
+ fieldInternalPropsWithDefaults: TFieldInternalPropsWithDefaults;
9
+ } : never;
10
+ export type PickerManagerValue<TManager extends PickerAnyManager> = PickerManagerProperties<TManager>['value'];
11
+ export type PickerManagerError<TManager extends PickerAnyManager> = PickerManagerProperties<TManager>['error'];
12
+ export type PickerManagerFieldInternalProps<TManager extends PickerAnyManager> = PickerManagerProperties<TManager>['fieldInternalProps'];
13
+ export type PickerManagerFieldInternalPropsWithDefaults<TManager extends PickerAnyManager> = PickerManagerProperties<TManager>['fieldInternalPropsWithDefaults'];
14
+ export type PickerManagerEnableAccessibleFieldDOMStructure<TManager extends PickerAnyManager> = PickerManagerProperties<TManager>['enableAccessibleFieldDOMStructure'];
15
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -6,12 +6,11 @@ import { UsePickerBaseProps } from '../../hooks/usePicker';
6
6
  import { PickersInputComponentLocaleText } from '../../../locales/utils/pickersLocaleTextApi';
7
7
  import type { UsePickerViewsProps } from '../../hooks/usePicker/usePickerViews';
8
8
  import { DateOrTimeViewWithMeridiem } from '../common';
9
- import { UseFieldInternalProps } from '../../hooks/useField';
10
9
  import { PickerValidValue } from '../value';
11
10
  /**
12
11
  * Props common to all pickers after applying the default props on each picker.
13
12
  */
14
- export interface BasePickerProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<TValue, TView, any, any>, TAdditionalProps extends {}> extends UsePickerBaseProps<TValue, TView, TError, TExternalProps, TAdditionalProps> {
13
+ export interface BasePickerProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TError, TExternalProps extends UsePickerViewsProps<TValue, TView, any>> extends UsePickerBaseProps<TValue, TView, TError, TExternalProps> {
15
14
  className?: string;
16
15
  /**
17
16
  * The system prop that allows defining system overrides as well as additional CSS styles.
@@ -26,18 +25,7 @@ export interface BasePickerProps<TValue extends PickerValidValue, TView extends
26
25
  /**
27
26
  * Props common to all pickers before applying the default props on each picker.
28
27
  */
29
- export interface BasePickerInputProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TError> extends Omit<MakeOptional<BasePickerProps<TValue, TView, TError, any, any>, 'openTo' | 'views'>, 'viewRenderers'> {
30
- }
31
- /**
32
- * Props common to all non-static pickers.
33
- * These props are handled by the headless wrappers.
34
- */
35
- export interface BaseNonStaticPickerProps extends Pick<UseFieldInternalProps<any, any, any>, 'formatDensity' | 'enableAccessibleFieldDOMStructure' | 'selectedSections' | 'onSelectedSectionsChange'> {
36
- /**
37
- * Format of the date when rendered in the input(s).
38
- * Defaults to localized format based on the used `views`.
39
- */
40
- format?: string;
28
+ export interface BasePickerInputProps<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TError> extends Omit<MakeOptional<BasePickerProps<TValue, TView, TError, any>, 'openTo' | 'views'>, 'viewRenderers'> {
41
29
  }
42
30
  /**
43
31
  * Props common to all non-range non-static pickers.
@@ -1,11 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
3
  import { Theme } from '@mui/material/styles';
4
- import { PickerValidValue } from '../value';
5
- export interface BaseToolbarProps<TValue extends PickerValidValue> extends ExportedBaseToolbarProps {
6
- isLandscape: boolean;
7
- onChange: (newValue: TValue) => void;
8
- value: TValue;
4
+ export interface BaseToolbarProps extends ExportedBaseToolbarProps {
9
5
  titleId?: string;
10
6
  }
11
7
  export interface ExportedBaseToolbarProps {
@@ -58,7 +58,7 @@ export const findClosestEnabledDate = ({
58
58
  }
59
59
  return null;
60
60
  };
61
- export const replaceInvalidDateByNull = (utils, value) => value == null || !utils.isValid(value) ? null : value;
61
+ export const replaceInvalidDateByNull = (utils, value) => !utils.isValid(value) ? null : value;
62
62
  export const applyDefaultDate = (utils, value, defaultValue) => {
63
63
  if (value == null || !utils.isValid(value)) {
64
64
  return defaultValue;
@@ -12,7 +12,7 @@ export const singleItemValueManager = {
12
12
  referenceDate
13
13
  } = _ref,
14
14
  params = _objectWithoutPropertiesLoose(_ref, _excluded);
15
- if (value != null && params.utils.isValid(value)) {
15
+ if (params.utils.isValid(value)) {
16
16
  return value;
17
17
  }
18
18
  if (referenceDate != null) {
@@ -25,11 +25,11 @@ export const singleItemValueManager = {
25
25
  isSameError: (a, b) => a === b,
26
26
  hasError: error => error != null,
27
27
  defaultErrorState: null,
28
- getTimezone: (utils, value) => value == null || !utils.isValid(value) ? null : utils.getTimezone(value),
28
+ getTimezone: (utils, value) => utils.isValid(value) ? utils.getTimezone(value) : null,
29
29
  setTimezone: (utils, timezone, value) => value == null ? null : utils.setTimezone(value, timezone)
30
30
  };
31
31
  export const singleItemFieldValueManager = {
32
- updateReferenceValue: (utils, value, prevReferenceValue) => value == null || !utils.isValid(value) ? prevReferenceValue : value,
32
+ updateReferenceValue: (utils, value, prevReferenceValue) => !utils.isValid(value) ? prevReferenceValue : value,
33
33
  getSectionsFromValue: (utils, date, prevSections, getSectionsFromDate) => {
34
34
  const shouldReUsePrevDateSections = !utils.isValid(date) && !!prevSections;
35
35
  if (shouldReUsePrevDateSections) {
@@ -45,7 +45,7 @@ export const singleItemFieldValueManager = {
45
45
  getSections: sections => sections,
46
46
  getNewValuesFromNewActiveDate: newActiveDate => ({
47
47
  value: newActiveDate,
48
- referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : newActiveDate
48
+ referenceValue: utils.isValid(newActiveDate) ? newActiveDate : state.referenceValue
49
49
  })
50
50
  }),
51
51
  parseValueStr: (valueStr, referenceValue, parseDate) => parseDate(valueStr.trim(), referenceValue)
@@ -36,4 +36,5 @@ export * from './urPK';
36
36
  export * from './viVN';
37
37
  export * from './zhCN';
38
38
  export * from './zhHK';
39
+ export * from './zhTW';
39
40
  export * from './utils/pickersLocaleTextApi';
package/locales/index.js CHANGED
@@ -36,4 +36,5 @@ export * from "./urPK.js";
36
36
  export * from "./viVN.js";
37
37
  export * from "./zhCN.js";
38
38
  export * from "./zhHK.js";
39
+ export * from "./zhTW.js";
39
40
  export * from "./utils/pickersLocaleTextApi.js";
package/locales/nbNO.js CHANGED
@@ -16,11 +16,10 @@ const nbNOPickers = {
16
16
  // DateRange labels
17
17
  start: 'Start',
18
18
  end: 'Slutt',
19
- // startDate: 'Start date',
20
- // startTime: 'Start time',
21
- // endDate: 'End date',
22
- // endTime: 'End time',
23
-
19
+ startDate: 'Startdato',
20
+ startTime: 'Starttid',
21
+ endDate: 'Sluttdato',
22
+ endTime: 'Slutttid',
24
23
  // Action bar
25
24
  cancelButtonLabel: 'Avbryt',
26
25
  clearButtonLabel: 'Fjern',
@@ -46,8 +45,7 @@ const nbNOPickers = {
46
45
  // Open picker labels
47
46
  openDatePickerDialogue: formattedDate => formattedDate ? `Velg dato, valgt dato er ${formattedDate}` : 'Velg dato',
48
47
  openTimePickerDialogue: formattedTime => formattedTime ? `Velg tid, valgt tid er ${formattedTime}` : 'Velg tid',
49
- // fieldClearLabel: 'Clear',
50
-
48
+ fieldClearLabel: 'Slett',
51
49
  // Table labels
52
50
  timeTableLabel: 'velg tid',
53
51
  dateTableLabel: 'velg dato',
@@ -59,19 +57,17 @@ const nbNOPickers = {
59
57
  fieldHoursPlaceholder: () => 'tt',
60
58
  fieldMinutesPlaceholder: () => 'mm',
61
59
  fieldSecondsPlaceholder: () => 'ss',
62
- fieldMeridiemPlaceholder: () => 'aa'
63
-
60
+ fieldMeridiemPlaceholder: () => 'aa',
64
61
  // View names
65
- // year: 'Year',
66
- // month: 'Month',
67
- // day: 'Day',
68
- // weekDay: 'Week day',
69
- // hours: 'Hours',
70
- // minutes: 'Minutes',
71
- // seconds: 'Seconds',
72
- // meridiem: 'Meridiem',
73
-
62
+ year: 'År',
63
+ month: 'Måned',
64
+ day: 'Dag',
65
+ weekDay: 'Ukedag',
66
+ hours: 'Timer',
67
+ minutes: 'Minutter',
68
+ seconds: 'Sekunder',
69
+ meridiem: 'Meridiem',
74
70
  // Common
75
- // empty: 'Empty',
71
+ empty: 'Tøm'
76
72
  };
77
73
  export const nbNO = getPickersLocalization(nbNOPickers);
@@ -1,4 +1,3 @@
1
- import { AdapterFormats, MuiPickersAdapter, PickerValidDate } from '../../models';
2
1
  import { PickersLocaleText } from './pickersLocaleTextApi';
3
2
  export declare const getPickersLocalization: (pickersTranslations: Partial<PickersLocaleText>) => {
4
3
  components: {
@@ -79,9 +78,3 @@ export declare const getPickersLocalization: (pickersTranslations: Partial<Picke
79
78
  };
80
79
  };
81
80
  };
82
- export declare const buildGetOpenDialogAriaText: (params: {
83
- utils: MuiPickersAdapter;
84
- formatKey: keyof AdapterFormats;
85
- contextTranslation: (formattedValue: string | null) => string;
86
- propsTranslation: ((formattedValue: string | null) => string) | undefined;
87
- }) => (value: PickerValidDate | null) => string;
@@ -9,17 +9,4 @@ export const getPickersLocalization = pickersTranslations => {
9
9
  }
10
10
  }
11
11
  };
12
- };
13
- export const buildGetOpenDialogAriaText = params => {
14
- const {
15
- utils,
16
- formatKey,
17
- contextTranslation,
18
- propsTranslation
19
- } = params;
20
- return value => {
21
- const formattedValue = value !== null && utils.isValid(value) ? utils.format(value, formatKey) : null;
22
- const translation = propsTranslation ?? contextTranslation;
23
- return translation(formattedValue);
24
- };
25
12
  };