{"version":3,"file":"studio.mjs","sources":["../../src/studio/documentActions/useDeletePackageAction.tsx","../../src/studio/schema/api/export.ts","../../src/studio/schema/api/members/callSignature.ts","../../src/studio/schema/api/members/class.ts","../../src/studio/schema/api/members/constructor.ts","../../src/studio/schema/api/members/constructSignature.ts","../../src/studio/schema/api/members/enum.ts","../../src/studio/schema/api/members/function.ts","../../src/studio/schema/api/members/indexSignature.ts","../../src/studio/schema/api/members/interface.ts","../../src/studio/schema/api/members/method.ts","../../src/studio/schema/api/members/methodSignature.ts","../../src/studio/schema/api/members/namespace.ts","../../src/studio/schema/api/members/property.ts","../../src/studio/schema/api/components/APIPropertySignaturePreview.tsx","../../src/studio/schema/api/members/propertySignature.ts","../../src/studio/schema/api/members/typeAlias.ts","../../src/studio/schema/api/members/variable.ts","../../src/studio/schema/api/package.ts","../../src/studio/schema/api/release.ts","../../src/studio/schema/api/shared/parameter.ts","../../src/studio/schema/api/shared/releaseTag.ts","../../src/studio/schema/api/shared/token.ts","../../src/studio/schema/api/components/APITokensInput.tsx","../../src/studio/schema/api/shared/tokens.ts","../../src/studio/schema/api/shared/typeParameter.ts","../../src/studio/schema/api/symbol.ts","../../src/studio/schema/api/index.ts","../../src/studio/schema/tsdoc/components/Blocks.tsx","../../src/studio/schema/tsdoc/components/TsdocComment.tsx","../../src/studio/schema/tsdoc/comment.ts","../../src/studio/schema/tsdoc/exampleBlock.ts","../../src/studio/schema/tsdoc/modifierTag.ts","../../src/studio/schema/tsdoc/paramBlock.ts","../../src/studio/schema/tsdoc/remarks.ts","../../src/studio/schema/tsdoc/returnsBlock.ts","../../src/studio/schema/tsdoc/seeBlock.ts","../../src/studio/schema/tsdoc/index.ts","../../src/studio/index.ts"],"sourcesContent":["import {TrashIcon} from '@sanity/icons'\nimport {API_MEMBER_TYPES} from '@sanity/tsdoc/store'\nimport {Button, Card, Code, Stack, Text} from '@sanity/ui'\nimport {useCallback, useMemo, useState} from 'react'\nimport {\n  DocumentActionComponent,\n  DocumentActionDialogProps,\n  Preview,\n  useClient,\n  useSchema,\n} from 'sanity'\n\nexport const useDeletePackageAction: DocumentActionComponent = (props) => {\n  const {id: documentId} = props\n  const [dialogOpen, setDialogOpen] = useState(false)\n\n  const onHandle = useCallback(() => {\n    setDialogOpen(true)\n  }, [])\n\n  const dialog: DocumentActionDialogProps | null = useMemo(() => {\n    if (!dialogOpen) return null\n\n    return {\n      type: 'dialog',\n      header: 'Delete package',\n      content: (\n        <DeletePackageDialogContent\n          documentId={documentId}\n          onComplete={() => setDialogOpen(false)}\n        />\n      ),\n      onClose() {\n        setDialogOpen(false)\n      },\n    }\n  }, [dialogOpen, documentId])\n\n  return {\n    dialog,\n    disabled: dialogOpen,\n    icon: TrashIcon,\n    label: 'Delete package',\n    onHandle,\n    tone: 'critical',\n  }\n}\n\nfunction DeletePackageDialogContent(props: {documentId: string; onComplete: () => void}) {\n  const {documentId, onComplete} = props\n  const client = useClient({apiVersion: '2023-01-01'})\n  const schema = useSchema()\n  const schemaType = schema.get('api.package')!\n  const [error, setError] = useState<Error | null>(null)\n  const [running, setRunning] = useState(false)\n  const previewValue = useMemo(() => ({_type: 'api.package', _id: documentId}), [documentId])\n\n  const handleDelete = useCallback(async () => {\n    try {\n      setRunning(true)\n\n      await client.delete({\n        query: `*[_id == $documentId || (references($documentId) && _type in $types)]`,\n        params: {\n          documentId,\n          types: API_MEMBER_TYPES.concat(['api.release', 'api.export', 'api.symbol']),\n        },\n      })\n      onComplete()\n      setRunning(false)\n    } catch (err) {\n      if (err instanceof Error) setError(err)\n      else setError(new Error(String(err)))\n      setRunning(false)\n    }\n  }, [client, documentId, onComplete])\n\n  if (error) {\n    return (\n      <Stack space={4}>\n        <Text>Error: {error.message}</Text>\n        <Code size={1}>{error.stack}</Code>\n      </Stack>\n    )\n  }\n\n  return (\n    <Stack space={4}>\n      <Text>Are you sure you want to delete this package and all related documents?</Text>\n\n      <Card border padding={2} radius={2}>\n        <Preview schemaType={schemaType} value={previewValue} />\n      </Card>\n\n      <Button\n        // disabled={running}\n        loading={running}\n        onClick={handleDelete}\n        text=\"Yes, delete now\"\n        tone=\"critical\"\n      />\n    </Stack>\n  )\n}\n","import {PublishIcon} from '@sanity/icons'\nimport {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiExportType = defineType({\n  type: 'document',\n  name: 'api.export',\n  title: 'Export',\n  icon: PublishIcon,\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'string',\n      name: 'path',\n      title: 'Path',\n    }),\n    defineField({\n      type: 'array',\n      name: 'members',\n      title: 'Members',\n      of: [\n        defineArrayMember({\n          type: 'reference',\n          to: [\n            {type: 'api.class'},\n            {type: 'api.enum'},\n            {type: 'api.function'},\n            {type: 'api.interface'},\n            {type: 'api.namespace'},\n            {type: 'api.typeAlias'},\n            {type: 'api.variable'},\n          ],\n        }),\n      ],\n    }),\n    defineField({\n      type: 'reference',\n      name: 'release',\n      title: 'Release',\n      to: [{type: 'api.release'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n  ],\n  preview: {\n    select: {\n      name: 'name',\n      packageScope: 'package.scope',\n      packageName: 'package.name',\n      version: 'release.version',\n    },\n    prepare: (data: any) => ({\n      title: data.name,\n      icon: PublishIcon,\n      subtitle:\n        [data.packageScope, data.packageName].filter(Boolean).join('/') + `@${data.version}`,\n    }),\n  },\n  readOnly: true,\n})\n","import {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiCallSignatureType = defineType({\n  type: 'object',\n  name: 'api.callSignature',\n  title: 'Call signature',\n  fields: [\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'array',\n      name: 'parameters',\n      title: 'Parameters',\n      of: [defineArrayMember({type: 'api.parameter'})],\n    }),\n    defineField({\n      type: 'api.tokens',\n      name: 'returnType',\n      title: 'Return type',\n    }),\n    defineField({\n      type: 'array',\n      name: 'typeParameters',\n      title: 'Type parameters',\n      of: [defineArrayMember({type: 'api.typeParameter'})],\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Call signature'}),\n  },\n})\n","import {ComponentIcon, TokenIcon} from '@sanity/icons'\nimport {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiClassType = defineType({\n  type: 'document',\n  name: 'api.class',\n  title: 'Class',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'slug',\n      name: 'slug',\n      title: 'Slug',\n    }),\n\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'export',\n      title: 'Export',\n      to: [{type: 'api.export'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'release',\n      title: 'Release',\n      to: [{type: 'api.release'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n\n    defineField({\n      type: 'boolean',\n      name: 'isReactComponentType',\n      title: 'This is a React component',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'array',\n      name: 'typeParameters',\n      title: 'Type parameters',\n      of: [defineArrayMember({type: 'api.typeParameter'})],\n    }),\n    defineField({\n      type: 'array',\n      name: 'members',\n      title: 'Members',\n      of: [\n        defineArrayMember({type: 'api.constructor'}),\n        defineArrayMember({type: 'api.method'}),\n        defineArrayMember({type: 'api.property'}),\n      ],\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name', isReactComponentType: 'isReactComponentType'},\n    prepare({isReactComponentType, title}: any) {\n      if (isReactComponentType) {\n        return {title: `<${title}>`, subtitle: 'Component · Class', icon: ComponentIcon}\n      }\n\n      return {title, subtitle: 'Class', icon: TokenIcon}\n    },\n  },\n  readOnly: true,\n})\n","import {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiConstructorType = defineType({\n  type: 'object',\n  name: 'api.constructor',\n  title: 'Constructor',\n  fields: [\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'array',\n      name: 'parameters',\n      title: 'Parameters',\n      of: [defineArrayMember({type: 'api.parameter'})],\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {},\n    prepare: () => ({title: '(constructor)'}),\n  },\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiConstructSignatureType = defineType({\n  type: 'object',\n  name: 'api.constructSignature',\n  title: 'Construct signature',\n  fields: [\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Construct signature'}),\n  },\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiEnumType = defineType({\n  type: 'document',\n  name: 'api.enum',\n  title: 'Enum',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'slug',\n      name: 'slug',\n      title: 'Slug',\n    }),\n\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'export',\n      title: 'Export',\n      to: [{type: 'api.export'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'release',\n      title: 'Release',\n      to: [{type: 'api.release'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Enum'}),\n  },\n  readOnly: true,\n})\n","import {ComponentIcon, TokenIcon} from '@sanity/icons'\nimport {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiFunctionType = defineType({\n  type: 'document',\n  name: 'api.function',\n  title: 'Function',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'slug',\n      name: 'slug',\n      title: 'Slug',\n    }),\n\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'export',\n      title: 'Export',\n      to: [{type: 'api.export'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'release',\n      title: 'Release',\n      to: [{type: 'api.release'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n\n    defineField({\n      type: 'array',\n      name: 'parameters',\n      title: 'Parameters',\n      of: [defineArrayMember({type: 'api.parameter'})],\n    }),\n    defineField({\n      type: 'api.tokens',\n      name: 'returnType',\n      title: 'Return type',\n    }),\n    defineField({\n      type: 'array',\n      name: 'typeParameters',\n      title: 'Type parameters',\n      of: [defineArrayMember({type: 'api.typeParameter'})],\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isReactComponentType',\n      title: 'This is a React component',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isReactHook',\n      title: 'This is a React hook',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isOverloading',\n      title: 'This function is overloaded',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name', isReactComponentType: 'isReactComponentType'},\n    prepare({isReactComponentType, title}: any) {\n      if (isReactComponentType) {\n        return {title: `<${title}>`, subtitle: 'Component · Function', icon: ComponentIcon}\n      }\n\n      return {title, subtitle: 'Function', icon: TokenIcon}\n    },\n  },\n  readOnly: true,\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiIndexSignatureType = defineType({\n  type: 'object',\n  name: 'api.indexSignature',\n  title: 'Index signature',\n  fields: [\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Index signature'}),\n  },\n})\n","import {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiInterfaceType = defineType({\n  type: 'document',\n  name: 'api.interface',\n  title: 'Interface',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'slug',\n      name: 'slug',\n      title: 'Slug',\n    }),\n\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'export',\n      title: 'Export',\n      to: [{type: 'api.export'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'release',\n      title: 'Release',\n      to: [{type: 'api.release'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n\n    defineField({\n      type: 'array',\n      name: 'typeParameters',\n      title: 'Type parameters',\n      of: [defineArrayMember({type: 'api.typeParameter'})],\n    }),\n    defineField({\n      type: 'array',\n      name: 'extends',\n      title: 'Extends',\n      of: [\n        defineArrayMember({\n          type: 'object',\n          name: 'api.extend',\n          title: 'Extend',\n          fields: [\n            defineField({\n              type: 'api.tokens',\n              name: 'type',\n              title: 'Type',\n            }),\n          ],\n          preview: {\n            select: {type: 'type'},\n            prepare: ({type}: any) => ({title: type.map((t: any) => t.text).join('')}),\n          },\n        }),\n      ],\n    }),\n    defineField({\n      type: 'array',\n      name: 'members',\n      title: 'Members',\n      of: [\n        defineArrayMember({type: 'api.callSignature'}),\n        defineArrayMember({type: 'api.constructSignature'}),\n        defineArrayMember({type: 'api.indexSignature'}),\n        defineArrayMember({type: 'api.methodSignature'}),\n        defineArrayMember({type: 'api.propertySignature'}),\n      ],\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Interface'}),\n  },\n  readOnly: true,\n})\n","import {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiMethodType = defineType({\n  type: 'object',\n  name: 'api.method',\n  title: 'Method',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isOptional',\n      title: 'Is optional',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isStatic',\n      title: 'Is static',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'array',\n      name: 'parameters',\n      title: 'Parameters',\n      of: [defineArrayMember({type: 'api.parameter'})],\n    }),\n    defineField({\n      type: 'api.tokens',\n      name: 'returnType',\n      title: 'Return type',\n    }),\n    defineField({\n      type: 'array',\n      name: 'typeParameters',\n      title: 'Type parameters',\n      of: [defineArrayMember({type: 'api.typeParameter'})],\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Method'}),\n  },\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiMethodSignatureType = defineType({\n  type: 'object',\n  name: 'api.methodSignature',\n  title: 'Method signature',\n  fields: [\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Method signature'}),\n  },\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiNamespaceType = defineType({\n  type: 'document',\n  name: 'api.namespace',\n  title: 'Namespace',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'slug',\n      name: 'slug',\n      title: 'Slug',\n    }),\n\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'export',\n      title: 'Export',\n      to: [{type: 'api.export'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'release',\n      title: 'Release',\n      to: [{type: 'api.release'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Namespace'}),\n  },\n  readOnly: true,\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiPropertyType = defineType({\n  type: 'object',\n  name: 'api.property',\n  title: 'Property',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isEventProperty',\n      title: 'Is event property',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isOptional',\n      title: 'Is optional',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isStatic',\n      title: 'Is static',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'api.tokens',\n      name: 'type',\n      title: 'Type',\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Property'}),\n  },\n})\n","import {Box, Stack, Text} from '@sanity/ui'\nimport {PreviewProps} from 'sanity'\nimport {styled} from 'styled-components'\n\nconst StyledText = styled(Text)`\n  code {\n    background-color: transparent;\n    color: inherit;\n  }\n`\n\nexport function APIPropertySignaturePreview(props: PreviewProps): React.ReactNode {\n  const {name, isOptional, type} = props as any\n\n  return (\n    <Box padding={2}>\n      <Stack space={2}>\n        <StyledText size={1} textOverflow=\"ellipsis\" weight=\"semibold\">\n          <code>\n            {name}\n            {isOptional ? '?' : ''}: {type?.map((t: any) => t.text).join('')}\n          </code>\n        </StyledText>\n        <Text muted size={1}>\n          Property signature\n        </Text>\n      </Stack>\n    </Box>\n  )\n}\n","import {defineField, defineType} from 'sanity'\n\nimport {APIPropertySignaturePreview} from '../components/APIPropertySignaturePreview'\n\nexport const apiPropertySignatureType = defineType({\n  type: 'object',\n  name: 'api.propertySignature',\n  title: 'Property signature',\n\n  components: {\n    preview: APIPropertySignaturePreview,\n  },\n\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isOptional',\n      title: 'Is optional',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'api.tokens',\n      name: 'type',\n      title: 'Type',\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {name: 'name', isOptional: 'isOptional', type: 'type'},\n    // prepare: ({isOptional, name, type}: any) => ({\n    //   title: `${name}${isOptional ? '?' : ''}: ${type?.map((t) => t.text).join('')})}`,\n    //   subtitle: 'Property signature',\n    // }),\n  },\n})\n","import {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiTypeAliasType = defineType({\n  type: 'document',\n  name: 'api.typeAlias',\n  title: 'Type alias',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'slug',\n      name: 'slug',\n      title: 'Slug',\n    }),\n\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'export',\n      title: 'Export',\n      to: [{type: 'api.export'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'release',\n      title: 'Release',\n      to: [{type: 'api.release'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n\n    defineField({\n      type: 'api.tokens',\n      name: 'type',\n      title: 'Type',\n    }),\n    defineField({\n      type: 'array',\n      name: 'typeParameters',\n      title: 'Type parameters',\n      of: [defineArrayMember({type: 'api.typeParameter'})],\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name'},\n    prepare: ({title}: any) => ({title, subtitle: 'Type alias'}),\n  },\n  readOnly: true,\n})\n","import {ComponentIcon, TokenIcon} from '@sanity/icons'\nimport {defineField, defineType} from 'sanity'\n\nexport const apiVariableType = defineType({\n  type: 'document',\n  name: 'api.variable',\n  title: 'Variable',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'slug',\n      name: 'slug',\n      title: 'Slug',\n    }),\n\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'export',\n      title: 'Export',\n      to: [{type: 'api.export'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'release',\n      title: 'Release',\n      to: [{type: 'api.release'}],\n      hidden: true,\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n\n    defineField({\n      type: 'api.tokens',\n      name: 'type',\n      title: 'Type',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'propsType',\n      title: 'Props type',\n      to: [{type: 'api.interface'}, {type: 'api.typeAlias'}],\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isReactComponentType',\n      title: 'This is a React component',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isReactHook',\n      title: 'This is a React hook',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n\n  preview: {\n    select: {title: 'name', isReactComponentType: 'isReactComponentType'},\n    prepare({isReactComponentType, title}: any) {\n      if (isReactComponentType) {\n        return {title: `<${title}>`, subtitle: 'Component · Variable', icon: ComponentIcon}\n      }\n\n      return {title, subtitle: 'Variable', icon: TokenIcon}\n    },\n  },\n  readOnly: true,\n})\n","import {PackageIcon} from '@sanity/icons'\nimport {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiPackageType = defineType({\n  type: 'document',\n  name: 'api.package',\n  title: 'Package',\n  icon: PackageIcon,\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'scope',\n      title: 'Scope',\n    }),\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'latestRelease',\n      title: 'Latest release',\n      to: [{type: 'api.release'}],\n    }),\n    defineField({\n      type: 'array',\n      name: 'releases',\n      title: 'Releases',\n      of: [\n        defineArrayMember({\n          type: 'reference',\n          to: [{type: 'api.release'}],\n        }),\n      ],\n    }),\n  ],\n  readOnly: true,\n  preview: {\n    select: {\n      scope: 'scope',\n      name: 'name',\n    },\n    prepare(data: any) {\n      return {\n        title: [data.scope, data.name].filter(Boolean).join('/'),\n      }\n    },\n  },\n})\n","import {RocketIcon} from '@sanity/icons'\nimport {defineArrayMember, defineField, defineType} from 'sanity'\n\nexport const apiReleaseType = defineType({\n  type: 'document',\n  name: 'api.release',\n  title: 'Release',\n  icon: RocketIcon,\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'version',\n      title: 'Version',\n    }),\n    defineField({\n      type: 'array',\n      name: 'exports',\n      title: 'Exports',\n      of: [\n        defineArrayMember({\n          type: 'reference',\n          to: [{type: 'api.export'}],\n        }),\n      ],\n    }),\n    defineField({\n      type: 'array',\n      name: 'memberNames',\n      title: 'Member names',\n      of: [{type: 'string'}],\n      options: {\n        layout: 'tags',\n      },\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      hidden: true,\n    }),\n  ],\n  preview: {\n    select: {\n      packageScope: 'package.scope',\n      packageName: 'package.name',\n      version: 'version',\n    },\n    prepare: (data: any) => ({\n      title: data.version,\n      icon: RocketIcon,\n      subtitle: [data.packageScope, data.packageName].filter(Boolean).join('/'),\n    }),\n  },\n  readOnly: true,\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiParameterType = defineType({\n  type: 'object',\n  name: 'api.parameter',\n  title: 'Parameter',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'api.releaseTag',\n      name: 'releaseTag',\n      title: 'Release tag',\n    }),\n    defineField({\n      type: 'api.tokens',\n      name: 'type',\n      title: 'Type',\n    }),\n    defineField({\n      type: 'boolean',\n      name: 'isOptional',\n      title: 'Is optional',\n      options: {layout: 'checkbox'},\n    }),\n    defineField({\n      type: 'tsdoc.docComment',\n      name: 'comment',\n      title: 'Comment',\n    }),\n  ],\n})\n","import {defineType} from 'sanity'\n\nexport const apiReleaseTagType = defineType({\n  type: 'string',\n  name: 'api.releaseTag',\n  title: 'Release tag',\n  options: {\n    list: [\n      {title: 'Public', value: 'public'},\n      {title: 'Beta', value: 'beta'},\n    ],\n  },\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiTokenType = defineType({\n  type: 'object',\n  name: 'api.token',\n  title: 'Token',\n\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'text',\n      title: 'Text',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'member',\n      title: 'Member',\n      to: [\n        {type: 'api.class'},\n        {type: 'api.enum'},\n        {type: 'api.function'},\n        {type: 'api.interface'},\n        {type: 'api.typeAlias'},\n        {type: 'api.variable'},\n      ],\n    }),\n  ],\n})\n","import {SanityArrayItem, SerializedAPIToken} from '@sanity/tsdoc'\nimport {Card, Code as UICode} from '@sanity/ui'\nimport {ArrayOfObjectsInputProps} from 'sanity'\nimport {IntentLink} from 'sanity/router'\nimport {styled} from 'styled-components'\n\nconst Code = styled(UICode)`\n  & a {\n    color: var(--card-link-color);\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n`\n\nexport function APITokensInput(\n  props: ArrayOfObjectsInputProps<SanityArrayItem<SerializedAPIToken>>,\n): React.ReactNode {\n  const {value = []} = props\n\n  return (\n    <Card border padding={3} overflow=\"auto\" radius={1}>\n      <Code size={1}>\n        {value.length > 0 && value.map((token) => <TokenPreview key={token._key} token={token} />)}\n        {value.length === 0 && ' '}\n      </Code>\n    </Card>\n  )\n}\n\nfunction TokenPreview({token}: {token: SanityArrayItem<SerializedAPIToken>}) {\n  if (token.member?._ref) {\n    return (\n      <IntentLink intent=\"edit\" params={{id: token.member?._ref}}>\n        {token.text}\n      </IntentLink>\n    )\n  }\n\n  return <>{token.text}</>\n}\n","// import {APITokensInput} from './APITokensInput'\n\nimport {defineType} from 'sanity'\n\nimport {APITokensInput} from '../components/APITokensInput'\n\nexport const apiTokensType = defineType({\n  type: 'array',\n  name: 'api.tokens',\n  title: 'Tokens',\n  of: [{type: 'api.token'}],\n  components: {\n    input: APITokensInput as any,\n  },\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiTypeParameterType = defineType({\n  type: 'object',\n  name: 'api.typeParameter',\n  title: 'Type parameter',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'api.tokens',\n      name: 'constraintType',\n      title: 'Constraint type',\n    }),\n    defineField({\n      type: 'api.tokens',\n      name: 'defaultType',\n      title: 'Default type',\n    }),\n    // defineField({\n    //   type: 'api.releaseTag',\n    //   name: 'releaseTag',\n    //   title: 'Release tag',\n    // }),\n    // defineField({\n    //   type: 'api.tokens',\n    //   name: 'type',\n    //   title: 'Type',\n    // }),\n  ],\n})\n","import {defineField, defineType} from 'sanity'\n\nexport const apiSymbolType = defineType({\n  type: 'document',\n  name: 'api.symbol',\n  title: 'Symbol',\n  fields: [\n    defineField({\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    }),\n    defineField({\n      type: 'reference',\n      name: 'package',\n      title: 'Package',\n      to: [{type: 'api.package'}],\n      // hidden: true,\n    }),\n  ],\n  preview: {\n    select: {\n      name: 'name',\n      packageScope: 'package.scope',\n      packageName: 'package.name',\n    },\n    prepare(data: any) {\n      return {\n        title: data.name,\n        subtitle: [data.packageScope, data.packageName].filter(Boolean).join('/'),\n      }\n    },\n  },\n  readOnly: true,\n})\n","import {apiExportType} from './export'\nimport {apiCallSignatureType} from './members/callSignature'\nimport {apiClassType} from './members/class'\nimport {apiConstructorType} from './members/constructor'\nimport {apiConstructSignatureType} from './members/constructSignature'\nimport {apiEnumType} from './members/enum'\nimport {apiFunctionType} from './members/function'\nimport {apiIndexSignatureType} from './members/indexSignature'\nimport {apiInterfaceType} from './members/interface'\nimport {apiMethodType} from './members/method'\nimport {apiMethodSignatureType} from './members/methodSignature'\nimport {apiNamespaceType} from './members/namespace'\nimport {apiPropertyType} from './members/property'\nimport {apiPropertySignatureType} from './members/propertySignature'\nimport {apiTypeAliasType} from './members/typeAlias'\nimport {apiVariableType} from './members/variable'\nimport {apiPackageType} from './package'\nimport {apiReleaseType} from './release'\nimport {apiParameterType} from './shared/parameter'\nimport {apiReleaseTagType} from './shared/releaseTag'\nimport {apiTokenType} from './shared/token'\nimport {apiTokensType} from './shared/tokens'\nimport {apiTypeParameterType} from './shared/typeParameter'\nimport {apiSymbolType} from './symbol'\n\nexport const apiTypes = [\n  apiPackageType,\n  apiReleaseType,\n  apiExportType,\n  apiSymbolType,\n\n  // members\n  apiCallSignatureType,\n  apiClassType,\n  apiConstructSignatureType,\n  apiConstructorType,\n  apiEnumType,\n  apiFunctionType,\n  apiIndexSignatureType,\n  apiInterfaceType,\n  apiMethodSignatureType,\n  apiMethodType,\n  apiNamespaceType,\n  apiPropertySignatureType,\n  apiPropertyType,\n  apiTypeAliasType,\n  apiVariableType,\n\n  // shared\n  apiParameterType,\n  apiReleaseTagType,\n  apiTokenType,\n  apiTokensType,\n  apiTypeParameterType,\n]\n","import {PortableText, PortableTextProps} from '@portabletext/react'\nimport {Card, Code, Text} from '@sanity/ui'\n\nconst CODE_LANGUAGE: Record<string, string> = {\n  tsx: 'typescript',\n}\n\nconst components: PortableTextProps['components'] = {\n  block: {\n    normal: ({children}) => (\n      <Text as=\"p\" muted>\n        {children}\n      </Text>\n    ),\n  },\n\n  types: {\n    code: ({value}) => (\n      <Card padding={3} tone=\"transparent\">\n        <Code language={CODE_LANGUAGE[value?.language || 'tsx']} size={1}>\n          {value?.code}\n        </Code>\n      </Card>\n    ),\n  },\n}\n\nexport function Blocks(props: {value?: any[]}): React.ReactNode {\n  const {value = []} = props\n\n  return <PortableText value={value} components={components} />\n}\n","import {TSDocComment as TSDocCommentType} from '@sanity/tsdoc'\nimport {Card, Stack, Text} from '@sanity/ui'\nimport {ObjectInputProps} from 'sanity'\n\nimport {Blocks} from './Blocks'\n\nexport function TsdocComment(props: ObjectInputProps<TSDocCommentType>): React.ReactNode {\n  const {\n    customBlocks,\n    deprecated,\n    exampleBlocks,\n    // modifierTags,\n    // parameters,\n    // remarks,\n    // returns,\n    seeBlocks,\n    summary,\n    // ...rest\n  } = props.value || {}\n\n  if (!deprecated && !exampleBlocks && !seeBlocks && !summary) {\n    return (\n      <Card padding={3} radius={2} tone=\"caution\">\n        <Stack space={3}>\n          <Text size={1} weight=\"semibold\">\n            No comment\n          </Text>\n          <Text muted>No extracted tsdoc comment.</Text>\n        </Stack>\n      </Card>\n    )\n  }\n\n  return (\n    <Stack space={4}>\n      {deprecated && (\n        <Card padding={3} radius={2} tone=\"caution\">\n          <Stack space={3}>\n            <Text size={1} weight=\"semibold\">\n              Deprecated\n            </Text>\n            <Blocks value={deprecated.content || []} />\n          </Stack>\n        </Card>\n      )}\n\n      {summary && <Blocks value={summary || []} />}\n\n      {exampleBlocks &&\n        exampleBlocks.length > 0 &&\n        exampleBlocks.map((exampleBlock, i) => {\n          return (\n            <Stack key={exampleBlock._key} space={3}>\n              <Text size={1} weight=\"semibold\">\n                Example #{i + 1}\n              </Text>\n              <Blocks value={exampleBlock.content || []} />\n            </Stack>\n          )\n        })}\n\n      {customBlocks && (\n        <Stack space={3}>\n          <Text size={1} weight=\"semibold\">\n            Custom blocks\n          </Text>\n\n          <Stack space={1}>\n            {customBlocks.map((block) => (\n              <Card key={block._key} padding={3} radius={2} tone=\"transparent\">\n                <div>{block.tag}</div>\n                <Blocks value={block?.content || []} />\n              </Card>\n            ))}\n          </Stack>\n        </Stack>\n      )}\n\n      {seeBlocks && (\n        <Stack space={3}>\n          <Text size={1} weight=\"semibold\">\n            See also\n          </Text>\n\n          <Stack space={1}>\n            {seeBlocks.map((block) => (\n              <Card key={block._key} padding={3} radius={2} tone=\"transparent\">\n                <Blocks value={block?.content || []} />\n              </Card>\n            ))}\n          </Stack>\n        </Stack>\n      )}\n    </Stack>\n  )\n}\n","import {defineType} from 'sanity'\n\nimport {TsdocComment} from './components/TsdocComment'\n\nexport const tsdocCommentType = defineType({\n  type: 'object',\n  name: 'tsdoc.docComment',\n  title: 'TSDoc comment',\n  components: {input: TsdocComment as any},\n  fields: [\n    {\n      type: 'array',\n      name: 'summary',\n      title: 'Summary',\n      of: [{type: 'block'}],\n    },\n    {\n      type: 'tsdoc.remarksBlock',\n      name: 'remarks',\n      title: 'Remarks',\n    },\n    {\n      type: 'array',\n      name: 'seeBlocks',\n      title: 'See',\n      of: [{type: 'tsdoc.seeBlock'}],\n    },\n    {\n      type: 'array',\n      name: 'parameters',\n      title: 'Parameters',\n      of: [{type: 'tsdoc.paramBlock'}],\n    },\n    {\n      type: 'tsdoc.returnsBlock',\n      name: 'returns',\n      title: 'Returns',\n    },\n    {\n      type: 'array',\n      name: 'exampleBlocks',\n      title: 'Example blocks',\n      of: [{type: 'tsdoc.exampleBlock'}],\n    },\n    {\n      type: 'array',\n      name: 'modifierTags',\n      title: 'Modifier tags',\n      of: [{type: 'tsdoc.modifierTag'}],\n    },\n  ],\n  options: {\n    collapsible: true,\n  },\n})\n","import {defineType} from 'sanity'\n\nexport const tsdocExampleBlockType = defineType({\n  type: 'object',\n  name: 'tsdoc.exampleBlock',\n  title: 'Example block',\n  fields: [\n    {\n      type: 'array',\n      name: 'content',\n      title: 'Content',\n      of: [\n        {\n          type: 'block',\n        },\n        {\n          type: 'code',\n          name: 'code',\n          title: 'Code',\n        },\n      ],\n    },\n  ],\n})\n","import {defineType} from 'sanity'\n\nexport const tsdocModifierTagType = defineType({\n  type: 'object',\n  name: 'tsdoc.modifierTag',\n  title: 'Modifier tag',\n  fields: [\n    {\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    },\n  ],\n})\n","import {defineType} from 'sanity'\n\nexport const tsdocParamBlockType = defineType({\n  type: 'object',\n  name: 'tsdoc.paramBlock',\n  title: 'Param block',\n  fields: [\n    {\n      type: 'string',\n      name: 'name',\n      title: 'Name',\n    },\n    {\n      type: 'array',\n      name: 'content',\n      title: 'Content',\n      of: [\n        {\n          type: 'block',\n        },\n        {\n          type: 'code',\n          name: 'code',\n          title: 'Code',\n        },\n      ],\n    },\n  ],\n})\n","import {defineType} from 'sanity'\n\nexport const tsdocRemarksBlockType = defineType({\n  type: 'object',\n  name: 'tsdoc.remarksBlock',\n  title: 'Remarks',\n  fields: [\n    {\n      type: 'array',\n      name: 'content',\n      title: 'Content',\n      of: [\n        {\n          type: 'block',\n        },\n        {\n          type: 'code',\n          name: 'code',\n          title: 'Code',\n        },\n      ],\n    },\n  ],\n})\n","import {defineType} from 'sanity'\n\nexport const tsdocReturnsBlockType = defineType({\n  type: 'object',\n  name: 'tsdoc.returnsBlock',\n  title: 'Returns block',\n  fields: [\n    {\n      type: 'array',\n      name: 'content',\n      title: 'Content',\n      of: [\n        {\n          type: 'block',\n        },\n        {\n          type: 'code',\n          name: 'code',\n          title: 'Code',\n        },\n      ],\n    },\n  ],\n})\n","import {defineType} from 'sanity'\n\nexport const tsdocSeeBlockType = defineType({\n  type: 'object',\n  name: 'tsdoc.seeBlock',\n  title: 'See block',\n  fields: [\n    {\n      type: 'array',\n      name: 'content',\n      title: 'Content',\n      of: [\n        {\n          type: 'block',\n        },\n        {\n          type: 'code',\n          name: 'code',\n          title: 'Code',\n        },\n      ],\n    },\n  ],\n})\n","import {tsdocCommentType} from './comment'\nimport {tsdocExampleBlockType} from './exampleBlock'\nimport {tsdocModifierTagType} from './modifierTag'\nimport {tsdocParamBlockType} from './paramBlock'\nimport {tsdocRemarksBlockType} from './remarks'\nimport {tsdocReturnsBlockType} from './returnsBlock'\nimport {tsdocSeeBlockType} from './seeBlock'\n\nexport const tsdocTypes = [\n  tsdocCommentType,\n  tsdocExampleBlockType,\n  tsdocModifierTagType,\n  tsdocParamBlockType,\n  tsdocRemarksBlockType,\n  tsdocReturnsBlockType,\n  tsdocSeeBlockType,\n]\n","import {API_MEMBER_TYPES} from '@sanity/tsdoc/store'\nimport {definePlugin} from 'sanity'\n\nimport {useDeletePackageAction} from './documentActions/useDeletePackageAction'\nimport {apiTypes} from './schema/api'\nimport {tsdocTypes} from './schema/tsdoc'\n\n/** @beta */\nexport const tsdoc = definePlugin(() => {\n  return {\n    name: '@sanity/tsdoc/studio-plugin',\n    document: {\n      actions: (prev, ctx) => {\n        if (ctx.schemaType === 'api.package') {\n          return [useDeletePackageAction]\n        }\n\n        if (ctx.schemaType === 'api.release') {\n          return [] // TODO\n        }\n\n        if (ctx.schemaType === 'api.export') {\n          return [] // TODO\n        }\n\n        if (ctx.schemaType === 'api.symbol') {\n          return [] // TODO\n        }\n\n        if (API_MEMBER_TYPES.includes(ctx.schemaType)) {\n          return [] // TODO\n        }\n\n        return prev\n      },\n    },\n    schema: {\n      types: [...apiTypes, ...tsdocTypes],\n    },\n  }\n})\n"],"names":["Code","UICode"],"mappings":"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"}