@antv/dumi-theme-antv 0.3.0-beta.4 → 0.3.0-beta.6
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/dist/context.d.ts +2 -1
- package/dist/layouts/DocLayout.js +26 -14
- package/dist/pages/Example/index.js +8 -2
- package/dist/pages/Examples/types.d.ts +7 -6
- package/dist/plugin/examples.d.ts +13 -5
- package/dist/plugin/examples.js +14 -2
- package/dist/plugin/index.js +16 -8
- package/dist/slots/Cases/index.d.ts +1 -0
- package/dist/slots/CodeEditor/index.js +28 -8
- package/dist/slots/CodePreview/index.js +1 -1
- package/dist/slots/CodePreview/index.module.less +3 -5
- package/dist/slots/CodeRunner/index.d.ts +3 -2
- package/dist/slots/CodeRunner/index.js +5 -3
- package/dist/slots/CodeRunner/utils.d.ts +3 -2
- package/dist/slots/CodeRunner/utils.js +1 -1
- package/dist/slots/Detail/News.d.ts +1 -0
- package/dist/slots/Detail/index.d.ts +1 -0
- package/dist/slots/ExampleSider/index.d.ts +4 -3
- package/dist/slots/ExampleSider/index.js +2 -2
- package/dist/slots/Features/FeatureCard.d.ts +1 -0
- package/dist/slots/Header/Navs.js +8 -4
- package/dist/slots/Header/index.js +6 -6
- package/dist/slots/Loading/index.d.ts +6 -1
- package/dist/slots/Loading/index.js +24 -10
- package/dist/slots/Loading/index.module.less +276 -9
- package/dist/slots/ManualContent/index.js +114 -112
- package/dist/slots/ManualContent/utils.d.ts +3 -0
- package/dist/slots/ManualContent/utils.js +35 -0
- package/dist/slots/utils.d.ts +2 -2
- package/dist/types.d.ts +82 -0
- package/dist/typings.d.ts +0 -101
- package/package.json +1 -1
- package/dist/slots/Loading.d.ts +0 -5
- package/dist/slots/Loading.js +0 -8
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
import styles from "./index.module.less";
|
|
3
|
+
/**
|
|
4
|
+
* Loading
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
var Loading = function Loading() {
|
|
3
8
|
return /*#__PURE__*/React.createElement("div", {
|
|
4
|
-
style: {
|
|
5
|
-
height: '100vh'
|
|
6
|
-
}
|
|
7
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
8
9
|
style: {
|
|
9
10
|
position: 'relative',
|
|
10
|
-
height: '100%'
|
|
11
|
+
height: '100%',
|
|
12
|
+
width: '100%'
|
|
11
13
|
}
|
|
12
14
|
}, /*#__PURE__*/React.createElement("div", {
|
|
13
|
-
className:
|
|
14
|
-
}, /*#__PURE__*/React.createElement("div",
|
|
15
|
+
className: styles.loading
|
|
16
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
17
|
+
className: "container"
|
|
18
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
15
19
|
className: "loader"
|
|
16
20
|
}, /*#__PURE__*/React.createElement("svg", {
|
|
17
21
|
viewBox: "0 0 80 80"
|
|
@@ -61,5 +65,15 @@ export var Loading = function Loading() {
|
|
|
61
65
|
stroke: "url(#gradient)"
|
|
62
66
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
63
67
|
className: "loading-text"
|
|
64
|
-
}, /*#__PURE__*/React.createElement("p", null, "Loading...")))))
|
|
65
|
-
};
|
|
68
|
+
}, /*#__PURE__*/React.createElement("p", null, "Loading...")))));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
var PageLoading = function PageLoading() {
|
|
72
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
73
|
+
style: {
|
|
74
|
+
height: '100vh'
|
|
75
|
+
}
|
|
76
|
+
}, /*#__PURE__*/React.createElement(Loading, null));
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { Loading, PageLoading };
|
|
@@ -1,12 +1,279 @@
|
|
|
1
|
-
|
|
1
|
+
.loading {
|
|
2
|
+
position: absolute;
|
|
3
|
+
left: 0;
|
|
4
|
+
top: 0;
|
|
5
|
+
z-index: 9999;
|
|
6
|
+
width: 100%;
|
|
7
|
+
height: 100%;
|
|
8
|
+
background-color: #fff;
|
|
9
|
+
border: 1px solid #f0f0f0;
|
|
2
10
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
11
|
+
:global {
|
|
12
|
+
.container {
|
|
13
|
+
display: inline-block;
|
|
14
|
+
position: absolute;
|
|
15
|
+
left: 50%;
|
|
16
|
+
top: 50%;
|
|
17
|
+
margin: -50px 0 0 -120px;
|
|
18
|
+
}
|
|
19
|
+
.loader {
|
|
20
|
+
--duration: 3s;
|
|
21
|
+
width: 44px;
|
|
22
|
+
height: 44px;
|
|
23
|
+
position: relative;
|
|
24
|
+
display: inline-block;
|
|
25
|
+
margin: 0 16px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.loader:before {
|
|
29
|
+
content: ' ';
|
|
30
|
+
width: 6px;
|
|
31
|
+
height: 6px;
|
|
32
|
+
border-radius: 50%;
|
|
33
|
+
position: absolute;
|
|
34
|
+
display: block;
|
|
35
|
+
background: #ff700a;
|
|
36
|
+
top: 37px;
|
|
37
|
+
left: 19px;
|
|
38
|
+
-webkit-transform: translate(-18px, -18px);
|
|
39
|
+
transform: translate(-18px, -18px);
|
|
40
|
+
-webkit-animation: dotRect var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
41
|
+
animation: dotRect var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.loader svg {
|
|
45
|
+
display: block;
|
|
46
|
+
width: 100%;
|
|
47
|
+
height: 100%;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.loader svg rect,
|
|
51
|
+
.loader svg polygon,
|
|
52
|
+
.loader svg circle {
|
|
53
|
+
fill: none;
|
|
54
|
+
stroke-width: 10px;
|
|
55
|
+
stroke-linejoin: round;
|
|
56
|
+
stroke-linecap: round;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.loader svg polygon {
|
|
60
|
+
stroke-dasharray: 145 76 145 76;
|
|
61
|
+
stroke-dashoffset: 0;
|
|
62
|
+
-webkit-animation: pathTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
63
|
+
animation: pathTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.loader svg rect {
|
|
67
|
+
stroke-dasharray: 192 64 192 64;
|
|
68
|
+
stroke-dashoffset: 0;
|
|
69
|
+
-webkit-animation: pathRect 3s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
70
|
+
animation: pathRect 3s cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.loader svg circle {
|
|
74
|
+
stroke-dasharray: 150 50 150 50;
|
|
75
|
+
stroke-dashoffset: 75;
|
|
76
|
+
-webkit-animation: pathCircle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
77
|
+
animation: pathCircle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.loader.triangle {
|
|
81
|
+
width: 48px;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.loader.triangle:before {
|
|
85
|
+
left: 21px;
|
|
86
|
+
-webkit-transform: translate(-10px, -18px);
|
|
87
|
+
transform: translate(-10px, -18px);
|
|
88
|
+
-webkit-animation: dotTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
89
|
+
animation: dotTriangle var(--duration) cubic-bezier(0.785, 0.135, 0.15, 0.86) infinite;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.loading-text {
|
|
93
|
+
text-align: center;
|
|
94
|
+
height: 40px;
|
|
95
|
+
line-height: 40px;
|
|
96
|
+
font-size: 12px;
|
|
97
|
+
letter-spacing: 0.1em;
|
|
98
|
+
color: #666;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@-webkit-keyframes ~":global(pathTriangle)" {
|
|
104
|
+
33% {
|
|
105
|
+
stroke-dashoffset: 74;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
66% {
|
|
109
|
+
stroke-dashoffset: 147;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
100% {
|
|
113
|
+
stroke-dashoffset: 221;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
@keyframes ~":global(pathTriangle)" {
|
|
118
|
+
33% {
|
|
119
|
+
stroke-dashoffset: 74;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
66% {
|
|
123
|
+
stroke-dashoffset: 147;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
100% {
|
|
127
|
+
stroke-dashoffset: 221;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@-webkit-keyframes ~":global(dotTriangle)" {
|
|
132
|
+
33% {
|
|
133
|
+
-webkit-transform: translate(0, 0);
|
|
134
|
+
transform: translate(0, 0);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
66% {
|
|
138
|
+
-webkit-transform: translate(10px, -18px);
|
|
139
|
+
transform: translate(10px, -18px);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
100% {
|
|
143
|
+
-webkit-transform: translate(-10px, -18px);
|
|
144
|
+
transform: translate(-10px, -18px);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
@keyframes ~":global(dotTriangle)" {
|
|
149
|
+
33% {
|
|
150
|
+
-webkit-transform: translate(0, 0);
|
|
151
|
+
transform: translate(0, 0);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
66% {
|
|
155
|
+
-webkit-transform: translate(10px, -18px);
|
|
156
|
+
transform: translate(10px, -18px);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
100% {
|
|
160
|
+
-webkit-transform: translate(-10px, -18px);
|
|
161
|
+
transform: translate(-10px, -18px);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
@-webkit-keyframes ~":global(pathRect)" {
|
|
166
|
+
25% {
|
|
167
|
+
stroke-dashoffset: 64;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
50% {
|
|
171
|
+
stroke-dashoffset: 128;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
75% {
|
|
175
|
+
stroke-dashoffset: 192;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
100% {
|
|
179
|
+
stroke-dashoffset: 256;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
@keyframes ~":global(pathRect)" {
|
|
184
|
+
25% {
|
|
185
|
+
stroke-dashoffset: 64;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
50% {
|
|
189
|
+
stroke-dashoffset: 128;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
75% {
|
|
193
|
+
stroke-dashoffset: 192;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
100% {
|
|
197
|
+
stroke-dashoffset: 256;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@-webkit-keyframes ~":global(dotRect)" {
|
|
202
|
+
25% {
|
|
203
|
+
-webkit-transform: translate(0, 0);
|
|
204
|
+
transform: translate(0, 0);
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
50% {
|
|
208
|
+
-webkit-transform: translate(18px, -18px);
|
|
209
|
+
transform: translate(18px, -18px);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
75% {
|
|
213
|
+
-webkit-transform: translate(0, -36px);
|
|
214
|
+
transform: translate(0, -36px);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
100% {
|
|
218
|
+
-webkit-transform: translate(-18px, -18px);
|
|
219
|
+
transform: translate(-18px, -18px);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
@keyframes ~":global(dotRect)" {
|
|
224
|
+
25% {
|
|
225
|
+
-webkit-transform: translate(0, 0);
|
|
226
|
+
transform: translate(0, 0);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
50% {
|
|
230
|
+
-webkit-transform: translate(18px, -18px);
|
|
231
|
+
transform: translate(18px, -18px);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
75% {
|
|
235
|
+
-webkit-transform: translate(0, -36px);
|
|
236
|
+
transform: translate(0, -36px);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
100% {
|
|
240
|
+
-webkit-transform: translate(-18px, -18px);
|
|
241
|
+
transform: translate(-18px, -18px);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
@-webkit-keyframes ~":global(pathCircle)" {
|
|
246
|
+
25% {
|
|
247
|
+
stroke-dashoffset: 125;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
50% {
|
|
251
|
+
stroke-dashoffset: 175;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
75% {
|
|
255
|
+
stroke-dashoffset: 225;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
100% {
|
|
259
|
+
stroke-dashoffset: 275;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
@keyframes ~":global(pathCircle)" {
|
|
264
|
+
25% {
|
|
265
|
+
stroke-dashoffset: 125;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
50% {
|
|
269
|
+
stroke-dashoffset: 175;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
75% {
|
|
273
|
+
stroke-dashoffset: 225;
|
|
274
|
+
}
|
|
6
275
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
color: @primary-color;
|
|
10
|
-
text-align: center;
|
|
276
|
+
100% {
|
|
277
|
+
stroke-dashoffset: 275;
|
|
11
278
|
}
|
|
12
|
-
}
|
|
279
|
+
}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
-
|
|
3
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
-
|
|
7
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
8
|
-
|
|
9
1
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
10
2
|
|
|
11
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -34,6 +26,7 @@ import { useLocale, useSiteData, useFullSidebarData, useRouteMeta } from 'dumi';
|
|
|
34
26
|
import { useNavigate } from "react-router-dom";
|
|
35
27
|
import { EditOutlined, MenuFoldOutlined, MenuUnfoldOutlined, VerticalAlignTopOutlined } from '@ant-design/icons';
|
|
36
28
|
import readingTime from 'reading-time';
|
|
29
|
+
import { getBaseRoute, getIndexRoute, getOpenKeys } from "./utils";
|
|
37
30
|
import { NavigatorBanner } from "./NavigatorBanner";
|
|
38
31
|
import ReadingTime from "./ReadingTime";
|
|
39
32
|
import { TOC } from "../TOC";
|
|
@@ -63,7 +56,7 @@ export var ManualContent = function ManualContent(_ref) {
|
|
|
63
56
|
drawOpen = _useState2[0],
|
|
64
57
|
setDrawOpen = _useState2[1];
|
|
65
58
|
|
|
66
|
-
var navigate = useNavigate(); //
|
|
59
|
+
var navigate = useNavigate(); // 获取阅读时间
|
|
67
60
|
|
|
68
61
|
var mdInfo = useRouteMeta();
|
|
69
62
|
var text = mdInfo.texts.reduce(function (prev, next) {
|
|
@@ -71,141 +64,147 @@ export var ManualContent = function ManualContent(_ref) {
|
|
|
71
64
|
}, '');
|
|
72
65
|
|
|
73
66
|
var _readingTime = readingTime(text),
|
|
74
|
-
time = _readingTime.time; //
|
|
75
|
-
// linkoTitle用来映射路由和Title
|
|
67
|
+
time = _readingTime.time; // linkoTitle用来映射路由和Title
|
|
76
68
|
|
|
77
69
|
|
|
78
70
|
var linkoTitle = {};
|
|
79
71
|
|
|
80
|
-
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
matchRoute = matchRoute.replace('/docs', ''); // 查找 baseRoute
|
|
86
|
-
|
|
87
|
-
var reg = window.location.pathname.startsWith('/en') ? /(\/[A-z]*\/?\/[A-z]*)\/?/ : /(\/[A-z]*)\/?/;
|
|
88
|
-
var mainRoute = matchRoute.match(reg);
|
|
89
|
-
return mainRoute[1];
|
|
72
|
+
for (var _i2 = 0, _Object$values = Object.values(sidebar); _i2 < _Object$values.length; _i2++) {
|
|
73
|
+
var route = _Object$values[_i2];
|
|
74
|
+
route[0].children.forEach(function (item) {
|
|
75
|
+
linkoTitle[item.link] = item.title;
|
|
76
|
+
});
|
|
90
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* /api/xxx --> /api
|
|
80
|
+
* /en/api --> /en/api
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
var baseRoute = getBaseRoute(); // 获取最终的 MenuData
|
|
85
|
+
|
|
86
|
+
var renderSidebar = getMenuData(sidebar, docs, baseRoute, []);
|
|
87
|
+
|
|
88
|
+
function getMenuData(funllSidebarData, rootList, hrefId, list) {
|
|
89
|
+
function fullSidebarDataToMenuData(rootList, hrefId, list) {
|
|
90
|
+
// 递归
|
|
91
|
+
rootList.forEach(function (item) {
|
|
92
|
+
var href = !baseRoute.startsWith('/en') ? "/".concat(item.slug) : "/en/".concat(item.slug);
|
|
93
|
+
var id = href.split("/").slice(0, href.split("/").length - 1).join("/");
|
|
94
|
+
|
|
95
|
+
if (href.includes(baseRoute)) {
|
|
96
|
+
if (id === hrefId) {
|
|
97
|
+
list.push(_objectSpread(_objectSpread({}, item), {}, {
|
|
98
|
+
key: href,
|
|
99
|
+
label: item.title[currentLocale]
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
});
|
|
91
104
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
105
|
+
var _iterator = _createForOfIteratorHelper(list),
|
|
106
|
+
_step;
|
|
107
|
+
|
|
108
|
+
try {
|
|
109
|
+
var _loop = function _loop() {
|
|
110
|
+
var _funllSidebarData$ite;
|
|
111
|
+
|
|
112
|
+
var item = _step.value;
|
|
113
|
+
item.children = [];
|
|
114
|
+
fullSidebarDataToMenuData(rootList, item.key, item.children);
|
|
115
|
+
(_funllSidebarData$ite = funllSidebarData[item.key][0].children) === null || _funllSidebarData$ite === void 0 ? void 0 : _funllSidebarData$ite.forEach(function (itemChild) {
|
|
116
|
+
var label = itemChild.title;
|
|
117
|
+
var key = itemChild.link;
|
|
118
|
+
item.children.push(_objectSpread(_objectSpread({}, itemChild), {}, {
|
|
119
|
+
label: label,
|
|
120
|
+
key: key
|
|
121
|
+
}));
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
if (item.children.length == 0) {
|
|
125
|
+
delete item.children;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
130
|
+
_loop();
|
|
106
131
|
}
|
|
132
|
+
} catch (err) {
|
|
133
|
+
_iterator.e(err);
|
|
134
|
+
} finally {
|
|
135
|
+
_iterator.f();
|
|
107
136
|
}
|
|
108
|
-
});
|
|
109
137
|
|
|
110
|
-
|
|
111
|
-
|
|
138
|
+
if (hrefId == baseRoute) {
|
|
139
|
+
var _funllSidebarData$bas;
|
|
112
140
|
|
|
113
|
-
|
|
114
|
-
var _loop = function _loop() {
|
|
115
|
-
var _sidebar$item$key$0$c;
|
|
116
|
-
|
|
117
|
-
var item = _step.value;
|
|
118
|
-
item.children = [];
|
|
119
|
-
fullSidebarDataToMenuData(rootList, item.key, item.children);
|
|
120
|
-
(_sidebar$item$key$0$c = sidebar[item.key][0].children) === null || _sidebar$item$key$0$c === void 0 ? void 0 : _sidebar$item$key$0$c.forEach(function (itemChild) {
|
|
121
|
-
var label = itemChild.title;
|
|
141
|
+
funllSidebarData[baseRoute] && ((_funllSidebarData$bas = funllSidebarData[baseRoute][0].children) === null || _funllSidebarData$bas === void 0 ? void 0 : _funllSidebarData$bas.forEach(function (itemChild) {
|
|
122
142
|
var key = itemChild.link;
|
|
123
|
-
|
|
143
|
+
var label = itemChild.title;
|
|
144
|
+
list.push(_objectSpread(_objectSpread({}, itemChild), {}, {
|
|
124
145
|
label: label,
|
|
125
146
|
key: key
|
|
126
147
|
}));
|
|
127
|
-
|
|
148
|
+
}));
|
|
149
|
+
list.sort(function (a, b) {
|
|
150
|
+
return a.order - b.order;
|
|
128
151
|
});
|
|
129
|
-
|
|
130
|
-
if (item.children.length == 0) {
|
|
131
|
-
delete item.children;
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
136
|
-
_loop();
|
|
152
|
+
return list;
|
|
137
153
|
}
|
|
138
|
-
} catch (err) {
|
|
139
|
-
_iterator.e(err);
|
|
140
|
-
} finally {
|
|
141
|
-
_iterator.f();
|
|
142
154
|
}
|
|
143
155
|
|
|
144
|
-
|
|
145
|
-
|
|
156
|
+
return fullSidebarDataToMenuData(rootList, hrefId, list);
|
|
157
|
+
} // 获取打开的菜单栏
|
|
146
158
|
|
|
147
|
-
sidebar[baseRoute] && ((_sidebar$baseRoute$0$ = sidebar[baseRoute][0].children) === null || _sidebar$baseRoute$0$ === void 0 ? void 0 : _sidebar$baseRoute$0$.forEach(function (itemChild) {
|
|
148
|
-
var key = itemChild.link;
|
|
149
|
-
var label = itemChild.title;
|
|
150
|
-
list.push(_objectSpread(_objectSpread({}, itemChild), {}, {
|
|
151
|
-
label: label,
|
|
152
|
-
key: key
|
|
153
|
-
}));
|
|
154
|
-
linkoTitle[key] = label;
|
|
155
|
-
}));
|
|
156
|
-
list.sort(function (a, b) {
|
|
157
|
-
return a.order - b.order;
|
|
158
|
-
});
|
|
159
|
-
return list;
|
|
160
|
-
}
|
|
161
|
-
} // 获取最终的 MenuData
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
var renderSidebar = fullSidebarDataToMenuData(docs, baseRoute, []); // 获取默认打开的菜单栏
|
|
165
159
|
|
|
166
|
-
function
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
160
|
+
var _useState3 = useState(function () {
|
|
161
|
+
return getOpenKeys();
|
|
162
|
+
}),
|
|
163
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
164
|
+
defaultOpenKeys = _useState4[0],
|
|
165
|
+
setDefaultOpenKeys = _useState4[1]; // 获取第一个md文件的路由
|
|
170
166
|
|
|
171
|
-
while (topRoute.children) {
|
|
172
|
-
topRoute = topRoute.children[0];
|
|
173
|
-
defaultOpenKeys.push(topRoute.key);
|
|
174
|
-
}
|
|
175
167
|
|
|
176
|
-
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
var defaultOpenKeys = getDefaultOpenKeys(renderSidebar);
|
|
180
|
-
var indexRoute = defaultOpenKeys[defaultOpenKeys.length - 1]; // 点击菜单栏
|
|
168
|
+
var indexRoute = getIndexRoute(renderSidebar); // 点击菜单栏
|
|
181
169
|
|
|
182
170
|
var onClick = function onClick(e) {
|
|
183
171
|
navigate(e.key);
|
|
184
172
|
useScrollToTop();
|
|
185
173
|
};
|
|
186
174
|
|
|
187
|
-
var
|
|
188
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
189
|
-
defaultSelectedKey = _useState4[0],
|
|
190
|
-
setDefaultSelectedKey = _useState4[1]; //上一夜下一页
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
var _useState5 = useState(undefined),
|
|
175
|
+
var _useState5 = useState(renderSidebar.length !== 0 ? [renderSidebar[0].key] : ['']),
|
|
194
176
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
195
|
-
|
|
196
|
-
|
|
177
|
+
defaultSelectedKey = _useState6[0],
|
|
178
|
+
setDefaultSelectedKey = _useState6[1]; //上一夜下一页
|
|
179
|
+
|
|
197
180
|
|
|
198
181
|
var _useState7 = useState(undefined),
|
|
199
182
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
200
|
-
|
|
201
|
-
|
|
183
|
+
prev = _useState8[0],
|
|
184
|
+
setPrev = _useState8[1];
|
|
185
|
+
|
|
186
|
+
var _useState9 = useState(undefined),
|
|
187
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
188
|
+
next = _useState10[0],
|
|
189
|
+
setNext = _useState10[1]; // 所有的 sidebar 路由
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
var sidebarRoutes = [];
|
|
193
|
+
|
|
194
|
+
for (var _i3 = 0, _Object$keys = Object.keys(linkoTitle); _i3 < _Object$keys.length; _i3++) {
|
|
195
|
+
var route = _Object$keys[_i3];
|
|
196
|
+
sidebarRoutes.push(route);
|
|
197
|
+
} // 兜底 如果 nav 指定有误则自动重定向到 indexDocRoute
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
if (window.location.pathname.startsWith('/docs/') || !sidebarRoutes.includes(window.location.pathname)) {
|
|
201
|
+
navigate(indexRoute);
|
|
202
|
+
} // 改变菜单栏选中和 openKeys 状态
|
|
202
203
|
|
|
203
204
|
|
|
204
205
|
useEffect(function () {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
navigate(indexRoute);
|
|
208
|
-
return;
|
|
206
|
+
if (window.location.pathname == indexRoute) {
|
|
207
|
+
setDefaultOpenKeys(getOpenKeys());
|
|
209
208
|
}
|
|
210
209
|
|
|
211
210
|
setDefaultSelectedKey([window.location.pathname]);
|
|
@@ -249,16 +248,19 @@ export var ManualContent = function ManualContent(_ref) {
|
|
|
249
248
|
|
|
250
249
|
var menu = /*#__PURE__*/React.createElement(Menu, {
|
|
251
250
|
onClick: onClick,
|
|
252
|
-
|
|
251
|
+
onOpenChange: function onOpenChange(openKeys) {
|
|
252
|
+
setDefaultOpenKeys(openKeys);
|
|
253
|
+
},
|
|
253
254
|
selectedKeys: defaultSelectedKey,
|
|
254
|
-
|
|
255
|
+
openKeys: defaultOpenKeys,
|
|
255
256
|
mode: "inline",
|
|
256
257
|
items: renderSidebar,
|
|
257
258
|
inlineIndent: 16,
|
|
258
259
|
style: {
|
|
259
260
|
height: '100%'
|
|
260
261
|
},
|
|
261
|
-
forceSubMenuRender: true
|
|
262
|
+
forceSubMenuRender: true,
|
|
263
|
+
triggerSubMenuAction: "click"
|
|
262
264
|
});
|
|
263
265
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Layout, {
|
|
264
266
|
style: {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function getOpenKeys() {
|
|
2
|
+
var pathname = window.location.pathname;
|
|
3
|
+
var pathArr = pathname.split('/');
|
|
4
|
+
var openKeys = [];
|
|
5
|
+
|
|
6
|
+
for (var i = pathArr.length; i > 0; i--) {
|
|
7
|
+
var tem = pathArr.slice(0, i);
|
|
8
|
+
openKeys.push(tem.join('/'));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
return openKeys;
|
|
12
|
+
}
|
|
13
|
+
export function getBaseRoute() {
|
|
14
|
+
var matchRoute = window.location.pathname; // 兼容 zh
|
|
15
|
+
|
|
16
|
+
matchRoute = matchRoute.replace('/zh/', '/'); // 兼容带有docs的route
|
|
17
|
+
|
|
18
|
+
matchRoute = matchRoute.replace('/docs', ''); // 查找 baseRoute
|
|
19
|
+
|
|
20
|
+
var reg = window.location.pathname.startsWith('/en') ? /(\/[A-z]*\/?\/[A-z]*)\/?/ : /(\/[A-z]*)\/?/;
|
|
21
|
+
var mainRoute = matchRoute.match(reg);
|
|
22
|
+
return mainRoute[1];
|
|
23
|
+
}
|
|
24
|
+
export function getIndexRoute(MenuData) {
|
|
25
|
+
var defaultOpenKeys = [];
|
|
26
|
+
var topRoute = MenuData[0];
|
|
27
|
+
defaultOpenKeys.push(topRoute.key);
|
|
28
|
+
|
|
29
|
+
while (topRoute.children) {
|
|
30
|
+
topRoute = topRoute.children[0];
|
|
31
|
+
defaultOpenKeys.push(topRoute.key);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return defaultOpenKeys[defaultOpenKeys.length - 1];
|
|
35
|
+
}
|
package/dist/slots/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Status } from '../types';
|
|
1
|
+
import { Status, TreeNode } from '../types';
|
|
2
2
|
export declare function ping(): Promise<Status>;
|
|
3
3
|
export declare const getChinaMirrorHost: (host?: string) => string;
|
|
4
4
|
export declare function getGithubSourceURL(githubUrl: string, relativePath: string, prefix?: string): string;
|
|
5
|
-
export declare const filterTreeNode: (treeNode:
|
|
5
|
+
export declare const filterTreeNode: (treeNode: TreeNode, keyValue: string, locale: string) => TreeNode;
|