UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

51 lines (48 loc) 1.58 kB
'use client'; import StaticRenderer_default from "./StaticRenderer.mjs"; import StreamRenderer_default from "./StreamRenderer.mjs"; import { variants } from "./style.mjs"; import { memo } from "react"; import { jsx } from "react/jsx-runtime"; import { cx } from "antd-style"; //#region src/Highlighter/SyntaxHighlighter/index.tsx const SyntaxHighlighter = memo(({ animated, children, className, enableTransformer, language, style, theme, variant = "borderless" }) => { const isDefaultTheme = theme === "lobe-theme" || !theme; const showBackground = !isDefaultTheme && variant === "filled"; const resolvedTheme = isDefaultTheme ? void 0 : theme; const shikiClassName = cx(variants({ animated, shiki: true, showBackground, variant }), className); const fallbackClassName = cx(variants({ animated, shiki: false, showBackground, variant }), className); if (animated) return /* @__PURE__ */ jsx(StreamRenderer_default, { className: shikiClassName, enableTransformer, fallbackClassName, language, style, theme: resolvedTheme, children }); return /* @__PURE__ */ jsx(StaticRenderer_default, { className: shikiClassName, enableTransformer, fallbackClassName, language, style, theme: resolvedTheme, children }); }, (prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.language === nextProps.language); SyntaxHighlighter.displayName = "SyntaxHighlighter"; var SyntaxHighlighter_default = SyntaxHighlighter; //#endregion export { SyntaxHighlighter_default as default }; //# sourceMappingURL=index.mjs.map