dumi 2.2.1 → 2.2.3
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,21 +1,14 @@
|
|
|
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 sdk from '@stackblitz/sdk';
|
|
14
8
|
import { ApplyPluginsType } from 'dumi';
|
|
15
9
|
import { genReactRenderCode, pluginManager } from "./utils";
|
|
16
10
|
export var openStackBlitz = function openStackBlitz(data) {
|
|
17
11
|
var _data$asset$dependenc, _react, _deps$_react, _reactDom, _deps$_reactDom;
|
|
18
|
-
|
|
19
12
|
var isTSX = Boolean((_data$asset$dependenc = data.asset.dependencies) === null || _data$asset$dependenc === void 0 ? void 0 : _data$asset$dependenc['index.tsx']);
|
|
20
13
|
var ext = isTSX ? '.tsx' : '.jsx';
|
|
21
14
|
var deps = {};
|
|
@@ -31,11 +24,10 @@ export var openStackBlitz = function openStackBlitz(data) {
|
|
|
31
24
|
};
|
|
32
25
|
Object.entries(data.asset.dependencies).forEach(function (_ref) {
|
|
33
26
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
name = _ref2[0],
|
|
28
|
+
_ref2$ = _ref2[1],
|
|
29
|
+
type = _ref2$.type,
|
|
30
|
+
value = _ref2$.value;
|
|
39
31
|
if (type === 'NPM') {
|
|
40
32
|
// generate dependencies
|
|
41
33
|
deps[name] = value;
|
|
@@ -90,6 +90,7 @@ export interface IRouteMeta {
|
|
|
90
90
|
};
|
|
91
91
|
atomId?: string;
|
|
92
92
|
filename?: string;
|
|
93
|
+
lastUpdated?: number;
|
|
93
94
|
debug?: boolean;
|
|
94
95
|
/**
|
|
95
96
|
* Control the display of the sidebar menu.
|
|
@@ -140,16 +141,16 @@ export interface IRouteMeta {
|
|
|
140
141
|
*/
|
|
141
142
|
_atom_route?: boolean;
|
|
142
143
|
}
|
|
143
|
-
|
|
144
|
+
type IBasicLocale = {
|
|
144
145
|
id: string;
|
|
145
146
|
name: string;
|
|
146
147
|
};
|
|
147
|
-
export
|
|
148
|
+
export type ILocale = (IBasicLocale & {
|
|
148
149
|
base: string;
|
|
149
150
|
}) | (IBasicLocale & {
|
|
150
151
|
suffix: string;
|
|
151
152
|
});
|
|
152
|
-
export
|
|
153
|
+
export type ILocalesConfig = ILocale[];
|
|
153
154
|
export interface INavItem {
|
|
154
155
|
title: string;
|
|
155
156
|
link?: string;
|
|
@@ -169,18 +170,18 @@ export interface ISidebarGroup {
|
|
|
169
170
|
children: ISidebarItem[];
|
|
170
171
|
[key: string]: any;
|
|
171
172
|
}
|
|
172
|
-
export
|
|
173
|
-
export
|
|
173
|
+
export type SocialTypes = 'github' | 'weibo' | 'twitter' | 'gitlab' | 'facebook' | 'zhihu' | 'yuque' | 'linkedin';
|
|
174
|
+
export type INavItems = (INavItem & {
|
|
174
175
|
children?: INavItem[];
|
|
175
176
|
})[];
|
|
176
|
-
export
|
|
177
|
-
|
|
178
|
-
export
|
|
179
|
-
export
|
|
177
|
+
export type INav = INavItems | Record<string, INavItems>;
|
|
178
|
+
type IUserNavItem = Pick<INavItem, 'title' | 'link'>;
|
|
179
|
+
export type IUserNavMode = 'override' | 'append' | 'prepend';
|
|
180
|
+
export type IUserNavItems = (IUserNavItem & {
|
|
180
181
|
children?: IUserNavItem[];
|
|
181
182
|
})[];
|
|
182
|
-
export
|
|
183
|
-
export
|
|
183
|
+
export type IUserNavValue = IUserNavItems | Record<string, IUserNavItems>;
|
|
184
|
+
export type NavWithMode<T extends IUserNavValue> = {
|
|
184
185
|
/**
|
|
185
186
|
* 扩展导航的模式
|
|
186
187
|
* @description
|
|
@@ -206,9 +207,11 @@ export interface IThemeConfig {
|
|
|
206
207
|
socialLinks?: {
|
|
207
208
|
[key in SocialTypes]?: string;
|
|
208
209
|
};
|
|
210
|
+
editLink?: boolean | string;
|
|
211
|
+
lastUpdated?: boolean;
|
|
209
212
|
[key: string]: any;
|
|
210
213
|
}
|
|
211
|
-
export
|
|
214
|
+
export type IRoutesById = Record<string, {
|
|
212
215
|
path?: string;
|
|
213
216
|
parentId?: string;
|
|
214
217
|
meta?: IRouteMeta;
|
|
@@ -1,31 +1,22 @@
|
|
|
1
1
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
-
|
|
3
2
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
3
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10
|
-
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
11
6
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
-
|
|
13
7
|
import { useIntl, useSiteData } from 'dumi';
|
|
14
8
|
import { useState } from 'react';
|
|
15
9
|
export var useLocale = function useLocale() {
|
|
16
10
|
var intl = useIntl();
|
|
17
|
-
|
|
18
11
|
var _useSiteData = useSiteData(),
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
locales = _useSiteData.locales;
|
|
21
13
|
var _useState = useState(function () {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
14
|
+
return locales.find(function (_ref) {
|
|
15
|
+
var id = _ref.id;
|
|
16
|
+
return id === intl.locale;
|
|
17
|
+
});
|
|
18
|
+
}),
|
|
19
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
20
|
+
locale = _useState2[0];
|
|
30
21
|
return locale;
|
|
31
22
|
};
|
|
@@ -1,33 +1,22 @@
|
|
|
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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
-
|
|
3
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
4
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
-
|
|
7
5
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
8
|
-
|
|
9
6
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
10
|
-
|
|
11
7
|
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."); }
|
|
12
|
-
|
|
13
8
|
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); }
|
|
14
|
-
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
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; }
|
|
18
|
-
|
|
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
|
+
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; } }
|
|
19
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
|
-
|
|
21
12
|
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; }
|
|
22
|
-
|
|
23
13
|
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; }
|
|
24
|
-
|
|
25
|
-
function
|
|
26
|
-
|
|
14
|
+
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; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
16
|
+
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); }
|
|
27
17
|
import { useFullSidebarData, useLocale, useSiteData } from 'dumi';
|
|
28
18
|
import { useState } from 'react';
|
|
29
19
|
import { getLocaleNav, pickRouteSortMeta, useLocaleDocRoutes, useRouteDataComparer } from "./utils";
|
|
30
|
-
|
|
31
20
|
function genNavItem(meta, groups, activePath, link) {
|
|
32
21
|
return _objectSpread({
|
|
33
22
|
title: meta.title || groups[0].title || groups[0].children[0].title,
|
|
@@ -37,113 +26,99 @@ function genNavItem(meta, groups, activePath, link) {
|
|
|
37
26
|
link: link
|
|
38
27
|
} : {});
|
|
39
28
|
}
|
|
29
|
+
|
|
40
30
|
/**
|
|
41
31
|
* hook for get nav data
|
|
42
32
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
45
33
|
export var useNavData = function useNavData() {
|
|
46
34
|
var locale = useLocale();
|
|
47
35
|
var routes = useLocaleDocRoutes();
|
|
48
|
-
|
|
49
36
|
var _useSiteData = useSiteData(),
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
37
|
+
themeConfig = _useSiteData.themeConfig,
|
|
38
|
+
is2LevelNav = _useSiteData._2_level_nav_available;
|
|
53
39
|
var sidebar = useFullSidebarData();
|
|
54
40
|
var sidebarDataComparer = useRouteDataComparer();
|
|
55
|
-
|
|
56
41
|
var _useState = useState(function () {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
42
|
+
// use user config first
|
|
43
|
+
var userNavValue = [];
|
|
44
|
+
var mode;
|
|
45
|
+
if (themeConfig.nav) {
|
|
46
|
+
// 形如:{mode: "append", value: []}
|
|
47
|
+
if ('mode' in themeConfig.nav && typeof themeConfig.nav.mode === 'string') {
|
|
48
|
+
mode = themeConfig.nav.mode;
|
|
49
|
+
userNavValue = getLocaleNav(themeConfig.nav.value, locale);
|
|
50
|
+
} else if (!('mode' in themeConfig.nav)) {
|
|
51
|
+
// 形如:[] 或 {"zh-CN": []}
|
|
52
|
+
userNavValue = getLocaleNav(themeConfig.nav, locale);
|
|
53
|
+
}
|
|
54
|
+
if (!mode || mode === 'override') return userNavValue;
|
|
69
55
|
}
|
|
70
56
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
.sort(function (_ref, _ref2) {
|
|
77
|
-
var _ref3 = _slicedToArray(_ref, 1),
|
|
57
|
+
// fallback to generate nav data from sidebar data
|
|
58
|
+
var data = Object.values(Object.entries(sidebar)
|
|
59
|
+
// make sure shallow nav item before deep
|
|
60
|
+
.sort(function (_ref, _ref2) {
|
|
61
|
+
var _ref3 = _slicedToArray(_ref, 1),
|
|
78
62
|
a = _ref3[0];
|
|
79
|
-
|
|
80
|
-
var _ref4 = _slicedToArray(_ref2, 1),
|
|
63
|
+
var _ref4 = _slicedToArray(_ref2, 1),
|
|
81
64
|
b = _ref4[0];
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
65
|
+
return a.split('/').length - b.split('/').length;
|
|
66
|
+
})
|
|
67
|
+
// convert sidebar data to nav data
|
|
68
|
+
.reduce(function (ret, _ref5) {
|
|
69
|
+
var _ref6 = _slicedToArray(_ref5, 2),
|
|
87
70
|
link = _ref6[0],
|
|
88
71
|
groups = _ref6[1];
|
|
89
|
-
|
|
90
|
-
var _ref7 = link.match(/^(\/[^/]+)([^]+)?$/),
|
|
72
|
+
var _ref7 = link.match(/^(\/[^/]+)([^]+)?$/),
|
|
91
73
|
_ref8 = _slicedToArray(_ref7, 3),
|
|
92
74
|
parentPath = _ref8[1],
|
|
93
75
|
restPath = _ref8[2];
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
return ret;
|
|
106
|
-
}, [{}, {}]),
|
|
76
|
+
var isNestedNav = Boolean(restPath) && is2LevelNav;
|
|
77
|
+
var _Object$values$reduce = Object.values(routes).reduce(function (ret, route) {
|
|
78
|
+
// find routes which within the nav path
|
|
79
|
+
if (route.path.startsWith(link.slice(1))) {
|
|
80
|
+
pickRouteSortMeta(ret[0], 'nav', route.meta.frontmatter);
|
|
81
|
+
// generate parent meta for nested nav
|
|
82
|
+
if (isNestedNav) pickRouteSortMeta(ret[1], 'nav.second', route.meta.frontmatter);
|
|
83
|
+
}
|
|
84
|
+
return ret;
|
|
85
|
+
}, [{}, {}]),
|
|
107
86
|
_Object$values$reduce2 = _slicedToArray(_Object$values$reduce, 2),
|
|
108
87
|
firstMeta = _Object$values$reduce2[0],
|
|
109
88
|
secondMeta = _Object$values$reduce2[1];
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}),
|
|
145
|
-
_useState2 = _slicedToArray(_useState, 1),
|
|
146
|
-
nav = _useState2[0];
|
|
147
|
-
|
|
89
|
+
if (isNestedNav) {
|
|
90
|
+
var _firstMeta$title, _ret$parentPath, _second$children;
|
|
91
|
+
// fallback to use parent path as 1-level nav title
|
|
92
|
+
(_firstMeta$title = firstMeta.title) !== null && _firstMeta$title !== void 0 ? _firstMeta$title : firstMeta.title = parentPath.slice(1).replace(/^[a-z]/, function (s) {
|
|
93
|
+
return s.toUpperCase();
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
// handle nested nav item as parent children
|
|
97
|
+
var second = (_ret$parentPath = ret[parentPath]) !== null && _ret$parentPath !== void 0 ? _ret$parentPath : ret[parentPath] = genNavItem(firstMeta, groups, parentPath);
|
|
98
|
+
(_second$children = second.children) !== null && _second$children !== void 0 ? _second$children : second.children = [];
|
|
99
|
+
ret[parentPath].children.push(genNavItem(secondMeta, groups, link, groups[0].children[0].link));
|
|
100
|
+
} else {
|
|
101
|
+
// handle root nav item
|
|
102
|
+
ret[link] = genNavItem(firstMeta, groups, link, groups[0].children[0].link);
|
|
103
|
+
}
|
|
104
|
+
return ret;
|
|
105
|
+
}, {}));
|
|
106
|
+
data.forEach(function (item, i) {
|
|
107
|
+
var _item$children;
|
|
108
|
+
if (!item.link && ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) === 1) {
|
|
109
|
+
// hoist nav item if only one child
|
|
110
|
+
data[i] = item.children[0];
|
|
111
|
+
} else if (item.children) {
|
|
112
|
+
// sort nav item children by order or title
|
|
113
|
+
item.children.sort(sidebarDataComparer);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
// sort nav items by order or title
|
|
117
|
+
data.sort(sidebarDataComparer);
|
|
118
|
+
if (mode === 'prepend') data.unshift.apply(data, _toConsumableArray(userNavValue));else if (mode === 'append') data.push.apply(data, _toConsumableArray(userNavValue));
|
|
119
|
+
return data;
|
|
120
|
+
}),
|
|
121
|
+
_useState2 = _slicedToArray(_useState, 1),
|
|
122
|
+
nav = _useState2[0];
|
|
148
123
|
return nav;
|
|
149
124
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
1
|
+
export type IColorValue = 'light' | 'dark';
|
|
2
|
+
export type IPrefersColorValue = IColorValue | 'auto';
|
|
3
3
|
/**
|
|
4
4
|
* hook for get/set prefers-color-schema, use to control color mode for theme package
|
|
5
5
|
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
|
|
@@ -1,74 +1,57 @@
|
|
|
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
-
|
|
3
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."); }
|
|
4
|
-
|
|
5
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); }
|
|
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
|
-
|
|
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; } }
|
|
11
7
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
-
|
|
13
8
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
14
|
-
|
|
15
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
16
|
-
|
|
9
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
17
10
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
18
|
-
|
|
19
|
-
function
|
|
20
|
-
|
|
11
|
+
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; }
|
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
+
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); }
|
|
21
14
|
import { PREFERS_COLOR_ATTR, PREFERS_COLOR_LS_KEY } from "../../constants";
|
|
22
15
|
import { useSiteData } from 'dumi';
|
|
23
16
|
import { useCallback, useEffect, useState } from 'react';
|
|
24
17
|
var colorChanger;
|
|
25
|
-
|
|
26
18
|
var ColorChanger = /*#__PURE__*/function () {
|
|
27
|
-
/**
|
|
28
|
-
* current color
|
|
29
|
-
* @note exclude `auto`
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* current prefers color
|
|
34
|
-
* @note include `auto`
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* color change callbacks
|
|
39
|
-
*/
|
|
40
19
|
function ColorChanger(opts) {
|
|
41
20
|
var _this = this;
|
|
42
|
-
|
|
43
21
|
_classCallCheck(this, ColorChanger);
|
|
44
|
-
|
|
22
|
+
/**
|
|
23
|
+
* current color
|
|
24
|
+
* @note exclude `auto`
|
|
25
|
+
*/
|
|
45
26
|
_defineProperty(this, "color", void 0);
|
|
46
|
-
|
|
27
|
+
/**
|
|
28
|
+
* current prefers color
|
|
29
|
+
* @note include `auto`
|
|
30
|
+
*/
|
|
47
31
|
_defineProperty(this, "prefersColor", void 0);
|
|
48
|
-
|
|
32
|
+
/**
|
|
33
|
+
* color change callbacks
|
|
34
|
+
*/
|
|
49
35
|
_defineProperty(this, "callbacks", []);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
localStorage.getItem(PREFERS_COLOR_LS_KEY) ||
|
|
36
|
+
this.prefersColor = navigator.cookieEnabled &&
|
|
37
|
+
// read from localStorage first, because `auto` will not be set to attr
|
|
38
|
+
localStorage.getItem(PREFERS_COLOR_LS_KEY) ||
|
|
39
|
+
// then use default value from themeConfig
|
|
53
40
|
opts.default;
|
|
54
|
-
this.color = document.documentElement.getAttribute(PREFERS_COLOR_ATTR);
|
|
55
|
-
|
|
41
|
+
this.color = document.documentElement.getAttribute(PREFERS_COLOR_ATTR);
|
|
42
|
+
// listen prefers color change
|
|
56
43
|
['light', 'dark'].forEach(function (color) {
|
|
57
44
|
var mediaQueryList = _this.getColorMedia(color);
|
|
58
|
-
|
|
59
45
|
var handler = function handler(ev) {
|
|
60
46
|
// only apply media prefers color in auto mode
|
|
61
47
|
if (ev.matches && _this.prefersColor === 'auto') {
|
|
62
48
|
_this.color = color;
|
|
63
49
|
document.documentElement.setAttribute(PREFERS_COLOR_ATTR, color);
|
|
64
|
-
|
|
65
50
|
_this.applyCallbacks();
|
|
66
51
|
}
|
|
67
|
-
};
|
|
68
|
-
|
|
52
|
+
};
|
|
53
|
+
// compatible with Safari 13-
|
|
69
54
|
/* istanbul ignore else */
|
|
70
|
-
|
|
71
|
-
|
|
72
55
|
if (mediaQueryList.addEventListener) {
|
|
73
56
|
mediaQueryList.addEventListener('change', handler);
|
|
74
57
|
} else if (mediaQueryList.addListener) {
|
|
@@ -76,36 +59,34 @@ var ColorChanger = /*#__PURE__*/function () {
|
|
|
76
59
|
}
|
|
77
60
|
});
|
|
78
61
|
}
|
|
62
|
+
|
|
79
63
|
/**
|
|
80
64
|
* get media instance for prefers color
|
|
81
65
|
* @param color prefers color
|
|
82
66
|
*/
|
|
83
|
-
|
|
84
|
-
|
|
85
67
|
_createClass(ColorChanger, [{
|
|
86
68
|
key: "getColorMedia",
|
|
87
69
|
value: function getColorMedia(color) {
|
|
88
70
|
return window.matchMedia("(prefers-color-scheme: ".concat(color, ")"));
|
|
89
71
|
}
|
|
72
|
+
|
|
90
73
|
/**
|
|
91
74
|
* detect color whether matches current color mode
|
|
92
75
|
* @param color expected color
|
|
93
76
|
*/
|
|
94
|
-
|
|
95
77
|
}, {
|
|
96
78
|
key: "isColorMode",
|
|
97
79
|
value: function isColorMode(color) {
|
|
98
80
|
return this.getColorMedia(color).matches;
|
|
99
81
|
}
|
|
82
|
+
|
|
100
83
|
/**
|
|
101
84
|
* apply all event change callbacks
|
|
102
85
|
*/
|
|
103
|
-
|
|
104
86
|
}, {
|
|
105
87
|
key: "applyCallbacks",
|
|
106
88
|
value: function applyCallbacks() {
|
|
107
89
|
var _this2 = this;
|
|
108
|
-
|
|
109
90
|
this.callbacks.forEach(function (cb) {
|
|
110
91
|
return cb({
|
|
111
92
|
color: _this2.color,
|
|
@@ -113,37 +94,36 @@ var ColorChanger = /*#__PURE__*/function () {
|
|
|
113
94
|
});
|
|
114
95
|
});
|
|
115
96
|
}
|
|
97
|
+
|
|
116
98
|
/**
|
|
117
99
|
* listen color change
|
|
118
100
|
* @param cb callback
|
|
119
101
|
*/
|
|
120
|
-
|
|
121
102
|
}, {
|
|
122
103
|
key: "listen",
|
|
123
104
|
value: function listen(cb) {
|
|
124
105
|
this.callbacks.push(cb);
|
|
125
106
|
}
|
|
107
|
+
|
|
126
108
|
/**
|
|
127
109
|
* unlisten color change
|
|
128
110
|
* @param cb callback
|
|
129
111
|
*/
|
|
130
|
-
|
|
131
112
|
}, {
|
|
132
113
|
key: "unlisten",
|
|
133
114
|
value: function unlisten(cb) {
|
|
134
115
|
this.callbacks.splice(this.callbacks.indexOf(cb), 1);
|
|
135
116
|
}
|
|
117
|
+
|
|
136
118
|
/**
|
|
137
119
|
* set prefers color
|
|
138
120
|
*/
|
|
139
|
-
|
|
140
121
|
}, {
|
|
141
122
|
key: "tryPrefersColor",
|
|
142
123
|
value: function tryPrefersColor(color) {
|
|
143
124
|
if (navigator.cookieEnabled) {
|
|
144
125
|
localStorage.setItem(PREFERS_COLOR_LS_KEY, color);
|
|
145
126
|
}
|
|
146
|
-
|
|
147
127
|
this.prefersColor = color;
|
|
148
128
|
this.color = color === 'auto' ? this.isColorMode('dark') ? 'dark' : 'light' : color;
|
|
149
129
|
document.documentElement.setAttribute(PREFERS_COLOR_ATTR, color);
|
|
@@ -151,29 +131,23 @@ var ColorChanger = /*#__PURE__*/function () {
|
|
|
151
131
|
return color;
|
|
152
132
|
}
|
|
153
133
|
}]);
|
|
154
|
-
|
|
155
134
|
return ColorChanger;
|
|
156
135
|
}();
|
|
157
136
|
/**
|
|
158
137
|
* hook for get/set prefers-color-schema, use to control color mode for theme package
|
|
159
138
|
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
|
|
160
139
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
140
|
export var usePrefersColor = function usePrefersColor() {
|
|
164
141
|
var _useSiteData = useSiteData(),
|
|
165
|
-
|
|
166
|
-
|
|
142
|
+
themeConfig = _useSiteData.themeConfig;
|
|
167
143
|
var _useState = useState(),
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
144
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
145
|
+
color = _useState2[0],
|
|
146
|
+
setColor = _useState2[1];
|
|
172
147
|
var _useState3 = useState(),
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
148
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
149
|
+
prefersColor = _useState4[0],
|
|
150
|
+
setPrefersColor = _useState4[1];
|
|
177
151
|
var tryPrefersColor = useCallback(function (val) {
|
|
178
152
|
colorChanger.tryPrefersColor(val);
|
|
179
153
|
}, []);
|
|
@@ -183,7 +157,6 @@ export var usePrefersColor = function usePrefersColor() {
|
|
|
183
157
|
}, []);
|
|
184
158
|
useEffect(function () {
|
|
185
159
|
var _colorChanger;
|
|
186
|
-
|
|
187
160
|
// lazy initialize, for SSR
|
|
188
161
|
(_colorChanger = colorChanger) !== null && _colorChanger !== void 0 ? _colorChanger : colorChanger = new ColorChanger({
|
|
189
162
|
default: themeConfig.prefersColor.default
|