@mui/x-date-pickers 6.15.0 → 6.16.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 (428) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/DateCalendar/DateCalendar.js +6 -2
  3. package/DateCalendar/DateCalendar.types.d.ts +1 -1
  4. package/DateCalendar/DayCalendar.d.ts +6 -5
  5. package/DateCalendar/DayCalendar.js +18 -6
  6. package/DateCalendar/dayCalendarClasses.d.ts +2 -0
  7. package/DateCalendar/dayCalendarClasses.js +1 -1
  8. package/DateField/DateField.js +32 -4
  9. package/DateField/DateField.types.d.ts +3 -2
  10. package/DatePicker/DatePicker.js +6 -2
  11. package/DateTimeField/DateTimeField.js +32 -4
  12. package/DateTimeField/DateTimeField.types.d.ts +3 -2
  13. package/DateTimePicker/DateTimePicker.js +6 -2
  14. package/DateTimePicker/DateTimePickerToolbar.js +1 -0
  15. package/DesktopDatePicker/DesktopDatePicker.js +6 -2
  16. package/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  17. package/MobileDatePicker/MobileDatePicker.js +6 -2
  18. package/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  19. package/StaticDatePicker/StaticDatePicker.js +6 -2
  20. package/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  21. package/TimeField/TimeField.js +29 -4
  22. package/TimeField/TimeField.types.d.ts +3 -2
  23. package/TimePicker/TimePickerToolbar.js +1 -0
  24. package/hooks/index.d.ts +1 -0
  25. package/hooks/index.js +1 -0
  26. package/hooks/package.json +6 -0
  27. package/hooks/useClearableField.d.ts +25 -0
  28. package/hooks/useClearableField.js +79 -0
  29. package/icons/index.d.ts +6 -0
  30. package/icons/index.js +8 -1
  31. package/index.d.ts +1 -0
  32. package/index.js +3 -2
  33. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  34. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +3 -2
  35. package/internals/hooks/useField/index.d.ts +1 -1
  36. package/internals/hooks/useField/useField.js +24 -6
  37. package/internals/hooks/useField/useField.types.d.ts +31 -1
  38. package/internals/index.d.ts +1 -1
  39. package/internals/models/props/toolbar.d.ts +3 -0
  40. package/internals/models/validation.d.ts +3 -0
  41. package/internals/utils/date-utils.d.ts +1 -0
  42. package/internals/utils/date-utils.js +4 -0
  43. package/legacy/DateCalendar/DateCalendar.js +6 -2
  44. package/legacy/DateCalendar/DayCalendar.js +22 -9
  45. package/legacy/DateCalendar/dayCalendarClasses.js +1 -1
  46. package/legacy/DateField/DateField.js +30 -3
  47. package/legacy/DatePicker/DatePicker.js +6 -2
  48. package/legacy/DateTimeField/DateTimeField.js +30 -3
  49. package/legacy/DateTimePicker/DateTimePicker.js +6 -2
  50. package/legacy/DateTimePicker/DateTimePickerToolbar.js +1 -0
  51. package/legacy/DesktopDatePicker/DesktopDatePicker.js +6 -2
  52. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  53. package/legacy/MobileDatePicker/MobileDatePicker.js +6 -2
  54. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  55. package/legacy/StaticDatePicker/StaticDatePicker.js +6 -2
  56. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  57. package/legacy/TimeField/TimeField.js +27 -3
  58. package/legacy/TimePicker/TimePickerToolbar.js +1 -0
  59. package/legacy/hooks/index.js +1 -0
  60. package/legacy/hooks/useClearableField.js +80 -0
  61. package/legacy/icons/index.js +8 -1
  62. package/legacy/index.js +3 -2
  63. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  64. package/legacy/internals/hooks/useField/useField.js +28 -7
  65. package/legacy/internals/utils/date-utils.js +6 -0
  66. package/legacy/locales/beBY.js +2 -0
  67. package/legacy/locales/caES.js +2 -0
  68. package/legacy/locales/csCZ.js +2 -0
  69. package/legacy/locales/daDK.js +2 -0
  70. package/legacy/locales/deDE.js +2 -0
  71. package/legacy/locales/elGR.js +2 -0
  72. package/legacy/locales/enUS.js +1 -0
  73. package/legacy/locales/esES.js +2 -0
  74. package/legacy/locales/faIR.js +2 -0
  75. package/legacy/locales/fiFI.js +2 -0
  76. package/legacy/locales/frFR.js +2 -0
  77. package/legacy/locales/heIL.js +2 -0
  78. package/legacy/locales/huHU.js +1 -0
  79. package/legacy/locales/isIS.js +2 -0
  80. package/legacy/locales/itIT.js +2 -0
  81. package/legacy/locales/jaJP.js +2 -0
  82. package/legacy/locales/koKR.js +2 -0
  83. package/legacy/locales/kzKZ.js +2 -0
  84. package/legacy/locales/nbNO.js +2 -0
  85. package/legacy/locales/nlNL.js +2 -0
  86. package/legacy/locales/plPL.js +2 -0
  87. package/legacy/locales/ptBR.js +2 -0
  88. package/legacy/locales/roRO.js +1 -0
  89. package/legacy/locales/ruRU.js +2 -0
  90. package/legacy/locales/skSK.js +2 -0
  91. package/legacy/locales/svSE.js +2 -0
  92. package/legacy/locales/trTR.js +2 -0
  93. package/legacy/locales/ukUA.js +2 -0
  94. package/legacy/locales/urPK.js +2 -0
  95. package/legacy/locales/viVN.js +2 -0
  96. package/legacy/locales/zhCN.js +2 -0
  97. package/legacy/locales/zhHK.js +2 -0
  98. package/locales/beBY.d.ts +1 -0
  99. package/locales/beBY.js +2 -0
  100. package/locales/caES.d.ts +1 -0
  101. package/locales/caES.js +2 -0
  102. package/locales/csCZ.d.ts +1 -0
  103. package/locales/csCZ.js +2 -0
  104. package/locales/daDK.d.ts +1 -0
  105. package/locales/daDK.js +2 -0
  106. package/locales/deDE.d.ts +1 -0
  107. package/locales/deDE.js +2 -0
  108. package/locales/elGR.d.ts +1 -0
  109. package/locales/elGR.js +2 -0
  110. package/locales/enUS.d.ts +1 -0
  111. package/locales/enUS.js +1 -0
  112. package/locales/esES.d.ts +1 -0
  113. package/locales/esES.js +2 -0
  114. package/locales/faIR.d.ts +1 -0
  115. package/locales/faIR.js +2 -0
  116. package/locales/fiFI.d.ts +1 -0
  117. package/locales/fiFI.js +2 -0
  118. package/locales/frFR.d.ts +1 -0
  119. package/locales/frFR.js +2 -0
  120. package/locales/heIL.d.ts +1 -0
  121. package/locales/heIL.js +2 -0
  122. package/locales/huHU.d.ts +1 -0
  123. package/locales/huHU.js +1 -0
  124. package/locales/isIS.d.ts +1 -0
  125. package/locales/isIS.js +2 -0
  126. package/locales/itIT.d.ts +1 -0
  127. package/locales/itIT.js +2 -0
  128. package/locales/jaJP.d.ts +1 -0
  129. package/locales/jaJP.js +2 -0
  130. package/locales/koKR.d.ts +1 -0
  131. package/locales/koKR.js +2 -0
  132. package/locales/kzKZ.d.ts +1 -0
  133. package/locales/kzKZ.js +2 -0
  134. package/locales/nbNO.d.ts +1 -0
  135. package/locales/nbNO.js +2 -0
  136. package/locales/nlNL.d.ts +1 -0
  137. package/locales/nlNL.js +2 -0
  138. package/locales/plPL.d.ts +1 -0
  139. package/locales/plPL.js +2 -0
  140. package/locales/ptBR.d.ts +1 -0
  141. package/locales/ptBR.js +2 -0
  142. package/locales/roRO.d.ts +1 -0
  143. package/locales/roRO.js +1 -0
  144. package/locales/ruRU.d.ts +1 -0
  145. package/locales/ruRU.js +2 -0
  146. package/locales/skSK.d.ts +1 -0
  147. package/locales/skSK.js +2 -0
  148. package/locales/svSE.d.ts +1 -0
  149. package/locales/svSE.js +2 -0
  150. package/locales/trTR.d.ts +1 -0
  151. package/locales/trTR.js +2 -0
  152. package/locales/ukUA.d.ts +1 -0
  153. package/locales/ukUA.js +2 -0
  154. package/locales/urPK.d.ts +1 -0
  155. package/locales/urPK.js +2 -0
  156. package/locales/utils/getPickersLocalization.d.ts +1 -0
  157. package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  158. package/locales/viVN.d.ts +1 -0
  159. package/locales/viVN.js +2 -0
  160. package/locales/zhCN.d.ts +1 -0
  161. package/locales/zhCN.js +2 -0
  162. package/locales/zhHK.d.ts +1 -0
  163. package/locales/zhHK.js +2 -0
  164. package/models/adapters.d.ts +1 -0
  165. package/models/fields.d.ts +2 -0
  166. package/modern/DateCalendar/DateCalendar.js +6 -2
  167. package/modern/DateCalendar/DayCalendar.js +25 -11
  168. package/modern/DateCalendar/dayCalendarClasses.js +1 -1
  169. package/modern/DateField/DateField.js +32 -4
  170. package/modern/DatePicker/DatePicker.js +6 -2
  171. package/modern/DateTimeField/DateTimeField.js +32 -4
  172. package/modern/DateTimePicker/DateTimePicker.js +6 -2
  173. package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -0
  174. package/modern/DesktopDatePicker/DesktopDatePicker.js +6 -2
  175. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  176. package/modern/MobileDatePicker/MobileDatePicker.js +6 -2
  177. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  178. package/modern/StaticDatePicker/StaticDatePicker.js +6 -2
  179. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  180. package/modern/TimeField/TimeField.js +29 -4
  181. package/modern/TimePicker/TimePickerToolbar.js +1 -0
  182. package/modern/hooks/index.js +1 -0
  183. package/modern/hooks/useClearableField.js +78 -0
  184. package/modern/icons/index.js +8 -1
  185. package/modern/index.js +3 -2
  186. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  187. package/modern/internals/hooks/useField/useField.js +23 -6
  188. package/modern/internals/utils/date-utils.js +4 -0
  189. package/modern/locales/beBY.js +2 -0
  190. package/modern/locales/caES.js +2 -0
  191. package/modern/locales/csCZ.js +2 -0
  192. package/modern/locales/daDK.js +2 -0
  193. package/modern/locales/deDE.js +2 -0
  194. package/modern/locales/elGR.js +2 -0
  195. package/modern/locales/enUS.js +1 -0
  196. package/modern/locales/esES.js +2 -0
  197. package/modern/locales/faIR.js +2 -0
  198. package/modern/locales/fiFI.js +2 -0
  199. package/modern/locales/frFR.js +2 -0
  200. package/modern/locales/heIL.js +2 -0
  201. package/modern/locales/huHU.js +1 -0
  202. package/modern/locales/isIS.js +2 -0
  203. package/modern/locales/itIT.js +2 -0
  204. package/modern/locales/jaJP.js +2 -0
  205. package/modern/locales/koKR.js +2 -0
  206. package/modern/locales/kzKZ.js +2 -0
  207. package/modern/locales/nbNO.js +2 -0
  208. package/modern/locales/nlNL.js +2 -0
  209. package/modern/locales/plPL.js +2 -0
  210. package/modern/locales/ptBR.js +2 -0
  211. package/modern/locales/roRO.js +1 -0
  212. package/modern/locales/ruRU.js +2 -0
  213. package/modern/locales/skSK.js +2 -0
  214. package/modern/locales/svSE.js +2 -0
  215. package/modern/locales/trTR.js +2 -0
  216. package/modern/locales/ukUA.js +2 -0
  217. package/modern/locales/urPK.js +2 -0
  218. package/modern/locales/viVN.js +2 -0
  219. package/modern/locales/zhCN.js +2 -0
  220. package/modern/locales/zhHK.js +2 -0
  221. package/node/DateCalendar/DateCalendar.js +6 -2
  222. package/node/DateCalendar/DayCalendar.js +24 -10
  223. package/node/DateCalendar/dayCalendarClasses.js +1 -1
  224. package/node/DateField/DateField.js +32 -4
  225. package/node/DatePicker/DatePicker.js +6 -2
  226. package/node/DateTimeField/DateTimeField.js +32 -4
  227. package/node/DateTimePicker/DateTimePicker.js +6 -2
  228. package/node/DateTimePicker/DateTimePickerToolbar.js +1 -0
  229. package/node/DesktopDatePicker/DesktopDatePicker.js +6 -2
  230. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  231. package/node/MobileDatePicker/MobileDatePicker.js +6 -2
  232. package/node/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  233. package/node/StaticDatePicker/StaticDatePicker.js +6 -2
  234. package/node/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  235. package/node/TimeField/TimeField.js +29 -4
  236. package/node/TimePicker/TimePickerToolbar.js +1 -0
  237. package/node/hooks/index.js +12 -0
  238. package/node/hooks/useClearableField.js +87 -0
  239. package/node/icons/index.js +10 -2
  240. package/node/index.js +13 -1
  241. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  242. package/node/internals/hooks/useField/useField.js +23 -6
  243. package/node/internals/utils/date-utils.js +7 -2
  244. package/node/locales/beBY.js +2 -0
  245. package/node/locales/caES.js +2 -0
  246. package/node/locales/csCZ.js +2 -0
  247. package/node/locales/daDK.js +2 -0
  248. package/node/locales/deDE.js +2 -0
  249. package/node/locales/elGR.js +2 -0
  250. package/node/locales/enUS.js +1 -0
  251. package/node/locales/esES.js +2 -0
  252. package/node/locales/faIR.js +2 -0
  253. package/node/locales/fiFI.js +2 -0
  254. package/node/locales/frFR.js +2 -0
  255. package/node/locales/heIL.js +2 -0
  256. package/node/locales/huHU.js +1 -0
  257. package/node/locales/isIS.js +2 -0
  258. package/node/locales/itIT.js +2 -0
  259. package/node/locales/jaJP.js +2 -0
  260. package/node/locales/koKR.js +2 -0
  261. package/node/locales/kzKZ.js +2 -0
  262. package/node/locales/nbNO.js +2 -0
  263. package/node/locales/nlNL.js +2 -0
  264. package/node/locales/plPL.js +2 -0
  265. package/node/locales/ptBR.js +2 -0
  266. package/node/locales/roRO.js +1 -0
  267. package/node/locales/ruRU.js +2 -0
  268. package/node/locales/skSK.js +2 -0
  269. package/node/locales/svSE.js +2 -0
  270. package/node/locales/trTR.js +2 -0
  271. package/node/locales/ukUA.js +2 -0
  272. package/node/locales/urPK.js +2 -0
  273. package/node/locales/viVN.js +2 -0
  274. package/node/locales/zhCN.js +2 -0
  275. package/node/locales/zhHK.js +2 -0
  276. package/package.json +1 -1
  277. package/legacy/tests/describe.types.js +0 -1
  278. package/legacy/tests/describeAdapters/describeAdapters.js +0 -29
  279. package/legacy/tests/describeAdapters/index.js +0 -1
  280. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -32
  281. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  282. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  283. package/legacy/tests/describeGregorianAdapter/index.js +0 -2
  284. package/legacy/tests/describeGregorianAdapter/testCalculations.js +0 -707
  285. package/legacy/tests/describeGregorianAdapter/testFormat.js +0 -26
  286. package/legacy/tests/describeGregorianAdapter/testLocalization.js +0 -49
  287. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  288. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  289. package/legacy/tests/describeHijriAdapter/index.js +0 -1
  290. package/legacy/tests/describeHijriAdapter/testCalculations.js +0 -167
  291. package/legacy/tests/describeHijriAdapter/testLocalization.js +0 -20
  292. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  293. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  294. package/legacy/tests/describeJalaliAdapter/index.js +0 -1
  295. package/legacy/tests/describeJalaliAdapter/testCalculations.js +0 -236
  296. package/legacy/tests/describeJalaliAdapter/testLocalization.js +0 -20
  297. package/legacy/tests/describePicker/describePicker.js +0 -159
  298. package/legacy/tests/describePicker/describePicker.types.js +0 -1
  299. package/legacy/tests/describePicker/index.js +0 -1
  300. package/legacy/tests/describeValidation/describeValidation.js +0 -31
  301. package/legacy/tests/describeValidation/describeValidation.types.js +0 -1
  302. package/legacy/tests/describeValidation/index.js +0 -1
  303. package/legacy/tests/describeValidation/testDayViewValidation.js +0 -281
  304. package/legacy/tests/describeValidation/testMinutesViewValidation.js +0 -194
  305. package/legacy/tests/describeValidation/testMonthViewValidation.js +0 -136
  306. package/legacy/tests/describeValidation/testTextFieldValidation.js +0 -463
  307. package/legacy/tests/describeValidation/testYearViewValidation.js +0 -95
  308. package/legacy/tests/describeValue/describeValue.js +0 -57
  309. package/legacy/tests/describeValue/describeValue.types.js +0 -1
  310. package/legacy/tests/describeValue/index.js +0 -1
  311. package/legacy/tests/describeValue/testControlledUnControlled.js +0 -237
  312. package/legacy/tests/describeValue/testPickerActionBar.js +0 -250
  313. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -362
  314. package/legacy/tests/describeValue/testShortcuts.js +0 -119
  315. package/modern/tests/describe.types.js +0 -1
  316. package/modern/tests/describeAdapters/describeAdapters.js +0 -29
  317. package/modern/tests/describeAdapters/index.js +0 -1
  318. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -29
  319. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  320. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  321. package/modern/tests/describeGregorianAdapter/index.js +0 -2
  322. package/modern/tests/describeGregorianAdapter/testCalculations.js +0 -706
  323. package/modern/tests/describeGregorianAdapter/testFormat.js +0 -27
  324. package/modern/tests/describeGregorianAdapter/testLocalization.js +0 -50
  325. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  326. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  327. package/modern/tests/describeHijriAdapter/index.js +0 -1
  328. package/modern/tests/describeHijriAdapter/testCalculations.js +0 -164
  329. package/modern/tests/describeHijriAdapter/testLocalization.js +0 -21
  330. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  331. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  332. package/modern/tests/describeJalaliAdapter/index.js +0 -1
  333. package/modern/tests/describeJalaliAdapter/testCalculations.js +0 -237
  334. package/modern/tests/describeJalaliAdapter/testLocalization.js +0 -21
  335. package/modern/tests/describePicker/describePicker.js +0 -162
  336. package/modern/tests/describePicker/describePicker.types.js +0 -1
  337. package/modern/tests/describePicker/index.js +0 -1
  338. package/modern/tests/describeValidation/describeValidation.js +0 -31
  339. package/modern/tests/describeValidation/describeValidation.types.js +0 -1
  340. package/modern/tests/describeValidation/index.js +0 -1
  341. package/modern/tests/describeValidation/testDayViewValidation.js +0 -280
  342. package/modern/tests/describeValidation/testMinutesViewValidation.js +0 -193
  343. package/modern/tests/describeValidation/testMonthViewValidation.js +0 -137
  344. package/modern/tests/describeValidation/testTextFieldValidation.js +0 -470
  345. package/modern/tests/describeValidation/testYearViewValidation.js +0 -94
  346. package/modern/tests/describeValue/describeValue.js +0 -59
  347. package/modern/tests/describeValue/describeValue.types.js +0 -1
  348. package/modern/tests/describeValue/index.js +0 -1
  349. package/modern/tests/describeValue/testControlledUnControlled.js +0 -239
  350. package/modern/tests/describeValue/testPickerActionBar.js +0 -254
  351. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  352. package/modern/tests/describeValue/testShortcuts.js +0 -112
  353. package/node/tests/describe.types.js +0 -5
  354. package/node/tests/describeAdapters/describeAdapters.js +0 -37
  355. package/node/tests/describeAdapters/index.js +0 -12
  356. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -37
  357. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -5
  358. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -10
  359. package/node/tests/describeGregorianAdapter/index.js +0 -19
  360. package/node/tests/describeGregorianAdapter/testCalculations.js +0 -711
  361. package/node/tests/describeGregorianAdapter/testFormat.js +0 -34
  362. package/node/tests/describeGregorianAdapter/testLocalization.js +0 -57
  363. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +0 -29
  364. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -5
  365. package/node/tests/describeHijriAdapter/index.js +0 -12
  366. package/node/tests/describeHijriAdapter/testCalculations.js +0 -171
  367. package/node/tests/describeHijriAdapter/testLocalization.js +0 -28
  368. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -29
  369. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -5
  370. package/node/tests/describeJalaliAdapter/index.js +0 -12
  371. package/node/tests/describeJalaliAdapter/testCalculations.js +0 -244
  372. package/node/tests/describeJalaliAdapter/testLocalization.js +0 -28
  373. package/node/tests/describePicker/describePicker.js +0 -173
  374. package/node/tests/describePicker/describePicker.types.js +0 -5
  375. package/node/tests/describePicker/index.js +0 -12
  376. package/node/tests/describeValidation/describeValidation.js +0 -39
  377. package/node/tests/describeValidation/describeValidation.types.js +0 -5
  378. package/node/tests/describeValidation/index.js +0 -12
  379. package/node/tests/describeValidation/testDayViewValidation.js +0 -290
  380. package/node/tests/describeValidation/testMinutesViewValidation.js +0 -203
  381. package/node/tests/describeValidation/testMonthViewValidation.js +0 -147
  382. package/node/tests/describeValidation/testTextFieldValidation.js +0 -480
  383. package/node/tests/describeValidation/testYearViewValidation.js +0 -104
  384. package/node/tests/describeValue/describeValue.js +0 -69
  385. package/node/tests/describeValue/describeValue.types.js +0 -5
  386. package/node/tests/describeValue/index.js +0 -12
  387. package/node/tests/describeValue/testControlledUnControlled.js +0 -248
  388. package/node/tests/describeValue/testPickerActionBar.js +0 -264
  389. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -381
  390. package/node/tests/describeValue/testShortcuts.js +0 -122
  391. package/tests/describe.types.js +0 -1
  392. package/tests/describeAdapters/describeAdapters.js +0 -29
  393. package/tests/describeAdapters/index.js +0 -1
  394. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -30
  395. package/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  396. package/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  397. package/tests/describeGregorianAdapter/index.js +0 -2
  398. package/tests/describeGregorianAdapter/testCalculations.js +0 -706
  399. package/tests/describeGregorianAdapter/testFormat.js +0 -27
  400. package/tests/describeGregorianAdapter/testLocalization.js +0 -50
  401. package/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  402. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  403. package/tests/describeHijriAdapter/index.js +0 -1
  404. package/tests/describeHijriAdapter/testCalculations.js +0 -164
  405. package/tests/describeHijriAdapter/testLocalization.js +0 -21
  406. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  407. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  408. package/tests/describeJalaliAdapter/index.js +0 -1
  409. package/tests/describeJalaliAdapter/testCalculations.js +0 -237
  410. package/tests/describeJalaliAdapter/testLocalization.js +0 -21
  411. package/tests/describePicker/describePicker.js +0 -162
  412. package/tests/describePicker/describePicker.types.js +0 -1
  413. package/tests/describePicker/index.js +0 -1
  414. package/tests/describeValidation/describeValidation.js +0 -31
  415. package/tests/describeValidation/describeValidation.types.js +0 -1
  416. package/tests/describeValidation/index.js +0 -1
  417. package/tests/describeValidation/testDayViewValidation.js +0 -280
  418. package/tests/describeValidation/testMinutesViewValidation.js +0 -193
  419. package/tests/describeValidation/testMonthViewValidation.js +0 -137
  420. package/tests/describeValidation/testTextFieldValidation.js +0 -470
  421. package/tests/describeValidation/testYearViewValidation.js +0 -94
  422. package/tests/describeValue/describeValue.js +0 -59
  423. package/tests/describeValue/describeValue.types.js +0 -1
  424. package/tests/describeValue/index.js +0 -1
  425. package/tests/describeValue/testControlledUnControlled.js +0 -239
  426. package/tests/describeValue/testPickerActionBar.js +0 -254
  427. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  428. package/tests/describeValue/testShortcuts.js +0 -112
