Files
gitbook/packages/react-contentkit/src/ElementCodeBlock.tsx
T
Samy Pessé 70c6c9df42 First pass at implementing ContentKit (#69)
* Start

* Try webframe

* Lint and format

* Move to package

* Continue

* Implement card and cleanup contexts

* Start code blocks

* Start rendering image

* Continue with card

* Start stack

* Start text

* Start modal

* Format

* Continue

* Fix TS errors

* Cleanup

* Make markdown work with server components

* Format

* Add visual test

* Lint and format

* Fix lifecycle

* Implement textinput

* Divider

* Remove console logs

* Remove listSpaceIntegrationsBlocks
2024-02-28 14:46:47 +01:00

23 lines
793 B
TypeScript

import { ContentKitCodeBlock } from '@gitbook/api';
import { ContentKitServerElementProps } from './types';
import { resolveDynamicBinding } from './dynamic';
import { DefaultCodeBlock, ElementCodeBlockClient } from './ElementCodeBlockClient';
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>
);
}