@mui/x-date-pickers 8.0.0-alpha.12 → 8.0.0-alpha.14

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 (299) hide show
  1. package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
  2. package/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +96 -94
  3. package/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
  4. package/AdapterDateFnsV2/AdapterDateFnsV2.js +96 -94
  5. package/AdapterDayjs/AdapterDayjs.js +11 -5
  6. package/CHANGELOG.md +430 -0
  7. package/DateCalendar/DateCalendar.js +1 -1
  8. package/DateField/useDateField.d.ts +1 -1
  9. package/DatePicker/DatePicker.types.d.ts +2 -2
  10. package/DatePicker/shared.d.ts +1 -1
  11. package/DateTimeField/useDateTimeField.d.ts +1 -1
  12. package/DateTimePicker/DateTimePicker.types.d.ts +3 -3
  13. package/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
  14. package/DateTimePicker/DateTimePickerToolbar.js +1 -1
  15. package/DateTimePicker/shared.d.ts +18 -10
  16. package/DateTimePicker/shared.js +23 -2
  17. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -11
  18. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
  19. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  20. package/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
  21. package/MobileDateTimePicker/MobileDateTimePicker.js +61 -6
  22. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
  23. package/PickersTextField/PickersTextField.js +3 -1
  24. package/StaticDateTimePicker/StaticDateTimePicker.js +60 -6
  25. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
  26. package/TimeClock/Clock.js +2 -2
  27. package/TimeClock/ClockPointer.js +1 -1
  28. package/TimeField/useTimeField.d.ts +1 -1
  29. package/TimePicker/TimePicker.types.d.ts +2 -2
  30. package/TimePicker/shared.d.ts +1 -1
  31. package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
  32. package/esm/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +47 -45
  33. package/esm/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
  34. package/esm/AdapterDateFnsV2/AdapterDateFnsV2.js +47 -45
  35. package/esm/AdapterDayjs/AdapterDayjs.js +9 -5
  36. package/esm/DateCalendar/DateCalendar.js +1 -1
  37. package/esm/DateField/useDateField.d.ts +1 -1
  38. package/esm/DatePicker/DatePicker.types.d.ts +2 -2
  39. package/esm/DatePicker/shared.d.ts +1 -1
  40. package/esm/DateTimeField/useDateTimeField.d.ts +1 -1
  41. package/esm/DateTimePicker/DateTimePicker.types.d.ts +3 -3
  42. package/esm/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
  43. package/esm/DateTimePicker/DateTimePickerToolbar.js +1 -1
  44. package/esm/DateTimePicker/shared.d.ts +18 -10
  45. package/esm/DateTimePicker/shared.js +23 -2
  46. package/esm/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -12
  47. package/esm/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
  48. package/esm/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  49. package/esm/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
  50. package/esm/MobileDateTimePicker/MobileDateTimePicker.js +62 -7
  51. package/esm/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
  52. package/esm/PickersTextField/PickersTextField.js +3 -1
  53. package/esm/StaticDateTimePicker/StaticDateTimePicker.js +61 -7
  54. package/esm/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
  55. package/esm/TimeClock/Clock.js +2 -2
  56. package/esm/TimeClock/ClockPointer.js +1 -1
  57. package/esm/TimeField/useTimeField.d.ts +1 -1
  58. package/esm/TimePicker/TimePicker.types.d.ts +2 -2
  59. package/esm/TimePicker/shared.d.ts +1 -1
  60. package/esm/hooks/useSplitFieldProps.d.ts +1 -1
  61. package/esm/hooks/useSplitFieldProps.js +1 -1
  62. package/esm/index.js +1 -1
  63. package/esm/internals/components/PickerFieldUI.d.ts +7 -0
  64. package/esm/internals/components/PickerFieldUI.js +8 -4
  65. package/esm/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
  66. package/esm/internals/components/PickerPopper/PickerPopper.js +26 -14
  67. package/esm/internals/components/PickerProvider.d.ts +158 -7
  68. package/esm/internals/components/PickerProvider.js +7 -2
  69. package/esm/internals/demo/DemoContainer.js +3 -3
  70. package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
  71. package/esm/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -12
  72. package/esm/internals/hooks/useField/index.d.ts +1 -2
  73. package/esm/internals/hooks/useField/useField.js +7 -8
  74. package/esm/internals/hooks/useField/useField.types.d.ts +56 -47
  75. package/esm/internals/hooks/useField/useField.utils.js +4 -1
  76. package/esm/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
  77. package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
  78. package/esm/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -8
  79. package/esm/internals/hooks/useField/useFieldState.d.ts +2 -1
  80. package/esm/internals/hooks/useField/useFieldState.js +136 -83
  81. package/esm/internals/hooks/useField/useFieldV6TextField.js +9 -7
  82. package/esm/internals/hooks/useField/useFieldV7TextField.js +9 -8
  83. package/esm/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
  84. package/esm/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
  85. package/esm/internals/hooks/useNullableFieldPrivateContext.d.ts +9 -0
  86. package/esm/internals/hooks/useNullableFieldPrivateContext.js +5 -0
  87. package/esm/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
  88. package/esm/internals/hooks/usePicker/hooks/useOrientation.js +34 -0
  89. package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
  90. package/esm/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +210 -0
  91. package/esm/internals/hooks/usePicker/index.d.ts +1 -3
  92. package/esm/internals/hooks/usePicker/usePicker.d.ts +5 -5
  93. package/esm/internals/hooks/usePicker/usePicker.js +276 -34
  94. package/esm/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
  95. package/esm/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
  96. package/esm/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
  97. package/esm/internals/hooks/useValueWithTimezone.d.ts +1 -1
  98. package/esm/internals/index.d.ts +7 -9
  99. package/esm/internals/index.js +2 -1
  100. package/esm/internals/models/fields.d.ts +3 -10
  101. package/esm/internals/models/manager.d.ts +108 -4
  102. package/esm/internals/models/props/basePickerProps.d.ts +2 -2
  103. package/esm/internals/models/props/time.d.ts +1 -1
  104. package/esm/internals/utils/date-time-utils.d.ts +2 -2
  105. package/esm/internals/utils/valueManagers.d.ts +1 -1
  106. package/esm/internals/utils/valueManagers.js +10 -18
  107. package/esm/locales/bnBD.d.ts +80 -0
  108. package/esm/locales/bnBD.js +73 -0
  109. package/esm/locales/index.d.ts +1 -0
  110. package/esm/locales/index.js +1 -0
  111. package/esm/managers/useDateManager.d.ts +3 -4
  112. package/esm/managers/useDateTimeManager.d.ts +3 -4
  113. package/esm/managers/useTimeManager.d.ts +3 -4
  114. package/esm/models/adapters.d.ts +2 -1
  115. package/esm/models/fields.d.ts +2 -2
  116. package/esm/models/manager.d.ts +4 -5
  117. package/esm/validation/extractValidationProps.d.ts +1 -1
  118. package/esm/validation/index.d.ts +1 -1
  119. package/esm/validation/useValidation.d.ts +2 -2
  120. package/hooks/useSplitFieldProps.d.ts +1 -1
  121. package/hooks/useSplitFieldProps.js +1 -1
  122. package/index.js +1 -1
  123. package/internals/components/PickerFieldUI.d.ts +7 -0
  124. package/internals/components/PickerFieldUI.js +9 -3
  125. package/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
  126. package/internals/components/PickerPopper/PickerPopper.js +25 -13
  127. package/internals/components/PickerProvider.d.ts +158 -7
  128. package/internals/components/PickerProvider.js +8 -3
  129. package/internals/demo/DemoContainer.js +3 -3
  130. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
  131. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -12
  132. package/internals/hooks/useField/index.d.ts +1 -2
  133. package/internals/hooks/useField/useField.js +7 -8
  134. package/internals/hooks/useField/useField.types.d.ts +56 -47
  135. package/internals/hooks/useField/useField.utils.js +4 -1
  136. package/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
  137. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
  138. package/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -10
  139. package/internals/hooks/useField/useFieldState.d.ts +2 -1
  140. package/internals/hooks/useField/useFieldState.js +135 -82
  141. package/internals/hooks/useField/useFieldV6TextField.js +9 -7
  142. package/internals/hooks/useField/useFieldV7TextField.js +9 -8
  143. package/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
  144. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
  145. package/internals/hooks/useNullableFieldPrivateContext.d.ts +9 -0
  146. package/internals/hooks/useNullableFieldPrivateContext.js +13 -0
  147. package/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
  148. package/internals/hooks/usePicker/hooks/useOrientation.js +42 -0
  149. package/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
  150. package/internals/hooks/usePicker/{usePickerValue.js → hooks/useValueAndOpenStates.js} +97 -114
  151. package/internals/hooks/usePicker/index.d.ts +1 -3
  152. package/internals/hooks/usePicker/usePicker.d.ts +5 -5
  153. package/internals/hooks/usePicker/usePicker.js +278 -34
  154. package/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
  155. package/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
  156. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
  157. package/internals/hooks/useValueWithTimezone.d.ts +1 -1
  158. package/internals/index.d.ts +7 -9
  159. package/internals/index.js +19 -0
  160. package/internals/models/fields.d.ts +3 -10
  161. package/internals/models/manager.d.ts +108 -4
  162. package/internals/models/props/basePickerProps.d.ts +2 -2
  163. package/internals/models/props/time.d.ts +1 -1
  164. package/internals/utils/date-time-utils.d.ts +2 -2
  165. package/internals/utils/valueManagers.d.ts +1 -1
  166. package/internals/utils/valueManagers.js +10 -18
  167. package/locales/bnBD.d.ts +80 -0
  168. package/locales/bnBD.js +79 -0
  169. package/locales/index.d.ts +1 -0
  170. package/locales/index.js +11 -0
  171. package/managers/useDateManager.d.ts +3 -4
  172. package/managers/useDateTimeManager.d.ts +3 -4
  173. package/managers/useTimeManager.d.ts +3 -4
  174. package/models/adapters.d.ts +2 -1
  175. package/models/fields.d.ts +2 -2
  176. package/models/manager.d.ts +4 -5
  177. package/modern/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.d.ts +1 -1
  178. package/modern/AdapterDateFnsJalaliV2/AdapterDateFnsJalaliV2.js +47 -45
  179. package/modern/AdapterDateFnsV2/AdapterDateFnsV2.d.ts +1 -1
  180. package/modern/AdapterDateFnsV2/AdapterDateFnsV2.js +47 -45
  181. package/modern/AdapterDayjs/AdapterDayjs.js +9 -5
  182. package/modern/DateCalendar/DateCalendar.js +1 -1
  183. package/modern/DateField/useDateField.d.ts +1 -1
  184. package/modern/DatePicker/DatePicker.types.d.ts +2 -2
  185. package/modern/DatePicker/shared.d.ts +1 -1
  186. package/modern/DateTimeField/useDateTimeField.d.ts +1 -1
  187. package/modern/DateTimePicker/DateTimePicker.types.d.ts +3 -3
  188. package/modern/DateTimePicker/DateTimePickerToolbar.d.ts +1 -1
  189. package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -1
  190. package/modern/DateTimePicker/shared.d.ts +18 -10
  191. package/modern/DateTimePicker/shared.js +23 -2
  192. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -12
  193. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +4 -7
  194. package/modern/DesktopTimePicker/DesktopTimePicker.types.d.ts +2 -2
  195. package/modern/MobileDateTimePicker/MobileDateTimePicker.d.ts +1 -2
  196. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +62 -7
  197. package/modern/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +1 -3
  198. package/modern/PickersTextField/PickersTextField.js +3 -1
  199. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +61 -7
  200. package/modern/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -2
  201. package/modern/TimeClock/Clock.js +2 -2
  202. package/modern/TimeClock/ClockPointer.js +1 -1
  203. package/modern/TimeField/useTimeField.d.ts +1 -1
  204. package/modern/TimePicker/TimePicker.types.d.ts +2 -2
  205. package/modern/TimePicker/shared.d.ts +1 -1
  206. package/modern/hooks/useSplitFieldProps.d.ts +1 -1
  207. package/modern/hooks/useSplitFieldProps.js +1 -1
  208. package/modern/index.js +1 -1
  209. package/modern/internals/components/PickerFieldUI.d.ts +7 -0
  210. package/modern/internals/components/PickerFieldUI.js +8 -4
  211. package/modern/internals/components/PickerPopper/PickerPopper.d.ts +0 -3
  212. package/modern/internals/components/PickerPopper/PickerPopper.js +26 -14
  213. package/modern/internals/components/PickerProvider.d.ts +158 -7
  214. package/modern/internals/components/PickerProvider.js +7 -2
  215. package/modern/internals/demo/DemoContainer.js +3 -3
  216. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +5 -22
  217. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +4 -12
  218. package/modern/internals/hooks/useField/index.d.ts +1 -2
  219. package/modern/internals/hooks/useField/useField.js +7 -8
  220. package/modern/internals/hooks/useField/useField.types.d.ts +56 -47
  221. package/modern/internals/hooks/useField/useField.utils.js +4 -1
  222. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +2 -2
  223. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.d.ts +9 -9
  224. package/modern/internals/hooks/useField/useFieldInternalPropsWithDefaults.js +16 -8
  225. package/modern/internals/hooks/useField/useFieldState.d.ts +2 -1
  226. package/modern/internals/hooks/useField/useFieldState.js +136 -83
  227. package/modern/internals/hooks/useField/useFieldV6TextField.js +9 -7
  228. package/modern/internals/hooks/useField/useFieldV7TextField.js +9 -8
  229. package/modern/internals/hooks/useMobilePicker/useMobilePicker.js +5 -21
  230. package/modern/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +4 -7
  231. package/modern/internals/hooks/useNullableFieldPrivateContext.d.ts +9 -0
  232. package/modern/internals/hooks/useNullableFieldPrivateContext.js +5 -0
  233. package/modern/internals/hooks/usePicker/hooks/useOrientation.d.ts +2 -0
  234. package/modern/internals/hooks/usePicker/hooks/useOrientation.js +34 -0
  235. package/modern/internals/hooks/usePicker/hooks/useValueAndOpenStates.d.ts +19 -0
  236. package/modern/internals/hooks/usePicker/hooks/useValueAndOpenStates.js +210 -0
  237. package/modern/internals/hooks/usePicker/index.d.ts +1 -3
  238. package/modern/internals/hooks/usePicker/usePicker.d.ts +5 -5
  239. package/modern/internals/hooks/usePicker/usePicker.js +276 -34
  240. package/modern/internals/hooks/usePicker/usePicker.types.d.ts +181 -9
  241. package/modern/internals/hooks/useStaticPicker/useStaticPicker.js +3 -2
  242. package/modern/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +3 -4
  243. package/modern/internals/hooks/useValueWithTimezone.d.ts +1 -1
  244. package/modern/internals/index.d.ts +7 -9
  245. package/modern/internals/index.js +2 -1
  246. package/modern/internals/models/fields.d.ts +3 -10
  247. package/modern/internals/models/manager.d.ts +108 -4
  248. package/modern/internals/models/props/basePickerProps.d.ts +2 -2
  249. package/modern/internals/models/props/time.d.ts +1 -1
  250. package/modern/internals/utils/date-time-utils.d.ts +2 -2
  251. package/modern/internals/utils/valueManagers.d.ts +1 -1
  252. package/modern/internals/utils/valueManagers.js +10 -18
  253. package/modern/locales/bnBD.d.ts +80 -0
  254. package/modern/locales/bnBD.js +73 -0
  255. package/modern/locales/index.d.ts +1 -0
  256. package/modern/locales/index.js +1 -0
  257. package/modern/managers/useDateManager.d.ts +3 -4
  258. package/modern/managers/useDateTimeManager.d.ts +3 -4
  259. package/modern/managers/useTimeManager.d.ts +3 -4
  260. package/modern/models/adapters.d.ts +2 -1
  261. package/modern/models/fields.d.ts +2 -2
  262. package/modern/models/manager.d.ts +4 -5
  263. package/modern/validation/extractValidationProps.d.ts +1 -1
  264. package/modern/validation/index.d.ts +1 -1
  265. package/modern/validation/useValidation.d.ts +2 -2
  266. package/package.json +2 -2
  267. package/tsconfig.build.tsbuildinfo +1 -1
  268. package/validation/extractValidationProps.d.ts +1 -1
  269. package/validation/index.d.ts +1 -1
  270. package/validation/useValidation.d.ts +2 -2
  271. package/esm/internals/hooks/useOpenState.d.ts +0 -14
  272. package/esm/internals/hooks/useOpenState.js +0 -37
  273. package/esm/internals/hooks/usePicker/usePickerProvider.d.ts +0 -60
  274. package/esm/internals/hooks/usePicker/usePickerProvider.js +0 -111
  275. package/esm/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
  276. package/esm/internals/hooks/usePicker/usePickerValue.js +0 -226
  277. package/esm/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
  278. package/esm/internals/hooks/usePicker/usePickerValue.types.js +0 -1
  279. package/esm/internals/hooks/usePicker/usePickerViews.d.ts +0 -120
  280. package/esm/internals/hooks/usePicker/usePickerViews.js +0 -176
  281. package/internals/hooks/useOpenState.d.ts +0 -14
  282. package/internals/hooks/useOpenState.js +0 -46
  283. package/internals/hooks/usePicker/usePickerProvider.d.ts +0 -60
  284. package/internals/hooks/usePicker/usePickerProvider.js +0 -121
  285. package/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
  286. package/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
  287. package/internals/hooks/usePicker/usePickerValue.types.js +0 -5
  288. package/internals/hooks/usePicker/usePickerViews.d.ts +0 -120
  289. package/internals/hooks/usePicker/usePickerViews.js +0 -183
  290. package/modern/internals/hooks/useOpenState.d.ts +0 -14
  291. package/modern/internals/hooks/useOpenState.js +0 -37
  292. package/modern/internals/hooks/usePicker/usePickerProvider.d.ts +0 -60
  293. package/modern/internals/hooks/usePicker/usePickerProvider.js +0 -111
  294. package/modern/internals/hooks/usePicker/usePickerValue.d.ts +0 -12
  295. package/modern/internals/hooks/usePicker/usePickerValue.js +0 -226
  296. package/modern/internals/hooks/usePicker/usePickerValue.types.d.ts +0 -327
  297. package/modern/internals/hooks/usePicker/usePickerValue.types.js +0 -1
  298. package/modern/internals/hooks/usePicker/usePickerViews.d.ts +0 -120
  299. package/modern/internals/hooks/usePicker/usePickerViews.js +0 -176
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PickerFieldPrivateContext = void 0;
8
+ exports.useNullableFieldPrivateContext = useNullableFieldPrivateContext;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ const PickerFieldPrivateContext = exports.PickerFieldPrivateContext = /*#__PURE__*/React.createContext(null);
11
+ function useNullableFieldPrivateContext() {
12
+ return React.useContext(PickerFieldPrivateContext);
13
+ }
@@ -0,0 +1,2 @@
1
+ import { DateOrTimeViewWithMeridiem, PickerOrientation } from "../../../models/index.js";
2
+ export declare function useOrientation(views: readonly DateOrTimeViewWithMeridiem[], customOrientation: PickerOrientation | undefined): PickerOrientation;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useOrientation = useOrientation;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
11
+ var _utils = require("../../../utils/utils");
12
+ function getOrientation() {
13
+ if (typeof window === 'undefined') {
14
+ return 'portrait';
15
+ }
16
+ if (window.screen && window.screen.orientation && window.screen.orientation.angle) {
17
+ return Math.abs(window.screen.orientation.angle) === 90 ? 'landscape' : 'portrait';
18
+ }
19
+
20
+ // Support IOS safari
21
+ if (window.orientation) {
22
+ return Math.abs(Number(window.orientation)) === 90 ? 'landscape' : 'portrait';
23
+ }
24
+ return 'portrait';
25
+ }
26
+ function useOrientation(views, customOrientation) {
27
+ const [orientation, setOrientation] = React.useState(getOrientation);
28
+ (0, _useEnhancedEffect.default)(() => {
29
+ const eventHandler = () => {
30
+ setOrientation(getOrientation());
31
+ };
32
+ window.addEventListener('orientationchange', eventHandler);
33
+ return () => {
34
+ window.removeEventListener('orientationchange', eventHandler);
35
+ };
36
+ }, []);
37
+ if ((0, _utils.arrayIncludes)(views, ['hours', 'minutes', 'seconds'])) {
38
+ // could not display 13:34:44 in landscape mode
39
+ return 'portrait';
40
+ }
41
+ return customOrientation ?? orientation;
42
+ }
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { DateOrTimeViewWithMeridiem, PickerValidValue, PickerValueManager } from "../../../models/index.js";
3
+ import { PickerSelectionState, UsePickerProps, UsePickerState } from "../usePicker.types.js";
4
+ import { InferError } from "../../../../models/index.js";
5
+ import { SetValueActionOptions } from "../../../components/PickerProvider.js";
6
+ import { Validator } from "../../../../validation/index.js";
7
+ export declare function useValueAndOpenStates<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerProps<TValue, TView, any, any>>(parameters: UsePickerDateStateParameters<TValue, TView, TExternalProps>): {
8
+ timezone: string;
9
+ state: UsePickerState<TValue>;
10
+ setValue: (newValue: TValue, options?: SetValueActionOptions<InferError<TExternalProps>>) => void;
11
+ setValueFromView: (newValue: TValue, selectionState?: PickerSelectionState) => void;
12
+ setOpen: (action: React.SetStateAction<boolean>) => void;
13
+ };
14
+ interface UsePickerDateStateParameters<TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerProps<TValue, TView, any, any>> {
15
+ props: TExternalProps;
16
+ valueManager: PickerValueManager<TValue, InferError<TExternalProps>>;
17
+ validator: Validator<TValue, InferError<TExternalProps>, TExternalProps>;
18
+ }
19
+ export {};
@@ -5,108 +5,126 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.usePickerValue = void 0;
8
+ exports.useValueAndOpenStates = useValueAndOpenStates;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
+ var _warning = require("@mui/x-internals/warning");
11
12
  var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallback"));
