import React, { useState } from 'react'; import Menu from '@mui/material/Menu'; import { IconButton, PaperProps, styled } from '@mui/material'; import { OverflowMenuContext } from './context'; export interface Iprops { triggerButtonIcon: React.ReactNode; triggerButtonProps?: any; children?: React.ReactNode; ariaControls: string; menuPaperProps?: Partial; } export const StyledMenu = styled(Menu)` & .MuiPaper-root { margin: 16px auto; box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.16), 0px 3px 6px rgba(0, 0, 0, 0.12); } & .MuiList-root { padding: 0; border: none; } `; export default function OverflowMenu({ children, ariaControls, triggerButtonIcon, triggerButtonProps, menuPaperProps, }: Iprops) { const [sortByEl, setSortByEl] = useState(null); const handleClose = () => setSortByEl(null); return ( setSortByEl(event.currentTarget)} aria-controls={sortByEl ? ariaControls : undefined} aria-haspopup="true" aria-expanded={sortByEl ? 'true' : undefined} {...triggerButtonProps}> {triggerButtonIcon} {children} ); }