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.
Files changed (128) hide show
  1. package/compiled/crates/swc_plugin_react_demo.wasm +0 -0
  2. package/dist/assetParsers/atom.js +15 -5
  3. package/dist/assetParsers/block.js +27 -9
  4. package/dist/cli.js +8 -1
  5. package/dist/client/pages/Demo/index.js +3 -8
  6. package/dist/client/theme-api/AtomRenderer.d.ts +2 -2
  7. package/dist/client/theme-api/AtomRenderer.js +19 -35
  8. package/dist/client/theme-api/DumiDemo.js +8 -13
  9. package/dist/client/theme-api/DumiDemoGrid.js +12 -26
  10. package/dist/client/theme-api/DumiPage.js +16 -34
  11. package/dist/client/theme-api/openCodeSandbox.js +18 -23
  12. package/dist/client/theme-api/openStackBlitz.js +6 -14
  13. package/dist/client/theme-api/types.d.ts +15 -12
  14. package/dist/client/theme-api/useAtomAssets.js +1 -2
  15. package/dist/client/theme-api/useLocale.js +10 -19
  16. package/dist/client/theme-api/useNavData.js +78 -103
  17. package/dist/client/theme-api/usePrefersColor.d.ts +2 -2
  18. package/dist/client/theme-api/usePrefersColor.js +39 -66
  19. package/dist/client/theme-api/useRouteMeta.js +9 -23
  20. package/dist/client/theme-api/useSidebarData.js +124 -158
  21. package/dist/client/theme-api/useSiteSearch/index.d.ts +1 -1
  22. package/dist/client/theme-api/useSiteSearch/index.js +24 -38
  23. package/dist/client/theme-api/useTabMeta.js +8 -19
  24. package/dist/client/theme-api/utils.d.ts +2 -2
  25. package/dist/client/theme-api/utils.js +33 -47
  26. package/dist/client/typings.d.ts +0 -5
  27. package/dist/features/assets.js +23 -4
  28. package/dist/features/autoAlias.js +8 -3
  29. package/dist/features/compile/babelLoaderCustomize.js +0 -2
  30. package/dist/features/compile/index.js +20 -9
  31. package/dist/features/configPlugins/index.js +3 -4
  32. package/dist/features/configPlugins/schema.d.ts +1 -1
  33. package/dist/features/configPlugins/schema.js +20 -3
  34. package/dist/features/derivative.js +54 -11
  35. package/dist/features/exportStatic.js +11 -7
  36. package/dist/features/exports.js +8 -3
  37. package/dist/features/html2sketch.js +7 -5
  38. package/dist/features/locales.js +53 -17
  39. package/dist/features/meta.js +23 -10
  40. package/dist/features/parser.js +17 -5
  41. package/dist/features/routes.js +63 -24
  42. package/dist/features/sideEffects/docSideEffectsWebpackPlugin.js +27 -16
  43. package/dist/features/sideEffects/index.js +13 -4
  44. package/dist/features/sitemap.js +17 -5
  45. package/dist/features/tabs.js +23 -11
  46. package/dist/features/theme/index.js +133 -38
  47. package/dist/features/theme/loader.js +23 -7
  48. package/dist/index.js +10 -2
  49. package/dist/loaders/demo/index.js +3 -3
  50. package/dist/loaders/markdown/index.d.ts +1 -1
  51. package/dist/loaders/markdown/index.js +36 -24
  52. package/dist/loaders/markdown/transformer/index.d.ts +2 -1
  53. package/dist/loaders/markdown/transformer/index.js +34 -17
  54. package/dist/loaders/markdown/transformer/rehypeDemo.d.ts +3 -1
  55. package/dist/loaders/markdown/transformer/rehypeDemo.js +125 -68
  56. package/dist/loaders/markdown/transformer/rehypeDesc.js +8 -3
  57. package/dist/loaders/markdown/transformer/rehypeEnhancedTag.js +8 -3
  58. package/dist/loaders/markdown/transformer/rehypeHighlightLine.js +8 -3
  59. package/dist/loaders/markdown/transformer/rehypeImg.js +8 -3
  60. package/dist/loaders/markdown/transformer/rehypeIsolation.js +36 -21
  61. package/dist/loaders/markdown/transformer/rehypeJsxify.js +8 -3
  62. package/dist/loaders/markdown/transformer/rehypeLink.d.ts +1 -1
  63. package/dist/loaders/markdown/transformer/rehypeLink.js +24 -9
  64. package/dist/loaders/markdown/transformer/rehypeRaw.d.ts +1 -1
  65. package/dist/loaders/markdown/transformer/rehypeRaw.js +20 -6
  66. package/dist/loaders/markdown/transformer/rehypeSlug.js +16 -3
  67. package/dist/loaders/markdown/transformer/rehypeStrip.js +8 -3
  68. package/dist/loaders/markdown/transformer/rehypeText.js +14 -5
  69. package/dist/loaders/markdown/transformer/remarkBreaks.js +16 -5
  70. package/dist/loaders/markdown/transformer/remarkContainer.js +28 -13
  71. package/dist/loaders/markdown/transformer/remarkEmbed.js +43 -21
  72. package/dist/loaders/markdown/transformer/remarkMeta.d.ts +3 -1
  73. package/dist/loaders/markdown/transformer/remarkMeta.js +39 -9
  74. package/dist/loaders/page/index.js +12 -4
  75. package/dist/loaders/pre-raw/index.js +0 -2
  76. package/dist/preset.js +8 -3
  77. package/dist/registerMethods.js +0 -2
  78. package/dist/service/dev.js +8 -1
  79. package/dist/service/printHelp.js +3 -1
  80. package/dist/techStacks/react.js +8 -3
  81. package/dist/types.d.ts +6 -6
  82. package/dist/utils.d.ts +1 -1
  83. package/dist/utils.js +15 -6
  84. package/package.json +11 -9
  85. package/theme-default/builtins/API/index.js +15 -36
  86. package/theme-default/builtins/Badge/index.js +0 -3
  87. package/theme-default/builtins/Container/index.js +6 -15
  88. package/theme-default/builtins/Previewer/index.js +1 -8
  89. package/theme-default/builtins/SourceCode/index.js +15 -27
  90. package/theme-default/builtins/Table/index.js +10 -25
  91. package/theme-default/builtins/Tree/index.js +13 -44
  92. package/theme-default/layouts/DocLayout/index.js +14 -27
  93. package/theme-default/locales/en-US.json +4 -0
  94. package/theme-default/locales/zh-CN.json +4 -0
  95. package/theme-default/slots/ColorSwitch/index.js +7 -22
  96. package/theme-default/slots/Content/index.js +5 -7
  97. package/theme-default/slots/Content/index.less +16 -1
  98. package/theme-default/slots/ContentFooter/index.d.ts +4 -0
  99. package/theme-default/slots/ContentFooter/index.js +93 -0
  100. package/theme-default/slots/ContentFooter/index.less +163 -0
  101. package/theme-default/slots/ContentTabs/index.d.ts +1 -1
  102. package/theme-default/slots/ContentTabs/index.js +5 -5
  103. package/theme-default/slots/Features/index.js +6 -11
  104. package/theme-default/slots/Footer/index.js +1 -4
  105. package/theme-default/slots/Header/index.js +7 -18
  106. package/theme-default/slots/HeaderExtra/index.js +0 -2
  107. package/theme-default/slots/Hero/index.js +2 -6
  108. package/theme-default/slots/HeroTitle/index.js +0 -2
  109. package/theme-default/slots/LangSwitch/index.js +23 -35
  110. package/theme-default/slots/Logo/index.js +1 -4
  111. package/theme-default/slots/Navbar/index.js +14 -29
  112. package/theme-default/slots/NavbarExtra/index.js +0 -2
  113. package/theme-default/slots/NotFound/index.js +0 -2
  114. package/theme-default/slots/PreviewerActions/index.js +13 -35
  115. package/theme-default/slots/PreviewerActionsExtra/index.js +0 -2
  116. package/theme-default/slots/RtlSwitch/index.js +6 -20
  117. package/theme-default/slots/RtlSwitch/index.less +5 -0
  118. package/theme-default/slots/SearchBar/Input.d.ts +1 -1
  119. package/theme-default/slots/SearchBar/Input.js +6 -5
  120. package/theme-default/slots/SearchBar/Mask.d.ts +1 -1
  121. package/theme-default/slots/SearchBar/Mask.js +0 -1
  122. package/theme-default/slots/SearchBar/index.js +20 -41
  123. package/theme-default/slots/SearchResult/index.d.ts +1 -1
  124. package/theme-default/slots/SearchResult/index.js +13 -36
  125. package/theme-default/slots/Sidebar/index.js +1 -4
  126. package/theme-default/slots/SocialIcon/index.d.ts +2 -2
  127. package/theme-default/slots/SocialIcon/index.js +1 -3
  128. package/theme-default/slots/Toc/index.js +12 -28
