@mui/x-date-pickers 8.0.0-alpha.5 → 8.0.0-alpha.7

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 (305) 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 +206 -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/useDateField.d.ts +1 -1
  24. package/DateField/useDateField.js +13 -11
  25. package/DatePicker/DatePicker.js +1 -1
  26. package/DatePicker/DatePicker.types.d.ts +5 -0
  27. package/DatePicker/DatePickerToolbar.d.ts +1 -3
  28. package/DatePicker/DatePickerToolbar.js +10 -25
  29. package/DatePicker/shared.d.ts +1 -1
  30. package/DateTimeField/useDateTimeField.d.ts +1 -1
  31. package/DateTimeField/useDateTimeField.js +13 -11
  32. package/DateTimePicker/DateTimePicker.js +2 -2
  33. package/DateTimePicker/DateTimePicker.types.d.ts +2 -2
  34. package/DateTimePicker/DateTimePickerTabs.d.ts +2 -5
  35. package/DateTimePicker/DateTimePickerTabs.js +7 -14
  36. package/DateTimePicker/DateTimePickerToolbar.d.ts +12 -4
  37. package/DateTimePicker/DateTimePickerToolbar.js +42 -48
  38. package/DateTimePicker/shared.d.ts +3 -3
  39. package/DesktopDatePicker/DesktopDatePicker.js +9 -3
  40. package/DesktopDatePicker/DesktopDatePicker.types.d.ts +7 -3
  41. package/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  42. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +2 -2
  43. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.d.ts +1 -2
  44. package/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -15
  45. package/DesktopTimePicker/DesktopTimePicker.js +3 -7
  46. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  47. package/MobileDatePicker/MobileDatePicker.js +2 -2
  48. package/MobileDatePicker/MobileDatePicker.types.d.ts +2 -3
  49. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  50. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +4 -4
  51. package/MobileTimePicker/MobileTimePicker.js +2 -2
  52. package/MobileTimePicker/MobileTimePicker.types.d.ts +4 -4
  53. package/PickersActionBar/PickersActionBar.d.ts +6 -7
  54. package/PickersActionBar/PickersActionBar.js +18 -16
  55. package/PickersLayout/PickersLayout.d.ts +2 -2
  56. package/PickersLayout/PickersLayout.js +1 -15
  57. package/PickersLayout/PickersLayout.types.d.ts +12 -15
  58. package/PickersLayout/usePickerLayout.d.ts +2 -2
  59. package/PickersLayout/usePickerLayout.js +13 -47
  60. package/PickersShortcuts/PickersShortcuts.d.ts +2 -5
  61. package/PickersShortcuts/PickersShortcuts.js +13 -10
  62. package/PickersShortcuts/index.d.ts +1 -1
  63. package/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  64. package/PickersTextField/PickersTextField.js +1 -1
  65. package/StaticDatePicker/StaticDatePicker.types.d.ts +2 -3
  66. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +2 -2
  67. package/StaticTimePicker/StaticTimePicker.types.d.ts +2 -2
  68. package/TimeField/useTimeField.d.ts +1 -1
  69. package/TimeField/useTimeField.js +13 -11
  70. package/TimePicker/TimePicker.js +2 -2
  71. package/TimePicker/TimePicker.types.d.ts +2 -2
  72. package/TimePicker/TimePickerToolbar.d.ts +1 -2
  73. package/TimePicker/TimePickerToolbar.js +23 -35
  74. package/TimePicker/shared.d.ts +1 -1
  75. package/hooks/index.d.ts +2 -0
  76. package/hooks/index.js +3 -1
  77. package/hooks/useIsValidValue.d.ts +7 -0
  78. package/hooks/useIsValidValue.js +11 -0
  79. package/hooks/usePickerActionsContext.d.ts +7 -0
  80. package/hooks/usePickerActionsContext.js +15 -0
  81. package/hooks/usePickerContext.d.ts +3 -1
  82. package/hooks/usePickerContext.js +1 -2
  83. package/index.d.ts +1 -0
  84. package/index.js +3 -2
  85. package/internals/components/PickerProvider.d.ts +14 -8
  86. package/internals/components/PickerProvider.js +17 -6
  87. package/internals/components/PickersModalDialog.d.ts +1 -3
  88. package/internals/components/PickersModalDialog.js +9 -3
  89. package/internals/components/PickersPopper.d.ts +1 -3
  90. package/internals/components/PickersPopper.js +11 -6
  91. package/internals/components/PickersToolbar.d.ts +2 -3
  92. package/internals/components/PickersToolbar.js +1 -1
  93. package/internals/hooks/date-helpers-hooks.js +4 -3
  94. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +10 -12
  95. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -7
  96. package/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  97. package/internals/hooks/useField/index.d.ts +1 -1
  98. package/internals/hooks/useField/index.js +1 -1
  99. package/internals/hooks/useField/useField.d.ts +10 -1
  100. package/internals/hooks/useField/useField.js +17 -1
  101. package/internals/hooks/useField/useField.utils.js +2 -2
  102. package/internals/hooks/useField/useFieldState.js +2 -2
  103. package/internals/hooks/useField/useFieldV6TextField.js +2 -2
  104. package/internals/hooks/useMobilePicker/useMobilePicker.js +9 -10
  105. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -7
  106. package/internals/hooks/useOpenState.js +3 -2
  107. package/internals/hooks/usePicker/usePicker.d.ts +1 -1
  108. package/internals/hooks/usePicker/usePicker.js +0 -8
  109. package/internals/hooks/usePicker/usePicker.types.d.ts +6 -7
  110. package/internals/hooks/usePicker/usePickerProvider.d.ts +5 -5
  111. package/internals/hooks/usePicker/usePickerProvider.js +8 -5
  112. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  113. package/internals/hooks/usePicker/usePickerValue.js +82 -217
  114. package/internals/hooks/usePicker/usePickerValue.types.d.ts +82 -67
  115. package/internals/hooks/usePicker/usePickerViews.d.ts +35 -20
  116. package/internals/hooks/usePicker/usePickerViews.js +22 -14
  117. package/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  118. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -6
  119. package/internals/hooks/useUtils.js +1 -1
  120. package/internals/index.d.ts +9 -7
  121. package/internals/index.js +5 -3
  122. package/internals/models/index.d.ts +1 -0
  123. package/internals/models/index.js +2 -1
  124. package/internals/models/manager.d.ts +12 -0
  125. package/internals/models/manager.js +1 -0
  126. package/internals/models/props/basePickerProps.d.ts +2 -2
  127. package/internals/models/props/tabs.d.ts +0 -13
  128. package/internals/models/props/toolbar.d.ts +1 -20
  129. package/internals/utils/date-utils.js +1 -1
  130. package/internals/utils/valueManagers.js +4 -4
  131. package/locales/index.d.ts +1 -0
  132. package/locales/index.js +1 -0
  133. package/locales/nbNO.js +15 -19
  134. package/locales/utils/getPickersLocalization.js +1 -1
  135. package/locales/zhTW.d.ts +80 -0
  136. package/locales/zhTW.js +73 -0
  137. package/managers/index.d.ts +6 -0
  138. package/managers/index.js +3 -0
  139. package/managers/package.json +6 -0
  140. package/managers/useDateManager.d.ts +27 -0
  141. package/managers/useDateManager.js +47 -0
  142. package/managers/useDateTimeManager.d.ts +28 -0
  143. package/managers/useDateTimeManager.js +52 -0
  144. package/managers/useTimeManager.d.ts +28 -0
  145. package/managers/useTimeManager.js +43 -0
  146. package/models/adapters.d.ts +1 -1
  147. package/models/index.d.ts +1 -0
  148. package/models/index.js +1 -0
  149. package/models/manager.d.ts +78 -0
  150. package/models/manager.js +1 -0
  151. package/models/pickers.d.ts +7 -0
  152. package/modern/AdapterDateFns/AdapterDateFns.js +49 -47
  153. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +48 -46
  154. package/modern/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +45 -52
  155. package/modern/AdapterDateFnsJalaliV2/index.js +1 -0
  156. package/modern/{AdapterDateFnsV3/AdapterDateFnsV3.js → AdapterDateFnsV2/AdapterDateFnsV2.js} +46 -54
  157. package/modern/AdapterDateFnsV2/index.js +1 -0
  158. package/modern/DateCalendar/DateCalendar.js +1 -1
  159. package/modern/DateField/useDateField.js +13 -11
  160. package/modern/DatePicker/DatePicker.js +1 -1
  161. package/modern/DatePicker/DatePickerToolbar.js +10 -25
  162. package/modern/DateTimeField/useDateTimeField.js +13 -11
  163. package/modern/DateTimePicker/DateTimePicker.js +2 -2
  164. package/modern/DateTimePicker/DateTimePickerTabs.js +7 -14
  165. package/modern/DateTimePicker/DateTimePickerToolbar.js +42 -48
  166. package/modern/DesktopDatePicker/DesktopDatePicker.js +9 -3
  167. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  168. package/modern/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -15
  169. package/modern/DesktopTimePicker/DesktopTimePicker.js +3 -7
  170. package/modern/MobileDatePicker/MobileDatePicker.js +2 -2
  171. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  172. package/modern/MobileTimePicker/MobileTimePicker.js +2 -2
  173. package/modern/PickersActionBar/PickersActionBar.js +18 -16
  174. package/modern/PickersLayout/PickersLayout.js +1 -15
  175. package/modern/PickersLayout/usePickerLayout.js +13 -47
  176. package/modern/PickersShortcuts/PickersShortcuts.js +13 -10
  177. package/modern/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  178. package/modern/PickersTextField/PickersTextField.js +1 -1
  179. package/modern/TimeField/useTimeField.js +13 -11
  180. package/modern/TimePicker/TimePicker.js +2 -2
  181. package/modern/TimePicker/TimePickerToolbar.js +23 -35
  182. package/modern/hooks/index.js +3 -1
  183. package/modern/hooks/useIsValidValue.js +11 -0
  184. package/modern/hooks/usePickerActionsContext.js +15 -0
  185. package/modern/hooks/usePickerContext.js +1 -2
  186. package/modern/index.js +3 -2
  187. package/modern/internals/components/PickerProvider.js +17 -6
  188. package/modern/internals/components/PickersModalDialog.js +9 -3
  189. package/modern/internals/components/PickersPopper.js +11 -6
  190. package/modern/internals/components/PickersToolbar.js +1 -1
  191. package/modern/internals/hooks/date-helpers-hooks.js +4 -3
  192. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +10 -12
  193. package/modern/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  194. package/modern/internals/hooks/useField/index.js +1 -1
  195. package/modern/internals/hooks/useField/useField.js +17 -1
  196. package/modern/internals/hooks/useField/useField.utils.js +2 -2
  197. package/modern/internals/hooks/useField/useFieldState.js +2 -2
  198. package/modern/internals/hooks/useField/useFieldV6TextField.js +2 -2
  199. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +9 -10
  200. package/modern/internals/hooks/useOpenState.js +3 -2
  201. package/modern/internals/hooks/usePicker/usePicker.js +0 -8
  202. package/modern/internals/hooks/usePicker/usePickerProvider.js +8 -5
  203. package/modern/internals/hooks/usePicker/usePickerValue.js +82 -217
  204. package/modern/internals/hooks/usePicker/usePickerViews.js +22 -14
  205. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  206. package/modern/internals/hooks/useUtils.js +1 -1
  207. package/modern/internals/index.js +5 -3
  208. package/modern/internals/models/index.js +2 -1
  209. package/modern/internals/models/manager.js +1 -0
  210. package/modern/internals/utils/date-utils.js +1 -1
  211. package/modern/internals/utils/valueManagers.js +4 -4
  212. package/modern/locales/index.js +1 -0
  213. package/modern/locales/nbNO.js +15 -19
  214. package/modern/locales/utils/getPickersLocalization.js +1 -1
  215. package/modern/locales/zhTW.js +73 -0
  216. package/modern/managers/index.js +3 -0
  217. package/modern/managers/useDateManager.js +47 -0
  218. package/modern/managers/useDateTimeManager.js +52 -0
  219. package/modern/managers/useTimeManager.js +43 -0
  220. package/modern/models/index.js +1 -0
  221. package/modern/models/manager.js +1 -0
  222. package/node/AdapterDateFns/AdapterDateFns.js +97 -97
  223. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +97 -96
  224. package/node/{AdapterDateFnsJalaliV3/AdapterDateFnsJalaliV3.js → AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js} +94 -101
  225. package/node/{AdapterDateFnsJalaliV3 → AdapterDateFnsJalaliV2}/index.js +1 -1
  226. package/node/AdapterDateFnsV2/AdapterDateFnsV2.js +291 -0
  227. package/node/{AdapterDateFnsV3 → AdapterDateFnsV2}/index.js +1 -1
  228. package/node/DateCalendar/DateCalendar.js +1 -1
  229. package/node/DateField/useDateField.js +12 -10
  230. package/node/DatePicker/DatePicker.js +1 -1
  231. package/node/DatePicker/DatePickerToolbar.js +10 -25
  232. package/node/DateTimeField/useDateTimeField.js +12 -10
  233. package/node/DateTimePicker/DateTimePicker.js +2 -2
  234. package/node/DateTimePicker/DateTimePickerTabs.js +7 -14
  235. package/node/DateTimePicker/DateTimePickerToolbar.js +43 -49
  236. package/node/DesktopDatePicker/DesktopDatePicker.js +9 -3
  237. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +13 -10
  238. package/node/DesktopDateTimePicker/DesktopDateTimePickerLayout.js +1 -15
  239. package/node/DesktopTimePicker/DesktopTimePicker.js +3 -7
  240. package/node/MobileDatePicker/MobileDatePicker.js +2 -2
  241. package/node/MobileDateTimePicker/MobileDateTimePicker.js +2 -2
  242. package/node/MobileTimePicker/MobileTimePicker.js +2 -2
  243. package/node/PickersActionBar/PickersActionBar.js +20 -18
  244. package/node/PickersLayout/PickersLayout.js +1 -15
  245. package/node/PickersLayout/usePickerLayout.js +17 -51
  246. package/node/PickersShortcuts/PickersShortcuts.js +13 -10
  247. package/node/PickersTextField/PickersInputBase/PickersInputBase.js +7 -0
  248. package/node/PickersTextField/PickersTextField.js +1 -1
  249. package/node/TimeField/useTimeField.js +12 -10
  250. package/node/TimePicker/TimePicker.js +2 -2
  251. package/node/TimePicker/TimePickerToolbar.js +23 -35
  252. package/node/hooks/index.js +15 -1
  253. package/node/hooks/useIsValidValue.js +18 -0
  254. package/node/hooks/usePickerActionsContext.js +22 -0
  255. package/node/hooks/usePickerContext.js +1 -1
  256. package/node/index.js +13 -1
  257. package/node/internals/components/PickerProvider.js +18 -7
  258. package/node/internals/components/PickersModalDialog.js +9 -3
  259. package/node/internals/components/PickersPopper.js +11 -6
  260. package/node/internals/components/PickersToolbar.js +1 -1
  261. package/node/internals/hooks/date-helpers-hooks.js +4 -3
  262. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +10 -12
  263. package/node/internals/hooks/useField/buildSectionsFromFormat.js +1 -1
  264. package/node/internals/hooks/useField/index.js +6 -0
  265. package/node/internals/hooks/useField/useField.js +18 -1
  266. package/node/internals/hooks/useField/useField.utils.js +2 -2
  267. package/node/internals/hooks/useField/useFieldState.js +2 -2
  268. package/node/internals/hooks/useField/useFieldV6TextField.js +2 -2
  269. package/node/internals/hooks/useMobilePicker/useMobilePicker.js +9 -10
  270. package/node/internals/hooks/useOpenState.js +4 -2
  271. package/node/internals/hooks/usePicker/usePicker.js +0 -9
  272. package/node/internals/hooks/usePicker/usePickerProvider.js +8 -5
  273. package/node/internals/hooks/usePicker/usePickerValue.js +82 -217
  274. package/node/internals/hooks/usePicker/usePickerViews.js +22 -15
  275. package/node/internals/hooks/useStaticPicker/useStaticPicker.js +1 -4
  276. package/node/internals/hooks/useUtils.js +1 -1
  277. package/node/internals/index.js +28 -20
  278. package/node/internals/models/index.js +11 -0
  279. package/node/internals/models/manager.js +5 -0
  280. package/node/internals/utils/date-utils.js +1 -1
  281. package/node/internals/utils/valueManagers.js +4 -4
  282. package/node/locales/index.js +11 -0
  283. package/node/locales/nbNO.js +15 -19
  284. package/node/locales/utils/getPickersLocalization.js +1 -1
  285. package/node/locales/zhTW.js +79 -0
  286. package/node/managers/index.js +26 -0
  287. package/node/managers/useDateManager.js +55 -0
  288. package/node/managers/useDateTimeManager.js +60 -0
  289. package/node/managers/useTimeManager.js +51 -0
  290. package/node/models/index.js +11 -0
  291. package/node/models/manager.js +5 -0
  292. package/package.json +3 -3
  293. package/themeAugmentation/props.d.ts +2 -3
  294. package/validation/extractValidationProps.d.ts +1 -1
  295. package/AdapterDateFnsJalaliV3/index.d.ts +0 -1
  296. package/AdapterDateFnsJalaliV3/index.js +0 -1
  297. package/AdapterDateFnsV3/index.d.ts +0 -1
  298. package/AdapterDateFnsV3/index.js +0 -1
  299. package/internals/hooks/defaultizedFieldProps.d.ts +0 -18
  300. package/internals/hooks/defaultizedFieldProps.js +0 -40
  301. package/modern/AdapterDateFnsJalaliV3/index.js +0 -1
  302. package/modern/AdapterDateFnsV3/index.js +0 -1
  303. package/modern/internals/hooks/defaultizedFieldProps.js +0 -40
  304. package/node/AdapterDateFnsV3/AdapterDateFnsV3.js +0 -299
  305. package/node/internals/hooks/defaultizedFieldProps.js +0 -50
