import * as React from 'react'; 
 | 
import { ReactElement, ReactNode } from 'react'; 
 | 
import { 
 | 
    Box, 
 | 
    List, 
 | 
    MenuItem, 
 | 
    ListItemIcon, 
 | 
    Typography, 
 | 
    Collapse, 
 | 
    Tooltip, 
 | 
} from '@mui/material'; 
 | 
import ExpandMore from '@mui/icons-material/ExpandMore'; 
 | 
import { useTranslate, useSidebarState } from 'react-admin'; 
 | 
import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'; 
 | 
import KeyboardArrowRightIcon from '@mui/icons-material/KeyboardArrowRight'; 
 | 
const SubMenu = (props) => { 
 | 
    const { handleToggle, isOpen, name, icon, children, dense } = props; 
 | 
    const translate = useTranslate(); 
 | 
    const [sidebarIsOpen] = useSidebarState(); 
 | 
  
 | 
    const header = ( 
 | 
       <MenuItem dense={dense} onClick={handleToggle} sx={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}> 
 | 
            <Box sx={{ display: 'flex', alignItems: 'center', flex: 1 }}> 
 | 
                <ListItemIcon sx={{ minWidth: 40, color: 'text.secondary', display: 'flex', alignItems: 'center' }}> 
 | 
                    {icon} 
 | 
                </ListItemIcon> 
 | 
                <Typography variant="inherit" color="textSecondary" sx={{ ml: 1, display: 'flex', alignItems: 'center' }}> 
 | 
                    {translate(name)} 
 | 
                </Typography> 
 | 
            </Box> 
 | 
            <Box sx={{ display: 'flex', alignItems: 'center', minWidth: 24 }}> 
 | 
                {isOpen ? <KeyboardArrowDownIcon fontSize="small" sx={{color: 'text.secondary'}} /> : <KeyboardArrowRightIcon fontSize="small" sx={{color: 'text.secondary'}} />} 
 | 
            </Box> 
 | 
        </MenuItem> 
 | 
    ); 
 | 
  
 | 
    return ( 
 | 
        <div> 
 | 
            {sidebarIsOpen || isOpen ? ( 
 | 
                header 
 | 
            ) : ( 
 | 
                <Tooltip title={translate(name)} placement="right"> 
 | 
                    {header} 
 | 
                </Tooltip> 
 | 
            )} 
 | 
            <Collapse in={isOpen} timeout="auto" unmountOnExit> 
 | 
                <List 
 | 
                    dense={dense} 
 | 
                    component="div" 
 | 
                    disablePadding 
 | 
                    // sx={{ 
 | 
                    //     '& .MuiMenuItem-root': { 
 | 
                    //         transition: 
 | 
                    //             'padding-left 195ms cubic-bezier(0.4, 0, 0.6, 1) 0ms', 
 | 
                    //         paddingLeft: theme => 
 | 
                    //             sidebarIsOpen 
 | 
                    //                 ? theme.spacing(4) 
 | 
                    //                 : theme.spacing(2), 
 | 
                    //     }, 
 | 
                    //     // 显示二级菜单的icon 
 | 
                    //     '& .RaMenuItemLink-icon': { 
 | 
                    //         visibility: 'visible !important', 
 | 
                    //         minWidth: '24px' 
 | 
                    //     } 
 | 
                    // }} 
 | 
                > 
 | 
                    {children} 
 | 
                </List> 
 | 
            </Collapse> 
 | 
        </div> 
 | 
    ); 
 | 
}; 
 | 
  
 | 
export default SubMenu; 
 |