UNPKG

@yuntijs/ui

Version:

☁️ Yunti UI - an open-source UI component library for building Cloud Native web apps

29 lines 1.15 kB
import { memo } from 'react'; import { escapeHtml, useStaticHighlight } from "../../hooks/useHighlight"; import { useStyles } from "./style"; import { jsx as _jsx } from "react/jsx-runtime"; export var StaticRenderer = /*#__PURE__*/memo(function (_ref) { var _children$trim; var children = _ref.children, language = _ref.language, enableTransformer = _ref.enableTransformer, theme = _ref.theme, className = _ref.className, style = _ref.style; var _useStyles = useStyles({ theme: theme }), styles = _useStyles.styles, cx = _useStyles.cx; var safeChildren = (_children$trim = children === null || children === void 0 ? void 0 : children.trim()) !== null && _children$trim !== void 0 ? _children$trim : ''; var data = useStaticHighlight(safeChildren, language, enableTransformer, theme); var hasData = typeof data === 'string' && data.length > 0; return /*#__PURE__*/_jsx("div", { className: cx(styles.shiki, className), dangerouslySetInnerHTML: { __html: hasData ? data : "<pre><code>".concat(escapeHtml(safeChildren), "</code></pre>") }, dir: "ltr", style: style }); });