@alignable/bifrost 0.1.1 → 1.0.0
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/chunk-4W4KH2A5.js +50 -0
- package/dist/chunk-4W4KH2A5.js.map +1 -0
- package/dist/{chunk-X3MUHPJ3.js → chunk-NS2C4D24.js} +59 -177
- package/dist/chunk-NS2C4D24.js.map +1 -0
- package/dist/controller-af32e731.d.ts +9 -0
- package/dist/index.d.ts +1 -15
- package/dist/index.js +1 -13
- package/dist/index.js.map +1 -1
- package/dist/renderer/+config.js +3 -47
- package/dist/renderer/Head.d.ts +5 -0
- package/dist/renderer/Head.js +25 -0
- package/dist/renderer/Head.js.map +1 -0
- package/dist/renderer/bifrost/onAfterRenderClient.d.ts +5 -0
- package/dist/renderer/bifrost/onAfterRenderClient.js +14 -0
- package/dist/renderer/bifrost/onAfterRenderClient.js.map +1 -0
- package/dist/renderer/bifrost/onBeforeRenderClient.d.ts +5 -0
- package/dist/renderer/bifrost/onBeforeRenderClient.js +15 -0
- package/dist/renderer/bifrost/onBeforeRenderClient.js.map +1 -0
- package/dist/renderer/config.d.ts +92 -0
- package/dist/renderer/headHtmlEnd.d.ts +7 -0
- package/dist/renderer/headHtmlEnd.js +8 -0
- package/dist/renderer/headHtmlEnd.js.map +1 -0
- package/dist/renderer/onBeforeRoute.d.ts +3 -6
- package/dist/renderer/onBeforeRoute.js +9 -3
- package/dist/renderer/onBeforeRoute.js.map +1 -1
- package/dist/renderer/wrapped/Page.d.ts +9 -0
- package/dist/renderer/wrapped/Page.js +25 -0
- package/dist/renderer/wrapped/Page.js.map +1 -0
- package/dist/renderer/wrapped/onAfterRenderClient.d.ts +7 -0
- package/dist/renderer/wrapped/onAfterRenderClient.js +30 -0
- package/dist/renderer/wrapped/onAfterRenderClient.js.map +1 -0
- package/dist/renderer/wrapped/onBeforeRender.client.d.ts +7 -0
- package/dist/renderer/wrapped/onBeforeRender.client.js +40 -0
- package/dist/renderer/wrapped/onBeforeRender.client.js.map +1 -0
- package/dist/renderer/wrapped/onBeforeRenderClient.d.ts +7 -0
- package/dist/renderer/wrapped/onBeforeRenderClient.js +172 -0
- package/dist/renderer/wrapped/onBeforeRenderClient.js.map +1 -0
- package/dist/renderer/wrapped/onBeforeRenderHtml.d.ts +5 -0
- package/dist/renderer/wrapped/onBeforeRenderHtml.js +14 -0
- package/dist/renderer/wrapped/onBeforeRenderHtml.js.map +1 -0
- package/dist/type-82702ff4.d.ts +27 -0
- package/package.json +14 -24
- package/dist/chunk-2DSY3VFP.js +0 -118
- package/dist/chunk-2DSY3VFP.js.map +0 -1
- package/dist/chunk-5SP2QGEH.js +0 -76
- package/dist/chunk-5SP2QGEH.js.map +0 -1
- package/dist/chunk-ABLEI4J7.js +0 -30
- package/dist/chunk-ABLEI4J7.js.map +0 -1
- package/dist/chunk-EYYCKU6F.js +0 -11
- package/dist/chunk-EYYCKU6F.js.map +0 -1
- package/dist/chunk-IYGONC4I.js +0 -31
- package/dist/chunk-IYGONC4I.js.map +0 -1
- package/dist/chunk-JHLK62FM.js +0 -20
- package/dist/chunk-JHLK62FM.js.map +0 -1
- package/dist/chunk-K4H777XA.js +0 -9
- package/dist/chunk-K4H777XA.js.map +0 -1
- package/dist/chunk-OXCN6F2S.js +0 -10
- package/dist/chunk-OXCN6F2S.js.map +0 -1
- package/dist/chunk-PESUYCE4.js +0 -33
- package/dist/chunk-PESUYCE4.js.map +0 -1
- package/dist/chunk-RQ34EW7E.js +0 -13
- package/dist/chunk-RQ34EW7E.js.map +0 -1
- package/dist/chunk-RSVASTEA.js +0 -63
- package/dist/chunk-RSVASTEA.js.map +0 -1
- package/dist/chunk-VYXAWOXV.js +0 -22
- package/dist/chunk-VYXAWOXV.js.map +0 -1
- package/dist/chunk-X2R7ODLQ.js +0 -14
- package/dist/chunk-X2R7ODLQ.js.map +0 -1
- package/dist/chunk-X3MUHPJ3.js.map +0 -1
- package/dist/chunk-XMNZZA6S.js +0 -75
- package/dist/chunk-XMNZZA6S.js.map +0 -1
- package/dist/internal-837e7a40.d.ts +0 -128
- package/dist/renderer/+config.js.map +0 -1
- package/dist/renderer/_config.d.ts +0 -111
- package/dist/renderer/_error/Page.d.ts +0 -8
- package/dist/renderer/_error/Page.js +0 -14
- package/dist/renderer/_error/Page.js.map +0 -1
- package/dist/renderer/bifrost/onRenderClient.d.ts +0 -9
- package/dist/renderer/bifrost/onRenderClient.js +0 -15
- package/dist/renderer/bifrost/onRenderHtml.d.ts +0 -20
- package/dist/renderer/bifrost/onRenderHtml.js +0 -13
- package/dist/renderer/bifrost/onRenderHtml.js.map +0 -1
- package/dist/renderer/configs/bifrost.d.ts +0 -50
- package/dist/renderer/configs/bifrost.js +0 -7
- package/dist/renderer/configs/bifrost.js.map +0 -1
- package/dist/renderer/configs/wrapped.d.ts +0 -25
- package/dist/renderer/configs/wrapped.js +0 -7
- package/dist/renderer/configs/wrapped.js.map +0 -1
- package/dist/renderer/onRenderClient.d.ts +0 -9
- package/dist/renderer/onRenderClient.js +0 -35
- package/dist/renderer/onRenderClient.js.map +0 -1
- package/dist/renderer/onRenderHtml.d.ts +0 -37
- package/dist/renderer/onRenderHtml.js +0 -32
- package/dist/renderer/onRenderHtml.js.map +0 -1
- package/dist/renderer/useNavigation.d.ts +0 -13
- package/dist/renderer/useNavigation.js +0 -12
- package/dist/renderer/useNavigation.js.map +0 -1
- package/dist/renderer/usePageContext.d.ts +0 -14
- package/dist/renderer/usePageContext.js +0 -10
- package/dist/renderer/usePageContext.js.map +0 -1
- package/dist/renderer/utils/PassthruLayout.d.ts +0 -5
- package/dist/renderer/utils/PassthruLayout.js +0 -7
- package/dist/renderer/utils/PassthruLayout.js.map +0 -1
- package/dist/renderer/utils/buildHead.d.ts +0 -9
- package/dist/renderer/utils/buildHead.js +0 -7
- package/dist/renderer/utils/buildHead.js.map +0 -1
- package/dist/renderer/utils/getConfigOrPageContext.d.ts +0 -13
- package/dist/renderer/utils/getConfigOrPageContext.js +0 -7
- package/dist/renderer/utils/getConfigOrPageContext.js.map +0 -1
- package/dist/renderer/utils/getGlobalObject.d.ts +0 -6
- package/dist/renderer/utils/getGlobalObject.js +0 -7
- package/dist/renderer/utils/getGlobalObject.js.map +0 -1
- package/dist/renderer/wrapped/onRenderClient.d.ts +0 -9
- package/dist/renderer/wrapped/onRenderClient.js +0 -13
- package/dist/renderer/wrapped/onRenderClient.js.map +0 -1
- package/dist/renderer/wrapped/onRenderHtml.d.ts +0 -27
- package/dist/renderer/wrapped/onRenderHtml.js +0 -12
- package/dist/renderer/wrapped/onRenderHtml.js.map +0 -1
- /package/dist/renderer/{bifrost/onRenderClient.js.map → config.js.map} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { S as Snapshot } from './controller-af32e731.js';
|
|
2
|
+
|
|
3
|
+
interface WrappedServerOnly {
|
|
4
|
+
bodyAttributes: Record<string, string>;
|
|
5
|
+
bodyInnerHtml: string;
|
|
6
|
+
headInnerHtml: string;
|
|
7
|
+
proxyLayoutInfo: Vike.ProxyLayoutInfo;
|
|
8
|
+
}
|
|
9
|
+
declare global {
|
|
10
|
+
namespace Vike {
|
|
11
|
+
interface PageContext {
|
|
12
|
+
_turbolinksProxy?: {
|
|
13
|
+
body: HTMLElement;
|
|
14
|
+
head?: HTMLHeadElement;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
interface PageContextServer {
|
|
18
|
+
_wrappedServerOnly?: WrappedServerOnly;
|
|
19
|
+
}
|
|
20
|
+
interface PageContextClient {
|
|
21
|
+
_snapshot?: Snapshot;
|
|
22
|
+
_waitForHeadScripts?: () => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { WrappedServerOnly as W };
|
package/package.json
CHANGED
|
@@ -1,25 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alignable/bifrost",
|
|
3
3
|
"repository": "https://github.com/Alignable/bifrost.git",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
8
8
|
"./config": {
|
|
9
|
-
"types": "./dist/renderer
|
|
9
|
+
"types": "./dist/renderer/config.d.ts",
|
|
10
10
|
"default": "./dist/renderer/+config.js"
|
|
11
11
|
},
|
|
12
|
-
"./renderer
|
|
13
|
-
"types": "./dist/renderer
|
|
14
|
-
"default": "./dist/renderer
|
|
15
|
-
},
|
|
16
|
-
"./renderer/onRenderHtml": {
|
|
17
|
-
"types": "./dist/renderer/onRenderHtml.d.ts",
|
|
18
|
-
"default": "./dist/renderer/onRenderHtml.js"
|
|
19
|
-
},
|
|
20
|
-
"./renderer/onBeforeRoute": {
|
|
21
|
-
"types": "./dist/renderer/onBeforeRoute.d.ts",
|
|
22
|
-
"default": "./dist/renderer/onBeforeRoute.js"
|
|
12
|
+
"./__internal/renderer/*": {
|
|
13
|
+
"types": "./dist/renderer/*.d.ts",
|
|
14
|
+
"default": "./dist/renderer/*.js"
|
|
23
15
|
},
|
|
24
16
|
".": {
|
|
25
17
|
"types": "./dist/index.d.ts",
|
|
@@ -30,7 +22,7 @@
|
|
|
30
22
|
"typesVersions": {
|
|
31
23
|
"*": {
|
|
32
24
|
"config": [
|
|
33
|
-
"./dist/renderer
|
|
25
|
+
"./dist/renderer/config.d.ts"
|
|
34
26
|
],
|
|
35
27
|
".": [
|
|
36
28
|
"./dist/index.d.ts"
|
|
@@ -47,18 +39,14 @@
|
|
|
47
39
|
"dist/"
|
|
48
40
|
],
|
|
49
41
|
"dependencies": {
|
|
50
|
-
"cross-env": "^7.0.3",
|
|
51
|
-
"jsdom": "^22.1.0",
|
|
52
42
|
"tough-cookie": "^4.1.2",
|
|
53
|
-
"uuid": "^9.0.0"
|
|
54
|
-
"vike": "0.4.244"
|
|
43
|
+
"uuid": "^9.0.0"
|
|
55
44
|
},
|
|
56
45
|
"peerDependencies": {
|
|
57
|
-
"jsdom": "^22.1.0",
|
|
58
46
|
"react": ">=18",
|
|
59
|
-
"react-dom": ">=18",
|
|
60
47
|
"typescript": ">=4.7",
|
|
61
|
-
"vike": "0.4.
|
|
48
|
+
"vike": ">=0.4.247",
|
|
49
|
+
"vike-react": ">=0.6.11"
|
|
62
50
|
},
|
|
63
51
|
"devDependencies": {
|
|
64
52
|
"@types/jsdom": "^21.1.2",
|
|
@@ -66,11 +54,13 @@
|
|
|
66
54
|
"@types/react": "^18.2.0",
|
|
67
55
|
"@types/react-dom": "^18.2.0",
|
|
68
56
|
"@vitejs/plugin-react": "^4.7.0",
|
|
57
|
+
"react": "^19.2.0",
|
|
69
58
|
"tsup": "^7.1.0",
|
|
70
59
|
"turbolinks": "5.3.0-beta.1",
|
|
71
60
|
"typescript": "^5.0.4",
|
|
72
|
-
"react": "
|
|
73
|
-
"
|
|
74
|
-
"
|
|
61
|
+
"vike-react": "0.6.11",
|
|
62
|
+
"vite": "^6.3.5",
|
|
63
|
+
"vike": "0.4.247",
|
|
64
|
+
"cross-env": "^7.0.3"
|
|
75
65
|
}
|
|
76
66
|
}
|
package/dist/chunk-2DSY3VFP.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Turbolinks,
|
|
3
|
-
copyElementAttributes,
|
|
4
|
-
renderReact
|
|
5
|
-
} from "./chunk-X3MUHPJ3.js";
|
|
6
|
-
import {
|
|
7
|
-
getElementAttributes
|
|
8
|
-
} from "./chunk-RQ34EW7E.js";
|
|
9
|
-
import {
|
|
10
|
-
PageShell
|
|
11
|
-
} from "./chunk-JHLK62FM.js";
|
|
12
|
-
|
|
13
|
-
// renderer/wrapped/onRenderClient.tsx
|
|
14
|
-
import React from "react";
|
|
15
|
-
var PassThruLayout = ({
|
|
16
|
-
children
|
|
17
|
-
}) => /* @__PURE__ */ React.createElement(React.Fragment, null, children);
|
|
18
|
-
async function wrappedOnRenderClient(pageContext) {
|
|
19
|
-
if ("snapshot" in pageContext) {
|
|
20
|
-
return onRenderClientRestorationVisit(pageContext);
|
|
21
|
-
} else if (pageContext.isHydration) {
|
|
22
|
-
return onRenderClientHydration(pageContext);
|
|
23
|
-
} else {
|
|
24
|
-
return onRenderClientNavigation(pageContext);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
async function onRenderClientHydration(pageContext) {
|
|
28
|
-
const { layoutProps, layout } = pageContext;
|
|
29
|
-
await pageContext.config.onClientInit?.();
|
|
30
|
-
const bodyEl = document.getElementById("proxied-body");
|
|
31
|
-
render({
|
|
32
|
-
html: bodyEl.innerHTML,
|
|
33
|
-
layout,
|
|
34
|
-
layoutProps,
|
|
35
|
-
bodyEl,
|
|
36
|
-
pageContext
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
async function onRenderClientNavigation(pageContext) {
|
|
40
|
-
const resp = await fetch(pageContext.urlOriginal, {
|
|
41
|
-
headers: { ...pageContext.config.proxyHeaders, accept: "text/html" }
|
|
42
|
-
});
|
|
43
|
-
if (resp.redirected) {
|
|
44
|
-
Turbolinks.visit(resp.url);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
if (!resp.ok) {
|
|
48
|
-
window.location.href = resp.url;
|
|
49
|
-
}
|
|
50
|
-
const html = await resp.text();
|
|
51
|
-
const { layout, layoutProps } = pageContext.config.getLayout(
|
|
52
|
-
Object.fromEntries(resp.headers.entries())
|
|
53
|
-
);
|
|
54
|
-
const parsed = document.createElement("html");
|
|
55
|
-
parsed.innerHTML = html;
|
|
56
|
-
const bodyEl = parsed.querySelector("body");
|
|
57
|
-
const headEl = parsed.querySelector("head");
|
|
58
|
-
Turbolinks._vpsOnRenderClient(headEl, true, true, () => {
|
|
59
|
-
document.body.getAttributeNames().forEach((n) => document.body.removeAttribute(n));
|
|
60
|
-
copyElementAttributes(document.body, bodyEl);
|
|
61
|
-
render({
|
|
62
|
-
html: bodyEl.innerHTML,
|
|
63
|
-
layout,
|
|
64
|
-
layoutProps,
|
|
65
|
-
bodyEl,
|
|
66
|
-
pageContext
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
async function onRenderClientRestorationVisit(pageContext) {
|
|
71
|
-
if (pageContext.isHydration) {
|
|
72
|
-
throw new Error("restoration visit should never happen on initial render");
|
|
73
|
-
}
|
|
74
|
-
const { layoutProps, layout } = pageContext.snapshot.pageContext;
|
|
75
|
-
const { bodyEl, headEl } = pageContext.snapshot;
|
|
76
|
-
const proxyBodyEl = bodyEl.querySelector("#proxied-body");
|
|
77
|
-
if (!proxyBodyEl) {
|
|
78
|
-
throw new Error("proxied body not found in cached snapshot");
|
|
79
|
-
}
|
|
80
|
-
Turbolinks._vpsOnRenderClient(headEl, true, true, () => {
|
|
81
|
-
document.body.getAttributeNames().forEach((n) => document.body.removeAttribute(n));
|
|
82
|
-
copyElementAttributes(document.body, bodyEl);
|
|
83
|
-
render({
|
|
84
|
-
html: proxyBodyEl.innerHTML,
|
|
85
|
-
layout,
|
|
86
|
-
layoutProps,
|
|
87
|
-
bodyEl,
|
|
88
|
-
pageContext
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
function render({
|
|
93
|
-
html,
|
|
94
|
-
layout,
|
|
95
|
-
layoutProps,
|
|
96
|
-
bodyEl,
|
|
97
|
-
pageContext
|
|
98
|
-
}) {
|
|
99
|
-
const { layoutMap } = pageContext.config;
|
|
100
|
-
if (!layoutMap) {
|
|
101
|
-
throw new Error("layoutMap needs to be defined in config");
|
|
102
|
-
}
|
|
103
|
-
const Layout = layoutMap[layout] || PassThruLayout;
|
|
104
|
-
renderReact(
|
|
105
|
-
/* @__PURE__ */ React.createElement(PageShell, { key: pageContext.urlOriginal, pageContext }, /* @__PURE__ */ React.createElement(Layout, { ...layoutProps }, /* @__PURE__ */ React.createElement("div", { id: "proxied-body", dangerouslySetInnerHTML: { __html: html } }))),
|
|
106
|
-
pageContext.isHydration
|
|
107
|
-
);
|
|
108
|
-
Turbolinks._vpsCachePageContext({
|
|
109
|
-
layoutProps,
|
|
110
|
-
layout,
|
|
111
|
-
bodyAttrs: getElementAttributes(bodyEl)
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export {
|
|
116
|
-
wrappedOnRenderClient
|
|
117
|
-
};
|
|
118
|
-
//# sourceMappingURL=chunk-2DSY3VFP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/wrapped/onRenderClient.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport {\n AugmentMe,\n PageContextProxyClient,\n PageContextProxyClientHydration,\n PageContextProxyClientNavigation,\n PageContextProxyClientRestorationVisit,\n} from \"../../types/internal\";\nimport { PageShell } from \"../../lib/PageShell\";\nimport { getElementAttributes } from \"../../lib/getElementAttributes\";\nimport { renderReact } from \"../../lib/renderReact\";\nimport { Turbolinks } from \"../../lib/turbolinks\";\nimport { copyElementAttributes } from \"../../lib/turbolinks/util\";\n\nconst PassThruLayout: React.ComponentType<PropsWithChildren> = ({\n children,\n}) => <>{children}</>;\n\n/* \nWe get here in 3 ways:\n1. Hydration from initial SSR\n2. Client navigation\n3. Back button restoration\n\nEach path needs to generate pageContext differently\n*/\n\nexport async function wrappedOnRenderClient(\n pageContext: PageContextProxyClient\n) {\n if (\"snapshot\" in pageContext) {\n return onRenderClientRestorationVisit(pageContext);\n } else if (pageContext.isHydration) {\n return onRenderClientHydration(pageContext);\n } else {\n return onRenderClientNavigation(pageContext);\n }\n}\n\nasync function onRenderClientHydration(\n pageContext: PageContextProxyClientHydration\n) {\n const { layoutProps, layout } = pageContext;\n\n await pageContext.config.onClientInit?.();\n const bodyEl = document.getElementById(\"proxied-body\")!;\n // During hydration of initial ssr, body is in dom, not page props (to avoid double-send)\n render({\n html: bodyEl.innerHTML,\n layout,\n layoutProps,\n bodyEl,\n pageContext,\n });\n}\n\nasync function onRenderClientNavigation(\n pageContext: PageContextProxyClientNavigation\n) {\n const resp = await fetch(pageContext.urlOriginal, {\n headers: { ...pageContext.config.proxyHeaders, accept: \"text/html\" },\n });\n\n if (resp.redirected) {\n /// Redirect /\n Turbolinks.visit(resp.url);\n return;\n }\n if (!resp.ok) {\n window.location.href = resp.url;\n }\n const html = await resp.text();\n const { layout, layoutProps } = pageContext.config.getLayout!(\n Object.fromEntries(resp.headers.entries())\n );\n\n const parsed = document.createElement(\"html\");\n parsed.innerHTML = html;\n const bodyEl = parsed.querySelector(\"body\")!;\n const headEl = parsed.querySelector(\"head\")!;\n\n Turbolinks._vpsOnRenderClient(headEl, true, true, () => {\n // merge body attributes\n document.body\n .getAttributeNames()\n .forEach((n) => document.body.removeAttribute(n));\n copyElementAttributes(document.body, bodyEl);\n // render body with react\n render({\n html: bodyEl.innerHTML,\n layout,\n layoutProps,\n bodyEl,\n pageContext,\n });\n });\n}\n\nasync function onRenderClientRestorationVisit(\n pageContext: PageContextProxyClientRestorationVisit\n) {\n if (pageContext.isHydration) {\n throw new Error(\"restoration visit should never happen on initial render\");\n }\n const { layoutProps, layout } = pageContext.snapshot.pageContext;\n const { bodyEl, headEl } = pageContext.snapshot;\n const proxyBodyEl = bodyEl.querySelector(\"#proxied-body\");\n if (!proxyBodyEl) {\n throw new Error(\"proxied body not found in cached snapshot\");\n }\n Turbolinks._vpsOnRenderClient(headEl, true, true, () => {\n // merge body attributes\n document.body\n .getAttributeNames()\n .forEach((n) => document.body.removeAttribute(n));\n copyElementAttributes(document.body, bodyEl);\n // render body with react\n render({\n html: proxyBodyEl.innerHTML,\n layout,\n layoutProps,\n bodyEl,\n pageContext,\n });\n });\n}\n\n// Helper to render proxied html into a layout. Copies over body attributes and trigger Turoblinks caching.\nfunction render({\n html,\n layout,\n layoutProps,\n bodyEl,\n pageContext,\n}: {\n html: string;\n layout: string;\n layoutProps: AugmentMe.LayoutProps;\n bodyEl: Element;\n pageContext: PageContextProxyClient;\n}) {\n const { layoutMap } = pageContext.config;\n if (!layoutMap) {\n throw new Error(\"layoutMap needs to be defined in config\");\n }\n const Layout = layoutMap[layout] || PassThruLayout;\n renderReact(\n <PageShell key={pageContext.urlOriginal} pageContext={pageContext}>\n <Layout {...layoutProps}>\n <div id=\"proxied-body\" dangerouslySetInnerHTML={{ __html: html }} />\n </Layout>\n </PageShell>,\n pageContext.isHydration\n );\n // cache page context will save it and return it to us during restoration visits\n Turbolinks._vpsCachePageContext({\n layoutProps,\n layout,\n bodyAttrs: getElementAttributes(bodyEl),\n });\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-5SP2QGEH.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
PageShell
|
|
3
|
-
} from "./chunk-JHLK62FM.js";
|
|
4
|
-
import {
|
|
5
|
-
documentPropsToReact
|
|
6
|
-
} from "./chunk-VYXAWOXV.js";
|
|
7
|
-
import {
|
|
8
|
-
getPageContextOrConfig
|
|
9
|
-
} from "./chunk-K4H777XA.js";
|
|
10
|
-
|
|
11
|
-
// renderer/bifrost/onRenderHtml.tsx
|
|
12
|
-
import React from "react";
|
|
13
|
-
import ReactDOMServer from "react-dom/server";
|
|
14
|
-
import { escapeInject, dangerouslySkipEscape } from "vike/server";
|
|
15
|
-
async function bifrostOnRenderHtml(pageContext) {
|
|
16
|
-
const { Page, pageProps, redirectTo } = pageContext;
|
|
17
|
-
if (redirectTo) {
|
|
18
|
-
return {
|
|
19
|
-
pageContext: {
|
|
20
|
-
redirectTo
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
const { Layout } = pageContext.config;
|
|
25
|
-
const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
|
|
26
|
-
if (!Page)
|
|
27
|
-
throw new Error("Server-side render() hook expects Page to be exported");
|
|
28
|
-
if (!Layout)
|
|
29
|
-
throw new Error("Server-side render() hook expects Layout to be exported");
|
|
30
|
-
const pageHtml = ReactDOMServer.renderToString(
|
|
31
|
-
/* @__PURE__ */ React.createElement(PageShell, { pageContext }, /* @__PURE__ */ React.createElement(Layout, { ...layoutProps }, /* @__PURE__ */ React.createElement(Page, { ...pageProps })))
|
|
32
|
-
);
|
|
33
|
-
const headHtml = ReactDOMServer.renderToString(
|
|
34
|
-
documentPropsToReact(
|
|
35
|
-
getPageContextOrConfig(pageContext, "documentProps") || {}
|
|
36
|
-
)
|
|
37
|
-
);
|
|
38
|
-
const bodyAttrs = getPageContextOrConfig(pageContext, "bodyAttrs") || [];
|
|
39
|
-
const { favicon } = pageContext.config;
|
|
40
|
-
const faviconTag = !favicon ? "" : escapeInject`<link rel="icon" href="${favicon}" />`;
|
|
41
|
-
const documentHtml = escapeInject`<!DOCTYPE html>
|
|
42
|
-
<html lang="en">
|
|
43
|
-
<head>
|
|
44
|
-
${faviconTag}
|
|
45
|
-
${dangerouslySkipEscape(headHtml)}
|
|
46
|
-
${dangerouslySkipEscape(
|
|
47
|
-
(pageContext.config.scripts || []).flatMap((s) => s).join("")
|
|
48
|
-
)}
|
|
49
|
-
${dangerouslySkipEscape(
|
|
50
|
-
(pageContext.config.dynamicScripts || []).map((s) => s(pageContext)).join("")
|
|
51
|
-
)}
|
|
52
|
-
${dangerouslySkipEscape(`<script>
|
|
53
|
-
window.Turbolinks = {controller:{restorationIdentifier: ''}};
|
|
54
|
-
addEventListener("DOMContentLoaded", () => {
|
|
55
|
-
const event = new Event("turbolinks:load", { bubbles: true, cancelable: true });
|
|
56
|
-
event.data = {url: window.location.href};
|
|
57
|
-
document.dispatchEvent(event);
|
|
58
|
-
})
|
|
59
|
-
</script>`)}
|
|
60
|
-
</head>
|
|
61
|
-
<body ${dangerouslySkipEscape(
|
|
62
|
-
bodyAttrs.map(({ name, value }) => `${name}="${value}"`).join(" ")
|
|
63
|
-
)}>
|
|
64
|
-
<div id="page-view">${dangerouslySkipEscape(pageHtml)}</div>
|
|
65
|
-
</body>
|
|
66
|
-
</html>`;
|
|
67
|
-
return {
|
|
68
|
-
documentHtml,
|
|
69
|
-
pageContext: {}
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export {
|
|
74
|
-
bifrostOnRenderHtml
|
|
75
|
-
};
|
|
76
|
-
//# sourceMappingURL=chunk-5SP2QGEH.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/bifrost/onRenderHtml.tsx"],"sourcesContent":["import React from \"react\";\nimport ReactDOMServer from \"react-dom/server\";\nimport { escapeInject, dangerouslySkipEscape } from \"vike/server\";\nimport { PageShell } from \"../../lib/PageShell\";\nimport { PageContextNoProxyServer } from \"../../types/internal\";\nimport { documentPropsToReact } from \"../utils/buildHead\";\nimport { getPageContextOrConfig } from \"../utils/getConfigOrPageContext\";\n\nexport async function bifrostOnRenderHtml(\n pageContext: PageContextNoProxyServer\n) {\n const { Page, pageProps, redirectTo } = pageContext;\n if (redirectTo) {\n return {\n pageContext: {\n redirectTo,\n },\n };\n }\n const { Layout } = pageContext.config;\n const layoutProps = getPageContextOrConfig(pageContext, \"layoutProps\") || {};\n\n if (!Page)\n throw new Error(\"Server-side render() hook expects Page to be exported\");\n if (!Layout)\n throw new Error(\"Server-side render() hook expects Layout to be exported\");\n\n const pageHtml = ReactDOMServer.renderToString(\n <PageShell pageContext={pageContext}>\n <Layout {...layoutProps}>\n <Page {...pageProps} />\n </Layout>\n </PageShell>\n );\n\n const headHtml = ReactDOMServer.renderToString(\n documentPropsToReact(\n getPageContextOrConfig(pageContext, \"documentProps\") || {}\n )\n );\n\n const bodyAttrs = getPageContextOrConfig(pageContext, \"bodyAttrs\") || [];\n\n const { favicon } = pageContext.config;\n const faviconTag = !favicon\n ? \"\"\n : escapeInject`<link rel=\"icon\" href=\"${favicon}\" />`;\n\n const documentHtml = escapeInject`<!DOCTYPE html>\n <html lang=\"en\">\n <head>\n ${faviconTag}\n ${dangerouslySkipEscape(headHtml)}\n ${dangerouslySkipEscape(\n (pageContext.config.scripts || []).flatMap((s) => s).join(\"\")\n )}\n ${dangerouslySkipEscape(\n (pageContext.config.dynamicScripts || [])\n .map((s) => s(pageContext))\n .join(\"\")\n )}\n ${dangerouslySkipEscape(`<script>\n window.Turbolinks = {controller:{restorationIdentifier: ''}};\n addEventListener(\"DOMContentLoaded\", () => {\n const event = new Event(\"turbolinks:load\", { bubbles: true, cancelable: true });\n event.data = {url: window.location.href};\n document.dispatchEvent(event); \n })\n </script>`)}\n </head>\n <body ${dangerouslySkipEscape(\n bodyAttrs.map(({ name, value }) => `${name}=\"${value}\"`).join(\" \")\n )}>\n <div id=\"page-view\">${dangerouslySkipEscape(pageHtml)}</div>\n </body>\n </html>`;\n\n return {\n documentHtml,\n pageContext: {},\n };\n}\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,oBAAoB;AAC3B,SAAS,cAAc,6BAA6B;AAMpD,eAAsB,oBACpB,aACA;AACA,QAAM,EAAE,MAAM,WAAW,WAAW,IAAI;AACxC,MAAI,YAAY;AACd,WAAO;AAAA,MACL,aAAa;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,QAAM,EAAE,OAAO,IAAI,YAAY;AAC/B,QAAM,cAAc,uBAAuB,aAAa,aAAa,KAAK,CAAC;AAE3E,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,uDAAuD;AACzE,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,yDAAyD;AAE3E,QAAM,WAAW,eAAe;AAAA,IAC9B,oCAAC,aAAU,eACT,oCAAC,UAAQ,GAAG,eACV,oCAAC,QAAM,GAAG,WAAW,CACvB,CACF;AAAA,EACF;AAEA,QAAM,WAAW,eAAe;AAAA,IAC9B;AAAA,MACE,uBAAuB,aAAa,eAAe,KAAK,CAAC;AAAA,IAC3D;AAAA,EACF;AAEA,QAAM,YAAY,uBAAuB,aAAa,WAAW,KAAK,CAAC;AAEvE,QAAM,EAAE,QAAQ,IAAI,YAAY;AAChC,QAAM,aAAa,CAAC,UAChB,KACA,sCAAsC,OAAO;AAEjD,QAAM,eAAe;AAAA;AAAA;AAAA,QAGf,UAAU;AAAA,QACV,sBAAsB,QAAQ,CAAC;AAAA,QAC/B;AAAA,KACC,YAAY,OAAO,WAAW,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE;AAAA,EAC9D,CAAC;AAAA,QACC;AAAA,KACC,YAAY,OAAO,kBAAkB,CAAC,GACpC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EACzB,KAAK,EAAE;AAAA,EACZ,CAAC;AAAA,QACC,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAOd,CAAC;AAAA;AAAA,cAEH;AAAA,IACN,UAAU,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,KAAK,GAAG;AAAA,EACnE,CAAC;AAAA,8BACuB,sBAAsB,QAAQ,CAAC;AAAA;AAAA;AAI3D,SAAO;AAAA,IACL;AAAA,IACA,aAAa,CAAC;AAAA,EAChB;AACF;","names":[]}
|
package/dist/chunk-ABLEI4J7.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// renderer/configs/bifrost.ts
|
|
2
|
-
var passToClient = [
|
|
3
|
-
"layoutProps",
|
|
4
|
-
"pageProps",
|
|
5
|
-
"redirectTo",
|
|
6
|
-
"bodyAttrs",
|
|
7
|
-
"documentProps",
|
|
8
|
-
"scripts",
|
|
9
|
-
"is404"
|
|
10
|
-
];
|
|
11
|
-
var bifrostConfig = {
|
|
12
|
-
passToClient,
|
|
13
|
-
meta: {
|
|
14
|
-
Layout: { env: { server: true, client: true } },
|
|
15
|
-
layoutProps: { env: { server: true, client: true } },
|
|
16
|
-
documentProps: { env: { server: true, client: true } },
|
|
17
|
-
bodyAttrs: { env: { server: true, client: true } },
|
|
18
|
-
scripts: {
|
|
19
|
-
env: { server: true, client: true },
|
|
20
|
-
cumulative: true
|
|
21
|
-
},
|
|
22
|
-
dynamicScripts: { env: { server: true, client: false }, global: true },
|
|
23
|
-
favicon: { env: { server: true } }
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export {
|
|
28
|
-
bifrostConfig
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=chunk-ABLEI4J7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/configs/bifrost.ts"],"sourcesContent":["import { Config } from \"vike/types\";\n\nconst passToClient = [\n \"layoutProps\",\n \"pageProps\",\n \"redirectTo\",\n \"bodyAttrs\",\n \"documentProps\",\n \"scripts\",\n \"is404\",\n];\nexport const bifrostConfig = {\n passToClient,\n meta: {\n Layout: { env: { server: true, client: true } },\n layoutProps: { env: { server: true, client: true } },\n documentProps: { env: { server: true, client: true } },\n bodyAttrs: { env: { server: true, client: true } },\n scripts: {\n env: { server: true, client: true },\n cumulative: true,\n },\n dynamicScripts: { env: { server: true, client: false }, global: true },\n favicon: { env: { server: true } },\n },\n} satisfies Config;\n"],"mappings":";AAEA,IAAM,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACO,IAAM,gBAAgB;AAAA,EAC3B;AAAA,EACA,MAAM;AAAA,IACJ,QAAQ,EAAE,KAAK,EAAE,QAAQ,MAAM,QAAQ,KAAK,EAAE;AAAA,IAC9C,aAAa,EAAE,KAAK,EAAE,QAAQ,MAAM,QAAQ,KAAK,EAAE;AAAA,IACnD,eAAe,EAAE,KAAK,EAAE,QAAQ,MAAM,QAAQ,KAAK,EAAE;AAAA,IACrD,WAAW,EAAE,KAAK,EAAE,QAAQ,MAAM,QAAQ,KAAK,EAAE;AAAA,IACjD,SAAS;AAAA,MACP,KAAK,EAAE,QAAQ,MAAM,QAAQ,KAAK;AAAA,MAClC,YAAY;AAAA,IACd;AAAA,IACA,gBAAgB,EAAE,KAAK,EAAE,QAAQ,MAAM,QAAQ,MAAM,GAAG,QAAQ,KAAK;AAAA,IACrE,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAK,EAAE;AAAA,EACnC;AACF;","names":[]}
|
package/dist/chunk-EYYCKU6F.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
// renderer/utils/getGlobalObject.ts
|
|
2
|
-
function getGlobalObject(key, defaultValue) {
|
|
3
|
-
const allGlobalObjects = globalThis.__vite_plugin_ssr = globalThis.__vite_plugin_ssr || {};
|
|
4
|
-
const globalObject = allGlobalObjects[key] = allGlobalObjects[key] || defaultValue;
|
|
5
|
-
return globalObject;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export {
|
|
9
|
-
getGlobalObject
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=chunk-EYYCKU6F.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/utils/getGlobalObject.ts"],"sourcesContent":["// https://github.com/brillout/vike-react/blob/main/vike-react/renderer/utils/getGlobalObject.ts\n\nexport function getGlobalObject<T extends Record<string, unknown> = never>(\n // We use the filename as key; each `getGlobalObject()` call should live in a unique filename.\n key: `${string}.ts`,\n defaultValue: T\n): T {\n const allGlobalObjects = (globalThis.__vite_plugin_ssr = globalThis.__vite_plugin_ssr || {})\n const globalObject = (allGlobalObjects[key] = (allGlobalObjects[key] as T) || defaultValue)\n return globalObject\n}\ndeclare global {\n var __vite_plugin_ssr: undefined | Record<string, Record<string, unknown>>\n}\n"],"mappings":";AAEO,SAAS,gBAEd,KACA,cACG;AACH,QAAM,mBAAoB,WAAW,oBAAoB,WAAW,qBAAqB,CAAC;AAC1F,QAAM,eAAgB,iBAAiB,GAAG,IAAK,iBAAiB,GAAG,KAAW;AAC9E,SAAO;AACT;","names":[]}
|
package/dist/chunk-IYGONC4I.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getGlobalObject
|
|
3
|
-
} from "./chunk-EYYCKU6F.js";
|
|
4
|
-
|
|
5
|
-
// renderer/usePageContext.tsx
|
|
6
|
-
import React, { useContext } from "react";
|
|
7
|
-
var { Context } = getGlobalObject("PageContextProvider.ts", {
|
|
8
|
-
Context: React.createContext(void 0)
|
|
9
|
-
});
|
|
10
|
-
function PageContextProvider({
|
|
11
|
-
pageContext,
|
|
12
|
-
children
|
|
13
|
-
}) {
|
|
14
|
-
if (!pageContext)
|
|
15
|
-
throw new Error("Argument pageContext missing");
|
|
16
|
-
return /* @__PURE__ */ React.createElement(Context.Provider, { value: pageContext }, children);
|
|
17
|
-
}
|
|
18
|
-
function usePageContext() {
|
|
19
|
-
const pageContext = useContext(Context);
|
|
20
|
-
if (!pageContext)
|
|
21
|
-
throw new Error(
|
|
22
|
-
"<PageContextProvider> is needed for being able to use usePageContext()"
|
|
23
|
-
);
|
|
24
|
-
return pageContext;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export {
|
|
28
|
-
PageContextProvider,
|
|
29
|
-
usePageContext
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=chunk-IYGONC4I.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/usePageContext.tsx"],"sourcesContent":["// `usePageContext` allows us to access `pageContext` in any React component.\n// See https://vike.com/pageContext-anywhere\n\nimport React, { useContext } from \"react\";\nimport { PageContext } from \"../types/internal.js\";\nimport { getGlobalObject } from \"./utils/getGlobalObject.js\";\n\nexport { PageContextProvider };\nexport { usePageContext };\n\nconst { Context } = getGlobalObject(\"PageContextProvider.ts\", {\n Context: React.createContext<PageContext>(undefined as never),\n});\n\nfunction PageContextProvider({\n pageContext,\n children,\n}: {\n pageContext: PageContext;\n children: React.ReactNode;\n}) {\n if (!pageContext) throw new Error(\"Argument pageContext missing\");\n return <Context.Provider value={pageContext}>{children}</Context.Provider>;\n}\n\n/** Access the pageContext from any React component */\nfunction usePageContext() {\n const pageContext = useContext(Context);\n if (!pageContext)\n throw new Error(\n \"<PageContextProvider> is needed for being able to use usePageContext()\"\n );\n return pageContext;\n}\n"],"mappings":";;;;;AAGA,OAAO,SAAS,kBAAkB;AAOlC,IAAM,EAAE,QAAQ,IAAI,gBAAgB,0BAA0B;AAAA,EAC5D,SAAS,MAAM,cAA2B,MAAkB;AAC9D,CAAC;AAED,SAAS,oBAAoB;AAAA,EAC3B;AAAA,EACA;AACF,GAGG;AACD,MAAI,CAAC;AAAa,UAAM,IAAI,MAAM,8BAA8B;AAChE,SAAO,oCAAC,QAAQ,UAAR,EAAiB,OAAO,eAAc,QAAS;AACzD;AAGA,SAAS,iBAAiB;AACxB,QAAM,cAAc,WAAW,OAAO;AACtC,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;","names":[]}
|
package/dist/chunk-JHLK62FM.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
NavigationProvider
|
|
3
|
-
} from "./chunk-PESUYCE4.js";
|
|
4
|
-
import {
|
|
5
|
-
PageContextProvider
|
|
6
|
-
} from "./chunk-IYGONC4I.js";
|
|
7
|
-
|
|
8
|
-
// lib/PageShell.tsx
|
|
9
|
-
import React from "react";
|
|
10
|
-
function PageShell({
|
|
11
|
-
pageContext,
|
|
12
|
-
children
|
|
13
|
-
}) {
|
|
14
|
-
return /* @__PURE__ */ React.createElement(React.StrictMode, null, /* @__PURE__ */ React.createElement(PageContextProvider, { pageContext }, /* @__PURE__ */ React.createElement(NavigationProvider, null, children)));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export {
|
|
18
|
-
PageShell
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=chunk-JHLK62FM.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/PageShell.tsx"],"sourcesContent":["import React, { ReactNode } from \"react\";\nimport { PageContextProvider } from \"../renderer/usePageContext.js\";\nimport { PageContext } from \"../types/internal.js\";\nimport { NavigationProvider } from \"../renderer/useNavigation.js\";\n\nexport function PageShell({\n pageContext,\n children,\n}: {\n pageContext: PageContext;\n children: ReactNode;\n}) {\n return (\n <React.StrictMode>\n <PageContextProvider pageContext={pageContext}>\n <NavigationProvider>{children}</NavigationProvider>\n </PageContextProvider>\n </React.StrictMode>\n );\n}\n"],"mappings":";;;;;;;;AAAA,OAAO,WAA0B;AAK1B,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AACF,GAGG;AACD,SACE,oCAAC,MAAM,YAAN,MACC,oCAAC,uBAAoB,eACnB,oCAAC,0BAAoB,QAAS,CAChC,CACF;AAEJ;","names":[]}
|
package/dist/chunk-K4H777XA.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/utils/getConfigOrPageContext.ts"],"sourcesContent":["import { PageContextNoProxy } from \"../../types/internal.js\";\n\ntype ConfigOrContext = PageContextNoProxy | PageContextNoProxy[\"config\"];\n\n/**\n * Get page configs that are definable in config and in runtime via onBeforeRoute. documentProps, for example.\n */\nexport function getPageContextOrConfig<T extends keyof ConfigOrContext>(\n pageContext: PageContextNoProxy,\n prop: T\n): ConfigOrContext[T] {\n return pageContext[prop] || pageContext.config[prop];\n}\n"],"mappings":";AAOO,SAAS,uBACd,aACA,MACoB;AACpB,SAAO,YAAY,IAAI,KAAK,YAAY,OAAO,IAAI;AACrD;","names":[]}
|
package/dist/chunk-OXCN6F2S.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/utils/PassthruLayout.tsx"],"sourcesContent":["import React from \"react\";\nimport { PropsWithChildren } from \"react\";\n\nexport const PassThruLayout: React.ComponentType<PropsWithChildren> = ({\n children,\n}) => <>{children}</>;\n"],"mappings":";AAAA,OAAO,WAAW;AAGX,IAAM,iBAAyD,CAAC;AAAA,EACrE;AACF,MAAM,0DAAG,QAAS;","names":[]}
|
package/dist/chunk-PESUYCE4.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getGlobalObject
|
|
3
|
-
} from "./chunk-EYYCKU6F.js";
|
|
4
|
-
|
|
5
|
-
// renderer/useNavigation.tsx
|
|
6
|
-
import React, { useContext, useState } from "react";
|
|
7
|
-
var setNavigation = (navigation) => {
|
|
8
|
-
};
|
|
9
|
-
var { Context } = getGlobalObject("useNavigation.ts", {
|
|
10
|
-
Context: React.createContext(void 0)
|
|
11
|
-
});
|
|
12
|
-
function NavigationProvider({ children }) {
|
|
13
|
-
const [navigation, setNav] = useState({ state: "idle" });
|
|
14
|
-
setNavigation = setNav;
|
|
15
|
-
if (!navigation)
|
|
16
|
-
throw new Error("Argument navigation missing");
|
|
17
|
-
return /* @__PURE__ */ React.createElement(Context.Provider, { value: navigation }, children);
|
|
18
|
-
}
|
|
19
|
-
function useNavigation() {
|
|
20
|
-
const navigation = useContext(Context);
|
|
21
|
-
if (!navigation)
|
|
22
|
-
throw new Error(
|
|
23
|
-
"<NavigationProvider> is needed for being able to use useNavigation()"
|
|
24
|
-
);
|
|
25
|
-
return navigation;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export {
|
|
29
|
-
setNavigation,
|
|
30
|
-
NavigationProvider,
|
|
31
|
-
useNavigation
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=chunk-PESUYCE4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/useNavigation.tsx"],"sourcesContent":["import React, { useContext, useState } from \"react\";\nimport { getGlobalObject } from \"./utils/getGlobalObject.js\";\n\nexport { NavigationProvider };\nexport { useNavigation };\nexport { setNavigation };\n\nlet setNavigation = (navigation: Navigation) => {};\n\ninterface Navigation {\n state: \"idle\" | \"loading\";\n}\n\nconst { Context } = getGlobalObject(\"useNavigation.ts\", {\n Context: React.createContext<Navigation>(undefined as never),\n});\n\nfunction NavigationProvider({ children }: { children: React.ReactNode }) {\n const [navigation, setNav] = useState<Navigation>({ state: \"idle\" });\n // bit of a hack - lets us trigger from outside react.\n setNavigation = setNav;\n if (!navigation) throw new Error(\"Argument navigation missing\");\n return <Context.Provider value={navigation}>{children}</Context.Provider>;\n}\n\n/** Access the navigation from any React component */\nfunction useNavigation() {\n const navigation = useContext(Context);\n if (!navigation)\n throw new Error(\n \"<NavigationProvider> is needed for being able to use useNavigation()\"\n );\n return navigation;\n}\n"],"mappings":";;;;;AAAA,OAAO,SAAS,YAAY,gBAAgB;AAO5C,IAAI,gBAAgB,CAAC,eAA2B;AAAC;AAMjD,IAAM,EAAE,QAAQ,IAAI,gBAAgB,oBAAoB;AAAA,EACtD,SAAS,MAAM,cAA0B,MAAkB;AAC7D,CAAC;AAED,SAAS,mBAAmB,EAAE,SAAS,GAAkC;AACvE,QAAM,CAAC,YAAY,MAAM,IAAI,SAAqB,EAAE,OAAO,OAAO,CAAC;AAEnE,kBAAgB;AAChB,MAAI,CAAC;AAAY,UAAM,IAAI,MAAM,6BAA6B;AAC9D,SAAO,oCAAC,QAAQ,UAAR,EAAiB,OAAO,cAAa,QAAS;AACxD;AAGA,SAAS,gBAAgB;AACvB,QAAM,aAAa,WAAW,OAAO;AACrC,MAAI,CAAC;AACH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;","names":[]}
|
package/dist/chunk-RQ34EW7E.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// lib/getElementAttributes.ts
|
|
2
|
-
function getElementAttributes(element) {
|
|
3
|
-
const bodyAttrs = {};
|
|
4
|
-
element.getAttributeNames().forEach((name) => {
|
|
5
|
-
bodyAttrs[name] = element.getAttribute(name);
|
|
6
|
-
});
|
|
7
|
-
return bodyAttrs;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export {
|
|
11
|
-
getElementAttributes
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=chunk-RQ34EW7E.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../lib/getElementAttributes.ts"],"sourcesContent":["export function getElementAttributes(element: Element) {\n const bodyAttrs: Record<string, string> = {};\n element.getAttributeNames().forEach((name) => {\n bodyAttrs[name] = element.getAttribute(name)!;\n });\n return bodyAttrs;\n}\n"],"mappings":";AAAO,SAAS,qBAAqB,SAAkB;AACrD,QAAM,YAAoC,CAAC;AAC3C,UAAQ,kBAAkB,EAAE,QAAQ,CAAC,SAAS;AAC5C,cAAU,IAAI,IAAI,QAAQ,aAAa,IAAI;AAAA,EAC7C,CAAC;AACD,SAAO;AACT;","names":[]}
|
package/dist/chunk-RSVASTEA.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Turbolinks,
|
|
3
|
-
renderReact
|
|
4
|
-
} from "./chunk-X3MUHPJ3.js";
|
|
5
|
-
import {
|
|
6
|
-
PassThruLayout
|
|
7
|
-
} from "./chunk-OXCN6F2S.js";
|
|
8
|
-
import {
|
|
9
|
-
PageShell
|
|
10
|
-
} from "./chunk-JHLK62FM.js";
|
|
11
|
-
import {
|
|
12
|
-
documentPropsToReact
|
|
13
|
-
} from "./chunk-VYXAWOXV.js";
|
|
14
|
-
import {
|
|
15
|
-
getPageContextOrConfig
|
|
16
|
-
} from "./chunk-K4H777XA.js";
|
|
17
|
-
|
|
18
|
-
// renderer/bifrost/onRenderClient.tsx
|
|
19
|
-
import React from "react";
|
|
20
|
-
import { createRoot } from "react-dom/client";
|
|
21
|
-
async function bifrostOnRenderClient(pageContext) {
|
|
22
|
-
if (pageContext.isBackwardNavigation && pageContext.is404) {
|
|
23
|
-
Turbolinks.controller.viewInvalidated();
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const { Page, pageProps } = pageContext;
|
|
27
|
-
const { Layout = PassThruLayout } = pageContext.config;
|
|
28
|
-
const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
|
|
29
|
-
const bodyAttrs = getPageContextOrConfig(pageContext, "bodyAttrs") || [];
|
|
30
|
-
if (!Page)
|
|
31
|
-
throw new Error("Client-side render() hook expects Page to be exported");
|
|
32
|
-
const page = /* @__PURE__ */ React.createElement(PageShell, { pageContext }, /* @__PURE__ */ React.createElement(Layout, { ...layoutProps }, /* @__PURE__ */ React.createElement(Page, { ...pageProps })));
|
|
33
|
-
if (pageContext.isHydration) {
|
|
34
|
-
await pageContext.config.onClientInit?.();
|
|
35
|
-
renderReact(page, pageContext.isHydration);
|
|
36
|
-
} else {
|
|
37
|
-
const head = document.createElement("head");
|
|
38
|
-
createRoot(head).render(
|
|
39
|
-
documentPropsToReact(
|
|
40
|
-
getPageContextOrConfig(pageContext, "documentProps") || {}
|
|
41
|
-
)
|
|
42
|
-
);
|
|
43
|
-
(pageContext.config.scripts || []).forEach((sarr) => {
|
|
44
|
-
sarr.forEach((s) => {
|
|
45
|
-
head.insertAdjacentHTML("beforeend", s);
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
requestAnimationFrame(() => {
|
|
49
|
-
Turbolinks._vpsOnRenderClient(head, false, false, () => {
|
|
50
|
-
document.body.getAttributeNames().forEach((n) => document.body.removeAttribute(n));
|
|
51
|
-
bodyAttrs.forEach(
|
|
52
|
-
({ name, value }) => document.body.setAttribute(name, value)
|
|
53
|
-
);
|
|
54
|
-
renderReact(page, pageContext.isHydration);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export {
|
|
61
|
-
bifrostOnRenderClient
|
|
62
|
-
};
|
|
63
|
-
//# sourceMappingURL=chunk-RSVASTEA.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/bifrost/onRenderClient.tsx"],"sourcesContent":["import React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { PageShell } from \"../../lib/PageShell\";\nimport { renderReact } from \"../../lib/renderReact\";\nimport { Turbolinks } from \"../../lib/turbolinks\";\nimport { PageContextNoProxyClient } from \"../../types/internal\";\nimport { PassThruLayout } from \"../utils/PassthruLayout\";\nimport { documentPropsToReact } from \"../utils/buildHead\";\nimport { getPageContextOrConfig } from \"../utils/getConfigOrPageContext\";\n\nexport async function bifrostOnRenderClient(\n pageContext: PageContextNoProxyClient\n) {\n // Back button leading to 404 means we hit a page bifrost can't handle in the browser history.\n // Reload allows us to revert to passthru proxy and/or let ALB handle\n if (pageContext.isBackwardNavigation && pageContext.is404) {\n Turbolinks.controller.viewInvalidated();\n return;\n }\n\n const { Page, pageProps } = pageContext;\n const { Layout = PassThruLayout } = pageContext.config;\n const layoutProps = getPageContextOrConfig(pageContext, \"layoutProps\") || {};\n const bodyAttrs = getPageContextOrConfig(pageContext, \"bodyAttrs\") || [];\n\n if (!Page)\n throw new Error(\"Client-side render() hook expects Page to be exported\");\n\n const page = (\n <PageShell pageContext={pageContext}>\n <Layout {...layoutProps}>\n <Page {...pageProps} />\n </Layout>\n </PageShell>\n );\n if (pageContext.isHydration) {\n // During hydration of initial ssr, body is in dom, not page props (to avoid double-send)\n await pageContext.config.onClientInit?.();\n renderReact(page, pageContext.isHydration);\n } else {\n const head = document.createElement(\"head\");\n createRoot(head).render(\n documentPropsToReact(\n getPageContextOrConfig(pageContext, \"documentProps\") || {}\n )\n );\n (pageContext.config.scripts || []).forEach((sarr) => {\n sarr.forEach((s) => {\n head.insertAdjacentHTML(\"beforeend\", s);\n });\n });\n\n requestAnimationFrame(() => {\n Turbolinks._vpsOnRenderClient(head, false, false, () => {\n // clear anything on body\n document.body\n .getAttributeNames()\n .forEach((n) => document.body.removeAttribute(n));\n // add set bodyAttrs\n bodyAttrs.forEach(({ name, value }) =>\n document.body.setAttribute(name, value)\n );\n renderReact(page, pageContext.isHydration);\n });\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,SAAS,kBAAkB;AAS3B,eAAsB,sBACpB,aACA;AAGA,MAAI,YAAY,wBAAwB,YAAY,OAAO;AACzD,eAAW,WAAW,gBAAgB;AACtC;AAAA,EACF;AAEA,QAAM,EAAE,MAAM,UAAU,IAAI;AAC5B,QAAM,EAAE,SAAS,eAAe,IAAI,YAAY;AAChD,QAAM,cAAc,uBAAuB,aAAa,aAAa,KAAK,CAAC;AAC3E,QAAM,YAAY,uBAAuB,aAAa,WAAW,KAAK,CAAC;AAEvE,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,uDAAuD;AAEzE,QAAM,OACJ,oCAAC,aAAU,eACT,oCAAC,UAAQ,GAAG,eACV,oCAAC,QAAM,GAAG,WAAW,CACvB,CACF;AAEF,MAAI,YAAY,aAAa;AAE3B,UAAM,YAAY,OAAO,eAAe;AACxC,gBAAY,MAAM,YAAY,WAAW;AAAA,EAC3C,OAAO;AACL,UAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,eAAW,IAAI,EAAE;AAAA,MACf;AAAA,QACE,uBAAuB,aAAa,eAAe,KAAK,CAAC;AAAA,MAC3D;AAAA,IACF;AACA,KAAC,YAAY,OAAO,WAAW,CAAC,GAAG,QAAQ,CAAC,SAAS;AACnD,WAAK,QAAQ,CAAC,MAAM;AAClB,aAAK,mBAAmB,aAAa,CAAC;AAAA,MACxC,CAAC;AAAA,IACH,CAAC;AAED,0BAAsB,MAAM;AAC1B,iBAAW,mBAAmB,MAAM,OAAO,OAAO,MAAM;AAEtD,iBAAS,KACN,kBAAkB,EAClB,QAAQ,CAAC,MAAM,SAAS,KAAK,gBAAgB,CAAC,CAAC;AAElD,kBAAU;AAAA,UAAQ,CAAC,EAAE,MAAM,MAAM,MAC/B,SAAS,KAAK,aAAa,MAAM,KAAK;AAAA,QACxC;AACA,oBAAY,MAAM,YAAY,WAAW;AAAA,MAC3C,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;","names":[]}
|
package/dist/chunk-VYXAWOXV.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// renderer/utils/buildHead.tsx
|
|
2
|
-
import React from "react";
|
|
3
|
-
function documentPropsToReact({
|
|
4
|
-
title = "",
|
|
5
|
-
description = "",
|
|
6
|
-
viewport = {},
|
|
7
|
-
metaTags = [],
|
|
8
|
-
alternates = {}
|
|
9
|
-
}) {
|
|
10
|
-
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("title", null, title), /* @__PURE__ */ React.createElement("meta", { name: "title", property: "og:title", content: title }), /* @__PURE__ */ React.createElement("meta", { name: "description", content: description }), /* @__PURE__ */ React.createElement(
|
|
11
|
-
"meta",
|
|
12
|
-
{
|
|
13
|
-
name: "viewport",
|
|
14
|
-
content: Object.entries(viewport).map((e) => e.join("=")).join(", ")
|
|
15
|
-
}
|
|
16
|
-
), metaTags.map(({ name, property, content }) => /* @__PURE__ */ React.createElement("meta", { name, property, content })), alternates.canonical && /* @__PURE__ */ React.createElement("link", { rel: "canonical", href: alternates.canonical }));
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export {
|
|
20
|
-
documentPropsToReact
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=chunk-VYXAWOXV.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../renderer/utils/buildHead.tsx"],"sourcesContent":["import React from \"react\";\nimport { DocumentProps } from \"../../types/internal.js\";\n\nexport function documentPropsToReact({\n title = \"\",\n description = \"\",\n viewport = {},\n metaTags = [],\n alternates = {},\n}: DocumentProps): React.ReactElement {\n return (\n <>\n <title>{title}</title>\n <meta name=\"title\" property=\"og:title\" content={title} />\n <meta name=\"description\" content={description} />\n <meta\n name=\"viewport\"\n content={Object.entries(viewport)\n .map((e) => e.join(\"=\"))\n .join(\", \")}\n />\n {metaTags.map(({ name, property, content }) => (\n <meta name={name} property={property} content={content} />\n ))}\n { alternates.canonical && <link rel=\"canonical\" href={alternates.canonical} /> }\n </>\n );\n}\n"],"mappings":";AAAA,OAAO,WAAW;AAGX,SAAS,qBAAqB;AAAA,EACnC,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW,CAAC;AAAA,EACZ,WAAW,CAAC;AAAA,EACZ,aAAa,CAAC;AAChB,GAAsC;AACpC,SACE,0DACE,oCAAC,eAAO,KAAM,GACd,oCAAC,UAAK,MAAK,SAAQ,UAAS,YAAW,SAAS,OAAO,GACvD,oCAAC,UAAK,MAAK,eAAc,SAAS,aAAa,GAC/C;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAS,OAAO,QAAQ,QAAQ,EAC7B,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,EACtB,KAAK,IAAI;AAAA;AAAA,EACd,GACC,SAAS,IAAI,CAAC,EAAE,MAAM,UAAU,QAAQ,MACvC,oCAAC,UAAK,MAAY,UAAoB,SAAkB,CACzD,GACC,WAAW,aAAa,oCAAC,UAAK,KAAI,aAAY,MAAM,WAAW,WAAW,CAC9E;AAEJ;","names":[]}
|