@@ -1,17 +1,10 @@
1
1
  var _navigator;
2
-
3
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
-
5
3
  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."); }
6
-
7
4
  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); }
8
-
9
- 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; }
10
-
11
- 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; }
12
-
5
+ 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; }
6
+ 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; } }
13
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
-
15
8
  import { ReactComponent as IconArrowDown } from '@ant-design/icons-svg/inline-svg/outlined/arrow-down.svg';
16
9
  import { ReactComponent as IconArrowUp } from '@ant-design/icons-svg/inline-svg/outlined/arrow-up.svg';
17
10
  import { ReactComponent as IconSearch } from '@ant-design/icons-svg/inline-svg/outlined/search.svg';
@@ -24,57 +17,47 @@ import { Mask } from "./Mask";
24
17
  export { Input as SearchInput } from "./Input";
25
18
  export { Mask as SearchMask } from "./Mask";
26
19
  var isAppleDevice = /(mac|iphone|ipod|ipad)/i.test(typeof navigator !== 'undefined' ? (_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.platform : '');
27
- /** Determine if the element that triggered the event is an input element */
28
20
 
21
+ /** Determine if the element that triggered the event is an input element */
29
22
  var isInput = function isInput(target) {
30
23
  return ['TEXTAREA', 'INPUT'].includes(target.tagName) || target.contentEditable === 'true';
31
24
  };
32
-
33
25
  var SearchBar = function SearchBar() {
34
26
  var _useState = useState(false),
35
- _useState2 = _slicedToArray(_useState, 2),
36
- focusing = _useState2[0],
37
- setFocusing = _useState2[1];
38
-
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ focusing = _useState2[0],
29
+ setFocusing = _useState2[1];
39
30
  var inputRef = useRef(null);
40
31
  var modalInputRef = useRef(null);
41
-
42
32
  var _useState3 = useState('⌘'),
43
- _useState4 = _slicedToArray(_useState3, 2),
44
- symbol = _useState4[0],
45
- setSymbol = _useState4[1];
46
-
33
+ _useState4 = _slicedToArray(_useState3, 2),
34
+ symbol = _useState4[0],
35
+ setSymbol = _useState4[1];
47
36
  var _useSiteSearch = useSiteSearch(),
48
- keywords = _useSiteSearch.keywords,
49
- setKeywords = _useSiteSearch.setKeywords,
50
- result = _useSiteSearch.result,
51
- loading = _useSiteSearch.loading;
52
-
37
+ keywords = _useSiteSearch.keywords,
38
+ setKeywords = _useSiteSearch.setKeywords,
39
+ result = _useSiteSearch.result,
40
+ loading = _useSiteSearch.loading;
53
41
  var _useState5 = useState(false),
54
- _useState6 = _slicedToArray(_useState5, 2),
55
- modalVisible = _useState6[0],
56
- setModalVisible = _useState6[1];
57
-
42
+ _useState6 = _slicedToArray(_useState5, 2),
43
+ modalVisible = _useState6[0],
44
+ setModalVisible = _useState6[1];
58
45
  useEffect(function () {
59
46
  // why put useEffect?
60
47
  // to avoid Text content mismatch between server & client in ssr
61
48
  if (!isAppleDevice) {
62
49
  setSymbol('Ctrl');
63
50
  }
64
-
65
51
  var handler = function handler(ev) {
66
52
  if ((isAppleDevice ? ev.metaKey : ev.ctrlKey) && ev.key === 'k' || ev.key === '/' && !isInput(ev.target)) {
67
53
  ev.preventDefault();
68
-
69
54
  if (inputRef.current) {
70
55
  var _inputRef$current$get = inputRef.current.getBoundingClientRect(),
71
- top = _inputRef$current$get.top,
72
- bottom = _inputRef$current$get.bottom,
73
- left = _inputRef$current$get.left,
74
- right = _inputRef$current$get.right;
75
-
56
+ top = _inputRef$current$get.top,
57
+ bottom = _inputRef$current$get.bottom,
58
+ left = _inputRef$current$get.left,
59
+ right = _inputRef$current$get.right;
76
60
  var isInViewport = top >= 0 && left >= 0 && bottom <= window.innerHeight && right <= window.innerWidth;
77
-
78
61
  if (isInViewport) {
79
62
  inputRef.current.focus();
80
63
  } else {
@@ -82,19 +65,16 @@ var SearchBar = function SearchBar() {
82
65
  setModalVisible(true);
83
66
  setTimeout(function () {
84
67
  var _modalInputRef$curren;
85
-
86
68
  (_modalInputRef$curren = modalInputRef.current) === null || _modalInputRef$curren === void 0 ? void 0 : _modalInputRef$curren.focus();
87
69
  });
88
70
  }
89
71
  }
90
72
  }
91
-
92
73
  if (ev.key === 'Escape') {
93
74
  ev.preventDefault();
94
75
  setModalVisible(false);
95
76
  }
96
77
  };
97
-
98
78
  document.addEventListener('keydown', handler);
99
79
  return function () {
100
80
  return document.removeEventListener('keydown', handler);
@@ -183,5 +163,4 @@ var SearchBar = function SearchBar() {
183
163
  className: "dumi-default-search-modal-commands-text"
184
164
  }, "to close"))))));
