@mui/x-date-pickers 6.15.0 → 6.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (509) hide show
  1. package/CHANGELOG.md +144 -0
  2. package/DateCalendar/DateCalendar.js +9 -3
  3. package/DateCalendar/DateCalendar.types.d.ts +1 -1
  4. package/DateCalendar/DayCalendar.d.ts +6 -5
  5. package/DateCalendar/DayCalendar.js +20 -8
  6. package/DateCalendar/PickersFadeTransitionGroup.js +6 -6
  7. package/DateCalendar/PickersSlideTransition.d.ts +0 -1
  8. package/DateCalendar/PickersSlideTransition.js +5 -5
  9. package/DateCalendar/dayCalendarClasses.d.ts +2 -0
  10. package/DateCalendar/dayCalendarClasses.js +1 -1
  11. package/DateField/DateField.js +32 -4
  12. package/DateField/DateField.types.d.ts +3 -2
  13. package/DatePicker/DatePicker.js +6 -2
  14. package/DateTimeField/DateTimeField.js +32 -4
  15. package/DateTimeField/DateTimeField.types.d.ts +3 -2
  16. package/DateTimePicker/DateTimePicker.js +6 -2
  17. package/DateTimePicker/DateTimePickerToolbar.js +1 -0
  18. package/DesktopDatePicker/DesktopDatePicker.js +6 -2
  19. package/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  20. package/MobileDatePicker/MobileDatePicker.js +6 -2
  21. package/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  22. package/MonthCalendar/MonthCalendar.js +4 -1
  23. package/StaticDatePicker/StaticDatePicker.js +6 -2
  24. package/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  25. package/TimeField/TimeField.js +29 -4
  26. package/TimeField/TimeField.types.d.ts +3 -2
  27. package/TimePicker/TimePickerToolbar.js +1 -0
  28. package/YearCalendar/PickersYear.js +1 -1
  29. package/YearCalendar/YearCalendar.js +6 -3
  30. package/hooks/index.d.ts +1 -0
  31. package/hooks/index.js +1 -0
  32. package/hooks/package.json +6 -0
  33. package/hooks/useClearableField.d.ts +25 -0
  34. package/hooks/useClearableField.js +79 -0
  35. package/icons/index.d.ts +6 -0
  36. package/icons/index.js +8 -1
  37. package/index.d.ts +1 -0
  38. package/index.js +3 -2
  39. package/internals/constants/dimensions.d.ts +2 -1
  40. package/internals/constants/dimensions.js +2 -1
  41. package/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  42. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +3 -2
  43. package/internals/hooks/useField/index.d.ts +1 -1
  44. package/internals/hooks/useField/useField.js +27 -7
  45. package/internals/hooks/useField/useField.types.d.ts +37 -1
  46. package/internals/index.d.ts +1 -1
  47. package/internals/models/props/toolbar.d.ts +3 -0
  48. package/internals/models/validation.d.ts +3 -0
  49. package/internals/utils/date-utils.d.ts +1 -0
  50. package/internals/utils/date-utils.js +4 -0
  51. package/legacy/DateCalendar/DateCalendar.js +9 -3
  52. package/legacy/DateCalendar/DayCalendar.js +24 -11
  53. package/legacy/DateCalendar/PickersFadeTransitionGroup.js +6 -6
  54. package/legacy/DateCalendar/PickersSlideTransition.js +5 -5
  55. package/legacy/DateCalendar/dayCalendarClasses.js +1 -1
  56. package/legacy/DateField/DateField.js +30 -3
  57. package/legacy/DatePicker/DatePicker.js +6 -2
  58. package/legacy/DateTimeField/DateTimeField.js +30 -3
  59. package/legacy/DateTimePicker/DateTimePicker.js +6 -2
  60. package/legacy/DateTimePicker/DateTimePickerToolbar.js +1 -0
  61. package/legacy/DesktopDatePicker/DesktopDatePicker.js +6 -2
  62. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  63. package/legacy/MobileDatePicker/MobileDatePicker.js +6 -2
  64. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  65. package/legacy/MonthCalendar/MonthCalendar.js +4 -1
  66. package/legacy/StaticDatePicker/StaticDatePicker.js +6 -2
  67. package/legacy/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  68. package/legacy/TimeField/TimeField.js +27 -3
  69. package/legacy/TimePicker/TimePickerToolbar.js +1 -0
  70. package/legacy/YearCalendar/PickersYear.js +1 -1
  71. package/legacy/YearCalendar/YearCalendar.js +6 -4
  72. package/legacy/hooks/index.js +1 -0
  73. package/legacy/hooks/useClearableField.js +80 -0
  74. package/legacy/icons/index.js +8 -1
  75. package/legacy/index.js +3 -2
  76. package/legacy/internals/constants/dimensions.js +2 -1
  77. package/legacy/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  78. package/legacy/internals/hooks/useField/useField.js +31 -8
  79. package/legacy/internals/utils/date-utils.js +6 -0
  80. package/legacy/locales/beBY.js +2 -0
  81. package/legacy/locales/caES.js +2 -0
  82. package/legacy/locales/csCZ.js +2 -0
  83. package/legacy/locales/daDK.js +2 -0
  84. package/legacy/locales/deDE.js +2 -0
  85. package/legacy/locales/elGR.js +2 -0
  86. package/legacy/locales/enUS.js +1 -0
  87. package/legacy/locales/esES.js +2 -0
  88. package/legacy/locales/faIR.js +2 -0
  89. package/legacy/locales/fiFI.js +2 -0
  90. package/legacy/locales/frFR.js +2 -0
  91. package/legacy/locales/heIL.js +2 -0
  92. package/legacy/locales/huHU.js +1 -0
  93. package/legacy/locales/isIS.js +2 -0
  94. package/legacy/locales/itIT.js +2 -0
  95. package/legacy/locales/jaJP.js +2 -0
  96. package/legacy/locales/koKR.js +2 -0
  97. package/legacy/locales/kzKZ.js +2 -0
  98. package/legacy/locales/nbNO.js +2 -0
  99. package/legacy/locales/nlNL.js +2 -0
  100. package/legacy/locales/plPL.js +2 -0
  101. package/legacy/locales/ptBR.js +2 -0
  102. package/legacy/locales/roRO.js +1 -0
  103. package/legacy/locales/ruRU.js +2 -0
  104. package/legacy/locales/skSK.js +2 -0
  105. package/legacy/locales/svSE.js +2 -0
  106. package/legacy/locales/trTR.js +2 -0
  107. package/legacy/locales/ukUA.js +2 -0
  108. package/legacy/locales/urPK.js +2 -0
  109. package/legacy/locales/viVN.js +2 -0
  110. package/legacy/locales/zhCN.js +2 -0
  111. package/legacy/locales/zhHK.js +2 -0
  112. package/locales/beBY.d.ts +1 -0
  113. package/locales/beBY.js +2 -0
  114. package/locales/caES.d.ts +1 -0
  115. package/locales/caES.js +2 -0
  116. package/locales/csCZ.d.ts +1 -0
  117. package/locales/csCZ.js +2 -0
  118. package/locales/daDK.d.ts +1 -0
  119. package/locales/daDK.js +2 -0
  120. package/locales/deDE.d.ts +1 -0
  121. package/locales/deDE.js +2 -0
  122. package/locales/elGR.d.ts +1 -0
  123. package/locales/elGR.js +2 -0
  124. package/locales/enUS.d.ts +1 -0
  125. package/locales/enUS.js +1 -0
  126. package/locales/esES.d.ts +1 -0
  127. package/locales/esES.js +2 -0
  128. package/locales/faIR.d.ts +1 -0
  129. package/locales/faIR.js +2 -0
  130. package/locales/fiFI.d.ts +1 -0
  131. package/locales/fiFI.js +2 -0
  132. package/locales/frFR.d.ts +1 -0
  133. package/locales/frFR.js +2 -0
  134. package/locales/heIL.d.ts +1 -0
  135. package/locales/heIL.js +2 -0
  136. package/locales/huHU.d.ts +1 -0
  137. package/locales/huHU.js +1 -0
  138. package/locales/isIS.d.ts +1 -0
  139. package/locales/isIS.js +2 -0
  140. package/locales/itIT.d.ts +1 -0
  141. package/locales/itIT.js +2 -0
  142. package/locales/jaJP.d.ts +1 -0
  143. package/locales/jaJP.js +2 -0
  144. package/locales/koKR.d.ts +1 -0
  145. package/locales/koKR.js +2 -0
  146. package/locales/kzKZ.d.ts +1 -0
  147. package/locales/kzKZ.js +2 -0
  148. package/locales/nbNO.d.ts +1 -0
  149. package/locales/nbNO.js +2 -0
  150. package/locales/nlNL.d.ts +1 -0
  151. package/locales/nlNL.js +2 -0
  152. package/locales/plPL.d.ts +1 -0
  153. package/locales/plPL.js +2 -0
  154. package/locales/ptBR.d.ts +1 -0
  155. package/locales/ptBR.js +2 -0
  156. package/locales/roRO.d.ts +1 -0
  157. package/locales/roRO.js +1 -0
  158. package/locales/ruRU.d.ts +1 -0
  159. package/locales/ruRU.js +2 -0
  160. package/locales/skSK.d.ts +1 -0
  161. package/locales/skSK.js +2 -0
  162. package/locales/svSE.d.ts +1 -0
  163. package/locales/svSE.js +2 -0
  164. package/locales/trTR.d.ts +1 -0
  165. package/locales/trTR.js +2 -0
  166. package/locales/ukUA.d.ts +1 -0
  167. package/locales/ukUA.js +2 -0
  168. package/locales/urPK.d.ts +1 -0
  169. package/locales/urPK.js +2 -0
  170. package/locales/utils/getPickersLocalization.d.ts +1 -0
  171. package/locales/utils/pickersLocaleTextApi.d.ts +1 -0
  172. package/locales/viVN.d.ts +1 -0
  173. package/locales/viVN.js +2 -0
  174. package/locales/zhCN.d.ts +1 -0
  175. package/locales/zhCN.js +2 -0
  176. package/locales/zhHK.d.ts +1 -0
  177. package/locales/zhHK.js +2 -0
  178. package/models/adapters.d.ts +1 -0
  179. package/models/fields.d.ts +2 -0
  180. package/modern/DateCalendar/DateCalendar.js +9 -3
  181. package/modern/DateCalendar/DayCalendar.js +27 -13
  182. package/modern/DateCalendar/PickersFadeTransitionGroup.js +6 -6
  183. package/modern/DateCalendar/PickersSlideTransition.js +5 -5
  184. package/modern/DateCalendar/dayCalendarClasses.js +1 -1
  185. package/modern/DateField/DateField.js +32 -4
  186. package/modern/DatePicker/DatePicker.js +6 -2
  187. package/modern/DateTimeField/DateTimeField.js +32 -4
  188. package/modern/DateTimePicker/DateTimePicker.js +6 -2
  189. package/modern/DateTimePicker/DateTimePickerToolbar.js +1 -0
  190. package/modern/DesktopDatePicker/DesktopDatePicker.js +6 -2
  191. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +6 -2
  192. package/modern/MobileDatePicker/MobileDatePicker.js +6 -2
  193. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +6 -2
  194. package/modern/MonthCalendar/MonthCalendar.js +4 -1
  195. package/modern/StaticDatePicker/StaticDatePicker.js +6 -2
  196. package/modern/StaticDateTimePicker/StaticDateTimePicker.js +6 -2
  197. package/modern/TimeField/TimeField.js +29 -4
  198. package/modern/TimePicker/TimePickerToolbar.js +1 -0
  199. package/modern/YearCalendar/PickersYear.js +1 -1
  200. package/modern/YearCalendar/YearCalendar.js +5 -3
  201. package/modern/hooks/index.js +1 -0
  202. package/modern/hooks/useClearableField.js +78 -0
  203. package/modern/icons/index.js +8 -1
  204. package/modern/index.js +3 -2
  205. package/modern/internals/constants/dimensions.js +2 -1
  206. package/modern/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  207. package/modern/internals/hooks/useField/useField.js +26 -7
  208. package/modern/internals/utils/date-utils.js +4 -0
  209. package/modern/locales/beBY.js +2 -0
  210. package/modern/locales/caES.js +2 -0
  211. package/modern/locales/csCZ.js +2 -0
  212. package/modern/locales/daDK.js +2 -0
  213. package/modern/locales/deDE.js +2 -0
  214. package/modern/locales/elGR.js +2 -0
  215. package/modern/locales/enUS.js +1 -0
  216. package/modern/locales/esES.js +2 -0
  217. package/modern/locales/faIR.js +2 -0
  218. package/modern/locales/fiFI.js +2 -0
  219. package/modern/locales/frFR.js +2 -0
  220. package/modern/locales/heIL.js +2 -0
  221. package/modern/locales/huHU.js +1 -0
  222. package/modern/locales/isIS.js +2 -0
  223. package/modern/locales/itIT.js +2 -0
  224. package/modern/locales/jaJP.js +2 -0
  225. package/modern/locales/koKR.js +2 -0
  226. package/modern/locales/kzKZ.js +2 -0
  227. package/modern/locales/nbNO.js +2 -0
  228. package/modern/locales/nlNL.js +2 -0
  229. package/modern/locales/plPL.js +2 -0
  230. package/modern/locales/ptBR.js +2 -0
  231. package/modern/locales/roRO.js +1 -0
  232. package/modern/locales/ruRU.js +2 -0
  233. package/modern/locales/skSK.js +2 -0
  234. package/modern/locales/svSE.js +2 -0
  235. package/modern/locales/trTR.js +2 -0
  236. package/modern/locales/ukUA.js +2 -0
  237. package/modern/locales/urPK.js +2 -0
  238. package/modern/locales/viVN.js +2 -0
  239. package/modern/locales/zhCN.js +2 -0
  240. package/modern/locales/zhHK.js +2 -0
  241. package/node/DateCalendar/DateCalendar.js +10 -5
  242. package/node/DateCalendar/DayCalendar.js +26 -12
  243. package/node/DateCalendar/PickersFadeTransitionGroup.js +6 -6
  244. package/node/DateCalendar/PickersSlideTransition.js +5 -7
  245. package/node/DateCalendar/dateCalendarClasses.js +1 -2
  246. package/node/DateCalendar/dayCalendarClasses.js +1 -2
  247. package/node/DateCalendar/pickersFadeTransitionGroupClasses.js +1 -2
  248. package/node/DateCalendar/pickersSlideTransitionClasses.js +1 -2
  249. package/node/DateField/DateField.js +33 -6
  250. package/node/DatePicker/DatePicker.js +7 -4
  251. package/node/DatePicker/DatePickerToolbar.js +1 -2
  252. package/node/DatePicker/datePickerToolbarClasses.js +1 -2
  253. package/node/DateTimeField/DateTimeField.js +33 -6
  254. package/node/DateTimePicker/DateTimePicker.js +7 -4
  255. package/node/DateTimePicker/DateTimePickerTabs.js +1 -2
  256. package/node/DateTimePicker/DateTimePickerToolbar.js +1 -0
  257. package/node/DateTimePicker/dateTimePickerTabsClasses.js +1 -2
  258. package/node/DateTimePicker/dateTimePickerToolbarClasses.js +1 -2
  259. package/node/DayCalendarSkeleton/dayCalendarSkeletonClasses.js +1 -2
  260. package/node/DesktopDatePicker/DesktopDatePicker.js +7 -4
  261. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +7 -4
  262. package/node/DesktopTimePicker/DesktopTimePicker.js +1 -2
  263. package/node/DigitalClock/DigitalClock.js +1 -2
  264. package/node/DigitalClock/digitalClockClasses.js +1 -2
  265. package/node/LocalizationProvider/LocalizationProvider.js +2 -4
  266. package/node/MobileDatePicker/MobileDatePicker.js +7 -4
  267. package/node/MobileDateTimePicker/MobileDateTimePicker.js +7 -4
  268. package/node/MobileTimePicker/MobileTimePicker.js +1 -2
  269. package/node/MonthCalendar/MonthCalendar.js +5 -3
  270. package/node/MonthCalendar/PickersMonth.js +2 -3
  271. package/node/MonthCalendar/monthCalendarClasses.js +1 -2
  272. package/node/MonthCalendar/pickersMonthClasses.js +1 -2
  273. package/node/MultiSectionDigitalClock/MultiSectionDigitalClock.js +1 -2
  274. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +2 -3
  275. package/node/MultiSectionDigitalClock/multiSectionDigitalClockClasses.js +1 -2
  276. package/node/MultiSectionDigitalClock/multiSectionDigitalClockSectionClasses.js +1 -2
  277. package/node/PickersCalendarHeader/PickersCalendarHeader.js +1 -2
  278. package/node/PickersCalendarHeader/pickersCalendarHeaderClasses.js +1 -2
  279. package/node/PickersDay/PickersDay.js +1 -2
  280. package/node/PickersDay/pickersDayClasses.js +1 -2
  281. package/node/PickersLayout/PickersLayout.js +3 -6
  282. package/node/PickersLayout/pickersLayoutClasses.js +1 -2
  283. package/node/PickersLayout/usePickerLayout.js +1 -2
  284. package/node/StaticDatePicker/StaticDatePicker.js +7 -4
  285. package/node/StaticDateTimePicker/StaticDateTimePicker.js +7 -4
  286. package/node/StaticTimePicker/StaticTimePicker.js +1 -2
  287. package/node/TimeClock/TimeClock.js +1 -2
  288. package/node/TimeClock/clockClasses.js +1 -2
  289. package/node/TimeClock/clockNumberClasses.js +1 -2
  290. package/node/TimeClock/clockPointerClasses.js +1 -2
  291. package/node/TimeClock/shared.js +2 -4
  292. package/node/TimeClock/timeClockClasses.js +1 -2
  293. package/node/TimeField/TimeField.js +30 -6
  294. package/node/TimePicker/TimePicker.js +1 -2
  295. package/node/TimePicker/TimePickerToolbar.js +1 -0
  296. package/node/TimePicker/timePickerToolbarClasses.js +1 -2
  297. package/node/YearCalendar/PickersYear.js +3 -4
  298. package/node/YearCalendar/YearCalendar.js +6 -5
  299. package/node/YearCalendar/pickersYearClasses.js +1 -2
  300. package/node/YearCalendar/yearCalendarClasses.js +1 -2
  301. package/node/hooks/index.js +12 -0
  302. package/node/hooks/useClearableField.js +87 -0
  303. package/node/icons/index.js +15 -15
  304. package/node/index.js +13 -1
  305. package/node/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +2 -3
  306. package/node/internals/components/PickerViewRoot/PickerViewRoot.js +2 -3
  307. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +2 -3
  308. package/node/internals/components/PickersArrowSwitcher/pickersArrowSwitcherClasses.js +1 -2
  309. package/node/internals/components/PickersToolbar.js +2 -3
  310. package/node/internals/components/PickersToolbarButton.js +2 -3
  311. package/node/internals/components/PickersToolbarText.js +2 -3
  312. package/node/internals/components/pickersPopperClasses.js +1 -2
  313. package/node/internals/components/pickersToolbarButtonClasses.js +1 -2
  314. package/node/internals/components/pickersToolbarClasses.js +1 -2
  315. package/node/internals/components/pickersToolbarTextClasses.js +1 -2
  316. package/node/internals/constants/dimensions.js +8 -13
  317. package/node/internals/hooks/useDefaultReduceAnimations.js +1 -2
  318. package/node/internals/hooks/useDesktopPicker/useDesktopPicker.js +3 -1
  319. package/node/internals/hooks/useField/useField.js +26 -7
  320. package/node/internals/utils/date-utils.js +7 -2
  321. package/node/internals/utils/getDefaultReferenceDate.js +1 -2
  322. package/node/internals/utils/utils.js +1 -2
  323. package/node/internals/utils/validation/extractValidationProps.js +3 -6
  324. package/node/internals/utils/valueManagers.js +3 -5
  325. package/node/locales/beBY.js +3 -2
  326. package/node/locales/caES.js +3 -2
  327. package/node/locales/csCZ.js +3 -2
  328. package/node/locales/daDK.js +3 -2
  329. package/node/locales/deDE.js +3 -2
  330. package/node/locales/elGR.js +3 -2
  331. package/node/locales/enUS.js +3 -4
  332. package/node/locales/esES.js +3 -2
  333. package/node/locales/faIR.js +3 -2
  334. package/node/locales/fiFI.js +3 -2
  335. package/node/locales/frFR.js +3 -2
  336. package/node/locales/heIL.js +3 -2
  337. package/node/locales/huHU.js +2 -2
  338. package/node/locales/isIS.js +3 -2
  339. package/node/locales/itIT.js +3 -2
  340. package/node/locales/jaJP.js +3 -2
  341. package/node/locales/koKR.js +3 -2
  342. package/node/locales/kzKZ.js +3 -2
  343. package/node/locales/nbNO.js +3 -2
  344. package/node/locales/nlNL.js +3 -2
  345. package/node/locales/plPL.js +3 -2
  346. package/node/locales/ptBR.js +3 -2
  347. package/node/locales/roRO.js +2 -2
  348. package/node/locales/ruRU.js +3 -2
  349. package/node/locales/skSK.js +3 -2
  350. package/node/locales/svSE.js +3 -2
  351. package/node/locales/trTR.js +3 -2
  352. package/node/locales/ukUA.js +3 -2
  353. package/node/locales/urPK.js +3 -2
  354. package/node/locales/viVN.js +3 -2
  355. package/node/locales/zhCN.js +3 -2
  356. package/node/locales/zhHK.js +3 -2
  357. package/package.json +5 -5
  358. package/legacy/tests/describe.types.js +0 -1
  359. package/legacy/tests/describeAdapters/describeAdapters.js +0 -29
  360. package/legacy/tests/describeAdapters/index.js +0 -1
  361. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -32
  362. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  363. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  364. package/legacy/tests/describeGregorianAdapter/index.js +0 -2
  365. package/legacy/tests/describeGregorianAdapter/testCalculations.js +0 -707
  366. package/legacy/tests/describeGregorianAdapter/testFormat.js +0 -26
  367. package/legacy/tests/describeGregorianAdapter/testLocalization.js +0 -49
  368. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  369. package/legacy/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  370. package/legacy/tests/describeHijriAdapter/index.js +0 -1
  371. package/legacy/tests/describeHijriAdapter/testCalculations.js +0 -167
  372. package/legacy/tests/describeHijriAdapter/testLocalization.js +0 -20
  373. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  374. package/legacy/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  375. package/legacy/tests/describeJalaliAdapter/index.js +0 -1
  376. package/legacy/tests/describeJalaliAdapter/testCalculations.js +0 -236
  377. package/legacy/tests/describeJalaliAdapter/testLocalization.js +0 -20
  378. package/legacy/tests/describePicker/describePicker.js +0 -159
  379. package/legacy/tests/describePicker/describePicker.types.js +0 -1
  380. package/legacy/tests/describePicker/index.js +0 -1
  381. package/legacy/tests/describeValidation/describeValidation.js +0 -31
  382. package/legacy/tests/describeValidation/describeValidation.types.js +0 -1
  383. package/legacy/tests/describeValidation/index.js +0 -1
  384. package/legacy/tests/describeValidation/testDayViewValidation.js +0 -281
  385. package/legacy/tests/describeValidation/testMinutesViewValidation.js +0 -194
  386. package/legacy/tests/describeValidation/testMonthViewValidation.js +0 -136
  387. package/legacy/tests/describeValidation/testTextFieldValidation.js +0 -463
  388. package/legacy/tests/describeValidation/testYearViewValidation.js +0 -95
  389. package/legacy/tests/describeValue/describeValue.js +0 -57
  390. package/legacy/tests/describeValue/describeValue.types.js +0 -1
  391. package/legacy/tests/describeValue/index.js +0 -1
  392. package/legacy/tests/describeValue/testControlledUnControlled.js +0 -237
  393. package/legacy/tests/describeValue/testPickerActionBar.js +0 -250
  394. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -362
  395. package/legacy/tests/describeValue/testShortcuts.js +0 -119
  396. package/modern/tests/describe.types.js +0 -1
  397. package/modern/tests/describeAdapters/describeAdapters.js +0 -29
  398. package/modern/tests/describeAdapters/index.js +0 -1
  399. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -29
  400. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  401. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  402. package/modern/tests/describeGregorianAdapter/index.js +0 -2
  403. package/modern/tests/describeGregorianAdapter/testCalculations.js +0 -706
  404. package/modern/tests/describeGregorianAdapter/testFormat.js +0 -27
  405. package/modern/tests/describeGregorianAdapter/testLocalization.js +0 -50
  406. package/modern/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  407. package/modern/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  408. package/modern/tests/describeHijriAdapter/index.js +0 -1
  409. package/modern/tests/describeHijriAdapter/testCalculations.js +0 -164
  410. package/modern/tests/describeHijriAdapter/testLocalization.js +0 -21
  411. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  412. package/modern/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  413. package/modern/tests/describeJalaliAdapter/index.js +0 -1
  414. package/modern/tests/describeJalaliAdapter/testCalculations.js +0 -237
  415. package/modern/tests/describeJalaliAdapter/testLocalization.js +0 -21
  416. package/modern/tests/describePicker/describePicker.js +0 -162
  417. package/modern/tests/describePicker/describePicker.types.js +0 -1
  418. package/modern/tests/describePicker/index.js +0 -1
  419. package/modern/tests/describeValidation/describeValidation.js +0 -31
  420. package/modern/tests/describeValidation/describeValidation.types.js +0 -1
  421. package/modern/tests/describeValidation/index.js +0 -1
  422. package/modern/tests/describeValidation/testDayViewValidation.js +0 -280
  423. package/modern/tests/describeValidation/testMinutesViewValidation.js +0 -193
  424. package/modern/tests/describeValidation/testMonthViewValidation.js +0 -137
  425. package/modern/tests/describeValidation/testTextFieldValidation.js +0 -470
  426. package/modern/tests/describeValidation/testYearViewValidation.js +0 -94
  427. package/modern/tests/describeValue/describeValue.js +0 -59
  428. package/modern/tests/describeValue/describeValue.types.js +0 -1
  429. package/modern/tests/describeValue/index.js +0 -1
  430. package/modern/tests/describeValue/testControlledUnControlled.js +0 -239
  431. package/modern/tests/describeValue/testPickerActionBar.js +0 -254
  432. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  433. package/modern/tests/describeValue/testShortcuts.js +0 -112
  434. package/node/tests/describe.types.js +0 -5
  435. package/node/tests/describeAdapters/describeAdapters.js +0 -37
  436. package/node/tests/describeAdapters/index.js +0 -12
  437. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -37
  438. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -5
  439. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -10
  440. package/node/tests/describeGregorianAdapter/index.js +0 -19
  441. package/node/tests/describeGregorianAdapter/testCalculations.js +0 -711
  442. package/node/tests/describeGregorianAdapter/testFormat.js +0 -34
  443. package/node/tests/describeGregorianAdapter/testLocalization.js +0 -57
  444. package/node/tests/describeHijriAdapter/describeHijriAdapter.js +0 -29
  445. package/node/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -5
  446. package/node/tests/describeHijriAdapter/index.js +0 -12
  447. package/node/tests/describeHijriAdapter/testCalculations.js +0 -171
  448. package/node/tests/describeHijriAdapter/testLocalization.js +0 -28
  449. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -29
  450. package/node/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -5
  451. package/node/tests/describeJalaliAdapter/index.js +0 -12
  452. package/node/tests/describeJalaliAdapter/testCalculations.js +0 -244
  453. package/node/tests/describeJalaliAdapter/testLocalization.js +0 -28
  454. package/node/tests/describePicker/describePicker.js +0 -173
  455. package/node/tests/describePicker/describePicker.types.js +0 -5
  456. package/node/tests/describePicker/index.js +0 -12
  457. package/node/tests/describeValidation/describeValidation.js +0 -39
  458. package/node/tests/describeValidation/describeValidation.types.js +0 -5
  459. package/node/tests/describeValidation/index.js +0 -12
  460. package/node/tests/describeValidation/testDayViewValidation.js +0 -290
  461. package/node/tests/describeValidation/testMinutesViewValidation.js +0 -203
  462. package/node/tests/describeValidation/testMonthViewValidation.js +0 -147
  463. package/node/tests/describeValidation/testTextFieldValidation.js +0 -480
  464. package/node/tests/describeValidation/testYearViewValidation.js +0 -104
  465. package/node/tests/describeValue/describeValue.js +0 -69
  466. package/node/tests/describeValue/describeValue.types.js +0 -5
  467. package/node/tests/describeValue/index.js +0 -12
  468. package/node/tests/describeValue/testControlledUnControlled.js +0 -248
  469. package/node/tests/describeValue/testPickerActionBar.js +0 -264
  470. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -381
  471. package/node/tests/describeValue/testShortcuts.js +0 -122
  472. package/tests/describe.types.js +0 -1
  473. package/tests/describeAdapters/describeAdapters.js +0 -29
  474. package/tests/describeAdapters/index.js +0 -1
  475. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +0 -30
  476. package/tests/describeGregorianAdapter/describeGregorianAdapter.types.js +0 -1
  477. package/tests/describeGregorianAdapter/describeGregorianAdapter.utils.js +0 -2
  478. package/tests/describeGregorianAdapter/index.js +0 -2
  479. package/tests/describeGregorianAdapter/testCalculations.js +0 -706
  480. package/tests/describeGregorianAdapter/testFormat.js +0 -27
  481. package/tests/describeGregorianAdapter/testLocalization.js +0 -50
  482. package/tests/describeHijriAdapter/describeHijriAdapter.js +0 -21
  483. package/tests/describeHijriAdapter/describeHijriAdapter.types.js +0 -1
  484. package/tests/describeHijriAdapter/index.js +0 -1
  485. package/tests/describeHijriAdapter/testCalculations.js +0 -164
  486. package/tests/describeHijriAdapter/testLocalization.js +0 -21
  487. package/tests/describeJalaliAdapter/describeJalaliAdapter.js +0 -21
  488. package/tests/describeJalaliAdapter/describeJalaliAdapter.types.js +0 -1
  489. package/tests/describeJalaliAdapter/index.js +0 -1
  490. package/tests/describeJalaliAdapter/testCalculations.js +0 -237
  491. package/tests/describeJalaliAdapter/testLocalization.js +0 -21
  492. package/tests/describePicker/describePicker.js +0 -162
  493. package/tests/describePicker/describePicker.types.js +0 -1
  494. package/tests/describePicker/index.js +0 -1
  495. package/tests/describeValidation/describeValidation.js +0 -31
  496. package/tests/describeValidation/describeValidation.types.js +0 -1
  497. package/tests/describeValidation/index.js +0 -1
  498. package/tests/describeValidation/testDayViewValidation.js +0 -280
  499. package/tests/describeValidation/testMinutesViewValidation.js +0 -193
  500. package/tests/describeValidation/testMonthViewValidation.js +0 -137
  501. package/tests/describeValidation/testTextFieldValidation.js +0 -470
  502. package/tests/describeValidation/testYearViewValidation.js +0 -94
  503. package/tests/describeValue/describeValue.js +0 -59
  504. package/tests/describeValue/describeValue.types.js +0 -1
  505. package/tests/describeValue/index.js +0 -1
  506. package/tests/describeValue/testControlledUnControlled.js +0 -239
  507. package/tests/describeValue/testPickerActionBar.js +0 -254
  508. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +0 -371
  509. package/tests/describeValue/testShortcuts.js +0 -112
