@liveblocks/react-ui
Version:
A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.
1 lines • 2.72 kB
Source Map (JSON)
{"version":3,"file":"Prose.cjs","sources":["../../../src/components/internal/Prose.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport {\n ComponentsProvider,\n type GlobalComponents,\n useComponents,\n} from \"../../components\";\nimport type {\n MarkdownComponents,\n MarkdownComponentsCodeBlockProps,\n MarkdownComponentsLinkProps,\n} from \"../../primitives/Markdown\";\nimport { Markdown } from \"../../primitives/Markdown\";\nimport { cn } from \"../../utils/cn\";\nimport { CodeBlock as DefaultCodeBlock } from \"./CodeBlock\";\n\ninterface ProseProps extends ComponentProps<\"div\"> {\n content: string;\n components?: Partial<\n GlobalComponents & { markdown?: Partial<MarkdownComponents> }\n >;\n}\n\nfunction Link({ href, title, children }: MarkdownComponentsLinkProps) {\n const { Anchor } = useComponents();\n\n return (\n <Anchor href={href} title={title}>\n {children}\n </Anchor>\n );\n}\n\nfunction CodeBlock({ language, code }: MarkdownComponentsCodeBlockProps) {\n return <DefaultCodeBlock title={language || \"Plain text\"} code={code} />;\n}\n\nconst defaultMarkdownComponents: Partial<MarkdownComponents> = {\n Link,\n CodeBlock,\n};\n\n/**\n * This component renders Markdown content with `lb-prose`\n * styles and custom components (code blocks, etc)\n */\nexport function Prose({\n content,\n components,\n className,\n ...props\n}: ProseProps) {\n return (\n <ComponentsProvider components={components}>\n <Markdown\n content={content}\n components={{ ...defaultMarkdownComponents, ...components?.markdown }}\n className={cn(\"lb-prose\", className)}\n {...props}\n />\n </ComponentsProvider>\n );\n}\n"],"names":["useComponents","jsx","DefaultCodeBlock","components","ComponentsProvider","Markdown","cn"],"mappings":";;;;;;;;AAuBA,SAAS,IAAK,CAAA,EAAE,IAAM,EAAA,KAAA,EAAO,UAAyC,EAAA;AACpE,EAAM,MAAA,EAAE,MAAO,EAAA,GAAIA,wBAAc,EAAA,CAAA;AAEjC,EAAA,uBACGC,cAAA,CAAA,MAAA,EAAA;AAAA,IAAO,IAAA;AAAA,IAAY,KAAA;AAAA,IACjB,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAA;AAEA,SAAS,SAAU,CAAA,EAAE,QAAU,EAAA,IAAA,EAA0C,EAAA;AACvE,EAAA,uBAAQA,cAAA,CAAAC,qBAAA,EAAA;AAAA,IAAiB,OAAO,QAAY,IAAA,YAAA;AAAA,IAAc,IAAA;AAAA,GAAY,CAAA,CAAA;AACxE,CAAA;AAEA,MAAM,yBAAyD,GAAA;AAAA,EAC7D,IAAA;AAAA,EACA,SAAA;AACF,CAAA,CAAA;AAMO,SAAS,KAAM,CAAA;AAAA,EACpB,OAAA;AAAA,cACAC,YAAA;AAAA,EACA,SAAA;AAAA,EACG,GAAA,KAAA;AACL,CAAe,EAAA;AACb,EAAA,uBACGF,cAAA,CAAAG,6BAAA,EAAA;AAAA,gBAAmBD,YAAA;AAAA,IAClB,QAAC,kBAAAF,cAAA,CAAAI,iBAAA,EAAA;AAAA,MACC,OAAA;AAAA,MACA,YAAY,EAAE,GAAG,yBAA2B,EAAA,GAAGF,cAAY,QAAS,EAAA;AAAA,MACpE,SAAA,EAAWG,KAAG,CAAA,UAAA,EAAY,SAAS,CAAA;AAAA,MAClC,GAAG,KAAA;AAAA,KACN,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}