@mui/x-date-pickers 6.14.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 (432) hide show
  1. package/CHANGELOG.md +167 -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/hooks/useField/useField.utils.js +8 -3
  39. package/internals/index.d.ts +1 -1
  40. package/internals/models/props/toolbar.d.ts +3 -0
  41. package/internals/models/validation.d.ts +3 -0
  42. package/internals/utils/date-utils.d.ts +1 -0
  43. package/internals/utils/date-utils.js +4 -0
  44. package/legacy/DateCalendar/DateCalendar.js +6 -2
  45. package/legacy/DateCalendar/DayCalendar.js +22 -9
  46. package/legacy/DateCalendar/dayCalendarClasses.js +1 -1
  47. package/legacy/DateField/DateField.js +30 -3
  48. package/legacy/DatePicker/DatePicker.js +6 -2
  49. package/legacy/DateTimeField/DateTimeField.js +30 -3
  50. package/legacy/DateTimePicker/DateTimePicker.js +6 -2
  51. package/legacy/DateTimePicker/DateTimePickerToolbar.js +1 -0
  52. package/legacy/DesktopDatePicker/DesktopDatePicker.js +6 -2
  53. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  54. package/legacy/MobileDatePicker/MobileDatePicker.js +6 -2
  55. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  56. package/legacy/StaticDatePicker/StaticDatePicker.js +6 -2
  57. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  58. package/legacy/TimeField/TimeField.js +27 -3
  59. package/legacy/TimePicker/TimePickerToolbar.js +1 -0
  60. package/legacy/hooks/index.js +1 -0
  61. package/legacy/hooks/useClearableField.js +80 -0
  62. package/legacy/icons/index.js +8 -1
  63. package/legacy/index.js +3 -2
  64. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  65. package/legacy/internals/hooks/useField/useField.js +28 -7
  66. package/legacy/internals/hooks/useField/useField.utils.js +16 -8
  67. package/legacy/internals/utils/date-utils.js +6 -0
  68. package/legacy/locales/beBY.js +2 -0
  69. package/legacy/locales/caES.js +2 -0
  70. package/legacy/locales/csCZ.js +2 -0
  71. package/legacy/locales/daDK.js +2 -0
  72. package/legacy/locales/deDE.js +2 -0
  73. package/legacy/locales/elGR.js +2 -0
  74. package/legacy/locales/enUS.js +1 -0
  75. package/legacy/locales/esES.js +2 -0
  76. package/legacy/locales/faIR.js +2 -0
  77. package/legacy/locales/fiFI.js +27 -11
  78. package/legacy/locales/frFR.js +2 -0
  79. package/legacy/locales/heIL.js +2 -0
  80. package/legacy/locales/huHU.js +1 -0
  81. package/legacy/locales/isIS.js +2 -0
  82. package/legacy/locales/itIT.js +2 -0
  83. package/legacy/locales/jaJP.js +2 -0
  84. package/legacy/locales/koKR.js +2 -0
  85. package/legacy/locales/kzKZ.js +2 -0
  86. package/legacy/locales/nbNO.js +2 -0
  87. package/legacy/locales/nlNL.js +2 -0
  88. package/legacy/locales/plPL.js +2 -0
  89. package/legacy/locales/ptBR.js +2 -0
  90. package/legacy/locales/roRO.js +1 -0
  91. package/legacy/locales/ruRU.js +2 -0
  92. package/legacy/locales/skSK.js +2 -0
  93. package/legacy/locales/svSE.js +2 -0
  94. package/legacy/locales/trTR.js +2 -0
  95. package/legacy/locales/ukUA.js +2 -0
  96. package/legacy/locales/urPK.js +2 -0
  97. package/legacy/locales/viVN.js +2 -0
  98. package/legacy/locales/zhCN.js +2 -0
  99. package/legacy/locales/zhHK.js +2 -0
  100. package/locales/beBY.d.ts +1 -0
  101. package/locales/beBY.js +2 -0
  102. package/locales/caES.d.ts +1 -0
  103. package/locales/caES.js +2 -0
  104. package/locales/csCZ.d.ts +1 -0
  105. package/locales/csCZ.js +2 -0
  106. package/locales/daDK.d.ts +1 -0
  107. package/locales/daDK.js +2 -0
  108. package/locales/deDE.d.ts +1 -0
  109. package/locales/deDE.js +2 -0
  110. package/locales/elGR.d.ts +1 -0
  111. package/locales/elGR.js +2 -0
  112. package/locales/enUS.d.ts +1 -0
  113. package/locales/enUS.js +1 -0
  114. package/locales/esES.d.ts +1 -0
  115. package/locales/esES.js +2 -0
  116. package/locales/faIR.d.ts +1 -0
  117. package/locales/faIR.js +2 -0
  118. package/locales/fiFI.d.ts +1 -0
  119. package/locales/fiFI.js +11 -11
  120. package/locales/frFR.d.ts +1 -0
  121. package/locales/frFR.js +2 -0
  122. package/locales/heIL.d.ts +1 -0
  123. package/locales/heIL.js +2 -0
  124. package/locales/huHU.d.ts +1 -0
  125. package/locales/huHU.js +1 -0
  126. package/locales/isIS.d.ts +1 -0
  127. package/locales/isIS.js +2 -0
  128. package/locales/itIT.d.ts +1 -0
  129. package/locales/itIT.js +2 -0
  130. package/locales/jaJP.d.ts +1 -0
  131. package/locales/jaJP.js +2 -0
  132. package/locales/koKR.d.ts +1 -0
  133. package/locales/koKR.js +2 -0
  134. package/locales/kzKZ.d.ts +1 -0
  135. package/locales/kzKZ.js +2 -0
  136. package/locales/nbNO.d.ts +1 -0
  137. package/locales/nbNO.js +2 -0
  138. package/locales/nlNL.d.ts +1 -0
  139. package/locales/nlNL.js +2 -0
  140. package/locales/plPL.d.ts +1 -0
  141. package/locales/plPL.js +2 -0
  142. package/locales/ptBR.d.ts +1 -0
  143. package/locales/ptBR.js +2 -0
  144. package/locales/roRO.d.ts +1 -0
  145. package/locales/roRO.js +1 -0
  146. package/locales/ruRU.d.ts +1 -0
  147. package/locales/ruRU.js +2 -0
  148. package/locales/skSK.d.ts +1 -0
  149. package/locales/skSK.js +2 -0
  150. package/locales/svSE.d.ts +1 -0
  151. package/locales/svSE.js +2 -0
  152. package/locales/trTR.d.ts +1 -0
  153. package/locales/trTR.js +2 -0
  154. package/locales/ukUA.d.ts +1 -0
  155. package/locales/ukUA.js +2 -0
  156. package/locales/urPK.d.ts +1 -0
  157. package/locales/urPK.js +2 -0
  158. package/locales/utils/getPickersLocalization.d.ts +1 -0
  159. package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  160. package/locales/viVN.d.ts +1 -0
  161. package/locales/viVN.js +2 -0
  162. package/locales/zhCN.d.ts +1 -0
  163. package/locales/zhCN.js +2 -0
  164. package/locales/zhHK.d.ts +1 -0
  165. package/locales/zhHK.js +2 -0
  166. package/models/adapters.d.ts +1 -0
  167. package/models/fields.d.ts +2 -0
  168. package/modern/DateCalendar/DateCalendar.js +6 -2
  169. package/modern/DateCalendar/DayCalendar.js +25 -11
  170. package/modern/DateCalendar/dayCalendarClasses.js +1 -1
  171. package/modern/DateField/DateField.js +32 -4
  172. package/modern/DatePicker/DatePicker.js +6 -2
  173. package/modern/DateTimeField/DateTimeField.js +32 -4
  174. package/modern/DateTimePicker/DateTimePicker.js +6 -2
  175. package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -0
  176. package/modern/DesktopDatePicker/DesktopDatePicker.js +6 -2
  177. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  178. package/modern/MobileDatePicker/MobileDatePicker.js +6 -2
  179. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  180. package/modern/StaticDatePicker/StaticDatePicker.js +6 -2
  181. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  182. package/modern/TimeField/TimeField.js +29 -4
  183. package/modern/TimePicker/TimePickerToolbar.js +1 -0
  184. package/modern/hooks/index.js +1 -0
  185. package/modern/hooks/useClearableField.js +78 -0
  186. package/modern/icons/index.js +8 -1
  187. package/modern/index.js +3 -2
  188. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  189. package/modern/internals/hooks/useField/useField.js +23 -6
  190. package/modern/internals/hooks/useField/useField.utils.js +8 -3
  191. package/modern/internals/utils/date-utils.js +4 -0
  192. package/modern/locales/beBY.js +2 -0
  193. package/modern/locales/caES.js +2 -0
  194. package/modern/locales/csCZ.js +2 -0
  195. package/modern/locales/daDK.js +2 -0
  196. package/modern/locales/deDE.js +2 -0
  197. package/modern/locales/elGR.js +2 -0
  198. package/modern/locales/enUS.js +1 -0
  199. package/modern/locales/esES.js +2 -0
  200. package/modern/locales/faIR.js +2 -0
  201. package/modern/locales/fiFI.js +11 -11
  202. package/modern/locales/frFR.js +2 -0
  203. package/modern/locales/heIL.js +2 -0
  204. package/modern/locales/huHU.js +1 -0
  205. package/modern/locales/isIS.js +2 -0
  206. package/modern/locales/itIT.js +2 -0
  207. package/modern/locales/jaJP.js +2 -0
  208. package/modern/locales/koKR.js +2 -0
  209. package/modern/locales/kzKZ.js +2 -0
  210. package/modern/locales/nbNO.js +2 -0
  211. package/modern/locales/nlNL.js +2 -0
  212. package/modern/locales/plPL.js +2 -0
  213. package/modern/locales/ptBR.js +2 -0
  214. package/modern/locales/roRO.js +1 -0
  215. package/modern/locales/ruRU.js +2 -0
  216. package/modern/locales/skSK.js +2 -0
  217. package/modern/locales/svSE.js +2 -0
  218. package/modern/locales/trTR.js +2 -0
  219. package/modern/locales/ukUA.js +2 -0
  220. package/modern/locales/urPK.js +2 -0
  221. package/modern/locales/viVN.js +2 -0
  222. package/modern/locales/zhCN.js +2 -0
  223. package/modern/locales/zhHK.js +2 -0
  224. package/node/DateCalendar/DateCalendar.js +6 -2
  225. package/node/DateCalendar/DayCalendar.js +24 -10
  226. package/node/DateCalendar/dayCalendarClasses.js +1 -1
  227. package/node/DateField/DateField.js +32 -4
  228. package/node/DatePicker/DatePicker.js +6 -2
  229. package/node/DateTimeField/DateTimeField.js +32 -4
  230. package/node/DateTimePicker/DateTimePicker.js +6 -2
  231. package/node/DateTimePicker/DateTimePickerToolbar.js +1 -0
  232. package/node/DesktopDatePicker/DesktopDatePicker.js +6 -2
  233. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  234. package/node/MobileDatePicker/MobileDatePicker.js +6 -2
  235. package/node/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  236. package/node/StaticDatePicker/StaticDatePicker.js +6 -2
  237. package/node/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  238. package/node/TimeField/TimeField.js +29 -4
  239. package/node/TimePicker/TimePickerToolbar.js +1 -0
  240. package/node/hooks/index.js +12 -0
  241. package/node/hooks/useClearableField.js +87 -0
  242. package/node/icons/index.js +10 -2
  243. package/node/index.js +13 -1
  244. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  245. package/node/internals/hooks/useField/useField.js +23 -6
  246. package/node/internals/hooks/useField/useField.utils.js +8 -3
  247. package/node/internals/utils/date-utils.js +7 -2
  248. package/node/locales/beBY.js +2 -0
  249. package/node/locales/caES.js +2 -0
  250. package/node/locales/csCZ.js +2 -0
  251. package/node/locales/daDK.js +2 -0
  252. package/node/locales/deDE.js +2 -0
  253. package/node/locales/elGR.js +2 -0
  254. package/node/locales/enUS.js +1 -0
  255. package/node/locales/esES.js +2 -0
  256. package/node/locales/faIR.js +2 -0
  257. package/node/locales/fiFI.js +11 -11
  258. package/node/locales/frFR.js +2 -0
  259. package/node/locales/heIL.js +2 -0
  260. package/node/locales/huHU.js +1 -0
  261. package/node/locales/isIS.js +2 -0
  262. package/node/locales/itIT.js +2 -0
  263. package/node/locales/jaJP.js +2 -0
  264. package/node/locales/koKR.js +2 -0
  265. package/node/locales/kzKZ.js +2 -0
  266. package/node/locales/nbNO.js +2 -0
  267. package/node/locales/nlNL.js +2 -0
  268. package/node/locales/plPL.js +2 -0
  269. package/node/locales/ptBR.js +2 -0
  270. package/node/locales/roRO.js +1 -0
  271. package/node/locales/ruRU.js +2 -0
  272. package/node/locales/skSK.js +2 -0
  273. package/node/locales/svSE.js +2 -0
  274. package/node/locales/trTR.js +2 -0
  275. package/node/locales/ukUA.js +2 -0
  276. package/node/locales/urPK.js +2 -0
  277. package/node/locales/viVN.js +2 -0
  278. package/node/locales/zhCN.js +2 -0
  279. package/node/locales/zhHK.js +2 -0
  280. package/package.json +1 -1
  281. package/legacy/tests/describe.types.js +0 -1
  282. package/legacy/tests/describeAdapters/describeAdapters.js +0 -29
  283. package/legacy/tests/describeAdapters/index.js +0 -1
  284. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -32
  285. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  286. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  287. package/legacy/tests/describeGregorianAdapter/index.js +0 -2
  288. package/legacy/tests/describeGregorianAdapter/testCalculations.js +0 -707
  289. package/legacy/tests/describeGregorianAdapter/testFormat.js +0 -26
  290. package/legacy/tests/describeGregorianAdapter/testLocalization.js +0 -49
  291. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  292. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  293. package/legacy/tests/describeHijriAdapter/index.js +0 -1
  294. package/legacy/tests/describeHijriAdapter/testCalculations.js +0 -167
  295. package/legacy/tests/describeHijriAdapter/testLocalization.js +0 -20
  296. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  297. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  298. package/legacy/tests/describeJalaliAdapter/index.js +0 -1
  299. package/legacy/tests/describeJalaliAdapter/testCalculations.js +0 -236
  300. package/legacy/tests/describeJalaliAdapter/testLocalization.js +0 -20
  301. package/legacy/tests/describePicker/describePicker.js +0 -159
  302. package/legacy/tests/describePicker/describePicker.types.js +0 -1
  303. package/legacy/tests/describePicker/index.js +0 -1
  304. package/legacy/tests/describeValidation/describeValidation.js +0 -31
  305. package/legacy/tests/describeValidation/describeValidation.types.js +0 -1
  306. package/legacy/tests/describeValidation/index.js +0 -1
  307. package/legacy/tests/describeValidation/testDayViewValidation.js +0 -281
  308. package/legacy/tests/describeValidation/testMinutesViewValidation.js +0 -194
  309. package/legacy/tests/describeValidation/testMonthViewValidation.js +0 -136
  310. package/legacy/tests/describeValidation/testTextFieldValidation.js +0 -463
  311. package/legacy/tests/describeValidation/testYearViewValidation.js +0 -95
  312. package/legacy/tests/describeValue/describeValue.js +0 -57
  313. package/legacy/tests/describeValue/describeValue.types.js +0 -1
  314. package/legacy/tests/describeValue/index.js +0 -1
  315. package/legacy/tests/describeValue/testControlledUnControlled.js +0 -237
  316. package/legacy/tests/describeValue/testPickerActionBar.js +0 -250
  317. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -362
  318. package/legacy/tests/describeValue/testShortcuts.js +0 -119
  319. package/modern/tests/describe.types.js +0 -1
  320. package/modern/tests/describeAdapters/describeAdapters.js +0 -29
  321. package/modern/tests/describeAdapters/index.js +0 -1
  322. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -29
  323. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  324. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  325. package/modern/tests/describeGregorianAdapter/index.js +0 -2
  326. package/modern/tests/describeGregorianAdapter/testCalculations.js +0 -706
  327. package/modern/tests/describeGregorianAdapter/testFormat.js +0 -27
  328. package/modern/tests/describeGregorianAdapter/testLocalization.js +0 -50
  329. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  330. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  331. package/modern/tests/describeHijriAdapter/index.js +0 -1
  332. package/modern/tests/describeHijriAdapter/testCalculations.js +0 -164
  333. package/modern/tests/describeHijriAdapter/testLocalization.js +0 -21
  334. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  335. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  336. package/modern/tests/describeJalaliAdapter/index.js +0 -1
  337. package/modern/tests/describeJalaliAdapter/testCalculations.js +0 -237
  338. package/modern/tests/describeJalaliAdapter/testLocalization.js +0 -21
  339. package/modern/tests/describePicker/describePicker.js +0 -162
  340. package/modern/tests/describePicker/describePicker.types.js +0 -1
  341. package/modern/tests/describePicker/index.js +0 -1
  342. package/modern/tests/describeValidation/describeValidation.js +0 -31
  343. package/modern/tests/describeValidation/describeValidation.types.js +0 -1
  344. package/modern/tests/describeValidation/index.js +0 -1
  345. package/modern/tests/describeValidation/testDayViewValidation.js +0 -280
  346. package/modern/tests/describeValidation/testMinutesViewValidation.js +0 -193
  347. package/modern/tests/describeValidation/testMonthViewValidation.js +0 -137
  348. package/modern/tests/describeValidation/testTextFieldValidation.js +0 -470
  349. package/modern/tests/describeValidation/testYearViewValidation.js +0 -94
  350. package/modern/tests/describeValue/describeValue.js +0 -59
  351. package/modern/tests/describeValue/describeValue.types.js +0 -1
  352. package/modern/tests/describeValue/index.js +0 -1
  353. package/modern/tests/describeValue/testControlledUnControlled.js +0 -239
  354. package/modern/tests/describeValue/testPickerActionBar.js +0 -254
  355. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  356. package/modern/tests/describeValue/testShortcuts.js +0 -112
  357. package/node/tests/describe.types.js +0 -5
  358. package/node/tests/describeAdapters/describeAdapters.js +0 -37
  359. package/node/tests/describeAdapters/index.js +0 -12
  360. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -37
  361. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -5
  362. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -10
  363. package/node/tests/describeGregorianAdapter/index.js +0 -19
  364. package/node/tests/describeGregorianAdapter/testCalculations.js +0 -711
  365. package/node/tests/describeGregorianAdapter/testFormat.js +0 -34
  366. package/node/tests/describeGregorianAdapter/testLocalization.js +0 -57
  367. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +0 -29
  368. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -5
  369. package/node/tests/describeHijriAdapter/index.js +0 -12
  370. package/node/tests/describeHijriAdapter/testCalculations.js +0 -171
  371. package/node/tests/describeHijriAdapter/testLocalization.js +0 -28
  372. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -29
  373. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -5
  374. package/node/tests/describeJalaliAdapter/index.js +0 -12
  375. package/node/tests/describeJalaliAdapter/testCalculations.js +0 -244
  376. package/node/tests/describeJalaliAdapter/testLocalization.js +0 -28
  377. package/node/tests/describePicker/describePicker.js +0 -173
  378. package/node/tests/describePicker/describePicker.types.js +0 -5
  379. package/node/tests/describePicker/index.js +0 -12
  380. package/node/tests/describeValidation/describeValidation.js +0 -39
  381. package/node/tests/describeValidation/describeValidation.types.js +0 -5
  382. package/node/tests/describeValidation/index.js +0 -12
  383. package/node/tests/describeValidation/testDayViewValidation.js +0 -290
  384. package/node/tests/describeValidation/testMinutesViewValidation.js +0 -203
  385. package/node/tests/describeValidation/testMonthViewValidation.js +0 -147
  386. package/node/tests/describeValidation/testTextFieldValidation.js +0 -480
  387. package/node/tests/describeValidation/testYearViewValidation.js +0 -104
  388. package/node/tests/describeValue/describeValue.js +0 -69
  389. package/node/tests/describeValue/describeValue.types.js +0 -5
  390. package/node/tests/describeValue/index.js +0 -12
  391. package/node/tests/describeValue/testControlledUnControlled.js +0 -248
  392. package/node/tests/describeValue/testPickerActionBar.js +0 -264
  393. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -381
  394. package/node/tests/describeValue/testShortcuts.js +0 -122
  395. package/tests/describe.types.js +0 -1
  396. package/tests/describeAdapters/describeAdapters.js +0 -29
  397. package/tests/describeAdapters/index.js +0 -1
  398. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -30
  399. package/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  400. package/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  401. package/tests/describeGregorianAdapter/index.js +0 -2
  402. package/tests/describeGregorianAdapter/testCalculations.js +0 -706
  403. package/tests/describeGregorianAdapter/testFormat.js +0 -27
  404. package/tests/describeGregorianAdapter/testLocalization.js +0 -50
  405. package/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  406. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  407. package/tests/describeHijriAdapter/index.js +0 -1
  408. package/tests/describeHijriAdapter/testCalculations.js +0 -164
  409. package/tests/describeHijriAdapter/testLocalization.js +0 -21
  410. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  411. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  412. package/tests/describeJalaliAdapter/index.js +0 -1
  413. package/tests/describeJalaliAdapter/testCalculations.js +0 -237
  414. package/tests/describeJalaliAdapter/testLocalization.js +0 -21
  415. package/tests/describePicker/describePicker.js +0 -162
  416. package/tests/describePicker/describePicker.types.js +0 -1
  417. package/tests/describePicker/index.js +0 -1
  418. package/tests/describeValidation/describeValidation.js +0 -31
  419. package/tests/describeValidation/describeValidation.types.js +0 -1
  420. package/tests/describeValidation/index.js +0 -1
  421. package/tests/describeValidation/testDayViewValidation.js +0 -280
  422. package/tests/describeValidation/testMinutesViewValidation.js +0 -193
  423. package/tests/describeValidation/testMonthViewValidation.js +0 -137
  424. package/tests/describeValidation/testTextFieldValidation.js +0 -470
  425. package/tests/describeValidation/testYearViewValidation.js +0 -94
  426. package/tests/describeValue/describeValue.js +0 -59
  427. package/tests/describeValue/describeValue.types.js +0 -1
  428. package/tests/describeValue/index.js +0 -1
  429. package/tests/describeValue/testControlledUnControlled.js +0 -239
  430. package/tests/describeValue/testPickerActionBar.js +0 -254
  431. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  432. package/tests/describeValue/testShortcuts.js +0 -112