185
165
  };
186
-
187
166
  export default SearchBar;
@@ -1,7 +1,7 @@
1
1
  import { type useSiteSearch } from 'dumi';
2
2
  import { type FC } from 'react';
3
3
  import './index.less';
4
- declare type ISearchResult = ReturnType<typeof useSiteSearch>['result'];
4
+ type ISearchResult = ReturnType<typeof useSiteSearch>['result'];
5
5
  declare const SearchResult: FC<{
6
6
  data: ISearchResult;
7
7
  loading: boolean;
@@ -1,20 +1,13 @@
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 _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; }
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 IconInbox } from '@ant-design/icons-svg/inline-svg/outlined/inbox.svg';
14
8
  import { FormattedMessage, history, Link } from 'dumi';
15
9
  import React, { Fragment, useCallback, useEffect, useState } from 'react';
16
10
  import "./index.less";
17
-
18
11
  var IconTitle = function IconTitle() {
19
12
  return /*#__PURE__*/React.createElement("svg", {
20
13
  viewBox: "0 0 32 32",
@@ -27,7 +20,6 @@ var IconTitle = function IconTitle() {
27
20
  d: "M5.333 18.667h21.334c.889 0 1.333.444 1.333 1.333s-.444 1.333-1.333 1.333H5.333C4.444 21.333 4 20.89 4 20s.444-1.333 1.333-1.333Z"
28
21
  }));
29
22
  };
