Files
gitbook/packages/react-contentkit/src/ElementCodeBlock.tsx
T
2025-02-26 17:59:34 +01:00

23 lines
803 B
TypeScript

import type { ContentKitCodeBlock } from '@gitbook/api';
import { DefaultCodeBlock, ElementCodeBlockClient } from './ElementCodeBlockClient';
import { resolveDynamicBinding } from './dynamic';
import type { ContentKitServerElementProps } from './types';
export function ElementCodeBlock(props: ContentKitServerElementProps<ContentKitCodeBlock>) {
const { element, context, state } = props;
const C = context.codeBlock ?? DefaultCodeBlock;
const initialCode = resolveDynamicBinding(state, element.content);
return (
<ElementCodeBlockClient element={element}>
<C
code={initialCode}
syntax={element.syntax ?? 'plain'}
lineNumbers={element.lineNumbers ?? true}
/>
</ElementCodeBlockClient>
);
}