Files
gitbook/packages/react-contentkit/src/ContentKitOutput.tsx
T
2024-10-14 10:04:12 +02:00

30 lines
832 B
TypeScript

import { type ContentKitRenderOutput } from '@gitbook/api';
import React from 'react';
import { Element } from './Element';
import { ContentKitServerContext } from './types';
/**
* Generic component to render a ContentKit output.
* The component can be used both as a client and server one.
*/
export function ContentKitOutput(props: {
context: ContentKitServerContext;
output: ContentKitRenderOutput;
}) {
const { output, context } = props;
if (output.type === 'complete') {
return null;
}
return (
<>
{process.env.NODE_ENV === 'development' ? (
<pre style={{ display: 'none' }}>{JSON.stringify(props.output, null, 2)}</pre>
) : null}
<Element element={output.element} context={context} state={output.state} />
</>
);
}