@mui/x-date-pickers 6.4.0 → 6.6.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 (329) hide show
  1. package/AdapterDateFns/AdapterDateFns.d.ts +6 -0
  2. package/AdapterDateFns/AdapterDateFns.js +18 -0
  3. package/AdapterDateFnsJalali/AdapterDateFnsJalali.d.ts +6 -0
  4. package/AdapterDateFnsJalali/AdapterDateFnsJalali.js +18 -0
  5. package/AdapterDayjs/AdapterDayjs.d.ts +14 -1
  6. package/AdapterDayjs/AdapterDayjs.js +131 -14
  7. package/AdapterLuxon/AdapterLuxon.d.ts +7 -1
  8. package/AdapterLuxon/AdapterLuxon.js +58 -9
  9. package/AdapterMoment/AdapterMoment.d.ts +12 -1
  10. package/AdapterMoment/AdapterMoment.js +91 -2
  11. package/AdapterMomentHijri/AdapterMomentHijri.d.ts +4 -0
  12. package/AdapterMomentHijri/AdapterMomentHijri.js +10 -0
  13. package/AdapterMomentJalaali/AdapterMomentJalaali.d.ts +4 -0
  14. package/AdapterMomentJalaali/AdapterMomentJalaali.js +10 -0
  15. package/CHANGELOG.md +134 -2
  16. package/DateCalendar/DateCalendar.js +2 -2
  17. package/DateCalendar/DayCalendar.d.ts +1 -1
  18. package/DateCalendar/PickersCalendarHeader.d.ts +1 -1
  19. package/DateCalendar/PickersCalendarHeader.js +2 -2
  20. package/DateCalendar/PickersFadeTransitionGroup.d.ts +1 -1
  21. package/DateCalendar/PickersSlideTransition.d.ts +1 -1
  22. package/DateField/DateField.js +6 -0
  23. package/DateField/DateField.types.d.ts +2 -2
  24. package/DateField/index.d.ts +1 -1
  25. package/DateField/useDateField.d.ts +1 -1
  26. package/DateField/useDateField.js +9 -46
  27. package/DateTimeField/DateTimeField.js +6 -0
  28. package/DateTimeField/DateTimeField.types.d.ts +2 -2
  29. package/DateTimeField/index.d.ts +1 -1
  30. package/DateTimeField/useDateTimeField.d.ts +1 -1
  31. package/DateTimeField/useDateTimeField.js +9 -60
  32. package/DateTimePicker/DateTimePicker.js +19 -2
  33. package/DateTimePicker/DateTimePicker.types.d.ts +4 -3
  34. package/DateTimePicker/DateTimePickerTabs.d.ts +3 -3
  35. package/DateTimePicker/DateTimePickerTabs.js +6 -5
  36. package/DateTimePicker/DateTimePickerToolbar.d.ts +5 -4
  37. package/DateTimePicker/DateTimePickerToolbar.js +46 -22
  38. package/DateTimePicker/shared.d.ts +6 -6
  39. package/DayCalendarSkeleton/DayCalendarSkeleton.d.ts +1 -1
  40. package/DesktopDatePicker/DesktopDatePicker.js +2 -2
  41. package/DesktopDateTimePicker/DesktopDateTimePicker.js +54 -12
  42. package/DesktopDateTimePicker/DesktopDateTimePicker.types.d.ts +10 -3
  43. package/DesktopTimePicker/DesktopTimePicker.js +3 -4
  44. package/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
  45. package/MobileDateTimePicker/MobileDateTimePicker.types.d.ts +8 -7
  46. package/MobileTimePicker/MobileTimePicker.js +1 -2
  47. package/MonthCalendar/MonthCalendar.js +2 -2
  48. package/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
  49. package/PickersActionBar/PickersActionBar.d.ts +2 -2
  50. package/PickersLayout/PickersLayout.d.ts +1 -1
  51. package/PickersShortcuts/PickersShortcuts.d.ts +2 -2
  52. package/README.md +5 -5
  53. package/StaticDateTimePicker/StaticDateTimePicker.types.d.ts +1 -1
  54. package/TimeClock/Clock.d.ts +1 -1
  55. package/TimeClock/ClockNumber.d.ts +1 -1
  56. package/TimeClock/ClockNumbers.d.ts +2 -2
  57. package/TimeClock/ClockPointer.d.ts +1 -1
  58. package/TimeField/TimeField.js +6 -0
  59. package/TimeField/TimeField.types.d.ts +1 -1
  60. package/TimeField/index.d.ts +1 -1
  61. package/TimeField/useTimeField.d.ts +1 -1
  62. package/TimeField/useTimeField.js +9 -50
  63. package/TimePicker/TimePickerToolbar.d.ts +2 -2
  64. package/YearCalendar/YearCalendar.js +2 -2
  65. package/dateTimeViewRenderers/dateTimeViewRenderers.d.ts +13 -0
  66. package/dateTimeViewRenderers/dateTimeViewRenderers.js +148 -0
  67. package/dateTimeViewRenderers/index.d.ts +2 -0
  68. package/dateTimeViewRenderers/index.js +1 -0
  69. package/dateTimeViewRenderers/package.json +6 -0
  70. package/dateViewRenderers/dateViewRenderers.d.ts +3 -2
  71. package/dateViewRenderers/dateViewRenderers.js +2 -2
  72. package/icons/index.d.ts +42 -0
  73. package/{internals/components/icons → icons}/index.js +7 -7
  74. package/icons/package.json +6 -0
  75. package/index.d.ts +1 -0
  76. package/index.js +3 -2
  77. package/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.d.ts +2 -0
  78. package/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
  79. package/internals/components/DateTimeViewWrapper/index.d.ts +1 -0
  80. package/internals/components/DateTimeViewWrapper/index.js +1 -0
  81. package/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  82. package/internals/components/PickersModalDialog.d.ts +1 -1
  83. package/internals/components/PickersPopper.d.ts +1 -1
  84. package/internals/components/PickersToolbarButton.d.ts +1 -0
  85. package/internals/components/PickersToolbarButton.js +8 -3
  86. package/internals/constants/dimensions.d.ts +1 -0
  87. package/internals/constants/dimensions.js +2 -1
  88. package/internals/demo/DemoContainer.d.ts +2 -2
  89. package/internals/hooks/useDesktopPicker/useDesktopPicker.d.ts +2 -2
  90. package/internals/hooks/useDesktopPicker/useDesktopPicker.types.d.ts +2 -2
  91. package/internals/hooks/useField/useField.d.ts +1 -1
  92. package/internals/hooks/useField/useField.js +18 -5
  93. package/internals/hooks/useField/useField.types.d.ts +8 -2
  94. package/internals/hooks/useField/useFieldState.d.ts +1 -1
  95. package/internals/hooks/useField/useFieldState.js +22 -2
  96. package/internals/hooks/useMobilePicker/useMobilePicker.d.ts +2 -2
  97. package/internals/hooks/useMobilePicker/useMobilePicker.types.d.ts +2 -2
  98. package/internals/hooks/usePicker/usePickerValue.types.d.ts +32 -2
  99. package/internals/hooks/usePicker/usePickerViews.js +8 -10
  100. package/internals/hooks/useStaticPicker/useStaticPicker.d.ts +2 -2
  101. package/internals/hooks/useViews.js +12 -9
  102. package/internals/index.d.ts +4 -2
  103. package/internals/index.js +4 -2
  104. package/internals/models/fields.d.ts +1 -1
  105. package/internals/utils/date-utils.d.ts +4 -1
  106. package/internals/utils/date-utils.js +4 -1
  107. package/internals/utils/fields.d.ts +5 -0
  108. package/internals/utils/fields.js +28 -0
  109. package/internals/utils/getDefaultReferenceDate.d.ts +15 -0
  110. package/internals/utils/getDefaultReferenceDate.js +62 -0
  111. package/internals/utils/time-utils.d.ts +2 -1
  112. package/internals/utils/time-utils.js +1 -0
  113. package/internals/utils/validation/extractValidationProps.d.ts +5 -1
  114. package/internals/utils/validation/extractValidationProps.js +4 -1
  115. package/internals/utils/valueManagers.js +21 -3
  116. package/legacy/AdapterDateFns/AdapterDateFns.js +18 -0
  117. package/legacy/AdapterDateFnsJalali/AdapterDateFnsJalali.js +18 -0
  118. package/legacy/AdapterDayjs/AdapterDayjs.js +135 -14
  119. package/legacy/AdapterLuxon/AdapterLuxon.js +58 -9
  120. package/legacy/AdapterMoment/AdapterMoment.js +97 -6
  121. package/legacy/AdapterMomentHijri/AdapterMomentHijri.js +10 -0
  122. package/legacy/AdapterMomentJalaali/AdapterMomentJalaali.js +10 -0
  123. package/legacy/DateCalendar/DateCalendar.js +2 -2
  124. package/legacy/DateCalendar/PickersCalendarHeader.js +2 -2
  125. package/legacy/DateField/DateField.js +6 -0
  126. package/legacy/DateField/useDateField.js +8 -44
  127. package/legacy/DateTimeField/DateTimeField.js +6 -0
  128. package/legacy/DateTimeField/useDateTimeField.js +8 -60
  129. package/legacy/DateTimePicker/DateTimePicker.js +19 -2
  130. package/legacy/DateTimePicker/DateTimePickerTabs.js +6 -5
  131. package/legacy/DateTimePicker/DateTimePickerToolbar.js +51 -23
  132. package/legacy/DesktopDatePicker/DesktopDatePicker.js +2 -2
  133. package/legacy/DesktopDateTimePicker/DesktopDateTimePicker.js +55 -12
  134. package/legacy/DesktopTimePicker/DesktopTimePicker.js +3 -4
  135. package/legacy/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
  136. package/legacy/MobileTimePicker/MobileTimePicker.js +1 -2
  137. package/legacy/MonthCalendar/MonthCalendar.js +2 -2
  138. package/legacy/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
  139. package/legacy/TimeField/TimeField.js +6 -0
  140. package/legacy/TimeField/useTimeField.js +8 -48
  141. package/legacy/YearCalendar/YearCalendar.js +2 -2
  142. package/legacy/dateTimeViewRenderers/dateTimeViewRenderers.js +147 -0
  143. package/legacy/dateTimeViewRenderers/index.js +1 -0
  144. package/legacy/dateViewRenderers/dateViewRenderers.js +2 -4
  145. package/legacy/{internals/components/icons → icons}/index.js +7 -7
  146. package/legacy/index.js +3 -2
  147. package/legacy/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
  148. package/legacy/internals/components/DateTimeViewWrapper/index.js +1 -0
  149. package/legacy/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  150. package/legacy/internals/components/PickersToolbarButton.js +7 -2
  151. package/legacy/internals/constants/dimensions.js +2 -1
  152. package/legacy/internals/hooks/useField/useField.js +20 -7
  153. package/legacy/internals/hooks/useField/useFieldState.js +22 -2
  154. package/legacy/internals/hooks/usePicker/usePickerViews.js +4 -4
  155. package/legacy/internals/hooks/useViews.js +12 -9
  156. package/legacy/internals/index.js +4 -2
  157. package/legacy/internals/utils/date-utils.js +7 -0
  158. package/legacy/internals/utils/fields.js +28 -0
  159. package/legacy/internals/utils/getDefaultReferenceDate.js +64 -0
  160. package/legacy/internals/utils/time-utils.js +3 -0
  161. package/legacy/internals/utils/validation/extractValidationProps.js +4 -1
  162. package/legacy/internals/utils/valueManagers.js +20 -4
  163. package/legacy/locales/index.js +1 -0
  164. package/legacy/locales/viVN.js +93 -0
  165. package/legacy/models/index.js +1 -0
  166. package/legacy/models/timezone.js +1 -0
  167. package/legacy/tests/describeGregorianAdapter/describeGregorianAdapter.js +16 -1
  168. package/legacy/tests/describeGregorianAdapter/testCalculations.js +350 -80
  169. package/legacy/tests/describeGregorianAdapter/testLocalization.js +3 -3
  170. package/legacy/tests/describeValidation/testDayViewValidation.js +129 -52
  171. package/legacy/tests/describeValidation/testMinutesViewValidation.js +3 -10
  172. package/legacy/tests/describeValidation/testMonthViewValidation.js +3 -10
  173. package/legacy/tests/describeValidation/testYearViewValidation.js +3 -10
  174. package/legacy/tests/describeValue/describeValue.js +38 -4
  175. package/legacy/tests/describeValue/testControlledUnControlled.js +44 -23
  176. package/legacy/tests/describeValue/testPickerActionBar.js +51 -45
  177. package/legacy/tests/describeValue/testPickerOpenCloseLifeCycle.js +102 -78
  178. package/legacy/timeViewRenderers/timeViewRenderers.js +1 -1
  179. package/locales/index.d.ts +1 -0
  180. package/locales/index.js +1 -0
  181. package/locales/viVN.d.ts +53 -0
  182. package/locales/viVN.js +57 -0
  183. package/models/adapters.d.ts +50 -9
  184. package/models/fields.d.ts +1 -1
  185. package/models/index.d.ts +1 -0
  186. package/models/index.js +1 -0
  187. package/models/timezone.d.ts +1 -0
  188. package/models/timezone.js +1 -0
  189. package/modern/AdapterDateFns/AdapterDateFns.js +18 -0
  190. package/modern/AdapterDateFnsJalali/AdapterDateFnsJalali.js +18 -0
  191. package/modern/AdapterDayjs/AdapterDayjs.js +130 -14
  192. package/modern/AdapterLuxon/AdapterLuxon.js +57 -9
  193. package/modern/AdapterMoment/AdapterMoment.js +90 -2
  194. package/modern/AdapterMomentHijri/AdapterMomentHijri.js +10 -0
  195. package/modern/AdapterMomentJalaali/AdapterMomentJalaali.js +10 -0
  196. package/modern/DateCalendar/DateCalendar.js +2 -2
  197. package/modern/DateCalendar/PickersCalendarHeader.js +2 -2
  198. package/modern/DateField/DateField.js +6 -0
  199. package/modern/DateField/useDateField.js +9 -46
  200. package/modern/DateTimeField/DateTimeField.js +6 -0
  201. package/modern/DateTimeField/useDateTimeField.js +9 -60
  202. package/modern/DateTimePicker/DateTimePicker.js +19 -2
  203. package/modern/DateTimePicker/DateTimePickerTabs.js +6 -5
  204. package/modern/DateTimePicker/DateTimePickerToolbar.js +46 -22
  205. package/modern/DesktopDatePicker/DesktopDatePicker.js +2 -2
  206. package/modern/DesktopDateTimePicker/DesktopDateTimePicker.js +53 -11
  207. package/modern/DesktopTimePicker/DesktopTimePicker.js +3 -4
  208. package/modern/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
  209. package/modern/MobileTimePicker/MobileTimePicker.js +1 -2
  210. package/modern/MonthCalendar/MonthCalendar.js +2 -2
  211. package/modern/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +4 -3
  212. package/modern/TimeField/TimeField.js +6 -0
  213. package/modern/TimeField/useTimeField.js +9 -50
  214. package/modern/YearCalendar/YearCalendar.js +2 -2
  215. package/modern/dateTimeViewRenderers/dateTimeViewRenderers.js +147 -0
  216. package/modern/dateTimeViewRenderers/index.js +1 -0
  217. package/modern/dateViewRenderers/dateViewRenderers.js +2 -2
  218. package/modern/{internals/components/icons → icons}/index.js +7 -7
  219. package/modern/index.js +3 -2
  220. package/modern/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +5 -0
  221. package/modern/internals/components/DateTimeViewWrapper/index.js +1 -0
  222. package/modern/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  223. package/modern/internals/components/PickersToolbarButton.js +8 -3
  224. package/modern/internals/constants/dimensions.js +2 -1
  225. package/modern/internals/hooks/useField/useField.js +18 -5
  226. package/modern/internals/hooks/useField/useFieldState.js +22 -2
  227. package/modern/internals/hooks/usePicker/usePickerViews.js +8 -10
  228. package/modern/internals/hooks/useViews.js +12 -9
  229. package/modern/internals/index.js +4 -2
  230. package/modern/internals/utils/date-utils.js +4 -1
  231. package/modern/internals/utils/fields.js +28 -0
  232. package/modern/internals/utils/getDefaultReferenceDate.js +58 -0
  233. package/modern/internals/utils/time-utils.js +1 -0
  234. package/modern/internals/utils/validation/extractValidationProps.js +4 -1
  235. package/modern/internals/utils/valueManagers.js +21 -3
  236. package/modern/locales/index.js +1 -0
  237. package/modern/locales/viVN.js +57 -0
  238. package/modern/models/index.js +1 -0
  239. package/modern/models/timezone.js +1 -0
  240. package/modern/tests/describeGregorianAdapter/describeGregorianAdapter.js +13 -1
  241. package/modern/tests/describeGregorianAdapter/testCalculations.js +348 -80
  242. package/modern/tests/describeGregorianAdapter/testLocalization.js +3 -3
  243. package/modern/tests/describeValidation/testDayViewValidation.js +129 -52
  244. package/modern/tests/describeValidation/testMinutesViewValidation.js +3 -10
  245. package/modern/tests/describeValidation/testMonthViewValidation.js +3 -10
  246. package/modern/tests/describeValidation/testYearViewValidation.js +3 -10
  247. package/modern/tests/describeValue/describeValue.js +39 -4
  248. package/modern/tests/describeValue/testControlledUnControlled.js +35 -16
  249. package/modern/tests/describeValue/testPickerActionBar.js +38 -29
  250. package/modern/tests/describeValue/testPickerOpenCloseLifeCycle.js +89 -58
  251. package/modern/timeViewRenderers/timeViewRenderers.js +1 -1
  252. package/node/AdapterDateFns/AdapterDateFns.js +18 -0
  253. package/node/AdapterDateFnsJalali/AdapterDateFnsJalali.js +18 -0
  254. package/node/AdapterDayjs/AdapterDayjs.js +130 -14
  255. package/node/AdapterLuxon/AdapterLuxon.js +57 -9
  256. package/node/AdapterMoment/AdapterMoment.js +90 -2
  257. package/node/AdapterMomentHijri/AdapterMomentHijri.js +10 -0
  258. package/node/AdapterMomentJalaali/AdapterMomentJalaali.js +10 -0
  259. package/node/DateCalendar/DateCalendar.js +2 -2
  260. package/node/DateCalendar/PickersCalendarHeader.js +2 -2
  261. package/node/DateField/DateField.js +6 -0
  262. package/node/DateField/useDateField.js +9 -46
  263. package/node/DateTimeField/DateTimeField.js +6 -0
  264. package/node/DateTimeField/useDateTimeField.js +9 -60
  265. package/node/DateTimePicker/DateTimePicker.js +19 -2
  266. package/node/DateTimePicker/DateTimePickerTabs.js +6 -5
  267. package/node/DateTimePicker/DateTimePickerToolbar.js +46 -22
  268. package/node/DesktopDatePicker/DesktopDatePicker.js +2 -2
  269. package/node/DesktopDateTimePicker/DesktopDateTimePicker.js +53 -11
  270. package/node/DesktopTimePicker/DesktopTimePicker.js +3 -4
  271. package/node/MobileDateTimePicker/MobileDateTimePicker.js +1 -2
  272. package/node/MobileTimePicker/MobileTimePicker.js +1 -2
  273. package/node/MonthCalendar/MonthCalendar.js +2 -2
  274. package/node/MultiSectionDigitalClock/MultiSectionDigitalClockSection.js +3 -2
  275. package/node/TimeField/TimeField.js +6 -0
  276. package/node/TimeField/useTimeField.js +9 -50
  277. package/node/YearCalendar/YearCalendar.js +2 -2
  278. package/node/dateTimeViewRenderers/dateTimeViewRenderers.js +156 -0
  279. package/node/dateTimeViewRenderers/index.js +12 -0
  280. package/node/dateViewRenderers/dateViewRenderers.js +3 -3
  281. package/node/{internals/components/icons → icons}/index.js +15 -15
  282. package/node/index.js +13 -1
  283. package/node/internals/components/DateTimeViewWrapper/DateTimeViewWrapper.js +12 -0
  284. package/node/internals/components/DateTimeViewWrapper/index.js +12 -0
  285. package/node/internals/components/PickersArrowSwitcher/PickersArrowSwitcher.js +3 -3
  286. package/node/internals/components/PickersToolbarButton.js +8 -3
  287. package/node/internals/constants/dimensions.js +4 -2
  288. package/node/internals/hooks/useField/useField.js +18 -5
  289. package/node/internals/hooks/useField/useFieldState.js +22 -2
  290. package/node/internals/hooks/usePicker/usePickerViews.js +8 -10
  291. package/node/internals/hooks/useViews.js +12 -9
  292. package/node/internals/index.js +26 -0
  293. package/node/internals/utils/date-utils.js +7 -2
  294. package/node/internals/utils/fields.js +36 -0
  295. package/node/internals/utils/getDefaultReferenceDate.js +66 -0
  296. package/node/internals/utils/time-utils.js +3 -1
  297. package/node/internals/utils/validation/extractValidationProps.js +8 -2
  298. package/node/internals/utils/valueManagers.js +21 -2
  299. package/node/locales/index.js +11 -0
  300. package/node/locales/viVN.js +64 -0
  301. package/node/models/index.js +11 -0
  302. package/node/models/timezone.js +5 -0
  303. package/node/tests/describeGregorianAdapter/describeGregorianAdapter.js +13 -1
  304. package/node/tests/describeGregorianAdapter/testCalculations.js +348 -80
  305. package/node/tests/describeGregorianAdapter/testLocalization.js +3 -4
  306. package/node/tests/describeValidation/testDayViewValidation.js +129 -52
  307. package/node/tests/describeValidation/testMinutesViewValidation.js +3 -10
  308. package/node/tests/describeValidation/testMonthViewValidation.js +3 -10
  309. package/node/tests/describeValidation/testYearViewValidation.js +3 -10
  310. package/node/tests/describeValue/describeValue.js +39 -4
  311. package/node/tests/describeValue/testControlledUnControlled.js +35 -16
  312. package/node/tests/describeValue/testPickerActionBar.js +38 -28
  313. package/node/tests/describeValue/testPickerOpenCloseLifeCycle.js +88 -57
  314. package/node/timeViewRenderers/timeViewRenderers.js +1 -1
  315. package/package.json +5 -5
  316. package/tests/describeGregorianAdapter/describeGregorianAdapter.js +14 -1
  317. package/tests/describeGregorianAdapter/testCalculations.js +348 -80
  318. package/tests/describeGregorianAdapter/testLocalization.js +3 -3
  319. package/tests/describeValidation/testDayViewValidation.js +129 -52
  320. package/tests/describeValidation/testMinutesViewValidation.js +3 -10
  321. package/tests/describeValidation/testMonthViewValidation.js +3 -10
  322. package/tests/describeValidation/testYearViewValidation.js +3 -10
  323. package/tests/describeValue/describeValue.js +39 -4
  324. package/tests/describeValue/testControlledUnControlled.js +35 -16
  325. package/tests/describeValue/testPickerActionBar.js +38 -29
  326. package/tests/describeValue/testPickerOpenCloseLifeCycle.js +89 -58
  327. package/timeViewRenderers/timeViewRenderers.d.ts +4 -4
  328. package/timeViewRenderers/timeViewRenderers.js +1 -1
  329. package/internals/components/icons/index.d.ts +0 -42
