Rev 4780 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* eslint-disable react/prop-types */import * as React from 'react';import Box from '@mui/material/Box';import Drawer from '@mui/material/Drawer';import List from '@mui/material/List';import ListItem from '@mui/material/ListItem';import ListItemIcon from '@mui/material/ListItemIcon';import ListItemText from '@mui/material/ListItemText';import Accordion from '@mui/material/Accordion';import AccordionSummary from '@mui/material/AccordionSummary';import AccordionDetails from '@mui/material/AccordionDetails';import Link from '@mui/material/Link';import Typography from '@mui/material/Typography';import ExpandMoreIcon from '@mui/icons-material/ExpandMore';function MenuDrawer({ isOpen = false, items = [], icons=[], closeDrawer = () => { } }) {return (<Draweranchor='right'open={isOpen}onClose={closeDrawer}><Boxsx={{ width: 250 }}role="presentation"><List>{items.map((navItem, index) => {return (<MenuDrawer.Itemkey={index}Icon={icons[index]}title={navItem.label}url={navItem.href}childs={navItem.childs}/>)})}</List></Box></Drawer>)}const Item = ({ Icon, title, url, childs = [] }) => {return (<ListItem disablePadding>{!childs.length?<Link href={url}><ListItemIcon>{Icon && <Icon />}</ListItemIcon><ListItemText primary={title} /></Link>:<Accordion><AccordionSummaryexpandIcon={<ExpandMoreIcon />}aria-controls="panel1a-content"id="panel1a-header"><Typography>Accordion 1</Typography></AccordionSummary><AccordionDetails>{childs.map((child, index) => {return (<Link key={index} href={child.href}><ListItemText primary={child.label} /></Link>)})}</AccordionDetails></Accordion>}</ListItem>)}MenuDrawer.Item = Itemexport default MenuDrawer