Rev 1659 | Rev 2856 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState } from 'react'import { Menu, MenuItem, IconButton } from '@mui/material'import { MoreVert } from '@mui/icons-material'const Options = ({ options = [], right = '.5rem', top = '.5rem' }) => {const [anchorEl, setAnchorEl] = useState(null)const open = Boolean(anchorEl)const handleClick = (event) => {setAnchorEl(event.currentTarget)}const handleClose = () => {setAnchorEl(null)}if (!options.length) {return null}return (<><IconButtonsx={{position: 'absolute',right,top,transform: top ? 'none' : 'translateY(-50%)'}}right={right}top={top}onClick={handleClick}aria-controls={open ? 'account-menu' : ''}aria-haspopup='true'aria-expanded={open ? 'true' : ''}><MoreVert /></IconButton><MenuanchorEl={anchorEl}id='account-menu'open={open}onClose={handleClose}onClick={handleClose}transformOrigin={{ horizontal: 'right', vertical: 'top' }}anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}>{options.map((option, index) => (<MenuItemkey={index}onClick={() => {option.action()handleClose()}}>{option.label}</MenuItem>))}</Menu></>)}export default Options