@@ -26,33 +26,34 @@ const testDayViewValidation = (ElementToTest, getOptions) => {
26
26
  return;
27
27
  }
28
28
  describe('day view:', () => {
29
- const defaultProps = (0, _extends2.default)({
29
+ const defaultProps = {
30
30
  onChange: () => {},
31
31
  open: true,
32
32
  view: 'day',
33
- reduceAnimations: true
34
- }, componentFamily.includes('legacy-') ? {
35
- componentsProps: {
36
- toolbar: {
37
- hidden: true
38
- }
39
- }
40
- } : {
33
+ reduceAnimations: true,
41
34
  slotProps: {
42
35
  toolbar: {
43
36
  hidden: true
44
37
  }
45
38
  }
46
- });
39
+ };
47
40
  it('should apply shouldDisableDate', function test() {
48
41
  render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({}, defaultProps, {
49
42
  value: _pickersUtils.adapterToUse.date(new Date(2018, 2, 12)),
50
43
  shouldDisableDate: date => _pickersUtils.adapterToUse.isAfter(date, _pickersUtils.adapterToUse.date(new Date(2018, 2, 10)))
51
44
  })));
52
- (0, _chai.expect)(_utils.screen.getByText('9')).not.to.have.attribute('disabled');
53
- (0, _chai.expect)(_utils.screen.getByText('10')).not.to.have.attribute('disabled');
54
- (0, _chai.expect)(_utils.screen.getByText('11')).to.have.attribute('disabled');
55
- (0, _chai.expect)(_utils.screen.getByText('12')).to.have.attribute('disabled');
45
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
46
+ name: '9'
47
+ })).not.to.have.attribute('disabled');
48
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
49
+ name: '10'
50
+ })).not.to.have.attribute('disabled');
51
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
52
+ name: '11'
53
+ })).to.have.attribute('disabled');
54
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
55
+ name: '12'
56
+ })).to.have.attribute('disabled');
56
57
  });