@@ -4,12 +4,14 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.PickerPrivateContext = exports.PickerContext = void 0;
7
+ exports.PickerPrivateContext = exports.PickerContext = exports.PickerActionsContext = void 0;
8
8
  exports.PickerProvider = PickerProvider;
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _LocalizationProvider = require("../../LocalizationProvider");
11
+ var _useIsValidValue = require("../../hooks/useIsValidValue");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
13
  const PickerContext = exports.PickerContext = /*#__PURE__*/React.createContext(null);
14
+ const PickerActionsContext = exports.PickerActionsContext = /*#__PURE__*/React.createContext(null);
13
15
  const PickerPrivateContext = exports.PickerPrivateContext = /*#__PURE__*/React.createContext({
14
16
  ownerState: {
15
17
  isPickerDisabled: false,
@@ -18,7 +20,8 @@ const PickerPrivateContext = exports.PickerPrivateContext = /*#__PURE__*/React.c
18
20
  isPickerOpen: false,
19
21
  pickerVariant: 'desktop',
20
22
  pickerOrientation: 'portrait'
21
- }
23
+ },
24
+ dismissViews: () => {}
22
25
  });
23
26
 
24
27
  /**
@@ -31,17 +34,25 @@ const PickerPrivateContext = exports.PickerPrivateContext = /*#__PURE__*/React.c
31
34
  function PickerProvider(props) {
32
35
  const {
33
36
  contextValue,
37
+ actionsContextValue,
34
38
  privateContextValue,
39
+ isValidContextValue,
35
40
  localeText,
36
41
  children
37
42
  } = props;
38
43
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerContext.Provider, {
39
44
  value: contextValue,
40
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerPrivateContext.Provider, {
41
- value: privateContextValue,
42
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
43
- localeText: localeText,
44
- children: children
45
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerActionsContext.Provider, {
46
+ value: actionsContextValue,
47
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PickerPrivateContext.Provider, {
48
+ value: privateContextValue,
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useIsValidValue.IsValidValueContext.Provider, {
50
+ value: isValidContextValue,
51
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LocalizationProvider.LocalizationProvider, {
52
+ localeText: localeText,
53
+ children: children
54
+ })
55
+ })
45
56
  })
46
57
  })