12
- var _useOpenState = require("../useOpenState");
13
- var _useUtils = require("../useUtils");
14
- var _validation = require("../../../validation");
15
- var _useValueWithTimezone = require("../useValueWithTimezone");
16
- /**
17
- * Manage the value lifecycle of all the pickers.
18
- */
19
- const usePickerValue = ({
20
- props,
21
- valueManager,
22
- valueType,
23
- validator
24
- }) => {
13
+ var _useValueWithTimezone = require("../../useValueWithTimezone");
14
+ var _useUtils = require("../../useUtils");
15
+ var _validation = require("../../../../validation");
16
+ function useValueAndOpenStates(parameters) {
25
17
  const {
26
- onAccept,
18
+ props,
19
+ valueManager,
20
+ validator
21
+ } = parameters;
22
+ const {
23
+ value: valueProp,
24
+ defaultValue: defaultValueProp,
27
25
  onChange,
28
- value: inValueWithoutRenderTimezone,
29
- defaultValue: inDefaultValue,
30
- closeOnSelect = false,
26
+ referenceDate,
31
27
  timezone: timezoneProp,
32
- referenceDate
28
+ onAccept,
29
+ closeOnSelect,
30
+ open: openProp,
31
+ onOpen,
32
+ onClose
33
33
  } = props;
34
34
  const {
35
35
  current: defaultValue
36
- } = React.useRef(inDefaultValue);
36
+ } = React.useRef(defaultValueProp);
37
+ const {
38
+ current: isValueControlled
39
+ } = React.useRef(valueProp !== undefined);
37
40
  const {
38
- current: isControlled
39
- } = React.useRef(inValueWithoutRenderTimezone !== undefined);
41
+ current: isOpenControlled
42
+ } = React.useRef(openProp !== undefined);
40
43
  const [previousTimezoneProp, setPreviousTimezoneProp] = React.useState(timezoneProp);
