vue-micro-router 1.0.56 → 1.0.57

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.
Files changed (2) hide show
  1. package/dist/index.mjs +470 -460
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -1,102 +1,102 @@
1
- import { shallowReactive as U, computed as A, defineAsyncComponent as me, reactive as pe, nextTick as k, ref as ee, inject as x, watch as X, onMounted as q, onBeforeUnmount as he, provide as N, toRefs as Ne, toRef as Oe, defineComponent as oe, openBlock as G, createBlock as F, resolveDynamicComponent as ye, mergeProps as Pe, Teleport as Ke, createElementVNode as j, withModifiers as le, normalizeStyle as be, normalizeClass as Q, createElementBlock as V, createCommentVNode as We, renderSlot as we, Fragment as te, createVNode as Re, TransitionGroup as Se, withCtx as ce, renderList as ue, unref as Y } from "vue";
2
- import { i as De, s as Ce, g as H, w as ne, p as B, b as K, n as W, u as $e } from "./use-audio-manager.mjs";
1
+ import { shallowReactive as U, computed as C, defineAsyncComponent as me, reactive as pe, nextTick as k, ref as ee, inject as V, watch as X, onMounted as q, onBeforeUnmount as he, provide as N, toRefs as Oe, toRef as Ke, defineComponent as oe, openBlock as I, createBlock as z, resolveDynamicComponent as ye, mergeProps as Pe, Teleport as We, createElementVNode as j, withModifiers as le, normalizeStyle as be, normalizeClass as Q, createElementBlock as x, createCommentVNode as $e, renderSlot as we, Fragment as te, createVNode as Re, TransitionGroup as Ee, withCtx as ce, renderList as ue, unref as Y } from "vue";
2
+ import { i as De, s as Ae, g as H, w as ne, p as B, b as K, n as W, u as Ye } from "./use-audio-manager.mjs";
3
3
  const Me = Symbol("micro-router");
