import type { OpenAPIV3, OpenAPIV3_1 } from '@gitbook/openapi-parser'; import { Markdown } from './Markdown'; import { OpenAPIDisclosureGroup } from './OpenAPIDisclosureGroup'; import { OpenAPIResponse } from './OpenAPIResponse'; import { StaticSection } from './StaticSection'; import type { OpenAPIClientContext } from './types'; /** * Display an interactive response body. */ export function OpenAPIResponses(props: { responses: OpenAPIV3.ResponsesObject | OpenAPIV3_1.ResponsesObject; context: OpenAPIClientContext; }) { const { responses, context } = props; return ( { const content = Object.entries(response.content ?? {}); const description = response.description; return { id: statusCode, label: (
{statusCode} {description ? ( ) : null}
), tabs: content.map(([contentType, mediaType]) => ({ id: contentType, label: contentType, body: ( ), })), }; } )} />
); }