@kitbag/router 0.11.4 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,43 +1,43 @@
1
- var Xt = Object.defineProperty;
2
- var Zt = (e, t, n) => t in e ? Xt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var M = (e, t, n) => Zt(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { defineComponent as ue, h as pe, ref as ft, inject as ie, toRefs as en, reactive as je, markRaw as de, defineAsyncComponent as tn, watch as lt, toValue as he, toRef as nn, computed as V, onUnmounted as ht, openBlock as pt, createElementBlock as rn, normalizeClass as on, renderSlot as dt, normalizeProps as mt, guardReactiveProps as an, unref as oe, resolveComponent as sn, provide as cn, mergeProps as un, createBlock as fn, resolveDynamicComponent as ln, createCommentVNode as hn } from "vue";
5
- class Se extends Error {
1
+ var rn = Object.defineProperty;
2
+ var on = (e, t, n) => t in e ? rn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var _ = (e, t, n) => on(e, typeof t != "symbol" ? t + "" : t, n);
4
+ import { defineComponent as ie, h as ge, ref as lt, inject as fe, toRefs as an, computed as N, reactive as $e, markRaw as ve, defineAsyncComponent as sn, watch as ht, toValue as me, toRef as cn, onUnmounted as pt, openBlock as dt, createElementBlock as un, normalizeClass as fn, renderSlot as mt, normalizeProps as gt, guardReactiveProps as ln, unref as ae, resolveComponent as hn, provide as pn, mergeProps as dn, createBlock as mn, resolveDynamicComponent as gn, createCommentVNode as vn } from "vue";
5
+ class Ae extends Error {
6
6
  constructor() {
7
7
  super("Router not installed");
8
8
  }
9
9
  }
10
- function fe(e) {
10
+ function le(e) {
11
11
  return typeof e == "object" && e !== null && !Array.isArray(e);
12
12
  }
13
- function pn(e) {
13
+ function yn(e) {
14
14
  return e.every((t) => Array.isArray(t));
15
15
  }
16
- function le(e) {
16
+ function he(e) {
17
17
  return typeof e == "string" && e.length > 0;
18
18
  }
19
- function me(e) {
19
+ function ye(e) {
20
20
  return {
21
- value: le(e) ? e.replace(/^#*/, "") : void 0
21
+ value: he(e) ? e.replace(/^#*/, "") : void 0
22
22
  };
23
23
  }
24
- function dn(e, t) {
25
- return me(`${e.value ?? ""}${t.value ?? ""}`);
24
+ function Rn(e, t) {
25
+ return ye(`${e.value ?? ""}${t.value ?? ""}`);
26
26
  }
27
- class mn extends Error {
27
+ class wn extends Error {
28
28
  constructor(t) {
29
29
  super(`Child property on meta for ${t} conflicts with the parent meta.`);
30
30
  }
31
31
  }
32
- function gn(e, t) {
33
- return Rn(e, t), { ...e, ...t };
32
+ function Pn(e, t) {
33
+ return En(e, t), { ...e, ...t };
34
34
  }
35
- function Rn(e, t) {
35
+ function En(e, t) {
36
36
  const n = Object.keys(e).find((r) => r in t && typeof t[r] != typeof e[r]);
37
37
  if (n)
38
- throw new mn(n);
38
+ throw new wn(n);
39
39
  }
40
- class yn extends Error {
40
+ class bn extends Error {
41
41
  /**
42
42
  * Constructs a new DuplicateParamsError instance with a message indicating the problematic parameter.
43
43
  * @param paramName - The name of the parameter that was duplicated.
@@ -46,40 +46,40 @@ class yn extends Error {
46
46
  super(`Invalid Param "${t}": Router does not support multiple params by the same name. All param names must be unique.`);
47
47
  }
48
48
  }
49
- function z(e) {
49
+ function Y(e) {
50
50
  return Array.isArray(e) ? e : [e];
51
51
  }
52
- function gt(e, t) {
52
+ function vt(e, t) {
53
53
  return e.filter((n) => t === n).length;
54
54
  }
55
- function te(...e) {
56
- const t = e.flatMap((n) => Array.isArray(n) ? n : Object.keys(n).map(vn));
55
+ function re(...e) {
56
+ const t = e.flatMap((n) => Array.isArray(n) ? n : Object.keys(n).map(Sn));
57
57
  for (const n of t)
58
- if (gt(t, n) > 1)
59
- throw new yn(n);
58
+ if (vt(t, n) > 1)
59
+ throw new bn(n);
60
60
  }
61
- function vn(e) {
61
+ function Sn(e) {
62
62
  return e.startsWith("?") ? e.slice(1) : e;
63
63
  }
64
- function wn(e, t) {
65
- return te(e.params, t.params), {
64
+ function xn(e, t) {
65
+ return re(e.params, t.params), {
66
66
  value: `${e.value}${t.value}`,
67
67
  params: { ...e.params, ...t.params }
68
68
  };
69
69
  }
70
- function Pn(e, t) {
71
- return te(e.params, t.params), {
72
- value: [e.value, t.value].filter(le).join("&"),
70
+ function kn(e, t) {
71
+ return re(e.params, t.params), {
72
+ value: [e.value, t.value].filter(he).join("&"),
73
73
  params: { ...e.params, ...t.params }
74
74
  };
75
75
  }
76
- function En(e, t) {
77
- return te(e, t), { ...e, ...t };
76
+ function An(e, t) {
77
+ return re(e, t), { ...e, ...t };
78
78
  }
79
- function Sn(e) {
79
+ function Un(e) {
80
80
  return "host" in e && !!e.host;
81
81
  }
82
- function Rt(e) {
82
+ function yt(e) {
83
83
  return "parent" in e && !!e.parent;
84
84
  }
85
85
  function Ve(e) {
@@ -88,78 +88,81 @@ function Ve(e) {
88
88
  function qe(e) {
89
89
  return "components" in e && !!e.components;
90
90
  }
91
- function bn(e) {
91
+ function Cn(e) {
92
92
  return "state" in e && !!e.state;
93
93
  }
94
- function yt(e, t) {
94
+ function Rt(e, t) {
95
95
  return {
96
96
  ...t,
97
- path: wn(e.path, t.path),
98
- query: Pn(e.query, t.query),
99
- meta: gn(e.meta, t.meta),
100
- state: En(e.state, t.state),
101
- hash: dn(e.hash, t.hash),
97
+ path: xn(e.path, t.path),
98
+ query: kn(e.query, t.query),
99
+ meta: Pn(e.meta, t.meta),
100
+ state: An(e.state, t.state),
101
+ hash: Rn(e.hash, t.hash),
102
102
  matches: [...e.matches, t.matched],
103
103
  host: e.host,
104
104
  depth: e.depth + 1
105
105
  };
106
106
  }
107
- function vt() {
107
+ function wt() {
108
108
  return typeof window < "u" && typeof window.document < "u";
109
109
  }
110
- function An(e, t) {
111
- return ue({
110
+ function Pt(e) {
111
+ return typeof e == "object" && e !== null && "then" in e;
112
+ }
113
+ function Ln(e, t) {
114
+ return ie({
112
115
  name: "PropsWrapper",
113
116
  expose: [],
114
117
  setup() {
115
118
  const n = t();
116
- return "then" in n ? () => pe(xn(e, n)) : () => pe(e, n);
119
+ return () => n instanceof Error ? "" : Pt(n) ? ge(Bn(e, n)) : ge(e, n);
117
120
  }
118
121
  });
119
122
  }
120
- function xn(e, t) {
121
- return ue({
123
+ function Bn(e, t) {
124
+ return ie({
122
125
  name: "AsyncPropsWrapper",
123
126
  expose: [],
124
127
  setup() {
125
- const n = ft();
126
- return (async () => n.value = await t)(), () => n.value ? pe(e, n.value) : "";
128
+ const n = lt();
129
+ return (async () => n.value = await t)(), () => n.value instanceof Error ? "" : n.value ? ge(e, n.value) : "";
127
130
  }
128
131
  });
129
132
  }
130
- class Y extends Error {
133
+ class Z extends Error {
131
134
  }
132
- const T = "[", J = "]";
133
- function kn(e) {
135
+ const I = "[", G = "]";
136
+ function Nn(e) {
134
137
  return e !== String && e !== Boolean && e !== Number && e !== Date;
135
138
  }
136
- function Ln(e) {
137
- return typeof e == "function" && kn(e);
139
+ function Hn(e) {
140
+ return typeof e == "function" && Nn(e);
138
141
  }
139
- function be(e) {
142
+ function Ue(e) {
140
143
  return typeof e == "object" && "get" in e && typeof e.get == "function" && "set" in e && typeof e.set == "function";
141
144
  }
142
- function Bn(e) {
143
- return be(e) && e.defaultValue !== void 0;
145
+ function jn(e) {
146
+ return Ue(e) && e.defaultValue !== void 0;
144
147
  }
145
- function zr(e, t) {
146
- return Cn(e, t);
148
+ function eo(e, t) {
149
+ return qn(e, t);
147
150
  }
148
- function Un(e, t) {
151
+ function $n(e, t) {
149
152
  return e[t] ?? String;
150
153
  }
151
- const j = {
154
+ const q = {
152
155
  invalid: (e) => {
153
- throw new Y(e);
156
+ throw new Z(e);
154
157
  }
155
- }, Nn = {
158
+ }, Vn = {
156
159
  get: (e) => e,
157
160
  set: (e, { invalid: t }) => {
158
161
  if (typeof e != "string")
159
162
  throw t();
160
163
  return e;
161
164
  }
162
- }, wt = {
165
+ }, Et = {
163
166
  get: (e, { invalid: t }) => {
164
167
  if (e === "true")
165
168
  return !0;
@@ -172,7 +175,7 @@ const j = {
172
175
  throw t();
173
176
  return e.toString();
174
177
  }
175
- }, Pt = {
178
+ }, bt = {
176
179
  get: (e, { invalid: t }) => {
177
180
  const n = Number(e);
178
181
  if (isNaN(n))
@@ -184,7 +187,7 @@ const j = {
184
187
  throw t();
185
188
  return e.toString();
186
189
  }
187
- }, Et = {
190
+ }, St = {
188
191
  get: (e, { invalid: t }) => {
189
192
  const n = new Date(e);
190
193
  if (isNaN(n.getTime()))
@@ -196,7 +199,7 @@ const j = {
196
199
  throw t();
197
200
  return e.toISOString();
198
201
  }
199
- }, St = {
202
+ }, xt = {
200
203
  get: (e, { invalid: t }) => {
201
204
  try {
202
205
  return JSON.parse(e);
@@ -212,84 +215,84 @@ const j = {
212
215
  }
213
216
  }
214
217
  };
215
- function ae(e, t, n = !1) {
216
- if (e === void 0 || !le(e)) {
217
- if (Bn(t))
218
+ function se(e, t, n = !1) {
219
+ if (e === void 0 || !he(e)) {
220
+ if (jn(t))
218
221
  return t.defaultValue;
219
222
  if (n)
220
223
  return;
221
- throw new Y();
224
+ throw new Z();
222
225
  }
223
226
  if (t === String)
224
- return Nn.get(e, j);
227
+ return Vn.get(e, q);
225
228
  if (t === Boolean)
226
- return wt.get(e, j);
229
+ return Et.get(e, q);
227
230
  if (t === Number)
228
- return Pt.get(e, j);
231
+ return bt.get(e, q);
229
232
  if (t === Date)
230
- return Et.get(e, j);
233
+ return St.get(e, q);
231
234
  if (t === JSON)
232
- return St.get(e, j);
233
- if (Ln(t))
234
- return t(e, j);
235
- if (be(t))
236
- return t.get(e, j);
235
+ return xt.get(e, q);
236
+ if (Hn(t))
237
+ return t(e, q);
238
+ if (Ue(t))
239
+ return t.get(e, q);
237
240
  if (t instanceof RegExp) {
238
241
  if (t.test(e))
239
242
  return e;
240
- throw new Y();
243
+ throw new Z();
241
244
  }
242
245
  return e;
243
246
  }
244
- function se(e, t, n = !1) {
247
+ function ce(e, t, n = !1) {
245
248
  if (e === void 0) {
246
249
  if (n)
247
250
  return "";
248
- throw new Y();
251
+ throw new Z();
249
252
  }
250
253
  if (t === Boolean)
251
- return wt.set(e, j);
254
+ return Et.set(e, q);
252
255
  if (t === Number)
253
- return Pt.set(e, j);
256
+ return bt.set(e, q);
254
257
  if (t === Date)
255
- return Et.set(e, j);
258
+ return St.set(e, q);
256
259
  if (t === JSON)
257
- return St.set(e, j);
258
- if (be(t))
259
- return t.set(e, j);
260
+ return xt.set(e, q);
261
+ if (Ue(t))
262
+ return t.set(e, q);
260
263
  try {
261
264
  return e.toString();
262
265
  } catch {
263
- throw new Y();
266
+ throw new Z();
264
267
  }
265
268
  }
266
- function Cn(e, t) {
267
- return be(e) ? { ...e, defaultValue: t ?? e.defaultValue } : {
268
- get: (n) => ae(n, e),
269
- set: (n) => se(n, e),
269
+ function qn(e, t) {
270
+ return Ue(e) ? { ...e, defaultValue: t ?? e.defaultValue } : {
271
+ get: (n) => se(n, e),
272
+ set: (n) => ce(n, e),
270
273
  defaultValue: t
271
274
  };
272
275
  }
273
- function F() {
274
- return F = Object.assign ? Object.assign.bind() : function(e) {
276
+ function Q() {
277
+ return Q = Object.assign ? Object.assign.bind() : function(e) {
275
278
  for (var t = 1; t < arguments.length; t++) {
276
279
  var n = arguments[t];
277
280
  for (var r in n)
278
281
  Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
279
282
  }
280
283
  return e;
281
- }, F.apply(this, arguments);
284
+ }, Q.apply(this, arguments);
282
285
  }
283
- var C;
286
+ var H;
284
287
  (function(e) {
285
288
  e.Pop = "POP", e.Push = "PUSH", e.Replace = "REPLACE";
286
- })(C || (C = {}));
287
- var X = process.env.NODE_ENV !== "production" ? function(e) {
289
+ })(H || (H = {}));
290
+ var ee = process.env.NODE_ENV !== "production" ? function(e) {
288
291
  return Object.freeze(e);
289
292
  } : function(e) {
290
293
  return e;
291
294
  };
292
- function Q(e, t) {
295
+ function K(e, t) {
293
296
  if (!e) {
294
297
  typeof console < "u" && console.warn(t);
295
298
  try {
@@ -298,38 +301,38 @@ function Q(e, t) {
298
301
  }
299
302
  }
300
303
  }
301
- var ge = "beforeunload", Hn = "hashchange", bt = "popstate";
302
- function Ze(e) {
304
+ var Re = "beforeunload", On = "hashchange", kt = "popstate";
305
+ function et(e) {
303
306
  e === void 0 && (e = {});
304
307
  var t = e, n = t.window, r = n === void 0 ? document.defaultView : n, o = r.history;
305
308
  function a() {
306
- var g = r.location, l = g.pathname, m = g.search, E = g.hash, S = o.state || {};
307
- return [S.idx, X({
309
+ var m = r.location, l = m.pathname, d = m.search, b = m.hash, S = o.state || {};
310
+ return [S.idx, ee({
308
311
  pathname: l,
309
- search: m,
310
- hash: E,
312
+ search: d,
313
+ hash: b,
311
314
  state: S.usr || null,
312
315
  key: S.key || "default"
313
316
  })];
314
317
  }
315
318
  var s = null;
316
- function i() {
319
+ function u() {
317
320
  if (s)
318
321
  p.call(s), s = null;
319
322
  else {
320
- var g = C.Pop, l = a(), m = l[0], E = l[1];
323
+ var m = H.Pop, l = a(), d = l[0], b = l[1];
321
324
  if (p.length)
322
- if (m != null) {
323
- var S = u - m;
325
+ if (d != null) {
326
+ var S = f - d;
324
327
  S && (s = {
325
- action: g,
326
- location: E,
328
+ action: m,
329
+ location: b,
327
330
  retry: function() {
328
- b(S * -1);
331
+ A(S * -1);
329
332
  }
330
- }, b(S));
333
+ }, A(S));
331
334
  } else
332
- process.env.NODE_ENV !== "production" && Q(
335
+ process.env.NODE_ENV !== "production" && K(
333
336
  !1,
334
337
  // TODO: Write up a doc that explains our blocking strategy in
335
338
  // detail and link to it here so people can understand better what
@@ -337,137 +340,137 @@ function Ze(e) {
337
340
  "You are trying to block a POP navigation to a location that was not created by the history library. The block will fail silently in production, but in general you should do all navigation with the history library (instead of using window.history.pushState directly) to avoid this situation."
338
341
  );
339
342
  else
340
- B(g);
343
+ L(m);
341
344
  }
342
345
  }
343
- r.addEventListener(bt, i);
344
- var c = C.Pop, f = a(), u = f[0], h = f[1], P = Z(), p = Z();
345
- u == null && (u = 0, o.replaceState(F({}, o.state, {
346
- idx: u
346
+ r.addEventListener(kt, u);
347
+ var i = H.Pop, c = a(), f = c[0], h = c[1], P = te(), p = te();
348
+ f == null && (f = 0, o.replaceState(Q({}, o.state, {
349
+ idx: f
347
350
  }), ""));
348
- function A(g) {
349
- return typeof g == "string" ? g : G(g);
351
+ function k(m) {
352
+ return typeof m == "string" ? m : z(m);
350
353
  }
351
- function v(g, l) {
352
- return l === void 0 && (l = null), X(F({
354
+ function g(m, l) {
355
+ return l === void 0 && (l = null), ee(Q({
353
356
  pathname: h.pathname,
354
357
  hash: "",
355
358
  search: ""
356
- }, typeof g == "string" ? ce(g) : g, {
359
+ }, typeof m == "string" ? ue(m) : m, {
357
360
  state: l,
358
- key: ye()
361
+ key: Pe()
359
362
  }));
360
363
  }
361
- function R(g, l) {
364
+ function y(m, l) {
362
365
  return [{
363
- usr: g.state,
364
- key: g.key,
366
+ usr: m.state,
367
+ key: m.key,
365
368
  idx: l
366
- }, A(g)];
369
+ }, k(m)];
367
370
  }
368
- function x(g, l, m) {
371
+ function E(m, l, d) {
369
372
  return !p.length || (p.call({
370
- action: g,
373
+ action: m,
371
374
  location: l,
372
- retry: m
375
+ retry: d
373
376
  }), !1);
374
377
  }
375
- function B(g) {
376
- c = g;
378
+ function L(m) {
379
+ i = m;
377
380
  var l = a();
378
- u = l[0], h = l[1], P.call({
379
- action: c,
381
+ f = l[0], h = l[1], P.call({
382
+ action: i,
380
383
  location: h
381
384
  });
382
385
  }
383
- function d(g, l) {
384
- var m = C.Push, E = v(g, l);
386
+ function v(m, l) {
387
+ var d = H.Push, b = g(m, l);
385
388
  function S() {
386
- d(g, l);
389
+ v(m, l);
387
390
  }
388
- if (x(m, E, S)) {
389
- var L = R(E, u + 1), N = L[0], $ = L[1];
391
+ if (E(d, b, S)) {
392
+ var U = y(b, f + 1), B = U[0], j = U[1];
390
393
  try {
391
- o.pushState(N, "", $);
394
+ o.pushState(B, "", j);
392
395
  } catch {
393
- r.location.assign($);
396
+ r.location.assign(j);
394
397
  }
395
- B(m);
398
+ L(d);
396
399
  }
397
400
  }
398
- function y(g, l) {
399
- var m = C.Replace, E = v(g, l);
401
+ function w(m, l) {
402
+ var d = H.Replace, b = g(m, l);
400
403
  function S() {
401
- y(g, l);
404
+ w(m, l);
402
405
  }
403
- if (x(m, E, S)) {
404
- var L = R(E, u), N = L[0], $ = L[1];
405
- o.replaceState(N, "", $), B(m);
406
+ if (E(d, b, S)) {
407
+ var U = y(b, f), B = U[0], j = U[1];
408
+ o.replaceState(B, "", j), L(d);
406
409
  }
407
410
  }
408
- function b(g) {
409
- o.go(g);
411
+ function A(m) {
412
+ o.go(m);
410
413
  }
411
- var k = {
414
+ var x = {
412
415
  get action() {
413
- return c;
416
+ return i;
414
417
  },
415
418
  get location() {
416
419
  return h;
417
420
  },
418
- createHref: A,
419
- push: d,
420
- replace: y,
421
- go: b,
421
+ createHref: k,
422
+ push: v,
423
+ replace: w,
424
+ go: A,
422
425
  back: function() {
423
- b(-1);
426
+ A(-1);
424
427
  },
425
428
  forward: function() {
426
- b(1);
429
+ A(1);
427
430
  },
428
431
  listen: function(l) {
429
432
  return P.push(l);
430
433
  },
431
434
  block: function(l) {
432
- var m = p.push(l);
433
- return p.length === 1 && r.addEventListener(ge, Re), function() {
434
- m(), p.length || r.removeEventListener(ge, Re);
435
+ var d = p.push(l);
436
+ return p.length === 1 && r.addEventListener(Re, we), function() {
437
+ d(), p.length || r.removeEventListener(Re, we);
435
438
  };
436
439
  }
437
440
  };
438
- return k;
441
+ return x;
439
442
  }
440
- function $n(e) {
443
+ function _n(e) {
441
444
  e === void 0 && (e = {});
442
445
  var t = e, n = t.window, r = n === void 0 ? document.defaultView : n, o = r.history;
443
446
  function a() {
444
- var l = ce(r.location.hash.substr(1)), m = l.pathname, E = m === void 0 ? "/" : m, S = l.search, L = S === void 0 ? "" : S, N = l.hash, $ = N === void 0 ? "" : N, H = o.state || {};
445
- return [H.idx, X({
446
- pathname: E,
447
- search: L,
448
- hash: $,
449
- state: H.usr || null,
450
- key: H.key || "default"
447
+ var l = ue(r.location.hash.substr(1)), d = l.pathname, b = d === void 0 ? "/" : d, S = l.search, U = S === void 0 ? "" : S, B = l.hash, j = B === void 0 ? "" : B, O = o.state || {};
448
+ return [O.idx, ee({
449
+ pathname: b,
450
+ search: U,
451
+ hash: j,
452
+ state: O.usr || null,
453
+ key: O.key || "default"
451
454
  })];
452
455
  }
453
456
  var s = null;
454
- function i() {
457
+ function u() {
455
458
  if (s)
456
459
  p.call(s), s = null;
457
460
  else {
458
- var l = C.Pop, m = a(), E = m[0], S = m[1];
461
+ var l = H.Pop, d = a(), b = d[0], S = d[1];
459
462
  if (p.length)
460
- if (E != null) {
461
- var L = u - E;
462
- L && (s = {
463
+ if (b != null) {
464
+ var U = f - b;
465
+ U && (s = {
463
466
  action: l,
464
467
  location: S,
465
468
  retry: function() {
466
- k(L * -1);
469
+ x(U * -1);
467
470
  }
468
- }, k(L));
471
+ }, x(U));
469
472
  } else
470
- process.env.NODE_ENV !== "production" && Q(
473
+ process.env.NODE_ENV !== "production" && K(
471
474
  !1,
472
475
  // TODO: Write up a doc that explains our blocking strategy in
473
476
  // detail and link to it here so people can understand better
@@ -475,212 +478,212 @@ function $n(e) {
475
478
  "You are trying to block a POP navigation to a location that was not created by the history library. The block will fail silently in production, but in general you should do all navigation with the history library (instead of using window.history.pushState directly) to avoid this situation."
476
479
  );
477
480
  else
478
- d(l);
481
+ v(l);
479
482
  }
480
483
  }
481
- r.addEventListener(bt, i), r.addEventListener(Hn, function() {
482
- var l = a(), m = l[1];
483
- G(m) !== G(h) && i();
484
+ r.addEventListener(kt, u), r.addEventListener(On, function() {
485
+ var l = a(), d = l[1];
486
+ z(d) !== z(h) && u();
484
487
  });
485
- var c = C.Pop, f = a(), u = f[0], h = f[1], P = Z(), p = Z();
486
- u == null && (u = 0, o.replaceState(F({}, o.state, {
487
- idx: u
488
+ var i = H.Pop, c = a(), f = c[0], h = c[1], P = te(), p = te();
489
+ f == null && (f = 0, o.replaceState(Q({}, o.state, {
490
+ idx: f
488
491
  }), ""));
489
- function A() {
490
- var l = document.querySelector("base"), m = "";
492
+ function k() {
493
+ var l = document.querySelector("base"), d = "";
491
494
  if (l && l.getAttribute("href")) {
492
- var E = r.location.href, S = E.indexOf("#");
493
- m = S === -1 ? E : E.slice(0, S);
495
+ var b = r.location.href, S = b.indexOf("#");
496
+ d = S === -1 ? b : b.slice(0, S);
494
497
  }
495
- return m;
498
+ return d;
496
499
  }
497
- function v(l) {
498
- return A() + "#" + (typeof l == "string" ? l : G(l));
500
+ function g(l) {
501
+ return k() + "#" + (typeof l == "string" ? l : z(l));
499
502
  }
500
- function R(l, m) {
501
- return m === void 0 && (m = null), X(F({
503
+ function y(l, d) {
504
+ return d === void 0 && (d = null), ee(Q({
502
505
  pathname: h.pathname,
503
506
  hash: "",
504
507
  search: ""
505
- }, typeof l == "string" ? ce(l) : l, {
506
- state: m,
507
- key: ye()
508
+ }, typeof l == "string" ? ue(l) : l, {
509
+ state: d,
510
+ key: Pe()
508
511
  }));
509
512
  }
510
- function x(l, m) {
513
+ function E(l, d) {
511
514
  return [{
512
515
  usr: l.state,
513
516
  key: l.key,
514
- idx: m
515
- }, v(l)];
517
+ idx: d
518
+ }, g(l)];
516
519
  }
517
- function B(l, m, E) {
520
+ function L(l, d, b) {
518
521
  return !p.length || (p.call({
519
522
  action: l,
520
- location: m,
521
- retry: E
523
+ location: d,
524
+ retry: b
522
525
  }), !1);
523
526
  }
524
- function d(l) {
525
- c = l;
526
- var m = a();
527
- u = m[0], h = m[1], P.call({
528
- action: c,
527
+ function v(l) {
528
+ i = l;
529
+ var d = a();
530
+ f = d[0], h = d[1], P.call({
531
+ action: i,
529
532
  location: h
530
533
  });
531
534
  }
532
- function y(l, m) {
533
- var E = C.Push, S = R(l, m);
534
- function L() {
535
- y(l, m);
535
+ function w(l, d) {
536
+ var b = H.Push, S = y(l, d);
537
+ function U() {
538
+ w(l, d);
536
539
  }
537
- if (process.env.NODE_ENV !== "production" && Q(S.pathname.charAt(0) === "/", "Relative pathnames are not supported in hash history.push(" + JSON.stringify(l) + ")"), B(E, S, L)) {
538
- var N = x(S, u + 1), $ = N[0], H = N[1];
540
+ if (process.env.NODE_ENV !== "production" && K(S.pathname.charAt(0) === "/", "Relative pathnames are not supported in hash history.push(" + JSON.stringify(l) + ")"), L(b, S, U)) {
541
+ var B = E(S, f + 1), j = B[0], O = B[1];
539
542
  try {
540
- o.pushState($, "", H);
543
+ o.pushState(j, "", O);
541
544
  } catch {
542
- r.location.assign(H);
545
+ r.location.assign(O);
543
546
  }
544
- d(E);
547
+ v(b);
545
548
  }
546
549
  }
547
- function b(l, m) {
548
- var E = C.Replace, S = R(l, m);
549
- function L() {
550
- b(l, m);
550
+ function A(l, d) {
551
+ var b = H.Replace, S = y(l, d);
552
+ function U() {
553
+ A(l, d);
551
554
  }
552
- if (process.env.NODE_ENV !== "production" && Q(S.pathname.charAt(0) === "/", "Relative pathnames are not supported in hash history.replace(" + JSON.stringify(l) + ")"), B(E, S, L)) {
553
- var N = x(S, u), $ = N[0], H = N[1];
554
- o.replaceState($, "", H), d(E);
555
+ if (process.env.NODE_ENV !== "production" && K(S.pathname.charAt(0) === "/", "Relative pathnames are not supported in hash history.replace(" + JSON.stringify(l) + ")"), L(b, S, U)) {
556
+ var B = E(S, f), j = B[0], O = B[1];
557
+ o.replaceState(j, "", O), v(b);
555
558
  }
556
559
  }
557
- function k(l) {
560
+ function x(l) {
558
561
  o.go(l);
559
562
  }
560
- var g = {
563
+ var m = {
561
564
  get action() {
562
- return c;
565
+ return i;
563
566
  },
564
567
  get location() {
565
568
  return h;
566
569
  },
567
- createHref: v,
568
- push: y,
569
- replace: b,
570
- go: k,
570
+ createHref: g,
571
+ push: w,
572
+ replace: A,
573
+ go: x,
571
574
  back: function() {
572
- k(-1);
575
+ x(-1);
573
576
  },
574
577
  forward: function() {
575
- k(1);
578
+ x(1);
576
579
  },
577
- listen: function(m) {
578
- return P.push(m);
580
+ listen: function(d) {
581
+ return P.push(d);
579
582
  },
580
- block: function(m) {
581
- var E = p.push(m);
582
- return p.length === 1 && r.addEventListener(ge, Re), function() {
583
- E(), p.length || r.removeEventListener(ge, Re);
583
+ block: function(d) {
584
+ var b = p.push(d);
585
+ return p.length === 1 && r.addEventListener(Re, we), function() {
586
+ b(), p.length || r.removeEventListener(Re, we);
584
587
  };
585
588
  }
586
589
  };
587
- return g;
590
+ return m;
588
591
  }
589
- function et(e) {
592
+ function tt(e) {
590
593
  e === void 0 && (e = {});
591
- var t = e, n = t.initialEntries, r = n === void 0 ? ["/"] : n, o = t.initialIndex, a = r.map(function(d) {
592
- var y = X(F({
594
+ var t = e, n = t.initialEntries, r = n === void 0 ? ["/"] : n, o = t.initialIndex, a = r.map(function(v) {
595
+ var w = ee(Q({
593
596
  pathname: "/",
594
597
  search: "",
595
598
  hash: "",
596
599
  state: null,
597
- key: ye()
598
- }, typeof d == "string" ? ce(d) : d));
599
- return process.env.NODE_ENV !== "production" && Q(y.pathname.charAt(0) === "/", "Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: " + JSON.stringify(d) + ")"), y;
600
- }), s = tt(o ?? a.length - 1, 0, a.length - 1), i = C.Pop, c = a[s], f = Z(), u = Z();
601
- function h(d) {
602
- return typeof d == "string" ? d : G(d);
603
- }
604
- function P(d, y) {
605
- return y === void 0 && (y = null), X(F({
606
- pathname: c.pathname,
600
+ key: Pe()
601
+ }, typeof v == "string" ? ue(v) : v));
602
+ return process.env.NODE_ENV !== "production" && K(w.pathname.charAt(0) === "/", "Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: " + JSON.stringify(v) + ")"), w;
603
+ }), s = nt(o ?? a.length - 1, 0, a.length - 1), u = H.Pop, i = a[s], c = te(), f = te();
604
+ function h(v) {
605
+ return typeof v == "string" ? v : z(v);
606
+ }
607
+ function P(v, w) {
608
+ return w === void 0 && (w = null), ee(Q({
609
+ pathname: i.pathname,
607
610
  search: "",
608
611
  hash: ""
609
- }, typeof d == "string" ? ce(d) : d, {
610
- state: y,
611
- key: ye()
612
+ }, typeof v == "string" ? ue(v) : v, {
613
+ state: w,
614
+ key: Pe()
612
615
  }));
613
616
  }
614
- function p(d, y, b) {
615
- return !u.length || (u.call({
616
- action: d,
617
- location: y,
618
- retry: b
617
+ function p(v, w, A) {
618
+ return !f.length || (f.call({
619
+ action: v,
620
+ location: w,
621
+ retry: A
619
622
  }), !1);
620
623
  }
621
- function A(d, y) {
622
- i = d, c = y, f.call({
623
- action: i,
624
- location: c
624
+ function k(v, w) {
625
+ u = v, i = w, c.call({
626
+ action: u,
627
+ location: i
625
628
  });
626
629
  }
627
- function v(d, y) {
628
- var b = C.Push, k = P(d, y);
629
- function g() {
630
- v(d, y);
630
+ function g(v, w) {
631
+ var A = H.Push, x = P(v, w);
632
+ function m() {
633
+ g(v, w);
631
634
  }
632
- process.env.NODE_ENV !== "production" && Q(c.pathname.charAt(0) === "/", "Relative pathnames are not supported in memory history.push(" + JSON.stringify(d) + ")"), p(b, k, g) && (s += 1, a.splice(s, a.length, k), A(b, k));
635
+ process.env.NODE_ENV !== "production" && K(i.pathname.charAt(0) === "/", "Relative pathnames are not supported in memory history.push(" + JSON.stringify(v) + ")"), p(A, x, m) && (s += 1, a.splice(s, a.length, x), k(A, x));
633
636
  }
634
- function R(d, y) {
635
- var b = C.Replace, k = P(d, y);
636
- function g() {
637
- R(d, y);
637
+ function y(v, w) {
638
+ var A = H.Replace, x = P(v, w);
639
+ function m() {
640
+ y(v, w);
638
641
  }
639
- process.env.NODE_ENV !== "production" && Q(c.pathname.charAt(0) === "/", "Relative pathnames are not supported in memory history.replace(" + JSON.stringify(d) + ")"), p(b, k, g) && (a[s] = k, A(b, k));
642
+ process.env.NODE_ENV !== "production" && K(i.pathname.charAt(0) === "/", "Relative pathnames are not supported in memory history.replace(" + JSON.stringify(v) + ")"), p(A, x, m) && (a[s] = x, k(A, x));
640
643
  }
641
- function x(d) {
642
- var y = tt(s + d, 0, a.length - 1), b = C.Pop, k = a[y];
643
- function g() {
644
- x(d);
644
+ function E(v) {
645
+ var w = nt(s + v, 0, a.length - 1), A = H.Pop, x = a[w];
646
+ function m() {
647
+ E(v);
645
648
  }
646
- p(b, k, g) && (s = y, A(b, k));
649
+ p(A, x, m) && (s = w, k(A, x));
647
650
  }
648
- var B = {
651
+ var L = {
649
652
  get index() {
650
653
  return s;
651
654
  },
652
655
  get action() {
653
- return i;
656
+ return u;
654
657
  },
655
658
  get location() {
656
- return c;
659
+ return i;
657
660
  },
658
661
  createHref: h,
659
- push: v,
660
- replace: R,
661
- go: x,
662
+ push: g,
663
+ replace: y,
664
+ go: E,
662
665
  back: function() {
663
- x(-1);
666
+ E(-1);
664
667
  },
665
668
  forward: function() {
666
- x(1);
669
+ E(1);
667
670
  },
668
- listen: function(y) {
669
- return f.push(y);
671
+ listen: function(w) {
672
+ return c.push(w);
670
673
  },
671
- block: function(y) {
672
- return u.push(y);
674
+ block: function(w) {
675
+ return f.push(w);
673
676
  }
674
677
  };
675
- return B;
678
+ return L;
676
679
  }
677
- function tt(e, t, n) {
680
+ function nt(e, t, n) {
678
681
  return Math.min(Math.max(e, t), n);
679
682
  }
680
- function Re(e) {
683
+ function we(e) {
681
684
  e.preventDefault(), e.returnValue = "";
682
685
  }
683
- function Z() {
686
+ function te() {
684
687
  var e = [];
685
688
  return {
686
689
  get length() {
@@ -700,14 +703,14 @@ function Z() {
700
703
  }
701
704
  };
702
705
  }
703
- function ye() {
706
+ function Pe() {
704
707
  return Math.random().toString(36).substr(2, 8);
705
708
  }
706
- function G(e) {
709
+ function z(e) {
707
710
  var t = e.pathname, n = t === void 0 ? "/" : t, r = e.search, o = r === void 0 ? "" : r, a = e.hash, s = a === void 0 ? "" : a;
708
711
  return o && o !== "?" && (n += o.charAt(0) === "?" ? o : "?" + o), s && s !== "#" && (n += s.charAt(0) === "#" ? s : "#" + s), n;
709
712
  }
710
- function ce(e) {
713
+ function ue(e) {
711
714
  var t = {};
712
715
  if (e) {
713
716
  var n = e.indexOf("#");
@@ -717,7 +720,7 @@ function ce(e) {
717
720
  }
718
721
  return t;
719
722
  }
720
- class jn extends Error {
723
+ class Dn extends Error {
721
724
  /**
722
725
  * Constructs a new UseRouteInvalidError instance with a message that specifies both the given and expected route names.
723
726
  * This detailed error message aids in quickly identifying and resolving mismatches in route usage.
@@ -729,105 +732,121 @@ class jn extends Error {
729
732
  }
730
733
  }
731
734
  const At = Symbol();
732
- function Vn() {
733
- const e = ie(At);
735
+ function Wn() {
736
+ const e = fe(At);
734
737
  if (!e)
735
- throw new Se();
738
+ throw new Ae();
736
739
  return e;
737
740
  }
738
- const xt = Symbol();
741
+ const Ut = Symbol();
739
742
  function Oe() {
740
- const e = ie(xt);
743
+ const e = fe(Ut);
741
744
  if (!e)
742
- throw new Se();
745
+ throw new Ae();
743
746
  return e;
744
747
  }
745
- const kt = Symbol("isRouterRouteSymbol");
746
- function qn(e) {
747
- return typeof e == "object" && e !== null && kt in e;
748
+ const Ct = Symbol("isRouterRouteSymbol");
749
+ function Mn(e) {
750
+ return typeof e == "object" && e !== null && Ct in e;
748
751
  }
749
- function On(e, t) {
750
- function n(v, R, x) {
751
- if (typeof v == "object") {
752
- const d = {
752
+ function In(e, t) {
753
+ function n(g, y, E) {
754
+ if (typeof g == "object") {
755
+ const v = {
753
756
  ...e.params,
754
- ...v
757
+ ...g
755
758
  };
756
- return t(e.name, d, R);
759
+ return t(e.name, v, y);
757
760
  }
758
- const B = {
761
+ const L = {
759
762
  ...e.params,
760
- [v]: R
763
+ [g]: y
761
764
  };
762
- return t(e.name, B, x);
763
- }
764
- const r = (...v) => {
765
- const R = new URLSearchParams(e.query.toString());
766
- R.set(...v), n({}, { query: R });
767
- }, o = (...v) => {
768
- const R = new URLSearchParams(e.query.toString());
769
- R.append(...v), n({}, { query: R });
770
- }, a = (...v) => {
771
- const R = new URLSearchParams(e.query.toString());
772
- R.delete(...v), n({}, { query: R });
773
- }, { id: s, matched: i, matches: c, name: f, query: u, params: h, state: P, hash: p } = en(e), A = je({
765
+ return t(e.name, L, E);
766
+ }
767
+ const r = (...g) => {
768
+ const y = new URLSearchParams(e.query.toString());
769
+ y.set(...g), n({}, { query: y });
770
+ }, o = (...g) => {
771
+ const y = new URLSearchParams(e.query.toString());
772
+ y.append(...g), n({}, { query: y });
773
+ }, a = (...g) => {
774
+ const y = new URLSearchParams(e.query.toString());
775
+ y.delete(...g), n({}, { query: y });
776
+ }, { id: s, matched: u, matches: i, name: c, hash: f } = an(e), h = N({
777
+ get() {
778
+ return new Proxy(e.params, {
779
+ set(g, y, E) {
780
+ return n(y, E), !0;
781
+ }
782
+ });
783
+ },
784
+ set(g) {
785
+ n(g);
786
+ }
787
+ }), P = N({
788
+ get() {
789
+ return new Proxy(e.query, {
790
+ get(g, y, E) {
791
+ switch (y) {
792
+ case "append":
793
+ return o;
794
+ case "set":
795
+ return r;
796
+ case "delete":
797
+ return a;
798
+ default:
799
+ return Reflect.get(g, y, E);
800
+ }
801
+ }
802
+ });
803
+ },
804
+ set(g) {
805
+ n({}, { query: g });
806
+ }
807
+ }), p = N({
808
+ get() {
809
+ return new Proxy(e.state, {
810
+ set(g, y, E) {
811
+ return n({}, { state: { ...e.state, [y]: E } }), !0;
812
+ }
813
+ });
814
+ },
815
+ set(g) {
816
+ n({}, { state: g });
817
+ }
818
+ });
819
+ return $e({
774
820
  id: s,
775
- matched: i,
776
- matches: c,
777
- state: P,
778
- query: u,
779
- hash: p,
821
+ matched: u,
822
+ matches: i,
823
+ state: p,
824
+ query: P,
825
+ hash: f,
780
826
  params: h,
781
- name: f,
827
+ name: c,
782
828
  update: n,
783
- [kt]: !0
784
- });
785
- return new Proxy(A, {
786
- get: (v, R, x) => R === "params" ? new Proxy(e.params, {
787
- set(B, d, y) {
788
- return n(d, y), !0;
789
- }
790
- }) : R === "state" ? new Proxy(e.state, {
791
- set(B, d, y) {
792
- return n({}, { state: { ...e.state, [d]: y } }), !0;
793
- }
794
- }) : R === "query" ? new Proxy(e.query, {
795
- get(B, d, y) {
796
- switch (d) {
797
- case "append":
798
- return o;
799
- case "set":
800
- return r;
801
- case "delete":
802
- return a;
803
- default:
804
- return Reflect.get(B, d, y);
805
- }
806
- }
807
- }) : Reflect.get(v, R, x),
808
- set(v, R, x, B) {
809
- return R === "query" ? (n({}, { query: x }), !0) : Reflect.set(v, R, x, B);
810
- }
829
+ [Ct]: !0
811
830
  });
812
831
  }
813
832
  const Lt = Symbol();
814
- function _n(e, t) {
815
- const n = je({ ...e }), r = (s) => {
833
+ function Tn(e, t) {
834
+ const n = $e({ ...e }), r = (s) => {
816
835
  Object.assign(n, {
817
836
  [Lt]: !1,
818
837
  ...s
819
838
  });
820
- }, o = n, a = On(o, t);
839
+ }, o = n, a = In(o, t);
821
840
  return {
822
841
  currentRoute: o,
823
842
  routerRoute: a,
824
843
  updateRoute: r
825
844
  };
826
845
  }
827
- function D(e) {
828
- return !e.startsWith("http") ? Wn(e) : Dn(e);
846
+ function W(e) {
847
+ return !e.startsWith("http") ? Jn(e) : Fn(e);
829
848
  }
830
- function Dn(e) {
849
+ function Fn(e) {
831
850
  const { protocol: t, host: n, pathname: r, search: o, searchParams: a, hash: s } = new URL(e, e);
832
851
  return {
833
852
  protocol: t,
@@ -838,7 +857,7 @@ function Dn(e) {
838
857
  hash: s
839
858
  };
840
859
  }
841
- function Wn(e) {
860
+ function Jn(e) {
842
861
  const { pathname: t, search: n, searchParams: r, hash: o } = new URL(e, "https://localhost");
843
862
  return {
844
863
  pathname: t,
@@ -847,22 +866,22 @@ function Wn(e) {
847
866
  hash: o
848
867
  };
849
868
  }
850
- function Mn(e) {
869
+ function Qn(e) {
851
870
  return (t) => {
852
- const { host: n } = D(t);
871
+ const { host: n } = W(t);
853
872
  return !(n === void 0 || n === e);
854
873
  };
855
874
  }
856
- function Tn({ mode: e, listener: t }) {
857
- const n = In(e), r = (c, f) => {
858
- if (f != null && f.replace) {
859
- n.replace(c, f.state);
875
+ function Gn({ mode: e, listener: t }) {
876
+ const n = Kn(e), r = (i, c) => {
877
+ if (c != null && c.replace) {
878
+ n.replace(i, c.state);
860
879
  return;
861
880
  }
862
- n.push(c, f == null ? void 0 : f.state);
881
+ n.push(i, c == null ? void 0 : c.state);
863
882
  }, o = () => {
864
- const c = G(n.location);
865
- n.replace(c);
883
+ const i = z(n.location);
884
+ n.replace(i);
866
885
  };
867
886
  let a;
868
887
  return {
@@ -877,98 +896,106 @@ function Tn({ mode: e, listener: t }) {
877
896
  }
878
897
  };
879
898
  }
880
- function In(e = "auto") {
899
+ function Kn(e = "auto") {
881
900
  switch (e) {
882
901
  case "auto":
883
- return vt() ? Ze() : et();
902
+ return wt() ? et() : tt();
884
903
  case "browser":
885
- return Ze();
886
- case "memory":
887
904
  return et();
905
+ case "memory":
906
+ return tt();
888
907
  case "hash":
889
- return $n();
908
+ return _n();
890
909
  default:
891
910
  const t = e;
892
911
  throw new Error(`Switch is not exhaustive for mode: ${t}`);
893
912
  }
894
913
  }
895
- class ve {
914
+ class Ee {
896
915
  constructor() {
897
- M(this, "onBeforeRouteEnter", /* @__PURE__ */ new Set());
898
- M(this, "onBeforeRouteUpdate", /* @__PURE__ */ new Set());
899
- M(this, "onBeforeRouteLeave", /* @__PURE__ */ new Set());
900
- M(this, "onAfterRouteEnter", /* @__PURE__ */ new Set());
901
- M(this, "onAfterRouteUpdate", /* @__PURE__ */ new Set());
902
- M(this, "onAfterRouteLeave", /* @__PURE__ */ new Set());
916
+ _(this, "onBeforeRouteEnter", /* @__PURE__ */ new Set());
917
+ _(this, "onBeforeRouteUpdate", /* @__PURE__ */ new Set());
918
+ _(this, "onBeforeRouteLeave", /* @__PURE__ */ new Set());
919
+ _(this, "onAfterRouteEnter", /* @__PURE__ */ new Set());
920
+ _(this, "onAfterRouteUpdate", /* @__PURE__ */ new Set());
921
+ _(this, "onAfterRouteLeave", /* @__PURE__ */ new Set());
903
922
  }
904
923
  }
905
- class nt extends Error {
924
+ class Bt extends Error {
925
+ constructor() {
926
+ super("Uncaught CallbackContextAbortError");
927
+ _(this, "response");
928
+ this.response = { status: "ABORT" };
929
+ }
906
930
  }
907
- class re extends Error {
931
+ class X extends Error {
908
932
  constructor(n) {
909
- super("Error occurred during a router push operation.");
910
- M(this, "to");
911
- this.to = n;
933
+ super("Uncaught CallbackContextPushError");
934
+ _(this, "response");
935
+ this.response = { status: "PUSH", to: n };
912
936
  }
913
937
  }
914
- class Be extends Error {
938
+ class be extends Error {
915
939
  constructor(n) {
916
- super(`Routing action rejected: ${n}`);
917
- M(this, "type");
918
- this.type = n;
940
+ super("Uncaught CallbackContextRejectionError");
941
+ _(this, "response");
942
+ this.response = { status: "REJECT", type: n };
919
943
  }
920
944
  }
921
- function Fn(e, t) {
922
- const n = new ve();
945
+ function zn(e, t) {
946
+ const n = new Ee();
923
947
  return e.matches.forEach((r, o) => {
924
- r.onBeforeRouteEnter && _e(e, t, o) && z(r.onBeforeRouteEnter).forEach((a) => n.onBeforeRouteEnter.add(a)), r.onBeforeRouteUpdate && We(e, t, o) && z(r.onBeforeRouteUpdate).forEach((a) => n.onBeforeRouteUpdate.add(a));
948
+ r.onBeforeRouteEnter && _e(e, t, o) && Y(r.onBeforeRouteEnter).forEach((a) => n.onBeforeRouteEnter.add(a)), r.onBeforeRouteUpdate && We(e, t, o) && Y(r.onBeforeRouteUpdate).forEach((a) => n.onBeforeRouteUpdate.add(a));
925
949
  }), t.matches.forEach((r, o) => {
926
- r.onBeforeRouteLeave && De(e, t, o) && z(r.onBeforeRouteLeave).forEach((a) => n.onBeforeRouteLeave.add(a));
950
+ r.onBeforeRouteLeave && De(e, t, o) && Y(r.onBeforeRouteLeave).forEach((a) => n.onBeforeRouteLeave.add(a));
927
951
  }), n;
928
952
  }
929
- function Jn(e, t) {
930
- const n = new ve();
953
+ function Yn(e, t) {
954
+ const n = new Ee();
931
955
  return e.matches.forEach((r, o) => {
932
- r.onAfterRouteEnter && _e(e, t, o) && z(r.onAfterRouteEnter).forEach((a) => n.onAfterRouteEnter.add(a)), r.onAfterRouteUpdate && We(e, t, o) && z(r.onAfterRouteUpdate).forEach((a) => n.onAfterRouteUpdate.add(a));
956
+ r.onAfterRouteEnter && _e(e, t, o) && Y(r.onAfterRouteEnter).forEach((a) => n.onAfterRouteEnter.add(a)), r.onAfterRouteUpdate && We(e, t, o) && Y(r.onAfterRouteUpdate).forEach((a) => n.onAfterRouteUpdate.add(a));
933
957
  }), t.matches.forEach((r, o) => {
934
- r.onAfterRouteLeave && De(e, t, o) && z(r.onAfterRouteLeave).forEach((a) => n.onAfterRouteLeave.add(a));
958
+ r.onAfterRouteLeave && De(e, t, o) && Y(r.onAfterRouteLeave).forEach((a) => n.onAfterRouteLeave.add(a));
935
959
  }), n;
936
960
  }
937
- function _(e) {
961
+ function D(e) {
938
962
  return typeof e != "string" ? !1 : /^(https?:\/\/|\/).*/g.test(e);
939
963
  }
940
- function Qn(e) {
941
- return _(e) ? e : `/${e}`;
942
- }
943
- function Gn() {
944
- const e = (s) => {
945
- throw new Be(s);
946
- }, t = (...s) => {
947
- throw new re(s);
948
- }, n = (s, i, c) => {
949
- if (_(s)) {
950
- const h = i ?? {};
951
- throw new re([s, { ...h, replace: !0 }]);
964
+ function Xn(e) {
965
+ return D(e) ? e : `/${e}`;
966
+ }
967
+ function Nt() {
968
+ return { reject: (o) => {
969
+ throw new be(o);
970
+ }, push: (...o) => {
971
+ throw new X(o);
972
+ }, replace: (o, a, s) => {
973
+ if (D(o)) {
974
+ const c = a ?? {};
975
+ throw new X([o, { ...c, replace: !0 }]);
952
976
  }
953
- const f = i, u = c ?? {};
954
- throw new re([s, f, { ...u, replace: !0 }]);
955
- }, r = () => {
956
- throw new nt();
957
- };
958
- async function o({ to: s, from: i, hooks: c }) {
959
- const { global: f, component: u } = c, h = Fn(s, i), P = [
960
- ...f.onBeforeRouteEnter,
977
+ const u = a, i = s ?? {};
978
+ throw new X([o, u, { ...i, replace: !0 }]);
979
+ }, abort: () => {
980
+ throw new Bt();
981
+ } };
982
+ }
983
+ function Zn() {
984
+ const { reject: e, push: t, replace: n, abort: r } = Nt();
985
+ async function o({ to: s, from: u, hooks: i }) {
986
+ const { global: c, component: f } = i, h = zn(s, u), P = [
987
+ ...c.onBeforeRouteEnter,
961
988
  ...h.onBeforeRouteEnter,
962
- ...f.onBeforeRouteUpdate,
989
+ ...c.onBeforeRouteUpdate,
963
990
  ...h.onBeforeRouteUpdate,
964
- ...u.onBeforeRouteUpdate,
965
- ...f.onBeforeRouteLeave,
991
+ ...f.onBeforeRouteUpdate,
992
+ ...c.onBeforeRouteLeave,
966
993
  ...h.onBeforeRouteLeave,
967
- ...u.onBeforeRouteLeave
994
+ ...f.onBeforeRouteLeave
968
995
  ];
969
996
  try {
970
- const p = P.map((A) => A(s, {
971
- from: i,
997
+ const p = P.map((k) => k(s, {
998
+ from: u,
972
999
  reject: e,
973
1000
  push: t,
974
1001
  replace: n,
@@ -976,57 +1003,37 @@ function Gn() {
976
1003
  }));
977
1004
  await Promise.all(p);
978
1005
  } catch (p) {
979
- if (p instanceof re)
980
- return {
981
- status: "PUSH",
982
- to: p.to
983
- };
984
- if (p instanceof Be)
985
- return {
986
- status: "REJECT",
987
- type: p.type
988
- };
989
- if (p instanceof nt)
990
- return {
991
- status: "ABORT"
992
- };
1006
+ if (p instanceof X || p instanceof be || p instanceof Bt)
1007
+ return p.response;
993
1008
  throw p;
994
1009
  }
995
1010
  return {
996
1011
  status: "SUCCESS"
997
1012
  };
998
1013
  }
999
- async function a({ to: s, from: i, hooks: c }) {
1000
- const { global: f, component: u } = c, h = Jn(s, i), P = [
1001
- ...u.onAfterRouteLeave,
1002
- ...h.onAfterRouteLeave,
1014
+ async function a({ to: s, from: u, hooks: i }) {
1015
+ const { global: c, component: f } = i, h = Yn(s, u), P = [
1003
1016
  ...f.onAfterRouteLeave,
1004
- ...u.onAfterRouteUpdate,
1005
- ...h.onAfterRouteUpdate,
1017
+ ...h.onAfterRouteLeave,
1018
+ ...c.onAfterRouteLeave,
1006
1019
  ...f.onAfterRouteUpdate,
1007
- ...u.onAfterRouteEnter,
1020
+ ...h.onAfterRouteUpdate,
1021
+ ...c.onAfterRouteUpdate,
1022
+ ...f.onAfterRouteEnter,
1008
1023
  ...h.onAfterRouteEnter,
1009
- ...f.onAfterRouteEnter
1024
+ ...c.onAfterRouteEnter
1010
1025
  ];
1011
1026
  try {
1012
- const p = P.map((A) => A(s, {
1013
- from: i,
1027
+ const p = P.map((k) => k(s, {
1028
+ from: u,
1014
1029
  reject: e,
1015
1030
  push: t,
1016
1031
  replace: n
1017
1032
  }));
1018
1033
  await Promise.all(p);
1019
1034
  } catch (p) {
1020
- if (p instanceof re)
1021
- return {
1022
- status: "PUSH",
1023
- to: p.to
1024
- };
1025
- if (p instanceof Be)
1026
- return {
1027
- status: "REJECT",
1028
- type: p.type
1029
- };
1035
+ if (p instanceof X || p instanceof be)
1036
+ return p.response;
1030
1037
  throw p;
1031
1038
  }
1032
1039
  return {
@@ -1039,12 +1046,17 @@ function Gn() {
1039
1046
  };
1040
1047
  }
1041
1048
  const _e = (e, t, n) => {
1049
+ var a;
1042
1050
  const r = e.matches, o = (t == null ? void 0 : t.matches) ?? [];
1043
- return r.length < n || r[n] !== o[n];
1051
+ return r.length < n || r[n].id !== ((a = o[n]) == null ? void 0 : a.id);
1044
1052
  }, De = (e, t, n) => {
1053
+ var a;
1045
1054
  const r = e.matches, o = (t == null ? void 0 : t.matches) ?? [];
1046
- return r.length < n || r[n] !== o[n];
1047
- }, We = (e, t, n) => e.matches[n] === (t == null ? void 0 : t.matches[n]);
1055
+ return r.length < n || r[n].id !== ((a = o[n]) == null ? void 0 : a.id);
1056
+ }, We = (e, t, n) => {
1057
+ var r;
1058
+ return e.matches[n].id === ((r = t == null ? void 0 : t.matches[n]) == null ? void 0 : r.id);
1059
+ };
1048
1060
  function rt(e) {
1049
1061
  switch (e) {
1050
1062
  case "onBeforeRouteEnter":
@@ -1060,47 +1072,47 @@ function rt(e) {
1060
1072
  throw new Error(`Switch is not exhaustive for lifecycle: ${e}`);
1061
1073
  }
1062
1074
  }
1063
- function Kn() {
1075
+ function er() {
1064
1076
  const e = {
1065
- global: new ve(),
1066
- component: new ve()
1077
+ global: new Ee(),
1078
+ component: new Ee()
1067
1079
  };
1068
1080
  function t({ lifecycle: r, timing: o, depth: a, hook: s }) {
1069
- const i = rt(r), c = e[o][r], f = (u, h) => {
1070
- if (i(u, h.from, a))
1071
- return s(u, h);
1081
+ const u = rt(r), i = e[o][r], c = (f, h) => {
1082
+ if (u(f, h.from, a))
1083
+ return s(f, h);
1072
1084
  };
1073
- return c.add(f), () => c.delete(f);
1085
+ return i.add(c), () => i.delete(c);
1074
1086
  }
1075
1087
  function n({ lifecycle: r, timing: o, depth: a, hook: s }) {
1076
- const i = rt(r), c = e[o][r], f = (u, h) => {
1077
- if (i(u, h.from, a))
1078
- return s(u, h);
1088
+ const u = rt(r), i = e[o][r], c = (f, h) => {
1089
+ if (u(f, h.from, a))
1090
+ return s(f, h);
1079
1091
  };
1080
- return c.add(f), () => c.delete(f);
1092
+ return i.add(c), () => i.delete(c);
1081
1093
  }
1082
1094
  return { ...e, addBeforeRouteHook: t, addAfterRouteHook: n };
1083
1095
  }
1084
- const Bt = Symbol();
1085
- function zn() {
1086
- const e = Kn();
1096
+ const Ht = Symbol();
1097
+ function tr() {
1098
+ const e = er();
1087
1099
  return {
1088
- onBeforeRouteEnter: (i) => e.addBeforeRouteHook({ lifecycle: "onBeforeRouteEnter", hook: i, timing: "global", depth: 0 }),
1089
- onBeforeRouteUpdate: (i) => e.addBeforeRouteHook({ lifecycle: "onBeforeRouteUpdate", hook: i, timing: "global", depth: 0 }),
1090
- onBeforeRouteLeave: (i) => e.addBeforeRouteHook({ lifecycle: "onBeforeRouteLeave", hook: i, timing: "global", depth: 0 }),
1091
- onAfterRouteEnter: (i) => e.addAfterRouteHook({ lifecycle: "onAfterRouteEnter", hook: i, timing: "global", depth: 0 }),
1092
- onAfterRouteUpdate: (i) => e.addAfterRouteHook({ lifecycle: "onAfterRouteUpdate", hook: i, timing: "global", depth: 0 }),
1093
- onAfterRouteLeave: (i) => e.addAfterRouteHook({ lifecycle: "onAfterRouteLeave", hook: i, timing: "global", depth: 0 }),
1100
+ onBeforeRouteEnter: (u) => e.addBeforeRouteHook({ lifecycle: "onBeforeRouteEnter", hook: u, timing: "global", depth: 0 }),
1101
+ onBeforeRouteUpdate: (u) => e.addBeforeRouteHook({ lifecycle: "onBeforeRouteUpdate", hook: u, timing: "global", depth: 0 }),
1102
+ onBeforeRouteLeave: (u) => e.addBeforeRouteHook({ lifecycle: "onBeforeRouteLeave", hook: u, timing: "global", depth: 0 }),
1103
+ onAfterRouteEnter: (u) => e.addAfterRouteHook({ lifecycle: "onAfterRouteEnter", hook: u, timing: "global", depth: 0 }),
1104
+ onAfterRouteUpdate: (u) => e.addAfterRouteHook({ lifecycle: "onAfterRouteUpdate", hook: u, timing: "global", depth: 0 }),
1105
+ onAfterRouteLeave: (u) => e.addAfterRouteHook({ lifecycle: "onAfterRouteLeave", hook: u, timing: "global", depth: 0 }),
1094
1106
  hooks: e
1095
1107
  };
1096
1108
  }
1097
- function Yn(e) {
1098
- return ue(() => () => pe("h1", e), {
1109
+ function nr(e) {
1110
+ return ie(() => () => ge("h1", e), {
1099
1111
  name: e,
1100
1112
  props: []
1101
1113
  });
1102
1114
  }
1103
- function Ut(e) {
1115
+ function jt(e) {
1104
1116
  const t = new URLSearchParams(e);
1105
1117
  return {
1106
1118
  get: (...n) => t.get(...n),
@@ -1124,32 +1136,32 @@ function Ut(e) {
1124
1136
  has: (...n) => t.has(...n)
1125
1137
  };
1126
1138
  }
1127
- function Xn() {
1139
+ function $t() {
1128
1140
  let e = 0;
1129
1141
  return () => (++e).toString();
1130
1142
  }
1131
- const Me = Xn();
1132
- function Zn({
1143
+ const Me = $t();
1144
+ function rr({
1133
1145
  rejections: e
1134
1146
  }) {
1135
1147
  const t = (a) => {
1136
1148
  const s = {
1137
1149
  ...e
1138
1150
  };
1139
- return de(s[a] ?? Yn(a));
1151
+ return ve(s[a] ?? nr(a));
1140
1152
  }, n = (a) => {
1141
- const s = de(t(a)), i = {
1153
+ const s = ve(t(a)), u = {
1142
1154
  id: Me(),
1143
1155
  component: s,
1144
1156
  meta: {},
1145
1157
  state: {}
1146
1158
  };
1147
1159
  return {
1148
- id: i.id,
1149
- matched: i,
1150
- matches: [i],
1160
+ id: u.id,
1161
+ matched: u,
1162
+ matches: [u],
1151
1163
  name: a,
1152
- query: Ut(""),
1164
+ query: jt(""),
1153
1165
  params: {},
1154
1166
  state: {},
1155
1167
  [Lt]: !0
@@ -1161,311 +1173,311 @@ function Zn({
1161
1173
  }
1162
1174
  const s = t(a);
1163
1175
  o.value = { type: a, component: s };
1164
- }, o = ft(null);
1176
+ }, o = lt(null);
1165
1177
  return {
1166
1178
  setRejection: r,
1167
1179
  rejection: o,
1168
1180
  getRejectionRoute: n
1169
1181
  };
1170
1182
  }
1171
- class er extends Error {
1183
+ class or extends Error {
1172
1184
  constructor(t) {
1173
1185
  super(`Route not found: "${t}"`);
1174
1186
  }
1175
1187
  }
1176
- function Te(e) {
1188
+ function Ie(e) {
1177
1189
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
1178
1190
  }
1179
- function tr(e, t) {
1191
+ function ar(e, t) {
1180
1192
  const n = Array.from(e.matchAll(t));
1181
1193
  if (n.length === 0)
1182
1194
  return [e];
1183
1195
  let r = 0;
1184
- const o = n.reduce((s, i) => {
1185
- const c = Te(e.slice(r, i.index));
1186
- c.length && s.push(c);
1187
- const [f] = i;
1188
- return s.push(f), r = i.index + f.length, s;
1196
+ const o = n.reduce((s, u) => {
1197
+ const i = Ie(e.slice(r, u.index));
1198
+ i.length && s.push(i);
1199
+ const [c] = u;
1200
+ return s.push(c), r = u.index + c.length, s;
1189
1201
  }, []), a = e.slice(r);
1190
1202
  return a && o.push(a), o;
1191
1203
  }
1192
- function nr(e) {
1193
- const t = Nt(e.path.value);
1204
+ function sr(e) {
1205
+ const t = Vt(e.path.value);
1194
1206
  return new RegExp(`^${t}$`, "i");
1195
1207
  }
1196
- function rr(e) {
1208
+ function cr(e) {
1197
1209
  const t = new URLSearchParams(e.query.value);
1198
- return Array.from(t.entries()).filter(([, n]) => !Ce(n)).map(([n, r]) => {
1199
- const o = Nt(r);
1200
- return new RegExp(`${Te(n)}=${o}(&|$)`, "i");
1210
+ return Array.from(t.entries()).filter(([, n]) => !Ne(n)).map(([n, r]) => {
1211
+ const o = Vt(r);
1212
+ return new RegExp(`${Ie(n)}=${o}(&|$)`, "i");
1201
1213
  });
1202
1214
  }
1203
- function Nt(e) {
1204
- return tr(e, new RegExp(or, "g")).map((t) => t.startsWith(T) ? Ct(t) : Te(t)).join("");
1215
+ function Vt(e) {
1216
+ return ar(e, new RegExp(ur, "g")).map((t) => t.startsWith(I) ? qt(t) : Ie(t)).join("");
1205
1217
  }
1206
- function Ct(e) {
1218
+ function qt(e) {
1207
1219
  return [
1208
- ar,
1209
- sr
1220
+ ir,
1221
+ fr
1210
1222
  ].reduce((t, n) => n(t), e);
1211
1223
  }
1212
- const or = `\\${T}\\??([\\w-_]+)\\${J}`, Ie = `\\${T}\\?([\\w-_]+)\\${J}`, Ht = `\\${T}([\\w-_]+)\\${J}`;
1213
- function ar(e) {
1214
- return e.replace(new RegExp(Ie, "g"), ".*");
1224
+ const ur = `\\${I}\\??([\\w-_]+)\\${G}`, Te = `\\${I}\\?([\\w-_]+)\\${G}`, Ot = `\\${I}([\\w-_]+)\\${G}`;
1225
+ function ir(e) {
1226
+ return e.replace(new RegExp(Te, "g"), ".*");
1215
1227
  }
1216
- function Ce(e) {
1217
- return new RegExp(Ie, "g").test(e);
1228
+ function Ne(e) {
1229
+ return new RegExp(Te, "g").test(e);
1218
1230
  }
1219
- function sr(e) {
1220
- return e.replace(new RegExp(Ht, "g"), ".+");
1231
+ function fr(e) {
1232
+ return e.replace(new RegExp(Ot, "g"), ".+");
1221
1233
  }
1222
- function Ae(e) {
1223
- const [t] = we(e, new RegExp(Ie, "g")), [n] = we(e, new RegExp(Ht, "g"));
1234
+ function Ce(e) {
1235
+ const [t] = Se(e, new RegExp(Te, "g")), [n] = Se(e, new RegExp(Ot, "g"));
1224
1236
  return t ?? n;
1225
1237
  }
1226
- function we(e, t) {
1227
- return Array.from(e.matchAll(t)).flatMap(([, ...r]) => r.map((o) => le(o) ? o : ""));
1238
+ function Se(e, t) {
1239
+ return Array.from(e.matchAll(t)).flatMap(([, ...r]) => r.map((o) => he(o) ? o : ""));
1228
1240
  }
1229
- function $t(e, t, n) {
1230
- const r = Vt(t, n), [o] = we(e, r);
1241
+ function _t(e, t, n) {
1242
+ const r = Wt(t, n), [o] = Se(e, r);
1231
1243
  return o;
1232
1244
  }
1233
- function jt(e, t) {
1245
+ function Dt(e, t) {
1234
1246
  if (!t)
1235
1247
  return e;
1236
- const { name: n, param: r, value: o } = t, a = Vt(e, n);
1237
- return we(e, a).reduce((i, c) => c === void 0 ? i : i.replace(c, () => se(o, r, n.startsWith("?"))), e);
1248
+ const { name: n, param: r, value: o } = t, a = Wt(e, n);
1249
+ return Se(e, a).reduce((u, i) => i === void 0 ? u : u.replace(i, () => ce(o, r, n.startsWith("?"))), e);
1238
1250
  }
1239
- function Vt(e, t) {
1251
+ function Wt(e, t) {
1240
1252
  const n = [
1241
- cr,
1242
- ur,
1243
- Ct
1253
+ lr,
1254
+ hr,
1255
+ qt
1244
1256
  ].reduce((r, o) => o(r, t), e);
1245
1257
  return new RegExp(n, "g");
1246
1258
  }
1247
- function cr(e, t) {
1259
+ function lr(e, t) {
1248
1260
  if (!t.startsWith("?"))
1249
1261
  return e;
1250
- const n = new RegExp(`\\${T}\\${t}\\${J}`, "g");
1262
+ const n = new RegExp(`\\${I}\\${t}\\${G}`, "g");
1251
1263
  return e.replace(n, "(.*)");
1252
1264
  }
1253
- function ur(e, t) {
1265
+ function hr(e, t) {
1254
1266
  if (t.startsWith("?"))
1255
1267
  return e;
1256
- const n = new RegExp(`\\${T}${t}\\${J}`, "g");
1268
+ const n = new RegExp(`\\${I}${t}\\${G}`, "g");
1257
1269
  return e.replace(n, "(.+)");
1258
1270
  }
1259
- function qt({ protocol: e, host: t, pathname: n, search: r, searchParams: o, hash: a }) {
1271
+ function Mt({ protocol: e, host: t, pathname: n, search: r, searchParams: o, hash: a }) {
1260
1272
  const s = new URL("https://localhost");
1261
1273
  e && (s.protocol = e), t && (s.host = t), n && (s.pathname = n), o ? s.search = o.toString() : r && (s.search = r), a && (s.hash = a);
1262
- const i = s.toString().replace(/^https:\/\/localhost\/*/, "/");
1263
- return Qn(i);
1274
+ const u = s.toString().replace(/^https:\/\/localhost\/*/, "/");
1275
+ return Xn(u);
1264
1276
  }
1265
- function ir(e, t) {
1277
+ function pr(e, t) {
1266
1278
  const n = new URLSearchParams(e), r = new URLSearchParams(t);
1267
1279
  for (const [o, a] of r.entries())
1268
1280
  n.append(o, a);
1269
1281
  return n;
1270
1282
  }
1271
- function fr(e, t = {}) {
1272
- const { params: n = {}, query: r } = t, o = pr(e.query, n), a = ir(o, r), s = hr(e.path, n), i = me(e.hash.value ?? t.hash).value, c = lr(e.host, n), { protocol: f, host: u } = D(c);
1273
- return qt({ protocol: f, host: u, pathname: s, searchParams: a, hash: i });
1283
+ function dr(e, t = {}) {
1284
+ const { params: n = {}, query: r } = t, o = vr(e.query, n), a = pr(o, r), s = gr(e.path, n), u = ye(e.hash.value ?? t.hash).value, i = mr(e.host, n), { protocol: c, host: f } = W(i);
1285
+ return Mt({ protocol: c, host: f, pathname: s, searchParams: a, hash: u });
1274
1286
  }
1275
- function lr(e, t) {
1287
+ function mr(e, t) {
1276
1288
  const n = e.value && !e.value.startsWith("http") ? `https://${e.value}` : e.value;
1277
1289
  return Object.entries(e.params).reduce((r, [o, a]) => {
1278
- const s = Ae(`${T}${o}${J}`);
1279
- return s ? jt(r, { name: o, param: a, value: t[s] }) : r;
1290
+ const s = Ce(`${I}${o}${G}`);
1291
+ return s ? Dt(r, { name: o, param: a, value: t[s] }) : r;
1280
1292
  }, n);
1281
1293
  }
1282
- function hr(e, t) {
1294
+ function gr(e, t) {
1283
1295
  return Object.entries(e.params).reduce((n, [r, o]) => {
1284
- const a = Ae(`${T}${r}${J}`);
1285
- return a ? jt(n, { name: r, param: o, value: t[a] }) : n;
1296
+ const a = Ce(`${I}${r}${G}`);
1297
+ return a ? Dt(n, { name: r, param: o, value: t[a] }) : n;
1286
1298
  }, e.value);
1287
1299
  }
1288
- function pr(e, t) {
1300
+ function vr(e, t) {
1289
1301
  const n = new URLSearchParams(e.value);
1290
1302
  if (!e.value)
1291
1303
  return n;
1292
1304
  for (const [r, o] of n.entries()) {
1293
- const a = Ae(o);
1305
+ const a = Ce(o);
1294
1306
  if (!a)
1295
1307
  continue;
1296
- const i = se(t[a], e.params[a], Ce(o)), c = t[a] === void 0 && i === "";
1297
- Ce(o) && c ? n.delete(r, o) : n.set(r, i);
1308
+ const u = ce(t[a], e.params[a], Ne(o)), i = t[a] === void 0 && u === "";
1309
+ Ne(o) && i ? n.delete(r, o) : n.set(r, u);
1298
1310
  }
1299
1311
  return n;
1300
1312
  }
1301
- function dr(e) {
1313
+ function yr(e) {
1302
1314
  return (t, n, r) => {
1303
- if (_(t)) {
1304
- const c = n ?? {}, { searchParams: f, ...u } = D(t);
1305
- return Object.entries(c.query ?? {}).forEach(([h, P]) => {
1306
- f.append(h, P);
1307
- }), qt({ ...u, searchParams: f });
1315
+ if (D(t)) {
1316
+ const i = n ?? {}, { searchParams: c, ...f } = W(t);
1317
+ return Object.entries(i.query ?? {}).forEach(([h, P]) => {
1318
+ c.append(h, P);
1319
+ }), Mt({ ...f, searchParams: c });
1308
1320
  }
1309
- const o = n ?? {}, a = r ?? {}, s = e.find((c) => c.name === t);
1321
+ const o = n ?? {}, a = r ?? {}, s = e.find((i) => i.name === t);
1310
1322
  if (!s)
1311
- throw new er(String(t));
1312
- return fr(s, {
1323
+ throw new or(String(t));
1324
+ return dr(s, {
1313
1325
  params: o,
1314
1326
  query: a.query,
1315
1327
  hash: a.hash
1316
1328
  });
1317
1329
  };
1318
1330
  }
1319
- class mr extends Error {
1331
+ class Rr extends Error {
1320
1332
  constructor() {
1321
1333
  super("initialUrl must be set if window.location is unavailable");
1322
1334
  }
1323
1335
  }
1324
- function gr(e) {
1336
+ function wr(e) {
1325
1337
  if (e)
1326
1338
  return e;
1327
- if (vt())
1339
+ if (wt())
1328
1340
  return window.location.toString();
1329
- throw new mr();
1341
+ throw new Rr();
1330
1342
  }
1331
- const Rr = (e, t) => {
1343
+ const Pr = (e, t) => {
1332
1344
  try {
1333
- Ot(e, t);
1345
+ It(e, t);
1334
1346
  } catch {
1335
1347
  return !1;
1336
1348
  }
1337
1349
  return !0;
1338
- }, Ot = (e, t) => {
1339
- const { pathname: n, search: r } = D(t);
1350
+ }, It = (e, t) => {
1351
+ const { pathname: n, search: r } = W(t);
1340
1352
  return {
1341
- ...yr(e.path, n),
1342
- ...vr(e.query, r)
1353
+ ...Er(e.path, n),
1354
+ ...br(e.query, r)
1343
1355
  };
1344
1356
  };
1345
- function yr(e, t) {
1357
+ function Er(e, t) {
1346
1358
  const n = {}, r = decodeURIComponent(t);
1347
1359
  for (const [o, a] of Object.entries(e.params)) {
1348
- const s = o.startsWith("?"), i = s ? o.slice(1) : o, c = $t(r, e.value, o), f = ae(c, a, s);
1349
- n[i] = f;
1360
+ const s = o.startsWith("?"), u = s ? o.slice(1) : o, i = _t(r, e.value, o), c = se(i, a, s);
1361
+ n[u] = c;
1350
1362
  }
1351
1363
  return n;
1352
1364
  }
1353
- function vr(e, t) {
1365
+ function br(e, t) {
1354
1366
  const n = {}, r = new URLSearchParams(t);
1355
1367
  for (const [o, a] of Object.entries(e.params)) {
1356
- const s = o.startsWith("?"), i = s ? o.slice(1) : o, c = r.get(i) ?? void 0, f = ae(c, a, s);
1357
- n[i] = f;
1368
+ const s = o.startsWith("?"), u = s ? o.slice(1) : o, i = r.get(u) ?? void 0, c = se(i, a, s);
1369
+ n[u] = c;
1358
1370
  }
1359
1371
  return n;
1360
1372
  }
1361
- const wr = (e) => "name" in e.matched && !!e.matched.name, Pr = (e, t) => {
1362
- const { pathname: n } = D(t);
1363
- return nr(e).test(n);
1364
- }, Er = (e, t) => {
1365
- const { search: n } = D(t);
1366
- return rr(e).every((o) => o.test(n));
1373
+ const Sr = (e) => "name" in e.matched && !!e.matched.name, xr = (e, t) => {
1374
+ const { pathname: n } = W(t);
1375
+ return sr(e).test(n);
1376
+ }, kr = (e, t) => {
1377
+ const { search: n } = W(t);
1378
+ return cr(e).every((o) => o.test(n));
1367
1379
  }, He = (e, t) => {
1368
- const { hash: n } = D(t), { value: r } = e.hash;
1380
+ const { hash: n } = W(t), { value: r } = e.hash;
1369
1381
  return r === void 0 || `#${r.toLowerCase()}` === n.toLowerCase();
1370
1382
  };
1371
- function Sr(e) {
1372
- const { searchParams: t, pathname: n } = D(e), r = -1, o = 1;
1383
+ function Ar(e) {
1384
+ const { searchParams: t, pathname: n } = W(e), r = -1, o = 1;
1373
1385
  return (a, s) => {
1374
- const i = at(a, t), c = ot(a, n), f = at(s, t), u = ot(s, n);
1375
- return a.depth > s.depth ? r : a.depth < s.depth ? o : i + c > f + u ? r : i + c < f + u ? o : He(a, e) ? r : He(s, e) ? o : 0;
1386
+ const u = at(a, t), i = ot(a, n), c = at(s, t), f = ot(s, n);
1387
+ return a.depth > s.depth ? r : a.depth < s.depth ? o : u + i > c + f ? r : u + i < c + f ? o : He(a, e) ? r : He(s, e) ? o : 0;
1376
1388
  };
1377
1389
  }
1378
1390
  function ot(e, t) {
1379
- const n = Object.keys(e.path.params).filter((o) => o.startsWith("?")).map((o) => o), r = n.filter((o) => $t(t, e.path.value, o) === void 0);
1391
+ const n = Object.keys(e.path.params).filter((o) => o.startsWith("?")).map((o) => o), r = n.filter((o) => _t(t, e.path.value, o) === void 0);
1380
1392
  return n.length - r.length;
1381
1393
  }
1382
1394
  function at(e, t) {
1383
1395
  const n = new URLSearchParams(e.query.value), r = Array.from(n.keys()), o = r.filter((a) => !t.has(a));
1384
1396
  return r.length - o.length;
1385
1397
  }
1386
- function _t(e) {
1398
+ function Tt(e) {
1387
1399
  return !!e && typeof e == "object";
1388
1400
  }
1389
- const Pe = !0;
1390
- function br(e, t, n) {
1391
- if (_t(e) && t in e) {
1401
+ const xe = !0;
1402
+ function Ur(e, t, n) {
1403
+ if (Tt(e) && t in e) {
1392
1404
  const r = e[t];
1393
1405
  if (typeof r == "string")
1394
- return ae(r, n, Pe);
1406
+ return se(r, n, xe);
1395
1407
  }
1396
- return ae(void 0, n, Pe);
1408
+ return se(void 0, n, xe);
1397
1409
  }
1398
- function Ar(e, t) {
1410
+ function Cr(e, t) {
1399
1411
  const n = {};
1400
1412
  for (const [r, o] of Object.entries(e)) {
1401
- const a = br(t, r, o);
1413
+ const a = Ur(t, r, o);
1402
1414
  n[r] = a;
1403
1415
  }
1404
1416
  return n;
1405
1417
  }
1406
- function xr(e, t, n) {
1407
- if (_t(e) && t in e) {
1418
+ function Lr(e, t, n) {
1419
+ if (Tt(e) && t in e) {
1408
1420
  const r = e[t];
1409
- return se(r, n, Pe);
1421
+ return ce(r, n, xe);
1410
1422
  }
1411
- return se(void 0, n, Pe);
1423
+ return ce(void 0, n, xe);
1412
1424
  }
1413
1425
  const st = (e, t) => {
1414
1426
  const n = {};
1415
1427
  for (const [r, o] of Object.entries(e)) {
1416
- const a = xr(t, r, o);
1428
+ const a = Lr(t, r, o);
1417
1429
  n[r] = a;
1418
1430
  }
1419
1431
  return n;
1420
- }, kr = [
1421
- wr,
1422
- Pr,
1423
- Er,
1432
+ }, Br = [
1433
+ Sr,
1434
+ xr,
1435
+ kr,
1424
1436
  He,
1425
- Rr
1437
+ Pr
1426
1438
  ];
1427
- function Ue(e, t, n) {
1428
- const r = Sr(t), o = e.filter((c) => kr.every((f) => f(c, t))).sort(r);
1439
+ function Le(e, t, n) {
1440
+ const r = Ar(t), o = e.filter((i) => Br.every((c) => c(i, t))).sort(r);
1429
1441
  if (o.length === 0)
1430
1442
  return;
1431
- const [a] = o, { search: s, hash: i } = D(t);
1443
+ const [a] = o, { search: s, hash: u } = W(t);
1432
1444
  return {
1433
1445
  id: a.id,
1434
1446
  matched: a.matched,
1435
1447
  matches: a.matches,
1436
1448
  name: a.name,
1437
- query: Ut(s),
1438
- params: Ot(a, t),
1439
- state: Ar(a.state, n),
1440
- hash: i
1449
+ query: jt(s),
1450
+ params: It(a, t),
1451
+ state: Cr(a.state, n),
1452
+ hash: u
1441
1453
  };
1442
1454
  }
1443
1455
  function Fe(e, t) {
1444
- const n = new RegExp(`\\${T}(\\??[\\w-_]+)\\${J}`, "g");
1456
+ const n = new RegExp(`\\${I}(\\??[\\w-_]+)\\${G}`, "g");
1445
1457
  return Array.from(e.matchAll(n)).reduce((o, [a, s]) => {
1446
- const i = Ae(a);
1447
- if (!i)
1458
+ const u = Ce(a);
1459
+ if (!u)
1448
1460
  return o;
1449
- const c = Un(t, i);
1450
- return te([i], o), o[s] = c, o;
1461
+ const i = $n(t, u);
1462
+ return re([u], o), o[s] = i, o;
1451
1463
  }, {});
1452
1464
  }
1453
- function $e(e, t) {
1465
+ function je(e, t) {
1454
1466
  return {
1455
1467
  value: e,
1456
1468
  params: Fe(e, t)
1457
1469
  };
1458
1470
  }
1459
- function Lr(e, t) {
1460
- return le(t) ? e.map((n) => {
1471
+ function Nr(e, t) {
1472
+ return he(t) ? e.map((n) => {
1461
1473
  const r = `${t}${n.path.value}`;
1462
1474
  return {
1463
1475
  ...n,
1464
- path: $e(r, n.path.params)
1476
+ path: je(r, n.path.params)
1465
1477
  };
1466
1478
  }) : e;
1467
1479
  }
1468
- class Br extends Error {
1480
+ class Hr extends Error {
1469
1481
  /**
1470
1482
  * Constructs a new DuplicateNamesError instance with a message indicating the problematic name.
1471
1483
  * @param name - The name of the name that was duplicated.
@@ -1474,127 +1486,148 @@ class Br extends Error {
1474
1486
  super(`Invalid Name "${t}": Router does not support multiple routes with the same name. All name names must be unique.`);
1475
1487
  }
1476
1488
  }
1477
- function Ur(e) {
1489
+ function jr(e) {
1478
1490
  const t = e.map(({ name: n }) => n);
1479
1491
  for (const n of t)
1480
- if (gt(t, n) > 1)
1481
- throw new Br(n);
1492
+ if (vt(t, n) > 1)
1493
+ throw new Hr(n);
1482
1494
  }
1483
- function Yr(e, t) {
1484
- const n = pn(e) ? e.flat() : e, r = Lr(n, t == null ? void 0 : t.base);
1485
- Ur(r);
1486
- const o = qr(), a = dr(r), s = Tn({
1495
+ function to(e, t) {
1496
+ const n = yn(e) ? e.flat() : e, r = Nr(n, t == null ? void 0 : t.base);
1497
+ jr(r);
1498
+ const o = $t(), a = Wr(), s = yr(r), u = Gn({
1487
1499
  mode: t == null ? void 0 : t.historyMode,
1488
- listener: ({ location: w }) => {
1489
- const U = G(w);
1490
- R(U, { state: w.state });
1500
+ listener: ({ location: R }) => {
1501
+ const C = z(R);
1502
+ E(C, { state: R.state });
1491
1503
  }
1492
- }), { runBeforeRouteHooks: i, runAfterRouteHooks: c } = Gn(), {
1504
+ }), { runBeforeRouteHooks: i, runAfterRouteHooks: c } = Zn(), {
1493
1505
  hooks: f,
1494
- onBeforeRouteEnter: u,
1495
- onAfterRouteUpdate: h,
1496
- onBeforeRouteLeave: P,
1497
- onAfterRouteEnter: p,
1498
- onBeforeRouteUpdate: A,
1499
- onAfterRouteLeave: v
1500
- } = zn();
1501
- async function R(w, U = {}) {
1502
- if (s.stopListening(), H(w)) {
1503
- s.update(w, U);
1506
+ onBeforeRouteEnter: h,
1507
+ onAfterRouteUpdate: P,
1508
+ onBeforeRouteLeave: p,
1509
+ onAfterRouteEnter: k,
1510
+ onBeforeRouteUpdate: g,
1511
+ onAfterRouteLeave: y
1512
+ } = tr();
1513
+ async function E(R, C = {}) {
1514
+ const T = o();
1515
+ if (u.stopListening(), pe(R)) {
1516
+ u.update(R, C);
1504
1517
  return;
1505
1518
  }
1506
- const q = Ue(r, w, U.state) ?? g("NotFound"), O = { ...m }, K = await i({ to: q, from: O, hooks: f });
1507
- switch (K.status) {
1519
+ const $ = Le(r, R, C.state) ?? l("NotFound"), de = { ...b }, F = await i({ to: $, from: de, hooks: f });
1520
+ switch (F.status) {
1521
+ // On abort do nothing
1508
1522
  case "ABORT":
1509
1523
  return;
1524
+ // On push update the history, and push new route, and return
1510
1525
  case "PUSH":
1511
- s.update(w, U), await x(...K.to);
1526
+ u.update(R, C), await L(...F.to);
1512
1527
  return;
1528
+ // On reject update the history, the route, and set the rejection type
1513
1529
  case "REJECT":
1514
- s.update(w, U), b(K.type);
1530
+ u.update(R, C), x(F.type);
1515
1531
  break;
1532
+ // On success update history, set the route, and clear the rejection
1516
1533
  case "SUCCESS":
1517
- s.update(w, U), b(null);
1534
+ u.update(R, C), x(null);
1518
1535
  break;
1519
1536
  default:
1520
- throw new Error(`Switch is not exhaustive for before hook response status: ${JSON.stringify(K)}`);
1537
+ throw new Error(`Switch is not exhaustive for before hook response status: ${JSON.stringify(F)}`);
1521
1538
  }
1522
- o.setProps(q), S(q);
1523
- const I = await c({ to: q, from: O, hooks: f });
1524
- switch (I.status) {
1539
+ const M = T;
1540
+ a.setProps($).then((V) => {
1541
+ if (M === T)
1542
+ switch (V.status) {
1543
+ case "SUCCESS":
1544
+ break;
1545
+ case "PUSH":
1546
+ L(...V.to);
1547
+ break;
1548
+ case "REJECT":
1549
+ x(V.type);
1550
+ break;
1551
+ default:
1552
+ const oe = V;
1553
+ throw new Error(`Switch is not exhaustive for prop store response status: ${JSON.stringify(oe)}`);
1554
+ }
1555
+ }), U($);
1556
+ const J = await c({ to: $, from: de, hooks: f });
1557
+ switch (J.status) {
1525
1558
  case "PUSH":
1526
- await x(...I.to);
1559
+ await L(...J.to);
1527
1560
  break;
1528
1561
  case "REJECT":
1529
- b(I.type);
1562
+ x(J.type);
1530
1563
  break;
1531
1564
  case "SUCCESS":
1532
1565
  break;
1533
1566
  default:
1534
- const W = I;
1535
- throw new Error(`Switch is not exhaustive for after hook response status: ${JSON.stringify(W)}`);
1567
+ const V = J;
1568
+ throw new Error(`Switch is not exhaustive for after hook response status: ${JSON.stringify(V)}`);
1536
1569
  }
1537
- s.startListening();
1570
+ u.startListening();
1538
1571
  }
1539
- const x = (w, U, q) => {
1540
- if (_(w)) {
1541
- const ne = { ...U }, Le = a(w, ne);
1542
- return R(Le, ne);
1572
+ const L = (R, C, T) => {
1573
+ if (D(R)) {
1574
+ const V = { ...C }, oe = s(R, V);
1575
+ return E(oe, V);
1543
1576
  }
1544
- const O = { ...q }, I = a(w, U ?? {}, O), W = Ye(w), ke = st((W == null ? void 0 : W.state) ?? {}, O.state);
1545
- return R(I, { ...O, state: ke });
1546
- }, B = (w, U, q) => {
1547
- if (_(w)) {
1548
- const ne = { ...U, replace: !0 }, Le = a(w, ne);
1549
- return R(Le, ne);
1577
+ const $ = { ...T }, F = s(R, C ?? {}, $), M = Xe(R), J = st((M == null ? void 0 : M.state) ?? {}, $.state);
1578
+ return E(F, { ...$, state: J });
1579
+ }, v = (R, C, T) => {
1580
+ if (D(R)) {
1581
+ const V = { ...C, replace: !0 }, oe = s(R, V);
1582
+ return E(oe, V);
1550
1583
  }
1551
- const O = { ...q, replace: !0 }, I = a(w, U ?? {}, O), W = Ye(w), ke = st((W == null ? void 0 : W.state) ?? {}, O.state);
1552
- return R(I, { ...O, state: ke });
1553
- }, d = (w) => {
1554
- b(w);
1555
- }, y = (w, U = {}) => {
1556
- if (!_(w)) {
1557
- const q = a(w, U);
1558
- return Ue(r, q);
1584
+ const $ = { ...T, replace: !0 }, F = s(R, C ?? {}, $), M = Xe(R), J = st((M == null ? void 0 : M.state) ?? {}, $.state);
1585
+ return E(F, { ...$, state: J });
1586
+ }, w = (R) => {
1587
+ x(R);
1588
+ }, A = (R, C = {}) => {
1589
+ if (!D(R)) {
1590
+ const T = s(R, C);
1591
+ return Le(r, T);
1559
1592
  }
1560
- if (!H(w))
1561
- return Ue(r, w);
1562
- }, { setRejection: b, rejection: k, getRejectionRoute: g } = Zn(t ?? {}), l = g("NotFound"), { currentRoute: m, routerRoute: E, updateRoute: S } = _n(l, x);
1563
- s.startListening();
1564
- const L = gr(t == null ? void 0 : t.initialUrl), N = s.location.state, { host: $ } = D(L), H = Mn($);
1565
- let xe = !1;
1566
- async function ze() {
1567
- xe || (await R(L, { replace: !0, state: N }), xe = !0);
1568
- }
1569
- function Ye(w) {
1570
- return r.find((U) => U.name === w);
1571
- }
1572
- function Yt(w) {
1573
- w.component("RouterView", Jr), w.component("RouterLink", Fr), w.provide(At, k), w.provide(Bt, f), w.provide(Jt, o), w.provide(xt, Xe), ze();
1574
- }
1575
- const Xe = {
1576
- route: E,
1577
- resolve: a,
1578
- push: x,
1579
- replace: B,
1580
- reject: d,
1581
- find: y,
1582
- refresh: s.refresh,
1583
- forward: s.forward,
1584
- back: s.back,
1585
- go: s.go,
1586
- install: Yt,
1587
- isExternal: H,
1588
- onBeforeRouteEnter: u,
1589
- onAfterRouteUpdate: h,
1590
- onBeforeRouteLeave: P,
1591
- onAfterRouteEnter: p,
1592
- onBeforeRouteUpdate: A,
1593
- onAfterRouteLeave: v,
1593
+ if (!pe(R))
1594
+ return Le(r, R);
1595
+ }, { setRejection: x, rejection: m, getRejectionRoute: l } = rr(t ?? {}), d = l("NotFound"), { currentRoute: b, routerRoute: S, updateRoute: U } = Tn(d, L);
1596
+ u.startListening();
1597
+ const B = wr(t == null ? void 0 : t.initialUrl), j = u.location.state, { host: O } = W(B), pe = Qn(O);
1598
+ let ze = !1;
1599
+ async function Ye() {
1600
+ ze || (await E(B, { replace: !0, state: j }), ze = !0);
1601
+ }
1602
+ function Xe(R) {
1603
+ return r.find((C) => C.name === R);
1604
+ }
1605
+ function nn(R) {
1606
+ R.component("RouterView", zr), R.component("RouterLink", Kr), R.provide(At, m), R.provide(Ht, f), R.provide(Yt, a), R.provide(Ut, Ze), Ye();
1607
+ }
1608
+ const Ze = {
1609
+ route: S,
1610
+ resolve: s,
1611
+ push: L,
1612
+ replace: v,
1613
+ reject: w,
1614
+ find: A,
1615
+ refresh: u.refresh,
1616
+ forward: u.forward,
1617
+ back: u.back,
1618
+ go: u.go,
1619
+ install: nn,
1620
+ isExternal: pe,
1621
+ onBeforeRouteEnter: h,
1622
+ onAfterRouteUpdate: P,
1623
+ onBeforeRouteLeave: p,
1624
+ onAfterRouteEnter: k,
1625
+ onBeforeRouteUpdate: g,
1626
+ onAfterRouteLeave: y,
1594
1627
  prefetch: t == null ? void 0 : t.prefetch,
1595
- start: ze
1628
+ start: Ye
1596
1629
  };
1597
- return Xe;
1630
+ return Ze;
1598
1631
  }
1599
1632
  function ct(e, t) {
1600
1633
  return {
@@ -1602,114 +1635,139 @@ function ct(e, t) {
1602
1635
  params: Fe(e, t)
1603
1636
  };
1604
1637
  }
1605
- function Dt(e, t) {
1638
+ function Ft(e, t) {
1606
1639
  return {
1607
1640
  value: e,
1608
1641
  params: Fe(e, t)
1609
1642
  };
1610
1643
  }
1611
- function Nr(e) {
1612
- return fe(e) && typeof e.hash == "string";
1644
+ function $r(e) {
1645
+ return le(e) && typeof e.hash == "string";
1613
1646
  }
1614
- function Wt(e) {
1615
- return e === void 0 ? me() : Nr(e) ? e : me(e);
1647
+ function Jt(e) {
1648
+ return e === void 0 ? ye() : $r(e) ? e : ye(e);
1616
1649
  }
1617
1650
  function Je(e) {
1618
1651
  return e === void 0 ? "" : e;
1619
1652
  }
1620
- function Cr(e) {
1621
- return fe(e) && typeof e.value == "string";
1653
+ function Vr(e) {
1654
+ return le(e) && typeof e.value == "string";
1622
1655
  }
1623
- function Mt(e) {
1624
- return e === void 0 ? $e("", {}) : Cr(e) ? e : $e(e, {});
1656
+ function Qt(e) {
1657
+ return e === void 0 ? je("", {}) : Vr(e) ? e : je(e, {});
1625
1658
  }
1626
- function Hr(e) {
1627
- return fe(e) && typeof e.value == "string";
1659
+ function qr(e) {
1660
+ return le(e) && typeof e.value == "string";
1628
1661
  }
1629
- function Tt(e) {
1630
- return e === void 0 ? ct("", {}) : Hr(e) ? e : ct(e, {});
1662
+ function Gt(e) {
1663
+ return e === void 0 ? ct("", {}) : qr(e) ? e : ct(e, {});
1631
1664
  }
1632
- function ee(e) {
1633
- const t = Me(), n = Je(e.name), r = Mt(e.path), o = Tt(e.query), a = Wt(e.hash), s = e.meta ?? {}, i = bn(e) ? e.state : {}, c = de({ id: t, meta: {}, state: {}, ...e }), f = {
1665
+ function ne(e) {
1666
+ const t = Me(), n = Je(e.name), r = Qt(e.path), o = Gt(e.query), a = Jt(e.hash), s = e.meta ?? {}, u = Cn(e) ? e.state : {}, i = ve({ id: t, meta: {}, state: {}, ...e }), c = {
1634
1667
  id: t,
1635
- matched: c,
1636
- matches: [c],
1668
+ matched: i,
1669
+ matches: [i],
1637
1670
  name: n,
1638
1671
  path: r,
1639
1672
  query: o,
1640
1673
  hash: a,
1641
1674
  meta: s,
1642
- state: i,
1675
+ state: u,
1643
1676
  depth: 1,
1644
- host: Dt("", {}),
1677
+ host: Ft("", {}),
1645
1678
  prefetch: e.prefetch
1646
- }, u = Rt(e) ? yt(e.parent, f) : f;
1647
- return te(u.path.params, u.query.params), u;
1679
+ }, f = yt(e) ? Rt(e.parent, c) : c;
1680
+ return re(f.path.params, f.query.params), f;
1648
1681
  }
1649
- const Ee = { template: "<div>This is component</div>" }, Qe = ee({
1682
+ const ke = { template: "<div>This is component</div>" }, Qe = ne({
1650
1683
  name: "parentA",
1651
1684
  path: "/parentA/[paramA]"
1652
- }), It = ee({
1685
+ }), Kt = ne({
1653
1686
  parent: Qe,
1654
1687
  name: "parentA.childA",
1655
1688
  path: "/[?paramB]"
1656
- }), $r = ee({
1689
+ }), Or = ne({
1657
1690
  parent: Qe,
1658
1691
  name: "parentA.childB",
1659
1692
  path: "/[paramD]",
1660
- component: Ee
1661
- }), jr = ee({
1662
- parent: It,
1693
+ component: ke
1694
+ }), _r = ne({
1695
+ parent: Kt,
1663
1696
  name: "parentA.childA.grandChildA",
1664
1697
  path: "/[paramC]",
1665
- component: Ee
1698
+ component: ke
1666
1699
  });
1667
- ee({
1700
+ ne({
1668
1701
  name: "parentB",
1669
1702
  path: "/parentB",
1670
- component: Ee
1671
- }), ee({
1703
+ component: ke
1704
+ }), ne({
1672
1705
  name: "parentC",
1673
1706
  path: "/",
1674
- component: Ee
1707
+ component: ke
1675
1708
  });
1676
- const Vr = {
1709
+ const Dr = {
1677
1710
  components: !0,
1678
1711
  props: !1
1679
1712
  };
1680
- function Ft({ routerPrefetch: e, routePrefetch: t, linkPrefetch: n }, r) {
1681
- return Ne(n, r) ?? Ne(t, r) ?? Ne(e, r) ?? Vr[r];
1682
- }
1683
- function Ne(e, t) {
1684
- return fe(e) ? e[t] : e;
1685
- }
1686
- const Jt = Symbol();
1687
- function qr() {
1688
- const e = je(/* @__PURE__ */ new Map()), t = (c, f) => c.matches.filter((u) => Ft({ ...f, routePrefetch: u.prefetch }, "props")).flatMap((u) => s(u)).reduce((u, { id: h, name: P, props: p }) => {
1689
- const A = a(h, P, c);
1690
- return u[A] = p == null ? void 0 : p(c.params), u;
1691
- }, {}), n = (c) => {
1692
- Object.entries(c).forEach(([f, u]) => {
1693
- e.set(f, u);
1713
+ function zt({ routerPrefetch: e, routePrefetch: t, linkPrefetch: n }, r) {
1714
+ return Be(n, r) ?? Be(t, r) ?? Be(e, r) ?? Dr[r];
1715
+ }
1716
+ function Be(e, t) {
1717
+ return le(e) ? e[t] : e;
1718
+ }
1719
+ function ut(e) {
1720
+ try {
1721
+ const t = e();
1722
+ return Pt(t) ? t.catch((n) => n) : t;
1723
+ } catch (t) {
1724
+ return t;
1725
+ }
1726
+ }
1727
+ const Yt = Symbol();
1728
+ function Wr() {
1729
+ const e = $e(/* @__PURE__ */ new Map()), t = Nt(), n = (c, f) => c.matches.filter((h) => zt({ ...f, routePrefetch: h.prefetch }, "props")).flatMap((h) => u(h)).reduce((h, { id: P, name: p, props: k }) => {
1730
+ if (!k)
1731
+ return h;
1732
+ const g = s(P, p, c), y = ut(() => k(c.params, t));
1733
+ return h[g] = y, h;
1734
+ }, {}), r = (c) => {
1735
+ Object.entries(c).forEach(([f, h]) => {
1736
+ e.set(f, h);
1694
1737
  });
1695
- }, r = (c) => {
1696
- const u = c.matches.flatMap(s).reduce((h, { id: P, name: p, props: A }) => {
1697
- const v = a(P, p, c);
1698
- if (!A || e.has(v))
1699
- return h;
1700
- const R = A(c.params);
1701
- return e.set(v, R), h.push(v), h;
1702
- }, []);
1703
- i(u);
1704
- }, o = (c, f, u) => {
1705
- const h = a(c, f, u);
1706
- return e.get(h);
1738
+ }, o = async (c) => {
1739
+ const f = c.matches.flatMap(u), h = [], P = [];
1740
+ for (const { id: p, name: k, props: g } of f) {
1741
+ if (!g)
1742
+ continue;
1743
+ const y = s(p, k, c);
1744
+ if (h.push(y), !e.has(y)) {
1745
+ const E = ut(() => g(c.params, t));
1746
+ e.set(y, E);
1747
+ }
1748
+ P.push((async () => {
1749
+ const E = await e.get(y);
1750
+ if (E instanceof Error)
1751
+ throw E;
1752
+ })());
1753
+ }
1754
+ i(h);
1755
+ try {
1756
+ return await Promise.all(P), { status: "SUCCESS" };
1757
+ } catch (p) {
1758
+ if (p instanceof X || p instanceof be)
1759
+ return p.response;
1760
+ throw p;
1761
+ }
1762
+ }, a = (c, f, h) => {
1763
+ const P = s(c, f, h);
1764
+ return e.get(P);
1707
1765
  };
1708
- function a(c, f, u) {
1709
- return [c, f, u.id, JSON.stringify(u.params)].join("-");
1766
+ function s(c, f, h) {
1767
+ return [c, f, h.id, JSON.stringify(h.params)].join("-");
1710
1768
  }
1711
- function s(c) {
1712
- return qe(c) ? Object.entries(c.props ?? {}).map(([f, u]) => ({ id: c.id, name: f, props: u })) : Ve(c) ? [
1769
+ function u(c) {
1770
+ return qe(c) ? Object.entries(c.props ?? {}).map(([f, h]) => ({ id: c.id, name: f, props: h })) : Ve(c) ? [
1713
1771
  {
1714
1772
  id: c.id,
1715
1773
  name: "default",
@@ -1722,72 +1780,72 @@ function qr() {
1722
1780
  c.includes(f) || e.delete(f);
1723
1781
  }
1724
1782
  return {
1725
- getPrefetchProps: t,
1726
- setPrefetchProps: n,
1727
- getProps: o,
1728
- setProps: r
1783
+ getPrefetchProps: n,
1784
+ setPrefetchProps: r,
1785
+ getProps: a,
1786
+ setProps: o
1729
1787
  };
1730
1788
  }
1731
- function Qt() {
1732
- const e = ie(Jt);
1789
+ function Xt() {
1790
+ const e = fe(Yt);
1733
1791
  if (!e)
1734
- throw new Se();
1792
+ throw new Ae();
1735
1793
  return e;
1736
1794
  }
1737
- const Or = tn(() => new Promise((e) => {
1795
+ const Mr = sn(() => new Promise((e) => {
1738
1796
  e({ default: { template: "foo" } });
1739
1797
  }));
1740
- function ut(e) {
1741
- return e.name === Or.name && "setup" in e;
1798
+ function it(e) {
1799
+ return e.name === Mr.name && "setup" in e;
1742
1800
  }
1743
- function _r(e) {
1801
+ function Ir(e) {
1744
1802
  let t = {};
1745
- const { getPrefetchProps: n, setPrefetchProps: r } = Qt();
1746
- return lt(() => he(e), ({ route: a, ...s }) => {
1747
- a && (Dr(a, s), t = n(a, s));
1803
+ const { getPrefetchProps: n, setPrefetchProps: r } = Xt();
1804
+ return ht(() => me(e), ({ route: a, ...s }) => {
1805
+ a && (Tr(a, s), t = n(a, s));
1748
1806
  }, { immediate: !0 }), {
1749
1807
  commit: () => {
1750
1808
  r(t);
1751
1809
  }
1752
1810
  };
1753
1811
  }
1754
- function Dr(e, { routerPrefetch: t, linkPrefetch: n }) {
1812
+ function Tr(e, { routerPrefetch: t, linkPrefetch: n }) {
1755
1813
  e.matches.forEach((r) => {
1756
- Ft({
1814
+ zt({
1757
1815
  routePrefetch: r.prefetch,
1758
1816
  routerPrefetch: t,
1759
1817
  linkPrefetch: n
1760
- }, "components") && (Ve(r) && ut(r.component) && r.component.setup(), qe(r) && Object.values(r.components).forEach((a) => {
1761
- ut(a) && a.setup();
1818
+ }, "components") && (Ve(r) && it(r.component) && r.component.setup(), qe(r) && Object.values(r.components).forEach((a) => {
1819
+ it(a) && a.setup();
1762
1820
  }));
1763
1821
  });
1764
1822
  }
1765
- function Wr(e, t = {}, n = {}) {
1766
- const r = Oe(), o = nn(e), a = V(() => _(o.value) ? {} : he(t)), s = V(() => _(o.value) ? he(t) : he(n)), i = V(() => {
1767
- if (_(o.value))
1823
+ function Fr(e, t = {}, n = {}) {
1824
+ const r = Oe(), o = cn(e), a = N(() => D(o.value) ? {} : me(t)), s = N(() => D(o.value) ? me(t) : me(n)), u = N(() => {
1825
+ if (D(o.value))
1768
1826
  return o.value;
1769
1827
  try {
1770
1828
  return r.resolve(o.value, a.value, s.value);
1771
- } catch (v) {
1772
- throw v instanceof Y && console.error(`Failed to resolve route "${o.value.toString()}" in RouterLink.`, v), v;
1829
+ } catch (g) {
1830
+ throw g instanceof Z && console.error(`Failed to resolve route "${o.value.toString()}" in RouterLink.`, g), g;
1773
1831
  }
1774
- }), c = V(() => r.find(i.value, s.value)), f = V(() => !!c.value && r.route.matches.includes(c.value.matched)), u = V(() => !!c.value && r.route.matched === c.value.matched), h = V(() => r.isExternal(i.value)), { commit: P } = _r(() => ({
1775
- route: c.value,
1832
+ }), i = N(() => r.find(u.value, s.value)), c = N(() => !!i.value && r.route.matches.includes(i.value.matched)), f = N(() => !!i.value && r.route.matched === i.value.matched), h = N(() => r.isExternal(u.value)), { commit: P } = Ir(() => ({
1833
+ route: i.value,
1776
1834
  routerPrefetch: r.prefetch,
1777
1835
  linkPrefetch: s.value.prefetch
1778
- })), p = (v) => (P(), r.push(i.value, { ...s.value, ...v }));
1836
+ })), p = (g) => (P(), r.push(u.value, { ...s.value, ...g }));
1779
1837
  return {
1780
- route: c,
1781
- href: i,
1782
- isMatch: f,
1783
- isExactMatch: u,
1838
+ route: i,
1839
+ href: u,
1840
+ isMatch: c,
1841
+ isExactMatch: f,
1784
1842
  isExternal: h,
1785
1843
  push: p,
1786
- replace: (v) => p(v)
1844
+ replace: (g) => p(g)
1787
1845
  };
1788
1846
  }
1789
- function Mr(e, t, { exact: n } = {}) {
1790
- if (!qn(e))
1847
+ function Jr(e, t, { exact: n } = {}) {
1848
+ if (!Mn(e))
1791
1849
  return !1;
1792
1850
  if (t === void 0)
1793
1851
  return !0;
@@ -1798,39 +1856,39 @@ function Mr(e, t, { exact: n } = {}) {
1798
1856
  }
1799
1857
  return r.includes(t);
1800
1858
  }
1801
- function Tr(e, t) {
1859
+ function Qr(e, t) {
1802
1860
  const n = Oe();
1803
1861
  function r() {
1804
1862
  if (!e)
1805
1863
  return;
1806
- if (!Mr(n.route, e, t))
1807
- throw new jn(e, n.route.name);
1864
+ if (!Jr(n.route, e, t))
1865
+ throw new Dn(e, n.route.name);
1808
1866
  }
1809
- return lt(n.route, r, { immediate: !0, deep: !0 }), n.route;
1867
+ return ht(n.route, r, { immediate: !0, deep: !0 }), n.route;
1810
1868
  }
1811
- const Gt = Symbol();
1869
+ const Zt = Symbol();
1812
1870
  function Ge() {
1813
- return ie(Gt, 0);
1871
+ return fe(Zt, 0);
1814
1872
  }
1815
- function Kt() {
1816
- const e = ie(Bt);
1873
+ function en() {
1874
+ const e = fe(Ht);
1817
1875
  if (!e)
1818
- throw new Se();
1876
+ throw new Ae();
1819
1877
  return e;
1820
1878
  }
1821
- function zt(e) {
1879
+ function tn(e) {
1822
1880
  return (t) => {
1823
- const n = Ge(), o = Kt().addBeforeRouteHook({ lifecycle: e, hook: t, depth: n, timing: "component" });
1824
- return ht(o), o;
1881
+ const n = Ge(), o = en().addBeforeRouteHook({ lifecycle: e, hook: t, depth: n, timing: "component" });
1882
+ return pt(o), o;
1825
1883
  };
1826
1884
  }
1827
1885
  function Ke(e) {
1828
1886
  return (t) => {
1829
- const n = Ge(), o = Kt().addAfterRouteHook({ lifecycle: e, hook: t, depth: n, timing: "component" });
1830
- return ht(o), o;
1887
+ const n = Ge(), o = en().addAfterRouteHook({ lifecycle: e, hook: t, depth: n, timing: "component" });
1888
+ return pt(o), o;
1831
1889
  };
1832
1890
  }
1833
- const Xr = zt("onBeforeRouteUpdate"), Zr = zt("onBeforeRouteLeave"), eo = Ke("onAfterRouteEnter"), to = Ke("onAfterRouteUpdate"), no = Ke("onAfterRouteLeave"), Ir = ["href"], Fr = /* @__PURE__ */ ue({
1891
+ const no = tn("onBeforeRouteUpdate"), ro = tn("onBeforeRouteLeave"), oo = Ke("onAfterRouteEnter"), ao = Ke("onAfterRouteUpdate"), so = Ke("onAfterRouteLeave"), Gr = ["href"], Kr = /* @__PURE__ */ ie({
1834
1892
  __name: "routerLink",
1835
1893
  props: {
1836
1894
  to: {},
@@ -1841,101 +1899,101 @@ const Xr = zt("onBeforeRouteUpdate"), Zr = zt("onBeforeRouteLeave"), eo = Ke("on
1841
1899
  state: {}
1842
1900
  },
1843
1901
  setup(e) {
1844
- const t = e, n = Oe(), r = V(() => _(t.to) ? t.to : t.to(n.resolve)), o = V(() => {
1902
+ const t = e, n = Oe(), r = N(() => D(t.to) ? t.to : t.to(n.resolve)), o = N(() => {
1845
1903
  const { to: h, ...P } = t;
1846
1904
  return P;
1847
- }), { isMatch: a, isExactMatch: s, isExternal: i, push: c } = Wr(r, o), f = V(() => ({
1905
+ }), { isMatch: a, isExactMatch: s, isExternal: u, push: i } = Fr(r, o), c = N(() => ({
1848
1906
  "router-link--match": a.value,
1849
1907
  "router-link--exact-match": s.value
1850
1908
  }));
1851
- function u(h) {
1852
- h.preventDefault(), c();
1909
+ function f(h) {
1910
+ h.preventDefault(), i();
1853
1911
  }
1854
- return (h, P) => (pt(), rn("a", {
1912
+ return (h, P) => (dt(), un("a", {
1855
1913
  href: r.value,
1856
- class: on(["router-link", f.value]),
1857
- onClick: u
1914
+ class: fn(["router-link", c.value]),
1915
+ onClick: f
1858
1916
  }, [
1859
- dt(h.$slots, "default", mt(an({ resolved: r.value, isMatch: oe(a), isExactMatch: oe(s), isExternal: oe(i) })))
1860
- ], 10, Ir));
1917
+ mt(h.$slots, "default", gt(ln({ resolved: r.value, isMatch: ae(a), isExactMatch: ae(s), isExternal: ae(u) })))
1918
+ ], 10, Gr));
1861
1919
  }
1862
- }), Jr = /* @__PURE__ */ ue({
1920
+ }), zr = /* @__PURE__ */ ie({
1863
1921
  __name: "routerView",
1864
1922
  props: {
1865
- name: {}
1923
+ name: { default: "default" }
1866
1924
  },
1867
1925
  setup(e) {
1868
- const { name: t = "default" } = e, n = Tr(), r = Vn(), o = Ge(), { getProps: a } = Qt(), s = sn("RouterView", !0);
1869
- cn(Gt, o + 1);
1870
- const i = V(() => {
1871
- if (r.value)
1872
- return r.value.component;
1873
- const u = n.matches.at(o);
1874
- if (!u)
1926
+ const t = Qr(), n = Wn(), r = Ge(), { getProps: o } = Xt(), a = hn("RouterView", !0);
1927
+ pn(Zt, r + 1);
1928
+ const s = N(() => {
1929
+ if (n.value)
1930
+ return n.value.component;
1931
+ const c = t.matches.at(r);
1932
+ if (!c)
1875
1933
  return null;
1876
- const h = c(u), P = a(u.id, t, n);
1877
- return h ? P ? An(h, () => P) : h : null;
1934
+ const f = u(c), h = o(c.id, e.name, t);
1935
+ return f ? h ? Ln(f, () => h) : f : null;
1878
1936
  });
1879
- function c(u) {
1880
- return f(u)[t];
1937
+ function u(c) {
1938
+ return i(c)[e.name];
1881
1939
  }
1882
- function f(u) {
1883
- return qe(u) ? u.components : Ve(u) ? { default: u.component } : typeof s == "string" ? {} : { default: s };
1940
+ function i(c) {
1941
+ return qe(c) ? c.components : Ve(c) ? { default: c.component } : typeof a == "string" ? {} : { default: a };
1884
1942
  }
1885
- return (u, h) => i.value ? dt(u.$slots, "default", mt(un({ key: 0 }, { route: oe(n), component: i.value, rejection: oe(r) })), () => [
1886
- (pt(), fn(ln(i.value)))
1887
- ]) : hn("", !0);
1943
+ return (c, f) => s.value ? mt(c.$slots, "default", gt(dn({ key: 0 }, { route: ae(t), component: s.value, rejection: ae(n) })), () => [
1944
+ (dt(), mn(gn(s.value)))
1945
+ ]) : vn("", !0);
1888
1946
  }
1889
1947
  });
1890
- function Qr(e) {
1891
- return fe(e) && typeof e.value == "string";
1948
+ function Yr(e) {
1949
+ return le(e) && typeof e.value == "string";
1892
1950
  }
1893
- function it(e) {
1894
- return Qr(e) ? e : Dt(e, {});
1951
+ function ft(e) {
1952
+ return Yr(e) ? e : Ft(e, {});
1895
1953
  }
1896
- function ro(e) {
1897
- const t = Me(), n = Je(e.name), r = Mt(e.path), o = Tt(e.query), a = Wt(e.hash), s = e.meta ?? {}, i = Sn(e) ? it(e.host) : it(""), c = de({ id: t, meta: {}, state: {}, ...e }), f = {
1954
+ function co(e) {
1955
+ const t = Me(), n = Je(e.name), r = Qt(e.path), o = Gt(e.query), a = Jt(e.hash), s = e.meta ?? {}, u = Un(e) ? ft(e.host) : ft(""), i = ve({ id: t, meta: {}, state: {}, ...e }), c = {
1898
1956
  id: t,
1899
- matched: c,
1900
- matches: [c],
1957
+ matched: i,
1958
+ matches: [i],
1901
1959
  name: n,
1902
- host: i,
1960
+ host: u,
1903
1961
  path: r,
1904
1962
  query: o,
1905
1963
  hash: a,
1906
1964
  meta: s,
1907
1965
  depth: 1,
1908
1966
  state: {}
1909
- }, u = Rt(e) ? yt(e.parent, f) : f;
1910
- return te(u.path.params, u.query.params, u.host.params), u;
1967
+ }, f = yt(e) ? Rt(e.parent, c) : c;
1968
+ return re(f.path.params, f.query.params, f.host.params), f;
1911
1969
  }
1912
1970
  export {
1913
- yn as DuplicateParamsError,
1914
- Fr as RouterLink,
1915
- Se as RouterNotInstalledError,
1916
- Jr as RouterView,
1917
- jn as UseRouteInvalidError,
1918
- Qn as asUrl,
1919
- An as component,
1920
- ro as createExternalRoute,
1921
- Cn as createParam,
1922
- ee as createRoute,
1923
- Yr as createRouter,
1924
- Bn as isParamWithDefault,
1925
- Mr as isRoute,
1926
- _ as isUrl,
1927
- eo as onAfterRouteEnter,
1928
- to as onAfterRouteLeave,
1929
- no as onAfterRouteUpdate,
1930
- Xr as onBeforeRouteLeave,
1931
- Zr as onBeforeRouteUpdate,
1932
- $e as path,
1971
+ bn as DuplicateParamsError,
1972
+ Kr as RouterLink,
1973
+ Ae as RouterNotInstalledError,
1974
+ zr as RouterView,
1975
+ Dn as UseRouteInvalidError,
1976
+ Xn as asUrl,
1977
+ Ln as component,
1978
+ co as createExternalRoute,
1979
+ qn as createParam,
1980
+ ne as createRoute,
1981
+ to as createRouter,
1982
+ jn as isParamWithDefault,
1983
+ Jr as isRoute,
1984
+ D as isUrl,
1985
+ oo as onAfterRouteEnter,
1986
+ ao as onAfterRouteLeave,
1987
+ so as onAfterRouteUpdate,
1988
+ no as onBeforeRouteLeave,
1989
+ ro as onBeforeRouteUpdate,
1990
+ je as path,
1933
1991
  ct as query,
1934
- xt as routerInjectionKey,
1992
+ Ut as routerInjectionKey,
1935
1993
  At as routerRejectionKey,
1936
- Wr as useLink,
1937
- Vn as useRejection,
1938
- Tr as useRoute,
1994
+ Fr as useLink,
1995
+ Wn as useRejection,
1996
+ Qr as useRoute,
1939
1997
  Oe as useRouter,
1940
- zr as withDefault
1998
+ eo as withDefault
1941
1999
  };