@mui/x-date-pickers 6.15.0 → 6.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/DateCalendar/DateCalendar.js +6 -2
  3. package/DateCalendar/DateCalendar.types.d.ts +1 -1
  4. package/DateCalendar/DayCalendar.d.ts +6 -5
  5. package/DateCalendar/DayCalendar.js +18 -6
  6. package/DateCalendar/dayCalendarClasses.d.ts +2 -0
  7. package/DateCalendar/dayCalendarClasses.js +1 -1
  8. package/DateField/DateField.js +32 -4
  9. package/DateField/DateField.types.d.ts +3 -2
  10. package/DatePicker/DatePicker.js +6 -2
  11. package/DateTimeField/DateTimeField.js +32 -4
  12. package/DateTimeField/DateTimeField.types.d.ts +3 -2
  13. package/DateTimePicker/DateTimePicker.js +6 -2
  14. package/DateTimePicker/DateTimePickerToolbar.js +1 -0
  15. package/DesktopDatePicker/DesktopDatePicker.js +6 -2
  16. package/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  17. package/MobileDatePicker/MobileDatePicker.js +6 -2
  18. package/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  19. package/StaticDatePicker/StaticDatePicker.js +6 -2
  20. package/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  21. package/TimeField/TimeField.js +29 -4
  22. package/TimeField/TimeField.types.d.ts +3 -2
  23. package/TimePicker/TimePickerToolbar.js +1 -0
  24. package/hooks/index.d.ts +1 -0
  25. package/hooks/index.js +1 -0
  26. package/hooks/package.json +6 -0
  27. package/hooks/useClearableField.d.ts +25 -0
  28. package/hooks/useClearableField.js +79 -0
  29. package/icons/index.d.ts +6 -0
  30. package/icons/index.js +8 -1
  31. package/index.d.ts +1 -0
  32. package/index.js +3 -2
  33. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  34. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +3 -2
  35. package/internals/hooks/useField/index.d.ts +1 -1
  36. package/internals/hooks/useField/useField.js +24 -6
  37. package/internals/hooks/useField/useField.types.d.ts +31 -1
  38. package/internals/index.d.ts +1 -1
  39. package/internals/models/props/toolbar.d.ts +3 -0
  40. package/internals/models/validation.d.ts +3 -0
  41. package/internals/utils/date-utils.d.ts +1 -0
  42. package/internals/utils/date-utils.js +4 -0
  43. package/legacy/DateCalendar/DateCalendar.js +6 -2
  44. package/legacy/DateCalendar/DayCalendar.js +22 -9
  45. package/legacy/DateCalendar/dayCalendarClasses.js +1 -1
  46. package/legacy/DateField/DateField.js +30 -3
  47. package/legacy/DatePicker/DatePicker.js +6 -2
  48. package/legacy/DateTimeField/DateTimeField.js +30 -3
  49. package/legacy/DateTimePicker/DateTimePicker.js +6 -2
  50. package/legacy/DateTimePicker/DateTimePickerToolbar.js +1 -0
  51. package/legacy/DesktopDatePicker/DesktopDatePicker.js +6 -2
  52. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  53. package/legacy/MobileDatePicker/MobileDatePicker.js +6 -2
  54. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  55. package/legacy/StaticDatePicker/StaticDatePicker.js +6 -2
  56. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  57. package/legacy/TimeField/TimeField.js +27 -3
  58. package/legacy/TimePicker/TimePickerToolbar.js +1 -0
  59. package/legacy/hooks/index.js +1 -0
  60. package/legacy/hooks/useClearableField.js +80 -0
  61. package/legacy/icons/index.js +8 -1
  62. package/legacy/index.js +3 -2
  63. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  64. package/legacy/internals/hooks/useField/useField.js +28 -7
  65. package/legacy/internals/utils/date-utils.js +6 -0
  66. package/legacy/locales/beBY.js +2 -0
  67. package/legacy/locales/caES.js +2 -0
  68. package/legacy/locales/csCZ.js +2 -0
  69. package/legacy/locales/daDK.js +2 -0
  70. package/legacy/locales/deDE.js +2 -0
  71. package/legacy/locales/elGR.js +2 -0
  72. package/legacy/locales/enUS.js +1 -0
  73. package/legacy/locales/esES.js +2 -0
  74. package/legacy/locales/faIR.js +2 -0
  75. package/legacy/locales/fiFI.js +2 -0
  76. package/legacy/locales/frFR.js +2 -0
  77. package/legacy/locales/heIL.js +2 -0
  78. package/legacy/locales/huHU.js +1 -0
  79. package/legacy/locales/isIS.js +2 -0
  80. package/legacy/locales/itIT.js +2 -0
  81. package/legacy/locales/jaJP.js +2 -0
  82. package/legacy/locales/koKR.js +2 -0
  83. package/legacy/locales/kzKZ.js +2 -0
  84. package/legacy/locales/nbNO.js +2 -0
  85. package/legacy/locales/nlNL.js +2 -0
  86. package/legacy/locales/plPL.js +2 -0
  87. package/legacy/locales/ptBR.js +2 -0
  88. package/legacy/locales/roRO.js +1 -0
  89. package/legacy/locales/ruRU.js +2 -0
  90. package/legacy/locales/skSK.js +2 -0
  91. package/legacy/locales/svSE.js +2 -0
  92. package/legacy/locales/trTR.js +2 -0
  93. package/legacy/locales/ukUA.js +2 -0
  94. package/legacy/locales/urPK.js +2 -0
  95. package/legacy/locales/viVN.js +2 -0
  96. package/legacy/locales/zhCN.js +2 -0
  97. package/legacy/locales/zhHK.js +2 -0
  98. package/locales/beBY.d.ts +1 -0
  99. package/locales/beBY.js +2 -0
  100. package/locales/caES.d.ts +1 -0
  101. package/locales/caES.js +2 -0
  102. package/locales/csCZ.d.ts +1 -0
  103. package/locales/csCZ.js +2 -0
  104. package/locales/daDK.d.ts +1 -0
  105. package/locales/daDK.js +2 -0
  106. package/locales/deDE.d.ts +1 -0
  107. package/locales/deDE.js +2 -0
  108. package/locales/elGR.d.ts +1 -0
  109. package/locales/elGR.js +2 -0
  110. package/locales/enUS.d.ts +1 -0
  111. package/locales/enUS.js +1 -0
  112. package/locales/esES.d.ts +1 -0
  113. package/locales/esES.js +2 -0
  114. package/locales/faIR.d.ts +1 -0
  115. package/locales/faIR.js +2 -0
  116. package/locales/fiFI.d.ts +1 -0
  117. package/locales/fiFI.js +2 -0
  118. package/locales/frFR.d.ts +1 -0
  119. package/locales/frFR.js +2 -0
  120. package/locales/heIL.d.ts +1 -0
  121. package/locales/heIL.js +2 -0
  122. package/locales/huHU.d.ts +1 -0
  123. package/locales/huHU.js +1 -0
  124. package/locales/isIS.d.ts +1 -0
  125. package/locales/isIS.js +2 -0
  126. package/locales/itIT.d.ts +1 -0
  127. package/locales/itIT.js +2 -0
  128. package/locales/jaJP.d.ts +1 -0
  129. package/locales/jaJP.js +2 -0
  130. package/locales/koKR.d.ts +1 -0
  131. package/locales/koKR.js +2 -0
  132. package/locales/kzKZ.d.ts +1 -0
  133. package/locales/kzKZ.js +2 -0
  134. package/locales/nbNO.d.ts +1 -0
  135. package/locales/nbNO.js +2 -0
  136. package/locales/nlNL.d.ts +1 -0
  137. package/locales/nlNL.js +2 -0
  138. package/locales/plPL.d.ts +1 -0
  139. package/locales/plPL.js +2 -0
  140. package/locales/ptBR.d.ts +1 -0
  141. package/locales/ptBR.js +2 -0
  142. package/locales/roRO.d.ts +1 -0
  143. package/locales/roRO.js +1 -0
  144. package/locales/ruRU.d.ts +1 -0
  145. package/locales/ruRU.js +2 -0
  146. package/locales/skSK.d.ts +1 -0
  147. package/locales/skSK.js +2 -0
  148. package/locales/svSE.d.ts +1 -0
  149. package/locales/svSE.js +2 -0
  150. package/locales/trTR.d.ts +1 -0
  151. package/locales/trTR.js +2 -0
  152. package/locales/ukUA.d.ts +1 -0
  153. package/locales/ukUA.js +2 -0
  154. package/locales/urPK.d.ts +1 -0
  155. package/locales/urPK.js +2 -0
  156. package/locales/utils/getPickersLocalization.d.ts +1 -0
  157. package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  158. package/locales/viVN.d.ts +1 -0
  159. package/locales/viVN.js +2 -0
  160. package/locales/zhCN.d.ts +1 -0
  161. package/locales/zhCN.js +2 -0
  162. package/locales/zhHK.d.ts +1 -0
  163. package/locales/zhHK.js +2 -0
  164. package/models/adapters.d.ts +1 -0
  165. package/models/fields.d.ts +2 -0
  166. package/modern/DateCalendar/DateCalendar.js +6 -2
  167. package/modern/DateCalendar/DayCalendar.js +25 -11
  168. package/modern/DateCalendar/dayCalendarClasses.js +1 -1
  169. package/modern/DateField/DateField.js +32 -4
  170. package/modern/DatePicker/DatePicker.js +6 -2
  171. package/modern/DateTimeField/DateTimeField.js +32 -4
  172. package/modern/DateTimePicker/DateTimePicker.js +6 -2
  173. package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -0
  174. package/modern/DesktopDatePicker/DesktopDatePicker.js +6 -2
  175. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  176. package/modern/MobileDatePicker/MobileDatePicker.js +6 -2
  177. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  178. package/modern/StaticDatePicker/StaticDatePicker.js +6 -2
  179. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  180. package/modern/TimeField/TimeField.js +29 -4
  181. package/modern/TimePicker/TimePickerToolbar.js +1 -0
  182. package/modern/hooks/index.js +1 -0
  183. package/modern/hooks/useClearableField.js +78 -0
  184. package/modern/icons/index.js +8 -1
  185. package/modern/index.js +3 -2
  186. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  187. package/modern/internals/hooks/useField/useField.js +23 -6
  188. package/modern/internals/utils/date-utils.js +4 -0
  189. package/modern/locales/beBY.js +2 -0
  190. package/modern/locales/caES.js +2 -0
  191. package/modern/locales/csCZ.js +2 -0
  192. package/modern/locales/daDK.js +2 -0
  193. package/modern/locales/deDE.js +2 -0
  194. package/modern/locales/elGR.js +2 -0
  195. package/modern/locales/enUS.js +1 -0
  196. package/modern/locales/esES.js +2 -0
  197. package/modern/locales/faIR.js +2 -0
  198. package/modern/locales/fiFI.js +2 -0
  199. package/modern/locales/frFR.js +2 -0
  200. package/modern/locales/heIL.js +2 -0
  201. package/modern/locales/huHU.js +1 -0
  202. package/modern/locales/isIS.js +2 -0
  203. package/modern/locales/itIT.js +2 -0
  204. package/modern/locales/jaJP.js +2 -0
  205. package/modern/locales/koKR.js +2 -0
  206. package/modern/locales/kzKZ.js +2 -0
  207. package/modern/locales/nbNO.js +2 -0
  208. package/modern/locales/nlNL.js +2 -0
  209. package/modern/locales/plPL.js +2 -0
  210. package/modern/locales/ptBR.js +2 -0
  211. package/modern/locales/roRO.js +1 -0
  212. package/modern/locales/ruRU.js +2 -0
  213. package/modern/locales/skSK.js +2 -0
  214. package/modern/locales/svSE.js +2 -0
  215. package/modern/locales/trTR.js +2 -0
  216. package/modern/locales/ukUA.js +2 -0
  217. package/modern/locales/urPK.js +2 -0
  218. package/modern/locales/viVN.js +2 -0
  219. package/modern/locales/zhCN.js +2 -0
  220. package/modern/locales/zhHK.js +2 -0
  221. package/node/DateCalendar/DateCalendar.js +6 -2
  222. package/node/DateCalendar/DayCalendar.js +24 -10
  223. package/node/DateCalendar/dayCalendarClasses.js +1 -1
  224. package/node/DateField/DateField.js +32 -4
  225. package/node/DatePicker/DatePicker.js +6 -2
  226. package/node/DateTimeField/DateTimeField.js +32 -4
  227. package/node/DateTimePicker/DateTimePicker.js +6 -2
  228. package/node/DateTimePicker/DateTimePickerToolbar.js +1 -0
  229. package/node/DesktopDatePicker/DesktopDatePicker.js +6 -2
  230. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  231. package/node/MobileDatePicker/MobileDatePicker.js +6 -2
  232. package/node/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  233. package/node/StaticDatePicker/StaticDatePicker.js +6 -2
  234. package/node/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  235. package/node/TimeField/TimeField.js +29 -4
  236. package/node/TimePicker/TimePickerToolbar.js +1 -0
  237. package/node/hooks/index.js +12 -0
  238. package/node/hooks/useClearableField.js +87 -0
  239. package/node/icons/index.js +10 -2
  240. package/node/index.js +13 -1
  241. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  242. package/node/internals/hooks/useField/useField.js +23 -6
  243. package/node/internals/utils/date-utils.js +7 -2
  244. package/node/locales/beBY.js +2 -0
  245. package/node/locales/caES.js +2 -0
  246. package/node/locales/csCZ.js +2 -0
  247. package/node/locales/daDK.js +2 -0
  248. package/node/locales/deDE.js +2 -0
  249. package/node/locales/elGR.js +2 -0
  250. package/node/locales/enUS.js +1 -0
  251. package/node/locales/esES.js +2 -0
  252. package/node/locales/faIR.js +2 -0
  253. package/node/locales/fiFI.js +2 -0
  254. package/node/locales/frFR.js +2 -0
  255. package/node/locales/heIL.js +2 -0
  256. package/node/locales/huHU.js +1 -0
  257. package/node/locales/isIS.js +2 -0
  258. package/node/locales/itIT.js +2 -0
  259. package/node/locales/jaJP.js +2 -0
  260. package/node/locales/koKR.js +2 -0
  261. package/node/locales/kzKZ.js +2 -0
  262. package/node/locales/nbNO.js +2 -0
  263. package/node/locales/nlNL.js +2 -0
  264. package/node/locales/plPL.js +2 -0
  265. package/node/locales/ptBR.js +2 -0
  266. package/node/locales/roRO.js +1 -0
  267. package/node/locales/ruRU.js +2 -0
  268. package/node/locales/skSK.js +2 -0
  269. package/node/locales/svSE.js +2 -0
  270. package/node/locales/trTR.js +2 -0
  271. package/node/locales/ukUA.js +2 -0
  272. package/node/locales/urPK.js +2 -0
  273. package/node/locales/viVN.js +2 -0
  274. package/node/locales/zhCN.js +2 -0
  275. package/node/locales/zhHK.js +2 -0
  276. package/package.json +1 -1
  277. package/legacy/tests/describe.types.js +0 -1
  278. package/legacy/tests/describeAdapters/describeAdapters.js +0 -29
  279. package/legacy/tests/describeAdapters/index.js +0 -1
  280. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -32
  281. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  282. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  283. package/legacy/tests/describeGregorianAdapter/index.js +0 -2
  284. package/legacy/tests/describeGregorianAdapter/testCalculations.js +0 -707
  285. package/legacy/tests/describeGregorianAdapter/testFormat.js +0 -26
  286. package/legacy/tests/describeGregorianAdapter/testLocalization.js +0 -49
  287. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  288. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  289. package/legacy/tests/describeHijriAdapter/index.js +0 -1
  290. package/legacy/tests/describeHijriAdapter/testCalculations.js +0 -167
  291. package/legacy/tests/describeHijriAdapter/testLocalization.js +0 -20
  292. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  293. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  294. package/legacy/tests/describeJalaliAdapter/index.js +0 -1
  295. package/legacy/tests/describeJalaliAdapter/testCalculations.js +0 -236
  296. package/legacy/tests/describeJalaliAdapter/testLocalization.js +0 -20
  297. package/legacy/tests/describePicker/describePicker.js +0 -159
  298. package/legacy/tests/describePicker/describePicker.types.js +0 -1
  299. package/legacy/tests/describePicker/index.js +0 -1
  300. package/legacy/tests/describeValidation/describeValidation.js +0 -31
  301. package/legacy/tests/describeValidation/describeValidation.types.js +0 -1
  302. package/legacy/tests/describeValidation/index.js +0 -1
  303. package/legacy/tests/describeValidation/testDayViewValidation.js +0 -281
  304. package/legacy/tests/describeValidation/testMinutesViewValidation.js +0 -194
  305. package/legacy/tests/describeValidation/testMonthViewValidation.js +0 -136
  306. package/legacy/tests/describeValidation/testTextFieldValidation.js +0 -463
  307. package/legacy/tests/describeValidation/testYearViewValidation.js +0 -95
  308. package/legacy/tests/describeValue/describeValue.js +0 -57
  309. package/legacy/tests/describeValue/describeValue.types.js +0 -1
  310. package/legacy/tests/describeValue/index.js +0 -1
  311. package/legacy/tests/describeValue/testControlledUnControlled.js +0 -237
  312. package/legacy/tests/describeValue/testPickerActionBar.js +0 -250
  313. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -362
  314. package/legacy/tests/describeValue/testShortcuts.js +0 -119
  315. package/modern/tests/describe.types.js +0 -1
  316. package/modern/tests/describeAdapters/describeAdapters.js +0 -29
  317. package/modern/tests/describeAdapters/index.js +0 -1
  318. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -29
  319. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  320. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  321. package/modern/tests/describeGregorianAdapter/index.js +0 -2
  322. package/modern/tests/describeGregorianAdapter/testCalculations.js +0 -706
  323. package/modern/tests/describeGregorianAdapter/testFormat.js +0 -27
  324. package/modern/tests/describeGregorianAdapter/testLocalization.js +0 -50
  325. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  326. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  327. package/modern/tests/describeHijriAdapter/index.js +0 -1
  328. package/modern/tests/describeHijriAdapter/testCalculations.js +0 -164
  329. package/modern/tests/describeHijriAdapter/testLocalization.js +0 -21
  330. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  331. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  332. package/modern/tests/describeJalaliAdapter/index.js +0 -1
  333. package/modern/tests/describeJalaliAdapter/testCalculations.js +0 -237
  334. package/modern/tests/describeJalaliAdapter/testLocalization.js +0 -21
  335. package/modern/tests/describePicker/describePicker.js +0 -162
  336. package/modern/tests/describePicker/describePicker.types.js +0 -1
  337. package/modern/tests/describePicker/index.js +0 -1
  338. package/modern/tests/describeValidation/describeValidation.js +0 -31
  339. package/modern/tests/describeValidation/describeValidation.types.js +0 -1
  340. package/modern/tests/describeValidation/index.js +0 -1
  341. package/modern/tests/describeValidation/testDayViewValidation.js +0 -280
  342. package/modern/tests/describeValidation/testMinutesViewValidation.js +0 -193
  343. package/modern/tests/describeValidation/testMonthViewValidation.js +0 -137
  344. package/modern/tests/describeValidation/testTextFieldValidation.js +0 -470
  345. package/modern/tests/describeValidation/testYearViewValidation.js +0 -94
  346. package/modern/tests/describeValue/describeValue.js +0 -59
  347. package/modern/tests/describeValue/describeValue.types.js +0 -1
  348. package/modern/tests/describeValue/index.js +0 -1
  349. package/modern/tests/describeValue/testControlledUnControlled.js +0 -239
  350. package/modern/tests/describeValue/testPickerActionBar.js +0 -254
  351. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  352. package/modern/tests/describeValue/testShortcuts.js +0 -112
  353. package/node/tests/describe.types.js +0 -5
  354. package/node/tests/describeAdapters/describeAdapters.js +0 -37
  355. package/node/tests/describeAdapters/index.js +0 -12
  356. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -37
  357. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -5
  358. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -10
  359. package/node/tests/describeGregorianAdapter/index.js +0 -19
  360. package/node/tests/describeGregorianAdapter/testCalculations.js +0 -711
  361. package/node/tests/describeGregorianAdapter/testFormat.js +0 -34
  362. package/node/tests/describeGregorianAdapter/testLocalization.js +0 -57
  363. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +0 -29
  364. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -5
  365. package/node/tests/describeHijriAdapter/index.js +0 -12
  366. package/node/tests/describeHijriAdapter/testCalculations.js +0 -171
  367. package/node/tests/describeHijriAdapter/testLocalization.js +0 -28
  368. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -29
  369. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -5
  370. package/node/tests/describeJalaliAdapter/index.js +0 -12
  371. package/node/tests/describeJalaliAdapter/testCalculations.js +0 -244
  372. package/node/tests/describeJalaliAdapter/testLocalization.js +0 -28
  373. package/node/tests/describePicker/describePicker.js +0 -173
  374. package/node/tests/describePicker/describePicker.types.js +0 -5
  375. package/node/tests/describePicker/index.js +0 -12
  376. package/node/tests/describeValidation/describeValidation.js +0 -39
  377. package/node/tests/describeValidation/describeValidation.types.js +0 -5
  378. package/node/tests/describeValidation/index.js +0 -12
  379. package/node/tests/describeValidation/testDayViewValidation.js +0 -290
  380. package/node/tests/describeValidation/testMinutesViewValidation.js +0 -203
  381. package/node/tests/describeValidation/testMonthViewValidation.js +0 -147
  382. package/node/tests/describeValidation/testTextFieldValidation.js +0 -480
  383. package/node/tests/describeValidation/testYearViewValidation.js +0 -104
  384. package/node/tests/describeValue/describeValue.js +0 -69
  385. package/node/tests/describeValue/describeValue.types.js +0 -5
  386. package/node/tests/describeValue/index.js +0 -12
  387. package/node/tests/describeValue/testControlledUnControlled.js +0 -248
  388. package/node/tests/describeValue/testPickerActionBar.js +0 -264
  389. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -381
  390. package/node/tests/describeValue/testShortcuts.js +0 -122
  391. package/tests/describe.types.js +0 -1
  392. package/tests/describeAdapters/describeAdapters.js +0 -29
  393. package/tests/describeAdapters/index.js +0 -1
  394. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -30
  395. package/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  396. package/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  397. package/tests/describeGregorianAdapter/index.js +0 -2
  398. package/tests/describeGregorianAdapter/testCalculations.js +0 -706
  399. package/tests/describeGregorianAdapter/testFormat.js +0 -27
  400. package/tests/describeGregorianAdapter/testLocalization.js +0 -50
  401. package/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  402. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  403. package/tests/describeHijriAdapter/index.js +0 -1
  404. package/tests/describeHijriAdapter/testCalculations.js +0 -164
  405. package/tests/describeHijriAdapter/testLocalization.js +0 -21
  406. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  407. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  408. package/tests/describeJalaliAdapter/index.js +0 -1
  409. package/tests/describeJalaliAdapter/testCalculations.js +0 -237
  410. package/tests/describeJalaliAdapter/testLocalization.js +0 -21
  411. package/tests/describePicker/describePicker.js +0 -162
  412. package/tests/describePicker/describePicker.types.js +0 -1
  413. package/tests/describePicker/index.js +0 -1
  414. package/tests/describeValidation/describeValidation.js +0 -31
  415. package/tests/describeValidation/describeValidation.types.js +0 -1
  416. package/tests/describeValidation/index.js +0 -1
  417. package/tests/describeValidation/testDayViewValidation.js +0 -280
  418. package/tests/describeValidation/testMinutesViewValidation.js +0 -193
  419. package/tests/describeValidation/testMonthViewValidation.js +0 -137
  420. package/tests/describeValidation/testTextFieldValidation.js +0 -470
  421. package/tests/describeValidation/testYearViewValidation.js +0 -94
  422. package/tests/describeValue/describeValue.js +0 -59
  423. package/tests/describeValue/describeValue.types.js +0 -1
  424. package/tests/describeValue/index.js +0 -1
  425. package/tests/describeValue/testControlledUnControlled.js +0 -239
  426. package/tests/describeValue/testPickerActionBar.js +0 -254
  427. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  428. package/tests/describeValue/testShortcuts.js +0 -112
