dumi-theme-antd4 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/builtins/Alert/index.d.ts +6 -0
  4. package/dist/builtins/Alert/index.js +25 -0
  5. package/dist/builtins/BashOSPlatform/android.d.ts +7 -0
  6. package/dist/builtins/BashOSPlatform/android.js +37 -0
  7. package/dist/builtins/BashOSPlatform/index.d.ts +11 -0
  8. package/dist/builtins/BashOSPlatform/index.js +51 -0
  9. package/dist/builtins/BashOSPlatform/linux.d.ts +7 -0
  10. package/dist/builtins/BashOSPlatform/linux.js +60 -0
  11. package/dist/builtins/BashOSPlatform/macos.d.ts +7 -0
  12. package/dist/builtins/BashOSPlatform/macos.js +20 -0
  13. package/dist/builtins/BashOSPlatform/windows.d.ts +7 -0
  14. package/dist/builtins/BashOSPlatform/windows.js +20 -0
  15. package/dist/builtins/BashTabs/index.d.ts +21 -0
  16. package/dist/builtins/BashTabs/index.js +52 -0
  17. package/dist/builtins/HomeBaseLayout/components/Features/index.d.ts +3 -0
  18. package/dist/builtins/HomeBaseLayout/components/Features/index.js +78 -0
  19. package/dist/builtins/HomeBaseLayout/components/Group.d.ts +19 -0
  20. package/dist/builtins/HomeBaseLayout/components/Group.js +89 -0
  21. package/dist/builtins/HomeBaseLayout/index.d.ts +3 -0
  22. package/dist/builtins/HomeBaseLayout/index.js +201 -0
  23. package/dist/builtins/ImagePreview/index.d.ts +3 -0
  24. package/dist/builtins/ImagePreview/index.js +105 -0
  25. package/dist/builtins/InstallDependencies/index.d.ts +9 -0
  26. package/dist/builtins/InstallDependencies/index.js +38 -0
  27. package/dist/builtins/InstallDependencies/npm.d.ts +7 -0
  28. package/dist/builtins/InstallDependencies/npm.js +20 -0
  29. package/dist/builtins/InstallDependencies/pnpm.d.ts +7 -0
  30. package/dist/builtins/InstallDependencies/pnpm.js +22 -0
  31. package/dist/builtins/InstallDependencies/yarn.d.ts +7 -0
  32. package/dist/builtins/InstallDependencies/yarn.js +21 -0
  33. package/dist/common/CommonHelmet.d.ts +2 -0
  34. package/dist/common/CommonHelmet.js +27 -0
  35. package/dist/common/EditLink.d.ts +2 -0
  36. package/dist/common/EditLink.js +24 -0
  37. package/dist/common/GlobalStyles.d.ts +2 -0
  38. package/dist/common/GlobalStyles.js +7 -0
  39. package/dist/common/LastUpdated.d.ts +5 -0
  40. package/dist/common/LastUpdated.js +53 -0
  41. package/dist/common/Loading/index.d.ts +3 -0
  42. package/dist/common/Loading/index.js +67 -0
  43. package/dist/common/PrevAndNext.d.ts +5 -0
  44. package/dist/common/PrevAndNext.js +88 -0
  45. package/dist/common/styles/Common.d.ts +2 -0
  46. package/dist/common/styles/Common.js +16 -0
  47. package/dist/common/styles/DumiDefaultStyleOverride.d.ts +2 -0
  48. package/dist/common/styles/DumiDefaultStyleOverride.js +12 -0
  49. package/dist/common/styles/HeadingAnchor.d.ts +2 -0
  50. package/dist/common/styles/HeadingAnchor.js +17 -0
  51. package/dist/common/styles/Highlight.d.ts +2 -0
  52. package/dist/common/styles/Highlight.js +10 -0
  53. package/dist/common/styles/Markdown.d.ts +2 -0
  54. package/dist/common/styles/Markdown.js +13 -0
  55. package/dist/common/styles/PreviewImage.d.ts +2 -0
  56. package/dist/common/styles/PreviewImage.js +10 -0
  57. package/dist/common/styles/Reset.d.ts +2 -0
  58. package/dist/common/styles/Reset.js +17 -0
  59. package/dist/common/styles/Responsive.d.ts +2 -0
  60. package/dist/common/styles/Responsive.js +10 -0
  61. package/dist/common/styles/SearchBar.d.ts +2 -0
  62. package/dist/common/styles/SearchBar.js +11 -0
  63. package/dist/common/styles/index.d.ts +9 -0
  64. package/dist/common/styles/index.js +9 -0
  65. package/dist/defineThemeConfig/index.d.ts +7 -0
  66. package/dist/defineThemeConfig/index.js +31 -0
  67. package/dist/hooks/useAdditionalThemeConfig.d.ts +6 -0
  68. package/dist/hooks/useAdditionalThemeConfig.js +9 -0
  69. package/dist/hooks/useLocaleValue.d.ts +1 -0
  70. package/dist/hooks/useLocaleValue.js +10 -0
  71. package/dist/hooks/useMenu.d.ts +14 -0
  72. package/dist/hooks/useMenu.js +266 -0
  73. package/dist/hooks/useSiteToken.d.ts +66 -0
  74. package/dist/hooks/useSiteToken.js +105 -0
  75. package/dist/hooks/uselocale.d.ts +5 -0
  76. package/dist/hooks/uselocale.js +7 -0
  77. package/dist/icons/LTRIcon.d.ts +5 -0
  78. package/dist/icons/LTRIcon.js +20 -0
  79. package/dist/icons/RTLIcon.d.ts +5 -0
  80. package/dist/icons/RTLIcon.js +23 -0
  81. package/dist/index.d.ts +4 -0
  82. package/dist/index.js +4 -0
  83. package/dist/layouts/DocLayout/index.d.ts +4 -0
  84. package/dist/layouts/DocLayout/index.js +90 -0
  85. package/dist/layouts/GlobalLayout.d.ts +3 -0
  86. package/dist/layouts/GlobalLayout.js +88 -0
  87. package/dist/layouts/HomePageLayout/index.d.ts +3 -0
  88. package/dist/layouts/HomePageLayout/index.js +7 -0
  89. package/dist/layouts/SidebarLayout/index.d.ts +3 -0
  90. package/dist/layouts/SidebarLayout/index.js +28 -0
  91. package/dist/locales/en-US.json +9 -0
  92. package/dist/locales/zh-CN.json +9 -0
  93. package/dist/slots/Content/DocAnchor.d.ts +7 -0
  94. package/dist/slots/Content/DocAnchor.js +75 -0
  95. package/dist/slots/Content/InViewSuspense.d.ts +8 -0
  96. package/dist/slots/Content/InViewSuspense.js +27 -0
  97. package/dist/slots/Content/index.d.ts +5 -0
  98. package/dist/slots/Content/index.js +118 -0
  99. package/dist/slots/Footer/index.d.ts +3 -0
  100. package/dist/slots/Footer/index.js +75 -0
  101. package/dist/slots/Header/HeaderExtral.d.ts +3 -0
  102. package/dist/slots/Header/HeaderExtral.js +34 -0
  103. package/dist/slots/Header/Logo.d.ts +2 -0
  104. package/dist/slots/Header/Logo.js +48 -0
  105. package/dist/slots/Header/More.d.ts +5 -0
  106. package/dist/slots/Header/More.js +32 -0
  107. package/dist/slots/Header/Navigation.d.ts +6 -0
  108. package/dist/slots/Header/Navigation.js +154 -0
  109. package/dist/slots/Header/SwitchBtn.d.ts +11 -0
  110. package/dist/slots/Header/SwitchBtn.js +85 -0
  111. package/dist/slots/Header/index.d.ts +4 -0
  112. package/dist/slots/Header/index.js +193 -0
  113. package/dist/slots/LangSwitch/index.d.ts +3 -0
  114. package/dist/slots/LangSwitch/index.js +86 -0
  115. package/dist/slots/NotFound/index.d.ts +9 -0
  116. package/dist/slots/NotFound/index.js +25 -0
  117. package/dist/slots/RtlSwitch/index.d.ts +3 -0
  118. package/dist/slots/RtlSwitch/index.js +53 -0
  119. package/dist/slots/Sidebar/index.d.ts +4 -0
  120. package/dist/slots/Sidebar/index.js +108 -0
  121. package/dist/slots/SiteContext.d.ts +9 -0
  122. package/dist/slots/SiteContext.js +7 -0
  123. package/dist/static/style.d.ts +2 -0
  124. package/dist/static/style.js +2 -0
  125. package/dist/styles/variables.less +1 -0
  126. package/dist/types.d.ts +103 -0
  127. package/dist/types.js +1 -0
  128. package/dist/utils.d.ts +24 -0
  129. package/dist/utils.js +112 -0
  130. package/package.json +101 -0