47
58
  });
@@ -13,6 +13,8 @@ var _Fade = _interopRequireDefault(require("@mui/material/Fade"));
13
13
  var _Dialog = _interopRequireWildcard(require("@mui/material/Dialog"));
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _dimensions = require("../constants/dimensions");
16
+ var _hooks = require("../../hooks");
17
+ var _usePickerPrivateContext = require("../hooks/usePickerPrivateContext");
16
18
  var _jsxRuntime = require("react/jsx-runtime");
17
19
  const PickersModalDialogRoot = (0, _styles.styled)(_Dialog.default)({
18
20
  [`& .${_Dialog.dialogClasses.container}`]: {
@@ -31,16 +33,20 @@ const PickersModalDialogContent = (0, _styles.styled)(_DialogContent.default)({
31
33
  function PickersModalDialog(props) {
32
34
  const {
33
35
  children,
34
- onDismiss,
35
- open,
36
36
  slots,
37
37
  slotProps
38
38
  } = props;
39
+ const {
40
+ open
41
+ } = (0, _hooks.usePickerContext)();
42
+ const {
43
+ dismissViews
44
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
39
45
  const Dialog = slots?.dialog ?? PickersModalDialogRoot;
40
46
  const Transition = slots?.mobileTransition ?? _Fade.default;
41
47
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Dialog, (0, _extends2.default)({
42
48
  open: open,
43
- onClose: onDismiss
49
+ onClose: dismissViews
44
50
  }, slotProps?.dialog, {
45
51
  TransitionComponent: Transition,
46
52
  TransitionProps: slotProps?.mobileTransition,
@@ -21,6 +21,7 @@ var _pickersPopperClasses = require("./pickersPopperClasses");
21
21
  var _utils2 = require("../utils/utils");
22
22
  var _useDefaultReduceAnimations = require("../hooks/useDefaultReduceAnimations");
23
23
  var _usePickerPrivateContext = require("../hooks/usePickerPrivateContext");
24
+ var _hooks = require("../../hooks");
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  const _excluded = ["PaperComponent", "ownerState", "children", "paperSlotProps", "paperClasses", "onPaperClick", "onPaperTouchStart"];
26
27
  const useUtilityClasses = classes => {
@@ -218,8 +219,6 @@ function PickersPopper(inProps) {
218
219
  containerRef = null,
219
220
  shouldRestoreFocus,
220
221
  onBlur,
221
- onDismiss,
222
- open,
223
222
  role,
224
223
  placement = 'bottom',
225
224
  slots,
@@ -227,17 +226,23 @@ function PickersPopper(inProps) {
227
226
  reduceAnimations: inReduceAnimations,
228
227
  classes: classesProp
229
228
  } = props;
229
+ const {
230
+ open
231
+ } = (0, _hooks.usePickerContext)();
232
+ const {
233
+ dismissViews
234
+ } = (0, _usePickerPrivateContext.usePickerPrivateContext)();
230
235
  React.useEffect(() => {
231
236
  function handleKeyDown(nativeEvent) {
232
237
  if (open && nativeEvent.key === 'Escape') {
233
- onDismiss();
238
+ dismissViews();
234
239
  }
235
240
  }
236
241
  document.addEventListener('keydown', handleKeyDown);
237
242
  return () => {
238
243
  document.removeEventListener('keydown', handleKeyDown);
239
244
  };
240
- }, [onDismiss, open]);
245
+ }, [dismissViews, open]);
241
246
  const lastFocusedElementRef = React.useRef(null);
242
247
  React.useEffect(() => {
243
248
  if (role === 'tooltip' || shouldRestoreFocus && !shouldRestoreFocus()) {
@@ -255,7 +260,7 @@ function PickersPopper(inProps) {
255
260
  });
256
261
  }
257
262
  }, [open, role, shouldRestoreFocus]);
258
- const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur ?? onDismiss);
263
+ const [clickAwayRef, onPaperClick, onPaperTouchStart] = useClickAwayListener(open, onBlur ?? dismissViews);
259
264
  const paperRef = React.useRef(null);
260
265
  const handleRef = (0, _utils.unstable_useForkRef)(paperRef, containerRef);
261
266
  const handlePaperRef = (0, _utils.unstable_useForkRef)(handleRef, clickAwayRef);
@@ -272,7 +277,7 @@ function PickersPopper(inProps) {
272
277
  if (event.key === 'Escape') {
273
278
  // stop the propagation to avoid closing parent modal
274
279
  event.stopPropagation();
275
- onDismiss();
280
+ dismissViews();
276
281
  }
277
282
  };
278
283
  const Transition = slots?.desktopTransition ?? reduceAnimations ? _Fade.default : _Grow.default;
@@ -17,7 +17,7 @@ var _createStyled = require("@mui/system/createStyled");
17
17
  var _pickersToolbarClasses = require("./pickersToolbarClasses");
18
18
  var _useToolbarOwnerState = require("../hooks/useToolbarOwnerState");
19
19
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["children", "className", "classes", "toolbarTitle", "hidden", "titleId", "isLandscape", "classes", "landscapeDirection"];
20
+ const _excluded = ["children", "className", "classes", "toolbarTitle", "hidden", "titleId", "classes", "landscapeDirection"];
21
21
  const useUtilityClasses = classes => {
22
22
  const slots = {
23
23
  root: ['root'],
@@ -36,11 +36,12 @@ function usePreviousMonthDisabled(month, {
36
36
  }
37
37
  function useMeridiemMode(date, ampm, onChange, selectionState) {
38
38
  const utils = (0, _useUtils.useUtils)();
39
- const meridiemMode = (0, _timeUtils.getMeridiem)(date, utils);
39
+ const cleanDate = React.useMemo(() => !utils.isValid(date) ? null : date, [utils, date]);
40
+ const meridiemMode = (0, _timeUtils.getMeridiem)(cleanDate, utils);
40
41
  const handleMeridiemChange = React.useCallback(mode => {
41
- const timeWithMeridiem = date == null ? null : (0, _timeUtils.convertToMeridiem)(date, mode, Boolean(ampm), utils);
42
+ const timeWithMeridiem = cleanDate == null ? null : (0, _timeUtils.convertToMeridiem)(cleanDate, mode, Boolean(ampm), utils);
42
43
  onChange(timeWithMeridiem, selectionState ?? 'partial');
43
- }, [ampm, date, onChange, selectionState, utils]);
44
+ }, [ampm, cleanDate, onChange, selectionState, utils]);
44
45
  return {
45
46
  meridiemMode,
46
47
  handleMeridiemChange
@@ -59,10 +59,7 @@ const useDesktopPicker = _ref => {
59
59
  const labelId = (0, _useId.default)();
60
60
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
61
61
  const {
62
- open,
63
- actions,
64
62
  hasUIView,
65
- layoutProps,
66
63
  providerProps,
67
64
  renderCurrentView,
68
65
  shouldRestoreFocus,
@@ -73,7 +70,6 @@ const useDesktopPicker = _ref => {
73
70
  fieldRef,
74
71
  localeText,
75
72
  autoFocusView: true,
76
- additionalViewProps: {},
77
73
  variant: 'desktop'
78
74
  }));
79
75
  const InputAdornment = slots.inputAdornment ?? _InputAdornment.default;
@@ -92,7 +88,11 @@ const useDesktopPicker = _ref => {
92
88
  externalSlotProps: innerSlotProps?.openPickerButton,
93
89
  additionalProps: {
94
90
  disabled: disabled || readOnly,
95
- onClick: open ? actions.onClose : actions.onOpen,
91
+ // This direct access to `providerProps` will go away in https://github.com/mui/mui-x/pull/15671
92
+ onClick: event => {
93
+ event.preventDefault();
94
+ providerProps.contextValue.setOpen(prevOpen => !prevOpen);
95
+ },
96
96
  'aria-label': getOpenDialogAriaText(pickerFieldProps.value),
97
97
  edge: inputAdornmentProps.position
98
98
  },
@@ -128,7 +128,7 @@ const useDesktopPicker = _ref => {
128
128
  sx,
129
129
  label,
130
130
  name,
131
- focused: open ? true : undefined
131
+ focused: providerProps.contextValue.open ? true : undefined
132
132
  }, isToolbarHidden && {
133
133
  id: labelId
134
134
  }, !!inputRef && {
@@ -177,22 +177,20 @@ const useDesktopPicker = _ref => {
177
177
  slots: slotsForField,
178
178
  slotProps: slotProps,
179
179
  unstableFieldRef: handleFieldRef
180
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersPopper.PickersPopper, (0, _extends2.default)({
180
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersPopper.PickersPopper, {
181
181
  role: "dialog",
182
182
  placement: "bottom-start",
183
- anchorEl: containerRef.current
184
- }, actions, {
185
- open: open,
183
+ anchorEl: containerRef.current,
186
184
  slots: slots,
187
185
  slotProps: slotProps,
188
186
  shouldRestoreFocus: shouldRestoreFocus,
189
187
  reduceAnimations: reduceAnimations,
190
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
188
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
191
189
  slots: slots,
192
190
  slotProps: slotProps,
193
191
  children: renderCurrentView()
194
192
  }))
195
- }))]
193
+ })]
196
194
  }));
197
195
  return {
198
196
  renderPicker
@@ -120,7 +120,7 @@ const createSection = ({
120
120
  const sectionConfig = (0, _useField.getDateSectionConfigFromFormatToken)(utils, token);
121
121
  const hasLeadingZerosInFormat = (0, _useField.doesSectionFormatHaveLeadingZeros)(utils, sectionConfig.contentType, sectionConfig.type, token);
122
122
  const hasLeadingZerosInInput = shouldRespectLeadingZeros ? hasLeadingZerosInFormat : sectionConfig.contentType === 'digit';
123
- const isValidDate = date != null && utils.isValid(date);
123
+ const isValidDate = utils.isValid(date);
124
124
  let sectionValue = isValidDate ? utils.formatByString(date, token) : '';
125
125
  let maxLength = null;
126
126
  if (hasLeadingZerosInInput) {
@@ -21,5 +21,11 @@ Object.defineProperty(exports, "useField", {
21
21
  return _useField.useField;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "useFieldInternalPropsWithDefaults", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _useField.useFieldInternalPropsWithDefaults;
28
+ }
29
+ });
24
30
  var _useField = require("./useField");
25
31
  var _useField2 = require("./useField.utils");
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.useField = void 0;
8
+ exports.useFieldInternalPropsWithDefaults = exports.useField = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
@@ -18,6 +18,23 @@ var _useFieldState = require("./useFieldState");
18
18
  var _useFieldCharacterEditing = require("./useFieldCharacterEditing");
19
19
  var _useFieldV7TextField = require("./useFieldV7TextField");
20
20
  var _useFieldV6TextField = require("./useFieldV6TextField");
21
+ /**
22
+ * Applies the default values to the field internal props.
23
+ * This is a temporary hook that will be removed during a follow up when `useField` will receive the internal props without the defaults.
24
+ * It is only here to allow the migration to be done in smaller steps.
25
+ */
26
+ const useFieldInternalPropsWithDefaults = ({
27
+ manager,
28
+ internalProps
29
+ }) => {
30
+ const localizationContext = (0, _useUtils.useLocalizationContext)();
31
+ return React.useMemo(() => {
32
+ return manager.internal_applyDefaultsToFieldInternalProps((0, _extends2.default)({}, localizationContext, {
33
+ internalProps
34
+ }));
35
+ }, [manager, internalProps, localizationContext]);
36
+ };
37
+ exports.useFieldInternalPropsWithDefaults = useFieldInternalPropsWithDefaults;
21
38
  const useField = params => {
22
39
  const utils = (0, _useUtils.useUtils)();
23
40
  const {
@@ -383,7 +383,7 @@ const getSectionsBoundaries = (utils, localizedDigits, timezone) => {
383
383
  currentDate
384
384
  }) => ({
385
385
  minimum: 1,
386
- maximum: currentDate != null && utils.isValid(currentDate) ? utils.getDaysInMonth(currentDate) : maxDaysInMonth,
386
+ maximum: utils.isValid(currentDate) ? utils.getDaysInMonth(currentDate) : maxDaysInMonth,
387
387
  longestMonth: longestMonth
388
388
  }),
389
389
  weekDay: ({
@@ -534,7 +534,7 @@ const mergeDateIntoReferenceDate = (utils, dateToTransferFrom, sections, referen
534
534
  exports.mergeDateIntoReferenceDate = mergeDateIntoReferenceDate;
535
535
  const isAndroid = () => navigator.userAgent.toLowerCase().includes('android');
536
536
 
537
- // TODO v8: Remove if we drop the v6 TextField approach.
537
+ // TODO v9: Remove
538
538
  exports.isAndroid = isAndroid;
539
539
  const getSectionOrder = (sections, shouldApplyRTL) => {
540
540
  const neighbors = {};
@@ -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,
@@ -53,9 +53,6 @@ const useMobilePicker = _ref => {
53
53
  const labelId = (0, _useId.default)();
54
54
  const isToolbarHidden = innerSlotProps?.toolbar?.hidden ?? false;
55
55
  const {
56
- open,
57
- actions,
58
- layoutProps,
59
56
  providerProps,
60
57
  renderCurrentView,
61
58
  fieldProps: pickerFieldProps,
@@ -65,7 +62,6 @@ const useMobilePicker = _ref => {
65
62
  fieldRef,
66
63
  localeText,
67
64
  autoFocusView: true,
68
- additionalViewProps: {},
69
65
  variant: 'mobile'
70
66
  }));
71
67
  const Field = slots.field;
@@ -93,8 +89,12 @@ const useMobilePicker = _ref => {
93
89
  }, isToolbarHidden && {
94
90
  id: labelId
95
91
  }, !(disabled || readOnly) && {
96
- onClick: actions.onOpen,
97
- onKeyDown: (0, _utils.onSpaceOrEnter)(actions.onOpen)
92
+ // These direct access to `providerProps` will go away in https://github.com/mui/mui-x/pull/15671
93
+ onClick: event => {
94
+ event.preventDefault();
95
+ providerProps.contextValue.setOpen(true);
96
+ },
97
+ onKeyDown: (0, _utils.onSpaceOrEnter)(() => providerProps.contextValue.setOpen(true))
98
98
  }, !!inputRef && {
99
99
  inputRef
100
100
  }),
@@ -131,16 +131,15 @@ const useMobilePicker = _ref => {
131
131
  slots: slotsForField,
132
132
  slotProps: slotProps,
133
133
  unstableFieldRef: handleFieldRef
134
- })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersModalDialog.PickersModalDialog, (0, _extends2.default)({}, actions, {
135
- open: open,
134
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickersModalDialog.PickersModalDialog, {
136
135
  slots: slots,
137
136
  slotProps: slotProps,
138
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
137
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
139
138
  slots: slots,
140
139
  slotProps: slotProps,
141
140
  children: renderCurrentView()
142
141
  }))
143
- }))]
142
+ })]
144
143
  }));
