dumi 2.2.1 → 2.2.2
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/compiled/crates/swc_plugin_react_demo.wasm +0 -0
- package/dist/assetParsers/atom.js +15 -5
- package/dist/assetParsers/block.js +27 -9
- package/dist/cli.js +8 -1
- package/dist/client/pages/Demo/index.js +3 -8
- package/dist/client/theme-api/AtomRenderer.d.ts +2 -2
- package/dist/client/theme-api/AtomRenderer.js +19 -35
- package/dist/client/theme-api/DumiDemo.js +8 -13
- package/dist/client/theme-api/DumiDemoGrid.js +12 -26
- package/dist/client/theme-api/DumiPage.js +16 -34
- package/dist/client/theme-api/openCodeSandbox.js +18 -23
- package/dist/client/theme-api/openStackBlitz.js +6 -14
- package/dist/client/theme-api/types.d.ts +15 -12
- package/dist/client/theme-api/useAtomAssets.js +1 -2
- package/dist/client/theme-api/useLocale.js +10 -19
- package/dist/client/theme-api/useNavData.js +78 -103
- package/dist/client/theme-api/usePrefersColor.d.ts +2 -2
- package/dist/client/theme-api/usePrefersColor.js +39 -66
- package/dist/client/theme-api/useRouteMeta.js +9 -23
- package/dist/client/theme-api/useSidebarData.js +124 -158
- package/dist/client/theme-api/useSiteSearch/index.d.ts +1 -1
- package/dist/client/theme-api/useSiteSearch/index.js +24 -38
- package/dist/client/theme-api/useTabMeta.js +8 -19
- package/dist/client/theme-api/utils.d.ts +2 -2
- package/dist/client/theme-api/utils.js +33 -47
- package/dist/client/typings.d.ts +0 -5
- package/dist/features/assets.js +23 -4
- package/dist/features/autoAlias.js +8 -3
- package/dist/features/compile/babelLoaderCustomize.js +0 -2
- package/dist/features/compile/index.js +20 -9
- package/dist/features/configPlugins/index.js +3 -4
- package/dist/features/configPlugins/schema.d.ts +1 -1
- package/dist/features/configPlugins/schema.js +20 -3
- package/dist/features/derivative.js +54 -11
- package/dist/features/exportStatic.js +11 -7
- package/dist/features/exports.js +8 -3
- package/dist/features/html2sketch.js +7 -5
- package/dist/features/locales.js +53 -17
- package/dist/features/meta.js +23 -10
- package/dist/features/parser.js +17 -5
- package/dist/features/routes.js +63 -24
- package/dist/features/sideEffects/docSideEffectsWebpackPlugin.js +27 -16
- package/dist/features/sideEffects/index.js +13 -4
- package/dist/features/sitemap.js +17 -5
- package/dist/features/tabs.js +23 -11
- package/dist/features/theme/index.js +133 -38
- package/dist/features/theme/loader.js +23 -7
- package/dist/index.js +10 -2
- package/dist/loaders/demo/index.js +3 -3
- package/dist/loaders/markdown/index.d.ts +1 -1
- package/dist/loaders/markdown/index.js +36 -24
- package/dist/loaders/markdown/transformer/index.d.ts +2 -1
- package/dist/loaders/markdown/transformer/index.js +34 -17
- package/dist/loaders/markdown/transformer/rehypeDemo.d.ts +3 -1
- package/dist/loaders/markdown/transformer/rehypeDemo.js +125 -68
- package/dist/loaders/markdown/transformer/rehypeDesc.js +8 -3
- package/dist/loaders/markdown/transformer/rehypeEnhancedTag.js +8 -3
- package/dist/loaders/markdown/transformer/rehypeHighlightLine.js +8 -3
- package/dist/loaders/markdown/transformer/rehypeImg.js +8 -3
- package/dist/loaders/markdown/transformer/rehypeIsolation.js +36 -21
- package/dist/loaders/markdown/transformer/rehypeJsxify.js +8 -3
- package/dist/loaders/markdown/transformer/rehypeLink.d.ts +1 -1
- package/dist/loaders/markdown/transformer/rehypeLink.js +24 -9
- package/dist/loaders/markdown/transformer/rehypeRaw.d.ts +1 -1
- package/dist/loaders/markdown/transformer/rehypeRaw.js +20 -6
- package/dist/loaders/markdown/transformer/rehypeSlug.js +16 -3
- package/dist/loaders/markdown/transformer/rehypeStrip.js +8 -3
- package/dist/loaders/markdown/transformer/rehypeText.js +14 -5
- package/dist/loaders/markdown/transformer/remarkBreaks.js +16 -5
- package/dist/loaders/markdown/transformer/remarkContainer.js +28 -13
- package/dist/loaders/markdown/transformer/remarkEmbed.js +43 -21
- package/dist/loaders/markdown/transformer/remarkMeta.d.ts +3 -1
- package/dist/loaders/markdown/transformer/remarkMeta.js +39 -9
- package/dist/loaders/page/index.js +12 -4
- package/dist/loaders/pre-raw/index.js +0 -2
- package/dist/preset.js +8 -3
- package/dist/registerMethods.js +0 -2
- package/dist/service/dev.js +8 -1
- package/dist/service/printHelp.js +3 -1
- package/dist/techStacks/react.js +8 -3
- package/dist/types.d.ts +6 -6
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +15 -6
- package/package.json +11 -9
- package/theme-default/builtins/API/index.js +15 -36
- package/theme-default/builtins/Badge/index.js +0 -3
- package/theme-default/builtins/Container/index.js +6 -15
- package/theme-default/builtins/Previewer/index.js +1 -8
- package/theme-default/builtins/SourceCode/index.js +15 -27
- package/theme-default/builtins/Table/index.js +10 -25
- package/theme-default/builtins/Tree/index.js +13 -44
- package/theme-default/layouts/DocLayout/index.js +14 -27
- package/theme-default/locales/en-US.json +4 -0
- package/theme-default/locales/zh-CN.json +4 -0
- package/theme-default/slots/ColorSwitch/index.js +7 -22
- package/theme-default/slots/Content/index.js +5 -7
- package/theme-default/slots/Content/index.less +16 -1
- package/theme-default/slots/ContentFooter/index.d.ts +4 -0
- package/theme-default/slots/ContentFooter/index.js +93 -0
- package/theme-default/slots/ContentFooter/index.less +163 -0
- package/theme-default/slots/ContentTabs/index.d.ts +1 -1
- package/theme-default/slots/ContentTabs/index.js +5 -5
- package/theme-default/slots/Features/index.js +6 -11
- package/theme-default/slots/Footer/index.js +1 -4
- package/theme-default/slots/Header/index.js +7 -18
- package/theme-default/slots/HeaderExtra/index.js +0 -2
- package/theme-default/slots/Hero/index.js +2 -6
- package/theme-default/slots/HeroTitle/index.js +0 -2
- package/theme-default/slots/LangSwitch/index.js +23 -35
- package/theme-default/slots/Logo/index.js +1 -4
- package/theme-default/slots/Navbar/index.js +14 -29
- package/theme-default/slots/NavbarExtra/index.js +0 -2
- package/theme-default/slots/NotFound/index.js +0 -2
- package/theme-default/slots/PreviewerActions/index.js +13 -35
- package/theme-default/slots/PreviewerActionsExtra/index.js +0 -2
- package/theme-default/slots/RtlSwitch/index.js +6 -20
- package/theme-default/slots/RtlSwitch/index.less +5 -0
- package/theme-default/slots/SearchBar/Input.d.ts +1 -1
- package/theme-default/slots/SearchBar/Input.js +6 -5
- package/theme-default/slots/SearchBar/Mask.d.ts +1 -1
- package/theme-default/slots/SearchBar/Mask.js +0 -1
- package/theme-default/slots/SearchBar/index.js +20 -41
- package/theme-default/slots/SearchResult/index.d.ts +1 -1
- package/theme-default/slots/SearchResult/index.js +13 -36
- package/theme-default/slots/Sidebar/index.js +1 -4
- package/theme-default/slots/SocialIcon/index.d.ts +2 -2
- package/theme-default/slots/SocialIcon/index.js +1 -3
- package/theme-default/slots/Toc/index.js +12 -28
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
-
|
|
3
2
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
3
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10
|
-
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
11
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
-
|
|
7
|
+
import ContentFooter from "../../slots/ContentFooter";
|
|
13
8
|
import { ReactComponent as IconSidebar } from '@ant-design/icons-svg/inline-svg/outlined/align-left.svg';
|
|
14
9
|
import animateScrollTo from 'animated-scroll-to';
|
|
15
10
|
import { Helmet, useIntl, useLocation, useOutlet, useRouteMeta, useSidebarData, useSiteData } from 'dumi';
|
|
@@ -22,37 +17,30 @@ import Sidebar from 'dumi/theme/slots/Sidebar';
|
|
|
22
17
|
import Toc from 'dumi/theme/slots/Toc';
|
|
23
18
|
import React, { useEffect, useState } from 'react';
|
|
24
19
|
import "./index.less";
|
|
25
|
-
|
|
26
20
|
var DocLayout = function DocLayout() {
|
|
27
21
|
var intl = useIntl();
|
|
28
22
|
var outlet = useOutlet();
|
|
29
23
|
var sidebar = useSidebarData();
|
|
30
|
-
|
|
31
24
|
var _useLocation = useLocation(),
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
25
|
+
hash = _useLocation.hash,
|
|
26
|
+
pathname = _useLocation.pathname;
|
|
35
27
|
var _useSiteData = useSiteData(),
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
loading = _useSiteData.loading,
|
|
29
|
+
hostname = _useSiteData.hostname;
|
|
39
30
|
var _useState = useState(false),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
+
activateSidebar = _useState2[0],
|
|
33
|
+
updateActivateSidebar = _useState2[1];
|
|
44
34
|
var _useRouteMeta = useRouteMeta(),
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
var showSidebar = fm.sidebar !== false && (sidebar === null || sidebar === void 0 ? void 0 : sidebar.length) > 0; // handle hash change or visit page hash after async chunk loaded
|
|
35
|
+
fm = _useRouteMeta.frontmatter;
|
|
36
|
+
var showSidebar = fm.sidebar !== false && (sidebar === null || sidebar === void 0 ? void 0 : sidebar.length) > 0;
|
|
48
37
|
|
|
38
|
+
// handle hash change or visit page hash after async chunk loaded
|
|
49
39
|
useEffect(function () {
|
|
50
40
|
var id = hash.replace('#', '');
|
|
51
|
-
|
|
52
41
|
if (id) {
|
|
53
42
|
setTimeout(function () {
|
|
54
43
|
var elm = document.getElementById(decodeURIComponent(id));
|
|
55
|
-
|
|
56
44
|
if (elm) {
|
|
57
45
|
// animated-scroll-to instead of native scroll
|
|
58
46
|
animateScrollTo(elm.offsetTop - 80, {
|
|
@@ -104,9 +92,8 @@ var DocLayout = function DocLayout() {
|
|
|
104
92
|
}
|
|
105
93
|
}, /*#__PURE__*/React.createElement(IconSidebar, null), intl.formatMessage({
|
|
106
94
|
id: 'layout.sidebar.btn'
|
|
107
|
-
}))), /*#__PURE__*/React.createElement("main", null, showSidebar && /*#__PURE__*/React.createElement(Sidebar, null), /*#__PURE__*/React.createElement(Content, null, outlet, /*#__PURE__*/React.createElement(Footer, null)), fm.toc === 'content' && /*#__PURE__*/React.createElement("div", {
|
|
95
|
+
}))), /*#__PURE__*/React.createElement("main", null, showSidebar && /*#__PURE__*/React.createElement(Sidebar, null), /*#__PURE__*/React.createElement(Content, null, /*#__PURE__*/React.createElement("article", null, outlet), /*#__PURE__*/React.createElement(ContentFooter, null), /*#__PURE__*/React.createElement(Footer, null)), fm.toc === 'content' && /*#__PURE__*/React.createElement("div", {
|
|
108
96
|
className: "dumi-default-doc-layout-toc-wrapper"
|
|
109
97
|
}, /*#__PURE__*/React.createElement("h4", null, "TABLE OF CONTENTS"), /*#__PURE__*/React.createElement(Toc, null))));
|
|
110
98
|
};
|
|
111
|
-
|
|
112
99
|
export default DocLayout;
|
|
@@ -33,6 +33,10 @@
|
|
|
33
33
|
"api.component.loading": "Properties definition is resolving, wait a moment...",
|
|
34
34
|
"api.component.not.found": "Properties definition not found for {id} component",
|
|
35
35
|
"content.tabs.default": "Doc",
|
|
36
|
+
"content.footer.last.updated": "Last updated: ",
|
|
37
|
+
"content.footer.actions.edit": "Improve this documentation",
|
|
38
|
+
"content.footer.actions.previous": "PREV",
|
|
39
|
+
"content.footer.actions.next": "NEXT",
|
|
36
40
|
"search.not.found": "No content was found",
|
|
37
41
|
"layout.sidebar.btn": "Sidebar"
|
|
38
42
|
}
|
|
@@ -32,6 +32,10 @@
|
|
|
32
32
|
"api.component.loading": "属性定义正在解析中,稍等片刻...",
|
|
33
33
|
"api.component.not.found": "未找到 {id} 组件的属性定义",
|
|
34
34
|
"content.tabs.default": "文档",
|
|
35
|
+
"content.footer.last.updated": "最后更新时间:",
|
|
36
|
+
"content.footer.actions.edit": "帮助改进此文档",
|
|
37
|
+
"content.footer.actions.previous": "上一篇",
|
|
38
|
+
"content.footer.actions.next": "下一篇",
|
|
35
39
|
"search.not.found": "未找到相关内容",
|
|
36
40
|
"layout.sidebar.btn": "侧边菜单"
|
|
37
41
|
}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
-
|
|
3
2
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
3
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10
|
-
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
11
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
-
|
|
13
7
|
import { useIntl, usePrefersColor, useSiteData } from 'dumi';
|
|
14
8
|
import React from 'react';
|
|
15
9
|
import "./index.less";
|
|
16
|
-
|
|
17
10
|
var IconDark = function IconDark() {
|
|
18
11
|
return /*#__PURE__*/React.createElement("svg", {
|
|
19
12
|
viewBox: "0 0 16 16"
|
|
@@ -21,7 +14,6 @@ var IconDark = function IconDark() {
|
|
|
21
14
|
d: "M8.218 1.455c3.527.109 6.327 3.018 6.327 6.545 0 3.6-2.945 6.545-6.545 6.545a6.562 6.562 0 0 1-6.036-4h.218c3.6 0 6.545-2.945 6.545-6.545 0-.91-.182-1.745-.509-2.545m0-1.455c-.473 0-.909.218-1.2.618-.29.4-.327.946-.145 1.382.254.655.4 1.31.4 2 0 2.8-2.291 5.09-5.091 5.09h-.218c-.473 0-.91.22-1.2.62-.291.4-.328.945-.146 1.38C1.891 14.074 4.764 16 8 16c4.4 0 8-3.6 8-8a7.972 7.972 0 0 0-7.745-8h-.037Z"
|
|
22
15
|
}));
|
|
23
16
|
};
|
|
24
|
-
|
|
25
17
|
var IconLight = function IconLight() {
|
|
26
18
|
return /*#__PURE__*/React.createElement("svg", {
|
|
27
19
|
viewBox: "0 0 16 16"
|
|
@@ -29,7 +21,6 @@ var IconLight = function IconLight() {
|
|
|
29
21
|
d: "M8 13a1 1 0 0 1 1 1v1a1 1 0 1 1-2 0v-1a1 1 0 0 1 1-1ZM8 3a1 1 0 0 1-1-1V1a1 1 0 1 1 2 0v1a1 1 0 0 1-1 1Zm7 4a1 1 0 1 1 0 2h-1a1 1 0 1 1 0-2h1ZM3 8a1 1 0 0 1-1 1H1a1 1 0 1 1 0-2h1a1 1 0 0 1 1 1Zm9.95 3.536.707.707a1 1 0 0 1-1.414 1.414l-.707-.707a1 1 0 0 1 1.414-1.414Zm-9.9-7.072-.707-.707a1 1 0 0 1 1.414-1.414l.707.707A1 1 0 0 1 3.05 4.464Zm9.9 0a1 1 0 0 1-1.414-1.414l.707-.707a1 1 0 0 1 1.414 1.414l-.707.707Zm-9.9 7.072a1 1 0 0 1 1.414 1.414l-.707.707a1 1 0 0 1-1.414-1.414l.707-.707ZM8 4a4 4 0 1 0 0 8 4 4 0 0 0 0-8Zm0 6.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5Z"
|
|
30
22
|
}));
|
|
31
23
|
};
|
|
32
|
-
|
|
33
24
|
var IconAuto = function IconAuto() {
|
|
34
25
|
return /*#__PURE__*/React.createElement("svg", {
|
|
35
26
|
viewBox: "0 0 16 16"
|
|
@@ -37,25 +28,20 @@ var IconAuto = function IconAuto() {
|
|
|
37
28
|
d: "M14.595 8a6.595 6.595 0 1 1-13.19 0 6.595 6.595 0 0 1 13.19 0ZM8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0Zm0 2.014v11.972A5.986 5.986 0 0 0 8 2.014Z"
|
|
38
29
|
}));
|
|
39
30
|
};
|
|
40
|
-
|
|
41
31
|
var ICON_MAPPING = {
|
|
42
32
|
light: IconLight,
|
|
43
33
|
dark: IconDark,
|
|
44
34
|
auto: IconAuto
|
|
45
35
|
};
|
|
46
|
-
|
|
47
36
|
var ColorSwitch = function ColorSwitch() {
|
|
48
37
|
var _useSiteData = useSiteData(),
|
|
49
|
-
|
|
50
|
-
|
|
38
|
+
defaultColor = _useSiteData.themeConfig.prefersColor.default;
|
|
51
39
|
var intl = useIntl();
|
|
52
|
-
|
|
53
40
|
var _usePrefersColor = usePrefersColor(),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
41
|
+
_usePrefersColor2 = _slicedToArray(_usePrefersColor, 3),
|
|
42
|
+
_usePrefersColor2$ = _usePrefersColor2[1],
|
|
43
|
+
prefersColor = _usePrefersColor2$ === void 0 ? defaultColor : _usePrefersColor2$,
|
|
44
|
+
setPrefersColor = _usePrefersColor2[2];
|
|
59
45
|
var Icon = ICON_MAPPING[prefersColor];
|
|
60
46
|
return /*#__PURE__*/React.createElement("span", {
|
|
61
47
|
className: "dumi-default-color-switch",
|
|
@@ -77,5 +63,4 @@ var ColorSwitch = function ColorSwitch() {
|
|
|
77
63
|
}));
|
|
78
64
|
})));
|
|
79
65
|
};
|
|
80
|
-
|
|
81
66
|
export default ColorSwitch;
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
import { useSidebarData, useSiteData } from 'dumi';
|
|
1
|
+
import { useRouteMeta, useSidebarData, useSiteData } from 'dumi';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import "./heti.scss";
|
|
4
4
|
import "./index.less";
|
|
5
|
-
|
|
6
5
|
var Content = function Content(props) {
|
|
7
6
|
var sidebar = useSidebarData();
|
|
8
|
-
|
|
9
7
|
var _useSiteData = useSiteData(),
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
themeConfig = _useSiteData.themeConfig;
|
|
9
|
+
var _useRouteMeta = useRouteMeta(),
|
|
10
|
+
frontmatter = _useRouteMeta.frontmatter;
|
|
12
11
|
return /*#__PURE__*/React.createElement("div", {
|
|
13
12
|
className: "dumi-default-content",
|
|
14
|
-
"data-no-sidebar": !sidebar || undefined,
|
|
13
|
+
"data-no-sidebar": !sidebar || frontmatter.sidebar === false || undefined,
|
|
15
14
|
"data-no-footer": themeConfig.footer === false || undefined
|
|
16
15
|
}, props.children);
|
|
17
16
|
};
|
|
18
|
-
|
|
19
17
|
export default Content;
|
|
@@ -139,10 +139,21 @@
|
|
|
139
139
|
visibility: hidden;
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
+
|
|
143
|
+
// horizontal line
|
|
144
|
+
hr {
|
|
145
|
+
background-color: @c-border-light;
|
|
146
|
+
|
|
147
|
+
@{dark-selector} & {
|
|
148
|
+
background-color: @c-border-less-dark;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
142
151
|
}
|
|
143
152
|
|
|
144
153
|
.@{prefix}-content {
|
|
154
|
+
display: flex;
|
|
145
155
|
flex: 1;
|
|
156
|
+
flex-direction: column;
|
|
146
157
|
min-width: 0;
|
|
147
158
|
max-width: 100%;
|
|
148
159
|
box-sizing: border-box;
|
|
@@ -175,12 +186,16 @@
|
|
|
175
186
|
}
|
|
176
187
|
}
|
|
177
188
|
|
|
189
|
+
article {
|
|
190
|
+
flex: 1;
|
|
191
|
+
}
|
|
192
|
+
|
|
178
193
|
.@{prefix}-header + main > &,
|
|
179
194
|
.@{prefix}-doc-layout-mobile-bar + main > & {
|
|
180
195
|
min-height: calc(100vh - @s-header-height);
|
|
181
196
|
|
|
182
197
|
@media @mobile {
|
|
183
|
-
min-height: calc(100vh - @s-header-height-m);
|
|
198
|
+
min-height: calc(100vh - @s-header-height-m - 40px);
|
|
184
199
|
}
|
|
185
200
|
}
|
|
186
201
|
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
import { ReactComponent as IconLeft } from '@ant-design/icons-svg/inline-svg/outlined/arrow-left.svg';
|
|
8
|
+
import { ReactComponent as IconClock } from '@ant-design/icons-svg/inline-svg/outlined/clock-circle.svg';
|
|
9
|
+
import { ReactComponent as IconEdit } from '@ant-design/icons-svg/inline-svg/outlined/edit.svg';
|
|
10
|
+
import { FormattedMessage, Link, useIntl, useLocation, useRouteMeta, useSidebarData, useSiteData } from 'dumi';
|
|
11
|
+
import React, { useLayoutEffect, useState } from 'react';
|
|
12
|
+
import "./index.less";
|
|
13
|
+
var ContentFooter = function ContentFooter() {
|
|
14
|
+
var _useLocation = useLocation(),
|
|
15
|
+
pathname = _useLocation.pathname;
|
|
16
|
+
var sidebar = useSidebarData();
|
|
17
|
+
var _useSiteData = useSiteData(),
|
|
18
|
+
themeConfig = _useSiteData.themeConfig;
|
|
19
|
+
var _useRouteMeta = useRouteMeta(),
|
|
20
|
+
frontmatter = _useRouteMeta.frontmatter;
|
|
21
|
+
var intl = useIntl();
|
|
22
|
+
var _useState = useState(undefined),
|
|
23
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
24
|
+
prev = _useState2[0],
|
|
25
|
+
setPrev = _useState2[1];
|
|
26
|
+
var _useState3 = useState(undefined),
|
|
27
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
28
|
+
next = _useState4[0],
|
|
29
|
+
setNext = _useState4[1];
|
|
30
|
+
var _useState5 = useState(''),
|
|
31
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
32
|
+
isoLastUpdated = _useState6[0],
|
|
33
|
+
setIsoLastUpdated = _useState6[1];
|
|
34
|
+
var _useState7 = useState(''),
|
|
35
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
36
|
+
lastUpdated = _useState8[0],
|
|
37
|
+
setLastUpdated = _useState8[1];
|
|
38
|
+
var showEditLink = themeConfig.editLink && frontmatter.filename;
|
|
39
|
+
var showLastUpdated = themeConfig.lastUpdated && frontmatter.lastUpdated;
|
|
40
|
+
|
|
41
|
+
// calculate the previous and next page
|
|
42
|
+
useLayoutEffect(function () {
|
|
43
|
+
if (sidebar) {
|
|
44
|
+
var items = sidebar.reduce(function (ret, group) {
|
|
45
|
+
return ret.concat(group.children);
|
|
46
|
+
}, []);
|
|
47
|
+
var current = items.findIndex(function (item) {
|
|
48
|
+
return item.link === pathname;
|
|
49
|
+
});
|
|
50
|
+
setPrev(items[current - 1]);
|
|
51
|
+
setNext(items[current + 1]);
|
|
52
|
+
}
|
|
53
|
+
}, [pathname, sidebar]);
|
|
54
|
+
|
|
55
|
+
// to avoid timestamp mismatched between server and client
|
|
56
|
+
useLayoutEffect(function () {
|
|
57
|
+
if (showLastUpdated) {
|
|
58
|
+
setIsoLastUpdated(new Date(frontmatter.lastUpdated).toISOString());
|
|
59
|
+
setLastUpdated(new Intl.DateTimeFormat(undefined, {
|
|
60
|
+
dateStyle: 'short',
|
|
61
|
+
timeStyle: 'short'
|
|
62
|
+
}).format(frontmatter.lastUpdated));
|
|
63
|
+
}
|
|
64
|
+
}, [showLastUpdated]);
|
|
65
|
+
return /*#__PURE__*/React.createElement("footer", {
|
|
66
|
+
className: "dumi-default-content-footer"
|
|
67
|
+
}, /*#__PURE__*/React.createElement("dl", null, showLastUpdated && /*#__PURE__*/React.createElement("dd", null, /*#__PURE__*/React.createElement(IconClock, null), /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
68
|
+
id: "content.footer.last.updated"
|
|
69
|
+
}), /*#__PURE__*/React.createElement("time", {
|
|
70
|
+
dateTime: isoLastUpdated
|
|
71
|
+
}, lastUpdated)), showEditLink && /*#__PURE__*/React.createElement("dd", null, /*#__PURE__*/React.createElement("a", {
|
|
72
|
+
target: "_blank",
|
|
73
|
+
href: "".concat(intl.formatMessage({
|
|
74
|
+
id: '$internal.edit.link'
|
|
75
|
+
}, {
|
|
76
|
+
filename: frontmatter.filename
|
|
77
|
+
})),
|
|
78
|
+
rel: "noreferrer"
|
|
79
|
+
}, /*#__PURE__*/React.createElement(IconEdit, null), /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
80
|
+
id: "content.footer.actions.edit"
|
|
81
|
+
})))), /*#__PURE__*/React.createElement("nav", null, prev && /*#__PURE__*/React.createElement(Link, {
|
|
82
|
+
to: prev.link,
|
|
83
|
+
"data-prev": true
|
|
84
|
+
}, /*#__PURE__*/React.createElement("small", null, /*#__PURE__*/React.createElement(IconLeft, null), /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
85
|
+
id: "content.footer.actions.previous"
|
|
86
|
+
})), prev.title), next && /*#__PURE__*/React.createElement(Link, {
|
|
87
|
+
to: next.link,
|
|
88
|
+
"data-next": true
|
|
89
|
+
}, /*#__PURE__*/React.createElement("small", null, /*#__PURE__*/React.createElement(FormattedMessage, {
|
|
90
|
+
id: "content.footer.actions.next"
|
|
91
|
+
}), /*#__PURE__*/React.createElement(IconLeft, null)), next.title)));
|
|
92
|
+
};
|
|
93
|
+
export default ContentFooter;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
@import (reference) '../../styles/variables.less';
|
|
2
|
+
|
|
3
|
+
.@{prefix}-content-footer {
|
|
4
|
+
margin-top: 48px;
|
|
5
|
+
color: @c-text-note;
|
|
6
|
+
font-size: 14px;
|
|
7
|
+
line-height: 1;
|
|
8
|
+
|
|
9
|
+
@{dark-selector} & {
|
|
10
|
+
color: @c-text-note-dark;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
svg {
|
|
14
|
+
fill: @c-text-note;
|
|
15
|
+
width: 14px;
|
|
16
|
+
vertical-align: -0.13em;
|
|
17
|
+
transition: fill 0.2s;
|
|
18
|
+
|
|
19
|
+
@{dark-selector} & {
|
|
20
|
+
fill: @c-text-note-dark;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
> dl {
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: space-between;
|
|
27
|
+
margin: 0;
|
|
28
|
+
padding-bottom: 12px;
|
|
29
|
+
|
|
30
|
+
&:empty {
|
|
31
|
+
display: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
dd {
|
|
35
|
+
margin: 0;
|
|
36
|
+
|
|
37
|
+
svg {
|
|
38
|
+
margin-inline-end: 4px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
> a {
|
|
42
|
+
color: @c-primary;
|
|
43
|
+
|
|
44
|
+
@{dark-selector} & {
|
|
45
|
+
color: @c-primary-dark;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&:not(:hover) {
|
|
49
|
+
text-decoration: none;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
> svg {
|
|
53
|
+
fill: @c-primary;
|
|
54
|
+
|
|
55
|
+
@{dark-selector} & {
|
|
56
|
+
fill: @c-primary-dark;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
> nav {
|
|
64
|
+
padding: 12px 0;
|
|
65
|
+
border-block-start: 1px solid @c-border-light;
|
|
66
|
+
overflow: hidden;
|
|
67
|
+
|
|
68
|
+
&:empty {
|
|
69
|
+
display: none;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@{dark-selector} & {
|
|
73
|
+
border-block-start-color: @c-border-less-dark;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
> a {
|
|
77
|
+
max-width: 180px;
|
|
78
|
+
min-width: 120px;
|
|
79
|
+
color: @c-primary;
|
|
80
|
+
font-size: 16px;
|
|
81
|
+
text-decoration: none;
|
|
82
|
+
border-radius: 2px;
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
white-space: nowrap;
|
|
85
|
+
text-overflow: ellipsis;
|
|
86
|
+
|
|
87
|
+
@media @tablet {
|
|
88
|
+
min-width: initial;
|
|
89
|
+
max-width: 80px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@{dark-selector} & {
|
|
93
|
+
color: @c-primary-dark;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
&[data-prev] {
|
|
97
|
+
float: inline-start;
|
|
98
|
+
padding-inline-end: 24px;
|
|
99
|
+
|
|
100
|
+
svg {
|
|
101
|
+
margin-inline-end: 4px;
|
|
102
|
+
|
|
103
|
+
[data-direction='rtl'] & {
|
|
104
|
+
transform: rotate(180deg);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
&[data-next] {
|
|
110
|
+
float: inline-end;
|
|
111
|
+
text-align: end;
|
|
112
|
+
padding-inline-start: 24px;
|
|
113
|
+
|
|
114
|
+
svg {
|
|
115
|
+
margin-inline-start: 4px;
|
|
116
|
+
transform: rotate(180deg);
|
|
117
|
+
|
|
118
|
+
[data-direction='rtl'] & {
|
|
119
|
+
transform: rotate(0);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
small {
|
|
125
|
+
display: block;
|
|
126
|
+
margin-bottom: 5px;
|
|
127
|
+
color: @c-text-note;
|
|
128
|
+
font-size: 14px;
|
|
129
|
+
transition: color 0.2s;
|
|
130
|
+
|
|
131
|
+
@{dark-selector} & {
|
|
132
|
+
color: @c-text-note-dark;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
&:hover {
|
|
137
|
+
small {
|
|
138
|
+
color: @c-text-secondary;
|
|
139
|
+
|
|
140
|
+
@{dark-selector} & {
|
|
141
|
+
color: @c-text-secondary-dark;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
svg {
|
|
146
|
+
fill: @c-text-secondary;
|
|
147
|
+
|
|
148
|
+
@{dark-selector} & {
|
|
149
|
+
fill: @c-text-secondary-dark;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
[data-no-sidebar] > & {
|
|
157
|
+
display: none;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
:not([data-no-sidebar]) > & + .@{prefix}-footer {
|
|
161
|
+
margin-top: 0;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useRouteMeta } from 'dumi';
|
|
2
2
|
import { type FC } from 'react';
|
|
3
3
|
import './index.less';
|
|
4
|
-
|
|
4
|
+
type IContentTabs = ReturnType<typeof useRouteMeta>['tabs'];
|
|
5
5
|
export interface IContentTabsProps {
|
|
6
6
|
tabs: IContentTabs;
|
|
7
7
|
tabKey: string | null;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { useIntl } from 'dumi';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import "./index.less";
|
|
4
|
-
|
|
5
4
|
var ContentTabs = function ContentTabs(_ref) {
|
|
6
5
|
var tabs = _ref.tabs,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var intl = useIntl();
|
|
6
|
+
key = _ref.tabKey,
|
|
7
|
+
onChange = _ref.onChange;
|
|
8
|
+
var intl = useIntl();
|
|
9
|
+
|
|
10
|
+
// TODO: tab.Extra & tab.Action render
|
|
10
11
|
|
|
11
12
|
return Boolean(tabs === null || tabs === void 0 ? void 0 : tabs.length) ? /*#__PURE__*/React.createElement("ul", {
|
|
12
13
|
className: "dumi-default-content-tabs"
|
|
@@ -33,5 +34,4 @@ var ContentTabs = function ContentTabs(_ref) {
|
|
|
33
34
|
}) : tab.meta.frontmatter.title));
|
|
34
35
|
})) : null;
|
|
35
36
|
};
|
|
36
|
-
|
|
37
37
|
export default ContentTabs;
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
import { Link, useRouteMeta } from 'dumi';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import "./index.less";
|
|
4
|
-
|
|
5
4
|
var Features = function Features() {
|
|
6
5
|
var _frontmatter$features;
|
|
7
|
-
|
|
8
6
|
var _useRouteMeta = useRouteMeta(),
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
frontmatter = _useRouteMeta.frontmatter;
|
|
11
8
|
return Boolean((_frontmatter$features = frontmatter.features) === null || _frontmatter$features === void 0 ? void 0 : _frontmatter$features.length) ? /*#__PURE__*/React.createElement("div", {
|
|
12
|
-
className: "dumi-default-features"
|
|
9
|
+
className: "dumi-default-features"
|
|
10
|
+
// auto render 2 or 3 cols by feature count
|
|
13
11
|
,
|
|
14
12
|
"data-cols": [3, 2].find(function (n) {
|
|
15
13
|
return frontmatter.features.length % n === 0;
|
|
16
14
|
}) || 3
|
|
17
15
|
}, frontmatter.features.map(function (_ref) {
|
|
18
16
|
var title = _ref.title,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
description = _ref.description,
|
|
18
|
+
emoji = _ref.emoji,
|
|
19
|
+
link = _ref.link;
|
|
22
20
|
var titleWithLink;
|
|
23
|
-
|
|
24
21
|
if (link) {
|
|
25
22
|
titleWithLink = /^(\w+:)\/\/|^(mailto|tel):/.test(link) ? /*#__PURE__*/React.createElement("a", {
|
|
26
23
|
href: link,
|
|
@@ -30,7 +27,6 @@ var Features = function Features() {
|
|
|
30
27
|
to: link
|
|
31
28
|
}, title);
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
return /*#__PURE__*/React.createElement("div", {
|
|
35
31
|
key: title,
|
|
36
32
|
className: "dumi-default-features-item"
|
|
@@ -41,5 +37,4 @@ var Features = function Features() {
|
|
|
41
37
|
}));
|
|
42
38
|
})) : null;
|
|
43
39
|
};
|
|
44
|
-
|
|
45
40
|
export default Features;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { useSiteData } from 'dumi';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import "./index.less";
|
|
4
|
-
|
|
5
4
|
var Footer = function Footer() {
|
|
6
5
|
var _useSiteData = useSiteData(),
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
themeConfig = _useSiteData.themeConfig;
|
|
9
7
|
if (!themeConfig.footer) return null;
|
|
10
8
|
return /*#__PURE__*/React.createElement("div", {
|
|
11
9
|
className: "dumi-default-footer",
|
|
@@ -14,5 +12,4 @@ var Footer = function Footer() {
|
|
|
14
12
|
}
|
|
15
13
|
});
|
|
16
14
|
};
|
|
17
|
-
|
|
18
15
|
export default Footer;
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
-
|
|
3
2
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
3
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10
|
-
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
11
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
-
|
|
13
7
|
import { ReactComponent as IconClose } from '@ant-design/icons-svg/inline-svg/outlined/close.svg';
|
|
14
8
|
import { ReactComponent as IconMenu } from '@ant-design/icons-svg/inline-svg/outlined/menu.svg';
|
|
15
9
|
import { useRouteMeta, useSiteData } from 'dumi';
|
|
@@ -23,19 +17,15 @@ import SearchBar from 'dumi/theme/slots/SearchBar';
|
|
|
23
17
|
import SocialIcon from 'dumi/theme/slots/SocialIcon';
|
|
24
18
|
import React, { useMemo, useState } from 'react';
|
|
25
19
|
import "./index.less";
|
|
26
|
-
|
|
27
20
|
var Header = function Header() {
|
|
28
21
|
var _useRouteMeta = useRouteMeta(),
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
frontmatter = _useRouteMeta.frontmatter;
|
|
31
23
|
var _useState = useState(false),
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
25
|
+
showMenu = _useState2[0],
|
|
26
|
+
setShowMenu = _useState2[1];
|
|
36
27
|
var _useSiteData = useSiteData(),
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
themeConfig = _useSiteData.themeConfig;
|
|
39
29
|
var socialIcons = useMemo(function () {
|
|
40
30
|
return themeConfig.socialLinks ? Object.keys(themeConfig.socialLinks).slice(0, 5).map(function (key) {
|
|
41
31
|
return {
|
|
@@ -76,5 +66,4 @@ var Header = function Header() {
|
|
|
76
66
|
}
|
|
77
67
|
}, showMenu ? /*#__PURE__*/React.createElement(IconClose, null) : /*#__PURE__*/React.createElement(IconMenu, null))));
|
|
78
68
|
};
|
|
79
|
-
|
|
80
69
|
export default Header;
|