@flemo/core 1.18.1 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createStore as e } from "zustand/vanilla";
2
2
  import { compile as t, match as n, parse as r, pathToRegexp as i } from "path-to-regexp";
3
3
  //#region src/core/TaskManger.ts
4
- var a = 1200, o = new class {
4
+ var a = 1200, o = 2, s = new class {
5
5
  tasks = /* @__PURE__ */ new Map();
6
6
  instanceId = Date.now().toString();
7
7
  isLocked = !1;
@@ -62,7 +62,7 @@ var a = 1200, o = new class {
62
62
  });
63
63
  }
64
64
  async onTaskStatusChange(e, t) {
65
- (t === "COMPLETED" || t === "FAILED" || t === "ROLLEDBACK") && (this.pendingTaskQueue = this.pendingTaskQueue.filter((t) => t.id !== e), await this.processPendingTasks(), this.notifyPendingWaiters());
65
+ (t === "COMPLETED" || t === "FAILED" || t === "ROLLEDBACK") && (this.gatePhases.delete(e), this.pendingTaskQueue = this.pendingTaskQueue.filter((t) => t.id !== e), await this.processPendingTasks(), this.notifyPendingWaiters());
66
66
  }
67
67
  async addTask(e, t = {}) {
68
68
  let n = t.id || this.generateTaskId();
@@ -155,10 +155,34 @@ var a = 1200, o = new class {
155
155
  }).catch(i);
156
156
  });
157
157
  }
158
+ gatePhases = /* @__PURE__ */ new Map();
159
+ markGateHeld(e) {
160
+ let t = this.gatePhases.get(e);
161
+ t?.phase !== "anchored" && this.gatePhases.set(e, {
162
+ phase: "held",
163
+ rearms: t?.rearms ?? 0
164
+ });
165
+ }
166
+ anchorGate(e) {
167
+ let t = this.gatePhases.get(e);
168
+ if (t?.phase === "anchored") return;
169
+ this.gatePhases.set(e, {
170
+ phase: "anchored",
171
+ rearms: t?.rearms ?? 0
172
+ });
173
+ let n = this.tasks.get(e);
174
+ !n || n.status !== "MANUAL_PENDING" && n.status !== "SIGNAL_PENDING" || (n.backstopTimer && (clearTimeout(n.backstopTimer), delete n.backstopTimer), this.armBackstop(n));
175
+ }
158
176
  armBackstop(e) {
159
177
  let t = e.control?.maxLifetimeMs;
160
178
  !t || t <= 0 || typeof setTimeout > "u" || (e.backstopTimer = setTimeout(() => {
161
- delete e.backstopTimer, this.resolveTask(e.id);
179
+ delete e.backstopTimer;
180
+ let t = this.gatePhases.get(e.id);
181
+ if (t?.phase === "held" && t.rearms < o) {
182
+ t.rearms += 1, this.armBackstop(e);
183
+ return;
184
+ }
185
+ this.resolveTask(e.id);
162
186
  }, t));
163
187
  }
