Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
Scorecards supply-chain security / Scorecards analysis (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
35 lines
1016 B
JavaScript
35 lines
1016 B
JavaScript
import * as React from 'react';
|
|
import Box from '@mui/material/Box';
|
|
import Popper from '@mui/material/Popper';
|
|
import Fade from '@mui/material/Fade';
|
|
|
|
export default function TransitionsPopper() {
|
|
const [open, setOpen] = React.useState(false);
|
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
|
|
const handleClick = (event) => {
|
|
setAnchorEl(event.currentTarget);
|
|
setOpen((previousOpen) => !previousOpen);
|
|
};
|
|
|
|
const canBeOpen = open && Boolean(anchorEl);
|
|
const id = canBeOpen ? 'transition-popper' : undefined;
|
|
|
|
return (
|
|
<div>
|
|
<button aria-describedby={id} type="button" onClick={handleClick}>
|
|
Toggle Popper
|
|
</button>
|
|
<Popper id={id} open={open} anchorEl={anchorEl} transition>
|
|
{({ TransitionProps }) => (
|
|
<Fade {...TransitionProps} timeout={350}>
|
|
<Box sx={{ border: 1, p: 1, bgcolor: 'background.paper' }}>
|
|
The content of the Popper.
|
|
</Box>
|
|
</Fade>
|
|
)}
|
|
</Popper>
|
|
</div>
|
|
);
|
|
}
|