@mui/x-date-pickers 7.0.0-alpha.8 → 7.0.0-beta.0

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 (453) hide show
  1. package/AdapterLuxon/AdapterLuxon.d.ts +1 -1
  2. package/AdapterLuxon/AdapterLuxon.js +4 -12
  3. package/CHANGELOG.md +508 -30
  4. package/DatePicker/DatePicker.js +0 -3
  5. package/DatePicker/DatePickerToolbar.js +0 -3
  6. package/DateTimePicker/DateTimePicker.js +0 -3
  7. package/DateTimePicker/DateTimePickerTabs.js +7 -4
  8. package/DateTimePicker/DateTimePickerToolbar.d.ts +6 -1
  9. package/DateTimePicker/DateTimePickerToolbar.js +33 -20
  10. package/DesktopDatePicker/DesktopDatePicker.js +0 -3
  11. package/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -3
  12. package/DesktopTimePicker/DesktopTimePicker.js +0 -3
  13. package/MobileDatePicker/MobileDatePicker.js +0 -3
  14. package/MobileDateTimePicker/MobileDateTimePicker.js +0 -3
  15. package/MobileTimePicker/MobileTimePicker.js +0 -3
  16. package/MonthCalendar/MonthCalendar.js +0 -3
  17. package/MonthCalendar/MonthCalendar.types.d.ts +0 -3
  18. package/PickersCalendarHeader/PickersCalendarHeader.js +0 -3
  19. package/PickersCalendarHeader/PickersCalendarHeader.types.d.ts +0 -3
  20. package/PickersLayout/PickersLayout.types.d.ts +6 -5
  21. package/PickersLayout/pickersLayoutClasses.js +3 -2
  22. package/PickersLayout/usePickerLayout.d.ts +2 -2
  23. package/PickersLayout/usePickerLayout.js +2 -1
  24. package/PickersSectionList/PickersSectionList.js +6 -1
  25. package/PickersTextField/PickersFilledInput/PickersFilledInput.d.ts +11 -0
  26. package/{internals/components/PickersInput → PickersTextField/PickersFilledInput}/PickersFilledInput.js +98 -25
  27. package/PickersTextField/PickersFilledInput/index.d.ts +4 -0
  28. package/PickersTextField/PickersFilledInput/index.js +2 -0
  29. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.d.ts +23 -0
  30. package/PickersTextField/PickersFilledInput/pickersFilledInputClasses.js +8 -0
  31. package/PickersTextField/PickersInput/PickersInput.d.ts +10 -0
  32. package/PickersTextField/PickersInput/PickersInput.js +196 -0
  33. package/{internals/components → PickersTextField}/PickersInput/index.d.ts +2 -2
  34. package/PickersTextField/PickersInput/index.js +2 -0
  35. package/PickersTextField/PickersInput/pickersInputClasses.d.ts +22 -0
  36. package/PickersTextField/PickersInput/pickersInputClasses.js +8 -0
  37. package/PickersTextField/PickersInputBase/PickersInputBase.d.ts +16 -0
  38. package/{internals/components/PickersInput/PickersInput.js → PickersTextField/PickersInputBase/PickersInputBase.js} +106 -27
  39. package/{internals/components/PickersInput/PickersInput.types.d.ts → PickersTextField/PickersInputBase/PickersInputBase.types.d.ts} +3 -13
  40. package/PickersTextField/PickersInputBase/index.d.ts +4 -0
  41. package/PickersTextField/PickersInputBase/index.js +2 -0
  42. package/PickersTextField/PickersInputBase/pickersInputBaseClasses.d.ts +31 -0
  43. package/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +6 -0
  44. package/{internals/components/PickersInput → PickersTextField/PickersOutlinedInput}/Outline.d.ts +3 -0
  45. package/{modern/internals/components/PickersInput → PickersTextField/PickersOutlinedInput}/Outline.js +5 -1
  46. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.d.ts +10 -0
  47. package/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +190 -0
  48. package/PickersTextField/PickersOutlinedInput/index.d.ts +4 -0
  49. package/PickersTextField/PickersOutlinedInput/index.js +2 -0
  50. package/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.d.ts +22 -0
  51. package/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.js +8 -0
  52. package/PickersTextField/PickersTextField.d.ts +3 -0
  53. package/PickersTextField/PickersTextField.js +258 -0
  54. package/{internals/components/PickersTextField → PickersTextField}/PickersTextField.types.d.ts +5 -2
  55. package/PickersTextField/index.d.ts +8 -0
  56. package/PickersTextField/index.js +6 -0
  57. package/PickersTextField/package.json +6 -0
  58. package/README.md +3 -3
  59. package/StaticDatePicker/StaticDatePicker.js +0 -3
  60. package/StaticDateTimePicker/StaticDateTimePicker.js +0 -3
  61. package/StaticTimePicker/StaticTimePicker.js +0 -3
  62. package/TimeClock/TimeClock.js +3 -3
  63. package/TimePicker/TimePicker.js +0 -3
  64. package/TimePicker/TimePickerToolbar.js +0 -3
  65. package/YearCalendar/YearCalendar.js +0 -3
  66. package/YearCalendar/YearCalendar.types.d.ts +0 -3
  67. package/dateTimeViewRenderers/dateTimeViewRenderers.js +4 -4
  68. package/index.d.ts +2 -1
  69. package/index.js +3 -2
  70. package/internals/hooks/useField/useField.js +6 -4
  71. package/internals/hooks/useField/useField.types.d.ts +4 -2
  72. package/internals/hooks/useField/useField.utils.d.ts +19 -9
  73. package/internals/hooks/useField/useField.utils.js +68 -21
  74. package/internals/hooks/useField/useFieldCharacterEditing.d.ts +2 -1
  75. package/internals/hooks/useField/useFieldCharacterEditing.js +12 -8
  76. package/internals/hooks/useField/useFieldState.d.ts +1 -0
  77. package/internals/hooks/useField/useFieldState.js +9 -7
  78. package/internals/hooks/usePicker/usePicker.d.ts +1 -1
  79. package/internals/hooks/usePicker/usePicker.js +4 -2
  80. package/internals/hooks/usePicker/usePicker.types.d.ts +1 -1
  81. package/internals/hooks/usePicker/usePickerViews.d.ts +11 -2
  82. package/internals/hooks/usePicker/usePickerViews.js +8 -3
  83. package/internals/index.d.ts +4 -4
  84. package/internals/index.js +2 -2
  85. package/internals/models/props/basePickerProps.d.ts +0 -3
  86. package/internals/models/props/tabs.d.ts +2 -1
  87. package/internals/models/props/toolbar.d.ts +0 -3
  88. package/internals/utils/valueManagers.js +2 -2
  89. package/legacy/AdapterLuxon/AdapterLuxon.js +4 -12
  90. package/legacy/DatePicker/DatePicker.js +0 -3
  91. package/legacy/DatePicker/DatePickerToolbar.js +0 -3
  92. package/legacy/DateTimePicker/DateTimePicker.js +0 -3
  93. package/legacy/DateTimePicker/DateTimePickerTabs.js +7 -4
  94. package/legacy/DateTimePicker/DateTimePickerToolbar.js +43 -32
  95. package/legacy/DesktopDatePicker/DesktopDatePicker.js +0 -3
  96. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -3
  97. package/legacy/DesktopTimePicker/DesktopTimePicker.js +0 -3
  98. package/legacy/MobileDatePicker/MobileDatePicker.js +0 -3
  99. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +0 -3
  100. package/legacy/MobileTimePicker/MobileTimePicker.js +0 -3
  101. package/legacy/MonthCalendar/MonthCalendar.js +0 -3
  102. package/legacy/PickersCalendarHeader/PickersCalendarHeader.js +0 -3
  103. package/legacy/PickersLayout/pickersLayoutClasses.js +3 -2
  104. package/legacy/PickersLayout/usePickerLayout.js +2 -1
  105. package/legacy/PickersSectionList/PickersSectionList.js +6 -1
  106. package/legacy/{internals/components/PickersInput → PickersTextField/PickersFilledInput}/PickersFilledInput.js +99 -26
  107. package/legacy/PickersTextField/PickersFilledInput/index.js +2 -0
  108. package/legacy/PickersTextField/PickersFilledInput/pickersFilledInputClasses.js +8 -0
  109. package/legacy/PickersTextField/PickersInput/PickersInput.js +190 -0
  110. package/legacy/PickersTextField/PickersInput/index.js +2 -0
  111. package/legacy/PickersTextField/PickersInput/pickersInputClasses.js +8 -0
  112. package/legacy/{internals/components/PickersInput/PickersInput.js → PickersTextField/PickersInputBase/PickersInputBase.js} +106 -27
  113. package/legacy/PickersTextField/PickersInputBase/index.js +2 -0
  114. package/legacy/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +6 -0
  115. package/legacy/{internals/components/PickersInput → PickersTextField/PickersOutlinedInput}/Outline.js +7 -1
  116. package/legacy/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +183 -0
  117. package/legacy/PickersTextField/PickersOutlinedInput/index.js +2 -0
  118. package/legacy/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.js +8 -0
  119. package/legacy/{internals/components/PickersTextField → PickersTextField}/PickersTextField.js +128 -8
  120. package/legacy/PickersTextField/index.js +6 -0
  121. package/legacy/StaticDatePicker/StaticDatePicker.js +0 -3
  122. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +0 -3
  123. package/legacy/StaticTimePicker/StaticTimePicker.js +0 -3
  124. package/legacy/TimeClock/TimeClock.js +3 -3
  125. package/legacy/TimePicker/TimePicker.js +0 -3
  126. package/legacy/TimePicker/TimePickerToolbar.js +0 -3
  127. package/legacy/YearCalendar/YearCalendar.js +0 -3
  128. package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +5 -4
  129. package/legacy/index.js +3 -2
  130. package/legacy/internals/hooks/useField/useField.js +6 -4
  131. package/legacy/internals/hooks/useField/useField.utils.js +71 -20
  132. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +12 -8
  133. package/legacy/internals/hooks/useField/useFieldState.js +15 -11
  134. package/legacy/internals/hooks/usePicker/usePicker.js +4 -2
  135. package/legacy/internals/hooks/usePicker/usePickerViews.js +8 -3
  136. package/legacy/internals/index.js +2 -2
  137. package/legacy/internals/utils/valueManagers.js +2 -2
  138. package/legacy/locales/beBY.js +8 -3
  139. package/legacy/locales/caES.js +7 -2
  140. package/legacy/locales/csCZ.js +8 -3
  141. package/legacy/locales/daDK.js +8 -3
  142. package/legacy/locales/deDE.js +6 -1
  143. package/legacy/locales/elGR.js +8 -3
  144. package/legacy/locales/enUS.js +7 -3
  145. package/legacy/locales/esES.js +8 -3
  146. package/legacy/locales/eu.js +6 -1
  147. package/legacy/locales/faIR.js +6 -1
  148. package/legacy/locales/fiFI.js +8 -3
  149. package/legacy/locales/frFR.js +6 -1
  150. package/legacy/locales/heIL.js +6 -1
  151. package/legacy/locales/huHU.js +6 -1
  152. package/legacy/locales/isIS.js +8 -3
  153. package/legacy/locales/itIT.js +8 -3
  154. package/legacy/locales/jaJP.js +6 -1
  155. package/legacy/locales/koKR.js +6 -1
  156. package/legacy/locales/kzKZ.js +6 -1
  157. package/legacy/locales/mk.js +6 -1
  158. package/legacy/locales/nbNO.js +8 -3
  159. package/legacy/locales/nlNL.js +8 -3
  160. package/legacy/locales/plPL.js +8 -3
  161. package/legacy/locales/ptBR.js +6 -1
  162. package/legacy/locales/roRO.js +6 -1
  163. package/legacy/locales/ruRU.js +8 -3
  164. package/legacy/locales/skSK.js +8 -3
  165. package/legacy/locales/svSE.js +8 -3
  166. package/legacy/locales/trTR.js +8 -3
  167. package/legacy/locales/ukUA.js +8 -3
  168. package/legacy/locales/urPK.js +6 -1
  169. package/legacy/locales/viVN.js +8 -3
  170. package/legacy/locales/zhCN.js +6 -1
  171. package/legacy/locales/zhHK.js +6 -1
  172. package/locales/beBY.d.ts +4 -0
  173. package/locales/beBY.js +8 -3
  174. package/locales/caES.d.ts +4 -0
  175. package/locales/caES.js +7 -2
  176. package/locales/csCZ.d.ts +4 -0
  177. package/locales/csCZ.js +8 -3
  178. package/locales/daDK.d.ts +4 -0
  179. package/locales/daDK.js +8 -3
  180. package/locales/deDE.d.ts +4 -0
  181. package/locales/deDE.js +6 -1
  182. package/locales/elGR.d.ts +4 -0
  183. package/locales/elGR.js +8 -3
  184. package/locales/enUS.d.ts +4 -0
  185. package/locales/enUS.js +7 -3
  186. package/locales/esES.d.ts +4 -0
  187. package/locales/esES.js +8 -3
  188. package/locales/eu.d.ts +4 -0
  189. package/locales/eu.js +6 -1
  190. package/locales/faIR.d.ts +4 -0
  191. package/locales/faIR.js +6 -1
  192. package/locales/fiFI.d.ts +4 -0
  193. package/locales/fiFI.js +8 -3
  194. package/locales/frFR.d.ts +4 -0
  195. package/locales/frFR.js +6 -1
  196. package/locales/heIL.d.ts +4 -0
  197. package/locales/heIL.js +6 -1
  198. package/locales/huHU.d.ts +4 -0
  199. package/locales/huHU.js +6 -1
  200. package/locales/isIS.d.ts +4 -0
  201. package/locales/isIS.js +8 -3
  202. package/locales/itIT.d.ts +4 -0
  203. package/locales/itIT.js +8 -3
  204. package/locales/jaJP.d.ts +4 -0
  205. package/locales/jaJP.js +6 -1
  206. package/locales/koKR.d.ts +4 -0
  207. package/locales/koKR.js +6 -1
  208. package/locales/kzKZ.d.ts +4 -0
  209. package/locales/kzKZ.js +6 -1
  210. package/locales/mk.d.ts +4 -0
  211. package/locales/mk.js +6 -1
  212. package/locales/nbNO.d.ts +4 -0
  213. package/locales/nbNO.js +8 -3
  214. package/locales/nlNL.d.ts +4 -0
  215. package/locales/nlNL.js +8 -3
  216. package/locales/plPL.d.ts +4 -0
  217. package/locales/plPL.js +8 -3
  218. package/locales/ptBR.d.ts +4 -0
  219. package/locales/ptBR.js +6 -1
  220. package/locales/roRO.d.ts +4 -0
  221. package/locales/roRO.js +6 -1
  222. package/locales/ruRU.d.ts +4 -0
  223. package/locales/ruRU.js +8 -3
  224. package/locales/skSK.d.ts +4 -0
  225. package/locales/skSK.js +8 -3
  226. package/locales/svSE.d.ts +4 -0
  227. package/locales/svSE.js +8 -3
  228. package/locales/trTR.d.ts +4 -0
  229. package/locales/trTR.js +8 -3
  230. package/locales/ukUA.d.ts +4 -0
  231. package/locales/ukUA.js +8 -3
  232. package/locales/urPK.d.ts +4 -0
  233. package/locales/urPK.js +6 -1
  234. package/locales/utils/getPickersLocalization.d.ts +4 -0
  235. package/locales/utils/pickersLocaleTextApi.d.ts +4 -0
  236. package/locales/viVN.d.ts +4 -0
  237. package/locales/viVN.js +8 -3
  238. package/locales/zhCN.d.ts +4 -0
  239. package/locales/zhCN.js +6 -1
  240. package/locales/zhHK.d.ts +4 -0
  241. package/locales/zhHK.js +6 -1
  242. package/modern/AdapterLuxon/AdapterLuxon.js +3 -11
  243. package/modern/DatePicker/DatePicker.js +0 -3
  244. package/modern/DatePicker/DatePickerToolbar.js +0 -3
  245. package/modern/DateTimePicker/DateTimePicker.js +0 -3
  246. package/modern/DateTimePicker/DateTimePickerTabs.js +7 -4
  247. package/modern/DateTimePicker/DateTimePickerToolbar.js +33 -20
  248. package/modern/DesktopDatePicker/DesktopDatePicker.js +0 -3
  249. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -3
  250. package/modern/DesktopTimePicker/DesktopTimePicker.js +0 -3
  251. package/modern/MobileDatePicker/MobileDatePicker.js +0 -3
  252. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +0 -3
  253. package/modern/MobileTimePicker/MobileTimePicker.js +0 -3
  254. package/modern/MonthCalendar/MonthCalendar.js +0 -3
  255. package/modern/PickersCalendarHeader/PickersCalendarHeader.js +0 -3
  256. package/modern/PickersLayout/pickersLayoutClasses.js +3 -2
  257. package/modern/PickersLayout/usePickerLayout.js +2 -1
  258. package/modern/PickersSectionList/PickersSectionList.js +6 -1
  259. package/modern/{internals/components/PickersInput → PickersTextField/PickersFilledInput}/PickersFilledInput.js +98 -25
  260. package/modern/PickersTextField/PickersFilledInput/index.js +2 -0
  261. package/modern/PickersTextField/PickersFilledInput/pickersFilledInputClasses.js +8 -0
  262. package/modern/PickersTextField/PickersInput/PickersInput.js +196 -0
  263. package/modern/PickersTextField/PickersInput/index.js +2 -0
  264. package/modern/PickersTextField/PickersInput/pickersInputClasses.js +8 -0
  265. package/modern/{internals/components/PickersInput/PickersInput.js → PickersTextField/PickersInputBase/PickersInputBase.js} +106 -27
  266. package/modern/PickersTextField/PickersInputBase/index.js +2 -0
  267. package/modern/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +6 -0
  268. package/{internals/components/PickersInput → modern/PickersTextField/PickersOutlinedInput}/Outline.js +5 -1
  269. package/modern/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +190 -0
  270. package/modern/PickersTextField/PickersOutlinedInput/index.js +2 -0
  271. package/modern/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.js +8 -0
  272. package/modern/PickersTextField/PickersTextField.js +258 -0
  273. package/modern/PickersTextField/index.js +6 -0
  274. package/modern/StaticDatePicker/StaticDatePicker.js +0 -3
  275. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +0 -3
  276. package/modern/StaticTimePicker/StaticTimePicker.js +0 -3
  277. package/modern/TimeClock/TimeClock.js +3 -3
  278. package/modern/TimePicker/TimePicker.js +0 -3
  279. package/modern/TimePicker/TimePickerToolbar.js +0 -3
  280. package/modern/YearCalendar/YearCalendar.js +0 -3
  281. package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +4 -4
  282. package/modern/index.js +3 -2
  283. package/modern/internals/hooks/useField/useField.js +5 -3
  284. package/modern/internals/hooks/useField/useField.utils.js +68 -21
  285. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +12 -8
  286. package/modern/internals/hooks/useField/useFieldState.js +9 -7
  287. package/modern/internals/hooks/usePicker/usePicker.js +4 -2
  288. package/modern/internals/hooks/usePicker/usePickerViews.js +8 -3
  289. package/modern/internals/index.js +2 -2
  290. package/modern/internals/utils/valueManagers.js +2 -2
  291. package/modern/locales/beBY.js +8 -3
  292. package/modern/locales/caES.js +7 -2
  293. package/modern/locales/csCZ.js +8 -3
  294. package/modern/locales/daDK.js +8 -3
  295. package/modern/locales/deDE.js +6 -1
  296. package/modern/locales/elGR.js +8 -3
  297. package/modern/locales/enUS.js +7 -3
  298. package/modern/locales/esES.js +8 -3
  299. package/modern/locales/eu.js +6 -1
  300. package/modern/locales/faIR.js +6 -1
  301. package/modern/locales/fiFI.js +8 -3
  302. package/modern/locales/frFR.js +6 -1
  303. package/modern/locales/heIL.js +6 -1
  304. package/modern/locales/huHU.js +6 -1
  305. package/modern/locales/isIS.js +8 -3
  306. package/modern/locales/itIT.js +8 -3
  307. package/modern/locales/jaJP.js +6 -1
  308. package/modern/locales/koKR.js +6 -1
  309. package/modern/locales/kzKZ.js +6 -1
  310. package/modern/locales/mk.js +6 -1
  311. package/modern/locales/nbNO.js +8 -3
  312. package/modern/locales/nlNL.js +8 -3
  313. package/modern/locales/plPL.js +8 -3
  314. package/modern/locales/ptBR.js +6 -1
  315. package/modern/locales/roRO.js +6 -1
  316. package/modern/locales/ruRU.js +8 -3
  317. package/modern/locales/skSK.js +8 -3
  318. package/modern/locales/svSE.js +8 -3
  319. package/modern/locales/trTR.js +8 -3
  320. package/modern/locales/ukUA.js +8 -3
  321. package/modern/locales/urPK.js +6 -1
  322. package/modern/locales/viVN.js +8 -3
  323. package/modern/locales/zhCN.js +6 -1
  324. package/modern/locales/zhHK.js +6 -1
  325. package/node/AdapterLuxon/AdapterLuxon.js +3 -11
  326. package/node/DatePicker/DatePicker.js +0 -3
  327. package/node/DatePicker/DatePickerToolbar.js +0 -3
  328. package/node/DateTimePicker/DateTimePicker.js +0 -3
  329. package/node/DateTimePicker/DateTimePickerTabs.js +8 -5
  330. package/node/DateTimePicker/DateTimePickerToolbar.js +34 -21
  331. package/node/DesktopDatePicker/DesktopDatePicker.js +0 -3
  332. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +0 -3
  333. package/node/DesktopTimePicker/DesktopTimePicker.js +0 -3
  334. package/node/MobileDatePicker/MobileDatePicker.js +0 -3
  335. package/node/MobileDateTimePicker/MobileDateTimePicker.js +0 -3
  336. package/node/MobileTimePicker/MobileTimePicker.js +0 -3
  337. package/node/MonthCalendar/MonthCalendar.js +0 -3
  338. package/node/PickersCalendarHeader/PickersCalendarHeader.js +0 -3
  339. package/node/PickersLayout/pickersLayoutClasses.js +5 -3
  340. package/node/PickersLayout/usePickerLayout.js +2 -1
  341. package/node/PickersSectionList/PickersSectionList.js +6 -1
  342. package/node/{internals/components/PickersInput → PickersTextField/PickersFilledInput}/PickersFilledInput.js +102 -30
  343. package/node/PickersTextField/PickersFilledInput/index.js +25 -0
  344. package/node/PickersTextField/PickersFilledInput/pickersFilledInputClasses.js +16 -0
  345. package/node/PickersTextField/PickersInput/PickersInput.js +204 -0
  346. package/node/{internals/components → PickersTextField}/PickersInput/index.js +0 -7
  347. package/node/PickersTextField/PickersInput/pickersInputClasses.js +16 -0
  348. package/node/{internals/components/PickersInput/PickersInput.js → PickersTextField/PickersInputBase/PickersInputBase.js} +105 -27
  349. package/node/PickersTextField/PickersInputBase/index.js +25 -0
  350. package/node/PickersTextField/PickersInputBase/pickersInputBaseClasses.js +14 -0
  351. package/node/{internals/components/PickersInput → PickersTextField/PickersOutlinedInput}/Outline.js +5 -1
  352. package/node/PickersTextField/PickersOutlinedInput/PickersOutlinedInput.js +197 -0
  353. package/node/PickersTextField/PickersOutlinedInput/index.js +25 -0
  354. package/node/PickersTextField/PickersOutlinedInput/pickersOutlinedInputClasses.js +16 -0
  355. package/node/{internals/components/PickersTextField → PickersTextField}/PickersTextField.js +128 -9
  356. package/node/PickersTextField/index.js +78 -0
  357. package/node/StaticDatePicker/StaticDatePicker.js +0 -3
  358. package/node/StaticDateTimePicker/StaticDateTimePicker.js +0 -3
  359. package/node/StaticTimePicker/StaticTimePicker.js +0 -3
  360. package/node/TimeClock/TimeClock.js +3 -3
  361. package/node/TimePicker/TimePicker.js +0 -3
  362. package/node/TimePicker/TimePickerToolbar.js +0 -3
  363. package/node/YearCalendar/YearCalendar.js +0 -3
  364. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +4 -4
  365. package/node/index.js +17 -5
  366. package/node/internals/hooks/useField/useField.js +5 -3
  367. package/node/internals/hooks/useField/useField.utils.js +73 -22
  368. package/node/internals/hooks/useField/useFieldCharacterEditing.js +11 -7
  369. package/node/internals/hooks/useField/useFieldState.js +8 -6
  370. package/node/internals/hooks/usePicker/usePicker.js +4 -2
  371. package/node/internals/hooks/usePicker/usePickerViews.js +8 -3
  372. package/node/internals/index.js +12 -0
  373. package/node/internals/utils/valueManagers.js +2 -2
  374. package/node/locales/beBY.js +8 -3
  375. package/node/locales/caES.js +7 -2
  376. package/node/locales/csCZ.js +8 -3
  377. package/node/locales/daDK.js +8 -3
  378. package/node/locales/deDE.js +6 -1
  379. package/node/locales/elGR.js +8 -3
  380. package/node/locales/enUS.js +7 -3
  381. package/node/locales/esES.js +8 -3
  382. package/node/locales/eu.js +6 -1
  383. package/node/locales/faIR.js +6 -1
  384. package/node/locales/fiFI.js +8 -3
  385. package/node/locales/frFR.js +6 -1
  386. package/node/locales/heIL.js +6 -1
  387. package/node/locales/huHU.js +6 -1
  388. package/node/locales/isIS.js +8 -3
  389. package/node/locales/itIT.js +8 -3
  390. package/node/locales/jaJP.js +6 -1
  391. package/node/locales/koKR.js +6 -1
  392. package/node/locales/kzKZ.js +6 -1
  393. package/node/locales/mk.js +6 -1
  394. package/node/locales/nbNO.js +8 -3
  395. package/node/locales/nlNL.js +8 -3
  396. package/node/locales/plPL.js +8 -3
  397. package/node/locales/ptBR.js +6 -1
  398. package/node/locales/roRO.js +6 -1
  399. package/node/locales/ruRU.js +8 -3
  400. package/node/locales/skSK.js +8 -3
  401. package/node/locales/svSE.js +8 -3
  402. package/node/locales/trTR.js +8 -3
  403. package/node/locales/ukUA.js +8 -3
  404. package/node/locales/urPK.js +6 -1
  405. package/node/locales/viVN.js +8 -3
  406. package/node/locales/zhCN.js +6 -1
  407. package/node/locales/zhHK.js +6 -1
  408. package/package.json +7 -7
  409. package/themeAugmentation/components.d.ts +26 -0
  410. package/themeAugmentation/overrides.d.ts +16 -0
  411. package/themeAugmentation/props.d.ts +16 -0
  412. package/timeViewRenderers/timeViewRenderers.d.ts +1 -1
  413. package/internals/components/PickersInput/PickersFilledInput.d.ts +0 -3
  414. package/internals/components/PickersInput/PickersInput.d.ts +0 -13
  415. package/internals/components/PickersInput/PickersOutlinedInput.d.ts +0 -3
  416. package/internals/components/PickersInput/PickersOutlinedInput.js +0 -117
  417. package/internals/components/PickersInput/PickersStandardInput.d.ts +0 -3
  418. package/internals/components/PickersInput/PickersStandardInput.js +0 -123
  419. package/internals/components/PickersInput/index.js +0 -3
  420. package/internals/components/PickersInput/pickersInputClasses.d.ts +0 -84
  421. package/internals/components/PickersInput/pickersInputClasses.js +0 -18
  422. package/internals/components/PickersTextField/PickersTextField.d.ts +0 -2
  423. package/internals/components/PickersTextField/PickersTextField.js +0 -138
  424. package/internals/components/PickersTextField/index.d.ts +0 -1
  425. package/internals/components/PickersTextField/index.js +0 -1
  426. package/legacy/internals/components/PickersInput/PickersOutlinedInput.js +0 -110
  427. package/legacy/internals/components/PickersInput/PickersStandardInput.js +0 -117
  428. package/legacy/internals/components/PickersInput/index.js +0 -3
  429. package/legacy/internals/components/PickersInput/pickersInputClasses.js +0 -18
  430. package/legacy/internals/components/PickersTextField/index.js +0 -1
  431. package/modern/internals/components/PickersInput/PickersOutlinedInput.js +0 -117
  432. package/modern/internals/components/PickersInput/PickersStandardInput.js +0 -123
  433. package/modern/internals/components/PickersInput/index.js +0 -3
  434. package/modern/internals/components/PickersInput/pickersInputClasses.js +0 -18
  435. package/modern/internals/components/PickersTextField/PickersTextField.js +0 -138
  436. package/modern/internals/components/PickersTextField/index.js +0 -1
  437. package/node/internals/components/PickersInput/PickersOutlinedInput.js +0 -125
  438. package/node/internals/components/PickersInput/PickersStandardInput.js +0 -132
  439. package/node/internals/components/PickersInput/pickersInputClasses.js +0 -29
  440. package/node/internals/components/PickersTextField/index.js +0 -12
  441. /package/{internals/components/PickersInput/PickersInput.types.js → PickersTextField/PickersInputBase/PickersInputBase.types.js} +0 -0
  442. /package/{internals/components/PickersTextField → PickersTextField}/PickersTextField.types.js +0 -0
  443. /package/{internals/components/PickersTextField → PickersTextField}/pickersTextFieldClasses.d.ts +0 -0
  444. /package/{internals/components/PickersTextField → PickersTextField}/pickersTextFieldClasses.js +0 -0
  445. /package/legacy/{internals/components/PickersInput/PickersInput.types.js → PickersTextField/PickersInputBase/PickersInputBase.types.js} +0 -0
  446. /package/legacy/{internals/components/PickersTextField → PickersTextField}/PickersTextField.types.js +0 -0
  447. /package/legacy/{internals/components/PickersTextField → PickersTextField}/pickersTextFieldClasses.js +0 -0
  448. /package/modern/{internals/components/PickersInput/PickersInput.types.js → PickersTextField/PickersInputBase/PickersInputBase.types.js} +0 -0
  449. /package/modern/{internals/components/PickersTextField → PickersTextField}/PickersTextField.types.js +0 -0
  450. /package/modern/{internals/components/PickersTextField → PickersTextField}/pickersTextFieldClasses.js +0 -0
  451. /package/node/{internals/components/PickersInput/PickersInput.types.js → PickersTextField/PickersInputBase/PickersInputBase.types.js} +0 -0
  452. /package/node/{internals/components/PickersTextField → PickersTextField}/PickersTextField.types.js +0 -0
  453. /package/node/{internals/components/PickersTextField → PickersTextField}/pickersTextFieldClasses.js +0 -0
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.validateSections = exports.splitFormatIntoSections = exports.mergeDateIntoReferenceDate = exports.isAndroid = exports.getSectionsBoundaries = exports.getSectionVisibleValue = exports.getSectionOrder = exports.getLetterEditingOptions = exports.getDaysInWeekStr = exports.getDateSectionConfigFromFormatToken = exports.getDateFromDateSections = exports.doesSectionFormatHaveLeadingZeros = exports.createDateStrForInputFromSections = exports.cleanString = exports.cleanLeadingZeros = exports.cleanDigitSectionValue = exports.changeSectionValueFormat = exports.adjustSectionValue = exports.addPositionPropertiesToSections = void 0;
7
+ exports.validateSections = exports.splitFormatIntoSections = exports.removeLocalizedDigits = exports.mergeDateIntoReferenceDate = exports.isStringNumber = exports.isAndroid = exports.getSectionsBoundaries = exports.getSectionVisibleValue = exports.getSectionOrder = exports.getLocalizedDigits = exports.getLetterEditingOptions = exports.getDaysInWeekStr = exports.getDateSectionConfigFromFormatToken = exports.getDateFromDateSections = exports.doesSectionFormatHaveLeadingZeros = exports.createDateStrForInputFromSections = exports.cleanString = exports.cleanLeadingZeros = exports.cleanDigitSectionValue = exports.changeSectionValueFormat = exports.applyLocalizedDigits = exports.adjustSectionValue = exports.addPositionPropertiesToSections = exports.FORMAT_SECONDS_NO_LEADING_ZEROS = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _dateUtils = require("../../utils/date-utils");
10
10
  const getDateSectionConfigFromFormatToken = (utils, formatToken) => {
@@ -74,8 +74,59 @@ const getLetterEditingOptions = (utils, timezone, sectionType, format) => {
74
74
  }
75
75
  }
