@mui/x-date-pickers 6.2.1 → 6.3.1

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