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,58 +1,44 @@
|
|
|
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 { matchRoutes, useAppData, useLocation, useRouteData } from 'dumi';
|
|
14
8
|
import { useCallback, useState } from 'react';
|
|
15
9
|
import { useIsomorphicLayoutEffect } from "./utils";
|
|
10
|
+
|
|
16
11
|
/**
|
|
17
12
|
* hook for get matched route meta
|
|
18
13
|
*/
|
|
19
|
-
|
|
20
14
|
export var useRouteMeta = function useRouteMeta() {
|
|
21
15
|
var _useRouteData = useRouteData(),
|
|
22
|
-
|
|
23
|
-
|
|
16
|
+
route = _useRouteData.route;
|
|
24
17
|
var _useLocation = useLocation(),
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
pathname = _useLocation.pathname;
|
|
27
19
|
var _useAppData = useAppData(),
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
clientRoutes = _useAppData.clientRoutes;
|
|
30
21
|
var getter = useCallback(function () {
|
|
31
22
|
var ret;
|
|
32
|
-
|
|
33
23
|
if (route.path === pathname && !('isLayout' in route)) {
|
|
34
24
|
// use `useRouteData` result if matched, for performance
|
|
35
25
|
ret = route.meta;
|
|
36
26
|
} else {
|
|
37
27
|
var _matchRoutes, _matched$route;
|
|
38
|
-
|
|
39
28
|
// match manually for dynamic route & layout component
|
|
40
29
|
var matched = (_matchRoutes = matchRoutes(clientRoutes, pathname)) === null || _matchRoutes === void 0 ? void 0 : _matchRoutes.pop();
|
|
41
30
|
ret = matched === null || matched === void 0 ? void 0 : (_matched$route = matched.route) === null || _matched$route === void 0 ? void 0 : _matched$route.meta;
|
|
42
31
|
}
|
|
43
|
-
|
|
44
32
|
return ret || {
|
|
45
33
|
frontmatter: {},
|
|
46
34
|
toc: [],
|
|
47
35
|
texts: []
|
|
48
36
|
};
|
|
49
37
|
}, [clientRoutes.length, pathname]);
|
|
50
|
-
|
|
51
38
|
var _useState = useState(getter),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
39
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
40
|
+
meta = _useState2[0],
|
|
41
|
+
setMeta = _useState2[1];
|
|
56
42
|
useIsomorphicLayoutEffect(function () {
|
|
57
43
|
setMeta(getter);
|
|
58
44
|
}, [clientRoutes.length, pathname]);
|
|
@@ -1,162 +1,140 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1
2
|
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; }
|
|
2
|
-
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
7
|
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; } } }; }
|
|
8
|
-
|
|
9
8
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
10
|
-
|
|
11
9
|
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."); }
|
|
12
|
-
|
|
13
10
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
14
|
-
|
|
15
11
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
16
|
-
|
|
17
12
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
18
|
-
|
|
19
13
|
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."); }
|
|
20
|
-
|
|
21
14
|
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); }
|
|
22
|
-
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
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; }
|
|
26
|
-
|
|
15
|
+
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; }
|
|
16
|
+
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; } }
|
|
27
17
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
28
|
-
|
|
29
18
|
import { useLocale, useLocation, useRouteMeta, useSiteData } from 'dumi';
|
|
30
19
|
import { useState } from 'react';
|
|
31
20
|
import { pickRouteSortMeta, useLocaleDocRoutes, useRouteDataComparer } from "./utils";
|
|
32
21
|
var DEFAULT_GROUP_STUB_TITLE = '$default-group-title';
|
|
33
|
-
|
|
34
22
|
var getLocaleClearPath = function getLocaleClearPath(routePath, locale) {
|
|
35
23
|
return 'base' in locale ? routePath.replace(locale.base.slice(1), '').replace(/^\//, '') : routePath;
|
|
36
24
|
};
|
|
25
|
+
|
|
37
26
|
/**
|
|
38
27
|
* get parent path from route path
|
|
39
28
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
29
|
function getRouteParentPath(path, _ref) {
|
|
43
30
|
var _meta$frontmatter$fil;
|
|
44
|
-
|
|
45
31
|
var meta = _ref.meta,
|
|
46
|
-
|
|
32
|
+
is2LevelNav = _ref.is2LevelNav;
|
|
47
33
|
var isIndexDocRoute = ((_meta$frontmatter$fil = meta.frontmatter.filename) === null || _meta$frontmatter$fil === void 0 ? void 0 : _meta$frontmatter$fil.endsWith('index.md')) && !meta._atom_route && is2LevelNav;
|
|
48
|
-
var paths = path.split('/')
|
|
34
|
+
var paths = path.split('/')
|
|
35
|
+
// strip end slash
|
|
49
36
|
.filter(Boolean);
|
|
50
|
-
var sliceEnd = Math.min(Math.max(
|
|
51
|
-
|
|
52
|
-
|
|
37
|
+
var sliceEnd = Math.min(Math.max(
|
|
38
|
+
// increase 1 level if route file is index.md
|
|
39
|
+
isIndexDocRoute ? paths.length : paths.length - 1,
|
|
40
|
+
// least 1-level
|
|
41
|
+
1),
|
|
42
|
+
// up to 2-level when use conventional 2-level nav
|
|
53
43
|
is2LevelNav ? 2 : Infinity);
|
|
54
44
|
return paths.slice(0, sliceEnd).join('/');
|
|
55
45
|
}
|
|
46
|
+
|
|
56
47
|
/**
|
|
57
48
|
* hook for get sidebar data for all nav
|
|
58
49
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
50
|
export var useFullSidebarData = function useFullSidebarData() {
|
|
62
51
|
var locale = useLocale();
|
|
63
52
|
var routes = useLocaleDocRoutes();
|
|
64
|
-
|
|
65
53
|
var _useSiteData = useSiteData(),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
54
|
+
themeConfig = _useSiteData.themeConfig,
|
|
55
|
+
is2LevelNav = _useSiteData._2_level_nav_available;
|
|
69
56
|
var sidebarDataComparer = useRouteDataComparer();
|
|
70
|
-
|
|
71
57
|
var _useState = useState(function () {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}, 'group', route.meta.frontmatter),
|
|
58
|
+
// auto generate sidebar data from routes
|
|
59
|
+
var data = Object.values(routes).reduce(function (ret, route) {
|
|
60
|
+
var clearPath = getLocaleClearPath(route.path, locale);
|
|
61
|
+
|
|
62
|
+
// skip index routes
|
|
63
|
+
if (clearPath && route.meta) {
|
|
64
|
+
var _ret$parentPath, _ret$parentPath$title, _ret$parentPath$title2;
|
|
65
|
+
// extract parent path from route path
|
|
66
|
+
// normal examples:
|
|
67
|
+
// a => /a
|
|
68
|
+
// en-US/a => /en-US/a
|
|
69
|
+
// a/b => /a
|
|
70
|
+
// en-US/a/b => /en-US/a
|
|
71
|
+
// convention 2-level navs examples:
|
|
72
|
+
// a/b => /a/b (if route file is a/b/index.md)
|
|
73
|
+
// a/b/c => /a/b
|
|
74
|
+
var parentPath = "/".concat(route.path.replace(clearPath, function (s) {
|
|
75
|
+
return getRouteParentPath(s, {
|
|
76
|
+
is2LevelNav: is2LevelNav,
|
|
77
|
+
meta: route.meta
|
|
78
|
+
});
|
|
79
|
+
}));
|
|
80
|
+
var _pickRouteSortMeta = pickRouteSortMeta({
|
|
81
|
+
order: 0
|
|
82
|
+
}, 'group', route.meta.frontmatter),
|
|
98
83
|
title = _pickRouteSortMeta.title,
|
|
99
84
|
order = _pickRouteSortMeta.order;
|
|
85
|
+
var titleKey = title || DEFAULT_GROUP_STUB_TITLE;
|
|
86
|
+
|
|
87
|
+
// create group data by nav path & group name
|
|
88
|
+
(_ret$parentPath = ret[parentPath]) !== null && _ret$parentPath !== void 0 ? _ret$parentPath : ret[parentPath] = {};
|
|
89
|
+
ret[parentPath][titleKey] = {
|
|
90
|
+
title: title,
|
|
91
|
+
order: ((_ret$parentPath$title = ret[parentPath][titleKey]) === null || _ret$parentPath$title === void 0 ? void 0 : _ret$parentPath$title.order) || order,
|
|
92
|
+
children: [].concat(_toConsumableArray(((_ret$parentPath$title2 = ret[parentPath][titleKey]) === null || _ret$parentPath$title2 === void 0 ? void 0 : _ret$parentPath$title2.children) || []), [{
|
|
93
|
+
title: route.meta.frontmatter.title,
|
|
94
|
+
link: "/".concat(route.path),
|
|
95
|
+
order: route.meta.frontmatter.order || 0,
|
|
96
|
+
frontmatter: route.meta.frontmatter
|
|
97
|
+
}])
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return ret;
|
|
101
|
+
}, {});
|
|
100
102
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
ret[parentPath][titleKey] = {
|
|
105
|
-
title: title,
|
|
106
|
-
order: ((_ret$parentPath$title = ret[parentPath][titleKey]) === null || _ret$parentPath$title === void 0 ? void 0 : _ret$parentPath$title.order) || order,
|
|
107
|
-
children: [].concat(_toConsumableArray(((_ret$parentPath$title2 = ret[parentPath][titleKey]) === null || _ret$parentPath$title2 === void 0 ? void 0 : _ret$parentPath$title2.children) || []), [{
|
|
108
|
-
title: route.meta.frontmatter.title,
|
|
109
|
-
link: "/".concat(route.path),
|
|
110
|
-
order: route.meta.frontmatter.order || 0,
|
|
111
|
-
frontmatter: route.meta.frontmatter
|
|
112
|
-
}])
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
return ret;
|
|
117
|
-
}, {}); // destruct sidebar data into sidebar config
|
|
118
|
-
|
|
119
|
-
var sidebarConfig = Object.entries(data).reduce(function (ret, _ref2) {
|
|
120
|
-
var _ref3 = _slicedToArray(_ref2, 2),
|
|
103
|
+
// destruct sidebar data into sidebar config
|
|
104
|
+
var sidebarConfig = Object.entries(data).reduce(function (ret, _ref2) {
|
|
105
|
+
var _ref3 = _slicedToArray(_ref2, 2),
|
|
121
106
|
navPath = _ref3[0],
|
|
122
107
|
groups = _ref3[1];
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
108
|
+
ret[navPath] = Object.values(groups).sort(sidebarDataComparer);
|
|
109
|
+
// sort group children by order or title
|
|
110
|
+
ret[navPath].forEach(function (group) {
|
|
111
|
+
return group.children.sort(sidebarDataComparer);
|
|
112
|
+
});
|
|
113
|
+
return ret;
|
|
114
|
+
}, {});
|
|
115
|
+
|
|
116
|
+
// allow user partial override
|
|
117
|
+
return Object.assign(sidebarConfig, themeConfig.sidebar);
|
|
118
|
+
}),
|
|
119
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
120
|
+
sidebar = _useState2[0];
|
|
137
121
|
return sidebar;
|
|
138
122
|
};
|
|
139
|
-
|
|
140
123
|
function getLeafMeta(data) {
|
|
141
124
|
var leafMeta = {
|
|
142
125
|
order: 0,
|
|
143
126
|
title: ''
|
|
144
127
|
};
|
|
145
|
-
|
|
146
128
|
var _iterator = _createForOfIteratorHelper(data),
|
|
147
|
-
|
|
148
|
-
|
|
129
|
+
_step;
|
|
149
130
|
try {
|
|
150
131
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
151
132
|
var group = _step.value;
|
|
152
|
-
|
|
153
133
|
var _iterator2 = _createForOfIteratorHelper(group.children),
|
|
154
|
-
|
|
155
|
-
|
|
134
|
+
_step2;
|
|
156
135
|
try {
|
|
157
136
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
158
137
|
var item = _step2.value;
|
|
159
|
-
|
|
160
138
|
if ('frontmatter' in item) {
|
|
161
139
|
pickRouteSortMeta(leafMeta, 'nav', item.frontmatter);
|
|
162
140
|
}
|
|
@@ -172,92 +150,80 @@ function getLeafMeta(data) {
|
|
|
172
150
|
} finally {
|
|
173
151
|
_iterator.f();
|
|
174
152
|
}
|
|
175
|
-
|
|
176
153
|
return leafMeta;
|
|
177
154
|
}
|
|
155
|
+
|
|
178
156
|
/**
|
|
179
157
|
* hook for get full sidebar data in tree structure
|
|
180
158
|
*/
|
|
181
|
-
|
|
182
|
-
|
|
183
159
|
export var useTreeSidebarData = function useTreeSidebarData() {
|
|
184
160
|
var original = useFullSidebarData();
|
|
185
161
|
var sidebarDataComparer = useRouteDataComparer();
|
|
186
|
-
|
|
187
162
|
var _useState3 = useState(function () {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
163
|
+
var data = Object.entries(original)
|
|
164
|
+
// match from the deepest level
|
|
165
|
+
.sort(function (a, b) {
|
|
166
|
+
return b[0].split('/').length - a[0].split('/').length;
|
|
167
|
+
}).reduce(function (ret, _ref4) {
|
|
168
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
193
169
|
path = _ref5[0],
|
|
194
170
|
data = _ref5[1];
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
path
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
171
|
+
var parent = path.replace(/\/[^/]+$/, '');
|
|
172
|
+
if (parent) {
|
|
173
|
+
var _ret$parent;
|
|
174
|
+
// handle nested sidebar data
|
|
175
|
+
// init parent first
|
|
176
|
+
(_ret$parent = ret[parent]) !== null && _ret$parent !== void 0 ? _ret$parent : ret[parent] = _objectSpread({
|
|
177
|
+
path: parent,
|
|
178
|
+
children: original[parent] || []
|
|
179
|
+
}, getLeafMeta(original[parent] || []));
|
|
180
|
+
if (ret[path]) {
|
|
181
|
+
// sort children first
|
|
182
|
+
ret[path].children.sort(sidebarDataComparer);
|
|
183
|
+
// put n-level sidebar data as parent children
|
|
184
|
+
ret[parent].children.push(ret[path]);
|
|
185
|
+
delete ret[path];
|
|
186
|
+
} else {
|
|
187
|
+
var _ret$parent$children;
|
|
188
|
+
// put last-level sidebar data as parent children
|
|
189
|
+
(_ret$parent$children = ret[parent].children).push.apply(_ret$parent$children, _toConsumableArray(data));
|
|
190
|
+
}
|
|
214
191
|
} else {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
// put
|
|
218
|
-
|
|
192
|
+
// sort children first
|
|
193
|
+
data.sort(sidebarDataComparer);
|
|
194
|
+
// put top-level sidebar data
|
|
195
|
+
ret[path] = _objectSpread({
|
|
196
|
+
path: path,
|
|
197
|
+
children: data
|
|
198
|
+
}, getLeafMeta(data));
|
|
219
199
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
children: data
|
|
227
|
-
}, getLeafMeta(data));
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
return ret;
|
|
231
|
-
}, {});
|
|
232
|
-
return Object.values(data);
|
|
233
|
-
}),
|
|
234
|
-
_useState4 = _slicedToArray(_useState3, 1),
|
|
235
|
-
sidebar = _useState4[0];
|
|
236
|
-
|
|
200
|
+
return ret;
|
|
201
|
+
}, {});
|
|
202
|
+
return Object.values(data);
|
|
203
|
+
}),
|
|
204
|
+
_useState4 = _slicedToArray(_useState3, 1),
|
|
205
|
+
sidebar = _useState4[0];
|
|
237
206
|
return sidebar;
|
|
238
207
|
};
|
|
208
|
+
|
|
239
209
|
/**
|
|
240
210
|
* hook for get sidebar data for current nav
|
|
241
211
|
*/
|
|
242
|
-
|
|
243
212
|
export var useSidebarData = function useSidebarData() {
|
|
244
213
|
var locale = useLocale();
|
|
245
214
|
var sidebar = useFullSidebarData();
|
|
246
|
-
|
|
247
215
|
var _useSiteData2 = useSiteData(),
|
|
248
|
-
|
|
249
|
-
|
|
216
|
+
is2LevelNav = _useSiteData2._2_level_nav_available;
|
|
250
217
|
var _useLocation = useLocation(),
|
|
251
|
-
|
|
252
|
-
|
|
218
|
+
pathname = _useLocation.pathname;
|
|
253
219
|
var meta = useRouteMeta();
|
|
254
|
-
var clearPath = getLocaleClearPath(pathname.slice(1), locale);
|
|
220
|
+
var clearPath = getLocaleClearPath(pathname.slice(1), locale);
|
|
221
|
+
// extract parent path from location pathname
|
|
255
222
|
// /a => /a
|
|
256
223
|
// /a/b => /a
|
|
257
224
|
// /en-US/a => /en-US/a
|
|
258
225
|
// /en-US/a/b => /en-US/a
|
|
259
226
|
// /en-US/a/b/ => /en-US/a (also strip trailing /)
|
|
260
|
-
|
|
261
227
|
var parentPath = clearPath ? pathname.replace(clearPath, function (s) {
|
|
262
228
|
return getRouteParentPath(s, {
|
|
263
229
|
is2LevelNav: is2LevelNav,
|
|
@@ -14,7 +14,7 @@ export interface ISearchNavResult {
|
|
|
14
14
|
highlightTexts: IHighlightText[];
|
|
15
15
|
}[];
|
|
16
16
|
}
|
|
17
|
-
export
|
|
17
|
+
export type ISearchResult = ISearchNavResult[];
|
|
18
18
|
export declare const useSiteSearch: () => {
|
|
19
19
|
keywords: string;
|
|
20
20
|
setKeywords: (val: string) => void;
|
|
@@ -1,59 +1,47 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1
2
|
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; }
|
|
2
|
-
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
7
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
-
|
|
9
8
|
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."); }
|
|
10
|
-
|
|
11
9
|
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); }
|
|
12
|
-
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
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; }
|
|
16
|
-
|
|
10
|
+
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; }
|
|
11
|
+
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; } }
|
|
17
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
18
|
-
|
|
19
13
|
import { useNavData, useSiteData } from 'dumi';
|
|
20
14
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
21
|
-
import { useLocaleDocRoutes } from "../utils";
|
|
22
|
-
|
|
15
|
+
import { useLocaleDocRoutes } from "../utils";
|
|
16
|
+
// @ts-ignore
|
|
23
17
|
import workerCode from '-!../../../../compiled/_internal/searchWorker.min?dumi-raw';
|
|
24
|
-
var worker;
|
|
18
|
+
var worker;
|
|
25
19
|
|
|
20
|
+
// for ssr
|
|
26
21
|
if (typeof window !== 'undefined') {
|
|
27
22
|
// use blob to avoid generate entry(chunk) for worker
|
|
28
23
|
worker = new Worker(URL.createObjectURL(new Blob([workerCode], {
|
|
29
24
|
type: 'application/javascript'
|
|
30
25
|
})));
|
|
31
26
|
}
|
|
32
|
-
|
|
33
27
|
export var useSiteSearch = function useSiteSearch() {
|
|
34
28
|
var debounceTimer = useRef();
|
|
35
29
|
var routes = useLocaleDocRoutes();
|
|
36
|
-
|
|
37
30
|
var _useSiteData = useSiteData(),
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
demos = _useSiteData.demos;
|
|
40
32
|
var _useState = useState(false),
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
34
|
+
loading = _useState2[0],
|
|
35
|
+
setLoading = _useState2[1];
|
|
45
36
|
var _useState3 = useState(''),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
37
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
38
|
+
keywords = _useState4[0],
|
|
39
|
+
setKeywords = _useState4[1];
|
|
50
40
|
var navData = useNavData();
|
|
51
|
-
|
|
52
41
|
var _useState5 = useState([]),
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
42
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
43
|
+
result = _useState6[0],
|
|
44
|
+
setResult = _useState6[1];
|
|
57
45
|
var setter = useCallback(function (val) {
|
|
58
46
|
setLoading(true);
|
|
59
47
|
setKeywords(val);
|
|
@@ -68,11 +56,10 @@ export var useSiteSearch = function useSiteSearch() {
|
|
|
68
56
|
// omit demo component for postmessage
|
|
69
57
|
var demoData = Object.entries(demos).reduce(function (acc, _ref) {
|
|
70
58
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
59
|
+
key = _ref2[0],
|
|
60
|
+
_ref2$ = _ref2[1],
|
|
61
|
+
asset = _ref2$.asset,
|
|
62
|
+
routeId = _ref2$.routeId;
|
|
76
63
|
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, {
|
|
77
64
|
asset: asset,
|
|
78
65
|
routeId: routeId
|
|
@@ -89,7 +76,6 @@ export var useSiteSearch = function useSiteSearch() {
|
|
|
89
76
|
}, [routes, demos, navData]);
|
|
90
77
|
useEffect(function () {
|
|
91
78
|
var str = keywords.trim();
|
|
92
|
-
|
|
93
79
|
if (str) {
|
|
94
80
|
clearTimeout(debounceTimer.current);
|
|
95
81
|
debounceTimer.current = window.setTimeout(function () {
|
|
@@ -1,26 +1,18 @@
|
|
|
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 { history, useLocation, useRouteMeta, useSearchParams } from 'dumi';
|
|
14
8
|
import { useCallback } from 'react';
|
|
15
9
|
export var TAB_QUERY_KEY = 'tab';
|
|
16
10
|
export var useTabQueryState = function useTabQueryState() {
|
|
17
11
|
var _useLocation = useLocation(),
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
pathname = _useLocation.pathname;
|
|
20
13
|
var _useSearchParams = useSearchParams(),
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
_useSearchParams2 = _slicedToArray(_useSearchParams, 1),
|
|
15
|
+
params = _useSearchParams2[0];
|
|
24
16
|
var setTabQueryState = useCallback(function (val) {
|
|
25
17
|
if (val) params.set(TAB_QUERY_KEY, val);else params.delete(TAB_QUERY_KEY);
|
|
26
18
|
history.push({
|
|
@@ -32,14 +24,11 @@ export var useTabQueryState = function useTabQueryState() {
|
|
|
32
24
|
};
|
|
33
25
|
export var useTabMeta = function useTabMeta() {
|
|
34
26
|
var _tabs$find;
|
|
35
|
-
|
|
36
27
|
var _useRouteMeta = useRouteMeta(),
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
tabs = _useRouteMeta.tabs;
|
|
39
29
|
var _useTabQueryState = useTabQueryState(),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
30
|
+
_useTabQueryState2 = _slicedToArray(_useTabQueryState, 1),
|
|
31
|
+
tabKey = _useTabQueryState2[0];
|
|
43
32
|
return tabs === null || tabs === void 0 ? void 0 : (_tabs$find = tabs.find(function (_ref) {
|
|
44
33
|
var key = _ref.key;
|
|
45
34
|
return tabKey === key;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PluginManager } from 'dumi';
|
|
2
|
-
import {
|
|
2
|
+
import { useEffect } from 'react';
|
|
3
3
|
import type { ILocale, INav, INavItem, IRouteMeta, IRoutesById, IUserNavValue } from './types';
|
|
4
4
|
/**
|
|
5
5
|
* private instance, do not use it in your code
|
|
@@ -13,7 +13,7 @@ export declare const useLocaleDocRoutes: () => IRoutesById;
|
|
|
13
13
|
* @returns code string
|
|
14
14
|
*/
|
|
15
15
|
export declare const genReactRenderCode: (version: string) => string;
|
|
16
|
-
export declare const useIsomorphicLayoutEffect: typeof
|
|
16
|
+
export declare const useIsomorphicLayoutEffect: typeof useEffect;
|
|
17
17
|
/**
|
|
18
18
|
* common comparer for sidebar/nav items
|
|
19
19
|
*/
|