fumadocs-ui
Version:
The Radix UI version of Fumadocs UI
34 lines (33 loc) • 1.06 kB
TypeScript
import { CodeBlockProps } from "./codeblock.js";
import { UseShikiOptions } from "fumadocs-core/highlight/shiki/react";
import { HighlighterCore } from "shiki";
//#region src/components/dynamic-codeblock.core.d.ts
interface DynamicCodeblockProps {
highlighter: HighlighterCore | (() => HighlighterCore | PromiseLike<HighlighterCore>);
lang: string;
code: string;
/**
* Extra props for the underlying `<CodeBlock />` component.
*
* Ignored if you defined your own `pre` component in `options.components`.
*/
codeblock?: CodeBlockProps;
/**
* Wrap in React `<Suspense />` and provide a fallback.
*
* @defaultValue true
*/
wrapInSuspense?: boolean;
options: DistributiveOmit<UseShikiOptions, 'lang'>;
}
type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
declare function DynamicCodeBlock({
lang,
code,
codeblock,
options,
wrapInSuspense,
highlighter
}: DynamicCodeblockProps): import("react").JSX.Element;
//#endregion
export { DynamicCodeBlock, DynamicCodeblockProps };