@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,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.PickerFieldPrivateContext = void 0;
9
+ exports.useFieldInternalPropsWithDefaults = useFieldInternalPropsWithDefaults;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _useUtils = require("../useUtils");
13
+ var _useNullablePickerContext = require("../useNullablePickerContext");
14
+ const PickerFieldPrivateContext = exports.PickerFieldPrivateContext = /*#__PURE__*/React.createContext(null);
15
+
16
+ /**
17
+ * Applies the default values to the field internal props.
18
+ * This is a temporary hook that will be removed during a follow up when `useField` will receive the internal props without the defaults.
19
+ * It is only here to allow the migration to be done in smaller steps.
20
+ */
21
+ function useFieldInternalPropsWithDefaults({
22
+ manager,
23
+ internalProps
24
+ }) {
25
+ const localizationContext = (0, _useUtils.useLocalizationContext)();
26
+ const pickerContext = (0, _useNullablePickerContext.useNullablePickerContext)();
27
+ const fieldPrivateContext = React.useContext(PickerFieldPrivateContext);
28
+ const setValue = pickerContext?.setValue;
29
+ const handleChangeFromPicker = React.useCallback((newValue, ctx) => {
30
+ return setValue?.(newValue, {
31
+ validationError: ctx.validationError
32
+ });
33
+ }, [setValue]);
34
+ return React.useMemo(() => {
35
+ let internalPropsWithDefaultsFromContext = internalProps;
36
+ // If one of the context is null,
37
+ // Then the field is used as a standalone component and the other context will be null as well.
38
+ if (fieldPrivateContext != null && pickerContext != null) {
39
+ internalPropsWithDefaultsFromContext = (0, _extends2.default)({
40
+ value: pickerContext.value,
41
+ onChange: handleChangeFromPicker,
42
+ timezone: pickerContext.timezone,
43
+ disabled: pickerContext.disabled,
44
+ format: pickerContext.fieldFormat,
45
+ formatDensity: fieldPrivateContext.formatDensity,
46
+ enableAccessibleFieldDOMStructure: fieldPrivateContext.enableAccessibleFieldDOMStructure,
47
+ selectedSections: fieldPrivateContext.selectedSections,
48
+ onSelectedSectionsChange: fieldPrivateContext.onSelectedSectionsChange
49
+ }, internalProps);
50
+ }
51
+ return manager.internal_applyDefaultsToFieldInternalProps((0, _extends2.default)({}, localizationContext, {
52
+ internalProps: internalPropsWithDefaultsFromContext
53
+ }));
54
+ }, [manager, localizationContext, pickerContext, fieldPrivateContext, internalProps, handleChangeFromPicker]);
55
+ }
@@ -156,7 +156,7 @@ const useFieldState = params => {
156
156
  const updateValueFromValueStr = valueStr => {
157
157
  const parseDateStr = (dateStr, referenceDate) => {
158
158
  const date = utils.parse(dateStr, format);
159
- if (date == null || !utils.isValid(date)) {
159
+ if (!utils.isValid(date)) {
160
160
  return null;
161
161
  }
162
162
  const sections = (0, _buildSectionsFromFormat.buildSectionsFromFormat)({
@@ -207,7 +207,7 @@ const useFieldState = params => {
207
207
  * Then we merge the value of the modified sections into the reference date.
208
208
  * This makes sure that we don't lose some information of the initial date (like the time on a date field).
209
209
  */
210
- if (newActiveDate != null && utils.isValid(newActiveDate)) {
210
+ if (utils.isValid(newActiveDate)) {
211
211
  const mergedDate = (0, _useField.mergeDateIntoReferenceDate)(utils, newActiveDate, newActiveDateSections, activeDateManager.referenceDate, true);
212
212
  values = activeDateManager.getNewValuesFromNewActiveDate(mergedDate);
213
213
  shouldPublish = true;
@@ -44,8 +44,8 @@ const addPositionPropertiesToSections = (sections, localizedDigits, isRtl) => {
44
44
  exports.addPositionPropertiesToSections = addPositionPropertiesToSections;
45
45
  const useFieldV6TextField = params => {
46
46
  const isRtl = (0, _RtlProvider.useRtl)();
47
- const focusTimeoutRef = React.useRef();
48
- const selectionSyncTimeoutRef = React.useRef();
47
+ const focusTimeoutRef = React.useRef(undefined);
48
+ const selectionSyncTimeoutRef = React.useRef(undefined);
49
49
  const {
50
50
  forwardedProps: {
51
51
  onFocus,
@@ -19,7 +19,8 @@ const useFieldV7TextField = params => {
19
19
  const {
20
20
  internalProps: {
21
21
  disabled,
22
- readOnly = false
22
+ readOnly = false,
23
+ autoFocus = false
23
24
  },
24
25
  forwardedProps: {
25
26
  sectionListRef: inSectionListRef,
@@ -28,8 +29,7 @@ const useFieldV7TextField = params => {
28
29
  onFocus,
29
30
  onInput,
30
31
  onPaste,
31
- focused: focusedProp,
32
- autoFocus = false
32
+ focused: focusedProp
33
33
  },
34
34
  fieldValueManager,
35
35
  applyCharacterEditing,
@@ -14,11 +14,11 @@ var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
14
14
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
15
15
  var _PickersModalDialog = require("../../components/PickersModalDialog");
16
16
  var _usePicker = require("../usePicker");
17
- var _utils = require("../../utils/utils");
18
17
  var _PickersLayout = require("../../../PickersLayout");
19
18
  var _PickerProvider = require("../../components/PickerProvider");
19
+ var _PickerFieldUI = require("../../components/PickerFieldUI");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
- const _excluded = ["props", "getOpenDialogAriaText"];
21
+ const _excluded = ["props"];
22
22
  /**
23
23
  * Hook managing all the single-date mobile pickers:
24
24
  * - MobileDatePicker
@@ -27,8 +27,7 @@ const _excluded = ["props", "getOpenDialogAriaText"];
27
27
  */
28
28
  const useMobilePicker = _ref => {
29
29
  let {
30
- props,
31
- getOpenDialogAriaText
30
+ props
32
31
  } = _ref,
33
32
  pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
34
33
  const {
@@ -36,34 +35,25 @@ const useMobilePicker = _ref => {
36
35
  slotProps: innerSlotProps,
37
36
  className,
38
37
  sx,
39
- format,
40
- formatDensity,
41
- enableAccessibleFieldDOMStructure,
42
- selectedSections,
43
- onSelectedSectionsChange,
44
- timezone,
45
38
  name,
46
39
  label,
47
40
  inputRef,
48
41
  readOnly,
49
- disabled,
42
+ autoFocus,
50
43
  localeText
51
44
  } = props;
52
45
  const fieldRef = React.useRef(null);
53
46
  const labelId = (0, _useId.default)();
54
47
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
55
48
  const {
56
- layoutProps,
57
49
  providerProps,
58
50
  renderCurrentView,
59
- fieldProps: pickerFieldProps,
60
51
  ownerState
61
52
  } = (0, _usePicker.usePicker)((0, _extends2.default)({}, pickerParams, {
62
53
  props,
63
54
  fieldRef,
64
55
  localeText,
65
56
  autoFocusView: true,
66
- additionalViewProps: {},
67
57
  variant: 'mobile'
68
58
  }));
69
59
  const Field = slots.field;
@@ -72,44 +62,21 @@ const useMobilePicker = _ref => {
72
62
  externalSlotProps: innerSlotProps?.field,
73
63
  additionalProps: (0, _extends2.default)({
74
64
  // Internal props
75
- readOnly: readOnly ?? true,
76
- disabled,
77
- format,
78
- formatDensity,
79
- enableAccessibleFieldDOMStructure,
80
- selectedSections,
81
- onSelectedSectionsChange,
82
- timezone
83
- }, pickerFieldProps, {
84
- // onChange and value
85
-
65
+ readOnly,
66
+ autoFocus: autoFocus && !props.open,
86
67
  // Forwarded props
87
68
  className,
88
69
  sx,
89
70
  label,
90
- name
71
+ name,
72
+ focused: providerProps.contextValue.open ? true : undefined
91
73
  }, isToolbarHidden && {
92
74
  id: labelId
93
- }, !(disabled || readOnly) && {
94
- // These direct access to `providerProps` will go away in https://github.com/mui/mui-x/pull/15671
95
- onClick: event => {
96
- event.preventDefault();
97
- providerProps.contextValue.setOpen(true);
98
- },
99
- onKeyDown: (0, _utils.onSpaceOrEnter)(() => providerProps.contextValue.setOpen(true))
100
75
  }, !!inputRef && {
101
76
  inputRef
102
77
  }),
103
78
  ownerState
104
79
  });
105
-
106
- // TODO: Move to `useSlotProps` when https://github.com/mui/material-ui/pull/35088 will be merged
107
- fieldProps.inputProps = (0, _extends2.default)({}, fieldProps.inputProps, {
108
- 'aria-label': getOpenDialogAriaText(pickerFieldProps.value)
109
- });
110
- const slotsForField = (0, _extends2.default)({
111
- textField: slots.textField
112
- }, fieldProps.slots);
113
80
  const Layout = slots.layout ?? _PickersLayout.PickersLayout;
114
81
  let labelledById = labelId;
115
82
  if (isToolbarHidden) {
@@ -128,20 +95,22 @@ const useMobilePicker = _ref => {
128
95
  }, innerSlotProps?.mobilePaper)
129
96
  });
130
97
  const handleFieldRef = (0, _useForkRef.default)(fieldRef, fieldProps.unstableFieldRef);
131
- const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickerProvider.PickerProvider, (0, _extends2.default)({}, providerProps, {
132
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, fieldProps, {
133
- slots: slotsForField,
134
- slotProps: slotProps,
135
- unstableFieldRef: handleFieldRef
136
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersModalDialog.PickersModalDialog, {
98
+ const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerProvider.PickerProvider, (0, _extends2.default)({}, providerProps, {
99
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PickerFieldUI.PickerFieldUIContextProvider, {
137
100
  slots: slots,
138
101
  slotProps: slotProps,
139
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
102
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Field, (0, _extends2.default)({}, fieldProps, {
103
+ unstableFieldRef: handleFieldRef
104
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersModalDialog.PickersModalDialog, {
140
105
  slots: slots,
141
106
  slotProps: slotProps,
142
- children: renderCurrentView()
143
- }))
144
- })]
107
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
108
+ slots: slots,
109
+ slotProps: slotProps,
110
+ children: renderCurrentView()
111
+ }))
112
+ })]
113
+ })
145
114
  }));
146
115
  return {
147
116
  renderPicker
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useNullablePickerContext = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _usePickerContext = require("../../hooks/usePickerContext");
11
+ /**
12
+ * Returns the context passed by the picker that wraps the current component.
13
+ * If the context is not found, returns `null`.
14
+ */
15
+ const useNullablePickerContext = () => React.useContext(_usePickerContext.PickerContext);
16
+ exports.useNullablePickerContext = useNullablePickerContext;
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.useOpenState = void 0;
8
9
  var React = _interopRequireWildcard(require("react"));
10
+ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
9
11
  const useOpenState = ({
10
12
  open,
11
13
  onOpen,
@@ -24,7 +26,7 @@ const useOpenState = ({
24
26
  setOpenState(open);
25
27
  }
26
28
  }, [isControllingOpenProp, open]);
27
- const setOpen = React.useCallback(action => {
29
+ const setOpen = (0, _useEventCallback.default)(action => {
28
30
  const newOpen = typeof action === 'function' ? action(openState) : action;
29
31
  if (!isControllingOpenProp) {
30
32
  setOpenState(newOpen);
@@ -35,7 +37,7 @@ const useOpenState = ({
35
37
  if (!newOpen && onClose) {
36
38
  onClose();
37
39
  }
38
- }, [isControllingOpenProp, onOpen, onClose, openState]);
40
+ });
39
41
  return {
40
42
  open: openState,
41
43
  setOpen
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.usePicker = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
7
  var _warning = require("@mui/x-internals/warning");
10
8
  var _usePickerValue = require("./usePickerValue");
11
9
  var _usePickerViews = require("./usePickerViews");
@@ -15,7 +13,6 @@ const usePicker = ({
15
13
  valueManager,
16
14
  valueType,
17
15
  variant,
18
- additionalViewProps,
19
16
  validator,
20
17
  autoFocusView,
21
18
  rendererInterceptor,
@@ -31,12 +28,10 @@ const usePicker = ({
31
28
  props,
32
29
  valueManager,
33
30
  valueType,
34
- variant,
35
31
  validator
36
32
  });
37
33
  const pickerViewsResponse = (0, _usePickerViews.usePickerViews)({
38
34
  props,
39
- additionalViewProps,
40
35
  autoFocusView,
41
36
  fieldRef,
42
37
  propsFromPickerValue: pickerValueResponse.viewProps,
@@ -51,14 +46,9 @@ const usePicker = ({
51
46
  paramsFromUsePickerViews: pickerViewsResponse.provider
52
47
  });
53
48
  return {
54
- // Picker value
55
- fieldProps: pickerValueResponse.fieldProps,
56
49
  // Picker views
57
50
  renderCurrentView: pickerViewsResponse.renderCurrentView,
58
- hasUIView: pickerViewsResponse.provider.hasUIView,
59
51
  shouldRestoreFocus: pickerViewsResponse.shouldRestoreFocus,
60
- // Picker layout
61
- layoutProps: (0, _extends2.default)({}, pickerValueResponse.layoutProps),
62
52
  // Picker provider
63
53
  providerProps,
64
54
  // Picker owner state
@@ -55,6 +55,7 @@ function usePickerProvider(parameters) {
55
55
  } = parameters;
56
56
  const utils = (0, _useUtils.useUtils)();
57
57
  const orientation = usePickerOrientation(paramsFromUsePickerViews.views, props.orientation);
58
+ const triggerRef = React.useRef(null);
58
59
  const ownerState = React.useMemo(() => ({
59
60
  isPickerValueEmpty: valueManager.areValuesEqual(utils, paramsFromUsePickerValue.value, valueManager.emptyValue),
60
61
  isPickerOpen: paramsFromUsePickerValue.contextValue.open,
@@ -63,20 +64,41 @@ function usePickerProvider(parameters) {
63
64
  pickerOrientation: orientation,
64
65
  pickerVariant: variant
65
66
  }), [utils, valueManager, paramsFromUsePickerValue.value, paramsFromUsePickerValue.contextValue.open, orientation, variant, props.disabled, props.readOnly]);
67
+ const triggerStatus = React.useMemo(() => {
68
+ if (props.disableOpenPicker || !paramsFromUsePickerViews.hasUIView) {
69
+ return 'hidden';
70
+ }
71
+ if (props.disabled || props.readOnly) {
72
+ return 'disabled';
73
+ }
74
+ return 'enabled';
75
+ }, [props.disableOpenPicker, paramsFromUsePickerViews.hasUIView, props.disabled, props.readOnly]);
66
76
  const contextValue = React.useMemo(() => (0, _extends2.default)({}, paramsFromUsePickerValue.contextValue, paramsFromUsePickerViews.contextValue, {
67
77
  disabled: props.disabled ?? false,
68
78
  readOnly: props.readOnly ?? false,
69
79
  variant,
70
- orientation
71
- }), [paramsFromUsePickerValue.contextValue, paramsFromUsePickerViews.contextValue, variant, orientation, props.disabled, props.readOnly]);
80
+ orientation,
81
+ triggerRef,
82
+ triggerStatus,
83
+ fieldFormat: props.format ?? ''
84
+ }), [paramsFromUsePickerValue.contextValue, paramsFromUsePickerViews.contextValue, variant, orientation, props.disabled, props.readOnly, triggerRef, triggerStatus, props.format]);
72
85
  const privateContextValue = React.useMemo(() => (0, _extends2.default)({}, paramsFromUsePickerValue.privateContextValue, {
73
86
  ownerState
74
87
  }), [paramsFromUsePickerValue, ownerState]);
88
+ const actionsContextValue = React.useMemo(() => (0, _extends2.default)({}, paramsFromUsePickerValue.actionsContextValue, paramsFromUsePickerViews.actionsContextValue), [paramsFromUsePickerValue.actionsContextValue, paramsFromUsePickerViews.actionsContextValue]);
89
+ const fieldPrivateContextValue = React.useMemo(() => ({
90
+ formatDensity: props.formatDensity,
91
+ enableAccessibleFieldDOMStructure: props.enableAccessibleFieldDOMStructure,
92
+ selectedSections: props.selectedSections,
93
+ onSelectedSectionsChange: props.onSelectedSectionsChange
94
+ }), [props.formatDensity, props.enableAccessibleFieldDOMStructure, props.selectedSections, props.onSelectedSectionsChange]);
75
95
  return {
76
96
  localeText,
77
97
  contextValue,
78
- actionsContextValue: paramsFromUsePickerValue.actionsContextValue,
79
- privateContextValue
98
+ privateContextValue,
99
+ actionsContextValue,
100
+ fieldPrivateContextValue,
101
+ isValidContextValue: paramsFromUsePickerValue.isValidContextValue
80
102
  };
81
103
  }
82
104