57
58
  it('should apply shouldDisableYear', function test() {
58
59
  const {
@@ -61,16 +62,28 @@ const testDayViewValidation = (ElementToTest, getOptions) => {
61
62
  value: _pickersUtils.adapterToUse.date(new Date(2018, 2, 12)),
62
63
  shouldDisableYear: date => _pickersUtils.adapterToUse.getYear(date) === 2018
63
64
  })));
64
- (0, _chai.expect)(_utils.screen.getByText('1')).to.have.attribute('disabled');
65
- (0, _chai.expect)(_utils.screen.getByText('15')).to.have.attribute('disabled');
66
- (0, _chai.expect)(_utils.screen.getByText('30')).to.have.attribute('disabled');
65
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
66
+ name: '1'
67
+ })).to.have.attribute('disabled');
68
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
69
+ name: '15'
70
+ })).to.have.attribute('disabled');
71
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
72
+ name: '30'
73
+ })).to.have.attribute('disabled');
67
74
  setProps({
68
75
  value: _pickersUtils.adapterToUse.date(new Date(2019, 0, 1))
69
76
  });
70
77
  clock.runToLast();
71
- (0, _chai.expect)(_utils.screen.getByText('1')).not.to.have.attribute('disabled');
72
- (0, _chai.expect)(_utils.screen.getByText('15')).not.to.have.attribute('disabled');
73
- (0, _chai.expect)(_utils.screen.getByText('30')).not.to.have.attribute('disabled');
78
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
79
+ name: '1'
80
+ })).not.to.have.attribute('disabled');
81
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
82
+ name: '15'
83
+ })).not.to.have.attribute('disabled');
84
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
85
+ name: '30'
86
+ })).not.to.have.attribute('disabled');
74
87
  });
