@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
@@ -13,106 +13,6 @@ var _useOpenState = require("../useOpenState");
13
13
  var _useUtils = require("../useUtils");
14
14
  var _validation = require("../../../validation");
15
15
  var _useValueWithTimezone = require("../useValueWithTimezone");
16
- /**
17
- * Decide if the new value should be published
18
- * The published value will be passed to `onChange` if defined.
19
- */
20
- const shouldPublishValue = params => {
21
- const {
22
- action,
23
- hasChanged,
24
- dateState,
25
- isControlled
26
- } = params;
27
- const isCurrentValueTheDefaultValue = !isControlled && !dateState.hasBeenModifiedSinceMount;
28
-
29
- // The field is responsible for only calling `onChange` when needed.
30
- if (action.name === 'setValueFromField') {
31
- return true;
32
- }
33
- if (action.name === 'setValueFromAction') {
34
- // If the component is not controlled, and the value has not been modified since the mount,
35
- // Then we want to publish the default value whenever the user pressed the "Accept", "Today" or "Clear" button.
36
- if (isCurrentValueTheDefaultValue && ['accept', 'today', 'clear'].includes(action.pickerAction)) {
37
- return true;
38
- }
39
- return hasChanged(dateState.lastPublishedValue);
40
- }
41
- if (action.name === 'setValueFromView' && action.selectionState !== 'shallow') {
42
- // On the first view,
43
- // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onChange`
44
- if (isCurrentValueTheDefaultValue) {
45
- return true;
46
- }
47
- return hasChanged(dateState.lastPublishedValue);
48
- }
49
- if (action.name === 'setValueFromShortcut') {
50
- // On the first view,
51
- // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onChange`
52
- if (isCurrentValueTheDefaultValue) {
53
- return true;
54
- }
55
- return hasChanged(dateState.lastPublishedValue);
56
- }
57
- return false;
58
- };
59
-
60
- /**
61
- * Decide if the new value should be committed.
62
- * The committed value will be passed to `onAccept` if defined.
63
- * It will also be used as a reset target when calling the `cancel` picker action (when clicking on the "Cancel" button).
64
- */
65
- const shouldCommitValue = params => {
66
- const {
67
- action,
68
- hasChanged,
69
- dateState,
70
- isControlled,
71
- closeOnSelect
72
- } = params;
73
- const isCurrentValueTheDefaultValue = !isControlled && !dateState.hasBeenModifiedSinceMount;
74
- if (action.name === 'setValueFromAction') {
75
- // If the component is not controlled, and the value has not been modified since the mount,
76
- // Then we want to commit the default value whenever the user pressed the "Accept", "Today" or "Clear" button.
77
- if (isCurrentValueTheDefaultValue && ['accept', 'today', 'clear'].includes(action.pickerAction)) {
78
- return true;
79
- }
80
- return hasChanged(dateState.lastCommittedValue);
81
- }
82
- if (action.name === 'setValueFromView' && action.selectionState === 'finish' && closeOnSelect) {
83
- // On picker where the 1st view is also the last view,
84
- // If the value is not controlled, then clicking on any value (including the one equal to `defaultValue`) should call `onAccept`
85
- if (isCurrentValueTheDefaultValue) {
86
- return true;
87
- }
88
- return hasChanged(dateState.lastCommittedValue);
89
- }
90
- if (action.name === 'setValueFromShortcut') {
91
- return action.changeImportance === 'accept' && hasChanged(dateState.lastCommittedValue);
92
- }
93
- return false;
94
- };
95
-
96
- /**
97
- * Decide if the picker should be closed after the value is updated.
98
- */
99
- const shouldClosePicker = params => {
100
- const {
101
- action,
102
- closeOnSelect
103
- } = params;
104
- if (action.name === 'setValueFromAction') {
105
- return true;
106
- }
107
- if (action.name === 'setValueFromView') {
108
- return action.selectionState === 'finish' && closeOnSelect;
109
- }
110
- if (action.name === 'setValueFromShortcut') {
111
- return action.changeImportance === 'accept';
112
- }
113
- return false;
114
- };
115
-
116
16
  /**
117
17
  * Manage the value lifecycle of all the pickers.
118
18
  */
