@tanstack/solid-router 1.121.34 → 1.121.40
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/cjs/Asset.cjs +13 -13
- package/dist/cjs/Asset.cjs.map +1 -1
- package/dist/cjs/CatchBoundary.cjs +13 -13
- package/dist/cjs/CatchBoundary.cjs.map +1 -1
- package/dist/cjs/ClientOnly.cjs +6 -6
- package/dist/cjs/ClientOnly.cjs.map +1 -1
- package/dist/cjs/HeadContent.cjs +5 -5
- package/dist/cjs/HeadContent.cjs.map +1 -1
- package/dist/cjs/Match.cjs +34 -34
- package/dist/cjs/Match.cjs.map +1 -1
- package/dist/cjs/Matches.cjs +11 -11
- package/dist/cjs/Matches.cjs.map +1 -1
- package/dist/cjs/RouterProvider.cjs +5 -5
- package/dist/cjs/RouterProvider.cjs.map +1 -1
- package/dist/cjs/SafeFragment.cjs +2 -2
- package/dist/cjs/SafeFragment.cjs.map +1 -1
- package/dist/cjs/ScriptOnce.cjs +3 -3
- package/dist/cjs/ScriptOnce.cjs.map +1 -1
- package/dist/cjs/Scripts.cjs +2 -2
- package/dist/cjs/Scripts.cjs.map +1 -1
- package/dist/cjs/awaited.cjs +2 -2
- package/dist/cjs/awaited.cjs.map +1 -1
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/lazyRouteComponent.cjs +6 -6
- package/dist/cjs/lazyRouteComponent.cjs.map +1 -1
- package/dist/cjs/link.cjs +3 -3
- package/dist/cjs/link.cjs.map +1 -1
- package/dist/cjs/not-found.cjs +3 -3
- package/dist/cjs/not-found.cjs.map +1 -1
- package/dist/cjs/renderRouteNotFound.cjs +4 -4
- package/dist/cjs/renderRouteNotFound.cjs.map +1 -1
- package/dist/cjs/route.cjs +4 -4
- package/dist/cjs/route.cjs.map +1 -1
- package/dist/cjs/scroll-restoration.cjs +2 -2
- package/dist/cjs/scroll-restoration.cjs.map +1 -1
- package/dist/cjs/ssr/RouterClient.cjs +45 -0
- package/dist/cjs/ssr/RouterClient.cjs.map +1 -0
- package/dist/cjs/ssr/RouterClient.d.cts +4 -0
- package/dist/cjs/ssr/RouterServer.cjs +56 -0
- package/dist/cjs/ssr/RouterServer.cjs.map +1 -0
- package/dist/cjs/ssr/RouterServer.d.cts +5 -0
- package/dist/cjs/ssr/client.cjs +5 -0
- package/dist/cjs/ssr/client.cjs.map +1 -0
- package/dist/cjs/ssr/client.d.cts +1 -0
- package/dist/cjs/ssr/defaultRenderHandler.cjs +18 -0
- package/dist/cjs/ssr/defaultRenderHandler.cjs.map +1 -0
- package/dist/cjs/ssr/defaultRenderHandler.d.cts +1 -0
- package/dist/cjs/ssr/defaultStreamHandler.cjs +20 -0
- package/dist/cjs/ssr/defaultStreamHandler.cjs.map +1 -0
- package/dist/cjs/ssr/defaultStreamHandler.d.cts +1 -0
- package/dist/cjs/ssr/renderRouterToStream.cjs +45 -0
- package/dist/cjs/ssr/renderRouterToStream.cjs.map +1 -0
- package/dist/cjs/ssr/renderRouterToStream.d.cts +8 -0
- package/dist/cjs/ssr/renderRouterToString.cjs +43 -0
- package/dist/cjs/ssr/renderRouterToString.cjs.map +1 -0
- package/dist/cjs/ssr/renderRouterToString.d.cts +7 -0
- package/dist/cjs/ssr/server.cjs +20 -0
- package/dist/cjs/ssr/server.cjs.map +1 -0
- package/dist/cjs/ssr/server.d.cts +6 -0
- package/dist/cjs/useBlocker.cjs +2 -2
- package/dist/cjs/useBlocker.cjs.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/ssr/RouterClient.d.ts +4 -0
- package/dist/esm/ssr/RouterClient.js +45 -0
- package/dist/esm/ssr/RouterClient.js.map +1 -0
- package/dist/esm/ssr/RouterServer.d.ts +5 -0
- package/dist/esm/ssr/RouterServer.js +56 -0
- package/dist/esm/ssr/RouterServer.js.map +1 -0
- package/dist/esm/ssr/client.d.ts +1 -0
- package/dist/esm/ssr/client.js +5 -0
- package/dist/esm/ssr/client.js.map +1 -0
- package/dist/esm/ssr/defaultRenderHandler.d.ts +1 -0
- package/dist/esm/ssr/defaultRenderHandler.js +18 -0
- package/dist/esm/ssr/defaultRenderHandler.js.map +1 -0
- package/dist/esm/ssr/defaultStreamHandler.d.ts +1 -0
- package/dist/esm/ssr/defaultStreamHandler.js +20 -0
- package/dist/esm/ssr/defaultStreamHandler.js.map +1 -0
- package/dist/esm/ssr/renderRouterToStream.d.ts +8 -0
- package/dist/esm/ssr/renderRouterToStream.js +28 -0
- package/dist/esm/ssr/renderRouterToStream.js.map +1 -0
- package/dist/esm/ssr/renderRouterToString.d.ts +7 -0
- package/dist/esm/ssr/renderRouterToString.js +26 -0
- package/dist/esm/ssr/renderRouterToString.js.map +1 -0
- package/dist/esm/ssr/server.d.ts +6 -0
- package/dist/esm/ssr/server.js +14 -0
- package/dist/esm/ssr/server.js.map +1 -0
- package/dist/source/index.d.ts +1 -1
- package/dist/source/index.jsx.map +1 -1
- package/dist/source/ssr/RouterClient.d.ts +4 -0
- package/dist/source/ssr/RouterClient.jsx +28 -0
- package/dist/source/ssr/RouterClient.jsx.map +1 -0
- package/dist/source/ssr/RouterServer.d.ts +5 -0
- package/dist/source/ssr/RouterServer.jsx +38 -0
- package/dist/source/ssr/RouterServer.jsx.map +1 -0
- package/dist/source/ssr/client.d.ts +1 -0
- package/dist/source/ssr/client.js +2 -0
- package/dist/source/ssr/client.js.map +1 -0
- package/dist/source/ssr/defaultRenderHandler.d.ts +1 -0
- package/dist/source/ssr/defaultRenderHandler.jsx +9 -0
- package/dist/source/ssr/defaultRenderHandler.jsx.map +1 -0
- package/dist/source/ssr/defaultStreamHandler.d.ts +1 -0
- package/dist/source/ssr/defaultStreamHandler.jsx +10 -0
- package/dist/source/ssr/defaultStreamHandler.jsx.map +1 -0
- package/dist/source/ssr/renderRouterToStream.d.ts +8 -0
- package/dist/source/ssr/renderRouterToStream.jsx +17 -0
- package/dist/source/ssr/renderRouterToStream.jsx.map +1 -0
- package/dist/source/ssr/renderRouterToString.d.ts +7 -0
- package/dist/source/ssr/renderRouterToString.jsx +20 -0
- package/dist/source/ssr/renderRouterToString.jsx.map +1 -0
- package/dist/source/ssr/server.d.ts +6 -0
- package/dist/source/ssr/server.js +7 -0
- package/dist/source/ssr/server.js.map +1 -0
- package/package.json +31 -2
- package/src/index.tsx +1 -0
- package/src/ssr/RouterClient.tsx +43 -0
- package/src/ssr/RouterServer.tsx +60 -0
- package/src/ssr/client.ts +1 -0
- package/src/ssr/defaultRenderHandler.tsx +12 -0
- package/src/ssr/defaultStreamHandler.tsx +13 -0
- package/src/ssr/renderRouterToStream.tsx +36 -0
- package/src/ssr/renderRouterToString.tsx +31 -0
- package/src/ssr/server.ts +6 -0
package/dist/cjs/Asset.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
4
|
const meta = require("@solidjs/meta");
|
|
5
|
-
const Solid = require("solid-js");
|
|
6
|
-
var _tmpl$ = /* @__PURE__ */
|
|
5
|
+
const Solid$1 = require("solid-js");
|
|
6
|
+
var _tmpl$ = /* @__PURE__ */ Solid.template(`<link>`), _tmpl$2 = /* @__PURE__ */ Solid.template(`<script>`);
|
|
7
7
|
function Asset({
|
|
8
8
|
tag,
|
|
9
9
|
attrs,
|
|
@@ -11,23 +11,23 @@ function Asset({
|
|
|
11
11
|
}) {
|
|
12
12
|
switch (tag) {
|
|
13
13
|
case "title":
|
|
14
|
-
return
|
|
14
|
+
return Solid.createComponent(meta.Title, Solid.mergeProps(attrs, {
|
|
15
15
|
children
|
|
16
16
|
}));
|
|
17
17
|
case "meta":
|
|
18
|
-
return
|
|
18
|
+
return Solid.createComponent(meta.Meta, attrs);
|
|
19
19
|
case "link":
|
|
20
20
|
return (() => {
|
|
21
21
|
var _el$ = _tmpl$();
|
|
22
|
-
|
|
22
|
+
Solid.spread(_el$, attrs, false, false);
|
|
23
23
|
return _el$;
|
|
24
24
|
})();
|
|
25
25
|
case "style":
|
|
26
|
-
return
|
|
26
|
+
return Solid.createComponent(meta.Style, Solid.mergeProps(attrs, {
|
|
27
27
|
innerHTML: children
|
|
28
28
|
}));
|
|
29
29
|
case "script":
|
|
30
|
-
return
|
|
30
|
+
return Solid.createComponent(Script, {
|
|
31
31
|
attrs,
|
|
32
32
|
children
|
|
33
33
|
});
|
|
@@ -39,7 +39,7 @@ function Script({
|
|
|
39
39
|
attrs,
|
|
40
40
|
children
|
|
41
41
|
}) {
|
|
42
|
-
Solid.onMount(() => {
|
|
42
|
+
Solid$1.onMount(() => {
|
|
43
43
|
if (attrs == null ? void 0 : attrs.src) {
|
|
44
44
|
const script = document.createElement("script");
|
|
45
45
|
for (const [key, value] of Object.entries(attrs)) {
|
|
@@ -48,7 +48,7 @@ function Script({
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
document.head.appendChild(script);
|
|
51
|
-
Solid.onCleanup(() => {
|
|
51
|
+
Solid$1.onCleanup(() => {
|
|
52
52
|
if (script.parentNode) {
|
|
53
53
|
script.parentNode.removeChild(script);
|
|
54
54
|
}
|
|
@@ -64,7 +64,7 @@ function Script({
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
document.head.appendChild(script);
|
|
67
|
-
Solid.onCleanup(() => {
|
|
67
|
+
Solid$1.onCleanup(() => {
|
|
68
68
|
if (script.parentNode) {
|
|
69
69
|
script.parentNode.removeChild(script);
|
|
70
70
|
}
|
|
@@ -74,14 +74,14 @@ function Script({
|
|
|
74
74
|
if ((attrs == null ? void 0 : attrs.src) && typeof attrs.src === "string") {
|
|
75
75
|
return (() => {
|
|
76
76
|
var _el$2 = _tmpl$2();
|
|
77
|
-
|
|
77
|
+
Solid.spread(_el$2, attrs, false, false);
|
|
78
78
|
return _el$2;
|
|
79
79
|
})();
|
|
80
80
|
}
|
|
81
81
|
if (typeof children === "string") {
|
|
82
82
|
return (() => {
|
|
83
83
|
var _el$3 = _tmpl$2();
|
|
84
|
-
|
|
84
|
+
Solid.spread(_el$3, Solid.mergeProps(attrs, {
|
|
85
85
|
"innerHTML": children
|
|
86
86
|
}), false, false);
|
|
87
87
|
return _el$3;
|
package/dist/cjs/Asset.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Asset.cjs","sources":["../../src/Asset.tsx"],"sourcesContent":["import { Meta, Style, Title } from '@solidjs/meta'\nimport { onCleanup, onMount } from 'solid-js'\nimport type { RouterManagedTag } from '@tanstack/router-core'\nimport type { JSX } from 'solid-js'\n\nexport function Asset({\n tag,\n attrs,\n children,\n}: RouterManagedTag): JSX.Element | null {\n switch (tag) {\n case 'title':\n return <Title {...attrs}>{children}</Title>\n case 'meta':\n return <Meta {...attrs} />\n case 'link':\n return <link {...attrs} />\n case 'style':\n return <Style {...attrs} innerHTML={children} />\n case 'script':\n return <Script attrs={attrs}>{children}</Script>\n default:\n return null\n }\n}\n\ninterface ScriptAttrs {\n [key: string]: string | boolean | undefined\n src?: string\n}\n\nfunction Script({\n attrs,\n children,\n}: {\n attrs?: ScriptAttrs\n children?: string\n}): JSX.Element | null {\n onMount(() => {\n if (attrs?.src) {\n const script = document.createElement('script')\n\n for (const [key, value] of Object.entries(attrs)) {\n if (value !== undefined && value !== false) {\n script.setAttribute(\n key,\n typeof value === 'boolean' ? '' : String(value),\n )\n }\n }\n\n document.head.appendChild(script)\n\n onCleanup(() => {\n if (script.parentNode) {\n script.parentNode.removeChild(script)\n }\n })\n } else if (typeof children === 'string') {\n const script = document.createElement('script')\n script.textContent = children\n\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n if (value !== undefined && value !== false) {\n script.setAttribute(\n key,\n typeof value === 'boolean' ? '' : String(value),\n )\n }\n }\n }\n\n document.head.appendChild(script)\n\n onCleanup(() => {\n if (script.parentNode) {\n script.parentNode.removeChild(script)\n }\n })\n }\n })\n\n if (attrs?.src && typeof attrs.src === 'string') {\n return <script {...attrs} />\n }\n\n if (typeof children === 'string') {\n return <script {...attrs} innerHTML={children} />\n }\n\n return null\n}\n"],"names":["Asset","tag","attrs","children","_$createComponent","Title","_$mergeProps","Meta","_el$","_tmpl$","Style","innerHTML","Script","onMount","src","script","document","createElement","key","value","Object","entries","undefined","setAttribute","String","head","appendChild","onCleanup","parentNode","removeChild","textContent","_el$2","_tmpl$2","_el$3"],"mappings":";;;;;;AAKO,SAASA,MAAM;AAAA,EACpBC;AAAAA,EACAC;AAAAA,EACAC;AACgB,GAAuB;AACvC,UAAQF,KAAG;AAAA,IACT,KAAK;AACHG,aAAAA,
|
|
1
|
+
{"version":3,"file":"Asset.cjs","sources":["../../src/Asset.tsx"],"sourcesContent":["import { Meta, Style, Title } from '@solidjs/meta'\nimport { onCleanup, onMount } from 'solid-js'\nimport type { RouterManagedTag } from '@tanstack/router-core'\nimport type { JSX } from 'solid-js'\n\nexport function Asset({\n tag,\n attrs,\n children,\n}: RouterManagedTag): JSX.Element | null {\n switch (tag) {\n case 'title':\n return <Title {...attrs}>{children}</Title>\n case 'meta':\n return <Meta {...attrs} />\n case 'link':\n return <link {...attrs} />\n case 'style':\n return <Style {...attrs} innerHTML={children} />\n case 'script':\n return <Script attrs={attrs}>{children}</Script>\n default:\n return null\n }\n}\n\ninterface ScriptAttrs {\n [key: string]: string | boolean | undefined\n src?: string\n}\n\nfunction Script({\n attrs,\n children,\n}: {\n attrs?: ScriptAttrs\n children?: string\n}): JSX.Element | null {\n onMount(() => {\n if (attrs?.src) {\n const script = document.createElement('script')\n\n for (const [key, value] of Object.entries(attrs)) {\n if (value !== undefined && value !== false) {\n script.setAttribute(\n key,\n typeof value === 'boolean' ? '' : String(value),\n )\n }\n }\n\n document.head.appendChild(script)\n\n onCleanup(() => {\n if (script.parentNode) {\n script.parentNode.removeChild(script)\n }\n })\n } else if (typeof children === 'string') {\n const script = document.createElement('script')\n script.textContent = children\n\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n if (value !== undefined && value !== false) {\n script.setAttribute(\n key,\n typeof value === 'boolean' ? '' : String(value),\n )\n }\n }\n }\n\n document.head.appendChild(script)\n\n onCleanup(() => {\n if (script.parentNode) {\n script.parentNode.removeChild(script)\n }\n })\n }\n })\n\n if (attrs?.src && typeof attrs.src === 'string') {\n return <script {...attrs} />\n }\n\n if (typeof children === 'string') {\n return <script {...attrs} innerHTML={children} />\n }\n\n return null\n}\n"],"names":["Asset","tag","attrs","children","_$createComponent","Title","_$mergeProps","Meta","_el$","_tmpl$","Style","innerHTML","Script","onMount","src","script","document","createElement","key","value","Object","entries","undefined","setAttribute","String","head","appendChild","onCleanup","parentNode","removeChild","textContent","_el$2","_tmpl$2","_el$3"],"mappings":";;;;;;AAKO,SAASA,MAAM;AAAA,EACpBC;AAAAA,EACAC;AAAAA,EACAC;AACgB,GAAuB;AACvC,UAAQF,KAAG;AAAA,IACT,KAAK;AACHG,aAAAA,sBAAQC,KAAAA,OAAKC,MAAAA,WAAKJ,OAAK;AAAA,QAAAC;AAAAA,MAAAA,CAAW,CAAA;AAAA,IACpC,KAAK;AACHC,aAAAA,MAAAA,gBAAQG,WAASL,KAAK;AAAA,IACxB,KAAK;AACH,cAAA,MAAA;AAAA,YAAAM,OAAAC,OAAA;AAAAD,cAAAA,OAAAA,MAAiBN,OAAK,OAAA,KAAA;AAAAM,eAAAA;AAAAA,MAAAA,GAAA;AAAA,IACxB,KAAK;AACHJ,aAAAA,sBAAQM,KAAAA,OAAKJ,MAAAA,WAAKJ,OAAK;AAAA,QAAES,WAAWR;AAAAA,MAAAA,CAAQ,CAAA;AAAA,IAC9C,KAAK;AACH,aAAAC,MAAAA,gBAAQQ,QAAM;AAAA,QAACV;AAAAA,QAAYC;AAAAA,MAAAA,CAAW;AAAA,IACxC;AACS,aAAA;AAAA,EAAA;AAEb;AAOA,SAASS,OAAO;AAAA,EACdV;AAAAA,EACAC;AAIF,GAAuB;AACrBU,UAAAA,QAAQ,MAAM;AACZ,QAAIX,+BAAOY,KAAK;AACRC,YAAAA,SAASC,SAASC,cAAc,QAAQ;AAE9C,iBAAW,CAACC,KAAKC,KAAK,KAAKC,OAAOC,QAAQnB,KAAK,GAAG;AAC5CiB,YAAAA,UAAUG,UAAaH,UAAU,OAAO;AACnCI,iBAAAA,aACLL,KACA,OAAOC,UAAU,YAAY,KAAKK,OAAOL,KAAK,CAChD;AAAA,QAAA;AAAA,MACF;AAGOM,eAAAA,KAAKC,YAAYX,MAAM;AAEhCY,cAAAA,UAAU,MAAM;AACd,YAAIZ,OAAOa,YAAY;AACdA,iBAAAA,WAAWC,YAAYd,MAAM;AAAA,QAAA;AAAA,MACtC,CACD;AAAA,IAAA,WACQ,OAAOZ,aAAa,UAAU;AACjCY,YAAAA,SAASC,SAASC,cAAc,QAAQ;AAC9CF,aAAOe,cAAc3B;AAErB,UAAID,OAAO;AACT,mBAAW,CAACgB,KAAKC,KAAK,KAAKC,OAAOC,QAAQnB,KAAK,GAAG;AAC5CiB,cAAAA,UAAUG,UAAaH,UAAU,OAAO;AACnCI,mBAAAA,aACLL,KACA,OAAOC,UAAU,YAAY,KAAKK,OAAOL,KAAK,CAChD;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAGOM,eAAAA,KAAKC,YAAYX,MAAM;AAEhCY,cAAAA,UAAU,MAAM;AACd,YAAIZ,OAAOa,YAAY;AACdA,iBAAAA,WAAWC,YAAYd,MAAM;AAAA,QAAA;AAAA,MACtC,CACD;AAAA,IAAA;AAAA,EACH,CACD;AAED,OAAIb,+BAAOY,QAAO,OAAOZ,MAAMY,QAAQ,UAAU;AAC/C,YAAA,MAAA;AAAA,UAAAiB,QAAAC,QAAA;AAAAD,YAAAA,OAAAA,OAAmB7B,OAAK,OAAA,KAAA;AAAA6B,aAAAA;AAAAA,IAAAA,GAAA;AAAA,EAAA;AAGtB,MAAA,OAAO5B,aAAa,UAAU;AAChC,YAAA,MAAA;AAAA,UAAA8B,QAAAD,QAAA;AAAAC,mBAAAA,OAAA3B,iBAAmBJ,OAAK;AAAA,QAAA,aAAaC;AAAAA,MAAAA,CAAQ,GAAA,OAAA,KAAA;AAAA8B,aAAAA;AAAAA,IAAAA,GAAA;AAAA,EAAA;AAGxC,SAAA;AACT;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
4
|
-
const Solid = require("solid-js");
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const Solid$1 = require("solid-js");
|
|
5
5
|
function _interopNamespaceDefault(e) {
|
|
6
6
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
7
7
|
if (e) {
|
|
@@ -18,17 +18,17 @@ function _interopNamespaceDefault(e) {
|
|
|
18
18
|
n.default = e;
|
|
19
19
|
return Object.freeze(n);
|
|
20
20
|
}
|
|
21
|
-
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
|
|
22
|
-
var _tmpl$ = /* @__PURE__ */
|
|
21
|
+
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid$1);
|
|
22
|
+
var _tmpl$ = /* @__PURE__ */ Solid.template(`<div><div><strong>Something went wrong!</strong><button></button></div><div>`), _tmpl$2 = /* @__PURE__ */ Solid.template(`<div><pre>`), _tmpl$3 = /* @__PURE__ */ Solid.template(`<code>`);
|
|
23
23
|
function CatchBoundary(props) {
|
|
24
|
-
return
|
|
24
|
+
return Solid.createComponent(Solid__namespace.ErrorBoundary, {
|
|
25
25
|
fallback: (error, reset) => {
|
|
26
26
|
var _a;
|
|
27
27
|
(_a = props.onCatch) == null ? void 0 : _a.call(props, error);
|
|
28
28
|
Solid__namespace.createEffect(Solid__namespace.on([props.getResetKey], () => reset(), {
|
|
29
29
|
defer: true
|
|
30
30
|
}));
|
|
31
|
-
return
|
|
31
|
+
return Solid.createComponent(Solid.Dynamic, {
|
|
32
32
|
get component() {
|
|
33
33
|
return props.errorComponent ?? ErrorComponent;
|
|
34
34
|
},
|
|
@@ -60,10 +60,10 @@ function ErrorComponent({
|
|
|
60
60
|
_el$4.style.setProperty("padding", ".1rem .2rem");
|
|
61
61
|
_el$4.style.setProperty("font-weight", "bold");
|
|
62
62
|
_el$4.style.setProperty("border-radius", ".25rem");
|
|
63
|
-
|
|
63
|
+
Solid.insert(_el$4, () => show() ? "Hide Error" : "Show Error");
|
|
64
64
|
_el$5.style.setProperty("height", ".25rem");
|
|
65
|
-
|
|
66
|
-
var _c$ =
|
|
65
|
+
Solid.insert(_el$, (() => {
|
|
66
|
+
var _c$ = Solid.memo(() => !!show());
|
|
67
67
|
return () => _c$() ? (() => {
|
|
68
68
|
var _el$6 = _tmpl$2(), _el$7 = _el$6.firstChild;
|
|
69
69
|
_el$7.style.setProperty("font-size", ".7em");
|
|
@@ -72,11 +72,11 @@ function ErrorComponent({
|
|
|
72
72
|
_el$7.style.setProperty("padding", ".3rem");
|
|
73
73
|
_el$7.style.setProperty("color", "red");
|
|
74
74
|
_el$7.style.setProperty("overflow", "auto");
|
|
75
|
-
|
|
76
|
-
var _c$2 =
|
|
75
|
+
Solid.insert(_el$7, (() => {
|
|
76
|
+
var _c$2 = Solid.memo(() => !!error.message);
|
|
77
77
|
return () => _c$2() ? (() => {
|
|
78
78
|
var _el$8 = _tmpl$3();
|
|
79
|
-
|
|
79
|
+
Solid.insert(_el$8, () => error.message);
|
|
80
80
|
return _el$8;
|
|
81
81
|
})() : null;
|
|
82
82
|
})());
|
|
@@ -86,7 +86,7 @@ function ErrorComponent({
|
|
|
86
86
|
return _el$;
|
|
87
87
|
})();
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
Solid.delegateEvents(["click"]);
|
|
90
90
|
exports.CatchBoundary = CatchBoundary;
|
|
91
91
|
exports.ErrorComponent = ErrorComponent;
|
|
92
92
|
//# sourceMappingURL=CatchBoundary.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CatchBoundary.cjs","sources":["../../src/CatchBoundary.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { Dynamic } from 'solid-js/web'\nimport type { ErrorRouteComponent } from './route'\n\nexport function CatchBoundary(\n props: {\n getResetKey: () => number | string\n children: Solid.JSX.Element\n errorComponent?: ErrorRouteComponent\n onCatch?: (error: Error) => void\n } & Solid.ParentProps,\n) {\n return (\n <Solid.ErrorBoundary\n fallback={(error, reset) => {\n props.onCatch?.(error)\n\n Solid.createEffect(\n Solid.on([props.getResetKey], () => reset(), { defer: true }),\n )\n\n return (\n <Dynamic\n component={props.errorComponent ?? ErrorComponent}\n error={error}\n reset={reset}\n />\n )\n }}\n >\n {props.children}\n </Solid.ErrorBoundary>\n )\n}\n\nexport function ErrorComponent({ error }: { error: any }) {\n const [show, setShow] = Solid.createSignal(\n process.env.NODE_ENV !== 'production',\n )\n\n return (\n <div style={{ padding: '.5rem', 'max-width': '100%' }}>\n <div style={{ display: 'flex', 'align-items': 'center', gap: '.5rem' }}>\n <strong style={{ 'font-size': '1rem' }}>Something went wrong!</strong>\n <button\n style={{\n appearance: 'none',\n 'font-size': '.6em',\n border: '1px solid currentColor',\n padding: '.1rem .2rem',\n 'font-weight': 'bold',\n 'border-radius': '.25rem',\n }}\n onClick={() => setShow((d) => !d)}\n >\n {show() ? 'Hide Error' : 'Show Error'}\n </button>\n </div>\n <div style={{ height: '.25rem' }} />\n {show() ? (\n <div>\n <pre\n style={{\n 'font-size': '.7em',\n border: '1px solid red',\n 'border-radius': '.25rem',\n padding: '.3rem',\n color: 'red',\n overflow: 'auto',\n }}\n >\n {error.message ? <code>{error.message}</code> : null}\n </pre>\n </div>\n ) : null}\n </div>\n )\n}\n"],"names":["CatchBoundary","props","_$createComponent","Solid","ErrorBoundary","fallback","error","reset","onCatch","createEffect","on","getResetKey","defer","Dynamic","component","errorComponent","ErrorComponent","children","show","setShow","createSignal","process","env","NODE_ENV","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","nextSibling","_el$5","style","setProperty","$$click","d","_$insert","_c$","_$memo","_el$6","_tmpl$2","_el$7","_c$2","message","_el$8","_tmpl$3","_$delegateEvents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIO,SAASA,cACdC,OAMA;AACAC,SAAAA,
|
|
1
|
+
{"version":3,"file":"CatchBoundary.cjs","sources":["../../src/CatchBoundary.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { Dynamic } from 'solid-js/web'\nimport type { ErrorRouteComponent } from './route'\n\nexport function CatchBoundary(\n props: {\n getResetKey: () => number | string\n children: Solid.JSX.Element\n errorComponent?: ErrorRouteComponent\n onCatch?: (error: Error) => void\n } & Solid.ParentProps,\n) {\n return (\n <Solid.ErrorBoundary\n fallback={(error, reset) => {\n props.onCatch?.(error)\n\n Solid.createEffect(\n Solid.on([props.getResetKey], () => reset(), { defer: true }),\n )\n\n return (\n <Dynamic\n component={props.errorComponent ?? ErrorComponent}\n error={error}\n reset={reset}\n />\n )\n }}\n >\n {props.children}\n </Solid.ErrorBoundary>\n )\n}\n\nexport function ErrorComponent({ error }: { error: any }) {\n const [show, setShow] = Solid.createSignal(\n process.env.NODE_ENV !== 'production',\n )\n\n return (\n <div style={{ padding: '.5rem', 'max-width': '100%' }}>\n <div style={{ display: 'flex', 'align-items': 'center', gap: '.5rem' }}>\n <strong style={{ 'font-size': '1rem' }}>Something went wrong!</strong>\n <button\n style={{\n appearance: 'none',\n 'font-size': '.6em',\n border: '1px solid currentColor',\n padding: '.1rem .2rem',\n 'font-weight': 'bold',\n 'border-radius': '.25rem',\n }}\n onClick={() => setShow((d) => !d)}\n >\n {show() ? 'Hide Error' : 'Show Error'}\n </button>\n </div>\n <div style={{ height: '.25rem' }} />\n {show() ? (\n <div>\n <pre\n style={{\n 'font-size': '.7em',\n border: '1px solid red',\n 'border-radius': '.25rem',\n padding: '.3rem',\n color: 'red',\n overflow: 'auto',\n }}\n >\n {error.message ? <code>{error.message}</code> : null}\n </pre>\n </div>\n ) : null}\n </div>\n )\n}\n"],"names":["CatchBoundary","props","_$createComponent","Solid","ErrorBoundary","fallback","error","reset","onCatch","createEffect","on","getResetKey","defer","Dynamic","component","errorComponent","ErrorComponent","children","show","setShow","createSignal","process","env","NODE_ENV","_el$","_tmpl$","_el$2","firstChild","_el$3","_el$4","nextSibling","_el$5","style","setProperty","$$click","d","_$insert","_c$","_$memo","_el$6","_tmpl$2","_el$7","_c$2","message","_el$8","_tmpl$3","_$delegateEvents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIO,SAASA,cACdC,OAMA;AACAC,SAAAA,MAAAA,gBACGC,iBAAMC,eAAa;AAAA,IAClBC,UAAUA,CAACC,OAAOC,UAAU;;AAC1BN,kBAAMO,YAANP,+BAAgBK;AAEVG,uBAAAA,aACJN,iBAAMO,GAAG,CAACT,MAAMU,WAAW,GAAG,MAAMJ,SAAS;AAAA,QAAEK,OAAO;AAAA,MAAA,CAAM,CAC9D;AAEA,aAAAV,MAAAA,gBACGW,MAAAA,SAAO;AAAA,QAAA,IACNC,YAAS;AAAA,iBAAEb,MAAMc,kBAAkBC;AAAAA,QAAc;AAAA,QACjDV;AAAAA,QACAC;AAAAA,MAAAA,CAAY;AAAA,IAGlB;AAAA,IAAC,IAAAU,WAAA;AAAA,aAEAhB,MAAMgB;AAAAA,IAAAA;AAAAA,EAAQ,CAAA;AAGrB;AAEO,SAASD,eAAe;AAAA,EAAEV;AAAsB,GAAG;AAClD,QAAA,CAACY,MAAMC,OAAO,IAAIhB,iBAAMiB,aAC5BC,QAAQC,IAAIC,aAAa,YAC3B;AAEA,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAAC,GAAAA,QAAAF,KAAAG,YAAAC,QAAAF,MAAAC,YAAAE,QAAAD,MAAAE,aAAAC,QAAAL,MAAAI;AAAAE,SAAAA,MAAAC,YAAA,WAAA,OAAA;AAAAD,SAAAA,MAAAC,YAAA,aAAA,MAAA;AAAAD,UAAAA,MAAAC,YAAA,WAAA,MAAA;AAAAD,UAAAA,MAAAC,YAAA,eAAA,QAAA;AAAAD,UAAAA,MAAAC,YAAA,OAAA,OAAA;AAAAD,UAAAA,MAAAC,YAAA,aAAA,MAAA;AAAAJ,UAAAK,UAaiB,MAAMf,QAASgB,CAAAA,MAAM,CAACA,CAAC;AAACH,UAAAA,MAAAC,YAAA,cAAA,MAAA;AAAAD,UAAAA,MAAAC,YAAA,aAAA,MAAA;AAAAD,UAAAA,MAAAC,YAAA,UAAA,wBAAA;AAAAD,UAAAA,MAAAC,YAAA,WAAA,aAAA;AAAAD,UAAAA,MAAAC,YAAA,eAAA,MAAA;AAAAD,UAAAA,MAAAC,YAAA,iBAAA,QAAA;AAAAG,UAAAA,OAAAP,OAEhCX,MAAAA,KAAK,IAAI,eAAe,YAAY;AAAAc,UAAAA,MAAAC,YAAA,UAAA,QAAA;AAAAG,UAAAA,OAAAZ,OAAA,MAAA;AAAA,UAAAa,MAAAC,MAIxCpB,KAAAA,MAAAA,CAAAA,CAAAA,MAAM;AAAA,aAAA,MAANmB,IAAA,KAAA,MAAA;AAAA,YAAAE,QAAAC,QAAAA,GAAAC,QAAAF,MAAAZ;AAAAK,cAAAA,MAAAC,YAAA,aAAA,MAAA;AAAAD,cAAAA,MAAAC,YAAA,UAAA,eAAA;AAAAD,cAAAA,MAAAC,YAAA,iBAAA,QAAA;AAAAD,cAAAA,MAAAC,YAAA,WAAA,OAAA;AAAAD,cAAAA,MAAAC,YAAA,SAAA,KAAA;AAAAD,cAAAA,MAAAC,YAAA,YAAA,MAAA;AAAAG,cAAAA,OAAAK,QAAA,MAAA;AAAA,cAAAC,OAAAJ,MAYMhC,KAAAA,MAAAA,CAAAA,CAAAA,MAAMqC,OAAO;AAAA,iBAAA,MAAbD,KAAA,KAAA,MAAA;AAAA,gBAAAE,QAAAC,QAAA;AAAAD,kBAAAA,OAAAA,OAAuBtC,MAAAA,MAAMqC,OAAO;AAAAC,mBAAAA;AAAAA,iBAAW;AAAA,QAAA,IAAI;AAAAL,eAAAA;AAAAA,aAGtD;AAAA,IAAI,GAAA,GAAA,IAAA;AAAAf,WAAAA;AAAAA,EAAAA,GAAA;AAGd;AAACsB,MAAAA,eAAA,CAAA,OAAA,CAAA;;;"}
|
package/dist/cjs/ClientOnly.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
4
|
-
const Solid = require("solid-js");
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const Solid$1 = require("solid-js");
|
|
5
5
|
function _interopNamespaceDefault(e) {
|
|
6
6
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
7
7
|
if (e) {
|
|
@@ -18,13 +18,13 @@ function _interopNamespaceDefault(e) {
|
|
|
18
18
|
n.default = e;
|
|
19
19
|
return Object.freeze(n);
|
|
20
20
|
}
|
|
21
|
-
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
|
|
21
|
+
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid$1);
|
|
22
22
|
function ClientOnly(props) {
|
|
23
|
-
return useHydrated() ?
|
|
23
|
+
return useHydrated() ? Solid.memo(() => props.children) : Solid.memo(() => props.fallback);
|
|
24
24
|
}
|
|
25
25
|
function useHydrated() {
|
|
26
|
-
const [hydrated, setHydrated] = Solid__namespace.createSignal(!
|
|
27
|
-
if (!
|
|
26
|
+
const [hydrated, setHydrated] = Solid__namespace.createSignal(!Solid.isServer);
|
|
27
|
+
if (!Solid.isServer) {
|
|
28
28
|
Solid__namespace.createEffect(() => {
|
|
29
29
|
setHydrated(true);
|
|
30
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientOnly.cjs","sources":["../../src/ClientOnly.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { isServer } from 'solid-js/web'\n\nexport interface ClientOnlyProps {\n /**\n * The children to render if the JS is loaded.\n */\n children: Solid.JSX.Element\n /**\n * The fallback component to render if the JS is not yet loaded.\n */\n fallback?: Solid.JSX.Element\n}\n\n/**\n * Render the children only after the JS has loaded client-side. Use an optional\n * fallback component if the JS is not yet loaded.\n *\n * @example\n * Render a Chart component if JS loads, renders a simple FakeChart\n * component server-side or if there is no JS. The FakeChart can have only the\n * UI without the behavior or be a loading spinner or skeleton.\n *\n * ```tsx\n * return (\n * <ClientOnly fallback={<FakeChart />}>\n * <Chart />\n * </ClientOnly>\n * )\n * ```\n */\nexport function ClientOnly(props: ClientOnlyProps) {\n return useHydrated() ? <>{props.children}</> : <>{props.fallback}</>\n}\n\n/**\n * Return a boolean indicating if the JS has been hydrated already.\n * When doing Server-Side Rendering, the result will always be false.\n * When doing Client-Side Rendering, the result will always be false on the\n * first render and true from then on. Even if a new component renders it will\n * always start with true.\n *\n * @example\n * ```tsx\n * // Disable a button that needs JS to work.\n * let hydrated = useHydrated()\n * return (\n * <button type=\"button\" disabled={!hydrated()} onClick={doSomethingCustom}>\n * Click me\n * </button>\n * )\n * ```\n * @returns A signal accessor function that returns true if the JS has been hydrated already, false otherwise.\n */\nexport function useHydrated() {\n const [hydrated, setHydrated] = Solid.createSignal(!isServer)\n\n if (!isServer) {\n Solid.createEffect(() => {\n setHydrated(true)\n })\n }\n\n return hydrated\n}\n"],"names":["ClientOnly","props","useHydrated","_$memo","children","fallback","hydrated","setHydrated","Solid","createSignal","isServer","createEffect"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA+BO,SAASA,WAAWC,OAAwB;AAC1CC,SAAAA,YAAAA,IAAaC,
|
|
1
|
+
{"version":3,"file":"ClientOnly.cjs","sources":["../../src/ClientOnly.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { isServer } from 'solid-js/web'\n\nexport interface ClientOnlyProps {\n /**\n * The children to render if the JS is loaded.\n */\n children: Solid.JSX.Element\n /**\n * The fallback component to render if the JS is not yet loaded.\n */\n fallback?: Solid.JSX.Element\n}\n\n/**\n * Render the children only after the JS has loaded client-side. Use an optional\n * fallback component if the JS is not yet loaded.\n *\n * @example\n * Render a Chart component if JS loads, renders a simple FakeChart\n * component server-side or if there is no JS. The FakeChart can have only the\n * UI without the behavior or be a loading spinner or skeleton.\n *\n * ```tsx\n * return (\n * <ClientOnly fallback={<FakeChart />}>\n * <Chart />\n * </ClientOnly>\n * )\n * ```\n */\nexport function ClientOnly(props: ClientOnlyProps) {\n return useHydrated() ? <>{props.children}</> : <>{props.fallback}</>\n}\n\n/**\n * Return a boolean indicating if the JS has been hydrated already.\n * When doing Server-Side Rendering, the result will always be false.\n * When doing Client-Side Rendering, the result will always be false on the\n * first render and true from then on. Even if a new component renders it will\n * always start with true.\n *\n * @example\n * ```tsx\n * // Disable a button that needs JS to work.\n * let hydrated = useHydrated()\n * return (\n * <button type=\"button\" disabled={!hydrated()} onClick={doSomethingCustom}>\n * Click me\n * </button>\n * )\n * ```\n * @returns A signal accessor function that returns true if the JS has been hydrated already, false otherwise.\n */\nexport function useHydrated() {\n const [hydrated, setHydrated] = Solid.createSignal(!isServer)\n\n if (!isServer) {\n Solid.createEffect(() => {\n setHydrated(true)\n })\n }\n\n return hydrated\n}\n"],"names":["ClientOnly","props","useHydrated","_$memo","children","fallback","hydrated","setHydrated","Solid","createSignal","isServer","createEffect"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA+BO,SAASA,WAAWC,OAAwB;AAC1CC,SAAAA,YAAAA,IAAaC,MAAAA,KAAMF,MAAAA,MAAMG,QAAQ,IAAAD,MAAAA,KAAA,MAAUF,MAAMI,QAAQ;AAClE;AAqBO,SAASH,cAAc;AAC5B,QAAM,CAACI,UAAUC,WAAW,IAAIC,iBAAMC,aAAa,CAACC,cAAQ;AAE5D,MAAI,CAACA,MAAAA,UAAU;AACbF,qBAAMG,aAAa,MAAM;AACvBJ,kBAAY,IAAI;AAAA,IAAA,CACjB;AAAA,EAAA;AAGID,SAAAA;AACT;;;"}
|
package/dist/cjs/HeadContent.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
4
|
-
const Solid = require("solid-js");
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const Solid$1 = require("solid-js");
|
|
5
5
|
const meta = require("@solidjs/meta");
|
|
6
6
|
const Asset = require("./Asset.cjs");
|
|
7
7
|
const useRouter = require("./useRouter.cjs");
|
|
@@ -22,7 +22,7 @@ function _interopNamespaceDefault(e) {
|
|
|
22
22
|
n.default = e;
|
|
23
23
|
return Object.freeze(n);
|
|
24
24
|
}
|
|
25
|
-
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
|
|
25
|
+
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid$1);
|
|
26
26
|
const useTags = () => {
|
|
27
27
|
const router = useRouter.useRouter();
|
|
28
28
|
const routeMeta = useRouterState.useRouterState({
|
|
@@ -124,9 +124,9 @@ const useTags = () => {
|
|
|
124
124
|
};
|
|
125
125
|
function HeadContent() {
|
|
126
126
|
const tags = useTags();
|
|
127
|
-
return
|
|
127
|
+
return Solid.createComponent(meta.MetaProvider, {
|
|
128
128
|
get children() {
|
|
129
|
-
return tags().map((tag) =>
|
|
129
|
+
return tags().map((tag) => Solid.createComponent(Asset.Asset, tag));
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
132
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeadContent.cjs","sources":["../../src/HeadContent.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { MetaProvider } from '@solidjs/meta'\nimport { Asset } from './Asset'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const useTags = () => {\n const router = useRouter()\n\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta!).filter(Boolean)\n },\n })\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n ;[...routeMeta()].reverse().forEach((metas) => {\n ;[...metas].reverse().forEach((m) => {\n if (!m) return\n\n if (m.title) {\n if (!title) {\n title = {\n tag: 'title',\n children: m.title,\n }\n }\n } else {\n const attribute = m.name ?? m.property\n if (attribute) {\n if (metaByAttribute[attribute]) {\n return\n } else {\n metaByAttribute[attribute] = true\n }\n }\n\n resultMeta.push({\n tag: 'meta',\n attrs: {\n ...m,\n },\n })\n }\n })\n })\n\n if (title) {\n resultMeta.push(title)\n }\n\n resultMeta.reverse()\n\n return resultMeta\n })\n\n const links = useRouterState({\n select: (state) => {\n const constructed = state.matches\n .map((match) => match.links!)\n .filter(Boolean)\n .flat(1)\n .map((link) => ({\n tag: 'link',\n attrs: {\n ...link,\n },\n })) satisfies Array<RouterManagedTag>\n\n const manifest = router.ssr?.manifest\n\n // These are the assets extracted from the ViteManifest\n // using the `startManifestPlugin`\n const assets = state.matches\n .map((match) => manifest?.routes[match.routeId]?.assets ?? [])\n .filter(Boolean)\n .flat(1)\n .filter((asset) => asset.tag === 'link')\n .map(\n (asset) =>\n ({\n tag: 'link',\n attrs: asset.attrs,\n }) satisfies RouterManagedTag,\n )\n\n return [...constructed, ...assets]\n },\n })\n\n const preloadMeta = useRouterState({\n select: (state) => {\n const preloadMeta: Array<RouterManagedTag> = []\n\n state.matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n router.ssr?.manifest?.routes[route.id]?.preloads\n ?.filter(Boolean)\n .forEach((preload) => {\n preloadMeta.push({\n tag: 'link',\n attrs: {\n rel: 'modulepreload',\n href: preload,\n },\n })\n }),\n )\n\n return preloadMeta\n },\n })\n\n const headScripts = useRouterState({\n select: (state) =>\n (\n state.matches\n .map((match) => match.headScripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n },\n children,\n })),\n })\n\n return () =>\n uniqBy(\n [\n ...meta(),\n ...preloadMeta(),\n ...links(),\n ...headScripts(),\n ] as Array<RouterManagedTag>,\n (d) => {\n return JSON.stringify(d)\n },\n )\n}\n\n/**\n * @description The `HeadContent` component is used to render meta tags, links, and scripts for the current route.\n * It should be rendered in the `<head>` of your document.\n */\nexport function HeadContent() {\n const tags = useTags()\n return (\n <MetaProvider>\n {tags().map((tag) => (\n <Asset {...tag} />\n ))}\n </MetaProvider>\n )\n}\n\nfunction uniqBy<T>(arr: Array<T>, fn: (item: T) => string) {\n const seen = new Set<string>()\n return arr.filter((item) => {\n const key = fn(item)\n if (seen.has(key)) {\n return false\n }\n seen.add(key)\n return true\n })\n}\n"],"names":["useTags","router","useRouter","routeMeta","useRouterState","select","state","matches","map","match","meta","filter","Boolean","Solid","createMemo","resultMeta","metaByAttribute","title","reverse","forEach","metas","m","tag","children","attribute","name","property","push","attrs","links","constructed","flat","link","manifest","ssr","assets","routes","routeId","asset","preloadMeta","looseRoutesById","route","id","preloads","preload","rel","href","headScripts","script","uniqBy","d","JSON","stringify","HeadContent","tags","_$createComponent","MetaProvider","Asset","arr","fn","seen","Set","item","key","has","add"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAMA,UAAUA,MAAM;AAC3B,QAAMC,SAASC,UAAAA,UAAU;AAEzB,QAAMC,YAAYC,eAAAA,eAAe;AAAA,IAC/BC,QAASC,CAAU,UAAA;AACVA,aAAAA,MAAMC,QAAQC,IAAKC,CAAAA,UAAUA,MAAMC,IAAK,EAAEC,OAAOC,OAAO;AAAA,IAAA;AAAA,EACjE,CACD;AAEKF,QAAAA,QAAgDG,iBAAMC,WAAW,MAAM;AAC3E,UAAMC,aAAsC,CAAE;AAC9C,UAAMC,kBAAwC,CAAC;AAC3CC,QAAAA;AACH,KAAC,GAAGd,UAAU,CAAC,EAAEe,QAAQ,EAAEC,QAASC,CAAU,UAAA;AAC5C,OAAC,GAAGA,KAAK,EAAEF,QAAQ,EAAEC,QAASE,CAAM,MAAA;AACnC,YAAI,CAACA,EAAG;AAER,YAAIA,EAAEJ,OAAO;AACX,cAAI,CAACA,OAAO;AACF,oBAAA;AAAA,cACNK,KAAK;AAAA,cACLC,UAAUF,EAAEJ;AAAAA,YACd;AAAA,UAAA;AAAA,QACF,OACK;AACCO,gBAAAA,YAAYH,EAAEI,QAAQJ,EAAEK;AAC9B,cAAIF,WAAW;AACTR,gBAAAA,gBAAgBQ,SAAS,GAAG;AAC9B;AAAA,YAAA,OACK;AACLR,8BAAgBQ,SAAS,IAAI;AAAA,YAAA;AAAA,UAC/B;AAGFT,qBAAWY,KAAK;AAAA,YACdL,KAAK;AAAA,YACLM,OAAO;AAAA,cACL,GAAGP;AAAAA,YAAAA;AAAAA,UACL,CACD;AAAA,QAAA;AAAA,MACH,CACD;AAAA,IAAA,CACF;AAED,QAAIJ,OAAO;AACTF,iBAAWY,KAAKV,KAAK;AAAA,IAAA;AAGvBF,eAAWG,QAAQ;AAEZH,WAAAA;AAAAA,EAAAA,CACR;AAED,QAAMc,QAAQzB,eAAAA,eAAe;AAAA,IAC3BC,QAASC,CAAU,UAAA;;AACjB,YAAMwB,cAAcxB,MAAMC,QACvBC,IAAKC,WAAUA,MAAMoB,KAAM,EAC3BlB,OAAOC,OAAO,EACdmB,KAAK,CAAC,EACNvB,IAAKwB,CAAU,UAAA;AAAA,QACdV,KAAK;AAAA,QACLM,OAAO;AAAA,UACL,GAAGI;AAAAA,QAAAA;AAAAA,MACL,EACA;AAEEC,YAAAA,YAAWhC,YAAOiC,QAAPjC,mBAAYgC;AAIvBE,YAAAA,SAAS7B,MAAMC,QAClBC,IAAKC,CAAAA,UAAAA;;AAAUwB,iBAAAA,MAAAA,qCAAUG,OAAO3B,MAAM4B,aAAvBJ,gBAAAA,IAAiCE,WAAU,CAAA;AAAA,OAAE,EAC5DxB,OAAOC,OAAO,EACdmB,KAAK,CAAC,EACNpB,OAAQ2B,CAAUA,UAAAA,MAAMhB,QAAQ,MAAM,EACtCd,IACE8B,CACE,WAAA;AAAA,QACChB,KAAK;AAAA,QACLM,OAAOU,MAAMV;AAAAA,MAAAA,EAEnB;AAEF,aAAO,CAAC,GAAGE,aAAa,GAAGK,MAAM;AAAA,IAAA;AAAA,EACnC,CACD;AAED,QAAMI,cAAcnC,eAAAA,eAAe;AAAA,IACjCC,QAASC,CAAU,UAAA;AACjB,YAAMiC,eAAuC,CAAE;AAEzChC,YAAAA,QACHC,IAAKC,CAAUR,UAAAA,OAAOuC,gBAAgB/B,MAAM4B,OAAO,CAAE,EACrDlB,QAASsB,CAAAA,UAAAA;;AACRxC,8CAAOiC,QAAPjC,mBAAYgC,aAAZhC,mBAAsBmC,OAAOK,MAAMC,QAAnCzC,mBAAwC0C,aAAxC1C,mBACIU,OAAOC,SACRO,QAASyB,CAAY,YAAA;AACpBL,uBAAYZ,KAAK;AAAA,YACfL,KAAK;AAAA,YACLM,OAAO;AAAA,cACLiB,KAAK;AAAA,cACLC,MAAMF;AAAAA,YAAAA;AAAAA,UACR,CACD;AAAA,QAAA;AAAA,OAEP;AAEKL,aAAAA;AAAAA,IAAAA;AAAAA,EACT,CACD;AAED,QAAMQ,cAAc3C,eAAAA,eAAe;AAAA,IACjCC,QAASC,CAELA,UAAAA,MAAMC,QACHC,IAAKC,WAAUA,MAAMsC,WAAY,EACjChB,KAAK,CAAC,EACNpB,OAAOC,OAAO,EACjBJ,IAAI,CAAC;AAAA,MAAEe;AAAAA,MAAU,GAAGyB;AAAAA,IAAAA,OAAc;AAAA,MAClC1B,KAAK;AAAA,MACLM,OAAO;AAAA,QACL,GAAGoB;AAAAA,MACL;AAAA,MACAzB;AAAAA,IAAAA,EACA;AAAA,EAAA,CACL;AAED,SAAO,MACL0B,OACE,CACE,GAAGvC,MAAAA,GACH,GAAG6B,YAAAA,GACH,GAAGV,MACH,GAAA,GAAGkB,aAAa,GAEjBG,CAAM,MAAA;AACEC,WAAAA,KAAKC,UAAUF,CAAC;AAAA,EAAA,CAE3B;AACJ;AAMO,SAASG,cAAc;AAC5B,QAAMC,OAAOtD,QAAQ;AACrB,SAAAuD,
|
|
1
|
+
{"version":3,"file":"HeadContent.cjs","sources":["../../src/HeadContent.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { MetaProvider } from '@solidjs/meta'\nimport { Asset } from './Asset'\nimport { useRouter } from './useRouter'\nimport { useRouterState } from './useRouterState'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const useTags = () => {\n const router = useRouter()\n\n const routeMeta = useRouterState({\n select: (state) => {\n return state.matches.map((match) => match.meta!).filter(Boolean)\n },\n })\n\n const meta: Solid.Accessor<Array<RouterManagedTag>> = Solid.createMemo(() => {\n const resultMeta: Array<RouterManagedTag> = []\n const metaByAttribute: Record<string, true> = {}\n let title: RouterManagedTag | undefined\n ;[...routeMeta()].reverse().forEach((metas) => {\n ;[...metas].reverse().forEach((m) => {\n if (!m) return\n\n if (m.title) {\n if (!title) {\n title = {\n tag: 'title',\n children: m.title,\n }\n }\n } else {\n const attribute = m.name ?? m.property\n if (attribute) {\n if (metaByAttribute[attribute]) {\n return\n } else {\n metaByAttribute[attribute] = true\n }\n }\n\n resultMeta.push({\n tag: 'meta',\n attrs: {\n ...m,\n },\n })\n }\n })\n })\n\n if (title) {\n resultMeta.push(title)\n }\n\n resultMeta.reverse()\n\n return resultMeta\n })\n\n const links = useRouterState({\n select: (state) => {\n const constructed = state.matches\n .map((match) => match.links!)\n .filter(Boolean)\n .flat(1)\n .map((link) => ({\n tag: 'link',\n attrs: {\n ...link,\n },\n })) satisfies Array<RouterManagedTag>\n\n const manifest = router.ssr?.manifest\n\n // These are the assets extracted from the ViteManifest\n // using the `startManifestPlugin`\n const assets = state.matches\n .map((match) => manifest?.routes[match.routeId]?.assets ?? [])\n .filter(Boolean)\n .flat(1)\n .filter((asset) => asset.tag === 'link')\n .map(\n (asset) =>\n ({\n tag: 'link',\n attrs: asset.attrs,\n }) satisfies RouterManagedTag,\n )\n\n return [...constructed, ...assets]\n },\n })\n\n const preloadMeta = useRouterState({\n select: (state) => {\n const preloadMeta: Array<RouterManagedTag> = []\n\n state.matches\n .map((match) => router.looseRoutesById[match.routeId]!)\n .forEach((route) =>\n router.ssr?.manifest?.routes[route.id]?.preloads\n ?.filter(Boolean)\n .forEach((preload) => {\n preloadMeta.push({\n tag: 'link',\n attrs: {\n rel: 'modulepreload',\n href: preload,\n },\n })\n }),\n )\n\n return preloadMeta\n },\n })\n\n const headScripts = useRouterState({\n select: (state) =>\n (\n state.matches\n .map((match) => match.headScripts!)\n .flat(1)\n .filter(Boolean) as Array<RouterManagedTag>\n ).map(({ children, ...script }) => ({\n tag: 'script',\n attrs: {\n ...script,\n },\n children,\n })),\n })\n\n return () =>\n uniqBy(\n [\n ...meta(),\n ...preloadMeta(),\n ...links(),\n ...headScripts(),\n ] as Array<RouterManagedTag>,\n (d) => {\n return JSON.stringify(d)\n },\n )\n}\n\n/**\n * @description The `HeadContent` component is used to render meta tags, links, and scripts for the current route.\n * It should be rendered in the `<head>` of your document.\n */\nexport function HeadContent() {\n const tags = useTags()\n return (\n <MetaProvider>\n {tags().map((tag) => (\n <Asset {...tag} />\n ))}\n </MetaProvider>\n )\n}\n\nfunction uniqBy<T>(arr: Array<T>, fn: (item: T) => string) {\n const seen = new Set<string>()\n return arr.filter((item) => {\n const key = fn(item)\n if (seen.has(key)) {\n return false\n }\n seen.add(key)\n return true\n })\n}\n"],"names":["useTags","router","useRouter","routeMeta","useRouterState","select","state","matches","map","match","meta","filter","Boolean","Solid","createMemo","resultMeta","metaByAttribute","title","reverse","forEach","metas","m","tag","children","attribute","name","property","push","attrs","links","constructed","flat","link","manifest","ssr","assets","routes","routeId","asset","preloadMeta","looseRoutesById","route","id","preloads","preload","rel","href","headScripts","script","uniqBy","d","JSON","stringify","HeadContent","tags","_$createComponent","MetaProvider","Asset","arr","fn","seen","Set","item","key","has","add"],"mappings":"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"}
|
package/dist/cjs/Match.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
4
|
-
const Solid = require("solid-js");
|
|
3
|
+
const Solid = require("solid-js/web");
|
|
4
|
+
const Solid$1 = require("solid-js");
|
|
5
5
|
const invariant = require("tiny-invariant");
|
|
6
6
|
const warning = require("tiny-warning");
|
|
7
7
|
const routerCore = require("@tanstack/router-core");
|
|
@@ -29,7 +29,7 @@ function _interopNamespaceDefault(e) {
|
|
|
29
29
|
n.default = e;
|
|
30
30
|
return Object.freeze(n);
|
|
31
31
|
}
|
|
32
|
-
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid);
|
|
32
|
+
const Solid__namespace = /* @__PURE__ */ _interopNamespaceDefault(Solid$1);
|
|
33
33
|
const Match = (props) => {
|
|
34
34
|
const router = useRouter.useRouter();
|
|
35
35
|
const routeId = useRouterState.useRouterState({
|
|
@@ -69,22 +69,22 @@ const Match = (props) => {
|
|
|
69
69
|
return (_a = s.matches[index - 1]) == null ? void 0 : _a.routeId;
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
|
-
return [
|
|
72
|
+
return [Solid.createComponent(matchContext.matchContext.Provider, {
|
|
73
73
|
value: () => props.matchId,
|
|
74
74
|
get children() {
|
|
75
|
-
return
|
|
75
|
+
return Solid.createComponent(Solid.Dynamic, {
|
|
76
76
|
get component() {
|
|
77
77
|
return ResolvedSuspenseBoundary();
|
|
78
78
|
},
|
|
79
79
|
get fallback() {
|
|
80
|
-
return
|
|
80
|
+
return Solid.createComponent(Solid.Dynamic, {
|
|
81
81
|
get component() {
|
|
82
82
|
return PendingComponent();
|
|
83
83
|
}
|
|
84
84
|
});
|
|
85
85
|
},
|
|
86
86
|
get children() {
|
|
87
|
-
return
|
|
87
|
+
return Solid.createComponent(Solid.Dynamic, {
|
|
88
88
|
get component() {
|
|
89
89
|
return ResolvedCatchBoundary();
|
|
90
90
|
},
|
|
@@ -99,20 +99,20 @@ const Match = (props) => {
|
|
|
99
99
|
(_a = routeOnCatch()) == null ? void 0 : _a(error);
|
|
100
100
|
},
|
|
101
101
|
get children() {
|
|
102
|
-
return
|
|
102
|
+
return Solid.createComponent(Solid.Dynamic, {
|
|
103
103
|
get component() {
|
|
104
104
|
return ResolvedNotFoundBoundary();
|
|
105
105
|
},
|
|
106
106
|
fallback: (error) => {
|
|
107
107
|
if (!routeNotFoundComponent() || error.routeId && error.routeId !== routeId || !error.routeId && !route().isRoot) throw error;
|
|
108
|
-
return
|
|
108
|
+
return Solid.createComponent(Solid.Dynamic, Solid.mergeProps({
|
|
109
109
|
get component() {
|
|
110
110
|
return routeNotFoundComponent();
|
|
111
111
|
}
|
|
112
112
|
}, error));
|
|
113
113
|
},
|
|
114
114
|
get children() {
|
|
115
|
-
return
|
|
115
|
+
return Solid.createComponent(MatchInner, {
|
|
116
116
|
get matchId() {
|
|
117
117
|
return props.matchId;
|
|
118
118
|
}
|
|
@@ -124,7 +124,7 @@ const Match = (props) => {
|
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
|
-
}),
|
|
127
|
+
}), Solid.memo(() => Solid.memo(() => parentRouteId() === routerCore.rootRouteId)() ? [Solid.createComponent(OnRendered, {}), Solid.createComponent(scrollRestoration.ScrollRestoration, {})] : null)];
|
|
128
128
|
};
|
|
129
129
|
function OnRendered() {
|
|
130
130
|
const router = useRouter.useRouter();
|
|
@@ -169,13 +169,13 @@ const MatchInner = (props) => {
|
|
|
169
169
|
const out = () => {
|
|
170
170
|
const Comp = route().options.component ?? router.options.defaultComponent;
|
|
171
171
|
if (Comp) {
|
|
172
|
-
return
|
|
172
|
+
return Solid.createComponent(Comp, {});
|
|
173
173
|
}
|
|
174
|
-
return
|
|
174
|
+
return Solid.createComponent(Outlet, {});
|
|
175
175
|
};
|
|
176
|
-
return
|
|
176
|
+
return Solid.createComponent(Solid__namespace.Switch, {
|
|
177
177
|
get children() {
|
|
178
|
-
return [
|
|
178
|
+
return [Solid.createComponent(Solid__namespace.Match, {
|
|
179
179
|
get when() {
|
|
180
180
|
return match().status === "notFound";
|
|
181
181
|
},
|
|
@@ -183,7 +183,7 @@ const MatchInner = (props) => {
|
|
|
183
183
|
invariant(routerCore.isNotFound(match().error), "Expected a notFound error");
|
|
184
184
|
return renderRouteNotFound.renderRouteNotFound(router, route(), match().error);
|
|
185
185
|
}
|
|
186
|
-
}),
|
|
186
|
+
}), Solid.createComponent(Solid__namespace.Match, {
|
|
187
187
|
get when() {
|
|
188
188
|
return match().status === "redirected";
|
|
189
189
|
},
|
|
@@ -194,16 +194,16 @@ const MatchInner = (props) => {
|
|
|
194
194
|
await new Promise((r) => setTimeout(r, 0));
|
|
195
195
|
return (_a = router.getMatch(match().id)) == null ? void 0 : _a.loadPromise;
|
|
196
196
|
});
|
|
197
|
-
return
|
|
197
|
+
return Solid.memo(loaderResult);
|
|
198
198
|
}
|
|
199
|
-
}),
|
|
199
|
+
}), Solid.createComponent(Solid__namespace.Match, {
|
|
200
200
|
get when() {
|
|
201
201
|
return match().status === "error";
|
|
202
202
|
},
|
|
203
203
|
children: (_) => {
|
|
204
204
|
if (router.isServer) {
|
|
205
205
|
const RouteErrorComponent = (route().options.errorComponent ?? router.options.defaultErrorComponent) || CatchBoundary.ErrorComponent;
|
|
206
|
-
return
|
|
206
|
+
return Solid.createComponent(RouteErrorComponent, {
|
|
207
207
|
get error() {
|
|
208
208
|
return match().error;
|
|
209
209
|
},
|
|
@@ -214,7 +214,7 @@ const MatchInner = (props) => {
|
|
|
214
214
|
}
|
|
215
215
|
throw match().error;
|
|
216
216
|
}
|
|
217
|
-
}),
|
|
217
|
+
}), Solid.createComponent(Solid__namespace.Match, {
|
|
218
218
|
get when() {
|
|
219
219
|
return match().status === "pending";
|
|
220
220
|
},
|
|
@@ -244,9 +244,9 @@ const MatchInner = (props) => {
|
|
|
244
244
|
await new Promise((r) => setTimeout(r, 0));
|
|
245
245
|
return (_a2 = router.getMatch(match().id)) == null ? void 0 : _a2.loadPromise;
|
|
246
246
|
});
|
|
247
|
-
return
|
|
247
|
+
return Solid.memo(loaderResult);
|
|
248
248
|
}
|
|
249
|
-
}),
|
|
249
|
+
}), Solid.createComponent(Solid__namespace.Match, {
|
|
250
250
|
get when() {
|
|
251
251
|
return match().status === "success";
|
|
252
252
|
},
|
|
@@ -284,62 +284,62 @@ const Outlet = () => {
|
|
|
284
284
|
return v;
|
|
285
285
|
}
|
|
286
286
|
});
|
|
287
|
-
return
|
|
287
|
+
return Solid.createComponent(Solid__namespace.Switch, {
|
|
288
288
|
get children() {
|
|
289
|
-
return [
|
|
289
|
+
return [Solid.createComponent(Solid__namespace.Match, {
|
|
290
290
|
get when() {
|
|
291
291
|
return router.isShell;
|
|
292
292
|
},
|
|
293
293
|
get children() {
|
|
294
|
-
return
|
|
294
|
+
return Solid.createComponent(Solid__namespace.Suspense, {
|
|
295
295
|
get fallback() {
|
|
296
|
-
return
|
|
296
|
+
return Solid.createComponent(Solid.Dynamic, {
|
|
297
297
|
get component() {
|
|
298
298
|
return router.options.defaultPendingComponent;
|
|
299
299
|
}
|
|
300
300
|
});
|
|
301
301
|
},
|
|
302
302
|
get children() {
|
|
303
|
-
return
|
|
303
|
+
return Solid.createComponent(CatchBoundary.ErrorComponent, {
|
|
304
304
|
error: new Error("ShellBoundaryError")
|
|
305
305
|
});
|
|
306
306
|
}
|
|
307
307
|
});
|
|
308
308
|
}
|
|
309
|
-
}),
|
|
309
|
+
}), Solid.createComponent(Solid__namespace.Match, {
|
|
310
310
|
get when() {
|
|
311
311
|
return parentGlobalNotFound();
|
|
312
312
|
},
|
|
313
313
|
get children() {
|
|
314
314
|
return renderRouteNotFound.renderRouteNotFound(router, route(), void 0);
|
|
315
315
|
}
|
|
316
|
-
}),
|
|
316
|
+
}), Solid.createComponent(Solid__namespace.Match, {
|
|
317
317
|
get when() {
|
|
318
318
|
return childMatchId();
|
|
319
319
|
},
|
|
320
320
|
children: (matchId2) => {
|
|
321
|
-
return
|
|
321
|
+
return Solid.createComponent(Solid__namespace.Show, {
|
|
322
322
|
get when() {
|
|
323
323
|
return matchId2() === routerCore.rootRouteId;
|
|
324
324
|
},
|
|
325
325
|
get fallback() {
|
|
326
|
-
return
|
|
326
|
+
return Solid.createComponent(Match, {
|
|
327
327
|
get matchId() {
|
|
328
328
|
return matchId2();
|
|
329
329
|
}
|
|
330
330
|
});
|
|
331
331
|
},
|
|
332
332
|
get children() {
|
|
333
|
-
return
|
|
333
|
+
return Solid.createComponent(Solid__namespace.Suspense, {
|
|
334
334
|
get fallback() {
|
|
335
|
-
return
|
|
335
|
+
return Solid.createComponent(Solid.Dynamic, {
|
|
336
336
|
get component() {
|
|
337
337
|
return router.options.defaultPendingComponent;
|
|
338
338
|
}
|
|
339
339
|
});
|
|
340
340
|
},
|
|
341
341
|
get children() {
|
|
342
|
-
return
|
|
342
|
+
return Solid.createComponent(Match, {
|
|
343
343
|
get matchId() {
|
|
344
344
|
return matchId2();
|
|
345
345
|
}
|