145
144
  return {
146
145
  renderPicker
@@ -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,
@@ -52,15 +47,11 @@ const usePicker = ({
52
47
  });
53
48
  return {
54
49
  // Picker value
55
- open: pickerValueResponse.open,
56
- actions: pickerValueResponse.actions,
57
50
  fieldProps: pickerValueResponse.fieldProps,
58
51
  // Picker views
59
52
  renderCurrentView: pickerViewsResponse.renderCurrentView,
60
53
  hasUIView: pickerViewsResponse.provider.hasUIView,
61
54
  shouldRestoreFocus: pickerViewsResponse.shouldRestoreFocus,
62
- // Picker layout
63
- layoutProps: (0, _extends2.default)({}, pickerViewsResponse.layoutProps, pickerValueResponse.layoutProps),
64
55
  // Picker provider
65
56
  providerProps,
66
57
  // Picker owner state
@@ -63,19 +63,22 @@ function usePickerProvider(parameters) {
63
63
  pickerOrientation: orientation,
64
64
  pickerVariant: variant
65
65
  }), [utils, valueManager, paramsFromUsePickerValue.value, paramsFromUsePickerValue.contextValue.open, orientation, variant, props.disabled, props.readOnly]);
66
- const contextValue = React.useMemo(() => (0, _extends2.default)({}, paramsFromUsePickerValue.contextValue, {
66
+ const contextValue = React.useMemo(() => (0, _extends2.default)({}, paramsFromUsePickerValue.contextValue, paramsFromUsePickerViews.contextValue, {
67
67
  disabled: props.disabled ?? false,
68
68
  readOnly: props.readOnly ?? false,
69
69
  variant,
70
70
  orientation
71
- }), [paramsFromUsePickerValue.contextValue, variant, orientation, props.disabled, props.readOnly]);
72
- const privateContextValue = React.useMemo(() => ({
71
+ }), [paramsFromUsePickerValue.contextValue, paramsFromUsePickerViews.contextValue, variant, orientation, props.disabled, props.readOnly]);
72
+ const privateContextValue = React.useMemo(() => (0, _extends2.default)({}, paramsFromUsePickerValue.privateContextValue, {
73
73
  ownerState
74
- }), [ownerState]);
74
+ }), [paramsFromUsePickerValue, ownerState]);
75
+ const actionsContextValue = React.useMemo(() => (0, _extends2.default)({}, paramsFromUsePickerValue.actionsContextValue, paramsFromUsePickerViews.actionsContextValue), [paramsFromUsePickerValue.actionsContextValue, paramsFromUsePickerViews.actionsContextValue]);
75
76
  return {
76
77
  localeText,
77
78
  contextValue,
78
- privateContextValue
79
+ privateContextValue,
80
+ actionsContextValue,
81
+ isValidContextValue: paramsFromUsePickerValue.isValidContextValue
79
82
  };
80
83
  }
81
84