mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-18 08:35:10 +00:00
e9149036f6
Co-authored-by: Samy Pessé <samypesse@gmail.com>
33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import * as React from 'react';
|
|
import classNames from 'classnames';
|
|
import { OpenAPIV3 } from 'openapi-types';
|
|
import { createStateKey, noReference } from './utils';
|
|
import { OpenAPIResponse } from './OpenAPIResponse';
|
|
import { OpenAPIClientContext } from './types';
|
|
import { InteractiveSection } from './InteractiveSection';
|
|
|
|
/**
|
|
* Display an interactive response body.
|
|
*/
|
|
export function OpenAPIResponses(props: {
|
|
responses: OpenAPIV3.ResponsesObject;
|
|
context: OpenAPIClientContext;
|
|
}) {
|
|
const { responses, context } = props;
|
|
|
|
return (
|
|
<InteractiveSection
|
|
stateKey={createStateKey('response', context.blockKey)}
|
|
header="Response"
|
|
className={classNames('openapi-responses')}
|
|
tabs={Object.entries(responses).map(([statusCode, response]) => {
|
|
return {
|
|
key: statusCode,
|
|
label: statusCode,
|
|
body: <OpenAPIResponse response={noReference(response)} context={context} />,
|
|
};
|
|
})}
|
|
/>
|
|
);
|
|
}
|