@jasonshimmy/custom-elements-runtime 3.2.0 → 3.2.1
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/{css-utils-Cg4o1MqY.js → css-utils-CC43BbEy.js} +20 -21
- package/dist/css-utils-CC43BbEy.js.map +1 -0
- package/dist/{css-utils-RqkyBWft.cjs → css-utils-mgjmH8qX.cjs} +5 -4
- package/dist/css-utils-mgjmH8qX.cjs.map +1 -0
- package/dist/custom-elements-runtime.cjs.js +4 -3
- package/dist/custom-elements-runtime.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.colors.cjs.js +3 -2
- package/dist/custom-elements-runtime.colors.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.colors.es.js +3 -2
- package/dist/custom-elements-runtime.colors.es.js.map +1 -1
- package/dist/custom-elements-runtime.directive-enhancements.cjs.js +3 -2
- package/dist/custom-elements-runtime.directive-enhancements.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.directive-enhancements.es.js +86 -100
- package/dist/custom-elements-runtime.directive-enhancements.es.js.map +1 -1
- package/dist/custom-elements-runtime.directives.cjs.js +3 -2
- package/dist/custom-elements-runtime.directives.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.directives.es.js +40 -43
- package/dist/custom-elements-runtime.directives.es.js.map +1 -1
- package/dist/custom-elements-runtime.dom-jit-css.cjs.js +7 -6
- package/dist/custom-elements-runtime.dom-jit-css.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.dom-jit-css.es.js +58 -76
- package/dist/custom-elements-runtime.dom-jit-css.es.js.map +1 -1
- package/dist/custom-elements-runtime.es.js +162 -186
- package/dist/custom-elements-runtime.es.js.map +1 -1
- package/dist/custom-elements-runtime.event-bus.cjs.js +3 -2
- package/dist/custom-elements-runtime.event-bus.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.event-bus.es.js +48 -103
- package/dist/custom-elements-runtime.event-bus.es.js.map +1 -1
- package/dist/custom-elements-runtime.jit-css.cjs.js +3 -2
- package/dist/custom-elements-runtime.jit-css.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.jit-css.es.js +29 -30
- package/dist/custom-elements-runtime.jit-css.es.js.map +1 -1
- package/dist/custom-elements-runtime.router.cjs.js +20 -19
- package/dist/custom-elements-runtime.router.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.router.es.js +585 -603
- package/dist/custom-elements-runtime.router.es.js.map +1 -1
- package/dist/custom-elements-runtime.ssr-middleware.cjs.js +5 -4
- package/dist/custom-elements-runtime.ssr-middleware.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.ssr-middleware.es.js +44 -37
- package/dist/custom-elements-runtime.ssr-middleware.es.js.map +1 -1
- package/dist/custom-elements-runtime.ssr.cjs.js +1 -4
- package/dist/custom-elements-runtime.ssr.es.js +11 -176
- package/dist/custom-elements-runtime.store.cjs.js +3 -2
- package/dist/custom-elements-runtime.store.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.store.es.js +17 -11
- package/dist/custom-elements-runtime.store.es.js.map +1 -1
- package/dist/custom-elements-runtime.transitions.cjs.js +3 -2
- package/dist/custom-elements-runtime.transitions.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.transitions.es.js +55 -120
- package/dist/custom-elements-runtime.transitions.es.js.map +1 -1
- package/dist/custom-elements-runtime.vite-plugin.cjs.js +3 -2
- package/dist/custom-elements-runtime.vite-plugin.cjs.js.map +1 -1
- package/dist/custom-elements-runtime.vite-plugin.es.js +54 -75
- package/dist/custom-elements-runtime.vite-plugin.es.js.map +1 -1
- package/dist/hooks-_3xP4G2N.js +1189 -0
- package/dist/hooks-_3xP4G2N.js.map +1 -0
- package/dist/hooks-fYQgZk2g.cjs +7 -0
- package/dist/hooks-fYQgZk2g.cjs.map +1 -0
- package/dist/logger-BYIN7ysT.cjs +3 -0
- package/dist/logger-BYIN7ysT.cjs.map +1 -0
- package/dist/logger-L25axmB-.js +41 -0
- package/dist/logger-L25axmB-.js.map +1 -0
- package/dist/namespace-helpers-Bf7rm9JV.cjs +3 -0
- package/dist/namespace-helpers-Bf7rm9JV.cjs.map +1 -0
- package/dist/namespace-helpers-BucDdgz_.js +61 -0
- package/dist/namespace-helpers-BucDdgz_.js.map +1 -0
- package/dist/reset.css +1 -1
- package/dist/ssr-B3lxl1vr.js +165 -0
- package/dist/ssr-B3lxl1vr.js.map +1 -0
- package/dist/ssr-DtD9e5iA.cjs +5 -0
- package/dist/ssr-DtD9e5iA.cjs.map +1 -0
- package/dist/style-Bjn8zDiZ.cjs +56 -0
- package/dist/style-Bjn8zDiZ.cjs.map +1 -0
- package/dist/{style-BmyOIMcU.js → style-DuDoj_xK.js} +724 -876
- package/dist/style-DuDoj_xK.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/template-compiler-BB4JJdqk.cjs +23 -0
- package/dist/template-compiler-BB4JJdqk.cjs.map +1 -0
- package/dist/template-compiler-Cs5axmn4.js +3236 -0
- package/dist/template-compiler-Cs5axmn4.js.map +1 -0
- package/dist/variables.css +1 -1
- package/package.json +7 -7
- package/dist/css-utils-Cg4o1MqY.js.map +0 -1
- package/dist/css-utils-RqkyBWft.cjs.map +0 -1
- package/dist/custom-elements-runtime.ssr.cjs.js.map +0 -1
- package/dist/custom-elements-runtime.ssr.es.js.map +0 -1
- package/dist/hooks-BH-CpUun.js +0 -1474
- package/dist/hooks-BH-CpUun.js.map +0 -1
- package/dist/hooks-NOFG9QRQ.cjs +0 -6
- package/dist/hooks-NOFG9QRQ.cjs.map +0 -1
- package/dist/logger-BvkEbVM4.js +0 -48
- package/dist/logger-BvkEbVM4.js.map +0 -1
- package/dist/logger-CSALKaYm.cjs +0 -2
- package/dist/logger-CSALKaYm.cjs.map +0 -1
- package/dist/namespace-helpers-D4wC2-qA.js +0 -61
- package/dist/namespace-helpers-D4wC2-qA.js.map +0 -1
- package/dist/namespace-helpers-ckeEOxpR.cjs +0 -2
- package/dist/namespace-helpers-ckeEOxpR.cjs.map +0 -1
- package/dist/style-BmyOIMcU.js.map +0 -1
- package/dist/style-D40DsIqJ.cjs +0 -55
- package/dist/style-D40DsIqJ.cjs.map +0 -1
- package/dist/template-compiler-CDvhsHia.cjs +0 -22
- package/dist/template-compiler-CDvhsHia.cjs.map +0 -1
- package/dist/template-compiler-DiE69FLO.js +0 -3724
- package/dist/template-compiler-DiE69FLO.js.map +0 -1
|
@@ -1,664 +1,652 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { r as y, t as x } from "./logger-L25axmB-.js";
|
|
2
|
+
import { J as nt, R as T, V as et, _ as bt, h as st, i as wt, m as it, y as St } from "./hooks-_3xP4G2N.js";
|
|
3
|
+
import { n as ct, t as U } from "./template-compiler-Cs5axmn4.js";
|
|
4
|
+
import { match as Rt } from "./custom-elements-runtime.directives.es.js";
|
|
5
|
+
import { createStore as lt } from "./custom-elements-runtime.store.es.js";
|
|
6
|
+
var ut = {
|
|
7
7
|
enabled: !0,
|
|
8
8
|
offset: 0,
|
|
9
9
|
timeoutMs: 2e3
|
|
10
|
-
},
|
|
10
|
+
}, ot = (t) => t ? typeof URLSearchParams > "u" ? {} : Object.fromEntries(new URLSearchParams(t)) : {}, $t = (t) => {
|
|
11
11
|
if (!t || Object.keys(t).length === 0) return "";
|
|
12
12
|
try {
|
|
13
13
|
return "?" + new URLSearchParams(t).toString();
|
|
14
14
|
} catch {
|
|
15
15
|
return "";
|
|
16
16
|
}
|
|
17
|
-
},
|
|
17
|
+
}, ft = (t) => t ? /^\s*javascript\s*:/i.test(t) : !1, Z = (t) => /^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(t) || t.startsWith("//"), Et = (t) => {
|
|
18
18
|
try {
|
|
19
19
|
return decodeURIComponent(t);
|
|
20
20
|
} catch {
|
|
21
21
|
return t;
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
|
-
function
|
|
24
|
+
function E(t) {
|
|
25
25
|
if (!t) return "/";
|
|
26
26
|
let r = t.replace(/\/+/g, "/");
|
|
27
27
|
return r.startsWith("/") || (r = "/" + r), r.length > 1 && r.endsWith("/") && (r = r.slice(0, -1)), r;
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
var Ct = (t) => {
|
|
30
30
|
if (!t) return "";
|
|
31
|
-
const r =
|
|
31
|
+
const r = E(t);
|
|
32
32
|
return r === "/" ? "" : r;
|
|
33
|
-
},
|
|
34
|
-
function
|
|
33
|
+
}, ht = /* @__PURE__ */ new WeakMap();
|
|
34
|
+
function xt(t) {
|
|
35
35
|
return t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
36
36
|
}
|
|
37
|
-
function
|
|
38
|
-
const r = t.path || "/",
|
|
39
|
-
for (let
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
42
|
-
if (
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const S = `splat${c.length}`;
|
|
47
|
-
c.push(S), a.push("__SPLAT__");
|
|
37
|
+
function At(t) {
|
|
38
|
+
const r = E(t.path || "/"), f = r === "/" ? [] : r.split("/").filter(Boolean), a = [], i = [];
|
|
39
|
+
for (let m = 0; m < f.length; m++) {
|
|
40
|
+
const g = f[m];
|
|
41
|
+
if (g === "*") {
|
|
42
|
+
if (m !== f.length - 1)
|
|
43
|
+
return y(`Route '${t.path}' contains a '*' splat in a non-terminal position; splats must be the last segment. This route will be ignored.`), { invalid: !0 };
|
|
44
|
+
const c = `splat${a.length}`;
|
|
45
|
+
a.push(c), i.push("__SPLAT__");
|
|
48
46
|
continue;
|
|
49
47
|
}
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
54
|
-
return
|
|
55
|
-
|
|
56
|
-
), { invalid: !0 };
|
|
57
|
-
c.push(S), a.push(C ? "__SPLAT__" : "([^/]+)");
|
|
48
|
+
const v = g.match(/^:([A-Za-z0-9_-]+)(\*)?$/);
|
|
49
|
+
if (v) {
|
|
50
|
+
const c = v[1], S = !!v[2];
|
|
51
|
+
if (S && m !== f.length - 1)
|
|
52
|
+
return y(`Route '${t.path}' contains a splat param ':${c}*' in a non-terminal position; splats must be the last segment. This route will be ignored.`), { invalid: !0 };
|
|
53
|
+
a.push(c), i.push(S ? "__SPLAT__" : "([^/]+)");
|
|
58
54
|
continue;
|
|
59
55
|
}
|
|
60
|
-
|
|
56
|
+
i.push(xt(g));
|
|
61
57
|
}
|
|
62
|
-
let
|
|
63
|
-
if (
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
} else
|
|
69
|
-
g = `^/${a.join("/")}(?:/)?$`;
|
|
58
|
+
let o;
|
|
59
|
+
if (i.length === 0) o = "^/$";
|
|
60
|
+
else if (i[i.length - 1] === "__SPLAT__") {
|
|
61
|
+
const m = i.slice(0, -1).join("/");
|
|
62
|
+
m ? o = `^/${m}(?:/(.*))?(?:/)?$` : o = "^(?:/(.*))?(?:/)?$";
|
|
63
|
+
} else o = `^/${i.join("/")}(?:/)?$`;
|
|
70
64
|
try {
|
|
71
|
-
return {
|
|
72
|
-
|
|
73
|
-
|
|
65
|
+
return {
|
|
66
|
+
regex: new RegExp(o),
|
|
67
|
+
paramNames: a
|
|
68
|
+
};
|
|
69
|
+
} catch (m) {
|
|
70
|
+
return y(`Failed to compile route regex for '${t.path}': ${String(m)}`), { invalid: !0 };
|
|
74
71
|
}
|
|
75
72
|
}
|
|
76
|
-
|
|
77
|
-
const
|
|
78
|
-
for (const
|
|
79
|
-
let
|
|
80
|
-
if (
|
|
81
|
-
const { regex:
|
|
82
|
-
if (
|
|
83
|
-
const
|
|
84
|
-
for (let
|
|
85
|
-
const S =
|
|
86
|
-
|
|
73
|
+
var Q = (t, r) => {
|
|
74
|
+
const f = E(r);
|
|
75
|
+
for (const a of t) {
|
|
76
|
+
let i = ht.get(a);
|
|
77
|
+
if (i || (i = At(a), ht.set(a, i)), i.invalid) continue;
|
|
78
|
+
const { regex: o, paramNames: m } = i, g = o.exec(f);
|
|
79
|
+
if (g) {
|
|
80
|
+
const v = {};
|
|
81
|
+
for (let c = 0; c < m.length; c++) {
|
|
82
|
+
const S = g[c + 1] || "";
|
|
83
|
+
v[m[c]] = S ? Et(S) : "";
|
|
87
84
|
}
|
|
88
|
-
return {
|
|
85
|
+
return {
|
|
86
|
+
route: a,
|
|
87
|
+
params: v
|
|
88
|
+
};
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
return {
|
|
91
|
+
return {
|
|
92
|
+
route: null,
|
|
93
|
+
params: {}
|
|
94
|
+
};
|
|
92
95
|
};
|
|
93
96
|
function rt(t, r) {
|
|
94
|
-
for (const
|
|
95
|
-
if (J([p], r).route !== null) return p;
|
|
97
|
+
for (const f of t) if (Q([f], r).route !== null) return f;
|
|
96
98
|
return null;
|
|
97
99
|
}
|
|
98
|
-
function
|
|
99
|
-
const
|
|
100
|
-
return
|
|
100
|
+
function Ft(t, r) {
|
|
101
|
+
const f = r.split("?")[0].split("#")[0];
|
|
102
|
+
return Q(t, f);
|
|
101
103
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
X = {}, H = {};
|
|
104
|
+
var pt = 50, J = {}, B = {};
|
|
105
|
+
function kt() {
|
|
106
|
+
J = {}, B = {};
|
|
106
107
|
}
|
|
107
|
-
function
|
|
108
|
-
const t = Object.entries(
|
|
109
|
-
if (t.length <=
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
).slice(
|
|
113
|
-
0,
|
|
114
|
-
t.length - yt
|
|
115
|
-
);
|
|
116
|
-
for (const [o] of p)
|
|
117
|
-
delete X[o];
|
|
108
|
+
function Pt() {
|
|
109
|
+
const t = Object.entries(J);
|
|
110
|
+
if (t.length <= pt) return;
|
|
111
|
+
const r = t.sort(([, f], [, a]) => f.lastAccessed - a.lastAccessed).slice(0, t.length - pt);
|
|
112
|
+
for (const [f] of r) delete J[f];
|
|
118
113
|
}
|
|
119
|
-
async function
|
|
114
|
+
async function _t(t) {
|
|
120
115
|
if (t.component) return t.component;
|
|
121
116
|
if (t.load) {
|
|
122
|
-
const r =
|
|
117
|
+
const r = J[t.path];
|
|
123
118
|
if (r)
|
|
124
119
|
return r.lastAccessed = Date.now(), r.component;
|
|
125
|
-
if (
|
|
126
|
-
|
|
127
|
-
const p = typeof window > "u";
|
|
120
|
+
if (B[t.path] !== void 0) return B[t.path];
|
|
121
|
+
const f = typeof window > "u";
|
|
128
122
|
try {
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
const
|
|
132
|
-
return
|
|
133
|
-
component:
|
|
123
|
+
const a = t.load().then((i) => {
|
|
124
|
+
Pt();
|
|
125
|
+
const o = i.default;
|
|
126
|
+
return J[t.path] = {
|
|
127
|
+
component: o,
|
|
134
128
|
lastAccessed: Date.now()
|
|
135
|
-
}, delete
|
|
136
|
-
}).catch((
|
|
137
|
-
delete
|
|
138
|
-
const
|
|
139
|
-
throw
|
|
140
|
-
`SSR component load failed for route: ${t.path}. ${a}`
|
|
141
|
-
), new Error(
|
|
142
|
-
`Failed to load component for route: ${t.path}. ${a}`
|
|
143
|
-
);
|
|
129
|
+
}, delete B[t.path], o;
|
|
130
|
+
}).catch((i) => {
|
|
131
|
+
delete B[t.path];
|
|
132
|
+
const o = i instanceof Error ? i.message : String(i);
|
|
133
|
+
throw f && x(`SSR component load failed for route: ${t.path}. ${o}`), new Error(`Failed to load component for route: ${t.path}. ${o}`);
|
|
144
134
|
});
|
|
145
|
-
return
|
|
146
|
-
} catch (
|
|
147
|
-
const
|
|
148
|
-
throw new Error(
|
|
149
|
-
`Failed to load component for route: ${t.path}. ${c}`,
|
|
150
|
-
{ cause: o }
|
|
151
|
-
);
|
|
135
|
+
return B[t.path] = a, await a;
|
|
136
|
+
} catch (a) {
|
|
137
|
+
const i = a instanceof Error ? a.message : String(a);
|
|
138
|
+
throw new Error(`Failed to load component for route: ${t.path}. ${i}`, { cause: a });
|
|
152
139
|
}
|
|
153
140
|
}
|
|
154
141
|
throw new Error(`No component or loader defined for route: ${t.path}`);
|
|
155
142
|
}
|
|
156
|
-
|
|
157
|
-
function
|
|
158
|
-
|
|
143
|
+
var d = null;
|
|
144
|
+
function qt(t) {
|
|
145
|
+
d = t;
|
|
159
146
|
}
|
|
160
|
-
function
|
|
161
|
-
return
|
|
147
|
+
function dt() {
|
|
148
|
+
return d;
|
|
162
149
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
if (L) {
|
|
150
|
+
var K = /* @__PURE__ */ new Set(), O = null;
|
|
151
|
+
function vt() {
|
|
152
|
+
if (O) {
|
|
167
153
|
try {
|
|
168
|
-
|
|
154
|
+
O();
|
|
169
155
|
} catch {
|
|
170
156
|
}
|
|
171
|
-
|
|
157
|
+
O = null;
|
|
172
158
|
}
|
|
173
|
-
if (
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
try {
|
|
180
|
-
p(r);
|
|
181
|
-
} catch {
|
|
182
|
-
}
|
|
183
|
-
});
|
|
184
|
-
try {
|
|
185
|
-
_.base = y.base;
|
|
159
|
+
if (d) try {
|
|
160
|
+
let t = !1;
|
|
161
|
+
O = d.subscribe((r) => {
|
|
162
|
+
t = !0;
|
|
163
|
+
for (const f of K) try {
|
|
164
|
+
f(r);
|
|
186
165
|
} catch {
|
|
187
166
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
try {
|
|
199
|
-
p(r);
|
|
200
|
-
} catch {
|
|
201
|
-
}
|
|
167
|
+
});
|
|
168
|
+
try {
|
|
169
|
+
A.base = d.base;
|
|
170
|
+
} catch {
|
|
171
|
+
}
|
|
172
|
+
if (t) {
|
|
173
|
+
const r = d.getCurrent();
|
|
174
|
+
for (const f of K) try {
|
|
175
|
+
f(r);
|
|
176
|
+
} catch {
|
|
202
177
|
}
|
|
203
|
-
|
|
204
|
-
|
|
178
|
+
} else {
|
|
179
|
+
const r = d.getCurrent();
|
|
180
|
+
for (const f of K) try {
|
|
181
|
+
f(r);
|
|
205
182
|
} catch {
|
|
206
183
|
}
|
|
184
|
+
}
|
|
185
|
+
try {
|
|
186
|
+
typeof window < "u" && nt();
|
|
207
187
|
} catch {
|
|
208
|
-
L = null;
|
|
209
188
|
}
|
|
189
|
+
} catch {
|
|
190
|
+
O = null;
|
|
191
|
+
}
|
|
210
192
|
}
|
|
211
|
-
function
|
|
212
|
-
|
|
193
|
+
function Tt() {
|
|
194
|
+
vt();
|
|
213
195
|
}
|
|
214
|
-
|
|
196
|
+
var A = {
|
|
215
197
|
store: {
|
|
216
198
|
subscribe(t) {
|
|
217
|
-
if (
|
|
199
|
+
if (d) return d.store.subscribe(t);
|
|
218
200
|
try {
|
|
219
|
-
t({
|
|
201
|
+
t({
|
|
202
|
+
path: "/",
|
|
203
|
+
params: {},
|
|
204
|
+
query: {}
|
|
205
|
+
});
|
|
220
206
|
} catch {
|
|
221
207
|
}
|
|
222
208
|
return () => {
|
|
223
209
|
};
|
|
224
210
|
},
|
|
225
211
|
getState() {
|
|
226
|
-
return
|
|
212
|
+
return d ? d.getCurrent() : {
|
|
213
|
+
path: "/",
|
|
214
|
+
params: {},
|
|
215
|
+
query: {}
|
|
216
|
+
};
|
|
227
217
|
},
|
|
228
218
|
setState(t) {
|
|
229
|
-
if (
|
|
219
|
+
if (d)
|
|
230
220
|
try {
|
|
231
|
-
|
|
232
|
-
t
|
|
233
|
-
);
|
|
221
|
+
d.store.setState(t);
|
|
234
222
|
} catch {
|
|
235
223
|
}
|
|
236
224
|
}
|
|
237
225
|
},
|
|
238
226
|
subscribe(t) {
|
|
239
227
|
if (typeof t != "function")
|
|
240
|
-
return
|
|
228
|
+
return y("activeRouterProxy.subscribe: listener must be a function"), () => {
|
|
241
229
|
};
|
|
242
|
-
if (
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
230
|
+
if (K.add(t), d) if (!O) vt();
|
|
231
|
+
else try {
|
|
232
|
+
const r = d.getCurrent();
|
|
233
|
+
r && t(r);
|
|
234
|
+
} catch (r) {
|
|
235
|
+
y("activeRouterProxy subscription failed", r);
|
|
236
|
+
}
|
|
237
|
+
else try {
|
|
238
|
+
t({
|
|
239
|
+
path: "/",
|
|
240
|
+
params: {},
|
|
241
|
+
query: {}
|
|
242
|
+
});
|
|
243
|
+
} catch (r) {
|
|
244
|
+
y("activeRouterProxy fallback state delivery failed", r);
|
|
245
|
+
}
|
|
258
246
|
return () => {
|
|
259
247
|
try {
|
|
260
|
-
if (
|
|
248
|
+
if (K.delete(t), K.size === 0 && O) {
|
|
261
249
|
try {
|
|
262
|
-
|
|
250
|
+
O();
|
|
263
251
|
} catch (r) {
|
|
264
|
-
|
|
252
|
+
y("activeRouterProxy inner unsubscribe failed", r);
|
|
265
253
|
}
|
|
266
|
-
|
|
254
|
+
O = null;
|
|
267
255
|
}
|
|
268
256
|
} catch (r) {
|
|
269
|
-
|
|
257
|
+
y("activeRouterProxy unsubscribe failed", r);
|
|
270
258
|
}
|
|
271
259
|
};
|
|
272
260
|
},
|
|
273
261
|
getCurrent() {
|
|
274
|
-
return
|
|
262
|
+
return d ? d.getCurrent() : {
|
|
263
|
+
path: "/",
|
|
264
|
+
params: {},
|
|
265
|
+
query: {}
|
|
266
|
+
};
|
|
275
267
|
},
|
|
276
268
|
async push(t) {
|
|
277
|
-
return
|
|
269
|
+
return d ? d.push(t) : Promise.resolve();
|
|
278
270
|
},
|
|
279
271
|
async replace(t) {
|
|
280
|
-
return
|
|
272
|
+
return d ? d.replace(t) : Promise.resolve();
|
|
281
273
|
},
|
|
282
274
|
back() {
|
|
283
|
-
if (
|
|
284
|
-
return
|
|
275
|
+
if (d)
|
|
276
|
+
return d.back();
|
|
285
277
|
},
|
|
286
278
|
matchRoute(t) {
|
|
287
|
-
return
|
|
279
|
+
return d ? d.matchRoute(t) : {
|
|
280
|
+
route: null,
|
|
281
|
+
params: {}
|
|
282
|
+
};
|
|
288
283
|
},
|
|
289
284
|
resolveRouteComponent(t) {
|
|
290
|
-
return
|
|
285
|
+
return d ? d.resolveRouteComponent(t) : Promise.reject(/* @__PURE__ */ new Error("No active router"));
|
|
291
286
|
},
|
|
292
287
|
base: "",
|
|
293
288
|
scrollToFragment(t) {
|
|
294
|
-
return
|
|
289
|
+
return d ? d.scrollToFragment(t) : Promise.resolve(!1);
|
|
295
290
|
},
|
|
296
291
|
destroy() {
|
|
297
|
-
|
|
292
|
+
d && d.destroy();
|
|
298
293
|
}
|
|
299
294
|
};
|
|
300
|
-
function
|
|
301
|
-
const { routes: r, base:
|
|
302
|
-
|
|
295
|
+
function It(t) {
|
|
296
|
+
const { routes: r, base: f = "", initialUrl: a, scrollToFragment: i = !0 } = t, o = Ct(f), m = typeof i == "boolean" ? {
|
|
297
|
+
...ut,
|
|
298
|
+
enabled: i
|
|
299
|
+
} : {
|
|
300
|
+
...ut,
|
|
301
|
+
...i
|
|
303
302
|
};
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
const
|
|
303
|
+
let g, v, c, S, I, z, V, X = () => {
|
|
304
|
+
};
|
|
305
|
+
const _ = /* @__PURE__ */ new Set(), W = 10;
|
|
306
|
+
let k = 0;
|
|
307
|
+
const G = async (s, l) => {
|
|
307
308
|
const e = rt(r, s.path);
|
|
308
309
|
if (!e || !e.beforeEnter) return !0;
|
|
309
310
|
try {
|
|
310
|
-
const n = await e.beforeEnter(s,
|
|
311
|
+
const n = await e.beforeEnter(s, l);
|
|
311
312
|
if (typeof n == "string") {
|
|
312
|
-
const
|
|
313
|
-
return
|
|
313
|
+
const u = `${s.path}->${n}`;
|
|
314
|
+
return _.has(u) || k >= W ? (x(`Redirect loop detected: ${u}`), !1) : n;
|
|
314
315
|
}
|
|
315
316
|
return n !== !1;
|
|
316
317
|
} catch (n) {
|
|
317
|
-
|
|
318
|
+
x("beforeEnter error", n);
|
|
318
319
|
try {
|
|
319
|
-
|
|
320
|
+
c.setState(l);
|
|
320
321
|
} catch {
|
|
321
322
|
}
|
|
322
323
|
throw n;
|
|
323
324
|
}
|
|
324
|
-
}, at = async (s,
|
|
325
|
+
}, at = async (s, l) => {
|
|
325
326
|
const e = rt(r, s.path);
|
|
326
327
|
if (!e || !e.onEnter) return !0;
|
|
327
328
|
try {
|
|
328
|
-
const n = await e.onEnter(s,
|
|
329
|
+
const n = await e.onEnter(s, l);
|
|
329
330
|
if (typeof n == "string") {
|
|
330
|
-
const
|
|
331
|
-
return
|
|
331
|
+
const u = `${s.path}->${n}`;
|
|
332
|
+
return _.has(u) || k >= W ? (x(`Redirect loop detected: ${u}`), !1) : n;
|
|
332
333
|
}
|
|
333
334
|
return n !== !1;
|
|
334
335
|
} catch (n) {
|
|
335
|
-
|
|
336
|
+
x("onEnter error", n);
|
|
336
337
|
try {
|
|
337
|
-
|
|
338
|
+
c.setState(l);
|
|
338
339
|
} catch {
|
|
339
340
|
}
|
|
340
341
|
throw n;
|
|
341
342
|
}
|
|
342
|
-
}, Y = (s,
|
|
343
|
+
}, Y = (s, l) => {
|
|
343
344
|
const e = rt(r, s.path);
|
|
344
345
|
if (!(!e || !e.afterEnter))
|
|
345
346
|
try {
|
|
346
|
-
const n = e.afterEnter(s,
|
|
347
|
-
n instanceof Promise && n.catch((
|
|
348
|
-
|
|
347
|
+
const n = e.afterEnter(s, l);
|
|
348
|
+
n instanceof Promise && n.catch((u) => {
|
|
349
|
+
x("afterEnter async error", u);
|
|
349
350
|
});
|
|
350
351
|
} catch (n) {
|
|
351
|
-
|
|
352
|
+
x("afterEnter error", n);
|
|
352
353
|
}
|
|
353
|
-
},
|
|
354
|
-
if (
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
for (let f = 0; f < e && f < n.length; f++)
|
|
360
|
-
A.delete(n[f]);
|
|
354
|
+
}, C = /* @__PURE__ */ new Map(), j = 100, M = (s) => {
|
|
355
|
+
if (C.has(s)) return C.get(s);
|
|
356
|
+
const l = Q(r, s);
|
|
357
|
+
if (C.size >= j) {
|
|
358
|
+
const e = Math.floor(j * 0.25), n = Array.from(C.keys());
|
|
359
|
+
for (let u = 0; u < e && u < n.length; u++) C.delete(n[u]);
|
|
361
360
|
}
|
|
362
|
-
return
|
|
361
|
+
return C.set(s, l), l;
|
|
363
362
|
}, tt = () => {
|
|
364
363
|
};
|
|
365
|
-
async function
|
|
364
|
+
async function p(s, l = 0) {
|
|
366
365
|
try {
|
|
367
366
|
const e = document.getElementById(s);
|
|
368
|
-
if (!e)
|
|
369
|
-
|
|
370
|
-
|
|
367
|
+
if (!e) return !1;
|
|
368
|
+
if (l > 0) try {
|
|
369
|
+
const n = e.getBoundingClientRect(), u = Math.max(0, window.scrollY + n.top - l);
|
|
370
|
+
typeof window.scrollTo == "function" && window.scrollTo({
|
|
371
|
+
top: u,
|
|
372
|
+
behavior: "auto"
|
|
373
|
+
});
|
|
374
|
+
} catch {
|
|
371
375
|
try {
|
|
372
|
-
|
|
373
|
-
typeof window.scrollTo == "function" && window.scrollTo({ top: f, behavior: "auto" });
|
|
376
|
+
e.scrollIntoView();
|
|
374
377
|
} catch {
|
|
375
|
-
|
|
376
|
-
e.scrollIntoView();
|
|
377
|
-
} catch {
|
|
378
|
-
return !1;
|
|
379
|
-
}
|
|
378
|
+
return !1;
|
|
380
379
|
}
|
|
381
|
-
|
|
380
|
+
}
|
|
381
|
+
else if (typeof e.scrollIntoView == "function") try {
|
|
382
|
+
e.scrollIntoView({
|
|
383
|
+
behavior: "auto",
|
|
384
|
+
block: "start",
|
|
385
|
+
inline: "nearest"
|
|
386
|
+
});
|
|
387
|
+
} catch {
|
|
382
388
|
try {
|
|
383
|
-
e.scrollIntoView(
|
|
384
|
-
behavior: "auto",
|
|
385
|
-
block: "start",
|
|
386
|
-
inline: "nearest"
|
|
387
|
-
});
|
|
389
|
+
e.scrollIntoView();
|
|
388
390
|
} catch {
|
|
389
|
-
|
|
390
|
-
e.scrollIntoView();
|
|
391
|
-
} catch {
|
|
392
|
-
return !1;
|
|
393
|
-
}
|
|
391
|
+
return !1;
|
|
394
392
|
}
|
|
393
|
+
}
|
|
395
394
|
return !0;
|
|
396
395
|
} catch {
|
|
397
396
|
return !1;
|
|
398
397
|
}
|
|
399
398
|
}
|
|
400
|
-
function
|
|
399
|
+
function $(s, l = 0, e = 2e3) {
|
|
401
400
|
return new Promise((n) => {
|
|
402
|
-
let
|
|
403
|
-
const
|
|
404
|
-
|
|
405
|
-
},
|
|
406
|
-
if (!
|
|
401
|
+
let u = !1, R = null, w = null;
|
|
402
|
+
const P = Date.now(), b = (L) => {
|
|
403
|
+
u || (u = !0, R && clearTimeout(R), w !== null && cancelAnimationFrame(w), n(L));
|
|
404
|
+
}, F = async () => {
|
|
405
|
+
if (!u)
|
|
407
406
|
try {
|
|
408
|
-
if (await
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
} catch (wt) {
|
|
419
|
-
m("Scroll retry attempt failed:", wt), w = requestAnimationFrame(z);
|
|
407
|
+
if (await p(s, l)) return b(!0);
|
|
408
|
+
const L = async () => {
|
|
409
|
+
if (!u) {
|
|
410
|
+
if (Date.now() - P >= e) return b(!1);
|
|
411
|
+
try {
|
|
412
|
+
if (await p(s, l)) return b(!0);
|
|
413
|
+
w = requestAnimationFrame(L);
|
|
414
|
+
} catch (gt) {
|
|
415
|
+
y("Scroll retry attempt failed:", gt), w = requestAnimationFrame(L);
|
|
416
|
+
}
|
|
420
417
|
}
|
|
421
418
|
};
|
|
422
|
-
w = requestAnimationFrame(
|
|
423
|
-
} catch (
|
|
424
|
-
|
|
419
|
+
w = requestAnimationFrame(L);
|
|
420
|
+
} catch (L) {
|
|
421
|
+
y("Initial scroll attempt failed:", L), b(!1);
|
|
425
422
|
}
|
|
426
423
|
};
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
}, e),
|
|
430
|
-
|
|
424
|
+
R = setTimeout(() => {
|
|
425
|
+
b(!1);
|
|
426
|
+
}, e), F().catch((L) => {
|
|
427
|
+
y("Scroll attempt failed:", L), b(!1);
|
|
431
428
|
});
|
|
432
429
|
});
|
|
433
430
|
}
|
|
434
|
-
let
|
|
435
|
-
const
|
|
436
|
-
if (
|
|
437
|
-
|
|
431
|
+
let h = !1;
|
|
432
|
+
const q = async (s, l = !1) => {
|
|
433
|
+
if (h) {
|
|
434
|
+
y(`Navigation to ${s} blocked - navigation already in progress`);
|
|
438
435
|
return;
|
|
439
436
|
}
|
|
440
|
-
|
|
437
|
+
h = !0, k = 0, _.clear();
|
|
441
438
|
try {
|
|
442
|
-
await
|
|
439
|
+
await D(s, l);
|
|
443
440
|
} finally {
|
|
444
|
-
|
|
441
|
+
h = !1, k = 0, _.clear();
|
|
445
442
|
}
|
|
446
443
|
}, N = (s) => {
|
|
447
|
-
const
|
|
444
|
+
const l = s.indexOf("#"), e = l >= 0 ? s.slice(l + 1) : "", n = l >= 0 ? s.slice(0, l) : s, u = n.indexOf("?"), R = u >= 0 ? n.slice(0, u) : n, w = u >= 0 ? ot(n.slice(u)) : {};
|
|
448
445
|
return {
|
|
449
|
-
path:
|
|
446
|
+
path: E((R.startsWith(o) ? R.slice(o.length) : R) || "/"),
|
|
450
447
|
query: w,
|
|
451
448
|
fragment: e
|
|
452
449
|
};
|
|
453
|
-
},
|
|
450
|
+
}, D = async (s, l = !1) => {
|
|
454
451
|
try {
|
|
455
|
-
const e = N(s), n =
|
|
452
|
+
const e = N(s), n = M(e.path);
|
|
456
453
|
if (!n.route) throw new Error(`No route found for ${e.path}`);
|
|
457
|
-
const
|
|
454
|
+
const u = c.getState(), R = {
|
|
458
455
|
path: e.path,
|
|
459
456
|
params: n.params,
|
|
460
457
|
query: e.query,
|
|
461
458
|
fragment: e.fragment
|
|
462
|
-
}, w = await G(
|
|
459
|
+
}, w = await G(R, u);
|
|
463
460
|
if (w === !1) return;
|
|
464
461
|
if (typeof w == "string") {
|
|
465
|
-
|
|
466
|
-
const
|
|
467
|
-
|
|
462
|
+
k++;
|
|
463
|
+
const b = `${R.path}->${w}`;
|
|
464
|
+
_.add(b), await D(w, !0);
|
|
468
465
|
return;
|
|
469
466
|
}
|
|
470
|
-
const
|
|
471
|
-
if (
|
|
472
|
-
if (typeof
|
|
473
|
-
|
|
474
|
-
const
|
|
475
|
-
|
|
467
|
+
const P = await at(R, u);
|
|
468
|
+
if (P === !1) return;
|
|
469
|
+
if (typeof P == "string") {
|
|
470
|
+
k++;
|
|
471
|
+
const b = `${R.path}->${P}`;
|
|
472
|
+
_.add(b), await D(P, !0);
|
|
476
473
|
return;
|
|
477
474
|
}
|
|
478
475
|
if (typeof window < "u" && typeof document < "u") {
|
|
479
|
-
const
|
|
480
|
-
|
|
476
|
+
const b = $t(e.query), F = o + e.path + (b || "") + (e.fragment ? "#" + e.fragment : "");
|
|
477
|
+
l ? window.history.replaceState({}, "", F) : window.history.pushState({}, "", F);
|
|
478
|
+
}
|
|
479
|
+
if (c.setState(R), Y(R, u), typeof window < "u" && typeof document < "u") try {
|
|
480
|
+
const b = R.fragment;
|
|
481
|
+
m.enabled && b && $(String(b), m.offset, m.timeoutMs).catch(() => {
|
|
482
|
+
});
|
|
483
|
+
} catch {
|
|
481
484
|
}
|
|
482
|
-
if (d.setState(b), Y(b, f), typeof window < "u" && typeof document < "u")
|
|
483
|
-
try {
|
|
484
|
-
const R = b.fragment;
|
|
485
|
-
g.enabled && R && E(
|
|
486
|
-
String(R),
|
|
487
|
-
g.offset,
|
|
488
|
-
g.timeoutMs
|
|
489
|
-
).catch(() => {
|
|
490
|
-
});
|
|
491
|
-
} catch {
|
|
492
|
-
}
|
|
493
485
|
} catch (e) {
|
|
494
|
-
if (
|
|
495
|
-
throw e;
|
|
486
|
+
if (x("Navigation error:", e), e instanceof Error && (e.stack?.includes("runBeforeEnter") || e.stack?.includes("runOnEnter"))) throw e;
|
|
496
487
|
try {
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
d.setState({
|
|
505
|
-
path: b.path,
|
|
506
|
-
params: w.params,
|
|
488
|
+
if (!Q(r, c.getState().path).route) {
|
|
489
|
+
let n = r.find((u) => u.path === "/");
|
|
490
|
+
if (n || (n = r.find((u) => !u.path.includes(":") && !u.path.includes("*"))), !n && r.length > 0 && (n = r[0]), n) {
|
|
491
|
+
const u = Q(r, n.path);
|
|
492
|
+
c.setState({
|
|
493
|
+
path: n.path,
|
|
494
|
+
params: u.params,
|
|
507
495
|
query: {}
|
|
508
496
|
});
|
|
509
|
-
} else
|
|
510
|
-
k("No fallback route available for error recovery");
|
|
497
|
+
} else x("No fallback route available for error recovery");
|
|
511
498
|
}
|
|
512
499
|
} catch (n) {
|
|
513
|
-
|
|
514
|
-
"State recovery failed during navigation error:",
|
|
515
|
-
n
|
|
516
|
-
);
|
|
500
|
+
y("State recovery failed during navigation error:", n);
|
|
517
501
|
}
|
|
518
502
|
}
|
|
519
503
|
};
|
|
520
504
|
if (((s) => {
|
|
521
505
|
if (!s || s.length === 0)
|
|
522
|
-
return
|
|
523
|
-
const
|
|
506
|
+
return x("Router configuration error: No routes provided"), !1;
|
|
507
|
+
const l = /* @__PURE__ */ new Set();
|
|
524
508
|
for (const e of s) {
|
|
525
509
|
if (!e.path)
|
|
526
|
-
return
|
|
527
|
-
|
|
510
|
+
return x("Router configuration error: Route missing path", e), !1;
|
|
511
|
+
l.has(e.path) && y(`Duplicate route path detected: ${e.path}`), l.add(e.path), !e.component && !e.load && y(`Route '${e.path}' has no component or load function`);
|
|
528
512
|
}
|
|
529
513
|
return !0;
|
|
530
|
-
})(r), typeof window > "u" || typeof
|
|
531
|
-
for (const s of r)
|
|
532
|
-
|
|
533
|
-
m(`Pre-compiled ${r.length} routes for SSR`);
|
|
514
|
+
})(r), typeof window > "u" || typeof a < "u") {
|
|
515
|
+
for (const s of r) M(s.path);
|
|
516
|
+
y(`Pre-compiled ${r.length} routes for SSR`);
|
|
534
517
|
}
|
|
535
|
-
if (typeof window < "u" && typeof document < "u" && typeof
|
|
536
|
-
|
|
518
|
+
if (typeof window < "u" && typeof document < "u" && typeof a > "u") {
|
|
519
|
+
g = () => {
|
|
537
520
|
try {
|
|
538
|
-
const e = new URL(window.location.href), n = e.pathname
|
|
539
|
-
return {
|
|
521
|
+
const e = new URL(window.location.href), n = e.pathname;
|
|
522
|
+
return {
|
|
523
|
+
path: E((n.startsWith(o) ? n.slice(o.length) : n) || "/"),
|
|
524
|
+
query: ot(e.search),
|
|
525
|
+
fragment: e.hash && e.hash.length ? e.hash.slice(1) : ""
|
|
526
|
+
};
|
|
540
527
|
} catch (e) {
|
|
541
|
-
return
|
|
528
|
+
return y("Invalid URL detected, falling back to safe defaults", e), {
|
|
529
|
+
path: "/",
|
|
530
|
+
query: {},
|
|
531
|
+
fragment: ""
|
|
532
|
+
};
|
|
542
533
|
}
|
|
543
|
-
},
|
|
544
|
-
const s =
|
|
545
|
-
|
|
546
|
-
path:
|
|
534
|
+
}, v = g();
|
|
535
|
+
const s = M(v.path);
|
|
536
|
+
c = lt({
|
|
537
|
+
path: v.path,
|
|
547
538
|
params: s.params,
|
|
548
|
-
query:
|
|
549
|
-
fragment:
|
|
539
|
+
query: v.query,
|
|
540
|
+
fragment: v.fragment
|
|
550
541
|
}), S = async (e = !1) => {
|
|
551
|
-
|
|
552
|
-
await P(n.path, e);
|
|
542
|
+
await q(g().path, e);
|
|
553
543
|
};
|
|
554
|
-
const
|
|
555
|
-
window.addEventListener("popstate",
|
|
556
|
-
|
|
557
|
-
|
|
544
|
+
const l = () => S(!0);
|
|
545
|
+
window.addEventListener("popstate", l), X = () => window.removeEventListener("popstate", l), I = (e) => q(e, !1), z = (e) => q(e, !0), V = () => window.history.back(), queueMicrotask(() => {
|
|
546
|
+
q(v.path, !0).catch((e) => {
|
|
547
|
+
x("Initial navigation error:", e);
|
|
558
548
|
});
|
|
559
549
|
});
|
|
560
550
|
} else {
|
|
561
|
-
|
|
551
|
+
g = () => {
|
|
562
552
|
try {
|
|
563
|
-
const e = new URL(
|
|
564
|
-
return {
|
|
553
|
+
const e = new URL(a || "/", "http://localhost"), n = e.pathname;
|
|
554
|
+
return {
|
|
555
|
+
path: E((n.startsWith(o) ? n.slice(o.length) : n) || "/"),
|
|
556
|
+
query: ot(e.search),
|
|
557
|
+
fragment: e.hash && e.hash.length ? e.hash.slice(1) : ""
|
|
558
|
+
};
|
|
565
559
|
} catch (e) {
|
|
566
|
-
return
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
560
|
+
return y("Invalid SSR URL detected, falling back to safe defaults", e), {
|
|
561
|
+
path: "/",
|
|
562
|
+
query: {},
|
|
563
|
+
fragment: ""
|
|
564
|
+
};
|
|
570
565
|
}
|
|
571
|
-
},
|
|
572
|
-
const s =
|
|
573
|
-
|
|
574
|
-
path:
|
|
566
|
+
}, v = g();
|
|
567
|
+
const s = M(v.path);
|
|
568
|
+
c = lt({
|
|
569
|
+
path: v.path,
|
|
575
570
|
params: s.params,
|
|
576
|
-
query:
|
|
577
|
-
fragment:
|
|
571
|
+
query: v.query,
|
|
572
|
+
fragment: v.fragment
|
|
578
573
|
}), S = async () => {
|
|
579
|
-
|
|
580
|
-
await i(e.path);
|
|
574
|
+
await l(g().path);
|
|
581
575
|
};
|
|
582
|
-
const
|
|
583
|
-
if (
|
|
584
|
-
|
|
576
|
+
const l = async (e) => {
|
|
577
|
+
if (k++, k > W) {
|
|
578
|
+
x(`SSR redirect depth exceeded for path: ${e}`);
|
|
585
579
|
return;
|
|
586
580
|
}
|
|
587
581
|
try {
|
|
588
|
-
const n = N(e),
|
|
589
|
-
if (!
|
|
590
|
-
const
|
|
582
|
+
const n = N(e), u = M(n.path);
|
|
583
|
+
if (!u.route) throw new Error(`No route found for ${n.path}`);
|
|
584
|
+
const R = c.getState(), w = {
|
|
591
585
|
path: n.path,
|
|
592
|
-
params:
|
|
586
|
+
params: u.params,
|
|
593
587
|
query: n.query,
|
|
594
588
|
fragment: n.fragment
|
|
595
|
-
},
|
|
596
|
-
if (
|
|
597
|
-
const
|
|
598
|
-
if (typeof
|
|
599
|
-
const
|
|
600
|
-
|
|
589
|
+
}, P = rt(r, w.path);
|
|
590
|
+
if (P?.beforeEnter) {
|
|
591
|
+
const b = await P.beforeEnter(w, R);
|
|
592
|
+
if (typeof b == "string") {
|
|
593
|
+
const F = `${w.path}->${b}`;
|
|
594
|
+
_.add(F), await l(b);
|
|
601
595
|
return;
|
|
602
596
|
}
|
|
603
|
-
if (
|
|
597
|
+
if (b === !1) return;
|
|
604
598
|
}
|
|
605
|
-
if (
|
|
606
|
-
const
|
|
607
|
-
if (typeof
|
|
608
|
-
const
|
|
609
|
-
|
|
599
|
+
if (P?.onEnter) {
|
|
600
|
+
const b = await P.onEnter(w, R);
|
|
601
|
+
if (typeof b == "string") {
|
|
602
|
+
const F = `${w.path}->${b}`;
|
|
603
|
+
_.add(F), await l(b);
|
|
610
604
|
return;
|
|
611
605
|
}
|
|
612
|
-
if (
|
|
606
|
+
if (b === !1) return;
|
|
613
607
|
}
|
|
614
|
-
|
|
608
|
+
c.setState(w), P?.afterEnter && P.afterEnter(w, R);
|
|
615
609
|
} catch (n) {
|
|
616
|
-
throw
|
|
610
|
+
throw x("SSR navigation error:", n), n;
|
|
617
611
|
}
|
|
618
612
|
};
|
|
619
|
-
|
|
613
|
+
I = async (e) => (k = 0, _.clear(), l(e)), z = async (e) => (k = 0, _.clear(), l(e)), V = () => {
|
|
620
614
|
};
|
|
621
615
|
}
|
|
622
616
|
return {
|
|
623
617
|
_cleanupScrollState: tt,
|
|
624
|
-
destroy:
|
|
625
|
-
store:
|
|
626
|
-
push:
|
|
627
|
-
replace:
|
|
628
|
-
back:
|
|
629
|
-
subscribe:
|
|
630
|
-
matchRoute: (s) =>
|
|
631
|
-
getCurrent: () =>
|
|
632
|
-
resolveRouteComponent:
|
|
633
|
-
base:
|
|
634
|
-
// Public API: allow components or tests to explicitly request scrolling to
|
|
635
|
-
// a fragment when they know their DOM is ready. Returns true if scrolled.
|
|
618
|
+
destroy: X,
|
|
619
|
+
store: c,
|
|
620
|
+
push: I,
|
|
621
|
+
replace: z,
|
|
622
|
+
back: V,
|
|
623
|
+
subscribe: c.subscribe,
|
|
624
|
+
matchRoute: (s) => M(s),
|
|
625
|
+
getCurrent: () => c.getState(),
|
|
626
|
+
resolveRouteComponent: _t,
|
|
627
|
+
base: o,
|
|
636
628
|
scrollToFragment: (s) => {
|
|
637
|
-
const
|
|
638
|
-
return !
|
|
639
|
-
i,
|
|
640
|
-
g.offset,
|
|
641
|
-
g.timeoutMs
|
|
642
|
-
);
|
|
629
|
+
const l = s || c.getState().fragment;
|
|
630
|
+
return !l || typeof window > "u" || typeof document > "u" ? Promise.resolve(!1) : $(l, m.offset, m.timeoutMs);
|
|
643
631
|
}
|
|
644
632
|
};
|
|
645
633
|
}
|
|
646
|
-
function
|
|
647
|
-
|
|
648
|
-
const r =
|
|
649
|
-
if (
|
|
634
|
+
function zt(t) {
|
|
635
|
+
kt();
|
|
636
|
+
const r = It(t), f = dt();
|
|
637
|
+
if (f) {
|
|
650
638
|
try {
|
|
651
|
-
|
|
639
|
+
f.destroy();
|
|
652
640
|
} catch {
|
|
653
641
|
}
|
|
654
642
|
try {
|
|
655
|
-
|
|
643
|
+
f._cleanupScrollState?.();
|
|
656
644
|
} catch {
|
|
657
645
|
}
|
|
658
646
|
}
|
|
659
|
-
|
|
647
|
+
qt(r);
|
|
660
648
|
try {
|
|
661
|
-
|
|
649
|
+
Tt();
|
|
662
650
|
try {
|
|
663
651
|
typeof window < "u" && nt();
|
|
664
652
|
} catch {
|
|
@@ -674,55 +662,68 @@ function Wt(t) {
|
|
|
674
662
|
}
|
|
675
663
|
} catch {
|
|
676
664
|
}
|
|
677
|
-
return
|
|
678
|
-
const
|
|
679
|
-
if (!
|
|
680
|
-
const
|
|
681
|
-
let
|
|
682
|
-
|
|
665
|
+
return ct("router-view", async () => {
|
|
666
|
+
const a = wt()?._router, i = a ?? A;
|
|
667
|
+
if (!dt() && !a) return U`<div>Router not initialized.</div>`;
|
|
668
|
+
const o = et(i.getCurrent()), m = typeof window > "u";
|
|
669
|
+
let g;
|
|
670
|
+
m || (it(() => {
|
|
683
671
|
try {
|
|
684
|
-
typeof
|
|
672
|
+
typeof i.subscribe == "function" && (g = i.subscribe((c) => {
|
|
685
673
|
try {
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
674
|
+
c && typeof c == "object" && typeof c.path == "string" ? o.value = c : (y("router-view received invalid state", c), o.value = {
|
|
675
|
+
path: "/",
|
|
676
|
+
params: {},
|
|
677
|
+
query: {}
|
|
678
|
+
});
|
|
679
|
+
} catch (S) {
|
|
680
|
+
y("router-view subscription update failed", S);
|
|
689
681
|
try {
|
|
690
|
-
|
|
682
|
+
o.value = {
|
|
683
|
+
path: "/",
|
|
684
|
+
params: {},
|
|
685
|
+
query: {}
|
|
686
|
+
};
|
|
691
687
|
} catch {
|
|
692
688
|
}
|
|
693
689
|
}
|
|
694
690
|
}));
|
|
695
|
-
} catch (
|
|
696
|
-
|
|
691
|
+
} catch (c) {
|
|
692
|
+
y("router-view subscribe failed", c);
|
|
697
693
|
}
|
|
698
|
-
}),
|
|
699
|
-
if (typeof
|
|
694
|
+
}), st(() => {
|
|
695
|
+
if (typeof g == "function") {
|
|
700
696
|
try {
|
|
701
|
-
|
|
702
|
-
} catch (
|
|
703
|
-
|
|
697
|
+
g();
|
|
698
|
+
} catch (c) {
|
|
699
|
+
y("router-view unsubscribe failed", c);
|
|
704
700
|
}
|
|
705
|
-
|
|
701
|
+
g = void 0;
|
|
706
702
|
}
|
|
707
703
|
}));
|
|
708
|
-
const
|
|
709
|
-
if (!
|
|
704
|
+
const v = i.matchRoute(o.value.path);
|
|
705
|
+
if (!v || !v.route) return U`<div>Not found</div>`;
|
|
710
706
|
try {
|
|
711
|
-
const
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
707
|
+
const c = await i.resolveRouteComponent(v.route);
|
|
708
|
+
if (typeof c == "string") return {
|
|
709
|
+
tag: c,
|
|
710
|
+
props: { attrs: { ...o.value.params } },
|
|
711
|
+
children: []
|
|
712
|
+
};
|
|
713
|
+
if (typeof c == "function") {
|
|
714
|
+
const S = c();
|
|
715
|
+
return (S instanceof Promise ? S : Promise.resolve(S)).then((I) => typeof I == "string" ? {
|
|
716
|
+
tag: I,
|
|
717
|
+
props: {},
|
|
718
|
+
children: []
|
|
719
|
+
} : I);
|
|
719
720
|
}
|
|
720
|
-
return
|
|
721
|
+
return U`<div>Invalid route component</div>`;
|
|
721
722
|
} catch {
|
|
722
|
-
return
|
|
723
|
+
return U`<div>Invalid route component</div>`;
|
|
723
724
|
}
|
|
724
|
-
}),
|
|
725
|
-
const
|
|
725
|
+
}), ct("router-link", () => {
|
|
726
|
+
const a = bt({
|
|
726
727
|
to: "",
|
|
727
728
|
tag: "a",
|
|
728
729
|
replace: !1,
|
|
@@ -732,65 +733,64 @@ function Wt(t) {
|
|
|
732
733
|
ariaCurrentValue: "page",
|
|
733
734
|
disabled: !1,
|
|
734
735
|
external: !1,
|
|
735
|
-
// allow host `class` and `style` attributes to be read via useProps
|
|
736
736
|
class: "",
|
|
737
737
|
style: ""
|
|
738
|
-
}),
|
|
739
|
-
isExactActive:
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
_.base
|
|
743
|
-
),
|
|
744
|
-
isActive: vt(
|
|
745
|
-
g,
|
|
746
|
-
v,
|
|
747
|
-
_.base
|
|
748
|
-
),
|
|
749
|
-
isExternal: Q(v) || !!o.external
|
|
738
|
+
}), i = typeof window > "u", o = et(A.getCurrent()), m = o.value?.path || "/", g = String(a.to || ""), v = i ? {
|
|
739
|
+
isExactActive: yt(m, g, A.base),
|
|
740
|
+
isActive: mt(m, g, A.base),
|
|
741
|
+
isExternal: Z(g) || !!a.external
|
|
750
742
|
} : null;
|
|
751
|
-
let
|
|
752
|
-
|
|
753
|
-
const S = et(
|
|
754
|
-
if (!
|
|
755
|
-
let
|
|
756
|
-
it((
|
|
743
|
+
let c;
|
|
744
|
+
St(() => "a,button{display:inline-block;}");
|
|
745
|
+
const S = et(a.class || ""), I = et(a.style || "");
|
|
746
|
+
if (!i) {
|
|
747
|
+
let p = null;
|
|
748
|
+
it(($) => {
|
|
757
749
|
try {
|
|
758
|
-
if (typeof
|
|
759
|
-
|
|
750
|
+
if (typeof A.subscribe == "function") {
|
|
751
|
+
c = A.subscribe((h) => {
|
|
760
752
|
try {
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
753
|
+
h && typeof h == "object" && typeof h.path == "string" ? o.value = h : (y("router-link received invalid state", h), o.value = {
|
|
754
|
+
path: "/",
|
|
755
|
+
params: {},
|
|
756
|
+
query: {}
|
|
757
|
+
});
|
|
758
|
+
} catch (q) {
|
|
759
|
+
y("router-link subscription update failed", q);
|
|
764
760
|
try {
|
|
765
|
-
|
|
761
|
+
o.value = {
|
|
762
|
+
path: "/",
|
|
763
|
+
params: {},
|
|
764
|
+
query: {}
|
|
765
|
+
};
|
|
766
766
|
} catch {
|
|
767
767
|
}
|
|
768
768
|
}
|
|
769
769
|
});
|
|
770
770
|
try {
|
|
771
|
-
const
|
|
772
|
-
|
|
773
|
-
} catch (
|
|
774
|
-
|
|
771
|
+
const h = A.getCurrent();
|
|
772
|
+
h && typeof h.path == "string" && (o.value = h);
|
|
773
|
+
} catch (h) {
|
|
774
|
+
y("router-link initial state sync failed", h);
|
|
775
775
|
}
|
|
776
|
-
|
|
776
|
+
p = setInterval(() => {
|
|
777
777
|
try {
|
|
778
|
-
const
|
|
779
|
-
|
|
778
|
+
const h = A.getCurrent();
|
|
779
|
+
h && typeof h.path == "string" && JSON.stringify(o.value) !== JSON.stringify(h) && (o.value = h);
|
|
780
780
|
} catch {
|
|
781
781
|
}
|
|
782
782
|
}, 100);
|
|
783
783
|
}
|
|
784
|
-
} catch (
|
|
785
|
-
|
|
784
|
+
} catch (h) {
|
|
785
|
+
y("router-link subscribe failed", h);
|
|
786
786
|
}
|
|
787
787
|
try {
|
|
788
|
-
const
|
|
789
|
-
if (typeof HTMLElement < "u" &&
|
|
790
|
-
const
|
|
791
|
-
|
|
788
|
+
const h = $?._host;
|
|
789
|
+
if (typeof HTMLElement < "u" && h instanceof HTMLElement) {
|
|
790
|
+
const q = h.getAttribute("class"), N = h.getAttribute("style");
|
|
791
|
+
q && (S.value = q), N && (I.value = N), q !== null && h.removeAttribute("class"), N !== null && h.removeAttribute("style");
|
|
792
792
|
try {
|
|
793
|
-
|
|
793
|
+
$?._requestRender?.();
|
|
794
794
|
try {
|
|
795
795
|
nt();
|
|
796
796
|
} catch {
|
|
@@ -798,121 +798,103 @@ function Wt(t) {
|
|
|
798
798
|
} catch {
|
|
799
799
|
}
|
|
800
800
|
}
|
|
801
|
-
} catch (
|
|
802
|
-
|
|
801
|
+
} catch (h) {
|
|
802
|
+
y("router-link host migration failed", h);
|
|
803
|
+
}
|
|
804
|
+
}), st(() => {
|
|
805
|
+
if (typeof c == "function") try {
|
|
806
|
+
c();
|
|
807
|
+
} catch ($) {
|
|
808
|
+
y("router-link unsubscribe failed", $);
|
|
809
|
+
} finally {
|
|
810
|
+
c = void 0;
|
|
811
|
+
}
|
|
812
|
+
if (p) try {
|
|
813
|
+
clearInterval(p);
|
|
814
|
+
} catch ($) {
|
|
815
|
+
y("router-link sync interval cleanup failed", $);
|
|
816
|
+
} finally {
|
|
817
|
+
p = null;
|
|
803
818
|
}
|
|
804
|
-
}), lt(() => {
|
|
805
|
-
if (typeof d == "function")
|
|
806
|
-
try {
|
|
807
|
-
d();
|
|
808
|
-
} catch (E) {
|
|
809
|
-
m("router-link unsubscribe failed", E);
|
|
810
|
-
} finally {
|
|
811
|
-
d = void 0;
|
|
812
|
-
}
|
|
813
|
-
if (h)
|
|
814
|
-
try {
|
|
815
|
-
clearInterval(h);
|
|
816
|
-
} catch (E) {
|
|
817
|
-
m("router-link sync interval cleanup failed", E);
|
|
818
|
-
} finally {
|
|
819
|
-
h = null;
|
|
820
|
-
}
|
|
821
819
|
});
|
|
822
820
|
}
|
|
823
|
-
const
|
|
824
|
-
if (
|
|
825
|
-
return l.isExactActive;
|
|
821
|
+
const z = T(() => {
|
|
822
|
+
if (i && v) return v.isExactActive;
|
|
826
823
|
try {
|
|
827
|
-
const
|
|
828
|
-
return !
|
|
829
|
-
} catch (
|
|
830
|
-
return
|
|
824
|
+
const p = A.base ?? "", $ = a.to || "";
|
|
825
|
+
return !o.value || typeof o.value.path != "string" ? !1 : yt(o.value.path, $, p);
|
|
826
|
+
} catch (p) {
|
|
827
|
+
return y("isExactActive computation error", p), !1;
|
|
831
828
|
}
|
|
832
|
-
}),
|
|
833
|
-
if (
|
|
834
|
-
return l.isActive;
|
|
829
|
+
}), V = T(() => {
|
|
830
|
+
if (i && v) return v.isActive;
|
|
835
831
|
try {
|
|
836
|
-
const
|
|
837
|
-
return !
|
|
838
|
-
} catch (
|
|
839
|
-
return
|
|
832
|
+
const p = A.base ?? "", $ = a.to || "";
|
|
833
|
+
return !o.value || typeof o.value.path != "string" ? !1 : a.exact ? z.value : mt(o.value.path, $, p);
|
|
834
|
+
} catch (p) {
|
|
835
|
+
return y("isActive computation error", p), !1;
|
|
840
836
|
}
|
|
841
|
-
}),
|
|
842
|
-
const
|
|
843
|
-
if (
|
|
844
|
-
if (
|
|
845
|
-
const [
|
|
846
|
-
let
|
|
847
|
-
if (
|
|
848
|
-
const
|
|
849
|
-
|
|
837
|
+
}), X = T(() => {
|
|
838
|
+
const p = String(a.to || "");
|
|
839
|
+
if (ft(p)) return null;
|
|
840
|
+
if (Z(p)) return p;
|
|
841
|
+
const [$, h] = p.split("#"), [q, N] = ($ || "").split("?"), D = A.base ?? "";
|
|
842
|
+
let H = q || "/";
|
|
843
|
+
if (D && D !== "/") {
|
|
844
|
+
const s = E(D), l = E(H);
|
|
845
|
+
l.startsWith(s) ? H = l.slice(s.length) || "/" : H = l;
|
|
850
846
|
}
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
[
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
), A = M(() => !!o.disabled), K = M(() => {
|
|
866
|
-
const h = String(o.to || "");
|
|
867
|
-
return (Q(h) || !!o.external) && G.value === "a";
|
|
868
|
-
}), O = M(
|
|
869
|
-
() => C && C.value || o.style || ""
|
|
870
|
-
), tt = (h) => {
|
|
871
|
-
if (h.defaultPrevented || h.button !== 0 || h.metaKey || h.altKey || h.ctrlKey || h.shiftKey)
|
|
872
|
-
return;
|
|
873
|
-
if (A.value) {
|
|
874
|
-
h.preventDefault();
|
|
875
|
-
return;
|
|
876
|
-
}
|
|
877
|
-
const E = String(o.to || "");
|
|
878
|
-
if (pt(E)) {
|
|
879
|
-
try {
|
|
880
|
-
h.preventDefault();
|
|
881
|
-
} catch {
|
|
847
|
+
return D + E(H || "/") + (N ? "?" + N : "") + (h ? "#" + h : "");
|
|
848
|
+
}), _ = T(() => {
|
|
849
|
+
const p = (S && S.value || a.class || "").split(/\s+/).filter(Boolean), $ = {};
|
|
850
|
+
for (const h of p) $[h] = !0;
|
|
851
|
+
return $;
|
|
852
|
+
}), W = T(() => ({
|
|
853
|
+
..._.value,
|
|
854
|
+
[a.activeClass || "active"]: V.value,
|
|
855
|
+
[a.exactActiveClass || "exact-active"]: z.value
|
|
856
|
+
})), k = T(() => Object.keys(W.value).filter((p) => W.value[p]).join(" ")), G = T(() => a.tag || "a"), at = T(() => G.value === "button"), Y = T(() => z.value ? a.ariaCurrentValue : null), C = T(() => !!a.disabled), j = T(() => (Z(String(a.to || "")) || !!a.external) && G.value === "a"), M = T(() => I && I.value || a.style || ""), tt = (p) => {
|
|
857
|
+
if (!(p.defaultPrevented || p.button !== 0 || p.metaKey || p.altKey || p.ctrlKey || p.shiftKey)) {
|
|
858
|
+
if (C.value) {
|
|
859
|
+
p.preventDefault();
|
|
860
|
+
return;
|
|
882
861
|
}
|
|
883
|
-
|
|
884
|
-
|
|
862
|
+
if (ft(String(a.to || ""))) {
|
|
863
|
+
try {
|
|
864
|
+
p.preventDefault();
|
|
865
|
+
} catch {
|
|
866
|
+
}
|
|
867
|
+
y("Blocked unsafe javascript: URI in router-link.to");
|
|
868
|
+
return;
|
|
869
|
+
}
|
|
870
|
+
j.value || (p.preventDefault(), a.replace ? A.replace(a.to) : A.push(a.to));
|
|
885
871
|
}
|
|
886
|
-
K.value || (h.preventDefault(), o.replace ? _.replace(o.to) : _.push(o.to));
|
|
887
872
|
};
|
|
888
|
-
return
|
|
889
|
-
${
|
|
890
|
-
at.value,
|
|
891
|
-
j`
|
|
873
|
+
return U`
|
|
874
|
+
${Rt().when(at.value, U`
|
|
892
875
|
<button
|
|
893
876
|
part="button"
|
|
894
|
-
class="${
|
|
895
|
-
style="${
|
|
877
|
+
class="${k.value}"
|
|
878
|
+
style="${M.value || null}"
|
|
896
879
|
aria-current="${Y.value}"
|
|
897
|
-
disabled="${
|
|
898
|
-
aria-disabled="${
|
|
899
|
-
tabindex="${
|
|
880
|
+
disabled="${C.value ? "" : null}"
|
|
881
|
+
aria-disabled="${C.value ? "true" : null}"
|
|
882
|
+
tabindex="${C.value ? "-1" : null}"
|
|
900
883
|
@click="${tt}"
|
|
901
884
|
>
|
|
902
885
|
<slot></slot>
|
|
903
886
|
</button>
|
|
904
|
-
`
|
|
905
|
-
).otherwise(j`
|
|
887
|
+
`).otherwise(U`
|
|
906
888
|
<a
|
|
907
889
|
part="link"
|
|
908
|
-
href="${
|
|
909
|
-
class="${
|
|
910
|
-
style="${
|
|
890
|
+
href="${C.value ? null : X.value}"
|
|
891
|
+
class="${k.value}"
|
|
892
|
+
style="${M.value || null}"
|
|
911
893
|
aria-current="${Y.value}"
|
|
912
|
-
aria-disabled="${
|
|
913
|
-
tabindex="${
|
|
914
|
-
target="${
|
|
915
|
-
rel="${
|
|
894
|
+
aria-disabled="${C.value ? "true" : null}"
|
|
895
|
+
tabindex="${C.value ? "-1" : null}"
|
|
896
|
+
target="${j.value ? "_blank" : null}"
|
|
897
|
+
rel="${j.value ? "noopener noreferrer" : null}"
|
|
916
898
|
@click="${tt}"
|
|
917
899
|
><slot></slot
|
|
918
900
|
></a>
|
|
@@ -920,42 +902,42 @@ function Wt(t) {
|
|
|
920
902
|
`;
|
|
921
903
|
}), r;
|
|
922
904
|
}
|
|
923
|
-
function
|
|
924
|
-
if (
|
|
925
|
-
let
|
|
926
|
-
if (
|
|
927
|
-
const
|
|
928
|
-
|
|
905
|
+
function yt(t, r, f) {
|
|
906
|
+
if (Z(r)) return !1;
|
|
907
|
+
let a = (r.split("#")[0] || "/").split("?")[0];
|
|
908
|
+
if (f && f !== "/") {
|
|
909
|
+
const i = E(f), o = E(a);
|
|
910
|
+
o.startsWith(i) ? a = o.slice(i.length) || "/" : a = o;
|
|
929
911
|
}
|
|
930
|
-
|
|
931
|
-
return a === g;
|
|
912
|
+
return E(t) === E(a);
|
|
932
913
|
}
|
|
933
|
-
function
|
|
934
|
-
if (
|
|
935
|
-
let
|
|
936
|
-
if (
|
|
937
|
-
const
|
|
938
|
-
|
|
914
|
+
function mt(t, r, f) {
|
|
915
|
+
if (Z(r)) return !1;
|
|
916
|
+
let a = (r.split("#")[0] || "/").split("?")[0];
|
|
917
|
+
if (f && f !== "/") {
|
|
918
|
+
const m = E(f), g = E(a);
|
|
919
|
+
g.startsWith(m) ? a = g.slice(m.length) || "/" : a = g;
|
|
939
920
|
}
|
|
940
|
-
const
|
|
941
|
-
return
|
|
921
|
+
const i = E(t), o = E(a);
|
|
922
|
+
return o === "/" ? i === "/" : i === o ? !0 : i.startsWith(o.endsWith("/") ? o : o + "/");
|
|
942
923
|
}
|
|
943
924
|
export {
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
925
|
+
ut as DEFAULT_SCROLL_CONFIG,
|
|
926
|
+
A as activeRouterProxy,
|
|
927
|
+
Ct as canonicalizeBase,
|
|
928
|
+
kt as clearComponentCache,
|
|
948
929
|
rt as findMatchedRoute,
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
930
|
+
zt as initRouter,
|
|
931
|
+
Z as isAbsoluteUrl,
|
|
932
|
+
ft as isDangerousScheme,
|
|
933
|
+
Q as matchRoute,
|
|
934
|
+
Ft as matchRouteSSR,
|
|
935
|
+
E as normalizePathForRoute,
|
|
936
|
+
ot as parseQuery,
|
|
937
|
+
_t as resolveRouteComponent,
|
|
938
|
+
Et as safeDecode,
|
|
939
|
+
$t as serializeQuery,
|
|
940
|
+
It as useRouter
|
|
960
941
|
};
|
|
961
|
-
|
|
942
|
+
|
|
943
|
+
//# sourceMappingURL=custom-elements-runtime.router.es.js.map
|