UNPKG

@lobehub/ui

Version:

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

32 lines (31 loc) 1.48 kB
"use client"; import { useMarkdownContext } from "../components/MarkdownProvider.mjs"; import { useMarkdownComponents } from "../../hooks/useMarkdown/useMarkdownComponents.mjs"; import { useMarkdownContent } from "../../hooks/useMarkdown/useMarkdownContent.mjs"; import { useMarkdownRehypePlugins } from "../../hooks/useMarkdown/useMarkdownRehypePlugins.mjs"; import { useMarkdownRemarkPlugins } from "../../hooks/useMarkdown/useMarkdownRemarkPlugins.mjs"; import { memo } from "react"; import { jsx } from "react/jsx-runtime"; import { Streamdown } from "@lobehub/streamdown"; //#region src/Markdown/SyntaxMarkdown/StreamdownRender.tsx const StreamdownRender = memo(({ children, ...rest }) => { const { enableLatex = true, streamAnimationGranularity = "char", streamSmoothingPreset = "balanced" } = useMarkdownContext(); const escapedContent = useMarkdownContent(children || ""); const components = useMarkdownComponents(); const rehypePlugins = useMarkdownRehypePlugins(); const remarkPlugins = useMarkdownRemarkPlugins(); return /* @__PURE__ */ jsx(Streamdown, { ...rest, components, content: typeof escapedContent === "string" ? escapedContent : "", granularity: streamAnimationGranularity, latexGuard: enableLatex, rehypePlugins, remarkPlugins, smoothing: streamSmoothingPreset }); }); StreamdownRender.displayName = "StreamdownRender"; //#endregion export { StreamdownRender, StreamdownRender as default }; //# sourceMappingURL=StreamdownRender.mjs.map