@rspress/runtime 1.41.1 → 1.41.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/dist/Content.js +25 -30
- package/dist/NoSSR.js +12 -14
- package/dist/hooks.js +35 -47
- package/dist/index.js +24 -42
- package/dist/utils.js +21 -45
- package/package.json +7 -6
- package/src/Content.tsx +6 -5
package/dist/Content.js
CHANGED
@@ -1,33 +1,28 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__VIRTUAL_ROUTES__3c8bd3e0__ from "__VIRTUAL_ROUTES__";
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__ from "react-router-dom";
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__ from "virtual-site-data";
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__ from "./hooks.js";
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__ from "./utils.js";
|
8
8
|
function TransitionContentImpl(props) {
|
9
|
-
|
10
|
-
|
11
|
-
element = useViewTransition(props.el);
|
12
|
-
|
13
|
-
return element;
|
9
|
+
var _siteData_themeConfig;
|
10
|
+
let element = props.el;
|
11
|
+
if (null === __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"] || void 0 === __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"] ? void 0 : null === (_siteData_themeConfig = __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"].themeConfig) || void 0 === _siteData_themeConfig ? void 0 : _siteData_themeConfig.enableContentAnimation) element = (0, __WEBPACK_EXTERNAL_MODULE__hooks_js_5a9aefb7__.useViewTransition)(props.el);
|
12
|
+
return element;
|
14
13
|
}
|
15
|
-
const TransitionContent = memo(
|
16
|
-
|
17
|
-
|
18
|
-
);
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
}
|
29
|
-
return /* @__PURE__ */ jsx(Suspense, { fallback, children: /* @__PURE__ */ jsx(TransitionContent, { el: routesElement }) });
|
30
|
-
};
|
31
|
-
export {
|
32
|
-
Content
|
14
|
+
const TransitionContent = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.memo)(TransitionContentImpl, (prevProps, nextProps)=>prevProps.el === nextProps.el);
|
15
|
+
const Content = ({ fallback = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {}) })=>{
|
16
|
+
const { pathname } = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.useLocation)();
|
17
|
+
const matched = (0, __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.matchRoutes)(__WEBPACK_EXTERNAL_MODULE__VIRTUAL_ROUTES__3c8bd3e0__.routes, (0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.normalizeRoutePath)(pathname));
|
18
|
+
if (!matched) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {});
|
19
|
+
const routesElement = matched[0].route.element;
|
20
|
+
if (!process.env.__REACT_GTE_18__ && process.env.__SSR__) return routesElement;
|
21
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_react__.Suspense, {
|
22
|
+
fallback: fallback,
|
23
|
+
children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(TransitionContent, {
|
24
|
+
el: routesElement
|
25
|
+
})
|
26
|
+
});
|
33
27
|
};
|
28
|
+
export { Content };
|
package/dist/NoSSR.js
CHANGED
@@ -1,16 +1,14 @@
|
|
1
|
-
import
|
2
|
-
import
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
3
3
|
function NoSSR(props) {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
return
|
11
|
-
|
12
|
-
|
4
|
+
const { children } = props;
|
5
|
+
const [isMounted, setIsMounted] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(false);
|
6
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
7
|
+
setIsMounted(true);
|
8
|
+
}, []);
|
9
|
+
if (!isMounted) return null;
|
10
|
+
return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
|
11
|
+
children: children
|
12
|
+
});
|
13
13
|
}
|
14
|
-
export {
|
15
|
-
NoSSR
|
16
|
-
};
|
14
|
+
export { NoSSR };
|
package/dist/hooks.js
CHANGED
@@ -1,60 +1,48 @@
|
|
1
|
-
import
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
useState
|
7
|
-
} from "react";
|
8
|
-
import { flushSync } from "react-dom";
|
9
|
-
import i18nTextData from "virtual-i18n-text";
|
10
|
-
const DataContext = createContext({});
|
11
|
-
const ThemeContext = createContext({});
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_dom_7136dc57__ from "react-dom";
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_virtual_i18n_text_58811962__ from "virtual-i18n-text";
|
4
|
+
const DataContext = (0, __WEBPACK_EXTERNAL_MODULE_react__.createContext)({});
|
5
|
+
const ThemeContext = (0, __WEBPACK_EXTERNAL_MODULE_react__.createContext)({});
|
12
6
|
function usePageData() {
|
13
|
-
|
14
|
-
|
7
|
+
const ctx = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(DataContext);
|
8
|
+
return ctx.data;
|
15
9
|
}
|
16
10
|
function useLang() {
|
17
|
-
|
18
|
-
|
11
|
+
const ctx = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(DataContext);
|
12
|
+
return ctx.data.page.lang || '';
|
19
13
|
}
|
20
14
|
function useVersion() {
|
21
|
-
|
22
|
-
|
15
|
+
const ctx = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(DataContext);
|
16
|
+
return ctx.data.page.version || '';
|
23
17
|
}
|
24
18
|
function useDark() {
|
25
|
-
|
26
|
-
|
19
|
+
const ctx = (0, __WEBPACK_EXTERNAL_MODULE_react__.useContext)(ThemeContext);
|
20
|
+
return 'dark' === ctx.theme;
|
27
21
|
}
|
28
22
|
function useI18n() {
|
29
|
-
|
30
|
-
|
23
|
+
const lang = useLang();
|
24
|
+
return (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((key)=>__WEBPACK_EXTERNAL_MODULE_virtual_i18n_text_58811962__["default"][key][lang], [
|
25
|
+
lang
|
26
|
+
]);
|
31
27
|
}
|
32
28
|
function useViewTransition(dom) {
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
29
|
+
const [element, setElement] = (0, __WEBPACK_EXTERNAL_MODULE_react__.useState)(dom);
|
30
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react__.useLayoutEffect)(()=>{
|
31
|
+
if (document.startViewTransition && element !== dom) document.startViewTransition(()=>{
|
32
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react_dom_7136dc57__.flushSync)(()=>{
|
33
|
+
setElement(dom);
|
34
|
+
});
|
35
|
+
window.dispatchEvent(new Event('RspressReloadContent'));
|
39
36
|
});
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
37
|
+
else {
|
38
|
+
(0, __WEBPACK_EXTERNAL_MODULE_react_dom_7136dc57__.flushSync)(()=>{
|
39
|
+
setElement(dom);
|
40
|
+
});
|
41
|
+
window.dispatchEvent(new Event('RspressReloadContent'));
|
42
|
+
}
|
43
|
+
}, [
|
44
|
+
dom
|
45
|
+
]);
|
46
|
+
return element;
|
50
47
|
}
|
51
|
-
export {
|
52
|
-
DataContext,
|
53
|
-
ThemeContext,
|
54
|
-
useDark,
|
55
|
-
useI18n,
|
56
|
-
useLang,
|
57
|
-
usePageData,
|
58
|
-
useVersion,
|
59
|
-
useViewTransition
|
60
|
-
};
|
48
|
+
export { DataContext, ThemeContext, useDark, useI18n, useLang, usePageData, useVersion, useViewTransition };
|
package/dist/index.js
CHANGED
@@ -1,42 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
import
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
export {
|
25
|
-
BrowserRouter,
|
26
|
-
Helmet,
|
27
|
-
NoSSR,
|
28
|
-
addLeadingSlash,
|
29
|
-
isEqualPath,
|
30
|
-
isProduction,
|
31
|
-
matchRoutes,
|
32
|
-
normalizeHrefInRuntime,
|
33
|
-
normalizeImagePath,
|
34
|
-
normalizeRoutePath,
|
35
|
-
normalizeSlash,
|
36
|
-
removeBase,
|
37
|
-
removeTrailingSlash,
|
38
|
-
useLocation,
|
39
|
-
useNavigate,
|
40
|
-
useSearchParams,
|
41
|
-
withBase
|
42
|
-
};
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__ from "./utils.js";
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__ from "react-router-dom";
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_helmet_async_048d06c6__ from "react-helmet-async";
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__NoSSR_js_7f7b6e71__ from "./NoSSR.js";
|
5
|
+
export * from "./hooks.js";
|
6
|
+
export * from "./Content.js";
|
7
|
+
var __webpack_exports__BrowserRouter = __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.BrowserRouter;
|
8
|
+
var __webpack_exports__Helmet = __WEBPACK_EXTERNAL_MODULE_react_helmet_async_048d06c6__.Helmet;
|
9
|
+
var __webpack_exports__NoSSR = __WEBPACK_EXTERNAL_MODULE__NoSSR_js_7f7b6e71__.NoSSR;
|
10
|
+
var __webpack_exports__addLeadingSlash = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.addLeadingSlash;
|
11
|
+
var __webpack_exports__isEqualPath = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isEqualPath;
|
12
|
+
var __webpack_exports__isProduction = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isProduction;
|
13
|
+
var __webpack_exports__matchRoutes = __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.matchRoutes;
|
14
|
+
var __webpack_exports__normalizeHrefInRuntime = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.normalizeHrefInRuntime;
|
15
|
+
var __webpack_exports__normalizeImagePath = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.normalizeImagePath;
|
16
|
+
var __webpack_exports__normalizeRoutePath = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.normalizeRoutePath;
|
17
|
+
var __webpack_exports__normalizeSlash = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.normalizeSlash;
|
18
|
+
var __webpack_exports__removeBase = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.removeBase;
|
19
|
+
var __webpack_exports__removeTrailingSlash = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.removeTrailingSlash;
|
20
|
+
var __webpack_exports__useLocation = __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.useLocation;
|
21
|
+
var __webpack_exports__useNavigate = __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.useNavigate;
|
22
|
+
var __webpack_exports__useSearchParams = __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.useSearchParams;
|
23
|
+
var __webpack_exports__withBase = __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.withBase;
|
24
|
+
export { __webpack_exports__BrowserRouter as BrowserRouter, __webpack_exports__Helmet as Helmet, __webpack_exports__NoSSR as NoSSR, __webpack_exports__addLeadingSlash as addLeadingSlash, __webpack_exports__isEqualPath as isEqualPath, __webpack_exports__isProduction as isProduction, __webpack_exports__matchRoutes as matchRoutes, __webpack_exports__normalizeHrefInRuntime as normalizeHrefInRuntime, __webpack_exports__normalizeImagePath as normalizeImagePath, __webpack_exports__normalizeRoutePath as normalizeRoutePath, __webpack_exports__normalizeSlash as normalizeSlash, __webpack_exports__removeBase as removeBase, __webpack_exports__removeTrailingSlash as removeTrailingSlash, __webpack_exports__useLocation as useLocation, __webpack_exports__useNavigate as useNavigate, __webpack_exports__useSearchParams as useSearchParams, __webpack_exports__withBase as withBase };
|
package/dist/utils.js
CHANGED
@@ -1,58 +1,34 @@
|
|
1
|
-
import
|
2
|
-
|
3
|
-
isDataUrl,
|
4
|
-
isExternalUrl,
|
5
|
-
isProduction,
|
6
|
-
normalizeHref,
|
7
|
-
normalizeSlash,
|
8
|
-
removeBase as rawRemoveBase,
|
9
|
-
withBase as rawWithBase,
|
10
|
-
removeHash,
|
11
|
-
removeTrailingSlash
|
12
|
-
} from "@rspress/shared";
|
13
|
-
import siteData from "virtual-site-data";
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__ from "@rspress/shared";
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__ from "virtual-site-data";
|
14
3
|
function normalizeRoutePath(routePath) {
|
15
|
-
|
4
|
+
return decodeURIComponent(routePath).replace(/\.html$/, '').replace(/\/index$/, '/');
|
16
5
|
}
|
17
|
-
function withBase(url =
|
18
|
-
|
6
|
+
function withBase(url = '/') {
|
7
|
+
return (0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.withBase)(url, __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"].base);
|
19
8
|
}
|
20
9
|
function removeBase(url) {
|
21
|
-
|
10
|
+
return (0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.removeBase)(url, __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"].base);
|
22
11
|
}
|
23
12
|
function isEqualPath(a, b) {
|
24
|
-
|
13
|
+
return withBase(normalizeHrefInRuntime((0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.removeHash)(a))) === withBase(normalizeHrefInRuntime((0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.removeHash)(b)));
|
25
14
|
}
|
26
15
|
function normalizeHrefInRuntime(a) {
|
27
|
-
|
28
|
-
|
16
|
+
var _siteData_route;
|
17
|
+
const cleanUrls = Boolean(null === __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"] || void 0 === __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"] ? void 0 : null === (_siteData_route = __WEBPACK_EXTERNAL_MODULE_virtual_site_data_fa42d4c0__["default"].route) || void 0 === _siteData_route ? void 0 : _siteData_route.cleanUrls);
|
18
|
+
return (0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.normalizeHref)(a, cleanUrls);
|
29
19
|
}
|
30
20
|
function normalizeImagePath(imagePath) {
|
31
|
-
|
32
|
-
|
33
|
-
return imagePath;
|
34
|
-
|
35
|
-
|
36
|
-
return imagePath;
|
37
|
-
}
|
38
|
-
if (!imagePath.startsWith("/")) {
|
39
|
-
return imagePath;
|
40
|
-
}
|
41
|
-
return withBase(imagePath);
|
21
|
+
const isProd = (0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.isProduction)();
|
22
|
+
if (!isProd) return imagePath;
|
23
|
+
if (isAbsoluteUrl(imagePath)) return imagePath;
|
24
|
+
if (!imagePath.startsWith('/')) return imagePath;
|
25
|
+
return withBase(imagePath);
|
42
26
|
}
|
43
27
|
function isAbsoluteUrl(path) {
|
44
|
-
|
28
|
+
return (0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.isExternalUrl)(path) || (0, __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.isDataUrl)(path) || path.startsWith('//');
|
45
29
|
}
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
normalizeHrefInRuntime,
|
52
|
-
normalizeImagePath,
|
53
|
-
normalizeRoutePath,
|
54
|
-
normalizeSlash,
|
55
|
-
removeBase,
|
56
|
-
removeTrailingSlash,
|
57
|
-
withBase
|
58
|
-
};
|
30
|
+
var __webpack_exports__addLeadingSlash = __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.addLeadingSlash;
|
31
|
+
var __webpack_exports__isProduction = __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.isProduction;
|
32
|
+
var __webpack_exports__normalizeSlash = __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.normalizeSlash;
|
33
|
+
var __webpack_exports__removeTrailingSlash = __WEBPACK_EXTERNAL_MODULE__rspress_shared_baa012d0__.removeTrailingSlash;
|
34
|
+
export { isAbsoluteUrl, isEqualPath, normalizeHrefInRuntime, normalizeImagePath, normalizeRoutePath, removeBase, withBase, __webpack_exports__addLeadingSlash as addLeadingSlash, __webpack_exports__isProduction as isProduction, __webpack_exports__normalizeSlash as normalizeSlash, __webpack_exports__removeTrailingSlash as removeTrailingSlash };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@rspress/runtime",
|
3
|
-
"version": "1.41.
|
3
|
+
"version": "1.41.2",
|
4
4
|
"description": "The Runtime of Rspress Documentation Framework",
|
5
5
|
"bugs": "https://github.com/web-infra-dev/rspress/issues",
|
6
6
|
"repository": {
|
@@ -40,10 +40,12 @@
|
|
40
40
|
"react-dom": "^18.3.1",
|
41
41
|
"react-helmet-async": "^1.3.0",
|
42
42
|
"react-router-dom": "^6.29.0",
|
43
|
-
"@rspress/shared": "1.41.
|
43
|
+
"@rspress/shared": "1.41.2"
|
44
44
|
},
|
45
45
|
"devDependencies": {
|
46
46
|
"@modern-js/tsconfig": "2.64.0",
|
47
|
+
"@rsbuild/plugin-react": "~1.1.0",
|
48
|
+
"@rslib/core": "0.4.1",
|
47
49
|
"@types/jest": "~29.5.14",
|
48
50
|
"@types/react": "^18.3.18",
|
49
51
|
"@types/react-dom": "^18.3.5",
|
@@ -59,9 +61,8 @@
|
|
59
61
|
},
|
60
62
|
"jsnext:source": "./src/index.ts",
|
61
63
|
"scripts": {
|
62
|
-
"build": "
|
63
|
-
"dev": "
|
64
|
-
"reset": "rimraf ./**/node_modules"
|
65
|
-
"test": "echo nothing"
|
64
|
+
"build": "rslib build",
|
65
|
+
"dev": "rslib build -w",
|
66
|
+
"reset": "rimraf ./**/node_modules"
|
66
67
|
}
|
67
68
|
}
|
package/src/Content.tsx
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
// @ts-expect-error __VIRTUAL_ROUTES__ will be determined at build time
|
2
|
+
import { routes } from '__VIRTUAL_ROUTES__';
|
1
3
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
2
4
|
/* eslint-disable @typescript-eslint/no-require-imports */
|
3
5
|
import { type ReactElement, type ReactNode, Suspense, memo } from 'react';
|
@@ -6,10 +8,6 @@ import siteData from 'virtual-site-data';
|
|
6
8
|
import { useViewTransition } from './hooks';
|
7
9
|
import { normalizeRoutePath } from './utils';
|
8
10
|
|
9
|
-
const { routes } = process.env.__SSR__
|
10
|
-
? (require('virtual-routes-ssr') as typeof import('virtual-routes-ssr'))
|
11
|
-
: (require('virtual-routes') as typeof import('virtual-routes'));
|
12
|
-
|
13
11
|
function TransitionContentImpl(props: { el: ReactElement }) {
|
14
12
|
let element = props.el;
|
15
13
|
if (siteData?.themeConfig?.enableContentAnimation) {
|
@@ -26,7 +24,10 @@ const TransitionContent = memo(
|
|
26
24
|
|
27
25
|
export const Content = ({ fallback = <></> }: { fallback?: ReactNode }) => {
|
28
26
|
const { pathname } = useLocation();
|
29
|
-
const matched = matchRoutes(
|
27
|
+
const matched = matchRoutes(
|
28
|
+
routes as typeof import('virtual-routes')['routes'],
|
29
|
+
normalizeRoutePath(pathname),
|
30
|
+
);
|
30
31
|
if (!matched) {
|
31
32
|
return <div></div>;
|
32
33
|
}
|