import {
Button,
Collapse,
Drawer,
Hidden,
IconButton,
List,
ListItemText,
ListSubheader,
Typography,
} from '@mui/material';
import { Theme } from '@mui/material/styles';
import makeStyles from '@mui/styles/makeStyles';
import { ExpandLess, ExpandMore } from '@mui/icons-material';
import { SidePanelContext } from '@rollem/ui/lib/contexts/sidepanel-context';
import { useState } from 'react';
import { DocsData, DocsDataTree } from '../../../lib/markdown/docs/get-docs-data';
import styles from './DocTree.module.scss';
import ListItemButton from "@mui/material/ListItemButton";
const useStyles = makeStyles((theme: Theme) =>
({
root: {
width: '100%',
minHeight: '100%',
maxWidth: 360,
backgroundColor: theme.palette.background.paper,
},
nested: {
paddingLeft: theme.spacing(4),
},
listHeader: {
borderBottom: '1px solid',
borderColor: theme.palette.divider,
}
}),
);
export default function DocTree({ allDocsData }: { allDocsData: DocsDataTree[] }): JSX.Element {
const classes = useStyles();
return (<>
{({ docsDrawerOpen, toggleDocsDrawer }) => (
)}
>);
}
function DocTreeListRoot({ allDocsData }: { allDocsData: DocsDataTree[]}): JSX.Element {
const classes = useStyles();
return (
);
}
function makeTree(treeNode: DocsDataTree, nested: boolean = false): JSX.Element {
const [open, setOpen] = useState(true);
const classes = useStyles();
const children = treeNode.children?.filter(child => !child.item.hide_in_sidebar);
const hasChildren = children && children.length > 0;
let childElements = <>>;
let openToggle = <>>;
let handleClick = (event: React.MouseEvent) => { };
if (hasChildren) {
childElements = (
{children.map(child => makeTree(child, true))}
);
handleClick = (event: React.MouseEvent) => {
event.nativeEvent.stopImmediatePropagation();
event.stopPropagation();
event.preventDefault();
setOpen(!open);
};
openToggle = (
{open ? : }
);
}
const path = '/docs/' + treeNode.item.route.join('/');
return (<>
{openToggle}
{childElements}
>);
}
function makeEntry(data: DocsData): JSX.Element {
// console.log(data);
if (!data) { return <>>; }
const path = '/docs/' + data.route.join('/');
return (
{data.title}
)
}