@mui/x-date-pickers 6.2.1 → 6.3.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 (612) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +109 -0
  2. package/AdapterDateFns/AdapterDateFns.js +598 -0
  3. package/AdapterDateFns/index.d.ts +1 -13
  4. package/AdapterDateFns/index.js +1 -149
  5. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +109 -0
  6. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +610 -0
  7. package/AdapterDateFnsJalali/index.d.ts +1 -13
  8. package/AdapterDateFnsJalali/index.js +1 -149
  9. package/AdapterDayjs/AdapterDayjs.d.ts +53 -53
  10. package/AdapterDayjs/AdapterDayjs.js +146 -111
  11. package/AdapterLuxon/AdapterLuxon.d.ts +108 -0
  12. package/AdapterLuxon/AdapterLuxon.js +513 -0
  13. package/AdapterLuxon/index.d.ts +1 -14
  14. package/AdapterLuxon/index.js +1 -111
  15. package/AdapterMoment/AdapterMoment.d.ts +110 -0
  16. package/AdapterMoment/AdapterMoment.js +416 -0
  17. package/AdapterMoment/index.d.ts +1 -21
  18. package/AdapterMoment/index.js +1 -99
  19. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +67 -0
  20. package/AdapterMomentHijri/AdapterMomentHijri.js +269 -0
  21. package/AdapterMomentHijri/index.d.ts +1 -18
  22. package/AdapterMomentHijri/index.js +1 -74
  23. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +74 -0
  24. package/AdapterMomentJalaali/AdapterMomentJalaali.js +276 -0
  25. package/AdapterMomentJalaali/index.d.ts +1 -22
  26. package/AdapterMomentJalaali/index.js +1 -87
  27. package/CHANGELOG.md +70 -1
  28. package/DateCalendar/DateCalendar.types.d.ts +1 -1
  29. package/DateCalendar/DayCalendar.d.ts +1 -1
  30. package/DateCalendar/DayCalendar.js +1 -1
  31. package/DateCalendar/PickersCalendarHeader.d.ts +1 -1
  32. package/DateCalendar/useCalendarState.js +1 -1
  33. package/DateCalendar/useIsDateDisabled.d.ts +2 -0
  34. package/DateCalendar/useIsDateDisabled.js +27 -0
  35. package/DateField/DateField.js +20 -3
  36. package/DateField/DateField.types.d.ts +2 -2
  37. package/DateField/useDateField.js +4 -2
  38. package/DatePicker/DatePickerToolbar.js +1 -1
  39. package/DateTimeField/DateTimeField.js +21 -3
  40. package/DateTimeField/DateTimeField.types.d.ts +3 -2
  41. package/DateTimeField/useDateTimeField.js +4 -2
  42. package/DateTimePicker/DateTimePicker.js +1 -0
  43. package/DateTimePicker/shared.d.ts +6 -5
  44. package/DesktopDatePicker/DesktopDatePicker.js +1 -1
  45. package/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  46. package/DesktopTimePicker/DesktopTimePicker.js +50 -8
  47. package/DesktopTimePicker/DesktopTimePicker.types.d.ts +12 -4
  48. package/DigitalClock/DigitalClock.d.ts +7 -0
  49. package/DigitalClock/DigitalClock.js +397 -0
  50. package/DigitalClock/DigitalClock.types.d.ts +47 -0
  51. package/DigitalClock/digitalClockClasses.d.ts +11 -0
  52. package/DigitalClock/digitalClockClasses.js +6 -0
  53. package/DigitalClock/index.d.ts +4 -0
  54. package/DigitalClock/index.js +2 -0
  55. package/DigitalClock/package.json +6 -0
  56. package/MobileDatePicker/MobileDatePicker.js +1 -1
  57. package/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
  58. package/MobileTimePicker/MobileTimePicker.js +2 -1
  59. package/MobileTimePicker/MobileTimePicker.types.d.ts +8 -7
  60. package/MonthCalendar/MonthCalendar.types.d.ts +1 -1
  61. package/MultiSectionDigitalClock/MultiSectionDigitalClock.d.ts +7 -0
  62. package/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
  63. package/MultiSectionDigitalClock/MultiSectionDigitalClock.types.d.ts +57 -0
  64. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.d.ts +22 -0
  65. package/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  66. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.d.ts +28 -0
  67. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +151 -0
  68. package/MultiSectionDigitalClock/index.d.ts +7 -0
  69. package/MultiSectionDigitalClock/index.js +3 -0
  70. package/MultiSectionDigitalClock/multiSectionDigitalClockClasses.d.ts +7 -0
  71. package/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  72. package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.d.ts +9 -0
  73. package/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  74. package/MultiSectionDigitalClock/package.json +6 -0
  75. package/PickersDay/PickersDay.js +4 -1
  76. package/PickersLayout/PickersLayout.d.ts +2 -2
  77. package/PickersLayout/PickersLayout.js +2 -2
  78. package/PickersLayout/PickersLayout.types.d.ts +7 -8
  79. package/PickersLayout/usePickerLayout.d.ts +2 -2
  80. package/README.md +0 -9
  81. package/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
  82. package/StaticTimePicker/StaticTimePicker.js +2 -1
  83. package/StaticTimePicker/StaticTimePicker.types.d.ts +1 -1
  84. package/TimeClock/TimeClock.js +35 -12
  85. package/TimeClock/TimeClock.types.d.ts +4 -67
  86. package/TimeField/TimeField.js +21 -3
  87. package/TimeField/TimeField.types.d.ts +3 -2
  88. package/TimeField/useTimeField.js +4 -2
  89. package/TimePicker/TimePicker.js +25 -2
  90. package/TimePicker/TimePicker.types.d.ts +4 -3
  91. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  92. package/TimePicker/TimePickerToolbar.js +2 -2
  93. package/TimePicker/shared.d.ts +9 -7
  94. package/YearCalendar/YearCalendar.types.d.ts +1 -1
  95. package/dateViewRenderers/dateViewRenderers.d.ts +2 -2
  96. package/index.d.ts +2 -0
  97. package/index.js +4 -1
  98. package/internals/components/PickersToolbar.d.ts +3 -3
  99. package/internals/constants/dimensions.d.ts +1 -0
  100. package/internals/constants/dimensions.js +2 -1
  101. package/internals/demo/DemoContainer.js +4 -1
  102. package/internals/hooks/date-helpers-hooks.d.ts +3 -2
  103. package/internals/hooks/date-helpers-hooks.js +3 -3
  104. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
  105. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  106. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +7 -6
  107. package/internals/hooks/useField/useField.js +12 -11
  108. package/internals/hooks/useField/useField.types.d.ts +19 -4
  109. package/internals/hooks/useField/useField.utils.d.ts +8 -5
  110. package/internals/hooks/useField/useField.utils.js +60 -34
  111. package/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  112. package/internals/hooks/useField/useFieldState.js +4 -3
  113. package/internals/hooks/useIsLandscape.d.ts +2 -2
  114. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
  115. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +7 -6
  116. package/internals/hooks/usePicker/usePicker.d.ts +4 -3
  117. package/internals/hooks/usePicker/usePicker.types.d.ts +6 -5
  118. package/internals/hooks/usePicker/usePickerLayoutProps.d.ts +5 -6
  119. package/internals/hooks/usePicker/usePickerValue.d.ts +1 -1
  120. package/internals/hooks/usePicker/usePickerValue.js +1 -1
  121. package/internals/hooks/usePicker/usePickerValue.types.d.ts +1 -1
  122. package/internals/hooks/usePicker/usePickerViews.d.ts +11 -11
  123. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
  124. package/internals/hooks/useStaticPicker/useStaticPicker.types.d.ts +6 -5
  125. package/internals/hooks/{validation/useValidation.d.ts → useValidation.d.ts} +1 -1
  126. package/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  127. package/internals/hooks/useViews.d.ts +8 -6
  128. package/internals/hooks/useViews.js +29 -13
  129. package/internals/index.d.ts +7 -7
  130. package/internals/index.js +5 -5
  131. package/internals/models/common.d.ts +3 -0
  132. package/internals/models/index.d.ts +1 -0
  133. package/internals/models/index.js +2 -1
  134. package/internals/models/props/basePickerProps.d.ts +3 -3
  135. package/internals/models/props/clock.d.ts +88 -0
  136. package/internals/models/props/tabs.d.ts +2 -2
  137. package/internals/models/props/toolbar.d.ts +3 -3
  138. package/internals/{hooks/validation/models.d.ts → models/validation.d.ts} +2 -5
  139. package/internals/models/validation.js +1 -0
  140. package/internals/utils/time-utils.d.ts +7 -7
  141. package/internals/utils/time-utils.js +2 -1
  142. package/internals/{hooks/validation/useDateValidation.d.ts → utils/validation/validateDate.d.ts} +2 -3
  143. package/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
  144. package/internals/{hooks/validation/useDateTimeValidation.d.ts → utils/validation/validateDateTime.d.ts} +3 -3
  145. package/{modern/internals/hooks/validation/useDateTimeValidation.js → internals/utils/validation/validateDateTime.js} +2 -2
  146. package/internals/{hooks/validation/useTimeValidation.d.ts → utils/validation/validateTime.d.ts} +2 -2
  147. package/{modern/internals/hooks/validation/useTimeValidation.js → internals/utils/validation/validateTime.js} +1 -1
  148. package/internals/utils/views.d.ts +3 -2
  149. package/legacy/AdapterDateFns/AdapterDateFns.js +606 -0
  150. package/legacy/AdapterDateFns/index.js +1 -165
  151. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +620 -0
  152. package/legacy/AdapterDateFnsJalali/index.js +1 -165
  153. package/legacy/AdapterDayjs/AdapterDayjs.js +146 -111
  154. package/legacy/AdapterLuxon/AdapterLuxon.js +524 -0
  155. package/legacy/AdapterLuxon/index.js +1 -127
  156. package/legacy/AdapterMoment/AdapterMoment.js +422 -0
  157. package/legacy/AdapterMoment/index.js +1 -115
  158. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +284 -0
  159. package/legacy/AdapterMomentHijri/index.js +1 -90
  160. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +291 -0
  161. package/legacy/AdapterMomentJalaali/index.js +1 -103
  162. package/legacy/DateCalendar/DayCalendar.js +1 -1
  163. package/legacy/DateCalendar/useCalendarState.js +1 -1
  164. package/legacy/DateCalendar/useIsDateDisabled.js +28 -0
  165. package/legacy/DateField/DateField.js +20 -3
  166. package/legacy/DateField/useDateField.js +4 -2
  167. package/legacy/DatePicker/DatePickerToolbar.js +1 -1
  168. package/legacy/DateTimeField/DateTimeField.js +21 -3
  169. package/legacy/DateTimeField/useDateTimeField.js +4 -2
  170. package/legacy/DateTimePicker/DateTimePicker.js +1 -0
  171. package/legacy/DesktopDatePicker/DesktopDatePicker.js +1 -1
  172. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  173. package/legacy/DesktopTimePicker/DesktopTimePicker.js +51 -8
  174. package/legacy/DigitalClock/DigitalClock.js +419 -0
  175. package/legacy/DigitalClock/DigitalClock.types.js +1 -0
  176. package/legacy/DigitalClock/digitalClockClasses.js +6 -0
  177. package/legacy/DigitalClock/index.js +2 -0
  178. package/legacy/MobileDatePicker/MobileDatePicker.js +1 -1
  179. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
  180. package/legacy/MobileTimePicker/MobileTimePicker.js +2 -1
  181. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.js +508 -0
  182. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
  183. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  184. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +157 -0
  185. package/legacy/MultiSectionDigitalClock/index.js +3 -0
  186. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  187. package/legacy/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  188. package/legacy/PickersDay/PickersDay.js +3 -1
  189. package/legacy/PickersLayout/PickersLayout.js +2 -2
  190. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
  191. package/legacy/StaticTimePicker/StaticTimePicker.js +2 -1
  192. package/legacy/TimeClock/TimeClock.js +35 -12
  193. package/legacy/TimeField/TimeField.js +21 -3
  194. package/legacy/TimeField/useTimeField.js +4 -2
  195. package/legacy/TimePicker/TimePicker.js +25 -2
  196. package/legacy/TimePicker/TimePickerToolbar.js +2 -2
  197. package/legacy/index.js +4 -1
  198. package/legacy/internals/constants/dimensions.js +2 -1
  199. package/legacy/internals/demo/DemoContainer.js +4 -1
  200. package/legacy/internals/hooks/date-helpers-hooks.js +3 -3
  201. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  202. package/legacy/internals/hooks/useField/useField.js +11 -10
  203. package/legacy/internals/hooks/useField/useField.utils.js +58 -34
  204. package/legacy/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  205. package/legacy/internals/hooks/useField/useFieldState.js +6 -4
  206. package/legacy/internals/hooks/usePicker/usePickerValue.js +1 -1
  207. package/legacy/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  208. package/legacy/internals/hooks/useViews.js +30 -14
  209. package/legacy/internals/index.js +5 -5
  210. package/legacy/internals/models/index.js +2 -1
  211. package/legacy/internals/models/props/clock.js +1 -0
  212. package/legacy/internals/models/validation.js +1 -0
  213. package/legacy/internals/utils/time-utils.js +2 -1
  214. package/legacy/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -28
  215. package/legacy/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +2 -2
  216. package/legacy/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
  217. package/legacy/locales/beBY.js +5 -3
  218. package/legacy/locales/caES.js +6 -1
  219. package/legacy/locales/csCZ.js +6 -4
  220. package/legacy/locales/daDK.js +6 -2
  221. package/legacy/locales/deDE.js +6 -2
  222. package/legacy/locales/enUS.js +4 -0
  223. package/legacy/locales/esES.js +6 -1
  224. package/legacy/locales/faIR.js +11 -1
  225. package/legacy/locales/fiFI.js +6 -1
  226. package/legacy/locales/frFR.js +6 -1
  227. package/legacy/locales/heIL.js +6 -1
  228. package/legacy/locales/huHU.js +6 -2
  229. package/legacy/locales/index.js +1 -0
  230. package/legacy/locales/isIS.js +11 -1
  231. package/legacy/locales/itIT.js +6 -1
  232. package/legacy/locales/jaJP.js +6 -2
  233. package/legacy/locales/koKR.js +6 -1
  234. package/legacy/locales/kzKZ.js +6 -2
  235. package/legacy/locales/nbNO.js +11 -1
  236. package/legacy/locales/nlNL.js +11 -1
  237. package/legacy/locales/plPL.js +11 -1
  238. package/legacy/locales/ptBR.js +11 -1
  239. package/legacy/locales/ruRU.js +6 -2
  240. package/legacy/locales/svSE.js +11 -1
  241. package/legacy/locales/trTR.js +22 -7
  242. package/legacy/locales/ukUA.js +11 -1
  243. package/legacy/locales/urPK.js +11 -1
  244. package/legacy/locales/zhCN.js +44 -23
  245. package/legacy/models/common.js +1 -0
  246. package/legacy/models/index.js +2 -1
  247. package/legacy/tests/describeAdapters/describeAdapters.js +1 -3
  248. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  249. package/legacy/tests/describeGregorianAdapter/testCalculations.js +29 -26
  250. package/legacy/tests/describeGregorianAdapter/testLocalization.js +2 -2
  251. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  252. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  253. package/legacy/tests/describeHijriAdapter/index.js +1 -0
  254. package/legacy/tests/describeHijriAdapter/testCalculations.js +94 -0
  255. package/legacy/tests/describeHijriAdapter/testLocalization.js +12 -0
  256. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  257. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  258. package/legacy/tests/describeJalaliAdapter/index.js +1 -0
  259. package/legacy/tests/describeJalaliAdapter/testCalculations.js +82 -0
  260. package/legacy/tests/describeJalaliAdapter/testLocalization.js +12 -0
  261. package/legacy/tests/describePicker/describePicker.js +159 -0
  262. package/legacy/tests/describePicker/describePicker.types.js +1 -0
  263. package/legacy/tests/describePicker/index.js +1 -0
  264. package/legacy/tests/describeValue/describeValue.js +1 -1
  265. package/legacy/tests/describeValue/testControlledUnControlled.js +8 -9
  266. package/legacy/tests/describeValue/testPickerActionBar.js +46 -13
  267. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  268. package/legacy/timeViewRenderers/index.js +1 -1
  269. package/legacy/timeViewRenderers/timeViewRenderers.js +132 -4
  270. package/locales/beBY.d.ts +4 -2
  271. package/locales/beBY.js +3 -3
  272. package/locales/caES.d.ts +4 -2
  273. package/locales/caES.js +4 -1
  274. package/locales/csCZ.d.ts +4 -2
  275. package/locales/csCZ.js +4 -4
  276. package/locales/daDK.d.ts +4 -2
  277. package/locales/daDK.js +4 -2
  278. package/locales/deDE.d.ts +4 -2
  279. package/locales/deDE.js +4 -2
  280. package/locales/enUS.d.ts +3 -2
  281. package/locales/enUS.js +2 -0
  282. package/locales/esES.d.ts +4 -2
  283. package/locales/esES.js +4 -1
  284. package/locales/faIR.d.ts +4 -2
  285. package/locales/faIR.js +9 -1
  286. package/locales/fiFI.d.ts +4 -2
  287. package/locales/fiFI.js +4 -1
  288. package/locales/frFR.d.ts +4 -2
  289. package/locales/frFR.js +4 -1
  290. package/locales/heIL.d.ts +4 -2
  291. package/locales/heIL.js +4 -1
  292. package/locales/huHU.d.ts +4 -2
  293. package/locales/huHU.js +4 -2
  294. package/locales/index.d.ts +1 -0
  295. package/locales/index.js +1 -0
  296. package/locales/isIS.d.ts +4 -2
  297. package/locales/isIS.js +9 -1
  298. package/locales/itIT.d.ts +4 -2
  299. package/locales/itIT.js +4 -1
  300. package/locales/jaJP.d.ts +4 -2
  301. package/locales/jaJP.js +4 -2
  302. package/locales/koKR.d.ts +4 -2
  303. package/locales/koKR.js +4 -1
  304. package/locales/kzKZ.d.ts +4 -2
  305. package/locales/kzKZ.js +4 -2
  306. package/locales/nbNO.d.ts +4 -2
  307. package/locales/nbNO.js +9 -1
  308. package/locales/nlNL.d.ts +8 -7
  309. package/locales/nlNL.js +9 -1
  310. package/locales/plPL.d.ts +4 -2
  311. package/locales/plPL.js +9 -1
  312. package/locales/ptBR.d.ts +4 -2
  313. package/locales/ptBR.js +9 -1
  314. package/locales/ruRU.d.ts +4 -2
  315. package/locales/ruRU.js +4 -2
  316. package/locales/svSE.d.ts +4 -2
  317. package/locales/svSE.js +9 -1
  318. package/locales/trTR.d.ts +4 -2
  319. package/locales/trTR.js +14 -7
  320. package/locales/ukUA.d.ts +4 -2
  321. package/locales/ukUA.js +9 -1
  322. package/locales/urPK.d.ts +4 -2
  323. package/locales/urPK.js +9 -1
  324. package/locales/utils/getPickersLocalization.d.ts +3 -2
  325. package/locales/utils/pickersLocaleTextApi.d.ts +5 -3
  326. package/locales/zhCN.d.ts +4 -2
  327. package/locales/zhCN.js +22 -23
  328. package/models/adapters.d.ts +7 -6
  329. package/models/common.d.ts +5 -0
  330. package/models/common.js +1 -0
  331. package/models/fields.d.ts +19 -2
  332. package/models/index.d.ts +1 -0
  333. package/models/index.js +2 -1
  334. package/modern/AdapterDateFns/AdapterDateFns.js +597 -0
  335. package/modern/AdapterDateFns/index.js +1 -149
  336. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +608 -0
  337. package/modern/AdapterDateFnsJalali/index.js +1 -148
  338. package/modern/AdapterDayjs/AdapterDayjs.js +146 -111
  339. package/modern/AdapterLuxon/AdapterLuxon.js +512 -0
  340. package/modern/AdapterLuxon/index.js +1 -111
  341. package/modern/AdapterMoment/AdapterMoment.js +416 -0
  342. package/modern/AdapterMoment/index.js +1 -99
  343. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +269 -0
  344. package/modern/AdapterMomentHijri/index.js +1 -74
  345. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +276 -0
  346. package/modern/AdapterMomentJalaali/index.js +1 -87
  347. package/modern/DateCalendar/DayCalendar.js +1 -1
  348. package/modern/DateCalendar/useCalendarState.js +1 -1
  349. package/modern/DateCalendar/useIsDateDisabled.js +27 -0
  350. package/modern/DateField/DateField.js +20 -3
  351. package/modern/DateField/useDateField.js +4 -2
  352. package/modern/DatePicker/DatePickerToolbar.js +1 -1
  353. package/modern/DateTimeField/DateTimeField.js +21 -3
  354. package/modern/DateTimeField/useDateTimeField.js +4 -2
  355. package/modern/DateTimePicker/DateTimePicker.js +1 -0
  356. package/modern/DesktopDatePicker/DesktopDatePicker.js +1 -1
  357. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +2 -1
  358. package/modern/DesktopTimePicker/DesktopTimePicker.js +49 -7
  359. package/modern/DigitalClock/DigitalClock.js +396 -0
  360. package/modern/DigitalClock/DigitalClock.types.js +1 -0
  361. package/modern/DigitalClock/digitalClockClasses.js +6 -0
  362. package/modern/DigitalClock/index.js +2 -0
  363. package/modern/MobileDatePicker/MobileDatePicker.js +1 -1
  364. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +2 -1
  365. package/modern/MobileTimePicker/MobileTimePicker.js +2 -1
  366. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.js +479 -0
  367. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +1 -0
  368. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +65 -0
  369. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +149 -0
  370. package/modern/MultiSectionDigitalClock/index.js +3 -0
  371. package/modern/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +6 -0
  372. package/modern/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +6 -0
  373. package/modern/PickersDay/PickersDay.js +4 -1
  374. package/modern/PickersLayout/PickersLayout.js +2 -2
  375. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +2 -1
  376. package/modern/StaticTimePicker/StaticTimePicker.js +2 -1
  377. package/modern/TimeClock/TimeClock.js +35 -12
  378. package/modern/TimeField/TimeField.js +21 -3
  379. package/modern/TimeField/useTimeField.js +4 -2
  380. package/modern/TimePicker/TimePicker.js +25 -2
  381. package/modern/TimePicker/TimePickerToolbar.js +2 -2
  382. package/modern/index.js +4 -1
  383. package/modern/internals/constants/dimensions.js +2 -1
  384. package/modern/internals/demo/DemoContainer.js +4 -1
  385. package/modern/internals/hooks/date-helpers-hooks.js +3 -3
  386. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  387. package/modern/internals/hooks/useField/useField.js +12 -11
  388. package/modern/internals/hooks/useField/useField.utils.js +60 -34
  389. package/modern/internals/hooks/useField/useFieldCharacterEditing.js +18 -10
  390. package/modern/internals/hooks/useField/useFieldState.js +4 -3
  391. package/modern/internals/hooks/usePicker/usePickerValue.js +1 -1
  392. package/modern/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  393. package/modern/internals/hooks/useViews.js +29 -13
  394. package/modern/internals/index.js +5 -5
  395. package/modern/internals/models/index.js +2 -1
  396. package/modern/internals/models/props/clock.js +1 -0
  397. package/modern/internals/models/validation.js +1 -0
  398. package/modern/internals/utils/time-utils.js +2 -1
  399. package/modern/internals/{hooks/validation/useDateValidation.js → utils/validation/validateDate.js} +1 -27
  400. package/{internals/hooks/validation/useDateTimeValidation.js → modern/internals/utils/validation/validateDateTime.js} +2 -2
  401. package/{internals/hooks/validation/useTimeValidation.js → modern/internals/utils/validation/validateTime.js} +1 -1
  402. package/modern/locales/beBY.js +3 -3
  403. package/modern/locales/caES.js +4 -1
  404. package/modern/locales/csCZ.js +4 -4
  405. package/modern/locales/daDK.js +4 -2
  406. package/modern/locales/deDE.js +4 -2
  407. package/modern/locales/enUS.js +2 -0
  408. package/modern/locales/esES.js +4 -1
  409. package/modern/locales/faIR.js +9 -1
  410. package/modern/locales/fiFI.js +4 -1
  411. package/modern/locales/frFR.js +4 -1
  412. package/modern/locales/heIL.js +4 -1
  413. package/modern/locales/huHU.js +4 -2
  414. package/modern/locales/index.js +1 -0
  415. package/modern/locales/isIS.js +9 -1
  416. package/modern/locales/itIT.js +4 -1
  417. package/modern/locales/jaJP.js +4 -2
  418. package/modern/locales/koKR.js +4 -1
  419. package/modern/locales/kzKZ.js +4 -2
  420. package/modern/locales/nbNO.js +9 -1
  421. package/modern/locales/nlNL.js +9 -1
  422. package/modern/locales/plPL.js +9 -1
  423. package/modern/locales/ptBR.js +9 -1
  424. package/modern/locales/ruRU.js +4 -2
  425. package/modern/locales/svSE.js +9 -1
  426. package/modern/locales/trTR.js +14 -7
  427. package/modern/locales/ukUA.js +9 -1
  428. package/modern/locales/urPK.js +9 -1
  429. package/modern/locales/zhCN.js +22 -23
  430. package/modern/models/common.js +1 -0
  431. package/modern/models/index.js +2 -1
  432. package/modern/tests/describeAdapters/describeAdapters.js +1 -3
  433. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  434. package/modern/tests/describeGregorianAdapter/testCalculations.js +29 -26
  435. package/modern/tests/describeGregorianAdapter/testLocalization.js +2 -2
  436. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  437. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  438. package/modern/tests/describeHijriAdapter/index.js +1 -0
  439. package/modern/tests/describeHijriAdapter/testCalculations.js +91 -0
  440. package/modern/tests/describeHijriAdapter/testLocalization.js +13 -0
  441. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  442. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  443. package/modern/tests/describeJalaliAdapter/index.js +1 -0
  444. package/modern/tests/describeJalaliAdapter/testCalculations.js +83 -0
  445. package/modern/tests/describeJalaliAdapter/testLocalization.js +13 -0
  446. package/modern/tests/describePicker/describePicker.js +162 -0
  447. package/modern/tests/describePicker/describePicker.types.js +1 -0
  448. package/modern/tests/describePicker/index.js +1 -0
  449. package/modern/tests/describeValue/describeValue.js +1 -1
  450. package/modern/tests/describeValue/testControlledUnControlled.js +8 -9
  451. package/modern/tests/describeValue/testPickerActionBar.js +46 -13
  452. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  453. package/modern/timeViewRenderers/index.js +1 -1
  454. package/modern/timeViewRenderers/timeViewRenderers.js +130 -2
  455. package/node/AdapterDateFns/AdapterDateFns.js +607 -0
  456. package/node/AdapterDateFns/index.js +6 -152
  457. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +618 -0
  458. package/node/AdapterDateFnsJalali/index.js +6 -151
  459. package/node/AdapterDayjs/AdapterDayjs.js +146 -111
  460. package/node/AdapterLuxon/AdapterLuxon.js +521 -0
  461. package/node/AdapterLuxon/index.js +6 -114
  462. package/node/AdapterMoment/AdapterMoment.js +425 -0
  463. package/node/AdapterMoment/index.js +6 -102
  464. package/node/AdapterMomentHijri/AdapterMomentHijri.js +278 -0
  465. package/node/AdapterMomentHijri/index.js +6 -77
  466. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +285 -0
  467. package/node/AdapterMomentJalaali/index.js +6 -90
  468. package/node/DateCalendar/DayCalendar.js +2 -2
  469. package/node/DateCalendar/useCalendarState.js +2 -2
  470. package/node/{internals/hooks/validation/useDateValidation.js → DateCalendar/useIsDateDisabled.js} +4 -37
  471. package/node/DateField/DateField.js +20 -3
  472. package/node/DateField/useDateField.js +5 -3
  473. package/node/DatePicker/DatePickerToolbar.js +1 -1
  474. package/node/DateTimeField/DateTimeField.js +21 -3
  475. package/node/DateTimeField/useDateTimeField.js +5 -3
  476. package/node/DateTimePicker/DateTimePicker.js +1 -0
  477. package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
  478. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +3 -2
  479. package/node/DesktopTimePicker/DesktopTimePicker.js +50 -8
  480. package/node/DigitalClock/DigitalClock.js +406 -0
  481. package/node/DigitalClock/digitalClockClasses.js +15 -0
  482. package/node/DigitalClock/index.js +25 -0
  483. package/node/MobileDatePicker/MobileDatePicker.js +2 -2
  484. package/node/MobileDateTimePicker/MobileDateTimePicker.js +3 -2
  485. package/node/MobileTimePicker/MobileTimePicker.js +3 -2
  486. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +489 -0
  487. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.types.js +5 -0
  488. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.utils.js +73 -0
  489. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +159 -0
  490. package/node/MultiSectionDigitalClock/index.js +32 -0
  491. package/node/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +15 -0
  492. package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +15 -0
  493. package/node/PickersDay/PickersDay.js +4 -1
  494. package/node/PickersLayout/PickersLayout.js +2 -2
  495. package/node/StaticDateTimePicker/StaticDateTimePicker.js +3 -2
  496. package/node/StaticTimePicker/StaticTimePicker.js +3 -2
  497. package/node/TimeClock/TimeClock.js +35 -12
  498. package/node/TimeField/TimeField.js +21 -3
  499. package/node/TimeField/useTimeField.js +5 -3
  500. package/node/TimePicker/TimePicker.js +25 -2
  501. package/node/TimePicker/TimePickerToolbar.js +2 -2
  502. package/node/index.js +25 -1
  503. package/node/internals/constants/dimensions.js +4 -2
  504. package/node/internals/demo/DemoContainer.js +4 -1
  505. package/node/internals/hooks/date-helpers-hooks.js +3 -3
  506. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +2 -1
  507. package/node/internals/hooks/useField/useField.js +12 -11
  508. package/node/internals/hooks/useField/useField.utils.js +63 -36
  509. package/node/internals/hooks/useField/useFieldCharacterEditing.js +17 -9
  510. package/node/internals/hooks/useField/useFieldState.js +4 -3
  511. package/node/internals/hooks/usePicker/usePickerValue.js +1 -1
  512. package/node/internals/hooks/{validation/useValidation.js → useValidation.js} +1 -1
  513. package/node/internals/hooks/useViews.js +29 -13
  514. package/node/internals/index.js +9 -9
  515. package/node/internals/models/index.js +11 -0
  516. package/node/internals/models/props/clock.js +5 -0
  517. package/node/internals/models/validation.js +5 -0
  518. package/node/internals/utils/time-utils.js +2 -1
  519. package/node/internals/utils/validation/validateDate.js +40 -0
  520. package/node/internals/{hooks/validation/useDateTimeValidation.js → utils/validation/validateDateTime.js} +4 -4
  521. package/node/internals/{hooks/validation/useTimeValidation.js → utils/validation/validateTime.js} +1 -1
  522. package/node/locales/beBY.js +3 -3
  523. package/node/locales/caES.js +4 -1
  524. package/node/locales/csCZ.js +4 -2
  525. package/node/locales/daDK.js +4 -1
  526. package/node/locales/deDE.js +4 -1
  527. package/node/locales/enUS.js +2 -0
  528. package/node/locales/esES.js +4 -1
  529. package/node/locales/faIR.js +9 -1
  530. package/node/locales/fiFI.js +4 -1
  531. package/node/locales/frFR.js +4 -1
  532. package/node/locales/heIL.js +4 -1
  533. package/node/locales/huHU.js +4 -1
  534. package/node/locales/index.js +11 -0
  535. package/node/locales/isIS.js +9 -1
  536. package/node/locales/itIT.js +4 -1
  537. package/node/locales/jaJP.js +4 -1
  538. package/node/locales/koKR.js +4 -1
  539. package/node/locales/kzKZ.js +4 -1
  540. package/node/locales/nbNO.js +9 -1
  541. package/node/locales/nlNL.js +9 -1
  542. package/node/locales/plPL.js +9 -1
  543. package/node/locales/ptBR.js +9 -1
  544. package/node/locales/ruRU.js +4 -1
  545. package/node/locales/svSE.js +9 -1
  546. package/node/locales/trTR.js +14 -7
  547. package/node/locales/ukUA.js +9 -1
  548. package/node/locales/urPK.js +9 -1
  549. package/node/locales/zhCN.js +22 -23
  550. package/node/models/common.js +5 -0
  551. package/node/models/index.js +11 -0
  552. package/node/tests/describeAdapters/describeAdapters.js +1 -3
  553. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  554. package/node/tests/describeGregorianAdapter/testCalculations.js +29 -26
  555. package/node/tests/describeGregorianAdapter/testLocalization.js +2 -2
  556. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +31 -0
  557. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +5 -0
  558. package/node/tests/describeHijriAdapter/index.js +12 -0
  559. package/node/tests/describeHijriAdapter/testCalculations.js +98 -0
  560. package/node/tests/describeHijriAdapter/testLocalization.js +20 -0
  561. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +33 -0
  562. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +5 -0
  563. package/node/tests/describeJalaliAdapter/index.js +12 -0
  564. package/node/tests/describeJalaliAdapter/testCalculations.js +90 -0
  565. package/node/tests/describeJalaliAdapter/testLocalization.js +20 -0
  566. package/node/tests/describePicker/describePicker.js +173 -0
  567. package/node/tests/describePicker/describePicker.types.js +5 -0
  568. package/node/tests/describePicker/index.js +12 -0
  569. package/node/tests/describeValue/describeValue.js +1 -1
  570. package/node/tests/describeValue/testControlledUnControlled.js +8 -9
  571. package/node/tests/describeValue/testPickerActionBar.js +46 -13
  572. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  573. package/node/timeViewRenderers/index.js +12 -0
  574. package/node/timeViewRenderers/timeViewRenderers.js +134 -4
  575. package/package.json +3 -10
  576. package/tests/describeAdapters/describeAdapters.js +1 -3
  577. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +3 -1
  578. package/tests/describeGregorianAdapter/testCalculations.js +29 -26
  579. package/tests/describeGregorianAdapter/testLocalization.js +2 -2
  580. package/tests/describeHijriAdapter/describeHijriAdapter.js +23 -0
  581. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +1 -0
  582. package/tests/describeHijriAdapter/index.js +1 -0
  583. package/tests/describeHijriAdapter/testCalculations.js +91 -0
  584. package/tests/describeHijriAdapter/testLocalization.js +13 -0
  585. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +25 -0
  586. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +1 -0
  587. package/tests/describeJalaliAdapter/index.js +1 -0
  588. package/tests/describeJalaliAdapter/testCalculations.js +83 -0
  589. package/tests/describeJalaliAdapter/testLocalization.js +13 -0
  590. package/tests/describePicker/describePicker.js +162 -0
  591. package/tests/describePicker/describePicker.types.js +1 -0
  592. package/tests/describePicker/index.js +1 -0
  593. package/tests/describeValue/describeValue.js +1 -1
  594. package/tests/describeValue/testControlledUnControlled.js +8 -9
  595. package/tests/describeValue/testPickerActionBar.js +46 -13
  596. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -5
  597. package/themeAugmentation/components.d.ts +12 -0
  598. package/themeAugmentation/overrides.d.ts +8 -0
  599. package/themeAugmentation/props.d.ts +8 -0
  600. package/timeViewRenderers/index.d.ts +1 -1
  601. package/timeViewRenderers/index.js +1 -1
  602. package/timeViewRenderers/timeViewRenderers.d.ts +11 -4
  603. package/timeViewRenderers/timeViewRenderers.js +130 -2
  604. /package/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
  605. /package/{legacy/internals/hooks/validation/models.js → MultiSectionDigitalClock/MultiSectionDigitalClock.types.js} +0 -0
  606. /package/{modern/internals/hooks/validation/models.js → internals/models/props/clock.js} +0 -0
  607. /package/internals/utils/{validation.d.ts → validation/extractValidationProps.d.ts} +0 -0
  608. /package/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  609. /package/legacy/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  610. /package/modern/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
  611. /package/node/{internals/hooks/validation/models.js → DigitalClock/DigitalClock.types.js} +0 -0
  612. /package/node/internals/utils/{validation.js → validation/extractValidationProps.js} +0 -0
