diff --git a/packages/mui-material/src/Popover/Popover.js b/packages/mui-material/src/Popover/Popover.js index f35d551f645d8b..15812e8ede33d8 100644 --- a/packages/mui-material/src/Popover/Popover.js +++ b/packages/mui-material/src/Popover/Popover.js @@ -374,6 +374,7 @@ const Popover = React.forwardRef(function Popover(inProps, ref) { {...PaperProps} ref={handlePaperRef} className={clsx(classes.paper, PaperProps.className)} + ownerState={ownerState} > {children} diff --git a/packages/mui-material/src/Popover/Popover.test.js b/packages/mui-material/src/Popover/Popover.test.js index e9e0d21116dde9..af9fc2b32f770c 100644 --- a/packages/mui-material/src/Popover/Popover.test.js +++ b/packages/mui-material/src/Popover/Popover.test.js @@ -7,6 +7,7 @@ import Grow from '@mui/material/Grow'; import Modal from '@mui/material/Modal'; import Paper from '@mui/material/Paper'; import Popover, { popoverClasses as classes } from '@mui/material/Popover'; +import { ThemeProvider, createTheme } from '@mui/material/styles'; import { getOffsetLeft, getOffsetTop } from './Popover'; import useForkRef from '../utils/useForkRef'; @@ -877,4 +878,28 @@ describe('', () => { expect(screen.getByTestId('transition')).not.to.have.attribute('data-timeout'); }); }); + + it("should not throw if ownerState is used in slot's styleOverrides", () => { + expect(() => + render( + ({ + marginTop: ownerState.transformOrigin?.vertical === 'top' ? '4px' : 0, + }), + }, + }, + }, + })} + > + +
+ + , + ), + ).not.to.throw(); + }); });