import ExpandLess from "@mui/icons-material/ExpandLess"; import ExpandMore from "@mui/icons-material/ExpandMore"; import { Collapse, List, ListItemButton, ListItemText } from "@mui/material"; import equal from "fast-deep-equal"; import { ComponentPropsWithoutRef, memo, MouseEventHandler, useCallback, useState } from "react"; import DrawerItem from "./DrawerItem"; import DrawerItemIcon from "./DrawerItemIcon"; type ContainerProps = { title: string; tools: ComponentPropsWithoutRef[]; } & ComponentPropsWithoutRef; type Props = { open: boolean; onClick: MouseEventHandler; } & ContainerProps; const StyledComponent = ({ icon, title, tools, open, onClick }: Props) => ( <> {open ? : } {tools.map(tool => ( ))} ); export const Component = memo(StyledComponent, equal); const Container = ({ icon, title, tools }: ContainerProps) => { const [open, setOpen] = useState(false); const onClick = useCallback(() => { setOpen(!open); }, [open]); return ; }; export default Container;