@@ -0,0 +1,109 @@
1
+ import defaultLocale from 'date-fns/locale/en-US';
2
+ import { AdapterFormats, AdapterUnits, FieldFormatTokenMap, MuiPickersAdapter } from '../models';
3
+ type DateFnsLocale = typeof defaultLocale;
4
+ interface AdapterDateFnsOptions {
5
+ locale?: DateFnsLocale;
6
+ formats?: Partial<AdapterFormats>;
7
+ }
8
+ /**
9
+ * Based on `@date-io/date-fns`
10
+ *
11
+ * MIT License
12
+ *
13
+ * Copyright (c) 2017 Dmitriy Kovalenko
14
+ *
15
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
16
+ * of this software and associated documentation files (the "Software"), to deal
17
+ * in the Software without restriction, including without limitation the rights
18
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
19
+ * copies of the Software, and to permit persons to whom the Software is
20
+ * furnished to do so, subject to the following conditions:
21
+ *
22
+ * The above copyright notice and this permission notice shall be included in all
23
+ * copies or substantial portions of the Software.
24
+ *
25
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
+ * SOFTWARE.
32
+ */
33
+ export declare class AdapterDateFns implements MuiPickersAdapter<Date> {
34
+ isMUIAdapter: boolean;
35
+ lib: string;
36
+ locale?: DateFnsLocale;
37
+ formats: AdapterFormats;
38
+ formatTokenMap: FieldFormatTokenMap;
39
+ escapedCharacters: {
40
+ start: string;
41
+ end: string;
42
+ };
43
+ constructor({ locale, formats }?: AdapterDateFnsOptions);
44
+ date: (value?: any) => Date | null;
45
+ toJsDate: (value: Date) => Date;
46
+ parseISO: (isoString: string) => Date;
47
+ toISO: (value: Date) => string;
48
+ parse: (value: string, format: string) => Date | null;
49
+ getCurrentLocaleCode: () => string;
50
+ is12HourCycleInCurrentLocale: () => boolean;
51
+ expandFormat: (format: string) => string;
52
+ getFormatHelperText: (format: string) => string;
53
+ isNull: (value: Date | null) => boolean;
54
+ isValid: (value: any) => boolean;
55
+ format: (value: Date, formatKey: keyof AdapterFormats) => string;
56
+ formatByString: (value: Date, formatString: string) => string;
57
+ formatNumber: (numberToFormat: string) => string;
58
+ getDiff: (value: Date, comparing: Date | string, unit?: AdapterUnits) => number;
59
+ isEqual: (value: any, comparing: any) => boolean;
60
+ isSameYear: (value: Date, comparing: Date) => boolean;
61
+ isSameMonth: (value: Date, comparing: Date) => boolean;
62
+ isSameDay: (value: Date, comparing: Date) => boolean;
63
+ isSameHour: (value: Date, comparing: Date) => boolean;
64
+ isAfter: (value: Date, comparing: Date) => boolean;
65
+ isAfterYear: (value: Date, comparing: Date) => boolean;
66
+ isAfterDay: (value: Date, comparing: Date) => boolean;
67
+ isBefore: (value: Date, comparing: Date) => boolean;
68
+ isBeforeYear: (value: Date, comparing: Date) => boolean;
69
+ isBeforeDay: (value: Date, comparing: Date) => boolean;
70
+ isWithinRange: (value: Date, [start, end]: [Date, Date]) => boolean;
71
+ startOfYear: (value: Date) => Date;
72
+ startOfMonth: (value: Date) => Date;
73
+ startOfWeek: (value: Date) => Date;
74
+ startOfDay: (value: Date) => Date;
75
+ endOfYear: (value: Date) => Date;
76
+ endOfMonth: (value: Date) => Date;
77
+ endOfWeek: (value: Date) => Date;
78
+ endOfDay: (value: Date) => Date;
79
+ addYears: (value: Date, amount: number) => Date;
80
+ addMonths: (value: Date, amount: number) => Date;
81
+ addWeeks: (value: Date, amount: number) => Date;
82
+ addDays: (value: Date, amount: number) => Date;
83
+ addHours: (value: Date, amount: number) => Date;
84
+ addMinutes: (value: Date, amount: number) => Date;
85
+ addSeconds: (value: Date, amount: number) => Date;
86
+ getYear: (value: Date) => number;
87
+ getMonth: (value: Date) => number;
88
+ getDate: (value: Date) => number;
89
+ getHours: (value: Date) => number;
90
+ getMinutes: (value: Date) => number;
91
+ getSeconds: (value: Date) => number;
92
+ setYear: (value: Date, year: number) => Date;
93
+ setMonth: (value: Date, month: number) => Date;
94
+ setDate: (value: Date, date: number) => Date;
95
+ setHours: (value: Date, hours: number) => Date;
96
+ setMinutes: (value: Date, minutes: number) => Date;
97
+ setSeconds: (value: Date, seconds: number) => Date;
98
+ getDaysInMonth: (value: Date) => number;
99
+ getNextMonth: (value: Date) => Date;
100
+ getPreviousMonth: (value: Date) => Date;
101
+ getMonthArray: (value: Date) => Date[];
102
+ mergeDateAndTime: (dateParam: Date, timeParam: Date) => Date;
103
+ getWeekdays: () => string[];
104
+ getWeekArray: (value: Date) => Date[][];
105
+ getWeekNumber: (value: Date) => number;
106
+ getYearRange: (start: Date, end: Date) => Date[];
107
+ getMeridiemText: (ampm: 'am' | 'pm') => "AM" | "PM";
108
+ }
109
+ export {};
@@ -0,0 +1,598 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ /* eslint-disable class-methods-use-this */
3
+ import addDays from 'date-fns/addDays';
4
+ import addSeconds from 'date-fns/addSeconds';
5
+ import addMinutes from 'date-fns/addMinutes';
6
+ import addHours from 'date-fns/addHours';
7
+ import addWeeks from 'date-fns/addWeeks';
8
+ import addMonths from 'date-fns/addMonths';
9
+ import addYears from 'date-fns/addYears';
10
+ import differenceInYears from 'date-fns/differenceInYears';
11
+ import differenceInQuarters from 'date-fns/differenceInQuarters';
12
+ import differenceInMonths from 'date-fns/differenceInMonths';
13
+ import differenceInWeeks from 'date-fns/differenceInWeeks';
14
+ import differenceInDays from 'date-fns/differenceInDays';
15
+ import differenceInHours from 'date-fns/differenceInHours';
16
+ import differenceInMinutes from 'date-fns/differenceInMinutes';
17
+ import differenceInSeconds from 'date-fns/differenceInSeconds';
18
+ import differenceInMilliseconds from 'date-fns/differenceInMilliseconds';
19
+ import eachDayOfInterval from 'date-fns/eachDayOfInterval';
20
+ import endOfDay from 'date-fns/endOfDay';
21
+ import endOfWeek from 'date-fns/endOfWeek';
22
+ import endOfYear from 'date-fns/endOfYear';
23
+ import dateFnsFormat from 'date-fns/format';
24
+ import getDate from 'date-fns/getDate';
25
+ import getDay from 'date-fns/getDay';
26
+ import getDaysInMonth from 'date-fns/getDaysInMonth';
27
+ import getHours from 'date-fns/getHours';
28
+ import getMinutes from 'date-fns/getMinutes';
29
+ import getMonth from 'date-fns/getMonth';
30
+ import getSeconds from 'date-fns/getSeconds';
31
+ import getWeek from 'date-fns/getWeek';
32
+ import getYear from 'date-fns/getYear';
33
+ import isAfter from 'date-fns/isAfter';
34
+ import isBefore from 'date-fns/isBefore';
35
+ import isEqual from 'date-fns/isEqual';
36
+ import isSameDay from 'date-fns/isSameDay';
37
+ import isSameYear from 'date-fns/isSameYear';
38
+ import isSameMonth from 'date-fns/isSameMonth';
39
+ import isSameHour from 'date-fns/isSameHour';
40
+ import isValid from 'date-fns/isValid';
41
+ import dateFnsParse from 'date-fns/parse';
42
+ import setDate from 'date-fns/setDate';
43
+ import setHours from 'date-fns/setHours';
44
+ import setMinutes from 'date-fns/setMinutes';
45
+ import setMonth from 'date-fns/setMonth';
46
+ import setSeconds from 'date-fns/setSeconds';
47
+ import setYear from 'date-fns/setYear';
48
+ import startOfDay from 'date-fns/startOfDay';
49
+ import startOfMonth from 'date-fns/startOfMonth';
50
+ import endOfMonth from 'date-fns/endOfMonth';
51
+ import startOfWeek from 'date-fns/startOfWeek';
52
+ import startOfYear from 'date-fns/startOfYear';
53
+ import parseISO from 'date-fns/parseISO';
54
+ import formatISO from 'date-fns/formatISO';
55
+ import isWithinInterval from 'date-fns/isWithinInterval';
56
+ import defaultLocale from 'date-fns/locale/en-US';
57
+ // @ts-ignore
58
+ import longFormatters from 'date-fns/_lib/format/longFormatters';
59
+ const formatTokenMap = {
60
+ // Year
61
+ y: {
62
+ sectionType: 'year',
63
+ contentType: 'digit',
64
+ maxLength: 4
65
+ },
66
+ yy: 'year',
67
+ yyy: {
68
+ sectionType: 'year',
69
+ contentType: 'digit',
70
+ maxLength: 4
71
+ },
72
+ yyyy: 'year',
73
+ // Month
74
+ M: {
75
+ sectionType: 'month',
76
+ contentType: 'digit',
77
+ maxLength: 2
78
+ },
79
+ MM: 'month',
80
+ MMMM: {
81
+ sectionType: 'month',
82
+ contentType: 'letter'
83
+ },
84
+ MMM: {
85
+ sectionType: 'month',
86
+ contentType: 'letter'
87
+ },
88
+ L: {
89
+ sectionType: 'month',
90
+ contentType: 'digit',
91
+ maxLength: 2
92
+ },
93
+ LL: 'month',
94
+ LLL: {
95
+ sectionType: 'month',
96
+ contentType: 'letter'
97
+ },
98
+ LLLL: {
99
+ sectionType: 'month',
100
+ contentType: 'letter'
101
+ },
102
+ // Day of the month
103
+ d: {
104
+ sectionType: 'day',
105
+ contentType: 'digit',
106
+ maxLength: 2
107
+ },
108
+ dd: 'day',
109
+ do: {
110
+ sectionType: 'day',
111
+ contentType: 'digit-with-letter'
112
+ },
113
+ // Day of the week
114
+ E: {
115
+ sectionType: 'weekDay',
116
+ contentType: 'letter'
117
+ },
118
+ EE: {
119
+ sectionType: 'weekDay',
120
+ contentType: 'letter'
121
+ },
122
+ EEE: {
123
+ sectionType: 'weekDay',
124
+ contentType: 'letter'
125
+ },
126
+ EEEE: {
127
+ sectionType: 'weekDay',
128
+ contentType: 'letter'
129
+ },
130
+ EEEEE: {
131
+ sectionType: 'weekDay',
132
+ contentType: 'letter'
133
+ },
134
+ i: {
135
+ sectionType: 'weekDay',
136
+ contentType: 'digit',
137
+ maxLength: 1
138
+ },
139
+ ii: 'weekDay',
140
+ iii: {
141
+ sectionType: 'weekDay',
142
+ contentType: 'letter'
143
+ },
144
+ iiii: {
145
+ sectionType: 'weekDay',
146
+ contentType: 'letter'
147
+ },
148
+ e: {
149
+ sectionType: 'weekDay',
150
+ contentType: 'digit',
151
+ maxLength: 1
152
+ },
153
+ ee: 'weekDay',
154
+ eee: {
155
+ sectionType: 'weekDay',
156
+ contentType: 'letter'
157
+ },
158
+ eeee: {
159
+ sectionType: 'weekDay',
160
+ contentType: 'letter'
161
+ },
162
+ eeeee: {
163
+ sectionType: 'weekDay',
164
+ contentType: 'letter'
165
+ },
166
+ eeeeee: {
167
+ sectionType: 'weekDay',
168
+ contentType: 'letter'
169
+ },
170
+ c: {
171
+ sectionType: 'weekDay',
172
+ contentType: 'digit',
173
+ maxLength: 1
174
+ },
175
+ cc: 'weekDay',
176
+ ccc: {
177
+ sectionType: 'weekDay',
178
+ contentType: 'letter'
179
+ },
180
+ cccc: {
181
+ sectionType: 'weekDay',
182
+ contentType: 'letter'
183
+ },
184
+ ccccc: {
185
+ sectionType: 'weekDay',
186
+ contentType: 'letter'
187
+ },
188
+ cccccc: {
189
+ sectionType: 'weekDay',
190
+ contentType: 'letter'
191
+ },
192
+ // Meridiem
193
+ a: 'meridiem',
194
+ aa: 'meridiem',
195
+ aaa: 'meridiem',
196
+ // Hours
197
+ H: {
198
+ sectionType: 'hours',
199
+ contentType: 'digit',
200
+ maxLength: 2
201
+ },
202
+ HH: 'hours',
203
+ h: {
204
+ sectionType: 'hours',
205
+ contentType: 'digit',
206
+ maxLength: 2
207
+ },
208
+ hh: 'hours',
209
+ // Minutes
210
+ m: {
211
+ sectionType: 'minutes',
212
+ contentType: 'digit',
213
+ maxLength: 2
214
+ },
215
+ mm: 'minutes',
216
+ // Seconds
217
+ s: {
218
+ sectionType: 'seconds',
219
+ contentType: 'digit',
220
+ maxLength: 2
221
+ },
222
+ ss: 'seconds'
223
+ };
224
+ const defaultFormats = {
225
+ dayOfMonth: 'd',
226
+ fullDate: 'PP',
227
+ fullDateWithWeekday: 'PPPP',
228
+ fullDateTime: 'PP p',
229
+ fullDateTime12h: 'PP hh:mm aa',
230
+ fullDateTime24h: 'PP HH:mm',
231
+ fullTime: 'p',
232
+ fullTime12h: 'hh:mm aa',
233
+ fullTime24h: 'HH:mm',
234
+ hours12h: 'hh',
235
+ hours24h: 'HH',
236
+ keyboardDate: 'P',
237
+ keyboardDateTime: 'P p',
238
+ keyboardDateTime12h: 'P hh:mm aa',
239
+ keyboardDateTime24h: 'P HH:mm',
240
+ minutes: 'mm',
241
+ month: 'LLLL',
242
+ monthAndDate: 'MMMM d',
243
+ monthAndYear: 'LLLL yyyy',
244
+ monthShort: 'MMM',
245
+ weekday: 'EEEE',
246
+ weekdayShort: 'EEE',
247
+ normalDate: 'd MMMM',
248
+ normalDateWithWeekday: 'EEE, MMM d',
249
+ seconds: 'ss',
250
+ shortDate: 'MMM d',
251
+ year: 'yyyy'
252
+ };
253
+
254
+ /**
255
+ * Based on `@date-io/date-fns`
256
+ *
257
+ * MIT License
258
+ *
259
+ * Copyright (c) 2017 Dmitriy Kovalenko
260
+ *
261
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
262
+ * of this software and associated documentation files (the "Software"), to deal
263
+ * in the Software without restriction, including without limitation the rights
264
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
265
+ * copies of the Software, and to permit persons to whom the Software is
266
+ * furnished to do so, subject to the following conditions:
267
+ *
268
+ * The above copyright notice and this permission notice shall be included in all
269
+ * copies or substantial portions of the Software.
270
+ *
271
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
272
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
273
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
274
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
275
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
276
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
277
+ * SOFTWARE.
278
+ */
279
+ export class AdapterDateFns {
280
+ constructor({
281
+ locale: _locale,
282
+ formats
283
+ } = {}) {
284
+ this.isMUIAdapter = true;
285
+ this.lib = 'date-fns';
286
+ this.locale = void 0;
287
+ this.formats = void 0;
288
+ this.formatTokenMap = formatTokenMap;
289
+ this.escapedCharacters = {
290
+ start: "'",
291
+ end: "'"
292
+ };
293
+ this.date = value => {
294
+ if (typeof value === 'undefined') {
295
+ return new Date();
296
+ }
297
+ if (value === null) {
298
+ return null;
299
+ }
300
+ return new Date(value);
301
+ };
302
+ this.toJsDate = value => {
303
+ return value;
304
+ };
305
+ this.parseISO = isoString => {
306
+ return parseISO(isoString);
307
+ };
308
+ this.toISO = value => {
309
+ return formatISO(value, {
310
+ format: 'extended'
311
+ });
312
+ };
313
+ this.parse = (value, format) => {
314
+ if (value === '') {
315
+ return null;
316
+ }
317
+ return dateFnsParse(value, format, new Date(), {
318
+ locale: this.locale
319
+ });
320
+ };
321
+ this.getCurrentLocaleCode = () => {
322
+ var _this$locale;
323
+ return ((_this$locale = this.locale) == null ? void 0 : _this$locale.code) || 'en-US';
324
+ };
325
+ // Note: date-fns input types are more lenient than this adapter, so we need to expose our more
326
+ // strict signature and delegate to the more lenient signature. Otherwise, we have downstream type errors upon usage.
327
+ this.is12HourCycleInCurrentLocale = () => {
328
+ if (this.locale) {
329
+ return /a/.test(this.locale.formatLong.time());
330
+ }
331
+
332
+ // By default, date-fns is using en-US locale with am/pm enabled
333
+ return true;
334
+ };
335
+ this.expandFormat = format => {
336
+ const longFormatRegexp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
337
+
338
+ // @see https://github.com/date-fns/date-fns/blob/master/src/format/index.js#L31
339
+ return format.match(longFormatRegexp).map(token => {
340
+ const firstCharacter = token[0];
341
+ if (firstCharacter === 'p' || firstCharacter === 'P') {
342
+ const longFormatter = longFormatters[firstCharacter];
343
+ const locale = this.locale || defaultLocale;
344
+ return longFormatter(token, locale.formatLong, {});
345
+ }
346
+ return token;
347
+ }).join('');
348
+ };
349
+ this.getFormatHelperText = format => {
350
+ return this.expandFormat(format).replace(/(aaa|aa|a)/g, '(a|p)m').toLocaleLowerCase();
351
+ };
352
+ this.isNull = value => {
353
+ return value === null;
354
+ };
355
+ this.isValid = value => {
356
+ return isValid(this.date(value));
357
+ };
358
+ this.format = (value, formatKey) => {
359
+ return this.formatByString(value, this.formats[formatKey]);
360
+ };
361
+ this.formatByString = (value, formatString) => {
362
+ return dateFnsFormat(value, formatString, {
363
+ locale: this.locale
364
+ });
365
+ };
366
+ this.formatNumber = numberToFormat => {
367
+ return numberToFormat;
368
+ };
369
+ this.getDiff = (value, comparing, unit) => {
370
+ switch (unit) {
371
+ case 'years':
372
+ return differenceInYears(value, this.date(comparing));
373
+ case 'quarters':
374
+ return differenceInQuarters(value, this.date(comparing));
375
+ case 'months':
376
+ return differenceInMonths(value, this.date(comparing));
377
+ case 'weeks':
378
+ return differenceInWeeks(value, this.date(comparing));
379
+ case 'days':
380
+ return differenceInDays(value, this.date(comparing));
381
+ case 'hours':
382
+ return differenceInHours(value, this.date(comparing));
383
+ case 'minutes':
384
+ return differenceInMinutes(value, this.date(comparing));
385
+ case 'seconds':
386
+ return differenceInSeconds(value, this.date(comparing));
387
+ default:
388
+ {
389
+ return differenceInMilliseconds(value, this.date(comparing));
390
+ }
391
+ }
392
+ };
393
+ this.isEqual = (value, comparing) => {
394
+ if (value === null && comparing === null) {
395
+ return true;
396
+ }
397
+ return isEqual(value, comparing);
398
+ };
399
+ this.isSameYear = (value, comparing) => {
400
+ return isSameYear(value, comparing);
401
+ };
402
+ this.isSameMonth = (value, comparing) => {
403
+ return isSameMonth(value, comparing);
404
+ };
405
+ this.isSameDay = (value, comparing) => {
406
+ return isSameDay(value, comparing);
407
+ };
408
+ this.isSameHour = (value, comparing) => {
409
+ return isSameHour(value, comparing);
410
+ };
411
+ this.isAfter = (value, comparing) => {
412
+ return isAfter(value, comparing);
413
+ };
414
+ this.isAfterYear = (value, comparing) => {
415
+ return isAfter(value, endOfYear(comparing));
416
+ };
417
+ this.isAfterDay = (value, comparing) => {
418
+ return isAfter(value, endOfDay(comparing));
419
+ };
420
+ this.isBefore = (value, comparing) => {
421
+ return isBefore(value, comparing);
422
+ };
423
+ this.isBeforeYear = (value, comparing) => {
424
+ return isBefore(value, startOfYear(comparing));
425
+ };
426
+ this.isBeforeDay = (value, comparing) => {
427
+ return isBefore(value, startOfDay(comparing));
428
+ };
429
+ this.isWithinRange = (value, [start, end]) => {
430
+ return isWithinInterval(value, {
431
+ start,
432
+ end
433
+ });
434
+ };
435
+ this.startOfYear = value => {
436
+ return startOfYear(value);
437
+ };
438
+ this.startOfMonth = value => {
439
+ return startOfMonth(value);
440
+ };
441
+ this.startOfWeek = value => {
442
+ return startOfWeek(value, {
443
+ locale: this.locale
444
+ });
445
+ };
446
+ this.startOfDay = value => {
447
+ return startOfDay(value);
448
+ };
449
+ this.endOfYear = value => {
450
+ return endOfYear(value);
451
+ };
452
+ this.endOfMonth = value => {
453
+ return endOfMonth(value);
454
+ };
455
+ this.endOfWeek = value => {
456
+ return endOfWeek(value, {
457
+ locale: this.locale
458
+ });
459
+ };
460
+ this.endOfDay = value => {
461
+ return endOfDay(value);
462
+ };
463
+ this.addYears = (value, amount) => {
464
+ return addYears(value, amount);
465
+ };
466
+ this.addMonths = (value, amount) => {
467
+ return addMonths(value, amount);
468
+ };
469
+ this.addWeeks = (value, amount) => {
470
+ return addWeeks(value, amount);
471
+ };
472
+ this.addDays = (value, amount) => {
473
+ return addDays(value, amount);
474
+ };
475
+ this.addHours = (value, amount) => {
476
+ return addHours(value, amount);
477
+ };
478
+ this.addMinutes = (value, amount) => {
479
+ return addMinutes(value, amount);
480
+ };
481
+ this.addSeconds = (value, amount) => {
482
+ return addSeconds(value, amount);
483
+ };
484
+ this.getYear = value => {
485
+ return getYear(value);
486
+ };
487
+ this.getMonth = value => {
488
+ return getMonth(value);
489
+ };
490
+ this.getDate = value => {
491
+ return getDate(value);
492
+ };
493
+ this.getHours = value => {
494
+ return getHours(value);
495
+ };
496
+ this.getMinutes = value => {
497
+ return getMinutes(value);
498
+ };
499
+ this.getSeconds = value => {
500
+ return getSeconds(value);
501
+ };
502
+ this.setYear = (value, year) => {
503
+ return setYear(value, year);
504
+ };
505
+ this.setMonth = (value, month) => {
506
+ return setMonth(value, month);
507
+ };
508
+ this.setDate = (value, date) => {
509
+ return setDate(value, date);
510
+ };
511
+ this.setHours = (value, hours) => {
512
+ return setHours(value, hours);
513
+ };
514
+ this.setMinutes = (value, minutes) => {
515
+ return setMinutes(value, minutes);
516
+ };
517
+ this.setSeconds = (value, seconds) => {
518
+ return setSeconds(value, seconds);
519
+ };
520
+ this.getDaysInMonth = value => {
521
+ return getDaysInMonth(value);
522
+ };
523
+ this.getNextMonth = value => {
524
+ return addMonths(value, 1);
525
+ };
526
+ this.getPreviousMonth = value => {
527
+ return addMonths(value, -1);
528
+ };
529
+ this.getMonthArray = value => {
530
+ const firstMonth = startOfYear(value);
531
+ const monthArray = [firstMonth];
532
+ while (monthArray.length < 12) {
533
+ const prevMonth = monthArray[monthArray.length - 1];
534
+ monthArray.push(this.getNextMonth(prevMonth));
535
+ }
536
+ return monthArray;
537
+ };
538
+ this.mergeDateAndTime = (dateParam, timeParam) => {
539
+ return this.setSeconds(this.setMinutes(this.setHours(dateParam, this.getHours(timeParam)), this.getMinutes(timeParam)), this.getSeconds(timeParam));
540
+ };
541
+ this.getWeekdays = () => {
542
+ const now = new Date();
543
+ return eachDayOfInterval({
544
+ start: startOfWeek(now, {
545
+ locale: this.locale
546
+ }),
547
+ end: endOfWeek(now, {
548
+ locale: this.locale
549
+ })
550
+ }).map(day => this.formatByString(day, 'EEEEEE'));
551
+ };
552
+ this.getWeekArray = value => {
553
+ const start = startOfWeek(startOfMonth(value), {
554
+ locale: this.locale
555
+ });
556
+ const end = endOfWeek(endOfMonth(value), {
557
+ locale: this.locale
558
+ });
559
+ let count = 0;
560
+ let current = start;
561
+ const nestedWeeks = [];
562
+ let lastDay = null;
563
+ while (isBefore(current, end)) {
564
+ const weekNumber = Math.floor(count / 7);
565
+ nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];
566
+ const day = getDay(current);
567
+ if (lastDay !== day) {
568
+ lastDay = day;
569
+ nestedWeeks[weekNumber].push(current);
570
+ count += 1;
571
+ }
572
+ current = addDays(current, 1);
573
+ }
574
+ return nestedWeeks;
575
+ };
576
+ this.getWeekNumber = value => {
577
+ return getWeek(value, {
578
+ locale: this.locale
579
+ });
580
+ };
581
+ this.getYearRange = (start, end) => {
582
+ const startDate = startOfYear(start);
583
+ const endDate = endOfYear(end);
584
+ const years = [];
585
+ let current = startDate;
586
+ while (isBefore(current, endDate)) {
587
+ years.push(current);
588
+ current = addYears(current, 1);
589
+ }
590
+ return years;
591
+ };
592
+ this.getMeridiemText = ampm => {
593
+ return ampm === 'am' ? 'AM' : 'PM';
594
+ };
595
+ this.locale = _locale;
596
+ this.formats = _extends({}, defaultFormats, formats);
597
+ }
598
+ }