@@ -0,0 +1,25 @@
1
+ import { HomeOutlined } from '@ant-design/icons';
2
+ import { Button, Result } from 'antd';
3
+ import { FormattedMessage, Link } from 'dumi';
4
+ import React from 'react';
5
+ import { jsx as ___EmotionJSX } from "@emotion/react";
6
+ var NotFoundPage = function NotFoundPage() {
7
+ return ___EmotionJSX("div", {
8
+ id: "page-404"
9
+ }, ___EmotionJSX("section", null, ___EmotionJSX(Result, {
10
+ status: "404",
11
+ title: "404",
12
+ subTitle: ___EmotionJSX(FormattedMessage, {
13
+ id: "app.not-found.subTitle"
14
+ }),
15
+ extra: ___EmotionJSX(Link, {
16
+ to: "/"
17
+ }, ___EmotionJSX(Button, {
18
+ type: "primary",
19
+ icon: ___EmotionJSX(HomeOutlined, null)
20
+ }, ' ', ___EmotionJSX(FormattedMessage, {
21
+ id: "app.not-found.back-home"
22
+ })))
23
+ })));
24
+ };
25
+ export default NotFoundPage;
@@ -0,0 +1,3 @@
1
+ import { type FC } from 'react';
2
+ declare const RtlSwitch: FC;
3
+ export default RtlSwitch;
@@ -0,0 +1,53 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2
+ import { useContext } from 'react';
3
+ import { css } from '@emotion/react';
4
+ import SiteContext from "dumi/theme/slots/SiteContext";
5
+ import useAdditionalThemeConfig from "../../hooks/useAdditionalThemeConfig";
6
+ import SwitchBtn from "../Header/SwitchBtn";
7
+ import LTRIcon from "../../icons/LTRIcon";
8
+ import RTLIcon from "../../icons/RTLIcon";
9
+ import { jsx as ___EmotionJSX } from "@emotion/react";
10
+ var _ref = process.env.NODE_ENV === "production" ? {
11
+ name: "1x3sxtc",
12
+ styles: "width:20px"
13
+ } : {
14
+ name: "v0c71e-dataDirectionIcon",
15
+ styles: "width:20px;label:dataDirectionIcon;",
16
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXMEIiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ29udGV4dCwgdHlwZSBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB0eXBlIHsgU2l0ZUNvbnRleHRQcm9wcyB9IGZyb20gJy4uL1NpdGVDb250ZXh0JztcbmltcG9ydCBTaXRlQ29udGV4dCBmcm9tICcuLi9TaXRlQ29udGV4dCc7XG5pbXBvcnQgdXNlQWRkaXRpb25hbFRoZW1lQ29uZmlnIGZyb20gJy4uLy4uL2hvb2tzL3VzZUFkZGl0aW9uYWxUaGVtZUNvbmZpZyc7XG5pbXBvcnQgU3dpdGNoQnRuIGZyb20gJy4uL0hlYWRlci9Td2l0Y2hCdG4nO1xuaW1wb3J0IExUUkljb24gZnJvbSAnLi4vLi4vaWNvbnMvTFRSSWNvbic7XG5pbXBvcnQgUlRMSWNvbiBmcm9tICcuLi8uLi9pY29ucy9SVExJY29uJztcblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgZGF0YURpcmVjdGlvbkljb246IGNzc2BcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgIGBcbiAgfTtcbn07XG5cbmNvbnN0IFJ0bFN3aXRjaDogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IHsgZGlyZWN0aW9uLCB1cGRhdGVTaXRlQ29uZmlnIH0gPSB1c2VDb250ZXh0PFNpdGVDb250ZXh0UHJvcHM+KFNpdGVDb250ZXh0KTtcbiAgY29uc3QgeyBkYXRhRGlyZWN0aW9uSWNvbiB9ID0gdXNlU3R5bGUoKTtcbiAgY29uc3QgeyBydGwgPSB0cnVlIH0gPSB1c2VBZGRpdGlvbmFsVGhlbWVDb25maWcoKTtcblxuICBpZiAoIXJ0bCkgcmV0dXJuIG51bGw7XG5cbiAgY29uc3Qgb25EaXJlY3Rpb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgdXBkYXRlU2l0ZUNvbmZpZyh7IGRpcmVjdGlvbjogZGlyZWN0aW9uICE9PSAncnRsJyA/ICdydGwnIDogJ2x0cicgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U3dpdGNoQnRuXG4gICAgICBvbkNsaWNrPXtvbkRpcmVjdGlvbkNoYW5nZX1cbiAgICAgIHZhbHVlPXtkaXJlY3Rpb24gPT09ICdydGwnID8gMiA6IDF9XG4gICAgICBsYWJlbDE9ezxMVFJJY29uIGNzcz17ZGF0YURpcmVjdGlvbkljb259IC8+fVxuICAgICAgdG9vbHRpcDE9XCJMVFJcIlxuICAgICAgbGFiZWwyPXs8UlRMSWNvbiBjc3M9e2RhdGFEaXJlY3Rpb25JY29ufSAvPn1cbiAgICAgIHRvb2x0aXAyPVwiUlRMXCJcbiAgICAgIHB1cmVcbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUnRsU3dpdGNoO1xuIl19 */",
17
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
18
+ };
19
+ var useStyle = function useStyle() {
20
+ return {
21
+ dataDirectionIcon: _ref
22
+ };
23
+ };
24
+ var RtlSwitch = function RtlSwitch() {
25
+ var _useContext = useContext(SiteContext),
26
+ direction = _useContext.direction,
27
+ updateSiteConfig = _useContext.updateSiteConfig;
28
+ var _useStyle = useStyle(),
29
+ dataDirectionIcon = _useStyle.dataDirectionIcon;
30
+ var _useAdditionalThemeCo = useAdditionalThemeConfig(),
31
+ _useAdditionalThemeCo2 = _useAdditionalThemeCo.rtl,
32
+ rtl = _useAdditionalThemeCo2 === void 0 ? true : _useAdditionalThemeCo2;
33
+ if (!rtl) return null;
34
+ var onDirectionChange = function onDirectionChange() {
35
+ updateSiteConfig({
36
+ direction: direction !== 'rtl' ? 'rtl' : 'ltr'
37
+ });
38
+ };
39
+ return ___EmotionJSX(SwitchBtn, {
40
+ onClick: onDirectionChange,
41
+ value: direction === 'rtl' ? 2 : 1,
42
+ label1: ___EmotionJSX(LTRIcon, {
43
+ css: dataDirectionIcon
44
+ }),
45
+ tooltip1: "LTR",
46
+ label2: ___EmotionJSX(RTLIcon, {
47
+ css: dataDirectionIcon
48
+ }),
49
+ tooltip2: "RTL",
50
+ pure: true
51
+ });
52
+ };
53
+ export default RtlSwitch;
@@ -0,0 +1,4 @@
1
+ import 'rc-drawer/assets/index.css';
2
+ import { FC } from 'react';
3
+ declare const Sidebar: FC;
4
+ export default Sidebar;
@@ -0,0 +1,108 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
4
+ import { UnorderedListOutlined } from '@ant-design/icons';
5
+ import { css } from '@emotion/react';
6
+ import { Col, Menu } from 'antd';
7
+ import { useSidebarData } from 'dumi';
8
+ import MobileMenu from 'rc-drawer';
9
+ import 'rc-drawer/assets/index.css';
10
+ import React, { useCallback, useContext, useEffect, useState } from 'react';
11
+ import useMenu from "../../hooks/useMenu";
12
+ import useSiteToken from "../../hooks/useSiteToken";
13
+ import { convertMenuItemsToJSX } from "../../utils";
14
+ import SiteContext from "dumi/theme/slots/SiteContext";
15
+ import { jsx as ___EmotionJSX } from "@emotion/react";
16
+ var _ref = process.env.NODE_ENV === "production" ? {
17
+ name: "vf4xf0",
18
+ styles: "position:fixed;z-index:2;bottom:100px;right:20px;cursor:pointer"
19
+ } : {
20
+ name: "iaxhd9-mobileMenu",
21
+ styles: "position:fixed;z-index:2;bottom:100px;right:20px;cursor:pointer;label:mobileMenu;",
22
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtSW1CIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVub3JkZXJlZExpc3RPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IENvbCwgTWVudSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgdXNlU2lkZWJhckRhdGEgfSBmcm9tICdkdW1pJztcbmltcG9ydCBNb2JpbGVNZW51IGZyb20gJ3JjLWRyYXdlcic7XG5pbXBvcnQgJ3JjLWRyYXdlci9hc3NldHMvaW5kZXguY3NzJztcbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTWVudSBmcm9tICcuLi8uLi9ob29rcy91c2VNZW51JztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcbmltcG9ydCB7IGNvbnZlcnRNZW51SXRlbXNUb0pTWCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBTaXRlQ29udGV4dCBmcm9tICcuLi9TaXRlQ29udGV4dCc7XG5cbmludGVyZmFjZSBTaWRlYmFyU3RhdGUge1xuICBtb2JpbGVNZW51VmlzaWJsZTogYm9vbGVhbjtcbn1cblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuXG4gIGNvbnN0IHsgYW50Q2xzLCBmb250RmFtaWx5LCBjb2xvclNwbGl0IH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIGFzaWRlQ29udGFpbmVyOiBjc3NgXG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gICAgICBmb250LWZhbWlseTogQXZlbmlyLCAke2ZvbnRGYW1pbHl9LCBzYW5zLXNlcmlmO1xuXG4gICAgICAmJHthbnRDbHN9LW1lbnUtaW5saW5lIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUtdGl0bGUgaDQsXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSxcbiAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbSBhIHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cCA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXAtdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHtjb2xvclNwbGl0fTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSxcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LXN1Ym1lbnVcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUtdGl0bGUsXG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLWdyb3VwXG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlLFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cC1saXN0XG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLFxuICAgICAgICAgICYke2FudENsc30tbWVudS1pbmxpbmVcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXBcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXAtbGlzdFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAke2FudENsc30tcm93LXJ0bCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5lc3QgQ2F0ZWdvcnkgPiBUeXBlID4gQXJ0aWNsZVxuICAgICAgICAmJHthbnRDbHN9LW1lbnUtaW5saW5lIHtcbiAgICAgICAgICAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG5cbiAgICAgICAgICAgICR7YW50Q2xzfS1yb3ctcnRsICYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cC1saXN0ID4gJHthbnRDbHN9LW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJHthbnRDbHN9LXJvdy1ydGwgJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGFbZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICB9XG5cbiAgICAgIC5jaGluZXNlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBvcGFjaXR5OiAwLjY3O1xuICAgICAgfVxuICAgIGAsXG4gICAgbWFpbk1lbnU6IGNzc2BcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIC5tYWluLW1lbnUtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6ICR7dG9rZW4uaGVhZGVySGVpZ2h0ICsgdG9rZW4uY29udGVudE1hcmdpblRvcH1weDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICR7dG9rZW4uaGVhZGVySGVpZ2h0ICsgdG9rZW4uY29udGVudE1hcmdpblRvcH1weCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB1bnNldDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciAubWFpbi1tZW51LWlubmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICBgLFxuICAgIG1vYmlsZU1lbnU6IGNzc2BcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBib3R0b206IDEwMHB4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYFxuICB9O1xufTtcblxuY29uc3QgU2lkZWJhcjogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFtzaWRlYmFyU3RhdGUsIHNldFNpZGViYXJTdGF0ZV0gPSB1c2VTdGF0ZTxTaWRlYmFyU3RhdGU+KHsgbW9iaWxlTWVudVZpc2libGU6IGZhbHNlIH0pO1xuICBjb25zdCBzaWRlYmFyRGF0YSA9IHVzZVNpZGViYXJEYXRhKCk7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlKCk7XG4gIGNvbnN0IHtcbiAgICB0b2tlbjogeyBjb2xvckJnQ29udGFpbmVyIH1cbiAgfSA9IHVzZVNpdGVUb2tlbigpO1xuICBjb25zdCB7IGlzTW9iaWxlIH0gPSB1c2VDb250ZXh0KFNpdGVDb250ZXh0KTtcbiAgY29uc3QgW21lbnVJdGVtcywgc2VsZWN0ZWRLZXldID0gdXNlTWVudSgpO1xuXG4gIGNvbnN0IGhhbmRsZVNob3dNb2JpbGVNZW51ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNpZGViYXJTdGF0ZSgocHJldikgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBtb2JpbGVNZW51VmlzaWJsZTogdHJ1ZVxuICAgIH0pKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9iaWxlTWVudSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTaWRlYmFyU3RhdGUoKHByZXYpID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgbW9iaWxlTWVudVZpc2libGU6IGZhbHNlXG4gICAgfSkpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgIGhhbmRsZUNsb3NlTW9iaWxlTWVudSgpO1xuICAgIH1cbiAgfSwgW2lzTW9iaWxlLCBoYW5kbGVDbG9zZU1vYmlsZU1lbnVdKTtcblxuICBjb25zdCB7IG1vYmlsZU1lbnVWaXNpYmxlIH0gPSBzaWRlYmFyU3RhdGU7XG5cbiAgY29uc3QgbWVudUNoaWxkID0gKFxuICAgIDxNZW51XG4gICAgICBpbmxpbmVJbmRlbnQ9ezMwfVxuICAgICAgY3NzPXtzdHlsZXMuYXNpZGVDb250YWluZXJ9XG4gICAgICBtb2RlPVwiaW5saW5lXCJcbiAgICAgIHNlbGVjdGVkS2V5cz17W3NlbGVjdGVkS2V5XX1cbiAgICAgIGRlZmF1bHRPcGVuS2V5cz17c2lkZWJhckRhdGE/Lm1hcCgoeyB0aXRsZSB9KSA9PiB0aXRsZSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtKSBhcyBzdHJpbmdbXX1cbiAgICA+XG4gICAgICB7Y29udmVydE1lbnVJdGVtc1RvSlNYKG1lbnVJdGVtcyl9XG4gICAgPC9NZW51PlxuICApO1xuXG4gIHJldHVybiBpc01vYmlsZSA/IChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8TW9iaWxlTWVudVxuICAgICAgICBrZXk9XCJtb2JpbGUtbWVudVwiXG4gICAgICAgIGNvbnRlbnRXcmFwcGVyU3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogJzMwMHB4J1xuICAgICAgICB9fVxuICAgICAgICBvcGVuPXttb2JpbGVNZW51VmlzaWJsZX1cbiAgICAgICAgb25DbG9zZT17aGFuZGxlQ2xvc2VNb2JpbGVNZW51fVxuICAgICAgPlxuICAgICAgICB7bWVudUNoaWxkfVxuICAgICAgPC9Nb2JpbGVNZW51PlxuICAgICAgeyhtZW51SXRlbXMgPz8gW10pLmxlbmd0aCA+IDEgPyAoXG4gICAgICAgIDxkaXYgY3NzPXtzdHlsZXMubW9iaWxlTWVudX0gb25DbGljaz17aGFuZGxlU2hvd01vYmlsZU1lbnV9PlxuICAgICAgICAgIDxVbm9yZGVyZWRMaXN0T3V0bGluZWQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApIDogKFxuICAgIDxDb2wgeHhsPXs0fSB4bD17NX0gbGc9ezZ9IG1kPXs2fSBzbT17MjR9IHhzPXsyNH0gY3NzPXtzdHlsZXMubWFpbk1lbnV9PlxuICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwibWFpbi1tZW51LWlubmVyXCI+e21lbnVDaGlsZH08L3NlY3Rpb24+XG4gICAgPC9Db2w+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTaWRlYmFyO1xuIl19 */",
23
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
24
+ };
25
+ var useStyle = function useStyle() {
26
+ var _useSiteToken = useSiteToken(),
27
+ token = _useSiteToken.token;
28
+ var antCls = token.antCls,
29
+ fontFamily = token.fontFamily,
30
+ colorSplit = token.colorSplit;
31
+ return {
32
+ asideContainer: /*#__PURE__*/css("min-height:100%;padding-bottom:48px;font-family:Avenir,", fontFamily, ",sans-serif;&", antCls, "-menu-inline{user-select:none;", antCls, "-menu-submenu-title h4,>", antCls, "-menu-item,", antCls, "-menu-item a{overflow:hidden;font-size:14px;text-overflow:ellipsis;}>", antCls, "-menu-item-group>", antCls, "-menu-item-group-title{margin-top:16px;margin-bottom:16px;font-size:13px;&::after{position:relative;top:12px;display:block;width:calc(100% - 20px);height:1px;background:", colorSplit, ";content:'';}}>", antCls, "-menu-item,>", antCls, "-menu-submenu>", antCls, "-menu-submenu-title,>", antCls, "-menu-item-group>", antCls, "-menu-item-group-title,>", antCls, "-menu-item-group>", antCls, "-menu-item-group-list>", antCls, "-menu-item,&", antCls, "-menu-inline>", antCls, "-menu-item-group>", antCls, "-menu-item-group-list>", antCls, "-menu-item{padding-left:40px!important;", antCls, "-row-rtl &{padding-right:40px!important;padding-left:16px!important;}}&", antCls, "-menu-inline{", antCls, "-menu-item-group-title{margin-left:4px;padding-left:60px;", antCls, "-row-rtl &{padding-right:60px;padding-left:16px;}}", antCls, "-menu-item-group-list>", antCls, "-menu-item{padding-left:80px!important;", antCls, "-row-rtl &{padding-right:80px!important;padding-left:16px!important;}}}", antCls, "-menu-item-group:first-of-type{", antCls, "-menu-item-group-title{margin-top:0;}}}a[disabled]{color:#ccc;}.chinese{margin-left:6px;font-weight:normal;font-size:12px;opacity:0.67;}" + (process.env.NODE_ENV === "production" ? "" : ";label:asideContainer;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQnVCIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVub3JkZXJlZExpc3RPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IENvbCwgTWVudSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgdXNlU2lkZWJhckRhdGEgfSBmcm9tICdkdW1pJztcbmltcG9ydCBNb2JpbGVNZW51IGZyb20gJ3JjLWRyYXdlcic7XG5pbXBvcnQgJ3JjLWRyYXdlci9hc3NldHMvaW5kZXguY3NzJztcbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTWVudSBmcm9tICcuLi8uLi9ob29rcy91c2VNZW51JztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcbmltcG9ydCB7IGNvbnZlcnRNZW51SXRlbXNUb0pTWCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBTaXRlQ29udGV4dCBmcm9tICcuLi9TaXRlQ29udGV4dCc7XG5cbmludGVyZmFjZSBTaWRlYmFyU3RhdGUge1xuICBtb2JpbGVNZW51VmlzaWJsZTogYm9vbGVhbjtcbn1cblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuXG4gIGNvbnN0IHsgYW50Q2xzLCBmb250RmFtaWx5LCBjb2xvclNwbGl0IH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIGFzaWRlQ29udGFpbmVyOiBjc3NgXG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gICAgICBmb250LWZhbWlseTogQXZlbmlyLCAke2ZvbnRGYW1pbHl9LCBzYW5zLXNlcmlmO1xuXG4gICAgICAmJHthbnRDbHN9LW1lbnUtaW5saW5lIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUtdGl0bGUgaDQsXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSxcbiAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbSBhIHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cCA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXAtdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHtjb2xvclNwbGl0fTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSxcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LXN1Ym1lbnVcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUtdGl0bGUsXG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLWdyb3VwXG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlLFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cC1saXN0XG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLFxuICAgICAgICAgICYke2FudENsc30tbWVudS1pbmxpbmVcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXBcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXAtbGlzdFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAke2FudENsc30tcm93LXJ0bCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5lc3QgQ2F0ZWdvcnkgPiBUeXBlID4gQXJ0aWNsZVxuICAgICAgICAmJHthbnRDbHN9LW1lbnUtaW5saW5lIHtcbiAgICAgICAgICAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG5cbiAgICAgICAgICAgICR7YW50Q2xzfS1yb3ctcnRsICYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cC1saXN0ID4gJHthbnRDbHN9LW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJHthbnRDbHN9LXJvdy1ydGwgJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGFbZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICB9XG5cbiAgICAgIC5jaGluZXNlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBvcGFjaXR5OiAwLjY3O1xuICAgICAgfVxuICAgIGAsXG4gICAgbWFpbk1lbnU6IGNzc2BcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIC5tYWluLW1lbnUtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6ICR7dG9rZW4uaGVhZGVySGVpZ2h0ICsgdG9rZW4uY29udGVudE1hcmdpblRvcH1weDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICR7dG9rZW4uaGVhZGVySGVpZ2h0ICsgdG9rZW4uY29udGVudE1hcmdpblRvcH1weCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB1bnNldDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciAubWFpbi1tZW51LWlubmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICBgLFxuICAgIG1vYmlsZU1lbnU6IGNzc2BcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBib3R0b206IDEwMHB4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYFxuICB9O1xufTtcblxuY29uc3QgU2lkZWJhcjogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFtzaWRlYmFyU3RhdGUsIHNldFNpZGViYXJTdGF0ZV0gPSB1c2VTdGF0ZTxTaWRlYmFyU3RhdGU+KHsgbW9iaWxlTWVudVZpc2libGU6IGZhbHNlIH0pO1xuICBjb25zdCBzaWRlYmFyRGF0YSA9IHVzZVNpZGViYXJEYXRhKCk7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlKCk7XG4gIGNvbnN0IHtcbiAgICB0b2tlbjogeyBjb2xvckJnQ29udGFpbmVyIH1cbiAgfSA9IHVzZVNpdGVUb2tlbigpO1xuICBjb25zdCB7IGlzTW9iaWxlIH0gPSB1c2VDb250ZXh0KFNpdGVDb250ZXh0KTtcbiAgY29uc3QgW21lbnVJdGVtcywgc2VsZWN0ZWRLZXldID0gdXNlTWVudSgpO1xuXG4gIGNvbnN0IGhhbmRsZVNob3dNb2JpbGVNZW51ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNpZGViYXJTdGF0ZSgocHJldikgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBtb2JpbGVNZW51VmlzaWJsZTogdHJ1ZVxuICAgIH0pKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9iaWxlTWVudSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTaWRlYmFyU3RhdGUoKHByZXYpID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgbW9iaWxlTWVudVZpc2libGU6IGZhbHNlXG4gICAgfSkpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgIGhhbmRsZUNsb3NlTW9iaWxlTWVudSgpO1xuICAgIH1cbiAgfSwgW2lzTW9iaWxlLCBoYW5kbGVDbG9zZU1vYmlsZU1lbnVdKTtcblxuICBjb25zdCB7IG1vYmlsZU1lbnVWaXNpYmxlIH0gPSBzaWRlYmFyU3RhdGU7XG5cbiAgY29uc3QgbWVudUNoaWxkID0gKFxuICAgIDxNZW51XG4gICAgICBpbmxpbmVJbmRlbnQ9ezMwfVxuICAgICAgY3NzPXtzdHlsZXMuYXNpZGVDb250YWluZXJ9XG4gICAgICBtb2RlPVwiaW5saW5lXCJcbiAgICAgIHNlbGVjdGVkS2V5cz17W3NlbGVjdGVkS2V5XX1cbiAgICAgIGRlZmF1bHRPcGVuS2V5cz17c2lkZWJhckRhdGE/Lm1hcCgoeyB0aXRsZSB9KSA9PiB0aXRsZSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtKSBhcyBzdHJpbmdbXX1cbiAgICA+XG4gICAgICB7Y29udmVydE1lbnVJdGVtc1RvSlNYKG1lbnVJdGVtcyl9XG4gICAgPC9NZW51PlxuICApO1xuXG4gIHJldHVybiBpc01vYmlsZSA/IChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8TW9iaWxlTWVudVxuICAgICAgICBrZXk9XCJtb2JpbGUtbWVudVwiXG4gICAgICAgIGNvbnRlbnRXcmFwcGVyU3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogJzMwMHB4J1xuICAgICAgICB9fVxuICAgICAgICBvcGVuPXttb2JpbGVNZW51VmlzaWJsZX1cbiAgICAgICAgb25DbG9zZT17aGFuZGxlQ2xvc2VNb2JpbGVNZW51fVxuICAgICAgPlxuICAgICAgICB7bWVudUNoaWxkfVxuICAgICAgPC9Nb2JpbGVNZW51PlxuICAgICAgeyhtZW51SXRlbXMgPz8gW10pLmxlbmd0aCA+IDEgPyAoXG4gICAgICAgIDxkaXYgY3NzPXtzdHlsZXMubW9iaWxlTWVudX0gb25DbGljaz17aGFuZGxlU2hvd01vYmlsZU1lbnV9PlxuICAgICAgICAgIDxVbm9yZGVyZWRMaXN0T3V0bGluZWQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApIDogKFxuICAgIDxDb2wgeHhsPXs0fSB4bD17NX0gbGc9ezZ9IG1kPXs2fSBzbT17MjR9IHhzPXsyNH0gY3NzPXtzdHlsZXMubWFpbk1lbnV9PlxuICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwibWFpbi1tZW51LWlubmVyXCI+e21lbnVDaGlsZH08L3NlY3Rpb24+XG4gICAgPC9Db2w+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTaWRlYmFyO1xuIl19 */"),
33
+ mainMenu: /*#__PURE__*/css("z-index:1;.main-menu-inner{position:sticky;top:", token.headerHeight + token.contentMarginTop, "px;width:100%;height:100%;max-height:calc(100vh - ", token.headerHeight + token.contentMarginTop, "px);overflow:hidden;scrollbar-width:thin;scrollbar-color:unset;}&:hover .main-menu-inner{overflow-y:auto;}" + (process.env.NODE_ENV === "production" ? "" : ";label:mainMenu;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpSGlCIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVub3JkZXJlZExpc3RPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IENvbCwgTWVudSB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgdXNlU2lkZWJhckRhdGEgfSBmcm9tICdkdW1pJztcbmltcG9ydCBNb2JpbGVNZW51IGZyb20gJ3JjLWRyYXdlcic7XG5pbXBvcnQgJ3JjLWRyYXdlci9hc3NldHMvaW5kZXguY3NzJztcbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTWVudSBmcm9tICcuLi8uLi9ob29rcy91c2VNZW51JztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcbmltcG9ydCB7IGNvbnZlcnRNZW51SXRlbXNUb0pTWCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCBTaXRlQ29udGV4dCBmcm9tICcuLi9TaXRlQ29udGV4dCc7XG5cbmludGVyZmFjZSBTaWRlYmFyU3RhdGUge1xuICBtb2JpbGVNZW51VmlzaWJsZTogYm9vbGVhbjtcbn1cblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuXG4gIGNvbnN0IHsgYW50Q2xzLCBmb250RmFtaWx5LCBjb2xvclNwbGl0IH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIGFzaWRlQ29udGFpbmVyOiBjc3NgXG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gICAgICBmb250LWZhbWlseTogQXZlbmlyLCAke2ZvbnRGYW1pbHl9LCBzYW5zLXNlcmlmO1xuXG4gICAgICAmJHthbnRDbHN9LW1lbnUtaW5saW5lIHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUtdGl0bGUgaDQsXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSxcbiAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbSBhIHtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cCA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXAtdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHtjb2xvclNwbGl0fTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSxcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LXN1Ym1lbnVcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LXN1Ym1lbnUtdGl0bGUsXG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLWdyb3VwXG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlLFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cC1saXN0XG4gICAgICAgICAgPiAke2FudENsc30tbWVudS1pdGVtLFxuICAgICAgICAgICYke2FudENsc30tbWVudS1pbmxpbmVcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXBcbiAgICAgICAgICA+ICR7YW50Q2xzfS1tZW51LWl0ZW0tZ3JvdXAtbGlzdFxuICAgICAgICAgID4gJHthbnRDbHN9LW1lbnUtaXRlbSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAke2FudENsc30tcm93LXJ0bCAmIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5lc3QgQ2F0ZWdvcnkgPiBUeXBlID4gQXJ0aWNsZVxuICAgICAgICAmJHthbnRDbHN9LW1lbnUtaW5saW5lIHtcbiAgICAgICAgICAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG5cbiAgICAgICAgICAgICR7YW50Q2xzfS1yb3ctcnRsICYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cC1saXN0ID4gJHthbnRDbHN9LW1lbnUtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJHthbnRDbHN9LXJvdy1ydGwgJiB7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJHthbnRDbHN9LW1lbnUtaXRlbS1ncm91cDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAke2FudENsc30tbWVudS1pdGVtLWdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGFbZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICB9XG5cbiAgICAgIC5jaGluZXNlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBvcGFjaXR5OiAwLjY3O1xuICAgICAgfVxuICAgIGAsXG4gICAgbWFpbk1lbnU6IGNzc2BcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIC5tYWluLW1lbnUtaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6ICR7dG9rZW4uaGVhZGVySGVpZ2h0ICsgdG9rZW4uY29udGVudE1hcmdpblRvcH1weDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICR7dG9rZW4uaGVhZGVySGVpZ2h0ICsgdG9rZW4uY29udGVudE1hcmdpblRvcH1weCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB1bnNldDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciAubWFpbi1tZW51LWlubmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIH1cbiAgICBgLFxuICAgIG1vYmlsZU1lbnU6IGNzc2BcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBib3R0b206IDEwMHB4O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYFxuICB9O1xufTtcblxuY29uc3QgU2lkZWJhcjogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFtzaWRlYmFyU3RhdGUsIHNldFNpZGViYXJTdGF0ZV0gPSB1c2VTdGF0ZTxTaWRlYmFyU3RhdGU+KHsgbW9iaWxlTWVudVZpc2libGU6IGZhbHNlIH0pO1xuICBjb25zdCBzaWRlYmFyRGF0YSA9IHVzZVNpZGViYXJEYXRhKCk7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlKCk7XG4gIGNvbnN0IHtcbiAgICB0b2tlbjogeyBjb2xvckJnQ29udGFpbmVyIH1cbiAgfSA9IHVzZVNpdGVUb2tlbigpO1xuICBjb25zdCB7IGlzTW9iaWxlIH0gPSB1c2VDb250ZXh0KFNpdGVDb250ZXh0KTtcbiAgY29uc3QgW21lbnVJdGVtcywgc2VsZWN0ZWRLZXldID0gdXNlTWVudSgpO1xuXG4gIGNvbnN0IGhhbmRsZVNob3dNb2JpbGVNZW51ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNpZGViYXJTdGF0ZSgocHJldikgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBtb2JpbGVNZW51VmlzaWJsZTogdHJ1ZVxuICAgIH0pKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlTW9iaWxlTWVudSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRTaWRlYmFyU3RhdGUoKHByZXYpID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgbW9iaWxlTWVudVZpc2libGU6IGZhbHNlXG4gICAgfSkpO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNNb2JpbGUpIHtcbiAgICAgIGhhbmRsZUNsb3NlTW9iaWxlTWVudSgpO1xuICAgIH1cbiAgfSwgW2lzTW9iaWxlLCBoYW5kbGVDbG9zZU1vYmlsZU1lbnVdKTtcblxuICBjb25zdCB7IG1vYmlsZU1lbnVWaXNpYmxlIH0gPSBzaWRlYmFyU3RhdGU7XG5cbiAgY29uc3QgbWVudUNoaWxkID0gKFxuICAgIDxNZW51XG4gICAgICBpbmxpbmVJbmRlbnQ9ezMwfVxuICAgICAgY3NzPXtzdHlsZXMuYXNpZGVDb250YWluZXJ9XG4gICAgICBtb2RlPVwiaW5saW5lXCJcbiAgICAgIHNlbGVjdGVkS2V5cz17W3NlbGVjdGVkS2V5XX1cbiAgICAgIGRlZmF1bHRPcGVuS2V5cz17c2lkZWJhckRhdGE/Lm1hcCgoeyB0aXRsZSB9KSA9PiB0aXRsZSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtKSBhcyBzdHJpbmdbXX1cbiAgICA+XG4gICAgICB7Y29udmVydE1lbnVJdGVtc1RvSlNYKG1lbnVJdGVtcyl9XG4gICAgPC9NZW51PlxuICApO1xuXG4gIHJldHVybiBpc01vYmlsZSA/IChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8TW9iaWxlTWVudVxuICAgICAgICBrZXk9XCJtb2JpbGUtbWVudVwiXG4gICAgICAgIGNvbnRlbnRXcmFwcGVyU3R5bGU9e3tcbiAgICAgICAgICB3aWR0aDogJzMwMHB4J1xuICAgICAgICB9fVxuICAgICAgICBvcGVuPXttb2JpbGVNZW51VmlzaWJsZX1cbiAgICAgICAgb25DbG9zZT17aGFuZGxlQ2xvc2VNb2JpbGVNZW51fVxuICAgICAgPlxuICAgICAgICB7bWVudUNoaWxkfVxuICAgICAgPC9Nb2JpbGVNZW51PlxuICAgICAgeyhtZW51SXRlbXMgPz8gW10pLmxlbmd0aCA+IDEgPyAoXG4gICAgICAgIDxkaXYgY3NzPXtzdHlsZXMubW9iaWxlTWVudX0gb25DbGljaz17aGFuZGxlU2hvd01vYmlsZU1lbnV9PlxuICAgICAgICAgIDxVbm9yZGVyZWRMaXN0T3V0bGluZWQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApIDogKFxuICAgIDxDb2wgeHhsPXs0fSB4bD17NX0gbGc9ezZ9IG1kPXs2fSBzbT17MjR9IHhzPXsyNH0gY3NzPXtzdHlsZXMubWFpbk1lbnV9PlxuICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwibWFpbi1tZW51LWlubmVyXCI+e21lbnVDaGlsZH08L3NlY3Rpb24+XG4gICAgPC9Db2w+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTaWRlYmFyO1xuIl19 */"),
34
+ mobileMenu: _ref
35
+ };
36
+ };
37
+ var Sidebar = function Sidebar() {
38
+ var _useState = useState({
39
+ mobileMenuVisible: false
40
+ }),
41
+ _useState2 = _slicedToArray(_useState, 2),
42
+ sidebarState = _useState2[0],
43
+ setSidebarState = _useState2[1];
44
+ var sidebarData = useSidebarData();
45
+ var styles = useStyle();
46
+ var _useSiteToken2 = useSiteToken(),
47
+ colorBgContainer = _useSiteToken2.token.colorBgContainer;
48
+ var _useContext = useContext(SiteContext),
49
+ isMobile = _useContext.isMobile;
50
+ var _useMenu = useMenu(),
51
+ _useMenu2 = _slicedToArray(_useMenu, 2),
52
+ menuItems = _useMenu2[0],
53
+ selectedKey = _useMenu2[1];
54
+ var handleShowMobileMenu = useCallback(function () {
55
+ setSidebarState(function (prev) {
56
+ return _objectSpread(_objectSpread({}, prev), {}, {
57
+ mobileMenuVisible: true
58
+ });
59
+ });
60
+ }, []);
61
+ var handleCloseMobileMenu = useCallback(function () {
62
+ setSidebarState(function (prev) {
63
+ return _objectSpread(_objectSpread({}, prev), {}, {
64
+ mobileMenuVisible: false
65
+ });
66
+ });
67
+ }, []);
68
+ useEffect(function () {
69
+ if (isMobile) {
70
+ handleCloseMobileMenu();
71
+ }
72
+ }, [isMobile, handleCloseMobileMenu]);
73
+ var mobileMenuVisible = sidebarState.mobileMenuVisible;
74
+ var menuChild = ___EmotionJSX(Menu, {
75
+ inlineIndent: 30,
76
+ css: styles.asideContainer,
77
+ mode: "inline",
78
+ selectedKeys: [selectedKey],
79
+ defaultOpenKeys: sidebarData === null || sidebarData === void 0 ? void 0 : sidebarData.map(function (_ref2) {
80
+ var title = _ref2.title;
81
+ return title;
82
+ }).filter(function (item) {
83
+ return item;
84
+ })
85
+ }, convertMenuItemsToJSX(menuItems));
86
+ return isMobile ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX(MobileMenu, {
87
+ key: "mobile-menu",
88
+ contentWrapperStyle: {
89
+ width: '300px'
90
+ },
91
+ open: mobileMenuVisible,
92
+ onClose: handleCloseMobileMenu
93
+ }, menuChild), (menuItems !== null && menuItems !== void 0 ? menuItems : []).length > 1 ? ___EmotionJSX("div", {
94
+ css: styles.mobileMenu,
95
+ onClick: handleShowMobileMenu
96
+ }, ___EmotionJSX(UnorderedListOutlined, null)) : null) : ___EmotionJSX(Col, {
97
+ xxl: 4,
98
+ xl: 5,
99
+ lg: 6,
100
+ md: 6,
101
+ sm: 24,
102
+ xs: 24,
103
+ css: styles.mainMenu
104
+ }, ___EmotionJSX("section", {
105
+ className: "main-menu-inner"
106
+ }, menuChild));
107
+ };
108
+ export default Sidebar;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import type { DirectionType } from 'antd/lib/config-provider';
3
+ export interface SiteContextProps {
4
+ isMobile: boolean;
5
+ direction: DirectionType;
6
+ updateSiteConfig: (props: Partial<SiteContextProps>) => void;
7
+ }
8
+ declare const SiteContext: import("react").Context<SiteContextProps>;
9
+ export default SiteContext;
@@ -0,0 +1,7 @@
1
+ import { createContext } from 'react';
2
+ var SiteContext = /*#__PURE__*/createContext({
3
+ isMobile: false,
4
+ direction: 'ltr',
5
+ updateSiteConfig: function updateSiteConfig() {}
6
+ });
7
+ export default SiteContext;
@@ -0,0 +1,2 @@
1
+ import 'antd/dist/antd.css';
2
+ import 'rc-footer/assets/index.less';
@@ -0,0 +1,2 @@
1
+ import 'antd/dist/antd.css';
2
+ import 'rc-footer/assets/index.less';
@@ -0,0 +1 @@
1
+ @prefix: dumi-theme-antd;
@@ -0,0 +1,103 @@
1
+ import type { SerializedStyles } from '@emotion/react';
2
+ import type { IThemeConfig } from 'dumi/dist/client/theme-api/types';
3
+ import type { FooterColumn } from 'rc-footer/lib/column';
4
+ export declare type ISidebarGroupModePathItem = string;
5
+ interface ILocaleEnhance {
6
+ /** 同 themeConfig 中 locales 项中的 id */
7
+ id: string;
8
+ /** 当多语言只有两项时用于展示切换的前缀 */
9
+ switchPrefix: string;
10
+ }
11
+ interface IAction {
12
+ /** 按钮文字描述 */
13
+ text: string;
14
+ /** 按钮链接 */
15
+ link: string;
16
+ /** 按钮类型 */
17
+ type?: 'primary' | 'default';
18
+ }
19
+ export interface IMoreLink {
20
+ /** 链接文字描述 */
21
+ text: string;
22
+ /** 链接 */
23
+ link: string;
24
+ }
25
+ interface IFeature {
26
+ /** 特性名称 */
27
+ title: string;
28
+ /** 特性具体描述 */
29
+ details: string;
30
+ /** css in js 样式 */
31
+ itemCss?: SerializedStyles;
32
+ }
33
+ interface ILoading {
34
+ skeleton?: Array<string>;
35
+ }
36
+ export declare type SidebarEnhanceItemType = {
37
+ title: string;
38
+ link: string;
39
+ target?: string;
40
+ };
41
+ export declare type SidebarEnhanceChildrenType = string | SidebarEnhanceItemType;
42
+ export declare type SidebarEnhanceSubType = {
43
+ children: SidebarEnhanceChildrenType[];
44
+ title: string;
45
+ };
46
+ export declare type SidebarEnhanceGroupChildren = (SidebarEnhanceSubType | SidebarEnhanceChildrenType)[];
47
+ export declare type SidebarEnhanceGroupType = {
48
+ type: 'group';
49
+ title: string;
50
+ children: SidebarEnhanceGroupChildren;
51
+ };
52
+ export declare type SidebarEnhanceType = SidebarEnhanceSubType | SidebarEnhanceGroupType | SidebarEnhanceChildrenType;
53
+ export declare type SidebarEnhanceItems = SidebarEnhanceType[];
54
+ interface IDocVersion {
55
+ [propName: string]: string;
56
+ }
57
+ export interface IBannerConfig {
58
+ /** 是否展示头部 banner 背景 */
59
+ showBanner?: boolean;
60
+ /** banner 图片地址 */
61
+ bannerImgUrl?: string;
62
+ /** banner 移动端图片地址 */
63
+ bannerMobileImgUrl?: string;
64
+ }
65
+ interface IAdditionalThemeConfig {
66
+ /** github 链接 */
67
+ github?: string;
68
+ /** 首页链接 */
69
+ homeLink?: string;
70
+ /** 多语言额外配置,主要用于展示语言切换文字(只针对于两项多语言时) */
71
+ localesEnhance?: ILocaleEnhance[];
72
+ /** 配置首页首屏区域的大标题。 */
73
+ title?: string | Record<string, string>;
74
+ /** 配置首页首屏区域的简介文字 */
75
+ description?: string | Record<string, string>;
76
+ /** 配置首页首屏区域的操作按钮 */
77
+ actions?: IAction[] | Record<string, IAction[]>;
78
+ /** 配置首页特性描述 */
79
+ features?: IFeature[] | Record<string, IFeature[]>;
80
+ /** sidebar group 模式路由 */
81
+ sidebarGroupModePath?: true | ISidebarGroupModePathItem[];
82
+ /** 文档版本 */
83
+ docVersions?: IDocVersion;
84
+ /** 更多链接 */
85
+ moreLinks?: IMoreLink[] | Record<string, IMoreLink[]>;
86
+ /** banner 配置 */
87
+ bannerConfig?: IBannerConfig;
88
+ /** 是否展示 rtl */
89
+ rtl?: boolean;
90
+ /** 增强模式的 sidebar */
91
+ sidebarEnhance?: Record<string, SidebarEnhanceItems>;
92
+ /** antd 主题定制,同 `ConfigProvider` 中 `theme`(antd 4.x 格式) */
93
+ theme?: Record<string, any>;
94
+ /** 是否展示页面加载状态 */
95
+ loading?: ILoading;
96
+ /** footer 上方展示友情链接 */
97
+ footerLinks?: FooterColumn[] | Record<string, FooterColumn[]>;
98
+ /** SSR, plugin 自动注入,无需设置 */
99
+ ssr?: boolean | Record<string, unknown>;
100
+ }
101
+ export interface IAllThemeConfig extends IThemeConfig, IAdditionalThemeConfig {
102
+ }
103
+ export { IAdditionalThemeConfig, ILocaleEnhance, IFeature, IAction };
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { useSiteData } from 'dumi';
3
+ import type { ISidebarGroup } from 'dumi/dist/client/theme-api/types';
4
+ declare type ILocaleItem = ReturnType<typeof useSiteData>['locales'][0];
5
+ export declare function getTargetLocalePath({ pathname, current, target }: {
6
+ pathname?: string;
7
+ current: ILocaleItem;
8
+ target: ILocaleItem;
9
+ }): string;
10
+ export declare const removeTitleCode: (title?: string) => string;
11
+ export declare const isExternalLinks: (link?: string) => boolean;
12
+ export declare const handleFullSidebarData: (fullSidebarData: Record<string, ISidebarGroup[]>) => Record<string, ISidebarGroup[]>;
13
+ export interface MenuItemType {
14
+ key: string;
15
+ label: React.ReactNode;
16
+ children?: MenuItemType[];
17
+ type?: 'group';
18
+ order?: number;
19
+ }
20
+ /**
21
+ * 将 Menu items 数组转换为 JSX 结构(antd 4.x 使用 children)
22
+ */
23
+ export declare function convertMenuItemsToJSX(items: MenuItemType[] | undefined): React.ReactNode;
24
+ export {};
package/dist/utils.js ADDED
@@ -0,0 +1,112 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import React from 'react';
5
+ import { Menu } from 'antd';
6
+ import { history } from 'dumi';
7
+ import { jsx as ___EmotionJSX } from "@emotion/react";
8
+ export function getTargetLocalePath(_ref) {
9
+ var _ref$pathname = _ref.pathname,
10
+ pathname = _ref$pathname === void 0 ? history.location.pathname : _ref$pathname,
11
+ current = _ref.current,
12
+ target = _ref.target;
13
+ var clearPath = 'base' in current ? pathname.replace(current.base.replace(/\/$/, ''), '') : pathname.replace(new RegExp("".concat(current.suffix, "$")), '');
14
+ return 'base' in target ? "".concat(target.base).concat(clearPath).replace(/^\/\//, '/') : "".concat(clearPath).concat(target.suffix);
15
+ }
16
+
17
+ // 删除标题中的 HTML 标签
18
+ export var removeTitleCode = function removeTitleCode() {
19
+ var title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
20
+ return title.replace(/<\w+>.*<\/\w+>/g, '');
21
+ };
22
+ export var isExternalLinks = function isExternalLinks(link) {
23
+ return /^(\w+:)\/\/|^(mailto|tel):/.test(link !== null && link !== void 0 ? link : '');
24
+ };
25
+ export var handleFullSidebarData = function handleFullSidebarData(fullSidebarData) {
26
+ var nextFullSidebarData = {};
27
+ Object.entries(fullSidebarData).forEach(function (_ref2) {
28
+ var _ref3 = _slicedToArray(_ref2, 2),
29
+ key = _ref3[0],
30
+ value = _ref3[1];
31
+ var existedLevelOneNavList = Object.keys(nextFullSidebarData);
32
+ if (key.split('/').length === 3) {
33
+ var _value$, _value$$children, _levelTwoNav2, _levelTwoNav2$frontma;
34
+ // 二级目录
35
+ var levelOneNavKey = "/".concat(key.split('/')[1]);
36
+ var _levelTwoNav = (_value$ = value[0]) === null || _value$ === void 0 ? void 0 : (_value$$children = _value$.children) === null || _value$$children === void 0 ? void 0 : _value$$children.find(function (item) {
37
+ var _item$frontmatter;
38
+ var _frontmatterInfo = (_item$frontmatter = item.frontmatter) === null || _item$frontmatter === void 0 ? void 0 : _item$frontmatter.nav;
39
+ return _typeof(_frontmatterInfo) === 'object' && _typeof(_frontmatterInfo === null || _frontmatterInfo === void 0 ? void 0 : _frontmatterInfo.second) === 'object';
40
+ });
41
+ // 如果是 second 配置不为对象,直接获取其值即可
42
+ if (!_levelTwoNav) {
43
+ var _value$2;
44
+ _levelTwoNav = (_value$2 = value[0]) === null || _value$2 === void 0 ? void 0 : _value$2.children[0];
45
+ }
46
+ // 找找二级菜单名称以及顺序
47
+ var _levelTwoNavInfo = (_levelTwoNav2 = _levelTwoNav) === null || _levelTwoNav2 === void 0 ? void 0 : (_levelTwoNav2$frontma = _levelTwoNav2.frontmatter) === null || _levelTwoNav2$frontma === void 0 ? void 0 : _levelTwoNav2$frontma.nav;
48
+ var frontmatterNavSecond = {
49
+ order: 0,
50
+ title: undefined
51
+ };
52
+ if (typeof _levelTwoNavInfo !== 'string') {
53
+ var _levelTwoNavInfo$seco, _levelTwoNavInfo$seco2, _levelTwoNavInfo$seco3, _levelTwoNavInfo$seco4;
54
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
55
+ // @ts-ignore
56
+ frontmatterNavSecond.order = (_levelTwoNavInfo$seco = _levelTwoNavInfo === null || _levelTwoNavInfo === void 0 ? void 0 : (_levelTwoNavInfo$seco2 = _levelTwoNavInfo.second) === null || _levelTwoNavInfo$seco2 === void 0 ? void 0 : _levelTwoNavInfo$seco2.order) !== null && _levelTwoNavInfo$seco !== void 0 ? _levelTwoNavInfo$seco : 0;
57
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
58
+ // @ts-ignore
59
+ frontmatterNavSecond.title = (_levelTwoNavInfo$seco3 = _levelTwoNavInfo === null || _levelTwoNavInfo === void 0 ? void 0 : (_levelTwoNavInfo$seco4 = _levelTwoNavInfo.second) === null || _levelTwoNavInfo$seco4 === void 0 ? void 0 : _levelTwoNavInfo$seco4.title) !== null && _levelTwoNavInfo$seco3 !== void 0 ? _levelTwoNavInfo$seco3 : _levelTwoNavInfo === null || _levelTwoNavInfo === void 0 ? void 0 : _levelTwoNavInfo.second;
60
+ }
61
+ if (existedLevelOneNavList.includes(levelOneNavKey)) {
62
+ var _value$3;
63
+ // 已存在,直接 push 为 children
64
+ nextFullSidebarData[levelOneNavKey].push({
65
+ title: frontmatterNavSecond.title,
66
+ order: frontmatterNavSecond.order,
67
+ children: (_value$3 = value[0]) === null || _value$3 === void 0 ? void 0 : _value$3.children
68
+ });
69
+ } else {
70
+ nextFullSidebarData[levelOneNavKey] = value.map(function (item) {
71
+ return _objectSpread(_objectSpread({}, item), {}, {
72
+ title: frontmatterNavSecond.title,
73
+ order: frontmatterNavSecond.order
74
+ });
75
+ });
76
+ }
77
+ } else if (existedLevelOneNavList.includes(key)) {
78
+ nextFullSidebarData[key] = nextFullSidebarData[key].concat(value);
79
+ } else {
80
+ nextFullSidebarData[key] = value;
81
+ }
82
+ });
83
+ return nextFullSidebarData;
84
+ };
85
+
86
+ // Menu item 类型定义(用于转换)
87
+
88
+ /**
89
+ * 将 Menu items 数组转换为 JSX 结构(antd 4.x 使用 children)
90
+ */
91
+ export function convertMenuItemsToJSX(items) {
92
+ if (!items || items.length === 0) {
93
+ return null;
94
+ }
95
+ return items.map(function (item) {
96
+ if (item.type === 'group') {
97
+ return ___EmotionJSX(Menu.ItemGroup, {
98
+ key: item.key,
99
+ title: item.label
100
+ }, item.children ? convertMenuItemsToJSX(item.children) : null);
101
+ }
102
+ if (item.children && item.children.length > 0) {
103
+ return ___EmotionJSX(Menu.SubMenu, {
104
+ key: item.key,
105
+ title: item.label
106
+ }, convertMenuItemsToJSX(item.children));
107
+ }
108
+ return ___EmotionJSX(Menu.Item, {
109
+ key: item.key
110
+ }, item.label);
111
+ });
112
+ }
package/package.json ADDED
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "dumi-theme-antd4",
3
+ "version": "0.0.1",
4
+ "description": "Ant Design 4.9.4 官网风格类似的 dumi2 主题插件",
5
+ "keywords": [
6
+ "dumi",
7
+ "dumi-theme",
8
+ "antd",
9
+ "antd4",
10
+ "antd-v4"
11
+ ],
12
+ "homepage": "https://kuangpf.com/dumi-theme-antd",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "https://github.com/adonis-lsh/dumi-theme-antd-v4.git"
16
+ },
17
+ "license": "MIT",
18
+ "main": "dist/index.js",
19
+ "types": "dist/index.d.ts",
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "scripts": {
24
+ "build": "father build",
25
+ "build:docs": "cross-env APP_ROOT=example dumi build",
26
+ "build:site": "cross-env APP_ROOT=example DEPLOY_SITE=local dumi build",
27
+ "site": "node app.js",
28
+ "dev": "father dev",
29
+ "docs": "cross-env APP_ROOT=example dumi dev",
30
+ "lint": "pnpm run lint:es && pnpm run lint:css",
31
+ "lint:css": "stylelint \"{src,test}/**/*.{css,less}\"",
32
+ "lint:es": "eslint \"{src,test}/**/*.{js,jsx,ts,tsx}\" --fix",
33
+ "prepare": "husky install && father link-dev-theme",
34
+ "prepublishOnly": "father doctor && pnpm run build"
35
+ },
36
+ "commitlint": {
37
+ "extends": [
38
+ "@commitlint/config-conventional"
39
+ ]
40
+ },
41
+ "lint-staged": {
42
+ "*.{json}": [
43
+ "prettier --write --no-error-on-unmatched-pattern"
44
+ ],
45
+ "*.{css,less}": [
46
+ "prettier --write"
47
+ ],
48
+ "*.{js,jsx}": [
49
+ "eslint --fix",
50
+ "prettier --write"
51
+ ],
52
+ "*.{ts,tsx}": [
53
+ "eslint --fix",
54
+ "prettier --parser=typescript --write"
55
+ ]
56
+ },
57
+ "dependencies": {
58
+ "@ant-design/icons": "^4.7.0",
59
+ "@babel/runtime": "7.22.3",
60
+ "@ctrl/tinycolor": "3.6.0",
61
+ "@emotion/css": "11.11.2",
62
+ "@emotion/react": "11.11.0",
63
+ "@emotion/server": "11.11.0",
64
+ "classnames": "2.3.2",
65
+ "dayjs": "1.11.7",
66
+ "lodash.clonedeep": "4.5.0",
67
+ "prism-react-renderer": "2.3.1",
68
+ "rc-drawer": "6.2.0",
69
+ "rc-footer": "0.6.8",
70
+ "rc-util": "5.41.0",
71
+ "react-intersection-observer": "9.8.2"
72
+ },
73
+ "devDependencies": {
74
+ "@commitlint/cli": "^17.6.5",
75
+ "@commitlint/config-conventional": "^17.6.5",
76
+ "@emotion/babel-preset-css-prop": "11.10.0",
77
+ "@types/lodash": "^4.14.195",
78
+ "@types/react": "~18.0.0",
79
+ "@utopia/eslint-config-react": "^0.0.13",
80
+ "@utopia/prettier-config-base": "^0.0.13",
81
+ "cross-env": "^7.0.3",
82
+ "express": "^4.18.2",
83
+ "father": "^4.2.2",
84
+ "father-plugin-dumi-theme": "1.0.0-rc.1",
85
+ "husky": "^8.0.3",
86
+ "lint-staged": "^16.2.7"
87
+ },
88
+ "peerDependencies": {
89
+ "antd": "4.9.4",
90
+ "dumi": "^2.4.18",
91
+ "react": "^16.9.0",
92
+ "react-dom": "^16.9.0"
93
+ },
94
+ "publishConfig": {
95
+ "access": "public",
96
+ "registry": "https://registry.npmjs.org/"
97
+ },
98
+ "authors": [
99
+ "lish"
100
+ ]
101
+ }