@@ -1,248 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.testControlledUnControlled = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
- var React = _interopRequireWildcard(require("react"));
11
- var _chai = require("chai");
12
- var _sinon = require("sinon");
13
- var _utils = require("@mui/monorepo/test/utils");
14
- var _InputBase = require("@mui/material/InputBase");
15
- var _pickers = require("test/utils/pickers");
16
- var _jsxRuntime = require("react/jsx-runtime");
17
- const _excluded = ["render", "renderWithProps", "values", "componentFamily", "emptyValue", "assertRenderedValue", "setNewValue", "clock"];
18
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
- const testControlledUnControlled = (ElementToTest, options) => {
21
- const {
22
- render,
23
- renderWithProps,
24
- values,
25
- componentFamily,
26
- emptyValue,
27
- assertRenderedValue,
28
- setNewValue,
29
- clock
30
- } = options,
31
- pickerParams = (0, _objectWithoutPropertiesLoose2.default)(options, _excluded);
32
- const params = pickerParams;
33
- describe('Controlled / uncontrolled value', () => {
34
- it('should render `props.defaultValue` if no `props.value` is passed', () => {
35
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
36
- defaultValue: values[0]
37
- }));
38
- assertRenderedValue(values[0]);
39
- });
40
- it('should render `props.value` if passed', () => {
41
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
42
- value: values[0]
43
- }));
44
- assertRenderedValue(values[0]);
45
- });
46
- it('should render `props.value` if both `props.defaultValue` and `props.value` are passed', () => {
47
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
48
- defaultValue: values[0],
49
- value: values[1]
50
- }));
51
- assertRenderedValue(values[1]);
52
- });
53
- it('should render nothing if neither `props.defaultValue` or `props.value` are passed', () => {
54
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {}));
55
- assertRenderedValue(emptyValue);
56
- });
57
- it('should call onChange when updating a value defined with `props.defaultValue` and update the rendered value', () => {
58
- const onChange = (0, _sinon.spy)();
59
- const {
60
- selectSection
61
- } = renderWithProps({
62
- defaultValue: values[0],
63
- onChange
64
- });
65
- const newValue = setNewValue(values[0], {
66
- selectSection
67
- });
68
- assertRenderedValue(newValue);
69
- // TODO: Clean this exception or change the clock behavior
70
- (0, _chai.expect)(onChange.callCount).to.equal((0, _pickers.getExpectedOnChangeCount)(componentFamily, params));
71
- if (Array.isArray(newValue)) {
72
- newValue.forEach((value, index) => {
73
- (0, _chai.expect)(onChange.lastCall.args[0][index]).toEqualDateTime(value);
74
- });
75
- } else {
76
- (0, _chai.expect)(onChange.lastCall.args[0]).toEqualDateTime(newValue);
77
- }
78
- });
79
- it('should call onChange when updating a value defined with `props.value`', () => {
80
- const onChange = (0, _sinon.spy)();
81
- const useControlledElement = props => {
82
- const [value, setValue] = React.useState(props?.value || null);
83
- const handleChange = React.useCallback(newValue => {
84
- setValue(newValue);
85
- props?.onChange(newValue);
86
- }, [props]);
87
- return {
88
- value,
89
- onChange: handleChange
90
- };
91
- };
92
- const {
93
- selectSection
94
- } = renderWithProps({
95
- value: values[0],
96
- onChange
97
- }, useControlledElement);
98
- const newValue = setNewValue(values[0], {
99
- selectSection
100
- });
101
- (0, _chai.expect)(onChange.callCount).to.equal((0, _pickers.getExpectedOnChangeCount)(componentFamily, params));
102
- if (Array.isArray(newValue)) {
103
- newValue.forEach((value, index) => {
104
- (0, _chai.expect)(onChange.lastCall.args[0][index]).toEqualDateTime(value);
105
- });
106
- } else {
107
- (0, _chai.expect)(onChange.lastCall.args[0]).toEqualDateTime(newValue);
108
- }
109
- });
110
- it('should react to `props.value` update', () => {
111
- const {
112
- setProps
113
- } = render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
114
- value: values[0]
115
- }));
116
- setProps({
117
- value: values[1]
118
- });
119
- assertRenderedValue(values[1]);
120
- });
121
- ['readOnly', 'disabled'].forEach(prop => {
122
- it(`should apply ${prop}="true" prop`, () => {
123
- if (!['field', 'picker'].includes(componentFamily)) {
124
- return;
125
- }
126
- const handleChange = (0, _sinon.spy)();
127
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
128
- value: values[0],
129
- onChange: handleChange,
130
- [prop]: true
131
- }));
132
- const textBoxes = _utils.screen.getAllByRole('textbox');
133
- textBoxes.forEach(textbox => {
134
- (0, _chai.expect)(textbox).to.have.attribute(prop.toLowerCase());
135
- });
136
- });
137
- });
138
- it('should not allow editing with keyboard in mobile pickers', () => {
139
- if (componentFamily !== 'picker' || params.variant !== 'mobile') {
140
- return;
141
- }
142
- const handleChange = (0, _sinon.spy)();
143
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
144
- defaultValue: values[0],
145
- onChange: handleChange
146
- }));
147
- const input = _utils.screen.getAllByRole('textbox')[0];
148
- (0, _utils.act)(() => {
149
- input.focus();
150
- });
151
- clock.runToLast();
152
- _utils.userEvent.keyPress(input, {
153
- key: 'ArrowUp'
154
- });
155
- clock.runToLast();
156
- (0, _chai.expect)(handleChange.callCount).to.equal(0);
157
- });
158
- it('should have correct labelledby relationship when toolbar is shown', () => {
159
- if (componentFamily !== 'picker' || params.variant === 'desktop' && params.type === 'date-range') {
160
- return;
161
- }
162
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
163
- open: true,
164
- slotProps: {
165
- toolbar: {
166
- hidden: false
167
- }
168
- },
169
- localeText: {
170
- toolbarTitle: 'Test toolbar'
171
- }
172
- }));
173
- (0, _chai.expect)(_utils.screen.getByLabelText('Test toolbar')).to.have.attribute('role', 'dialog');
174
- });
175
- it('should have correct labelledby relationship with provided label when toolbar is hidden', () => {
176
- if (componentFamily !== 'picker' || params.variant === 'desktop' && params.type === 'date-range') {
177
- return;
178
- }
179
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({
180
- open: true
181
- }, params.type === 'date-range' ? {
182
- localeText: {
183
- start: 'test',
184
- end: 'relationship'
185
- }
186
- } : {
187
- label: 'test relationship'
188
- }, {
189
- slotProps: {
190
- toolbar: {
191
- hidden: true
192
- }
193
- }
194
- })));
195
- (0, _chai.expect)(_utils.screen.getByLabelText('test relationship', {
196
- selector: 'div'
197
- })).to.have.attribute('role', 'dialog');
198
- });
199
- it('should have correct labelledby relationship without label and hidden toolbar but external props', () => {
200
- if (componentFamily !== 'picker' || params.variant === 'desktop' && params.type === 'date-range') {
201
- return;
202
- }
203
- render( /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
204
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
205
- id: "label-id",
206
- children: "external label"
207
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({
208
- open: true
209
- }, params.type === 'date-range' && {
210
- localeText: {
211
- start: '',
212
- end: ''
213
- }
214
- }, {
215
- slotProps: {
216
- toolbar: {
217
- hidden: true
218
- },
219
- [params.variant === 'desktop' ? 'popper' : 'mobilePaper']: {
220
- 'aria-labelledby': 'label-id'
221
- }
222
- }
223
- }))]
224
- }));
225
- (0, _chai.expect)(_utils.screen.getByLabelText('external label')).to.have.attribute('role', 'dialog');
226
- });
227
- describe('slots: textField', () => {
228
- it('should respect provided `error="true"` prop', () => {
229
- if (!['field', 'picker'].includes(componentFamily)) {
230
- return;
231
- }
232
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
233
- slotProps: {
234
- textField: {
235
- error: true
236
- }
237
- }
238
- }));
239
- const textBoxes = _utils.screen.getAllByRole('textbox');
240
- textBoxes.forEach(textbox => {
241
- (0, _chai.expect)(textbox.parentElement).to.have.class(_InputBase.inputBaseClasses.error);
242
- (0, _chai.expect)(textbox).to.have.attribute('aria-invalid', 'true');
243
- });
244
- });
245
- });
246
- });
247
- };
248
- exports.testControlledUnControlled = testControlledUnControlled;
@@ -1,264 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.testPickerActionBar = void 0;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
- var React = _interopRequireWildcard(require("react"));
10
- var _chai = require("chai");
11
- var _sinon = require("sinon");
12
- var _utils = require("@mui/monorepo/test/utils");
13
- var _pickers = require("test/utils/pickers");
14
- var _jsxRuntime = require("react/jsx-runtime");
15
- const _excluded = ["componentFamily", "render", "renderWithProps", "values", "emptyValue", "setNewValue"];
16
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
- const testPickerActionBar = (ElementToTest, options) => {
19
- const {
20
- componentFamily,
21
- render,
22
- renderWithProps,
23
- values,
24
- emptyValue,
25
- setNewValue
26
- } = options,
27
- pickerParams = (0, _objectWithoutPropertiesLoose2.default)(options, _excluded);
28
- if (componentFamily !== 'picker') {
29
- return;
30
- }
31
- describe('Picker action bar', () => {
32
- describe('clear action', () => {
33
- it('should call onClose, onChange with empty value and onAccept with empty value', () => {
34
- const onChange = (0, _sinon.spy)();
35
- const onAccept = (0, _sinon.spy)();
36
- const onClose = (0, _sinon.spy)();
37
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
38
- onChange: onChange,
39
- onAccept: onAccept,
40
- onClose: onClose,
41
- defaultValue: values[0],
42
- open: true,
43
- slotProps: {
44
- actionBar: {
45
- actions: ['clear']
46
- }
47
- }
48
- }));
49
-
50
- // Clear the date
51
- _utils.userEvent.mousePress(_utils.screen.getByText(/clear/i));
52
- (0, _chai.expect)(onChange.callCount).to.equal(1);
53
- (0, _pickers.expectPickerChangeHandlerValue)(pickerParams.type, onChange, emptyValue);
54
- (0, _chai.expect)(onAccept.callCount).to.equal(1);
55
- (0, _pickers.expectPickerChangeHandlerValue)(pickerParams.type, onAccept, emptyValue);
56
- (0, _chai.expect)(onClose.callCount).to.equal(1);
57
- });
58
- it('should not call onChange or onAccept if the value is already empty value', () => {
59
- const onChange = (0, _sinon.spy)();
60
- const onAccept = (0, _sinon.spy)();
61
- const onClose = (0, _sinon.spy)();
62
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
63
- onChange: onChange,
64
- onAccept: onAccept,
65
- onClose: onClose,
66
- open: true,
67
- slotProps: {
68
- actionBar: {
69
- actions: ['clear']
70
- }
71
- },
72
- value: emptyValue
73
- }));
74
-
75
- // Clear the date
76
- _utils.userEvent.mousePress(_utils.screen.getByText(/clear/i));
77
- (0, _chai.expect)(onChange.callCount).to.equal(0);
78
- (0, _chai.expect)(onAccept.callCount).to.equal(0);
79
- (0, _chai.expect)(onClose.callCount).to.equal(1);
80
- });
81
- });
82
- describe('cancel action', () => {
83
- it('should call onClose and onChange with the initial value', () => {
84
- const onChange = (0, _sinon.spy)();
85
- const onAccept = (0, _sinon.spy)();
86
- const onClose = (0, _sinon.spy)();
87
- const {
88
- selectSection
89
- } = renderWithProps({
90
- onChange,
91
- onAccept,
92
- onClose,
93
- open: true,
94
- value: values[0],
95
- slotProps: {
96
- actionBar: {
97
- actions: ['cancel']
98
- }
99
- },
100
- closeOnSelect: false
101
- });
102
-
103
- // Change the value (already tested)
104
- setNewValue(values[0], {
105
- isOpened: true,
106
- selectSection
107
- });
108
-
109
- // Cancel the modifications
110
- _utils.userEvent.mousePress(_utils.screen.getByText(/cancel/i));
111
- (0, _chai.expect)(onChange.callCount).to.equal((0, _pickers.getExpectedOnChangeCount)(componentFamily, pickerParams) + 1);
112
- if (pickerParams.type === 'date-range') {
113
- values[0].forEach((value, index) => {
114
- (0, _chai.expect)(onChange.lastCall.args[0][index]).toEqualDateTime(value);
115
- });
116
- } else {
117
- (0, _chai.expect)(onChange.lastCall.args[0]).toEqualDateTime(values[0]);
118
- }
119
- (0, _chai.expect)(onAccept.callCount).to.equal(0);
120
- (0, _chai.expect)(onClose.callCount).to.equal(1);
121
- });
122
- it('should not call onChange if no prior value modification', () => {
123
- const onChange = (0, _sinon.spy)();
124
- const onAccept = (0, _sinon.spy)();
125
- const onClose = (0, _sinon.spy)();
126
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
127
- onChange: onChange,
128
- onAccept: onAccept,
129
- onClose: onClose,
130
- open: true,
131
- value: values[0],
132
- slotProps: {
133
- actionBar: {
134
- actions: ['cancel']
135
- }
136
- },
137
- closeOnSelect: false
138
- }));
139
-
140
- // Cancel the modifications
141
- _utils.userEvent.mousePress(_utils.screen.getByText(/cancel/i));
142
- (0, _chai.expect)(onChange.callCount).to.equal(0);
143
- (0, _chai.expect)(onAccept.callCount).to.equal(0);
144
- (0, _chai.expect)(onClose.callCount).to.equal(1);
145
- });
146
- });
147
- describe('confirm action', () => {
148
- it('should call onClose and onAccept with the live value', () => {
149
- const onChange = (0, _sinon.spy)();
150
- const onAccept = (0, _sinon.spy)();
151
- const onClose = (0, _sinon.spy)();
152
- const {
153
- selectSection
154
- } = renderWithProps({
155
- onChange,
156
- onAccept,
157
- onClose,
158
- open: true,
159
- defaultValue: values[0],
160
- slotProps: {
161
- actionBar: {
162
- actions: ['accept']
163
- }
164
- },
165
- closeOnSelect: false
166
- });
167
-
168
- // Change the value (already tested)
169
- setNewValue(values[0], {
170
- isOpened: true,
171
- selectSection
172
- });
173
-
174
- // Accept the modifications
175
- _utils.userEvent.mousePress(_utils.screen.getByText(/ok/i));
176
- (0, _chai.expect)(onChange.callCount).to.equal((0, _pickers.getExpectedOnChangeCount)(componentFamily, pickerParams)); // The accepted value as already been committed, don't call onChange again
177
- (0, _chai.expect)(onAccept.callCount).to.equal(1);
178
- (0, _chai.expect)(onClose.callCount).to.equal(1);
179
- });
180
- it('should call onChange, onClose and onAccept when validating the default value', () => {
181
- const onChange = (0, _sinon.spy)();
182
- const onAccept = (0, _sinon.spy)();
183
- const onClose = (0, _sinon.spy)();
184
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
185
- onChange: onChange,
186
- onAccept: onAccept,
187
- onClose: onClose,
188
- open: true,
189
- defaultValue: values[0],
190
- slotProps: {
191
- actionBar: {
192
- actions: ['accept']
193
- }
194
- },
195
- closeOnSelect: false
196
- }));
197
-
198
- // Accept the modifications
199
- _utils.userEvent.mousePress(_utils.screen.getByText(/ok/i));
200
- (0, _chai.expect)(onChange.callCount).to.equal(1);
201
- (0, _chai.expect)(onAccept.callCount).to.equal(1);
202
- (0, _chai.expect)(onClose.callCount).to.equal(1);
203
- });
204
- it('should call onClose but not onAccept when validating an already validated value', () => {
205
- const onChange = (0, _sinon.spy)();
206
- const onAccept = (0, _sinon.spy)();
207
- const onClose = (0, _sinon.spy)();
208
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
209
- onChange: onChange,
210
- onAccept: onAccept,
211
- onClose: onClose,
212
- open: true,
213
- value: values[0],
214
- slotProps: {
215
- actionBar: {
216
- actions: ['accept']
217
- }
218
- },
219
- closeOnSelect: false
220
- }));
221
-
222
- // Accept the modifications
223
- _utils.userEvent.mousePress(_utils.screen.getByText(/ok/i));
224
- (0, _chai.expect)(onChange.callCount).to.equal(0);
225
- (0, _chai.expect)(onAccept.callCount).to.equal(0);
226
- (0, _chai.expect)(onClose.callCount).to.equal(1);
227
- });
228
- });
229
- describe('today action', () => {
230
- it("should call onClose, onChange with today's value and onAccept with today's value", () => {
231
- const onChange = (0, _sinon.spy)();
232
- const onAccept = (0, _sinon.spy)();
233
- const onClose = (0, _sinon.spy)();
234
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
235
- onChange: onChange,
236
- onAccept: onAccept,
237
- onClose: onClose,
238
- defaultValue: values[0],
239
- open: true,
240
- slotProps: {
241
- actionBar: {
242
- actions: ['today']
243
- }
244
- }
245
- }));
246
- _utils.userEvent.mousePress(_utils.screen.getByText(/today/i));
247
- let startOfToday;
248
- if (pickerParams.type === 'date') {
249
- startOfToday = _pickers.adapterToUse.startOfDay(_pickers.adapterToUse.date());
250
- } else if (pickerParams.type === 'date-range') {
251
- startOfToday = [_pickers.adapterToUse.date(), _pickers.adapterToUse.date()];
252
- } else {
253
- startOfToday = _pickers.adapterToUse.date();
254
- }
255
- (0, _chai.expect)(onChange.callCount).to.equal(1);
256
- (0, _pickers.expectPickerChangeHandlerValue)(pickerParams.type, onChange, startOfToday);
257
- (0, _chai.expect)(onAccept.callCount).to.equal(1);
258
- (0, _pickers.expectPickerChangeHandlerValue)(pickerParams.type, onAccept, startOfToday);
259
- (0, _chai.expect)(onClose.callCount).to.equal(1);
260
- });
261
- });
262
- });
263
- };
264
- exports.testPickerActionBar = testPickerActionBar;