30
-
31
23
  var IconPage = function IconPage() {
32
24
  return /*#__PURE__*/React.createElement("svg", {
33
25
  viewBox: "0 0 32 32",
@@ -36,7 +28,6 @@ var IconPage = function IconPage() {
36
28
  d: "M9.402 0h14.78L30 6.16V24.5c0 1.933-1.71 3.5-3.589 3.5H9.401C7.524 28 6 26.433 6 24.5v-21C6 1.567 7.523 0 9.402 0ZM23 2v4.183c0 .451.366.817.817.817H28l-5-5Zm3.333 24c.92 0 1.667-.768 1.667-1.714V8.857h-5c-.92 0-1.667-.767-1.667-1.714V2H9.667C8.747 2 8 2.768 8 3.714v20.572C8 25.232 8.746 26 9.667 26h16.666Z"
37
29
  }));
38
30
  };
39
-
40
31
  var IconContent = function IconContent() {
41
32
  return /*#__PURE__*/React.createElement("svg", {
42
33
  viewBox: "0 0 32 32",
@@ -45,7 +36,6 @@ var IconContent = function IconContent() {
45
36
  d: "M6.12 14.589h6.628l1.52 4.004h2.485l-5.938-15.19H8.053L2.115 18.732H4.6l1.52-4.143ZM8.88 6.855c.139-.414.277-.828.415-1.38h.138c0 .138.138.414.414 1.104 0 .138.138.276.138.276 0 .138.829 2.072 2.21 5.938H6.672c1.519-3.866 2.21-5.8 2.21-5.938Zm8.148 2.348h12.705v1.933H17.029V9.203ZM2.115 20.665h27.619v1.933H2.114v-1.933Zm14.914-5.662h12.705v1.933H17.029v-1.933ZM2.115 26.327h27.619v1.933H2.114v-1.933ZM17.029 3.54h12.705v1.934H17.029V3.54Z"
46
37
  }));
47
38
  };
