react-garden
Version:
React + TypeScript + ThreeJS app using Material UI on NextJS, Apollo Client, GraphQL + WordPress REST APIs, for ThreeD web development.. a part of the threed.ai code family.
51 lines (46 loc) • 1.62 kB
JavaScript
// ** MUI Imports
import TreeItem from '@mui/lab/TreeItem'
import { alpha, styled } from '@mui/material/styles'
import MuiTreeView from '@mui/lab/TreeView'
// ** Icons Imports
import PlusBoxOutline from 'mdi-material-ui/PlusBoxOutline'
import CloseBoxOutline from 'mdi-material-ui/CloseBoxOutline'
import MinusBoxOutline from 'mdi-material-ui/MinusBoxOutline'
// Styled TreeView component
const TreeView = styled(MuiTreeView)(({ theme }) => ({
minHeight: 264,
'& .MuiTreeItem-iconContainer .close': {
opacity: 0.3
},
'& .MuiTreeItem-group': {
marginLeft: 7,
paddingLeft: 18,
borderLeft: `1px dashed ${alpha(theme.palette.text.primary, 0.4)}`
}
}))
const TreeViewCustomized = () => {
return (
<TreeView
defaultExpanded={['1']}
defaultExpandIcon={<PlusBoxOutline />}
defaultCollapseIcon={<MinusBoxOutline />}
defaultEndIcon={<CloseBoxOutline className='close' />}
>
<TreeItem nodeId='1' label='Main'>
<TreeItem nodeId='2' label='Hello' />
<TreeItem nodeId='3' label='Subtree with children'>
<TreeItem nodeId='6' label='Hello' />
<TreeItem nodeId='7' label='Sub-subtree with children'>
<TreeItem nodeId='9' label='Child 1' />
<TreeItem nodeId='10' label='Child 2' />
<TreeItem nodeId='11' label='Child 3' />
</TreeItem>
<TreeItem nodeId='8' label='Hello' />
</TreeItem>
<TreeItem nodeId='4' label='World' />
<TreeItem nodeId='5' label='Something something' />
</TreeItem>
</TreeView>
)
}
export default TreeViewCustomized