import {APIMember, APIMethodSignature} from '@sanity/tsdoc' import {Box, Card, Code, Flex, Label, Stack} from '@sanity/ui' import {useMemo} from 'react' import {CommentBox, CommentSummary} from '../../comment' import {TSDocCode} from '../TSDocCode' import {APIMemberWithInheritance} from './_types' import {MemberInheritedFrom} from './MemberInheritedFrom' import {TSMemberReleaseTag} from './TSMemberReleaseTag' export function TSMethodSignatureMember(props: { data: APIMemberWithInheritance member: APIMember }): React.ReactNode { const {data, member} = props const {comment, releaseTag} = data const title = useMemo(() => { let t = member.name as string t += `${data.name}(` t += data.parameters?.map((p) => p.name).join(', ') || '' t += `)` return t }, [data, member]) return ( {title} {comment?.summary && ( )} {data.inheritedFrom && ( )} {/* Parameters */} {data.parameters && data.parameters.length > 0 && ( {data.parameters.map((param) => ( ))} )} ) }