76
76
  };
77
+
78
+ // This format should be the same on all the adapters
79
+ // If some adapter does not respect this convention, then we will need to hardcode the format on each adapter.
77
80
  exports.getLetterEditingOptions = getLetterEditingOptions;
78
- const cleanLeadingZeros = (utils, valueStr, size) => {
81
+ const FORMAT_SECONDS_NO_LEADING_ZEROS = exports.FORMAT_SECONDS_NO_LEADING_ZEROS = 's';
82
+ const NON_LOCALIZED_DIGITS = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
83
+ const getLocalizedDigits = utils => {
84
+ const today = utils.date(undefined);
85
+ const formattedZero = utils.formatByString(utils.setSeconds(today, 0), FORMAT_SECONDS_NO_LEADING_ZEROS);
86
+ if (formattedZero === '0') {
87
+ return NON_LOCALIZED_DIGITS;
88
+ }
89
+ return Array.from({
90
+ length: 10
91
+ }).map((_, index) => utils.formatByString(utils.setSeconds(today, index), FORMAT_SECONDS_NO_LEADING_ZEROS));
92
+ };
93
+ exports.getLocalizedDigits = getLocalizedDigits;
94
+ const removeLocalizedDigits = (valueStr, localizedDigits) => {
95
+ if (localizedDigits[0] === '0') {
96
+ return valueStr;
97
+ }
98
+ const digits = [];
99
+ let currentFormattedDigit = '';
100
+ for (let i = 0; i < valueStr.length; i += 1) {
101
+ currentFormattedDigit += valueStr[i];
102
+ const matchingDigitIndex = localizedDigits.indexOf(currentFormattedDigit);
103
+ if (matchingDigitIndex > -1) {
104
+ digits.push(matchingDigitIndex.toString());
105
+ currentFormattedDigit = '';
106
+ }
107
+ }
108
+ return digits.join('');
109
+ };
110
+ exports.removeLocalizedDigits = removeLocalizedDigits;
111
+ const applyLocalizedDigits = (valueStr, localizedDigits) => {
112
+ if (localizedDigits[0] === '0') {
113
+ return valueStr;
114
+ }
115
+ return valueStr.split('').map(char => localizedDigits[Number(char)]).join('');
116
+ };
117
+ exports.applyLocalizedDigits = applyLocalizedDigits;
118
+ const isStringNumber = (valueStr, localizedDigits) => {
119
+ const nonLocalizedValueStr = removeLocalizedDigits(valueStr, localizedDigits);
120
+ return !Number.isNaN(Number(nonLocalizedValueStr));
121
+ };
122
+
123
+ /**
124
+ * Remove the leading zeroes to a digit section value.
125
+ * E.g.: `03` => `3`
126
+ * Warning: Should only be called with non-localized digits. Call `removeLocalizedDigits` with your value if needed.
127
+ */
128
+ exports.isStringNumber = isStringNumber;
129
+ const cleanLeadingZeros = (valueStr, size) => {
79
130
  let cleanValueStr = valueStr;
80
131
 
81
132
  // Remove the leading zeros
@@ -88,7 +139,7 @@ const cleanLeadingZeros = (utils, valueStr, size) => {
88
139
  return cleanValueStr;
89
140
  };
90
141
  exports.cleanLeadingZeros = cleanLeadingZeros;
91
- const cleanDigitSectionValue = (utils, timezone, value, sectionBoundaries, section) => {
142
+ const cleanDigitSectionValue = (utils, value, sectionBoundaries, localizedDigits, section) => {
92
143
  if (process.env.NODE_ENV !== 'production') {
93
144
  if (section.type !== 'day' && section.contentType === 'digit-with-letter') {
94
145
  throw new Error([`MUI X: The token "${section.format}" is a digit format with letter in it.'
@@ -101,14 +152,14 @@ const cleanDigitSectionValue = (utils, timezone, value, sectionBoundaries, secti
101
152
  }
102
153
 
103
154
  // queryValue without leading `0` (`01` => `1`)
104
- const valueStr = value.toString();
155
+ let valueStr = value.toString();
105
156
  if (section.hasLeadingZerosInInput) {
106
- return cleanLeadingZeros(utils, valueStr, section.maxLength);
157
+ valueStr = cleanLeadingZeros(valueStr, section.maxLength);
107
158
  }
108
- return valueStr;
159
+ return applyLocalizedDigits(valueStr, localizedDigits);
109
160
  };
110
161
  exports.cleanDigitSectionValue = cleanDigitSectionValue;
111
- const adjustSectionValue = (utils, timezone, section, keyCode, sectionsValueBoundaries, activeDate, stepsAttributes) => {
162
+ const adjustSectionValue = (utils, timezone, section, keyCode, sectionsValueBoundaries, localizedDigits, activeDate, stepsAttributes) => {
112
163
  const delta = getDeltaFromKeyCode(keyCode);
113
164
  const isStart = keyCode === 'Home';
114
165
  const isEnd = keyCode === 'End';
@@ -119,9 +170,9 @@ const adjustSectionValue = (utils, timezone, section, keyCode, sectionsValueBoun
119
170
  format: section.format,
120
171
  contentType: section.contentType
121
172
  });
122
- const getCleanValue = value => cleanDigitSectionValue(utils, timezone, value, sectionBoundaries, section);
173
+ const getCleanValue = value => cleanDigitSectionValue(utils, value, sectionBoundaries, localizedDigits, section);
123
174
  const step = section.type === 'minutes' && stepsAttributes?.minutesStep ? stepsAttributes.minutesStep : 1;
124
- const currentSectionValue = parseInt(section.value, 10);
175
+ const currentSectionValue = parseInt(removeLocalizedDigits(section.value, localizedDigits), 10);
125
176
  let newSectionValueNumber = currentSectionValue + delta * step;
126
177
  if (shouldSetAbsolute) {
127
178
  if (section.type === 'year' && !isEnd && !isStart) {
@@ -170,11 +221,11 @@ const adjustSectionValue = (utils, timezone, section, keyCode, sectionsValueBoun
170
221
  return adjustLetterSection();
171
222
  };
172
223
  exports.adjustSectionValue = adjustSectionValue;
173
- const getSectionVisibleValue = (section, target) => {
224
+ const getSectionVisibleValue = (section, target, localizedDigits) => {
174
225
  let value = section.value || section.placeholder;
175
226
  const hasLeadingZeros = target === 'non-input' ? section.hasLeadingZerosInFormat : section.hasLeadingZerosInInput;
176
227
  if (target === 'non-input' && section.hasLeadingZerosInInput && !section.hasLeadingZerosInFormat) {
177
- value = Number(value).toString();
228
+ value = Number(removeLocalizedDigits(value, localizedDigits)).toString();
178
229
  }
179
230
 
180
231
  // In the input, we add an empty character at the end of each section without leading zeros.
@@ -194,13 +245,13 @@ const getSectionVisibleValue = (section, target) => {
194
245
  exports.getSectionVisibleValue = getSectionVisibleValue;
195
246
  const cleanString = dirtyString => dirtyString.replace(/[\u2066\u2067\u2068\u2069]/g, '');
196
247
  exports.cleanString = cleanString;
197
- const addPositionPropertiesToSections = (sections, isRTL) => {
248
+ const addPositionPropertiesToSections = (sections, localizedDigits, isRTL) => {
198
249
  let position = 0;
199
250
  let positionInInput = isRTL ? 1 : 0;
200
251
  const newSections = [];
201
252
  for (let i = 0; i < sections.length; i += 1) {
202
253
  const section = sections[i];
203
- const renderedValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr');
254
+ const renderedValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr', localizedDigits);
204
255
  const sectionStr = `${section.startSeparator}${renderedValue}${section.endSeparator}`;
205
256
  const sectionLength = cleanString(sectionStr).length;
206
257
  const sectionLengthInInput = sectionStr.length;
@@ -355,7 +406,7 @@ const getEscapedPartsFromFormat = (utils, format) => {
355
406
  }
356
407
  return escapedParts;
357
408
  };
358
- const splitFormatIntoSections = (utils, timezone, localeText, format, date, formatDensity, shouldRespectLeadingZeros, isRTL) => {
409
+ const splitFormatIntoSections = (utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL) => {
359
410
  let startSeparator = '';
360
411
  const sections = [];
361
412
  const now = utils.date();
@@ -378,7 +429,7 @@ const splitFormatIntoSections = (utils, timezone, localeText, format, date, form
378
429
  }
379
430
  maxLength = sectionConfig.maxLength;
380
431
  if (isValidDate) {
381
- sectionValue = cleanLeadingZeros(utils, sectionValue, maxLength);
432
+ sectionValue = applyLocalizedDigits(cleanLeadingZeros(removeLocalizedDigits(sectionValue, localizedDigits), maxLength), localizedDigits);
382
433
  }
383
434
  }
384
435
  }
@@ -480,7 +531,7 @@ const splitFormatIntoSections = (utils, timezone, localeText, format, date, form
480
531
  * To make sure that the parsing works, we are building a format and a date without any separator.
481
532
  */
482
533
  exports.splitFormatIntoSections = splitFormatIntoSections;
483
- const getDateFromDateSections = (utils, sections) => {
534
+ const getDateFromDateSections = (utils, sections, localizedDigits) => {
484
535
  // If we have both a day and a weekDay section,
485
536
  // Then we skip the weekDay in the parsing because libraries like dayjs can't parse complicated formats containing a weekDay.
486
537
  // dayjs(dayjs().format('dddd MMMM D YYYY'), 'dddd MMMM D YYYY')) // returns `Invalid Date` even if the format is valid.
@@ -492,7 +543,7 @@ const getDateFromDateSections = (utils, sections) => {
492
543
  const shouldSkip = shouldSkipWeekDays && section.type === 'weekDay';
493
544
  if (!shouldSkip) {
494
545
  sectionFormats.push(section.format);
495
- sectionValues.push(getSectionVisibleValue(section, 'non-input'));
546
+ sectionValues.push(getSectionVisibleValue(section, 'non-input', localizedDigits));
496
547
  }
497
548
  }
498
549
  const formatWithoutSeparator = sectionFormats.join(' ');
@@ -500,9 +551,9 @@ const getDateFromDateSections = (utils, sections) => {
500
551
  return utils.parse(dateWithoutSeparatorStr, formatWithoutSeparator);
501
552
  };
502
553
  exports.getDateFromDateSections = getDateFromDateSections;
503
- const createDateStrForInputFromSections = (sections, isRTL) => {
554
+ const createDateStrForInputFromSections = (sections, localizedDigits, isRTL) => {
504
555
  const formattedSections = sections.map(section => {
505
- const dateValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr');
556
+ const dateValue = getSectionVisibleValue(section, isRTL ? 'input-rtl' : 'input-ltr', localizedDigits);
506
557
  return `${section.startSeparator}${dateValue}${section.endSeparator}`;
507
558
  });
508
559
  const dateStr = formattedSections.join('');
@@ -518,7 +569,7 @@ const createDateStrForInputFromSections = (sections, isRTL) => {
518
569
  return `\u2066${dateStr}\u2069`;
519
570
  };
520
571
  exports.createDateStrForInputFromSections = createDateStrForInputFromSections;
521
- const getSectionsBoundaries = (utils, timezone) => {
572
+ const getSectionsBoundaries = (utils, localizedDigits, timezone) => {
522
573
  const today = utils.date(undefined, timezone);
523
574
  const endOfYear = utils.endOfYear(today);
524
575
  const endOfDay = utils.endOfDay(today);
@@ -577,11 +628,11 @@ const getSectionsBoundaries = (utils, timezone) => {
577
628
  format
578
629
  }) => {
579
630
  const lastHourInDay = utils.getHours(endOfDay);
580
- const hasMeridiem = utils.formatByString(utils.endOfDay(today), format) !== lastHourInDay.toString();
631
+ const hasMeridiem = removeLocalizedDigits(utils.formatByString(utils.endOfDay(today), format), localizedDigits) !== lastHourInDay.toString();
581
632
  if (hasMeridiem) {
582
633
  return {
583
634
  minimum: 1,
584
- maximum: Number(utils.formatByString(utils.startOfDay(today), format))
635
+ maximum: Number(removeLocalizedDigits(utils.formatByString(utils.startOfDay(today), format), localizedDigits))
585
636
  };
586
637
  }
587
638
  return {
@@ -48,6 +48,7 @@ const useFieldCharacterEditing = ({
48
48
  sections,
49
49
  updateSectionValue,
50
50
  sectionsValueBoundaries,
51
+ localizedDigits,
51
52
  setTempAndroidValueStr,
52
53
  timezone
53
54
  }) => {
@@ -76,7 +77,7 @@ const useFieldCharacterEditing = ({
76
77
  const activeSection = sections[sectionIndex];
77
78
 
78
79
  // The current query targets the section being editing
79
- // We can try to concatenated value
80
+ // We can try to concatenate the value
80
81
  if (query != null && (!isValidQueryValue || isValidQueryValue(query.value)) && query.sectionIndex === sectionIndex) {
81
82
  const concatenatedQueryValue = `${query.value}${cleanKeyPressed}`;
82
83
  const queryResponse = getFirstSectionValueMatchingWithQuery(concatenatedQueryValue, activeSection);
@@ -170,7 +171,8 @@ const useFieldCharacterEditing = ({
170
171
  };
171
172
  const applyNumericEditing = params => {
172
173
  const getNewSectionValue = (queryValue, section) => {
173
- const queryValueNumber = Number(`${queryValue}`);
174
+ const cleanQueryValue = (0, _useField.removeLocalizedDigits)(queryValue, localizedDigits);
175
+ const queryValueNumber = Number(cleanQueryValue);
174
176
  const sectionBoundaries = sectionsValueBoundaries[section.type]({
175
177
  currentDate: null,
176
178
  format: section.format,
@@ -190,8 +192,8 @@ const useFieldCharacterEditing = ({
190
192
  saveQuery: true
191
193
  };
192
194
  }
193
- const shouldGoToNextSection = Number(`${queryValue}0`) > sectionBoundaries.maximum || queryValue.length === sectionBoundaries.maximum.toString().length;
194
- const newSectionValue = (0, _useField.cleanDigitSectionValue)(utils, timezone, queryValueNumber, sectionBoundaries, section);
195
+ const shouldGoToNextSection = queryValueNumber * 10 > sectionBoundaries.maximum || cleanQueryValue.length === sectionBoundaries.maximum.toString().length;
196
+ const newSectionValue = (0, _useField.cleanDigitSectionValue)(utils, queryValueNumber, sectionBoundaries, localizedDigits, section);
195
197
  return {
196
198
  sectionValue: newSectionValue,
197
199
  shouldGoToNextSection
@@ -239,12 +241,14 @@ const useFieldCharacterEditing = ({
239
241
  saveQuery: false
240
242
  };
241
243
  };
242
- return applyQuery(params, getFirstSectionValueMatchingWithQuery, queryValue => !Number.isNaN(Number(queryValue)));
244
+ return applyQuery(params, getFirstSectionValueMatchingWithQuery, queryValue => (0, _useField.isStringNumber)(queryValue, localizedDigits));
243
245
  };
244
246
  const applyCharacterEditing = (0, _useEventCallback.default)(params => {
245
247
  const activeSection = sections[params.sectionIndex];
246
- const isNumericEditing = !Number.isNaN(Number(params.keyPressed));
247
- const response = isNumericEditing ? applyNumericEditing(params) : applyLetterEditing(params);
248
+ const isNumericEditing = (0, _useField.isStringNumber)(params.keyPressed, localizedDigits);
249
+ const response = isNumericEditing ? applyNumericEditing((0, _extends2.default)({}, params, {
250
+ keyPressed: (0, _useField.applyLocalizedDigits)(params.keyPressed, localizedDigits)
251
+ })) : applyLetterEditing(params);
248
252
  if (response == null) {
249
253
  setTempAndroidValueStr(null);
250
254
  } else {
@@ -51,9 +51,10 @@ const useFieldState = params => {
51
51
  onChange,
52
52
  valueManager
53
53
  });
54
- const sectionsValueBoundaries = React.useMemo(() => (0, _useField.getSectionsBoundaries)(utils, timezone), [utils, timezone]);
55
- const getSectionsFromValue = React.useCallback((value, fallbackSections = null) => fieldValueManager.getSectionsFromValue(utils, value, fallbackSections, isRTL, date => (0, _useField.splitFormatIntoSections)(utils, timezone, localeText, format, date, formatDensity, shouldRespectLeadingZeros, isRTL)), [fieldValueManager, format, localeText, isRTL, shouldRespectLeadingZeros, utils, formatDensity, timezone]);
56
- const placeholder = React.useMemo(() => fieldValueManager.getValueStrFromSections(getSectionsFromValue(valueManager.emptyValue), isRTL), [fieldValueManager, getSectionsFromValue, valueManager.emptyValue, isRTL]);
54
+ const localizedDigits = React.useMemo(() => (0, _useField.getLocalizedDigits)(utils), [utils]);
55
+ const sectionsValueBoundaries = React.useMemo(() => (0, _useField.getSectionsBoundaries)(utils, localizedDigits, timezone), [utils, localizedDigits, timezone]);
56
+ const getSectionsFromValue = React.useCallback((value, fallbackSections = null) => fieldValueManager.getSectionsFromValue(utils, value, fallbackSections, localizedDigits, isRTL, date => (0, _useField.splitFormatIntoSections)(utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL)), [fieldValueManager, format, localeText, localizedDigits, isRTL, shouldRespectLeadingZeros, utils, formatDensity, timezone]);
57
+ const placeholder = React.useMemo(() => fieldValueManager.getValueStrFromSections(getSectionsFromValue(valueManager.emptyValue), localizedDigits, isRTL), [fieldValueManager, getSectionsFromValue, valueManager.emptyValue, localizedDigits, isRTL]);
57
58
  const [state, setState] = React.useState(() => {
58
59
  const sections = getSectionsFromValue(valueFromTheOutside);
59
60
  (0, _useField.validateSections)(sections, valueType);
@@ -151,7 +152,7 @@ const useFieldState = params => {
151
152
  value: newSectionValue,
152
153
  modified: true
153
154
  });
154
- return (0, _useField.addPositionPropertiesToSections)(newSections, isRTL);
155
+ return (0, _useField.addPositionPropertiesToSections)(newSections, localizedDigits, isRTL);
155
156
  };
156
157
  const clearValue = () => {
157
158
  publishValue({
@@ -188,7 +189,7 @@ const useFieldState = params => {
188
189
  if (date == null || !utils.isValid(date)) {
189
190
  return null;
190
191
  }
191
- const sections = (0, _useField.splitFormatIntoSections)(utils, timezone, localeText, format, date, formatDensity, shouldRespectLeadingZeros, isRTL);
192
+ const sections = (0, _useField.splitFormatIntoSections)(utils, timezone, localeText, localizedDigits, format, date, formatDensity, shouldRespectLeadingZeros, isRTL);
192
193
  return (0, _useField.mergeDateIntoReferenceDate)(utils, timezone, date, sections, referenceDate, false);
193
194
  };
194
195
  const newValue = fieldValueManager.parseValueStr(valueStr, state.referenceValue, parseDateStr);
@@ -219,7 +220,7 @@ const useFieldState = params => {
219
220
  const activeDateManager = fieldValueManager.getActiveDateManager(utils, state, activeSection);
220
221
  const newSections = setSectionValue(selectedSectionIndexes.startIndex, newSectionValue);
221
222
  const newActiveDateSections = activeDateManager.getSections(newSections);
222
- const newActiveDate = (0, _useField.getDateFromDateSections)(utils, newActiveDateSections);
223
+ const newActiveDate = (0, _useField.getDateFromDateSections)(utils, newActiveDateSections, localizedDigits);
223
224
  let values;
224
225
  let shouldPublish;
225
226
 
@@ -287,6 +288,7 @@ const useFieldState = params => {
287
288
  updateValueFromValueStr,
288
289
  setTempAndroidValueStr,
289
290
  sectionsValueBoundaries,
291
+ localizedDigits,
290
292
  placeholder,
291
293
  timezone
292
294
  };
@@ -17,7 +17,8 @@ const usePicker = ({
17
17
  inputRef,
18
18
  additionalViewProps,
19
19
  validator,
20
- autoFocusView
20
+ autoFocusView,
21
+ rendererInterceptor
21
22
  }) => {
22
23
  if (process.env.NODE_ENV !== 'production') {
23
24
  if (props.renderInput != null) {
@@ -36,7 +37,8 @@ const usePicker = ({
36
37
  inputRef,
37
38
  additionalViewProps,
38
39
  autoFocusView,
39
- propsFromPickerValue: pickerValueResponse.viewProps
40
+ propsFromPickerValue: pickerValueResponse.viewProps,
41
+ rendererInterceptor
40
42
  });
41
43
  const pickerLayoutResponse = (0, _usePickerLayoutProps.usePickerLayoutProps)({
42
44
  props,
@@ -38,7 +38,8 @@ const usePickerViews = ({
38
38
  propsFromPickerValue,
39
39
  additionalViewProps,
40
40
  inputRef,
41
- autoFocusView
41
+ autoFocusView,
42
+ rendererInterceptor
42
43
  }) => {
43
44
  const {
44
45
  onChange,
@@ -154,7 +155,7 @@ const usePickerViews = ({
154
155
  if (renderer == null) {
155
156
  return null;
156
157
  }
157
- return renderer((0, _extends2.default)({}, propsToForwardToView, additionalViewProps, propsFromPickerValue, {
158
+ const rendererProps = (0, _extends2.default)({}, propsToForwardToView, additionalViewProps, propsFromPickerValue, {
158
159
  views,
159
160
  timezone,
160
161
  onChange: setValueAndGoToNextView,
@@ -164,7 +165,11 @@ const usePickerViews = ({
164
165
  onFocusedViewChange: setFocusedView,
165
166
  showViewSwitcher: timeViewsCount > 1,
166
167
  timeViewsCount
167
- }));
168
+ });
169
+ if (rendererInterceptor) {
170
+ return rendererInterceptor(viewRenderers, popperView, rendererProps);
171
+ }
172
+ return renderer(rendererProps);
168
173
  }
169
174
  };
170
175
  };
@@ -57,6 +57,12 @@ Object.defineProperty(exports, "PickersToolbarButton", {
57
57
  return _PickersToolbarButton.PickersToolbarButton;
58
58
  }
59
59
  });
60
+ Object.defineProperty(exports, "VIEW_HEIGHT", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _dimensions.VIEW_HEIGHT;
64
+ }
65
+ });
60
66
  Object.defineProperty(exports, "addPositionPropertiesToSections", {
61
67
  enumerable: true,
62
68
  get: function () {
@@ -147,6 +153,12 @@ Object.defineProperty(exports, "isDatePickerView", {
147
153
  return _dateUtils.isDatePickerView;
148
154
  }
149
155
  });
156
+ Object.defineProperty(exports, "isInternalTimeView", {
157
+ enumerable: true,
158
+ get: function () {
159
+ return _timeUtils.isInternalTimeView;
160
+ }
161
+ });
150
162
  Object.defineProperty(exports, "isTimeView", {
151
163
  enumerable: true,
152
164
  get: function () {
@@ -37,12 +37,12 @@ const singleItemValueManager = exports.singleItemValueManager = {
37
37
  };
38
38
  const singleItemFieldValueManager = exports.singleItemFieldValueManager = {
39
39
  updateReferenceValue: (utils, value, prevReferenceValue) => value == null || !utils.isValid(value) ? prevReferenceValue : value,
40
- getSectionsFromValue: (utils, date, prevSections, isRTL, getSectionsFromDate) => {
40
+ getSectionsFromValue: (utils, date, prevSections, localizedDigits, isRTL, getSectionsFromDate) => {
41
41
  const shouldReUsePrevDateSections = !utils.isValid(date) && !!prevSections;
42
42
  if (shouldReUsePrevDateSections) {
43
43
  return prevSections;
44
44
  }
45
- return (0, _useField.addPositionPropertiesToSections)(getSectionsFromDate(date), isRTL);
45
+ return (0, _useField.addPositionPropertiesToSections)(getSectionsFromDate(date), localizedDigits, isRTL);
46
46
  },
47
47
  getValueStrFromSections: _useField.createDateStrForInputFromSections,
48
48
  getActiveDateManager: (utils, state) => ({
@@ -17,12 +17,17 @@ const beBYPickers = {
17
17
  previousMonth: 'Папярэдні месяц',
18
18
  nextMonth: 'Наступны месяц',
19
19
  // View navigation
20
- openPreviousView: 'адкрыць папярэдні выгляд',
21
- openNextView: 'адкрыць наступны выгляд',
20
+ openPreviousView: 'Aдкрыць папярэдні выгляд',
21
+ openNextView: 'Aдкрыць наступны выгляд',
22
22
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'гадавы выгляд адкрыты, перайсці да каляндарнага выгляду' : 'каляндарны выгляд адкрыты, перайсці да гадавога выгляду',
23
- // DateRange placeholders
23
+ // DateRange labels
24
24
  start: 'Пачатак',
25
25
  end: 'Канец',
26
+ // startDate: 'Start date',
27
+ // startTime: 'Start time',
28
+ // endDate: 'End date',
29
+ // endTime: 'End time',
30
+
26
31
  // Action bar
27
32
  cancelButtonLabel: 'Адмена',
28
33
  clearButtonLabel: 'Ачысціць',
@@ -16,12 +16,17 @@ const caESPickers = {
16
16
  previousMonth: 'Últim mes',
17
17
  nextMonth: 'Pròxim mes',
18
18
  // View navigation
19
- openPreviousView: "obrir l'última vista",
19
+ openPreviousView: "Obrir l'última vista",
20
20
  openNextView: 'obrir la següent vista',
21
21
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? "la vista de l'any està oberta, canvie a la vista de calendari" : "la vista de calendari està oberta, canvie a la vista de l'any",
22
- // DateRange placeholders
22
+ // DateRange labels
23
23
  start: 'Començar',
24
24
  end: 'Terminar',
25
+ // startDate: 'Start date',
26
+ // startTime: 'Start time',
27
+ // endDate: 'End date',
28
+ // endTime: 'End time',
29
+
25
30
  // Action bar
26
31
  cancelButtonLabel: 'Cancel·lar',
27
32
  clearButtonLabel: 'Netejar',
@@ -17,12 +17,17 @@ const csCZPickers = {
17
17
  previousMonth: 'Předchozí měsíc',
18
18
  nextMonth: 'Další měsíc',
19
19
  // View navigation
20
- openPreviousView: 'otevřít předchozí zobrazení',
21
- openNextView: 'otevřít další zobrazení',
20
+ openPreviousView: 'Otevřít předchozí zobrazení',
21
+ openNextView: 'Otevřít další zobrazení',
22
22
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'roční zobrazení otevřeno, přepněte do zobrazení kalendáře' : 'zobrazení kalendáře otevřeno, přepněte do zobrazení roku',
23
- // DateRange placeholders
23
+ // DateRange labels
24
24
  start: 'Začátek',
25
25
  end: 'Konec',
26
+ // startDate: 'Start date',
27
+ // startTime: 'Start time',
28
+ // endDate: 'End date',
29
+ // endTime: 'End time',
30
+
26
31
  // Action bar
27
32
  cancelButtonLabel: 'Zrušit',
28
33
  clearButtonLabel: 'Vymazat',
@@ -17,12 +17,17 @@ const daDKPickers = {
17
17
  previousMonth: 'Forrige måned',
18
18
  nextMonth: 'Næste måned',
19
19
  // View navigation
20
- openPreviousView: 'åben forrige visning',
21
- openNextView: 'åben næste visning',
20
+ openPreviousView: 'Åben forrige visning',
21
+ openNextView: 'Åben næste visning',
22
22
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'årsvisning er åben, skift til kalendervisning' : 'kalendervisning er åben, skift til årsvisning',
23
- // DateRange placeholders
23
+ // DateRange labels
24
24
  start: 'Start',
25
25
  end: 'Slut',
26
+ // startDate: 'Start date',
27
+ // startTime: 'Start time',
28
+ // endDate: 'End date',
29
+ // endTime: 'End time',
30
+
26
31
  // Action bar
27
32
  cancelButtonLabel: 'Annuller',
28
33
  clearButtonLabel: 'Ryd',
@@ -20,9 +20,14 @@ const deDEPickers = {
20
20
  openPreviousView: 'Letzte Ansicht öffnen',
21
21
  openNextView: 'Nächste Ansicht öffnen',
22
22
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'Jahresansicht ist geöffnet, zur Kalenderansicht wechseln' : 'Kalenderansicht ist geöffnet, zur Jahresansicht wechseln',
23
- // DateRange placeholders
23
+ // DateRange labels
24
24
  start: 'Beginn',
25
25
  end: 'Ende',
26
+ // startDate: 'Start date',
27
+ // startTime: 'Start time',
28
+ // endDate: 'End date',
29
+ // endTime: 'End time',
30
+
26
31
  // Action bar
27
32
  cancelButtonLabel: 'Abbrechen',
28
33
  clearButtonLabel: 'Löschen',
@@ -16,12 +16,17 @@ const elGRPickers = {
16
16
  previousMonth: 'Προηγούμενος μήνας',
17
17
  nextMonth: 'Επόμενος μήνας',
18
18
  // View navigation
19
- openPreviousView: 'ανοίγμα προηγούμενης προβολή',
20
- openNextView: 'ανοίγμα επόμενης προβολή',
19
+ openPreviousView: 'Άνοίγμα προηγούμενης προβολή',
20
+ openNextView: 'Άνοίγμα επόμενης προβολή',
21
21
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'η προβολή έτους είναι ανοιχτή, μεταβείτε στην προβολή ημερολογίου' : 'η προβολή ημερολογίου είναι ανοιχτή, μεταβείτε στην προβολή έτους',
22
- // DateRange placeholders
22
+ // DateRange labels
23
23
  start: 'Αρχή',
24
24
  end: 'Τέλος',
25
+ // startDate: 'Start date',
26
+ // startTime: 'Start time',
27
+ // endDate: 'End date',
28
+ // endTime: 'End time',
29
+
25
30
  // Action bar
26
31
  cancelButtonLabel: 'Άκυρο',
27
32
  clearButtonLabel: 'Καθαρισμός',
@@ -12,12 +12,16 @@ const enUSPickers = {
12
12
  previousMonth: 'Previous month',
13
13
  nextMonth: 'Next month',
14
14
  // View navigation
15
- openPreviousView: 'open previous view',
16
- openNextView: 'open next view',
15
+ openPreviousView: 'Open previous view',
16
+ openNextView: 'Open next view',
17
17
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'year view is open, switch to calendar view' : 'calendar view is open, switch to year view',
18
- // DateRange placeholders
18
+ // DateRange labels
19
19
  start: 'Start',
20
20
  end: 'End',
21
+ startDate: 'Start date',
22
+ startTime: 'Start time',
23
+ endDate: 'End date',
24
+ endTime: 'End time',
21
25
  // Action bar
22
26
  cancelButtonLabel: 'Cancel',
23
27
  clearButtonLabel: 'Clear',
@@ -16,12 +16,17 @@ const esESPickers = {
16
16
  previousMonth: 'Último mes',
17
17
  nextMonth: 'Próximo mes',
18
18
  // View navigation
19
- openPreviousView: 'abrir la última vista',
20
- openNextView: 'abrir la siguiente vista',
19
+ openPreviousView: 'Abrir la última vista',
20
+ openNextView: 'Abrir la siguiente vista',
21
21
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'la vista del año está abierta, cambie a la vista de calendario' : 'la vista de calendario está abierta, cambie a la vista del año',
22
- // DateRange placeholders
22
+ // DateRange labels
23
23
  start: 'Empezar',
24
24
  end: 'Terminar',
25
+ // startDate: 'Start date',
26
+ // startTime: 'Start time',
27
+ // endDate: 'End date',
28
+ // endTime: 'End time',
29
+
25
30
  // Action bar
26
31
  cancelButtonLabel: 'Cancelar',
27
32
  clearButtonLabel: 'Limpiar',
@@ -19,9 +19,14 @@ const euPickers = {
19
19
  openPreviousView: 'azken bista ireki',
20
20
  openNextView: 'hurrengo bista ireki',
21
21
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'urteko bista irekita dago, aldatu egutegi bistara' : 'egutegi bista irekita dago, aldatu urteko bistara',
22
- // DateRange placeholders
22
+ // DateRange labels
23
23
  start: 'Hasi',
24
24
  end: 'Bukatu',
25
+ // startDate: 'Start date',
26
+ // startTime: 'Start time',
27
+ // endDate: 'End date',
28
+ // endTime: 'End time',
29
+
25
30
  // Action bar
26
31
  cancelButtonLabel: 'Utxi',
27
32
  clearButtonLabel: 'Garbitu',
@@ -19,9 +19,14 @@ const faIRPickers = {
19
19
  openPreviousView: 'نمای قبلی',
20
20
  openNextView: 'نمای بعدی',
21
21
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'نمای سال باز است، رفتن به نمای تقویم' : 'نمای تقویم باز است، رفتن به نمای سال',
22
- // DateRange placeholders
22
+ // DateRange labels
23
23
  start: 'شروع',
24
24
  end: 'پایان',
25
+ // startDate: 'Start date',
26
+ // startTime: 'Start time',
27
+ // endDate: 'End date',
28
+ // endTime: 'End time',
29
+
25
30
  // Action bar
26
31
  cancelButtonLabel: 'لغو',
27
32
  clearButtonLabel: 'پاک کردن',
@@ -16,12 +16,17 @@ const fiFIPickers = {
16
16
  previousMonth: 'Edellinen kuukausi',
17
17
  nextMonth: 'Seuraava kuukausi',
18
18
  // View navigation
19
- openPreviousView: 'avaa edellinen kuukausi',
20
- openNextView: 'avaa seuraava kuukausi',
19
+ openPreviousView: 'Avaa edellinen kuukausi',
20
+ openNextView: 'Avaa seuraava kuukausi',
21
21
  calendarViewSwitchingButtonAriaLabel: view => view === 'year' ? 'vuosinäkymä on auki, vaihda kalenterinäkymään' : 'kalenterinäkymä on auki, vaihda vuosinäkymään',
22
- // DateRange placeholders
22
+ // DateRange labels
23
23
  start: 'Alku',
24
24
  end: 'Loppu',
25
+ // startDate: 'Start date',
26
+ // startTime: 'Start time',
27
+ // endDate: 'End date',
28
+ // endTime: 'End time',
29
+
25
30
  // Action bar
26
31
  cancelButtonLabel: 'Peruuta',
27
32
  clearButtonLabel: 'Tyhjennä',