48
-
49
39
  var IconDemo = function IconDemo() {
50
40
  return /*#__PURE__*/React.createElement("svg", {
51
41
  viewBox: "0 0 32 32",
@@ -54,14 +44,12 @@ var IconDemo = function IconDemo() {
54
44
  d: "M28 6h-5a5 5 0 0 0-10 0H8a2 2 0 0 0-2 2v5a5 5 0 0 0 0 10v5a2 2 0 0 0 2 2h7v-2a3 3 0 0 1 6 0v2h7a2 2 0 0 0 2-2v-7h-2a3 3 0 0 1 0-6h2V8a2 2 0 0 0-2-2Zm-5 12a5 5 0 0 0 5 5v5h-5a5 5 0 0 0-10 0H8v-7H6a3 3 0 0 1 0-6h2V8h7V6a3 3 0 0 1 6 0v2h7v5a5 5 0 0 0-5 5Z"
55
45
  }));
56
46
  };
57
-
58
47
  var ICONS_MAPPING = {
59
48
  title: IconTitle,
60
49
  page: IconPage,
61
50
  content: IconContent,
62
51
  demo: IconDemo
63
52
  };
64
-
65
53
  var Highlight = function Highlight(props) {
66
54
  return /*#__PURE__*/React.createElement(React.Fragment, null, props.texts.map(function (text, idx) {
67
55
  return /*#__PURE__*/React.createElement(Fragment, {
@@ -69,7 +57,6 @@ var Highlight = function Highlight(props) {
69
57
  }, text.highlighted ? /*#__PURE__*/React.createElement("mark", null, text.text) : text.text);
70
58
  }));
71
59
  };
72
-
73
60
  var useFlatSearchData = function useFlatSearchData(data) {
74
61
  var update = useCallback(function () {
75
62
  var activeIndex = 0;
@@ -83,7 +70,6 @@ var useFlatSearchData = function useFlatSearchData(data) {
83
70
  }
84
71
  });
85
72
  }
86
-
87
73
  item.hints.forEach(function (hint) {
88
74
  ret.push({
89
75
  type: 'hint',
@@ -94,29 +80,24 @@ var useFlatSearchData = function useFlatSearchData(data) {
94
80
  });
95
81
  return [ret, activeIndex];
96
82
  }, [data]);
97
-
98
83
  var _useState = useState(update),
99
- _useState2 = _slicedToArray(_useState, 2),
100
- flatData = _useState2[0],
101
- setFlatData = _useState2[1];
102
-
84
+ _useState2 = _slicedToArray(_useState, 2),
85
+ flatData = _useState2[0],
86
+ setFlatData = _useState2[1];
103
87
  useEffect(function () {
104
88
  setFlatData(update);
105
89
  }, [data]);
106
90
  return flatData;
107
91
  };
108
-
109
92
  var SearchResult = function SearchResult(props) {
110
93
  var _useFlatSearchData = useFlatSearchData(props.data),
111
- _useFlatSearchData2 = _slicedToArray(_useFlatSearchData, 2),
112
- data = _useFlatSearchData2[0],
113
- histsCount = _useFlatSearchData2[1];
114
-
94
+ _useFlatSearchData2 = _slicedToArray(_useFlatSearchData, 2),
95
+ data = _useFlatSearchData2[0],
96
+ histsCount = _useFlatSearchData2[1];
115
97
  var _useState3 = useState(-1),
116
- _useState4 = _slicedToArray(_useState3, 2),
117
- activeIndex = _useState4[0],
118
- setActiveIndex = _useState4[1];
119
-
98
+ _useState4 = _slicedToArray(_useState3, 2),
99
+ activeIndex = _useState4[0],
100
+ setActiveIndex = _useState4[1];
120
101
  useEffect(function () {
121
102
  var handler = function handler(ev) {
122
103
  // TODO: scroll into view for invisible items
@@ -126,7 +107,6 @@ var SearchResult = function SearchResult(props) {
126
107
  setActiveIndex((activeIndex + histsCount - 1) % histsCount);
127
108
  } else if (ev.key === 'Enter' && activeIndex >= 0) {
128
109
  var _props$onItemSelect;
129
-
130
110
  var _item = data.find(function (item) {
131
111
  return item.type === 'hint' && item.activeIndex === activeIndex;
132
112
  }).value;
@@ -134,12 +114,10 @@ var SearchResult = function SearchResult(props) {
134
114
  (_props$onItemSelect = props.onItemSelect) === null || _props$onItemSelect === void 0 ? void 0 : _props$onItemSelect.call(props, _item);
135
115
  document.activeElement.blur();
136
116
  }
137
-
138
117
  if (['Escape', 'Enter'].includes(ev.key)) {
139
118
  setActiveIndex(-1);
140
119
  }
141
120
  };
142
-
143
121
  document.addEventListener('keydown', handler);
144
122
  return function () {
145
123
  return document.removeEventListener('keydown', handler);
@@ -149,7 +127,8 @@ var SearchResult = function SearchResult(props) {
149
127
  className: "dumi-default-search-result",
150
128
  onMouseEnter: function onMouseEnter() {
151
129
  return setActiveIndex(-1);
152
- } // for ux, only hide result when mouse up
130
+ }
131
+ // for ux, only hide result when mouse up
153
132
  ,
154
133
  onMouseDownCapture: function onMouseDownCapture(ev) {
155
134
  return ev.preventDefault();
@@ -167,7 +146,6 @@ var SearchResult = function SearchResult(props) {
167
146
  "data-active": activeIndex === item.activeIndex || undefined,
168
147
  onClick: function onClick() {
169
148
  var _props$onItemSelect2;
170
-
171
149
  return (_props$onItemSelect2 = props.onItemSelect) === null || _props$onItemSelect2 === void 0 ? void 0 : _props$onItemSelect2.call(props, item.value);
172
150
  }
173
151
  }, /*#__PURE__*/React.createElement(ICONS_MAPPING[item.value.type]), /*#__PURE__*/React.createElement("h4", null, /*#__PURE__*/React.createElement(Highlight, {
@@ -181,5 +159,4 @@ var SearchResult = function SearchResult(props) {
181
159
  id: "search.not.found"
182
160
  })));
183
161
  };
184
-
185
162
  export default SearchResult;
@@ -2,11 +2,9 @@ import { NavLink, useLocation, useRouteMeta, useSidebarData } from 'dumi';
2
2
  import Toc from 'dumi/theme/slots/Toc';
3
3
  import React from 'react';
4
4
  import "./index.less";
5
-
6
5
  var Sidebar = function Sidebar() {
7
6
  var _useLocation = useLocation(),
8
- pathname = _useLocation.pathname;
9
-
7
+ pathname = _useLocation.pathname;
10
8
  var meta = useRouteMeta();
11
9
  var sidebar = useSidebarData();
12
10
  if (!sidebar) return null;
@@ -27,5 +25,4 @@ var Sidebar = function Sidebar() {
27
25
  }));
28
26
  }));
29
27
  };
30
-
31
28
  export default Sidebar;
@@ -1,11 +1,11 @@
1
1
  import { SocialTypes } from "../../../theme-api/types";
2
2
  import { FunctionComponent, type FC } from 'react';
3
3
  import './index.less';
4
- export declare type SocialIconProps = {
4
+ export type SocialIconProps = {
5
5
  icon: SocialTypes;
6
6
  link: string;
7
7
  };
8
- export declare type PresetSocialIcon = {
8
+ export type PresetSocialIcon = {
9
9
  Icon: FunctionComponent;
10
10
  titleIntlId: string;
11
11
  };
@@ -19,10 +19,9 @@ var presetIconMap = {
19
19
  yuque: IconYuque,
20
20
  linkedin: IconLinkedin
21
21
  };
22
-
23
22
  var SocialIcon = function SocialIcon(props) {
24
23
  var icon = props.icon,
25
- link = props.link;
24
+ link = props.link;
26
25
  var intl = useIntl();
27
26
  var preset = useMemo(function () {
28
27
  return {
@@ -41,5 +40,4 @@ var SocialIcon = function SocialIcon(props) {
41
40
  rel: "noreferrer"
42
41
  }, /*#__PURE__*/React.createElement(preset.Icon, null));
43
42
  };
44
-
45
43
  export default SocialIcon;
@@ -1,49 +1,34 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
-
5
3
  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."); }
6
-
7
4
  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); }
8
-
9
- 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; }
10
-
11
- 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; }
12
-
5
+ 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; }
6
+ 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; } }
13
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
-
15
8
  import { Scrollspy as ScrollSpy } from '@makotot/ghostui/src/Scrollspy';
