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(