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.
- package/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/builtins/Alert/index.d.ts +6 -0
- package/dist/builtins/Alert/index.js +25 -0
- package/dist/builtins/BashOSPlatform/android.d.ts +7 -0
- package/dist/builtins/BashOSPlatform/android.js +37 -0
- package/dist/builtins/BashOSPlatform/index.d.ts +11 -0
- package/dist/builtins/BashOSPlatform/index.js +51 -0
- package/dist/builtins/BashOSPlatform/linux.d.ts +7 -0
- package/dist/builtins/BashOSPlatform/linux.js +60 -0
- package/dist/builtins/BashOSPlatform/macos.d.ts +7 -0
- package/dist/builtins/BashOSPlatform/macos.js +20 -0
- package/dist/builtins/BashOSPlatform/windows.d.ts +7 -0
- package/dist/builtins/BashOSPlatform/windows.js +20 -0
- package/dist/builtins/BashTabs/index.d.ts +21 -0
- package/dist/builtins/BashTabs/index.js +52 -0
- package/dist/builtins/HomeBaseLayout/components/Features/index.d.ts +3 -0
- package/dist/builtins/HomeBaseLayout/components/Features/index.js +78 -0
- package/dist/builtins/HomeBaseLayout/components/Group.d.ts +19 -0
- package/dist/builtins/HomeBaseLayout/components/Group.js +89 -0
- package/dist/builtins/HomeBaseLayout/index.d.ts +3 -0
- package/dist/builtins/HomeBaseLayout/index.js +201 -0
- package/dist/builtins/ImagePreview/index.d.ts +3 -0
- package/dist/builtins/ImagePreview/index.js +105 -0
- package/dist/builtins/InstallDependencies/index.d.ts +9 -0
- package/dist/builtins/InstallDependencies/index.js +38 -0
- package/dist/builtins/InstallDependencies/npm.d.ts +7 -0
- package/dist/builtins/InstallDependencies/npm.js +20 -0
- package/dist/builtins/InstallDependencies/pnpm.d.ts +7 -0
- package/dist/builtins/InstallDependencies/pnpm.js +22 -0
- package/dist/builtins/InstallDependencies/yarn.d.ts +7 -0
- package/dist/builtins/InstallDependencies/yarn.js +21 -0
- package/dist/common/CommonHelmet.d.ts +2 -0
- package/dist/common/CommonHelmet.js +27 -0
- package/dist/common/EditLink.d.ts +2 -0
- package/dist/common/EditLink.js +24 -0
- package/dist/common/GlobalStyles.d.ts +2 -0
- package/dist/common/GlobalStyles.js +7 -0
- package/dist/common/LastUpdated.d.ts +5 -0
- package/dist/common/LastUpdated.js +53 -0
- package/dist/common/Loading/index.d.ts +3 -0
- package/dist/common/Loading/index.js +67 -0
- package/dist/common/PrevAndNext.d.ts +5 -0
- package/dist/common/PrevAndNext.js +88 -0
- package/dist/common/styles/Common.d.ts +2 -0
- package/dist/common/styles/Common.js +16 -0
- package/dist/common/styles/DumiDefaultStyleOverride.d.ts +2 -0
- package/dist/common/styles/DumiDefaultStyleOverride.js +12 -0
- package/dist/common/styles/HeadingAnchor.d.ts +2 -0
- package/dist/common/styles/HeadingAnchor.js +17 -0
- package/dist/common/styles/Highlight.d.ts +2 -0
- package/dist/common/styles/Highlight.js +10 -0
- package/dist/common/styles/Markdown.d.ts +2 -0
- package/dist/common/styles/Markdown.js +13 -0
- package/dist/common/styles/PreviewImage.d.ts +2 -0
- package/dist/common/styles/PreviewImage.js +10 -0
- package/dist/common/styles/Reset.d.ts +2 -0
- package/dist/common/styles/Reset.js +17 -0
- package/dist/common/styles/Responsive.d.ts +2 -0
- package/dist/common/styles/Responsive.js +10 -0
- package/dist/common/styles/SearchBar.d.ts +2 -0
- package/dist/common/styles/SearchBar.js +11 -0
- package/dist/common/styles/index.d.ts +9 -0
- package/dist/common/styles/index.js +9 -0
- package/dist/defineThemeConfig/index.d.ts +7 -0
- package/dist/defineThemeConfig/index.js +31 -0
- package/dist/hooks/useAdditionalThemeConfig.d.ts +6 -0
- package/dist/hooks/useAdditionalThemeConfig.js +9 -0
- package/dist/hooks/useLocaleValue.d.ts +1 -0
- package/dist/hooks/useLocaleValue.js +10 -0
- package/dist/hooks/useMenu.d.ts +14 -0
- package/dist/hooks/useMenu.js +266 -0
- package/dist/hooks/useSiteToken.d.ts +66 -0
- package/dist/hooks/useSiteToken.js +105 -0
- package/dist/hooks/uselocale.d.ts +5 -0
- package/dist/hooks/uselocale.js +7 -0
- package/dist/icons/LTRIcon.d.ts +5 -0
- package/dist/icons/LTRIcon.js +20 -0
- package/dist/icons/RTLIcon.d.ts +5 -0
- package/dist/icons/RTLIcon.js +23 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/layouts/DocLayout/index.d.ts +4 -0
- package/dist/layouts/DocLayout/index.js +90 -0
- package/dist/layouts/GlobalLayout.d.ts +3 -0
- package/dist/layouts/GlobalLayout.js +88 -0
- package/dist/layouts/HomePageLayout/index.d.ts +3 -0
- package/dist/layouts/HomePageLayout/index.js +7 -0
- package/dist/layouts/SidebarLayout/index.d.ts +3 -0
- package/dist/layouts/SidebarLayout/index.js +28 -0
- package/dist/locales/en-US.json +9 -0
- package/dist/locales/zh-CN.json +9 -0
- package/dist/slots/Content/DocAnchor.d.ts +7 -0
- package/dist/slots/Content/DocAnchor.js +75 -0
- package/dist/slots/Content/InViewSuspense.d.ts +8 -0
- package/dist/slots/Content/InViewSuspense.js +27 -0
- package/dist/slots/Content/index.d.ts +5 -0
- package/dist/slots/Content/index.js +118 -0
- package/dist/slots/Footer/index.d.ts +3 -0
- package/dist/slots/Footer/index.js +75 -0
- package/dist/slots/Header/HeaderExtral.d.ts +3 -0
- package/dist/slots/Header/HeaderExtral.js +34 -0
- package/dist/slots/Header/Logo.d.ts +2 -0
- package/dist/slots/Header/Logo.js +48 -0
- package/dist/slots/Header/More.d.ts +5 -0
- package/dist/slots/Header/More.js +32 -0
- package/dist/slots/Header/Navigation.d.ts +6 -0
- package/dist/slots/Header/Navigation.js +154 -0
- package/dist/slots/Header/SwitchBtn.d.ts +11 -0
- package/dist/slots/Header/SwitchBtn.js +85 -0
- package/dist/slots/Header/index.d.ts +4 -0
- package/dist/slots/Header/index.js +193 -0
- package/dist/slots/LangSwitch/index.d.ts +3 -0
- package/dist/slots/LangSwitch/index.js +86 -0
- package/dist/slots/NotFound/index.d.ts +9 -0
- package/dist/slots/NotFound/index.js +25 -0
- package/dist/slots/RtlSwitch/index.d.ts +3 -0
- package/dist/slots/RtlSwitch/index.js +53 -0
- package/dist/slots/Sidebar/index.d.ts +4 -0
- package/dist/slots/Sidebar/index.js +108 -0
- package/dist/slots/SiteContext.d.ts +9 -0
- package/dist/slots/SiteContext.js +7 -0
- package/dist/static/style.d.ts +2 -0
- package/dist/static/style.js +2 -0
- package/dist/styles/variables.less +1 -0
- package/dist/types.d.ts +103 -0
- package/dist/types.js +1 -0
- package/dist/utils.d.ts +24 -0
- package/dist/utils.js +112 -0
- package/package.json +101 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { Image } from 'antd';
|
|
6
|
+
import toArray from 'rc-util/lib/Children/toArray';
|
|
7
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
8
|
+
function isGood(className) {
|
|
9
|
+
return /\bgood\b/i.test(className);
|
|
10
|
+
}
|
|
11
|
+
function isBad(className) {
|
|
12
|
+
return /\bbad\b/i.test(className);
|
|
13
|
+
}
|
|
14
|
+
function isInline(className) {
|
|
15
|
+
return /\binline\b/i.test(className);
|
|
16
|
+
}
|
|
17
|
+
function isGoodBadImg(imgMeta) {
|
|
18
|
+
return imgMeta.isGood || imgMeta.isBad;
|
|
19
|
+
}
|
|
20
|
+
function isCompareImg(imgMeta) {
|
|
21
|
+
return isGoodBadImg(imgMeta) || imgMeta.inline;
|
|
22
|
+
}
|
|
23
|
+
var ImagePreview = function ImagePreview(props) {
|
|
24
|
+
var children = props.children,
|
|
25
|
+
float = props.float,
|
|
26
|
+
pure = props.pure;
|
|
27
|
+
var imgs = toArray(children).filter(function (ele) {
|
|
28
|
+
return ele.type === 'img';
|
|
29
|
+
});
|
|
30
|
+
var imgsMeta = imgs.map(function (img) {
|
|
31
|
+
var _img$props = img.props,
|
|
32
|
+
alt = _img$props.alt,
|
|
33
|
+
description = _img$props.description,
|
|
34
|
+
src = _img$props.src,
|
|
35
|
+
className = _img$props.className;
|
|
36
|
+
return {
|
|
37
|
+
className: className,
|
|
38
|
+
alt: alt,
|
|
39
|
+
description: description,
|
|
40
|
+
src: src,
|
|
41
|
+
isGood: isGood(className) || undefined,
|
|
42
|
+
isBad: isBad(className) || undefined,
|
|
43
|
+
inline: isInline(className)
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
var imagesList = imgsMeta.map(function (meta, index) {
|
|
47
|
+
var metaCopy = _objectSpread({}, meta);
|
|
48
|
+
delete metaCopy.description;
|
|
49
|
+
delete metaCopy.isGood;
|
|
50
|
+
delete metaCopy.isBad;
|
|
51
|
+
return ___EmotionJSX("div", {
|
|
52
|
+
key: index
|
|
53
|
+
}, ___EmotionJSX("div", {
|
|
54
|
+
className: "image-modal-container"
|
|
55
|
+
}, ___EmotionJSX("img", _extends({}, metaCopy, {
|
|
56
|
+
src: meta.src,
|
|
57
|
+
alt: meta.alt
|
|
58
|
+
}))));
|
|
59
|
+
});
|
|
60
|
+
var comparable = imgs.length === 2 && imgsMeta.every(isCompareImg) || imgs.length >= 2 && imgsMeta.every(isGoodBadImg);
|
|
61
|
+
var style = comparable ? {
|
|
62
|
+
width: "".concat((100 / imgs.length).toFixed(3), "%")
|
|
63
|
+
} : {};
|
|
64
|
+
var hasCarousel = imgs.length > 1 && !comparable;
|
|
65
|
+
var previewClassName = classNames({
|
|
66
|
+
clearfix: true,
|
|
67
|
+
'preview-image-boxes': true,
|
|
68
|
+
'preview-image-boxes-float': float !== undefined,
|
|
69
|
+
'preview-image-boxes-pure': pure !== undefined,
|
|
70
|
+
'preview-image-boxes-compare': comparable,
|
|
71
|
+
'preview-image-boxes-with-carousel': hasCarousel
|
|
72
|
+
});
|
|
73
|
+
return ___EmotionJSX("div", {
|
|
74
|
+
className: previewClassName
|
|
75
|
+
}, imagesList.map(function (_, index) {
|
|
76
|
+
if (!comparable && index !== 0) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
var coverMeta = imgsMeta[index];
|
|
80
|
+
var imageWrapperClassName = classNames({
|
|
81
|
+
'preview-image-wrapper': pure === undefined,
|
|
82
|
+
good: coverMeta.isGood,
|
|
83
|
+
bad: coverMeta.isBad
|
|
84
|
+
});
|
|
85
|
+
return ___EmotionJSX("div", {
|
|
86
|
+
className: "preview-image-box",
|
|
87
|
+
style: style,
|
|
88
|
+
key: index
|
|
89
|
+
}, ___EmotionJSX("div", {
|
|
90
|
+
className: imageWrapperClassName
|
|
91
|
+
}, ___EmotionJSX(Image, {
|
|
92
|
+
className: coverMeta.className,
|
|
93
|
+
src: coverMeta.src,
|
|
94
|
+
alt: coverMeta.alt
|
|
95
|
+
})), ___EmotionJSX("div", {
|
|
96
|
+
className: "preview-image-title"
|
|
97
|
+
}, coverMeta.alt), ___EmotionJSX("div", {
|
|
98
|
+
className: "preview-image-description",
|
|
99
|
+
dangerouslySetInnerHTML: {
|
|
100
|
+
__html: coverMeta.description
|
|
101
|
+
}
|
|
102
|
+
}));
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
export default ImagePreview;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import NpmLogo from "./npm";
|
|
3
|
+
import PnpmLogo from "./pnpm";
|
|
4
|
+
import YarnLogo from "./yarn";
|
|
5
|
+
import BashTabs from "../BashTabs";
|
|
6
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
7
|
+
var InstallDependencies = function InstallDependencies(props) {
|
|
8
|
+
var npm = props.npm,
|
|
9
|
+
yarn = props.yarn,
|
|
10
|
+
pnpm = props.pnpm,
|
|
11
|
+
_props$defaultActiveK = props.defaultActiveKey,
|
|
12
|
+
defaultActiveKey = _props$defaultActiveK === void 0 ? 'npm' : _props$defaultActiveK;
|
|
13
|
+
var tabItems = React.useMemo(function () {
|
|
14
|
+
return [{
|
|
15
|
+
key: 'npm',
|
|
16
|
+
children: npm,
|
|
17
|
+
iconRender: NpmLogo,
|
|
18
|
+
label: 'npm'
|
|
19
|
+
}, {
|
|
20
|
+
key: 'yarn',
|
|
21
|
+
children: yarn,
|
|
22
|
+
iconRender: YarnLogo,
|
|
23
|
+
label: 'yarn'
|
|
24
|
+
}, {
|
|
25
|
+
key: 'pnpm',
|
|
26
|
+
children: pnpm,
|
|
27
|
+
iconRender: PnpmLogo,
|
|
28
|
+
label: 'pnpm'
|
|
29
|
+
}].filter(function (item) {
|
|
30
|
+
return item.children;
|
|
31
|
+
});
|
|
32
|
+
}, [npm, yarn, pnpm]);
|
|
33
|
+
return ___EmotionJSX(BashTabs, {
|
|
34
|
+
tabItems: tabItems,
|
|
35
|
+
defaultActiveKey: defaultActiveKey
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
export default InstallDependencies;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
3
|
+
var NpmIcon = function NpmIcon(props) {
|
|
4
|
+
var className = props.className,
|
|
5
|
+
style = props.style;
|
|
6
|
+
return ___EmotionJSX("svg", {
|
|
7
|
+
className: className,
|
|
8
|
+
style: style,
|
|
9
|
+
fill: "#E53E3E",
|
|
10
|
+
focusable: "false",
|
|
11
|
+
height: "1em",
|
|
12
|
+
stroke: "#E53E3E",
|
|
13
|
+
strokeWidth: "0",
|
|
14
|
+
viewBox: "0 0 16 16",
|
|
15
|
+
width: "1em"
|
|
16
|
+
}, ___EmotionJSX("path", {
|
|
17
|
+
d: "M0 0v16h16v-16h-16zM13 13h-2v-8h-3v8h-5v-10h10v10z"
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
20
|
+
export default NpmIcon;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
3
|
+
var PnpmIcon = function PnpmIcon(props) {
|
|
4
|
+
var className = props.className,
|
|
5
|
+
style = props.style;
|
|
6
|
+
return ___EmotionJSX("svg", {
|
|
7
|
+
className: className,
|
|
8
|
+
style: style,
|
|
9
|
+
"aria-hidden": "true",
|
|
10
|
+
fill: "#F69220",
|
|
11
|
+
focusable: "false",
|
|
12
|
+
height: "1em",
|
|
13
|
+
role: "img",
|
|
14
|
+
stroke: "#F69220",
|
|
15
|
+
strokeWidth: "0",
|
|
16
|
+
viewBox: "0 0 24 24",
|
|
17
|
+
width: "1em"
|
|
18
|
+
}, ___EmotionJSX("path", {
|
|
19
|
+
d: "M0 0v7.5h7.5V0zm8.25 0v7.5h7.498V0zm8.25 0v7.5H24V0zM8.25 8.25v7.5h7.498v-7.5zm8.25 0v7.5H24v-7.5zM0 16.5V24h7.5v-7.5zm8.25 0V24h7.498v-7.5zm8.25 0V24H24v-7.5z"
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
22
|
+
export default PnpmIcon;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
3
|
+
var YarnIcon = function YarnIcon(props) {
|
|
4
|
+
var className = props.className,
|
|
5
|
+
style = props.style;
|
|
6
|
+
return ___EmotionJSX("svg", {
|
|
7
|
+
className: className,
|
|
8
|
+
style: style,
|
|
9
|
+
"aria-hidden": "true",
|
|
10
|
+
fill: "#2C8EBB",
|
|
11
|
+
focusable: "false",
|
|
12
|
+
height: "1em",
|
|
13
|
+
stroke: "#2C8EBB",
|
|
14
|
+
strokeWidth: "0",
|
|
15
|
+
viewBox: "0 0 496 512",
|
|
16
|
+
width: "1em"
|
|
17
|
+
}, ___EmotionJSX("path", {
|
|
18
|
+
d: "M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z"
|
|
19
|
+
}));
|
|
20
|
+
};
|
|
21
|
+
export default YarnIcon;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { Helmet, useRouteMeta } from 'dumi';
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import useLocaleValue from "../hooks/useLocaleValue";
|
|
5
|
+
import { removeTitleCode } from "../utils";
|
|
6
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
7
|
+
var CommonHelmet = function CommonHelmet() {
|
|
8
|
+
var meta = useRouteMeta();
|
|
9
|
+
var configTitle = useLocaleValue('title');
|
|
10
|
+
var _useMemo = useMemo(function () {
|
|
11
|
+
var _meta$frontmatter;
|
|
12
|
+
var helmetTitle = "".concat(removeTitleCode(meta.frontmatter.subtitle) || '', " ").concat(removeTitleCode((_meta$frontmatter = meta.frontmatter) === null || _meta$frontmatter === void 0 ? void 0 : _meta$frontmatter.title), " - ").concat(configTitle);
|
|
13
|
+
var helmetDescription = meta.frontmatter.description;
|
|
14
|
+
return [helmetTitle, helmetDescription];
|
|
15
|
+
}, [meta, configTitle]),
|
|
16
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
17
|
+
title = _useMemo2[0],
|
|
18
|
+
description = _useMemo2[1];
|
|
19
|
+
return ___EmotionJSX(Helmet, null, ___EmotionJSX("title", null, title), ___EmotionJSX("meta", {
|
|
20
|
+
property: "og:title",
|
|
21
|
+
content: title
|
|
22
|
+
}), description && ___EmotionJSX("meta", {
|
|
23
|
+
name: "description",
|
|
24
|
+
content: description
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
export default CommonHelmet;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useRouteMeta, useIntl, FormattedMessage } from 'dumi';
|
|
2
|
+
import { EditOutlined } from '@ant-design/icons';
|
|
3
|
+
import useAdditionalThemeConfig from "../hooks/useAdditionalThemeConfig";
|
|
4
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
5
|
+
var EditLink = function EditLink() {
|
|
6
|
+
var _useRouteMeta = useRouteMeta(),
|
|
7
|
+
frontmatter = _useRouteMeta.frontmatter;
|
|
8
|
+
var _useAdditionalThemeCo = useAdditionalThemeConfig(),
|
|
9
|
+
editLink = _useAdditionalThemeCo.editLink;
|
|
10
|
+
var intl = useIntl();
|
|
11
|
+
var showEditLink = editLink && frontmatter.filename;
|
|
12
|
+
return showEditLink ? ___EmotionJSX("div", null, ___EmotionJSX("a", {
|
|
13
|
+
target: "_blank",
|
|
14
|
+
href: "".concat(intl.formatMessage({
|
|
15
|
+
id: '$internal.edit.link'
|
|
16
|
+
}, {
|
|
17
|
+
filename: frontmatter.filename
|
|
18
|
+
})),
|
|
19
|
+
rel: "noreferrer"
|
|
20
|
+
}, ___EmotionJSX(EditOutlined, null), ___EmotionJSX(FormattedMessage, {
|
|
21
|
+
id: "app.footer.actions.edit"
|
|
22
|
+
}))) : null;
|
|
23
|
+
};
|
|
24
|
+
export default EditLink;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Common, DumiDefaultStyleOverride, HeadingAnchor, Highlight, Markdown, Reset, Responsive, SearchBar, PreviewImage } from "./styles";
|
|
3
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
4
|
+
var GlobalStyles = function GlobalStyles() {
|
|
5
|
+
return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Reset, null), ___EmotionJSX(Common, null), ___EmotionJSX(Markdown, null), ___EmotionJSX(Highlight, null), ___EmotionJSX(Responsive, null), ___EmotionJSX(HeadingAnchor, null), ___EmotionJSX(SearchBar, null), ___EmotionJSX(PreviewImage, null), ___EmotionJSX(DumiDefaultStyleOverride, null));
|
|
6
|
+
};
|
|
7
|
+
export default GlobalStyles;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
// 最后更新时间
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { css } from '@emotion/react';
|
|
5
|
+
import { FormattedMessage } from 'dumi';
|
|
6
|
+
import { ClockCircleOutlined } from '@ant-design/icons';
|
|
7
|
+
import useSiteToken from "../hooks/useSiteToken";
|
|
8
|
+
import useAdditionalThemeConfig from "../hooks/useAdditionalThemeConfig";
|
|
9
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
10
|
+
var useStyle = function useStyle() {
|
|
11
|
+
var _useSiteToken = useSiteToken(),
|
|
12
|
+
token = _useSiteToken.token;
|
|
13
|
+
var colorTextTertiary = token.colorTextTertiary,
|
|
14
|
+
marginXXS = token.marginXXS;
|
|
15
|
+
return {
|
|
16
|
+
lastUpdatedWrap: /*#__PURE__*/css("color:", colorTextTertiary, ";display:flex;" + (process.env.NODE_ENV === "production" ? "" : ";label:lastUpdatedWrap;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxhc3RVcGRhdGVkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjd0IiLCJmaWxlIjoiTGFzdFVwZGF0ZWQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLy8g5pyA5ZCO5pu05paw5pe26Ze0XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdkdW1pJztcbmltcG9ydCB7IENsb2NrQ2lyY2xlT3V0bGluZWQgfSBmcm9tICdAYW50LWRlc2lnbi9pY29ucyc7XG5pbXBvcnQgdXNlU2l0ZVRva2VuIGZyb20gJy4uL2hvb2tzL3VzZVNpdGVUb2tlbic7XG5pbXBvcnQgdXNlQWRkaXRpb25hbFRoZW1lQ29uZmlnIGZyb20gJy4uL2hvb2tzL3VzZUFkZGl0aW9uYWxUaGVtZUNvbmZpZyc7XG5cbmNvbnN0IHVzZVN0eWxlID0gKCkgPT4ge1xuICBjb25zdCB7IHRva2VuIH0gPSB1c2VTaXRlVG9rZW4oKTtcblxuICBjb25zdCB7IGNvbG9yVGV4dFRlcnRpYXJ5LCBtYXJnaW5YWFMgfSA9IHRva2VuO1xuXG4gIHJldHVybiB7XG4gICAgbGFzdFVwZGF0ZWRXcmFwOiBjc3NgXG4gICAgICBjb2xvcjogJHtjb2xvclRleHRUZXJ0aWFyeX07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGAsXG4gICAgbGFzdFVwZGF0ZWRMYWJlbDogY3NzYFxuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogJHttYXJnaW5YWFN9cHg7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogJHttYXJnaW5YWFN9cHg7XG4gICAgYFxuICB9O1xufTtcblxuY29uc3QgTGFzdFVwZGF0ZWQ6IFJlYWN0LkZDPHsgdGltZT86IG51bWJlciB9PiA9ICh7IHRpbWUgfSkgPT4ge1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZSgpO1xuICBjb25zdCB7IGxhc3RVcGRhdGVkIH0gPSB1c2VBZGRpdGlvbmFsVGhlbWVDb25maWcoKTtcbiAgY29uc3QgW2lzb0xhc3RVcGRhdGVkLCBzZXRJc29MYXN0VXBkYXRlZF0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtsYXN0VXBkYXRlZFRpbWUsIHNldExhc3RVcGRhdGVkVGltZV0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IHNob3dMYXN0VXBkYXRlZCA9IGxhc3RVcGRhdGVkICYmIHRpbWU7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvd0xhc3RVcGRhdGVkKSB7XG4gICAgICBzZXRJc29MYXN0VXBkYXRlZChuZXcgRGF0ZSh0aW1lISkudG9JU09TdHJpbmcoKSk7XG4gICAgICBzZXRMYXN0VXBkYXRlZFRpbWUoXG4gICAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHVuZGVmaW5lZCwge1xuICAgICAgICAgIGRhdGVTdHlsZTogJ3Nob3J0JyxcbiAgICAgICAgICB0aW1lU3R5bGU6ICdzaG9ydCdcbiAgICAgICAgfSkuZm9ybWF0KHRpbWUpXG4gICAgICApO1xuICAgIH1cbiAgfSwgW3Nob3dMYXN0VXBkYXRlZCwgdGltZV0pO1xuXG4gIHJldHVybiBsYXN0VXBkYXRlZCAmJiB0aW1lID8gKFxuICAgIDxkaXYgY3NzPXtzdHlsZXMubGFzdFVwZGF0ZWRXcmFwfT5cbiAgICAgIDxDbG9ja0NpcmNsZU91dGxpbmVkIC8+XG4gICAgICA8c3BhbiBjc3M9e3N0eWxlcy5sYXN0VXBkYXRlZExhYmVsfT5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb250ZW50LmZvb3Rlci5sYXN0LnVwZGF0ZWRcIiAvPlxuICAgICAgPC9zcGFuPlxuICAgICAgPHRpbWUgZGF0ZVRpbWU9e2lzb0xhc3RVcGRhdGVkfT57bGFzdFVwZGF0ZWRUaW1lfTwvdGltZT5cbiAgICA8L2Rpdj5cbiAgKSA6IG51bGw7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMYXN0VXBkYXRlZDtcbiJdfQ== */"),
|
|
17
|
+
lastUpdatedLabel: /*#__PURE__*/css("margin-inline-start:", marginXXS, "px;margin-inline-end:", marginXXS, "px;" + (process.env.NODE_ENV === "production" ? "" : ";label:lastUpdatedLabel;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxhc3RVcGRhdGVkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQnlCIiwiZmlsZSI6Ikxhc3RVcGRhdGVkLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8vIOacgOWQjuabtOaWsOaXtumXtFxuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAnZHVtaSc7XG5pbXBvcnQgeyBDbG9ja0NpcmNsZU91dGxpbmVkIH0gZnJvbSAnQGFudC1kZXNpZ24vaWNvbnMnO1xuaW1wb3J0IHVzZVNpdGVUb2tlbiBmcm9tICcuLi9ob29rcy91c2VTaXRlVG9rZW4nO1xuaW1wb3J0IHVzZUFkZGl0aW9uYWxUaGVtZUNvbmZpZyBmcm9tICcuLi9ob29rcy91c2VBZGRpdGlvbmFsVGhlbWVDb25maWcnO1xuXG5jb25zdCB1c2VTdHlsZSA9ICgpID0+IHtcbiAgY29uc3QgeyB0b2tlbiB9ID0gdXNlU2l0ZVRva2VuKCk7XG5cbiAgY29uc3QgeyBjb2xvclRleHRUZXJ0aWFyeSwgbWFyZ2luWFhTIH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIGxhc3RVcGRhdGVkV3JhcDogY3NzYFxuICAgICAgY29sb3I6ICR7Y29sb3JUZXh0VGVydGlhcnl9O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICBgLFxuICAgIGxhc3RVcGRhdGVkTGFiZWw6IGNzc2BcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7bWFyZ2luWFhTfXB4O1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6ICR7bWFyZ2luWFhTfXB4O1xuICAgIGBcbiAgfTtcbn07XG5cbmNvbnN0IExhc3RVcGRhdGVkOiBSZWFjdC5GQzx7IHRpbWU/OiBudW1iZXIgfT4gPSAoeyB0aW1lIH0pID0+IHtcbiAgY29uc3Qgc3R5bGVzID0gdXNlU3R5bGUoKTtcbiAgY29uc3QgeyBsYXN0VXBkYXRlZCB9ID0gdXNlQWRkaXRpb25hbFRoZW1lQ29uZmlnKCk7XG4gIGNvbnN0IFtpc29MYXN0VXBkYXRlZCwgc2V0SXNvTGFzdFVwZGF0ZWRdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBbbGFzdFVwZGF0ZWRUaW1lLCBzZXRMYXN0VXBkYXRlZFRpbWVdID0gdXNlU3RhdGUoJycpO1xuICBjb25zdCBzaG93TGFzdFVwZGF0ZWQgPSBsYXN0VXBkYXRlZCAmJiB0aW1lO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNob3dMYXN0VXBkYXRlZCkge1xuICAgICAgc2V0SXNvTGFzdFVwZGF0ZWQobmV3IERhdGUodGltZSEpLnRvSVNPU3RyaW5nKCkpO1xuICAgICAgc2V0TGFzdFVwZGF0ZWRUaW1lKFxuICAgICAgICBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh1bmRlZmluZWQsIHtcbiAgICAgICAgICBkYXRlU3R5bGU6ICdzaG9ydCcsXG4gICAgICAgICAgdGltZVN0eWxlOiAnc2hvcnQnXG4gICAgICAgIH0pLmZvcm1hdCh0aW1lKVxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtzaG93TGFzdFVwZGF0ZWQsIHRpbWVdKTtcblxuICByZXR1cm4gbGFzdFVwZGF0ZWQgJiYgdGltZSA/IChcbiAgICA8ZGl2IGNzcz17c3R5bGVzLmxhc3RVcGRhdGVkV3JhcH0+XG4gICAgICA8Q2xvY2tDaXJjbGVPdXRsaW5lZCAvPlxuICAgICAgPHNwYW4gY3NzPXtzdHlsZXMubGFzdFVwZGF0ZWRMYWJlbH0+XG4gICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29udGVudC5mb290ZXIubGFzdC51cGRhdGVkXCIgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDx0aW1lIGRhdGVUaW1lPXtpc29MYXN0VXBkYXRlZH0+e2xhc3RVcGRhdGVkVGltZX08L3RpbWU+XG4gICAgPC9kaXY+XG4gICkgOiBudWxsO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTGFzdFVwZGF0ZWQ7XG4iXX0= */")
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
var LastUpdated = function LastUpdated(_ref) {
|
|
21
|
+
var time = _ref.time;
|
|
22
|
+
var styles = useStyle();
|
|
23
|
+
var _useAdditionalThemeCo = useAdditionalThemeConfig(),
|
|
24
|
+
lastUpdated = _useAdditionalThemeCo.lastUpdated;
|
|
25
|
+
var _useState = useState(''),
|
|
26
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
27
|
+
isoLastUpdated = _useState2[0],
|
|
28
|
+
setIsoLastUpdated = _useState2[1];
|
|
29
|
+
var _useState3 = useState(''),
|
|
30
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
31
|
+
lastUpdatedTime = _useState4[0],
|
|
32
|
+
setLastUpdatedTime = _useState4[1];
|
|
33
|
+
var showLastUpdated = lastUpdated && time;
|
|
34
|
+
useEffect(function () {
|
|
35
|
+
if (showLastUpdated) {
|
|
36
|
+
setIsoLastUpdated(new Date(time).toISOString());
|
|
37
|
+
setLastUpdatedTime(new Intl.DateTimeFormat(undefined, {
|
|
38
|
+
dateStyle: 'short',
|
|
39
|
+
timeStyle: 'short'
|
|
40
|
+
}).format(time));
|
|
41
|
+
}
|
|
42
|
+
}, [showLastUpdated, time]);
|
|
43
|
+
return lastUpdated && time ? ___EmotionJSX("div", {
|
|
44
|
+
css: styles.lastUpdatedWrap
|
|
45
|
+
}, ___EmotionJSX(ClockCircleOutlined, null), ___EmotionJSX("span", {
|
|
46
|
+
css: styles.lastUpdatedLabel
|
|
47
|
+
}, ___EmotionJSX(FormattedMessage, {
|
|
48
|
+
id: "content.footer.last.updated"
|
|
49
|
+
})), ___EmotionJSX("time", {
|
|
50
|
+
dateTime: isoLastUpdated
|
|
51
|
+
}, lastUpdatedTime)) : null;
|
|
52
|
+
};
|
|
53
|
+
export default LastUpdated;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { Skeleton, Space, Spin } from 'antd';
|
|
3
|
+
import { useLocation } from 'dumi';
|
|
4
|
+
import useAdditionalThemeConfig from "../../hooks/useAdditionalThemeConfig";
|
|
5
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
6
|
+
var defaultLoadingConfig = {
|
|
7
|
+
skeleton: []
|
|
8
|
+
};
|
|
9
|
+
var Loading = function Loading() {
|
|
10
|
+
var _useLocation = useLocation(),
|
|
11
|
+
pathname = _useLocation.pathname;
|
|
12
|
+
var _useAdditionalThemeCo = useAdditionalThemeConfig(),
|
|
13
|
+
_useAdditionalThemeCo2 = _useAdditionalThemeCo.loading,
|
|
14
|
+
loading = _useAdditionalThemeCo2 === void 0 ? defaultLoadingConfig : _useAdditionalThemeCo2;
|
|
15
|
+
var skeletonLoadingRenderRule = useCallback(function () {
|
|
16
|
+
var pathnameReg = loading.skeleton;
|
|
17
|
+
if (pathnameReg) {
|
|
18
|
+
return pathnameReg.filter(function (rule) {
|
|
19
|
+
return pathname.startsWith(rule);
|
|
20
|
+
}).length > 0;
|
|
21
|
+
}
|
|
22
|
+
return false;
|
|
23
|
+
}, [loading, pathname]);
|
|
24
|
+
if (skeletonLoadingRenderRule()) {
|
|
25
|
+
return ___EmotionJSX("div", {
|
|
26
|
+
style: {
|
|
27
|
+
maxWidth: '70vw',
|
|
28
|
+
width: '100%',
|
|
29
|
+
margin: '80px auto 0',
|
|
30
|
+
textAlign: 'center'
|
|
31
|
+
}
|
|
32
|
+
}, ___EmotionJSX("img", {
|
|
33
|
+
src: "https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg",
|
|
34
|
+
width: 40,
|
|
35
|
+
alt: "loading",
|
|
36
|
+
style: {
|
|
37
|
+
marginBottom: 24,
|
|
38
|
+
filter: 'grayscale(1)',
|
|
39
|
+
opacity: 0.33
|
|
40
|
+
}
|
|
41
|
+
}), ___EmotionJSX(Skeleton, {
|
|
42
|
+
active: true,
|
|
43
|
+
paragraph: {
|
|
44
|
+
rows: 3
|
|
45
|
+
}
|
|
46
|
+
}), ___EmotionJSX(Skeleton, {
|
|
47
|
+
active: true,
|
|
48
|
+
paragraph: {
|
|
49
|
+
rows: 4
|
|
50
|
+
},
|
|
51
|
+
style: {
|
|
52
|
+
marginTop: 32
|
|
53
|
+
}
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
return ___EmotionJSX(Space, {
|
|
57
|
+
style: {
|
|
58
|
+
width: '100%',
|
|
59
|
+
margin: '120px 0',
|
|
60
|
+
justifyContent: 'center'
|
|
61
|
+
},
|
|
62
|
+
align: "center"
|
|
63
|
+
}, ___EmotionJSX(Spin, {
|
|
64
|
+
size: "large"
|
|
65
|
+
}));
|
|
66
|
+
};
|
|
67
|
+
export default Loading;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { LeftOutlined, RightOutlined } from '@ant-design/icons';
|
|
3
|
+
import { ClassNames, css } from '@emotion/react';
|
|
4
|
+
import React, { useMemo, useContext } from 'react';
|
|
5
|
+
import useMenu from "../hooks/useMenu";
|
|
6
|
+
import useSiteToken from "../hooks/useSiteToken";
|
|
7
|
+
import SiteContext from "dumi/theme/slots/SiteContext";
|
|
8
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
9
|
+
var useStyle = function useStyle() {
|
|
10
|
+
var _useSiteToken = useSiteToken(),
|
|
11
|
+
token = _useSiteToken.token;
|
|
12
|
+
var colorSplit = token.colorSplit,
|
|
13
|
+
iconCls = token.iconCls,
|
|
14
|
+
fontSizeIcon = token.fontSizeIcon;
|
|
15
|
+
return {
|
|
16
|
+
prevNextNav: /*#__PURE__*/css("width:calc(100% - 234px);margin-inline-end:170px;margin-inline-start:64px;overflow:hidden;font-size:14px;border-top:1px solid ", colorSplit, ";display:flex;" + (process.env.NODE_ENV === "production" ? "" : ";label:prevNextNav;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlByZXZBbmROZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQm9CIiwiZmlsZSI6IlByZXZBbmROZXh0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExlZnRPdXRsaW5lZCwgUmlnaHRPdXRsaW5lZCB9IGZyb20gJ0BhbnQtZGVzaWduL2ljb25zJztcbmltcG9ydCB7IENsYXNzTmFtZXMsIGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB0eXBlIHsgUmVhY3RFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZU1lbW8sIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTWVudSBmcm9tICcuLi9ob29rcy91c2VNZW51JztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcbmltcG9ydCB0eXBlIHsgTWVudUl0ZW1UeXBlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IFNpdGVDb250ZXh0IGZyb20gJy4uL3Nsb3RzL1NpdGVDb250ZXh0JztcbmltcG9ydCB0eXBlIHsgU2l0ZUNvbnRleHRQcm9wcyB9IGZyb20gJy4uL3Nsb3RzL1NpdGVDb250ZXh0JztcblxuY29uc3QgdXNlU3R5bGUgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdG9rZW4gfSA9IHVzZVNpdGVUb2tlbigpO1xuXG4gIGNvbnN0IHsgY29sb3JTcGxpdCwgaWNvbkNscywgZm9udFNpemVJY29uIH0gPSB0b2tlbjtcblxuICByZXR1cm4ge1xuICAgIHByZXZOZXh0TmF2OiBjc3NgXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjM0cHgpO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDE3MHB4O1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNjRweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtjb2xvclNwbGl0fTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYCxcbiAgICBwYWdlTmF2OiBgXG4gICAgICBmbGV4OiAxO1xuICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDcycHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICR7aWNvbkNsc30ge1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgZm9udC1zaXplOiAke2ZvbnRTaXplSWNvbn1weDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICB9XG5cbiAgICAgIC5jaGluZXNlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogNHB4O1xuICAgICAgfVxuICAgIGAsXG4gICAgcHJldk5hdjogYFxuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbTogY2VudGVyO1xuXG4gICAgICAuZm9vdGVyLW5hdi1pY29uLWFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmZvb3Rlci1uYXYtaWNvbi1iZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB0cmFuc2l0aW9uOiBpbnNldC1pbmxpbmUtZW5kIDAuM3M7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxZW07XG4gICAgICAgIGluc2V0LWlubGluZS1lbmQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgLmZvb3Rlci1uYXYtaWNvbi1iZWZvcmUge1xuICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAwLjJlbTtcbiAgICAgIH1cbiAgICBgLFxuICAgIG5leHROYXY6IGBcbiAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgLmZvb3Rlci1uYXYtaWNvbi1iZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZm9vdGVyLW5hdi1pY29uLWFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcztcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciAuZm9vdGVyLW5hdi1pY29uLWFmdGVyIHtcbiAgICAgICAgaW5zZXQtaW5saW5lLXN0YXJ0OiAwLjJlbTtcbiAgICAgIH1cbiAgICBgXG4gIH07XG59O1xuXG5jb25zdCBmbGF0dGVuTWVudSA9IChtZW51SXRlbXM6IE1lbnVJdGVtVHlwZVtdIHwgdW5kZWZpbmVkKTogTWVudUl0ZW1UeXBlW10gfCBudWxsID0+IHtcbiAgaWYgKEFycmF5LmlzQXJyYXkobWVudUl0ZW1zKSkge1xuICAgIHJldHVybiBtZW51SXRlbXMucmVkdWNlPE1lbnVJdGVtVHlwZVtdPigoYWNjLCBpdGVtKSA9PiB7XG4gICAgICBpZiAoIWl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cbiAgICAgIGlmIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gYWNjLmNvbmNhdChmbGF0dGVuTWVudShpdGVtLmNoaWxkcmVuKSA/PyBbXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjLmNvbmNhdChpdGVtKTtcbiAgICB9LCBbXSk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBQcmV2QW5kTmV4dDogUmVhY3QuRkM8eyBydGw6IGJvb2xlYW4gfT4gPSAoeyBydGwgfSkgPT4ge1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZSgpO1xuXG4gIGNvbnN0IGJlZm9yZVByb3BzID0geyBjbGFzc05hbWU6ICdmb290ZXItbmF2LWljb24tYmVmb3JlJyB9O1xuICBjb25zdCBhZnRlclByb3BzID0geyBjbGFzc05hbWU6ICdmb290ZXItbmF2LWljb24tYWZ0ZXInIH07XG5cbiAgY29uc3QgYmVmb3JlID0gcnRsID8gPFJpZ2h0T3V0bGluZWQgey4uLmJlZm9yZVByb3BzfSAvPiA6IDxMZWZ0T3V0bGluZWQgey4uLmJlZm9yZVByb3BzfSAvPjtcbiAgY29uc3QgYWZ0ZXIgPSBydGwgPyA8TGVmdE91dGxpbmVkIHsuLi5hZnRlclByb3BzfSAvPiA6IDxSaWdodE91dGxpbmVkIHsuLi5hZnRlclByb3BzfSAvPjtcblxuICBjb25zdCBbbWVudUl0ZW1zLCBzZWxlY3RlZEtleV0gPSB1c2VNZW51KHsgYmVmb3JlLCBhZnRlciB9KTtcblxuICBjb25zdCB7IGlzTW9iaWxlIH0gPSB1c2VDb250ZXh0PFNpdGVDb250ZXh0UHJvcHM+KFNpdGVDb250ZXh0KTtcblxuICBjb25zdCBbcHJldiwgbmV4dF0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBmbGF0TWVudSA9IGZsYXR0ZW5NZW51KG1lbnVJdGVtcyk7XG4gICAgaWYgKCFmbGF0TWVudSkge1xuICAgICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgICB9XG4gICAgbGV0IGFjdGl2ZU1lbnVJdGVtSW5kZXggPSAtMTtcbiAgICBmbGF0TWVudS5mb3JFYWNoKChtZW51SXRlbSwgaSkgPT4ge1xuICAgICAgaWYgKG1lbnVJdGVtICYmIG1lbnVJdGVtLmtleSA9PT0gc2VsZWN0ZWRLZXkpIHtcbiAgICAgICAgYWN0aXZlTWVudUl0ZW1JbmRleCA9IGk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIFtcbiAgICAgIGZsYXRNZW51W2FjdGl2ZU1lbnVJdGVtSW5kZXggLSAxXSBhcyBNZW51SXRlbVR5cGUsXG4gICAgICBmbGF0TWVudVthY3RpdmVNZW51SXRlbUluZGV4ICsgMV0gYXMgTWVudUl0ZW1UeXBlXG4gICAgXTtcbiAgfSwgW21lbnVJdGVtcywgc2VsZWN0ZWRLZXldKTtcblxuICBpZiAoaXNNb2JpbGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gY3NzPXtzdHlsZXMucHJldk5leHROYXZ9PlxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3M6IGNsYXNzQ3NzLCBjeCB9KSA9PiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHtwcmV2ICYmXG4gICAgICAgICAgICAgIFJlYWN0LmNsb25lRWxlbWVudChwcmV2LmxhYmVsIGFzIFJlYWN0RWxlbWVudCwge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogY3goY2xhc3NDc3Moc3R5bGVzLnBhZ2VOYXYpLCBjbGFzc0NzcyhzdHlsZXMucHJldk5hdikpXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAge25leHQgJiZcbiAgICAgICAgICAgICAgUmVhY3QuY2xvbmVFbGVtZW50KG5leHQubGFiZWwgYXMgUmVhY3RFbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBjeChjbGFzc0NzcyhzdHlsZXMucGFnZU5hdiksIGNsYXNzQ3NzKHN0eWxlcy5uZXh0TmF2KSlcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L0NsYXNzTmFtZXM+XG4gICAgPC9zZWN0aW9uPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUHJldkFuZE5leHQ7XG4iXX0= */"),
|
|
17
|
+
pageNav: "\n flex: 1;\n height: 72px;\n line-height: 72px;\n text-decoration: none;\n\n ".concat(iconCls, " {\n color: #999;\n font-size: ").concat(fontSizeIcon, "px;\n transition: all 0.3s;\n }\n\n .chinese {\n margin-inline-start: 4px;\n }\n "),
|
|
18
|
+
prevNav: "\n text-align: start;\n display: flex;\n justify-content: flex-start;\n align-item: center;\n\n .footer-nav-icon-after {\n display: none;\n }\n\n .footer-nav-icon-before {\n position: relative;\n line-height: 0;\n vertical-align: middle;\n transition: inset-inline-end 0.3s;\n margin-inline-end: 1em;\n inset-inline-end: 0;\n }\n\n &:hover .footer-nav-icon-before {\n inset-inline-end: 0.2em;\n }\n ",
|
|
19
|
+
nextNav: "\n text-align: end;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n\n .footer-nav-icon-before {\n display: none;\n }\n\n .footer-nav-icon-after {\n position: relative;\n margin-inline-start: 1em;\n margin-bottom: 1px;\n vertical-align: middle;\n line-height: 0;\n left: 0;\n transition: left 0.3s;\n }\n\n &:hover .footer-nav-icon-after {\n inset-inline-start: 0.2em;\n }\n "
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
var flattenMenu = function flattenMenu(menuItems) {
|
|
23
|
+
if (Array.isArray(menuItems)) {
|
|
24
|
+
return menuItems.reduce(function (acc, item) {
|
|
25
|
+
if (!item) {
|
|
26
|
+
return acc;
|
|
27
|
+
}
|
|
28
|
+
if (item.children && item.children.length > 0) {
|
|
29
|
+
var _flattenMenu;
|
|
30
|
+
return acc.concat((_flattenMenu = flattenMenu(item.children)) !== null && _flattenMenu !== void 0 ? _flattenMenu : []);
|
|
31
|
+
}
|
|
32
|
+
return acc.concat(item);
|
|
33
|
+
}, []);
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
};
|
|
37
|
+
var PrevAndNext = function PrevAndNext(_ref) {
|
|
38
|
+
var rtl = _ref.rtl;
|
|
39
|
+
var styles = useStyle();
|
|
40
|
+
var beforeProps = {
|
|
41
|
+
className: 'footer-nav-icon-before'
|
|
42
|
+
};
|
|
43
|
+
var afterProps = {
|
|
44
|
+
className: 'footer-nav-icon-after'
|
|
45
|
+
};
|
|
46
|
+
var before = rtl ? ___EmotionJSX(RightOutlined, beforeProps) : ___EmotionJSX(LeftOutlined, beforeProps);
|
|
47
|
+
var after = rtl ? ___EmotionJSX(LeftOutlined, afterProps) : ___EmotionJSX(RightOutlined, afterProps);
|
|
48
|
+
var _useMenu = useMenu({
|
|
49
|
+
before: before,
|
|
50
|
+
after: after
|
|
51
|
+
}),
|
|
52
|
+
_useMenu2 = _slicedToArray(_useMenu, 2),
|
|
53
|
+
menuItems = _useMenu2[0],
|
|
54
|
+
selectedKey = _useMenu2[1];
|
|
55
|
+
var _useContext = useContext(SiteContext),
|
|
56
|
+
isMobile = _useContext.isMobile;
|
|
57
|
+
var _useMemo = useMemo(function () {
|
|
58
|
+
var flatMenu = flattenMenu(menuItems);
|
|
59
|
+
if (!flatMenu) {
|
|
60
|
+
return [null, null];
|
|
61
|
+
}
|
|
62
|
+
var activeMenuItemIndex = -1;
|
|
63
|
+
flatMenu.forEach(function (menuItem, i) {
|
|
64
|
+
if (menuItem && menuItem.key === selectedKey) {
|
|
65
|
+
activeMenuItemIndex = i;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
return [flatMenu[activeMenuItemIndex - 1], flatMenu[activeMenuItemIndex + 1]];
|
|
69
|
+
}, [menuItems, selectedKey]),
|
|
70
|
+
_useMemo2 = _slicedToArray(_useMemo, 2),
|
|
71
|
+
prev = _useMemo2[0],
|
|
72
|
+
next = _useMemo2[1];
|
|
73
|
+
if (isMobile) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return ___EmotionJSX("section", {
|
|
77
|
+
css: styles.prevNextNav
|
|
78
|
+
}, ___EmotionJSX(ClassNames, null, function (_ref2) {
|
|
79
|
+
var classCss = _ref2.css,
|
|
80
|
+
cx = _ref2.cx;
|
|
81
|
+
return ___EmotionJSX(React.Fragment, null, prev && /*#__PURE__*/React.cloneElement(prev.label, {
|
|
82
|
+
className: cx(classCss(styles.pageNav), classCss(styles.prevNav))
|
|
83
|
+
}), next && /*#__PURE__*/React.cloneElement(next.label, {
|
|
84
|
+
className: cx(classCss(styles.pageNav), classCss(styles.nextNav))
|
|
85
|
+
}));
|
|
86
|
+
}));
|
|
87
|
+
};
|
|
88
|
+
export default PrevAndNext;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { css, Global } from '@emotion/react';
|
|
2
|
+
import useSiteToken from "../../hooks/useSiteToken";
|
|
3
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
4
|
+
export default (function () {
|
|
5
|
+
var _useSiteToken = useSiteToken(),
|
|
6
|
+
_useSiteToken$token = _useSiteToken.token,
|
|
7
|
+
colorText = _useSiteToken$token.colorText,
|
|
8
|
+
fontSize = _useSiteToken$token.fontSize,
|
|
9
|
+
fontFamily = _useSiteToken$token.fontFamily,
|
|
10
|
+
lineHeight = _useSiteToken$token.lineHeight,
|
|
11
|
+
colorBgContainer = _useSiteToken$token.colorBgContainer,
|
|
12
|
+
anchorTop = _useSiteToken$token.anchorTop;
|
|
13
|
+
return ___EmotionJSX(Global, {
|
|
14
|
+
styles: /*#__PURE__*/css("html{direction:initial;height:100%;&.rtl{direction:rtl;}}body{height:100%;overflow-x:hidden;color:", colorText, ";font-size:", fontSize, "px;font-family:", fontFamily, ";line-height:", lineHeight, ";background:", colorBgContainer, ";transition:background 1s cubic-bezier(0.075, 0.82, 0.165, 1);}#root{min-height:100%;}[id]{scroll-margin-top:", anchorTop, "px;}[data-prefers-color='dark']{color-scheme:dark;}[data-prefers-color='light']{color-scheme:light;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbW1vbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVWlCIiwiZmlsZSI6IkNvbW1vbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge1xuICBjb25zdCB7XG4gICAgdG9rZW46IHsgY29sb3JUZXh0LCBmb250U2l6ZSwgZm9udEZhbWlseSwgbGluZUhlaWdodCwgY29sb3JCZ0NvbnRhaW5lciwgYW5jaG9yVG9wIH1cbiAgfSA9IHVzZVNpdGVUb2tlbigpO1xuXG4gIHJldHVybiAoXG4gICAgPEdsb2JhbFxuICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgIGh0bWwge1xuICAgICAgICAgIGRpcmVjdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAmLnJ0bCB7XG4gICAgICAgICAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBib2R5IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICAgIGNvbG9yOiAke2NvbG9yVGV4dH07XG4gICAgICAgICAgZm9udC1zaXplOiAke2ZvbnRTaXplfXB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAke2ZvbnRGYW1pbHl9O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAke2xpbmVIZWlnaHR9O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR7Y29sb3JCZ0NvbnRhaW5lcn07XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxcyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgICAjcm9vdCB7XG4gICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBbaWRdIHtcbiAgICAgICAgICBzY3JvbGwtbWFyZ2luLXRvcDogJHthbmNob3JUb3B9cHg7XG4gICAgICAgIH1cblxuICAgICAgICBbZGF0YS1wcmVmZXJzLWNvbG9yPSdkYXJrJ10ge1xuICAgICAgICAgIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgIFtkYXRhLXByZWZlcnMtY29sb3I9J2xpZ2h0J10ge1xuICAgICAgICAgIGNvbG9yLXNjaGVtZTogbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgLz5cbiAgKTtcbn07XG4iXX0= */"))
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { css, Global } from '@emotion/react';
|
|
2
|
+
import useSiteToken from "../../hooks/useSiteToken";
|
|
3
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
4
|
+
var PREFERS_COLOR_ATTR = 'data-prefers-color';
|
|
5
|
+
var prefix = 'dumi-default';
|
|
6
|
+
export default (function () {
|
|
7
|
+
var _useSiteToken = useSiteToken(),
|
|
8
|
+
token = _useSiteToken.token;
|
|
9
|
+
return ___EmotionJSX(Global, {
|
|
10
|
+
styles: /*#__PURE__*/css("[", PREFERS_COLOR_ATTR, "=dark]{.markdown{img{opacity:0.8;}}}.dumi-theme-antd-root{.", prefix, "-badge{&:not([type]),&[type='info']{color:", token.colorPrimary, ";background:", token.colorPrimaryBg, ";}&[type='warning']{color:", token.colorWarning, ";background:", token.colorWarningBg, ";}&[type='success']{color:", token.colorSuccess, ";background:", token.colorSuccessBg, ";}&[type='error']{color:", token.colorError, ";background:", token.colorErrorBg, ";}}.", prefix, "-container.markdown{&[data-type='info']{color:", token.colorPrimary, ";background:", token.colorPrimaryBg, ";}&[data-type='warning']{color:", token.colorWarning, ";background:", token.colorWarningBg, ";}&[data-type='success']{color:", token.colorSuccess, ";background:", token.colorSuccessBg, ";}&[data-type='error']{color:", token.colorError, ";background:", token.colorErrorBg, ";}}.", prefix, "-content-tabs{margin:0 0 24px 0;padding:0;}}.ant-btn{border-radius:", token.borderRadius, "px;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bWlEZWZhdWx0U3R5bGVPdmVycmlkZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVWlCIiwiZmlsZSI6IkR1bWlEZWZhdWx0U3R5bGVPdmVycmlkZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjc3MsIEdsb2JhbCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB1c2VTaXRlVG9rZW4gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2l0ZVRva2VuJztcblxuY29uc3QgUFJFRkVSU19DT0xPUl9BVFRSID0gJ2RhdGEtcHJlZmVycy1jb2xvcic7XG5jb25zdCBwcmVmaXggPSAnZHVtaS1kZWZhdWx0JztcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge1xuICBjb25zdCB7IHRva2VuIH0gPSB1c2VTaXRlVG9rZW4oKTtcbiAgcmV0dXJuIChcbiAgICA8R2xvYmFsXG4gICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgWyR7UFJFRkVSU19DT0xPUl9BVFRSfT1kYXJrXSB7XG4gICAgICAgICAgLm1hcmtkb3duIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmR1bWktdGhlbWUtYW50ZC1yb290IHtcbiAgICAgICAgICAuJHtwcmVmaXh9LWJhZGdlIHtcbiAgICAgICAgICAgICY6bm90KFt0eXBlXSksXG4gICAgICAgICAgICAmW3R5cGU9J2luZm8nXSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAke3Rva2VuLmNvbG9yUHJpbWFyeX07XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7dG9rZW4uY29sb3JQcmltYXJ5Qmd9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJlt0eXBlPSd3YXJuaW5nJ10ge1xuICAgICAgICAgICAgICBjb2xvcjogJHt0b2tlbi5jb2xvcldhcm5pbmd9O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAke3Rva2VuLmNvbG9yV2FybmluZ0JnfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZbdHlwZT0nc3VjY2VzcyddIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR7dG9rZW4uY29sb3JTdWNjZXNzfTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0b2tlbi5jb2xvclN1Y2Nlc3NCZ307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmW3R5cGU9J2Vycm9yJ10ge1xuICAgICAgICAgICAgICBjb2xvcjogJHt0b2tlbi5jb2xvckVycm9yfTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0b2tlbi5jb2xvckVycm9yQmd9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuJHtwcmVmaXh9LWNvbnRhaW5lci5tYXJrZG93biB7XG4gICAgICAgICAgICAmW2RhdGEtdHlwZT0naW5mbyddIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR7dG9rZW4uY29sb3JQcmltYXJ5fTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0b2tlbi5jb2xvclByaW1hcnlCZ307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmW2RhdGEtdHlwZT0nd2FybmluZyddIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR7dG9rZW4uY29sb3JXYXJuaW5nfTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0b2tlbi5jb2xvcldhcm5pbmdCZ307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmW2RhdGEtdHlwZT0nc3VjY2VzcyddIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR7dG9rZW4uY29sb3JTdWNjZXNzfTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0b2tlbi5jb2xvclN1Y2Nlc3NCZ307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmW2RhdGEtdHlwZT0nZXJyb3InXSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAke3Rva2VuLmNvbG9yRXJyb3J9O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAke3Rva2VuLmNvbG9yRXJyb3JCZ307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC4ke3ByZWZpeH0tY29udGVudC10YWJzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDI0cHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyog56Gu5L+dIGFudGQgNC54IOaMiemSruacieWchuinkiAqL1xuICAgICAgICAuYW50LWJ0biB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJHt0b2tlbi5ib3JkZXJSYWRpdXN9cHg7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gICAgLz5cbiAgKTtcbn07XG4iXX0= */"))
|
|
11
|
+
});
|
|
12
|
+
});
|