75
88
  it('should apply shouldDisableMonth', function test() {
76
89
  const {
@@ -79,16 +92,28 @@ const testDayViewValidation = (ElementToTest, getOptions) => {
79
92
  value: _pickersUtils.adapterToUse.date(new Date(2018, 2, 12)),
80
93
  shouldDisableMonth: date => _pickersUtils.adapterToUse.getMonth(date) === 2
81
94
  })));
82
- (0, _chai.expect)(_utils.screen.getByText('1')).to.have.attribute('disabled');
83
- (0, _chai.expect)(_utils.screen.getByText('15')).to.have.attribute('disabled');
84
- (0, _chai.expect)(_utils.screen.getByText('30')).to.have.attribute('disabled');
95
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
96
+ name: '1'
97
+ })).to.have.attribute('disabled');
98
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
99
+ name: '15'
100
+ })).to.have.attribute('disabled');
101
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
102
+ name: '30'
103
+ })).to.have.attribute('disabled');
85
104
  setProps({
86
105
  value: _pickersUtils.adapterToUse.date(new Date(2018, 1, 1))
87
106
  });
88
107
  clock.runToLast();
89
- (0, _chai.expect)(_utils.screen.getByText('1')).not.to.have.attribute('disabled');
90
- (0, _chai.expect)(_utils.screen.getByText('15')).not.to.have.attribute('disabled');
91
- (0, _chai.expect)(_utils.screen.getByText('28')).not.to.have.attribute('disabled');
108
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
109
+ name: '1'
110
+ })).not.to.have.attribute('disabled');
111
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
112
+ name: '15'
113
+ })).not.to.have.attribute('disabled');
114
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
115
+ name: '28'
116
+ })).not.to.have.attribute('disabled');
92
117
  });
