UNPKG

dumi-theme-antd-style

Version:

dumi-theme-antd-style 是为 dumi2 打造的一款文档站主题包,提供了更加美观、易用的研发与阅读体验

38 lines 1.96 kB
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray"; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } import { useTheme } from 'antd-style'; import { memo } from 'react'; import { PrismLight as SyntaxHighlighter } from 'react-syntax-highlighter'; import { oneDark, oneLight } from 'react-syntax-highlighter/dist/esm/styles/prism'; import { languageMap } from "./language"; import { jsx as _jsx } from "react/jsx-runtime"; Object.entries(languageMap).forEach(function (_ref) { var _ref2 = _slicedToArray(_ref, 2), key = _ref2[0], value = _ref2[1]; SyntaxHighlighter.registerLanguage(key, value); }); var defaultTheme = { dark: oneDark, light: oneLight }; export var Prism = /*#__PURE__*/memo(function (_ref3) { var children = _ref3.children, language = _ref3.language, theme = _ref3.theme; var _useTheme = useTheme(), isDarkMode = _useTheme.isDarkMode, lineHeight = _useTheme.lineHeight; var Theme = _objectSpread(_objectSpread({}, defaultTheme), theme); return /*#__PURE__*/_jsx(SyntaxHighlighter, { language: language, style: isDarkMode ? Theme.dark : Theme.light, customStyle: { borderRadius: 8, lineHeight: lineHeight }, children: children }); });