@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,159 +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
- var render = options.render,
11
- fieldType = options.fieldType,
12
- hasNoView = options.hasNoView,
13
- variant = options.variant;
14
- var propsToOpen = variant === 'static' ? {} : {
15
- open: true
16
- };
17
- it('should forward the `inputRef` prop to the text field', function test() {
18
- if (fieldType === 'multi-input' || variant === 'static') {
19
- this.skip();
20
- }
21
- var inputRef = /*#__PURE__*/React.createRef();
22
- render( /*#__PURE__*/_jsx(ElementToTest, {
23
- inputRef: inputRef
24
- }));
25
- expect(inputRef.current).to.have.tagName('input');
26
- });
27
- describe('Localization', function () {
28
- it('should respect the `localeText` prop', function test() {
29
- if (hasNoView) {
30
- this.skip();
31
- }
32
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
33
- localeText: {
34
- cancelButtonLabel: 'Custom cancel'
35
- },
36
- slotProps: {
37
- actionBar: {
38
- actions: ['cancel']
39
- }
40
- }
41
- })));
42
- expect(screen.queryByText('Custom cancel')).not.to.equal(null);
43
- });
44
- });
45
- describe('Component slot: OpenPickerIcon', function () {
46
- it('should render custom component', function test() {
47
- if (variant === 'static' || fieldType === 'multi-input') {
48
- this.skip();
49
- }
50
- function HomeIcon(props) {
51
- return /*#__PURE__*/_jsx(SvgIcon, _extends({
52
- "data-testid": "component-test"
53
- }, props, {
54
- children: /*#__PURE__*/_jsx("path", {
55
- d: "M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"
56
- })
57
- }));
58
- }
59
- var _render = render( /*#__PURE__*/_jsx(ElementToTest, {
60
- slots: {
61
- openPickerIcon: HomeIcon
62
- }
63
- })),
64
- queryAllByTestId = _render.queryAllByTestId;
65
- var shouldRenderOpenPickerIcon = !hasNoView && variant !== 'mobile';
66
- expect(queryAllByTestId('component-test')).to.have.length(shouldRenderOpenPickerIcon ? 1 : 0);
67
- });
68
- });
69
- describe('Component slot: DesktopPaper', function () {
70
- it('should forward onClick and onTouchStart', function test() {
71
- if (hasNoView || variant !== 'desktop') {
72
- this.skip();
73
- }
74
- var handleClick = spy();
75
- var handleTouchStart = spy();
76
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
77
- slotProps: {
78
- desktopPaper: {
79
- onClick: handleClick,
80
- onTouchStart: handleTouchStart,
81
- 'data-testid': 'paper'
82
- }
83
- }
84
- })));
85
- var paper = screen.getByTestId('paper');
86
- fireEvent.click(paper);
87
- fireEvent.touchStart(paper);
88
- expect(handleClick.callCount).to.equal(1);
89
- expect(handleTouchStart.callCount).to.equal(1);
90
- });
91
- });
92
- describe('Component slot: Popper', function () {
93
- it('should forward onClick and onTouchStart', function test() {
94
- if (hasNoView || variant !== 'desktop') {
95
- this.skip();
96
- }
97
- var handleClick = spy();
98
- var handleTouchStart = spy();
99
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
100
- slotProps: {
101
- popper: {
102
- onClick: handleClick,
103
- onTouchStart: handleTouchStart,
104
- 'data-testid': 'popper'
105
- }
106
- }
107
- })));
108
- var popper = screen.getByTestId('popper');
109
- fireEvent.click(popper);
110
- fireEvent.touchStart(popper);
111
- expect(handleClick.callCount).to.equal(1);
112
- expect(handleTouchStart.callCount).to.equal(1);
113
- });
114
- });
115
- describe('Component slot: Toolbar', function () {
116
- it('should render toolbar on mobile but not on desktop when `hidden` is not defined', function test() {
117
- if (hasNoView) {
118
- this.skip();
119
- }
120
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen)));
121
- if (variant === 'desktop') {
122
- expect(screen.queryByMuiTest('picker-toolbar')).to.equal(null);
123
- } else {
124
- expect(screen.getByMuiTest('picker-toolbar')).toBeVisible();
125
- }
126
- });
127
- it('should render toolbar when `hidden` is `false`', function test() {
128
- if (hasNoView) {
129
- this.skip();
130
- }
131
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
132
- slotProps: {
133
- toolbar: {
134
- hidden: false
135
- }
136
- }
137
- })));
138
- expect(screen.getByMuiTest('picker-toolbar')).toBeVisible();
139
- });
140
- it('should not render toolbar when `hidden` is `true`', function test() {
141
- if (hasNoView) {
142
- this.skip();
143
- }
144
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, propsToOpen, {
145
- slotProps: {
146
- toolbar: {
147
- hidden: true
148
- }
149
- }
150
- })));
151
- expect(screen.queryByMuiTest('picker-toolbar')).to.equal(null);
152
- });
153
- });
154
- }
155
-
156
- /**
157
- * Test behaviors shared across all pickers.
158
- */
159
- export var 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
- var TEST_SUITES = [testYearViewValidation, testMonthViewValidation, testDayViewValidation, testMinutesViewValidation, testTextFieldValidation];
11
- function innerDescribeValidation(ElementToTest, getOptions) {
12
- var _getOptions = getOptions(),
13
- _getOptions$after = _getOptions.after,
14
- runAfterHook = _getOptions$after === void 0 ? function () {} : _getOptions$after,
15
- views = _getOptions.views;
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(function (testSuite) {
24
- testSuite(ElementToTest, getTestOptions);
25
- });
26
- }
27
-
28
- /**
29
- * Tests various aspects of the picker validation.
30
- */
31
- export var describeValidation = createDescribe('Pickers validation API', innerDescribeValidation);
@@ -1 +0,0 @@
1
- export { describeValidation } from './describeValidation';
@@ -1,281 +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 var testDayViewValidation = function testDayViewValidation(ElementToTest, getOptions) {
8
- var _getOptions = getOptions(),
9
- componentFamily = _getOptions.componentFamily,
10
- views = _getOptions.views,
11
- render = _getOptions.render,
12
- clock = _getOptions.clock,
13
- withDate = _getOptions.withDate,
14
- withTime = _getOptions.withTime;
15
- if (componentFamily === 'field' || !views.includes('day')) {
16
- return;
17
- }
18
- describe('day view:', function () {
19
- var defaultProps = {
20
- onChange: function onChange() {},
21
- open: true,
22
- view: 'day',
23
- reduceAnimations: true,
24
- slotProps: {
25
- toolbar: {
26
- hidden: true
27
- }
28
- }
29
- };
30
- it('should apply shouldDisableDate', function test() {
31
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
32
- value: adapterToUse.date(new Date(2018, 2, 12)),
33
- shouldDisableDate: function shouldDisableDate(date) {
34
- return adapterToUse.isAfter(date, adapterToUse.date(new Date(2018, 2, 10)));
35
- }
36
- })));
37
- expect(screen.getByRole('gridcell', {
38
- name: '9'
39
- })).not.to.have.attribute('disabled');
40
- expect(screen.getByRole('gridcell', {
41
- name: '10'
42
- })).not.to.have.attribute('disabled');
43
- expect(screen.getByRole('gridcell', {
44
- name: '11'
45
- })).to.have.attribute('disabled');
46
- expect(screen.getByRole('gridcell', {
47
- name: '12'
48
- })).to.have.attribute('disabled');
49
- });
50
- it('should apply shouldDisableYear', function test() {
51
- var _render = render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
52
- value: adapterToUse.date(new Date(2018, 2, 12)),
53
- shouldDisableYear: function shouldDisableYear(date) {
54
- return adapterToUse.getYear(date) === 2018;
55
- }
56
- }))),
57
- setProps = _render.setProps;
58
- expect(screen.getByRole('gridcell', {
59
- name: '1'
60
- })).to.have.attribute('disabled');
61
- expect(screen.getByRole('gridcell', {
62
- name: '15'
63
- })).to.have.attribute('disabled');
64
- expect(screen.getByRole('gridcell', {
65
- name: '30'
66
- })).to.have.attribute('disabled');
67
- setProps({
68
- value: adapterToUse.date(new Date(2019, 0, 1))
69
- });
70
- clock.runToLast();
71
- expect(screen.getByRole('gridcell', {
72
- name: '1'
73
- })).not.to.have.attribute('disabled');
74
- expect(screen.getByRole('gridcell', {
75
- name: '15'
76
- })).not.to.have.attribute('disabled');
77
- expect(screen.getByRole('gridcell', {
78
- name: '30'
79
- })).not.to.have.attribute('disabled');
80
- });
81
- it('should apply shouldDisableMonth', function test() {
82
- var _render2 = render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
83
- value: adapterToUse.date(new Date(2018, 2, 12)),
84
- shouldDisableMonth: function shouldDisableMonth(date) {
85
- return adapterToUse.getMonth(date) === 2;
86
- }
87
- }))),
88
- setProps = _render2.setProps;
89
- expect(screen.getByRole('gridcell', {
90
- name: '1'
91
- })).to.have.attribute('disabled');
92
- expect(screen.getByRole('gridcell', {
93
- name: '15'
94
- })).to.have.attribute('disabled');
95
- expect(screen.getByRole('gridcell', {
96
- name: '30'
97
- })).to.have.attribute('disabled');
98
- setProps({
99
- value: adapterToUse.date(new Date(2018, 1, 1))
100
- });
101
- clock.runToLast();
102
- expect(screen.getByRole('gridcell', {
103
- name: '1'
104
- })).not.to.have.attribute('disabled');
105
- expect(screen.getByRole('gridcell', {
106
- name: '15'
107
- })).not.to.have.attribute('disabled');
108
- expect(screen.getByRole('gridcell', {
109
- name: '28'
110
- })).not.to.have.attribute('disabled');
111
- });
112
- it('should apply disablePast', function test() {
113
- var now;
114
- function WithFakeTimer(props) {
115
- now = adapterToUse.date(new Date());
116
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
117
- value: now
118
- }, props));
119
- }
120
- var _render3 = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
121
- disablePast: true
122
- }))),
123
- setProps = _render3.setProps;
124
- var tomorrow = adapterToUse.addDays(now, 1);
125
- var yesterday = adapterToUse.addDays(now, -1);
126
- expect(screen.getByRole('gridcell', {
127
- name: adapterToUse.format(now, 'dayOfMonth')
128
- })).not.to.have.attribute('disabled');
129
- if (!adapterToUse.isSameMonth(now, tomorrow)) {
130
- setProps({
131
- value: tomorrow
132
- });
133
- clock.runToLast();
134
- }
135
- expect(screen.getByRole('gridcell', {
136
- name: adapterToUse.format(tomorrow, 'dayOfMonth')
137
- })).not.to.have.attribute('disabled');
138
- if (!adapterToUse.isSameMonth(yesterday, tomorrow)) {
139
- setProps({
140
- value: yesterday
141
- });
142
- clock.runToLast();
143
- }
144
- expect(screen.getByRole('gridcell', {
145
- name: adapterToUse.format(yesterday, 'dayOfMonth')
146
- })).to.have.attribute('disabled');
147
- });
148
- it('should apply disableFuture', function test() {
149
- var now;
150
- function WithFakeTimer(props) {
151
- now = adapterToUse.date(new Date());
152
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
153
- value: now
154
- }, props));
155
- }
156
- var _render4 = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
157
- disableFuture: true
158
- }))),
159
- setProps = _render4.setProps;
160
- var tomorrow = adapterToUse.addDays(now, 1);
161
- var yesterday = adapterToUse.addDays(now, -1);
162
- expect(screen.getByRole('gridcell', {
163
- name: adapterToUse.format(now, 'dayOfMonth')
164
- })).not.to.have.attribute('disabled');
165
- if (!adapterToUse.isSameMonth(now, tomorrow)) {
166
- setProps({
167
- value: tomorrow
168
- });
169
- clock.runToLast();
170
- }
171
- expect(screen.getByRole('gridcell', {
172
- name: adapterToUse.format(tomorrow, 'dayOfMonth')
173
- })).to.have.attribute('disabled');
174
- if (!adapterToUse.isSameMonth(yesterday, tomorrow)) {
175
- setProps({
176
- value: yesterday
177
- });
178
- clock.runToLast();
179
- }
180
- expect(screen.getByRole('gridcell', {
181
- name: adapterToUse.format(yesterday, 'dayOfMonth')
182
- })).not.to.have.attribute('disabled');
183
- });
184
- it('should apply minDate', function test() {
185
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
186
- value: adapterToUse.date(new Date(2019, 5, 15)),
187
- minDate: adapterToUse.date(new Date(2019, 5, 4))
188
- })));
189
- expect(screen.getByRole('gridcell', {
190
- name: '1'
191
- })).to.have.attribute('disabled');
192
- expect(screen.getByRole('gridcell', {
193
- name: '3'
194
- })).to.have.attribute('disabled');
195
- expect(screen.getByRole('gridcell', {
196
- name: '4'
197
- })).not.to.have.attribute('disabled');
198
- expect(screen.getByRole('gridcell', {
199
- name: '5'
200
- })).not.to.have.attribute('disabled');
201
- expect(screen.getByRole('gridcell', {
202
- name: '30'
203
- })).not.to.have.attribute('disabled');
204
- expect(screen.getByLabelText('Previous month')).to.have.attribute('disabled');
205
- expect(screen.getByLabelText('Next month')).not.to.have.attribute('disabled');
206
- });
207
- it('should apply maxDate', function test() {
208
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
209
- value: adapterToUse.date(new Date(2019, 5, 15)),
210
- maxDate: adapterToUse.date(new Date(2019, 5, 4))
211
- })));
212
- expect(screen.getByRole('gridcell', {
213
- name: '1'
214
- })).not.to.have.attribute('disabled');
215
- expect(screen.getByRole('gridcell', {
216
- name: '3'
217
- })).not.to.have.attribute('disabled');
218
- expect(screen.getByRole('gridcell', {
219
- name: '4'
220
- })).not.to.have.attribute('disabled');
221
- expect(screen.getByRole('gridcell', {
222
- name: '5'
223
- })).to.have.attribute('disabled');
224
- expect(screen.getByRole('gridcell', {
225
- name: '30'
226
- })).to.have.attribute('disabled');
227
- expect(screen.getByLabelText('Previous month')).not.to.have.attribute('disabled');
228
- expect(screen.getByLabelText('Next month')).to.have.attribute('disabled');
229
- });
230
- it('should apply maxDateTime', function test() {
231
- if (!withDate || !withTime) {
232
- // prop only available on DateTime pickers
233
- return;
234
- }
235
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
236
- value: adapterToUse.date(new Date(2019, 5, 15)),
237
- maxDateTime: adapterToUse.date(new Date(2019, 5, 4, 12, 0, 0))
238
- })));
239
- expect(screen.getByRole('gridcell', {
240
- name: '1'
241
- })).not.to.have.attribute('disabled');
242
- expect(screen.getByRole('gridcell', {
243
- name: '3'
244
- })).not.to.have.attribute('disabled');
245
- expect(screen.getByRole('gridcell', {
246
- name: '4'
247
- })).not.to.have.attribute('disabled');
248
- expect(screen.getByRole('gridcell', {
249
- name: '5'
250
- })).to.have.attribute('disabled');
251
- expect(screen.getByRole('gridcell', {
252
- name: '30'
253
- })).to.have.attribute('disabled');
254
- });
255
- it('should apply minDateTime', function test() {
256
- if (!withDate || !withTime) {
257
- // prop only available on DateTime pickers
258
- return;
259
- }
260
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
261
- value: adapterToUse.date(new Date(2019, 5, 15)),
262
- minDateTime: adapterToUse.date(new Date(2019, 5, 4, 12, 0, 0))
263
- })));
264
- expect(screen.getByRole('gridcell', {
265
- name: '1'
266
- })).to.have.attribute('disabled');
267
- expect(screen.getByRole('gridcell', {
268
- name: '3'
269
- })).to.have.attribute('disabled');
270
- expect(screen.getByRole('gridcell', {
271
- name: '4'
272
- })).not.to.have.attribute('disabled');
273
- expect(screen.getByRole('gridcell', {
274
- name: '5'
275
- })).not.to.have.attribute('disabled');
276
- expect(screen.getByRole('gridcell', {
277
- name: '30'
278
- })).not.to.have.attribute('disabled');
279
- });
280
- });
281
- };
@@ -1,194 +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
- var toMinutesLabel = function toMinutesLabel(minutes) {
8
- return "".concat(Number(minutes) < 10 ? "0".concat(minutes) : minutes, " minutes");
9
- };
10
- export var testMinutesViewValidation = function testMinutesViewValidation(ElementToTest, getOption) {
11
- var _getOption = getOption(),
12
- componentFamily = _getOption.componentFamily,
13
- views = _getOption.views,
14
- render = _getOption.render,
15
- clock = _getOption.clock,
16
- withDate = _getOption.withDate,
17
- withTime = _getOption.withTime,
18
- variant = _getOption.variant;
19
- if (!views.includes('minutes') || !variant || componentFamily !== 'picker' || variant === 'desktop') {
20
- return;
21
- }
22
- describe('minutes view:', function () {
23
- var defaultProps = {
24
- onChange: function onChange() {},
25
- open: true,
26
- view: 'minutes',
27
- openTo: 'minutes',
28
- reduceAnimations: true,
29
- slotProps: {
30
- toolbar: {
31
- hidden: true
32
- }
33
- }
34
- };
35
- it('should apply shouldDisableTime', function test() {
36
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
37
- value: adapterToUse.date(new Date(2018, 2, 12, 8, 15, 0)),
38
- shouldDisableTime: function shouldDisableTime(date) {
39
- return adapterToUse.isAfter(date, adapterToUse.date(new Date(2018, 2, 12, 8, 20, 0)));
40
- }
41
- })));
42
- expect(screen.getByRole('option', {
43
- name: toMinutesLabel('10')
44
- })).not.to.have.attribute('aria-disabled');
45
- expect(screen.getByRole('option', {
46
- name: toMinutesLabel('15')
47
- })).not.to.have.attribute('aria-disabled');
48
- expect(screen.getByRole('option', {
49
- name: toMinutesLabel('20')
50
- })).not.to.have.attribute('aria-disabled');
51
- expect(screen.getByRole('option', {
52
- name: toMinutesLabel('25')
53
- })).to.have.attribute('aria-disabled');
54
- expect(screen.getByRole('option', {
55
- name: toMinutesLabel('30')
56
- })).to.have.attribute('aria-disabled');
57
- expect(screen.getByRole('option', {
58
- name: toMinutesLabel('55')
59
- })).to.have.attribute('aria-disabled');
60
- });
61
- it('should apply disablePast', function test() {
62
- var now;
63
- function WithFakeTimer(props) {
64
- now = adapterToUse.date(new Date());
65
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
66
- value: now
67
- }, props));
68
- }
69
- var _render = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
70
- disablePast: true
71
- }))),
72
- setProps = _render.setProps;
73
- var tomorrow = adapterToUse.addDays(now, 1);
74
- var currentMinutes = adapterToUse.getMinutes(now);
75
- var closestNowMinutesOptionValue = Math.floor(currentMinutes / 5) * 5;
76
- var previousMinutesOptionValue = Math.floor(currentMinutes / 5) * 5 - 5;
77
- var nextMinutesOptionValue = Math.floor(currentMinutes / 5) * 5 + 5;
78
- expect(screen.getByRole('option', {
79
- name: toMinutesLabel(previousMinutesOptionValue)
80
- })).to.have.attribute('aria-disabled');
81
- if (currentMinutes <= closestNowMinutesOptionValue) {
82
- expect(screen.getByRole('option', {
83
- name: toMinutesLabel(closestNowMinutesOptionValue)
84
- })).not.to.have.attribute('aria-disabled');
85
- } else {
86
- expect(screen.getByRole('option', {
87
- name: toMinutesLabel(closestNowMinutesOptionValue)
88
- })).to.have.attribute('aria-disabled');
89
- }
90
- expect(screen.getByRole('option', {
91
- name: toMinutesLabel(nextMinutesOptionValue)
92
- })).not.to.have.attribute('aria-disabled');
93
-
94
- // following validation is relevant only for DateTimePicker
95
- if (!withDate || !withTime) {
96
- return;
97
- }
98
- setProps({
99
- value: tomorrow
100
- });
101
- clock.runToLast();
102
- expect(screen.getByRole('option', {
103
- name: toMinutesLabel(previousMinutesOptionValue)
104
- })).not.to.have.attribute('aria-disabled');
105
- expect(screen.getByRole('option', {
106
- name: toMinutesLabel(closestNowMinutesOptionValue)
107
- })).not.to.have.attribute('aria-disabled');
108
- });
109
- it('should apply disableFuture', function test() {
110
- var now;
111
- function WithFakeTimer(props) {
112
- now = adapterToUse.date(new Date());
113
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
114
- value: now
115
- }, props));
116
- }
117
- var _render2 = render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
118
- disableFuture: true
119
- }))),
120
- setProps = _render2.setProps;
121
- var yesterday = adapterToUse.addDays(now, -1);
122
- var currentMinutes = adapterToUse.getMinutes(now);
123
- var closestNowMinutesOptionValue = Math.floor(currentMinutes / 5) * 5;
124
- var previousMinutesOptionValue = Math.floor(currentMinutes / 5) * 5 - 5;
125
- var nextMinutesOptionValue = Math.floor(currentMinutes / 5) * 5 + 5;
126
- expect(screen.getByRole('option', {
127
- name: toMinutesLabel(previousMinutesOptionValue)
128
- })).not.to.have.attribute('aria-disabled');
129
- if (currentMinutes < closestNowMinutesOptionValue) {
130
- expect(screen.getByRole('option', {
131
- name: toMinutesLabel(closestNowMinutesOptionValue)
132
- })).to.have.attribute('aria-disabled');
133
- } else {
134
- expect(screen.getByRole('option', {
135
- name: toMinutesLabel(closestNowMinutesOptionValue)
136
- })).not.to.have.attribute('aria-disabled');
137
- }
138
- expect(screen.getByRole('option', {
139
- name: toMinutesLabel(nextMinutesOptionValue)
140
- })).to.have.attribute('aria-disabled');
141
-
142
- // following validation is relevant only for DateTimePicker
143
- if (!withDate || !withTime) {
144
- return;
145
- }
146
- setProps({
147
- value: yesterday
148
- });
149
- clock.runToLast();
150
- expect(screen.getByRole('option', {
151
- name: toMinutesLabel(previousMinutesOptionValue)
152
- })).not.to.have.attribute('aria-disabled');
153
- expect(screen.getByRole('option', {
154
- name: toMinutesLabel(closestNowMinutesOptionValue)
155
- })).not.to.have.attribute('aria-disabled');
156
- });
157
- it('should apply maxTime', function test() {
158
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
159
- value: adapterToUse.date(new Date(2019, 5, 15, 11, 15, 0)),
160
- maxTime: adapterToUse.date(new Date(2019, 5, 15, 11, 20, 0))
161
- })));
162
- expect(screen.getByRole('option', {
163
- name: toMinutesLabel('10')
164
- })).not.to.have.attribute('aria-disabled');
165
- expect(screen.getByRole('option', {
166
- name: toMinutesLabel('15')
167
- })).not.to.have.attribute('aria-disabled');
168
- expect(screen.getByRole('option', {
169
- name: toMinutesLabel('20')
170
- })).not.to.have.attribute('aria-disabled');
171
- expect(screen.getByRole('option', {
172
- name: toMinutesLabel('25')
173
- })).to.have.attribute('aria-disabled');
174
- });
175
- it('should apply minTime', function test() {
176
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
177
- value: adapterToUse.date(new Date(2019, 5, 15, 11, 15, 0)),
178
- minTime: adapterToUse.date(new Date(2019, 5, 15, 11, 10, 0))
179
- })));
180
- expect(screen.getByRole('option', {
181
- name: toMinutesLabel('0')
182
- })).to.have.attribute('aria-disabled');
183
- expect(screen.getByRole('option', {
184
- name: toMinutesLabel('5')
185
- })).to.have.attribute('aria-disabled');
186
- expect(screen.getByRole('option', {
187
- name: toMinutesLabel('10')
188
- })).not.to.have.attribute('aria-disabled');
189
- expect(screen.getByRole('option', {
190
- name: toMinutesLabel('15')
191
- })).not.to.have.attribute('aria-disabled');
192
- });
193
- });
194
- };