dumi-theme-antd
Version:
Ant Design 5.0 官网风格类似的 dumi2 主题插件
134 lines (132 loc) • 22 kB
JavaScript
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
import { MenuFoldOutlined } from '@ant-design/icons';
import { css } from '@emotion/react';
import { Menu } from 'antd';
import { Link, useLocale, useLocation, useNavData, useSiteData } from 'dumi';
import { useCallback } from 'react';
import useAdditionalThemeConfig from "../../hooks/useAdditionalThemeConfig";
import useLocaleValue from "../../hooks/useLocaleValue";
import useSiteToken from "../../hooks/useSiteToken";
import { getTargetLocalePath, isExternalLinks } from "../../utils";
import { getMoreLinksGroup } from "./More";
import { jsx as ___EmotionJSX } from "@emotion/react";
var useStyle = function useStyle() {
var _useSiteToken = useSiteToken(),
token = _useSiteToken.token;
var antCls = token.antCls,
iconCls = token.iconCls,
fontFamily = token.fontFamily,
headerHeight = token.headerHeight,
menuItemBorder = token.menuItemBorder,
colorPrimary = token.colorPrimary;
return {
nav: /*#__PURE__*/css("height:100%;font-size:14px;font-family:Avenir,", fontFamily, ",sans-serif;border:0;&", antCls, "-menu-horizontal{border-bottom:none;&>", antCls, "-menu-item,&>", antCls, "-menu-submenu{min-width:(40px + 12px * 2);height:", headerHeight, "px;padding-right:12px;padding-left:12px;line-height:", headerHeight, "px;&::after{top:0;right:12px;bottom:auto;left:12px;border-width:", menuItemBorder, "px;}}& ", antCls, "-menu-submenu-title ", iconCls, "{margin:0;}&>", antCls, "-menu-item-selected{a{color:", colorPrimary, ";}}}&>", antCls, "-menu-item,&>", antCls, "-menu-submenu{text-align:center;}" + (process.env.NODE_ENV === "production" ? "" : ";label:nav;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk5hdmlnYXRpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCWSIsImZpbGUiOiJOYXZpZ2F0aW9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVGb2xkT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgdHlwZSB7IE1lbnVQcm9wcyB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgTWVudSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgTGluaywgdXNlTG9jYWxlLCB1c2VMb2NhdGlvbiwgdXNlTmF2RGF0YSwgdXNlU2l0ZURhdGEgfSBmcm9tICdkdW1pJztcbmltcG9ydCB7IElOYXZJdGVtIH0gZnJvbSAnZHVtaS9kaXN0L2NsaWVudC90aGVtZS1hcGkvdHlwZXMnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQWRkaXRpb25hbFRoZW1lQ29uZmlnIGZyb20gJy4uLy4uL2hvb2tzL3VzZUFkZGl0aW9uYWxUaGVtZUNvbmZpZyc7XG5pbXBvcnQgdXNlTG9jYWxlVmFsdWUgZnJvbSAnLi4vLi4vaG9va3MvdXNlTG9jYWxlVmFsdWUnO1xuaW1wb3J0IHVzZVNpdGVUb2tlbiBmcm9tICcuLi8uLi9ob29rcy91c2VTaXRlVG9rZW4nO1xuaW1wb3J0IHsgZ2V0VGFyZ2V0TG9jYWxlUGF0aCwgaXNFeHRlcm5hbExpbmtzIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgdHlwZSBJUmVzcG9uc2l2ZSB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgZ2V0TW9yZUxpbmtzR3JvdXAgfSBmcm9tICcuL01vcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25Qcm9wcyB7XG4gIGlzTW9iaWxlOiBib29sZWFuO1xuICByZXNwb25zaXZlOiBJUmVzcG9uc2l2ZTtcbn1cblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuXG4gIGNvbnN0IHsgYW50Q2xzLCBpY29uQ2xzLCBmb250RmFtaWx5LCBoZWFkZXJIZWlnaHQsIG1lbnVJdGVtQm9yZGVyLCBjb2xvclByaW1hcnkgfSA9IHRva2VuO1xuXG4gIHJldHVybiB7XG4gICAgbmF2OiBjc3NgXG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LWZhbWlseTogQXZlbmlyLCAke2ZvbnRGYW1pbHl9LCBzYW5zLXNlcmlmO1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAmJHthbnRDbHN9LW1lbnUtaG9yaXpvbnRhbCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgJiA+ICR7YW50Q2xzfS1tZW51LWl0ZW0sICYgPiAke2FudENsc30tbWVudS1zdWJtZW51IHtcbiAgICAgICAgICBtaW4td2lkdGg6ICg0MHB4ICsgMTJweCAqIDIpO1xuICAgICAgICAgIGhlaWdodDogJHtoZWFkZXJIZWlnaHR9cHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR7aGVhZGVySGVpZ2h0fXB4O1xuXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDEycHg7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAke21lbnVJdGVtQm9yZGVyfXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgJHthbnRDbHN9LW1lbnUtc3VibWVudS10aXRsZSAke2ljb25DbHN9IHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gJHthbnRDbHN9LW1lbnUtaXRlbS1zZWxlY3RlZCB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHtjb2xvclByaW1hcnl9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gJHthbnRDbHN9LW1lbnUtaXRlbSwgJiA+ICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgYCxcbiAgICBwb3BvdmVyTWVudU5hdjogY3NzYFxuICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbSxcbiAgICAgICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgfVxuXG4gICAgICAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgICB9XG5cbiAgICAgICR7YW50Q2xzfS1tZW51LWl0ZW0sXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICB9XG4gICAgYFxuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTmF2aWdhdGlvbih7IGlzTW9iaWxlLCByZXNwb25zaXZlIH06IE5hdmlnYXRpb25Qcm9wcykge1xuICBjb25zdCB7IHBhdGhuYW1lLCBzZWFyY2ggfSA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IHsgbG9jYWxlcyB9ID0gdXNlU2l0ZURhdGEoKTtcbiAgY29uc3QgeyBnaXRodWIsIHNvY2lhbExpbmtzIH0gPSB1c2VBZGRpdGlvbmFsVGhlbWVDb25maWcoKTtcblxuICAvLyDnu5/kuIDkvb/nlKggdGhlbWVDb25maWcubmF277yM5L2/55SoIHVzZU5hdkRhdGHvvIzlvZPlrZjlnKjoh6rlrprkuYkgcGFnZXMg5pe277yM5Lya5a+86Ie0IG5hdiDmt7fkubFcbiAgY29uc3QgbmF2TGlzdCA9IHVzZU5hdkRhdGEoKTtcbiAgY29uc3QgbG9jYWxlID0gdXNlTG9jYWxlKCk7XG4gIGNvbnN0IG1vcmVMaW5rcyA9IHVzZUxvY2FsZVZhbHVlKCdtb3JlTGlua3MnKTtcbiAgY29uc3QgYWN0aXZlTWVudUl0ZW0gPSBwYXRobmFtZS5zcGxpdCgnLycpLnNsaWNlKDAsIDIpLmpvaW4oJy8nKTtcblxuICBjb25zdCBjcmVhdGVNZW51SXRlbXMgPSAobmF2czogSU5hdkl0ZW1bXSkgPT4ge1xuICAgIHJldHVybiBuYXZzLm1hcCgobmF2SXRlbTogSU5hdkl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGxpbmtLZXlWYWx1ZSA9IChuYXZJdGVtLmxpbmsgPz8gJycpLnNwbGl0KCcvJykuc2xpY2UoMCwgMikuam9pbignLycpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5lc3RlZC10ZXJuYXJ5XG4gICAgICAgIGxhYmVsOiBuYXZJdGVtLmNoaWxkcmVuID8gKFxuICAgICAgICAgIG5hdkl0ZW0udGl0bGVcbiAgICAgICAgKSA6IGlzRXh0ZXJuYWxMaW5rcyhuYXZJdGVtLmxpbmspID8gKFxuICAgICAgICAgIDxhIGhyZWY9e2Ake25hdkl0ZW0ubGlua30ke3NlYXJjaH1gfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub3JlZmVycmVyXCI+XG4gICAgICAgICAgICB7bmF2SXRlbS50aXRsZX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPExpbmsgdG89e2Ake25hdkl0ZW0ubGlua30ke3NlYXJjaH1gfT57bmF2SXRlbS50aXRsZX08L0xpbms+XG4gICAgICAgICksXG4gICAgICAgIGtleTogaXNFeHRlcm5hbExpbmtzKG5hdkl0ZW0ubGluaykgPyBuYXZJdGVtLmxpbmsgOiBsaW5rS2V5VmFsdWUsXG4gICAgICAgIGNoaWxkcmVuOiBuYXZJdGVtLmNoaWxkcmVuID8gY3JlYXRlTWVudUl0ZW1zKG5hdkl0ZW0uY2hpbGRyZW4pIDogbnVsbFxuICAgICAgfTtcbiAgICB9KTtcbiAgfTtcbiAgY29uc3QgbWVudUl0ZW1zOiBNZW51UHJvcHNbJ2l0ZW1zJ10gPSBjcmVhdGVNZW51SXRlbXMobmF2TGlzdCk7XG5cbiAgLy8g6I635Y+W5bCP5bGP5bmV5LiL5aSa6K+t6KiA5a+86Iiq5qCP6IqC54K5XG4gIGNvbnN0IGdldExhbmdOb2RlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChsb2NhbGVzLmxlbmd0aCA8IDIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAobG9jYWxlcy5sZW5ndGggPT09IDIpIHtcbiAgICAgIGNvbnN0IG5leHRMYW5nID0gbG9jYWxlcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWQgIT09IGxvY2FsZS5pZClbMF07XG4gICAgICBjb25zdCBuZXh0UGF0aCA9IGdldFRhcmdldExvY2FsZVBhdGgoe1xuICAgICAgICBjdXJyZW50OiBsb2NhbGUsXG4gICAgICAgIHRhcmdldDogbmV4dExhbmdcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGFiZWw6IChcbiAgICAgICAgICA8YSByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgaHJlZj17bmV4dFBhdGh9PlxuICAgICAgICAgICAge25leHRMYW5nLm5hbWV9XG4gICAgICAgICAgPC9hPlxuICAgICAgICApLFxuICAgICAgICBrZXk6IG5leHRMYW5nLmlkXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbGFiZWw6IDxzcGFuPntsb2NhbGUubmFtZX08L3NwYW4+LFxuICAgICAga2V5OiAnbXVsdGktbGFuZycsXG4gICAgICBjaGlsZHJlbjogbG9jYWxlc1xuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlkICE9PSBsb2NhbGUuaWQpXG4gICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICBjb25zdCBuZXh0UGF0aCA9IGdldFRhcmdldExvY2FsZVBhdGgoe1xuICAgICAgICAgICAgY3VycmVudDogbG9jYWxlLFxuICAgICAgICAgICAgdGFyZ2V0OiBpdGVtXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxhYmVsOiAoXG4gICAgICAgICAgICAgIDxhIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBocmVmPXtuZXh0UGF0aH0+XG4gICAgICAgICAgICAgICAge2l0ZW0ubmFtZX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGtleTogaXRlbS5pZFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgfTtcbiAgfSwgW2xvY2FsZSwgbG9jYWxlc10pO1xuXG4gIGxldCBhZGRpdGlvbmFsOiBNZW51UHJvcHNbJ2l0ZW1zJ107XG4gIGNvbnN0IGFkZGl0aW9uYWxJdGVtczogTWVudVByb3BzWydpdGVtcyddID0gW1xuICAgIGdpdGh1YiB8fCBzb2NpYWxMaW5rcz8uZ2l0aHViXG4gICAgICA/IHtcbiAgICAgICAgICBsYWJlbDogKFxuICAgICAgICAgICAgPGEgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIGhyZWY9e2dpdGh1YiB8fCBzb2NpYWxMaW5rcz8uZ2l0aHVifSB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgICAgICAgICAgR2l0SHViXG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgKSxcbiAgICAgICAgICBrZXk6ICdnaXRodWInXG4gICAgICAgIH1cbiAgICAgIDogbnVsbCxcbiAgICBnZXRMYW5nTm9kZSgpLFxuICAgIC4uLihnZXRNb3JlTGlua3NHcm91cChtb3JlTGlua3MpIHx8IFtdKVxuICBdO1xuXG4gIGlmIChpc01vYmlsZSkge1xuICAgIGFkZGl0aW9uYWwgPSBhZGRpdGlvbmFsSXRlbXM7XG4gIH0gZWxzZSBpZiAocmVzcG9uc2l2ZSA9PT0gJ2Nyb3dkZWQnKSB7XG4gICAgYWRkaXRpb25hbCA9IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6IDxNZW51Rm9sZE91dGxpbmVkIC8+LFxuICAgICAgICBrZXk6ICdhZGRpdGlvbmFsJyxcbiAgICAgICAgY2hpbGRyZW46IFsuLi5hZGRpdGlvbmFsSXRlbXNdXG4gICAgICB9XG4gICAgXTtcbiAgfVxuICBjb25zdCBpdGVtczogTWVudVByb3BzWydpdGVtcyddID0gWy4uLihtZW51SXRlbXMgPz8gW10pLCAuLi4oYWRkaXRpb25hbCA/PyBbXSldO1xuICBjb25zdCBtZW51TW9kZSA9IGlzTW9iaWxlID8gJ2lubGluZScgOiAnaG9yaXpvbnRhbCc7XG4gIGNvbnN0IHN0eWxlID0gdXNlU3R5bGUoKTtcbiAgcmV0dXJuIChcbiAgICA8TWVudVxuICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgbW9kZT17bWVudU1vZGV9XG4gICAgICBjc3M9e3N0eWxlLm5hdn1cbiAgICAgIHNlbGVjdGVkS2V5cz17W2FjdGl2ZU1lbnVJdGVtXX1cbiAgICAgIGRpc2FibGVkT3ZlcmZsb3dcbiAgICAvPlxuICApO1xufVxuIl19 */"),
popoverMenuNav: /*#__PURE__*/css(antCls, "-menu-item,", antCls, "-menu-submenu{text-align:left;}", antCls, "-menu-item-group-title{padding-left:24px;}", antCls, "-menu-item-group-list{padding:0 16px;}", antCls, "-menu-item,a{color:#333;}" + (process.env.NODE_ENV === "production" ? "" : ";label:popoverMenuNav;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk5hdmlnYXRpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlFdUIiLCJmaWxlIjoiTmF2aWdhdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZW51Rm9sZE91dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBNZW51UHJvcHMgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IE1lbnUgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IExpbmssIHVzZUxvY2FsZSwgdXNlTG9jYXRpb24sIHVzZU5hdkRhdGEsIHVzZVNpdGVEYXRhIH0gZnJvbSAnZHVtaSc7XG5pbXBvcnQgeyBJTmF2SXRlbSB9IGZyb20gJ2R1bWkvZGlzdC9jbGllbnQvdGhlbWUtYXBpL3R5cGVzJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHVzZUFkZGl0aW9uYWxUaGVtZUNvbmZpZyBmcm9tICcuLi8uLi9ob29rcy91c2VBZGRpdGlvbmFsVGhlbWVDb25maWcnO1xuaW1wb3J0IHVzZUxvY2FsZVZhbHVlIGZyb20gJy4uLy4uL2hvb2tzL3VzZUxvY2FsZVZhbHVlJztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcbmltcG9ydCB7IGdldFRhcmdldExvY2FsZVBhdGgsIGlzRXh0ZXJuYWxMaW5rcyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IHR5cGUgSVJlc3BvbnNpdmUgfSBmcm9tICcuL2luZGV4JztcbmltcG9ydCB7IGdldE1vcmVMaW5rc0dyb3VwIH0gZnJvbSAnLi9Nb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uUHJvcHMge1xuICBpc01vYmlsZTogYm9vbGVhbjtcbiAgcmVzcG9uc2l2ZTogSVJlc3BvbnNpdmU7XG59XG5cbmNvbnN0IHVzZVN0eWxlID0gKCkgPT4ge1xuICBjb25zdCB7IHRva2VuIH0gPSB1c2VTaXRlVG9rZW4oKTtcblxuICBjb25zdCB7IGFudENscywgaWNvbkNscywgZm9udEZhbWlseSwgaGVhZGVySGVpZ2h0LCBtZW51SXRlbUJvcmRlciwgY29sb3JQcmltYXJ5IH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIG5hdjogY3NzYFxuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1mYW1pbHk6IEF2ZW5pciwgJHtmb250RmFtaWx5fSwgc2Fucy1zZXJpZjtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgJiR7YW50Q2xzfS1tZW51LWhvcml6b250YWwge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICYgPiAke2FudENsc30tbWVudS1pdGVtLCAmID4gJHthbnRDbHN9LW1lbnUtc3VibWVudSB7XG4gICAgICAgICAgbWluLXdpZHRoOiAoNDBweCArIDEycHggKiAyKTtcbiAgICAgICAgICBoZWlnaHQ6ICR7aGVhZGVySGVpZ2h0fXB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAke2hlYWRlckhlaWdodH1weDtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJHttZW51SXRlbUJvcmRlcn1weDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUtdGl0bGUgJHtpY29uQ2xzfSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR7Y29sb3JQcmltYXJ5fTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+ICR7YW50Q2xzfS1tZW51LWl0ZW0sICYgPiAke2FudENsc30tbWVudS1zdWJtZW51IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIGAsXG4gICAgcG9wb3Zlck1lbnVOYXY6IGNzc2BcbiAgICAgICR7YW50Q2xzfS1tZW51LWl0ZW0sXG4gICAgICAke2FudENsc30tbWVudS1zdWJtZW51IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cC10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgIH1cblxuICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cC1saXN0IHtcbiAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgICAgfVxuXG4gICAgICAke2FudENsc30tbWVudS1pdGVtLFxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgfVxuICAgIGBcbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE5hdmlnYXRpb24oeyBpc01vYmlsZSwgcmVzcG9uc2l2ZSB9OiBOYXZpZ2F0aW9uUHJvcHMpIHtcbiAgY29uc3QgeyBwYXRobmFtZSwgc2VhcmNoIH0gPSB1c2VMb2NhdGlvbigpO1xuICBjb25zdCB7IGxvY2FsZXMgfSA9IHVzZVNpdGVEYXRhKCk7XG4gIGNvbnN0IHsgZ2l0aHViLCBzb2NpYWxMaW5rcyB9ID0gdXNlQWRkaXRpb25hbFRoZW1lQ29uZmlnKCk7XG5cbiAgLy8g57uf5LiA5L2/55SoIHRoZW1lQ29uZmlnLm5hdu+8jOS9v+eUqCB1c2VOYXZEYXRh77yM5b2T5a2Y5Zyo6Ieq5a6a5LmJIHBhZ2VzIOaXtu+8jOS8muWvvOiHtCBuYXYg5re35LmxXG4gIGNvbnN0IG5hdkxpc3QgPSB1c2VOYXZEYXRhKCk7XG4gIGNvbnN0IGxvY2FsZSA9IHVzZUxvY2FsZSgpO1xuICBjb25zdCBtb3JlTGlua3MgPSB1c2VMb2NhbGVWYWx1ZSgnbW9yZUxpbmtzJyk7XG4gIGNvbnN0IGFjdGl2ZU1lbnVJdGVtID0gcGF0aG5hbWUuc3BsaXQoJy8nKS5zbGljZSgwLCAyKS5qb2luKCcvJyk7XG5cbiAgY29uc3QgY3JlYXRlTWVudUl0ZW1zID0gKG5hdnM6IElOYXZJdGVtW10pID0+IHtcbiAgICByZXR1cm4gbmF2cy5tYXAoKG5hdkl0ZW06IElOYXZJdGVtKSA9PiB7XG4gICAgICBjb25zdCBsaW5rS2V5VmFsdWUgPSAobmF2SXRlbS5saW5rID8/ICcnKS5zcGxpdCgnLycpLnNsaWNlKDAsIDIpLmpvaW4oJy8nKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXN0ZWQtdGVybmFyeVxuICAgICAgICBsYWJlbDogbmF2SXRlbS5jaGlsZHJlbiA/IChcbiAgICAgICAgICBuYXZJdGVtLnRpdGxlXG4gICAgICAgICkgOiBpc0V4dGVybmFsTGlua3MobmF2SXRlbS5saW5rKSA/IChcbiAgICAgICAgICA8YSBocmVmPXtgJHtuYXZJdGVtLmxpbmt9JHtzZWFyY2h9YH0gdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9yZWZlcnJlclwiPlxuICAgICAgICAgICAge25hdkl0ZW0udGl0bGV9XG4gICAgICAgICAgPC9hPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxMaW5rIHRvPXtgJHtuYXZJdGVtLmxpbmt9JHtzZWFyY2h9YH0+e25hdkl0ZW0udGl0bGV9PC9MaW5rPlxuICAgICAgICApLFxuICAgICAgICBrZXk6IGlzRXh0ZXJuYWxMaW5rcyhuYXZJdGVtLmxpbmspID8gbmF2SXRlbS5saW5rIDogbGlua0tleVZhbHVlLFxuICAgICAgICBjaGlsZHJlbjogbmF2SXRlbS5jaGlsZHJlbiA/IGNyZWF0ZU1lbnVJdGVtcyhuYXZJdGVtLmNoaWxkcmVuKSA6IG51bGxcbiAgICAgIH07XG4gICAgfSk7XG4gIH07XG4gIGNvbnN0IG1lbnVJdGVtczogTWVudVByb3BzWydpdGVtcyddID0gY3JlYXRlTWVudUl0ZW1zKG5hdkxpc3QpO1xuXG4gIC8vIOiOt+WPluWwj+Wxj+W5leS4i+WkmuivreiogOWvvOiIquagj+iKgueCuVxuICBjb25zdCBnZXRMYW5nTm9kZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAobG9jYWxlcy5sZW5ndGggPCAyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKGxvY2FsZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICBjb25zdCBuZXh0TGFuZyA9IGxvY2FsZXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlkICE9PSBsb2NhbGUuaWQpWzBdO1xuICAgICAgY29uc3QgbmV4dFBhdGggPSBnZXRUYXJnZXRMb2NhbGVQYXRoKHtcbiAgICAgICAgY3VycmVudDogbG9jYWxlLFxuICAgICAgICB0YXJnZXQ6IG5leHRMYW5nXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxhYmVsOiAoXG4gICAgICAgICAgPGEgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIGhyZWY9e25leHRQYXRofT5cbiAgICAgICAgICAgIHtuZXh0TGFuZy5uYW1lfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgKSxcbiAgICAgICAga2V5OiBuZXh0TGFuZy5pZFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiA8c3Bhbj57bG9jYWxlLm5hbWV9PC9zcGFuPixcbiAgICAgIGtleTogJ211bHRpLWxhbmcnLFxuICAgICAgY2hpbGRyZW46IGxvY2FsZXNcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pZCAhPT0gbG9jYWxlLmlkKVxuICAgICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV4dFBhdGggPSBnZXRUYXJnZXRMb2NhbGVQYXRoKHtcbiAgICAgICAgICAgIGN1cnJlbnQ6IGxvY2FsZSxcbiAgICAgICAgICAgIHRhcmdldDogaXRlbVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsYWJlbDogKFxuICAgICAgICAgICAgICA8YSByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgaHJlZj17bmV4dFBhdGh9PlxuICAgICAgICAgICAgICAgIHtpdGVtLm5hbWV9XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBrZXk6IGl0ZW0uaWRcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgIH07XG4gIH0sIFtsb2NhbGUsIGxvY2FsZXNdKTtcblxuICBsZXQgYWRkaXRpb25hbDogTWVudVByb3BzWydpdGVtcyddO1xuICBjb25zdCBhZGRpdGlvbmFsSXRlbXM6IE1lbnVQcm9wc1snaXRlbXMnXSA9IFtcbiAgICBnaXRodWIgfHwgc29jaWFsTGlua3M/LmdpdGh1YlxuICAgICAgPyB7XG4gICAgICAgICAgbGFiZWw6IChcbiAgICAgICAgICAgIDxhIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBocmVmPXtnaXRodWIgfHwgc29jaWFsTGlua3M/LmdpdGh1Yn0gdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICAgIEdpdEh1YlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICksXG4gICAgICAgICAga2V5OiAnZ2l0aHViJ1xuICAgICAgICB9XG4gICAgICA6IG51bGwsXG4gICAgZ2V0TGFuZ05vZGUoKSxcbiAgICAuLi4oZ2V0TW9yZUxpbmtzR3JvdXAobW9yZUxpbmtzKSB8fCBbXSlcbiAgXTtcblxuICBpZiAoaXNNb2JpbGUpIHtcbiAgICBhZGRpdGlvbmFsID0gYWRkaXRpb25hbEl0ZW1zO1xuICB9IGVsc2UgaWYgKHJlc3BvbnNpdmUgPT09ICdjcm93ZGVkJykge1xuICAgIGFkZGl0aW9uYWwgPSBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiA8TWVudUZvbGRPdXRsaW5lZCAvPixcbiAgICAgICAga2V5OiAnYWRkaXRpb25hbCcsXG4gICAgICAgIGNoaWxkcmVuOiBbLi4uYWRkaXRpb25hbEl0ZW1zXVxuICAgICAgfVxuICAgIF07XG4gIH1cbiAgY29uc3QgaXRlbXM6IE1lbnVQcm9wc1snaXRlbXMnXSA9IFsuLi4obWVudUl0ZW1zID8/IFtdKSwgLi4uKGFkZGl0aW9uYWwgPz8gW10pXTtcbiAgY29uc3QgbWVudU1vZGUgPSBpc01vYmlsZSA/ICdpbmxpbmUnIDogJ2hvcml6b250YWwnO1xuICBjb25zdCBzdHlsZSA9IHVzZVN0eWxlKCk7XG4gIHJldHVybiAoXG4gICAgPE1lbnVcbiAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgIG1vZGU9e21lbnVNb2RlfVxuICAgICAgY3NzPXtzdHlsZS5uYXZ9XG4gICAgICBzZWxlY3RlZEtleXM9e1thY3RpdmVNZW51SXRlbV19XG4gICAgICBkaXNhYmxlZE92ZXJmbG93XG4gICAgLz5cbiAgKTtcbn1cbiJdfQ== */")
};
};
export default function Navigation(_ref) {
var _additional;
var isMobile = _ref.isMobile,
responsive = _ref.responsive;
var _useLocation = useLocation(),
pathname = _useLocation.pathname,
search = _useLocation.search;
var _useSiteData = useSiteData(),
locales = _useSiteData.locales;
var _useAdditionalThemeCo = useAdditionalThemeConfig(),
github = _useAdditionalThemeCo.github,
socialLinks = _useAdditionalThemeCo.socialLinks;
// 统一使用 themeConfig.nav,使用 useNavData,当存在自定义 pages 时,会导致 nav 混乱
var navList = useNavData();
var locale = useLocale();
var moreLinks = useLocaleValue('moreLinks');
var activeMenuItem = pathname.split('/').slice(0, 2).join('/');
var createMenuItems = function createMenuItems(navs) {
return navs.map(function (navItem) {
var _navItem$link;
var linkKeyValue = ((_navItem$link = navItem.link) !== null && _navItem$link !== void 0 ? _navItem$link : '').split('/').slice(0, 2).join('/');
return {
// eslint-disable-next-line no-nested-ternary
label: navItem.children ? navItem.title : isExternalLinks(navItem.link) ? ___EmotionJSX("a", {
href: "".concat(navItem.link).concat(search),
target: "_blank",
rel: "noreferrer"
}, navItem.title) : ___EmotionJSX(Link, {
to: "".concat(navItem.link).concat(search)
}, navItem.title),
key: isExternalLinks(navItem.link) ? navItem.link : linkKeyValue,
children: navItem.children ? createMenuItems(navItem.children) : null
};
});
};
var menuItems = createMenuItems(navList);
// 获取小屏幕下多语言导航栏节点
var getLangNode = useCallback(function () {
if (locales.length < 2) {
return null;
}
if (locales.length === 2) {
var nextLang = locales.filter(function (item) {
return item.id !== locale.id;
})[0];
var nextPath = getTargetLocalePath({
current: locale,
target: nextLang
});
return {
label: ___EmotionJSX("a", {
rel: "noopener noreferrer",
href: nextPath
}, nextLang.name),
key: nextLang.id
};
}
return {
label: ___EmotionJSX("span", null, locale.name),
key: 'multi-lang',
children: locales.filter(function (item) {
return item.id !== locale.id;
}).map(function (item) {
var nextPath = getTargetLocalePath({
current: locale,
target: item
});
return {
label: ___EmotionJSX("a", {
rel: "noopener noreferrer",
href: nextPath
}, item.name),
key: item.id
};
})
};
}, [locale, locales]);
var additional;
var additionalItems = [github || socialLinks !== null && socialLinks !== void 0 && socialLinks.github ? {
label: ___EmotionJSX("a", {
rel: "noopener noreferrer",
href: github || (socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.github),
target: "_blank"
}, "GitHub"),
key: 'github'
} : null, getLangNode()].concat(_toConsumableArray(getMoreLinksGroup(moreLinks) || []));
if (isMobile) {
additional = additionalItems;
} else if (responsive === 'crowded') {
additional = [{
label: ___EmotionJSX(MenuFoldOutlined, null),
key: 'additional',
children: _toConsumableArray(additionalItems)
}];
}
var items = [].concat(_toConsumableArray(menuItems !== null && menuItems !== void 0 ? menuItems : []), _toConsumableArray((_additional = additional) !== null && _additional !== void 0 ? _additional : []));
var menuMode = isMobile ? 'inline' : 'horizontal';
var style = useStyle();
return ___EmotionJSX(Menu, {
items: items,
mode: menuMode,
css: style.nav,
selectedKeys: [activeMenuItem],
disabledOverflow: true
});
}