@@ -1,137 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { expect } from 'chai';
3
- import * as React from 'react';
4
- import { screen } from '@mui/monorepo/test/utils';
5
- import { adapterToUse } from 'test/utils/pickers';
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- export const testMonthViewValidation = (ElementToTest, getOptions) => {
8
- const {
9
- views,
10
- componentFamily,
11
- render,
12
- clock
13
- } = getOptions();
14
- if (componentFamily === 'field' || !views.includes('month')) {
15
- return;
16
- }
17
- describe('month view:', () => {
18
- const defaultProps = _extends({
19
- onChange: () => {}
20
- }, views.length > 1 && {
21
- views: ['month'],
22
- view: 'month',
23
- openTo: 'month'
24
- }, componentFamily !== 'calendar' && {
25
- open: true,
26
- reduceAnimations: true,
27
- slotProps: {
28
- toolbar: {
29
- hidden: true
30
- }
31
- }
32
- });
33
- it('should apply shouldDisableMonth', function test() {
34
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
35
- value: null,
36
- shouldDisableMonth: date => adapterToUse.getMonth(date) === 3
37
- })));
38
- expect(screen.getByText('Apr')).to.have.attribute('disabled');
39
- expect(screen.getByText('Jan')).not.to.have.attribute('disabled');
40
- expect(screen.getByText('May')).not.to.have.attribute('disabled');
41
- });
42
- it('should apply disablePast', function test() {
43
- let now;
44
- function WithFakeTimer(props) {
45
- now = adapterToUse.date(new Date());
46
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
47
- value: now
48
- }, props));
49
- }
50
- const {
51
- setProps
52
- } = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
53
- disablePast: true
54
- })));
55
- const nextMonth = adapterToUse.addMonths(now, 1);
56
- const prevMonth = adapterToUse.addMonths(now, -1);
57
- expect(screen.getByText(adapterToUse.format(now, 'monthShort'))).not.to.have.attribute('disabled');
58
- if (!adapterToUse.isSameYear(now, nextMonth)) {
59
- setProps({
60
- value: nextMonth
61
- });
62
- clock.runToLast();
63
- }
64
- expect(screen.getByText(adapterToUse.format(nextMonth, 'monthShort'))).not.to.have.attribute('disabled');
65
- if (!adapterToUse.isSameYear(prevMonth, nextMonth)) {
66
- setProps({
67
- value: prevMonth
68
- });
69
- clock.runToLast();
70
- }
71
- expect(screen.getByText(adapterToUse.format(prevMonth, 'monthShort'))).to.have.attribute('disabled');
72
-
73
- // TODO: define what appends when value is `null`
74
- });
75
-
76
- it('should apply disableFuture', function test() {
77
- let now;
78
- function WithFakeTimer(props) {
79
- now = adapterToUse.date(new Date());
80
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
81
- value: now
82
- }, props));
83
- }
84
- const {
85
- setProps
86
- } = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
87
- disableFuture: true
88
- })));
89
- const nextMonth = adapterToUse.addMonths(now, 1);
90
- const prevMonth = adapterToUse.addMonths(now, -1);
91
- expect(screen.getByText(adapterToUse.format(now, 'monthShort'))).not.to.have.attribute('disabled');
92
- if (!adapterToUse.isSameYear(now, nextMonth)) {
93
- setProps({
94
- value: nextMonth
95
- });
96
- clock.runToLast();
97
- }
98
- expect(screen.getByText(adapterToUse.format(nextMonth, 'monthShort'))).to.have.attribute('disabled');
99
- if (!adapterToUse.isSameYear(prevMonth, nextMonth)) {
100
- setProps({
101
- value: prevMonth
102
- });
103
- clock.runToLast();
104
- }
105
- expect(screen.getByText(adapterToUse.format(prevMonth, 'monthShort'))).not.to.have.attribute('disabled');
106
-
107
- // TODO: define what appends when value is `null`
108
- });
109
-
110
- it('should apply minDate', function test() {
111
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
112
- value: adapterToUse.date(new Date(2019, 5, 15)),
113
- minDate: adapterToUse.date(new Date(2019, 5, 4))
114
- })));
115
- expect(screen.getByText('Jan')).to.have.attribute('disabled');
116
- expect(screen.getByText('May')).to.have.attribute('disabled');
117
- expect(screen.getByText('Jun')).not.to.have.attribute('disabled');
118
- expect(screen.getByText('Jul')).not.to.have.attribute('disabled');
119
- expect(screen.getByText('Dec')).not.to.have.attribute('disabled');
120
-
121
- // TODO: define what appends when value is `null`
122
- });
123
-
124
- it('should apply maxDate', function test() {
125
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
126
- value: adapterToUse.date(new Date(2019, 5, 15)),
127
- maxDate: adapterToUse.date(new Date(2019, 5, 4))
128
- })));
129
- expect(screen.getByText('Jan')).not.to.have.attribute('disabled');
130
- expect(screen.getByText('Jun')).not.to.have.attribute('disabled');
131
- expect(screen.getByText('Jul')).to.have.attribute('disabled');
132
- expect(screen.getByText('Dec')).to.have.attribute('disabled');
133
-
134
- // TODO: define what appends when value is `null`
135
- });
136
- });
137
- };
@@ -1,470 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { expect } from 'chai';
4
- import { spy } from 'sinon';
5
- import { screen } from '@mui/monorepo/test/utils';
6
- import { adapterToUse } from 'test/utils/pickers';
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
- export const testTextFieldValidation = (ElementToTest, getOptions) => {
9
- const {
10
- componentFamily,
11
- render,
12
- withDate,
13
- withTime
14
- } = getOptions();
15
- if (!['picker', 'field'].includes(componentFamily)) {
16
- return;
17
- }
18
- describe('text field:', () => {
19
- it('should apply shouldDisableDate', function test() {
20
- if (['picker', 'field'].includes(componentFamily) && !withDate) {
21
- return;
22
- }
23
- const onErrorMock = spy();
24
- const {
25
- setProps
26
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
27
- onError: onErrorMock,
28
- value: adapterToUse.date(new Date(2018, 2, 12)),
29
- shouldDisableDate: date => adapterToUse.isAfter(date, adapterToUse.date(new Date(2018, 2, 10)))
30
- }));
31
- if (withDate) {
32
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
33
- expect(onErrorMock.callCount).to.equal(1);
34
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableDate');
35
- setProps({
36
- value: adapterToUse.date(new Date(2018, 2, 9))
37
- });
38
- expect(onErrorMock.callCount).to.equal(2);
39
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
40
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
41
- } else {
42
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
43
- expect(onErrorMock.callCount).to.equal(0);
44
- }
45
- });
46
- it('should apply shouldDisableYear', function test() {
47
- if (!withDate) {
48
- // Early return to remove when DateTimePickers will support those props
49
- return;
50
- }
51
- const onErrorMock = spy();
52
- const {
53
- setProps
54
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
55
- onError: onErrorMock,
56
- value: adapterToUse.date(new Date(2018, 2, 12)),
57
- shouldDisableYear: date => adapterToUse.getYear(date) === 2018
58
- }));
59
- expect(onErrorMock.callCount).to.equal(1);
60
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableYear');
61
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
62
- setProps({
63
- value: adapterToUse.date(new Date(2019, 2, 9))
64
- });
65
- expect(onErrorMock.callCount).to.equal(2);
66
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
67
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
68
- });
69
- it('should apply shouldDisableMonth', function test() {
70
- if (!withDate) {
71
- // Early return to remove when DateTimePickers will support those props
72
- return;
73
- }
74
- const onErrorMock = spy();
75
- const {
76
- setProps
77
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
78
- onError: onErrorMock,
79
- shouldDisableMonth: date => adapterToUse.getMonth(date) === 2,
80
- value: adapterToUse.date(new Date(2018, 2, 12))
81
- }));
82
- expect(onErrorMock.callCount).to.equal(1);
83
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableMonth');
84
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
85
- setProps({
86
- value: adapterToUse.date(new Date(2019, 2, 9))
87
- });
88
- expect(onErrorMock.callCount).to.equal(1);
89
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
90
- setProps({
91
- value: adapterToUse.date(new Date(2018, 3, 9))
92
- });
93
- expect(onErrorMock.callCount).to.equal(2);
94
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
95
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
96
- });
97
- it('should apply shouldDisableClock', function test() {
98
- if (!withTime) {
99
- return;
100
- }
101
- const onErrorMock = spy();
102
- const {
103
- setProps
104
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
105
- onError: onErrorMock,
106
- shouldDisableClock: value => value === 10,
107
- value: adapterToUse.date(new Date(2018, 2, 12, 10, 5, 0))
108
- }));
109
- expect(onErrorMock.callCount).to.equal(1);
110
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableClock-hours');
111
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
112
- setProps({
113
- value: adapterToUse.date(new Date(2019, 2, 12, 9, 5, 0))
114
- });
115
- expect(onErrorMock.callCount).to.equal(2);
116
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
117
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
118
- setProps({
119
- value: adapterToUse.date(new Date(2018, 2, 12, 9, 10, 0))
120
- });
121
- expect(onErrorMock.callCount).to.equal(3);
122
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableClock-minutes');
123
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
124
- setProps({
125
- value: adapterToUse.date(new Date(2018, 2, 12, 9, 9, 0))
126
- });
127
- expect(onErrorMock.callCount).to.equal(4);
128
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
129
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
130
- setProps({
131
- value: adapterToUse.date(new Date(2018, 2, 12, 9, 9, 10))
132
- });
133
- expect(onErrorMock.callCount).to.equal(5);
134
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableClock-seconds');
135
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
136
- });
137
- it('should apply shouldDisableTime', function test() {
138
- if (!withTime) {
139
- return;
140
- }
141
- const onErrorMock = spy();
142
- const {
143
- setProps
144
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
145
- onError: onErrorMock,
146
- shouldDisableTime: (value, view) => {
147
- let comparingValue = adapterToUse.getHours(value);
148
- if (view === 'minutes') {
149
- comparingValue = adapterToUse.getMinutes(value);
150
- } else if (view === 'seconds') {
151
- comparingValue = adapterToUse.getSeconds(value);
152
- }
153
- return comparingValue === 10;
154
- },
155
- value: adapterToUse.date(new Date(2018, 2, 12, 10, 5, 0))
156
- }));
157
- expect(onErrorMock.callCount).to.equal(1);
158
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableTime-hours');
159
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
160
- setProps({
161
- value: adapterToUse.date(new Date(2019, 2, 12, 9, 5, 0))
162
- });
163
- expect(onErrorMock.callCount).to.equal(2);
164
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
165
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
166
- setProps({
167
- value: adapterToUse.date(new Date(2018, 2, 12, 9, 10, 0))
168
- });
169
- expect(onErrorMock.callCount).to.equal(3);
170
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableTime-minutes');
171
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
172
- setProps({
173
- value: adapterToUse.date(new Date(2018, 2, 12, 9, 9, 0))
174
- });
175
- expect(onErrorMock.callCount).to.equal(4);
176
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
177
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
178
- setProps({
179
- value: adapterToUse.date(new Date(2018, 2, 12, 9, 9, 10))
180
- });
181
- expect(onErrorMock.callCount).to.equal(5);
182
- expect(onErrorMock.lastCall.args[0]).to.equal('shouldDisableTime-seconds');
183
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
184
- });
185
- it('should apply disablePast', function test() {
186
- if (!withDate) {
187
- return;
188
- }
189
- let now;
190
- function WithFakeTimer(props) {
191
- now = adapterToUse.date(new Date());
192
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
193
- value: now
194
- }, props));
195
- }
196
- const onErrorMock = spy();
197
- const {
198
- setProps
199
- } = render( /*#__PURE__*/_jsx(WithFakeTimer, {
200
- disablePast: true,
201
- onError: onErrorMock
202
- }));
203
- const tomorrow = adapterToUse.addDays(now, 1);
204
- const yesterday = adapterToUse.addDays(now, -1);
205
- expect(onErrorMock.callCount).to.equal(0);
206
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
207
- setProps({
208
- value: yesterday
209
- });
210
- expect(onErrorMock.callCount).to.equal(1);
211
- expect(onErrorMock.lastCall.args[0]).to.equal('disablePast');
212
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
213
- setProps({
214
- value: tomorrow
215
- });
216
- expect(onErrorMock.callCount).to.equal(2);
217
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
218
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
219
- });
220
- it('should apply disableFuture', function test() {
221
- if (!withDate) {
222
- return;
223
- }
224
- let now;
225
- function WithFakeTimer(props) {
226
- now = adapterToUse.date(new Date());
227
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
228
- value: now
229
- }, props));
230
- }
231
- const onErrorMock = spy();
232
- const {
233
- setProps
234
- } = render( /*#__PURE__*/_jsx(WithFakeTimer, {
235
- disableFuture: true,
236
- onError: onErrorMock
237
- }));
238
- const tomorrow = adapterToUse.addDays(now, 1);
239
- const yesterday = adapterToUse.addDays(now, -1);
240
- expect(onErrorMock.callCount).to.equal(0);
241
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
242
- setProps({
243
- value: tomorrow
244
- });
245
- expect(onErrorMock.callCount).to.equal(1);
246
- expect(onErrorMock.lastCall.args[0]).to.equal('disableFuture');
247
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
248
- setProps({
249
- value: yesterday
250
- });
251
- expect(onErrorMock.callCount).to.equal(2);
252
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
253
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
254
- });
255
- it('should apply minDate', function test() {
256
- if (['picker', 'field'].includes(componentFamily) && !withDate) {
257
- return;
258
- }
259
- const onErrorMock = spy();
260
- const {
261
- setProps
262
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
263
- onError: onErrorMock,
264
- value: adapterToUse.date(new Date(2019, 5, 1)),
265
- minDate: adapterToUse.date(new Date(2019, 5, 15))
266
- }));
267
- if (withDate) {
268
- expect(onErrorMock.callCount).to.equal(1);
269
- expect(onErrorMock.lastCall.args[0]).to.equal('minDate');
270
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
271
- setProps({
272
- value: adapterToUse.date(new Date(2019, 5, 20))
273
- });
274
- expect(onErrorMock.callCount).to.equal(2);
275
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
276
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
277
- } else {
278
- expect(onErrorMock.callCount).to.equal(0);
279
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
280
- }
281
- });
282
- it('should apply maxDate', function test() {
283
- if (['picker', 'field'].includes(componentFamily) && !withDate) {
284
- return;
285
- }
286
- const onErrorMock = spy();
287
- const {
288
- setProps
289
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
290
- onError: onErrorMock,
291
- value: adapterToUse.date(new Date(2019, 5, 25)),
292
- maxDate: adapterToUse.date(new Date(2019, 5, 15))
293
- }));
294
- if (withDate) {
295
- expect(onErrorMock.callCount).to.equal(1);
296
- expect(onErrorMock.lastCall.args[0]).to.equal('maxDate');
297
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
298
- setProps({
299
- value: adapterToUse.date(new Date(2019, 5, 10))
300
- });
301
- expect(onErrorMock.callCount).to.equal(2);
302
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
303
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
304
- } else {
305
- expect(onErrorMock.callCount).to.equal(0);
306
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
307
- }
308
- });
309
- it('should apply minTime', function test() {
310
- if (['picker', 'field'].includes(componentFamily) && !withTime) {
311
- return;
312
- }
313
- const onErrorMock = spy();
314
- const {
315
- setProps
316
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
317
- onError: onErrorMock,
318
- value: adapterToUse.date(new Date(2019, 5, 15, 10, 15)),
319
- minTime: adapterToUse.date(new Date(2010, 0, 1, 12, 0))
320
- }));
321
- if (withTime) {
322
- expect(onErrorMock.callCount).to.equal(1);
323
- expect(onErrorMock.lastCall.args[0]).to.equal('minTime');
324
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
325
- setProps({
326
- value: adapterToUse.date(new Date(2019, 5, 15, 13, 10))
327
- });
328
- expect(onErrorMock.callCount).to.equal(2);
329
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
330
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
331
- } else {
332
- expect(onErrorMock.callCount).to.equal(0);
333
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
334
- }
335
- });
336
- it('should apply maxTime', function test() {
337
- if (['picker', 'field'].includes(componentFamily) && !withTime) {
338
- return;
339
- }
340
- const onErrorMock = spy();
341
- const {
342
- setProps
343
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
344
- onError: onErrorMock,
345
- maxTime: adapterToUse.date(new Date(2010, 0, 1, 12, 0)),
346
- value: adapterToUse.date(new Date(2019, 5, 15, 10, 15))
347
- }));
348
- if (withTime) {
349
- expect(onErrorMock.callCount).to.equal(0);
350
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
351
- setProps({
352
- value: adapterToUse.date(new Date(2019, 5, 15, 13, 10))
353
- });
354
- expect(onErrorMock.callCount).to.equal(1);
355
- expect(onErrorMock.lastCall.args[0]).to.equal('maxTime');
356
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
357
- } else {
358
- expect(onErrorMock.callCount).to.equal(0);
359
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
360
- }
361
- });
362
- it('should apply maxDateTime', function test() {
363
- if (!withDate || !withTime) {
364
- // prop only available on DateTime pickers
365
- return;
366
- }
367
- const onErrorMock = spy();
368
- const {
369
- setProps
370
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
371
- onError: onErrorMock,
372
- value: adapterToUse.date(new Date(2019, 5, 15, 13, 15)),
373
- maxDateTime: adapterToUse.date(new Date(2019, 5, 15, 12, 0))
374
- }));
375
- expect(onErrorMock.callCount).to.equal(1);
376
- expect(onErrorMock.lastCall.args[0]).to.equal('maxTime');
377
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
378
-
379
- // Test 5 minutes before
380
- setProps({
381
- value: adapterToUse.date(new Date(2019, 5, 15, 11, 55))
382
- });
383
- expect(onErrorMock.callCount).to.equal(2);
384
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
385
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
386
-
387
- // Test 1 day before
388
- setProps({
389
- value: adapterToUse.date(new Date(2019, 5, 14, 20, 10))
390
- });
391
- expect(onErrorMock.callCount).to.equal(2);
392
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
393
-
394
- // Test 1 day after
395
- setProps({
396
- value: adapterToUse.date(new Date(2019, 5, 16, 10, 0))
397
- });
398
- expect(onErrorMock.callCount).to.equal(3);
399
- expect(onErrorMock.lastCall.args[0]).to.equal('maxDate');
400
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
401
- });
402
- it('should apply minDateTime', function test() {
403
- if (!withDate || !withTime) {
404
- // prop only available on DateTime pickers
405
- return;
406
- }
407
- const onErrorMock = spy();
408
- const {
409
- setProps
410
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
411
- onError: onErrorMock,
412
- value: adapterToUse.date(new Date(2019, 5, 15, 13, 15)),
413
- minDateTime: adapterToUse.date(new Date(2019, 5, 15, 12, 0))
414
- }));
415
- expect(onErrorMock.callCount).to.equal(0);
416
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
417
-
418
- // Test 5 minutes before (invalid)
419
- setProps({
420
- value: adapterToUse.date(new Date(2019, 5, 15, 11, 55))
421
- });
422
- expect(onErrorMock.callCount).to.equal(1);
423
- expect(onErrorMock.lastCall.args[0]).to.equal('minTime');
424
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
425
-
426
- // Test 1 day before (invalid)
427
- setProps({
428
- value: adapterToUse.date(new Date(2019, 5, 14, 20, 10))
429
- });
430
- expect(onErrorMock.callCount).to.equal(2);
431
- expect(onErrorMock.lastCall.args[0]).to.equal('minDate');
432
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
433
-
434
- // Test 1 day after
435
- setProps({
436
- value: adapterToUse.date(new Date(2019, 5, 16, 10, 0))
437
- });
438
- expect(onErrorMock.callCount).to.equal(3);
439
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
440
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
441
- });
442
- it('should apply minutesStep', function test() {
443
- if (['picker', 'field'].includes(componentFamily) && !withTime) {
444
- return;
445
- }
446
- const onErrorMock = spy();
447
- const {
448
- setProps
449
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
450
- onError: onErrorMock,
451
- value: adapterToUse.date(new Date(2019, 5, 15, 10, 15)),
452
- minutesStep: 30
453
- }));
454
- if (withTime) {
455
- expect(onErrorMock.callCount).to.equal(1);
456
- expect(onErrorMock.lastCall.args[0]).to.equal('minutesStep');
457
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'true');
458
- setProps({
459
- value: adapterToUse.date(new Date(2019, 5, 15, 10, 30))
460
- });
461
- expect(onErrorMock.callCount).to.equal(2);
462
- expect(onErrorMock.lastCall.args[0]).to.equal(null);
463
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
464
- } else {
465
- expect(onErrorMock.callCount).to.equal(0);
466
- expect(screen.getByRole('textbox')).to.have.attribute('aria-invalid', 'false');
467
- }
468
- });
469
- });
470
- };