Skip to content

Commit

Permalink
[Popover] Add ownerState on the paper slot (mui#34445)
Browse files Browse the repository at this point in the history
  • Loading branch information
kabernardes authored and felipe.richter committed Dec 6, 2022
1 parent c39b1d3 commit 728429f
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
1 change: 1 addition & 0 deletions packages/mui-material/src/Popover/Popover.js
Expand Up @@ -374,6 +374,7 @@ const Popover = React.forwardRef(function Popover(inProps, ref) {
{...PaperProps}
ref={handlePaperRef}
className={clsx(classes.paper, PaperProps.className)}
ownerState={ownerState}
>
{children}
</PopoverPaper>
Expand Down
25 changes: 25 additions & 0 deletions packages/mui-material/src/Popover/Popover.test.js
Expand Up @@ -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';

Expand Down Expand Up @@ -877,4 +878,28 @@ describe('<Popover />', () => {
expect(screen.getByTestId('transition')).not.to.have.attribute('data-timeout');
});
});

it("should not throw if ownerState is used in slot's styleOverrides", () => {
expect(() =>
render(
<ThemeProvider
theme={createTheme({
components: {
MuiPopover: {
styleOverrides: {
paper: ({ ownerState }) => ({
marginTop: ownerState.transformOrigin?.vertical === 'top' ? '4px' : 0,
}),
},
},
},
})}
>
<Popover anchorEl={document.createElement('div')} open>
<div />
</Popover>
</ThemeProvider>,
),
).not.to.throw();
});
});

0 comments on commit 728429f

Please sign in to comment.