import {APIMember} from '@sanity/tsdoc'
import {SyntaxText} from '../components/ColoredCode'
import {UnformattedCode} from '../components/UnformattedCode'
/** @beta */
export function TSDocMemberTitle(props: {data: APIMember}): React.ReactNode {
const {data} = props
const isDeprecated = Boolean(data.comment?.deprecated)
if ('isReactComponentType' in data && data.isReactComponentType) {
return (
<>
{`<`}
{data.name}
{` />`}
>
)
}
if (data._type === 'api.class') {
return (
<>
{/* class */}
{data.name}
>
)
}
if (data._type === 'api.enum') {
return (
<>
{/* enum */}
{data.name}
>
)
}
if (data._type === 'api.function') {
return (
<>
{/* function */}
{data.name}
()
>
)
}
if (data._type === 'api.interface') {
return (
<>
{/* interface */}
{data.name}
>
)
}
if (data._type === 'api.namespace') {
return (
<>
{/* namespace */}
{data.name}
>
)
}
if (data._type === 'api.typeAlias') {
return (
<>
{/* type */}
{data.name}
>
)
}
if (data._type === 'api.variable') {
return {data.name}
}
return <>Uknown>
}