@@ -120,7 +20,6 @@ const usePickerValue = ({
120
20
  props,
121
21
  valueManager,
122
22
  valueType,
123
- variant,
124
23
  validator
125
24
  }) => {
126
25
  const {
@@ -128,7 +27,7 @@ const usePickerValue = ({
128
27
  onChange,
129
28
  value: inValueWithoutRenderTimezone,
130
29
  defaultValue: inDefaultValue,
131
- closeOnSelect = variant === 'desktop',
30
+ closeOnSelect = false,
132
31
  timezone: timezoneProp,
133
32
  referenceDate
134
33
  } = props;
@@ -208,43 +107,49 @@ const usePickerValue = ({
208
107
  value: dateState.draft,
209
108
  onError: props.onError
210
109
  });
211
- const updateDate = (0, _useEventCallback.default)(action => {
212
- const updaterParams = {
213
- action,
214
- dateState,
215
- hasChanged: comparison => !valueManager.areValuesEqual(utils, action.value, comparison),
216
- isControlled,
217
- closeOnSelect
218
- };
219
- const shouldPublish = shouldPublishValue(updaterParams);
220
- const shouldCommit = shouldCommitValue(updaterParams);
221
- const shouldClose = shouldClosePicker(updaterParams);
110
+ const setValue = (0, _useEventCallback.default)((newValue, options) => {
111
+ const {
112
+ changeImportance = 'accept',
113
+ skipPublicationIfPristine = false,
114
+ validationError,
115
+ shortcut
116
+ } = options ?? {};
117
+ let shouldPublish;
118
+ let shouldCommit;
119
+ if (!skipPublicationIfPristine && !isControlled && !dateState.hasBeenModifiedSinceMount) {
120
+ // If the value is not controlled and the value has never been modified before,
121
+ // Then clicking on any value (including the one equal to `defaultValue`) should call `onChange` and `onAccept`
122
+ shouldPublish = true;
123
+ shouldCommit = changeImportance === 'accept';
124
+ } else {
125
+ shouldPublish = !valueManager.areValuesEqual(utils, newValue, dateState.lastPublishedValue);
126
+ shouldCommit = changeImportance === 'accept' && !valueManager.areValuesEqual(utils, newValue, dateState.lastCommittedValue);
127
+ }
222
128
  setDateState(prev => (0, _extends2.default)({}, prev, {
223
- draft: action.value,
224
- lastPublishedValue: shouldPublish ? action.value : prev.lastPublishedValue,
225
- lastCommittedValue: shouldCommit ? action.value : prev.lastCommittedValue,
129
+ draft: newValue,
130
+ lastPublishedValue: shouldPublish ? newValue : prev.lastPublishedValue,
131
+ lastCommittedValue: shouldCommit ? newValue : prev.lastCommittedValue,
226
132
  hasBeenModifiedSinceMount: true
227
133
  }));
228
134
  let cachedContext = null;
229
135
  const getContext = () => {
230
136
  if (!cachedContext) {
231
- const validationError = action.name === 'setValueFromField' ? action.context.validationError : getValidationErrorForNewValue(action.value);
232
137
  cachedContext = {
233
- validationError
138
+ validationError: validationError == null ? getValidationErrorForNewValue(newValue) : validationError
234
139
  };
235
- if (action.name === 'setValueFromShortcut') {
236
- cachedContext.shortcut = action.shortcut;
140
+ if (shortcut) {
141
+ cachedContext.shortcut = shortcut;
237
142
  }
238
143
  }
239
144
  return cachedContext;
240
145
  };
241
146
  if (shouldPublish) {
242
- handleValueChange(action.value, getContext());
147
+ handleValueChange(newValue, getContext());
243
148
  }
244
149
  if (shouldCommit && onAccept) {
245
- onAccept(action.value, getContext());
150
+ onAccept(newValue, getContext());
246
151
  }
247
- if (shouldClose) {
152
+ if (changeImportance === 'accept') {
248
153
  setOpen(false);
249
154
  }
250
155
  });
@@ -259,85 +164,6 @@ const usePickerValue = ({
259
164
  hasBeenModifiedSinceMount: true
260
165
  }));
261
166
  }
262
- const handleClear = (0, _useEventCallback.default)(() => {
263
- updateDate({
264
- value: valueManager.emptyValue,
265
- name: 'setValueFromAction',
266
- pickerAction: 'clear'
267
- });
268
- });
269
- const handleAccept = (0, _useEventCallback.default)(() => {
270
- updateDate({
271
- value: dateState.lastPublishedValue,
272
- name: 'setValueFromAction',
273
- pickerAction: 'accept'
274
- });
275
- });
276
- const handleDismiss = (0, _useEventCallback.default)(() => {
277
- updateDate({
278
- value: dateState.lastPublishedValue,
279
- name: 'setValueFromAction',
280
- pickerAction: 'dismiss'
281
- });
282
- });
283
- const handleCancel = (0, _useEventCallback.default)(() => {
284
- updateDate({
285
- value: dateState.lastCommittedValue,
286
- name: 'setValueFromAction',
287
- pickerAction: 'cancel'
288
- });
289
- });
290
- const handleSetToday = (0, _useEventCallback.default)(() => {
291
- updateDate({
292
- value: valueManager.getTodayValue(utils, timezone, valueType),
293
- name: 'setValueFromAction',
294
- pickerAction: 'today'
295
- });
296
- });
297
- const handleOpen = (0, _useEventCallback.default)(event => {
298
- event.preventDefault();
299
- setOpen(true);
300
- });
301
- const handleClose = (0, _useEventCallback.default)(event => {
302
- event?.preventDefault();
303
- setOpen(false);
304
- });
305
- const handleChange = (0, _useEventCallback.default)((newValue, selectionState = 'partial') => updateDate({
306
- name: 'setValueFromView',
307
- value: newValue,
308
- selectionState
309
- }));
310
- const handleSelectShortcut = (0, _useEventCallback.default)((newValue, changeImportance, shortcut) => updateDate({
311
- name: 'setValueFromShortcut',
312
- value: newValue,
313
- changeImportance,
314
- shortcut
315
- }));
316
- const handleChangeFromField = (0, _useEventCallback.default)((newValue, context) => updateDate({
317
- name: 'setValueFromField',
318
- value: newValue,
319
- context
320
- }));
321
- const actions = {
322
- onClear: handleClear,
323
- onAccept: handleAccept,
324
- onDismiss: handleDismiss,
325
- onCancel: handleCancel,
326
- onSetToday: handleSetToday,
327
- onOpen: handleOpen,
328
- onClose: handleClose
329
- };
330
- const fieldResponse = {
331
- value: dateState.draft,
332
- onChange: handleChangeFromField
333
- };
334
- const valueWithoutError = React.useMemo(() => valueManager.cleanValue(utils, dateState.draft), [utils, valueManager, dateState.draft]);
335
- const viewResponse = {
336
- value: valueWithoutError,
337
- onChange: handleChange,
338
- onClose: handleClose,
339
- open
340
- };
341
167
  const isValid = testedValue => {
342
168
  const error = validator({
343
169
  adapter,
@@ -347,28 +173,67 @@ const usePickerValue = ({
347
173
  });
348
174
  return !valueManager.hasError(error);
349
175
  };
350
- const layoutResponse = (0, _extends2.default)({}, actions, {
351
- value: valueWithoutError,
352
- onChange: handleChange,
353
- onSelectShortcut: handleSelectShortcut,
354
- isValid
176
+ const clearValue = (0, _useEventCallback.default)(() => setValue(valueManager.emptyValue));
177
+ const setValueToToday = (0, _useEventCallback.default)(() => setValue(valueManager.getTodayValue(utils, timezone, valueType)));
178
+ const acceptValueChanges = (0, _useEventCallback.default)(() => setValue(dateState.lastPublishedValue));
179
+ const cancelValueChanges = (0, _useEventCallback.default)(() => setValue(dateState.lastCommittedValue, {
180
+ skipPublicationIfPristine: true
181
+ }));
182
+ const dismissViews = (0, _useEventCallback.default)(() => {
183
+ setValue(dateState.lastPublishedValue, {
184
+ skipPublicationIfPristine: true
185
+ });
355
186
  });
356
- const contextValue = React.useMemo(() => {
357
- return {
358
- open,
359
- setOpen
360
- };
361
- }, [open, setOpen]);
187
+ const fieldResponse = {
188
+ value: dateState.draft,
189
+ onChange: (newValue, context) => setValue(newValue, {
190
+ validationError: context.validationError
191
+ })
192
+ };
193
+ const setValueFromView = (0, _useEventCallback.default)((newValue, selectionState = 'partial') => {
194
+ // TODO: Expose a new method (private?) like `setView` that only updates the draft value.
195
+ if (selectionState === 'shallow') {
196
+ setDateState(prev => (0, _extends2.default)({}, prev, {
197
+ draft: newValue,
198
+ hasBeenModifiedSinceMount: true
199
+ }));
200
+ }
201
+ setValue(newValue, {
202
+ changeImportance: selectionState === 'finish' && closeOnSelect ? 'accept' : 'set'
203
+ });
204
+ });
205
+ const valueWithoutError = React.useMemo(() => valueManager.cleanValue(utils, dateState.draft), [utils, valueManager, dateState.draft]);
206
+ const viewResponse = {
207
+ value: valueWithoutError,
208
+ onChange: setValueFromView,
209
+ open,
210
+ setOpen
211
+ };
212
+ const actionsContextValue = React.useMemo(() => ({
213
+ setValue,
214
+ setOpen,
215
+ clearValue,
216
+ setValueToToday,
217
+ acceptValueChanges,
218
+ cancelValueChanges
219
+ }), [setValue, setOpen, clearValue, setValueToToday, acceptValueChanges, cancelValueChanges]);
220
+ const contextValue = React.useMemo(() => (0, _extends2.default)({}, actionsContextValue, {
221
+ open,
222
+ value: dateState.draft
223
+ }), [actionsContextValue, open, dateState.draft]);
224
+ const privateContextValue = React.useMemo(() => ({
225
+ dismissViews
226
+ }), [dismissViews]);
362
227
  const providerParams = {
363
228
  value: valueWithoutError,
364
- contextValue
229
+ contextValue,
230
+ actionsContextValue,
231
+ privateContextValue,
232
+ isValidContextValue: isValid
365
233
  };
366
234
  return {
367
- open,
368
235
  fieldProps: fieldResponse,
369
236
  viewProps: viewResponse,
370
- layoutProps: layoutResponse,
371
- actions,
372
237
  provider: providerParams
373
238
  };
374
239
  };
@@ -13,15 +13,14 @@ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedE
13
13
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
14
14
  var _useViews = require("../useViews");
15
15
  var _timeUtils = require("../../utils/time-utils");
16
+ var _jsxRuntime = require("react/jsx-runtime");
16
17
  const _excluded = ["className", "sx"];
17
18
  /**
18
19
  * Props used to handle the views that are common to all pickers.
19
20
  */
20
-
21
21
  /**
22
22
  * Props used to handle the value of the pickers.
23
23
  */
24
-
25
24
  /**
26
25
  * Manage the views of all the pickers:
27
26
  * - Handles the view switch
@@ -31,15 +30,15 @@ const _excluded = ["className", "sx"];
31
30
  const usePickerViews = ({
32
31
  props,
33
32
  propsFromPickerValue,
34
- additionalViewProps,
35
33
  autoFocusView,
36
- rendererInterceptor,
34
+ rendererInterceptor: RendererInterceptor,
37
35
  fieldRef
38
36
  }) => {
39
37
  const {
40
38
  onChange,
39
+ value,
41
40
  open,
42
- onClose
41
+ setOpen
43
42
  } = propsFromPickerValue;
44
43
  const {
45
44
  view: inView,
@@ -99,7 +98,7 @@ const usePickerViews = ({
99
98
  (0, _useEnhancedEffect.default)(() => {
100
99
  // Handle case of `DateTimePicker` without time renderers
101
100
  if (currentViewMode === 'field' && open) {
102
- onClose();
101
+ setOpen(false);
103
102
  setTimeout(() => {
104
103
  fieldRef?.current?.setSelectedSections(view);
105
104
  // focusing the input before the range selection is done
@@ -130,18 +129,21 @@ const usePickerViews = ({
130
129
  setFocusedView(newView, true);
131
130
  }, [open]); // eslint-disable-line react-hooks/exhaustive-deps
132
131
 
133
- const layoutProps = {
132
+ const actionsContextValue = React.useMemo(() => ({
133
+ setView
134
+ }), [setView]);
135
+ const contextValue = React.useMemo(() => (0, _extends2.default)({}, actionsContextValue, {
134
136
  views,
135
- view: popperView,
136
- onViewChange: setView
137
- };
137
+ view: popperView
138
+ }), [actionsContextValue, views, popperView]);
138
139
  const providerParams = {
139
140
  hasUIView,
140
- views
141
+ views,
142
+ contextValue,
143
+ actionsContextValue
141
144
  };
142
145
  return {
143
146
  shouldRestoreFocus,
144
- layoutProps,
145
147
  provider: providerParams,
146
148
  renderCurrentView: () => {
147
149
  if (popperView == null) {
@@ -151,9 +153,10 @@ const usePickerViews = ({
151
153
  if (renderer == null) {
152
154
  return null;
153
155
  }
154
- const rendererProps = (0, _extends2.default)({}, propsToForwardToView, additionalViewProps, propsFromPickerValue, {
156
+ const rendererProps = (0, _extends2.default)({}, propsToForwardToView, {
155
157
  views,
156
158
  timezone,
159
+ value,
157
160
  onChange: setValueAndGoToNextView,
158
161
  view: popperView,
159
162
  onViewChange: setView,
@@ -162,8 +165,12 @@ const usePickerViews = ({
162
165
  showViewSwitcher: timeViewsCount > 1,
163
166
  timeViewsCount
164
167
  });
165
- if (rendererInterceptor) {
166
- return rendererInterceptor(viewRenderers, popperView, rendererProps);
168
+ if (RendererInterceptor) {
169
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(RendererInterceptor, {
170
+ viewRenderers: viewRenderers,
171
+ popperView: popperView,
172
+ rendererProps: rendererProps
173
+ });
167
174
  }
168
175
  return renderer(rendererProps);
169
176
  }
@@ -47,20 +47,17 @@ const useStaticPicker = _ref => {
47
47
  autoFocus
48
48
  } = props;
49
49
  const {
50
- layoutProps,
51
50
  providerProps,
52
51
  renderCurrentView
53
52
  } = (0, _usePicker.usePicker)((0, _extends2.default)({}, pickerParams, {
54
53
  props,
55
54
  autoFocusView: autoFocus ?? false,
56
- fieldRef: undefined,
57
55
  localeText,
58
- additionalViewProps: {},
59
56
  variant: displayStaticWrapperAs
60
57
  }));
61
58
  const Layout = slots?.layout ?? PickerStaticLayout;
62
59
  const renderPicker = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_PickerProvider.PickerProvider, (0, _extends2.default)({}, providerProps, {
63
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, layoutProps, slotProps?.layout, {
60
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, (0, _extends2.default)({}, slotProps?.layout, {
64
61
  slots: slots,
65
62
  slotProps: slotProps,
66
63
  sx: [...(Array.isArray(sx) ? sx : [sx]), ...(Array.isArray(slotProps?.layout?.sx) ? slotProps.layout.sx : [slotProps?.layout?.sx])],
@@ -30,7 +30,7 @@ const useDefaultDates = () => useLocalizationContext().defaultDates;
30
30
  exports.useDefaultDates = useDefaultDates;
31
31
  const useNow = timezone => {
32
32
  const utils = useUtils();
33
- const now = React.useRef();
33
+ const now = React.useRef(undefined);
34
34
  if (now.current === undefined) {
35
35
  now.current = utils.date(undefined, timezone);
36
36
  }
@@ -21,10 +21,10 @@ Object.defineProperty(exports, "DIALOG_WIDTH", {
21
21
  return _dimensions.DIALOG_WIDTH;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "DateTimePickerToolbarForceDesktopVariant", {
24
+ Object.defineProperty(exports, "DateTimePickerToolbarOverrideContext", {
25
25
  enumerable: true,
26
26
  get: function () {
27
- return _DateTimePickerToolbar.DateTimePickerToolbarForceDesktopVariant;
27
+ return _DateTimePickerToolbar.DateTimePickerToolbarOverrideContext;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "DayCalendar", {
@@ -129,12 +129,30 @@ Object.defineProperty(exports, "getActiveElement", {
129
129
  return _utils.getActiveElement;
130
130
  }
131
131
  });
132
+ Object.defineProperty(exports, "getDateFieldInternalPropsDefaults", {
133
+ enumerable: true,
134
+ get: function () {
135
+ return _useDateManager.getDateFieldInternalPropsDefaults;
136
+ }
137
+ });
138
+ Object.defineProperty(exports, "getDateTimeFieldInternalPropsDefaults", {
139
+ enumerable: true,
140
+ get: function () {
141
+ return _useDateTimeManager.getDateTimeFieldInternalPropsDefaults;
142
+ }
143
+ });
132
144
  Object.defineProperty(exports, "getDefaultReferenceDate", {
133
145
  enumerable: true,
134
146
  get: function () {
135
147
  return _getDefaultReferenceDate.getDefaultReferenceDate;
136
148
  }
137
149
  });
150
+ Object.defineProperty(exports, "getTimeFieldInternalPropsDefaults", {
151
+ enumerable: true,
152
+ get: function () {
153
+ return _useTimeManager.getTimeFieldInternalPropsDefaults;
154
+ }
155
+ });
138
156
  Object.defineProperty(exports, "getTodayDate", {
139
157
  enumerable: true,
140
158
  get: function () {
@@ -243,28 +261,16 @@ Object.defineProperty(exports, "useDefaultReduceAnimations", {
243
261
  return _useDefaultReduceAnimations.useDefaultReduceAnimations;
244
262
  }
245
263
  });
246
- Object.defineProperty(exports, "useDefaultizedDateField", {
247
- enumerable: true,
248
- get: function () {
249
- return _defaultizedFieldProps.useDefaultizedDateField;
250
- }
251
- });
252
- Object.defineProperty(exports, "useDefaultizedDateTimeField", {
253
- enumerable: true,
254
- get: function () {
255
- return _defaultizedFieldProps.useDefaultizedDateTimeField;
256
- }
257
- });
258
- Object.defineProperty(exports, "useDefaultizedTimeField", {
264
+ Object.defineProperty(exports, "useField", {
259
265
  enumerable: true,
260
266
  get: function () {
261
- return _defaultizedFieldProps.useDefaultizedTimeField;
267
+ return _useField.useField;
262
268
  }
263
269
  });
264
- Object.defineProperty(exports, "useField", {
270
+ Object.defineProperty(exports, "useFieldInternalPropsWithDefaults", {
265
271
  enumerable: true,
266
272
  get: function () {
267
- return _useField.useField;
273
+ return _useField.useFieldInternalPropsWithDefaults;
268
274
  }
269
275
  });
270
276
  Object.defineProperty(exports, "useFieldOwnerState", {
@@ -360,10 +366,12 @@ var _dateUtils = require("./utils/date-utils");
360
366
  var _dateTimeUtils = require("./utils/date-time-utils");
361
367
  var _getDefaultReferenceDate = require("./utils/getDefaultReferenceDate");
362
368
  var _utils = require("./utils/utils");
363
- var _defaultizedFieldProps = require("./hooks/defaultizedFieldProps");
364
369
  var _useDefaultReduceAnimations = require("./hooks/useDefaultReduceAnimations");
365
370
  var _views = require("./utils/views");
366
371
  var _DayCalendar = require("../DateCalendar/DayCalendar");
367
372
  var _useCalendarState = require("../DateCalendar/useCalendarState");
368
373
  var _timeUtils = require("./utils/time-utils");
369
- var _DateTimePickerToolbar = require("../DateTimePicker/DateTimePickerToolbar");
374
+ var _DateTimePickerToolbar = require("../DateTimePicker/DateTimePickerToolbar");
375
+ var _useDateManager = require("../managers/useDateManager");
376
+ var _useTimeManager = require("../managers/useTimeManager");
377
+ var _useDateTimeManager = require("../managers/useDateTimeManager");
@@ -46,4 +46,15 @@ Object.keys(_formProps).forEach(function (key) {
46
46
  return _formProps[key];
47
47
  }
48
48
  });
49
+ });
50
+ var _manager = require("./manager");
51
+ Object.keys(_manager).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _manager[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _manager[key];
58
+ }
59
+ });
49
60
  });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -66,7 +66,7 @@ const findClosestEnabledDate = ({
66
66
  return null;
67
67
  };
68
68
  exports.findClosestEnabledDate = findClosestEnabledDate;
69
- const replaceInvalidDateByNull = (utils, value) => value == null || !utils.isValid(value) ? null : value;
69
+ const replaceInvalidDateByNull = (utils, value) => !utils.isValid(value) ? null : value;
70
70
  exports.replaceInvalidDateByNull = replaceInvalidDateByNull;
71
71
  const applyDefaultDate = (utils, value, defaultValue) => {
72
72
  if (value == null || !utils.isValid(value)) {
@@ -19,7 +19,7 @@ const singleItemValueManager = exports.singleItemValueManager = {
19
19
  referenceDate
20
20
  } = _ref,
21
21
  params = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
22
- if (value != null && params.utils.isValid(value)) {
22
+ if (params.utils.isValid(value)) {
23
23
  return value;
24
24
  }
25
25
  if (referenceDate != null) {
@@ -32,11 +32,11 @@ const singleItemValueManager = exports.singleItemValueManager = {
32
32
  isSameError: (a, b) => a === b,
33
33
  hasError: error => error != null,
34
34
  defaultErrorState: null,
35
- getTimezone: (utils, value) => value == null || !utils.isValid(value) ? null : utils.getTimezone(value),
35
+ getTimezone: (utils, value) => utils.isValid(value) ? utils.getTimezone(value) : null,
36
36
  setTimezone: (utils, timezone, value) => value == null ? null : utils.setTimezone(value, timezone)
37
37
  };
38
38
  const singleItemFieldValueManager = exports.singleItemFieldValueManager = {
39
- updateReferenceValue: (utils, value, prevReferenceValue) => value == null || !utils.isValid(value) ? prevReferenceValue : value,
39
+ updateReferenceValue: (utils, value, prevReferenceValue) => !utils.isValid(value) ? prevReferenceValue : value,
40
40
  getSectionsFromValue: (utils, date, prevSections, getSectionsFromDate) => {
41
41
  const shouldReUsePrevDateSections = !utils.isValid(date) && !!prevSections;
42
42
  if (shouldReUsePrevDateSections) {
@@ -52,7 +52,7 @@ const singleItemFieldValueManager = exports.singleItemFieldValueManager = {
52
52
  getSections: sections => sections,
53
53
  getNewValuesFromNewActiveDate: newActiveDate => ({
54
54
  value: newActiveDate,
55
- referenceValue: newActiveDate == null || !utils.isValid(newActiveDate) ? state.referenceValue : newActiveDate
55
+ referenceValue: utils.isValid(newActiveDate) ? newActiveDate : state.referenceValue
56
56
  })
57
57
  }),
58
58
  parseValueStr: (valueStr, referenceValue, parseDate) => parseDate(valueStr.trim(), referenceValue)
@@ -421,6 +421,17 @@ Object.keys(_zhHK).forEach(function (key) {
421
421
  }
422
422
  });
423
423
  });
424
+ var _zhTW = require("./zhTW");
425
+ Object.keys(_zhTW).forEach(function (key) {
426
+ if (key === "default" || key === "__esModule") return;
427
+ if (key in exports && exports[key] === _zhTW[key]) return;
428
+ Object.defineProperty(exports, key, {
429
+ enumerable: true,
430
+ get: function () {
431
+ return _zhTW[key];
432
+ }
433
+ });
434
+ });
424
435
  var _pickersLocaleTextApi = require("./utils/pickersLocaleTextApi");
425
436
  Object.keys(_pickersLocaleTextApi).forEach(function (key) {
426
437
  if (key === "default" || key === "__esModule") return;