16
9
  import { history, Link, useLocation, useRouteMeta, useSiteData, useTabMeta } from 'dumi';
17
10
  import React, { useEffect, useRef, useState } from 'react';
18
11
  import "./index.less";
19
-
20
12
  var Toc = function Toc() {
21
13
  var _useLocation = useLocation(),
22
- pathname = _useLocation.pathname,
23
- search = _useLocation.search,
24
- hash = _useLocation.hash;
25
-
14
+ pathname = _useLocation.pathname,
15
+ search = _useLocation.search,
16
+ hash = _useLocation.hash;
26
17
  var meta = useRouteMeta();
27
18
  var tabMeta = useTabMeta();
28
-
29
19
  var _useSiteData = useSiteData(),
30
- loading = _useSiteData.loading;
31
-
20
+ loading = _useSiteData.loading;
32
21
  var prevIndexRef = useRef(0);
33
-
34
22
  var _useState = useState([]),
35
- _useState2 = _slicedToArray(_useState, 2),
36
- sectionRefs = _useState2[0],
37
- setSectionRefs = _useState2[1];
38
-
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ sectionRefs = _useState2[0],
25
+ setSectionRefs = _useState2[1];
39
26
  var memoToc = React.useMemo(function () {
40
27
  var toc = meta.toc;
41
-
42
28
  if (tabMeta) {
43
29
  toc = tabMeta.toc;
44
- } // only render h2 ~ h4
45
-
46
-
30
+ }
31
+ // only render h2 ~ h4
47
32
  return toc.filter(function (_ref) {
48
33
  var depth = _ref.depth;
49
34
  return depth > 1 && depth < 4;
@@ -83,7 +68,7 @@ var Toc = function Toc() {
83
68
  to: link,
84
69
  onClickCapture: function onClickCapture() {
85
70
  if (decodeURIComponent(hash).slice(1) === item.id) {
86
- history.replace(search);
71
+ history.replace("".concat(pathname).concat(search));
87
72
  }
88
73
  },
89
74
  title: item.title
@@ -93,5 +78,4 @@ var Toc = function Toc() {
93
78
  }));
94
79
  }) : null;
95
80
  };
96
-
97
81
  export default Toc;