93
118
  it('should apply disablePast', function test() {
94
119
  let now;
@@ -105,21 +130,27 @@ const testDayViewValidation = (ElementToTest, getOptions) => {
105
130
  })));
106
131
  const tomorrow = _pickersUtils.adapterToUse.addDays(now, 1);
107
132
  const yesterday = _pickersUtils.adapterToUse.addDays(now, -1);
108
- (0, _chai.expect)(_utils.screen.getByText(_pickersUtils.adapterToUse.format(now, 'dayOfMonth'))).not.to.have.attribute('disabled');
133
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
134
+ name: _pickersUtils.adapterToUse.format(now, 'dayOfMonth')
135
+ })).not.to.have.attribute('disabled');
109
136
  if (!_pickersUtils.adapterToUse.isSameMonth(now, tomorrow)) {
110
137
  setProps({
111
138
  value: tomorrow
112
139
  });
113
140
  clock.runToLast();
114
141
  }
115
- (0, _chai.expect)(_utils.screen.getByText(_pickersUtils.adapterToUse.format(tomorrow, 'dayOfMonth'))).not.to.have.attribute('disabled');
142
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
143
+ name: _pickersUtils.adapterToUse.format(tomorrow, 'dayOfMonth')
144
+ })).not.to.have.attribute('disabled');
116
145
  if (!_pickersUtils.adapterToUse.isSameMonth(yesterday, tomorrow)) {
117
146
  setProps({
118
147
  value: yesterday
119
148
  });
120
149
  clock.runToLast();
121
150
  }
