import {APIMember} from '@sanity/tsdoc'
import {Card, Stack, Text} from '@sanity/ui'
import {useSpace, useTextSize} from '../../lib/ui'
import {APIMemberWithInheritance} from './_types'
import {TSCallSignatureMember} from './TSCallSignatureMember'
import {TSContructorMember} from './TSConstructorMember'
import {TSConstructSignatureMember} from './TSConstructSignatureMember'
import {TSEnumMember} from './TSEnumMember'
import {TSIndexSignatureMember} from './TSIndexSignatureMember'
import {TSMethodMember} from './TSMethodMember'
import {TSMethodSignatureMember} from './TSMethodSignatureMember'
import {TSPropertyMember} from './TSPropertyMember'
import {TSPropertySignatureMember} from './TSPropertySignatureMember'
export function Members(props: {
data: APIMemberWithInheritance[]
member: APIMember
}): React.ReactNode {
const {data, member} = props
return (
{data.map((m) => (
))}
)
}
function Member(props: {data: APIMemberWithInheritance; member: APIMember}) {
const {data, member} = props
const textSize = useTextSize([-1, 0, 1])
if (data._type === 'api.callSignature') {
return
}
if (data._type === 'api.constructor') {
return
}
if (data._type === 'api.method') {
return
}
if (data._type === 'api.property') {
return
}
if (data._type === 'api.propertySignature') {
return
}
if (data._type === 'api.methodSignature') {
return
}
if (data._type === 'api.constructSignature') {
return
}
if (data._type === 'api.indexSignature') {
return
}
if (data._type === 'api.enumMember') {
return
}
return (
Unexpected member type: {data._type}
)
}