dumi-theme-antd
Version:
Ant Design 5.0 官网风格类似的 dumi2 主题插件
61 lines • 11.4 kB
JavaScript
import { TinyColor } from '@ctrl/tinycolor';
import { css } from '@emotion/react';
import RcFooter from 'rc-footer';
import cloneDeep from 'lodash.clonedeep';
import getAlphaColor from 'antd/lib/theme/util/getAlphaColor';
import { useContext, useCallback } from 'react';
import useSiteToken from "../../hooks/useSiteToken";
import useLocaleValue from "../../hooks/useLocaleValue";
import SiteContext from "dumi/theme/slots/SiteContext";
import { jsx as ___EmotionJSX } from "@emotion/react";
var useStyle = function useStyle() {
var _useSiteToken = useSiteToken(),
token = _useSiteToken.token;
var footerLinks = useLocaleValue('footerLinks');
var _useContext = useContext(SiteContext),
isMobile = _useContext.isMobile;
var background = new TinyColor(getAlphaColor('#f0f3fa', '#fff')).onBackground(token.colorBgContainer).toHexString();
return {
holder: /*#__PURE__*/css("background:", background, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:holder;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQmUiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGlueUNvbG9yIH0gZnJvbSAnQGN0cmwvdGlueWNvbG9yJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBSY0Zvb3RlciBmcm9tICdyYy1mb290ZXInO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2guY2xvbmVkZWVwJztcbmltcG9ydCBnZXRBbHBoYUNvbG9yIGZyb20gJ2FudGQvbGliL3RoZW1lL3V0aWwvZ2V0QWxwaGFDb2xvcic7XG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHR5cGUgRkMgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IEZvb3RlckNvbHVtbiB9IGZyb20gJ3JjLWZvb3Rlci9saWIvY29sdW1uJztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcbmltcG9ydCB1c2VMb2NhbGVWYWx1ZSBmcm9tICcuLi8uLi9ob29rcy91c2VMb2NhbGVWYWx1ZSc7XG5pbXBvcnQgU2l0ZUNvbnRleHQgZnJvbSAnLi4vU2l0ZUNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBTaXRlQ29udGV4dFByb3BzIH0gZnJvbSAnLi4vU2l0ZUNvbnRleHQnO1xuXG5jb25zdCB1c2VTdHlsZSA9ICgpID0+IHtcbiAgY29uc3QgeyB0b2tlbiB9ID0gdXNlU2l0ZVRva2VuKCk7XG4gIGNvbnN0IGZvb3RlckxpbmtzID0gdXNlTG9jYWxlVmFsdWUoJ2Zvb3RlckxpbmtzJyk7XG4gIGNvbnN0IHsgaXNNb2JpbGUgfSA9IHVzZUNvbnRleHQ8U2l0ZUNvbnRleHRQcm9wcz4oU2l0ZUNvbnRleHQpO1xuICBjb25zdCBiYWNrZ3JvdW5kID0gbmV3IFRpbnlDb2xvcihnZXRBbHBoYUNvbG9yKCcjZjBmM2ZhJywgJyNmZmYnKSlcbiAgICAub25CYWNrZ3JvdW5kKHRva2VuLmNvbG9yQmdDb250YWluZXIpXG4gICAgLnRvSGV4U3RyaW5nKCk7XG5cbiAgcmV0dXJuIHtcbiAgICBob2xkZXI6IGNzc2BcbiAgICAgIGJhY2tncm91bmQ6ICR7YmFja2dyb3VuZH07XG4gICAgYCxcblxuICAgIGZvb3RlcjogY3NzYFxuICAgICAgYmFja2dyb3VuZDogJHtiYWNrZ3JvdW5kfTtcbiAgICAgIGNvbG9yOiAke3Rva2VuLmNvbG9yVGV4dFNlY29uZGFyeX07XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDEwNnB4IDM2cHggLTExNnB4IHJnYmEoMCwgMCwgMCwgMC4xNCk7XG5cbiAgICAgICoge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuXG4gICAgICBoMixcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHt0b2tlbi5jb2xvclRleHR9O1xuICAgICAgfVxuXG4gICAgICAucmMtZm9vdGVyLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR7aXNNb2JpbGUgPyA2MCA6IDB9cHg7XG4gICAgICAgIDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAke2lzTW9iaWxlID8gMjAgOiAwfXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yYy1mb290ZXItaXRlbS1pY29uIHtcbiAgICAgICAgdG9wOiAtMS41cHg7XG4gICAgICB9XG5cbiAgICAgIC5yYy1mb290ZXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogJHtBcnJheS5pc0FycmF5KGZvb3RlckxpbmtzKSAmJiBmb290ZXJMaW5rcy5sZW5ndGggPiAwID8gJ2Jsb2NrJyA6ICdub25lJ307XG4gICAgICAgIG1heC13aWR0aDogMTIwOHB4O1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJHt0b2tlbi5tYXJnaW5YWEx9cHg7XG4gICAgICB9XG5cbiAgICAgIC5yYy1mb290ZXItYm90dG9tIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxMDZweCAzNnB4IC0xMTZweCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICAgICAgICAucmMtZm9vdGVyLWJvdHRvbS1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHt0b2tlbi5mb250U2l6ZX1weDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcbiAgfTtcbn07XG5cbmNvbnN0IEZvb3RlcjogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHN0eWxlID0gdXNlU3R5bGUoKTtcbiAgY29uc3QgZm9vdGVyID0gdXNlTG9jYWxlVmFsdWUoJ2Zvb3RlcicpO1xuICBjb25zdCBmb290ZXJMaW5rcyA9IHVzZUxvY2FsZVZhbHVlKCdmb290ZXJMaW5rcycpO1xuXG4gIGNvbnN0IGdldEZvb3RlckxpbmtzID0gdXNlQ2FsbGJhY2soKGxpbmtzOiBGb290ZXJDb2x1bW5bXSkgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGxpbmtzKSkge1xuICAgICAgbGlua3MuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBpY29uVXJsID0gaXRlbS5pY29uO1xuICAgICAgICBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgZGVsZXRlIGl0ZW0uaWNvbjtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICBpdGVtLmljb24gPSA8aW1nIHNyYz17U3RyaW5nKGljb25VcmwpfSBhbHQ9XCJcIiBzdHlsZT17eyBtYXhXaWR0aDogJzEwMCUnIH19IC8+O1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0uaXRlbXMpKSB7XG4gICAgICAgICAgZ2V0Rm9vdGVyTGlua3MoaXRlbS5pdGVtcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbGlua3M7XG4gIH0sIFtdKTtcblxuICBpZiAoIWZvb3RlcikgcmV0dXJuIG51bGw7XG4gIHJldHVybiAoXG4gICAgPFJjRm9vdGVyXG4gICAgICBjb2x1bW5zPXtnZXRGb290ZXJMaW5rcyhjbG9uZURlZXAoZm9vdGVyTGlua3MpKX1cbiAgICAgIGNzcz17c3R5bGUuZm9vdGVyfVxuICAgICAgYm90dG9tPXtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiBmb290ZXJcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGb290ZXI7XG4iXX0= */"),
footer: /*#__PURE__*/css("background:", background, ";color:", token.colorTextSecondary, ";box-shadow:inset 0 106px 36px -116px rgba(0, 0, 0, 0.14);*{box-sizing:border-box;}h2,a{color:", token.colorText, ";}.rc-footer-column{margin-bottom:", isMobile ? 60 : 0, "px;:last-child{margin-bottom:", isMobile ? 20 : 0, "px;}}.rc-footer-item-icon{top:-1.5px;}.rc-footer-container{display:", Array.isArray(footerLinks) && footerLinks.length > 0 ? 'block' : 'none', ";max-width:1208px;margin-inline:auto;padding-inline:", token.marginXXL, "px;}.rc-footer-bottom{box-shadow:inset 0 106px 36px -116px rgba(0, 0, 0, 0.14);.rc-footer-bottom-container{font-size:", token.fontSize, "px;}}" + (process.env.NODE_ENV === "production" ? "" : ";label:footer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwQmUiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGlueUNvbG9yIH0gZnJvbSAnQGN0cmwvdGlueWNvbG9yJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBSY0Zvb3RlciBmcm9tICdyYy1mb290ZXInO1xuaW1wb3J0IGNsb25lRGVlcCBmcm9tICdsb2Rhc2guY2xvbmVkZWVwJztcbmltcG9ydCBnZXRBbHBoYUNvbG9yIGZyb20gJ2FudGQvbGliL3RoZW1lL3V0aWwvZ2V0QWxwaGFDb2xvcic7XG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHR5cGUgRkMgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IEZvb3RlckNvbHVtbiB9IGZyb20gJ3JjLWZvb3Rlci9saWIvY29sdW1uJztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcbmltcG9ydCB1c2VMb2NhbGVWYWx1ZSBmcm9tICcuLi8uLi9ob29rcy91c2VMb2NhbGVWYWx1ZSc7XG5pbXBvcnQgU2l0ZUNvbnRleHQgZnJvbSAnLi4vU2l0ZUNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBTaXRlQ29udGV4dFByb3BzIH0gZnJvbSAnLi4vU2l0ZUNvbnRleHQnO1xuXG5jb25zdCB1c2VTdHlsZSA9ICgpID0+IHtcbiAgY29uc3QgeyB0b2tlbiB9ID0gdXNlU2l0ZVRva2VuKCk7XG4gIGNvbnN0IGZvb3RlckxpbmtzID0gdXNlTG9jYWxlVmFsdWUoJ2Zvb3RlckxpbmtzJyk7XG4gIGNvbnN0IHsgaXNNb2JpbGUgfSA9IHVzZUNvbnRleHQ8U2l0ZUNvbnRleHRQcm9wcz4oU2l0ZUNvbnRleHQpO1xuICBjb25zdCBiYWNrZ3JvdW5kID0gbmV3IFRpbnlDb2xvcihnZXRBbHBoYUNvbG9yKCcjZjBmM2ZhJywgJyNmZmYnKSlcbiAgICAub25CYWNrZ3JvdW5kKHRva2VuLmNvbG9yQmdDb250YWluZXIpXG4gICAgLnRvSGV4U3RyaW5nKCk7XG5cbiAgcmV0dXJuIHtcbiAgICBob2xkZXI6IGNzc2BcbiAgICAgIGJhY2tncm91bmQ6ICR7YmFja2dyb3VuZH07XG4gICAgYCxcblxuICAgIGZvb3RlcjogY3NzYFxuICAgICAgYmFja2dyb3VuZDogJHtiYWNrZ3JvdW5kfTtcbiAgICAgIGNvbG9yOiAke3Rva2VuLmNvbG9yVGV4dFNlY29uZGFyeX07XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDEwNnB4IDM2cHggLTExNnB4IHJnYmEoMCwgMCwgMCwgMC4xNCk7XG5cbiAgICAgICoge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgfVxuXG4gICAgICBoMixcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHt0b2tlbi5jb2xvclRleHR9O1xuICAgICAgfVxuXG4gICAgICAucmMtZm9vdGVyLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR7aXNNb2JpbGUgPyA2MCA6IDB9cHg7XG4gICAgICAgIDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAke2lzTW9iaWxlID8gMjAgOiAwfXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yYy1mb290ZXItaXRlbS1pY29uIHtcbiAgICAgICAgdG9wOiAtMS41cHg7XG4gICAgICB9XG5cbiAgICAgIC5yYy1mb290ZXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogJHtBcnJheS5pc0FycmF5KGZvb3RlckxpbmtzKSAmJiBmb290ZXJMaW5rcy5sZW5ndGggPiAwID8gJ2Jsb2NrJyA6ICdub25lJ307XG4gICAgICAgIG1heC13aWR0aDogMTIwOHB4O1xuICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWlubGluZTogJHt0b2tlbi5tYXJnaW5YWEx9cHg7XG4gICAgICB9XG5cbiAgICAgIC5yYy1mb290ZXItYm90dG9tIHtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxMDZweCAzNnB4IC0xMTZweCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuICAgICAgICAucmMtZm9vdGVyLWJvdHRvbS1jb250YWluZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHt0b2tlbi5mb250U2l6ZX1weDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcbiAgfTtcbn07XG5cbmNvbnN0IEZvb3RlcjogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHN0eWxlID0gdXNlU3R5bGUoKTtcbiAgY29uc3QgZm9vdGVyID0gdXNlTG9jYWxlVmFsdWUoJ2Zvb3RlcicpO1xuICBjb25zdCBmb290ZXJMaW5rcyA9IHVzZUxvY2FsZVZhbHVlKCdmb290ZXJMaW5rcycpO1xuXG4gIGNvbnN0IGdldEZvb3RlckxpbmtzID0gdXNlQ2FsbGJhY2soKGxpbmtzOiBGb290ZXJDb2x1bW5bXSkgPT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGxpbmtzKSkge1xuICAgICAgbGlua3MuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBpY29uVXJsID0gaXRlbS5pY29uO1xuICAgICAgICBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgZGVsZXRlIGl0ZW0uaWNvbjtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICBpdGVtLmljb24gPSA8aW1nIHNyYz17U3RyaW5nKGljb25VcmwpfSBhbHQ9XCJcIiBzdHlsZT17eyBtYXhXaWR0aDogJzEwMCUnIH19IC8+O1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0uaXRlbXMpKSB7XG4gICAgICAgICAgZ2V0Rm9vdGVyTGlua3MoaXRlbS5pdGVtcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbGlua3M7XG4gIH0sIFtdKTtcblxuICBpZiAoIWZvb3RlcikgcmV0dXJuIG51bGw7XG4gIHJldHVybiAoXG4gICAgPFJjRm9vdGVyXG4gICAgICBjb2x1bW5zPXtnZXRGb290ZXJMaW5rcyhjbG9uZURlZXAoZm9vdGVyTGlua3MpKX1cbiAgICAgIGNzcz17c3R5bGUuZm9vdGVyfVxuICAgICAgYm90dG9tPXtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiBmb290ZXJcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGb290ZXI7XG4iXX0= */")
};
};
var Footer = function Footer() {
var style = useStyle();
var footer = useLocaleValue('footer');
var footerLinks = useLocaleValue('footerLinks');
var getFooterLinks = useCallback(function (links) {
if (Array.isArray(links)) {
links.forEach(function (item) {
var iconUrl = item.icon;
if (item.icon) {
// eslint-disable-next-line no-param-reassign
delete item.icon;
// eslint-disable-next-line no-param-reassign
item.icon = ___EmotionJSX("img", {
src: String(iconUrl),
alt: "",
style: {
maxWidth: '100%'
}
});
}
if (Array.isArray(item.items)) {
getFooterLinks(item.items);
}
});
}
return links;
}, []);
if (!footer) return null;
return ___EmotionJSX(RcFooter, {
columns: getFooterLinks(cloneDeep(footerLinks)),
css: style.footer,
bottom: ___EmotionJSX("span", {
dangerouslySetInnerHTML: {
__html: footer
}
})
});
};
export default Footer;