44
+ const utils = (0, _useUtils.useUtils)();
45
+ if (process.env.NODE_ENV !== 'production') {
46
+ if (props.renderInput != null) {
47
+ (0, _warning.warnOnce)(['MUI X: The `renderInput` prop has been removed in version 6.0 of the Date and Time Pickers.', 'You can replace it with the `textField` component slot in most cases.', 'For more information, please have a look at the migration guide (https://mui.com/x/migration/migration-pickers-v5/#input-renderer-required-in-v5).']);
48
+ }
49
+ }
41
50
 
42
51
  /* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
43
52
  if (process.env.NODE_ENV !== 'production') {
44
53
  React.useEffect(() => {
45
- if (isControlled !== (inValueWithoutRenderTimezone !== undefined)) {
46
- console.error([`MUI X: A component is changing the ${isControlled ? '' : 'un'}controlled value of a picker to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled value` + 'for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
54
+ if (isValueControlled !== (valueProp !== undefined)) {
55
+ console.error([`MUI X: A component is changing the ${isValueControlled ? '' : 'un'}controlled value of a picker to be ${isValueControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled value` + 'for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
47
56
  }
48
- }, [inValueWithoutRenderTimezone]);
57
+ }, [valueProp]);
49
58
  React.useEffect(() => {
50
- if (!isControlled && defaultValue !== inDefaultValue) {
59
+ if (!isValueControlled && defaultValue !== defaultValueProp) {
51
60
  console.error([`MUI X: A component is changing the defaultValue of an uncontrolled picker after being initialized. ` + `To suppress this warning opt to use a controlled value.`].join('\n'));
52
61
  }
53
62
  }, [JSON.stringify(defaultValue)]);
54
63
  }
55
64
  /* eslint-enable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
56
65
 
57
- const utils = (0, _useUtils.useUtils)();
58
- const adapter = (0, _useUtils.useLocalizationContext)();
59
- const {
60
- open,
61
- setOpen
62
- } = (0, _useOpenState.useOpenState)(props);
63
66
  const {
64
67
  timezone,
65
- value: inValueWithTimezoneToRender,
68
+ value: valuePropWithTimezoneToRender,
66
69
  handleValueChange
67
70
  } = (0, _useValueWithTimezone.useValueWithTimezone)({
68
71
  timezone: timezoneProp,
69
- value: inValueWithoutRenderTimezone,
72
+ value: valueProp,
70
73
  defaultValue,
71
74
  referenceDate,
72
75
  onChange,
73
76
  valueManager
74
77
  });
75
- const [dateState, setDateState] = React.useState(() => {
78
+ const [state, setState] = React.useState(() => {
76
79
  let initialValue;
77
- if (inValueWithTimezoneToRender !== undefined) {
78
- initialValue = inValueWithTimezoneToRender;
80
+ if (valuePropWithTimezoneToRender !== undefined) {
81
+ initialValue = valuePropWithTimezoneToRender;
79
82
  } else if (defaultValue !== undefined) {
80
83
  initialValue = defaultValue;
81
84
  } else {
82
85
  initialValue = valueManager.emptyValue;
83
86
  }
84
87
  return {
88
+ open: false,
85
89
  draft: initialValue,
86
90
  lastPublishedValue: initialValue,
87
91
  lastCommittedValue: initialValue,
88
- lastControlledValue: inValueWithoutRenderTimezone,
92
+ lastControlledValue: valueProp,
89
93
  hasBeenModifiedSinceMount: false
90
94
  };
91
95
  });
92
- const timezoneFromDraftValue = valueManager.getTimezone(utils, dateState.draft);
93
- if (previousTimezoneProp !== timezoneProp) {
94
- setPreviousTimezoneProp(timezoneProp);
95
- if (timezoneProp && timezoneFromDraftValue && timezoneProp !== timezoneFromDraftValue) {
96
- setDateState(prev => (0, _extends2.default)({}, prev, {
97
- draft: valueManager.setTimezone(utils, timezoneProp, prev.draft)
98
- }));
99
- }
100
- }
101
96
  const {
102
97
  getValidationErrorForNewValue
103
98
  } = (0, _validation.useValidation)({
104
99
  props,
105
100
  validator,
106
101
  timezone,
107
- value: dateState.draft,
102
+ value: state.draft,
108
103
  onError: props.onError
109
104
  });
105
+ const timezoneFromDraftValue = valueManager.getTimezone(utils, state.draft);
106
+ if (previousTimezoneProp !== timezoneProp) {
107
+ setPreviousTimezoneProp(timezoneProp);
108
+ if (timezoneProp && timezoneFromDraftValue && timezoneProp !== timezoneFromDraftValue) {
109
+ setState(prev => (0, _extends2.default)({}, prev, {
110
+ draft: valueManager.setTimezone(utils, timezoneProp, prev.draft)
111
+ }));
112
+ }
113
+ }
114
+ const setOpen = (0, _useEventCallback.default)(action => {
115
+ const newOpen = typeof action === 'function' ? action(state.open) : action;
116
+ if (!isOpenControlled) {
117
+ setState(prevState => (0, _extends2.default)({}, prevState, {
118
+ open: newOpen
119
+ }));
120
+ }
121
+ if (newOpen && onOpen) {
122
+ onOpen();
123
+ }
124
+ if (!newOpen && onClose) {
125
+ onClose();
126
+ }
127
+ });
110
128
  const setValue = (0, _useEventCallback.default)((newValue, options) => {
111
129
  const {
112
130
  changeImportance = 'accept',
@@ -117,16 +135,16 @@ const usePickerValue = ({
117
135
  } = options ?? {};
118
136
  let shouldPublish;
119
137
  let shouldCommit;
120
- if (!skipPublicationIfPristine && !isControlled && !dateState.hasBeenModifiedSinceMount) {
138
+ if (!skipPublicationIfPristine && !isValueControlled && !state.hasBeenModifiedSinceMount) {
121
139
  // If the value is not controlled and the value has never been modified before,
122
140
  // Then clicking on any value (including the one equal to `defaultValue`) should call `onChange` and `onAccept`
123
141
  shouldPublish = true;
124
142
  shouldCommit = changeImportance === 'accept';
125
143
  } else {
126
- shouldPublish = !valueManager.areValuesEqual(utils, newValue, dateState.lastPublishedValue);
127
- shouldCommit = changeImportance === 'accept' && !valueManager.areValuesEqual(utils, newValue, dateState.lastCommittedValue);
144
+ shouldPublish = !valueManager.areValuesEqual(utils, newValue, state.lastPublishedValue);
145
+ shouldCommit = changeImportance === 'accept' && !valueManager.areValuesEqual(utils, newValue, state.lastCommittedValue);
128
146
  }
129
- setDateState(prev => (0, _extends2.default)({}, prev, {
147
+ setState(prev => (0, _extends2.default)({}, prev, {
130
148
  draft: newValue,
131
149
  lastPublishedValue: shouldPublish ? newValue : prev.lastPublishedValue,
132
150
  lastCommittedValue: shouldCommit ? newValue : prev.lastCommittedValue,
@@ -154,41 +172,21 @@ const usePickerValue = ({
154
172
  setOpen(false);
155
173
  }
156
174
  });
157
- if (dateState.lastControlledValue !== inValueWithoutRenderTimezone) {
158
- const isUpdateComingFromPicker = valueManager.areValuesEqual(utils, dateState.draft, inValueWithTimezoneToRender);
159
- setDateState(prev => (0, _extends2.default)({}, prev, {
160
- lastControlledValue: inValueWithoutRenderTimezone
175
+ if (state.lastControlledValue !== valueProp) {
176
+ const isUpdateComingFromPicker = valueManager.areValuesEqual(utils, state.draft, valuePropWithTimezoneToRender);
177
+ setState(prev => (0, _extends2.default)({}, prev, {
178
+ lastControlledValue: valueProp
161
179
  }, isUpdateComingFromPicker ? {} : {
162
- lastCommittedValue: inValueWithTimezoneToRender,
163
- lastPublishedValue: inValueWithTimezoneToRender,
164
- draft: inValueWithTimezoneToRender,
180
+ lastCommittedValue: valuePropWithTimezoneToRender,
181
+ lastPublishedValue: valuePropWithTimezoneToRender,
182
+ draft: valuePropWithTimezoneToRender,
165
183
  hasBeenModifiedSinceMount: true
166
184
  }));
167
185
  }
168
- const isValid = testedValue => {
169
- const error = validator({
170
- adapter,
171
- value: testedValue,
172
- timezone,
173
- props
174
- });
175
- return !valueManager.hasError(error);
176
- };
177
- const clearValue = (0, _useEventCallback.default)(() => setValue(valueManager.emptyValue));
178
- const setValueToToday = (0, _useEventCallback.default)(() => setValue(valueManager.getTodayValue(utils, timezone, valueType)));
179
- const acceptValueChanges = (0, _useEventCallback.default)(() => setValue(dateState.lastPublishedValue));
180
- const cancelValueChanges = (0, _useEventCallback.default)(() => setValue(dateState.lastCommittedValue, {
181
- skipPublicationIfPristine: true
182
- }));
183
- const dismissViews = (0, _useEventCallback.default)(() => {
184
- setValue(dateState.lastPublishedValue, {
185
- skipPublicationIfPristine: true
186
- });
187
- });
188
186
  const setValueFromView = (0, _useEventCallback.default)((newValue, selectionState = 'partial') => {
189
187
  // TODO: Expose a new method (private?) like `setView` that only updates the draft value.
190
188
  if (selectionState === 'shallow') {
191
- setDateState(prev => (0, _extends2.default)({}, prev, {
189
+ setState(prev => (0, _extends2.default)({}, prev, {
192
190
  draft: newValue,
193
191
  hasBeenModifiedSinceMount: true
194
192
  }));
@@ -197,39 +195,24 @@ const usePickerValue = ({
197
195
  changeImportance: selectionState === 'finish' && closeOnSelect ? 'accept' : 'set'
198
196
  });
199
197
  });
200
- const valueWithoutError = React.useMemo(() => valueManager.cleanValue(utils, dateState.draft), [utils, valueManager, dateState.draft]);
201
- const viewResponse = {
202
- value: valueWithoutError,
203
- onChange: setValueFromView,
204
- open,
205
- setOpen
206
- };
207
- const actionsContextValue = React.useMemo(() => ({
208
- setValue,
209
- setOpen,
210
- clearValue,
211
- setValueToToday,
212
- acceptValueChanges,
213
- cancelValueChanges
214
- }), [setValue, setOpen, clearValue, setValueToToday, acceptValueChanges, cancelValueChanges]);
215
- const contextValue = React.useMemo(() => (0, _extends2.default)({}, actionsContextValue, {
216
- value: dateState.draft,
217
- timezone,
218
- open
219
- }), [actionsContextValue, timezone, open, dateState.draft]);
220
- const privateContextValue = React.useMemo(() => ({
221
- dismissViews
222
- }), [dismissViews]);
223
- const providerParams = {
224
- value: dateState.draft,
225
- contextValue,
226
- actionsContextValue,
227
- privateContextValue,
228
- isValidContextValue: isValid
229
- };
198
+
199
+ // It is required to update inner state in useEffect in order to avoid situation when
200
+ // Our component is not mounted yet, but `open` state is set to `true` (for example initially opened)
201
+ React.useEffect(() => {
202
+ if (isOpenControlled) {
203
+ if (openProp === undefined) {
204
+ throw new Error('You must not mix controlling and uncontrolled mode for `open` prop');
205
+ }
206
+ setState(prevState => (0, _extends2.default)({}, prevState, {
207
+ open: openProp
208
+ }));
209
+ }
210
+ }, [isOpenControlled, openProp]);
230
211
  return {
231
- viewProps: viewResponse,
232
- provider: providerParams
212
+ timezone,
213
+ state,
214
+ setValue,
215
+ setValueFromView,
216
+ setOpen
233
217
  };
234
- };
235
- exports.usePickerValue = usePickerValue;
218
+ }
@@ -1,4 +1,2 @@
1
1
  export { usePicker } from "./usePicker.js";
2
- export type { UsePickerProps, UsePickerBaseProps, UsePickerParams } from './usePicker.types';
3
- export type { PickerValueManager, PickerSelectionState, UsePickerValueFieldResponse } from './usePickerValue.types';
4
- export type { PickerViewsRendererProps } from './usePickerViews';
2
+ export type { UsePickerProps, UsePickerBaseProps, UsePickerParameters, PickerSelectionState, PickerViewsRendererProps, PickerViewRendererLookup, PickerRendererInterceptorProps, PickerViewRenderer, UsePickerNonStaticProps } from './usePicker.types';
@@ -1,4 +1,4 @@
1
- import { UsePickerParams, UsePickerProps, UsePickerReturnValue } from "./usePicker.types.js";
1
+ import { UsePickerParameters, UsePickerProps, UsePickerReturnValue } from "./usePicker.types.js";
2
2
  import { DateOrTimeViewWithMeridiem, PickerValidValue } from "../../models/index.js";
3
3
  export declare const usePicker: <TValue extends PickerValidValue, TView extends DateOrTimeViewWithMeridiem, TExternalProps extends UsePickerProps<TValue, TView, any, any>>({
4
4
  ref,
@@ -8,7 +8,7 @@ export declare const usePicker: <TValue extends PickerValidValue, TView extends
8
8
  variant,
9
9
  validator,
10
10
  autoFocusView,
11
- rendererInterceptor,
12
- fieldRef,
13
- localeText
14
- }: UsePickerParams<TValue, TView, TExternalProps>) => UsePickerReturnValue<TValue>;
11
+ rendererInterceptor: RendererInterceptor,
12
+ localeText,
13
+ viewContainerRole
14
+ }: UsePickerParameters<TValue, TView, TExternalProps>) => UsePickerReturnValue<TValue>;