UNPKG

react-garden

Version:

React + TypeScript + ThreeJS app using Material UI on NextJS, Apollo Client, GraphQL + WordPress REST APIs, for ThreeD web development.. a part of the threed.ai code family.

91 lines (81 loc) 2.31 kB
// ** React Imports import { useState } from 'react' // ** MUI Imports import Button from '@mui/material/Button' import { styled } from '@mui/material/styles' import ListItemIcon from '@mui/material/ListItemIcon' import ListItemText from '@mui/material/ListItemText' import MuiMenu from '@mui/material/Menu' import MuiMenuItem from '@mui/material/MenuItem' // ** Icons Imports import Send from 'mdi-material-ui/Send' import EmailOpen from 'mdi-material-ui/EmailOpen' import InboxArrowDown from 'mdi-material-ui/InboxArrowDown' // Styled Menu component const Menu = styled(MuiMenu)(({ theme }) => ({ '& .MuiMenu-paper': { border: `1px solid ${theme.palette.divider}` } })) // Styled MenuItem component const MenuItem = styled(MuiMenuItem)(({ theme }) => ({ '&:focus': { backgroundColor: theme.palette.primary.main, '& .MuiListItemIcon-root, & .MuiListItemText-primary': { color: theme.palette.common.white } } })) const MenuCustomized = () => { // ** State const [anchorEl, setAnchorEl] = useState(null) const handleClick = event => { setAnchorEl(event.currentTarget) } const handleClose = () => { setAnchorEl(null) } return ( <div> <Button variant='outlined' aria-haspopup='true' onClick={handleClick} aria-controls='customized-menu'> Open Menu </Button> <Menu keepMounted elevation={0} anchorEl={anchorEl} id='customized-menu' onClose={handleClose} open={Boolean(anchorEl)} anchorOrigin={{ vertical: 'bottom', horizontal: 'center' }} transformOrigin={{ vertical: 'top', horizontal: 'center' }} > <MenuItem> <ListItemIcon> <Send fontSize='small' /> </ListItemIcon> <ListItemText primary='Sent mail' /> </MenuItem> <MenuItem> <ListItemIcon> <EmailOpen fontSize='small' /> </ListItemIcon> <ListItemText primary='Drafts' /> </MenuItem> <MenuItem> <ListItemIcon> <InboxArrowDown fontSize='small' /> </ListItemIcon> <ListItemText primary='Inbox' /> </MenuItem> </Menu> </div> ) } export default MenuCustomized