import {useSize} from '../../lib/ui'
import {useTSDoc} from '../useTSDoc'
import {MemberLink} from './MemberLink'
import {TreeItemFocus} from './TreeItemFocus'
import {TSDocNavExportData} from './TSDocNav'
export function GroupedMembersTree(props: {
exp: TSDocNavExportData
expandSubPackages?: boolean
}): React.ReactNode {
const {exp, expandSubPackages} = props
const {params} = useTSDoc()
const fontSize = useSize()
return (
<>
{exp.reactComponents.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Components"
weight="semibold"
>
{exp.reactComponents.map((member) => (
))}
)}
{exp.reactHooks.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Hooks"
weight="semibold"
>
{exp.reactHooks.map((member) => (
))}
)}
{exp.classes.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Classes"
weight="semibold"
>
{exp.classes.map((member) => (
))}
)}
{exp.functions.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Functions"
weight="semibold"
>
{exp.functions.map((member) => (
))}
)}
{exp.variables.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Variables"
weight="semibold"
>
{exp.variables.map((member) => (
))}
)}
{exp.enums.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Enumerations"
weight="semibold"
>
{exp.enums.map((member) => (
))}
)}
{exp.interfaces.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Interfaces"
weight="semibold"
>
{exp.interfaces.map((member) => (
))}
)}
{exp.namespaces.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Namespaces"
weight="semibold"
>
{exp.namespaces.map((member) => (
))}
)}
{exp.typeAliases.length > 0 && (
m.name === params.memberName)
}
fontSize={fontSize}
padding={2}
text="Type aliases"
weight="semibold"
>
{exp.typeAliases.map((member) => (
))}
)}
>
)
}