4
- function vt() {
4
+ function ht() {
5
5
  return Symbol("micro-router-nested");
6
6
  }
7
- const de = Symbol("micro-router-root"), Le = Symbol("micro-route-path"), Te = Symbol("micro-dialog-path"), _e = Symbol("micro-control-name"), ae = Symbol("micro-attrs-read"), ie = Symbol("micro-attrs-write"), Ye = 550;
8
- function Ae() {
7
+ const de = Symbol("micro-router-root"), Le = Symbol("micro-route-path"), Te = Symbol("micro-dialog-path"), _e = Symbol("micro-control-name"), ae = Symbol("micro-attrs-read"), ie = Symbol("micro-attrs-write"), Ue = 550;
8
+ function Ce() {
9
9
  const e = /* @__PURE__ */ new Set();
10
- function o(i, t) {
10
+ function n(i, t) {
11
11
  const c = setTimeout(() => {
12
12
  e.delete(c), i();
13
13
  }, t);
14
14
  return e.add(c), c;
15
15
  }
16
- function n() {
16
+ function o() {
17
17
  e.forEach(clearTimeout), e.clear();
18
18
  }
19
- return { schedule: o, cleanup: n };
19
+ return { schedule: n, cleanup: o };
20
20
  }
21
21
  function fe(e) {
22
- return new Promise((o) => setTimeout(o, e));
22
+ return new Promise((n) => setTimeout(n, e));
23
23
  }
24
- function Ue(e, o) {
25
- const n = e.defaultControlName, i = e.onboardingControlName, t = 300, c = Ae();
24
+ function Xe(e, n) {
25
+ const o = e.defaultControlName, i = e.onboardingControlName, t = 300, c = Ce();
26
26
  let u = !1;
27
27
  const s = U(/* @__PURE__ */ new Map()), f = U(
28
28
  /* @__PURE__ */ new Map()
29
- ), a = A(() => {
30
- const l = [];
31
- for (const r of s.values())
32
- r.activated && l.push(r);
33
- return l;
34
- }), d = a, R = A(
35
- () => a.value.some((l) => l.name !== n)
36
- ), L = A(() => {
37
- const l = a.value.find((r) => r.name !== n);
38
- return (l == null ? void 0 : l.name) ?? n;
29
+ ), a = C(() => {
30
+ const r = [];
31
+ for (const l of s.values())
32
+ l.activated && r.push(l);
33
+ return r;
34
+ }), d = a, R = C(
35
+ () => a.value.some((r) => r.name !== o)
36
+ ), M = C(() => {
37
+ const r = a.value.find((l) => l.name !== o);
38
+ return (r == null ? void 0 : r.name) ?? o;
39
39
  });
40
- function M(l, r, P) {
41
- var h, C, m;
42
- if (!(r && u)) {
43
- r && (u = !0);
40
+ function L(r, l, P) {
41
+ var h, A, m;
42
+ if (!(l && u)) {
43
+ l && (u = !0);
44
44
  try {
45
- const y = s.get(l);
45
+ const y = s.get(r);
46
46
  if (!y) return;
47
- const v = s.get(n), D = l === n || l === i;
48
- if (r)
49
- (h = o == null ? void 0 : o.trackGuiEnter) == null || h.call(o, l), D ? s.forEach((w) => {
47
+ const v = s.get(o), D = r === o || r === i;
48
+ if (l)
49
+ (h = n == null ? void 0 : n.trackGuiEnter) == null || h.call(n, r), D ? s.forEach((w) => {
50
50
  var b;
51
- w.name !== n && w.activated && ((b = o == null ? void 0 : o.trackGuiLeave) == null || b.call(o, w.name), s.set(w.name, {
51
+ w.name !== o && w.activated && ((b = n == null ? void 0 : n.trackGuiLeave) == null || b.call(n, w.name), s.set(w.name, {
52
52
  ...w,
53
53
  activated: !1,
54
54
  attrs: void 0
55
55
  }));
56
- }) : v != null && v.activated && ((C = o == null ? void 0 : o.trackGuiLeave) == null || C.call(o, n), s.set(n, { ...v, activated: !1 })), P && f.set(l, { ...P }), s.set(l, {
56
+ }) : v != null && v.activated && ((A = n == null ? void 0 : n.trackGuiLeave) == null || A.call(n, o), s.set(o, { ...v, activated: !1 })), P && f.set(r, { ...P }), s.set(r, {
57
57
  ...y,
58
58
  activated: !0,
59
59
  componentKey: (y.componentKey || 0) + 1,
60
60
  attrs: P ? { ...P } : void 0
61
61
  });
62
62
  else {
63
- (m = o == null ? void 0 : o.trackGuiLeave) == null || m.call(o, l), f.delete(l), s.set(l, { ...y, activated: !1, attrs: void 0 });
64
- const w = s.get(n);
63
+ (m = n == null ? void 0 : n.trackGuiLeave) == null || m.call(n, r), f.delete(r), s.set(r, { ...y, activated: !1, attrs: void 0 });
64
+ const w = s.get(o);
65
65
  if (!D && w && !w.activated) {
66
66
  if (w.name === i) return;
67
- s.set(n, { ...w, activated: !0 });
67
+ s.set(o, { ...w, activated: !0 });
68
68
  }
69
69
  }
70
70
  } finally {
71
- r && c.schedule(() => {
71
+ l && c.schedule(() => {
72
72
  u = !1;
73
73
  }, t);
74
74
  }
75
75
  }
76
76
  }
77
- function _(l) {
78
- s.has(l.name) && console.warn(`[vue-micro-router] Control "${l.name}" already registered. Overwriting.`);
79
- let { component: r } = l;
80
- De(r) && (r = me(r)), s.set(l.name, {
81
- ...l,
82
- component: Ce(r)
77
+ function _(r) {
78
+ s.has(r.name) && console.warn(`[vue-micro-router] Control "${r.name}" already registered. Overwriting.`);
79
+ let { component: l } = r;
80
+ De(l) && (l = me(l)), s.set(r.name, {
81
+ ...r,
82
+ component: Ae(l)
83
83
  });
84
84
  }
85
- function T(l) {
86
- l.forEach(_);
85
+ function T(r) {
86
+ r.forEach(_);
87
87
  }
88
- function g(l) {
89
- return f.get(l);
88
+ function g(r) {
89
+ return f.get(r);
90
90
  }
91
- function p(l, r) {
92
- const P = f.get(l);
93
- f.set(l, { ...P, ...r });
91
+ function p(r, l) {
92
+ const P = f.get(r);
93
+ f.set(r, { ...P, ...l });
94
94
  }
95
95
  return {
96
96
  resolveControls: d,
97
97
  activeControl: R,
98
- currentControl: L,
99
- toggleControl: M,
98
+ currentControl: M,
99
+ toggleControl: L,
100
100
  registerControl: _,
101
101
  registerControls: T,
102
102
  getControlAttrs: g,
@@ -104,35 +104,35 @@ function Ue(e, o) {
104
104
  cleanup: c.cleanup
105
105
  };
106
106
  }
107
- const ge = "micro-router-inspector", Xe = "micro-router-events";
107
+ const ge = "micro-router-inspector", Fe = "micro-router-events";
108
108
  async function ze(e) {
109
109
  if (typeof import.meta < "u") return;
110
- let o;
110
+ let n;
111
111
  try {
112
- o = (await import(
112
+ n = (await import(
113
113
  /* @vite-ignore */
114
114
  "@vue/devtools-api"
115
115
  )).setupDevtoolsPlugin;
116
116
  } catch {
117
117
  return;
118
118
  }
119
- o && o(
119
+ n && n(
120
120
  {
121
121
  id: "vue-micro-router",
122
122
  label: "Micro Router",
123
123
  packageName: "vue-micro-router",
124
124
  homepage: "https://github.com/danh121097/vue-micro-router"
125
125
  },
126
- (n) => {
127
- n.addInspector({
126
+ (o) => {
127
+ o.addInspector({
128
128
  id: ge,
129
129
  label: "Micro Router",
130
130
  icon: "route"
131
- }), n.addTimelineLayer({
132
- id: Xe,
131
+ }), o.addTimelineLayer({
132
+ id: Fe,
133
133
  label: "Micro Router",
134
134
  color: 4372611
135
- }), n.on.getInspectorTree((i) => {
135
+ }), o.on.getInspectorTree((i) => {
136
136
  i.inspectorId === ge && (i.rootNodes = [
137
137
  {
138
138
  id: "routes",
@@ -159,7 +159,7 @@ async function ze(e) {
159
159
  }))
160
160
  }
161
161
  ]);
162
- }), n.on.getInspectorState((i) => {
162
+ }), o.on.getInspectorState((i) => {
163
163
  if (i.inspectorId === ge) {
164
164
  if (i.nodeId === "routes")
165
165
  i.state = {
@@ -200,11 +200,11 @@ async function ze(e) {
200
200
  }
201
201
  );
202
202
  }
203
- function Fe(e) {
204
- const o = e.activePath.value.split("/").filter(Boolean), n = {};
205
- for (const s of o) {
203
+ function Ve(e) {
204
+ const n = e.activePath.value.split("/").filter(Boolean), o = {};
205
+ for (const s of n) {
206
206
  const f = e.getRouteAttrs(s);
207
- f && (n[s] = { ...f });
207
+ f && (o[s] = { ...f });
208
208
  }
209
209
  const i = [], t = {};
210
210
  for (const s of e.resolveDialogs.value) {
@@ -221,31 +221,31 @@ function Fe(e) {
221
221
  }
222
222
  return {
223
223
  version: 1,
224
- navigation: { activePath: e.activePath.value, routeAttrs: n },
224
+ navigation: { activePath: e.activePath.value, routeAttrs: o },
225
225
  dialogs: { stack: i, attrs: t },
226
226
  controls: { active: c, attrs: u }
227
227
  };
228
228
  }
229
- async function xe(e, o) {
230
- if (o.version !== 1) {
231
- console.warn("[vue-micro-router] Unknown serialized state version:", o.version);
229
+ async function xe(e, n) {
230
+ if (n.version !== 1) {
231
+ console.warn("[vue-micro-router] Unknown serialized state version:", n.version);
232
232
  return;
233
233
  }
234
- const { activePath: n, routeAttrs: i } = o.navigation;
235
- await e.push(n);
234
+ const { activePath: o, routeAttrs: i } = n.navigation;
235
+ await e.push(o);
236
236
  for (const [t, c] of Object.entries(i))
237
237
  e.updateRouteAttrs(t, c);
238
- for (const t of o.dialogs.stack) {
239
- const c = o.dialogs.attrs[t];
238
+ for (const t of n.dialogs.stack) {
239
+ const c = n.dialogs.attrs[t];
240
240
  e.openDialog(t, c);
241
241
  }
242
- for (const t of o.controls.active) {
243
- const c = o.controls.attrs[t];
242
+ for (const t of n.controls.active) {
243
+ const c = n.controls.attrs[t];
244
244
  e.toggleControl(t, !0, c);
245
245
  }
246
246
  }
247
- function Ve(e) {
248
- const n = Ae();
247
+ function je(e) {
248
+ const o = Ce();
249
249
  let i = !1;
250
250
  const t = pe({
251
251
  activeDialog: "",
@@ -257,33 +257,33 @@ function Ve(e) {
257
257
  dialogs: U(/* @__PURE__ */ new Map()),
258
258
  /** Attrs stored separately for useMicroState access inside dialog components */
259
259
  dialogAttrs: U(/* @__PURE__ */ new Map())
260
- }), c = A(() => {
260
+ }), c = C(() => {
261
261
  const g = [], p = /* @__PURE__ */ new Set();
262
- for (const l of t.dialogStack) {
263
- const r = t.dialogs.get(l);
264
- r && (r.activated || r.closing) && (g.push(r), p.add(l));
262
+ for (const r of t.dialogStack) {
263
+ const l = t.dialogs.get(r);
264
+ l && (l.activated || l.closing) && (g.push(l), p.add(r));
265
265
  }
266
- for (const l of t.dialogs.values())
267
- l.closing && !p.has(l.path) && g.push(l);
266
+ for (const r of t.dialogs.values())
267
+ r.closing && !p.has(r.path) && g.push(r);
268
268
  return g;
269
- }), u = n.schedule;
269
+ }), u = o.schedule;
270
270
  function s(g, p) {
271
271
  return { path: g, attrs: p };
272
272
  }
273
- function f({ path: g, open: p, attrs: l }) {
274
- const r = t.dialogs.get(g);
275
- return r && k(() => {
273
+ function f({ path: g, open: p, attrs: r }) {
274
+ const l = t.dialogs.get(g);
275
+ return l && k(() => {
276
276
  if (p)
277
- t.fromDialog = t.activeDialog, t.toDialog = g, t.dialogStack.includes(g) || t.dialogStack.push(g), t.activeDialog = g, l && t.dialogAttrs.set(g, { ...l }), t.dialogs.set(g, {
278
- ...r,
277
+ t.fromDialog = t.activeDialog, t.toDialog = g, t.dialogStack.includes(g) || t.dialogStack.push(g), t.activeDialog = g, r && t.dialogAttrs.set(g, { ...r }), t.dialogs.set(g, {
278
+ ...l,
279
279
  activated: !0,
280
280
  closing: !1,
281
- componentKey: (r.componentKey || 0) + 1,
281
+ componentKey: (l.componentKey || 0) + 1,
282
282
  attrs: {
283
283
  path: g,
284
- ...l,
284
+ ...r,
285
285
  onClose: () => {
286
- d(g), l != null && l.onClose && typeof l.onClose == "function" && l.onClose();
286
+ d(g), r != null && r.onClose && typeof r.onClose == "function" && r.onClose();
287
287
  }
288
288
  }
289
289
  });
@@ -291,32 +291,32 @@ function Ve(e) {
291
291
  t.fromDialog = t.activeDialog;
292
292
  const P = t.dialogStack.indexOf(g);
293
293
  P > -1 && t.dialogStack.splice(P, 1), t.activeDialog = t.dialogStack.at(-1) ?? "", t.toDialog = t.activeDialog;
294
- const h = r.transitionDuration ?? (r.transition === "slide" ? 500 : 300);
294
+ const h = l.transitionDuration ?? (l.transition === "slide" ? 500 : 300);
295
295
  t.dialogs.set(g, {
296
- ...r,
296
+ ...l,
297
297
  activated: !1,
298
298
  closing: !0,
299
299
  attrs: void 0
300
300
  }), u(() => {
301
- const C = t.dialogs.get(g);
302
- C && !C.activated && t.dialogs.set(g, { ...C, closing: !1 });
301
+ const A = t.dialogs.get(g);
302
+ A && !A.activated && t.dialogs.set(g, { ...A, closing: !1 });
303
303
  }, h + 200);
304
304
  }
305
- }), s(g, l);
305
+ }), s(g, r);
306
306
  }
307
307
  function a(g, p) {
308
- var l;
308
+ var r;
309
309
  if (i) return s(g, p);
310
310
  i = !0;
311
311
  try {
312
- const r = t.activeDialog || "";
313
- (l = e == null ? void 0 : e.trackDialogEnter) == null || l.call(e, g, r, g);
312
+ const l = t.activeDialog || "";
313
+ (r = e == null ? void 0 : e.trackDialogEnter) == null || r.call(e, g, l, g);
314
314
  const P = f({ path: g, open: !0, attrs: p });
315
315
  return u(() => {
316
316
  i = !1;
317
317
  }, 300), P;
318
- } catch (r) {
319
- throw i = !1, r;
318
+ } catch (l) {
319
+ throw i = !1, l;
320
320
  }
321
321
  }
322
322
  function d(g) {
@@ -325,65 +325,65 @@ function Ve(e) {
325
325
  }
326
326
  function R() {
327
327
  const g = [], p = [];
328
- t.dialogs.forEach((l, r) => {
328
+ t.dialogs.forEach((r, l) => {
329
329
  var P, h;
330
- if (l.activated) {
331
- (P = e == null ? void 0 : e.trackDialogLeave) == null || P.call(e, r, r, "");
332
- const C = (h = l.attrs) == null ? void 0 : h.onClose;
333
- typeof C == "function" && p.push(C), t.dialogs.set(r, {
334
- ...l,
330
+ if (r.activated) {
331
+ (P = e == null ? void 0 : e.trackDialogLeave) == null || P.call(e, l, l, "");
332
+ const A = (h = r.attrs) == null ? void 0 : h.onClose;
333
+ typeof A == "function" && p.push(A), t.dialogs.set(l, {
334
+ ...r,
335
335
  activated: !1,
336
336
  closing: !0,
337
337
  attrs: void 0
338
- }), g.push(r);
338
+ }), g.push(l);
339
339
  }
340
- }), p.forEach((l) => l()), t.dialogAttrs.clear(), t.fromDialog = t.activeDialog, t.toDialog = "", t.activeDialog = "", t.dialogStack = [], u(() => {
341
- g.forEach((l) => {
342
- const r = t.dialogs.get(l);
343
- r && !r.activated && t.dialogs.set(l, { ...r, closing: !1 });
340
+ }), p.forEach((r) => r()), t.dialogAttrs.clear(), t.fromDialog = t.activeDialog, t.toDialog = "", t.activeDialog = "", t.dialogStack = [], u(() => {
341
+ g.forEach((r) => {
342
+ const l = t.dialogs.get(r);
343
+ l && !l.activated && t.dialogs.set(r, { ...l, closing: !1 });
344
344
  });
345
345
  }, 500);
346
346
  }
347
- function L(g) {
347
+ function M(g) {
348
348
  t.dialogs.has(g.path) && console.warn(`[vue-micro-router] Dialog "${g.path}" already registered. Overwriting.`);
349
349
  let { component: p } = g;
350
350
  De(p) && (p = me(p)), t.dialogs.set(g.path, {
351
351
  persistent: !0,
352
352
  ...g,
353
- component: Ce(p)
353
+ component: Ae(p)
354
354
  });
355
355
  }
356
- function M(g) {
357
- g.forEach(L);
356
+ function L(g) {
357
+ g.forEach(M);
358
358
  }
359
359
  function _(g) {
360
360
  return t.dialogAttrs.get(g);
361
361
  }
362
362
  function T(g, p) {
363
- const l = t.dialogAttrs.get(g);
364
- t.dialogAttrs.set(g, { ...l, ...p });
363
+ const r = t.dialogAttrs.get(g);
364
+ t.dialogAttrs.set(g, { ...r, ...p });
365
365
  }
366
366
  return {
367
- activeDialog: A(() => t.activeDialog),
368
- fromDialog: A(() => t.fromDialog),
369
- toDialog: A(() => t.toDialog),
367
+ activeDialog: C(() => t.activeDialog),
368
+ fromDialog: C(() => t.fromDialog),
369
+ toDialog: C(() => t.toDialog),
370
370
  resolveDialogs: c,
371
371
  openDialog: a,
372
372
  closeDialog: d,
373
373
  closeAllDialogs: R,
374
- registerDialog: L,
375
- registerDialogs: M,
374
+ registerDialog: M,
375
+ registerDialogs: L,
376
376
  getDialogAttrs: _,
377
377
  updateDialogAttrs: T,
378
- cleanup: n.cleanup
378
+ cleanup: o.cleanup
379
379
  };
380
380
  }
381
381
  const Be = 5e3;
382
- async function ve(e, o, n, i) {
382
+ async function ve(e, n, o, i) {
383
383
  let t;
384
384
  try {
385
385
  const c = await Promise.race([
386
- Promise.resolve(e(o, n)),
386
+ Promise.resolve(e(n, o)),
387
387
  new Promise((u, s) => {
388
388
  t = setTimeout(() => s(new Error("Navigation guard timed out")), i);
389
389
  })
@@ -393,62 +393,62 @@ async function ve(e, o, n, i) {
393
393
  return clearTimeout(t), !1;
394
394
  }
395
395
  }
396
- async function je(e, o, n, i = Be) {
396
+ async function He(e, n, o, i = Be) {
397
397
  for (const t of e)
398
- if (!await ve(t, o, n, i)) return !1;
398
+ if (!await ve(t, n, o, i)) return !1;
399
399
  return !0;
400
400
  }
401
- async function Ee(e, o, n, i) {
401
+ async function Se(e, n, o, i) {
402
402
  var s;
403
- const t = n.guardTimeout ?? Be;
404
- if ((s = n.beforeEach) != null && s.length && !await je(n.beforeEach, e, o, t))
403
+ const t = o.guardTimeout ?? Be;
404
+ if ((s = o.beforeEach) != null && s.length && !await He(o.beforeEach, e, n, t))
405
405
  return !1;
406
406
  const c = H(e);
407
407
  if (c) {
408
408
  const f = i.getRoute(c);
409
- if (f != null && f.beforeEnter && !await ve(f.beforeEnter, e, o, t))
409
+ if (f != null && f.beforeEnter && !await ve(f.beforeEnter, e, n, t))
410
410
  return !1;
411
411
  }
412
- const u = H(o);
412
+ const u = H(n);
413
413
  if (u) {
414
414
  const f = i.getRoute(u);
415
- if (f != null && f.beforeLeave && !await ve(f.beforeLeave, e, o, t))
415
+ if (f != null && f.beforeLeave && !await ve(f.beforeLeave, e, n, t))
416
416
  return !1;
417
417
  }
418
418
  return !0;
419
419
  }
420
- function He(e, o, n) {
421
- if (n != null && n.length)
422
- for (const i of n)
420
+ function qe(e, n, o) {
421
+ if (o != null && o.length)
422
+ for (const i of o)
423
423
  try {
424
- i(e, o);
424
+ i(e, n);
425
425
  } catch {
426
426
  }
427
427
  }
428
- function qe(e, o) {
429
- const n = e.maxEntries ?? 50, i = [];
428
+ function Je(e, n) {
429
+ const o = e.maxEntries ?? 50, i = [];
430
430
  let t = -1, c = !1;
431
431
  const u = ee(0);
432
432
  function s(g, p) {
433
- !e.enabled || c || (t < i.length - 1 && i.splice(t + 1), i.push({ path: g, timestamp: Date.now(), props: p ? { ...p } : void 0 }), t = i.length - 1, i.length > n && (i.shift(), t--), u.value++);
433
+ !e.enabled || c || (t < i.length - 1 && i.splice(t + 1), i.push({ path: g, timestamp: Date.now(), props: p ? { ...p } : void 0 }), t = i.length - 1, i.length > o && (i.shift(), t--), u.value++);
434
434
  }
435
- const f = A(() => (u.value, [...i])), a = A(() => (u.value, t > 0)), d = A(() => (u.value, t < i.length - 1));
435
+ const f = C(() => (u.value, [...i])), a = C(() => (u.value, t > 0)), d = C(() => (u.value, t < i.length - 1));
436
436
  async function R(g) {
437
437
  if (g < 0 || g >= i.length) return;
438
438
  const p = i[g];
439
439
  if (p) {
440
440
  t = g, c = !0, u.value++;
441
441
  try {
442
- await o(p.path);
442
+ await n(p.path);
443
443
  } finally {
444
444
  c = !1;
445
445
  }
446
446
  }
447
447
  }
448
- async function L() {
448
+ async function M() {
449
449
  a.value && await R(t - 1);
450
450
  }
451
- async function M() {
451
+ async function L() {
452
452
  d.value && await R(t + 1);
453
453
  }
454
454
  async function _(g) {
@@ -458,37 +458,37 @@ function qe(e, o) {
458
458
  function T() {
459
459
  i.length = 0, t = -1, u.value++;
460
460
  }
461
- return { entries: f, canGoBack: a, canGoForward: d, back: L, forward: M, go: _, clear: T, record: s };
461
+ return { entries: f, canGoBack: a, canGoForward: d, back: M, forward: L, go: _, clear: T, record: s };
462
462
  }
463
- function Je() {
464
- const e = U(/* @__PURE__ */ new Map()), o = /* @__PURE__ */ new Map();
465
- function n(u) {
463
+ function Qe() {
464
+ const e = U(/* @__PURE__ */ new Map()), n = /* @__PURE__ */ new Map();
465
+ function o(u) {
466
466
  e.has(u.path) && console.warn(`[vue-micro-router] Route "${u.path}" already registered. Overwriting.`);
467
467
  let { component: s } = u;
468
- De(s) && (o.set(u.path, s), s = me(s)), e.set(u.path, {
468
+ De(s) && (n.set(u.path, s), s = me(s)), e.set(u.path, {
469
469
  ...u,
470
- component: Ce(s)
471
- }), u.preload === "eager" && o.has(u.path) && ne(o.get(u.path));
470
+ component: Ae(s)
471
+ }), u.preload === "eager" && n.has(u.path) && ne(n.get(u.path));
472
472
  }
473
473
  function i(u) {
474
- u.forEach(n);
474
+ u.forEach(o);
475
475
  }
476
476
  async function t(u) {
477
- const s = o.get(u);
477
+ const s = n.get(u);
478
478
  s && await ne(s);
479
479
  }
480
480
  function c(u) {
481
481
  for (const [s, f] of e.entries())
482
482
  if (f.preload === "adjacent" && !u.includes(s)) {
483
- const a = o.get(s);
483
+ const a = n.get(s);
484
484
  a && ne(a);
485
485
  }
486
486
  }
487
- return { routes: e, asyncLoaders: o, registerRoute: n, registerRoutes: i, preloadRoute: t, preloadAdjacent: c };
487
+ return { routes: e, asyncLoaders: n, registerRoute: o, registerRoutes: i, preloadRoute: t, preloadAdjacent: c };
488
488
  }
489
- function Qe(e) {
490
- const o = e.stepWiseDelay ?? Math.max(e.stepDelay * 1.2, e.stepDelay + 100);
491
- async function n(t, c) {
489
+ function Ze(e) {
490
+ const n = e.stepWiseDelay ?? Math.max(e.stepDelay * 1.2, e.stepDelay + 100);
491
+ async function o(t, c) {
492
492
  if (!t || e.isLocked()) return;
493
493
  const u = W(t);
494
494
  if (e.getActivePath() !== u) {
@@ -509,7 +509,7 @@ function Qe(e) {
509
509
  );
510
510
  if (e.getActivePath() === d) continue;
511
511
  const R = a === f.length - 1;
512
- await e.pushCore(d, R ? c : void 0), R || await fe(o);
512
+ await e.pushCore(d, R ? c : void 0), R || await fe(n);
513
513
  }
514
514
  else {
515
515
  const a = f.filter(
@@ -521,7 +521,7 @@ function Qe(e) {
521
521
  }
522
522
  for (let d = 0; d < a.length; d++) {
523
523
  const R = d === a.length - 1;
524
- await e.pushCore(a[d], R ? c : void 0), R || await fe(o);
524
+ await e.pushCore(a[d], R ? c : void 0), R || await fe(n);
525
525
  }
526
526
  }
527
527
  e.scheduleUnlock();
@@ -544,36 +544,36 @@ function Qe(e) {
544
544
  }
545
545
  }
546
546
  for (let s = 0; s < u; s++)
547
- await e.pushCore(-1), s < u - 1 && await fe(o);
547
+ await e.pushCore(-1), s < u - 1 && await fe(n);
548
548
  e.scheduleUnlock();
549
549
  } catch (s) {
550
550
  throw e.unlock(), s;
551
551
  }
552
552
  }
553
553
  }
554
- return { stepWisePush: n, stepWiseBack: i };
554
+ return { stepWisePush: o, stepWiseBack: i };
555
555
  }
556
- function Ze(e, o) {
557
- const n = e.defaultPath, i = e.stepDelay ?? Ye, t = e.guards ?? {}, c = e.history ?? {}, u = Ae(), s = Je(), f = ee(!1), a = pe({
558
- activePath: n,
559
- fromPath: n,
560
- toPath: n,
556
+ function ke(e, n) {
557
+ const o = e.defaultPath, i = e.stepDelay ?? Ue, t = e.guards ?? {}, c = e.history ?? {}, u = Ce(), s = Qe(), f = ee(!1), a = pe({
558
+ activePath: o,
559
+ fromPath: o,
560
+ toPath: o,
561
561
  /** Attrs stored separately — changes here do NOT invalidate resolveRoutes computed */
562
562
  routeAttrs: U(/* @__PURE__ */ new Map()),
563
563
  /** Version stamp per segment — incremented on re-navigation to same segment (forces transition) */
564
564
  routeKeys: U(/* @__PURE__ */ new Map()),
565
565
  /** Component key per segment — incremented to force Vue full remount (resets local state) */
566
566
  componentKeys: U(/* @__PURE__ */ new Map())
567
- }), d = /* @__PURE__ */ new Map(), R = A(() => {
567
+ }), d = /* @__PURE__ */ new Map(), R = C(() => {
568
568
  const m = B(a.activePath), y = [];
569
569
  for (const v of m) {
570
570
  const D = s.routes.get(v);
571
571
  if (!D) continue;
572
- const w = a.routeKeys.get(v) || 0, b = a.componentKeys.get(v) || 0, E = `${D.path}-${w}`, S = d.get(v);
573
- if (S && S.key === E && S.componentKey === b)
574
- y.push(S);
572
+ const w = a.routeKeys.get(v) || 0, b = a.componentKeys.get(v) || 0, S = `${D.path}-${w}`, E = d.get(v);
573
+ if (E && E.key === S && E.componentKey === b)
574
+ y.push(E);
575
575
  else {
576
- const O = { ...D, key: E, componentKey: b };
576
+ const O = { ...D, key: S, componentKey: b };
577
577
  d.set(v, O), y.push(O);
578
578
  }
579
579
  }
@@ -581,32 +581,32 @@ function Ze(e, o) {
581
581
  m.includes(v) || d.delete(v);
582
582
  return y;
583
583
  });
584
- function L(m, y) {
585
- var O, I;
584
+ function M(m, y) {
585
+ var O, G;
586
586
  const v = B(a.activePath), D = Math.min(m, v.length - 1);
587
587
  if (D <= 0) return;
588
588
  const w = v.slice(0, -D), b = K(w);
589
589
  for (let $ = v.length - D; $ < v.length; $++)
590
590
  a.routeAttrs.delete(v[$]);
591
- const E = w.at(-1);
592
- if (E && y) {
593
- const $ = a.routeAttrs.get(E);
594
- a.routeAttrs.set(E, { ...$, ...y }), a.componentKeys.set(
595
- E,
596
- (a.componentKeys.get(E) || 0) + 1
591
+ const S = w.at(-1);
592
+ if (S && y) {
593
+ const $ = a.routeAttrs.get(S);
594
+ a.routeAttrs.set(S, { ...$, ...y }), a.componentKeys.set(
595
+ S,
596
+ (a.componentKeys.get(S) || 0) + 1
597
597
  );
598
598
  }
599
- const S = a.activePath;
600
- (O = o == null ? void 0 : o.trackPageLeave) == null || O.call(o, S, S, b), a.fromPath = S, a.toPath = b, a.activePath = b, (I = o == null ? void 0 : o.trackPageEnter) == null || I.call(o, b, S, b);
599
+ const E = a.activePath;
600
+ (O = n == null ? void 0 : n.trackPageLeave) == null || O.call(n, E, E, b), a.fromPath = E, a.toPath = b, a.activePath = b, (G = n == null ? void 0 : n.trackPageEnter) == null || G.call(n, b, E, b);
601
601
  }
602
- async function M(m, y) {
603
- var b, E;
602
+ async function L(m, y) {
603
+ var b, S;
604
604
  const v = W(m), D = B(v);
605
605
  await Promise.all(
606
- D.map((S) => s.asyncLoaders.get(S)).filter((S) => !!S).map((S) => ne(S))
606
+ D.map((E) => s.asyncLoaders.get(E)).filter((E) => !!E).map((E) => ne(E))
607
607
  );
608
608
  const w = a.activePath;
609
- w !== v && ((b = o == null ? void 0 : o.trackPageLeave) == null || b.call(o, w, w, v)), a.fromPath = w, a.toPath = v, a.activePath = v, y && _(v, y), (E = o == null ? void 0 : o.trackPageEnter) == null || E.call(o, v, w, v);
609
+ w !== v && ((b = n == null ? void 0 : n.trackPageLeave) == null || b.call(n, w, w, v)), a.fromPath = w, a.toPath = v, a.activePath = v, y && _(v, y), (S = n == null ? void 0 : n.trackPageEnter) == null || S.call(n, v, w, v);
610
610
  }
611
611
  function _(m, y) {
612
612
  const v = B(m).at(-1);
@@ -624,51 +624,51 @@ function Ze(e, o) {
624
624
  async function p(m, y) {
625
625
  if (!m && m !== 0) return;
626
626
  if (typeof m == "number" && m < 0) {
627
- L(Math.abs(m), y);
627
+ M(Math.abs(m), y);
628
628
  return;
629
629
  }
630
630
  const v = m.toString();
631
631
  if (v.startsWith("/")) {
632
- const E = B(v), S = B(a.activePath);
633
- if (E.length < S.length && E.every(($, se) => S[se] === $)) {
634
- if (S.length - E.length === 1)
635
- L(1, y);
632
+ const S = B(v), E = B(a.activePath);
633
+ if (S.length < E.length && S.every(($, se) => E[se] === $)) {
634
+ if (E.length - S.length === 1)
635
+ M(1, y);
636
636
  else {
637
- const se = S.slice(0, E.length + 1), Ie = K(se);
638
- for (let re = E.length + 1; re < S.length; re++)
639
- a.routeAttrs.delete(S[re]);
640
- a.activePath = Ie, await k(), L(1, y);
637
+ const se = E.slice(0, S.length + 1), Ne = K(se);
638
+ for (let re = S.length + 1; re < E.length; re++)
639
+ a.routeAttrs.delete(E[re]);
640
+ a.activePath = Ne, await k(), M(1, y);
641
641
  }
642
642
  return;
643
643
  }
644
- const I = E.at(-1);
645
- I && S.at(-1) === I && a.routeKeys.set(
646
- I,
647
- (a.routeKeys.get(I) || 0) + 1
648
- ), await M(v, y);
644
+ const G = S.at(-1);
645
+ G && E.at(-1) === G && a.routeKeys.set(
646
+ G,
647
+ (a.routeKeys.get(G) || 0) + 1
648
+ ), await L(v, y);
649
649
  return;
650
650
  }
651
651
  const D = B(a.activePath), w = D.indexOf(v);
652
652
  if (w !== -1) {
653
- const E = D.length - (w + 1);
654
- if (E === 1)
655
- L(1, y);
656
- else if (E > 1) {
657
- const S = D.slice(0, w + 2), O = K(S);
658
- for (let I = w + 2; I < D.length; I++)
659
- a.routeAttrs.delete(D[I]);
660
- a.activePath = O, await k(), L(1, y);
653
+ const S = D.length - (w + 1);
654
+ if (S === 1)
655
+ M(1, y);
656
+ else if (S > 1) {
657
+ const E = D.slice(0, w + 2), O = K(E);
658
+ for (let G = w + 2; G < D.length; G++)
659
+ a.routeAttrs.delete(D[G]);
660
+ a.activePath = O, await k(), M(1, y);
661
661
  } else
662
- a.routeKeys.set(v, (a.routeKeys.get(v) || 0) + 1), await M(
662
+ a.routeKeys.set(v, (a.routeKeys.get(v) || 0) + 1), await L(
663
663
  K(D.slice(0, w + 1)),
664
664
  y
665
665
  );
666
666
  return;
667
667
  }
668
668
  const b = K([...D, v]);
669
- await M(b, y);
669
+ await L(b, y);
670
670
  }
671
- function l(m) {
671
+ function r(m) {
672
672
  if (typeof m == "number" && m < 0) {
673
673
  const w = B(a.activePath), b = Math.min(Math.abs(m), w.length - 1);
674
674
  return b <= 0 ? a.activePath : K(w.slice(0, -b));
@@ -678,7 +678,7 @@ function Ze(e, o) {
678
678
  const v = B(a.activePath), D = v.indexOf(y);
679
679
  return D !== -1 ? K(v.slice(0, D + 1)) : K([...v, y]);
680
680
  }
681
- const r = { getRoute: (m) => s.routes.get(m) };
681
+ const l = { getRoute: (m) => s.routes.get(m) };
682
682
  async function P(m, y) {
683
683
  var v;
684
684
  if (!f.value) {
@@ -686,16 +686,16 @@ function Ze(e, o) {
686
686
  try {
687
687
  const D = (((v = t.beforeEach) == null ? void 0 : v.length) ?? 0) > 0, w = s.routes.size > 0;
688
688
  if ((D || w) && m) {
689
- const S = l(m), O = W(a.activePath);
690
- if (!await Ee(S, O, t, r)) {
689
+ const E = r(m), O = W(a.activePath);
690
+ if (!await Se(E, O, t, l)) {
691
691
  f.value = !1;
692
692
  return;
693
693
  }
694
694
  }
695
695
  const b = W(a.activePath);
696
696
  await p(m, y);
697
- const E = W(a.activePath);
698
- h == null || h.record(E, y), He(E, b, t.afterEach), s.preloadAdjacent(B(a.activePath)), u.schedule(() => {
697
+ const S = W(a.activePath);
698
+ h == null || h.record(S, y), qe(S, b, t.afterEach), s.preloadAdjacent(B(a.activePath)), u.schedule(() => {
699
699
  f.value = !1;
700
700
  }, i);
701
701
  } catch (D) {
@@ -703,7 +703,7 @@ function Ze(e, o) {
703
703
  }
704
704
  }
705
705
  }
706
- const h = c.enabled ? qe(c, async (m) => {
706
+ const h = c.enabled ? Je(c, async (m) => {
707
707
  const y = B(a.activePath), v = B(m);
708
708
  if (v.length < y.length && v.every((w, b) => y[b] === w)) {
709
709
  const w = y.length - v.length;
@@ -711,11 +711,11 @@ function Ze(e, o) {
711
711
  } else
712
712
  await P(m);
713
713
  }) : void 0;
714
- h && h.record(W(n));
715
- const C = Qe({
714
+ h && h.record(W(o));
715
+ const A = Ze({
716
716
  getActivePath: () => a.activePath,
717
717
  pushCore: p,
718
- runGuards: (m, y) => Ee(m, y, t, r),
718
+ runGuards: (m, y) => Se(m, y, t, l),
719
719
  scheduleUnlock: () => u.schedule(() => {
720
720
  f.value = !1;
721
721
  }, i),
@@ -729,17 +729,17 @@ function Ze(e, o) {
729
729
  stepDelay: i
730
730
  });
731
731
  return {
732
- activePath: A(() => a.activePath),
733
- fromPath: A(() => a.fromPath),
734
- toPath: A(() => a.toPath),
735
- activePage: A(() => H(a.activePath)),
736
- fromPage: A(() => H(a.fromPath)),
737
- toPage: A(() => H(a.toPath)),
738
- isNavigating: A(() => f.value),
732
+ activePath: C(() => a.activePath),
733
+ fromPath: C(() => a.fromPath),
734
+ toPath: C(() => a.toPath),
735
+ activePage: C(() => H(a.activePath)),
736
+ fromPage: C(() => H(a.fromPath)),
737
+ toPage: C(() => H(a.toPath)),
738
+ isNavigating: C(() => f.value),
739
739
  resolveRoutes: R,
740
740
  push: P,
741
- stepWisePush: C.stepWisePush,
742
- stepWiseBack: C.stepWiseBack,
741
+ stepWisePush: A.stepWisePush,
742
+ stepWiseBack: A.stepWiseBack,
743
743
  registerRoute: s.registerRoute,
744
744
  registerRoutes: s.registerRoutes,
745
745
  updateRouteAttrs: T,
@@ -750,68 +750,68 @@ function Ze(e, o) {
750
750
  cleanup: u.cleanup
751
751
  };
752
752
  }
753
- const z = () => {
753
+ const F = () => {
754
754
  };
755
- function ke(e) {
755
+ function et(e) {
756
756
  return {
757
- trackPageEnter: (e == null ? void 0 : e.trackPageEnter) ?? z,
758
- trackPageLeave: (e == null ? void 0 : e.trackPageLeave) ?? z,
759
- trackDialogEnter: (e == null ? void 0 : e.trackDialogEnter) ?? z,
760
- trackDialogLeave: (e == null ? void 0 : e.trackDialogLeave) ?? z,
761
- trackGuiEnter: (e == null ? void 0 : e.trackGuiEnter) ?? z,
762
- trackGuiLeave: (e == null ? void 0 : e.trackGuiLeave) ?? z,
763
- cleanupAllSessions: (e == null ? void 0 : e.cleanupAllSessions) ?? z
757
+ trackPageEnter: (e == null ? void 0 : e.trackPageEnter) ?? F,
758
+ trackPageLeave: (e == null ? void 0 : e.trackPageLeave) ?? F,
759
+ trackDialogEnter: (e == null ? void 0 : e.trackDialogEnter) ?? F,
760
+ trackDialogLeave: (e == null ? void 0 : e.trackDialogLeave) ?? F,
761
+ trackGuiEnter: (e == null ? void 0 : e.trackGuiEnter) ?? F,
762
+ trackGuiLeave: (e == null ? void 0 : e.trackGuiLeave) ?? F,
763
+ cleanupAllSessions: (e == null ? void 0 : e.cleanupAllSessions) ?? F
764
764
  };
765
765
  }
766
- function et(e) {
767
- const o = ke(e.tracker), n = Ze(
766
+ function tt(e) {
767
+ const n = et(e.tracker), o = ke(
768
768
  {
769
769
  defaultPath: e.defaultPath,
770
770
  stepDelay: e.stepDelay,
771
771
  guards: e.guards,
772
772
  history: e.history
773
773
  },
774
- o
775
- ), i = Ve(o), t = Ue(
774
+ n
775
+ ), i = je(n), t = Xe(
776
776
  {
777
777
  defaultControlName: e.defaultControlName,
778
778
  onboardingControlName: e.onboardingControlName
779
779
  },
780
- o
781
- ), c = e.volumeRef ? $e({
780
+ n
781
+ ), c = e.volumeRef ? Ye({
782
782
  volumeRef: e.volumeRef,
783
783
  defaultBgm: e.defaultBgm
784
784
  }) : null, u = {
785
785
  // Navigation
786
- activePath: n.activePath,
787
- fromPath: n.fromPath,
788
- toPath: n.toPath,
789
- activePage: n.activePage,
790
- fromPage: n.fromPage,
791
- toPage: n.toPage,
792
- isNavigating: n.isNavigating,
793
- resolveRoutes: n.resolveRoutes,
786
+ activePath: o.activePath,
787
+ fromPath: o.fromPath,
788
+ toPath: o.toPath,
789
+ activePage: o.activePage,
790
+ fromPage: o.fromPage,
791
+ toPage: o.toPage,
792
+ isNavigating: o.isNavigating,
793
+ resolveRoutes: o.resolveRoutes,
794
794
  push: async (a, d) => {
795
- await n.push(a, d), c && c.updateBackgroundMusic(n.activePath.value, n.routes);
795
+ await o.push(a, d), c && c.updateBackgroundMusic(o.activePath.value, o.routes);
796
796
  },
797
797
  stepWisePush: async (a, d) => {
798
- await n.stepWisePush(a, d), c && c.updateBackgroundMusic(n.activePath.value, n.routes);
798
+ await o.stepWisePush(a, d), c && c.updateBackgroundMusic(o.activePath.value, o.routes);
799
799
  },
800
800
  stepWiseBack: async (a) => {
801
- await n.stepWiseBack(a), c && c.updateBackgroundMusic(n.activePath.value, n.routes);
801
+ await o.stepWiseBack(a), c && c.updateBackgroundMusic(o.activePath.value, o.routes);
802
802
  },
803
- registerRoute: n.registerRoute,
804
- registerRoutes: n.registerRoutes,
805
- updateRouteAttrs: n.updateRouteAttrs,
806
- getRouteAttrs: n.getRouteAttrs,
807
- preloadRoute: n.preloadRoute,
803
+ registerRoute: o.registerRoute,
804
+ registerRoutes: o.registerRoutes,
805
+ updateRouteAttrs: o.updateRouteAttrs,
806
+ getRouteAttrs: o.getRouteAttrs,
807
+ preloadRoute: o.preloadRoute,
808
808
  // History (conditional — only if enabled)
809
- ...n.history ? {
810
- canGoBack: n.history.canGoBack,
811
- canGoForward: n.history.canGoForward,
812
- historyBack: n.history.back,
813
- historyForward: n.history.forward,
814
- historyGo: n.history.go
809
+ ...o.history ? {
810
+ canGoBack: o.history.canGoBack,
811
+ canGoForward: o.history.canGoForward,
812
+ historyBack: o.history.back,
813
+ historyForward: o.history.forward,
814
+ historyGo: o.history.go
815
815
  } : {},
816
816
  // Dialogs
817
817
  activeDialog: i.activeDialog,
@@ -835,7 +835,7 @@ function et(e) {
835
835
  getControlAttrs: t.getControlAttrs,
836
836
  updateControlAttrs: t.updateControlAttrs,
837
837
  // Serialization
838
- serialize: () => Fe(u),
838
+ serialize: () => Ve(u),
839
839
  restore: (a) => xe(u, a),
840
840
  // Audio (conditional — only if volumeRef provided in config)
841
841
  ...c ? {
@@ -846,156 +846,156 @@ function et(e) {
846
846
  updateBackgroundMusic: c.updateBackgroundMusic
847
847
  } : {}
848
848
  }, s = H(e.defaultPath);
849
- return X(n.activePage, (a, d) => {
849
+ return X(o.activePage, (a, d) => {
850
850
  if (!d) return;
851
851
  const R = t.currentControl.value;
852
- d === s && a !== s && o.trackGuiLeave(R), a === s && d !== s && o.trackGuiEnter(R);
852
+ d === s && a !== s && n.trackGuiLeave(R), a === s && d !== s && n.trackGuiEnter(R);
853
853
  }), c && e.defaultBgm && e.bgmStartRef && X(e.bgmStartRef, (a) => {
854
854
  a && !c.isStarted() && c.playSoundSync(e.defaultBgm, !0);
855
855
  }, { flush: "sync" }), q(async () => {
856
- await k(), t.toggleControl(e.defaultControlName, !0), o.trackPageEnter(
857
- n.activePath.value,
856
+ await k(), t.toggleControl(e.defaultControlName, !0), n.trackPageEnter(
857
+ o.activePath.value,
858
858
  void 0,
859
- n.activePath.value
859
+ o.activePath.value
860
860
  ), c && document.addEventListener("visibilitychange", c.handleVisibilityChange), ze(u);
861
861
  }), he(() => {
862
- o.cleanupAllSessions(), n.cleanup(), i.cleanup(), t.cleanup(), c && (document.removeEventListener("visibilitychange", c.handleVisibilityChange), c.cleanup());
863
- }), N(Me, u), x(de, null) || N(de, u), u;
862
+ n.cleanupAllSessions(), o.cleanup(), i.cleanup(), t.cleanup(), c && (document.removeEventListener("visibilitychange", c.handleVisibilityChange), c.cleanup());
863
+ }), N(Me, u), V(de, null) || N(de, u), u;
864
864
  }
865
865
  function J(e) {
866
- const o = e != null && e.root ? de : Me, n = x(o);
867
- if (!n)
866
+ const n = e != null && e.root ? de : Me, o = V(n);
867
+ if (!o)
868
868
  throw new Error(
869
869
  e != null && e.root ? "[vue-micro-router] useMicroRouter({ root: true }) failed — no root <MicroRouterView> found." : "[vue-micro-router] useMicroRouter() must be called inside <MicroRouterView>. Did you forget to wrap your app with <MicroRouterView>?"
870
870
  );
871
- return n;
871
+ return o;
872
872
  }
873
- function mt(e) {
874
- const o = x(ae), n = x(ie);
875
- !o && !e && console.warn(
873
+ function yt(e) {
874
+ const n = V(ae), o = V(ie);
875
+ !n && !e && console.warn(
876
876
  "[vue-micro-router] useMicroState() called without provider and no defaults. Ensure component is inside <RoutePage>, <MicroDialog>, or <MicroControlWrapper>."
877
877
  );
878
- const i = (o == null ? void 0 : o()) ?? {}, t = e ? { ...e } : {};
878
+ const i = (n == null ? void 0 : n()) ?? {}, t = e ? { ...e } : {};
879
879
  for (const s of Object.keys(i))
880
880
  t[s] = i[s];
881
881
  const c = pe(t);
882
- n && X(
882
+ o && X(
883
883
  c,
884
- (s) => n({ ...s }),
884
+ (s) => o({ ...s }),
885
885
  { deep: !0, flush: "post" }
886
886
  );
887
- const u = Ne(c);
887
+ const u = Oe(c);
888
888
  return new Proxy(u, {
889
889
  get(s, f, a) {
890
- return typeof f == "string" && !(f in s) && (s[f] = Oe(c, f)), Reflect.get(s, f, a);
890
+ return typeof f == "string" && !(f in s) && (s[f] = Ke(c, f)), Reflect.get(s, f, a);
891
891
  }
892
892
  });
893
893
  }
894
- function pt(e) {
895
- const o = x(Le);
896
- if (!o) {
894
+ function Pt(e) {
895
+ const n = V(Le);
896
+ if (!n) {
897
897
  console.warn(
898
898
  "[vue-micro-router] useRouteLifecycle() must be called inside a route component rendered by <MicroRouterView>."
899
899
  );
900
900
  return;
901
901
  }
902
- const { activePage: n } = J();
903
- let i = n.value === o;
902
+ const { activePage: o } = J();
903
+ let i = o.value === n;
904
904
  i && q(() => {
905
905
  var t;
906
906
  return (t = e.onRouteEnter) == null ? void 0 : t.call(e);
907
- }), X(n, (t) => {
907
+ }), X(o, (t) => {
908
908
  var u, s;
909
- const c = t === o;
909
+ const c = t === n;
910
910
  c && !i ? (u = e.onRouteEnter) == null || u.call(e) : !c && i && ((s = e.onRouteLeave) == null || s.call(e)), i = c;
911
911
  });
912
912
  }
913
- function ht(e) {
914
- const o = x(Te);
915
- if (!o) {
913
+ function wt(e) {
914
+ const n = V(Te);
915
+ if (!n) {
916
916
  console.warn(
917
917
  "[vue-micro-router] useDialogLifecycle() must be called inside a dialog component rendered by <MicroDialog>."
918
918
  );
919
919
  return;
920
920
  }
921
- const { activeDialog: n } = J();
922
- let i = n.value === o;
921
+ const { activeDialog: o } = J();
922
+ let i = o.value === n;
923
923
  i && q(() => {
924
924
  var t;
925
925
  return (t = e.onDialogEnter) == null ? void 0 : t.call(e);
926
- }), X(n, (t) => {
926
+ }), X(o, (t) => {
927
927
  var u, s;
928
- const c = t === o;
928
+ const c = t === n;
929
929
  c && !i ? (u = e.onDialogEnter) == null || u.call(e) : !c && i && ((s = e.onDialogLeave) == null || s.call(e)), i = c;
930
930
  });
931
931
  }
932
- function yt(e) {
933
- const o = x(_e);
934
- if (!o) {
932
+ function Dt(e) {
933
+ const n = V(_e);
934
+ if (!n) {
935
935
  console.warn(
936
936
  "[vue-micro-router] useControlLifecycle() must be called inside a control component rendered by <MicroControlWrapper>."
937
937
  );
938
938
  return;
939
939
  }
940
- const { currentControl: n } = J();
941
- let i = n.value === o;
940
+ const { currentControl: o } = J();
941
+ let i = o.value === n;
942
942
  i && q(() => {
943
943
  var t;
944
944
  return (t = e.onControlEnter) == null ? void 0 : t.call(e);
945
- }), X(n, (t) => {
945
+ }), X(o, (t) => {
946
946
  var u, s;
947
- const c = t === o;
947
+ const c = t === n;
948
948
  c && !i ? (u = e.onControlEnter) == null || u.call(e) : !c && i && ((s = e.onControlLeave) == null || s.call(e)), i = c;
949
949
  });
950
950
  }
951
- function tt(e, o) {
951
+ function nt(e, n) {
952
952
  if (!e.enabled) return;
953
- const n = e.edgeWidth ?? 20, i = e.threshold ?? 0.3, t = e.velocityThreshold ?? 0.5;
953
+ const o = e.edgeWidth ?? 20, i = e.threshold ?? 0.3, t = e.velocityThreshold ?? 0.5;
954
954
  let c = 0, u = 0, s = 0, f = !1, a = null, d = null;
955
955
  function R() {
956
- const l = o.containerRef.value;
957
- return l ? "$el" in l ? l.$el : l : null;
956
+ const r = n.containerRef.value;
957
+ return r ? "$el" in r ? r.$el : r : null;
958
958
  }
959
- function L() {
960
- const l = R();
961
- if (!l) return { current: null, previous: null };
962
- const r = l.querySelectorAll(".route-page");
963
- return r.length < 2 ? { current: r[r.length - 1] ?? null, previous: null } : {
964
- current: r[r.length - 1],
965
- previous: r[r.length - 2]
959
+ function M() {
960
+ const r = R();
961
+ if (!r) return { current: null, previous: null };
962
+ const l = r.querySelectorAll(".route-page");
963
+ return l.length < 2 ? { current: l[l.length - 1] ?? null, previous: null } : {
964
+ current: l[l.length - 1],
965
+ previous: l[l.length - 2]
966
966
  };
967
967
  }
968
- function M(l) {
969
- var C;
970
- if (!o.canGoBack() || l.clientX > n) return;
971
- const { current: r, previous: P } = L();
972
- if (!r) return;
973
- f = !0, c = l.clientX, u = l.clientY, s = Date.now(), a = r, d = P;
968
+ function L(r) {
969
+ var A;
970
+ if (!n.canGoBack() || r.clientX > o) return;
971
+ const { current: l, previous: P } = M();
972
+ if (!l) return;
973
+ f = !0, c = r.clientX, u = r.clientY, s = Date.now(), a = l, d = P;
974
974
  const h = R();
975
- (C = h == null ? void 0 : h.setPointerCapture) == null || C.call(h, l.pointerId), a.style.willChange = "transform", d && (d.style.willChange = "transform", d.style.transition = "none"), a.style.transition = "none";
975
+ (A = h == null ? void 0 : h.setPointerCapture) == null || A.call(h, r.pointerId), a.style.willChange = "transform", d && (d.style.willChange = "transform", d.style.transition = "none"), a.style.transition = "none";
976
976
  }
977
- function _(l) {
977
+ function _(r) {
978
978
  if (!f || !a) return;
979
- const r = Math.max(0, l.clientX - c);
980
- if (Math.abs(l.clientY - u) > r * 1.5) {
979
+ const l = Math.max(0, r.clientX - c);
980
+ if (Math.abs(r.clientY - u) > l * 1.5) {
981
981
  g();
982
982
  return;
983
983
  }
984
- const h = r / window.innerWidth;
985
- if (a.style.transform = `translateX(${r}px)`, d) {
986
- const C = -20 + 20 * h;
987
- d.style.transform = `translateX(${C}%)`;
984
+ const h = l / window.innerWidth;
985
+ if (a.style.transform = `translateX(${l}px)`, d) {
986
+ const A = -20 + 20 * h;
987
+ d.style.transform = `translateX(${A}%)`;
988
988
  }
989
989
  }
990
- function T(l) {
990
+ function T(r) {
991
991
  if (!f || !a) return;
992
992
  if (!a.isConnected) {
993
993
  p(), f = !1;
994
994
  return;
995
995
  }
996
- const r = l.clientX - c, P = Date.now() - s, h = r / P;
997
- r / window.innerWidth > i || h > t ? (a.style.transition = "transform 0.2s ease-out", a.style.transform = "translateX(100%)", d && (d.style.transition = "transform 0.2s ease-out", d.style.transform = "translateX(0)"), setTimeout(() => {
998
- p(), o.goBack();
996
+ const l = r.clientX - c, P = Date.now() - s, h = l / P;
997
+ l / window.innerWidth > i || h > t ? (a.style.transition = "transform 0.2s ease-out", a.style.transform = "translateX(100%)", d && (d.style.transition = "transform 0.2s ease-out", d.style.transform = "translateX(0)"), setTimeout(() => {
998
+ p(), n.goBack();
999
999
  }, 200)) : (a.style.transition = "transform 0.2s ease-out", a.style.transform = "translateX(0)", d && (d.style.transition = "transform 0.2s ease-out", d.style.transform = "translateX(-20%)"), setTimeout(p, 200)), f = !1;
1000
1000
  }
1001
1001
  function g() {
@@ -1005,126 +1005,136 @@ function tt(e, o) {
1005
1005
  a && (a.style.willChange = "", a.style.transition = "", a.style.transform = ""), d && (d.style.willChange = "", d.style.transition = "", d.style.transform = ""), a = null, d = null;
1006
1006
  }
1007
1007
  q(() => {
1008
- const l = R();
1009
- l != null && l.addEventListener && (l.addEventListener("pointerdown", M, { passive: !0 }), l.addEventListener("pointermove", _, { passive: !0 }), l.addEventListener("pointerup", T, { passive: !0 }), l.addEventListener("pointercancel", g, { passive: !0 }));
1008
+ const r = R();
1009
+ r != null && r.addEventListener && (r.addEventListener("pointerdown", L, { passive: !0 }), r.addEventListener("pointermove", _, { passive: !0 }), r.addEventListener("pointerup", T, { passive: !0 }), r.addEventListener("pointercancel", g, { passive: !0 }));
1010
1010
  }), he(() => {
1011
- const l = R();
1012
- l != null && l.removeEventListener && (l.removeEventListener("pointerdown", M), l.removeEventListener("pointermove", _), l.removeEventListener("pointerup", T), l.removeEventListener("pointercancel", g));
1011
+ const r = R();
1012
+ r != null && r.removeEventListener && (r.removeEventListener("pointerdown", L), r.removeEventListener("pointermove", _), r.removeEventListener("pointerup", T), r.removeEventListener("pointercancel", g));
1013
1013
  });
1014
1014
  }
1015
- function Pt(e) {
1015
+ function At(e) {
1016
1016
  return { ...e };
1017
1017
  }
1018
- function nt(e, o) {
1019
- var n, i, t;
1018
+ function ot(e, n) {
1019
+ var o, i, t;
1020
1020
  for (const c of e)
1021
- (n = c.routes) != null && n.length && o.registerRoutes(c.routes), (i = c.dialogs) != null && i.length && o.registerDialogs(c.dialogs), (t = c.controls) != null && t.length && o.registerControls(c.controls);
1021
+ (o = c.routes) != null && o.length && n.registerRoutes(c.routes), (i = c.dialogs) != null && i.length && n.registerDialogs(c.dialogs), (t = c.controls) != null && t.length && n.registerControls(c.controls);
1022
1022
  }
1023
- const ot = /* @__PURE__ */ oe({
1023
+ const at = /* @__PURE__ */ oe({
1024
1024
  __name: "MicroControlWrapper",
1025
1025
  props: {
1026
1026
  control: {}
1027
1027
  },
1028
1028
  setup(e) {
1029
- const o = e, { getControlAttrs: n, updateControlAttrs: i } = J();
1030
- return N(_e, o.control.name), N(ae, () => n(o.control.name)), N(ie, (t) => {
1031
- i(o.control.name, t);
1032
- }), (t, c) => (G(), F(ye(e.control.component), Pe({
1029
+ const n = e, { getControlAttrs: o, updateControlAttrs: i } = J();
1030
+ return N(_e, n.control.name), N(ae, () => o(n.control.name)), N(ie, (t) => {
1031
+ i(n.control.name, t);
1032
+ }), (t, c) => (I(), z(ye(e.control.component), Pe({
1033
1033
  key: e.control.componentKey || 0
1034
1034
  }, e.control.attrs), null, 16));
1035
1035
  }
1036
1036
  });
1037
- let Z = 0, Ge = "";
1038
- function at() {
1039
- Z === 0 && (Ge = document.body.style.overflow, document.body.style.overflow = "hidden"), Z++;
1040
- }
1037
+ let Z = 0, Ie = "";
1041
1038
  function it() {
1042
- Z = Math.max(0, Z - 1), Z === 0 && (document.body.style.overflow = Ge);
1039
+ Z === 0 && (Ie = document.body.style.overflow, document.body.style.overflow = "hidden"), Z++;
1040
+ }
1041
+ function st() {
1042
+ Z = Math.max(0, Z - 1), Z === 0 && (document.body.style.overflow = Ie);
1043
+ }
1044
+ const rt = /* @__PURE__ */ new Set(["A", "BUTTON", "INPUT", "SELECT", "TEXTAREA"]);
1045
+ function lt(e) {
1046
+ return !(!rt.has(e.tagName) && !e.hasAttribute("tabindex") || e.tagName === "A" && !e.hasAttribute("href") || e.offsetParent === null || e.getAttribute("aria-hidden") === "true" || e.getAttribute("tabindex") === "-1" || e.hasAttribute("disabled") || e instanceof HTMLInputElement && e.type === "hidden");
1047
+ }
1048
+ function Ge(e) {
1049
+ return Array.from(
1050
+ e.querySelectorAll("*")
1051
+ ).filter(lt);
1052
+ }
1053
+ function ct(e) {
1054
+ const n = Ge(e);
1055
+ return n.find((o) => o.hasAttribute("autofocus")) ?? n[0] ?? e;
1043
1056
  }
1044
- const st = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])', rt = /* @__PURE__ */ oe({
1057
+ const ut = /* @__PURE__ */ oe({
1045
1058
  __name: "MicroDialog",
1046
1059
  props: {
1047
1060
  dialog: {},
1048
1061
  stackIndex: {}
1049
1062
  },
1050
1063
  emits: ["close"],
1051
- setup(e, { emit: o }) {
1052
- const n = e, i = o, { getDialogAttrs: t, updateDialogAttrs: c } = J();
1064
+ setup(e, { emit: n }) {
1065
+ const o = e, i = n, { getDialogAttrs: t, updateDialogAttrs: c } = J();
1053
1066
  let u = !1;
1054
- const s = ee(null), f = ee(null), a = A(() => n.dialog.transition ?? "scale"), d = A(() => n.dialog.transitionDuration != null ? n.dialog.transitionDuration : a.value === "slide" ? 500 : 300), R = A(() => n.dialog.position ?? "standard"), L = A(() => n.dialog.seamless ?? !1);
1055
- function M() {
1056
- return s.value ? Array.from(
1057
- s.value.querySelectorAll(st)
1058
- ).filter((r) => r.offsetParent !== null) : [];
1067
+ const s = ee(null), f = ee(null), a = C(() => o.dialog.transition ?? "scale"), d = C(() => o.dialog.transitionDuration != null ? o.dialog.transitionDuration : a.value === "slide" ? 500 : 300), R = C(() => o.dialog.position ?? "standard"), M = C(() => o.dialog.seamless ?? !1);
1068
+ function L() {
1069
+ return s.value ? Ge(s.value) : [];
1059
1070
  }
1060
- function _(r) {
1071
+ function _(l) {
1061
1072
  var v, D;
1062
- if (r.key === "Escape") {
1063
- if (n.dialog.persistent) return;
1064
- r.preventDefault(), r.stopPropagation(), i("close", n.dialog.path);
1073
+ if (l.key === "Escape") {
1074
+ if (o.dialog.persistent) return;
1075
+ l.preventDefault(), l.stopPropagation(), i("close", o.dialog.path);
1065
1076
  return;
1066
1077
  }
1067
- if (r.key !== "Tab") return;
1068
- const P = M();
1078
+ if (l.key !== "Tab") return;
1079
+ const P = L();
1069
1080
  if (P.length === 0) {
1070
- r.preventDefault(), (v = s.value) == null || v.focus();
1081
+ l.preventDefault(), (v = s.value) == null || v.focus();
1071
1082
  return;
1072
1083
  }
1073
- const h = P[0], C = P[P.length - 1], m = document.activeElement, y = !!((D = s.value) != null && D.contains(m));
1074
- r.shiftKey ? (!y || m === h) && (r.preventDefault(), C.focus()) : (!y || m === C) && (r.preventDefault(), h.focus());
1084
+ const h = P[0], A = P[P.length - 1], m = document.activeElement, y = !!((D = s.value) != null && D.contains(m));
1085
+ l.shiftKey ? (!y || m === h) && (l.preventDefault(), A.focus()) : (!y || m === A) && (l.preventDefault(), h.focus());
1075
1086
  }
1076
- function T(r) {
1077
- n.dialog.persistent || r.target === r.currentTarget && i("close", n.dialog.path);
1087
+ function T(l) {
1088
+ o.dialog.persistent || l.target === l.currentTarget && i("close", o.dialog.path);
1078
1089
  }
1079
- function g(r) {
1080
- if (!n.dialog.focusInput || !s.value) {
1081
- r();
1090
+ function g(l) {
1091
+ if (!o.dialog.focusInput || !s.value) {
1092
+ l();
1082
1093
  return;
1083
1094
  }
1084
1095
  const P = document.createElement("input");
1085
1096
  P.style.cssText = "position:fixed;opacity:0;height:0;width:0;top:-100px;", s.value.appendChild(P), P.focus(), setTimeout(() => {
1086
- P.remove(), r();
1097
+ P.remove(), l();
1087
1098
  }, 50);
1088
1099
  }
1089
1100
  function p() {
1090
- u || (u = !0, f.value = document.activeElement, at(), k(() => {
1101
+ u || (u = !0, f.value = document.activeElement, it(), k(() => {
1091
1102
  s.value && g(() => {
1092
- if (!s.value) return;
1093
- (M()[0] ?? s.value).focus();
1103
+ s.value && ct(s.value).focus();
1094
1104
  });
1095
1105
  }));
1096
1106
  }
1097
- function l() {
1107
+ function r() {
1098
1108
  var m;
1099
1109
  if (!u) return;
1100
- u = !1, it();
1101
- const r = f.value;
1110
+ u = !1, st();
1111
+ const l = f.value;
1102
1112
  f.value = null;
1103
- const P = document.activeElement, h = !!((m = s.value) != null && m.contains(P)), C = !P || P === document.body;
1104
- r && typeof r.focus == "function" && document.contains(r) && (h || C) && r.focus();
1113
+ const P = document.activeElement, h = !!((m = s.value) != null && m.contains(P)), A = !P || P === document.body;
1114
+ l && typeof l.focus == "function" && document.contains(l) && (h || A) && l.focus();
1105
1115
  }
1106
- return N(Te, n.dialog.path), N(ae, () => t(n.dialog.path)), N(ie, (r) => {
1107
- c(n.dialog.path, r);
1116
+ return N(Te, o.dialog.path), N(ae, () => t(o.dialog.path)), N(ie, (l) => {
1117
+ c(o.dialog.path, l);
1108
1118
  }), X(
1109
- () => n.dialog.activated,
1110
- (r) => {
1111
- r && p();
1119
+ () => o.dialog.activated,
1120
+ (l) => {
1121
+ l && p();
1112
1122
  }
1113
1123
  ), X(
1114
- () => n.dialog.closing,
1115
- (r) => {
1116
- !r && !n.dialog.activated && u && l();
1124
+ () => o.dialog.closing,
1125
+ (l) => {
1126
+ !l && !o.dialog.activated && u && r();
1117
1127
  }
1118
1128
  ), q(() => {
1119
- n.dialog.activated && p();
1129
+ o.dialog.activated && p();
1120
1130
  }), he(() => {
1121
- u && l();
1122
- }), (r, P) => (G(), F(Ke, { to: "body" }, [
1131
+ u && r();
1132
+ }), (l, P) => (I(), z(We, { to: "body" }, [
1123
1133
  j("div", {
1124
1134
  class: Q(["micro-dialog-portal", [
1125
1135
  `micro-dialog--${R.value}`,
1126
1136
  e.dialog.fullscreen && "micro-dialog--fullscreen",
1127
- L.value && "micro-dialog--seamless"
1137
+ M.value && "micro-dialog--seamless"
1128
1138
  ]]),
1129
1139
  style: be({
1130
1140
  zIndex: 100 + e.stackIndex,
@@ -1132,7 +1142,7 @@ const st = 'button:not([disabled]), [href], input:not([disabled]), select:not([d
1132
1142
  }),
1133
1143
  onClick: le(T, ["self"])
1134
1144
  }, [
1135
- L.value ? We("", !0) : (G(), V("div", {
1145
+ M.value ? $e("", !0) : (I(), x("div", {
1136
1146
  key: 0,
1137
1147
  class: Q(["micro-dialog-backdrop", e.dialog.closing && "micro-dialog-backdrop--closing"])
1138
1148
  }, null, 2)),
@@ -1154,8 +1164,8 @@ const st = 'button:not([disabled]), [href], input:not([disabled]), select:not([d
1154
1164
  onClick: P[0] || (P[0] = le(() => {
1155
1165
  }, ["stop"]))
1156
1166
  }, [
1157
- we(r.$slots, "default"),
1158
- (G(), F(ye(e.dialog.component), Pe({
1167
+ we(l.$slots, "default"),
1168
+ (I(), z(ye(e.dialog.component), Pe({
1159
1169
  key: e.dialog.componentKey
1160
1170
  }, e.dialog.attrs), null, 16))
1161
1171
  ])
@@ -1163,28 +1173,28 @@ const st = 'button:not([disabled]), [href], input:not([disabled]), select:not([d
1163
1173
  ], 6)
1164
1174
  ]));
1165
1175
  }
1166
- }), lt = { class: "route-page" }, ct = { class: "route-page__body" }, ut = /* @__PURE__ */ oe({
1176
+ }), ft = { class: "route-page" }, gt = { class: "route-page__body" }, dt = /* @__PURE__ */ oe({
1167
1177
  __name: "RoutePage",
1168
1178
  props: {
1169
1179
  routePath: {}
1170
1180
  },
1171
1181
  setup(e) {
1172
- const o = e;
1173
- if (o.routePath) {
1174
- const n = o.routePath;
1175
- N(Le, n);
1182
+ const n = e;
1183
+ if (n.routePath) {
1184
+ const o = n.routePath;
1185
+ N(Le, o);
1176
1186
  const { updateRouteAttrs: i, getRouteAttrs: t } = J();
1177
- N(ae, () => t(n)), N(ie, (c) => {
1178
- i(n, c);
1187
+ N(ae, () => t(o)), N(ie, (c) => {
1188
+ i(o, c);
1179
1189
  });
1180
1190
  }
1181
- return (n, i) => (G(), V("div", lt, [
1182
- j("div", ct, [
1183
- we(n.$slots, "default")
1191
+ return (o, i) => (I(), x("div", ft, [
1192
+ j("div", gt, [
1193
+ we(o.$slots, "default")
1184
1194
  ])
1185
1195
  ]));
1186
1196
  }
1187
- }), ft = { class: "micro-router-content-layer" }, wt = /* @__PURE__ */ oe({
1197
+ }), vt = { class: "micro-router-content-layer" }, Ct = /* @__PURE__ */ oe({
1188
1198
  __name: "MicroRouterView",
1189
1199
  props: {
1190
1200
  config: {},
@@ -1192,9 +1202,9 @@ const st = 'button:not([disabled]), [href], input:not([disabled]), select:not([d
1192
1202
  nested: { type: Boolean }
1193
1203
  },
1194
1204
  setup(e) {
1195
- var p, l;
1196
- const o = e, n = et(o.config);
1197
- (p = o.plugins) != null && p.length && nt(o.plugins, n);
1205
+ var p, r;
1206
+ const n = e, o = tt(n.config);
1207
+ (p = n.plugins) != null && p.length && ot(n.plugins, o);
1198
1208
  const {
1199
1209
  resolveRoutes: i,
1200
1210
  resolveDialogs: t,
@@ -1203,62 +1213,62 @@ const st = 'button:not([disabled]), [href], input:not([disabled]), select:not([d
1203
1213
  toPath: s,
1204
1214
  isNavigating: f,
1205
1215
  closeDialog: a
1206
- } = n, d = ee(null), R = A(() => {
1207
- const r = u.value.split("/").filter(Boolean), P = new Set(s.value.split("/").filter(Boolean));
1208
- return r.some((h) => P.has(h));
1209
- }), L = A(() => c.value.length > 0), M = A(() => {
1210
- const r = i.value.at(-1);
1211
- return (r == null ? void 0 : r.transition) ?? "slide";
1212
- }), _ = A(() => M.value === "none" ? "" : M.value === "fade" ? "page-fade" : "page-slide"), T = A(() => {
1213
- const r = i.value.at(-1);
1214
- return r != null && r.transitionDuration ? r.transitionDuration : M.value === "fade" ? 300 : 500;
1215
- }), g = A(
1216
- () => R.value && M.value !== "none"
1216
+ } = o, d = ee(null), R = C(() => {
1217
+ const l = u.value.split("/").filter(Boolean), P = new Set(s.value.split("/").filter(Boolean));
1218
+ return l.some((h) => P.has(h));
1219
+ }), M = C(() => c.value.length > 0), L = C(() => {
1220
+ const l = i.value.at(-1);
1221
+ return (l == null ? void 0 : l.transition) ?? "slide";
1222
+ }), _ = C(() => L.value === "none" ? "" : L.value === "fade" ? "page-fade" : "page-slide"), T = C(() => {
1223
+ const l = i.value.at(-1);
1224
+ return l != null && l.transitionDuration ? l.transitionDuration : L.value === "fade" ? 300 : 500;
1225
+ }), g = C(
1226
+ () => R.value && L.value !== "none"
1217
1227
  );
1218
- return (l = o.config.gesture) != null && l.enabled && tt(o.config.gesture, {
1228
+ return (r = n.config.gesture) != null && r.enabled && nt(n.config.gesture, {
1219
1229
  containerRef: d,
1220
- goBack: () => n.push(-1),
1230
+ goBack: () => o.push(-1),
1221
1231
  canGoBack: () => i.value.length > 1
1222
- }), (r, P) => (G(), V(te, null, [
1223
- Re(Se, {
1232
+ }), (l, P) => (I(), x(te, null, [
1233
+ Re(Ee, {
1224
1234
  ref_key: "pageContainerRef",
1225
1235
  ref: d,
1226
1236
  name: _.value,
1227
1237
  css: g.value
1228
1238
  }, {
1229
1239
  default: ce(() => [
1230
- (G(!0), V(te, null, ue(Y(i), (h, C) => (G(), F(ut, {
1240
+ (I(!0), x(te, null, ue(Y(i), (h, A) => (I(), z(dt, {
1231
1241
  key: h.key || h.path,
1232
1242
  "route-path": h.path,
1233
1243
  class: Q({
1234
- deactivate: Y(i).length > 1 && C !== Y(i).length - 1,
1244
+ deactivate: Y(i).length > 1 && A !== Y(i).length - 1,
1235
1245
  "micro-router--navigating": Y(f)
1236
1246
  }),
1237
1247
  style: be({
1238
1248
  transition: g.value ? `transform ${T.value}ms cubic-bezier(0.65, 0, 0.35, 1), opacity ${T.value}ms ease` : "none",
1239
- zIndex: 10 + C,
1249
+ zIndex: 10 + A,
1240
1250
  "--mr-page-height": e.nested ? "100%" : "100dvh"
1241
1251
  })
1242
1252
  }, {
1243
1253
  default: ce(() => [
1244
- (G(), F(ye(h.component), Pe({
1254
+ (I(), z(ye(h.component), Pe({
1245
1255
  key: h.componentKey
1246
- }, { ref_for: !0 }, Y(n).getRouteAttrs(h.path)), null, 16))
1256
+ }, { ref_for: !0 }, Y(o).getRouteAttrs(h.path)), null, 16))
1247
1257
  ]),
1248
1258
  _: 2
1249
1259
  }, 1032, ["route-path", "class", "style"]))), 128))
1250
1260
  ]),
1251
1261
  _: 1
1252
1262
  }, 8, ["name", "css"]),
1253
- j("div", ft, [
1254
- we(r.$slots, "default")
1263
+ j("div", vt, [
1264
+ we(l.$slots, "default")
1255
1265
  ]),
1256
1266
  j("div", {
1257
- class: Q(["micro-router-gui-layer", { "gui-visible": L.value }])
1267
+ class: Q(["micro-router-gui-layer", { "gui-visible": M.value }])
1258
1268
  }, [
1259
- Re(Se, { name: "control-fade" }, {
1269
+ Re(Ee, { name: "control-fade" }, {
1260
1270
  default: ce(() => [
1261
- (G(!0), V(te, null, ue(Y(c), (h) => (G(), F(ot, {
1271
+ (I(!0), x(te, null, ue(Y(c), (h) => (I(), z(at, {
1262
1272
  key: h.name + "-" + (h.componentKey || 0),
1263
1273
  control: h
1264
1274
  }, null, 8, ["control"]))), 128))
@@ -1266,10 +1276,10 @@ const st = 'button:not([disabled]), [href], input:not([disabled]), select:not([d
1266
1276
  _: 1
1267
1277
  })
1268
1278
  ], 2),
1269
- (G(!0), V(te, null, ue(Y(t), (h, C) => (G(), F(rt, {
1279
+ (I(!0), x(te, null, ue(Y(t), (h, A) => (I(), z(ut, {
1270
1280
  key: "dialog-" + h.path,
1271
1281
  dialog: h,
1272
- "stack-index": C,
1282
+ "stack-index": A,
1273
1283
  onClose: Y(a)
1274
1284
  }, null, 8, ["dialog", "stack-index", "onClose"]))), 128))
1275
1285
  ], 64));
@@ -1283,29 +1293,29 @@ export {
1283
1293
  Me as MICRO_ROUTER_KEY,
1284
1294
  de as MICRO_ROUTER_ROOT_KEY,
1285
1295
  Le as MICRO_ROUTE_PATH_KEY,
1286
- ot as MicroControlWrapper,
1287
- rt as MicroDialogComponent,
1288
- wt as MicroRouterView,
1289
- ut as RoutePage,
1290
- Ye as STEP_DELAY,
1296
+ at as MicroControlWrapper,
1297
+ ut as MicroDialogComponent,
1298
+ Ct as MicroRouterView,
1299
+ dt as RoutePage,
1300
+ Ue as STEP_DELAY,
1291
1301
  K as buildPathFromSegments,
1292
- vt as createRouterKey,
1293
- Pt as defineFeaturePlugin,
1302
+ ht as createRouterKey,
1303
+ At as defineFeaturePlugin,
1294
1304
  H as getLastSegment,
1295
1305
  De as isAsyncLoader,
1296
1306
  W as normalizePath,
1297
1307
  B as parsePathSegments,
1298
- nt as registerFeaturePlugins,
1299
- Ce as safeMarkRaw,
1300
- yt as useControlLifecycle,
1301
- Ue as useControlManager,
1302
- ht as useDialogLifecycle,
1303
- Ve as useDialogManager,
1304
- tt as useGestureNavigation,
1305
- et as useGlobalMicroRouter,
1308
+ ot as registerFeaturePlugins,
1309
+ Ae as safeMarkRaw,
1310
+ Dt as useControlLifecycle,
1311
+ Xe as useControlManager,
1312
+ wt as useDialogLifecycle,
1313
+ je as useDialogManager,
1314
+ nt as useGestureNavigation,
1315
+ tt as useGlobalMicroRouter,
1306
1316
  J as useMicroRouter,
1307
- mt as useMicroState,
1308
- Ze as useNavigation,
1309
- ke as usePageTracker,
1310
- pt as useRouteLifecycle
1317
+ yt as useMicroState,
1318
+ ke as useNavigation,
1319
+ et as usePageTracker,
1320
+ Pt as useRouteLifecycle
1311
1321
  };