@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 1.85 kB
Source Map (JSON)
{"version":3,"file":"Snippet.mjs","names":["Snippet: FC<SnippetProps>","Flexbox","Spotlight","SyntaxHighlighter","CopyButton"],"sources":["../../src/Snippet/Snippet.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type FC } from 'react';\n\nimport CopyButton from '@/CopyButton';\nimport { Flexbox } from '@/Flex';\nimport SyntaxHighlighter from '@/Highlighter/SyntaxHighlighter';\nimport Spotlight from '@/awesome/Spotlight';\n\nimport { styles, variants } from './style';\nimport type { SnippetProps } from './type';\n\nconst Snippet: FC<SnippetProps> = ({\n ref,\n prefix,\n language = 'tsx',\n children,\n copyable = true,\n variant = 'filled',\n spotlight,\n shadow,\n className,\n ...rest\n}) => {\n const tirmedChildren = children.trim();\n\n return (\n <Flexbox\n align={'center'}\n className={cx(variants({ shadow, variant }), className)}\n data-code-type=\"highlighter\"\n gap={8}\n horizontal\n ref={ref}\n {...rest}\n >\n {spotlight && <Spotlight />}\n <SyntaxHighlighter className={styles.hightlight} language={language}>\n {[prefix, tirmedChildren].filter(Boolean).join(' ')}\n </SyntaxHighlighter>\n {copyable && <CopyButton content={tirmedChildren} size={'small'} />}\n </Flexbox>\n );\n};\n\nSnippet.displayName = 'Snippet';\n\nexport default Snippet;\n"],"mappings":";;;;;;;;;;;AAaA,MAAMA,WAA6B,EACjC,KACA,QACA,WAAW,OACX,UACA,WAAW,MACX,UAAU,UACV,WACA,QACA,WACA,GAAG,WACC;CACJ,MAAM,iBAAiB,SAAS,MAAM;AAEtC,QACE,qBAACC;EACC,OAAO;EACP,WAAW,GAAG,SAAS;GAAE;GAAQ;GAAS,CAAC,EAAE,UAAU;EACvD,kBAAe;EACf,KAAK;EACL;EACK;EACL,GAAI;;GAEH,aAAa,oBAACC,sBAAY;GAC3B,oBAACC;IAAkB,WAAW,OAAO;IAAsB;cACxD,CAAC,QAAQ,eAAe,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;KACjC;GACnB,YAAY,oBAACC;IAAW,SAAS;IAAgB,MAAM;KAAW;;GAC3D;;AAId,QAAQ,cAAc;AAEtB,sBAAe"}