UNPKG

react-shiki

Version:

Syntax highlighter component for react using shiki

39 lines (36 loc) 1.91 kB
import { S as ShikiHighlighterProps, U as UseShikiHighlighter } from './component-B4tYZaD8.js'; export { E as Element, H as HighlighterOptions, L as Language, T as Theme, a as Themes, i as isInlineCode, r as rehypeInlineCodeProperty } from './component-B4tYZaD8.js'; export { createHighlighterCore } from 'shiki/core'; export { createOnigurumaEngine } from 'shiki/engine/oniguruma'; export { createJavaScriptRegexEngine } from 'shiki/engine/javascript'; import 'shiki'; import 'react'; import 'hast'; /** * A React hook that provides syntax highlighting using Shiki with a custom highlighter. * Requires a highlighter to be provided in options for minimal bundle size. * * @example * ```ts * import { createHighlighterCore, createOnigurumaEngine } from 'react-shiki/core'; * * const highlighter = await createHighlighterCore({ * themes: [import('@shikijs/themes/nord')], * langs: [import('@shikijs/langs/typescript')], * engine: createOnigurumaEngine(import('shiki/wasm')) * }); * * const code = useShikiHighlighter(code, 'typescript', 'nord', { highlighter }); * ``` * * For plug-and-play usage, consider: * - `react-shiki` for full shiki bundle (~6.4MB minified, 1.2MB gzipped) * - `react-shiki/web` for smaller shiki web bundle (~3.8MB minified, 695KB gzipped) */ declare const useShikiHighlighter: UseShikiHighlighter; /** * ShikiHighlighter component using a custom highlighter. * Requires a highlighter to be provided. */ declare const ShikiHighlighter: ({ language, theme, delay, transformers, defaultColor, cssVariablePrefix, addDefaultStyles, style, langStyle, className, langClassName, showLanguage, showLineNumbers, startingLineNumber, children: code, as: Element, customLanguages, ...shikiOptions }: ShikiHighlighterProps) => React.ReactElement; export { ShikiHighlighter, ShikiHighlighterProps, UseShikiHighlighter, ShikiHighlighter as default, useShikiHighlighter };