@@ -1,162 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- /* eslint-env mocha */
3
- import * as React from 'react';
4
- import { expect } from 'chai';
5
- import { spy } from 'sinon';
6
- import { screen, fireEvent, createDescribe } from '@mui/monorepo/test/utils';
7
- import SvgIcon from '@mui/material/SvgIcon';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- function innerDescribePicker(ElementToTest, options) {
10
- const {
11
- render,
12
- fieldType,
13
- hasNoView,
14
- variant
15
- } = options;
16
- const propsToOpen = variant === 'static' ? {} : {
17
- open: true
18
- };
19
- it('should forward the `inputRef` prop to the text field', function test() {
20
- if (fieldType === 'multi-input' || variant === 'static') {
21
- this.skip();
22
- }
23
- const inputRef = /*#__PURE__*/React.createRef();
24
- render( /*#__PURE__*/_jsx(ElementToTest, {
25
- inputRef: inputRef
26
- }));
27
- expect(inputRef.current).to.have.tagName('input');
28
- });
29
- describe('Localization', () => {
30
- it('should respect the `localeText` prop', function test() {
31
- if (hasNoView) {
32
- this.skip();
33
- }
34
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
35
- localeText: {
36
- cancelButtonLabel: 'Custom cancel'
37
- },
38
- slotProps: {
39
- actionBar: {
40
- actions: ['cancel']
41
- }
42
- }
43
- })));
44
- expect(screen.queryByText('Custom cancel')).not.to.equal(null);
45
- });
46
- });
47
- describe('Component slot: OpenPickerIcon', () => {
48
- it('should render custom component', function test() {
49
- if (variant === 'static' || fieldType === 'multi-input') {
50
- this.skip();
51
- }
52
- function HomeIcon(props) {
53
- return /*#__PURE__*/_jsx(SvgIcon, _extends({
54
- "data-testid": "component-test"
55
- }, props, {
56
- children: /*#__PURE__*/_jsx("path", {
57
- d: "M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"
58
- })
59
- }));
60
- }
61
- const {
62
- queryAllByTestId
63
- } = render( /*#__PURE__*/_jsx(ElementToTest, {
64
- slots: {
65
- openPickerIcon: HomeIcon
66
- }
67
- }));
68
- const shouldRenderOpenPickerIcon = !hasNoView && variant !== 'mobile';
69
- expect(queryAllByTestId('component-test')).to.have.length(shouldRenderOpenPickerIcon ? 1 : 0);
70
- });
71
- });
72
- describe('Component slot: DesktopPaper', () => {
73
- it('should forward onClick and onTouchStart', function test() {
74
- if (hasNoView || variant !== 'desktop') {
75
- this.skip();
76
- }
77
- const handleClick = spy();
78
- const handleTouchStart = spy();
79
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
80
- slotProps: {
81
- desktopPaper: {
82
- onClick: handleClick,
83
- onTouchStart: handleTouchStart,
84
- 'data-testid': 'paper'
85
- }
86
- }
87
- })));
88
- const paper = screen.getByTestId('paper');
89
- fireEvent.click(paper);
90
- fireEvent.touchStart(paper);
91
- expect(handleClick.callCount).to.equal(1);
92
- expect(handleTouchStart.callCount).to.equal(1);
93
- });
94
- });
95
- describe('Component slot: Popper', () => {
96
- it('should forward onClick and onTouchStart', function test() {
97
- if (hasNoView || variant !== 'desktop') {
98
- this.skip();
99
- }
100
- const handleClick = spy();
101
- const handleTouchStart = spy();
102
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
103
- slotProps: {
104
- popper: {
105
- onClick: handleClick,
106
- onTouchStart: handleTouchStart,
107
- 'data-testid': 'popper'
108
- }
109
- }
110
- })));
111
- const popper = screen.getByTestId('popper');
112
- fireEvent.click(popper);
113
- fireEvent.touchStart(popper);
114
- expect(handleClick.callCount).to.equal(1);
115
- expect(handleTouchStart.callCount).to.equal(1);
116
- });
117
- });
118
- describe('Component slot: Toolbar', () => {
119
- it('should render toolbar on mobile but not on desktop when `hidden` is not defined', function test() {
120
- if (hasNoView) {
121
- this.skip();
122
- }
123
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen)));
124
- if (variant === 'desktop') {
125
- expect(screen.queryByMuiTest('picker-toolbar')).to.equal(null);
126
- } else {
127
- expect(screen.getByMuiTest('picker-toolbar')).toBeVisible();
128
- }
129
- });
130
- it('should render toolbar when `hidden` is `false`', function test() {
131
- if (hasNoView) {
132
- this.skip();
133
- }
134
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
135
- slotProps: {
136
- toolbar: {
137
- hidden: false
138
- }
139
- }
140
- })));
141
- expect(screen.getByMuiTest('picker-toolbar')).toBeVisible();
142
- });
143
- it('should not render toolbar when `hidden` is `true`', function test() {
144
- if (hasNoView) {
145
- this.skip();
146
- }
147
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
148
- slotProps: {
149
- toolbar: {
150
- hidden: true
151
- }
152
- }
153
- })));
154
- expect(screen.queryByMuiTest('picker-toolbar')).to.equal(null);
155
- });
156
- });
157
- }
158
-
159
- /**
160
- * Test behaviors shared across all pickers.
161
- */
162
- export const describePicker = createDescribe('Pickers shared APIs', innerDescribePicker);
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export { describePicker } from './describePicker';
@@ -1,31 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- /* eslint-env mocha */
3
-
4
- import createDescribe from '@mui/monorepo/test/utils/createDescribe';
5
- import { testDayViewValidation } from './testDayViewValidation';
6
- import { testMonthViewValidation } from './testMonthViewValidation';
7
- import { testTextFieldValidation } from './testTextFieldValidation';
8
- import { testYearViewValidation } from './testYearViewValidation';
9
- import { testMinutesViewValidation } from './testMinutesViewValidation';
10
- const TEST_SUITES = [testYearViewValidation, testMonthViewValidation, testDayViewValidation, testMinutesViewValidation, testTextFieldValidation];
11
- function innerDescribeValidation(ElementToTest, getOptions) {
12
- const {
13
- after: runAfterHook = () => {},
14
- views
15
- } = getOptions();
16
- after(runAfterHook);
17
- function getTestOptions() {
18
- return _extends({}, getOptions(), {
19
- withDate: views.includes('year') || views.includes('month') || views.includes('day'),
20
- withTime: views.includes('hours') || views.includes('minutes') || views.includes('seconds')
21
- });
22
- }
23
- TEST_SUITES.forEach(testSuite => {
24
- testSuite(ElementToTest, getTestOptions);
25
- });
26
- }
27
-
28
- /**
29
- * Tests various aspects of the picker validation.
30
- */
31
- export const describeValidation = createDescribe('Pickers validation API', innerDescribeValidation);
@@ -1 +0,0 @@
1
- export { describeValidation } from './describeValidation';
@@ -1,280 +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 testDayViewValidation = (ElementToTest, getOptions) => {
8
- const {
9
- componentFamily,
10
- views,
11
- render,
12
- clock,
13
- withDate,
14
- withTime
15
- } = getOptions();
16
- if (componentFamily === 'field' || !views.includes('day')) {
17
- return;
18
- }
19
- describe('day view:', () => {
20
- const defaultProps = {
21
- onChange: () => {},
22
- open: true,
23
- view: 'day',
24
- reduceAnimations: true,
25
- slotProps: {
26
- toolbar: {
27
- hidden: true
28
- }
29
- }
30
- };
31
- it('should apply shouldDisableDate', function test() {
32
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
33
- value: adapterToUse.date(new Date(2018, 2, 12)),
34
- shouldDisableDate: date => adapterToUse.isAfter(date, adapterToUse.date(new Date(2018, 2, 10)))
35
- })));
36
- expect(screen.getByRole('gridcell', {
37
- name: '9'
38
- })).not.to.have.attribute('disabled');
39
- expect(screen.getByRole('gridcell', {
40
- name: '10'
41
- })).not.to.have.attribute('disabled');
42
- expect(screen.getByRole('gridcell', {
43
- name: '11'
44
- })).to.have.attribute('disabled');
45
- expect(screen.getByRole('gridcell', {
46
- name: '12'
47
- })).to.have.attribute('disabled');
48
- });
49
- it('should apply shouldDisableYear', function test() {
50
- const {
51
- setProps
52
- } = render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
53
- value: adapterToUse.date(new Date(2018, 2, 12)),
54
- shouldDisableYear: date => adapterToUse.getYear(date) === 2018
55
- })));
56
- expect(screen.getByRole('gridcell', {
57
- name: '1'
58
- })).to.have.attribute('disabled');
59
- expect(screen.getByRole('gridcell', {
60
- name: '15'
61
- })).to.have.attribute('disabled');
62
- expect(screen.getByRole('gridcell', {
63
- name: '30'
64
- })).to.have.attribute('disabled');
65
- setProps({
66
- value: adapterToUse.date(new Date(2019, 0, 1))
67
- });
68
- clock.runToLast();
69
- expect(screen.getByRole('gridcell', {
70
- name: '1'
71
- })).not.to.have.attribute('disabled');
72
- expect(screen.getByRole('gridcell', {
73
- name: '15'
74
- })).not.to.have.attribute('disabled');
75
- expect(screen.getByRole('gridcell', {
76
- name: '30'
77
- })).not.to.have.attribute('disabled');
78
- });
79
- it('should apply shouldDisableMonth', function test() {
80
- const {
81
- setProps
82
- } = render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
83
- value: adapterToUse.date(new Date(2018, 2, 12)),
84
- shouldDisableMonth: date => adapterToUse.getMonth(date) === 2
85
- })));
86
- expect(screen.getByRole('gridcell', {
87
- name: '1'
88
- })).to.have.attribute('disabled');
89
- expect(screen.getByRole('gridcell', {
90
- name: '15'
91
- })).to.have.attribute('disabled');
92
- expect(screen.getByRole('gridcell', {
93
- name: '30'
94
- })).to.have.attribute('disabled');
95
- setProps({
96
- value: adapterToUse.date(new Date(2018, 1, 1))
97
- });
98
- clock.runToLast();
99
- expect(screen.getByRole('gridcell', {
100
- name: '1'
101
- })).not.to.have.attribute('disabled');
102
- expect(screen.getByRole('gridcell', {
103
- name: '15'
104
- })).not.to.have.attribute('disabled');
105
- expect(screen.getByRole('gridcell', {
106
- name: '28'
107
- })).not.to.have.attribute('disabled');
108
- });
109
- it('should apply disablePast', function test() {
110
- let now;
111
- function WithFakeTimer(props) {
112
- now = adapterToUse.date(new Date());
113
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
114
- value: now
115
- }, props));
116
- }
117
- const {
118
- setProps
119
- } = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
120
- disablePast: true
121
- })));
122
- const tomorrow = adapterToUse.addDays(now, 1);
123
- const yesterday = adapterToUse.addDays(now, -1);
124
- expect(screen.getByRole('gridcell', {
125
- name: adapterToUse.format(now, 'dayOfMonth')
126
- })).not.to.have.attribute('disabled');
127
- if (!adapterToUse.isSameMonth(now, tomorrow)) {
128
- setProps({
129
- value: tomorrow
130
- });
131
- clock.runToLast();
132
- }
133
- expect(screen.getByRole('gridcell', {
134
- name: adapterToUse.format(tomorrow, 'dayOfMonth')
135
- })).not.to.have.attribute('disabled');
136
- if (!adapterToUse.isSameMonth(yesterday, tomorrow)) {
137
- setProps({
138
- value: yesterday
139
- });
140
- clock.runToLast();
141
- }
142
- expect(screen.getByRole('gridcell', {
143
- name: adapterToUse.format(yesterday, 'dayOfMonth')
144
- })).to.have.attribute('disabled');
145
- });
146
- it('should apply disableFuture', function test() {
147
- let now;
148
- function WithFakeTimer(props) {
149
- now = adapterToUse.date(new Date());
150
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
151
- value: now
152
- }, props));
153
- }
154
- const {
155
- setProps
156
- } = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
157
- disableFuture: true
158
- })));
159
- const tomorrow = adapterToUse.addDays(now, 1);
160
- const yesterday = adapterToUse.addDays(now, -1);
161
- expect(screen.getByRole('gridcell', {
162
- name: adapterToUse.format(now, 'dayOfMonth')
163
- })).not.to.have.attribute('disabled');
164
- if (!adapterToUse.isSameMonth(now, tomorrow)) {
165
- setProps({
166
- value: tomorrow
167
- });
168
- clock.runToLast();
169
- }
170
- expect(screen.getByRole('gridcell', {
171
- name: adapterToUse.format(tomorrow, 'dayOfMonth')
172
- })).to.have.attribute('disabled');
173
- if (!adapterToUse.isSameMonth(yesterday, tomorrow)) {
174
- setProps({
175
- value: yesterday
176
- });
177
- clock.runToLast();
178
- }
179
- expect(screen.getByRole('gridcell', {
180
- name: adapterToUse.format(yesterday, 'dayOfMonth')
181
- })).not.to.have.attribute('disabled');
182
- });
183
- it('should apply minDate', function test() {
184
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
185
- value: adapterToUse.date(new Date(2019, 5, 15)),
186
- minDate: adapterToUse.date(new Date(2019, 5, 4))
187
- })));
188
- expect(screen.getByRole('gridcell', {
189
- name: '1'
190
- })).to.have.attribute('disabled');
191
- expect(screen.getByRole('gridcell', {
192
- name: '3'
193
- })).to.have.attribute('disabled');
194
- expect(screen.getByRole('gridcell', {
195
- name: '4'
196
- })).not.to.have.attribute('disabled');
197
- expect(screen.getByRole('gridcell', {
198
- name: '5'
199
- })).not.to.have.attribute('disabled');
200
- expect(screen.getByRole('gridcell', {
201
- name: '30'
202
- })).not.to.have.attribute('disabled');
203
- expect(screen.getByLabelText('Previous month')).to.have.attribute('disabled');
204
- expect(screen.getByLabelText('Next month')).not.to.have.attribute('disabled');
205
- });
206
- it('should apply maxDate', function test() {
207
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
208
- value: adapterToUse.date(new Date(2019, 5, 15)),
209
- maxDate: adapterToUse.date(new Date(2019, 5, 4))
210
- })));
211
- expect(screen.getByRole('gridcell', {
212
- name: '1'
213
- })).not.to.have.attribute('disabled');
214
- expect(screen.getByRole('gridcell', {
215
- name: '3'
216
- })).not.to.have.attribute('disabled');
217
- expect(screen.getByRole('gridcell', {
218
- name: '4'
219
- })).not.to.have.attribute('disabled');
220
- expect(screen.getByRole('gridcell', {
221
- name: '5'
222
- })).to.have.attribute('disabled');
223
- expect(screen.getByRole('gridcell', {
224
- name: '30'
225
- })).to.have.attribute('disabled');
226
- expect(screen.getByLabelText('Previous month')).not.to.have.attribute('disabled');
227
- expect(screen.getByLabelText('Next month')).to.have.attribute('disabled');
228
- });
229
- it('should apply maxDateTime', function test() {
230
- if (!withDate || !withTime) {
231
- // prop only available on DateTime pickers
232
- return;
233
- }
234
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
235
- value: adapterToUse.date(new Date(2019, 5, 15)),
236
- maxDateTime: adapterToUse.date(new Date(2019, 5, 4, 12, 0, 0))
237
- })));
238
- expect(screen.getByRole('gridcell', {
239
- name: '1'
240
- })).not.to.have.attribute('disabled');
241
- expect(screen.getByRole('gridcell', {
242
- name: '3'
243
- })).not.to.have.attribute('disabled');
244
- expect(screen.getByRole('gridcell', {
245
- name: '4'
246
- })).not.to.have.attribute('disabled');
247
- expect(screen.getByRole('gridcell', {
248
- name: '5'
249
- })).to.have.attribute('disabled');
250
- expect(screen.getByRole('gridcell', {
251
- name: '30'
252
- })).to.have.attribute('disabled');
253
- });
254
- it('should apply minDateTime', function test() {
255
- if (!withDate || !withTime) {
256
- // prop only available on DateTime pickers
257
- return;
258
- }
259
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
260
- value: adapterToUse.date(new Date(2019, 5, 15)),
261
- minDateTime: adapterToUse.date(new Date(2019, 5, 4, 12, 0, 0))
262
- })));
263
- expect(screen.getByRole('gridcell', {
264
- name: '1'
265
- })).to.have.attribute('disabled');
266
- expect(screen.getByRole('gridcell', {
267
- name: '3'
268
- })).to.have.attribute('disabled');
269
- expect(screen.getByRole('gridcell', {
270
- name: '4'
271
- })).not.to.have.attribute('disabled');
272
- expect(screen.getByRole('gridcell', {
273
- name: '5'
274
- })).not.to.have.attribute('disabled');
275
- expect(screen.getByRole('gridcell', {
276
- name: '30'
277
- })).not.to.have.attribute('disabled');
278
- });
279
- });
280
- };
@@ -1,193 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { expect } from 'chai';
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
- const toMinutesLabel = minutes => `${Number(minutes) < 10 ? `0${minutes}` : minutes} minutes`;
8
- export const testMinutesViewValidation = (ElementToTest, getOption) => {
9
- const {
10
- componentFamily,
11
- views,
12
- render,
13
- clock,
14
- withDate,
15
- withTime,
16
- variant
17
- } = getOption();
18
- if (!views.includes('minutes') || !variant || componentFamily !== 'picker' || variant === 'desktop') {
19
- return;
20
- }
21
- describe('minutes view:', () => {
22
- const defaultProps = {
23
- onChange: () => {},
24
- open: true,
25
- view: 'minutes',
26
- openTo: 'minutes',
27
- reduceAnimations: true,
28
- slotProps: {
29
- toolbar: {
30
- hidden: true
31
- }
32
- }
33
- };
34
- it('should apply shouldDisableTime', function test() {
35
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
36
- value: adapterToUse.date(new Date(2018, 2, 12, 8, 15, 0)),
37
- shouldDisableTime: date => adapterToUse.isAfter(date, adapterToUse.date(new Date(2018, 2, 12, 8, 20, 0)))
38
- })));
39
- expect(screen.getByRole('option', {
40
- name: toMinutesLabel('10')
41
- })).not.to.have.attribute('aria-disabled');
42
- expect(screen.getByRole('option', {
43
- name: toMinutesLabel('15')
44
- })).not.to.have.attribute('aria-disabled');
45
- expect(screen.getByRole('option', {
46
- name: toMinutesLabel('20')
47
- })).not.to.have.attribute('aria-disabled');
48
- expect(screen.getByRole('option', {
49
- name: toMinutesLabel('25')
50
- })).to.have.attribute('aria-disabled');
51
- expect(screen.getByRole('option', {
52
- name: toMinutesLabel('30')
53
- })).to.have.attribute('aria-disabled');
54
- expect(screen.getByRole('option', {
55
- name: toMinutesLabel('55')
56
- })).to.have.attribute('aria-disabled');
57
- });
58
- it('should apply disablePast', function test() {
59
- let now;
60
- function WithFakeTimer(props) {
61
- now = adapterToUse.date(new Date());
62
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
63
- value: now
64
- }, props));
65
- }
66
- const {
67
- setProps
68
- } = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
69
- disablePast: true
70
- })));
71
- const tomorrow = adapterToUse.addDays(now, 1);
72
- const currentMinutes = adapterToUse.getMinutes(now);
73
- const closestNowMinutesOptionValue = Math.floor(currentMinutes / 5) * 5;
74
- const previousMinutesOptionValue = Math.floor(currentMinutes / 5) * 5 - 5;
75
- const nextMinutesOptionValue = Math.floor(currentMinutes / 5) * 5 + 5;
76
- expect(screen.getByRole('option', {
77
- name: toMinutesLabel(previousMinutesOptionValue)
78
- })).to.have.attribute('aria-disabled');
79
- if (currentMinutes <= closestNowMinutesOptionValue) {
80
- expect(screen.getByRole('option', {
81
- name: toMinutesLabel(closestNowMinutesOptionValue)
82
- })).not.to.have.attribute('aria-disabled');
83
- } else {
84
- expect(screen.getByRole('option', {
85
- name: toMinutesLabel(closestNowMinutesOptionValue)
86
- })).to.have.attribute('aria-disabled');
87
- }
88
- expect(screen.getByRole('option', {
89
- name: toMinutesLabel(nextMinutesOptionValue)
90
- })).not.to.have.attribute('aria-disabled');
91
-
92
- // following validation is relevant only for DateTimePicker
93
- if (!withDate || !withTime) {
94
- return;
95
- }
96
- setProps({
97
- value: tomorrow
98
- });
99
- clock.runToLast();
100
- expect(screen.getByRole('option', {
101
- name: toMinutesLabel(previousMinutesOptionValue)
102
- })).not.to.have.attribute('aria-disabled');
103
- expect(screen.getByRole('option', {
104
- name: toMinutesLabel(closestNowMinutesOptionValue)
105
- })).not.to.have.attribute('aria-disabled');
106
- });
107
- it('should apply disableFuture', function test() {
108
- let now;
109
- function WithFakeTimer(props) {
110
- now = adapterToUse.date(new Date());
111
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
112
- value: now
113
- }, props));
114
- }
115
- const {
116
- setProps
117
- } = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
118
- disableFuture: true
119
- })));
120
- const yesterday = adapterToUse.addDays(now, -1);
121
- const currentMinutes = adapterToUse.getMinutes(now);
122
- const closestNowMinutesOptionValue = Math.floor(currentMinutes / 5) * 5;
123
- const previousMinutesOptionValue = Math.floor(currentMinutes / 5) * 5 - 5;
124
- const nextMinutesOptionValue = Math.floor(currentMinutes / 5) * 5 + 5;
125
- expect(screen.getByRole('option', {
126
- name: toMinutesLabel(previousMinutesOptionValue)
127
- })).not.to.have.attribute('aria-disabled');
128
- if (currentMinutes < closestNowMinutesOptionValue) {
129
- expect(screen.getByRole('option', {
130
- name: toMinutesLabel(closestNowMinutesOptionValue)
131
- })).to.have.attribute('aria-disabled');
132
- } else {
133
- expect(screen.getByRole('option', {
134
- name: toMinutesLabel(closestNowMinutesOptionValue)
135
- })).not.to.have.attribute('aria-disabled');
136
- }
137
- expect(screen.getByRole('option', {
138
- name: toMinutesLabel(nextMinutesOptionValue)
139
- })).to.have.attribute('aria-disabled');
140
-
141
- // following validation is relevant only for DateTimePicker
142
- if (!withDate || !withTime) {
143
- return;
144
- }
145
- setProps({
146
- value: yesterday
147
- });
148
- clock.runToLast();
149
- expect(screen.getByRole('option', {
150
- name: toMinutesLabel(previousMinutesOptionValue)
151
- })).not.to.have.attribute('aria-disabled');
152
- expect(screen.getByRole('option', {
153
- name: toMinutesLabel(closestNowMinutesOptionValue)
154
- })).not.to.have.attribute('aria-disabled');
155
- });
156
- it('should apply maxTime', function test() {
157
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
158
- value: adapterToUse.date(new Date(2019, 5, 15, 11, 15, 0)),
159
- maxTime: adapterToUse.date(new Date(2019, 5, 15, 11, 20, 0))
160
- })));
161
- expect(screen.getByRole('option', {
162
- name: toMinutesLabel('10')
163
- })).not.to.have.attribute('aria-disabled');
164
- expect(screen.getByRole('option', {
165
- name: toMinutesLabel('15')
166
- })).not.to.have.attribute('aria-disabled');
167
- expect(screen.getByRole('option', {
168
- name: toMinutesLabel('20')
169
- })).not.to.have.attribute('aria-disabled');
170
- expect(screen.getByRole('option', {
171
- name: toMinutesLabel('25')
172
- })).to.have.attribute('aria-disabled');
173
- });
174
- it('should apply minTime', function test() {
175
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
176
- value: adapterToUse.date(new Date(2019, 5, 15, 11, 15, 0)),
177
- minTime: adapterToUse.date(new Date(2019, 5, 15, 11, 10, 0))
178
- })));
179
- expect(screen.getByRole('option', {
180
- name: toMinutesLabel('0')
181
- })).to.have.attribute('aria-disabled');
182
- expect(screen.getByRole('option', {
183
- name: toMinutesLabel('5')
184
- })).to.have.attribute('aria-disabled');
185
- expect(screen.getByRole('option', {
186
- name: toMinutesLabel('10')
187
- })).not.to.have.attribute('aria-disabled');
188
- expect(screen.getByRole('option', {
189
- name: toMinutesLabel('15')
190
- })).not.to.have.attribute('aria-disabled');
191
- });
192
- });
193
- };