vike-react 0.4.12 → 0.4.14
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/+config.d.ts +2 -6
- package/dist/+config.js +3 -4
- package/dist/renderer/getPageElement.js +10 -10
- package/dist/types/Config.d.ts +13 -9
- package/package.json +1 -1
package/dist/+config.d.ts
CHANGED
@@ -21,6 +21,7 @@ declare const _default: {
|
|
21
21
|
server: true;
|
22
22
|
client: true;
|
23
23
|
};
|
24
|
+
cumulative: true;
|
24
25
|
};
|
25
26
|
title: {
|
26
27
|
env: {
|
@@ -66,13 +67,8 @@ declare const _default: {
|
|
66
67
|
client: true;
|
67
68
|
};
|
68
69
|
};
|
69
|
-
VikeReactQueryWrapper: {
|
70
|
-
env: {
|
71
|
-
client: true;
|
72
|
-
server: true;
|
73
|
-
};
|
74
|
-
};
|
75
70
|
Wrapper: {
|
71
|
+
cumulative: true;
|
76
72
|
env: {
|
77
73
|
client: true;
|
78
74
|
server: true;
|
package/dist/+config.js
CHANGED
@@ -24,7 +24,8 @@ export default {
|
|
24
24
|
env: { server: true }
|
25
25
|
},
|
26
26
|
Layout: {
|
27
|
-
env: { server: true, client: true }
|
27
|
+
env: { server: true, client: true },
|
28
|
+
cumulative: true
|
28
29
|
},
|
29
30
|
title: {
|
30
31
|
env: { server: true, client: true }
|
@@ -51,10 +52,8 @@ export default {
|
|
51
52
|
onAfterRenderClient: {
|
52
53
|
env: { client: true }
|
53
54
|
},
|
54
|
-
VikeReactQueryWrapper: {
|
55
|
-
env: { client: true, server: true }
|
56
|
-
},
|
57
55
|
Wrapper: {
|
56
|
+
cumulative: true,
|
58
57
|
env: { client: true, server: true }
|
59
58
|
},
|
60
59
|
// Vike already defines the setting 'name', but we redundantly define it here for older Vike versions (otherwise older Vike versions will complain that 'name` is an unknown config). TODO/eventually: remove this once <=0.4.172 versions become rare (also because we use the `require` setting starting from `0.4.173`).
|
@@ -2,19 +2,19 @@ export { getPageElement };
|
|
2
2
|
import React from 'react';
|
3
3
|
import { PageContextProvider } from '../hooks/usePageContext.js';
|
4
4
|
function getPageElement(pageContext) {
|
5
|
-
const Layout = pageContext.config.Layout ?? PassThrough;
|
6
|
-
const Wrapper = pageContext.config.Wrapper ?? PassThrough;
|
7
|
-
const VikeReactQueryWrapper = pageContext.config.VikeReactQueryWrapper ?? PassThrough;
|
8
5
|
const { Page } = pageContext;
|
9
|
-
let page =
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
let page = Page ? React.createElement(Page, null) : null;
|
7
|
+
[
|
8
|
+
// Inner wrapping
|
9
|
+
...(pageContext.config.Layout || []),
|
10
|
+
// Outer wrapping
|
11
|
+
...(pageContext.config.Wrapper || [])
|
12
|
+
].forEach((Wrapper) => {
|
13
|
+
page = React.createElement(Wrapper, null, page);
|
14
|
+
});
|
15
|
+
page = React.createElement(PageContextProvider, { pageContext: pageContext }, page);
|
13
16
|
if (pageContext.config.reactStrictMode !== false) {
|
14
17
|
page = React.createElement(React.StrictMode, null, page);
|
15
18
|
}
|
16
19
|
return page;
|
17
20
|
}
|
18
|
-
function PassThrough({ children }) {
|
19
|
-
return React.createElement(React.Fragment, null, children);
|
20
|
-
}
|
package/dist/types/Config.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { PageContextClient } from 'vike/types';
|
1
|
+
import type { ImportString, PageContextClient } from 'vike/types';
|
2
2
|
declare global {
|
3
3
|
namespace Vike {
|
4
4
|
interface Config {
|
@@ -9,21 +9,17 @@ declare global {
|
|
9
9
|
/**
|
10
10
|
* A component that defines the visual layout of the page common to several pages.
|
11
11
|
*
|
12
|
-
* Technically: the `<
|
12
|
+
* Technically: the `<Layout>` component wraps the root component `<Page>`.
|
13
13
|
*
|
14
14
|
* https://vike.dev/Layout
|
15
15
|
*/
|
16
|
-
Layout?:
|
17
|
-
children: React.ReactNode;
|
18
|
-
}) => React.ReactNode;
|
16
|
+
Layout?: Layout;
|
19
17
|
/**
|
20
18
|
* A component wrapping the the root component `<Page>`.
|
21
19
|
*
|
22
20
|
* https://vike.dev/Wrapper
|
23
21
|
*/
|
24
|
-
Wrapper?:
|
25
|
-
children: React.ReactNode;
|
26
|
-
}) => React.ReactNode;
|
22
|
+
Wrapper?: Wrapper | ImportString;
|
27
23
|
/** <title>${title}</title> */
|
28
24
|
title?: string;
|
29
25
|
/** <link rel="icon" href="${favicon}" /> */
|
@@ -80,7 +76,15 @@ declare global {
|
|
80
76
|
* https://vike.dev/onAfterRenderClient
|
81
77
|
*/
|
82
78
|
onAfterRenderClient?: (pageContext: PageContextClient) => void;
|
83
|
-
|
79
|
+
}
|
80
|
+
interface ConfigResolved {
|
81
|
+
Wrapper?: Wrapper[];
|
82
|
+
Layout?: Layout[];
|
84
83
|
}
|
85
84
|
}
|
86
85
|
}
|
86
|
+
type Wrapper = (props: {
|
87
|
+
children: React.ReactNode;
|
88
|
+
}) => React.ReactNode;
|
89
|
+
type Layout = Wrapper;
|
90
|
+
export {};
|