122
- (0, _chai.expect)(_utils.screen.getByText(_pickersUtils.adapterToUse.format(yesterday, 'dayOfMonth'))).to.have.attribute('disabled');
151
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
152
+ name: _pickersUtils.adapterToUse.format(yesterday, 'dayOfMonth')
153
+ })).to.have.attribute('disabled');
123
154
  });
124
155
  it('should apply disableFuture', function test() {
125
156
  let now;
@@ -136,32 +167,48 @@ const testDayViewValidation = (ElementToTest, getOptions) => {
136
167
  })));
137
168
  const tomorrow = _pickersUtils.adapterToUse.addDays(now, 1);
138
169
  const yesterday = _pickersUtils.adapterToUse.addDays(now, -1);
139
- (0, _chai.expect)(_utils.screen.getByText(_pickersUtils.adapterToUse.format(now, 'dayOfMonth'))).not.to.have.attribute('disabled');
170
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
171
+ name: _pickersUtils.adapterToUse.format(now, 'dayOfMonth')
172
+ })).not.to.have.attribute('disabled');
140
173
  if (!_pickersUtils.adapterToUse.isSameMonth(now, tomorrow)) {
141
174
  setProps({
142
175
  value: tomorrow
143
176
  });
144
177
  clock.runToLast();
145
178
  }
146
- (0, _chai.expect)(_utils.screen.getByText(_pickersUtils.adapterToUse.format(tomorrow, 'dayOfMonth'))).to.have.attribute('disabled');
179
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
180
+ name: _pickersUtils.adapterToUse.format(tomorrow, 'dayOfMonth')
181
+ })).to.have.attribute('disabled');
147
182
  if (!_pickersUtils.adapterToUse.isSameMonth(yesterday, tomorrow)) {
148
183
  setProps({
149
184
  value: yesterday
150
185
  });
151
186
  clock.runToLast();
152
187
  }
153
- (0, _chai.expect)(_utils.screen.getByText(_pickersUtils.adapterToUse.format(yesterday, 'dayOfMonth'))).not.to.have.attribute('disabled');
188
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
189
+ name: _pickersUtils.adapterToUse.format(yesterday, 'dayOfMonth')
190
+ })).not.to.have.attribute('disabled');
154
191
  });
155
192
  it('should apply minDate', function test() {
156
193
  render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({}, defaultProps, {
157
194
  value: _pickersUtils.adapterToUse.date(new Date(2019, 5, 15)),
158
195
  minDate: _pickersUtils.adapterToUse.date(new Date(2019, 5, 4))
159
196
  })));
160
- (0, _chai.expect)(_utils.screen.getByText('1')).to.have.attribute('disabled');
161
- (0, _chai.expect)(_utils.screen.getByText('3')).to.have.attribute('disabled');
162
- (0, _chai.expect)(_utils.screen.getByText('4')).not.to.have.attribute('disabled');
163
- (0, _chai.expect)(_utils.screen.getByText('5')).not.to.have.attribute('disabled');
164
- (0, _chai.expect)(_utils.screen.getByText('30')).not.to.have.attribute('disabled');
197
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
198
+ name: '1'
199
+ })).to.have.attribute('disabled');
200
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
201
+ name: '3'
202
+ })).to.have.attribute('disabled');
203
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
204
+ name: '4'
205
+ })).not.to.have.attribute('disabled');
206
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
207
+ name: '5'
208
+ })).not.to.have.attribute('disabled');
209
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
210
+ name: '30'
211
+ })).not.to.have.attribute('disabled');
165
212
  (0, _chai.expect)(_utils.screen.getByLabelText('Previous month')).to.have.attribute('disabled');
166
213
  (0, _chai.expect)(_utils.screen.getByLabelText('Next month')).not.to.have.attribute('disabled');
167
214
  });
@@ -170,11 +217,21 @@ const testDayViewValidation = (ElementToTest, getOptions) => {
170
217
  value: _pickersUtils.adapterToUse.date(new Date(2019, 5, 15)),
171
218
  maxDate: _pickersUtils.adapterToUse.date(new Date(2019, 5, 4))
172
219
  })));
173
- (0, _chai.expect)(_utils.screen.getByText('1')).not.to.have.attribute('disabled');
174
- (0, _chai.expect)(_utils.screen.getByText('3')).not.to.have.attribute('disabled');
175
- (0, _chai.expect)(_utils.screen.getByText('4')).not.to.have.attribute('disabled');
176
- (0, _chai.expect)(_utils.screen.getByText('5')).to.have.attribute('disabled');
177
- (0, _chai.expect)(_utils.screen.getByText('30')).to.have.attribute('disabled');
220
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
221
+ name: '1'
222
+ })).not.to.have.attribute('disabled');
223
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
224
+ name: '3'
225
+ })).not.to.have.attribute('disabled');
226
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
227
+ name: '4'
228
+ })).not.to.have.attribute('disabled');
229
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
230
+ name: '5'
231
+ })).to.have.attribute('disabled');
232
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
233
+ name: '30'
234
+ })).to.have.attribute('disabled');
178
235
  (0, _chai.expect)(_utils.screen.getByLabelText('Previous month')).not.to.have.attribute('disabled');
179
236
  (0, _chai.expect)(_utils.screen.getByLabelText('Next month')).to.have.attribute('disabled');
180
237
  });
