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,66 @@
1
+ interface IUseSiteToken {
2
+ token: {
3
+ colorPrimary: string;
4
+ colorBgContainer: string;
5
+ colorText: string;
6
+ colorTextSecondary: string;
7
+ colorSplit: string;
8
+ colorFillTertiary: string;
9
+ colorPrimaryBg: string;
10
+ colorWarning: string;
11
+ colorWarningBg: string;
12
+ colorSuccess: string;
13
+ colorSuccessBg: string;
14
+ colorError: string;
15
+ colorErrorBg: string;
16
+ colorTextHeading: string;
17
+ colorWhite: string;
18
+ colorBorderSecondary: string;
19
+ fontSize: number;
20
+ fontSizeSM: number;
21
+ fontSizeLG: number;
22
+ fontSizeIcon: number;
23
+ fontSizeHeading1: number;
24
+ fontSizeHeading2: number;
25
+ fontSizeHeading5: number;
26
+ lineHeight: number;
27
+ lineHeightHeading2: number;
28
+ lineHeightHeading5: number;
29
+ margin: number;
30
+ marginSM: number;
31
+ marginMD: number;
32
+ marginXXL: number;
33
+ borderRadius: number;
34
+ borderRadiusLG: number;
35
+ lineWidth: number;
36
+ screenLG: number;
37
+ fontFamily: string;
38
+ purple5: string;
39
+ purple6: string;
40
+ padding: number;
41
+ paddingSM: number;
42
+ paddingXS: number;
43
+ paddingXXS: number;
44
+ paddingLG: number;
45
+ headerHeight: number;
46
+ menuItemBorder: number;
47
+ controlHeight: number;
48
+ motionDurationSlow: string;
49
+ motionDurationMid: string;
50
+ mobileMaxWidth: number;
51
+ siteMarkdownCodeBg: string;
52
+ antCls: string;
53
+ iconCls: string;
54
+ marginFarXS: number;
55
+ marginFarSM: number;
56
+ marginFar: number;
57
+ codeFamily: string;
58
+ contentMarginTop: number;
59
+ anchorTop: number;
60
+ boxShadowCard: string;
61
+ boxShadowTertiary: string;
62
+ };
63
+ siteCls: string;
64
+ }
65
+ declare const useSiteToken: () => IUseSiteToken;
66
+ export default useSiteToken;
@@ -0,0 +1,105 @@
1
+ import { TinyColor } from '@ctrl/tinycolor';
2
+ import { ConfigContext } from 'antd/lib/config-provider';
3
+ import { useContext } from 'react';
4
+ var headerHeight = 64;
5
+ var boxShadowCard = "\n0 1px 2px -2px ".concat(new TinyColor('rgba(0, 0, 0, 0.16)').toRgbString(), ",\n0 3px 6px 0 ").concat(new TinyColor('rgba(0, 0, 0, 0.12)').toRgbString(), ",\n0 5px 12px 4px ").concat(new TinyColor('rgba(0, 0, 0, 0.09)').toRgbString(), "\n");
6
+ var boxShadowTertiary = "\n0 1px 2px 0 ".concat(new TinyColor('rgba(0, 0, 0, 0.03)').toRgbString(), ",\n0 1px 6px -1px ").concat(new TinyColor('rgba(0, 0, 0, 0.02)').toRgbString(), ",\n0 2px 4px 0 ").concat(new TinyColor('rgba(0, 0, 0, 0.02)').toRgbString(), "\n");
7
+ var useSiteToken = function useSiteToken() {
8
+ var _useContext = useContext(ConfigContext),
9
+ getPrefixCls = _useContext.getPrefixCls;
10
+ var rootPrefixCls = getPrefixCls();
11
+ var iconPrefixCls = 'anticon'; // antd 4.x 默认图标类名前缀
12
+
13
+ // antd 4.x 默认值
14
+ var marginXXL = 48;
15
+ var margin = 16;
16
+ var token = {
17
+ // antd 4.x 默认颜色值
18
+ colorPrimary: '#1890ff',
19
+ colorBgContainer: '#fff',
20
+ colorText: 'rgba(0, 0, 0, 0.85)',
21
+ colorTextSecondary: 'rgba(0, 0, 0, 0.45)',
22
+ colorSplit: '#f0f0f0',
23
+ colorFillTertiary: 'rgba(0, 0, 0, 0.04)',
24
+ colorPrimaryBg: '#e6f7ff',
25
+ colorWarning: '#faad14',
26
+ colorWarningBg: '#fffbe6',
27
+ colorSuccess: '#52c41a',
28
+ colorSuccessBg: '#f6ffed',
29
+ colorError: '#ff4d4f',
30
+ colorErrorBg: '#fff2f0',
31
+ colorTextHeading: 'rgba(0, 0, 0, 0.88)',
32
+ colorWhite: '#fff',
33
+ colorBorderSecondary: 'rgba(0, 0, 0, 0.06)',
34
+ // antd 4.x 默认字体大小
35
+ fontSize: 14,
36
+ fontSizeSM: 12,
37
+ fontSizeLG: 16,
38
+ fontSizeIcon: 12,
39
+ fontSizeHeading1: 38,
40
+ fontSizeHeading2: 30,
41
+ fontSizeHeading5: 16,
42
+ lineHeight: 1.5715,
43
+ lineHeightHeading2: 1.35,
44
+ lineHeightHeading5: 1.5,
45
+ // antd 4.x 默认间距(调整为接近 5.x 视觉效果)
46
+ margin: margin,
47
+ marginSM: 8,
48
+ // antd 默认小间距
49
+ marginMD: 24,
50
+ // antd 5.x 默认是 24
51
+ marginXXL: marginXXL,
52
+ // antd 4.x 默认圆角(调整为接近 5.x 视觉效果)
53
+ borderRadius: 6,
54
+ // antd 5.x 默认是 6
55
+ borderRadiusLG: 8,
56
+ // antd 5.x 默认是 8
57
+ lineWidth: 1,
58
+ // antd 默认边框宽度
59
+ // antd 4.x 默认断点
60
+ screenLG: 992,
61
+ // antd 4.x 默认字体
62
+ fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',
63
+ // antd 4.x 默认紫色(用于锚点等)
64
+ purple5: '#722ed1',
65
+ purple6: '#531dab',
66
+ // antd 4.x 默认内边距
67
+ padding: 16,
68
+ // antd 默认内边距
69
+ paddingSM: 8,
70
+ // antd 小内边距
71
+ paddingXS: 8,
72
+ paddingXXS: 4,
73
+ paddingLG: 24,
74
+ // 自定义值
75
+ headerHeight: headerHeight,
76
+ menuItemBorder: 2,
77
+ controlHeight: 32,
78
+ // antd 默认控件高度
79
+ motionDurationSlow: '0.3s',
80
+ // antd 慢速动画时长
81
+ motionDurationMid: '0.2s',
82
+ // antd 中速动画时长
83
+ mobileMaxWidth: 767.99,
84
+ siteMarkdownCodeBg: 'rgba(0, 0, 0, 0.04)',
85
+ antCls: ".".concat(rootPrefixCls),
86
+ iconCls: ".".concat(iconPrefixCls),
87
+ /** 56 */
88
+ marginFarXS: marginXXL / 6 * 7,
89
+ /** 80 */
90
+ marginFarSM: marginXXL / 3 * 5,
91
+ /** 96 */
92
+ marginFar: marginXXL * 2,
93
+ codeFamily: "'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",
94
+ contentMarginTop: 40,
95
+ anchorTop: headerHeight + margin,
96
+ boxShadowCard: boxShadowCard,
97
+ boxShadowTertiary: boxShadowTertiary
98
+ };
99
+ return {
100
+ token: token,
101
+ /** dumi-theme-antd 站点 class 前缀 */
102
+ siteCls: 'dumi-antd'
103
+ };
104
+ };
105
+ export default useSiteToken;
@@ -0,0 +1,5 @@
1
+ export interface LocaleMap<Key extends string> {
2
+ cn: Record<Key, string>;
3
+ en: Record<Key, string>;
4
+ }
5
+ export default function useLocale<Key extends string>(localeMap?: LocaleMap<Key>): [Record<Key, string>, 'cn' | 'en'];
@@ -0,0 +1,7 @@
1
+ import { useLocale as useDumiLocale } from 'dumi';
2
+ export default function useLocale(localeMap) {
3
+ var _useDumiLocale = useDumiLocale(),
4
+ id = _useDumiLocale.id;
5
+ var localeType = id === 'zh-CN' ? 'cn' : 'en';
6
+ return [localeMap === null || localeMap === void 0 ? void 0 : localeMap[localeType], localeType];
7
+ }
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const RTLIcon: React.FC<{
3
+ className?: string;
4
+ }>;
5
+ export default RTLIcon;
@@ -0,0 +1,20 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import Icon from '@ant-design/icons';
3
+ import React from 'react';
4
+ import { jsx as ___EmotionJSX } from "@emotion/react";
5
+ var SVGIcon = function SVGIcon() {
6
+ return ___EmotionJSX("svg", {
7
+ viewBox: "0 0 20 20",
8
+ fill: "currentColor",
9
+ width: 20,
10
+ height: 20
11
+ }, ___EmotionJSX("path", {
12
+ d: "m14.6961816 11.6470802.0841184.0726198 2 2c.2662727.2662727.2904793.682876.0726198.9764816l-.0726198.0841184-2 2c-.2929.2929-.7677.2929-1.0606 0-.2662727-.2662727-.2904793-.682876-.0726198-.9764816l.0726198-.0841184.7196-.7197h-10.6893c-.41421 0-.75-.3358-.75-.75 0-.3796833.28215688-.6934889.64823019-.7431531l.10176981-.0068469h10.6893l-.7196-.7197c-.2929-.2929-.2929-.7677 0-1.0606.2662727-.2662727.682876-.2904793.9764816-.0726198zm-8.1961616-8.6470802c.30667 0 .58246.18671.69635.47146l3.00003 7.50004c.1538.3845-.0333.821-.41784.9749-.38459.1538-.82107-.0333-.9749-.4179l-.81142-2.0285h-2.98445l-.81142 2.0285c-.15383.3846-.59031.5717-.9749.4179-.38458-.1539-.57165-.5904-.41781-.9749l3-7.50004c.1139-.28475.38968-.47146.69636-.47146zm8.1961616 1.14705264.0841184.07261736 2 2c.2662727.26626364.2904793.68293223.0726198.97654222l-.0726198.08411778-2 2c-.2929.29289-.7677.29289-1.0606 0-.2662727-.26626364-.2904793-.68293223-.0726198-.97654222l.0726198-.08411778.7196-.7196675h-3.6893c-.4142 0-.75-.3357925-.75-.7500025 0-.3796925.2821653-.69348832.6482323-.74315087l.1017677-.00684663h3.6893l-.7196-.7196725c-.2929-.29289-.2929-.76777 0-1.06066.2662727-.26626364.682876-.29046942.9764816-.07261736zm-8.1961616 1.62238736-.89223 2.23056h1.78445z"
13
+ }));
14
+ };
15
+ var RTLIcon = function RTLIcon(props) {
16
+ return ___EmotionJSX(Icon, _extends({
17
+ component: SVGIcon
18
+ }, props));
19
+ };
20
+ export default RTLIcon;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ declare const RTLIcon: React.FC<{
3
+ className?: string;
4
+ }>;
5
+ export default RTLIcon;
@@ -0,0 +1,23 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import Icon from '@ant-design/icons';
3
+ import React from 'react';
4
+ import { jsx as ___EmotionJSX } from "@emotion/react";
5
+ var SVGIcon = function SVGIcon() {
6
+ return ___EmotionJSX("svg", {
7
+ viewBox: "0 0 20 20",
8
+ fill: "currentColor",
9
+ width: 20,
10
+ height: 20,
11
+ style: {
12
+ transform: 'scaleX(-1)'
13
+ }
14
+ }, ___EmotionJSX("path", {
15
+ d: "m14.6961816 11.6470802.0841184.0726198 2 2c.2662727.2662727.2904793.682876.0726198.9764816l-.0726198.0841184-2 2c-.2929.2929-.7677.2929-1.0606 0-.2662727-.2662727-.2904793-.682876-.0726198-.9764816l.0726198-.0841184.7196-.7197h-10.6893c-.41421 0-.75-.3358-.75-.75 0-.3796833.28215688-.6934889.64823019-.7431531l.10176981-.0068469h10.6893l-.7196-.7197c-.2929-.2929-.2929-.7677 0-1.0606.2662727-.2662727.682876-.2904793.9764816-.0726198zm-8.1961616-8.6470802c.30667 0 .58246.18671.69635.47146l3.00003 7.50004c.1538.3845-.0333.821-.41784.9749-.38459.1538-.82107-.0333-.9749-.4179l-.81142-2.0285h-2.98445l-.81142 2.0285c-.15383.3846-.59031.5717-.9749.4179-.38458-.1539-.57165-.5904-.41781-.9749l3-7.50004c.1139-.28475.38968-.47146.69636-.47146zm8.1961616 1.14705264.0841184.07261736 2 2c.2662727.26626364.2904793.68293223.0726198.97654222l-.0726198.08411778-2 2c-.2929.29289-.7677.29289-1.0606 0-.2662727-.26626364-.2904793-.68293223-.0726198-.97654222l.0726198-.08411778.7196-.7196675h-3.6893c-.4142 0-.75-.3357925-.75-.7500025 0-.3796925.2821653-.69348832.6482323-.74315087l.1017677-.00684663h3.6893l-.7196-.7196725c-.2929-.29289-.2929-.76777 0-1.06066.2662727-.26626364.682876-.29046942.9764816-.07261736zm-8.1961616 1.62238736-.89223 2.23056h1.78445z"
16
+ }));
17
+ };
18
+ var RTLIcon = function RTLIcon(props) {
19
+ return ___EmotionJSX(Icon, _extends({
20
+ component: SVGIcon
21
+ }, props));
22
+ };
23
+ export default RTLIcon;
@@ -0,0 +1,4 @@
1
+ import Footer from './slots/Footer';
2
+ import Loading from './common/Loading';
3
+ import HomeBaseLayout from './builtins/HomeBaseLayout';
4
+ export { Loading, Footer, HomeBaseLayout };
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ import Footer from "dumi/theme/slots/Footer";
2
+ import Loading from "./common/Loading";
3
+ import HomeBaseLayout from "./builtins/HomeBaseLayout";
4
+ export { Loading, Footer, HomeBaseLayout };
@@ -0,0 +1,4 @@
1
+ import { type FC } from 'react';
2
+ import '../../static/style';
3
+ declare const DocLayout: FC;
4
+ export default DocLayout;
@@ -0,0 +1,90 @@
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 { css } from '@emotion/react';
3
+ import { Helmet, Outlet, useLocale, useLocation, useOutlet, useRouteMeta, useSiteData } from 'dumi';
4
+ import React, { useEffect, useContext, useMemo } from 'react';
5
+ import classNames from 'classnames';
6
+ import GlobalStyles from "../../common/GlobalStyles";
7
+ import useLocaleValue from "../../hooks/useLocaleValue";
8
+ import Footer from "dumi/theme/slots/Footer";
9
+ import Header from "dumi/theme/slots/Header";
10
+ import Homepage from "../HomePageLayout";
11
+ import SidebarLayout from "../SidebarLayout";
12
+ import SiteContext from "dumi/theme/slots/SiteContext";
13
+ import "../../static/style";
14
+ import { jsx as ___EmotionJSX } from "@emotion/react";
15
+ var _ref = process.env.NODE_ENV === "production" ? {
16
+ name: "11pfcjj",
17
+ styles: "display:flex;flex-direction:column;min-height:100vh"
18
+ } : {
19
+ name: "rorlea-layoutWrap",
20
+ styles: "display:flex;flex-direction:column;min-height:100vh;label:layoutWrap;",
21
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlbUIiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgSGVsbWV0LCBPdXRsZXQsIHVzZUxvY2FsZSwgdXNlTG9jYXRpb24sIHVzZU91dGxldCwgdXNlUm91dGVNZXRhLCB1c2VTaXRlRGF0YSB9IGZyb20gJ2R1bWknO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlQ29udGV4dCwgdXNlTWVtbywgdHlwZSBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IEdsb2JhbFN0eWxlcyBmcm9tICcuLi8uLi9jb21tb24vR2xvYmFsU3R5bGVzJztcbmltcG9ydCB1c2VMb2NhbGVWYWx1ZSBmcm9tICcuLi8uLi9ob29rcy91c2VMb2NhbGVWYWx1ZSc7XG5pbXBvcnQgRm9vdGVyIGZyb20gJy4uLy4uL3Nsb3RzL0Zvb3Rlcic7XG5pbXBvcnQgSGVhZGVyIGZyb20gJy4uLy4uL3Nsb3RzL0hlYWRlcic7XG5pbXBvcnQgSG9tZXBhZ2UgZnJvbSAnLi4vSG9tZVBhZ2VMYXlvdXQnO1xuaW1wb3J0IFNpZGViYXJMYXlvdXQgZnJvbSAnLi4vU2lkZWJhckxheW91dCc7XG5pbXBvcnQgU2l0ZUNvbnRleHQgZnJvbSAnLi4vLi4vc2xvdHMvU2l0ZUNvbnRleHQnO1xuaW1wb3J0ICcuLi8uLi9zdGF0aWMvc3R5bGUnO1xuXG5jb25zdCB1c2VTdHlsZXMgPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbGF5b3V0V3JhcDogY3NzYFxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBgXG4gIH07XG59O1xuXG5jb25zdCBEb2NMYXlvdXQ6IEZDID0gKCkgPT4ge1xuICBjb25zdCBvdXRsZXQgPSB1c2VPdXRsZXQoKTtcbiAgY29uc3QgbG9jYWxlID0gdXNlTG9jYWxlKCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3Qgc3R5bGVzID0gdXNlU3R5bGVzKCk7XG4gIGNvbnN0IHJvdXRlTWV0YSA9IHVzZVJvdXRlTWV0YSgpO1xuICBjb25zdCB0aXRsZSA9IHVzZUxvY2FsZVZhbHVlKCd0aXRsZScpO1xuICBjb25zdCBkZXNjcmlwdGlvbiA9IHVzZUxvY2FsZVZhbHVlKCdkZXNjcmlwdGlvbicpO1xuICBjb25zdCB7IHBhdGhuYW1lLCBoYXNoIH0gPSBsb2NhdGlvbjtcbiAgY29uc3QgeyBsb2FkaW5nIH0gPSB1c2VTaXRlRGF0YSgpO1xuICBjb25zdCB7IGRpcmVjdGlvbiB9ID0gdXNlQ29udGV4dChTaXRlQ29udGV4dCk7XG5cbiAgY29uc3QgY29udGVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIFsnJywgJy8nXS5zb21lKChwYXRoKSA9PiBwYXRoID09PSBwYXRobmFtZSkgfHxcbiAgICAgIFsnL2luZGV4J10uc29tZSgocGF0aCkgPT4gcGF0aG5hbWUuc3RhcnRzV2l0aChwYXRoKSlcbiAgICApIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICB7b3V0bGV0IHx8IDxIb21lcGFnZSAvPn1cbiAgICAgICAgICA8Rm9vdGVyIC8+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gcm91dGVNZXRhLmZyb250bWF0dGVyPy5zaWRlYmFyID09PSBmYWxzZSA/IChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxPdXRsZXQgLz5cbiAgICAgIDwvZGl2PlxuICAgICkgOiAoXG4gICAgICA8U2lkZWJhckxheW91dD5cbiAgICAgICAgPE91dGxldCAvPlxuICAgICAgPC9TaWRlYmFyTGF5b3V0PlxuICAgICk7XG4gIH0sIFtvdXRsZXQsIHBhdGhuYW1lLCByb3V0ZU1ldGFdKTtcblxuICAvLyBoYW5kbGUgaGFzaCBjaGFuZ2Ugb3IgdmlzaXQgcGFnZSBoYXNoIGZyb20gTGluayBjb21wb25lbnQsIGFuZCBqdW1wIGFmdGVyIGFzeW5jIGNodW5rIGxvYWRlZFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlkID0gaGFzaC5yZXBsYWNlKCcjJywgJycpO1xuICAgIGlmIChpZCkge1xuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGVjb2RlVVJJQ29tcG9uZW50KGlkKSk/LnNjcm9sbEludG9WaWV3KCk7XG4gICAgfVxuICB9LCBbbG9hZGluZywgaGFzaF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjc3M9e3N0eWxlcy5sYXlvdXRXcmFwfT5cbiAgICAgIDxIZWxtZXQgZW5jb2RlU3BlY2lhbENoYXJhY3RlcnM9e2ZhbHNlfT5cbiAgICAgICAgPGh0bWxcbiAgICAgICAgICBsYW5nPXtsb2NhbGUuaWR9XG4gICAgICAgICAgZGF0YS1kaXJlY3Rpb249e2RpcmVjdGlvbn1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoWydkdW1pLXRoZW1lLWFudGQtcm9vdCcsIHsgcnRsOiBkaXJlY3Rpb24gPT09ICdydGwnIH1dKX1cbiAgICAgICAgLz5cbiAgICAgICAgPHRpdGxlPntgJHt0aXRsZSB8fCAnZHVtaS10aGVtZS1hbnRkJ30ke2Rlc2NyaXB0aW9uID8gYC0ke2Rlc2NyaXB0aW9ufWAgOiAnJ31gfTwvdGl0bGU+XG4gICAgICAgIDxsaW5rXG4gICAgICAgICAgc2l6ZXM9XCIxNDR4MTQ0XCJcbiAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9ndy5hbGlwYXlvYmplY3RzLmNvbS96b3MvYW50ZmluY2RuL1VtVm50M3Q0VDAvYW50ZC5wbmdcIlxuICAgICAgICAvPlxuICAgICAgICA8bWV0YSBuYW1lPVwiZGVzY3JpcHRpb25cIiBjb250ZW50PXtkZXNjcmlwdGlvbn0gLz5cbiAgICAgICAgPG1ldGEgcHJvcGVydHk9XCJvZzp0aXRsZVwiIGNvbnRlbnQ9e3RpdGxlfSAvPlxuICAgICAgICA8bWV0YSBwcm9wZXJ0eT1cIm9nOnR5cGVcIiBjb250ZW50PVwid2Vic2l0ZVwiIC8+XG4gICAgICAgIDxtZXRhXG4gICAgICAgICAgcHJvcGVydHk9XCJvZzppbWFnZVwiXG4gICAgICAgICAgY29udGVudD1cImh0dHBzOi8vZ3cuYWxpcGF5b2JqZWN0cy5jb20vem9zL3Jtc3BvcnRhbC9ybHBUTGxiTXpUTll1WkdHQ1ZZTS5wbmdcIlxuICAgICAgICAvPlxuICAgICAgPC9IZWxtZXQ+XG4gICAgICA8R2xvYmFsU3R5bGVzIC8+XG4gICAgICA8SGVhZGVyIC8+XG4gICAgICB7Y29udGVudH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERvY0xheW91dDtcbiJdfQ== */",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ };
24
+ var useStyles = function useStyles() {
25
+ return {
26
+ layoutWrap: _ref
27
+ };
28
+ };
29
+ var DocLayout = function DocLayout() {
30
+ var outlet = useOutlet();
31
+ var locale = useLocale();
32
+ var location = useLocation();
33
+ var styles = useStyles();
34
+ var routeMeta = useRouteMeta();
35
+ var title = useLocaleValue('title');
36
+ var description = useLocaleValue('description');
37
+ var pathname = location.pathname,
38
+ hash = location.hash;
39
+ var _useSiteData = useSiteData(),
40
+ loading = _useSiteData.loading;
41
+ var _useContext = useContext(SiteContext),
42
+ direction = _useContext.direction;
43
+ var content = useMemo(function () {
44
+ var _routeMeta$frontmatte;
45
+ if (['', '/'].some(function (path) {
46
+ return path === pathname;
47
+ }) || ['/index'].some(function (path) {
48
+ return pathname.startsWith(path);
49
+ })) {
50
+ return ___EmotionJSX(React.Fragment, null, outlet || ___EmotionJSX(Homepage, null), ___EmotionJSX(Footer, null));
51
+ }
52
+ return ((_routeMeta$frontmatte = routeMeta.frontmatter) === null || _routeMeta$frontmatte === void 0 ? void 0 : _routeMeta$frontmatte.sidebar) === false ? ___EmotionJSX("div", null, ___EmotionJSX(Outlet, null)) : ___EmotionJSX(SidebarLayout, null, ___EmotionJSX(Outlet, null));
53
+ }, [outlet, pathname, routeMeta]);
54
+
55
+ // handle hash change or visit page hash from Link component, and jump after async chunk loaded
56
+ useEffect(function () {
57
+ var id = hash.replace('#', '');
58
+ if (id) {
59
+ var _document$getElementB;
60
+ (_document$getElementB = document.getElementById(decodeURIComponent(id))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView();
61
+ }
62
+ }, [loading, hash]);
63
+ return ___EmotionJSX("div", {
64
+ css: styles.layoutWrap
65
+ }, ___EmotionJSX(Helmet, {
66
+ encodeSpecialCharacters: false
67
+ }, ___EmotionJSX("html", {
68
+ lang: locale.id,
69
+ "data-direction": direction,
70
+ className: classNames(['dumi-theme-antd-root', {
71
+ rtl: direction === 'rtl'
72
+ }])
73
+ }), ___EmotionJSX("title", null, "".concat(title || 'dumi-theme-antd').concat(description ? "-".concat(description) : '')), ___EmotionJSX("link", {
74
+ sizes: "144x144",
75
+ href: "https://gw.alipayobjects.com/zos/antfincdn/UmVnt3t4T0/antd.png"
76
+ }), ___EmotionJSX("meta", {
77
+ name: "description",
78
+ content: description
79
+ }), ___EmotionJSX("meta", {
80
+ property: "og:title",
81
+ content: title
82
+ }), ___EmotionJSX("meta", {
83
+ property: "og:type",
84
+ content: "website"
85
+ }), ___EmotionJSX("meta", {
86
+ property: "og:image",
87
+ content: "https://gw.alipayobjects.com/zos/rmsportal/rlpTLlbMzTNYuZGGCVYM.png"
88
+ })), ___EmotionJSX(GlobalStyles, null), ___EmotionJSX(Header, null), content);
89
+ };
90
+ export default DocLayout;
@@ -0,0 +1,3 @@
1
+ import type { FC } from 'react';
2
+ declare const GlobalLayout: FC;
3
+ export default GlobalLayout;
@@ -0,0 +1,88 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import { ConfigProvider } from 'antd';
4
+ import { Outlet } from 'dumi';
5
+ import React, { useCallback, useEffect, useMemo, useState } from 'react';
6
+ import useAdditionalThemeConfig from "../hooks/useAdditionalThemeConfig";
7
+ import SiteContext from "dumi/theme/slots/SiteContext";
8
+ import { jsx as ___EmotionJSX } from "@emotion/react";
9
+ var RESPONSIVE_MOBILE = 768;
10
+ var SITE_STATE_LOCALSTORAGE_KEY = 'dumi-theme-antd-site-state';
11
+ var defaultSiteState = {
12
+ isMobile: false,
13
+ direction: 'ltr'
14
+ };
15
+ var GlobalLayout = function GlobalLayout() {
16
+ var _useAdditionalThemeCo = useAdditionalThemeConfig(),
17
+ configTheme = _useAdditionalThemeCo.theme,
18
+ ssr = _useAdditionalThemeCo.ssr;
19
+ var _useState = useState(defaultSiteState),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ _useState2$ = _useState2[0],
22
+ isMobile = _useState2$.isMobile,
23
+ direction = _useState2$.direction,
24
+ setSiteState = _useState2[1];
25
+
26
+ // 基于 localStorage 实现
27
+ var updateSiteConfig = useCallback(function (props) {
28
+ if (typeof window === 'undefined') {
29
+ return;
30
+ }
31
+ try {
32
+ var localSiteState = JSON.parse(window.localStorage.getItem(SITE_STATE_LOCALSTORAGE_KEY) || '{}');
33
+ var nextLocalSiteState = Object.assign(localSiteState, props);
34
+ window.localStorage.setItem(SITE_STATE_LOCALSTORAGE_KEY, JSON.stringify(nextLocalSiteState));
35
+ setSiteState(function (prev) {
36
+ return _objectSpread(_objectSpread({}, prev), props);
37
+ });
38
+ } catch (error) {
39
+ // eslint-disable-next-line no-console
40
+ console.error(error);
41
+ }
42
+ }, []);
43
+ var updateMobileMode = useCallback(function () {
44
+ if (typeof window === 'undefined') {
45
+ return;
46
+ }
47
+ updateSiteConfig({
48
+ isMobile: window.innerWidth < RESPONSIVE_MOBILE
49
+ });
50
+ }, [updateSiteConfig]);
51
+ useEffect(function () {
52
+ if (typeof window === 'undefined') {
53
+ return;
54
+ }
55
+ try {
56
+ var _window$localStorage;
57
+ var localSiteState = JSON.parse(((_window$localStorage = window.localStorage) === null || _window$localStorage === void 0 ? void 0 : _window$localStorage.getItem(SITE_STATE_LOCALSTORAGE_KEY)) || '{}');
58
+ var siteConfig = Object.assign(defaultSiteState, localSiteState);
59
+ updateSiteConfig(siteConfig);
60
+ } catch (error) {
61
+ // eslint-disable-next-line no-console
62
+ console.error(error);
63
+ }
64
+ }, [updateSiteConfig]);
65
+ useEffect(function () {
66
+ if (typeof window === 'undefined') {
67
+ return function () {};
68
+ }
69
+ updateMobileMode();
70
+ window.addEventListener('resize', updateMobileMode);
71
+ return function () {
72
+ window.removeEventListener('resize', updateMobileMode);
73
+ };
74
+ }, [updateMobileMode]);
75
+ var siteContextValue = useMemo(function () {
76
+ return {
77
+ direction: direction,
78
+ isMobile: isMobile,
79
+ updateSiteConfig: updateSiteConfig
80
+ };
81
+ }, [isMobile, direction, updateSiteConfig]);
82
+ return ___EmotionJSX(SiteContext.Provider, {
83
+ value: siteContextValue
84
+ }, ___EmotionJSX(ConfigProvider, configTheme ? {
85
+ theme: configTheme
86
+ } : {}, ___EmotionJSX(Outlet, null)));
87
+ };
88
+ export default GlobalLayout;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const HomePageLayout: React.FC;
3
+ export default HomePageLayout;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import HomeBaseLayout from "../../builtins/HomeBaseLayout";
3
+ import { jsx as ___EmotionJSX } from "@emotion/react";
4
+ var HomePageLayout = function HomePageLayout() {
5
+ return ___EmotionJSX(HomeBaseLayout, null);
6
+ };
7
+ export default HomePageLayout;
@@ -0,0 +1,3 @@
1
+ import type { FC, PropsWithChildren } from 'react';
2
+ declare const SidebarLayout: FC<PropsWithChildren<unknown>>;
3
+ export default SidebarLayout;
@@ -0,0 +1,28 @@
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 { css } from '@emotion/react';
3
+ import CommonHelmet from "../../common/CommonHelmet";
4
+ import Content from "dumi/theme/slots/Content";
5
+ import Sidebar from "dumi/theme/slots/Sidebar";
6
+ import { jsx as ___EmotionJSX } from "@emotion/react";
7
+ var _ref = process.env.NODE_ENV === "production" ? {
8
+ name: "18q6uyv",
9
+ styles: "display:flex;flex:1;margin-top:40px"
10
+ } : {
11
+ name: "10hxsxx-mainWrap",
12
+ styles: "display:flex;flex:1;margin-top:40px;label:mainWrap;",
13
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRaUIiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBGQywgUHJvcHNXaXRoQ2hpbGRyZW4gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ29tbW9uSGVsbWV0IGZyb20gJy4uLy4uL2NvbW1vbi9Db21tb25IZWxtZXQnO1xuaW1wb3J0IENvbnRlbnQgZnJvbSAnLi4vLi4vc2xvdHMvQ29udGVudCc7XG5pbXBvcnQgU2lkZWJhciBmcm9tICcuLi8uLi9zbG90cy9TaWRlYmFyJztcblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbWFpbldyYXA6IGNzc2BcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBgXG4gIH07XG59O1xuXG5jb25zdCBTaWRlYmFyTGF5b3V0OiBGQzxQcm9wc1dpdGhDaGlsZHJlbjx1bmtub3duPj4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHN0eWxlID0gdXNlU3R5bGUoKTtcbiAgcmV0dXJuIChcbiAgICA8bWFpbiBjc3M9e3N0eWxlLm1haW5XcmFwfT5cbiAgICAgIDxDb21tb25IZWxtZXQgLz5cbiAgICAgIDxTaWRlYmFyIC8+XG4gICAgICA8Q29udGVudD57Y2hpbGRyZW59PC9Db250ZW50PlxuICAgIDwvbWFpbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNpZGViYXJMYXlvdXQ7XG4iXX0= */",
14
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
15
+ };
16
+ var useStyle = function useStyle() {
17
+ return {
18
+ mainWrap: _ref
19
+ };
20
+ };
21
+ var SidebarLayout = function SidebarLayout(_ref2) {
22
+ var children = _ref2.children;
23
+ var style = useStyle();
24
+ return ___EmotionJSX("main", {
25
+ css: style.mainWrap
26
+ }, ___EmotionJSX(CommonHelmet, null), ___EmotionJSX(Sidebar, null), ___EmotionJSX(Content, null, children));
27
+ };
28
+ export default SidebarLayout;
@@ -0,0 +1,9 @@
1
+ {
2
+ "app.not-found.back-home": "Back to home page",
3
+ "app.not-found.subTitle": "Sorry, the page you visited does not exist.",
4
+ "app.theme.switch.dark": "Dark theme",
5
+ "app.theme.switch.compact": "Compact theme",
6
+ "app.header.menu.more": "More",
7
+ "app.footer.last.updated": "Last updated: ",
8
+ "app.footer.actions.edit": "Improve this documentation"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "app.not-found.back-home": "返回首页",
3
+ "app.not-found.subTitle": "你访问的页面貌似不存在?",
4
+ "app.theme.switch.dark": "暗黑主题",
5
+ "app.theme.switch.compact": "紧凑主题",
6
+ "app.header.menu.more": "更多",
7
+ "app.footer.last.updated": "最后更新时间:",
8
+ "app.footer.actions.edit": "帮助改进此文档"
9
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface DocAnchorProps {
3
+ showDebug?: boolean;
4
+ debugDemos?: string[];
5
+ }
6
+ declare const DocAnchor: React.FC<DocAnchorProps>;
7
+ export default DocAnchor;
@@ -0,0 +1,75 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import React from 'react';
3
+ import { Anchor } from 'antd';
4
+ import { css } from '@emotion/react';
5
+ import classNames from 'classnames';
6
+ import { useRouteMeta, useTabMeta } from 'dumi';
7
+ import useSiteToken from "../../hooks/useSiteToken";
8
+ import { jsx as ___EmotionJSX } from "@emotion/react";
9
+ var useStyle = function useStyle() {
10
+ var _useSiteToken = useSiteToken(),
11
+ token = _useSiteToken.token;
12
+ var antCls = token.antCls;
13
+ return {
14
+ toc: /*#__PURE__*/css(antCls, "-anchor{", antCls, "-anchor-link-title{font-size:", token.fontSizeSM, "px;}}" + (process.env.NODE_ENV === "production" ? "" : ";label:toc;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRvY0FuY2hvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYVkiLCJmaWxlIjoiRG9jQW5jaG9yLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBBbmNob3IgfSBmcm9tICdhbnRkJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgdXNlUm91dGVNZXRhLCB1c2VUYWJNZXRhIH0gZnJvbSAnZHVtaSc7XG5pbXBvcnQgdXNlU2l0ZVRva2VuIGZyb20gJy4uLy4uL2hvb2tzL3VzZVNpdGVUb2tlbic7XG5cbmNvbnN0IHVzZVN0eWxlID0gKCkgPT4ge1xuICBjb25zdCB7IHRva2VuIH0gPSB1c2VTaXRlVG9rZW4oKTtcblxuICBjb25zdCB7IGFudENscyB9ID0gdG9rZW47XG5cbiAgcmV0dXJuIHtcbiAgICB0b2M6IGNzc2BcbiAgICAgICR7YW50Q2xzfS1hbmNob3Ige1xuICAgICAgICAke2FudENsc30tYW5jaG9yLWxpbmstdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHt0b2tlbi5mb250U2l6ZVNNfXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgICB0b2NXcmFwcGVyOiBjc3NgXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6ICR7dG9rZW4uaGVhZGVySGVpZ2h0ICsgdG9rZW4uY29udGVudE1hcmdpblRvcCAtIDh9cHg7XG4gICAgICBpbnNldC1pbmxpbmUtZW5kOiAwO1xuICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgcGFkZGluZzogJHt0b2tlbi5wYWRkaW5nWFN9cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAke3Rva2VuLmJvcmRlclJhZGl1c31weDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogY2FsYygxNnB4IC0gMTAwdncgKyAxMDAlKTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgLnRvYy1kZWJ1ZyB7XG4gICAgICAgIGNvbG9yOiAke3Rva2VuLnB1cnBsZTZ9O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJHt0b2tlbi5wdXJwbGU1fTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPiBkaXYge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICR7dG9rZW4uaGVhZGVySGVpZ2h0ICsgdG9rZW4uY29udGVudE1hcmdpblRvcCArIDI0fXB4KSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAke3Rva2VuLnBhZGRpbmdYWFN9cHg7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR7dG9rZW4uc2NyZWVuTEd9cHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICBgLFxuICAgIGFydGljbGVXcmFwcGVyOiBjc3NgXG4gICAgICBwYWRkaW5nOiAwIDE3MHB4IDMycHggNjRweDtcblxuICAgICAgJi5ydGwge1xuICAgICAgICBwYWRkaW5nOiAwIDY0cHggMTQ0cHggMTcwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHt0b2tlbi5zY3JlZW5MR31weCkge1xuICAgICAgICAmLFxuICAgICAgICAmLnJ0bCB7XG4gICAgICAgICAgcGFkZGluZzogMCAke3Rva2VuLnBhZGRpbmdMRyAqIDJ9cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgXG4gIH07XG59O1xuXG5pbnRlcmZhY2UgRG9jQW5jaG9yUHJvcHMge1xuICBzaG93RGVidWc/OiBib29sZWFuO1xuICBkZWJ1Z0RlbW9zPzogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBBbmNob3JJdGVtIHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBBbmNob3JJdGVtW107XG59XG5cbmNvbnN0IERvY0FuY2hvcjogUmVhY3QuRkM8RG9jQW5jaG9yUHJvcHM+ID0gKHsgc2hvd0RlYnVnLCBkZWJ1Z0RlbW9zID0gW10gfSkgPT4ge1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZSgpO1xuICBjb25zdCB7IHRva2VuIH0gPSB1c2VTaXRlVG9rZW4oKTtcbiAgY29uc3QgbWV0YSA9IHVzZVJvdXRlTWV0YSgpO1xuICBjb25zdCB0YWIgPSB1c2VUYWJNZXRhKCk7XG5cbiAgY29uc3QgcmVuZGVyQW5jaG9yTGluayA9IChpdGVtOiBBbmNob3JJdGVtKTogUmVhY3QuUmVhY3ROb2RlID0+IHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW5cbiAgICAgID8uZmlsdGVyKChjaGlsZCkgPT4gc2hvd0RlYnVnIHx8ICFkZWJ1Z0RlbW9zLmluY2x1ZGVzKGNoaWxkLmlkKSlcbiAgICAgIC5tYXAoKGNoaWxkKSA9PiAoXG4gICAgICAgIDxBbmNob3IuTGlua1xuICAgICAgICAgIGtleT17Y2hpbGQuaWR9XG4gICAgICAgICAgaHJlZj17YCMke2NoaWxkLmlkfWB9XG4gICAgICAgICAgdGl0bGU9e1xuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtjbGFzc05hbWVzKHsgJ3RvYy1kZWJ1Zyc6IGRlYnVnRGVtb3MuaW5jbHVkZXMoY2hpbGQuaWQpIH0pfT5cbiAgICAgICAgICAgICAge2NoaWxkPy50aXRsZX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIC8+XG4gICAgICApKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8QW5jaG9yLkxpbmsga2V5PXtpdGVtLmlkfSBocmVmPXtgIyR7aXRlbS5pZH1gfSB0aXRsZT17aXRlbS50aXRsZX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQW5jaG9yLkxpbms+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBhbmNob3JJdGVtcyA9IFJlYWN0LnVzZU1lbW88QW5jaG9ySXRlbVtdPihcbiAgICAoKSA9PlxuICAgICAgKHRhYj8udG9jIHx8IG1ldGEudG9jKS5yZWR1Y2U8QW5jaG9ySXRlbVtdPigocmVzdWx0LCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmRlcHRoID09PSAyKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uZGVwdGggPT09IDMpIHtcbiAgICAgICAgICBjb25zdCBwYXJlbnQgPSByZXN1bHRbcmVzdWx0Lmxlbmd0aCAtIDFdO1xuICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHBhcmVudC5jaGlsZHJlbiA9IHBhcmVudC5jaGlsZHJlbiB8fCBbXTtcbiAgICAgICAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKHsgLi4uaXRlbSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0sIFtdKSxcbiAgICBbdGFiPy50b2MsIG1ldGEudG9jXVxuICApO1xuXG4gIGlmICghbWV0YS5mcm9udG1hdHRlci50b2MpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gY3NzPXtzdHlsZXMudG9jV3JhcHBlcn0+XG4gICAgICA8QW5jaG9yIGNzcz17c3R5bGVzLnRvY30gYWZmaXg9e2ZhbHNlfSB0YXJnZXRPZmZzZXQ9e3Rva2VuLmFuY2hvclRvcH0gc2hvd0lua0luRml4ZWQ+XG4gICAgICAgIHthbmNob3JJdGVtcy5tYXAocmVuZGVyQW5jaG9yTGluayl9XG4gICAgICA8L0FuY2hvcj5cbiAgICA8L3NlY3Rpb24+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEb2NBbmNob3I7XG4iXX0= */"),
15
+ tocWrapper: /*#__PURE__*/css("position:fixed;top:", token.headerHeight + token.contentMarginTop - 8, "px;inset-inline-end:0;width:160px;padding:", token.paddingXS, "px;border-radius:", token.borderRadius, "px;box-sizing:border-box;margin-inline-end:calc(16px - 100vw + 100%);z-index:10;.toc-debug{color:", token.purple6, ";&:hover{color:", token.purple5, ";}}>div{box-sizing:border-box;width:100%;max-height:calc(100vh - ", token.headerHeight + token.contentMarginTop + 24, "px)!important;margin:auto;overflow:auto;padding:", token.paddingXXS, "px;backdrop-filter:blur(8px);}@media only screen and (max-width: ", token.screenLG, "px){display:none;}" + (process.env.NODE_ENV === "production" ? "" : ";label:tocWrapper;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRvY0FuY2hvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0JtQiIsImZpbGUiOiJEb2NBbmNob3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB1c2VSb3V0ZU1ldGEsIHVzZVRhYk1ldGEgfSBmcm9tICdkdW1pJztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuXG4gIGNvbnN0IHsgYW50Q2xzIH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIHRvYzogY3NzYFxuICAgICAgJHthbnRDbHN9LWFuY2hvciB7XG4gICAgICAgICR7YW50Q2xzfS1hbmNob3ItbGluay10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAke3Rva2VuLmZvbnRTaXplU019cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICAgIHRvY1dyYXBwZXI6IGNzc2BcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogJHt0b2tlbi5oZWFkZXJIZWlnaHQgKyB0b2tlbi5jb250ZW50TWFyZ2luVG9wIC0gOH1weDtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICB3aWR0aDogMTYwcHg7XG4gICAgICBwYWRkaW5nOiAke3Rva2VuLnBhZGRpbmdYU31weDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICR7dG9rZW4uYm9yZGVyUmFkaXVzfXB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKDE2cHggLSAxMDB2dyArIDEwMCUpO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICAudG9jLWRlYnVnIHtcbiAgICAgICAgY29sb3I6ICR7dG9rZW4ucHVycGxlNn07XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAke3Rva2VuLnB1cnBsZTV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+IGRpdiB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gJHt0b2tlbi5oZWFkZXJIZWlnaHQgKyB0b2tlbi5jb250ZW50TWFyZ2luVG9wICsgMjR9cHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6ICR7dG9rZW4ucGFkZGluZ1hYU31weDtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHt0b2tlbi5zY3JlZW5MR31weCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIGAsXG4gICAgYXJ0aWNsZVdyYXBwZXI6IGNzc2BcbiAgICAgIHBhZGRpbmc6IDAgMTcwcHggMzJweCA2NHB4O1xuXG4gICAgICAmLnJ0bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgNjRweCAxNDRweCAxNzBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAke3Rva2VuLnNjcmVlbkxHfXB4KSB7XG4gICAgICAgICYsXG4gICAgICAgICYucnRsIHtcbiAgICAgICAgICBwYWRkaW5nOiAwICR7dG9rZW4ucGFkZGluZ0xHICogMn1weDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcbiAgfTtcbn07XG5cbmludGVyZmFjZSBEb2NBbmNob3JQcm9wcyB7XG4gIHNob3dEZWJ1Zz86IGJvb2xlYW47XG4gIGRlYnVnRGVtb3M/OiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIEFuY2hvckl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBjaGlsZHJlbj86IEFuY2hvckl0ZW1bXTtcbn1cblxuY29uc3QgRG9jQW5jaG9yOiBSZWFjdC5GQzxEb2NBbmNob3JQcm9wcz4gPSAoeyBzaG93RGVidWcsIGRlYnVnRGVtb3MgPSBbXSB9KSA9PiB7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlKCk7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuICBjb25zdCBtZXRhID0gdXNlUm91dGVNZXRhKCk7XG4gIGNvbnN0IHRhYiA9IHVzZVRhYk1ldGEoKTtcblxuICBjb25zdCByZW5kZXJBbmNob3JMaW5rID0gKGl0ZW06IEFuY2hvckl0ZW0pOiBSZWFjdC5SZWFjdE5vZGUgPT4ge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gaXRlbS5jaGlsZHJlblxuICAgICAgPy5maWx0ZXIoKGNoaWxkKSA9PiBzaG93RGVidWcgfHwgIWRlYnVnRGVtb3MuaW5jbHVkZXMoY2hpbGQuaWQpKVxuICAgICAgLm1hcCgoY2hpbGQpID0+IChcbiAgICAgICAgPEFuY2hvci5MaW5rXG4gICAgICAgICAga2V5PXtjaGlsZC5pZH1cbiAgICAgICAgICBocmVmPXtgIyR7Y2hpbGQuaWR9YH1cbiAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoeyAndG9jLWRlYnVnJzogZGVidWdEZW1vcy5pbmNsdWRlcyhjaGlsZC5pZCkgfSl9PlxuICAgICAgICAgICAgICB7Y2hpbGQ/LnRpdGxlfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgICkpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBbmNob3IuTGluayBrZXk9e2l0ZW0uaWR9IGhyZWY9e2AjJHtpdGVtLmlkfWB9IHRpdGxlPXtpdGVtLnRpdGxlfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9BbmNob3IuTGluaz5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGFuY2hvckl0ZW1zID0gUmVhY3QudXNlTWVtbzxBbmNob3JJdGVtW10+KFxuICAgICgpID0+XG4gICAgICAodGFiPy50b2MgfHwgbWV0YS50b2MpLnJlZHVjZTxBbmNob3JJdGVtW10+KChyZXN1bHQsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uZGVwdGggPT09IDIpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh7IC4uLml0ZW0gfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5kZXB0aCA9PT0gMykge1xuICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV07XG4gICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuID0gcGFyZW50LmNoaWxkcmVuIHx8IFtdO1xuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuLnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSwgW10pLFxuICAgIFt0YWI/LnRvYywgbWV0YS50b2NdXG4gICk7XG5cbiAgaWYgKCFtZXRhLmZyb250bWF0dGVyLnRvYykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBjc3M9e3N0eWxlcy50b2NXcmFwcGVyfT5cbiAgICAgIDxBbmNob3IgY3NzPXtzdHlsZXMudG9jfSBhZmZpeD17ZmFsc2V9IHRhcmdldE9mZnNldD17dG9rZW4uYW5jaG9yVG9wfSBzaG93SW5rSW5GaXhlZD5cbiAgICAgICAge2FuY2hvckl0ZW1zLm1hcChyZW5kZXJBbmNob3JMaW5rKX1cbiAgICAgIDwvQW5jaG9yPlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERvY0FuY2hvcjtcbiJdfQ== */"),
16
+ articleWrapper: /*#__PURE__*/css("padding:0 170px 32px 64px;&.rtl{padding:0 64px 144px 170px;}@media only screen and (max-width: ", token.screenLG, "px){&,&.rtl{padding:0 ", token.paddingLG * 2, "px;}}" + (process.env.NODE_ENV === "production" ? "" : ";label:articleWrapper;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRvY0FuY2hvci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0R1QiIsImZpbGUiOiJEb2NBbmNob3IudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEFuY2hvciB9IGZyb20gJ2FudGQnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB1c2VSb3V0ZU1ldGEsIHVzZVRhYk1ldGEgfSBmcm9tICdkdW1pJztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuXG4gIGNvbnN0IHsgYW50Q2xzIH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIHRvYzogY3NzYFxuICAgICAgJHthbnRDbHN9LWFuY2hvciB7XG4gICAgICAgICR7YW50Q2xzfS1hbmNob3ItbGluay10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAke3Rva2VuLmZvbnRTaXplU019cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBgLFxuICAgIHRvY1dyYXBwZXI6IGNzc2BcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogJHt0b2tlbi5oZWFkZXJIZWlnaHQgKyB0b2tlbi5jb250ZW50TWFyZ2luVG9wIC0gOH1weDtcbiAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICB3aWR0aDogMTYwcHg7XG4gICAgICBwYWRkaW5nOiAke3Rva2VuLnBhZGRpbmdYU31weDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICR7dG9rZW4uYm9yZGVyUmFkaXVzfXB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKDE2cHggLSAxMDB2dyArIDEwMCUpO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICAudG9jLWRlYnVnIHtcbiAgICAgICAgY29sb3I6ICR7dG9rZW4ucHVycGxlNn07XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAke3Rva2VuLnB1cnBsZTV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+IGRpdiB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gJHt0b2tlbi5oZWFkZXJIZWlnaHQgKyB0b2tlbi5jb250ZW50TWFyZ2luVG9wICsgMjR9cHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6ICR7dG9rZW4ucGFkZGluZ1hYU31weDtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHt0b2tlbi5zY3JlZW5MR31weCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIGAsXG4gICAgYXJ0aWNsZVdyYXBwZXI6IGNzc2BcbiAgICAgIHBhZGRpbmc6IDAgMTcwcHggMzJweCA2NHB4O1xuXG4gICAgICAmLnJ0bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgNjRweCAxNDRweCAxNzBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAke3Rva2VuLnNjcmVlbkxHfXB4KSB7XG4gICAgICAgICYsXG4gICAgICAgICYucnRsIHtcbiAgICAgICAgICBwYWRkaW5nOiAwICR7dG9rZW4ucGFkZGluZ0xHICogMn1weDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGBcbiAgfTtcbn07XG5cbmludGVyZmFjZSBEb2NBbmNob3JQcm9wcyB7XG4gIHNob3dEZWJ1Zz86IGJvb2xlYW47XG4gIGRlYnVnRGVtb3M/OiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIEFuY2hvckl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBjaGlsZHJlbj86IEFuY2hvckl0ZW1bXTtcbn1cblxuY29uc3QgRG9jQW5jaG9yOiBSZWFjdC5GQzxEb2NBbmNob3JQcm9wcz4gPSAoeyBzaG93RGVidWcsIGRlYnVnRGVtb3MgPSBbXSB9KSA9PiB7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlKCk7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuICBjb25zdCBtZXRhID0gdXNlUm91dGVNZXRhKCk7XG4gIGNvbnN0IHRhYiA9IHVzZVRhYk1ldGEoKTtcblxuICBjb25zdCByZW5kZXJBbmNob3JMaW5rID0gKGl0ZW06IEFuY2hvckl0ZW0pOiBSZWFjdC5SZWFjdE5vZGUgPT4ge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gaXRlbS5jaGlsZHJlblxuICAgICAgPy5maWx0ZXIoKGNoaWxkKSA9PiBzaG93RGVidWcgfHwgIWRlYnVnRGVtb3MuaW5jbHVkZXMoY2hpbGQuaWQpKVxuICAgICAgLm1hcCgoY2hpbGQpID0+IChcbiAgICAgICAgPEFuY2hvci5MaW5rXG4gICAgICAgICAga2V5PXtjaGlsZC5pZH1cbiAgICAgICAgICBocmVmPXtgIyR7Y2hpbGQuaWR9YH1cbiAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoeyAndG9jLWRlYnVnJzogZGVidWdEZW1vcy5pbmNsdWRlcyhjaGlsZC5pZCkgfSl9PlxuICAgICAgICAgICAgICB7Y2hpbGQ/LnRpdGxlfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgICkpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBbmNob3IuTGluayBrZXk9e2l0ZW0uaWR9IGhyZWY9e2AjJHtpdGVtLmlkfWB9IHRpdGxlPXtpdGVtLnRpdGxlfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9BbmNob3IuTGluaz5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGFuY2hvckl0ZW1zID0gUmVhY3QudXNlTWVtbzxBbmNob3JJdGVtW10+KFxuICAgICgpID0+XG4gICAgICAodGFiPy50b2MgfHwgbWV0YS50b2MpLnJlZHVjZTxBbmNob3JJdGVtW10+KChyZXN1bHQsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKGl0ZW0uZGVwdGggPT09IDIpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh7IC4uLml0ZW0gfSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5kZXB0aCA9PT0gMykge1xuICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV07XG4gICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuID0gcGFyZW50LmNoaWxkcmVuIHx8IFtdO1xuICAgICAgICAgICAgcGFyZW50LmNoaWxkcmVuLnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSwgW10pLFxuICAgIFt0YWI/LnRvYywgbWV0YS50b2NdXG4gICk7XG5cbiAgaWYgKCFtZXRhLmZyb250bWF0dGVyLnRvYykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBjc3M9e3N0eWxlcy50b2NXcmFwcGVyfT5cbiAgICAgIDxBbmNob3IgY3NzPXtzdHlsZXMudG9jfSBhZmZpeD17ZmFsc2V9IHRhcmdldE9mZnNldD17dG9rZW4uYW5jaG9yVG9wfSBzaG93SW5rSW5GaXhlZD5cbiAgICAgICAge2FuY2hvckl0ZW1zLm1hcChyZW5kZXJBbmNob3JMaW5rKX1cbiAgICAgIDwvQW5jaG9yPlxuICAgIDwvc2VjdGlvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERvY0FuY2hvcjtcbiJdfQ== */")
17
+ };
18
+ };
19
+ var DocAnchor = function DocAnchor(_ref) {
20
+ var showDebug = _ref.showDebug,
21
+ _ref$debugDemos = _ref.debugDemos,
22
+ debugDemos = _ref$debugDemos === void 0 ? [] : _ref$debugDemos;
23
+ var styles = useStyle();
24
+ var _useSiteToken2 = useSiteToken(),
25
+ token = _useSiteToken2.token;
26
+ var meta = useRouteMeta();
27
+ var tab = useTabMeta();
28
+ var renderAnchorLink = function renderAnchorLink(item) {
29
+ var _item$children;
30
+ var children = (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.filter(function (child) {
31
+ return showDebug || !debugDemos.includes(child.id);
32
+ }).map(function (child) {
33
+ return ___EmotionJSX(Anchor.Link, {
34
+ key: child.id,
35
+ href: "#".concat(child.id),
36
+ title: ___EmotionJSX("span", {
37
+ className: classNames({
38
+ 'toc-debug': debugDemos.includes(child.id)
39
+ })
40
+ }, child === null || child === void 0 ? void 0 : child.title)
41
+ });
42
+ });
43
+ return ___EmotionJSX(Anchor.Link, {
44
+ key: item.id,
45
+ href: "#".concat(item.id),
46
+ title: item.title
47
+ }, children);
48
+ };
49
+ var anchorItems = React.useMemo(function () {
50
+ return ((tab === null || tab === void 0 ? void 0 : tab.toc) || meta.toc).reduce(function (result, item) {
51
+ if (item.depth === 2) {
52
+ result.push(_objectSpread({}, item));
53
+ } else if (item.depth === 3) {
54
+ var parent = result[result.length - 1];
55
+ if (parent) {
56
+ parent.children = parent.children || [];
57
+ parent.children.push(_objectSpread({}, item));
58
+ }
59
+ }
60
+ return result;
61
+ }, []);
62
+ }, [tab === null || tab === void 0 ? void 0 : tab.toc, meta.toc]);
63
+ if (!meta.frontmatter.toc) {
64
+ return null;
65
+ }
66
+ return ___EmotionJSX("section", {
67
+ css: styles.tocWrapper
68
+ }, ___EmotionJSX(Anchor, {
69
+ css: styles.toc,
70
+ affix: false,
71
+ targetOffset: token.anchorTop,
72
+ showInkInFixed: true
73
+ }, anchorItems.map(renderAnchorLink)));
74
+ };
75
+ export default DocAnchor;