{"version":3,"file":"react.mjs","sources":["../../src/react/app/helpers.ts","../../src/react/components/ColoredCode.tsx","../../src/react/lib/isArray.ts","../../src/react/lib/ui/LevelContext.ts","../../src/react/lib/ui/useLevel.ts","../../src/react/lib/ui/addResponsiveProp.ts","../../src/react/lib/ui/SizeContext.ts","../../src/react/lib/ui/useSize.ts","../../src/react/lib/ui/useHeadingSize.ts","../../src/react/lib/ui/useSpace.ts","../../src/react/lib/ui/H.tsx","../../src/react/lib/ui/Level.tsx","../../src/react/lib/ui/useTextSize.ts","../../src/react/lib/ui/P.tsx","../../src/react/lib/ui/Size.tsx","../../src/react/app/TSDocContext.ts","../../src/react/app/useTSDoc.ts","../../src/react/app/useExports.ts","../../src/react/app/usePackages.ts","../../src/react/app/nav/FlexSticky.ts","../../src/react/app/nav/getGroupedMembers.ts","../../src/react/components/UnformattedCode.tsx","../../src/react/app/TSDocMemberTitle.tsx","../../src/react/app/lib/compilePath.ts","../../src/react/app/useMemberLink.ts","../../src/react/app/nav/SyntaxTreeItem.ts","../../src/react/app/nav/MemberLink.tsx","../../src/react/app/nav/TreeItemFocus.ts","../../src/react/app/nav/GroupedMembersTree.tsx","../../src/react/app/nav/SyntaxMenuItem.tsx","../../src/react/app/nav/PackageMenuButton.tsx","../../src/react/app/nav/PackageTreeItem.tsx","../../src/react/app/nav/ReleaseMenuButton.tsx","../../src/react/app/nav/SearchWrapper.ts","../../src/react/app/nav/TreeNav.ts","../../src/react/app/useSymbolSearch.ts","../../src/react/app/nav/TSDocSearch.tsx","../../src/react/app/nav/TSDocNav.tsx","../../src/react/comment/CommentBox.tsx","../../src/react/comment/PortableText.tsx","../../src/react/comment/CommentDeprecatedCallout.tsx","../../src/react/comment/CommentExampleBlocks.tsx","../../src/react/comment/CommentRemarks.tsx","../../src/react/comment/CommentReturnType.tsx","../../src/react/comment/CommentSummary.tsx","../../src/react/app/lib/_compile.ts","../../src/react/tooltip/content/ClassTooltipContent.tsx","../../src/react/tooltip/content/EnumTooltipContent.tsx","../../src/react/article/members/helpers.ts","../../src/react/tooltip/content/FunctionTooltipContent.tsx","../../src/react/tooltip/content/InterfaceTooltipContent.tsx","../../src/react/tooltip/content/TypeAliasTooltipContent.tsx","../../src/react/tooltip/content/VariableTooltipContent.tsx","../../src/react/tooltip/ReferenceTooltip.tsx","../../src/react/article/ApiToken.tsx","../../src/react/article/CodeSnippet.tsx","../../src/react/article/TSDocCode.tsx","../../src/react/helpers.ts","../../src/react/article/members/MemberInheritedFrom.tsx","../../src/react/components/ReleaseBadgeTextWrapper.tsx","../../src/react/components/ReleaseBadge.tsx","../../src/react/article/members/TSMemberReleaseTag.tsx","../../src/react/article/members/TSCallSignatureMember.tsx","../../src/react/article/members/TSConstructorMember.tsx","../../src/react/article/members/TSConstructSignatureMember.tsx","../../src/react/article/members/TSEnumMember.tsx","../../src/react/article/members/TSIndexSignatureMember.tsx","../../src/react/article/members/TSMethodMember.tsx","../../src/react/article/members/TSMethodSignatureMember.tsx","../../src/react/article/members/TSPropertyMember.tsx","../../src/react/article/members/TSPropertySignatureMember.tsx","../../src/react/article/members/Members.tsx","../../src/react/article/content/ClassContent.tsx","../../src/react/article/content/FunctionContent.tsx","../../src/react/article/content/InterfaceContent.tsx","../../src/react/article/content/NamespaceContent.tsx","../../src/react/article/content/TypeAliasContent.tsx","../../src/react/article/members/TSVariableParamMember.tsx","../../src/react/article/content/VariableContent.tsx","../../src/react/article/content/ReferenceContent.tsx","../../src/react/article/TSDocArticle.tsx","../../src/react/app/useMember.ts","../../src/react/app/usePackage.ts","../../src/react/app/TSDocDetail.tsx","../../src/react/app/TSDocProvider.tsx","../../src/react/app/TSDocApp.tsx","../../src/react/app/useSymbol.ts","../../src/react/app/TSDocSymbol.tsx","../../src/react/app/TSDocSymbolPreview.tsx","../../src/react/mount.tsx"],"sourcesContent":["import {TSDocAppParams} from '@sanity/tsdoc/store'\n\n/** @beta */\nexport function parsePath(\n  path: string,\n  options: {basePath?: string; version?: string} = {},\n): TSDocAppParams {\n  const {basePath = '', version = '0.0.0'} = options\n  const baseSegments = basePath.split('/').filter(Boolean)\n  const segments = path.split('/').filter(Boolean).slice(baseSegments.length)\n\n  let packageScope: string | null = null\n  let packageName: string | null = null\n  let releaseVersion: string | null = null\n  let exportPath: string | null = null\n  let memberSlug: string | null = null\n\n  packageName = segments.shift() || null\n\n  if (packageName?.startsWith('@')) {\n    packageScope = packageName\n    packageName = segments.shift() || null\n  }\n\n  if (packageName) {\n    releaseVersion = version\n  }\n\n  if (releaseVersion) {\n    if (segments.length > 1) {\n      memberSlug = segments.pop() || null\n      exportPath = `./${segments.join('/')}`\n    } else if (segments.length === 1) {\n      // needs to be this since if the last element is popped then the export path needs to be \"empty\"\n      memberSlug = segments.pop() || null\n      exportPath = `.`\n    }\n  }\n\n  const params: TSDocAppParams = {\n    exportPath,\n    packageName,\n    packageScope,\n    releaseVersion,\n    memberSlug,\n  }\n\n  return params\n}\n","import {cyan, green, yellow} from '@sanity/color'\nimport {ThemeColor, ThemeColorSyntax} from '@sanity/ui'\nimport {css, styled} from 'styled-components'\n\nexport const SyntaxText = styled.code<{$deprecated?: boolean; $syntax?: keyof ThemeColorSyntax}>(\n  ({$deprecated, $syntax, theme}) => {\n    const {color} = theme.sanity\n\n    return css`\n      && {\n        background-color: transparent;\n        color: ${$syntax ? overrideSyntaxColors(color, $syntax) : undefined};\n        text-decoration: ${$deprecated ? 'line-through' : undefined};\n      }\n    `\n  },\n)\n\nconst overrideSyntaxColors = (color: ThemeColor, $syntax: keyof ThemeColorSyntax) => {\n  const isDarkMode = color.dark\n\n  // adds support for issues with light theme\n  switch ($syntax) {\n    case 'function':\n      return !isDarkMode ? green[700].hex : color.syntax[$syntax]\n    case 'string':\n      return !isDarkMode ? yellow[700].hex : color.syntax[$syntax]\n    case 'className':\n      return !isDarkMode ? cyan[700].hex : color.syntax[$syntax]\n    default:\n      return color.syntax[$syntax]\n  }\n}\n","export function isArray<T = unknown>(val: unknown): val is Array<T> {\n  return Array.isArray(val)\n}\n","import {createContext} from 'react'\n\nexport const LevelContext = createContext<number | null>(null)\n","import {useContext} from 'react'\n\nimport {LevelContext} from './LevelContext'\n\nexport function useLevel(): number {\n  const levelContext = useContext(LevelContext) || 1\n\n  return levelContext\n}\n","import {isArray} from '../isArray'\n\nexport function addResponsiveProp(a: number | number[], b: number | number[]): number[] {\n  const _a = isArray(a) ? a : [a]\n  const _b = isArray(b) ? b : [b]\n\n  const len = Math.max(_a.length, _b.length)\n  const ret: number[] = []\n\n  for (let i = 0; i < len; i += 1) {\n    const aSize = _a[i] ?? _a[_a.length - 1] ?? 0\n    const bSize = _b[i] ?? _b[_b.length - 1] ?? 0\n\n    ret.push(aSize + bSize)\n  }\n\n  return ret\n}\n","import {createContext} from 'react'\n\nexport const SizeContext = createContext<number>(2)\n","import {useContext, useMemo} from 'react'\n\nimport {addResponsiveProp} from './addResponsiveProp'\nimport {SizeContext} from './SizeContext'\n\nexport function useSize(props?: {size?: number | number[]; min?: number; max?: number}): number[] {\n  const {min = 0, max = Infinity, size = 0} = props || {}\n  const delta = useContext(SizeContext) ?? 0\n\n  const __cache_key__ = JSON.stringify([size, delta])\n\n  return useMemo(\n    () => addResponsiveProp(size, delta).map((s) => Math.min(Math.max(s, min), max)),\n\n    // Improve performance: Keep object identify for a given hash of the value\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [__cache_key__],\n  )\n}\n","import {useTheme} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {isArray} from '../isArray'\nimport {useLevel} from './useLevel'\nimport {useSize} from './useSize'\n\nexport function useHeadingSize(size: number | number[]): number[] {\n  const {fonts} = useTheme().sanity\n  const level = useLevel()\n\n  const levelSize = useMemo(() => {\n    const s = isArray(size) ? size : [size]\n\n    return s.map((v) => v - level + 2)\n  }, [level, size])\n\n  return useSize({size: levelSize, min: 0, max: fonts.heading.sizes.length - 1})\n}\n","import {useTheme} from '@sanity/ui'\n\nimport {useSize} from './useSize'\n\nexport function useSpace(size: number | number[]): number[] {\n  const {space} = useTheme().sanity\n\n  return useSize({size, min: 0, max: space.length - 1})\n}\n","import {Box, Heading, HeadingProps} from '@sanity/ui'\nimport {HTMLProps} from 'react'\n\nimport {useHeadingSize} from './useHeadingSize'\nimport {useLevel} from './useLevel'\nimport {useSpace} from './useSpace'\n\nexport function H(\n  props: Omit<HeadingProps, 'as'> & Omit<HTMLProps<HTMLDivElement>, 'as' | 'ref' | 'size'>,\n): React.ReactNode {\n  const {size: sizeProp = 0, ...restProps} = props\n  const level = useLevel()\n\n  return (\n    <Box\n      marginTop={useSpace(level === 1 ? [1, 1, 2, 3] : [2, 2, 3, 4])}\n      marginBottom={useSpace([2, 2, 2, 3])}\n    >\n      <Heading as={`h${level}` as 'h1'} {...restProps} size={useHeadingSize(sizeProp)} />\n    </Box>\n  )\n}\n","import {LevelContext} from './LevelContext'\nimport {useLevel} from './useLevel'\n\nexport function Level(props: {children?: React.ReactNode}): React.ReactNode {\n  const {children} = props\n  const level = useLevel()\n\n  return <LevelContext.Provider value={level + 1}>{children}</LevelContext.Provider>\n}\n","import {useTheme} from '@sanity/ui'\n\nimport {useSize} from './useSize'\n\nexport function useTextSize(size: number | number[]): number[] {\n  const {fonts} = useTheme().sanity\n\n  return useSize({size, min: 0, max: fonts.text.sizes.length - 1})\n}\n","import {Box, Text, TextProps} from '@sanity/ui'\nimport {HTMLProps} from 'react'\n\nimport {useSpace} from './useSpace'\nimport {useTextSize} from './useTextSize'\n\nexport function P(\n  props: Omit<TextProps, 'as'> & Omit<HTMLProps<HTMLDivElement>, 'as' | 'ref' | 'size'>,\n): React.ReactNode {\n  const {size: sizeProp = 0, ...restProps} = props\n\n  return (\n    <Box data-ui=\"P\" marginTop={useSpace([-1, -1, -1])}>\n      <Text as=\"p\" {...restProps} size={useTextSize(sizeProp)} />\n    </Box>\n  )\n}\n","import {useContext} from 'react'\n\nimport {SizeContext} from './SizeContext'\n\nexport function Size(props: {delta: number; children?: React.ReactNode}): React.ReactNode {\n  const {delta, children} = props\n  const parentSize = useContext(SizeContext)\n  const size = parentSize + delta\n\n  return <SizeContext.Provider value={size}>{children}</SizeContext.Provider>\n}\n","import {TSDocStore} from '@sanity/tsdoc/store'\nimport {TSDocAppParams} from '@sanity/tsdoc/store'\nimport {createContext} from 'react'\n\n/** @beta */\nexport interface TSDocContextValue {\n  basePath: string\n  path: string\n  params: TSDocAppParams\n  updateParams: (fn: (params: TSDocAppParams) => TSDocAppParams) => void\n  onPathChange: (nextPath: string, replace?: boolean) => void\n  store: TSDocStore\n}\n\nexport const TSDocContext = createContext<TSDocContextValue | null>(null)\n","import {useContext} from 'react'\n\nimport {TSDocContext, TSDocContextValue} from './TSDocContext'\n\n/** @beta */\nexport function useTSDoc(): TSDocContextValue {\n  const tsdoc = useContext(TSDocContext)\n\n  if (!tsdoc) throw new Error('TSDoc: missing context value')\n\n  return tsdoc\n}\n","import {TSDocExportData} from '@sanity/tsdoc/store'\nimport {useEffect, useState} from 'react'\n\nimport {useTSDoc} from './useTSDoc'\n\n/** @beta */\nexport function useExports(): {\n  data: TSDocExportData[] | null\n  error: Error | null\n  loading: boolean\n} {\n  const {params, store} = useTSDoc()\n\n  const [data, setData] = useState<TSDocExportData[] | undefined | null>(null)\n  const [error, setError] = useState<Error | null>(null)\n  const [loading, setLoading] = useState(false)\n\n  useEffect(() => {\n    if (!params.packageName || !params.releaseVersion) {\n      setData(null)\n\n      return\n    }\n\n    const queryParams = {\n      packageScope: params.packageScope,\n      packageName: params.packageName,\n      releaseVersion: params.releaseVersion,\n    }\n    let cancelled = false\n\n    async function run() {\n      try {\n        setLoading(true)\n        setData(null)\n        const data = await store.exports.get(queryParams)\n\n        if (!cancelled) {\n          setData(data)\n        }\n      } catch (err) {\n        if (err instanceof Error && !cancelled) {\n          setError(err)\n        }\n      } finally {\n        if (!cancelled) {\n          setLoading(false)\n        }\n      }\n    }\n\n    run()\n\n    return () => {\n      cancelled = true\n    }\n  }, [params.packageScope, params.packageName, params.releaseVersion, store])\n\n  // @ts-expect-error - find a way to fix this\n  return {data, error, loading}\n}\n","import type {APIPackage} from '@sanity/tsdoc'\nimport {useEffect, useState} from 'react'\n\nimport {useTSDoc} from './useTSDoc'\n\n/** @beta */\nexport function usePackages(): {\n  data: APIPackage[] | null\n  error: Error | null\n  loading: boolean\n} {\n  const {store} = useTSDoc()\n  const [data, setData] = useState<APIPackage[] | null>(null)\n  const [error, setError] = useState<Error | null>(null)\n  const [loading, setLoading] = useState(true)\n\n  useEffect(() => {\n    let cancelled = false\n\n    async function run() {\n      try {\n        setData(null)\n        const data = await store.packages.get()\n\n        if (!cancelled) {\n          // @ts-expect-error - find a way to fix this\n          setData(data)\n        }\n      } catch (err) {\n        if (err instanceof Error && !cancelled) {\n          setError(err)\n        }\n      } finally {\n        if (!cancelled) {\n          setLoading(false)\n        }\n      }\n    }\n\n    run()\n\n    return () => {\n      cancelled = true\n    }\n  }, [store])\n\n  return {data, error, loading}\n}\n","import {Box} from '@sanity/ui'\nimport {memo} from 'react'\nimport {styled} from 'styled-components'\n\nexport const BoxSticky = memo(styled(Box)`\n  position: sticky;\n  top: 0;\n`)\n","import {\n  APIClass,\n  APIEnum,\n  APIFunction,\n  APIInterface,\n  APIMember,\n  APINamespace,\n  APITypeAlias,\n  APIVariable,\n} from '@sanity/tsdoc'\n\nimport {TSDocNavGroupedMembers} from './TSDocNav'\n\nexport function getGroupedMembers(members: APIMember[]): TSDocNavGroupedMembers {\n  const components = members.filter(\n    (mem) =>\n      (mem._type === 'api.class' || mem._type === 'api.function' || mem._type === 'api.variable') &&\n      mem.isReactComponentType,\n  ) as (APIClass | APIFunction | APIVariable)[]\n  const hooks = members.filter(\n    (mem) => mem._type === 'api.function' && mem.isReactHook,\n  ) as APIFunction[]\n  const classes = members.filter(\n    (mem) => !components.includes(mem as any) && mem._type === 'api.class',\n  ) as APIClass[]\n  const enums = members.filter((mem) => mem._type === 'api.enum') as APIEnum[]\n  const functions = members.filter(\n    (mem) =>\n      !components.includes(mem as any) &&\n      !hooks.includes(mem as any) &&\n      mem._type === 'api.function',\n  ) as APIFunction[]\n  const interfaces = members.filter((mem) => mem._type === 'api.interface') as APIInterface[]\n  const namespaces = members.filter((mem) => mem._type === 'api.namespace') as APINamespace[]\n  const typeAliases = members.filter((mem) => mem._type === 'api.typeAlias') as APITypeAlias[]\n  const variables = members.filter(\n    (mem) => !components.includes(mem as any) && mem._type === 'api.variable',\n  ) as APIVariable[]\n\n  return {\n    classes,\n    enums,\n    functions,\n    interfaces,\n    namespaces,\n    reactComponents: components,\n    reactHooks: hooks,\n    typeAliases,\n    variables,\n  }\n}\n","import {css, styled} from 'styled-components'\n\nexport const UnformattedCode = styled.code<{$deprecated?: boolean}>(({$deprecated}) => {\n  return css`\n    && {\n      background-color: transparent;\n      color: inherit;\n      text-decoration: ${$deprecated ? 'line-through' : undefined};\n    }\n  `\n})\n","import {APIMember} from '@sanity/tsdoc'\n\nimport {SyntaxText} from '../components/ColoredCode'\nimport {UnformattedCode} from '../components/UnformattedCode'\n\n/** @beta */\nexport function TSDocMemberTitle(props: {data: APIMember}): React.ReactNode {\n  const {data} = props\n  const isDeprecated = Boolean(data.comment?.deprecated)\n\n  if ('isReactComponentType' in data && data.isReactComponentType) {\n    return (\n      <>\n        <UnformattedCode>{`<`}</UnformattedCode>\n        <SyntaxText $deprecated={isDeprecated} $syntax=\"className\">\n          {data.name}\n        </SyntaxText>\n        <UnformattedCode $deprecated={isDeprecated}>{` />`}</UnformattedCode>\n      </>\n    )\n  }\n\n  if (data._type === 'api.class') {\n    return (\n      <>\n        {/* <SyntaxText $syntax=\"keyword\">class </SyntaxText> */}\n        <SyntaxText $deprecated={isDeprecated} $syntax=\"className\">\n          {data.name}\n        </SyntaxText>\n      </>\n    )\n  }\n\n  if (data._type === 'api.enum') {\n    return (\n      <>\n        {/* <SyntaxText $syntax=\"keyword\">enum </SyntaxText> */}\n        <SyntaxText $deprecated={isDeprecated} $syntax=\"className\">\n          {data.name}\n        </SyntaxText>\n      </>\n    )\n  }\n\n  if (data._type === 'api.function') {\n    return (\n      <>\n        {/* <SyntaxText $syntax=\"keyword\">function </SyntaxText> */}\n        <SyntaxText $deprecated={isDeprecated} $syntax=\"function\">\n          {data.name}\n        </SyntaxText>\n        <UnformattedCode $deprecated={isDeprecated}>()</UnformattedCode>\n      </>\n    )\n  }\n\n  if (data._type === 'api.interface') {\n    return (\n      <>\n        {/* <SyntaxText $syntax=\"keyword\">interface </SyntaxText> */}\n        <SyntaxText $deprecated={isDeprecated} $syntax=\"className\">\n          {data.name}\n        </SyntaxText>\n      </>\n    )\n  }\n\n  if (data._type === 'api.namespace') {\n    return (\n      <>\n        {/* <SyntaxText $syntax=\"keyword\">namespace </SyntaxText> */}\n        <SyntaxText $deprecated={isDeprecated} $syntax=\"className\">\n          {data.name}\n        </SyntaxText>\n      </>\n    )\n  }\n\n  if (data._type === 'api.typeAlias') {\n    return (\n      <>\n        {/* <SyntaxText $syntax=\"keyword\">type </SyntaxText> */}\n        <SyntaxText $deprecated={isDeprecated} $syntax=\"className\">\n          {data.name}\n        </SyntaxText>\n      </>\n    )\n  }\n\n  if (data._type === 'api.variable') {\n    return <UnformattedCode $deprecated={isDeprecated}>{data.name}</UnformattedCode>\n  }\n\n  return <>Uknown</>\n}\n","import {TSDocAppParams} from '@sanity/tsdoc/store'\n\n/** @beta */\nexport function compilePath(params: TSDocAppParams): string {\n  const segments: string[] = []\n\n  if (params.packageName) {\n    if (params.packageScope) {\n      segments.push(params.packageScope)\n    }\n\n    segments.push(params.packageName)\n\n    if (params.releaseVersion) {\n      if (params.exportPath) {\n        if (params.exportPath !== '.') {\n          segments.push(params.exportPath.slice(2))\n        }\n\n        if (params.memberSlug) {\n          segments.push(params.memberSlug)\n        }\n      }\n    }\n  }\n\n  return `/${segments.join('/')}`\n}\n","import {TSDocAppParams} from '@sanity/tsdoc/store'\nimport {MouseEvent, useCallback, useMemo} from 'react'\n\nimport {compilePath} from './lib/compilePath'\nimport {useTSDoc} from './useTSDoc'\n\n/** @beta */\nexport function useMemberLink(props: {params: TSDocAppParams | null}): {\n  href: string\n  onClick: (event: MouseEvent | KeyboardEvent) => void\n} {\n  const {params} = props\n  const {basePath, onPathChange} = useTSDoc()\n  const path = params && compilePath(params)\n  const href = useMemo(() => `${basePath}${path || ''}`, [basePath, path])\n\n  const onClick = useCallback(\n    (event: MouseEvent | KeyboardEvent) => {\n      if (!path) return\n\n      event.preventDefault()\n\n      onPathChange(path)\n    },\n    [onPathChange, path],\n  )\n\n  return {href, onClick}\n}\n","import {blue} from '@sanity/color'\nimport {type Theme, TreeItem} from '@sanity/ui'\nimport {memo} from 'react'\nimport {styled} from 'styled-components'\n\nexport const SyntaxTreeItem = memo(\n  styled(TreeItem)(({theme}: {theme: Theme}) => {\n    const isThemeDark = theme.sanity.color.dark\n    const activeBackground = blue[50].hex\n    const focusBackground = theme.sanity.color.selectable!.default.enabled.bg2\n    const color = theme.sanity.color.selectable!.default.hovered.fg\n\n    const selectedLight = isThemeDark\n      ? ''\n      : `&[data-selected] > [role='treeitem'] {\n      background-color: ${activeBackground} !important\n    }`\n\n    return `\n      // solely on changing the \"()\" color\n      &:focus code,\n      & > a:focus code {\n        color: ${color} !important;\n      }\n\n      ${selectedLight}\n\n      // change focus for api items trees\n      & > a:focus {\n        background-color: ${focusBackground} !important;\n      }\n    `\n  }),\n)\n","import type {APIMember, APINamespace} from '@sanity/tsdoc'\nimport type {TSDocAppParams} from '@sanity/tsdoc/store'\nimport {Box, type CardTone, Flex} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {SyntaxText} from '../../components/ColoredCode'\nimport {useSize} from '../../lib/ui'\nimport {TSDocMemberTitle} from '../TSDocMemberTitle'\nimport {useMemberLink} from '../useMemberLink'\nimport {useTSDoc} from '../useTSDoc'\nimport {SyntaxTreeItem} from './SyntaxTreeItem'\n\nexport function MemberLink(props: {data: APIMember; namespace?: APINamespace}): React.ReactNode {\n  const {data, namespace} = props\n  const {basePath, path} = useTSDoc()\n  const fontSize = useSize()\n\n  const params: TSDocAppParams = useMemo(\n    () => ({\n      exportPath: data.export?.path || namespace?.export.path || '.',\n      memberName: data.name,\n      packageName: data.package.name,\n      packageScope: data.package.scope || null,\n      releaseVersion: data.release.version,\n      memberSlug: data.slug.current,\n    }),\n    [data, namespace],\n  )\n\n  const linkProps = useMemberLink({params})\n\n  const tone: CardTone | undefined = useMemo(() => {\n    if (data.releaseTag === 'beta') return 'caution'\n    if (data.releaseTag === 'alpha') return 'critical'\n\n    return undefined\n  }, [data.releaseTag])\n\n  const tag = useMemo(() => {\n    if (data.releaseTag === 'beta') {\n      return (\n        <Box>\n          <SyntaxText $syntax=\"string\">@beta</SyntaxText>\n        </Box>\n      )\n    }\n\n    if (data.releaseTag === 'alpha') {\n      return (\n        <Box>\n          <SyntaxText $syntax=\"builtin\">@alpha</SyntaxText>\n        </Box>\n      )\n    }\n\n    return null\n  }, [data.releaseTag])\n\n  const isSelected = `${basePath}${path}` === linkProps.href\n\n  return (\n    <SyntaxTreeItem\n      {...linkProps}\n      fontSize={fontSize}\n      padding={2}\n      selected={isSelected}\n      text={\n        <Flex gap={1}>\n          <Box flex={1}>\n            <TSDocMemberTitle data={data} />\n          </Box>\n          {tag}\n        </Flex>\n      }\n      // @ts-expect-error - fix this\n      tone={tone}\n    />\n  )\n}\n","import {type Theme, TreeItem} from '@sanity/ui'\nimport {memo} from 'react'\nimport {styled} from 'styled-components'\n\nexport const TreeItemFocus = memo(\n  styled(TreeItem)(({theme}: {theme: Theme}) => {\n    const text = theme.sanity.color.selectable!.default.enabled.fg\n\n    return `\n      &:focus > [data-ui='TreeItem__box'],\n      &:focus > [data-ui=\"TreeItem\"] {\n        background-color: transparent !important;\n\n        & svg, & code, & [data-ui=\"Text\"] {\n          color: ${text} !important;\n        }\n      }\n    `\n  }),\n)\n","import {useSize} from '../../lib/ui'\nimport {useTSDoc} from '../useTSDoc'\nimport {MemberLink} from './MemberLink'\nimport {TreeItemFocus} from './TreeItemFocus'\nimport {TSDocNavExportData} from './TSDocNav'\n\nexport function GroupedMembersTree(props: {\n  exp: TSDocNavExportData\n  expandSubPackages?: boolean\n}): React.ReactNode {\n  const {exp, expandSubPackages} = props\n  const {params} = useTSDoc()\n  const fontSize = useSize()\n\n  return (\n    <>\n      {exp.reactComponents.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.reactComponents.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Components\"\n          weight=\"semibold\"\n        >\n          {exp.reactComponents.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n\n      {exp.reactHooks.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.reactHooks.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Hooks\"\n          weight=\"semibold\"\n        >\n          {exp.reactHooks.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n\n      {exp.classes.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.classes.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Classes\"\n          weight=\"semibold\"\n        >\n          {exp.classes.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n\n      {exp.functions.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.functions.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Functions\"\n          weight=\"semibold\"\n        >\n          {exp.functions.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n\n      {exp.variables.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.variables.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Variables\"\n          weight=\"semibold\"\n        >\n          {exp.variables.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n\n      {exp.enums.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.enums.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Enumerations\"\n          weight=\"semibold\"\n        >\n          {exp.enums.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n\n      {exp.interfaces.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.interfaces.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Interfaces\"\n          weight=\"semibold\"\n        >\n          {exp.interfaces.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n\n      {exp.namespaces.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.namespaces.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Namespaces\"\n          weight=\"semibold\"\n        >\n          {exp.namespaces.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n\n      {exp.typeAliases.length > 0 && (\n        <TreeItemFocus\n          expanded={\n            expandSubPackages\n              ? expandSubPackages\n              : exp.typeAliases.some((m) => m.name === params.memberName)\n          }\n          fontSize={fontSize}\n          padding={2}\n          text=\"Type aliases\"\n          weight=\"semibold\"\n        >\n          {exp.typeAliases.map((member) => (\n            <MemberLink data={member} key={member.name} />\n          ))}\n        </TreeItemFocus>\n      )}\n    </>\n  )\n}\n","import {MenuItem} from '@sanity/ui'\nimport {memo} from 'react'\nimport {styled} from 'styled-components'\n\nexport const SyntaxMenuItem = memo(styled(MenuItem)`\n  &:focus code,\n  & > a:focus code {\n    color: inherit !important;\n  }\n\n  & > a:focus {\n    background: transparent !important;\n  }\n`)\n","import {SelectIcon} from '@sanity/icons'\nimport {APIPackage} from '@sanity/tsdoc'\nimport {Button, Menu, MenuButton} from '@sanity/ui'\n\nimport {SyntaxText} from '../../components/ColoredCode'\nimport {useSize} from '../../lib/ui'\nimport {useTSDoc} from '../useTSDoc'\nimport {SyntaxMenuItem} from './SyntaxMenuItem'\n\nexport function PackageMenuButton(props: {\n  currentPkg: APIPackage\n  packages: APIPackage[]\n}): React.ReactNode {\n  const {currentPkg, packages} = props\n  const {updateParams} = useTSDoc()\n  const fontSize = useSize()\n\n  return (\n    <MenuButton\n      button={\n        <Button\n          fontSize={fontSize}\n          iconRight={SelectIcon}\n          mode=\"bleed\"\n          padding={2}\n          text={\n            <SyntaxText>{[currentPkg.scope, currentPkg.name].filter(Boolean).join('/')}</SyntaxText>\n          }\n        />\n      }\n      id=\"package-menu\"\n      menu={\n        <Menu>\n          {packages.map((p) => (\n            <SyntaxMenuItem\n              fontSize={fontSize}\n              key={p.name}\n              onClick={() => {\n                updateParams((prev) => ({\n                  ...prev,\n                  exportPath: null,\n                  packageScope: p.scope || null,\n                  packageName: p.name,\n                  releaseVersion: p.latestRelease.version,\n                  memberName: null,\n                }))\n              }}\n              padding={2}\n              text={<SyntaxText>{[p.scope, p.name].filter(Boolean).join('/')}</SyntaxText>}\n            />\n          ))}\n        </Menu>\n      }\n      popover={{\n        constrainSize: true,\n        matchReferenceWidth: true,\n        portal: true,\n      }}\n    />\n  )\n}\n","import {APIPackage} from '@sanity/tsdoc'\nimport {TreeItemProps} from '@sanity/ui'\nimport {useCallback} from 'react'\n\nimport {SyntaxText} from '../../components/ColoredCode'\nimport {compilePath} from '../lib/compilePath'\nimport {useTSDoc} from '../useTSDoc'\nimport {SyntaxTreeItem} from './SyntaxTreeItem'\n\nexport function PackageTreeItem(\n  props: {pkg: APIPackage} & Omit<TreeItemProps, 'href' | 'onClick' | 'text'>,\n): React.ReactNode {\n  const {pkg, ...restProps} = props\n  const {params, updateParams} = useTSDoc()\n\n  const href = compilePath({\n    ...params,\n    packageScope: pkg.scope || null,\n    packageName: pkg.name,\n    releaseVersion: pkg.latestRelease.version,\n  })\n\n  const handleClick = useCallback(\n    (event: MouseEvent) => {\n      event.preventDefault()\n\n      updateParams((prev) => ({\n        ...prev,\n        packageScope: pkg.scope || null,\n        packageName: pkg.name,\n        releaseVersion: pkg.latestRelease.version,\n      }))\n    },\n    [pkg, updateParams],\n  )\n\n  return (\n    <SyntaxTreeItem\n      {...restProps}\n      href={href}\n      // @ts-expect-error - fix this\n      onClick={handleClick}\n      text={<SyntaxText>{[pkg.scope, pkg.name].filter(Boolean).join('/')}</SyntaxText>}\n    />\n  )\n}\n","import {SelectIcon} from '@sanity/icons'\nimport {APIPackage, APIRelease} from '@sanity/tsdoc'\nimport {Button, Menu, MenuButton} from '@sanity/ui'\n\nimport {SyntaxText} from '../../components/ColoredCode'\nimport {useSize} from '../../lib/ui'\nimport {useTSDoc} from '../useTSDoc'\nimport {SyntaxMenuItem} from './SyntaxMenuItem'\n\nexport function ReleaseMenuButton(props: {\n  currentPkg: APIPackage\n  currentRelease: APIRelease\n}): React.ReactNode {\n  const {currentPkg, currentRelease} = props\n  const {updateParams} = useTSDoc()\n  const fontSize = useSize()\n\n  return (\n    <MenuButton\n      button={\n        <Button\n          fontSize={fontSize}\n          iconRight={SelectIcon}\n          mode=\"bleed\"\n          padding={2}\n          text={<SyntaxText $syntax=\"className\">{currentRelease.version}</SyntaxText>}\n        />\n      }\n      id=\"version-menu\"\n      menu={\n        <Menu>\n          {currentPkg.releases.map((r) => (\n            <SyntaxMenuItem\n              fontSize={fontSize}\n              key={r.version}\n              onClick={() => updateParams((prev) => ({...prev, releaseVersion: r.version}))}\n              padding={2}\n              selected={currentRelease.version === r.version}\n              text={<SyntaxText $syntax=\"className\">{r.version}</SyntaxText>}\n            />\n          ))}\n        </Menu>\n      }\n      popover={{\n        constrainSize: true,\n        matchReferenceWidth: true,\n        portal: true,\n      }}\n    />\n  )\n}\n","import {Box} from '@sanity/ui'\nimport {memo} from 'react'\nimport {styled} from 'styled-components'\n\nexport const SearchWrapper = memo(styled(Box)`\n  background-color: var(--card-bg-color);\n`)\n","import {Tree} from '@sanity/ui'\nimport {memo} from 'react'\nimport {styled} from 'styled-components'\n\nexport const TreeNav = memo(styled(Tree)`\n  overflow: auto;\n  height: 100vh;\n`)\n","import type {APISymbol} from '@sanity/tsdoc'\nimport {useEffect, useRef, useState} from 'react'\n\nimport {useTSDoc} from './useTSDoc'\n\nconst DEBOUNCE_MS = 150\n\n/** @beta */\nexport function useSymbolSearch(props: {query: string | null}): {\n  data: (APISymbol & {_id: string; members: {exportPath: string; releaseVersion: string}[]})[]\n  error: Error | null\n  loading: boolean\n} {\n  const {query} = props\n  const {params, store} = useTSDoc()\n\n  const [data, setData] = useState<\n    (APISymbol & {_id: string; members: {exportPath: string; releaseVersion: string}[]})[]\n  >([])\n  const [error, setError] = useState<Error | null>(null)\n  const [loading, setLoading] = useState(false)\n  const [debouncedQuery, setDebouncedQuery] = useState(query)\n  const timeoutRef = useRef<NodeJS.Timeout | null>(null)\n\n  useEffect(() => {\n    let cancelled = false\n\n    async function run() {\n      if (!debouncedQuery || !params.packageName) {\n        setData([])\n\n        return\n      }\n\n      try {\n        setLoading(true)\n        const data = await store.symbol.search({\n          query: debouncedQuery,\n          packageName: params.packageName,\n          packageScope: params.packageScope,\n        })\n\n        if (!cancelled) {\n          setLoading(false)\n          // @ts-expect-error - find a way to fix this\n          setData(data)\n        }\n      } catch (err) {\n        if (err instanceof Error && !cancelled) {\n          setError(err)\n        }\n      } finally {\n        if (!cancelled) {\n          setLoading(false)\n        }\n      }\n\n      setLoading(false)\n    }\n\n    run()\n\n    return () => {\n      cancelled = true\n    }\n  }, [debouncedQuery, params.packageName, params.packageScope, store])\n\n  useEffect(() => {\n    if (timeoutRef.current) {\n      clearTimeout(timeoutRef.current)\n    }\n\n    timeoutRef.current = setTimeout(() => {\n      setDebouncedQuery(query)\n      timeoutRef.current = null\n    }, DEBOUNCE_MS)\n  }, [query])\n\n  return {data, error, loading}\n}\n","import {SearchIcon} from '@sanity/icons'\nimport {APISymbol, SanitySlugValue} from '@sanity/tsdoc'\nimport {TSDocAppParams} from '@sanity/tsdoc/store'\nimport {\n  Autocomplete,\n  BaseAutocompleteOption,\n  Box,\n  Card,\n  Flex,\n  Popover,\n  Stack,\n  Text,\n} from '@sanity/ui'\nimport {ForwardedRef, forwardRef, useCallback, useMemo, useRef, useState} from 'react'\n\nimport {UnformattedCode} from '../../components/UnformattedCode'\nimport {useMemberLink} from '../useMemberLink'\nimport {useSymbolSearch} from '../useSymbolSearch'\n\ninterface TSDocSearchOption extends BaseAutocompleteOption {\n  symbol: APISymbol & {_id: string; members: {exportPath: string; releaseVersion: string}[]}\n}\n\n/** @beta */\nexport function TSDocSearch(): React.ReactNode {\n  const [query, setQuery] = useState<string | null>(null)\n  const {data, loading} = useSymbolSearch({query})\n  const [value, setValue] = useState<string | undefined>()\n  const autocompletePopoverReferenceElementRef = useRef<HTMLDivElement | null>(null)\n\n  const options: TSDocSearchOption[] = useMemo(\n    () => data.map((result) => ({value: result._id, symbol: result})),\n    [data],\n  )\n\n  const filterOption = useCallback(() => true, [])\n\n  const handleSelect = useCallback((value: string) => {\n    setValue(value)\n    setTimeout(() => setValue(''), 0)\n  }, [])\n\n  const renderOption = useCallback((option: TSDocSearchOption) => {\n    // @ts-expect-error - find a way to fix this\n    return <SearchOption symbol={option.symbol} />\n  }, [])\n\n  const renderValue = useCallback(() => '', [])\n\n  const renderPopover = useCallback(\n    ({content, hidden}: {content: React.ReactNode | null; hidden: boolean}) => {\n      return query ? (\n        <Popover\n          arrow={false}\n          open={!loading && !hidden}\n          overflow=\"auto\"\n          placement=\"bottom-start\"\n          matchReferenceWidth\n          radius={0}\n          content={\n            content ? (\n              content\n            ) : (\n              <Box padding={4}>\n                <Flex align=\"center\" height=\"fill\" justify=\"center\">\n                  <Text align=\"center\" muted>\n                    No results for <strong>“{query}”</strong>\n                  </Text>\n                </Flex>\n              </Box>\n            )\n          }\n          referenceElement={autocompletePopoverReferenceElementRef.current}\n        />\n      ) : null\n    },\n    [loading, query],\n  )\n\n  return (\n    <div ref={autocompletePopoverReferenceElementRef}>\n      <Autocomplete\n        filterOption={filterOption}\n        icon={SearchIcon}\n        id=\"tsdoc-search\"\n        loading={loading}\n        onQueryChange={setQuery}\n        onSelect={handleSelect}\n        options={options}\n        padding={3}\n        placeholder=\"Search for API members\"\n        radius={2}\n        renderOption={renderOption}\n        renderValue={renderValue}\n        renderPopover={renderPopover}\n        value={value}\n      />\n    </div>\n  )\n}\n\nconst SearchOption = forwardRef(function SearchOption(\n  props: {\n    symbol: APISymbol & {\n      members: {slug: SanitySlugValue; exportPath: string; releaseVersion: string}[]\n    }\n  },\n  ref: ForwardedRef<HTMLDivElement>,\n) {\n  const {symbol, ...restProps} = props\n\n  const latestMember = symbol.members[0]\n\n  const params: TSDocAppParams = useMemo(\n    () => ({\n      exportPath: latestMember ? latestMember.exportPath : '.',\n      packageName: symbol.package.name,\n      packageScope: symbol.package.scope || null,\n      memberName: symbol.name,\n      releaseVersion: latestMember ? latestMember.releaseVersion : '0.0.0',\n      memberSlug: latestMember ? latestMember.slug.current : '',\n    }),\n    [latestMember, symbol],\n  )\n\n  const link = useMemberLink({params})\n\n  return (\n    <Card\n      {...restProps}\n      as=\"a\"\n      href={link.href}\n      onClick={link.onClick}\n      padding={3}\n      radius={2}\n      ref={ref}\n    >\n      <Stack space={3}>\n        <Text size={1} weight=\"medium\">\n          <UnformattedCode>{symbol.name}</UnformattedCode>\n        </Text>\n        <Text muted size={1}>\n          <UnformattedCode>\n            {[\n              [\n                symbol.package.scope,\n                symbol.package.name,\n                latestMember?.exportPath === '.'\n                  ? undefined\n                  : latestMember?.exportPath.replace('./', '/'),\n              ].filter(Boolean),\n            ]}\n          </UnformattedCode>\n        </Text>\n      </Stack>\n    </Card>\n  )\n})\n","import {\n  APIClass,\n  APIEnum,\n  APIFunction,\n  APIInterface,\n  APINamespace,\n  APITypeAlias,\n  APIVariable,\n} from '@sanity/tsdoc'\nimport {TSDocExportData} from '@sanity/tsdoc/store'\nimport {Box, Card, Flex, Layer, Spinner, Stack, Text, Tree} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {SyntaxText} from '../../components/ColoredCode'\nimport {Size, useSize} from '../../lib/ui'\nimport {useExports} from '../useExports'\nimport {usePackages} from '../usePackages'\nimport {useTSDoc} from '../useTSDoc'\nimport {BoxSticky} from './FlexSticky'\nimport {getGroupedMembers} from './getGroupedMembers'\nimport {GroupedMembersTree} from './GroupedMembersTree'\nimport {PackageMenuButton} from './PackageMenuButton'\nimport {PackageTreeItem} from './PackageTreeItem'\nimport {ReleaseMenuButton} from './ReleaseMenuButton'\nimport {SearchWrapper} from './SearchWrapper'\nimport {TreeItemFocus} from './TreeItemFocus'\nimport {TreeNav} from './TreeNav'\nimport {TSDocSearch} from './TSDocSearch'\n\n/** @internal */\nexport interface TSDocNavGroupedMembers {\n  classes: APIClass[]\n  enums: APIEnum[]\n  functions: APIFunction[]\n  interfaces: APIInterface[]\n  namespaces: APINamespace[]\n  reactComponents: (APIClass | APIFunction | APIVariable)[]\n  reactHooks: APIFunction[]\n  typeAliases: APITypeAlias[]\n  variables: APIVariable[]\n}\n\n/** @internal */\nexport interface TSDocNavExportData\n  extends Omit<TSDocExportData, 'members'>,\n    TSDocNavGroupedMembers {\n  // intentionally empty\n}\n\n/** @beta */\nexport function TSDocNav(props: {\n  showVersionMenu?: boolean\n  expandPackages?: boolean\n  expandSubPackages?: boolean\n}): React.ReactNode {\n  return (\n    <Size delta={-1}>\n      <TSDocNavView {...props} />\n    </Size>\n  )\n}\n\ninterface ExportData {\n  packageScope: string | null\n  packageName: string\n  name: string\n  versions: TSDocNavExportData[]\n}\n\nfunction TSDocNavView(props: {\n  showVersionMenu?: boolean\n  expandPackages?: boolean\n  expandSubPackages?: boolean\n}): React.ReactNode {\n  const {params} = useTSDoc()\n  const _exports = useExports()\n  const packages = usePackages()\n  const fontSize = useSize()\n  const {showVersionMenu, expandPackages, expandSubPackages} = props\n\n  const currentPkg = packages.data?.find(\n    (p) => p.scope === params.packageScope && p.name === params.packageName,\n  )\n\n  const currentRelease = currentPkg?.releases.length\n    ? currentPkg?.releases.find((r) =>\n        params.releaseVersion\n          ? r.version === params.releaseVersion\n          : r.version == currentPkg.latestRelease.version,\n      )\n    : currentPkg?.latestRelease\n\n  const currentVersion = currentRelease?.version\n\n  const currentExportName =\n    currentPkg &&\n    params.exportPath &&\n    [currentPkg.scope, currentPkg.name, params.exportPath].filter(Boolean).join('/')\n\n  const exports: ExportData[] = useMemo(() => {\n    if (!_exports.data) return []\n\n    const items: {\n      packageScope: string | null\n      packageName: string\n      name: string\n      versions: TSDocNavExportData[]\n    }[] = []\n\n    for (const exp of _exports.data) {\n      if (exp.members.length === 0) {\n        continue // skip\n      }\n\n      const {members, name, package: pkg, ...restExp} = exp\n\n      const item = items.find(\n        (e) => e.packageScope === pkg.scope && e.packageName === pkg.name && e.name === exp.name,\n      )\n\n      const data: TSDocNavExportData = {\n        name,\n        package: pkg,\n        ...restExp,\n        ...getGroupedMembers(members),\n      }\n\n      if (item) {\n        item.versions.push(data)\n      } else {\n        items.push({\n          packageScope: pkg.scope,\n          packageName: pkg.name,\n          name,\n          versions: [data],\n        })\n      }\n    }\n\n    return items || []\n  }, [_exports.data])\n\n  return (\n    <BoxSticky paddingTop={3}>\n      <Flex direction=\"column\" height=\"fill\" overflow=\"hidden\">\n        {!currentPkg && !packages.loading && (\n          <Card overflow=\"auto\" padding={3}>\n            <Stack space={1}>\n              <Box padding={2}>\n                <Text size={fontSize} weight=\"bold\">\n                  Choose package\n                </Text>\n              </Box>\n\n              <Tree>\n                {packages.data?.map((pkg) => (\n                  <PackageTreeItem key={pkg.name} pkg={pkg} fontSize={fontSize} padding={2} />\n                ))}\n              </Tree>\n            </Stack>\n          </Card>\n        )}\n\n        {currentPkg && (\n          <>\n            {showVersionMenu && (\n              <Layer style={{flex: 'none', position: 'sticky', top: 0}}>\n                <Card padding={[2, 2, 3]} shadow={1}>\n                  <Flex gap={1}>\n                    {packages.data && (\n                      <Stack flex={1}>\n                        <PackageMenuButton currentPkg={currentPkg} packages={packages.data} />\n                      </Stack>\n                    )}\n\n                    {currentRelease && (\n                      <Stack flex=\"none\">\n                        <ReleaseMenuButton\n                          currentPkg={currentPkg}\n                          currentRelease={currentRelease}\n                        />\n                      </Stack>\n                    )}\n                  </Flex>\n                </Card>\n              </Layer>\n            )}\n\n            {_exports.loading && (\n              <Flex align=\"center\" height=\"fill\" justify=\"center\">\n                <Spinner muted />\n              </Flex>\n            )}\n\n            {!_exports.loading && (\n              <Stack flex={1} overflow=\"auto\">\n                {currentPkg && (\n                  <SearchWrapper padding={1}>\n                    <TSDocSearch />\n                  </SearchWrapper>\n                )}\n                {exports.length === 1 ? (\n                  <SingleExportTree currentVersion={currentVersion} exp={exports[0]!} />\n                ) : (\n                  <MultiExportTree\n                    currentExportName={currentExportName}\n                    currentVersion={currentVersion}\n                    exports={exports}\n                    fontSize={fontSize}\n                    expandPackages={expandPackages}\n                    expandSubPackages={expandSubPackages}\n                  />\n                )}\n              </Stack>\n            )}\n          </>\n        )}\n      </Flex>\n    </BoxSticky>\n  )\n}\n\nfunction SingleExportTree(props: {currentVersion?: string; exp: ExportData}) {\n  const {currentVersion, exp} = props\n\n  const versionedExports = useMemo(\n    () => exp.versions.filter((d) => d.release.version === currentVersion),\n    [currentVersion, exp],\n  )\n\n  return (\n    <TreeNav>\n      {versionedExports.map((exp) => (\n        <GroupedMembersTree exp={exp} key={exp.release.version} />\n      ))}\n    </TreeNav>\n  )\n}\n\nfunction MultiExportTree(props: {\n  currentExportName?: string | null\n  currentVersion?: string\n  fontSize?: number[]\n  exports: ExportData[]\n  expandPackages?: boolean\n  expandSubPackages?: boolean\n}) {\n  const {currentExportName, currentVersion, fontSize, exports, expandPackages, expandSubPackages} =\n    props\n\n  const versionedExports = useMemo(\n    () => exports.filter((data) => data.versions.some((v) => v.release.version === currentVersion)),\n    [currentVersion, exports],\n  )\n\n  return (\n    <TreeNav>\n      {versionedExports.map((data) => (\n        <TreeItemFocus\n          expanded={expandPackages ? expandPackages : data.name === currentExportName}\n          tabIndex={0}\n          fontSize={fontSize}\n          key={data.name}\n          padding={2}\n          text={<SyntaxText>{data.name}</SyntaxText>}\n          weight=\"semibold\"\n        >\n          {data.versions\n            .filter((d) => d.release.version === currentVersion)\n            .map((exp) => (\n              <GroupedMembersTree\n                exp={exp}\n                key={exp.release.version}\n                expandSubPackages={expandSubPackages}\n              />\n            ))}\n        </TreeItemFocus>\n      ))}\n    </TreeNav>\n  )\n}\n","import {Box} from '@sanity/ui'\nimport {styled} from 'styled-components'\n\nexport const CommentBox = styled(Box)`\n  /* border-top: 1px solid var(--card-border-color); */\n\n  & > *:first-child {\n    margin-top: 0 !important;\n  }\n\n  & > *:last-child {\n    margin-bottom: 0 !important;\n  }\n`\n","import {\n  PortableText as BasePortableText,\n  PortableTextMarkComponentProps,\n  PortableTextProps,\n} from '@portabletext/react'\nimport {PortableTextNode} from '@sanity/tsdoc'\nimport {Box, Card, Code} from '@sanity/ui'\nimport {MouseEvent, useCallback} from 'react'\n\nimport {useTSDoc} from '../app'\nimport {H, Level, P, useSpace, useTextSize} from '../lib/ui'\n\nconst CODE_LANGUAGES: Record<string, string> = {\n  sh: 'bash',\n  tsx: 'typescript',\n  ts: 'typescript',\n}\n\nexport function PortableText(props: {blocks: PortableTextNode[]}): React.ReactNode {\n  const {blocks} = props\n\n  return <BasePortableText components={components} value={blocks} />\n}\n\nconst components: PortableTextProps['components'] = {\n  block: {\n    blockquote: BlockquoteBlock,\n    h1: H1Block,\n    h2: H2Block,\n    h3: H3Block,\n    h4: H4Block,\n    h5: H5Block,\n    h6: H6Block,\n    normal: NormalBlock,\n  },\n  types: {\n    code: CodeBlock,\n  },\n  marks: {\n    link: Link,\n  },\n}\n\nfunction CodeBlock(props: {value: {code?: string; language?: string}}) {\n  const {code, language = 'typescript'} = props.value\n\n  return (\n    <Card\n      border\n      marginY={useSpace([1, 1, 2, 3])}\n      overflow=\"auto\"\n      padding={4}\n      radius={3}\n      tone=\"inherit\"\n    >\n      <Code\n        language={CODE_LANGUAGES[language] || language || 'typescript'}\n        size={useTextSize([-1, -1, 0])}\n      >\n        {code}\n      </Code>\n    </Card>\n  )\n}\n\nfunction H1Block({children}: {children?: React.ReactNode}) {\n  return <H size={[-1, 0, 1, 2]}>{children}</H>\n}\n\nfunction H2Block({children}: {children?: React.ReactNode}) {\n  return (\n    <Level>\n      <H size={[-1, 0, 1, 2]}>{children}</H>\n    </Level>\n  )\n}\n\nfunction H3Block({children}: {children?: React.ReactNode}) {\n  return (\n    <Level>\n      <Level>\n        <H size={[-1, 0, 1, 2]}>{children}</H>\n      </Level>\n    </Level>\n  )\n}\n\nfunction H4Block({children}: {children?: React.ReactNode}) {\n  return (\n    <Level>\n      <Level>\n        <Level>\n          <H size={[-1, 0, 1, 2]}>{children}</H>\n        </Level>\n      </Level>\n    </Level>\n  )\n}\n\nfunction H5Block({children}: {children?: React.ReactNode}) {\n  return (\n    <Level>\n      <Level>\n        <Level>\n          <Level>\n            <H size={[-1, 0, 1, 2]}>{children}</H>\n          </Level>\n        </Level>\n      </Level>\n    </Level>\n  )\n}\n\nfunction H6Block({children}: {children?: React.ReactNode}) {\n  return (\n    <Level>\n      <Level>\n        <Level>\n          <Level>\n            <Level>\n              <H size={[-1, 0, 1, 2]}>{children}</H>\n            </Level>\n          </Level>\n        </Level>\n      </Level>\n    </Level>\n  )\n}\n\nfunction BlockquoteBlock({children}: {children?: React.ReactNode}) {\n  return (\n    <Box as=\"blockquote\">\n      <P muted size={[-1, 0, 1]}>\n        {children}\n      </P>\n    </Box>\n  )\n}\n\nfunction NormalBlock({children}: {children?: React.ReactNode}) {\n  return (\n    <Box marginBottom={4}>\n      <P muted>{children}</P>\n    </Box>\n  )\n}\n\nfunction isValidUrl(url: string) {\n  try {\n    return Boolean(new URL(url))\n  } catch (error) {\n    return false\n  }\n}\n\nfunction getInternalHref({\n  url,\n  packageName,\n  exportPath,\n}: {\n  url: string\n  packageName: string | null\n  exportPath?: string | null\n}) {\n  const urlSegments = url.split('/')\n\n  // URL can be of two types:\n  // if it's referencing the same package then it will just have the name\n  // if it's referencing another package then it will also have the exportPath in the name\n  if (urlSegments.length === 1) {\n    // exportPath is either `.`  or `./router`\n    return `/${packageName}${exportPath?.replace('.', '')}/${url}`\n  }\n\n  return `/${packageName}/${urlSegments.join('/')}`\n}\n\nfunction Link(props: PortableTextMarkComponentProps) {\n  const {basePath, onPathChange, params} = useTSDoc()\n  const {value, text} = props\n  const {packageName, exportPath} = params\n  const url = value?.['href']\n  const isExternalUrl = isValidUrl(url)\n  const path = !isExternalUrl && getInternalHref({url, packageName, exportPath})\n  const href = isExternalUrl ? url : `${basePath}${path}`\n\n  const handleClick = useCallback(\n    (e: MouseEvent) => {\n      // If the url is pointing to external URL don't call onPathChange\n      if (isExternalUrl || !path) return\n      e.preventDefault()\n\n      // When calling onPathChange we need to call it without the basePath\n      onPathChange(path)\n    },\n    [isExternalUrl, onPathChange, path],\n  )\n\n  return (\n    <a href={href} onClick={handleClick}>\n      {text}\n    </a>\n  )\n}\n","import {WarningOutlineIcon} from '@sanity/icons'\nimport {TSDocComment} from '@sanity/tsdoc'\nimport {Box, Card, Flex, Stack, Text} from '@sanity/ui'\n\nimport {Size, useTextSize} from '../lib/ui'\nimport {CommentBox} from './CommentBox'\nimport {PortableText} from './PortableText'\n\nexport function CommentDeprecatedCallout(props: {data: TSDocComment}): React.ReactNode {\n  const {data} = props\n  const {deprecated} = data\n  const textSize = useTextSize([0, 0, 1])\n\n  if (!deprecated?.content) return <></>\n\n  return (\n    <Card padding={4} radius={3} shadow={1} tone=\"critical\">\n      <Flex align=\"flex-start\">\n        <Box flex=\"none\" marginRight={3}>\n          <Text size={textSize}>\n            <WarningOutlineIcon />\n          </Text>\n        </Box>\n        <Stack flex={1} space={2}>\n          <CommentBox>\n            <Text size={textSize} weight=\"semibold\">\n              Deprecated\n            </Text>\n            <Size delta={-1}>\n              <PortableText blocks={deprecated.content} />\n            </Size>\n          </CommentBox>\n        </Stack>\n      </Flex>\n    </Card>\n  )\n}\n","import {TSDocComment, TSDocExampleBlock} from '@sanity/tsdoc'\n\nimport {H, Level} from '../lib/ui'\nimport {PortableText} from './PortableText'\n\nexport function CommentExampleBlocks(props: {data: TSDocComment}): React.ReactNode {\n  const {data} = props\n  const {exampleBlocks} = data\n\n  if (!exampleBlocks || exampleBlocks.length === 0) return <></>\n  const showPerExampleHeader = exampleBlocks.length > 1\n\n  return (\n    <>\n      <H size={[-1, 0, 1, 2]}>Examples</H>\n\n      {exampleBlocks.map((exampleBlock, idx: number) => (\n        <Level key={exampleBlock._key}>\n          <CommentExampleBlock data={exampleBlock} index={idx} showHeader={showPerExampleHeader} />\n        </Level>\n      ))}\n    </>\n  )\n}\n\nexport function CommentExampleBlock(props: {\n  data: TSDocExampleBlock\n  index: number\n  showHeader: boolean\n}): React.ReactNode {\n  const {data, index, showHeader} = props\n\n  if (!data.content) return <></>\n\n  return (\n    <>\n      {showHeader && <H size={[-1, 0, 1, 2]}>Example #{index + 1}</H>}\n\n      <PortableText blocks={data.content} />\n    </>\n  )\n}\n","import {TSDocComment} from '@sanity/tsdoc'\n\nimport {H} from '../lib/ui'\nimport {PortableText} from './PortableText'\n\nexport function CommentRemarks(props: {data: TSDocComment}): React.ReactNode {\n  const {data} = props\n  const {remarks} = data\n\n  if (!remarks?.content) return <></>\n\n  return (\n    <>\n      <H size={[-1, 0, 1, 2]}>Remarks</H>\n      <PortableText blocks={remarks.content} />\n    </>\n  )\n}\n","import {TSDocComment} from '@sanity/tsdoc'\n\nimport {CommentBox} from './CommentBox'\nimport {PortableText} from './PortableText'\n\nexport function CommentReturnType(props: {data: TSDocComment}): React.ReactNode {\n  const {returns} = props.data\n\n  if (!returns?.content) return <></>\n\n  return (\n    <CommentBox>\n      <PortableText blocks={returns.content} />\n    </CommentBox>\n  )\n}\n","import {TSDocComment} from '@sanity/tsdoc'\n\nimport {PortableText} from './PortableText'\n\nexport function CommentSummary(props: {data: TSDocComment}): React.ReactNode {\n  const {summary} = props.data\n\n  if (!summary) return <></>\n\n  return <PortableText blocks={summary} />\n}\n","import {\n  APIClass,\n  APIFunction,\n  APIInterface,\n  APIParameter,\n  APIToken,\n  APITypeAlias,\n  APITypeParameter,\n  APIVariable,\n} from '@sanity/tsdoc'\n\n/** @internal */\nexport function _compileTypeParameters(typeParameters?: APITypeParameter[]): string {\n  if (!typeParameters || typeParameters.length === 0) return ''\n\n  return `<${typeParameters\n    .map((p) => {\n      let code = `${p.name}`\n\n      if (p.constraintType?.length) {\n        code += ` extends ${p.constraintType.map((t) => t.text).join('')}`\n      }\n\n      if (p.defaultType?.length) {\n        code += ` = ${p.defaultType.map((t) => t.text).join('')}`\n      }\n\n      return code\n    })\n    .join(', ')}>`\n}\n\n/** @internal */\nexport function _compileClassDefinition(data: APIClass): string {\n  let code = `class ${data.name}${_compileTypeParameters(data.typeParameters)} `\n\n  code += `{`\n\n  for (const m of data.members) {\n    if (m._type === 'api.constructor') {\n      code += `\\n  constructor()`\n    } else if (m._type === 'api.property') {\n      code += `\\n  ${m.name}${m.isOptional ? '?' : ''}: ${m.type.map((t) => t.text).join('')}`\n    } else if (m._type === 'api.method') {\n      code += `\\n  ${m.name}${m.isOptional ? '?' : ''}(): ${m.returnType\n        .map((t) => t.text)\n        .join('')}`\n    } else {\n      // code += `\\n  // @todo: ${m._type}`\n    }\n  }\n\n  code += `\\n}`\n\n  return code\n}\n\n/** @internal */\nexport function _compileFunctionDefinition(data: APIFunction): string {\n  let code = `function ${data.name}${_compileTypeParameters(data.typeParameters)}`\n\n  const parameters = data.parameters.map((p: APIParameter) => {\n    return `${p.name}: ${p.type.map((t) => t.text).join('')}`\n  })\n\n  if (parameters.length) {\n    code += `(\\n  ${parameters.join(',\\n  ')}\\n): `\n  } else {\n    code += `(): `\n  }\n\n  code += data.returnType.map((t) => t.text).join('')\n\n  return code\n}\n\n/** @internal */\nexport function _compileTokens(tokens: APIToken[]): string {\n  return tokens\n    .map((t) => t.text)\n    .join('')\n    .replace(/History_2/g, 'History')\n    .replace(/React_2/g, 'React')\n}\n\n/** @internal */\nexport function _compileInterfaceDefinition(data: APIInterface): string {\n  let code = `interface ${data.name}${_compileTypeParameters(data.typeParameters)}`\n\n  if (data.extends.length) {\n    if (data.extends.length === 1) {\n      code += ` extends ${data.extends.map((e) => _compileTokens(e.type)).join(', ')}`\n    } else {\n      code += `\\n  extends ${data.extends.map((e) => _compileTokens(e.type)).join(',\\n    ')}`\n    }\n  }\n\n  if (data.members.length) {\n    code += ` {`\n\n    for (const m of data.members) {\n      if (m._type === 'api.propertySignature') {\n        code += `\\n  ${m.name}${m.isOptional ? '?' : ''}: ${_compileTokens(m.type)}`\n      } else if (m._type === 'api.callSignature') {\n        code += `\\n  (${m.parameters\n          .map((p) => `${p.name}: ${_compileTokens(p.type)}`)\n          .join(', ')}) => ${_compileTokens(m.returnType)}`\n      } else if (m._type === 'api.indexSignature') {\n        code += `\\n  [`\n\n        code += m.parameters.map((p) => {\n          return `${p.name}: ${_compileTokens(p.type)}`\n        })\n\n        code += `]: ${_compileTokens(m.returnType)}`\n      } else {\n        code += `\\n  // @todo: _type=${m._type}`\n      }\n    }\n\n    code += `\\n}`\n  } else {\n    code += ` {}`\n  }\n\n  return code\n}\n\n/** @internal */\nexport function _compileTypeAliasDefinition(data: APITypeAlias): string {\n  let code = `type ${data.name}${_compileTypeParameters(data.typeParameters)} = `\n\n  code += data.type?.map((t) => t.text).join('')\n\n  return code\n}\n\n/** @internal */\nexport function _compileVariableDefinition(data: APIVariable): string {\n  let code = `const ${data.name}: `\n\n  code += data.type.map((t) => t.text).join('')\n\n  return code\n}\n","import {APIClass} from '@sanity/tsdoc'\nimport {Box, Card, Code} from '@sanity/ui'\n\nimport {_compileClassDefinition} from '../../app/lib/_compile'\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {useTextSize} from '../../lib/ui'\n\nexport function ClassTooltipContent(props: {data: APIClass}): React.ReactNode {\n  const {data} = props\n\n  return (\n    <>\n      <Box padding={3}>\n        <Code\n          language=\"typescript\"\n          size={useTextSize([-1, 0, 1])}\n        >{`import {${data.name}} from '${data.export.name}'`}</Code>\n      </Box>\n\n      <Card borderTop padding={3} overflow=\"auto\">\n        <Code language=\"typescript\" size={useTextSize([-1, 0, 1])}>\n          {_compileClassDefinition(data)}\n        </Code>\n      </Card>\n\n      {data.comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={data.comment} />\n        </CommentBox>\n      )}\n    </>\n  )\n}\n","import {APIEnum} from '@sanity/tsdoc'\nimport {Box, Code} from '@sanity/ui'\n\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {useTextSize} from '../../lib/ui'\n\nexport function EnumTooltipContent(props: {data: APIEnum}): React.ReactNode {\n  const {data} = props\n\n  return (\n    <>\n      <Box padding={3} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n        <Code\n          language=\"typescript\"\n          size={useTextSize([-1, 0, 1])}\n        >{`import {${data.name}} from '${data.export.name}'`}</Code>\n      </Box>\n\n      <Box padding={3} overflow=\"auto\">\n        <Code language=\"typescript\" size={useTextSize([-1, 0, 1])}>\n          {/* {_compileEnumDefinition(data)} */}\n        </Code>\n      </Box>\n\n      {data.comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={data.comment} />\n        </CommentBox>\n      )}\n    </>\n  )\n}\n","import {\n  APIClass,\n  APIEnum,\n  APIInterface,\n  APIMember,\n  APINamespace,\n  SanityArrayItem,\n} from '@sanity/tsdoc'\n\nimport {APIMemberWithInheritance} from './_types'\n\nexport function _getMembers(data: APIMember): SanityArrayItem<APIMemberWithInheritance>[] {\n  if (!('members' in data)) {\n    return []\n  }\n\n  let mems: SanityArrayItem<\n    | APIClass['members'][0]\n    | APIEnum['members'][0]\n    | APIInterface['members'][0]\n    | APINamespace['members'][0]\n  >[] = data.members\n\n  if ('extends' in data) {\n    for (const ext of data.extends) {\n      for (const tok of ext.type) {\n        const member = tok.member\n\n        if (member && 'members' in member) {\n          mems = mems.concat(\n            member.members.map((mem) => {\n              const m: SanityArrayItem<APIMemberWithInheritance> = {\n                ...mem,\n                inheritedFrom: {name: member.name, slug: member.name},\n              }\n\n              return m\n            }),\n          )\n        }\n      }\n    }\n  }\n\n  mems.sort((a, b) => {\n    const aName = 'name' in a ? a.name : ''\n    const bName = 'name' in b ? b.name : ''\n\n    if (aName < bName) return -1\n    if (aName > bName) return 1\n\n    return 0\n  })\n\n  return mems\n}\n","import {APIFunction} from '@sanity/tsdoc'\nimport {Box, Code} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {useMemberLink} from '../../app'\nimport {_compileFunctionDefinition} from '../../app/lib/_compile'\nimport {Members} from '../../article/members'\nimport {_getMembers} from '../../article/members/helpers'\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {H, P, useTextSize} from '../../lib/ui'\n\nexport function FunctionTooltipContent(props: {data: APIFunction}): React.ReactNode {\n  const {data} = props\n  const {propsType} = data\n\n  const propsTypeMembers = useMemo(() => propsType && _getMembers(propsType), [propsType])\n\n  const propsTypeLinkParams = useMemo(\n    () =>\n      propsType && {\n        exportPath: propsType.export?.path,\n        packageName: propsType.package?.name,\n        packageScope: propsType.package?.scope || null,\n        memberName: propsType.name,\n        releaseVersion: propsType.release?.version,\n        memberSlug: propsType.slug.current,\n      },\n    [propsType],\n  )\n\n  const propsTypeLink = useMemberLink({\n    params: propsTypeLinkParams || null,\n  })\n\n  return (\n    <>\n      <Box overflow=\"auto\" padding={3}>\n        <Code\n          language=\"typescript\"\n          size={useTextSize([-1, 0, 1])}\n        >{`import {${data.name}} from '${data.export.name}'`}</Code>\n      </Box>\n\n      <Box padding={3} overflow=\"auto\" style={{borderTop: '1px solid var(--card-border-color)'}}>\n        <Code language=\"typescript\" size={useTextSize([-1, 0, 1])}>\n          {_compileFunctionDefinition(data)}\n        </Code>\n      </Box>\n\n      {propsType && propsTypeMembers && propsTypeMembers.length > 0 && (\n        <CommentBox padding={3}>\n          <H size={[-1, 0, 1, 2]}>Props</H>\n\n          <P size={[-1, 0, 1]}>\n            Defined by the{' '}\n            <code>\n              <a href={propsTypeLink.href} onClick={propsTypeLink?.onClick}>\n                {propsType.name}\n              </a>\n            </code>{' '}\n            interface.\n          </P>\n\n          {propsTypeMembers.length > 0 && <Members data={propsTypeMembers} member={data} />}\n        </CommentBox>\n      )}\n\n      {data.comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={data.comment} />\n        </CommentBox>\n      )}\n    </>\n  )\n}\n","import {APIInterface} from '@sanity/tsdoc'\nimport {Box, Code} from '@sanity/ui'\n\nimport {_compileInterfaceDefinition} from '../../app/lib/_compile'\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {useTextSize} from '../../lib/ui'\n\nexport function InterfaceTooltipContent(props: {data: APIInterface}): React.ReactNode {\n  const {data} = props\n\n  return (\n    <>\n      <Box padding={3} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n        <Code\n          language=\"typescript\"\n          size={useTextSize([-1, 0, 1])}\n        >{`import {${data.name}} from '${data.export.name}'`}</Code>\n      </Box>\n\n      <Box padding={3} overflow=\"auto\">\n        <Code language=\"typescript\" size={useTextSize([-1, 0, 1])}>\n          {_compileInterfaceDefinition(data)}\n        </Code>\n      </Box>\n\n      {data.comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={data.comment} />\n        </CommentBox>\n      )}\n    </>\n  )\n}\n","import {APITypeAlias} from '@sanity/tsdoc'\nimport {Box, Code} from '@sanity/ui'\n\nimport {_compileTypeAliasDefinition} from '../../app/lib/_compile'\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {useTextSize} from '../../lib/ui'\n\nexport function TypeAliasTooltipContent(props: {data: APITypeAlias}): React.ReactNode {\n  const {data} = props\n\n  return (\n    <>\n      <Box padding={3} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n        <Code\n          language=\"typescript\"\n          size={useTextSize([-1, 0, 1])}\n        >{`import {${data.name}} from '${data.export.name}'`}</Code>\n      </Box>\n\n      <Box padding={3} overflow=\"auto\">\n        <Code language=\"typescript\" size={useTextSize([-1, 0, 1])}>\n          {_compileTypeAliasDefinition(data)}\n        </Code>\n      </Box>\n\n      {data.comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={data.comment} />\n        </CommentBox>\n      )}\n    </>\n  )\n}\n","import {APIVariable} from '@sanity/tsdoc'\nimport {Box, Code} from '@sanity/ui'\n\nimport {_compileVariableDefinition} from '../../app/lib/_compile'\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {useTextSize} from '../../lib/ui'\n\nexport function VariableTooltipContent(props: {data: APIVariable}): React.ReactNode {\n  const {data} = props\n\n  return (\n    <>\n      <Box padding={3} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n        <Code\n          language=\"typescript\"\n          size={useTextSize([-1, 0, 1])}\n        >{`import {${data.name}} from '${data.export.name}'`}</Code>\n      </Box>\n\n      <Box padding={3} overflow=\"auto\">\n        <Code language=\"typescript\" size={useTextSize([-1, 0, 1])}>\n          {_compileVariableDefinition(data)}\n        </Code>\n      </Box>\n\n      {data.comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={data.comment} />\n        </CommentBox>\n      )}\n    </>\n  )\n}\n","import {APIMember} from '@sanity/tsdoc'\nimport {Box, Text, Tooltip} from '@sanity/ui'\n\nimport {Level, Size, useTextSize} from '../lib/ui'\nimport {ClassTooltipContent} from './content/ClassTooltipContent'\nimport {EnumTooltipContent} from './content/EnumTooltipContent'\nimport {FunctionTooltipContent} from './content/FunctionTooltipContent'\nimport {InterfaceTooltipContent} from './content/InterfaceTooltipContent'\nimport {TypeAliasTooltipContent} from './content/TypeAliasTooltipContent'\nimport {VariableTooltipContent} from './content/VariableTooltipContent'\n\n/** @alpha */\nexport function ReferenceTooltip(props: {\n  children: React.ReactElement<any>\n  member: APIMember\n}): React.ReactNode {\n  const {children, member} = props\n\n  return (\n    <Tooltip\n      content={\n        <Size delta={-1}>\n          <Level>\n            <ReferenceTooltipContent data={member} />\n          </Level>\n        </Size>\n      }\n      placement=\"top\"\n      portal\n    >\n      {children}\n    </Tooltip>\n  )\n}\n\n/** @alpha */\nexport function ReferenceTooltipContent(props: {data: APIMember}): React.ReactNode {\n  const {data} = props\n  const textSize = useTextSize([-1, 0, 1])\n\n  if (data._type === 'api.class') {\n    return <ClassTooltipContent data={data} />\n  }\n\n  if (data._type === 'api.enum') {\n    return <EnumTooltipContent data={data} />\n  }\n\n  if (data._type === 'api.function') {\n    return <FunctionTooltipContent data={data} />\n  }\n\n  if (data._type === 'api.interface') {\n    return <InterfaceTooltipContent data={data} />\n  }\n\n  if (data._type === 'api.typeAlias') {\n    return <TypeAliasTooltipContent data={data} />\n  }\n\n  if (data._type === 'api.variable') {\n    return <VariableTooltipContent data={data} />\n  }\n\n  return (\n    <Box padding={3}>\n      <Text size={textSize}>\n        Unknown type: <code>{data._type}</code>\n      </Text>\n    </Box>\n  )\n}\n","import {APIToken} from '@sanity/tsdoc'\nimport {TSDocAppParams} from '@sanity/tsdoc/store'\nimport {useMemo} from 'react'\n\nimport {useMemberLink} from '../app'\nimport {Size} from '../lib/ui'\nimport {ReferenceTooltip} from '../tooltip'\n\nexport function ApiToken(props: {deindent?: boolean; token: APIToken}): React.ReactNode {\n  const {deindent, token} = props\n  const text = token.text.replace(/History_2/g, 'History').replace(/React_2/g, 'React')\n\n  const params: TSDocAppParams | null = useMemo(\n    () =>\n      token.member && token.member.export\n        ? {\n            exportPath: token.member.export.path,\n            memberName: token.member.name,\n            packageScope: token.member.package.scope || null,\n            packageName: token.member.package.name,\n            releaseVersion: token.member.release.version,\n            memberSlug: token.member.slug.current,\n          }\n        : null,\n    [token.member],\n  )\n\n  const linkProps = useMemberLink({params})\n\n  if (!token.member || !params) {\n    return <>{deindent ? text.replace(/\\n\\s\\s/g, '\\n') : text}</>\n  }\n\n  return (\n    <Size delta={-1}>\n      <ReferenceTooltip member={token.member}>\n        <a {...linkProps}>{text}</a>\n      </ReferenceTooltip>\n    </Size>\n  )\n}\n","import {APIToken, SanityArrayItem} from '@sanity/tsdoc'\n\nimport {ApiToken} from './ApiToken'\n\nexport function CodeSnippet(props: {\n  data: SanityArrayItem<APIToken>[]\n  deindent?: boolean\n  prefix?: string\n  suffix?: string\n}): React.ReactNode {\n  const {data, deindent, prefix, suffix} = props\n\n  return (\n    <>\n      {prefix}\n      {data?.map((t) => <ApiToken deindent={deindent} key={t._key} token={t} />)}\n      {suffix}\n    </>\n  )\n}\n","import {APIToken, SanityArrayItem} from '@sanity/tsdoc'\nimport {Box, Code} from '@sanity/ui'\nimport {styled} from 'styled-components'\n\nimport {useTextSize} from '../lib/ui'\nimport {CodeSnippet} from './CodeSnippet'\n\nconst Root = styled(Box)`\n  position: relative;\n\n  & > pre:first-child {\n    position: absolute;\n    color: transparent;\n    inset: 0;\n\n    & a {\n      border-radius: 2px;\n      color: inherit;\n\n      &:hover {\n        background: var(--card-code-bg-color);\n      }\n    }\n  }\n\n  & > pre:last-child {\n    pointer-events: none;\n  }\n`\n\nexport function TSDocCode(props: {\n  deindent?: boolean\n  prefix?: string\n  suffix?: string\n  tokens: SanityArrayItem<APIToken>[]\n}): React.ReactNode {\n  const {deindent, prefix = '', suffix = '', tokens} = props\n\n  const code = (prefix + tokens.map((t) => t.text).join('') + suffix)\n    .replace(/History_2/g, 'History')\n    .replace(/React_2/g, 'React')\n    .replace(/Plugin_2/g, 'Plugin2')\n    .replace(/JSX_2/g, 'JSX')\n\n  return (\n    <Root>\n      <Code size={useTextSize([-1, -1, 0])}>\n        <CodeSnippet data={tokens} deindent={deindent} prefix={prefix} suffix={suffix} />\n      </Code>\n      <Code language=\"typescript\" size={useTextSize([-1, -1, 0])}>\n        {deindent ? code.replace(/\\n\\s\\s/g, '\\n') : code}\n      </Code>\n    </Root>\n  )\n}\n","export function _fontSize(fontSize: number, sizes: number[]): number[] {\n  return sizes.map((f) => Math.min(Math.max(f + (fontSize - 2), 0), 4))\n}\n\nexport function _space(fontSize: number, s: number | number[]): number | number[] {\n  if (Array.isArray(s)) return s.flatMap(_space)\n\n  return Math.max(Math.min(fontSize + s, 9), 0)\n}\n","import {Text} from '@sanity/ui'\n\nimport {_fontSize} from '../../helpers'\n\nexport function MemberInheritedFrom(props: {\n  data: {name: string; slug?: string}\n  fontSize?: number\n}): React.ReactNode {\n  const {data, fontSize = 2} = props\n\n  return (\n    <Text as=\"p\" muted size={_fontSize(fontSize, [1, 1, 2])}>\n      Inherited from{' '}\n      {data.slug && (\n        <code>\n          <a>{data.name}</a>\n        </code>\n      )}\n      {!data.slug && <code>{data.name}</code>}.\n    </Text>\n  )\n}\n","import {Text} from '@sanity/ui'\nimport {memo} from 'react'\nimport {styled} from 'styled-components'\n\nexport const ReleaseBadgeTextWrapper = memo(styled(Text)`\n  white-space: pre-line;\n`)\n","import {InfoOutlineIcon} from '@sanity/icons'\nimport {APIReleaseTag} from '@sanity/tsdoc'\nimport {Box, Card, CardTone, Flex, Text, Tooltip} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {useTextSize} from '../lib/ui'\nimport {ReleaseBadgeTextWrapper} from './ReleaseBadgeTextWrapper'\nimport {UnformattedCode} from './UnformattedCode'\n\nexport function ReleaseBadge(props: {\n  padding?: number\n  radius?: number\n  releaseTag?: APIReleaseTag\n}): React.ReactNode {\n  const {padding = 1, radius = 2, releaseTag} = props\n\n  const releaseTone: CardTone = useMemo(() => {\n    if (releaseTag === 'alpha') return 'primary'\n    if (releaseTag === 'beta') return 'caution'\n    if (releaseTag === 'public') return 'positive'\n\n    return 'primary'\n  }, [releaseTag])\n\n  const explanation: string = useMemo(() => {\n    if (releaseTag === 'alpha' || releaseTag === 'experimental')\n      return `The API is in very early stages of development. Breaking changes are not only expected but very likely.\\n We strongly recommend against using it in a production environment.`\n    if (releaseTag === 'beta')\n      return `The API is in a testing phase and is considered immature. Breaking changes are expected.\\n We don't recommend using it in a production environment.`\n    if (releaseTag === 'public') return 'The API is public and stable.'\n\n    return 'primary'\n  }, [releaseTag])\n\n  return (\n    <>\n      <Card padding={padding} radius={radius} tone={releaseTone}>\n        <Text muted size={useTextSize([-1, -1, 0])}>\n          <Flex align={'center'} gap={2}>\n            <UnformattedCode>{`@${releaseTag || 'public'}`}</UnformattedCode>\n\n            <Text muted size={0}>\n              <Tooltip\n                content={\n                  <Box padding={2} sizing=\"content\">\n                    <ReleaseBadgeTextWrapper muted size={1}>\n                      {explanation}\n                    </ReleaseBadgeTextWrapper>\n                  </Box>\n                }\n                fallbackPlacements={['bottom', 'top', 'left']}\n                placement=\"right\"\n                portal\n              >\n                <InfoOutlineIcon />\n              </Tooltip>\n            </Text>\n          </Flex>\n        </Text>\n      </Card>\n    </>\n  )\n}\n","import {Box} from '@sanity/ui'\n\nimport {APIReleaseTag, TSDocComment} from '../../../core'\nimport {ReleaseBadge} from '../../components/ReleaseBadge'\n\nexport function TSMemberReleaseTag(props: {\n  releaseTag?: APIReleaseTag\n  comment?: TSDocComment\n  hidePublicTag?: boolean\n}): React.ReactNode | null {\n  const {releaseTag, comment, hidePublicTag} = props\n  const hasExperimentalTag = comment?.modifierTags?.find((tag) => tag.name === '@experimental')\n\n  if (!hasExperimentalTag && hidePublicTag) {\n    return null\n  }\n\n  return (\n    <Box flex=\"none\">\n      <ReleaseBadge padding={0} releaseTag={hasExperimentalTag ? 'experimental' : releaseTag} />\n    </Box>\n  )\n}\n","import {Box, Card, Code, Flex, Label, Stack} from '@sanity/ui'\n\nimport {APICallSignature} from '../../../core'\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {TSDocCode} from '../TSDocCode'\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\nimport {TSMemberReleaseTag} from './TSMemberReleaseTag'\n\nexport function TSCallSignatureMember(props: {\n  data: APIMemberWithInheritance<APICallSignature>\n  // fontSize?: number\n  // level?: number\n}): React.ReactNode {\n  const {\n    data,\n    // fontSize = 2, level = 1\n  } = props\n  const {comment, parameters, releaseTag} = data\n\n  return (\n    <Card border overflow=\"hidden\" tone={comment?.deprecated ? 'critical' : 'inherit'}>\n      <Flex align=\"flex-start\" gap={1} padding={2}>\n        <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} />\n\n        <Box flex={1}>\n          <Code\n            // as={`h${level}` as any}\n            language=\"ts\"\n            // size={_fontSize(fontSize, [1, 1, 2])}\n          >\n            {data.parameters?.map((p) => p.name).join(', ')}\n          </Code>\n        </Box>\n      </Flex>\n\n      {comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={comment} />\n        </CommentBox>\n      )}\n\n      {data.inheritedFrom && (\n        <Box marginTop={3}>\n          <MemberInheritedFrom data={data.inheritedFrom} />\n        </Box>\n      )}\n\n      {/* Parameters */}\n      {parameters && parameters.length > 0 && (\n        <Card borderTop overflow=\"auto\" padding={4} tone=\"inherit\">\n          <Label\n            muted\n            // size={_fontSize(fontSize, [1, 1, 2])}\n          >\n            Parameters\n          </Label>\n\n          <Stack marginTop={4} space={3}>\n            {data.parameters.map((param) => (\n              <TSDocCode deindent key={param._key} prefix={`${param.name}: `} tokens={param.type} />\n            ))}\n          </Stack>\n        </Card>\n      )}\n\n      {data.returnType && (\n        <Card borderTop overflow=\"auto\" padding={4} tone=\"inherit\">\n          <Label\n            muted\n            // size={_fontSize(fontSize, [1, 1, 2])}\n          >\n            Return type\n          </Label>\n\n          <Box marginTop={4}>\n            <TSDocCode deindent tokens={data.returnType} />\n          </Box>\n        </Card>\n      )}\n    </Card>\n  )\n}\n","import {APIConstructor, APIMember} from '@sanity/tsdoc'\nimport {Box, Card, Code, Flex, Label, Stack} from '@sanity/ui'\n\nimport {CommentBox, CommentSummary} from '../../comment'\n// import {useSize} from '../../lib/ui'\nimport {TSDocCode} from '../TSDocCode'\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\nimport {TSMemberReleaseTag} from './TSMemberReleaseTag'\n\nexport function TSContructorMember(props: {\n  data: APIMemberWithInheritance<APIConstructor>\n  member: APIMember\n}): React.ReactNode {\n  const {data, member} = props\n  const {comment, parameters, releaseTag} = data\n  // const fontSize = useSize()\n\n  const title = `new ${member.name}(${parameters.map((p) => p.name).join(', ') || ''})`\n\n  return (\n    <Card\n      border\n      overflow=\"hidden\"\n      padding={4}\n      radius={3}\n      tone={comment?.deprecated ? 'critical' : 'inherit'}\n    >\n      <Flex align=\"flex-start\" gap={1}>\n        <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} />\n\n        <Box flex={1} paddingBottom={4}>\n          <Code language=\"ts\">{title}</Code>\n        </Box>\n      </Flex>\n\n      {comment?.summary && (\n        <CommentBox>\n          <CommentSummary data={comment} />\n        </CommentBox>\n      )}\n\n      {data.inheritedFrom && (\n        <Box padding={3}>\n          <MemberInheritedFrom data={data.inheritedFrom} />\n        </Box>\n      )}\n\n      {/* Parameters */}\n      {parameters && parameters.length > 0 && (\n        <Card borderTop overflow=\"auto\" padding={4} tone=\"inherit\">\n          <Label muted>Parameters</Label>\n\n          <Stack marginTop={4} space={3}>\n            {data.parameters.map((param) => (\n              <TSDocCode deindent key={param._key} prefix={`${param.name}: `} tokens={param.type} />\n            ))}\n          </Stack>\n        </Card>\n      )}\n    </Card>\n  )\n}\n","import {APIConstructSignature} from '@sanity/tsdoc'\nimport {Box, Card, Code, Flex} from '@sanity/ui'\n\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\nimport {TSMemberReleaseTag} from './TSMemberReleaseTag'\n\nexport function TSConstructSignatureMember(props: {\n  data: APIMemberWithInheritance<APIConstructSignature>\n}): React.ReactNode {\n  const {data} = props\n  const {comment, inheritedFrom, releaseTag} = data\n\n  return (\n    <Card border overflow=\"auto\" radius={3}>\n      <Flex align=\"flex-start\" gap={1} padding={3}>\n        <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} />\n\n        <Box flex=\"none\">\n          <Code as=\"h3\" language=\"ts\">\n            TODO: TSConstructSignatureMember\n          </Code>\n        </Box>\n      </Flex>\n\n      {comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={comment} />\n        </CommentBox>\n      )}\n\n      {inheritedFrom && (\n        <Box marginTop={3}>\n          <MemberInheritedFrom data={inheritedFrom} />\n        </Box>\n      )}\n    </Card>\n  )\n}\n","import {APIEnumMember} from '@sanity/tsdoc'\nimport {Box, Card, Code, Flex} from '@sanity/ui'\n\nimport {ReleaseBadge} from '../../components/ReleaseBadge'\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\n\nexport function TSEnumMember(props: {\n  data: APIMemberWithInheritance<APIEnumMember>\n  level?: number\n}): React.ReactNode {\n  const {data} = props\n\n  return (\n    <Card border overflow=\"auto\" radius={3}>\n      <Flex align=\"flex-start\" gap={1} padding={3}>\n        <Box flex=\"none\">\n          <ReleaseBadge releaseTag={data.releaseTag} />\n        </Box>\n\n        <Box flex=\"none\">\n          <Code as=\"h3\" language=\"ts\">\n            {data.name}\n          </Code>\n        </Box>\n      </Flex>\n\n      {data.inheritedFrom && (\n        <Box marginTop={3}>\n          <MemberInheritedFrom data={data.inheritedFrom} />\n        </Box>\n      )}\n    </Card>\n  )\n}\n","import {APIIndexSignature} from '@sanity/tsdoc'\nimport {Box, Card, Code, Flex} from '@sanity/ui'\n\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\nimport {TSMemberReleaseTag} from './TSMemberReleaseTag'\n\nexport function TSIndexSignatureMember(props: {\n  data: APIMemberWithInheritance<APIIndexSignature>\n  fontSize?: number\n  level?: number\n}): React.ReactNode {\n  const {data} = props\n  const {comment, releaseTag} = data\n\n  return (\n    <Card border overflow=\"auto\" radius={3}>\n      <Flex align=\"flex-start\" gap={1} padding={3}>\n        <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} />\n\n        <Box flex=\"none\">\n          <Code as=\"h3\" language=\"ts\">\n            TODO\n          </Code>\n        </Box>\n      </Flex>\n\n      {data.inheritedFrom && (\n        <Box marginTop={3}>\n          <MemberInheritedFrom data={data.inheritedFrom} />\n        </Box>\n      )}\n    </Card>\n  )\n}\n","import {APIMember, APIMethod} from '@sanity/tsdoc'\nimport {Box, Card, Code, Flex, Label, Stack} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {CommentBox, CommentReturnType, CommentSummary} from '../../comment'\nimport {PortableText} from '../../comment/PortableText'\nimport {TSDocCode} from '../TSDocCode'\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\nimport {TSMemberReleaseTag} from './TSMemberReleaseTag'\n\nexport function TSMethodMember(props: {\n  data: APIMemberWithInheritance<APIMethod>\n  member: APIMember\n}): React.ReactNode {\n  const {data, member} = props\n  const {comment, releaseTag} = data\n\n  const title = useMemo(() => {\n    let t = data.isStatic ? `${member.name}.` : ''\n\n    t += `${data.name}(`\n    t += data.parameters?.map((p) => p.name).join(', ') || ''\n    t += `)`\n\n    return t\n  }, [data, member])\n\n  return (\n    <Card\n      border\n      overflow=\"auto\"\n      radius={3}\n      padding={4}\n      tone={comment?.deprecated ? 'critical' : 'inherit'}\n    >\n      <Flex align=\"flex-start\" gap={1}>\n        <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} hidePublicTag />\n\n        <Box flex=\"none\" paddingBottom={4}>\n          <Code as=\"h3\" language=\"ts\">\n            {title}\n          </Code>\n        </Box>\n      </Flex>\n\n      {comment?.summary && (\n        <CommentBox>\n          <CommentSummary data={comment} />\n        </CommentBox>\n      )}\n\n      {data.inheritedFrom && (\n        <Card borderTop padding={3} tone=\"inherit\">\n          <MemberInheritedFrom data={data.inheritedFrom} />\n        </Card>\n      )}\n\n      {/* Parameters */}\n      {data.parameters && data.parameters.length > 0 && (\n        <Card borderTop padding={4} marginTop={4} tone=\"inherit\">\n          <Box marginBottom={4}>\n            <Label muted>Parameters</Label>\n          </Box>\n\n          <Stack space={3}>\n            {data.parameters.map((param, idx) => {\n              const paramComment = comment?.parameters?.[idx]?.content\n\n              return (\n                <Card\n                  paddingY={4}\n                  borderBottom={data.parameters.length - 1 !== idx}\n                  key={param._key}\n                >\n                  <Stack space={3}>\n                    <TSDocCode\n                      deindent\n                      prefix={`${param.name}${param.isOptional ? '?' : ''}: `}\n                      tokens={param.type}\n                    />\n                    {paramComment && (\n                      <CommentBox>\n                        <PortableText blocks={paramComment} />\n                      </CommentBox>\n                    )}\n                  </Stack>\n                </Card>\n              )\n            })}\n          </Stack>\n        </Card>\n      )}\n      {/* Return type */}\n      {data.returnType && data.returnType.length > 0 && (\n        <Card borderTop padding={4} tone=\"inherit\">\n          <Box marginBottom={4}>\n            <Label muted>Returns</Label>\n          </Box>\n\n          <Stack space={3}>\n            <TSDocCode deindent tokens={data.returnType} />\n\n            {comment && (\n              <CommentBox>\n                <CommentReturnType data={comment} />\n              </CommentBox>\n            )}\n          </Stack>\n        </Card>\n      )}\n    </Card>\n  )\n}\n","import {APIMember, APIMethodSignature} from '@sanity/tsdoc'\nimport {Box, Card, Code, Flex, Label, Stack} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {TSDocCode} from '../TSDocCode'\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\nimport {TSMemberReleaseTag} from './TSMemberReleaseTag'\n\nexport function TSMethodSignatureMember(props: {\n  data: APIMemberWithInheritance<APIMethodSignature>\n  member: APIMember\n}): React.ReactNode {\n  const {data, member} = props\n  const {comment, releaseTag} = data\n\n  const title = useMemo(() => {\n    let t = member.name as string\n\n    t += `${data.name}(`\n    t += data.parameters?.map((p) => p.name).join(', ') || ''\n    t += `)`\n\n    return t\n  }, [data, member])\n\n  return (\n    <Card border overflow=\"hidden\" radius={3} tone={comment?.deprecated ? 'critical' : 'inherit'}>\n      <Flex gap={1} padding={2}>\n        <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} />\n\n        <Box flex=\"none\">\n          <Code\n            // as={`h${level}` as any}\n            language=\"ts\"\n            style={{fontWeight: 700, whiteSpace: 'nowrap'}}\n          >\n            {title}\n          </Code>\n        </Box>\n      </Flex>\n\n      {comment?.summary && (\n        <CommentBox padding={3}>\n          <CommentSummary data={comment} />\n        </CommentBox>\n      )}\n\n      {data.inheritedFrom && (\n        <Box marginTop={3}>\n          <MemberInheritedFrom data={data.inheritedFrom} />\n        </Box>\n      )}\n\n      {/* Parameters */}\n      {data.parameters && data.parameters.length > 0 && (\n        <Card overflow=\"auto\" padding={4} tone=\"inherit\">\n          <Box marginBottom={4}>\n            <Label>Parameters</Label>\n          </Box>\n\n          <Stack space={3}>\n            {data.parameters.map((param) => (\n              <TSDocCode deindent key={param._key} prefix={`${param.name}: `} tokens={param.type} />\n            ))}\n          </Stack>\n        </Card>\n      )}\n    </Card>\n  )\n}\n","import {APIProperty} from '@sanity/tsdoc'\nimport {Box, Card, Flex} from '@sanity/ui'\n\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {TSDocCode} from '../TSDocCode'\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\nimport {TSMemberReleaseTag} from './TSMemberReleaseTag'\n\nexport function TSPropertyMember(props: {\n  data: APIMemberWithInheritance<APIProperty>\n}): React.ReactNode {\n  const {data} = props\n  const {\n    comment,\n    inheritedFrom,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    isEventProperty: _isEventProperty,\n    isOptional,\n    isStatic,\n    name,\n    type,\n    releaseTag,\n  } = data\n\n  return (\n    <Card\n      border\n      overflow=\"hidden\"\n      radius={3}\n      padding={4}\n      tone={comment?.deprecated ? 'critical' : 'inherit'}\n    >\n      <Flex align=\"flex-start\" gap={1}>\n        <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} hidePublicTag />\n\n        <Box flex={1} paddingBottom={4}>\n          <TSDocCode\n            prefix={`${isStatic ? 'static ' : ''}${name}${isOptional ? '?' : ''}: `}\n            tokens={type}\n          />\n        </Box>\n      </Flex>\n\n      {comment && (\n        <CommentBox>\n          <CommentSummary data={comment} />\n        </CommentBox>\n      )}\n\n      {inheritedFrom && (\n        <Card borderTop padding={3} tone=\"inherit\">\n          <MemberInheritedFrom data={inheritedFrom} />\n        </Card>\n      )}\n    </Card>\n  )\n}\n","import {APIPropertySignature} from '@sanity/tsdoc'\nimport {Box, Card, Flex} from '@sanity/ui'\n\nimport {CommentBox, CommentSummary} from '../../comment'\nimport {Size} from '../../lib/ui'\nimport {TSDocCode} from '../TSDocCode'\nimport {APIMemberWithInheritance} from './_types'\nimport {MemberInheritedFrom} from './MemberInheritedFrom'\nimport {TSMemberReleaseTag} from './TSMemberReleaseTag'\n\nexport function TSPropertySignatureMember(props: {\n  data: APIMemberWithInheritance<APIPropertySignature>\n}): React.ReactNode {\n  const {data} = props\n  const {comment, inheritedFrom, isOptional, name, type, releaseTag} = data\n\n  return (\n    <Card border overflow=\"auto\" padding={4} radius={3} tone=\"inherit\">\n      <Flex align=\"flex-start\" gap={1}>\n        <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} hidePublicTag />\n        <Box flex=\"none\">\n          <TSDocCode deindent prefix={`${name}${isOptional ? '?' : ''}: `} tokens={type} />\n        </Box>\n      </Flex>\n\n      {comment?.summary && (\n        <Size delta={-1}>\n          <CommentBox paddingTop={4}>\n            {/* TODO: CommentDeprecatedCallout */}\n            <CommentSummary data={comment} />\n            {/* TODO: CommentRemarks */}\n            {/* TODO: CommentExampleBlocks */}\n          </CommentBox>\n        </Size>\n      )}\n\n      {inheritedFrom && (\n        <Card borderTop marginTop={3} paddingTop={3} tone=\"inherit\">\n          <MemberInheritedFrom data={inheritedFrom} />\n        </Card>\n      )}\n    </Card>\n  )\n}\n","import {APIMember} from '@sanity/tsdoc'\nimport {Card, Stack, Text} from '@sanity/ui'\n\nimport {useSpace, useTextSize} from '../../lib/ui'\nimport {APIMemberWithInheritance} from './_types'\nimport {TSCallSignatureMember} from './TSCallSignatureMember'\nimport {TSContructorMember} from './TSConstructorMember'\nimport {TSConstructSignatureMember} from './TSConstructSignatureMember'\nimport {TSEnumMember} from './TSEnumMember'\nimport {TSIndexSignatureMember} from './TSIndexSignatureMember'\nimport {TSMethodMember} from './TSMethodMember'\nimport {TSMethodSignatureMember} from './TSMethodSignatureMember'\nimport {TSPropertyMember} from './TSPropertyMember'\nimport {TSPropertySignatureMember} from './TSPropertySignatureMember'\n\nexport function Members(props: {\n  data: APIMemberWithInheritance[]\n  member: APIMember\n}): React.ReactNode {\n  const {data, member} = props\n\n  return (\n    <Stack marginTop={useSpace([1, 1, 3])} space={useSpace([1, 2, 3])}>\n      {data.map((m) => (\n        <Member data={m} key={m._key} member={member} />\n      ))}\n    </Stack>\n  )\n}\n\nfunction Member(props: {data: APIMemberWithInheritance; member: APIMember}) {\n  const {data, member} = props\n  const textSize = useTextSize([-1, 0, 1])\n\n  if (data._type === 'api.callSignature') {\n    return <TSCallSignatureMember data={data} />\n  }\n\n  if (data._type === 'api.constructor') {\n    return <TSContructorMember data={data} member={member} />\n  }\n\n  if (data._type === 'api.method') {\n    return <TSMethodMember data={data} member={member} />\n  }\n\n  if (data._type === 'api.property') {\n    return <TSPropertyMember data={data} />\n  }\n\n  if (data._type === 'api.propertySignature') {\n    return <TSPropertySignatureMember data={data} />\n  }\n\n  if (data._type === 'api.methodSignature') {\n    return <TSMethodSignatureMember data={data} member={member} />\n  }\n\n  if (data._type === 'api.constructSignature') {\n    return <TSConstructSignatureMember data={data} />\n  }\n\n  if (data._type === 'api.indexSignature') {\n    return <TSIndexSignatureMember data={data} />\n  }\n\n  if (data._type === 'api.enumMember') {\n    return <TSEnumMember data={data} />\n  }\n\n  return (\n    <Card padding={4} radius={2} tone=\"critical\">\n      <Text size={textSize}>\n        Unexpected member type: <code>{data._type}</code>\n      </Text>\n    </Card>\n  )\n}\n","import {APIClass, APIConstructor, APIMethod, APIProperty, SanityArrayItem} from '@sanity/tsdoc'\nimport {Box} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {CommentRemarks} from '../../comment'\nimport {H} from '../../lib/ui'\nimport {Members} from '../members'\nimport {_getMembers} from '../members/helpers'\n\nfunction useMembers(data: APIClass) {\n  return useMemo(() => {\n    const members = _getMembers(data) as APIClass['members']\n\n    const ret: {\n      constructors: SanityArrayItem<APIConstructor>[]\n      methods: SanityArrayItem<APIMethod>[]\n      properties: SanityArrayItem<APIProperty>[]\n      staticMethods: SanityArrayItem<APIMethod>[]\n    } = {\n      constructors: [],\n      methods: [],\n      properties: [],\n      staticMethods: [],\n    }\n\n    for (const m of members) {\n      if (m._type === 'api.constructor') {\n        ret.constructors.push(m)\n      } else if (m._type === 'api.method') {\n        if (m.isStatic) {\n          ret.staticMethods.push(m)\n        } else {\n          ret.methods.push(m)\n        }\n      } else if (m._type === 'api.property') {\n        ret.properties.push(m)\n      } else {\n        // eslint-disable-next-line\n        console.log('unknown member type:', (m as any)._type)\n      }\n    }\n\n    return ret\n  }, [data])\n}\n\nexport function ClassContent(props: {data: APIClass}): React.ReactNode {\n  const {data} = props\n  const {comment} = data\n  const {constructors, methods, properties, staticMethods} = useMembers(data)\n\n  return (\n    <>\n      {comment?.remarks?.content && (\n        <Box marginTop={6}>\n          <CommentRemarks data={comment} />\n        </Box>\n      )}\n\n      {/* <Referrers data={referrers} /> */}\n\n      {constructors.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Constructor</H>\n          <Members data={constructors} member={data} />\n        </>\n      )}\n\n      {properties.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Properties</H>\n          <Members data={properties} member={data} />\n        </>\n      )}\n\n      {staticMethods.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Static methods</H>\n          <Members data={staticMethods} member={data} />\n        </>\n      )}\n\n      {methods.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Methods</H>\n          <Members data={methods} member={data} />\n        </>\n      )}\n    </>\n  )\n}\n","import {APIFunction} from '@sanity/tsdoc'\nimport {TSDocAppParams} from '@sanity/tsdoc/store'\nimport {Box, Card, Stack} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {TSDocSymbol, TSDocSymbolPreview} from '../../app'\nimport {CommentExampleBlocks, CommentRemarks, CommentReturnType} from '../../comment'\nimport {H, P} from '../../lib/ui'\nimport {Members} from '../members'\nimport {_getMembers} from '../members/helpers'\nimport {TSDocCode} from '../TSDocCode'\n\nexport function FunctionContent(props: {data: APIFunction}): React.ReactNode {\n  const {data} = props\n\n  const {comment, name, parameters, propsType, returnType, typeParameters} = data\n\n  const propsTypeMembers = useMemo(() => propsType && _getMembers(propsType), [propsType])\n\n  const codePrefix = useMemo(\n    () =>\n      [\n        `function ${name}`,\n        typeParameters.length > 0\n          ? `<${typeParameters\n              .map((p) => {\n                let n = p.name\n\n                if (p.constraintType && p.constraintType.length > 0) {\n                  n = `${n} extends ${p.constraintType.map((t) => t.text).join('')}`\n                }\n\n                if (p.defaultType.length > 0) {\n                  n = `${n} = ${p.defaultType.map((t) => t.text).join('')}`\n                }\n\n                return n\n              })\n              .join(', ')}>`\n          : '',\n        `(${parameters\n          .map((param) => `${param.name}: ${param.type.map((t) => t.text).join('')}`)\n          .join(', ')}): `,\n      ].join(''),\n    [name, parameters, typeParameters],\n  )\n\n  const propsTypeLinkParams: TSDocAppParams | null = useMemo(\n    () =>\n      propsType?.export?.path &&\n      propsType?.package?.name &&\n      propsType?.name &&\n      propsType.release?.version\n        ? {\n            exportPath: propsType.export.path,\n            packageName: propsType.package.name,\n            packageScope: propsType.package.scope || null,\n            memberName: propsType.name,\n            releaseVersion: propsType.release.version,\n          }\n        : null,\n    [propsType],\n  )\n\n  return (\n    <>\n      <H size={[-1, 0, 1, 2]}>Signature</H>\n\n      <Card border padding={4} radius={3} overflow=\"auto\" tone=\"inherit\">\n        <TSDocCode prefix={codePrefix} tokens={returnType} />\n      </Card>\n\n      {propsType && propsTypeLinkParams && propsTypeMembers && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Props</H>\n\n          <P muted size={[-1, 0, 1]}>\n            Defined by the{' '}\n            <span\n              style={{\n                display: 'inline-flex',\n                verticalAlign: 'middle',\n                position: 'relative',\n              }}\n            >\n              <TSDocSymbol border name={propsType.name} padding={2} radius={3} />\n            </span>{' '}\n            interface.\n          </P>\n\n          {propsTypeMembers.length > 0 && <Members data={propsTypeMembers} member={data} />}\n\n          {propsTypeMembers.length === 0 && (\n            <>\n              <TSDocSymbolPreview name={propsType.name} />\n              <P muted size={[-1, 0, 1]}>\n                <em>No members.</em>\n              </P>\n            </>\n          )}\n        </>\n      )}\n\n      {returnType.length > 0 ? (\n        <>\n          <H size={[-1, 0, 1, 2]}>Returns</H>\n          <Card\n            border\n            overflow=\"hidden\"\n            padding={4}\n            radius={3}\n            tone={comment?.deprecated ? 'critical' : 'inherit'}\n          >\n            <Stack space={4}>\n              <Box>\n                <TSDocCode tokens={returnType} />\n              </Box>\n              {comment && <CommentReturnType data={comment} />}\n            </Stack>\n          </Card>\n        </>\n      ) : null}\n\n      {comment && <CommentRemarks data={comment} />}\n      {comment && <CommentExampleBlocks data={comment} />}\n    </>\n  )\n}\n","import {\n  APICallSignature,\n  APIConstructSignature,\n  APIIndexSignature,\n  APIInterface,\n  APIMethodSignature,\n  APIPropertySignature,\n  SanityArrayItem,\n} from '@sanity/tsdoc'\nimport {Card, Code} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {_compileInterfaceDefinition} from '../../app/lib/_compile'\nimport {CommentExampleBlocks, CommentRemarks} from '../../comment'\nimport {H, useTextSize} from '../../lib/ui'\nimport {Members} from '../members'\nimport {_getMembers} from '../members/helpers'\n\nfunction useMembers(data: APIInterface) {\n  return useMemo(() => {\n    const members = _getMembers(data) as APIInterface['members']\n\n    const ret: {\n      callSignatures: SanityArrayItem<APICallSignature>[]\n      constructSignatures: SanityArrayItem<APIConstructSignature>[]\n      indexSignatures: SanityArrayItem<APIIndexSignature>[]\n      methodSignatures: SanityArrayItem<APIMethodSignature>[]\n      propertySignatures: SanityArrayItem<APIPropertySignature>[]\n    } = {\n      callSignatures: [],\n      constructSignatures: [],\n      indexSignatures: [],\n      methodSignatures: [],\n      propertySignatures: [],\n    }\n\n    for (const m of members) {\n      if (m._type === 'api.callSignature') {\n        ret.callSignatures.push(m)\n      } else if (m._type === 'api.constructSignature') {\n        ret.constructSignatures.push(m)\n      } else if (m._type === 'api.indexSignature') {\n        ret.indexSignatures.push(m)\n      } else if (m._type === 'api.methodSignature') {\n        ret.methodSignatures.push(m)\n      } else if (m._type === 'api.propertySignature') {\n        ret.propertySignatures.push(m)\n      } else {\n        // eslint-disable-next-line\n        console.log('WARN: unknown member type:', (m as any)._type)\n      }\n    }\n\n    return ret\n  }, [data])\n}\n\nexport function InterfaceContent(props: {data: APIInterface}): React.ReactNode {\n  const {data} = props\n  const {comment} = data\n\n  const {\n    callSignatures,\n    constructSignatures,\n    indexSignatures,\n    methodSignatures,\n    propertySignatures,\n  } = useMembers(data)\n\n  return (\n    <>\n      <H size={[-1, 0, 1, 2]}>Signature</H>\n      <Card border overflow=\"auto\" padding={4} radius={3}>\n        <Code language=\"typescript\" size={useTextSize([-1, -1, 0])}>\n          {_compileInterfaceDefinition(data)}\n        </Code>\n      </Card>\n\n      {constructSignatures.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Construct signatures</H>\n          <Members data={constructSignatures} member={data} />\n        </>\n      )}\n\n      {callSignatures.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Call signatures</H>\n          <Members data={callSignatures} member={data} />\n        </>\n      )}\n\n      {indexSignatures.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Index signatures</H>\n          <Members data={indexSignatures} member={data} />\n        </>\n      )}\n\n      {methodSignatures.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Call signatures</H>\n          <Members data={methodSignatures} member={data} />\n        </>\n      )}\n\n      {propertySignatures.length > 0 && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Properties</H>\n          <Members data={propertySignatures} member={data} />\n        </>\n      )}\n\n      {comment && <CommentRemarks data={comment} />}\n      {comment && <CommentExampleBlocks data={comment} />}\n    </>\n  )\n}\n","import {APINamespace} from '@sanity/tsdoc'\nimport {Stack} from '@sanity/ui'\n\nimport {CommentExampleBlocks, CommentRemarks} from '../../comment'\nimport {H} from '../../lib/ui'\nimport {Members} from '../members'\n\nexport function NamespaceContent(props: {\n  data: APINamespace\n  fontSize?: number\n  level?: number\n}): React.ReactNode {\n  const {data} = props\n  const {comment, members} = data\n\n  return (\n    <Stack>\n      <Stack marginTop={6} space={4}>\n        <H>Members</H>\n        <Members data={members} member={data} />\n      </Stack>\n\n      {comment && <CommentRemarks data={comment} />}\n      {comment && <CommentExampleBlocks data={comment} />}\n    </Stack>\n  )\n}\n","import {APITypeAlias} from '@sanity/tsdoc'\nimport {Card} from '@sanity/ui'\n\nimport {_compileTypeParameters} from '../../app/lib/_compile'\nimport {CommentExampleBlocks, CommentRemarks} from '../../comment'\nimport {H} from '../../lib/ui'\nimport {TSDocCode} from '../TSDocCode'\n\nexport function TypeAliasContent(props: {data: APITypeAlias}): React.ReactNode {\n  const {data} = props\n  const {comment, name, type, typeParameters = []} = data\n\n  return (\n    <>\n      {type && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Signature</H>\n\n          <Card border overflow=\"auto\" padding={4} radius={3} tone=\"inherit\">\n            <TSDocCode\n              prefix={`type ${name}${_compileTypeParameters(typeParameters)} = `}\n              tokens={type}\n            />\n          </Card>\n        </>\n      )}\n\n      {comment && <CommentRemarks data={comment} />}\n\n      {comment && <CommentExampleBlocks data={comment} />}\n    </>\n  )\n}\n","import {Box, Card, Stack, Text} from '@sanity/ui'\n\nimport type {TSDocParamBlock} from '../../../core'\nimport {CommentBox} from '../../comment'\nimport {PortableText} from '../../comment/PortableText'\nimport {useSpace, useTextSize} from '../../lib/ui'\n\nexport function TSVariableParamMember(props: {data: TSDocParamBlock}): React.ReactNode {\n  const {data} = props\n  const {content, name} = data\n\n  const textSize = useTextSize([-1, -1, 0])\n\n  return (\n    <Stack marginTop={useSpace([1, 1, 3])} space={useSpace([1, 2, 3])}>\n      <Card border overflow=\"hidden\" radius={3} padding={4}>\n        <Box paddingBottom={4}>\n          <Text size={textSize} muted weight=\"semibold\">\n            {name}\n          </Text>\n        </Box>\n\n        {content && (\n          <CommentBox>\n            <PortableText blocks={content} />\n          </CommentBox>\n        )}\n      </Card>\n    </Stack>\n  )\n}\n","import {APIVariable} from '@sanity/tsdoc'\nimport {Box, Card, Label, Text} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {TSDocSymbol} from '../../app'\nimport {CommentDeprecatedCallout, CommentExampleBlocks, CommentRemarks} from '../../comment'\nimport {H, P} from '../../lib/ui'\nimport {CodeSnippet} from '../CodeSnippet'\nimport {Members} from '../members'\nimport {_getMembers} from '../members/helpers'\nimport {TSVariableParamMember} from '../members/TSVariableParamMember'\nimport {TSDocCode} from '../TSDocCode'\n\nexport function VariableContent(props: {data: APIVariable}): React.ReactNode {\n  const {data} = props\n  const {comment, isReactComponentType, propsType, type} = data\n  const {parameters = []} = comment || {}\n\n  const propsTypeMembers = useMemo(\n    () => (isReactComponentType && propsType ? _getMembers(propsType) : undefined),\n    [isReactComponentType, propsType],\n  )\n\n  return (\n    <>\n      {comment && <CommentDeprecatedCallout data={comment} />}\n\n      {isReactComponentType && (\n        <>\n          <H size={[-1, 0, 1, 2]}>Signature</H>\n          <Card border padding={4} radius={3} overflow=\"auto\" tone=\"inherit\">\n            <TSDocCode tokens={type} />\n          </Card>\n        </>\n      )}\n\n      {propsType && (\n        <Box marginTop={5}>\n          <H size={[-1, 0, 1, 2]}>Props</H>\n\n          <P muted size={[-1, 0, 1]}>\n            Defined by the{' '}\n            <span\n              style={{\n                display: 'inline-flex',\n                verticalAlign: 'middle',\n                position: 'relative',\n              }}\n            >\n              <TSDocSymbol border name={propsType.name} padding={2} radius={3} />\n            </span>{' '}\n            interface.\n          </P>\n\n          {propsTypeMembers && (\n            <>\n              {propsTypeMembers.length > 0 && <Members data={propsTypeMembers} member={data} />}\n\n              {propsTypeMembers.length === 0 && (\n                <P muted size={[-1, 0, 1]}>\n                  <em>No members.</em>\n                </P>\n              )}\n            </>\n          )}\n        </Box>\n      )}\n\n      {parameters.length > 0 ? (\n        <>\n          <H size={[-1, 0, 1, 2]}>Parameters</H>\n          {parameters.map((param) => (\n            <TSVariableParamMember data={param} key={param._key} />\n          ))}\n        </>\n      ) : null}\n\n      {!isReactComponentType && type && (\n        <Card border marginTop={5} overflow=\"auto\" padding={4} radius={3} tone=\"inherit\">\n          <Box marginBottom={4}>\n            <Label muted weight=\"semibold\">\n              Type\n            </Label>\n          </Box>\n\n          <Text muted>\n            <CodeSnippet data={type} />\n          </Text>\n        </Card>\n      )}\n\n      {comment && <CommentRemarks data={comment} />}\n      {comment && <CommentExampleBlocks data={comment} />}\n    </>\n  )\n}\n","import {APIMember} from '@sanity/tsdoc'\nimport {Code} from '@sanity/ui'\n\nimport {useTextSize} from '../../lib/ui'\nimport {ClassContent} from './ClassContent'\nimport {FunctionContent} from './FunctionContent'\nimport {InterfaceContent} from './InterfaceContent'\nimport {NamespaceContent} from './NamespaceContent'\nimport {TypeAliasContent} from './TypeAliasContent'\nimport {VariableContent} from './VariableContent'\n\nexport function ReferenceContent(props: {data: APIMember}): React.ReactNode {\n  const {data} = props\n  const textSize = useTextSize([1, 1, 2])\n\n  if (data._type === 'api.class') {\n    return <ClassContent data={data} />\n  }\n\n  if (data._type === 'api.function') {\n    return <FunctionContent data={data} />\n  }\n\n  if (data._type === 'api.interface') {\n    return <InterfaceContent data={data} />\n  }\n\n  if (data._type === 'api.namespace') {\n    return <NamespaceContent data={data} />\n  }\n\n  if (data._type === 'api.typeAlias') {\n    return <TypeAliasContent data={data} />\n  }\n\n  if (data._type === 'api.variable') {\n    return <VariableContent data={data} />\n  }\n\n  return (\n    <Code language=\"json\" size={textSize}>\n      {JSON.stringify(data, null, 2)}\n    </Code>\n  )\n}\n","import {APIMember} from '@sanity/tsdoc'\nimport {Box, Card, Code, Container, Flex, Text, ThemeColorSyntax} from '@sanity/ui'\n\nimport {TSDocMemberTitle} from '../app'\nimport {CommentDeprecatedCallout, CommentSummary} from '../comment'\nimport {SyntaxText} from '../components/ColoredCode'\nimport {H, Level, Size, useSpace, useTextSize} from '../lib/ui'\nimport {ReferenceContent} from './content'\nimport {TSMemberReleaseTag} from './members/TSMemberReleaseTag'\n\nconst TYPE_NAME: Record<APIMember['_type'], string> = {\n  'api.class': 'class',\n  'api.enum': 'enum',\n  'api.function': 'function',\n  'api.interface': 'interface',\n  'api.namespace': 'namespace',\n  'api.typeAlias': 'type',\n  'api.variable': 'variable',\n}\n\nconst TYPE_NAME_SYNTAX: Record<string, keyof ThemeColorSyntax | undefined> = {\n  class: 'keyword',\n  component: 'keyword',\n  enum: 'keyword',\n  function: 'keyword',\n  hook: 'keyword',\n  interface: 'keyword',\n  namespace: 'keyword',\n  type: 'keyword',\n  variable: undefined,\n}\n\nfunction _getTypeName(data: APIMember) {\n  if ('isReactComponentType' in data && data.isReactComponentType) {\n    return 'component'\n  }\n\n  if ('isReactHook' in data && data.isReactHook) {\n    return 'hook'\n  }\n\n  return TYPE_NAME[data._type]\n}\n\n/** @beta */\nexport function TSDocArticle(props: {data: APIMember & {versions: string[]}}): React.ReactNode {\n  const {data} = props\n  const isType = ['api.interface', 'api.namespace', 'api.typeAlias'].includes(data._type)\n  const typeName = _getTypeName(data)\n  const {comment, releaseTag} = data\n\n  return (\n    <Box\n      as=\"article\"\n      data-ui=\"TSDocArticle\"\n      paddingX={useSpace([3, 3, 3, 4])}\n      paddingY={useSpace([3, 3, 3, 4])}\n    >\n      <Container width={2}>\n        <Flex align=\"center\" gap={1}>\n          <TSMemberReleaseTag comment={comment} releaseTag={releaseTag} />\n\n          <Box flex=\"none\" padding={1}>\n            <Text size={useTextSize([-1, -1, 0])}>\n              <SyntaxText $syntax={TYPE_NAME_SYNTAX[typeName]}>{typeName}</SyntaxText>\n            </Text>\n          </Box>\n        </Flex>\n\n        <H size={[-1, 0, 1, 2]}>\n          <TSDocMemberTitle data={data} />\n        </H>\n\n        <Level>\n          {data.comment?.deprecated && <CommentDeprecatedCallout data={data.comment} />}\n\n          <Size delta={1}>{data.comment && <CommentSummary data={data.comment} />}</Size>\n\n          <Box marginTop={useSpace([3, 3, 4])}>\n            <H size={[-1, 0, 1, 2]}>Import</H>\n\n            <Card border overflow=\"auto\" padding={4} radius={3} tone=\"inherit\">\n              <Code language=\"typescript\" size={useTextSize([-1, -1, 0])}>{`import {${\n                isType ? `type ` : ``\n              }${data.name}} from '${data.export?.name}'`}</Code>\n            </Card>\n          </Box>\n\n          <ReferenceContent data={data} />\n        </Level>\n      </Container>\n    </Box>\n  )\n}\n","import {TSDocAPIMember, TSDocAppParams} from '@sanity/tsdoc/store'\nimport {useEffect, useState} from 'react'\n\nimport {useTSDoc} from './useTSDoc'\n\n/** @beta */\nexport function useMember(props: {params: TSDocAppParams | null}): {\n  data?: TSDocAPIMember[] | null\n  error: Error | null\n  loading: boolean\n} {\n  const {params} = props\n  const {store} = useTSDoc()\n\n  const [data, setData] = useState<TSDocAPIMember[] | undefined | null>(null)\n  const [error, setError] = useState<Error | null>(null)\n  const [loading, setLoading] = useState(false)\n\n  useEffect(() => {\n    async function run() {\n      if (!params) return\n\n      setLoading(true)\n      setData(null)\n\n      try {\n        setData(await store.member.get(params))\n      } catch (err) {\n        if (err instanceof Error) {\n          setError(err)\n        }\n      }\n\n      setLoading(false)\n    }\n\n    run()\n  }, [params, store])\n\n  return {data, error, loading}\n}\n","import type {APIPackage} from '@sanity/tsdoc'\nimport type {TSDocAppParams} from '@sanity/tsdoc/store'\nimport {useEffect, useState} from 'react'\n\nimport {useTSDoc} from './useTSDoc'\n\n/** @beta */\nexport function usePackage(props: {params: TSDocAppParams | null}): {\n  data: APIPackage | null | undefined\n  error: Error | null\n  loading: boolean\n} {\n  const {params} = props\n  const {store} = useTSDoc()\n\n  const [data, setData] = useState<APIPackage | null | undefined>(null)\n  const [error, setError] = useState<Error | null>(null)\n  const [loading, setLoading] = useState(true)\n\n  useEffect(() => {\n    let cancelled = false\n\n    async function run() {\n      if (!params) return\n\n      try {\n        setLoading(true)\n        setData(null)\n        const data = await store.package.get(params)\n\n        if (!cancelled) {\n          setData(data)\n        }\n      } catch (err) {\n        if (err instanceof Error && !cancelled) {\n          setError(err)\n        }\n      } finally {\n        if (!cancelled) {\n          setLoading(false)\n        }\n      }\n    }\n\n    run()\n\n    return () => {\n      cancelled = true\n    }\n  }, [params, store])\n\n  return {data, error, loading}\n}\n","import {Box, Flex, Spinner, Text} from '@sanity/ui'\n\nimport {TSDocArticle} from '../article'\nimport {useSpace} from '../lib/ui'\nimport {useMember} from './useMember'\nimport {usePackage} from './usePackage'\nimport {useTSDoc} from './useTSDoc'\n\n/** @beta */\nexport function TSDocDetail(): React.ReactNode {\n  const {params} = useTSDoc()\n  const member = useMember({params})\n  const pkg = usePackage({params})\n  const padding = useSpace([3, 3, 3, 3])\n\n  if (!params.memberSlug) {\n    return (\n      <Box padding={padding}>\n        <Flex align=\"center\" height=\"fill\" justify=\"center\">\n          <Text muted>Select an API member</Text>\n        </Flex>\n      </Box>\n    )\n  }\n\n  if (pkg.loading || member.loading) {\n    return (\n      <Box padding={padding}>\n        <Flex align=\"center\" height=\"fill\" justify=\"center\">\n          <Spinner />\n        </Flex>\n      </Box>\n    )\n  }\n\n  if (!pkg.data) {\n    return (\n      <Box padding={padding}>\n        <Flex align=\"center\" height=\"fill\" justify=\"center\">\n          <Text muted>\n            Package not found: {[params.packageScope, params.packageName].filter(Boolean).join('/')}\n          </Text>\n        </Flex>\n      </Box>\n    )\n  }\n\n  if (!member.data || !member.data.length) {\n    return (\n      <Box padding={padding}>\n        <Flex align=\"center\" height=\"fill\" justify=\"center\">\n          <Text>Member not found: {params.memberSlug}</Text>\n        </Flex>\n      </Box>\n    )\n  }\n\n  return <>{member.data?.map((member) => <TSDocArticle key={member._id} data={member} />)}</>\n}\n","import {TSDocAppParams, TSDocStore} from '@sanity/tsdoc/store'\nimport {useCallback, useEffect, useMemo, useRef} from 'react'\nimport {registerLanguage} from 'react-refractor'\nimport bash from 'refractor/bash'\nimport javascript from 'refractor/javascript'\nimport json from 'refractor/json'\nimport jsx from 'refractor/jsx'\nimport typescript from 'refractor/typescript'\n\nimport {compilePath} from './lib/compilePath'\nimport {TSDocContext, TSDocContextValue} from './TSDocContext'\n\nregisterLanguage(bash)\nregisterLanguage(javascript)\nregisterLanguage(json)\nregisterLanguage(jsx)\nregisterLanguage(typescript)\n\nconst EMPTY_PARAMS: TSDocAppParams = {\n  exportPath: null,\n  memberName: null,\n  packageName: null,\n  packageScope: null,\n  releaseVersion: null,\n}\n\n/** @beta */\nexport interface TSDocProviderProps {\n  basePath?: string\n  children: React.ReactNode\n  onPathChange: (nextPath: string, replace?: boolean) => void\n  params?: TSDocAppParams\n  path: string\n  store: TSDocStore\n}\n\n/** @beta */\nexport function TSDocProvider(props: TSDocProviderProps): React.ReactNode {\n  const {\n    basePath = '',\n    children,\n    onPathChange,\n    path: fullPath,\n    params = EMPTY_PARAMS,\n    store,\n  } = props\n\n  const path = _consumeBasePath(basePath, fullPath)\n\n  const paramsRef = useRef(params)\n\n  const updateParams = useCallback(\n    (fn: (params: TSDocAppParams) => TSDocAppParams) => {\n      const nextParams = fn(paramsRef.current || EMPTY_PARAMS)\n\n      paramsRef.current = nextParams\n\n      const nextPath = compilePath(nextParams)\n\n      onPathChange(nextPath)\n    },\n    [onPathChange],\n  )\n\n  const tsdoc: TSDocContextValue = useMemo(\n    () => ({basePath, onPathChange, params, path, store, updateParams}),\n    [basePath, onPathChange, params, path, store, updateParams],\n  )\n\n  useEffect(() => {\n    paramsRef.current = params\n  }, [params])\n\n  return <TSDocContext.Provider value={tsdoc}>{children}</TSDocContext.Provider>\n}\n\nfunction _consumeBasePath(basePath: string, fullPath: string) {\n  if (basePath === fullPath) return '/'\n\n  if (!fullPath.startsWith(basePath)) {\n    return '/'\n  }\n\n  return fullPath.slice(basePath.length)\n}\n","import {TSDocAppParams, TSDocStore} from '@sanity/tsdoc/store'\nimport {Card, Flex} from '@sanity/ui'\nimport {useCallback, useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {parsePath} from './helpers'\nimport {TSDocNav} from './nav'\nimport {TSDocDetail} from './TSDocDetail'\nimport {TSDocProvider} from './TSDocProvider'\n\n/** @beta */\nexport interface TSDocAppProps {\n  basePath?: string\n  onPathChange: (value: string, replace?: boolean) => void\n  path: string\n  store: TSDocStore\n  releaseVersion?: string\n}\n\nconst Root = styled(Card)({\n  lineHeight: 0,\n})\n\n/**\n * @example\n * ```tsx\n * import {TSDocApp, createTSDocMemoryStore} from '@sanity/tsdoc/react'\n * import {useState} from 'react'\n *\n * const store = createTSDocMemoryStore({docs: []})\n * const [path, setPath] = useState<string | null>(null)\n *\n * <TSDocApp path={path} onPathChange={setPath} store={store} />\n * ```\n *\n * @beta\n * */\nexport function TSDocApp(props: TSDocAppProps): React.ReactNode {\n  const {basePath = '', onPathChange, path, store, releaseVersion = ''} = props\n\n  const params: TSDocAppParams | undefined = useMemo(\n    () => parsePath(path, {basePath, version: releaseVersion}),\n    [basePath, path, releaseVersion],\n  )\n\n  const handlePathChange = useCallback(\n    (nextPath: string, replace?: boolean) => {\n      onPathChange(`${basePath}${nextPath}`, replace)\n    },\n    [basePath, onPathChange],\n  )\n\n  return (\n    <TSDocProvider\n      basePath={basePath}\n      onPathChange={handlePathChange}\n      params={params}\n      path={path}\n      store={store}\n    >\n      <Root height=\"fill\">\n        <Flex direction=\"column\" height=\"fill\">\n          <Flex flex={1}>\n            <Card borderRight display={['none', 'none', 'block']} style={{width: 400}}>\n              <TSDocNav />\n            </Card>\n\n            {params && (\n              <Card flex={1} overflow=\"auto\">\n                <TSDocDetail />\n              </Card>\n            )}\n          </Flex>\n        </Flex>\n      </Root>\n    </TSDocProvider>\n  )\n}\n","import {APIMember, APISymbol} from '@sanity/tsdoc'\nimport {useEffect, useState} from 'react'\n\nimport {useTSDoc} from './useTSDoc'\n\n/** @beta */\nexport interface UseSymbolData extends APISymbol {\n  members: APIMember[]\n}\n\n/** @beta */\nexport interface UseSymbolProps {\n  member?: APIMember\n  name: string\n  packageScope?: string | null\n  packageName?: string | null\n}\n\n/** @beta */\nexport function useSymbol(props: UseSymbolProps): {\n  data?: UseSymbolData | null\n  error: Error | null\n  loading: boolean\n} {\n  const {member, name, packageName: packageNameProp, packageScope: packageScopeProp} = props\n  const {params, store} = useTSDoc()\n  const packageScope = packageScopeProp ?? params?.packageScope\n  const packageName = packageNameProp ?? params?.packageName\n\n  const [data, setData] = useState<UseSymbolData | null | undefined>(null)\n  const [error, setError] = useState<Error | null>(null)\n  const [loading, setLoading] = useState(false)\n\n  useEffect(() => {\n    if (member) {\n      setData({\n        _type: 'api.symbol',\n        name,\n        package: {\n          _type: 'api.package',\n          scope: packageScope || undefined,\n          name: packageName!,\n        } as any,\n        members: [member],\n      })\n\n      return\n    }\n\n    async function run() {\n      if (!packageName) return\n\n      try {\n        setLoading(true)\n        setData(null)\n        setData(\n          await store.symbol.get({\n            packageName,\n            packageScope,\n            name,\n          }),\n        )\n      } catch (err) {\n        if (err instanceof Error) {\n          setError(err)\n        }\n      }\n\n      setLoading(false)\n    }\n\n    run()\n  }, [member, name, packageName, packageScope, store])\n\n  return {data, error, loading}\n}\n","import {APIMember} from '@sanity/tsdoc'\nimport {TSDocAppParams} from '@sanity/tsdoc/store'\nimport {Card, CardProps, Text, Tooltip, TooltipProps} from '@sanity/ui'\nimport {useMemo} from 'react'\nimport {styled} from 'styled-components'\n\nimport {UnformattedCode} from '../components/UnformattedCode'\nimport {_fontSize} from '../helpers'\nimport {Size} from '../lib/ui'\nimport {ReferenceTooltipContent} from '../tooltip'\nimport {TSDocMemberTitle} from './TSDocMemberTitle'\nimport {useMemberLink} from './useMemberLink'\nimport {useSymbol} from './useSymbol'\n\nconst Root = styled(Card)`\n  &:not([hidden]) {\n    display: inline-block;\n  }\n\n  &:hover {\n    text-decoration: none;\n  }\n`\n\n/** @beta */\nexport function TSDocSymbol(\n  props: Omit<CardProps, 'as'> & {\n    member?: APIMember\n    fontSize?: number\n    name: string\n    packageScope?: string | null\n    packageName?: string | null\n    tooltip?: Omit<TooltipProps, 'content'>\n  },\n): React.ReactNode {\n  const {member, fontSize = 2, name, packageScope, packageName, tooltip, ...restProps} = props\n\n  const {data} = useSymbol({\n    member,\n    name,\n    packageName,\n    packageScope,\n  })\n\n  const symbolMembers = data?.members\n\n  const content = useMemo(() => {\n    if (!symbolMembers || symbolMembers.length === 0) return null\n\n    return (\n      <Size delta={-1}>\n        <ReferenceTooltipContent data={symbolMembers[0]!} />\n      </Size>\n    )\n  }, [symbolMembers])\n\n  const child = useMemo(() => {\n    if (!symbolMembers || symbolMembers.length === 0) return <UnformattedCode>…</UnformattedCode>\n\n    const member = symbolMembers[0]!\n\n    return <TSDocMemberTitle data={member} />\n  }, [symbolMembers])\n\n  const params: TSDocAppParams | null = useMemo(() => {\n    if (!symbolMembers || symbolMembers.length === 0) return null\n\n    const member = symbolMembers[0]!\n\n    return {\n      exportPath: member.export?.path,\n      memberName: member.name,\n      packageName: member.package.name,\n      packageScope: member.package.scope || null,\n      releaseVersion: member.release.version,\n    }\n  }, [symbolMembers])\n\n  const linkProps = useMemberLink({params})\n\n  return (\n    <Tooltip content={content} portal {...tooltip}>\n      <Root as=\"a\" {...restProps} {...linkProps}>\n        <Text size={_fontSize(fontSize, [1, 1, 2])}>{child}</Text>\n      </Root>\n    </Tooltip>\n  )\n}\n","import {APIMember} from '@sanity/tsdoc'\nimport {Box, Card, CardProps, Text} from '@sanity/ui'\nimport {useMemo} from 'react'\n\nimport {TSDocAppParams} from '../../store'\nimport {UnformattedCode} from '../components/UnformattedCode'\nimport {_fontSize} from '../helpers'\nimport {ReferenceTooltipContent} from '../tooltip'\nimport {TSDocMemberTitle} from './TSDocMemberTitle'\nimport {useMemberLink} from './useMemberLink'\nimport {useSymbol} from './useSymbol'\n\n/** @beta */\nexport function TSDocSymbolPreview(\n  props: Omit<CardProps, 'as' | 'padding'> & {\n    fontSize?: number\n    member?: APIMember\n    name: string\n    packageName?: string\n    packageScope?: string | null\n  },\n): React.ReactNode {\n  const {fontSize = 2, member, name, packageName, packageScope, ...restProps} = props\n\n  const {data} = useSymbol({\n    member,\n    name,\n    packageName,\n    packageScope,\n  })\n\n  const symbolMembers = data?.members\n\n  const content = useMemo(() => {\n    if (!symbolMembers || symbolMembers.length === 0) return null\n\n    return <ReferenceTooltipContent data={symbolMembers[0]!} />\n  }, [symbolMembers])\n\n  const params: TSDocAppParams | null = useMemo(() => {\n    if (!symbolMembers || symbolMembers.length === 0) return null\n\n    const member = symbolMembers[0]!\n\n    return {\n      exportPath: member.export.path,\n      memberName: member.name,\n      packageName: member.package.name,\n      packageScope: member.package.scope || null,\n      releaseVersion: member.release.version,\n    }\n  }, [symbolMembers])\n\n  const title = useMemo(() => {\n    if (!symbolMembers || symbolMembers.length === 0) return <UnformattedCode>…</UnformattedCode>\n\n    const member = symbolMembers[0]!\n\n    return <TSDocMemberTitle data={member} />\n  }, [symbolMembers])\n\n  const linkProps = useMemberLink({params})\n\n  return (\n    <Card {...restProps}>\n      <Box padding={3} style={{borderBottom: '1px solid var(--card-border-color)'}}>\n        <Text size={_fontSize(fontSize, [0, 0, 1])} weight=\"bold\">\n          {title}\n        </Text>\n      </Box>\n\n      {content}\n\n      <Box padding={3} style={{borderTop: '1px solid var(--card-border-color)'}}>\n        <Text size={_fontSize(fontSize, [0, 0, 1])}>\n          <a {...linkProps}>View full article &rarr;</a>\n        </Text>\n      </Box>\n    </Card>\n  )\n}\n","import {APIDocument} from '@sanity/tsdoc'\nimport {createTSDocMemoryStore, TSDocAPIMember, TSDocAppParams} from '@sanity/tsdoc/store'\nimport {studioTheme, ThemeColorSchemeKey, ThemeProvider, usePrefersDark} from '@sanity/ui'\nimport {createBrowserHistory} from 'history'\nimport {StrictMode, useEffect, useMemo, useState} from 'react'\nimport {createRoot} from 'react-dom/client'\n\nimport {parsePath, TSDocApp} from './app'\n\nconst EMPTY_ARRAY: never[] = []\n\nfunction Root(props: {docs?: APIDocument[]; releaseVersion?: string}) {\n  const {docs = EMPTY_ARRAY, releaseVersion = '0.0.0'} = props\n  const store = useMemo(() => createTSDocMemoryStore({docs}), [docs])\n  const history = useMemo(() => createBrowserHistory(), [])\n  const scheme: ThemeColorSchemeKey = usePrefersDark() ? 'dark' : 'light'\n  const [path, setPath] = useState<string>(() => history.location.pathname)\n  const basePath = undefined\n  const params: TSDocAppParams | undefined = useMemo(\n    () => parsePath(path, {basePath, version: releaseVersion}),\n    [basePath, path, releaseVersion],\n  )\n\n  const [members, setMembers] = useState<TSDocAPIMember[] | undefined | null>(null)\n\n  // Listen to history changes\n  useEffect(() => history.listen((update) => setPath(update.location.pathname)), [history])\n\n  // Push history state\n  useEffect(() => history.push({pathname: path || ''}), [path, history])\n\n  useEffect(() => {\n    if (params) store.member.get(params).then(setMembers)\n  }, [params, store])\n\n  useEffect(() => {\n    if (members?.length) {\n      document.title = `${members?.[0]?.name} | ${members?.[0]?.export.name}@${members?.[0]?.release.version}`\n    }\n  }, [members])\n\n  return (\n    <ThemeProvider scheme={scheme} theme={studioTheme}>\n      <TSDocApp\n        basePath={basePath}\n        onPathChange={setPath}\n        path={path}\n        store={store}\n        releaseVersion={releaseVersion}\n      />\n    </ThemeProvider>\n  )\n}\n\n/** @beta */\nexport function mount(options: {\n  docs: APIDocument[]\n  releaseVersion?: string\n  element: HTMLElement | null\n}): void {\n  const {docs, releaseVersion, element} = options\n\n  if (!element) throw new Error('missing element')\n\n  const root = createRoot(element)\n\n  root.render(\n    <StrictMode>\n      <Root docs={docs} releaseVersion={releaseVersion} />\n    </StrictMode>,\n  )\n}\n"],"names":["parsePath","path","options","basePath","version","baseSegments","split","filter","Boolean","segments","slice","length","packageScope","packageName","releaseVersion","exportPath","memberSlug","shift","startsWith","pop","join","SyntaxText","styled","code","$deprecated","$syntax","theme","color","sanity","css","overrideSyntaxColors","undefined","isDarkMode","dark","syntax","green","hex","yellow","cyan","isArray","val","Array","LevelContext","createContext","useLevel","useContext","addResponsiveProp","a","b","_a","_b","len","Math","max","ret","i","aSize","bSize","push","SizeContext","useSize","props","min","Infinity","size","delta","__cache_key__","JSON","stringify","useMemo","map","s","useHeadingSize","$","_c","fonts","useTheme","level","t0","t1","t2","v","levelSize","heading","sizes","t3","useSpace","space","H","restProps","sizeProp","Symbol","for","t4","t5","t6","t7","t8","Level","children","useTextSize","text","P","Size","TSDocContext","useTSDoc","tsdoc","Error","useExports","params","store","data","setData","useState","error","setError","loading","setLoading","useEffect","queryParams","cancelled","run","exports","get","err","usePackages","packages","BoxSticky","memo","Box","getGroupedMembers","members","components","mem","_type","isReactComponentType","hooks","isReactHook","classes","includes","enums","functions","interfaces","namespaces","typeAliases","variables","reactComponents","reactHooks","UnformattedCode","TSDocMemberTitle","isDeprecated","comment","deprecated","name","compilePath","useMemberLink","onPathChange","href","event","preventDefault","onClick","SyntaxTreeItem","TreeItem","isThemeDark","activeBackground","blue","focusBackground","selectable","default","enabled","bg2","hovered","fg","selectedLight","MemberLink","namespace","fontSize","export","memberName","package","scope","release","slug","current","linkProps","tone","releaseTag","tag","isSelected","TreeItemFocus","GroupedMembersTree","exp","expandSubPackages","some","m","_temp","m_0","_temp2","m_1","_temp3","m_2","_temp4","m_3","_temp5","m_4","_temp6","m_5","_temp7","m_6","_temp8","m_7","_temp9","t9","member_7","member","member_6","member_5","member_4","member_3","member_2","member_1","member_0","SyntaxMenuItem","MenuItem","PackageMenuButton","currentPkg","updateParams","SelectIcon","p","prev","latestRelease","constrainSize","matchReferenceWidth","portal","PackageTreeItem","pkg","handleClick","ReleaseMenuButton","currentRelease","releases","r","SearchWrapper","TreeNav","Tree","DEBOUNCE_MS","useSymbolSearch","query","debouncedQuery","setDebouncedQuery","timeoutRef","useRef","symbol","search","clearTimeout","setTimeout","TSDocSearch","setQuery","value","setValue","autocompletePopoverReferenceElementRef","filterOption","value_0","handleSelect","renderOption","renderValue","content","hidden","renderPopover","SearchIcon","option","result","_id","SearchOption","forwardRef","ref","latestMember","link","replace","t10","TSDocNav","TSDocNavView","_exports","showVersionMenu","expandPackages","find","currentVersion","currentExportName","bb0","items","restExp","item","e","versions","pkg_0","flex","position","top","SingleExportTree","versionedExports","d","MultiExportTree","CommentBox","CODE_LANGUAGES","sh","tsx","ts","PortableText","blocks","BasePortableText","block","blockquote","BlockquoteBlock","h1","H1Block","h2","H2Block","h3","H3Block","h4","H4Block","h5","H5Block","h6","H6Block","normal","NormalBlock","types","CodeBlock","marks","Link","language","isValidUrl","url","URL","getInternalHref","urlSegments","isExternalUrl","CommentDeprecatedCallout","textSize","CommentExampleBlocks","exampleBlocks","showPerExampleHeader","exampleBlock","idx","_key","CommentExampleBlock","index","showHeader","CommentRemarks","remarks","CommentReturnType","returns","CommentSummary","summary","_compileTypeParameters","typeParameters","constraintType","t","defaultType","_compileClassDefinition","isOptional","type","returnType","_compileFunctionDefinition","parameters","_compileTokens","tokens","_compileInterfaceDefinition","extends","_compileTypeAliasDefinition","_compileVariableDefinition","ClassTooltipContent","EnumTooltipContent","borderBottom","_getMembers","mems","ext","tok","concat","inheritedFrom","sort","aName","bName","FunctionTooltipContent","propsType","propsTypeMembers","propsTypeLink","borderTop","t11","t12","t13","t14","t15","InterfaceTooltipContent","TypeAliasTooltipContent","VariableTooltipContent","ReferenceTooltip","ReferenceTooltipContent","ApiToken","deindent","token","CodeSnippet","prefix","suffix","Root","TSDocCode","T0","T1","Code","_fontSize","f","MemberInheritedFrom","ReleaseBadgeTextWrapper","Text","ReleaseBadge","padding","radius","releaseTone","bb1","explanation","TSMemberReleaseTag","hidePublicTag","hasExperimentalTag","modifierTags","TSCallSignatureMember","param","TSContructorMember","title","TSConstructSignatureMember","TSEnumMember","TSIndexSignatureMember","TSMethodMember","isStatic","paramComment","TSMethodSignatureMember","fontWeight","whiteSpace","TSPropertyMember","TSPropertySignatureMember","Members","Member","useMembers","constructors","methods","properties","staticMethods","console","log","ClassContent","FunctionContent","codePrefix","propsTypeLinkParams","display","verticalAlign","t_1","n","t_0","callSignatures","constructSignatures","indexSignatures","methodSignatures","propertySignatures","InterfaceContent","NamespaceContent","TypeAliasContent","TSVariableParamMember","VariableContent","ReferenceContent","TYPE_NAME","TYPE_NAME_SYNTAX","class","component","enum","function","hook","interface","variable","_getTypeName","TSDocArticle","isType","typeName","t16","t17","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","useMember","usePackage","TSDocDetail","registerLanguage","bash","javascript","json","jsx","typescript","EMPTY_PARAMS","TSDocProvider","fullPath","_consumeBasePath","paramsRef","fn","nextParams","nextPath","Card","lineHeight","TSDocApp","handlePathChange","width","useSymbol","packageNameProp","packageScopeProp","TSDocSymbol","tooltip","symbolMembers","child","bb2","TSDocSymbolPreview","EMPTY_ARRAY","docs","createTSDocMemoryStore","createBrowserHistory","history","scheme","usePrefersDark","location","pathname","setPath","setMembers","listen","update","then","document","studioTheme","mount","element","createRoot","render"],"mappings":"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"}