@@ -187,11 +244,21 @@ const testDayViewValidation = (ElementToTest, getOptions) => {
187
244
  value: _pickersUtils.adapterToUse.date(new Date(2019, 5, 15)),
188
245
  maxDateTime: _pickersUtils.adapterToUse.date(new Date(2019, 5, 4, 12, 0, 0))
189
246
  })));
190
- (0, _chai.expect)(_utils.screen.getByText('1')).not.to.have.attribute('disabled');
191
- (0, _chai.expect)(_utils.screen.getByText('3')).not.to.have.attribute('disabled');
192
- (0, _chai.expect)(_utils.screen.getByText('4')).not.to.have.attribute('disabled');
193
- (0, _chai.expect)(_utils.screen.getByText('5')).to.have.attribute('disabled');
194
- (0, _chai.expect)(_utils.screen.getByText('30')).to.have.attribute('disabled');
247
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
248
+ name: '1'
249
+ })).not.to.have.attribute('disabled');
250
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
251
+ name: '3'
252
+ })).not.to.have.attribute('disabled');
253
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
254
+ name: '4'
255
+ })).not.to.have.attribute('disabled');
256
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
257
+ name: '5'
258
+ })).to.have.attribute('disabled');
259
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
260
+ name: '30'
261
+ })).to.have.attribute('disabled');
195
262
  });
196
263
  it('should apply minDateTime', function test() {
197
264
  if (!withDate || !withTime) {
@@ -202,11 +269,21 @@ const testDayViewValidation = (ElementToTest, getOptions) => {
202
269
  value: _pickersUtils.adapterToUse.date(new Date(2019, 5, 15)),
203
270
  minDateTime: _pickersUtils.adapterToUse.date(new Date(2019, 5, 4, 12, 0, 0))
204
271
  })));
205
- (0, _chai.expect)(_utils.screen.getByText('1')).to.have.attribute('disabled');
206
- (0, _chai.expect)(_utils.screen.getByText('3')).to.have.attribute('disabled');
207
- (0, _chai.expect)(_utils.screen.getByText('4')).not.to.have.attribute('disabled');
208
- (0, _chai.expect)(_utils.screen.getByText('5')).not.to.have.attribute('disabled');
209
- (0, _chai.expect)(_utils.screen.getByText('30')).not.to.have.attribute('disabled');
272
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
273
+ name: '1'
274
+ })).to.have.attribute('disabled');
275
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
276
+ name: '3'
277
+ })).to.have.attribute('disabled');
278
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
279
+ name: '4'
280
+ })).not.to.have.attribute('disabled');
281
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
282
+ name: '5'
283
+ })).not.to.have.attribute('disabled');
284
+ (0, _chai.expect)(_utils.screen.getByRole('gridcell', {
285
+ name: '30'
286
+ })).not.to.have.attribute('disabled');
210
287
  });
211
288
  });
212
289
  };
@@ -28,25 +28,18 @@ const testMinutesViewValidation = (ElementToTest, getOption) => {
28
28
  return;
29
29
  }
