UNPKG

@lobehub/ui

Version:

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

1 lines 1.8 kB
{"version":3,"file":"StreamdownRender.mjs","names":[],"sources":["../../../src/Markdown/SyntaxMarkdown/StreamdownRender.tsx"],"sourcesContent":["'use client';\n\nimport { Streamdown } from '@lobehub/streamdown';\nimport { memo } from 'react';\nimport { type Options } from 'react-markdown';\n\nimport {\n useMarkdownComponents,\n useMarkdownContent,\n useMarkdownRehypePlugins,\n useMarkdownRemarkPlugins,\n} from '@/hooks/useMarkdown';\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\n\nexport const StreamdownRender = memo<Options>(({ children, ...rest }) => {\n const {\n enableLatex = true,\n streamAnimationGranularity = 'char',\n streamSmoothingPreset = 'balanced',\n } = useMarkdownContext();\n const escapedContent = useMarkdownContent(children || '');\n const components = useMarkdownComponents();\n const rehypePlugins = useMarkdownRehypePlugins();\n const remarkPlugins = useMarkdownRemarkPlugins();\n\n return (\n <Streamdown\n {...rest}\n components={components}\n content={typeof escapedContent === 'string' ? escapedContent : ''}\n granularity={streamAnimationGranularity}\n latexGuard={enableLatex}\n rehypePlugins={rehypePlugins}\n remarkPlugins={remarkPlugins}\n smoothing={streamSmoothingPreset}\n />\n );\n});\n\nStreamdownRender.displayName = 'StreamdownRender';\n\nexport default StreamdownRender;\n"],"mappings":";;;;;;;;;;AAcA,MAAa,mBAAmB,MAAe,EAAE,UAAU,GAAG,WAAW;CACvE,MAAM,EACJ,cAAc,MACd,6BAA6B,QAC7B,wBAAwB,eACtB,mBAAmB;CACvB,MAAM,iBAAiB,mBAAmB,YAAY,EAAE;CACxD,MAAM,aAAa,sBAAsB;CACzC,MAAM,gBAAgB,yBAAyB;CAC/C,MAAM,gBAAgB,yBAAyB;CAE/C,OACE,oBAAC,YAAD;EACE,GAAI;EACQ;EACZ,SAAS,OAAO,mBAAmB,WAAW,iBAAiB;EAC/D,aAAa;EACb,YAAY;EACG;EACA;EACf,WAAW;CACZ,CAAA;AAEL,CAAC;AAED,iBAAiB,cAAc"}