@@ -1,95 +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
- export var testYearViewValidation = function testYearViewValidation(ElementToTest, getOptions) {
8
- var _getOptions = getOptions(),
9
- views = _getOptions.views,
10
- componentFamily = _getOptions.componentFamily,
11
- render = _getOptions.render;
12
- if (componentFamily === 'field' || !views.includes('year')) {
13
- return;
14
- }
15
- describe('year view:', function () {
16
- var defaultProps = _extends({
17
- onChange: function onChange() {}
18
- }, views.length > 1 && {
19
- views: ['year'],
20
- view: 'year',
21
- openTo: 'year'
22
- }, componentFamily !== 'calendar' && {
23
- open: true,
24
- reduceAnimations: true,
25
- slotProps: {
26
- toolbar: {
27
- hidden: true
28
- }
29
- }
30
- });
31
- it('should apply shouldDisableYear', function test() {
32
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
33
- value: null,
34
- shouldDisableYear: function shouldDisableYear(date) {
35
- return adapterToUse.getYear(date) === 2018;
36
- }
37
- })));
38
- expect(screen.queryByText('2018')).to.have.attribute('disabled');
39
- expect(screen.queryByText('2019')).not.to.have.attribute('disabled');
40
- expect(screen.queryByText('2017')).not.to.have.attribute('disabled');
41
- });
42
- it('should apply disablePast', function test() {
43
- var now;
44
- function WithFakeTimer(props) {
45
- now = adapterToUse.date(new Date());
46
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
47
- value: now
48
- }, props));
49
- }
50
- render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
51
- disablePast: true
52
- })));
53
- var nextYear = adapterToUse.addYears(now, 1);
54
- var prevYear = adapterToUse.addYears(now, -1);
55
- expect(screen.queryByText(adapterToUse.format(now, 'year'))).not.to.have.attribute('disabled');
56
- expect(screen.queryByText(adapterToUse.format(nextYear, 'year'))).not.to.have.attribute('disabled');
57
- expect(screen.queryByText(adapterToUse.format(prevYear, 'year'))).to.have.attribute('disabled');
58
- });
59
- it('should apply disableFuture', function test() {
60
- var now;
61
- function WithFakeTimer(props) {
62
- now = adapterToUse.date(new Date());
63
- return /*#__PURE__*/_jsx(ElementToTest, _extends({
64
- value: now
65
- }, props));
66
- }
67
- render( /*#__PURE__*/_jsx(WithFakeTimer, _extends({}, defaultProps, {
68
- disableFuture: true
69
- })));
70
- var nextYear = adapterToUse.addYears(now, 1);
71
- var prevYear = adapterToUse.addYears(now, -1);
72
- expect(screen.queryByText(adapterToUse.format(now, 'year'))).not.to.have.attribute('disabled');
73
- expect(screen.queryByText(adapterToUse.format(nextYear, 'year'))).to.have.attribute('disabled');
74
- expect(screen.queryByText(adapterToUse.format(prevYear, 'year'))).not.to.have.attribute('disabled');
75
- });
76
- it('should apply minDate', function test() {
77
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
78
- value: adapterToUse.date(new Date(2019, 5, 15)),
79
- minDate: adapterToUse.date(new Date(2019, 5, 4))
80
- })));
81
- expect(screen.queryByText('2018')).to.equal(null);
82
- expect(screen.queryByText('2019')).not.to.equal(null);
83
- expect(screen.queryByText('2020')).not.to.equal(null);
84
- });
85
- it('should apply maxDate', function test() {
86
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, {
87
- value: adapterToUse.date(new Date(2019, 5, 15)),
88
- maxDate: adapterToUse.date(new Date(2019, 5, 4))
89
- })));
90
- expect(screen.queryByText('2018')).not.to.equal(null);
91
- expect(screen.queryByText('2019')).not.to.equal(null);
92
- expect(screen.queryByText('2020')).to.equal(null);
93
- });
94
- });
95
- };
@@ -1,57 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["hook"];
4
- import * as React from 'react';
5
- import createDescribe from '@mui/monorepo/test/utils/createDescribe';
6
- import { buildFieldInteractions } from 'test/utils/pickers';
7
- import { testControlledUnControlled } from './testControlledUnControlled';
8
- import { testPickerOpenCloseLifeCycle } from './testPickerOpenCloseLifeCycle';
9
- import { testPickerActionBar } from './testPickerActionBar';
10
- import { testShortcuts } from './testShortcuts';
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- var TEST_SUITES = [testControlledUnControlled, testPickerOpenCloseLifeCycle, testPickerActionBar, testShortcuts];
13
- function innerDescribeValue(ElementToTest, getOptions) {
14
- var options = getOptions();
15
- var defaultProps = options.defaultProps,
16
- render = options.render,
17
- clock = options.clock,
18
- componentFamily = options.componentFamily;
19
- function WrappedElementToTest(props) {
20
- var hook = props.hook,
21
- other = _objectWithoutProperties(props, _excluded);
22
- var hookResult = hook == null ? void 0 : hook(props);
23
- return /*#__PURE__*/_jsx(ElementToTest, _extends({}, defaultProps, other, hookResult));
24
- }
25
- var renderWithProps;
26
- if (componentFamily === 'field' || componentFamily === 'picker') {
27
- var interactions = buildFieldInteractions({
28
- clock: clock,
29
- render: render,
30
- Component: ElementToTest
31
- });
32
- renderWithProps = function renderWithProps(props, hook) {
33
- return interactions.renderWithProps(_extends({}, defaultProps, props), hook, componentFamily);
34
- };
35
- } else {
36
- renderWithProps = function renderWithProps(props, hook) {
37
- var response = render( /*#__PURE__*/_jsx(WrappedElementToTest, _extends({}, props, {
38
- hook: hook
39
- })));
40
- return _extends({}, response, {
41
- input: null,
42
- selectSection: function selectSection() {
43
- throw new Error('You can only select a section on components that render a field');
44
- }
45
- });
46
- };
47
- }
48
- TEST_SUITES.forEach(function (testSuite) {
49
- testSuite(WrappedElementToTest, _extends({}, options, {
50
- renderWithProps: renderWithProps
51
- }));
52
- });
53
- }
54
- /**
55
- * Tests various aspects of component value.
56
- */
57
- export var describeValue = createDescribe('Value API', innerDescribeValue);
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export { describeValue } from './describeValue';
@@ -1,237 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
3
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
- var _excluded = ["render", "renderWithProps", "values", "componentFamily", "emptyValue", "assertRenderedValue", "setNewValue", "clock"];
6
- import * as React from 'react';
7
- import { expect } from 'chai';
8
- import { spy } from 'sinon';
9
- import { screen, act, userEvent } from '@mui/monorepo/test/utils';
10
- import { inputBaseClasses } from '@mui/material/InputBase';
11
- import { getExpectedOnChangeCount } from 'test/utils/pickers';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { jsxs as _jsxs } from "react/jsx-runtime";
14
- export var testControlledUnControlled = function testControlledUnControlled(ElementToTest, options) {
15
- var render = options.render,
16
- renderWithProps = options.renderWithProps,
17
- values = options.values,
18
- componentFamily = options.componentFamily,
19
- emptyValue = options.emptyValue,
20
- assertRenderedValue = options.assertRenderedValue,
21
- setNewValue = options.setNewValue,
22
- clock = options.clock,
23
- pickerParams = _objectWithoutProperties(options, _excluded);
24
- var params = pickerParams;
25
- describe('Controlled / uncontrolled value', function () {
26
- it('should render `props.defaultValue` if no `props.value` is passed', function () {
27
- render( /*#__PURE__*/_jsx(ElementToTest, {
28
- defaultValue: values[0]
29
- }));
30
- assertRenderedValue(values[0]);
31
- });
32
- it('should render `props.value` if passed', function () {
33
- render( /*#__PURE__*/_jsx(ElementToTest, {
34
- value: values[0]
35
- }));
36
- assertRenderedValue(values[0]);
37
- });
38
- it('should render `props.value` if both `props.defaultValue` and `props.value` are passed', function () {
39
- render( /*#__PURE__*/_jsx(ElementToTest, {
40
- defaultValue: values[0],
41
- value: values[1]
42
- }));
43
- assertRenderedValue(values[1]);
44
- });
45
- it('should render nothing if neither `props.defaultValue` or `props.value` are passed', function () {
46
- render( /*#__PURE__*/_jsx(ElementToTest, {}));
47
- assertRenderedValue(emptyValue);
48
- });
49
- it('should call onChange when updating a value defined with `props.defaultValue` and update the rendered value', function () {
50
- var onChange = spy();
51
- var _renderWithProps = renderWithProps({
52
- defaultValue: values[0],
53
- onChange: onChange
54
- }),
55
- selectSection = _renderWithProps.selectSection;
56
- var newValue = setNewValue(values[0], {
57
- selectSection: selectSection
58
- });
59
- assertRenderedValue(newValue);
60
- // TODO: Clean this exception or change the clock behavior
61
- expect(onChange.callCount).to.equal(getExpectedOnChangeCount(componentFamily, params));
62
- if (Array.isArray(newValue)) {
63
- newValue.forEach(function (value, index) {
64
- expect(onChange.lastCall.args[0][index]).toEqualDateTime(value);
65
- });
66
- } else {
67
- expect(onChange.lastCall.args[0]).toEqualDateTime(newValue);
68
- }
69
- });
70
- it('should call onChange when updating a value defined with `props.value`', function () {
71
- var onChange = spy();
72
- var useControlledElement = function useControlledElement(props) {
73
- var _React$useState = React.useState((props == null ? void 0 : props.value) || null),
74
- _React$useState2 = _slicedToArray(_React$useState, 2),
75
- value = _React$useState2[0],
76
- setValue = _React$useState2[1];
77
- var handleChange = React.useCallback(function (newValue) {
78
- setValue(newValue);
79
- props == null || props.onChange(newValue);
80
- }, [props]);
81
- return {
82
- value: value,
83
- onChange: handleChange
84
- };
85
- };
86
- var _renderWithProps2 = renderWithProps({
87
- value: values[0],
88
- onChange: onChange
89
- }, useControlledElement),
90
- selectSection = _renderWithProps2.selectSection;
91
- var newValue = setNewValue(values[0], {
92
- selectSection: selectSection
93
- });
94
- expect(onChange.callCount).to.equal(getExpectedOnChangeCount(componentFamily, params));
95
- if (Array.isArray(newValue)) {
96
- newValue.forEach(function (value, index) {
97
- expect(onChange.lastCall.args[0][index]).toEqualDateTime(value);
98
- });
99
- } else {
100
- expect(onChange.lastCall.args[0]).toEqualDateTime(newValue);
101
- }
102
- });
103
- it('should react to `props.value` update', function () {
104
- var _render = render( /*#__PURE__*/_jsx(ElementToTest, {
105
- value: values[0]
106
- })),
107
- setProps = _render.setProps;
108
- setProps({
109
- value: values[1]
110
- });
111
- assertRenderedValue(values[1]);
112
- });
113
- ['readOnly', 'disabled'].forEach(function (prop) {
114
- it("should apply ".concat(prop, "=\"true\" prop"), function () {
115
- if (!['field', 'picker'].includes(componentFamily)) {
116
- return;
117
- }
118
- var handleChange = spy();
119
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({
120
- value: values[0],
121
- onChange: handleChange
122
- }, _defineProperty({}, prop, true))));
123
- var textBoxes = screen.getAllByRole('textbox');
124
- textBoxes.forEach(function (textbox) {
125
- expect(textbox).to.have.attribute(prop.toLowerCase());
126
- });
127
- });
128
- });
129
- it('should not allow editing with keyboard in mobile pickers', function () {
130
- if (componentFamily !== 'picker' || params.variant !== 'mobile') {
131
- return;
132
- }
133
- var handleChange = spy();
134
- render( /*#__PURE__*/_jsx(ElementToTest, {
135
- defaultValue: values[0],
136
- onChange: handleChange
137
- }));
138
- var input = screen.getAllByRole('textbox')[0];
139
- act(function () {
140
- input.focus();
141
- });
142
- clock.runToLast();
143
- userEvent.keyPress(input, {
144
- key: 'ArrowUp'
145
- });
146
- clock.runToLast();
147
- expect(handleChange.callCount).to.equal(0);
148
- });
149
- it('should have correct labelledby relationship when toolbar is shown', function () {
150
- if (componentFamily !== 'picker' || params.variant === 'desktop' && params.type === 'date-range') {
151
- return;
152
- }
153
- render( /*#__PURE__*/_jsx(ElementToTest, {
154
- open: true,
155
- slotProps: {
156
- toolbar: {
157
- hidden: false
158
- }
159
- },
160
- localeText: {
161
- toolbarTitle: 'Test toolbar'
162
- }
163
- }));
164
- expect(screen.getByLabelText('Test toolbar')).to.have.attribute('role', 'dialog');
165
- });
166
- it('should have correct labelledby relationship with provided label when toolbar is hidden', function () {
167
- if (componentFamily !== 'picker' || params.variant === 'desktop' && params.type === 'date-range') {
168
- return;
169
- }
170
- render( /*#__PURE__*/_jsx(ElementToTest, _extends({
171
- open: true
172
- }, params.type === 'date-range' ? {
173
- localeText: {
174
- start: 'test',
175
- end: 'relationship'
176
- }
177
- } : {
178
- label: 'test relationship'
179
- }, {
180
- slotProps: {
181
- toolbar: {
182
- hidden: true
183
- }
184
- }
185
- })));
186
- expect(screen.getByLabelText('test relationship', {
187
- selector: 'div'
188
- })).to.have.attribute('role', 'dialog');
189
- });
190
- it('should have correct labelledby relationship without label and hidden toolbar but external props', function () {
191
- if (componentFamily !== 'picker' || params.variant === 'desktop' && params.type === 'date-range') {
192
- return;
193
- }
194
- render( /*#__PURE__*/_jsxs("div", {
195
- children: [/*#__PURE__*/_jsx("div", {
196
- id: "label-id",
197
- children: "external label"
198
- }), /*#__PURE__*/_jsx(ElementToTest, _extends({
199
- open: true
200
- }, params.type === 'date-range' && {
201
- localeText: {
202
- start: '',
203
- end: ''
204
- }
205
- }, {
206
- slotProps: _defineProperty({
207
- toolbar: {
208
- hidden: true
209
- }
210
- }, params.variant === 'desktop' ? 'popper' : 'mobilePaper', {
211
- 'aria-labelledby': 'label-id'
212
- })
213
- }))]
214
- }));
215
- expect(screen.getByLabelText('external label')).to.have.attribute('role', 'dialog');
216
- });
217
- describe('slots: textField', function () {
218
- it('should respect provided `error="true"` prop', function () {
219
- if (!['field', 'picker'].includes(componentFamily)) {
220
- return;
221
- }
222
- render( /*#__PURE__*/_jsx(ElementToTest, {
223
- slotProps: {
224
- textField: {
225
- error: true
226
- }
227
- }
228
- }));
229
- var textBoxes = screen.getAllByRole('textbox');
230
- textBoxes.forEach(function (textbox) {
231
- expect(textbox.parentElement).to.have.class(inputBaseClasses.error);
232
- expect(textbox).to.have.attribute('aria-invalid', 'true');
233
- });
234
- });
235
- });
236
- });
237
- };
@@ -1,250 +0,0 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- var _excluded = ["componentFamily", "render", "renderWithProps", "values", "emptyValue", "setNewValue"];
3
- import * as React from 'react';
4
- import { expect } from 'chai';
5
- import { spy } from 'sinon';
6
- import { screen, userEvent } from '@mui/monorepo/test/utils';
7
- import { adapterToUse, getExpectedOnChangeCount, expectPickerChangeHandlerValue } from 'test/utils/pickers';
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- export var testPickerActionBar = function testPickerActionBar(ElementToTest, options) {
10
- var componentFamily = options.componentFamily,
11
- render = options.render,
12
- renderWithProps = options.renderWithProps,
13
- values = options.values,
14
- emptyValue = options.emptyValue,
15
- setNewValue = options.setNewValue,
16
- pickerParams = _objectWithoutProperties(options, _excluded);
17
- if (componentFamily !== 'picker') {
18
- return;
19
- }
20
- describe('Picker action bar', function () {
21
- describe('clear action', function () {
22
- it('should call onClose, onChange with empty value and onAccept with empty value', function () {
23
- var onChange = spy();
24
- var onAccept = spy();
25
- var onClose = spy();
26
- render( /*#__PURE__*/_jsx(ElementToTest, {
27
- onChange: onChange,
28
- onAccept: onAccept,
29
- onClose: onClose,
30
- defaultValue: values[0],
31
- open: true,
32
- slotProps: {
33
- actionBar: {
34
- actions: ['clear']
35
- }
36
- }
37
- }));
38
-
39
- // Clear the date
40
- userEvent.mousePress(screen.getByText(/clear/i));
41
- expect(onChange.callCount).to.equal(1);
42
- expectPickerChangeHandlerValue(pickerParams.type, onChange, emptyValue);
43
- expect(onAccept.callCount).to.equal(1);
44
- expectPickerChangeHandlerValue(pickerParams.type, onAccept, emptyValue);
45
- expect(onClose.callCount).to.equal(1);
46
- });
47
- it('should not call onChange or onAccept if the value is already empty value', function () {
48
- var onChange = spy();
49
- var onAccept = spy();
50
- var onClose = spy();
51
- render( /*#__PURE__*/_jsx(ElementToTest, {
52
- onChange: onChange,
53
- onAccept: onAccept,
54
- onClose: onClose,
55
- open: true,
56
- slotProps: {
57
- actionBar: {
58
- actions: ['clear']
59
- }
60
- },
61
- value: emptyValue
62
- }));
63
-
64
- // Clear the date
65
- userEvent.mousePress(screen.getByText(/clear/i));
66
- expect(onChange.callCount).to.equal(0);
67
- expect(onAccept.callCount).to.equal(0);
68
- expect(onClose.callCount).to.equal(1);
69
- });
70
- });
71
- describe('cancel action', function () {
72
- it('should call onClose and onChange with the initial value', function () {
73
- var onChange = spy();
74
- var onAccept = spy();
75
- var onClose = spy();
76
- var _renderWithProps = renderWithProps({
77
- onChange: onChange,
78
- onAccept: onAccept,
79
- onClose: onClose,
80
- open: true,
81
- value: values[0],
82
- slotProps: {
83
- actionBar: {
84
- actions: ['cancel']
85
- }
86
- },
87
- closeOnSelect: false
88
- }),
89
- selectSection = _renderWithProps.selectSection;
90
-
91
- // Change the value (already tested)
92
- setNewValue(values[0], {
93
- isOpened: true,
94
- selectSection: selectSection
95
- });
96
-
97
- // Cancel the modifications
98
- userEvent.mousePress(screen.getByText(/cancel/i));
99
- expect(onChange.callCount).to.equal(getExpectedOnChangeCount(componentFamily, pickerParams) + 1);
100
- if (pickerParams.type === 'date-range') {
101
- values[0].forEach(function (value, index) {
102
- expect(onChange.lastCall.args[0][index]).toEqualDateTime(value);
103
- });
104
- } else {
105
- expect(onChange.lastCall.args[0]).toEqualDateTime(values[0]);
106
- }
107
- expect(onAccept.callCount).to.equal(0);
108
- expect(onClose.callCount).to.equal(1);
109
- });
110
- it('should not call onChange if no prior value modification', function () {
111
- var onChange = spy();
112
- var onAccept = spy();
113
- var onClose = spy();
114
- render( /*#__PURE__*/_jsx(ElementToTest, {
115
- onChange: onChange,
116
- onAccept: onAccept,
117
- onClose: onClose,
118
- open: true,
119
- value: values[0],
120
- slotProps: {
121
- actionBar: {
122
- actions: ['cancel']
123
- }
124
- },
125
- closeOnSelect: false
126
- }));
127
-
128
- // Cancel the modifications
129
- userEvent.mousePress(screen.getByText(/cancel/i));
130
- expect(onChange.callCount).to.equal(0);
131
- expect(onAccept.callCount).to.equal(0);
132
- expect(onClose.callCount).to.equal(1);
133
- });
134
- });
135
- describe('confirm action', function () {
136
- it('should call onClose and onAccept with the live value', function () {
137
- var onChange = spy();
138
- var onAccept = spy();
139
- var onClose = spy();
140
- var _renderWithProps2 = renderWithProps({
141
- onChange: onChange,
142
- onAccept: onAccept,
143
- onClose: onClose,
144
- open: true,
145
- defaultValue: values[0],
146
- slotProps: {
147
- actionBar: {
148
- actions: ['accept']
149
- }
150
- },
151
- closeOnSelect: false
152
- }),
153
- selectSection = _renderWithProps2.selectSection;
154
-
155
- // Change the value (already tested)
156
- setNewValue(values[0], {
157
- isOpened: true,
158
- selectSection: selectSection
159
- });
160
-
161
- // Accept the modifications
162
- userEvent.mousePress(screen.getByText(/ok/i));
163
- expect(onChange.callCount).to.equal(getExpectedOnChangeCount(componentFamily, pickerParams)); // The accepted value as already been committed, don't call onChange again
164
- expect(onAccept.callCount).to.equal(1);
165
- expect(onClose.callCount).to.equal(1);
166
- });
167
- it('should call onChange, onClose and onAccept when validating the default value', function () {
168
- var onChange = spy();
169
- var onAccept = spy();
170
- var onClose = spy();
171
- render( /*#__PURE__*/_jsx(ElementToTest, {
172
- onChange: onChange,
173
- onAccept: onAccept,
174
- onClose: onClose,
175
- open: true,
176
- defaultValue: values[0],
177
- slotProps: {
178
- actionBar: {
179
- actions: ['accept']
180
- }
181
- },
182
- closeOnSelect: false
183
- }));
184
-
185
- // Accept the modifications
186
- userEvent.mousePress(screen.getByText(/ok/i));
187
- expect(onChange.callCount).to.equal(1);
188
- expect(onAccept.callCount).to.equal(1);
189
- expect(onClose.callCount).to.equal(1);
190
- });
191
- it('should call onClose but not onAccept when validating an already validated value', function () {
192
- var onChange = spy();
193
- var onAccept = spy();
194
- var onClose = spy();
195
- render( /*#__PURE__*/_jsx(ElementToTest, {
196
- onChange: onChange,
197
- onAccept: onAccept,
198
- onClose: onClose,
199
- open: true,
200
- value: values[0],
201
- slotProps: {
202
- actionBar: {
203
- actions: ['accept']
204
- }
205
- },
206
- closeOnSelect: false
207
- }));
208
-
209
- // Accept the modifications
210
- userEvent.mousePress(screen.getByText(/ok/i));
211
- expect(onChange.callCount).to.equal(0);
212
- expect(onAccept.callCount).to.equal(0);
213
- expect(onClose.callCount).to.equal(1);
214
- });
215
- });
216
- describe('today action', function () {
217
- it("should call onClose, onChange with today's value and onAccept with today's value", function () {
218
- var onChange = spy();
219
- var onAccept = spy();
220
- var onClose = spy();
221
- render( /*#__PURE__*/_jsx(ElementToTest, {
222
- onChange: onChange,
223
- onAccept: onAccept,
224
- onClose: onClose,
225
- defaultValue: values[0],
226
- open: true,
227
- slotProps: {
228
- actionBar: {
229
- actions: ['today']
230
- }
231
- }
232
- }));
233
- userEvent.mousePress(screen.getByText(/today/i));
234
- var startOfToday;
235
- if (pickerParams.type === 'date') {
236
- startOfToday = adapterToUse.startOfDay(adapterToUse.date());
237
- } else if (pickerParams.type === 'date-range') {
238
- startOfToday = [adapterToUse.date(), adapterToUse.date()];
239
- } else {
240
- startOfToday = adapterToUse.date();
241
- }
242
- expect(onChange.callCount).to.equal(1);
243
- expectPickerChangeHandlerValue(pickerParams.type, onChange, startOfToday);
244
- expect(onAccept.callCount).to.equal(1);
245
- expectPickerChangeHandlerValue(pickerParams.type, onAccept, startOfToday);
246
- expect(onClose.callCount).to.equal(1);
247
- });
248
- });
249
- });
250
- };