UNPKG

@easyx.ai/dumi-theme-easyxai

Version:

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

58 lines 5.42 kB
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral"; var _templateObject, _templateObject2, _templateObject3, _templateObject4; 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 { useMemo } from 'react'; import { createStyles } from 'antd-style'; import Previewer from 'dumi/theme-default/builtins/Previewer'; import { rgba } from 'polished'; import DemoProvider from "../../components/DemoProvider"; import { IntersectionLoad } from "../../components/LazyLoad"; import { useSiteStore } from "../../store"; import { jsx as _jsx } from "react/jsx-runtime"; var useStyles = createStyles(function (_ref) { var css = _ref.css, token = _ref.token, prefixCls = _ref.prefixCls; return { container: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .dumi-default-previewer {\n border-color: ", ";\n display: flex;\n flex-direction: column;\n\n &-demo {\n flex: 1;\n\n &[data-iframe]::before {\n background: ", ";\n }\n }\n\n &-meta {\n border-color: ", ";\n flex: 1;\n\n .", "-highlighter {\n pre {\n border-radius: 0 !important;\n }\n }\n }\n &-actions {\n svg {\n fill: ", ";\n }\n }\n &-actions:not(:last-child) {\n border-color: ", ";\n }\n\n &-desc {\n .markdown {\n border-color: ", ";\n }\n\n h5 {\n background: linear-gradient(\n to top,\n ", ",\n ", " 50%,\n ", " 100%\n );\n\n a {\n color: ", ";\n }\n }\n }\n\n &-tabs::after {\n border-color: ", ";\n }\n }\n\n .dumi-default-tabs-tab {\n &-btn {\n color: ", ";\n }\n\n &-active {\n .dumi-default-tabs-tab-btn {\n color: ", ";\n }\n }\n }\n "])), token.colorBorderSecondary, token.colorFillContent, token.colorBorderSecondary, prefixCls, token.colorTextTertiary, token.colorBorderSecondary, token.colorBorderSecondary, token.colorBgContainer, rgba(token.colorBgContainer, 0.95), rgba(token.colorBgContainer, 0), token.colorText, token.colorBorderSecondary, token.colorTextTertiary, token.colorText), top: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n .dumi-default-previewer {\n flex-direction: column-reverse;\n\n &-meta {\n display: flex;\n flex-direction: column;\n }\n\n &-actions {\n order: 1;\n }\n\n &-desc {\n order: 2;\n }\n }\n "]))), left: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n .dumi-default-previewer {\n flex-direction: row-reverse;\n &-demo {\n width: 50%;\n border-left: 1px solid ", ";\n }\n &-meta {\n width: 50%;\n }\n }\n "])), token.colorBorderSecondary), right: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n .dumi-default-previewer {\n flex-direction: row;\n &-demo {\n width: 50%;\n border-right: 1px solid ", ";\n }\n &-meta {\n width: 50%;\n }\n }\n "])), token.colorBorderSecondary) }; }); export default (function (props) { var _useStyles = useStyles(), styles = _useStyles.styles, cx = _useStyles.cx, theme = _useStyles.theme; var height = useMemo(function () { if (typeof props.iframe === 'number') { return props.iframe; } if (props.height) { return props.height; } return 300; }, [props.iframe, props.height]); var inheritSiteTheme = props.inheritSiteTheme || theme.demoInheritSiteTheme; var demoAppearance = props.appearance; var lazyLoading = useSiteStore(function (s) { var _s$siteData$themeConf; return (_s$siteData$themeConf = s.siteData.themeConfig.demo) === null || _s$siteData$themeConf === void 0 ? void 0 : _s$siteData$themeConf.lazyLoading; }); var content = /*#__PURE__*/_jsx(DemoProvider, { inheritSiteTheme: inheritSiteTheme, demoAppearance: demoAppearance, children: /*#__PURE__*/_jsx(Previewer, _objectSpread({}, props)) }); return /*#__PURE__*/_jsx("div", { className: cx(styles.container, styles[props.codePlacement]), children: lazyLoading ? /*#__PURE__*/_jsx(IntersectionLoad, { height: height, elementType: "section", children: content }) : content }); });