@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
@@ -0,0 +1,80 @@
1
+ import { TimeViewWithMeridiem } from '../internals/models';
2
+ export declare const zhTW: {
3
+ components: {
4
+ MuiLocalizationProvider: {
5
+ defaultProps: {
6
+ localeText: {
7
+ previousMonth?: string | undefined;
8
+ nextMonth?: string | undefined;
9
+ calendarWeekNumberHeaderLabel?: string | undefined;
10
+ calendarWeekNumberHeaderText?: string | undefined;
11
+ calendarWeekNumberAriaLabelText?: ((weekNumber: number) => string) | undefined;
12
+ calendarWeekNumberText?: ((weekNumber: number) => string) | undefined;
13
+ openPreviousView?: string | undefined;
14
+ openNextView?: string | undefined;
15
+ calendarViewSwitchingButtonAriaLabel?: ((currentView: import("@mui/x-date-pickers/models").DateView) => string) | undefined;
16
+ start?: string | undefined;
17
+ end?: string | undefined;
18
+ startDate?: string | undefined;
19
+ startTime?: string | undefined;
20
+ endDate?: string | undefined;
21
+ endTime?: string | undefined;
22
+ cancelButtonLabel?: string | undefined;
23
+ clearButtonLabel?: string | undefined;
24
+ okButtonLabel?: string | undefined;
25
+ todayButtonLabel?: string | undefined;
26
+ clockLabelText?: ((view: import("@mui/x-date-pickers/models").TimeView, formattedTime: string | null) => string) | undefined;
27
+ hoursClockNumberText?: ((hours: string) => string) | undefined;
28
+ minutesClockNumberText?: ((minutes: string) => string) | undefined;
29
+ secondsClockNumberText?: ((seconds: string) => string) | undefined;
30
+ selectViewText?: ((view: TimeViewWithMeridiem) => string) | undefined;
31
+ openDatePickerDialogue?: ((formattedDate: string | null) => string) | undefined;
32
+ openTimePickerDialogue?: ((formattedTime: string | null) => string) | undefined;
33
+ fieldClearLabel?: string | undefined;
34
+ timeTableLabel?: string | undefined;
35
+ dateTableLabel?: string | undefined;
36
+ fieldYearPlaceholder?: ((params: {
37
+ digitAmount: number;
38
+ format: string;
39
+ }) => string) | undefined;
40
+ fieldMonthPlaceholder?: ((params: {
41
+ contentType: import("@mui/x-date-pickers/models").FieldSectionContentType;
42
+ format: string;
43
+ }) => string) | undefined;
44
+ fieldDayPlaceholder?: ((params: {
45
+ format: string;
46
+ }) => string) | undefined;
47
+ fieldWeekDayPlaceholder?: ((params: {
48
+ contentType: import("@mui/x-date-pickers/models").FieldSectionContentType;
49
+ format: string;
50
+ }) => string) | undefined;
51
+ fieldHoursPlaceholder?: ((params: {
52
+ format: string;
53
+ }) => string) | undefined;
54
+ fieldMinutesPlaceholder?: ((params: {
55
+ format: string;
56
+ }) => string) | undefined;
57
+ fieldSecondsPlaceholder?: ((params: {
58
+ format: string;
59
+ }) => string) | undefined;
60
+ fieldMeridiemPlaceholder?: ((params: {
61
+ format: string;
62
+ }) => string) | undefined;
63
+ year?: string | undefined;
64
+ month?: string | undefined;
65
+ day?: string | undefined;
66
+ weekDay?: string | undefined;
67
+ hours?: string | undefined;
68
+ minutes?: string | undefined;
69
+ seconds?: string | undefined;
70
+ meridiem?: string | undefined;
71
+ empty?: string | undefined;
72
+ datePickerToolbarTitle?: string | undefined;
73
+ timePickerToolbarTitle?: string | undefined;
74
+ dateTimePickerToolbarTitle?: string | undefined;
75
+ dateRangePickerToolbarTitle?: string | undefined;
76
+ };
77
+ };
78
+ };
79
+ };
80
+ };
@@ -0,0 +1,73 @@
1
+ import { getPickersLocalization } from "./utils/getPickersLocalization.js";
2
+ const views = {
3
+ hours: '小時',
4
+ minutes: '分鐘',
5
+ seconds: '秒',
6
+ meridiem: '十二小時制'
7
+ };
8
+ const zhTWPickers = {
9
+ // Calendar navigation
10
+ previousMonth: '上個月',
11
+ nextMonth: '下個月',
12
+ // View navigation
13
+ openPreviousView: '前一個視圖',
14
+ openNextView: '下一個視圖',
15
+ calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? '年視圖已打開,切換為日曆視圖' : '日曆視圖已打開,切換為年視圖',
16
+ // DateRange labels
17
+ start: '開始',
18
+ end: '結束',
19
+ startDate: '開始日期',
20
+ startTime: '開始時間',
21
+ endDate: '結束日期',
22
+ endTime: '結束時間',
23
+ // Action bar
24
+ cancelButtonLabel: '取消',
25
+ clearButtonLabel: '清除',
26
+ okButtonLabel: '確認',
27
+ todayButtonLabel: '今天',
28
+ // Toolbar titles
29
+ datePickerToolbarTitle: '選擇日期',
30
+ dateTimePickerToolbarTitle: '選擇日期和時間',
31
+ timePickerToolbarTitle: '選擇時間',
32
+ dateRangePickerToolbarTitle: '選擇時間範圍',
33
+ // Clock labels
34
+ clockLabelText: (view, formattedTime) => `選擇 ${views[view]}. ${!formattedTime ? '未選擇時間' : `已選擇${formattedTime}`}`,
35
+ hoursClockNumberText: hours => `${hours}小時`,
36
+ minutesClockNumberText: minutes => `${minutes}分鐘`,
37
+ secondsClockNumberText: seconds => `${seconds}秒`,
38
+ // Digital clock labels
39
+ selectViewText: view => `選擇 ${views[view]}`,
40
+ // Calendar labels
41
+ calendarWeekNumberHeaderLabel: '週數',
42
+ calendarWeekNumberHeaderText: '#',
43
+ calendarWeekNumberAriaLabelText: weekNumber => `第${weekNumber}週`,
44
+ calendarWeekNumberText: weekNumber => `${weekNumber}`,
45
+ // Open picker labels
46
+ openDatePickerDialogue: formattedDate => formattedDate ? `選擇日期,已選擇${formattedDate}` : '選擇日期',
47
+ openTimePickerDialogue: formattedTime => formattedTime ? `選擇時間,已選擇${formattedTime}` : '選擇時間',
48
+ fieldClearLabel: '清除',
49
+ // Table labels
50
+ timeTableLabel: '選擇時間',
51
+ dateTableLabel: '選擇日期',
52
+ // Field section placeholders
53
+ fieldYearPlaceholder: params => 'Y'.repeat(params.digitAmount),
54
+ fieldMonthPlaceholder: params => params.contentType === 'letter' ? 'MMMM' : 'MM',
55
+ fieldDayPlaceholder: () => 'DD',
56
+ fieldWeekDayPlaceholder: params => params.contentType === 'letter' ? 'EEEE' : 'EE',
57
+ fieldHoursPlaceholder: () => 'hh',
58
+ fieldMinutesPlaceholder: () => 'mm',
59
+ fieldSecondsPlaceholder: () => 'ss',
60
+ fieldMeridiemPlaceholder: () => 'aa',
61
+ // View names
62
+ year: '年份',
63
+ month: '月份',
64
+ day: '日期',
65
+ weekDay: '星期',
66
+ hours: '時',
67
+ minutes: '分',
68
+ seconds: '秒',
69
+ meridiem: '十二小時制',
70
+ // Common
71
+ empty: '空'
72
+ };
73
+ export const zhTW = getPickersLocalization(zhTWPickers);
@@ -0,0 +1,6 @@
1
+ export { useDateManager } from './useDateManager';
2
+ export type { UseDateManagerReturnValue, UseDateManagerParameters, DateManagerFieldInternalProps, } from './useDateManager';
3
+ export { useTimeManager } from './useTimeManager';
4
+ export type { UseTimeManagerReturnValue, UseTimeManagerParameters, TimeManagerFieldInternalProps, } from './useTimeManager';
5
+ export { useDateTimeManager } from './useDateTimeManager';
6
+ export type { UseDateTimeManagerReturnValue, UseDateTimeManagerParameters, DateTimeManagerFieldInternalProps, } from './useDateTimeManager';
@@ -0,0 +1,3 @@
1
+ export { useDateManager } from "./useDateManager.js";
2
+ export { useTimeManager } from "./useTimeManager.js";
3
+ export { useDateTimeManager } from "./useDateTimeManager.js";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "../node/managers/index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,27 @@
1
+ import type { MakeOptional } from '@mui/x-internals/types';
2
+ import { PickerManager, DateValidationError } from '../models';
3
+ import { UseFieldInternalProps } from '../internals/hooks/useField';
4
+ import { MuiPickersAdapterContextValue } from '../LocalizationProvider/LocalizationProvider';
5
+ import { ExportedValidateDateProps, ValidateDatePropsToDefault, ValidateDateProps } from '../validation/validateDate';
6
+ import { PickerValue } from '../internals/models';
7
+ export declare function useDateManager<TEnableAccessibleFieldDOMStructure extends boolean = true>(parameters?: UseDateManagerParameters<TEnableAccessibleFieldDOMStructure>): UseDateManagerReturnValue<TEnableAccessibleFieldDOMStructure>;
8
+ /**
9
+ * Private utility function to get the default internal props for the fields with date editing.
10
+ * Is used by the `useDateManager` and `useDateRangeManager` hooks.
11
+ */
12
+ export declare function getDateFieldInternalPropsDefaults(parameters: GetDateFieldInternalPropsDefaultsParameters): GetDateFieldInternalPropsDefaultsReturnValue;
13
+ export interface UseDateManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> {
14
+ enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
15
+ }
16
+ export type UseDateManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerValue, TEnableAccessibleFieldDOMStructure, DateValidationError, DateManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, DateManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
17
+ export interface DateManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerValue, TEnableAccessibleFieldDOMStructure, DateValidationError>, 'format'>, ExportedValidateDateProps {
18
+ }
19
+ interface DateManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerValue, TEnableAccessibleFieldDOMStructure, DateValidationError>, ValidateDateProps {
20
+ }
21
+ type DateManagerFieldPropsToDefault = 'format' | ValidateDatePropsToDefault;
22
+ interface GetDateFieldInternalPropsDefaultsParameters extends Pick<MuiPickersAdapterContextValue, 'defaultDates' | 'utils'> {
23
+ internalProps: Pick<DateManagerFieldInternalProps<true>, DateManagerFieldPropsToDefault>;
24
+ }
25
+ interface GetDateFieldInternalPropsDefaultsReturnValue extends Pick<DateManagerFieldInternalPropsWithDefaults<true>, DateManagerFieldPropsToDefault> {
26
+ }
27
+ export {};
@@ -0,0 +1,55 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import * as React from 'react';
5
+ import { applyDefaultDate } from "../internals/utils/date-utils.js";
6
+ import { singleItemFieldValueManager, singleItemValueManager } from "../internals/utils/valueManagers.js";
7
+ import { validateDate } from "../validation/index.js";
8
+ export function useDateManager(parameters = {}) {
9
+ const {
10
+ enableAccessibleFieldDOMStructure = true
11
+ } = parameters;
12
+ return React.useMemo(() => ({
13
+ valueType: 'date',
14
+ validator: validateDate,
15
+ internal_valueManager: singleItemValueManager,
16
+ internal_fieldValueManager: singleItemFieldValueManager,
17
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
18
+ internal_applyDefaultsToFieldInternalProps: ({
19
+ internalProps,
20
+ utils,
21
+ defaultDates
22
+ }) => _extends({}, internalProps, getDateFieldInternalPropsDefaults({
23
+ defaultDates,
24
+ utils,
25
+ internalProps
26
+ })),
27
+ internal_getOpenPickerButtonAriaLabel: ({
28
+ value,
29
+ utils,
30
+ localeText
31
+ }) => {
32
+ const formattedValue = utils.isValid(value) ? utils.format(value, 'fullDate') : null;
33
+ return localeText.openDatePickerDialogue(formattedValue);
34
+ }
35
+ }), [enableAccessibleFieldDOMStructure]);
36
+ }
37
+
38
+ /**
39
+ * Private utility function to get the default internal props for the fields with date editing.
40
+ * Is used by the `useDateManager` and `useDateRangeManager` hooks.
41
+ */
42
+ export function getDateFieldInternalPropsDefaults(parameters) {
43
+ const {
44
+ defaultDates,
45
+ utils,
46
+ internalProps
47
+ } = parameters;
48
+ return {
49
+ format: internalProps.format ?? utils.formats.keyboardDate,
50
+ disablePast: internalProps.disablePast ?? false,
51
+ disableFuture: internalProps.disableFuture ?? false,
52
+ minDate: applyDefaultDate(utils, internalProps.minDate, defaultDates.minDate),
53
+ maxDate: applyDefaultDate(utils, internalProps.maxDate, defaultDates.maxDate)
54
+ };
55
+ }
@@ -0,0 +1,28 @@
1
+ import type { MakeOptional } from '@mui/x-internals/types';
2
+ import { PickerManager, DateTimeValidationError } from '../models';
3
+ import { UseFieldInternalProps } from '../internals/hooks/useField';
4
+ import { MuiPickersAdapterContextValue } from '../LocalizationProvider/LocalizationProvider';
5
+ import { AmPmProps } from '../internals/models/props/time';
6
+ import { ExportedValidateDateTimeProps, ValidateDateTimeProps, ValidateDateTimePropsToDefault } from '../validation/validateDateTime';
7
+ import { PickerValue } from '../internals/models';
8
+ export declare function useDateTimeManager<TEnableAccessibleFieldDOMStructure extends boolean = true>(parameters?: UseDateTimeManagerParameters<TEnableAccessibleFieldDOMStructure>): UseDateTimeManagerReturnValue<TEnableAccessibleFieldDOMStructure>;
9
+ /**
10
+ * Private utility function to get the default internal props for the field with date time editing.
11
+ * Is used by the `useDateTimeManager` and `useDateTimeRangeManager` hooks.
12
+ */
13
+ export declare function getDateTimeFieldInternalPropsDefaults(parameters: GetDateTimeFieldInternalPropsDefaultsParameters): GetDateTimeFieldInternalPropsDefaultsReturnValue;
14
+ export interface UseDateTimeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> {
15
+ enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
16
+ }
17
+ export type UseDateTimeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerValue, TEnableAccessibleFieldDOMStructure, DateTimeValidationError, DateTimeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, DateTimeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
18
+ export interface DateTimeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerValue, TEnableAccessibleFieldDOMStructure, DateTimeValidationError>, 'format'>, ExportedValidateDateTimeProps, AmPmProps {
19
+ }
20
+ interface DateTimeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerValue, TEnableAccessibleFieldDOMStructure, DateTimeValidationError>, ValidateDateTimeProps {
21
+ }
22
+ type DateTimeManagerFieldPropsToDefault = 'format' | 'minTime' | 'maxTime' | ValidateDateTimePropsToDefault;
23
+ interface GetDateTimeFieldInternalPropsDefaultsParameters extends Pick<MuiPickersAdapterContextValue, 'defaultDates' | 'utils'> {
24
+ internalProps: Pick<DateTimeManagerFieldInternalProps<true>, DateTimeManagerFieldPropsToDefault | 'minDateTime' | 'maxDateTime' | 'ampm'>;
25
+ }
26
+ interface GetDateTimeFieldInternalPropsDefaultsReturnValue extends Pick<DateTimeManagerFieldInternalPropsWithDefaults<true>, DateTimeManagerFieldPropsToDefault | 'disableIgnoringDatePartForTimeValidation'> {
27
+ }
28
+ export {};
@@ -0,0 +1,60 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import * as React from 'react';
5
+ import { applyDefaultDate } from "../internals/utils/date-utils.js";
6
+ import { singleItemFieldValueManager, singleItemValueManager } from "../internals/utils/valueManagers.js";
7
+ import { validateDateTime } from "../validation/index.js";
8
+ export function useDateTimeManager(parameters = {}) {
9
+ const {
10
+ enableAccessibleFieldDOMStructure = true
11
+ } = parameters;
12
+ return React.useMemo(() => ({
13
+ valueType: 'date-time',
14
+ validator: validateDateTime,
15
+ internal_valueManager: singleItemValueManager,
16
+ internal_fieldValueManager: singleItemFieldValueManager,
17
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
18
+ internal_applyDefaultsToFieldInternalProps: ({
19
+ internalProps,
20
+ utils,
21
+ defaultDates
22
+ }) => _extends({}, internalProps, getDateTimeFieldInternalPropsDefaults({
23
+ internalProps,
24
+ utils,
25
+ defaultDates
26
+ })),
27
+ internal_getOpenPickerButtonAriaLabel: ({
28
+ value,
29
+ utils,
30
+ localeText
31
+ }) => {
32
+ const formattedValue = utils.isValid(value) ? utils.format(value, 'fullDate') : null;
33
+ return localeText.openDatePickerDialogue(formattedValue);
34
+ }
35
+ }), [enableAccessibleFieldDOMStructure]);
36
+ }
37
+
38
+ /**
39
+ * Private utility function to get the default internal props for the field with date time editing.
40
+ * Is used by the `useDateTimeManager` and `useDateTimeRangeManager` hooks.
41
+ */
42
+ export function getDateTimeFieldInternalPropsDefaults(parameters) {
43
+ const {
44
+ defaultDates,
45
+ utils,
46
+ internalProps
47
+ } = parameters;
48
+ const ampm = internalProps.ampm ?? utils.is12HourCycleInCurrentLocale();
49
+ const defaultFormat = ampm ? utils.formats.keyboardDateTime12h : utils.formats.keyboardDateTime24h;
50
+ return {
51
+ disablePast: internalProps.disablePast ?? false,
52
+ disableFuture: internalProps.disableFuture ?? false,
53
+ format: internalProps.format ?? defaultFormat,
54
+ disableIgnoringDatePartForTimeValidation: Boolean(internalProps.minDateTime || internalProps.maxDateTime),
55
+ minDate: applyDefaultDate(utils, internalProps.minDateTime ?? internalProps.minDate, defaultDates.minDate),
56
+ maxDate: applyDefaultDate(utils, internalProps.maxDateTime ?? internalProps.maxDate, defaultDates.maxDate),
57
+ minTime: internalProps.minDateTime ?? internalProps.minTime,
58
+ maxTime: internalProps.maxDateTime ?? internalProps.maxTime
59
+ };
60
+ }
@@ -0,0 +1,28 @@
1
+ import type { MakeOptional } from '@mui/x-internals/types';
2
+ import { PickerManager, TimeValidationError } from '../models';
3
+ import { UseFieldInternalProps } from '../internals/hooks/useField';
4
+ import { MuiPickersAdapterContextValue } from '../LocalizationProvider/LocalizationProvider';
5
+ import { AmPmProps } from '../internals/models/props/time';
6
+ import { ExportedValidateTimeProps, ValidateTimeProps, ValidateTimePropsToDefault } from '../validation/validateTime';
7
+ import { PickerValue } from '../internals/models';
8
+ export declare function useTimeManager<TEnableAccessibleFieldDOMStructure extends boolean = true>(parameters?: UseTimeManagerParameters<TEnableAccessibleFieldDOMStructure>): UseTimeManagerReturnValue<TEnableAccessibleFieldDOMStructure>;
9
+ /**
10
+ * Private utility function to get the default internal props for the fields with time editing.
11
+ * Is used by the `useTimeManager` and `useTimeRangeManager` hooks.
12
+ */
13
+ export declare function getTimeFieldInternalPropsDefaults(parameters: GetTimeFieldInternalPropsDefaultsParameters): GetTimeFieldInternalPropsDefaultsReturnValue;
14
+ export interface UseTimeManagerParameters<TEnableAccessibleFieldDOMStructure extends boolean> {
15
+ enableAccessibleFieldDOMStructure?: TEnableAccessibleFieldDOMStructure;
16
+ }
17
+ export type UseTimeManagerReturnValue<TEnableAccessibleFieldDOMStructure extends boolean> = PickerManager<PickerValue, TEnableAccessibleFieldDOMStructure, TimeValidationError, TimeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure>, TimeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure>>;
18
+ export interface TimeManagerFieldInternalProps<TEnableAccessibleFieldDOMStructure extends boolean> extends MakeOptional<UseFieldInternalProps<PickerValue, TEnableAccessibleFieldDOMStructure, TimeValidationError>, 'format'>, ExportedValidateTimeProps, AmPmProps {
19
+ }
20
+ interface TimeManagerFieldInternalPropsWithDefaults<TEnableAccessibleFieldDOMStructure extends boolean> extends UseFieldInternalProps<PickerValue, TEnableAccessibleFieldDOMStructure, TimeValidationError>, ValidateTimeProps {
21
+ }
22
+ type TimeManagerFieldPropsToDefault = 'format' | ValidateTimePropsToDefault;
23
+ interface GetTimeFieldInternalPropsDefaultsParameters extends Pick<MuiPickersAdapterContextValue, 'utils'> {
24
+ internalProps: Pick<TimeManagerFieldInternalProps<true>, TimeManagerFieldPropsToDefault | 'ampm'>;
25
+ }
26
+ interface GetTimeFieldInternalPropsDefaultsReturnValue extends Pick<TimeManagerFieldInternalPropsWithDefaults<true>, TimeManagerFieldPropsToDefault> {
27
+ }
28
+ export {};
@@ -0,0 +1,51 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import * as React from 'react';
5
+ import { singleItemFieldValueManager, singleItemValueManager } from "../internals/utils/valueManagers.js";
6
+ import { validateTime } from "../validation/index.js";
7
+ export function useTimeManager(parameters = {}) {
8
+ const {
9
+ enableAccessibleFieldDOMStructure = true
10
+ } = parameters;
11
+ return React.useMemo(() => ({
12
+ valueType: 'time',
13
+ validator: validateTime,
14
+ internal_valueManager: singleItemValueManager,
15
+ internal_fieldValueManager: singleItemFieldValueManager,
16
+ internal_enableAccessibleFieldDOMStructure: enableAccessibleFieldDOMStructure,
17
+ internal_applyDefaultsToFieldInternalProps: ({
18
+ internalProps,
19
+ utils
20
+ }) => _extends({}, internalProps, getTimeFieldInternalPropsDefaults({
21
+ utils,
22
+ internalProps
23
+ })),
24
+ internal_getOpenPickerButtonAriaLabel: ({
25
+ value,
26
+ utils,
27
+ localeText
28
+ }) => {
29
+ const formattedValue = utils.isValid(value) ? utils.format(value, 'fullTime') : null;
30
+ return localeText.openTimePickerDialogue(formattedValue);
31
+ }
32
+ }), [enableAccessibleFieldDOMStructure]);
33
+ }
34
+
35
+ /**
36
+ * Private utility function to get the default internal props for the fields with time editing.
37
+ * Is used by the `useTimeManager` and `useTimeRangeManager` hooks.
38
+ */
39
+ export function getTimeFieldInternalPropsDefaults(parameters) {
40
+ const {
41
+ utils,
42
+ internalProps
43
+ } = parameters;
44
+ const ampm = internalProps.ampm ?? utils.is12HourCycleInCurrentLocale();
45
+ const defaultFormat = ampm ? utils.formats.fullTime12h : utils.formats.fullTime24h;
46
+ return {
47
+ disablePast: internalProps.disablePast ?? false,
48
+ disableFuture: internalProps.disableFuture ?? false,
49
+ format: internalProps.format ?? defaultFormat
50
+ };
51
+ }
@@ -225,7 +225,7 @@ export interface MuiPickersAdapter<TLocale = any> {
225
225
  * @param {PickerValidDate | null} value The value to test.
226
226
  * @returns {boolean} `true` if the value is a valid date according to the date library.
227
227
  */
228
- isValid(value: PickerValidDate | null): boolean;
228
+ isValid(value: PickerValidDate | null): value is PickerValidDate;
229
229
  /**
230
230
  * Format a date using an adapter format string (see the `AdapterFormats` interface)
231
231
  * @param {PickerValidDate} value The date to format.
@@ -1,11 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { TextFieldProps } from '@mui/material/TextField';
3
- import type { ExportedUseClearableFieldProps, UseClearableFieldResponse } from '../hooks/useClearableField';
4
3
  import type { ExportedPickersSectionListProps } from '../PickersSectionList';
5
4
  import type { UseFieldInternalProps, UseFieldResponse } from '../internals/hooks/useField';
6
5
  import type { PickersTextFieldProps } from '../PickersTextField';
7
6
  import { BaseForwardedSingleInputFieldProps, FieldRangeSection, PickerRangeValue, PickerValidValue } from '../internals/models';
8
7
  import { PickerOwnerState } from './pickers';
8
+ import type { ExportedPickerFieldUIProps } from '../internals/components/PickerFieldUI';
9
9
  export type FieldSectionType = 'year' | 'month' | 'day' | 'weekDay' | 'hours' | 'minutes' | 'seconds' | 'meridiem' | 'empty';
10
10
  export type FieldSectionContentType = 'digit' | 'digit-with-letter' | 'letter';
11
11
  export interface FieldSection {
@@ -124,14 +124,14 @@ export interface FieldOwnerState extends PickerOwnerState {
124
124
  /**
125
125
  * Props the prop `slotProps.field` of a picker can receive.
126
126
  */
127
- export type PickerFieldSlotProps<TValue extends PickerValidValue, TEnableAccessibleFieldDOMStructure extends boolean> = ExportedUseClearableFieldProps & Pick<UseFieldInternalProps<TValue, TEnableAccessibleFieldDOMStructure, unknown>, 'shouldRespectLeadingZeros' | 'readOnly'> & React.HTMLAttributes<HTMLDivElement> & {
127
+ export type PickerFieldSlotProps<TValue extends PickerValidValue, TEnableAccessibleFieldDOMStructure extends boolean> = ExportedPickerFieldUIProps & Pick<UseFieldInternalProps<TValue, TEnableAccessibleFieldDOMStructure, unknown>, 'shouldRespectLeadingZeros' | 'readOnly'> & React.HTMLAttributes<HTMLDivElement> & {
128
128
  ref?: React.Ref<HTMLDivElement>;
129
129
  };
130
130
  /**
131
- * Props the text field receives when used with a single input picker.
131
+ * Props the text field receives when used inside a single input picker.
132
132
  * Only contains what the MUI components are passing to the text field, not what users can pass using the `props.slotProps.field` and `props.slotProps.textField`.
133
133
  */
134
- export type BaseSingleInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = UseClearableFieldResponse<UseFieldResponse<TEnableAccessibleFieldDOMStructure, BaseForwardedSingleInputFieldProps>>;
134
+ export type BaseSingleInputPickersTextFieldProps<TEnableAccessibleFieldDOMStructure extends boolean> = Omit<UseFieldResponse<TEnableAccessibleFieldDOMStructure, BaseForwardedSingleInputFieldProps>, 'slots' | 'slotProps' | 'clearable' | 'onClear' | 'openPickerButtonPosition' | 'clearButtonPosition' | 'openPickerAriaLabel'>;
135
135
  /**
136
136
  * Props the built-in text field component can receive.
137
137
  */
package/models/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export * from './views';
5
5
  export * from './adapters';
6
6
  export * from './common';
7
7
  export * from './pickers';
8
+ export * from './manager';
8
9
  export type { PropsFromSlot } from '@mui/x-internals/slots';
package/models/index.js CHANGED
@@ -5,6 +5,7 @@ export * from "./views.js";
5
5
  export * from "./adapters.js";
6
6
  export * from "./common.js";
7
7
  export * from "./pickers.js";
8
+ export * from "./manager.js";
8
9
 
9
10
  // Utils shared across the X packages
10
11
  export {};
@@ -0,0 +1,87 @@
1
+ import type { FieldValueManager, UseFieldInternalProps } from '../internals/hooks/useField';
2
+ import type { PickerValueManager } from '../internals/hooks/usePicker';
3
+ import type { UseLocalizationContextReturnValue } from '../internals/hooks/useUtils';
4
+ import type { PickerValidValue } from '../internals/models';
5
+ import type { Validator } from '../validation';
6
+ import type { PickerValueType } from './common';
7
+ /**
8
+ * Object that contains all the necessary methods and properties to adapter a picker or a field for a given value type.
9
+ * You should never create your own manager.
10
+ * Instead, use the hooks exported from '@mui/x-date-pickers/managers' and '@mui/x-date-pickers-pro/managers'.
11
+ *
12
+ * ```tsx
13
+ * import { useDateManager } from '@mui/x-date-pickers/managers';
14
+ * import { useValidation } from '@mui/x-date-pickers/validation';
15
+ *
16
+ * const manager = useDateManager();
17
+ * const { hasValidationError } = useValidation({
18
+ * validator: manager.validator,
19
+ * value,
20
+ * timezone,
21
+ * props,
22
+ * });
23
+ * ```
24
+ */
25
+ export interface PickerManager<TValue extends PickerValidValue, TEnableAccessibleFieldDOMStructure extends boolean, TError, TFieldInternalProps extends {}, TFieldInternalPropsWithDefaults extends UseFieldInternalProps<TValue, TEnableAccessibleFieldDOMStructure, TError>> {
26
+ /**
27
+ * The type of the value (e.g. 'date', 'date-time', 'time').
28
+ */
29
+ valueType: PickerValueType;
30
+ /**
31
+ * Checks if a value is valid and returns an error code otherwise.
32
+ * It can be passed to the `useValidation` hook to validate a value:
33
+ *
34
+ * ```tsx
35
+ * import { useDateManager } from '@mui/x-date-pickers/managers';
36
+ * import { useValidation } from '@mui/x-date-pickers/validation';
37
+ *
38
+ * const manager = useDateManager();
39
+ * const { hasValidationError } = useValidation({
40
+ * validator: manager.validator,
41
+ * value,
42
+ * timezone,
43
+ * props,
44
+ * });
45
+ * ```
46
+ */
47
+ validator: Validator<TValue, TError, TFieldInternalPropsWithDefaults>;
48
+ /**
49
+ * Object containing basic methods to interact with the value of the picker or field.
50
+ * This property is not part of the public API and should not be used directly.
51
+ */
52
+ internal_valueManager: PickerValueManager<TValue, TError>;
53
+ /**
54
+ * Object containing all the necessary methods to interact with the value of the field.
55
+ * This property is not part of the public API and should not be used directly.
56
+ */
57
+ internal_fieldValueManager: FieldValueManager<TValue>;
58
+ /**
59
+ * `true` if the field is using the accessible DOM structure.
60
+ * `false` if the field is using the non-accessible DOM structure.
61
+ * This property is not part of the public API and should not be used directly.
62
+ */
63
+ internal_enableAccessibleFieldDOMStructure: TEnableAccessibleFieldDOMStructure;
64
+ /**
65
+ * Applies the default values to the field internal props.
66
+ * This usually includes:
67
+ * - a default format to display the value in the field
68
+ * - some default validation props that are needed to validate the value (e.g: minDate, maxDate)
69
+ * This property is not part of the public API and should not be used directly.
70
+ * @param {ApplyDefaultsToFieldInternalPropsParameters<TFieldInternalProps>} parameters The parameters to apply the defaults.
71
+ * @returns {TFieldInternalPropsWithDefaults} The field internal props with the defaults applied.
72
+ */
73
+ internal_applyDefaultsToFieldInternalProps: (parameters: ApplyDefaultsToFieldInternalPropsParameters<TFieldInternalProps>) => TFieldInternalPropsWithDefaults;
74
+ /**
75
+ * Returns the aria-label to apply on the button that opens the picker.
76
+ * @param {GetOpenPickerButtonAriaLabelParameters<TValue>} params The parameters to get the aria-label.
77
+ * @returns {string} The aria-label to apply on the button that opens the picker.
78
+ */
79
+ internal_getOpenPickerButtonAriaLabel: (params: GetOpenPickerButtonAriaLabelParameters<TValue>) => string;
80
+ }
81
+ interface ApplyDefaultsToFieldInternalPropsParameters<TFieldInternalProps extends {}> extends UseLocalizationContextReturnValue {
82
+ internalProps: TFieldInternalProps;
83
+ }
84
+ interface GetOpenPickerButtonAriaLabelParameters<TValue extends PickerValidValue> extends UseLocalizationContextReturnValue {
85
+ value: TValue;
86
+ }
87
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -11,6 +11,13 @@ export interface PickerChangeHandlerContext<TError> {
11
11
  export interface PickerValidDateLookup {
12
12
  }
13
13
  export type PickerValidDate = keyof PickerValidDateLookup extends never ? any : PickerValidDateLookup[keyof PickerValidDateLookup];
14
+ /**
15
+ * Importance of the change when picking a value:
16
+ * - "accept": fires `onChange`, fires `onAccept` and closes the picker.
17
+ * - "set": fires `onChange` but do not fire `onAccept` and does not close the picker.
18
+ * @default "accept"
19
+ */
20
+ export type PickerChangeImportance = 'set' | 'accept';
14
21
  export interface PickerOwnerState {
15
22
  /**
16
23
  * `true` if the value of the picker is currently empty.