30
30
  describe('minutes view:', () => {
31
- const defaultProps = (0, _extends2.default)({
31
+ const defaultProps = {
32
32
  onChange: () => {},
33
33
  open: true,
34
34
  view: 'minutes',
35
35
  openTo: 'minutes',
36
- reduceAnimations: true
37
- }, componentFamily.includes('legacy-') ? {
38
- componentsProps: {
39
- toolbar: {
40
- hidden: true
41
- }
42
- }
43
- } : {
36
+ reduceAnimations: true,
44
37
  slotProps: {
45
38
  toolbar: {
46
39
  hidden: true
47
40
  }
48
41
  }
49
- });
42
+ };
50
43
  it('should apply shouldDisableTime', function test() {
51
44
  render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({}, defaultProps, {
52
45
  value: _pickersUtils.adapterToUse.date(new Date(2018, 2, 12, 8, 15, 0)),
@@ -30,22 +30,15 @@ const testMonthViewValidation = (ElementToTest, getOptions) => {
30
30
  views: ['month'],
31
31
  view: 'month',
32
32
  openTo: 'month'
33
- }, componentFamily !== 'calendar' && (0, _extends2.default)({
33
+ }, componentFamily !== 'calendar' && {
34
34
  open: true,
35
- reduceAnimations: true
36
- }, componentFamily.includes('legacy-') ? {
37
- componentsProps: {
38
- toolbar: {
39
- hidden: true
40
- }
41
- }
42
- } : {
35
+ reduceAnimations: true,
43
36
  slotProps: {
44
37
  toolbar: {
45
38
  hidden: true
46
39
  }
47
40
  }
48
- }));
41
+ });
49
42
  it('should apply shouldDisableMonth', function test() {
50
43
  render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({}, defaultProps, {
51
44
  value: null,
@@ -29,22 +29,15 @@ const testYearViewValidation = (ElementToTest, getOptions) => {
29
29
  views: ['year'],
30
30
  view: 'year',
31
31
  openTo: 'year'
32
- }, componentFamily !== 'calendar' && (0, _extends2.default)({
32
+ }, componentFamily !== 'calendar' && {
33
33
  open: true,
34
- reduceAnimations: true
35
- }, componentFamily.includes('legacy-') ? {
36
- componentsProps: {
37
- toolbar: {
38
- hidden: true
39
- }
40
- }
41
- } : {
34
+ reduceAnimations: true,
42
35
  slotProps: {
43
36
  toolbar: {
44
37
  hidden: true
45
38
  }
46
39
  }
47
- }));
40
+ });
48
41
  it('should apply shouldDisableYear', function test() {
49
42
  render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({}, defaultProps, {
50
43
  value: null,
@@ -6,24 +6,59 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.describeValue = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
10
  var React = _interopRequireWildcard(require("react"));
10
11
  var _createDescribe = _interopRequireDefault(require("@mui/monorepo/test/utils/createDescribe"));
12
+ var _pickersUtils = require("test/utils/pickers-utils");
11
13
  var _testControlledUnControlled = require("./testControlledUnControlled");
12
14
  var _testPickerOpenCloseLifeCycle = require("./testPickerOpenCloseLifeCycle");
13
15
  var _testPickerActionBar = require("./testPickerActionBar");
14
16
  var _jsxRuntime = require("react/jsx-runtime");
17
+ const _excluded = ["hook"];
15
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); }
16
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; }
17
20
  const TEST_SUITES = [_testControlledUnControlled.testControlledUnControlled, _testPickerOpenCloseLifeCycle.testPickerOpenCloseLifeCycle, _testPickerActionBar.testPickerActionBar];
18
21
  function innerDescribeValue(ElementToTest, getOptions) {
22
+ const options = getOptions();
19
23
  const {
20
- defaultProps
21
- } = getOptions();
24
+ defaultProps,
25
+ render,
26
+ clock,
27
+ componentFamily
28
+ } = options;
22
29
  function WrappedElementToTest(props) {
23
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({}, defaultProps, props));
30
+ const {
31
+ hook
32
+ } = props,
33
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
34
+ const hookResult = hook?.(props);
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, (0, _extends2.default)({}, defaultProps, other, hookResult));
36
+ }
37
+ let renderWithProps;
38
+ if (componentFamily === 'field' || componentFamily === 'picker') {
39
+ const interactions = (0, _pickersUtils.buildFieldInteractions)({
40
+ clock,
41
+ render,
42
+ Component: ElementToTest
43
+ });
44
+ renderWithProps = (props, hook) => interactions.renderWithProps((0, _extends2.default)({}, defaultProps, props), hook, componentFamily);
45
+ } else {
46
+ renderWithProps = (props, hook) => {
47
+ const response = render( /*#__PURE__*/(0, _jsxRuntime.jsx)(WrappedElementToTest, (0, _extends2.default)({}, props, {
48
+ hook: hook
49
+ })));
50
+ return (0, _extends2.default)({}, response, {
51
+ input: null,
52
+ selectSection: () => {
53
+ throw new Error('You can only select a section on components that render a field');
54
+ }
55
+ });
56
+ };
24
57
  }
25
58
  TEST_SUITES.forEach(testSuite => {
26
- testSuite(WrappedElementToTest, getOptions);
59
+ testSuite(WrappedElementToTest, (0, _extends2.default)({}, options, {
60
+ renderWithProps
61
+ }));
27
62
  });
28
63
  }
29
64
  /**
@@ -14,21 +14,21 @@ var _utils = require("@mui/monorepo/test/utils");
14
14
  var _InputBase = require("@mui/material/InputBase");
15
15
  var _pickersUtils = require("test/utils/pickers-utils");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
- const _excluded = ["render", "values", "componentFamily", "emptyValue", "assertRenderedValue", "setNewValue", "clock"];
17
+ const _excluded = ["render", "renderWithProps", "values", "componentFamily", "emptyValue", "assertRenderedValue", "setNewValue", "clock"];
18
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
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, getOptions) => {
21
- const _getOptions = getOptions(),
22
- {
20
+ const testControlledUnControlled = (ElementToTest, options) => {
21
+ const {
23
22
  render,
23
+ renderWithProps,
24
24
  values,
25
25
  componentFamily,
26
26
  emptyValue,
27
27
  assertRenderedValue,
28
28
  setNewValue,
29
29
  clock
30
- } = _getOptions,
31
- pickerParams = (0, _objectWithoutPropertiesLoose2.default)(_getOptions, _excluded);
30
+ } = options,
31
+ pickerParams = (0, _objectWithoutPropertiesLoose2.default)(options, _excluded);
32
32
  const params = pickerParams;
33
33
  describe('Controlled / uncontrolled value', () => {
34
34
  it('should render `props.defaultValue` if no `props.value` is passed', () => {
@@ -56,14 +56,18 @@ const testControlledUnControlled = (ElementToTest, getOptions) => {
56
56
  });
57
57
  it('should call onChange when updating a value defined with `props.defaultValue` and update the rendered value', () => {
58
58
  const onChange = (0, _sinon.spy)();
59
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
59
+ const {
60
+ selectSection
61
+ } = renderWithProps({
60
62
  defaultValue: values[0],
61
- onChange: onChange
62
- }));
63
- const newValue = setNewValue(values[0]);
63
+ onChange
64
+ });
65
+ const newValue = setNewValue(values[0], {
66
+ selectSection
67
+ });
64
68
  assertRenderedValue(newValue);
65
69
  // TODO: Clean this exception or change the clock behavior
66
- (0, _chai.expect)(onChange.callCount).to.equal((0, _pickersUtils.getExpectedOnChangeCount)(componentFamily));
70
+ (0, _chai.expect)(onChange.callCount).to.equal((0, _pickersUtils.getExpectedOnChangeCount)(componentFamily, params));
67
71
  if (Array.isArray(newValue)) {
68
72
  newValue.forEach((value, index) => {
69
73
  (0, _chai.expect)(onChange.lastCall.args[0][index]).toEqualDateTime(value);
@@ -74,12 +78,27 @@ const testControlledUnControlled = (ElementToTest, getOptions) => {
74
78
  });
75
79
  it('should call onChange when updating a value defined with `props.value`', () => {
76
80
  const onChange = (0, _sinon.spy)();
77
- render( /*#__PURE__*/(0, _jsxRuntime.jsx)(ElementToTest, {
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({
78
95
  value: values[0],
79
- onChange: onChange
80
- }));
81
- const newValue = setNewValue(values[0]);
82
- (0, _chai.expect)(onChange.callCount).to.equal((0, _pickersUtils.getExpectedOnChangeCount)(componentFamily));
96
+ onChange
97
+ }, useControlledElement);
98
+ const newValue = setNewValue(values[0], {
99
+ selectSection
100
+ });
101
+ (0, _chai.expect)(onChange.callCount).to.equal((0, _pickersUtils.getExpectedOnChangeCount)(componentFamily, params));
83
102
  if (Array.isArray(newValue)) {
84
103
  newValue.forEach((value, index) => {
85
104
  (0, _chai.expect)(onChange.lastCall.args[0][index]).toEqualDateTime(value);