@redocly/theme
Version:
Shared UI components lib
43 lines (42 loc) • 1.4 kB
TypeScript
import React from 'react';
import type { JSX } from 'react';
import type { CodeBlockControlsProps } from '../../components/CodeBlock/CodeBlockControls';
export type CodeBlockProps = {
lang?: string;
source?: string;
externalSource?: ExternalSource;
header?: CodeBlockControlsProps;
dataTestId?: string;
className?: string;
tabs?: FileTabs;
withLineNumbers?: boolean;
startLineNumber?: number;
highlightedHtml?: string;
skipHighlight?: boolean;
codeBlockRef?: (instance: HTMLPreElement | null) => void;
codeBlockMaxHeight?: string;
hideCodeColors?: boolean;
wrapContents?: boolean;
[key: string]: unknown;
};
type UnstableExternalCodeSample = {
lang: string;
label?: string;
get: (source: ExternalSource) => string;
};
export type FileTabs = {
files: {
name: string;
}[];
handleTabSwitch: (name: string) => void;
activeTabName: string;
};
type ExternalSource = {
sample: UnstableExternalCodeSample;
exampleName?: string;
pathParams?: any;
properties?: any;
operation?: any;
};
export declare function CodeBlock({ lang, source, externalSource, header, dataTestId, codeBlockRef, highlightedHtml, withLineNumbers, startLineNumber, className, codeBlockMaxHeight, tabs, hideCodeColors, wrapContents, children, ...rest }: React.PropsWithChildren<CodeBlockProps>): JSX.Element;
export {};