diff --git a/packages/material-ui-lab/src/CalendarPicker/CalendarPicker.test.tsx b/packages/material-ui-lab/src/CalendarPicker/CalendarPicker.test.tsx index 82a5915320319a..3be38fbd38785f 100644 --- a/packages/material-ui-lab/src/CalendarPicker/CalendarPicker.test.tsx +++ b/packages/material-ui-lab/src/CalendarPicker/CalendarPicker.test.tsx @@ -19,8 +19,7 @@ describe('', () => { clock.restore(); }); - // StrictModeViolation: Uses StrictMode incompatible API of `react-transition-group` - const render = createPickerRender({ strict: false }); + const render = createPickerRender(); describeConformanceV5( {}} />, () => ({ classes, diff --git a/packages/material-ui-lab/src/CalendarPicker/PickersCalendar.tsx b/packages/material-ui-lab/src/CalendarPicker/PickersCalendar.tsx index ca4cd0beb0765b..dff44f5de8c018 100644 --- a/packages/material-ui-lab/src/CalendarPicker/PickersCalendar.tsx +++ b/packages/material-ui-lab/src/CalendarPicker/PickersCalendar.tsx @@ -135,6 +135,8 @@ function PickersCalendar(props: PickersCalendarProps) { .filter(Boolean) .map((selectedDateItem) => selectedDateItem && utils.startOfDay(selectedDateItem)); + const slideNodeRef = React.useRef(null); + return ( @@ -155,8 +157,13 @@ function PickersCalendar(props: PickersCalendarProps) { slideDirection={slideDirection} className={className} {...TransitionProps} + nodeRef={slideNodeRef} > - + {utils.getWeekArray(currentMonth).map((week) => ( {week.map((day) => { diff --git a/packages/material-ui-lab/src/CalendarPicker/PickersFadeTransitionGroup.tsx b/packages/material-ui-lab/src/CalendarPicker/PickersFadeTransitionGroup.tsx index f77cd469878f58..d466a71b365677 100644 --- a/packages/material-ui-lab/src/CalendarPicker/PickersFadeTransitionGroup.tsx +++ b/packages/material-ui-lab/src/CalendarPicker/PickersFadeTransitionGroup.tsx @@ -1,9 +1,9 @@ import * as React from 'react'; import clsx from 'clsx'; +import Fade from '@material-ui/core/Fade'; import { styled } from '@material-ui/core/styles'; import { generateUtilityClasses } from '@material-ui/unstyled'; -import { CSSTransition, TransitionGroup } from 'react-transition-group'; -import { TransitionGroupProps } from 'react-transition-group/TransitionGroup'; +import { TransitionGroup } from 'react-transition-group'; interface FadeTransitionProps { children: React.ReactElement; @@ -12,40 +12,15 @@ interface FadeTransitionProps { transKey: React.Key; } -const classes = generateUtilityClasses('PrivatePickersFadeTransitionGroup', [ - 'root', - 'fadeEnter', - 'fadeEnterActive', - 'fadeExit', - 'fadeExitActive', -]); +const classes = generateUtilityClasses('PrivatePickersFadeTransitionGroup', ['root']); const animationDuration = 500; const PickersFadeTransitionGroupRoot = styled(TransitionGroup, { skipSx: true, -})(({ theme }) => ({ +})(() => ({ display: 'block', position: 'relative', - [`& .${classes.fadeEnter}`]: { - willChange: 'transform', - opacity: 0, - }, - [`& .${classes.fadeEnterActive}`]: { - opacity: 1, - transition: theme.transitions.create('opacity', { - duration: animationDuration, - }), - }, - [`& .${classes.fadeExit}`]: { - opacity: 1, - }, - [`& .${classes.fadeExitActive}`]: { - opacity: 0, - transition: theme.transitions.create('opacity', { - duration: animationDuration / 2, - }), - }, })); /** @@ -61,31 +36,16 @@ const PickersFadeTransitionGroup = ({ return children; } - const transitionClasses = { - exit: classes.fadeExit, - enterActive: classes.fadeEnterActive, - enter: classes.fadeEnter, - exitActive: classes.fadeExitActive, - }; - return ( - - React.cloneElement(element, { - classNames: transitionClasses, - }) - } - > - + {children} - + ); }; diff --git a/packages/material-ui-lab/src/DesktopDatePicker/DesktopDatePicker.test.tsx b/packages/material-ui-lab/src/DesktopDatePicker/DesktopDatePicker.test.tsx index 2ba8929dc61b52..f1b67b3d4ba213 100644 --- a/packages/material-ui-lab/src/DesktopDatePicker/DesktopDatePicker.test.tsx +++ b/packages/material-ui-lab/src/DesktopDatePicker/DesktopDatePicker.test.tsx @@ -49,8 +49,7 @@ describe('', () => { afterEach(() => { clock.restore(); }); - // StrictModeViolation: Uses CalendarPicker - const render = createPickerRender({ strict: false }); + const render = createPickerRender(); it('prop: components.OpenPickerIcon', () => { function HomeIcon(props: SvgIconProps) { diff --git a/packages/material-ui-lab/src/DesktopDateRangePicker/DesktopDateRangePicker.test.tsx b/packages/material-ui-lab/src/DesktopDateRangePicker/DesktopDateRangePicker.test.tsx index 0e7e7de05b2720..8633e96b50fc8c 100644 --- a/packages/material-ui-lab/src/DesktopDateRangePicker/DesktopDateRangePicker.test.tsx +++ b/packages/material-ui-lab/src/DesktopDateRangePicker/DesktopDateRangePicker.test.tsx @@ -30,8 +30,7 @@ describe('', () => { afterEach(() => { clock.restore(); }); - // StrictModeViolation: Uses CalendarPicker - const render = createPickerRender({ strict: false }); + const render = createPickerRender(); describeConformance( ', () => { afterEach(() => { clock.restore(); }); - // StrictModeViolation: Uses CalendarPicker - const render = createPickerRender({ strict: false }); + const render = createPickerRender(); it('Accepts date on `OK` button click', () => { const onChangeMock = spy(); diff --git a/packages/material-ui-lab/src/MobileDateTimePicker/MobileDateTimePicker.test.tsx b/packages/material-ui-lab/src/MobileDateTimePicker/MobileDateTimePicker.test.tsx index 6809495fbca5f0..a39622e93f65db 100644 --- a/packages/material-ui-lab/src/MobileDateTimePicker/MobileDateTimePicker.test.tsx +++ b/packages/material-ui-lab/src/MobileDateTimePicker/MobileDateTimePicker.test.tsx @@ -17,8 +17,7 @@ describe('', () => { clock.restore(); }); - // StrictModeViolation: Uses CalendarPicker - const render = createPickerRender({ strict: false }); + const render = createPickerRender(); it('opens dialog on textField click for Mobile mode', () => { render( diff --git a/packages/material-ui-lab/src/StaticDatePicker/StaticDatePicker.test.tsx b/packages/material-ui-lab/src/StaticDatePicker/StaticDatePicker.test.tsx index d3139115dbaf9d..deca9764973f60 100644 --- a/packages/material-ui-lab/src/StaticDatePicker/StaticDatePicker.test.tsx +++ b/packages/material-ui-lab/src/StaticDatePicker/StaticDatePicker.test.tsx @@ -19,8 +19,7 @@ describe('', () => { afterEach(() => { clock.restore(); }); - // StrictModeViolation: Uses CalendarPicker - const render = createPickerRender({ strict: false }); + const render = createPickerRender(); it('render proper month', () => { render(