import {APIFunction} from '@sanity/tsdoc' import {Box, Code} from '@sanity/ui' import {useMemo} from 'react' import {useMemberLink} from '../../app' import {_compileFunctionDefinition} from '../../app/lib/_compile' import {Members} from '../../article/members' import {_getMembers} from '../../article/members/helpers' import {CommentBox, CommentSummary} from '../../comment' import {H, P, useTextSize} from '../../lib/ui' export function FunctionTooltipContent(props: {data: APIFunction}): React.ReactNode { const {data} = props const {propsType} = data const propsTypeMembers = useMemo(() => propsType && _getMembers(propsType), [propsType]) const propsTypeLinkParams = useMemo( () => propsType && { exportPath: propsType.export?.path, packageName: propsType.package?.name, packageScope: propsType.package?.scope || null, memberName: propsType.name, releaseVersion: propsType.release?.version, memberSlug: propsType.slug.current, }, [propsType], ) const propsTypeLink = useMemberLink({ params: propsTypeLinkParams || null, }) return ( <> {`import {${data.name}} from '${data.export.name}'`} {_compileFunctionDefinition(data)} {propsType && propsTypeMembers && propsTypeMembers.length > 0 && ( Props

Defined by the{' '} {propsType.name} {' '} interface.

{propsTypeMembers.length > 0 && }
)} {data.comment?.summary && ( )} ) }