164
188
  async resolveTask(e) {
@@ -166,7 +190,7 @@ var a = 1200, o = new class {
166
190
  if (t?.backstopTimer && (clearTimeout(t.backstopTimer), delete t.backstopTimer), !t || t.status !== "MANUAL_PENDING" && t.status !== "SIGNAL_PENDING") return !1;
167
191
  if (t.manualResolver) {
168
192
  if (t.control?.condition && !await t.control.condition()) return !1;
169
- t.status = "COMPLETED";
193
+ t.status = "COMPLETED", this.gatePhases.delete(e);
170
194
  let n = t.manualResolver;
171
195
  return n.resolve({
172
196
  success: !0,
@@ -189,7 +213,7 @@ var a = 1200, o = new class {
189
213
  }();
190
214
  //#endregion
191
215
  //#region src/history/store.ts
192
- function s(t = [], n = -1) {
216
+ function c(t = [], n = -1) {
193
217
  return e((e) => ({
194
218
  index: n,
195
219
  pendingIndex: n,
@@ -241,13 +265,13 @@ function s(t = [], n = -1) {
241
265
  }
242
266
  //#endregion
243
267
  //#region src/utils/getMatchedPathPattern.ts
244
- function c(e, t) {
268
+ function l(e, t) {
245
269
  return Array.isArray(e) ? e.find((e) => i(e).regexp.test(t)) ?? "" : i(e).regexp.test(t) ? e : "";
246
270
  }
247
271
  //#endregion
248
272
  //#region src/utils/getParams.ts
249
- function l(e, t, r) {
250
- let i = n(c(e, t))(t), a = new URLSearchParams(r), o = Object.fromEntries(a.entries());
273
+ function u(e, t, r) {
274
+ let i = n(l(e, t))(t), a = new URLSearchParams(r), o = Object.fromEntries(a.entries());
251
275
  return i ? {
252
276
  ...i.params,
253
277
  ...o
@@ -255,24 +279,24 @@ function l(e, t, r) {
255
279
  }
256
280
  //#endregion
257
281
  //#region src/history/seedInitialHistory.ts
258
- function u(e, t, n, r) {
282
+ function d(e, t, n, r) {
259
283
  return {
260
284
  id: "root",
261
285
  pathname: t,
262
- params: l(e, t, n),
286
+ params: u(e, t, n),
263
287
  transitionName: r,
264
288
  layoutId: null
265
289
  };
266
290
  }
267
291
  //#endregion
268
292
  //#region src/utils/isServer.ts
269
- function d() {
293
+ function f() {
270
294
  return typeof document > "u";
271
295
  }
272
296
  //#endregion
273
297
  //#region src/history/ensureWindowHistoryState.ts
274
- function f(e, t, n = {}) {
275
- if (d()) return;
298
+ function p(e, t, n = {}) {
299
+ if (f()) return;
276
300
  let r = {
277
301
  id: "root",
278
302
  index: 0,
@@ -294,23 +318,23 @@ function f(e, t, n = {}) {
294
318
  }
295
319
  //#endregion
296
320
  //#region src/history/seedRouterEntry.ts
297
- function p(e) {
321
+ function m(e) {
298
322
  let { driver: t, routerKey: n, nested: r, seedPathname: i, defaultTransitionName: a, rootParams: o } = e;
299
- if (d()) return;
323
+ if (f()) return;
300
324
  if (r) {
301
325
  let e = t.readPathname().replace(/\/+$/, "") || "/";
302
326
  if (!(e === i || e !== "/" && i.startsWith(`${e}/`))) return;
303
327
  }
304
328
  let s = r && n !== null ? t.readState() == null : !1;
305
- f(n, a, o), r && n !== null && s && t.readPathname() !== i && t.replaceState(t.readState(), i);
329
+ p(n, a, o), r && n !== null && s && t.readPathname() !== i && t.replaceState(t.readState(), i);
306
330
  }
307
331
  //#endregion
308
332
  //#region src/history/historyDriver.ts
309
- var m = (e, t) => ({
333
+ var h = (e, t) => ({
310
334
  ...window.history.state ?? {},
311
335
  [e]: t
312
336
  });
313
- function h(e) {
337
+ function g(e) {
314
338
  return e === void 0 ? {
315
339
  readState: () => window.history.state,
316
340
  readPathname: () => window.location.pathname,
@@ -328,8 +352,8 @@ function h(e) {
328
352
  } : {
329
353
  readState: () => window.history.state?.[e] ?? null,
330
354
  readPathname: () => window.location.pathname,
331
- pushState: (t, n) => window.history.pushState(m(e, t), "", n),
332
- replaceState: (t, n) => window.history.replaceState(m(e, t), "", n),
355
+ pushState: (t, n) => window.history.pushState(h(e, t), "", n),
356
+ replaceState: (t, n) => window.history.replaceState(h(e, t), "", n),
333
357
  go: (e) => window.history.go(e),
334
358
  back: () => window.history.back(),
335
359
  subscribe: (t) => {
@@ -343,7 +367,7 @@ function h(e) {
343
367
  }
344
368
  //#endregion
345
369
  //#region src/navigate/selfPopGuard.ts
346
- function g() {
370
+ function _() {
347
371
  let e = 0;
348
372
  return {
349
373
  mark() {
@@ -354,26 +378,26 @@ function g() {
354
378
  }
355
379
  };
356
380
  }
357
- var _ = g();
358
- function v() {
359
- _.mark();
360
- }
381
+ var v = _();
361
382
  function y() {
362
- return _.consume();
383
+ v.mark();
384
+ }
385
+ function b() {
386
+ return v.consume();
363
387
  }
364
388
  //#endregion
365
389
  //#region src/history/createHistorySync.ts
366
- function b(e) {
367
- let { stores: t, driver: n = h(), consume: r = y } = e, i = !1, s = 0, c = async (e) => {
368
- let n = e.state, r = t.history.getState().truncationEpoch, i = o.generateTaskId();
369
- s += 1;
390
+ function x(e) {
391
+ let { stores: t, driver: n = g(), consume: r = b } = e, i = !1, o = 0, c = async (e) => {
392
+ let n = e.state, r = t.history.getState().truncationEpoch, i = s.generateTaskId();
393
+ o += 1;
370
394
  try {
371
395
  await l(e, n, r, i);
372
396
  } finally {
373
- --s;
397
+ --o;
374
398
  }
375
- }, l = async (r, s, l, u) => {
376
- (await o.addTask(async (a) => {
399
+ }, l = async (r, o, l, u) => {
400
+ (await s.addTask(async (a) => {
377
401
  if (i) {
378
402
  a.abort();
379
403
  return;
@@ -382,41 +406,41 @@ function b(e) {
382
406
  a.abort();
383
407
  return;
384
408
  }
385
- let { setStatus: o, setTransitionTaskId: d } = t.navigate.getState(), { index: f, histories: p, addHistory: m, popHistory: h, setPendingIndex: g } = t.history.getState();
409
+ let { setStatus: s, setTransitionTaskId: d } = t.navigate.getState(), { index: f, histories: p, addHistory: m, popHistory: h, setPendingIndex: g } = t.history.getState();
386
410
  if (l !== t.history.getState().truncationEpoch && n.readState()?.id !== r.state?.id) {
387
411
  a.abort();
388
412
  return;
389
413
  }
390
- if (!s?.id) {
414
+ if (!o?.id) {
391
415
  a.abort();
392
416
  return;
393
417
  }
394
- let _ = p.findIndex((e) => e.id === s.id);
418
+ let _ = p.findIndex((e) => e.id === o.id);
395
419
  if (_ === f) {
396
420
  a.abort();
397
421
  return;
398
422
  }
399
423
  let v = {
400
- id: s.id,
424
+ id: o.id,
401
425
  pathname: r.pathname,
402
- params: s.params,
403
- transitionName: s.transitionName,
404
- layoutId: s.layoutId,
405
- frameIndex: s.index
426
+ params: o.params,
427
+ transitionName: o.transitionName,
428
+ layoutId: o.layoutId,
429
+ frameIndex: o.index
406
430
  };
407
431
  if (_ === -1) {
408
432
  let e = p[f]?.frameIndex ?? f;
409
- if (!(s.index > e && (s.status === "PUSHING" || s.status === "REPLACING"))) {
433
+ if (!(o.index > e && (o.status === "PUSHING" || o.status === "REPLACING"))) {
410
434
  t.history.getState().adoptHistory(v), a.abort();
411
435
  return;
412
436
  }
413
- return d(u), o(s.status === "REPLACING" ? "REPLACING" : "PUSHING"), m(v), async () => {
414
- o("COMPLETED");
437
+ return d(u), s(o.status === "REPLACING" ? "REPLACING" : "PUSHING"), m(v), async () => {
438
+ s("COMPLETED");
415
439
  };
416
440
  }
417
441
  let y = f - 1;
418
- return d(u), g(y), o("POPPING"), async () => {
419
- h(y + 1), o("COMPLETED"), y > _ && !i && c(r);
442
+ return d(u), g(y), s("POPPING"), async () => {
443
+ h(y + 1), s("COMPLETED"), y > _ && !i && c(r);
420
444
  };
421
445
  }, {
422
446
  id: u,
@@ -425,10 +449,10 @@ function b(e) {
425
449
  maxLifetimeMs: a
426
450
  }
427
451
  })).result?.();
428
- }, u = null, d = 0, f = "", p = 0, m = () => typeof performance < "u" ? performance.now() : Number.MAX_VALUE, g = () => {
452
+ }, u = null, d = 0, f = "", p = 0, m = () => typeof performance < "u" ? performance.now() : Number.MAX_VALUE, h = () => {
429
453
  i || typeof setTimeout > "u" || (u && clearTimeout(u), u = setTimeout(function e() {
430
454
  if (u = null, i) return;
431
- if (s > 0 || o.pendingTaskIds.length > 0 || m() - d < 400) {
455
+ if (o > 0 || s.pendingTaskIds.length > 0 || m() - d < 400) {
432
456
  u = setTimeout(e, 150);
433
457
  return;
434
458
  }
@@ -447,42 +471,42 @@ function b(e) {
447
471
  }), u = setTimeout(e, 150);
448
472
  }, 150));
449
473
  }, _ = n.subscribe((e) => {
450
- if (!i && (d = m(), g(), C(e.pathname), !r())) return c(e);
474
+ if (!i && (d = m(), h(), w(e.pathname), !r())) return c(e);
451
475
  });
452
- if (e.routerKey && e.zoneEntryId && T(n, e.zoneEntryId)) {
453
- let n = t.history.getState().histories[t.history.getState().index]?.pathname, r = w(n);
476
+ if (e.routerKey && e.zoneEntryId && E(n, e.zoneEntryId)) {
477
+ let n = t.history.getState().histories[t.history.getState().index]?.pathname, r = T(n);
454
478
  for (let t of r) c({
455
479
  state: t.raw?.[e.routerKey] ?? null,
456
480
  pathname: t.pathname
457
481
  });
458
482
  }
459
- return g(), () => {
483
+ return h(), () => {
460
484
  i = !0, u && clearTimeout(u), _();
461
485
  };
462
486
  }
463
- var x = [], S = !1, C = (e) => {
464
- S || typeof window > "u" || (S = !0, queueMicrotask(() => {
465
- S = !1;
466
- }), x.push({
487
+ var S = [], C = !1, w = (e) => {
488
+ C || typeof window > "u" || (C = !0, queueMicrotask(() => {
489
+ C = !1;
490
+ }), S.push({
467
491
  raw: window.history.state,
468
492
  pathname: e
469
493
  }));
470
- }, w = (e) => {
494
+ }, T = (e) => {
471
495
  if (!e) return [];
472
- for (let t = x.length - 1; t >= 0; --t) if (x[t].pathname === e) return x.slice(t + 1);
496
+ for (let t = S.length - 1; t >= 0; --t) if (S[t].pathname === e) return S.slice(t + 1);
473
497
  return [];
474
- }, T = (e, t) => {
498
+ }, E = (e, t) => {
475
499
  if (typeof window > "u") return !1;
476
500
  let n = window.history.state;
477
501
  return n ? Object.values(n).some((e) => !!e && typeof e == "object" && e.id === t) : !1;
478
502
  };
479
- function E(e, t) {
480
- for (let n = x.length - 1; n >= 0; --n) if (x[n].pathname === t) return x[n].raw?.[e] ?? null;
503
+ function ee(e, t) {
504
+ for (let n = S.length - 1; n >= 0; --n) if (S[n].pathname === t) return S[n].raw?.[e] ?? null;
481
505
  return null;
482
506
  }
483
507
  var D = /* @__PURE__ */ new WeakMap();
484
- function ee(e) {
485
- D.has(e) || D.set(e, b({
508
+ function te(e) {
509
+ D.has(e) || D.set(e, x({
486
510
  stores: e,
487
511
  driver: e.driver,
488
512
  consume: e.consume,
@@ -491,12 +515,12 @@ function ee(e) {
491
515
  ownsPathname: e.ownsPathname
492
516
  }));
493
517
  }
494
- function te(e) {
518
+ function ne(e) {
495
519
  e.persistent || (D.get(e)?.(), D.delete(e));
496
520
  }
497
521
  //#endregion
498
522
  //#region src/history/memoryHistoryDriver.ts
499
- function ne(e) {
523
+ function re(e) {
500
524
  let t = [{
501
525
  state: e?.state ?? null,
502
526
  url: e?.url ?? "/"
@@ -560,8 +584,8 @@ var k = (e, t, n) => {
560
584
  let s = await Promise.race([a, o]);
561
585
  i(), s && r();
562
586
  };
563
- function re(e) {
564
- let { stores: t, buildPathname: n, driver: r = h(), markSelfInduced: i = v } = e, s = () => t.history.getState().bumpTruncationEpoch(), c = () => {
587
+ function M(e) {
588
+ let { stores: t, buildPathname: n, driver: r = g(), markSelfInduced: i = y } = e, o = () => t.history.getState().bumpTruncationEpoch(), c = () => {
565
589
  let e = r.readState();
566
590
  if (!e?.id) return null;
567
591
  let { index: n, histories: i, adoptHistory: a, truncateHistory: o } = t.history.getState();
@@ -578,13 +602,13 @@ function re(e) {
578
602
  }, l = async (e, l, u) => {
579
603
  let { status: d } = t.navigate.getState();
580
604
  if (d !== "COMPLETED" && d !== "IDLE") return;
581
- let f = t.transition.getState().defaultTransitionName, { transitionName: p = f, layoutId: m = null } = u ?? {}, h = o.generateTaskId();
582
- (await o.addTask(async (a) => {
605
+ let f = t.transition.getState().defaultTransitionName, { transitionName: p = f, layoutId: m = null } = u ?? {}, h = s.generateTaskId();
606
+ (await s.addTask(async (a) => {
583
607
  if (t.life && !t.life.alive) {
584
608
  a.abort();
585
609
  return;
586
610
  }
587
- let o = c(), { index: d, histories: f, addHistory: g, popHistories: _ } = t.history.getState(), v = (() => {
611
+ let s = c(), { index: d, histories: f, addHistory: g, popHistories: _ } = t.history.getState(), v = (() => {
588
612
  if (u?.until != null) {
589
613
  let e = k(u.until, d, f);
590
614
  return e < 0 ? 0 : e;
@@ -598,8 +622,8 @@ function re(e) {
598
622
  params: l ?? {},
599
623
  transitionName: p,
600
624
  layoutId: m
601
- }, w = o?.index ?? f[d]?.frameIndex ?? d;
602
- if (v === 0) return s(), r.pushState({
625
+ }, w = s?.index ?? f[d]?.frameIndex ?? d;
626
+ if (v === 0) return o(), r.pushState({
603
627
  id: h,
604
628
  index: w + 1,
605
629
  status: "PUSHING",
@@ -617,7 +641,7 @@ function re(e) {
617
641
  ...C,
618
642
  frameIndex: T + 1
619
643
  }), await j(r, i, v, () => {
620
- s(), r.pushState({
644
+ o(), r.pushState({
621
645
  id: h,
622
646
  index: T + 1,
623
647
  status: "PUSHING",
@@ -638,13 +662,13 @@ function re(e) {
638
662
  }, u = async (e, l, u) => {
639
663
  let { status: d } = t.navigate.getState();
640
664
  if (d !== "COMPLETED" && d !== "IDLE") return;
641
- let f = t.transition.getState().defaultTransitionName, { transitionName: p = f, layoutId: m = null } = u ?? {}, h = o.generateTaskId();
642
- (await o.addTask(async (a) => {
665
+ let f = t.transition.getState().defaultTransitionName, { transitionName: p = f, layoutId: m = null } = u ?? {}, h = s.generateTaskId();
666
+ (await s.addTask(async (a) => {
643
667
  if (t.life && !t.life.alive) {
644
668
  a.abort();
645
669
  return;
646
670
  }
647
- let o = c(), { index: d, histories: f, addHistory: g, replaceHistory: _, popHistories: v } = t.history.getState(), y = (() => {
671
+ let s = c(), { index: d, histories: f, addHistory: g, replaceHistory: _, popHistories: v } = t.history.getState(), y = (() => {
648
672
  if (u?.until != null) {
649
673
  let e = k(u.until, d, f);
650
674
  return e < 0 ? 0 : e + 1;
@@ -663,8 +687,8 @@ function re(e) {
663
687
  params: l ?? {},
664
688
  transitionName: p,
665
689
  layoutId: m
666
- }, T = o?.index ?? f[d]?.frameIndex ?? d;
667
- if (y === 1) return s(), r.replaceState({
690
+ }, T = s?.index ?? f[d]?.frameIndex ?? d;
691
+ if (y === 1) return o(), r.replaceState({
668
692
  id: h,
669
693
  index: T,
670
694
  status: "REPLACING",
@@ -682,7 +706,7 @@ function re(e) {
682
706
  ...w,
683
707
  frameIndex: E
684
708
  }), y <= d ? await j(r, i, y, () => {
685
- s(), r.pushState({
709
+ o(), r.pushState({
686
710
  id: h,
687
711
  index: E,
688
712
  status: "REPLACING",
@@ -691,7 +715,7 @@ function re(e) {
691
715
  layoutId: m
692
716
  }, S);
693
717
  }) : await j(r, i, d, () => {
694
- s(), r.replaceState({
718
+ o(), r.replaceState({
695
719
  id: h,
696
720
  index: E,
697
721
  status: "REPLACING",
@@ -710,30 +734,30 @@ function re(e) {
710
734
  }
711
735
  })).result?.();
712
736
  }, d = async (e, n) => {
713
- let s = o.generateTaskId();
714
- (await o.addTask(async (a) => {
737
+ let o = s.generateTaskId();
738
+ (await s.addTask(async (a) => {
715
739
  if (t.life && !t.life.alive) {
716
740
  a.abort();
717
741
  return;
718
742
  }
719
743
  c();
720
- let { index: o, histories: l, popHistory: u, popHistories: d, setPendingIndex: f, setTransitionName: p } = t.history.getState();
721
- if (o <= 0) {
744
+ let { index: s, histories: l, popHistory: u, popHistories: d, setPendingIndex: f, setTransitionName: p } = t.history.getState();
745
+ if (s <= 0) {
722
746
  a.abort();
723
747
  return;
724
748
  }
725
- let m = Math.min(e(o, l), o);
749
+ let m = Math.min(e(s, l), s);
726
750
  if (m <= 0) {
727
751
  a.abort();
728
752
  return;
729
753
  }
730
- f(o - m);
754
+ f(s - m);
731
755
  let { setStatus: h, setTransitionTaskId: g } = t.navigate.getState();
732
- return n && p(o, n), h("POPPING"), g(s), d(m - 1), i(), m === 1 ? r.back() : r.go(-m), async () => {
756
+ return n && p(s, n), h("POPPING"), g(o), d(m - 1), i(), m === 1 ? r.back() : r.go(-m), async () => {
733
757
  u(t.history.getState().index), h("COMPLETED");
734
758
  };
735
759
  }, {
736
- id: s,
760
+ id: o,
737
761
  control: {
738
762
  manual: !0,
739
763
  maxLifetimeMs: a
@@ -757,18 +781,18 @@ function re(e) {
757
781
  }
758
782
  //#endregion
759
783
  //#region src/navigate/createStepController.ts
760
- var M = (e) => {
784
+ var ie = (e) => {
761
785
  let t = e;
762
786
  return t?.step ? t.params ?? {} : null;
763
- }, ie = (e, t) => {
787
+ }, ae = (e, t) => {
764
788
  let n = new URLSearchParams(Object.fromEntries(Object.entries(t).map(([e, t]) => [e, String(t)]))).toString();
765
789
  return n ? `${e}?${n}` : e;
766
790
  };
767
- function ae(e) {
768
- let { stores: t, driver: n, markSelfInduced: r, buildStepPathname: i, applyParams: s } = e;
791
+ function oe(e) {
792
+ let { stores: t, driver: n, markSelfInduced: r, buildStepPathname: i, applyParams: o } = e;
769
793
  return {
770
794
  pushStep: async (e) => {
771
- (await o.addTask(async () => {
795
+ (await s.addTask(async () => {
772
796
  let t = i(e), r = n.readState();
773
797
  return r?.step || n.replaceState({
774
798
  ...r,
@@ -777,35 +801,35 @@ function ae(e) {
777
801
  ...n.readState(),
778
802
  step: !0,
779
803
  params: e
780
- }, t), async () => s(e);
804
+ }, t), async () => o(e);
781
805
  })).result?.();
782
806
  },
783
807
  replaceStep: async (e) => {
784
- (await o.addTask(async () => {
808
+ (await s.addTask(async () => {
785
809
  let t = i(e);
786
810
  return n.replaceState({
787
811
  ...n.readState(),
788
812
  step: !0,
789
813
  params: e
790
- }, t), async () => s(e);
814
+ }, t), async () => o(e);
791
815
  })).result?.();
792
816
  },
793
817
  popStep: async () => {
794
- let e = o.generateTaskId();
795
- (await o.addTask(async (i) => {
818
+ let e = s.generateTaskId();
819
+ (await s.addTask(async (i) => {
796
820
  let a = new Promise((e) => {
797
821
  let t = n.subscribe((n) => {
798
822
  t(), e(n.state);
799
823
  });
800
- }), o = new Promise((e) => setTimeout(() => e(void 0), 200));
824
+ }), s = new Promise((e) => setTimeout(() => e(void 0), 200));
801
825
  r(), n.back();
802
- let c = await Promise.race([a, o]);
826
+ let c = await Promise.race([a, s]);
803
827
  if (!c) {
804
828
  i.abort();
805
829
  return;
806
830
  }
807
831
  if (c.step) {
808
- s(c.params ?? {}), i.abort();
832
+ o(c.params ?? {}), i.abort();
809
833
  return;
810
834
  }
811
835
  let { setStatus: l, setTransitionTaskId: u } = t.navigate.getState(), { index: d, popHistory: f } = t.history.getState();
@@ -822,17 +846,17 @@ function ae(e) {
822
846
  }
823
847
  };
824
848
  }
825
- function oe(e, t) {
849
+ function se(e, t) {
826
850
  return e.subscribe((e) => {
827
851
  let n = e.state;
828
- n?.step && o.addTask(async () => {
852
+ n?.step && s.addTask(async () => {
829
853
  t(n.params ?? {});
830
854
  });
831
855
  });
832
856
  }
833
857
  //#endregion
834
858
  //#region src/transition/store.ts
835
- function se(t = "cupertino") {
859
+ function ce(t = "cupertino") {
836
860
  return e((e) => ({
837
861
  defaultTransitionName: t,
838
862
  setDefaultTransitionName: (t) => e({ defaultTransitionName: t })
@@ -840,12 +864,12 @@ function se(t = "cupertino") {
840
864
  }
841
865
  //#endregion
842
866
  //#region src/utils/matchesPathname.ts
843
- function ce(e, t) {
867
+ function le(e, t) {
844
868
  return i(e).regexp.test(t);
845
869
  }
846
870
  //#endregion
847
871
  //#region src/screen/store.ts
848
- function le() {
872
+ function ue() {
849
873
  return e((e) => ({
850
874
  dragStatus: "IDLE",
851
875
  replaceTransitionStatus: "IDLE",
@@ -876,25 +900,25 @@ function le() {
876
900
  }
877
901
  //#endregion
878
902
  //#region src/core/createRouterScope.ts
879
- var ue = {
903
+ var de = {
880
904
  mark: () => {},
881
905
  consume: () => !1
882
- }, de = /* @__PURE__ */ new Map();
883
- function fe(e) {
884
- let { routePaths: t, pathname: n, search: r, defaultTransitionName: i, memory: a, browserDriver: o } = e, c = d() ? void 0 : e.persistKey;
885
- if (c) {
886
- let e = de.get(c);
906
+ }, fe = /* @__PURE__ */ new Map();
907
+ function pe(e) {
908
+ let { routePaths: t, pathname: n, search: r, defaultTransitionName: i, memory: a, browserDriver: o } = e, s = f() ? void 0 : e.persistKey;
909
+ if (s) {
910
+ let e = fe.get(s);
887
911
  if (e) {
888
912
  e.life.alive = !0, e.navigate.getState().setStatus("IDLE"), e.navigate.getState().setTransitionTaskId(null);
889
913
  let t = e.history.getState();
890
914
  return t.setPendingIndex(t.index), e;
891
915
  }
892
916
  }
893
- let l = u(t, n, r, i), f = (e.routerKey && !d() ? E(e.routerKey, n) : null) ?? (o && !d() ? o.readState() : null), p = f?.id ? {
917
+ let l = d(t, n, r, i), u = (e.routerKey && !f() ? ee(e.routerKey, n) : null) ?? (o && !f() ? o.readState() : null), p = u?.id ? {
894
918
  ...l,
895
- id: f.id,
896
- params: f.params ?? l.params,
897
- frameIndex: f.index ?? 0
919
+ id: u.id,
920
+ params: u.params ?? l.params,
921
+ frameIndex: u.index ?? 0
898
922
  } : {
899
923
  ...l,
900
924
  frameIndex: 0
@@ -903,7 +927,7 @@ function fe(e) {
903
927
  index: 0,
904
928
  histories: [p]
905
929
  }), e.hostedScope;
906
- let m = a ? ne({
930
+ let m = a ? re({
907
931
  state: {
908
932
  id: p.id,
909
933
  index: 0,
@@ -913,25 +937,25 @@ function fe(e) {
913
937
  layoutId: p.layoutId
914
938
  },
915
939
  url: p.pathname
916
- }) : o, h = a ? ue : g(), _ = {
917
- history: s([p], 0),
940
+ }) : o, h = a ? de : _(), g = {
941
+ history: c([p], 0),
918
942
  navigate: O(),
919
- transition: se(i),
920
- screen: le(),
943
+ transition: ce(i),
944
+ screen: ue(),
921
945
  driver: m,
922
946
  markSelfInduced: h.mark,
923
947
  consume: h.consume,
924
948
  routerKey: e.routerKey,
925
949
  zoneEntryId: e.zoneEntryId,
926
- ownsPathname: (e) => ce(t, e),
927
- persistent: !!c,
950
+ ownsPathname: (e) => le(t, e),
951
+ persistent: !!s,
928
952
  life: { alive: !0 }
929
953
  };
930
- return c && de.set(c, _), _;
954
+ return s && fe.set(s, g), g;
931
955
  }
932
956
  //#endregion
933
957
  //#region src/screen/createScreenSelector.ts
934
- function pe(e, t) {
958
+ function me(e, t) {
935
959
  return e.map((n, r) => ({
936
960
  ...n,
937
961
  isActive: r === t,
@@ -944,7 +968,7 @@ function pe(e, t) {
944
968
  }
945
969
  //#endregion
946
970
  //#region src/screen/computeScreenFreeze.ts
947
- function me(e) {
971
+ function he(e) {
948
972
  let t = e.status === "COMPLETED" && e.dragStatus === "IDLE";
949
973
  return !e.isActive && t || e.isPrev && e.index - 2 <= e.zIndex && e.replaceTransitionStatus === "IDLE" || e.isPrev && e.index - 2 > e.zIndex;
950
974
  }
@@ -971,7 +995,7 @@ function N({ name: e, initial: t, idle: n, enter: r, enterBack: i, exit: a, exit
971
995
  }
972
996
  //#endregion
973
997
  //#region src/transition/createRawTransition.ts
974
- function he({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnExit: l, completedOnEnter: u, options: d }) {
998
+ function ge({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnExit: l, completedOnEnter: u, options: d }) {
975
999
  return {
976
1000
  name: e,
977
1001
  initial: t,
@@ -992,10 +1016,10 @@ function he({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
992
1016
  }
993
1017
  //#endregion
994
1018
  //#region src/transition/cupertino.ts
995
- var ge = (e, t, n) => {
1019
+ var _e = (e, t, n) => {
996
1020
  let [r, i] = t, [a, o] = n;
997
1021
  return i === r ? a : a + (e - r) / (i - r) * (o - a);
998
- }, _e = N({
1022
+ }, ve = N({
999
1023
  name: "cupertino",
1000
1024
  initial: { x: "100%" },
1001
1025
  idle: {
@@ -1055,7 +1079,7 @@ var ge = (e, t, n) => {
1055
1079
  swipeDirection: "x",
1056
1080
  onSwipeStart: async () => !0,
1057
1081
  onSwipe: (e, t, { animate: n, currentScreen: r, prevScreen: i, onProgress: a }) => {
1058
- let { offset: o } = t, s = o.x, c = ge(s, [0, window.innerWidth], [0, 100]);
1082
+ let { offset: o } = t, s = o.x, c = _e(s, [0, window.innerWidth], [0, 100]);
1059
1083
  return a?.(!0, c), n(r, { x: Math.max(0, s) }, { duration: 0 }), n(i, { x: `${-35 + c * .35}%` }, { duration: 0 }), c;
1060
1084
  },
1061
1085
  onSwipeEnd: async (e, t, { animate: n, currentScreen: r, prevScreen: i, onStart: a }) => {
@@ -1079,10 +1103,10 @@ var ge = (e, t, n) => {
1079
1103
  })]), c;
1080
1104
  }
1081
1105
  }
1082
- }), ve = (e, t, n) => {
1106
+ }), ye = (e, t, n) => {
1083
1107
  let [r, i] = t, [a, o] = n;
1084
1108
  return i === r ? a : a + (e - r) / (i - r) * (o - a);
1085
- }, ye = N({
1109
+ }, be = N({
1086
1110
  name: "layout",
1087
1111
  initial: { opacity: .97 },
1088
1112
  idle: {
@@ -1110,7 +1134,7 @@ var ge = (e, t, n) => {
1110
1134
  swipeDirection: "y",
1111
1135
  onSwipeStart: async () => !0,
1112
1136
  onSwipe: (e, t, { animate: n, currentScreen: r, onProgress: i }) => {
1113
- let { offset: a } = t, o = a.y, s = Math.max(0, Math.min(56, o)), c = ve(s, [0, 56], [1, .96]), l = Math.max(0, o - 56), u = Math.min(1, l / 160), d = Math.sqrt(u) * 12, f = Math.max(0, s + d), p = Math.min(56, f);
1137
+ let { offset: a } = t, o = a.y, s = Math.max(0, Math.min(56, o)), c = ye(s, [0, 56], [1, .96]), l = Math.max(0, o - 56), u = Math.min(1, l / 160), d = Math.sqrt(u) * 12, f = Math.max(0, s + d), p = Math.min(56, f);
1114
1138
  return i?.(!0, 100), n(r, {
1115
1139
  y: f,
1116
1140
  opacity: c
@@ -1127,7 +1151,7 @@ var ge = (e, t, n) => {
1127
1151
  }, { duration: .3 })]), c;
1128
1152
  }
1129
1153
  }
1130
- }), be = N({
1154
+ }), xe = N({
1131
1155
  name: "material",
1132
1156
  initial: { y: "100%" },
1133
1157
  idle: {
@@ -1235,7 +1259,7 @@ var ge = (e, t, n) => {
1235
1259
  })]), c;
1236
1260
  }
1237
1261
  }
1238
- }), xe = N({
1262
+ }), Se = N({
1239
1263
  name: "none",
1240
1264
  initial: {},
1241
1265
  idle: {
@@ -1259,10 +1283,10 @@ var ge = (e, t, n) => {
1259
1283
  options: { duration: 0 }
1260
1284
  }
1261
1285
  }), P = new Map([
1262
- ["none", xe],
1263
- ["cupertino", _e],
1264
- ["material", be],
1265
- ["layout", ye]
1286
+ ["none", Se],
1287
+ ["cupertino", ve],
1288
+ ["material", xe],
1289
+ ["layout", be]
1266
1290
  ]);
1267
1291
  //#endregion
1268
1292
  //#region src/transition/resolveTransition.ts
@@ -1271,7 +1295,7 @@ function F(e) {
1271
1295
  }
1272
1296
  //#endregion
1273
1297
  //#region src/transition/decorator/createDecorator.ts
1274
- function Se({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1298
+ function Ce({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1275
1299
  return {
1276
1300
  name: e,
1277
1301
  initial: t,
@@ -1292,7 +1316,7 @@ function Se({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1292
1316
  }
1293
1317
  //#endregion
1294
1318
  //#region src/transition/decorator/createRawDecorator.ts
1295
- function Ce({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
1319
+ function we({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
1296
1320
  return {
1297
1321
  name: e,
1298
1322
  initial: t,
@@ -1313,7 +1337,7 @@ function Ce({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
1313
1337
  }
1314
1338
  //#endregion
1315
1339
  //#region src/transition/decorator/overlay.ts
1316
- var I = "rgba(0, 0, 0, 0.2)", we = Se({
1340
+ var I = "rgba(0, 0, 0, 0.2)", Te = Ce({
1317
1341
  name: "overlay",
1318
1342
  initial: {
1319
1343
  opacity: 0,
@@ -1345,10 +1369,10 @@ var I = "rgba(0, 0, 0, 0.2)", we = Se({
1345
1369
  onSwipe: (e, t, { animate: n, prevDecorator: r }) => n(r, { opacity: Math.max(0, 1 - t / 100) }, { duration: 0 }),
1346
1370
  onSwipeEnd: (e, { animate: t, prevDecorator: n }) => t(n, { opacity: +!e }, { duration: .3 })
1347
1371
  }
1348
- }), L = new Map([["overlay", we]]);
1372
+ }), L = new Map([["overlay", Te]]);
1349
1373
  //#endregion
1350
1374
  //#region src/transition/partTransition/createPartTransition.ts
1351
- function Te({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1375
+ function Ee({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1352
1376
  return {
1353
1377
  name: e,
1354
1378
  initial: t,
@@ -1369,7 +1393,7 @@ function Te({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1369
1393
  }
1370
1394
  //#endregion
1371
1395
  //#region src/transition/partTransition/createRawPartTransition.ts
1372
- function Ee({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
1396
+ function De({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
1373
1397
  return {
1374
1398
  name: e,
1375
1399
  initial: t,
@@ -1401,17 +1425,17 @@ var R = /* @__PURE__ */ new Map(), z = {
1401
1425
  "POPPING-false": "PUSHING-false",
1402
1426
  "COMPLETED-true": "self",
1403
1427
  "COMPLETED-false": "self"
1404
- }, De = Object.keys(z), Oe = (e) => {
1428
+ }, Oe = Object.keys(z), ke = (e) => {
1405
1429
  if (!e) return 0;
1406
1430
  let t = e.duration;
1407
1431
  return typeof t == "number" && t >= 0 ? t : 0;
1408
- }, ke = (e) => e && typeof e.delay == "number" && e.delay > 0 ? e.delay : 0, Ae = (e, t) => {
1432
+ }, Ae = (e) => e && typeof e.delay == "number" && e.delay > 0 ? e.delay : 0, je = (e, t) => {
1409
1433
  let n = z[t];
1410
1434
  return n === "self" ? null : n === "initial" ? e.initial : e.variants[n].value;
1411
1435
  }, B = (e, t) => {
1412
- let n = Ae(e, t);
1436
+ let n = je(e, t);
1413
1437
  if (n === null) return null;
1414
- let r = e.variants[t], i = Oe(r.options), a = ke(r.options);
1438
+ let r = e.variants[t], i = ke(r.options), a = Ae(r.options);
1415
1439
  return i <= 0 && a <= 0 ? null : {
1416
1440
  from: n,
1417
1441
  to: r.value,
@@ -1419,7 +1443,7 @@ var R = /* @__PURE__ */ new Map(), z = {
1419
1443
  delay: a,
1420
1444
  ease: r.options?.ease
1421
1445
  };
1422
- }, je = De, Me = (e) => e.replace(/[^a-zA-Z0-9_-]/g, "_"), Ne = (e) => typeof e == "object" && !!e && !Array.isArray(e), Pe = new Set(/* @__PURE__ */ "opacity.scale.scaleX.scaleY.scaleZ.aspectRatio.columnCount.columns.flex.flexGrow.flexShrink.fontWeight.gridArea.gridColumn.gridColumnEnd.gridColumnStart.gridRow.gridRowEnd.gridRowStart.lineHeight.lineClamp.order.orphans.tabSize.widows.zIndex.zoom.fillOpacity.floodOpacity.stopOpacity.strokeOpacity.strokeDasharray.strokeDashoffset.strokeMiterlimit.strokeWidth".split(".")), Fe = (e, t) => t.startsWith("--") || Pe.has(t) ? `${e}` : t === "rotate" || t === "rotateX" || t === "rotateY" || t === "rotateZ" ? `${e}deg` : `${e}px`, Ie = (e, t) => typeof t == "number" ? Fe(t, e) : typeof t == "string" ? t : "", Le = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), Re = new Set([
1446
+ }, Me = Oe, Ne = (e) => e.replace(/[^a-zA-Z0-9_-]/g, "_"), Pe = (e) => typeof e == "object" && !!e && !Array.isArray(e), Fe = new Set(/* @__PURE__ */ "opacity.scale.scaleX.scaleY.scaleZ.aspectRatio.columnCount.columns.flex.flexGrow.flexShrink.fontWeight.gridArea.gridColumn.gridColumnEnd.gridColumnStart.gridRow.gridRowEnd.gridRowStart.lineHeight.lineClamp.order.orphans.tabSize.widows.zIndex.zoom.fillOpacity.floodOpacity.stopOpacity.strokeOpacity.strokeDasharray.strokeDashoffset.strokeMiterlimit.strokeWidth".split(".")), Ie = (e, t) => t.startsWith("--") || Fe.has(t) ? `${e}` : t === "rotate" || t === "rotateX" || t === "rotateY" || t === "rotateZ" ? `${e}deg` : `${e}px`, Le = (e, t) => typeof t == "number" ? Ie(t, e) : typeof t == "string" ? t : "", Re = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), ze = new Set([
1423
1447
  "x",
1424
1448
  "y",
1425
1449
  "z",
@@ -1430,7 +1454,7 @@ var R = /* @__PURE__ */ new Map(), z = {
1430
1454
  "rotateX",
1431
1455
  "rotateY",
1432
1456
  "rotateZ"
1433
- ]), ze = /^-?0(\.0+)?(px|%|em|rem|vh|vw|vmin|vmax)?$/, Be = /^-?0(\.0+)?(deg|rad|grad|turn)?$/, Ve = /^1(\.0+)?$/, He = (e, t) => e === "scale" || e === "scaleX" || e === "scaleY" ? t === 1 ? !0 : typeof t == "string" ? Ve.test(t.trim()) : !1 : e === "rotate" || e === "rotateX" || e === "rotateY" || e === "rotateZ" ? t === 0 ? !0 : typeof t == "string" ? Be.test(t.trim()) : !1 : t === 0 ? !0 : typeof t == "string" ? ze.test(t.trim()) : !1, Ue = (e, t) => {
1457
+ ]), Be = /^-?0(\.0+)?(px|%|em|rem|vh|vw|vmin|vmax)?$/, Ve = /^-?0(\.0+)?(deg|rad|grad|turn)?$/, He = /^1(\.0+)?$/, Ue = (e, t) => e === "scale" || e === "scaleX" || e === "scaleY" ? t === 1 ? !0 : typeof t == "string" ? He.test(t.trim()) : !1 : e === "rotate" || e === "rotateX" || e === "rotateY" || e === "rotateZ" ? t === 0 ? !0 : typeof t == "string" ? Ve.test(t.trim()) : !1 : t === 0 ? !0 : typeof t == "string" ? Be.test(t.trim()) : !1, We = (e, t) => {
1434
1458
  switch (e) {
1435
1459
  case "x": return `translate3d(${t}, 0, 0)`;
1436
1460
  case "y": return `translate3d(0, ${t}, 0)`;
@@ -1444,16 +1468,16 @@ var R = /* @__PURE__ */ new Map(), z = {
1444
1468
  case "rotateY": return `rotateY(${t})`;
1445
1469
  default: return "";
1446
1470
  }
1447
- }, We = (e) => {
1471
+ }, Ge = (e) => {
1448
1472
  let t = /* @__PURE__ */ new Map(), n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
1449
- if (!Ne(e)) return;
1473
+ if (!Pe(e)) return;
1450
1474
  let n = [];
1451
1475
  for (let r of Object.keys(e)) {
1452
- let i = e[r], a = Ie(r, i);
1453
- if (a !== "") if (Re.has(r)) n.push(`${r}:${a}`);
1476
+ let i = e[r], a = Le(r, i);
1477
+ if (a !== "") if (ze.has(r)) n.push(`${r}:${a}`);
1454
1478
  else {
1455
- let e = t.get(Le(r)) ?? /* @__PURE__ */ new Set();
1456
- e.add(a), t.set(Le(r), e);
1479
+ let e = t.get(Re(r)) ?? /* @__PURE__ */ new Set();
1480
+ e.add(a), t.set(Re(r), e);
1457
1481
  }
1458
1482
  }
1459
1483
  r.add(n.sort().join("|"));
@@ -1464,12 +1488,12 @@ var R = /* @__PURE__ */ new Map(), z = {
1464
1488
  let a = Array.from(t.entries()).filter(([, e]) => e.size > 1).map(([e]) => e);
1465
1489
  return n && a.push("transform"), a;
1466
1490
  }, V = (e) => {
1467
- if (!Ne(e)) return [];
1491
+ if (!Pe(e)) return [];
1468
1492
  let t = [], n = !0, r = [];
1469
1493
  for (let i of Object.keys(e)) {
1470
- let a = e[i], o = Ie(i, a);
1471
- o !== "" && (Re.has(i) ? (t.push(Ue(i, o)), He(i, a) || (n = !1)) : r.push({
1472
- property: Le(i),
1494
+ let a = e[i], o = Le(i, a);
1495
+ o !== "" && (ze.has(i) ? (t.push(We(i, o)), Ue(i, a) || (n = !1)) : r.push({
1496
+ property: Re(i),
1473
1497
  value: o
1474
1498
  }));
1475
1499
  }
@@ -1487,20 +1511,20 @@ var R = /* @__PURE__ */ new Map(), z = {
1487
1511
  backIn: "cubic-bezier(0.31, 0.01, 0.66, -0.59)",
1488
1512
  backOut: "cubic-bezier(0.33, 1.53, 0.69, 0.99)",
1489
1513
  anticipate: "cubic-bezier(0.36, 0, 0.66, -0.56)"
1490
- }[e] ?? "ease" : "ease", Ge = (e, t) => {
1514
+ }[e] ?? "ease" : "ease", Ke = (e, t) => {
1491
1515
  let [n, r] = t.split("-");
1492
1516
  return `[data-flemo-screen][data-flemo-transition="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
1493
- }, Ke = (e, t) => {
1517
+ }, qe = (e, t) => {
1494
1518
  let [n, r] = t.split("-");
1495
1519
  return `[data-flemo-decorator][data-flemo-decorator-name="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
1496
- }, qe = (e, t) => {
1520
+ }, Je = (e, t) => {
1497
1521
  let [n, r] = t.split("-");
1498
1522
  return `[data-flemo-bar][data-flemo-bar-transition="${e}"][data-flemo-bar-status="${n}"][data-flemo-bar-active="${r}"][data-flemo-bar-riding="true"]`;
1499
- }, Je = (e, t) => {
1523
+ }, Ye = (e, t) => {
1500
1524
  let [n, r] = t.split("-");
1501
1525
  return `[data-flemo-part-name="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
1502
- }, W = (e, t, n) => `flemo-${e}-${Me(t)}-${n}`, Ye = (e, t, n, r, i, a) => {
1503
- let o = V(r), s = V(i.value), c = Oe(i.options), l = ke(i.options), u = U(i.options?.ease), d = a(t, n), f = e === "screen" ? `${d},\n${qe(t, n)}` : d;
1526
+ }, W = (e, t, n) => `flemo-${e}-${Ne(t)}-${n}`, Xe = (e, t, n, r, i, a) => {
1527
+ let o = V(r), s = V(i.value), c = ke(i.options), l = Ae(i.options), u = U(i.options?.ease), d = a(t, n), f = e === "screen" ? `${d},\n${Je(t, n)}` : d;
1504
1528
  if (s.length === 0 && o.length === 0) return "";
1505
1529
  if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${H(s)}\n animation: none;\n}`;
1506
1530
  let p = W(e, t, n), m = [
@@ -1519,55 +1543,55 @@ var R = /* @__PURE__ */ new Map(), z = {
1519
1543
  l > 0 ? `${l}s` : null,
1520
1544
  "both"
1521
1545
  ].filter(Boolean).join(" "), g = new Map(o.map((e) => [e.property, e.value])), _ = new Map(s.map((e) => [e.property, e.value])), v = Array.from(new Set([...g.keys(), ..._.keys()])).filter((e) => g.get(e) !== _.get(e)), y = v.length > 0 ? ` will-change: ${v.join(", ")};\n` : "", b = n.split("-")[0];
1522
- return `${m}\n${`${f} {\n animation: ${h};\n${y}${b === "PUSHING" || b === "REPLACING" ? " contain: layout;\n pointer-events: none;\n" : ""}}`}${e === "screen" && n.endsWith("-false") && Xe(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park"] {\n animation: none;\n${H(s)}\n}` : ""}${e === "screen" && n.endsWith("-true") && (n.startsWith("PUSHING") || n.startsWith("REPLACING")) && Xe(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park-under"] {\n animation: none;\n${H(s)}\n}` : ""}`;
1523
- }, Xe = (e) => {
1546
+ return `${m}\n${`${f} {\n animation: ${h};\n${y}${b === "PUSHING" || b === "REPLACING" ? " contain: layout;\n pointer-events: none;\n" : ""}}`}${e === "screen" && n.endsWith("-false") && Ze(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park"] {\n animation: none;\n${H(s)}\n}` : ""}${e === "screen" && n.endsWith("-true") && (n.startsWith("PUSHING") || n.startsWith("REPLACING")) && Ze(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park-under"] {\n animation: none;\n${H(s)}\n}` : ""}`;
1547
+ }, Ze = (e) => {
1524
1548
  if (!e) return !1;
1525
1549
  if (e.opacity === 0) return !0;
1526
1550
  let t = (e) => typeof e == "string" && e.trim().endsWith("%") && Math.abs(parseFloat(e)) >= 100;
1527
1551
  return t(e.x) || t(e.y);
1528
- }, Ze = (e, t, n, r) => {
1552
+ }, Qe = (e, t, n, r) => {
1529
1553
  let i = V(r.value);
1530
1554
  return i.length === 0 ? "" : `${e(t, n)} {\n${H(i)}\n}`;
1531
- }, Qe = (e, t, n = []) => {
1555
+ }, $e = (e, t, n = []) => {
1532
1556
  let r = [];
1533
1557
  for (let t of e) {
1534
1558
  let e = t.name;
1535
- for (let n of De) {
1559
+ for (let n of Oe) {
1536
1560
  let i = t.variants[n], a = z[n];
1537
1561
  if (a === "self") {
1538
- r.push(Ze(Ge, e, n, i));
1562
+ r.push(Qe(Ke, e, n, i));
1539
1563
  continue;
1540
1564
  }
1541
1565
  let o = a === "initial" ? t.initial : t.variants[a].value;
1542
- r.push(Ye("screen", e, n, o, i, Ge));
1566
+ r.push(Xe("screen", e, n, o, i, Ke));
1543
1567
  }
1544
1568
  }
1545
1569
  for (let e of t) {
1546
1570
  let t = e.name;
1547
- for (let n of je) {
1571
+ for (let n of Me) {
1548
1572
  let i = e.variants[n], a = z[n];
1549
1573
  if (a === "self") {
1550
- r.push(Ze(Ke, t, n, i));
1574
+ r.push(Qe(qe, t, n, i));
1551
1575
  continue;
1552
1576
  }
1553
1577
  let o = a === "initial" ? e.initial : e.variants[a].value;
1554
- r.push(Ye("decorator", t, n, o, i, Ke));
1578
+ r.push(Xe("decorator", t, n, o, i, qe));
1555
1579
  }
1556
1580
  }
1557
1581
  for (let e of n) {
1558
1582
  let t = e.name;
1559
- for (let n of je) {
1583
+ for (let n of Me) {
1560
1584
  let i = e.variants[n], a = z[n];
1561
1585
  if (a === "self") {
1562
- r.push(Ze(Je, t, n, i));
1586
+ r.push(Qe(Ye, t, n, i));
1563
1587
  continue;
1564
1588
  }
1565
1589
  let o = a === "initial" ? e.initial : e.variants[a].value;
1566
- r.push(Ye("part", t, n, o, i, Je));
1590
+ r.push(Xe("part", t, n, o, i, Ye));
1567
1591
  }
1568
1592
  }
1569
- return [...r.filter((e) => e.length > 0), $e].join("\n\n");
1570
- }, $e = [
1593
+ return [...r.filter((e) => e.length > 0), et].join("\n\n");
1594
+ }, et = [
1571
1595
  "[data-flemo-anim-hold=\"true\"],",
1572
1596
  "[data-flemo-anim-hold=\"park\"],",
1573
1597
  "[data-flemo-anim-hold=\"park-under\"],",
@@ -1579,38 +1603,38 @@ var R = /* @__PURE__ */ new Map(), z = {
1579
1603
  ].join("\n"), G = (e, t) => {
1580
1604
  let n = z[t];
1581
1605
  if (n === "self") return !1;
1582
- let r = e.variants[t], i = Oe(r.options), a = ke(r.options);
1606
+ let r = e.variants[t], i = ke(r.options), a = Ae(r.options);
1583
1607
  if (i <= 0 && a <= 0) return !1;
1584
1608
  let o = V(n === "initial" ? e.initial : e.variants[n].value), s = V(r.value);
1585
1609
  return o.length > 0 || s.length > 0;
1586
- }, et = "data-flemo";
1587
- function tt() {
1588
- if (d()) return;
1589
- let e = Qe(P.values(), L.values(), R.values()), t = document.head.querySelector(`style[${et}]`);
1590
- t || (t = document.createElement("style"), t.setAttribute(et, ""), document.head.appendChild(t)), t.textContent !== e && (t.textContent = e);
1610
+ }, tt = "data-flemo";
1611
+ function nt() {
1612
+ if (f()) return;
1613
+ let e = $e(P.values(), L.values(), R.values()), t = document.head.querySelector(`style[${tt}]`);
1614
+ t || (t = document.createElement("style"), t.setAttribute(tt, ""), document.head.appendChild(t)), t.textContent !== e && (t.textContent = e);
1591
1615
  }
1592
1616
  //#endregion
1593
1617
  //#region src/transition/registerTransitionDefinitions.ts
1594
- var nt = /* @__PURE__ */ new Map(), rt = /* @__PURE__ */ new Map(), it = /* @__PURE__ */ new Map(), at = (e, t) => {
1618
+ var rt = /* @__PURE__ */ new Map(), it = /* @__PURE__ */ new Map(), at = /* @__PURE__ */ new Map(), ot = (e, t) => {
1595
1619
  e.set(t, (e.get(t) ?? 0) + 1);
1596
- }, ot = (e, t) => {
1620
+ }, st = (e, t) => {
1597
1621
  let n = (e.get(t) ?? 1) - 1;
1598
1622
  return n <= 0 ? (e.delete(t), !0) : (e.set(t, n), !1);
1599
1623
  };
1600
- function st(e, t, n = []) {
1601
- for (let t of e) P.set(t.name, t), at(nt, t.name);
1602
- for (let e of t) L.set(e.name, e), at(rt, e.name);
1603
- for (let e of n) R.set(e.name, e), at(it, e.name);
1604
- return tt(), () => {
1605
- for (let t of e) ot(nt, t.name) && P.delete(t.name);
1606
- for (let e of t) ot(rt, e.name) && L.delete(e.name);
1607
- for (let e of n) ot(it, e.name) && R.delete(e.name);
1608
- tt();
1624
+ function ct(e, t, n = []) {
1625
+ for (let t of e) P.set(t.name, t), ot(rt, t.name);
1626
+ for (let e of t) L.set(e.name, e), ot(it, e.name);
1627
+ for (let e of n) R.set(e.name, e), ot(at, e.name);
1628
+ return nt(), () => {
1629
+ for (let t of e) st(rt, t.name) && P.delete(t.name);
1630
+ for (let e of t) st(it, e.name) && L.delete(e.name);
1631
+ for (let e of n) st(at, e.name) && R.delete(e.name);
1632
+ nt();
1609
1633
  };
1610
1634
  }
1611
1635
  //#endregion
1612
1636
  //#region src/transition/enteringInitialStyle.ts
1613
- function ct(e) {
1637
+ function lt(e) {
1614
1638
  let { initial: t, isActive: n, status: r } = e;
1615
1639
  if (!n || r !== "PUSHING" && r !== "REPLACING") return {};
1616
1640
  let i = {};
@@ -1618,10 +1642,10 @@ function ct(e) {
1618
1642
  }
1619
1643
  //#endregion
1620
1644
  //#region src/transition/settleScrub.ts
1621
- var lt = () => ({
1645
+ var ut = () => ({
1622
1646
  request: (e) => requestAnimationFrame(e),
1623
1647
  cancel: (e) => cancelAnimationFrame(e)
1624
- }), ut = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), dt = ((e = lt()) => {
1648
+ }), dt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), ft = ((e = ut()) => {
1625
1649
  let t = /* @__PURE__ */ new Map(), n = null, r = () => {
1626
1650
  t.size === 0 && n !== null && (e.cancel(n), n = null);
1627
1651
  }, i = (e, n) => {
@@ -1654,7 +1678,7 @@ var lt = () => ({
1654
1678
  if (typeof r.animate != "function") return null;
1655
1679
  i(r, "current");
1656
1680
  let l = {};
1657
- for (let e of o) l[ut(e.property)] = e.value;
1681
+ for (let e of o) l[dt(e.property)] = e.value;
1658
1682
  let u;
1659
1683
  try {
1660
1684
  u = r.animate([l], {
@@ -1684,49 +1708,49 @@ var lt = () => ({
1684
1708
  takeover: (e) => i(e, "current"),
1685
1709
  cancel: (e) => i(e, "drop")
1686
1710
  };
1687
- })(), ft = "flemo:motion-driver", pt = "flemo:motion-driver-force", mt = !1, ht = () => {
1711
+ })(), pt = "flemo:motion-driver", mt = "flemo:motion-driver-force", ht = !1, gt = () => {
1688
1712
  try {
1689
1713
  if (typeof localStorage > "u") return null;
1690
- let e = localStorage.getItem(pt);
1691
- return e !== "css" && e !== "raf" ? null : (!mt && typeof console < "u" && (mt = !0, console.warn(`[flemo] motion driver pinned to "${e}" via localStorage ${pt}; remove the key to restore automatic selection.`)), e);
1714
+ let e = localStorage.getItem(mt);
1715
+ return e !== "css" && e !== "raf" ? null : (!ht && typeof console < "u" && (ht = !0, console.warn(`[flemo] motion driver pinned to "${e}" via localStorage ${mt}; remove the key to restore automatic selection.`)), e);
1692
1716
  } catch {
1693
1717
  return null;
1694
1718
  }
1695
- }, gt = () => ({
1719
+ }, _t = () => ({
1696
1720
  read: () => {
1697
1721
  try {
1698
- return typeof localStorage < "u" ? localStorage.getItem(ft) : null;
1722
+ return typeof localStorage < "u" ? localStorage.getItem(pt) : null;
1699
1723
  } catch {
1700
1724
  return null;
1701
1725
  }
1702
1726
  },
1703
1727
  write: (e) => {
1704
1728
  try {
1705
- typeof localStorage < "u" && localStorage.setItem(ft, e);
1729
+ typeof localStorage < "u" && localStorage.setItem(pt, e);
1706
1730
  } catch {}
1707
1731
  }
1708
- }), _t = 30, vt = 2, yt = 2, bt = () => typeof navigator < "u" && !!navigator.userAgentData, K = ((e = gt(), t = bt()) => {
1732
+ }), vt = 30, yt = 2, bt = 2, xt = () => typeof navigator < "u" && !!navigator.userAgentData, K = ((e = _t(), t = xt()) => {
1709
1733
  let n = e.read() === "css", r = n;
1710
1734
  n &&= !1;
1711
1735
  let i = 0, a = 0, o = [];
1712
1736
  return {
1713
1737
  playerAllowed: () => {
1714
- let e = ht();
1738
+ let e = gt();
1715
1739
  return e ? e === "raf" : t && !n;
1716
1740
  },
1717
1741
  beginRun: () => {
1718
1742
  a = 0, o = [];
1719
1743
  },
1720
1744
  reportGap: (e) => {
1721
- o.push(e), e >= _t && (a += 1);
1745
+ o.push(e), e >= vt && (a += 1);
1722
1746
  },
1723
1747
  endRun: () => {
1724
- let t = a >= vt;
1748
+ let t = a >= yt;
1725
1749
  if (r) {
1726
1750
  r = !1, t ? n = !0 : e.write("raf");
1727
1751
  return;
1728
1752
  }
1729
- t && (i += 1, i >= yt && !n && (n = !0, e.write("css")));
1753
+ t && (i += 1, i >= bt && !n && (n = !0, e.write("css")));
1730
1754
  },
1731
1755
  stats: () => ({
1732
1756
  runGaps: [...o],
@@ -1734,11 +1758,11 @@ var lt = () => ({
1734
1758
  demoted: n
1735
1759
  })
1736
1760
  };
1737
- })(), xt = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, q = /* @__PURE__ */ new WeakMap(), J = (e, t) => {
1761
+ })(), St = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, q = /* @__PURE__ */ new WeakMap(), J = (e, t) => {
1738
1762
  let n = q.get(e);
1739
1763
  n || (n = /* @__PURE__ */ new Set(), q.set(e, n)), n.add(t);
1740
1764
  }, Y = (e, t) => {
1741
- if (dt.cancel(e), e.style.transition = "", e.style.removeProperty("animation-delay"), t) {
1765
+ if (ft.cancel(e), e.style.transition = "", e.style.removeProperty("animation-delay"), t) {
1742
1766
  let n = q.get(e);
1743
1767
  for (let r of t) e.style.removeProperty(r), n?.delete(r);
1744
1768
  return;
@@ -1751,16 +1775,16 @@ var lt = () => ({
1751
1775
  }
1752
1776
  e.style.removeProperty("transform"), e.style.removeProperty("opacity");
1753
1777
  }, X = (e, t, n = {}) => {
1754
- if (!xt(e)) return Promise.resolve();
1778
+ if (!St(e)) return Promise.resolve();
1755
1779
  let r = e, i = V(t);
1756
1780
  if (i.length === 0) return Promise.resolve();
1757
1781
  let a = typeof n.duration == "number" ? n.duration : 0, o = typeof n.delay == "number" && n.delay > 0 ? n.delay : 0, s = U(n.ease);
1758
1782
  if (a <= 0 && o <= 0) {
1759
- dt.takeover(r), r.style.transition = "none";
1783
+ ft.takeover(r), r.style.transition = "none";
1760
1784
  for (let e of i) r.style.setProperty(e.property, e.value), J(r, e.property);
1761
1785
  return Promise.resolve();
1762
1786
  }
1763
- let c = K.playerAllowed() ? dt.settle(r, i, {
1787
+ let c = K.playerAllowed() ? ft.settle(r, i, {
1764
1788
  durationMs: a * 1e3,
1765
1789
  delayMs: o * 1e3,
1766
1790
  easing: s
@@ -1779,7 +1803,7 @@ var lt = () => ({
1779
1803
  };
1780
1804
  r.addEventListener("transitionend", i), setTimeout(n, (a + o) * 1e3 + 60);
1781
1805
  });
1782
- }, St = (e, t, n, r) => {
1806
+ }, Ct = (e, t, n, r) => {
1783
1807
  let i = (t) => 3 * (1 - t) * (1 - t) * t * e + 3 * (1 - t) * t * t * n + t ** 3, a = (e) => 3 * (1 - e) * (1 - e) * e * t + 3 * (1 - e) * e * e * r + e ** 3;
1784
1808
  return (e) => {
1785
1809
  if (e <= 0) return 0;
@@ -1791,7 +1815,7 @@ var lt = () => ({
1791
1815
  }
1792
1816
  return a((t + n) / 2);
1793
1817
  };
1794
- }, Ct = (e) => e, wt = {
1818
+ }, wt = (e) => e, Tt = {
1795
1819
  ease: [
1796
1820
  .25,
1797
1821
  .1,
@@ -1846,16 +1870,16 @@ var lt = () => ({
1846
1870
  .66,
1847
1871
  -.56
1848
1872
  ]
1849
- }, Tt = (e) => {
1873
+ }, Et = (e) => {
1850
1874
  if (Array.isArray(e)) {
1851
1875
  if (e.length === 4 && e.every((e) => typeof e == "number")) {
1852
1876
  let [t, n, r, i] = e;
1853
- return St(t, n, r, i);
1877
+ return Ct(t, n, r, i);
1854
1878
  }
1855
- return Ct;
1879
+ return wt;
1856
1880
  }
1857
- return typeof e == "string" ? e === "linear" ? Ct : St(...wt[e] ?? wt.ease) : St(...wt.ease);
1858
- }, Et = [
1881
+ return typeof e == "string" ? e === "linear" ? wt : Ct(...Tt[e] ?? Tt.ease) : Ct(...Tt.ease);
1882
+ }, Dt = [
1859
1883
  "x",
1860
1884
  "y",
1861
1885
  "z",
@@ -1866,7 +1890,7 @@ var lt = () => ({
1866
1890
  "rotateX",
1867
1891
  "rotateY",
1868
1892
  "rotateZ"
1869
- ], Dt = new Set(Et), Ot = {
1893
+ ], Ot = new Set(Dt), kt = {
1870
1894
  x: 0,
1871
1895
  y: 0,
1872
1896
  z: 0,
@@ -1877,7 +1901,7 @@ var lt = () => ({
1877
1901
  rotateX: 0,
1878
1902
  rotateY: 0,
1879
1903
  rotateZ: 0
1880
- }, kt = (e, t) => {
1904
+ }, At = (e, t) => {
1881
1905
  if (typeof t == "number") return {
1882
1906
  value: t,
1883
1907
  unit: e === "x" || e === "y" || e === "z" ? "px" : ""
@@ -1896,7 +1920,7 @@ var lt = () => ({
1896
1920
  value: i,
1897
1921
  unit: a === "" && i === 0 ? "px" : a
1898
1922
  };
1899
- }, Z = /-?\d*\.?\d+/g, At = (e, t) => {
1923
+ }, Z = /-?\d*\.?\d+/g, jt = (e, t) => {
1900
1924
  let n = e.match(Z) ?? [], r = t.match(Z) ?? [];
1901
1925
  if (n.length !== r.length || e.replace(Z, " ") !== t.replace(Z, " ")) return null;
1902
1926
  let i = n.map(Number), a = r.map(Number);
@@ -1907,15 +1931,15 @@ var lt = () => ({
1907
1931
  return `${Math.round(r * 1e3) / 1e3}`;
1908
1932
  });
1909
1933
  };
1910
- }, jt = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), Mt = (e) => typeof e == "object" && !!e && !Array.isArray(e), Nt = (e) => Mt(e) ? Object.keys(e) : [], Pt = (e, t) => Mt(e) ? e[t] : void 0, Ft = (e, t) => {
1911
- let n = new Set([...Nt(e.from), ...Nt(e.to)]), r = [], i = null, a = [], o = [];
1934
+ }, Mt = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), Nt = (e) => typeof e == "object" && !!e && !Array.isArray(e), Pt = (e) => Nt(e) ? Object.keys(e) : [], Ft = (e, t) => Nt(e) ? e[t] : void 0, It = (e, t) => {
1935
+ let n = new Set([...Pt(e.from), ...Pt(e.to)]), r = [], i = null, a = [], o = [];
1912
1936
  for (let s of n) {
1913
- let n = Pt(e.from, s), c = Pt(e.to, s);
1914
- if (Dt.has(s)) {
1937
+ let n = Ft(e.from, s), c = Ft(e.to, s);
1938
+ if (Ot.has(s)) {
1915
1939
  let e = s, i = {
1916
- value: Ot[e],
1940
+ value: kt[e],
1917
1941
  unit: e === "x" || e === "y" || e === "z" ? "px" : ""
1918
- }, a = n === void 0 ? i : kt(e, n), o = c === void 0 ? i : kt(e, c);
1942
+ }, a = n === void 0 ? i : At(e, n), o = c === void 0 ? i : At(e, c);
1919
1943
  if (!a || !o || a.unit !== o.unit && a.value !== 0 && o.value !== 0) return null;
1920
1944
  let l = a.value === 0 && a.unit !== o.unit ? o.unit : a.unit, u = l === "%", d = 0;
1921
1945
  u && t && (d = e === "y" ? t.offsetHeight / 100 : t.offsetWidth / 100), r.push({
@@ -1946,15 +1970,15 @@ var lt = () => ({
1946
1970
  if (typeof l != "string" || typeof u != "string") return null;
1947
1971
  if (l === u) {
1948
1972
  o.push({
1949
- property: jt(s),
1973
+ property: Mt(s),
1950
1974
  value: l
1951
1975
  });
1952
1976
  continue;
1953
1977
  }
1954
- let d = At(l, u);
1978
+ let d = jt(l, u);
1955
1979
  if (!d) return null;
1956
1980
  a.push({
1957
- property: jt(s),
1981
+ property: Mt(s),
1958
1982
  mix: d
1959
1983
  });
1960
1984
  }
@@ -1964,29 +1988,29 @@ var lt = () => ({
1964
1988
  strings: a,
1965
1989
  constants: o
1966
1990
  };
1967
- }, It = 1, Lt = (e, t, n, r) => {
1991
+ }, Lt = 1, Rt = (e, t, n, r) => {
1968
1992
  let i = 0, a = 0, o = !1, s = [], c = !0;
1969
- for (let l of Et) {
1993
+ for (let l of Dt) {
1970
1994
  let u = e.find((e) => e.prop === l);
1971
1995
  if (!u) continue;
1972
1996
  let d = u.from.value + (u.to.value - u.from.value) * t;
1973
1997
  if (u.from.unit === "%" && (d *= u.percentBase), l === "x" || l === "y") {
1974
- let e = l === "x" ? r.x : r.y, t = (e === null || Math.abs(d - e) * n >= It) && n > 0 ? Math.round(d * n) / n : Math.round(d * 1e3) / 1e3;
1998
+ let e = l === "x" ? r.x : r.y, t = (e === null || Math.abs(d - e) * n >= Lt) && n > 0 ? Math.round(d * n) / n : Math.round(d * 1e3) / 1e3;
1975
1999
  l === "x" ? (r.x = d, i = t) : (r.y = d, a = t), o = !0, t !== 0 && (c = !1);
1976
2000
  continue;
1977
2001
  }
1978
- let f = Ot[l];
2002
+ let f = kt[l];
1979
2003
  d !== f && (c = !1), l === "z" ? s.push(`translateZ(${d}px)`) : l === "scale" ? s.push(`scale(${d})`) : l === "scaleX" ? s.push(`scaleX(${d})`) : l === "scaleY" ? s.push(`scaleY(${d})`) : l === "rotate" || l === "rotateZ" ? s.push(`rotate(${d}deg)`) : l === "rotateX" ? s.push(`rotateX(${d}deg)`) : l === "rotateY" && s.push(`rotateY(${d}deg)`);
1980
2004
  }
1981
2005
  return !o && s.length === 0 ? "" : c ? "none" : [...o ? [`translate3d(${i}px, ${a}px, 0)`] : [], ...s].join(" ");
1982
- }, Rt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), zt = (e) => {
2006
+ }, zt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), Bt = (e) => {
1983
2007
  let t = {};
1984
- for (let n of V(e)) t[Rt(n.property)] = n.value;
2008
+ for (let n of V(e)) t[zt(n.property)] = n.value;
1985
2009
  return t;
1986
- }, Bt = (e, t) => {
2010
+ }, Vt = (e, t) => {
1987
2011
  if (typeof e.animate != "function") return null;
1988
2012
  try {
1989
- let n = e.animate([zt(t.from), zt(t.to)], {
2013
+ let n = e.animate([Bt(t.from), Bt(t.to)], {
1990
2014
  duration: Math.max(0, t.duration * 1e3),
1991
2015
  delay: Math.max(0, t.delay * 1e3),
1992
2016
  easing: U(t.ease),
@@ -1996,14 +2020,14 @@ var lt = () => ({
1996
2020
  } catch {
1997
2021
  return null;
1998
2022
  }
1999
- }, Vt = () => ({
2023
+ }, Ht = 1e3 / 60, Ut = 100, Wt = () => ({
2000
2024
  request: (e) => requestAnimationFrame(e),
2001
2025
  cancel: (e) => cancelAnimationFrame(e),
2002
2026
  devicePixelRatio: () => typeof window < "u" && window.devicePixelRatio || 1
2003
- }), Q = ((e = Vt()) => {
2027
+ }), Q = ((e = Wt()) => {
2004
2028
  let t = /* @__PURE__ */ new Map(), n = {
2005
2029
  join: (n, r) => {
2006
- let i = Ft(r.motion, r.element), s = i ? null : Bt(r.element, r.motion);
2030
+ let i = It(r.motion, r.element), s = i ? null : Vt(r.element, r.motion);
2007
2031
  if (!i && !s) return null;
2008
2032
  let c = t.get(n);
2009
2033
  c || (c = {
@@ -2046,13 +2070,13 @@ var lt = () => ({
2046
2070
  }
2047
2071
  }, r = /* @__PURE__ */ new WeakMap(), i = (e) => {
2048
2072
  let t = r.get(e);
2049
- return t || (t = Tt(e.motion.ease), r.set(e, t)), t;
2073
+ return t || (t = Et(e.motion.ease), r.set(e, t)), t;
2050
2074
  };
2051
2075
  function a(t, n) {
2052
2076
  let { element: r, parsed: i } = t;
2053
2077
  if (!(!i || !r.isConnected)) {
2054
2078
  if (i.transforms.length > 0) {
2055
- let a = Lt(i.transforms, n, e.devicePixelRatio(), t.snapMemory);
2079
+ let a = Rt(i.transforms, n, e.devicePixelRatio(), t.snapMemory);
2056
2080
  a !== "" && (r.style.transform = a);
2057
2081
  }
2058
2082
  if (i.opacity) {
@@ -2069,20 +2093,25 @@ var lt = () => ({
2069
2093
  });
2070
2094
  }
2071
2095
  function s(e, r, s) {
2072
- r.startTime === null && (r.startTime = s), r.lastTime !== null && (K.reportGap(s - r.lastTime), n.onFrameGap?.(s - r.lastTime)), r.lastTime = s;
2073
- let c = !0;
2096
+ let c = r.startTime ?? s;
2097
+ if (r.lastTime !== null) {
2098
+ let e = s - r.lastTime;
2099
+ K.reportGap(e), n.onFrameGap?.(e), e >= Ut && (c += e - Ht);
2100
+ }
2101
+ r.startTime = c, r.lastTime = s;
2102
+ let l = !0;
2074
2103
  for (let e of r.tracks) {
2075
2104
  if (e.completed || e.detached) continue;
2076
- let t = e.motion.duration * 1e3, n = e.motion.delay * 1e3, o = s - r.startTime;
2105
+ let t = e.motion.duration * 1e3, n = e.motion.delay * 1e3, r = s - c;
2077
2106
  if (e.scrub) {
2078
- let r = n + t;
2079
- e.scrub.currentTime = Math.min(Math.max(0, o), r), o >= r ? (e.completed = !0, e.onComplete?.()) : c = !1;
2107
+ let i = n + t;
2108
+ e.scrub.currentTime = Math.min(Math.max(0, r), i), r >= i ? (e.completed = !0, e.onComplete?.()) : l = !1;
2080
2109
  continue;
2081
2110
  }
2082
- let l = t <= 0 ? 1 : Math.min(1, Math.max(0, (o - n) / t));
2083
- a(e, i(e)(l)), l >= 1 ? (e.completed = !0, e.onComplete?.()) : c = !1;
2111
+ let o = t <= 0 ? 1 : Math.min(1, Math.max(0, (r - n) / t));
2112
+ a(e, i(e)(o)), o >= 1 ? (e.completed = !0, e.onComplete?.()) : l = !1;
2084
2113
  }
2085
- if (c) {
2114
+ if (l) {
2086
2115
  K.endRun(), t.delete(e);
2087
2116
  return;
2088
2117
  }
@@ -2098,23 +2127,23 @@ Q.onFrameGap = (e) => {
2098
2127
  };
2099
2128
  //#endregion
2100
2129
  //#region src/core/engine/types.ts
2101
- var Ht = "data-flemo-skip-animation", $ = () => {}, Ut = "data-flemo-part-name", Wt = (e) => {
2130
+ var Gt = "data-flemo-skip-animation", $ = () => {}, Kt = "data-flemo-part-name", qt = (e) => {
2102
2131
  let t = e.parentElement ?? e;
2103
- return Array.from(t.querySelectorAll(`[${Ut}]`)).filter((n) => {
2132
+ return Array.from(t.querySelectorAll(`[${Kt}]`)).filter((n) => {
2104
2133
  let r = n.closest("[data-flemo-screen]");
2105
2134
  return !r || r === e || !t.contains(r);
2106
2135
  });
2107
- }, Gt = (e, t) => {
2136
+ }, Jt = (e, t) => {
2108
2137
  let [n, r] = t.split("-");
2109
- return Wt(e).filter((e) => e.getAttribute("data-flemo-status") === n && e.getAttribute("data-flemo-active") === r);
2110
- }, Kt = 4, qt = (e) => `${Math.round(e * 1e3) / 1e3}s`, Jt = (e) => {
2138
+ return qt(e).filter((e) => e.getAttribute("data-flemo-status") === n && e.getAttribute("data-flemo-active") === r);
2139
+ }, Yt = 4, Xt = (e) => `${Math.round(e * 1e3) / 1e3}s`, Zt = (e) => {
2111
2140
  let { element: t, expectedName: n, motion: r } = e, i = null, a = !1, o = (e) => {
2112
- a = !0, t.style.animation = "none", t.offsetWidth, t.style.removeProperty("animation"), e.mode === "clear" ? t.style.removeProperty("animation-delay") : e.mode === "set" && (t.style.animationDelay = qt(e.seconds)), a = !1;
2141
+ a = !0, t.style.animation = "none", t.offsetWidth, t.style.removeProperty("animation"), e.mode === "clear" ? t.style.removeProperty("animation-delay") : e.mode === "set" && (t.style.animationDelay = Xt(e.seconds)), a = !1;
2113
2142
  }, s = (e) => {
2114
2143
  a || e.target !== t || e.animationName !== n || i === null && (i = performance.now());
2115
2144
  }, c = (s) => {
2116
2145
  if (a || s.target !== t || s.animationName !== n) return;
2117
- if (!e.isLive() || e.budgetUsed() >= Kt) {
2146
+ if (!e.isLive() || e.budgetUsed() >= Yt) {
2118
2147
  e.onTerminal();
2119
2148
  return;
2120
2149
  }
@@ -2144,18 +2173,18 @@ var Ht = "data-flemo-skip-animation", $ = () => {}, Ut = "data-flemo-part-name",
2144
2173
  }
2145
2174
  };
2146
2175
  };
2147
- function Yt(e) {
2176
+ function Qt(e) {
2148
2177
  let t = /* @__PURE__ */ new Map();
2149
2178
  return {
2150
2179
  driveScreenLifecycle: (n) => {
2151
- let { getElements: r, transitionName: i, prevTransitionName: a, status: s, isActive: c, animHoldReleased: l } = n, u = s === "PUSHING" || s === "POPPING" || s === "REPLACING", d = (t, n, a) => {
2152
- let s = e.getTransitionTaskId();
2153
- if (!s || o.pendingTaskIds.some((e) => e !== s) || !K.playerAllowed()) return null;
2180
+ let { getElements: r, transitionName: i, prevTransitionName: a, status: o, isActive: c, animHoldReleased: l } = n, u = o === "PUSHING" || o === "POPPING" || o === "REPLACING", d = (t, n, a) => {
2181
+ let o = e.getTransitionTaskId();
2182
+ if (!o || s.pendingTaskIds.some((e) => e !== o) || !K.playerAllowed()) return null;
2154
2183
  let { scope: c, decorator: l, bars: u } = r();
2155
2184
  if (!c) return null;
2156
2185
  let d = F(i), f = B(d, t);
2157
2186
  if (!f) return null;
2158
- let p = [], m = Q.join(s, {
2187
+ let p = [], m = Q.join(o, {
2159
2188
  element: c,
2160
2189
  motion: f,
2161
2190
  role: n,
@@ -2165,7 +2194,7 @@ function Yt(e) {
2165
2194
  p.push(m);
2166
2195
  for (let e of u ?? []) {
2167
2196
  if (!e || e.getAttribute("data-flemo-bar-riding") !== "true") continue;
2168
- let t = Q.join(s, {
2197
+ let t = Q.join(o, {
2169
2198
  element: e,
2170
2199
  motion: f,
2171
2200
  role: "passive"
@@ -2175,7 +2204,7 @@ function Yt(e) {
2175
2204
  if (l && d.decoratorName) {
2176
2205
  let e = L.get(d.decoratorName), n = e ? B(e, t) : null;
2177
2206
  if (n) {
2178
- let e = Q.join(s, {
2207
+ let e = Q.join(o, {
2179
2208
  element: l,
2180
2209
  motion: n,
2181
2210
  role: "passive"
@@ -2183,10 +2212,10 @@ function Yt(e) {
2183
2212
  e && p.push(e);
2184
2213
  }
2185
2214
  }
2186
- for (let e of Gt(c, t)) {
2187
- let n = R.get(e.getAttribute(Ut)), r = n ? B(n, t) : null;
2215
+ for (let e of Jt(c, t)) {
2216
+ let n = R.get(e.getAttribute(Kt)), r = n ? B(n, t) : null;
2188
2217
  if (!r) continue;
2189
- let i = Q.join(s, {
2218
+ let i = Q.join(o, {
2190
2219
  element: e,
2191
2220
  motion: r,
2192
2221
  role: "passive"
@@ -2196,7 +2225,7 @@ function Yt(e) {
2196
2225
  return () => p.forEach((e) => e());
2197
2226
  }, f = (e, t) => {
2198
2227
  let n = [], { decorator: a, bars: o } = r(), s = F(i), c = (e, t, r) => {
2199
- let i = 0, a = Jt({
2228
+ let i = 0, a = Zt({
2200
2229
  element: e,
2201
2230
  expectedName: t,
2202
2231
  motion: r,
@@ -2214,31 +2243,31 @@ function Yt(e) {
2214
2243
  let e = L.get(s.decoratorName), n = e ? B(e, t) : null;
2215
2244
  n && c(a, W("decorator", s.decoratorName, t), n);
2216
2245
  }
2217
- for (let n of Gt(e, t)) {
2218
- let e = n.getAttribute(Ut), r = R.get(e), i = r ? B(r, t) : null;
2246
+ for (let n of Jt(e, t)) {
2247
+ let e = n.getAttribute(Kt), r = R.get(e), i = r ? B(r, t) : null;
2219
2248
  i && c(n, W("part", e, t), i);
2220
2249
  }
2221
2250
  return n;
2222
2251
  };
2223
2252
  if (!c) {
2224
- if (s === "COMPLETED") {
2253
+ if (o === "COMPLETED") {
2225
2254
  let { scope: e, decorator: t, bars: n } = r();
2226
2255
  if (e) {
2227
2256
  Y(e);
2228
- for (let t of Wt(e)) Y(t);
2257
+ for (let t of qt(e)) Y(t);
2229
2258
  }
2230
2259
  t && Y(t);
2231
2260
  for (let e of n ?? []) e && Y(e);
2232
2261
  return $;
2233
2262
  }
2234
- if (s === "REPLACING" && a !== i && e.setReplaceTransitionStatus("PENDING"), u && l) {
2235
- let e = `${s}-false`, t = d(e, "passive");
2263
+ if (o === "REPLACING" && a !== i && e.setReplaceTransitionStatus("PENDING"), u && l) {
2264
+ let e = `${o}-false`, t = d(e, "passive");
2236
2265
  if (t) return t;
2237
2266
  let { scope: n } = r();
2238
2267
  if (n) {
2239
2268
  let t = F(i), r = [];
2240
2269
  if (G(t, e)) {
2241
- let a = B(t, e), o = 0, s = Jt({
2270
+ let a = B(t, e), o = 0, s = Zt({
2242
2271
  element: n,
2243
2272
  expectedName: W("screen", i, e),
2244
2273
  motion: a,
@@ -2256,55 +2285,56 @@ function Yt(e) {
2256
2285
  }
2257
2286
  return $;
2258
2287
  }
2259
- if (s === "COMPLETED") {
2288
+ if (o === "COMPLETED") {
2260
2289
  e.setDragStatus("IDLE"), e.setReplaceTransitionStatus("IDLE");
2261
2290
  let { scope: t, decorator: n, bars: i } = r();
2262
2291
  if (t) {
2263
- Y(t), t.removeAttribute(Ht);
2264
- for (let e of Wt(t)) Y(e);
2292
+ Y(t), t.removeAttribute(Gt);
2293
+ for (let e of qt(t)) Y(e);
2265
2294
  }
2266
- n && (Y(n), n.removeAttribute(Ht));
2295
+ n && (Y(n), n.removeAttribute(Gt));
2267
2296
  for (let e of i ?? []) e && (Y(e), e.style.removeProperty("will-change"));
2268
2297
  return $;
2269
2298
  }
2270
- if (s === "IDLE") return $;
2299
+ if (o === "IDLE") return $;
2271
2300
  let { scope: p } = r();
2272
2301
  if (!p) return $;
2273
2302
  let m = e.getTransitionTaskId(), h = () => {
2274
2303
  let n = e.getTransitionTaskId();
2275
- n && o.resolveTask(n), m && t.delete(m);
2276
- }, g = F(i), _ = `${s}-true`, v = p.getAttribute(Ht) === "true";
2304
+ n && s.resolveTask(n), m && t.delete(m);
2305
+ }, g = F(i), _ = `${o}-true`, v = p.getAttribute(Gt) === "true";
2277
2306
  if (!(!v && G(g, _))) return queueMicrotask(h), $;
2307
+ m && (l ? s.anchorGate(m) : s.markGateHeld(m));
2278
2308
  let y = B(g, _), b = !v && !!y, x = W("screen", i, _), S, C = () => {
2279
2309
  S !== void 0 && (clearTimeout(S), S = void 0);
2280
2310
  }, w = $, T = (e) => {
2281
2311
  e.target === p && e.animationName === x && (p.removeEventListener("animationend", T), C(), w(), h());
2282
2312
  };
2283
2313
  p.addEventListener("animationend", T);
2284
- let E = b && l ? d(_, "active", h) : null, D = (y.delay + y.duration) * 1e3, ee = D + 1500, te = m ? setTimeout(() => void o.resolveTask(m), ee) : void 0, ne = D + 250, O = () => m !== null && e.getTransitionTaskId() === m && p.isConnected && p.getAttribute("data-flemo-skip-animation") !== "true" && G(g, _), k = Jt({
2314
+ let E = b && l ? d(_, "active", h) : null, ee = (y.delay + y.duration) * 1e3, D = ee + 1500, te = m ? setTimeout(() => void s.resolveTask(m), D) : void 0, ne = ee + 250, re = () => m !== null && e.getTransitionTaskId() === m && p.isConnected && p.getAttribute("data-flemo-skip-animation") !== "true" && G(g, _), O = Zt({
2285
2315
  element: p,
2286
2316
  expectedName: x,
2287
2317
  motion: y,
2288
- isLive: O,
2318
+ isLive: re,
2289
2319
  budgetUsed: () => t.get(m) ?? 0,
2290
2320
  spendBudget: () => {
2291
2321
  t.set(m, (t.get(m) ?? 0) + 1);
2292
2322
  },
2293
2323
  onTerminal: h
2294
2324
  });
2295
- w = k.detach;
2296
- let A = !1, j = () => {
2297
- C(), S = setTimeout(re, ne);
2298
- }, re = () => {
2299
- if (C(), O() && !A) {
2300
- A = !0, k.fullRestart(), j();
2325
+ w = O.detach;
2326
+ let k = !1, A = () => {
2327
+ C(), S = setTimeout(j, ne);
2328
+ }, j = () => {
2329
+ if (C(), re() && !k) {
2330
+ k = !0, O.fullRestart(), A();
2301
2331
  return;
2302
2332
  }
2303
2333
  h();
2304
2334
  }, M = !E && l, ie = M ? f(p, _) : [];
2305
- return M && (k.attach(), m && j()), () => {
2335
+ return M && (O.attach(), m && A()), () => {
2306
2336
  if (te !== void 0 && clearTimeout(te), p.removeEventListener("animationend", T), M) {
2307
- k.detach();
2337
+ O.detach();
2308
2338
  for (let e of ie) e();
2309
2339
  }
2310
2340
  C(), E?.(), m && e.getTransitionTaskId() !== m && t.delete(m);
@@ -2315,20 +2345,20 @@ function Yt(e) {
2315
2345
  }
2316
2346
  //#endregion
2317
2347
  //#region src/utils/findScrollable.ts
2318
- function Xt(e, t) {
2319
- let { direction: n = "x", markerSelector: r = "[data-swipe-at-edge]", depthLimit: i = 24, verifyByScroll: a = !1 } = t ?? {}, o = Zt(e);
2348
+ function $t(e, t) {
2349
+ let { direction: n = "x", markerSelector: r = "[data-swipe-at-edge]", depthLimit: i = 24, verifyByScroll: a = !1 } = t ?? {}, o = en(e);
2320
2350
  if (!o) return {
2321
2351
  element: null,
2322
2352
  hasMarker: !1
2323
2353
  };
2324
2354
  let s = o.closest?.(r);
2325
- if (s instanceof HTMLElement && Qt(s, n) && (!a || $t(s, n))) return {
2355
+ if (s instanceof HTMLElement && tn(s, n) && (!a || nn(s, n))) return {
2326
2356
  element: s,
2327
2357
  hasMarker: !0
2328
2358
  };
2329
2359
  let c = o, l = 0;
2330
2360
  for (; c && l < i;) {
2331
- if (Qt(c, n) && (!a || $t(c, n))) return {
2361
+ if (tn(c, n) && (!a || nn(c, n))) return {
2332
2362
  element: c,
2333
2363
  hasMarker: !1
2334
2364
  };
@@ -2339,7 +2369,7 @@ function Xt(e, t) {
2339
2369
  hasMarker: !1
2340
2370
  };
2341
2371
  }
2342
- function Zt(e) {
2372
+ function en(e) {
2343
2373
  if (!e) return null;
2344
2374
  let t = e, n = typeof t.composedPath == "function" ? t.composedPath() : void 0;
2345
2375
  if (n && n.length) {
@@ -2347,18 +2377,18 @@ function Zt(e) {
2347
2377
  }
2348
2378
  return e instanceof HTMLElement ? e : null;
2349
2379
  }
2350
- function Qt(e, t) {
2380
+ function tn(e, t) {
2351
2381
  return t === "y" ? e.scrollHeight - e.clientHeight > 1 : e.scrollWidth - e.clientWidth > 1;
2352
2382
  }
2353
- function $t(e, t) {
2354
- if (!Qt(e, t) || typeof window > "u") return !1;
2383
+ function nn(e, t) {
2384
+ if (!tn(e, t) || typeof window > "u") return !1;
2355
2385
  let n = window.getComputedStyle(e), r = t === "y" ? n.overflowY : n.overflowX;
2356
2386
  return r === "auto" || r === "scroll" || r === "overlay";
2357
2387
  }
2358
2388
  //#endregion
2359
2389
  //#region src/core/engine/createSwipeController.ts
2360
- var en = "data-flemo-skip-animation";
2361
- function tn(e) {
2390
+ var rn = "data-flemo-skip-animation";
2391
+ function an(e) {
2362
2392
  let t = null, n = null, r = {
2363
2393
  current: [],
2364
2394
  prev: []
@@ -2420,7 +2450,7 @@ function tn(e) {
2420
2450
  current: i,
2421
2451
  prev: s
2422
2452
  };
2423
- let c = We(e.getTransition()).join(", ");
2453
+ let c = Ge(e.getTransition()).join(", ");
2424
2454
  for (let e of i) e.style.willChange = c;
2425
2455
  for (let e of s) e.style.willChange = c;
2426
2456
  }, b = () => {
@@ -2521,7 +2551,7 @@ function tn(e) {
2521
2551
  }), S("end", e, 0);
2522
2552
  }
2523
2553
  })) {
2524
- c?.setAttribute(en, "true"), l?.setAttribute(en, "true");
2554
+ c?.setAttribute(rn, "true"), l?.setAttribute(rn, "true");
2525
2555
  for (let e of r.current) e.style.removeProperty("will-change");
2526
2556
  for (let e of r.prev) Y(e), e.style.removeProperty("will-change");
2527
2557
  r = {
@@ -2535,10 +2565,10 @@ function tn(e) {
2535
2565
  };
2536
2566
  return {
2537
2567
  pointerDown: (t) => {
2538
- e.isReadyForDrag() && (f = Xt(t.target, {
2568
+ e.isReadyForDrag() && (f = $t(t.target, {
2539
2569
  direction: "x",
2540
2570
  verifyByScroll: !0
2541
- }), p = Xt(t.target, {
2571
+ }), p = $t(t.target, {
2542
2572
  direction: "y",
2543
2573
  verifyByScroll: !0
2544
2574
  }), m = t.clientX, h = t.clientY, (!f.element && !p.element || f.element || p.element) && (a = !0));
@@ -2567,7 +2597,7 @@ function tn(e) {
2567
2597
  }
2568
2598
  //#endregion
2569
2599
  //#region src/screen/computeBarRiding.ts
2570
- function nn(e) {
2600
+ function on(e) {
2571
2601
  return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? {
2572
2602
  app: !1,
2573
2603
  nav: !1
@@ -2578,24 +2608,24 @@ function nn(e) {
2578
2608
  }
2579
2609
  //#endregion
2580
2610
  //#region src/screen/animStartAnchor.ts
2581
- function rn(e) {
2611
+ function sn(e) {
2582
2612
  return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? null : `${e.status}:${e.transitionName}`;
2583
2613
  }
2584
- var an = 300, on = 20;
2585
- function sn(e) {
2586
- return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0, on);
2614
+ var cn = 300, ln = 20;
2615
+ function un(e) {
2616
+ return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0, ln);
2587
2617
  }
2588
- function cn(e) {
2589
- if (!(!e || typeof e.querySelectorAll != "function")) for (let t of sn(e)) t.decode().catch(() => {});
2618
+ function dn(e) {
2619
+ if (!(!e || typeof e.querySelectorAll != "function")) for (let t of un(e)) t.decode().catch(() => {});
2590
2620
  }
2591
- function ln(e, t = {}) {
2621
+ function fn(e, t = {}) {
2592
2622
  let n = !1, r = 0, i = [], a = () => {
2593
2623
  let r = t.scope;
2594
2624
  if (t.decodeWait === !1 || !r || typeof r.querySelectorAll != "function") {
2595
2625
  e();
2596
2626
  return;
2597
2627
  }
2598
- let i = sn(r);
2628
+ let i = un(r);
2599
2629
  if (i.length === 0) {
2600
2630
  e();
2601
2631
  return;
@@ -2619,13 +2649,13 @@ function ln(e, t = {}) {
2619
2649
  n = !0, cancelAnimationFrame(s), r && cancelAnimationFrame(r), i.forEach((e) => cancelAnimationFrame(e));
2620
2650
  };
2621
2651
  }
2622
- function un(e, t = {}) {
2623
- let n = ln(e, t), r = setTimeout(e, 300);
2652
+ function pn(e, t = {}) {
2653
+ let n = fn(e, t), r = setTimeout(e, 300);
2624
2654
  return () => {
2625
2655
  n(), clearTimeout(r);
2626
2656
  };
2627
2657
  }
2628
- function dn() {
2658
+ function mn() {
2629
2659
  let e = /* @__PURE__ */ new Map(), t = (t, n) => {
2630
2660
  clearTimeout(n.backstop), e.delete(t);
2631
2661
  let r = [...n.members];
@@ -2644,7 +2674,7 @@ function dn() {
2644
2674
  let s = o, c = {
2645
2675
  release: i,
2646
2676
  ready: !1,
2647
- cancelReadiness: ln(() => {
2677
+ cancelReadiness: fn(() => {
2648
2678
  c.ready = !0, n(s) && t(r, s);
2649
2679
  }, a)
2650
2680
  };
@@ -2661,7 +2691,7 @@ function dn() {
2661
2691
  }
2662
2692
  //#endregion
2663
2693
  //#region src/screen/observeBarHeight.ts
2664
- function fn(e, t) {
2694
+ function hn(e, t) {
2665
2695
  e.offsetHeight > 0 && t(e.offsetHeight);
2666
2696
  let n = new ResizeObserver(([e]) => {
2667
2697
  e.contentRect.height > 0 && t(e.contentRect.height);
@@ -2672,14 +2702,14 @@ function fn(e, t) {
2672
2702
  }
2673
2703
  //#endregion
2674
2704
  //#region src/screen/observeViewportScrollHeight.ts
2675
- var pn = 0;
2676
- function mn(e) {
2705
+ var gn = 0;
2706
+ function _n(e) {
2677
2707
  let t = 0, n = () => {
2678
2708
  cancelAnimationFrame(t), t = requestAnimationFrame(() => {
2679
2709
  let t = document.documentElement.scrollHeight - (window.visualViewport?.height || 0);
2680
2710
  t = t < 0 ? 0 : t;
2681
- let n = t - pn;
2682
- n = n < 0 ? 0 : n, pn ||= t, e(t, n);
2711
+ let n = t - gn;
2712
+ n = n < 0 ? 0 : n, gn ||= t, e(t, n);
2683
2713
  });
2684
2714
  };
2685
2715
  return window.visualViewport?.addEventListener("resize", n), window.visualViewport?.addEventListener("scroll", n), () => {
@@ -2688,7 +2718,7 @@ function mn(e) {
2688
2718
  }
2689
2719
  //#endregion
2690
2720
  //#region src/utils/isOpaqueColor.ts
2691
- function hn(e) {
2721
+ function vn(e) {
2692
2722
  let t = e.trim().toLowerCase();
2693
2723
  if (t === "transparent" || t === "") return !1;
2694
2724
  if (t.match(/^rgb\(\s*\d+[\s,]+\d+[\s,]+\d+\s*\)$/)) return !0;
@@ -2699,7 +2729,7 @@ function hn(e) {
2699
2729
  }
2700
2730
  //#endregion
2701
2731
  //#region src/utils/buildRoutePath.ts
2702
- function gn(e, n) {
2732
+ function yn(e, n) {
2703
2733
  let i = n ?? {}, a = t(e)(Object.fromEntries(Object.entries(i).map(([e, t]) => [e, String(t)]))), o = (typeof e == "string" ? r(e) : e).tokens.filter((e) => e.type === "param").map((e) => e.name), s = Object.fromEntries(Object.entries(i).filter(([e]) => !o.includes(e))), c = new URLSearchParams(s).toString();
2704
2734
  return {
2705
2735
  pathname: `${a}${c ? `?${c}` : ""}`,
@@ -2707,4 +2737,4 @@ function gn(e, n) {
2707
2737
  };
2708
2738
  }
2709
2739
  //#endregion
2710
- export { an as ANIM_HOLD_RELEASE_BACKSTOP_MS, Ht as SKIP_ANIMATION_ATTR, o as TaskManger, rn as animHoldKey, X as animateInline, W as animationName, ie as appendParamsQuery, tt as applyTransitionStyles, gn as buildRoutePath, $t as canProgrammaticallyScroll, Y as clearInlineAnimation, We as collectAnimatedProperties, Qe as compileTransitionStyles, nn as computeBarRiding, me as computeScreenFreeze, y as consumeSelfInducedPop, dn as createAnimHoldCoordinator, h as createBrowserHistoryDriver, Se as createDecorator, s as createHistoryStore, b as createHistorySync, ne as createMemoryHistoryDriver, O as createNavigateStore, re as createNavigationController, Te as createPartTransition, Ce as createRawDecorator, Ee as createRawPartTransition, he as createRawTransition, fe as createRouterScope, pe as createScreenSelector, le as createScreenStore, g as createSelfPopGuard, ae as createStepController, tn as createSwipeController, N as createTransition, Yt as createTransitionEngine, se as createTransitionStore, _e as cupertino, L as decoratorMap, cn as eagerlyDecodeImages, U as easingToCss, ee as ensureScopeHistorySync, f as ensureWindowHistoryState, ct as enteringInitialStyle, Xt as findScrollable, c as getMatchedPathPattern, l as getParams, hn as isOpaqueColor, d as isServer, ye as layout, v as markSelfInducedPop, ce as matchesPathname, be as material, xe as none, fn as observeBarHeight, mn as observeViewportScrollHeight, Qt as overflowsAxis, we as overlay, R as partTransitionMap, M as readStepParams, st as registerTransitionDefinitions, te as releaseScopeHistorySync, F as resolveTransition, un as scheduleAnimHoldRelease, u as seedInitialHistory, p as seedRouterEntry, oe as subscribeStepParamsRestore, V as targetToDecls, P as transitionMap, G as variantHasAnimation };
2740
+ export { cn as ANIM_HOLD_RELEASE_BACKSTOP_MS, Gt as SKIP_ANIMATION_ATTR, s as TaskManger, sn as animHoldKey, X as animateInline, W as animationName, ae as appendParamsQuery, nt as applyTransitionStyles, yn as buildRoutePath, nn as canProgrammaticallyScroll, Y as clearInlineAnimation, Ge as collectAnimatedProperties, $e as compileTransitionStyles, on as computeBarRiding, he as computeScreenFreeze, b as consumeSelfInducedPop, mn as createAnimHoldCoordinator, g as createBrowserHistoryDriver, Ce as createDecorator, c as createHistoryStore, x as createHistorySync, re as createMemoryHistoryDriver, O as createNavigateStore, M as createNavigationController, Ee as createPartTransition, we as createRawDecorator, De as createRawPartTransition, ge as createRawTransition, pe as createRouterScope, me as createScreenSelector, ue as createScreenStore, _ as createSelfPopGuard, oe as createStepController, an as createSwipeController, N as createTransition, Qt as createTransitionEngine, ce as createTransitionStore, ve as cupertino, L as decoratorMap, dn as eagerlyDecodeImages, U as easingToCss, te as ensureScopeHistorySync, p as ensureWindowHistoryState, lt as enteringInitialStyle, $t as findScrollable, l as getMatchedPathPattern, u as getParams, vn as isOpaqueColor, f as isServer, be as layout, y as markSelfInducedPop, le as matchesPathname, xe as material, Se as none, hn as observeBarHeight, _n as observeViewportScrollHeight, tn as overflowsAxis, Te as overlay, R as partTransitionMap, ie as readStepParams, ct as registerTransitionDefinitions, ne as releaseScopeHistorySync, F as resolveTransition, pn as scheduleAnimHoldRelease, d as seedInitialHistory, m as seedRouterEntry, se as subscribeStepParamsRestore, V as targetToDecls, P as transitionMap, G as variantHasAnimation };