@flemo/core 1.19.0 → 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 ?? "/"
@@ -538,7 +562,7 @@ function ne(e) {
538
562
  }
539
563
  //#endregion
540
564
  //#region src/navigate/store.ts
541
- function re() {
565
+ function O() {
542
566
  return e((e) => ({
543
567
  status: "IDLE",
544
568
  transitionTaskId: null,
@@ -548,11 +572,11 @@ function re() {
548
572
  }
549
573
  //#endregion
550
574
  //#region src/navigate/createNavigationController.ts
551
- var O = (e, t, n) => {
575
+ var k = (e, t, n) => {
552
576
  let { regexp: r } = i(e);
553
577
  for (let e = t - 1; e >= 0; e--) if (r.test(n[e].pathname)) return t - e;
554
578
  return -1;
555
- }, k = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.trunc(e)) : t, A = async (e, t, n, r) => {
579
+ }, A = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.trunc(e)) : t, j = async (e, t, n, r) => {
556
580
  let i, a = new Promise((t) => {
557
581
  i = e.subscribe(() => t(!0));
558
582
  }), o = new Promise((e) => setTimeout(() => e(!1), 200));
@@ -560,8 +584,8 @@ var O = (e, t, n) => {
560
584
  let s = await Promise.race([a, o]);
561
585
  i(), s && r();
562
586
  };
563
- function ie(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,18 +602,18 @@ function ie(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
- let e = O(u.until, d, f);
613
+ let e = k(u.until, d, f);
590
614
  return e < 0 ? 0 : e;
591
615
  }
592
- return Math.min(k(u?.skip, 0), Math.max(0, d));
616
+ return Math.min(A(u?.skip, 0), Math.max(0, d));
593
617
  })(), { setStatus: y, setTransitionTaskId: b } = t.navigate.getState();
594
618
  y("PUSHING"), b(h);
595
619
  let { pathname: x, toPathname: S } = n(e, l ?? {}), C = {
@@ -598,8 +622,8 @@ function ie(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",
@@ -616,8 +640,8 @@ function ie(e) {
616
640
  return g({
617
641
  ...C,
618
642
  frameIndex: T + 1
619
- }), await A(r, i, v, () => {
620
- s(), r.pushState({
643
+ }), await j(r, i, v, () => {
644
+ o(), r.pushState({
621
645
  id: h,
622
646
  index: T + 1,
623
647
  status: "PUSHING",
@@ -638,18 +662,18 @@ function ie(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
- let e = O(u.until, d, f);
673
+ let e = k(u.until, d, f);
650
674
  return e < 0 ? 0 : e + 1;
651
675
  }
652
- return Math.min(k(u?.skip, 0) + 1, d + 1);
676
+ return Math.min(A(u?.skip, 0) + 1, d + 1);
653
677
  })();
654
678
  if (y <= 0) {
655
679
  a.abort();
@@ -663,8 +687,8 @@ function ie(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",
@@ -681,8 +705,8 @@ function ie(e) {
681
705
  return v(y - 1), g({
682
706
  ...w,
683
707
  frameIndex: E
684
- }), y <= d ? await A(r, i, y, () => {
685
- s(), r.pushState({
708
+ }), y <= d ? await j(r, i, y, () => {
709
+ o(), r.pushState({
686
710
  id: h,
687
711
  index: E,
688
712
  status: "REPLACING",
@@ -690,8 +714,8 @@ function ie(e) {
690
714
  transitionName: p,
691
715
  layoutId: m
692
716
  }, S);
693
- }) : await A(r, i, d, () => {
694
- s(), r.replaceState({
717
+ }) : await j(r, i, d, () => {
718
+ o(), r.replaceState({
695
719
  id: h,
696
720
  index: E,
697
721
  status: "REPLACING",
@@ -710,30 +734,30 @@ function ie(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
@@ -746,10 +770,10 @@ function ie(e) {
746
770
  pop: async (e) => {
747
771
  await d((t, n) => {
748
772
  if (e?.until != null) {
749
- let r = O(e.until, t, n);
773
+ let r = k(e.until, t, n);
750
774
  return r < 0 ? 0 : r;
751
775
  }
752
- let r = k(e?.skip, 1);
776
+ let r = A(e?.skip, 1);
753
777
  return r <= 0 ? 0 : Math.min(r, t);
754
778
  }, e?.transitionName);
755
779
  }
@@ -757,7 +781,7 @@ function ie(e) {
757
781
  }
758
782
  //#endregion
759
783
  //#region src/navigate/createStepController.ts
760
- var j = (e) => {
784
+ var ie = (e) => {
761
785
  let t = e;
762
786
  return t?.step ? t.params ?? {} : null;
763
787
  }, ae = (e, t) => {
@@ -765,10 +789,10 @@ var j = (e) => {
765
789
  return n ? `${e}?${n}` : e;
766
790
  };
767
791
  function oe(e) {
768
- let { stores: t, driver: n, markSelfInduced: r, buildStepPathname: i, applyParams: s } = 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 oe(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();
@@ -825,7 +849,7 @@ function oe(e) {
825
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
  });
@@ -881,20 +905,20 @@ var de = {
881
905
  consume: () => !1
882
906
  }, fe = /* @__PURE__ */ new Map();
883
907
  function pe(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 = fe.get(c);
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 pe(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,9 +937,9 @@ function pe(e) {
913
937
  layoutId: p.layoutId
914
938
  },
915
939
  url: p.pathname
916
- }) : o, h = a ? de : g(), _ = {
917
- history: s([p], 0),
918
- navigate: re(),
940
+ }) : o, h = a ? de : _(), g = {
941
+ history: c([p], 0),
942
+ navigate: O(),
919
943
  transition: ce(i),
920
944
  screen: ue(),
921
945
  driver: m,
@@ -924,10 +948,10 @@ function pe(e) {
924
948
  routerKey: e.routerKey,
925
949
  zoneEntryId: e.zoneEntryId,
926
950
  ownsPathname: (e) => le(t, e),
927
- persistent: !!c,
951
+ persistent: !!s,
928
952
  life: { alive: !0 }
929
953
  };
930
- return c && fe.set(c, _), _;
954
+ return s && fe.set(s, g), g;
931
955
  }
932
956
  //#endregion
933
957
  //#region src/screen/createScreenSelector.ts
@@ -950,7 +974,7 @@ function he(e) {
950
974
  }
951
975
  //#endregion
952
976
  //#region src/transition/createTransition.ts
953
- function M({ name: e, initial: t, idle: n, enter: r, enterBack: i, exit: a, exitBack: o, options: s }) {
977
+ function N({ name: e, initial: t, idle: n, enter: r, enterBack: i, exit: a, exitBack: o, options: s }) {
954
978
  return {
955
979
  name: e,
956
980
  initial: t,
@@ -995,7 +1019,7 @@ function ge({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
995
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
- }, ve = M({
1022
+ }, ve = N({
999
1023
  name: "cupertino",
1000
1024
  initial: { x: "100%" },
1001
1025
  idle: {
@@ -1082,7 +1106,7 @@ var _e = (e, t, n) => {
1082
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
- }, be = M({
1109
+ }, be = N({
1086
1110
  name: "layout",
1087
1111
  initial: { opacity: .97 },
1088
1112
  idle: {
@@ -1127,7 +1151,7 @@ var _e = (e, t, n) => {
1127
1151
  }, { duration: .3 })]), c;
1128
1152
  }
1129
1153
  }
1130
- }), xe = M({
1154
+ }), xe = N({
1131
1155
  name: "material",
1132
1156
  initial: { y: "100%" },
1133
1157
  idle: {
@@ -1235,7 +1259,7 @@ var _e = (e, t, n) => {
1235
1259
  })]), c;
1236
1260
  }
1237
1261
  }
1238
- }), Se = M({
1262
+ }), Se = N({
1239
1263
  name: "none",
1240
1264
  initial: {},
1241
1265
  idle: {
@@ -1258,7 +1282,7 @@ var _e = (e, t, n) => {
1258
1282
  value: {},
1259
1283
  options: { duration: 0 }
1260
1284
  }
1261
- }), N = new Map([
1285
+ }), P = new Map([
1262
1286
  ["none", Se],
1263
1287
  ["cupertino", ve],
1264
1288
  ["material", xe],
@@ -1266,8 +1290,8 @@ var _e = (e, t, n) => {
1266
1290
  ]);
1267
1291
  //#endregion
1268
1292
  //#region src/transition/resolveTransition.ts
1269
- function P(e) {
1270
- return N.get(e) ?? N.get("none");
1293
+ function F(e) {
1294
+ return P.get(e) ?? P.get("none");
1271
1295
  }
1272
1296
  //#endregion
1273
1297
  //#region src/transition/decorator/createDecorator.ts
@@ -1313,30 +1337,30 @@ function we({ 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 F = "rgba(0, 0, 0, 0.2)", Te = Ce({
1340
+ var I = "rgba(0, 0, 0, 0.2)", Te = Ce({
1317
1341
  name: "overlay",
1318
1342
  initial: {
1319
1343
  opacity: 0,
1320
- backgroundColor: F
1344
+ backgroundColor: I
1321
1345
  },
1322
1346
  idle: {
1323
1347
  value: {
1324
1348
  opacity: 0,
1325
- backgroundColor: F
1349
+ backgroundColor: I
1326
1350
  },
1327
1351
  options: { duration: 0 }
1328
1352
  },
1329
1353
  enter: {
1330
1354
  value: {
1331
1355
  opacity: 1,
1332
- backgroundColor: F
1356
+ backgroundColor: I
1333
1357
  },
1334
1358
  options: { duration: .6 }
1335
1359
  },
1336
1360
  exit: {
1337
1361
  value: {
1338
1362
  opacity: 0,
1339
- backgroundColor: F
1363
+ backgroundColor: I
1340
1364
  },
1341
1365
  options: { duration: .6 }
1342
1366
  },
@@ -1345,7 +1369,7 @@ var F = "rgba(0, 0, 0, 0.2)", Te = Ce({
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
- }), I = new Map([["overlay", Te]]);
1372
+ }), L = new Map([["overlay", Te]]);
1349
1373
  //#endregion
1350
1374
  //#region src/transition/partTransition/createPartTransition.ts
1351
1375
  function Ee({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
@@ -1390,7 +1414,7 @@ function De({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
1390
1414
  }
1391
1415
  //#endregion
1392
1416
  //#region src/transition/partTransition/partTransition.ts
1393
- var L = /* @__PURE__ */ new Map(), R = {
1417
+ var R = /* @__PURE__ */ new Map(), z = {
1394
1418
  "IDLE-true": "self",
1395
1419
  "IDLE-false": "self",
1396
1420
  "PUSHING-true": "initial",
@@ -1401,14 +1425,14 @@ var L = /* @__PURE__ */ new Map(), R = {
1401
1425
  "POPPING-false": "PUSHING-false",
1402
1426
  "COMPLETED-true": "self",
1403
1427
  "COMPLETED-false": "self"
1404
- }, Oe = Object.keys(R), ke = (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
1432
  }, Ae = (e) => e && typeof e.delay == "number" && e.delay > 0 ? e.delay : 0, je = (e, t) => {
1409
- let n = R[t];
1433
+ let n = z[t];
1410
1434
  return n === "self" ? null : n === "initial" ? e.initial : e.variants[n].value;
1411
- }, z = (e, t) => {
1435
+ }, B = (e, t) => {
1412
1436
  let n = je(e, t);
1413
1437
  if (n === null) return null;
1414
1438
  let r = e.variants[t], i = ke(r.options), a = Ae(r.options);
@@ -1463,7 +1487,7 @@ var L = /* @__PURE__ */ new Map(), R = {
1463
1487
  n = r.size > 1;
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
- }, B = (e) => {
1490
+ }, V = (e) => {
1467
1491
  if (!Pe(e)) return [];
1468
1492
  let t = [], n = !0, r = [];
1469
1493
  for (let i of Object.keys(e)) {
@@ -1477,7 +1501,7 @@ var L = /* @__PURE__ */ new Map(), R = {
1477
1501
  property: "transform",
1478
1502
  value: n ? "none" : t.join(" ")
1479
1503
  }), r;
1480
- }, V = (e) => e.map((e) => ` ${e.property}: ${e.value};`).join("\n"), H = (e) => Array.isArray(e) ? e.length === 4 && e.every((e) => typeof e == "number") ? `cubic-bezier(${e.join(", ")})` : "linear" : typeof e == "string" ? {
1504
+ }, H = (e) => e.map((e) => ` ${e.property}: ${e.value};`).join("\n"), U = (e) => Array.isArray(e) ? e.length === 4 && e.every((e) => typeof e == "number") ? `cubic-bezier(${e.join(", ")})` : "linear" : typeof e == "string" ? {
1481
1505
  linear: "linear",
1482
1506
  easeIn: "ease-in",
1483
1507
  easeOut: "ease-out",
@@ -1499,17 +1523,17 @@ var L = /* @__PURE__ */ new Map(), R = {
1499
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
- }, U = (e, t, n) => `flemo-${e}-${Ne(t)}-${n}`, Xe = (e, t, n, r, i, a) => {
1503
- let o = B(r), s = B(i.value), c = ke(i.options), l = Ae(i.options), u = H(i.options?.ease), d = a(t, n), f = e === "screen" ? `${d},\n${Je(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
- if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${V(s)}\n animation: none;\n}`;
1506
- let p = U(e, t, n), m = [
1529
+ if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${H(s)}\n animation: none;\n}`;
1530
+ let p = W(e, t, n), m = [
1507
1531
  `@keyframes ${p} {`,
1508
1532
  " from {",
1509
- V(o).replace(/^/gm, " "),
1533
+ H(o).replace(/^/gm, " "),
1510
1534
  " }",
1511
1535
  " to {",
1512
- V(s).replace(/^/gm, " "),
1536
+ H(s).replace(/^/gm, " "),
1513
1537
  " }",
1514
1538
  "}"
1515
1539
  ].join("\n"), h = [
@@ -1519,21 +1543,21 @@ var L = /* @__PURE__ */ new Map(), R = {
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") && Ze(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park"] {\n animation: none;\n${V(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${V(s)}\n}` : ""}`;
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}` : ""}`;
1523
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
1552
  }, Qe = (e, t, n, r) => {
1529
- let i = B(r.value);
1530
- return i.length === 0 ? "" : `${e(t, n)} {\n${V(i)}\n}`;
1553
+ let i = V(r.value);
1554
+ return i.length === 0 ? "" : `${e(t, n)} {\n${H(i)}\n}`;
1531
1555
  }, $e = (e, t, n = []) => {
1532
1556
  let r = [];
1533
1557
  for (let t of e) {
1534
1558
  let e = t.name;
1535
1559
  for (let n of Oe) {
1536
- let i = t.variants[n], a = R[n];
1560
+ let i = t.variants[n], a = z[n];
1537
1561
  if (a === "self") {
1538
1562
  r.push(Qe(Ke, e, n, i));
1539
1563
  continue;
@@ -1545,7 +1569,7 @@ var L = /* @__PURE__ */ new Map(), R = {
1545
1569
  for (let e of t) {
1546
1570
  let t = e.name;
1547
1571
  for (let n of Me) {
1548
- let i = e.variants[n], a = R[n];
1572
+ let i = e.variants[n], a = z[n];
1549
1573
  if (a === "self") {
1550
1574
  r.push(Qe(qe, t, n, i));
1551
1575
  continue;
@@ -1557,7 +1581,7 @@ var L = /* @__PURE__ */ new Map(), R = {
1557
1581
  for (let e of n) {
1558
1582
  let t = e.name;
1559
1583
  for (let n of Me) {
1560
- let i = e.variants[n], a = R[n];
1584
+ let i = e.variants[n], a = z[n];
1561
1585
  if (a === "self") {
1562
1586
  r.push(Qe(Ye, t, n, i));
1563
1587
  continue;
@@ -1576,17 +1600,17 @@ var L = /* @__PURE__ */ new Map(), R = {
1576
1600
  "[data-flemo-anim-hold=\"park-under\"] [data-flemo-part-name] {",
1577
1601
  " animation-play-state: paused !important;",
1578
1602
  "}"
1579
- ].join("\n"), W = (e, t) => {
1580
- let n = R[t];
1603
+ ].join("\n"), G = (e, t) => {
1604
+ let n = z[t];
1581
1605
  if (n === "self") return !1;
1582
1606
  let r = e.variants[t], i = ke(r.options), a = Ae(r.options);
1583
1607
  if (i <= 0 && a <= 0) return !1;
1584
- let o = B(n === "initial" ? e.initial : e.variants[n].value), s = B(r.value);
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
1610
  }, tt = "data-flemo";
1587
1611
  function nt() {
1588
- if (d()) return;
1589
- let e = $e(N.values(), I.values(), L.values()), t = document.head.querySelector(`style[${tt}]`);
1612
+ if (f()) return;
1613
+ let e = $e(P.values(), L.values(), R.values()), t = document.head.querySelector(`style[${tt}]`);
1590
1614
  t || (t = document.createElement("style"), t.setAttribute(tt, ""), document.head.appendChild(t)), t.textContent !== e && (t.textContent = e);
1591
1615
  }
1592
1616
  //#endregion
@@ -1598,13 +1622,13 @@ var rt = /* @__PURE__ */ new Map(), it = /* @__PURE__ */ new Map(), at = /* @__P
1598
1622
  return n <= 0 ? (e.delete(t), !0) : (e.set(t, n), !1);
1599
1623
  };
1600
1624
  function ct(e, t, n = []) {
1601
- for (let t of e) N.set(t.name, t), ot(rt, t.name);
1602
- for (let e of t) I.set(e.name, e), ot(it, e.name);
1603
- for (let e of n) L.set(e.name, e), ot(at, e.name);
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);
1604
1628
  return nt(), () => {
1605
- for (let t of e) st(rt, t.name) && N.delete(t.name);
1606
- for (let e of t) st(it, e.name) && I.delete(e.name);
1607
- for (let e of n) st(at, e.name) && L.delete(e.name);
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);
1608
1632
  nt();
1609
1633
  };
1610
1634
  }
@@ -1705,7 +1729,7 @@ var ut = () => ({
1705
1729
  typeof localStorage < "u" && localStorage.setItem(pt, e);
1706
1730
  } catch {}
1707
1731
  }
1708
- }), vt = 30, yt = 2, bt = 2, xt = () => typeof navigator < "u" && !!navigator.userAgentData, G = ((e = _t(), t = xt()) => {
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 = [];
@@ -1734,43 +1758,43 @@ var ut = () => ({
1734
1758
  demoted: n
1735
1759
  })
1736
1760
  };
1737
- })(), St = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, K = /* @__PURE__ */ new WeakMap(), q = (e, t) => {
1738
- let n = K.get(e);
1739
- n || (n = /* @__PURE__ */ new Set(), K.set(e, n)), n.add(t);
1740
- }, J = (e, t) => {
1761
+ })(), St = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, q = /* @__PURE__ */ new WeakMap(), J = (e, t) => {
1762
+ let n = q.get(e);
1763
+ n || (n = /* @__PURE__ */ new Set(), q.set(e, n)), n.add(t);
1764
+ }, Y = (e, t) => {
1741
1765
  if (ft.cancel(e), e.style.transition = "", e.style.removeProperty("animation-delay"), t) {
1742
- let n = K.get(e);
1766
+ let n = q.get(e);
1743
1767
  for (let r of t) e.style.removeProperty(r), n?.delete(r);
1744
1768
  return;
1745
1769
  }
1746
- let n = K.get(e);
1770
+ let n = q.get(e);
1747
1771
  if (n && n.size > 0) {
1748
1772
  for (let t of n) e.style.removeProperty(t);
1749
1773
  n.clear();
1750
1774
  return;
1751
1775
  }
1752
1776
  e.style.removeProperty("transform"), e.style.removeProperty("opacity");
1753
- }, Y = (e, t, n = {}) => {
1777
+ }, X = (e, t, n = {}) => {
1754
1778
  if (!St(e)) return Promise.resolve();
1755
- let r = e, i = B(t);
1779
+ let r = e, i = V(t);
1756
1780
  if (i.length === 0) return Promise.resolve();
1757
- let a = typeof n.duration == "number" ? n.duration : 0, o = typeof n.delay == "number" && n.delay > 0 ? n.delay : 0, s = H(n.ease);
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
1783
  ft.takeover(r), r.style.transition = "none";
1760
- for (let e of i) r.style.setProperty(e.property, e.value), q(r, e.property);
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 = G.playerAllowed() ? ft.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
1767
1791
  }, (e) => {
1768
- r.style.setProperty(e.property, e.value), q(r, e.property);
1792
+ r.style.setProperty(e.property, e.value), J(r, e.property);
1769
1793
  }) : null;
1770
1794
  if (c) return c;
1771
1795
  let l = i.map((e) => `${e.property} ${a}s ${s} ${o}s`).join(", ");
1772
1796
  r.style.transition = l, r.offsetWidth;
1773
- for (let e of i) r.style.setProperty(e.property, e.value), q(r, e.property);
1797
+ for (let e of i) r.style.setProperty(e.property, e.value), J(r, e.property);
1774
1798
  return new Promise((e) => {
1775
1799
  let t = !1, n = () => {
1776
1800
  t || (t = !0, r.removeEventListener("transitionend", i), e());
@@ -1896,13 +1920,13 @@ var ut = () => ({
1896
1920
  value: i,
1897
1921
  unit: a === "" && i === 0 ? "px" : a
1898
1922
  };
1899
- }, X = /-?\d*\.?\d+/g, jt = (e, t) => {
1900
- let n = e.match(X) ?? [], r = t.match(X) ?? [];
1901
- if (n.length !== r.length || e.replace(X, " ") !== t.replace(X, " ")) return null;
1923
+ }, Z = /-?\d*\.?\d+/g, jt = (e, t) => {
1924
+ let n = e.match(Z) ?? [], r = t.match(Z) ?? [];
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);
1903
1927
  return (t) => {
1904
1928
  let n = 0;
1905
- return e.replace(X, () => {
1929
+ return e.replace(Z, () => {
1906
1930
  let e = n++, r = i[e] + (a[e] - i[e]) * t;
1907
1931
  return `${Math.round(r * 1e3) / 1e3}`;
1908
1932
  });
@@ -1981,7 +2005,7 @@ var ut = () => ({
1981
2005
  return !o && s.length === 0 ? "" : c ? "none" : [...o ? [`translate3d(${i}px, ${a}px, 0)`] : [], ...s].join(" ");
1982
2006
  }, zt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), Bt = (e) => {
1983
2007
  let t = {};
1984
- for (let n of B(e)) t[zt(n.property)] = n.value;
2008
+ for (let n of V(e)) t[zt(n.property)] = n.value;
1985
2009
  return t;
1986
2010
  }, Vt = (e, t) => {
1987
2011
  if (typeof e.animate != "function") return null;
@@ -1989,7 +2013,7 @@ var ut = () => ({
1989
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
- easing: H(t.ease),
2016
+ easing: U(t.ease),
1993
2017
  fill: "both"
1994
2018
  });
1995
2019
  return n.pause(), n.currentTime = 0, n;
@@ -2000,7 +2024,7 @@ var ut = () => ({
2000
2024
  request: (e) => requestAnimationFrame(e),
2001
2025
  cancel: (e) => cancelAnimationFrame(e),
2002
2026
  devicePixelRatio: () => typeof window < "u" && window.devicePixelRatio || 1
2003
- }), Z = ((e = Wt()) => {
2027
+ }), Q = ((e = Wt()) => {
2004
2028
  let t = /* @__PURE__ */ new Map(), n = {
2005
2029
  join: (n, r) => {
2006
2030
  let i = It(r.motion, r.element), s = i ? null : Vt(r.element, r.motion);
@@ -2024,14 +2048,14 @@ var ut = () => ({
2024
2048
  y: null
2025
2049
  }
2026
2050
  };
2027
- if (c.tracks.push(l), l.element.style.animation = "none", q(l.element, "animation"), i) {
2028
- i.transforms.length > 0 && q(l.element, "transform"), i.opacity && q(l.element, "opacity");
2029
- for (let e of i.strings) q(l.element, e.property);
2030
- for (let e of i.constants) q(l.element, e.property);
2051
+ if (c.tracks.push(l), l.element.style.animation = "none", J(l.element, "animation"), i) {
2052
+ i.transforms.length > 0 && J(l.element, "transform"), i.opacity && J(l.element, "opacity");
2053
+ for (let e of i.strings) J(l.element, e.property);
2054
+ for (let e of i.constants) J(l.element, e.property);
2031
2055
  a(l, 0);
2032
2056
  }
2033
- return r.role === "active" && !c.started && (c.started = !0, G.beginRun(), o(n, c)), () => {
2034
- l.detached = !0, l.scrub?.cancel(), J(l.element);
2057
+ return r.role === "active" && !c.started && (c.started = !0, K.beginRun(), o(n, c)), () => {
2058
+ l.detached = !0, l.scrub?.cancel(), Y(l.element);
2035
2059
  let r = t.get(n);
2036
2060
  r && (r.tracks = r.tracks.filter((e) => e !== l), r.tracks.length === 0 && (r.frameHandle !== null && e.cancel(r.frameHandle), t.delete(n)));
2037
2061
  };
@@ -2072,7 +2096,7 @@ var ut = () => ({
2072
2096
  let c = r.startTime ?? s;
2073
2097
  if (r.lastTime !== null) {
2074
2098
  let e = s - r.lastTime;
2075
- G.reportGap(e), n.onFrameGap?.(e), e >= Ut && (c += e - Ht);
2099
+ K.reportGap(e), n.onFrameGap?.(e), e >= Ut && (c += e - Ht);
2076
2100
  }
2077
2101
  r.startTime = c, r.lastTime = s;
2078
2102
  let l = !0;
@@ -2088,14 +2112,14 @@ var ut = () => ({
2088
2112
  a(e, i(e)(o)), o >= 1 ? (e.completed = !0, e.onComplete?.()) : l = !1;
2089
2113
  }
2090
2114
  if (l) {
2091
- G.endRun(), t.delete(e);
2115
+ K.endRun(), t.delete(e);
2092
2116
  return;
2093
2117
  }
2094
2118
  o(e, r);
2095
2119
  }
2096
2120
  return n;
2097
2121
  })();
2098
- Z.onFrameGap = (e) => {
2122
+ Q.onFrameGap = (e) => {
2099
2123
  if (typeof window < "u") {
2100
2124
  let t = window.__flemoPlayerGaps ??= [];
2101
2125
  t.push(Math.round(e * 10) / 10), t.length > 600 && t.splice(0, t.length - 600);
@@ -2103,23 +2127,23 @@ Z.onFrameGap = (e) => {
2103
2127
  };
2104
2128
  //#endregion
2105
2129
  //#region src/core/engine/types.ts
2106
- var Q = "data-flemo-skip-animation", $ = () => {}, Gt = "data-flemo-part-name", Kt = (e) => {
2130
+ var Gt = "data-flemo-skip-animation", $ = () => {}, Kt = "data-flemo-part-name", qt = (e) => {
2107
2131
  let t = e.parentElement ?? e;
2108
- return Array.from(t.querySelectorAll(`[${Gt}]`)).filter((n) => {
2132
+ return Array.from(t.querySelectorAll(`[${Kt}]`)).filter((n) => {
2109
2133
  let r = n.closest("[data-flemo-screen]");
2110
2134
  return !r || r === e || !t.contains(r);
2111
2135
  });
2112
- }, qt = (e, t) => {
2136
+ }, Jt = (e, t) => {
2113
2137
  let [n, r] = t.split("-");
2114
- return Kt(e).filter((e) => e.getAttribute("data-flemo-status") === n && e.getAttribute("data-flemo-active") === r);
2115
- }, Jt = 4, Yt = (e) => `${Math.round(e * 1e3) / 1e3}s`, Xt = (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) => {
2116
2140
  let { element: t, expectedName: n, motion: r } = e, i = null, a = !1, o = (e) => {
2117
- 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 = Yt(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;
2118
2142
  }, s = (e) => {
2119
2143
  a || e.target !== t || e.animationName !== n || i === null && (i = performance.now());
2120
2144
  }, c = (s) => {
2121
2145
  if (a || s.target !== t || s.animationName !== n) return;
2122
- if (!e.isLive() || e.budgetUsed() >= Jt) {
2146
+ if (!e.isLive() || e.budgetUsed() >= Yt) {
2123
2147
  e.onTerminal();
2124
2148
  return;
2125
2149
  }
@@ -2149,18 +2173,18 @@ var Q = "data-flemo-skip-animation", $ = () => {}, Gt = "data-flemo-part-name",
2149
2173
  }
2150
2174
  };
2151
2175
  };
2152
- function Zt(e) {
2176
+ function Qt(e) {
2153
2177
  let t = /* @__PURE__ */ new Map();
2154
2178
  return {
2155
2179
  driveScreenLifecycle: (n) => {
2156
- 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) => {
2157
- let s = e.getTransitionTaskId();
2158
- if (!s || o.pendingTaskIds.some((e) => e !== s) || !G.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;
2159
2183
  let { scope: c, decorator: l, bars: u } = r();
2160
2184
  if (!c) return null;
2161
- let d = P(i), f = z(d, t);
2185
+ let d = F(i), f = B(d, t);
2162
2186
  if (!f) return null;
2163
- let p = [], m = Z.join(s, {
2187
+ let p = [], m = Q.join(o, {
2164
2188
  element: c,
2165
2189
  motion: f,
2166
2190
  role: n,
@@ -2170,7 +2194,7 @@ function Zt(e) {
2170
2194
  p.push(m);
2171
2195
  for (let e of u ?? []) {
2172
2196
  if (!e || e.getAttribute("data-flemo-bar-riding") !== "true") continue;
2173
- let t = Z.join(s, {
2197
+ let t = Q.join(o, {
2174
2198
  element: e,
2175
2199
  motion: f,
2176
2200
  role: "passive"
@@ -2178,9 +2202,9 @@ function Zt(e) {
2178
2202
  t && p.push(t);
2179
2203
  }
2180
2204
  if (l && d.decoratorName) {
2181
- let e = I.get(d.decoratorName), n = e ? z(e, t) : null;
2205
+ let e = L.get(d.decoratorName), n = e ? B(e, t) : null;
2182
2206
  if (n) {
2183
- let e = Z.join(s, {
2207
+ let e = Q.join(o, {
2184
2208
  element: l,
2185
2209
  motion: n,
2186
2210
  role: "passive"
@@ -2188,10 +2212,10 @@ function Zt(e) {
2188
2212
  e && p.push(e);
2189
2213
  }
2190
2214
  }
2191
- for (let e of qt(c, t)) {
2192
- let n = L.get(e.getAttribute(Gt)), r = n ? z(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;
2193
2217
  if (!r) continue;
2194
- let i = Z.join(s, {
2218
+ let i = Q.join(o, {
2195
2219
  element: e,
2196
2220
  motion: r,
2197
2221
  role: "passive"
@@ -2200,8 +2224,8 @@ function Zt(e) {
2200
2224
  }
2201
2225
  return () => p.forEach((e) => e());
2202
2226
  }, f = (e, t) => {
2203
- let n = [], { decorator: a, bars: o } = r(), s = P(i), c = (e, t, r) => {
2204
- let i = 0, a = Xt({
2227
+ let n = [], { decorator: a, bars: o } = r(), s = F(i), c = (e, t, r) => {
2228
+ let i = 0, a = Zt({
2205
2229
  element: e,
2206
2230
  expectedName: t,
2207
2231
  motion: r,
@@ -2213,39 +2237,39 @@ function Zt(e) {
2213
2237
  onTerminal: $
2214
2238
  });
2215
2239
  a.attach(), n.push(a.detach);
2216
- }, l = U("screen", i, t), u = z(s, t);
2240
+ }, l = W("screen", i, t), u = B(s, t);
2217
2241
  if (u) for (let e of o ?? []) !e || e.getAttribute("data-flemo-bar-riding") !== "true" || c(e, l, u);
2218
2242
  if (a && s.decoratorName) {
2219
- let e = I.get(s.decoratorName), n = e ? z(e, t) : null;
2220
- n && c(a, U("decorator", s.decoratorName, t), n);
2243
+ let e = L.get(s.decoratorName), n = e ? B(e, t) : null;
2244
+ n && c(a, W("decorator", s.decoratorName, t), n);
2221
2245
  }
2222
- for (let n of qt(e, t)) {
2223
- let e = n.getAttribute(Gt), r = L.get(e), i = r ? z(r, t) : null;
2224
- i && c(n, U("part", e, t), i);
2246
+ for (let n of Jt(e, t)) {
2247
+ let e = n.getAttribute(Kt), r = R.get(e), i = r ? B(r, t) : null;
2248
+ i && c(n, W("part", e, t), i);
2225
2249
  }
2226
2250
  return n;
2227
2251
  };
2228
2252
  if (!c) {
2229
- if (s === "COMPLETED") {
2253
+ if (o === "COMPLETED") {
2230
2254
  let { scope: e, decorator: t, bars: n } = r();
2231
2255
  if (e) {
2232
- J(e);
2233
- for (let t of Kt(e)) J(t);
2256
+ Y(e);
2257
+ for (let t of qt(e)) Y(t);
2234
2258
  }
2235
- t && J(t);
2236
- for (let e of n ?? []) e && J(e);
2259
+ t && Y(t);
2260
+ for (let e of n ?? []) e && Y(e);
2237
2261
  return $;
2238
2262
  }
2239
- if (s === "REPLACING" && a !== i && e.setReplaceTransitionStatus("PENDING"), u && l) {
2240
- 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");
2241
2265
  if (t) return t;
2242
2266
  let { scope: n } = r();
2243
2267
  if (n) {
2244
- let t = P(i), r = [];
2245
- if (W(t, e)) {
2246
- let a = z(t, e), o = 0, s = Xt({
2268
+ let t = F(i), r = [];
2269
+ if (G(t, e)) {
2270
+ let a = B(t, e), o = 0, s = Zt({
2247
2271
  element: n,
2248
- expectedName: U("screen", i, e),
2272
+ expectedName: W("screen", i, e),
2249
2273
  motion: a,
2250
2274
  isLive: () => n.isConnected && n.getAttribute("data-flemo-skip-animation") !== "true",
2251
2275
  budgetUsed: () => o,
@@ -2261,32 +2285,33 @@ function Zt(e) {
2261
2285
  }
2262
2286
  return $;
2263
2287
  }
2264
- if (s === "COMPLETED") {
2288
+ if (o === "COMPLETED") {
2265
2289
  e.setDragStatus("IDLE"), e.setReplaceTransitionStatus("IDLE");
2266
2290
  let { scope: t, decorator: n, bars: i } = r();
2267
2291
  if (t) {
2268
- J(t), t.removeAttribute(Q);
2269
- for (let e of Kt(t)) J(e);
2292
+ Y(t), t.removeAttribute(Gt);
2293
+ for (let e of qt(t)) Y(e);
2270
2294
  }
2271
- n && (J(n), n.removeAttribute(Q));
2272
- for (let e of i ?? []) e && (J(e), e.style.removeProperty("will-change"));
2295
+ n && (Y(n), n.removeAttribute(Gt));
2296
+ for (let e of i ?? []) e && (Y(e), e.style.removeProperty("will-change"));
2273
2297
  return $;
2274
2298
  }
2275
- if (s === "IDLE") return $;
2299
+ if (o === "IDLE") return $;
2276
2300
  let { scope: p } = r();
2277
2301
  if (!p) return $;
2278
2302
  let m = e.getTransitionTaskId(), h = () => {
2279
2303
  let n = e.getTransitionTaskId();
2280
- n && o.resolveTask(n), m && t.delete(m);
2281
- }, g = P(i), _ = `${s}-true`, v = p.getAttribute(Q) === "true";
2282
- if (!(!v && W(g, _))) return queueMicrotask(h), $;
2283
- let y = z(g, _), b = !v && !!y, x = U("screen", i, _), S, C = () => {
2304
+ n && s.resolveTask(n), m && t.delete(m);
2305
+ }, g = F(i), _ = `${o}-true`, v = p.getAttribute(Gt) === "true";
2306
+ if (!(!v && G(g, _))) return queueMicrotask(h), $;
2307
+ m && (l ? s.anchorGate(m) : s.markGateHeld(m));
2308
+ let y = B(g, _), b = !v && !!y, x = W("screen", i, _), S, C = () => {
2284
2309
  S !== void 0 && (clearTimeout(S), S = void 0);
2285
2310
  }, w = $, T = (e) => {
2286
2311
  e.target === p && e.animationName === x && (p.removeEventListener("animationend", T), C(), w(), h());
2287
2312
  };
2288
2313
  p.addEventListener("animationend", T);
2289
- 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, re = () => m !== null && e.getTransitionTaskId() === m && p.isConnected && p.getAttribute("data-flemo-skip-animation") !== "true" && W(g, _), O = Xt({
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({
2290
2315
  element: p,
2291
2316
  expectedName: x,
2292
2317
  motion: y,
@@ -2299,18 +2324,18 @@ function Zt(e) {
2299
2324
  });
2300
2325
  w = O.detach;
2301
2326
  let k = !1, A = () => {
2302
- C(), S = setTimeout(ie, ne);
2303
- }, ie = () => {
2327
+ C(), S = setTimeout(j, ne);
2328
+ }, j = () => {
2304
2329
  if (C(), re() && !k) {
2305
2330
  k = !0, O.fullRestart(), A();
2306
2331
  return;
2307
2332
  }
2308
2333
  h();
2309
- }, j = !E && l, ae = j ? f(p, _) : [];
2310
- return j && (O.attach(), m && A()), () => {
2311
- if (te !== void 0 && clearTimeout(te), p.removeEventListener("animationend", T), j) {
2334
+ }, M = !E && l, ie = M ? f(p, _) : [];
2335
+ return M && (O.attach(), m && A()), () => {
2336
+ if (te !== void 0 && clearTimeout(te), p.removeEventListener("animationend", T), M) {
2312
2337
  O.detach();
2313
- for (let e of ae) e();
2338
+ for (let e of ie) e();
2314
2339
  }
2315
2340
  C(), E?.(), m && e.getTransitionTaskId() !== m && t.delete(m);
2316
2341
  };
@@ -2320,20 +2345,20 @@ function Zt(e) {
2320
2345
  }
2321
2346
  //#endregion
2322
2347
  //#region src/utils/findScrollable.ts
2323
- function Qt(e, t) {
2324
- let { direction: n = "x", markerSelector: r = "[data-swipe-at-edge]", depthLimit: i = 24, verifyByScroll: a = !1 } = t ?? {}, o = $t(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);
2325
2350
  if (!o) return {
2326
2351
  element: null,
2327
2352
  hasMarker: !1
2328
2353
  };
2329
2354
  let s = o.closest?.(r);
2330
- if (s instanceof HTMLElement && en(s, n) && (!a || tn(s, n))) return {
2355
+ if (s instanceof HTMLElement && tn(s, n) && (!a || nn(s, n))) return {
2331
2356
  element: s,
2332
2357
  hasMarker: !0
2333
2358
  };
2334
2359
  let c = o, l = 0;
2335
2360
  for (; c && l < i;) {
2336
- if (en(c, n) && (!a || tn(c, n))) return {
2361
+ if (tn(c, n) && (!a || nn(c, n))) return {
2337
2362
  element: c,
2338
2363
  hasMarker: !1
2339
2364
  };
@@ -2344,7 +2369,7 @@ function Qt(e, t) {
2344
2369
  hasMarker: !1
2345
2370
  };
2346
2371
  }
2347
- function $t(e) {
2372
+ function en(e) {
2348
2373
  if (!e) return null;
2349
2374
  let t = e, n = typeof t.composedPath == "function" ? t.composedPath() : void 0;
2350
2375
  if (n && n.length) {
@@ -2352,18 +2377,18 @@ function $t(e) {
2352
2377
  }
2353
2378
  return e instanceof HTMLElement ? e : null;
2354
2379
  }
2355
- function en(e, t) {
2380
+ function tn(e, t) {
2356
2381
  return t === "y" ? e.scrollHeight - e.clientHeight > 1 : e.scrollWidth - e.clientWidth > 1;
2357
2382
  }
2358
- function tn(e, t) {
2359
- if (!en(e, t) || typeof window > "u") return !1;
2383
+ function nn(e, t) {
2384
+ if (!tn(e, t) || typeof window > "u") return !1;
2360
2385
  let n = window.getComputedStyle(e), r = t === "y" ? n.overflowY : n.overflowX;
2361
2386
  return r === "auto" || r === "scroll" || r === "overlay";
2362
2387
  }
2363
2388
  //#endregion
2364
2389
  //#region src/core/engine/createSwipeController.ts
2365
- var nn = "data-flemo-skip-animation";
2366
- function rn(e) {
2390
+ var rn = "data-flemo-skip-animation";
2391
+ function an(e) {
2367
2392
  let t = null, n = null, r = {
2368
2393
  current: [],
2369
2394
  prev: []
@@ -2409,9 +2434,9 @@ function rn(e) {
2409
2434
  y: e.clientY
2410
2435
  }, u = t;
2411
2436
  }, v = (n, i, a) => {
2412
- let o = Y(n, i, a);
2413
- if (n === e.getElements().scope) for (let e of r.current) Y(e, i, a);
2414
- else if (n === t) for (let e of r.prev) Y(e, i, a);
2437
+ let o = X(n, i, a);
2438
+ if (n === e.getElements().scope) for (let e of r.current) X(e, i, a);
2439
+ else if (n === t) for (let e of r.prev) X(e, i, a);
2415
2440
  return o;
2416
2441
  }, y = (t) => {
2417
2442
  let n = e.getPartnerBars(), i = [], { sharedTopBar: a, sharedBottomBar: o } = e.getElements();
@@ -2429,8 +2454,8 @@ function rn(e) {
2429
2454
  for (let e of i) e.style.willChange = c;
2430
2455
  for (let e of s) e.style.willChange = c;
2431
2456
  }, b = () => {
2432
- for (let e of r.current) J(e), e.style.removeProperty("will-change");
2433
- for (let e of r.prev) J(e), e.style.removeProperty("will-change");
2457
+ for (let e of r.current) Y(e), e.style.removeProperty("will-change");
2458
+ for (let e of r.prev) Y(e), e.style.removeProperty("will-change");
2434
2459
  r = {
2435
2460
  current: [],
2436
2461
  prev: []
@@ -2443,10 +2468,10 @@ function rn(e) {
2443
2468
  };
2444
2469
  }, S = (e, t, n) => {
2445
2470
  let r = (r, i) => {
2446
- let a = L.get(r.getAttribute("data-flemo-part-name"));
2471
+ let a = R.get(r.getAttribute("data-flemo-part-name"));
2447
2472
  if (!a) return;
2448
2473
  let o = {
2449
- animate: Y,
2474
+ animate: X,
2450
2475
  element: r,
2451
2476
  active: i
2452
2477
  };
@@ -2455,7 +2480,7 @@ function rn(e) {
2455
2480
  for (let e of i.current) r(e, !0);
2456
2481
  for (let e of i.prev) r(e, !1);
2457
2482
  }, C = () => {
2458
- for (let e of [...i.current, ...i.prev]) J(e);
2483
+ for (let e of [...i.current, ...i.prev]) Y(e);
2459
2484
  i = {
2460
2485
  current: [],
2461
2486
  prev: []
@@ -2484,7 +2509,7 @@ function rn(e) {
2484
2509
  prevScreen: t,
2485
2510
  onStart: (e) => {
2486
2511
  m?.onSwipeStart?.(e, {
2487
- animate: Y,
2512
+ animate: X,
2488
2513
  currentDecorator: f,
2489
2514
  prevDecorator: n
2490
2515
  }), S("start", e, 0);
@@ -2501,7 +2526,7 @@ function rn(e) {
2501
2526
  prevScreen: t,
2502
2527
  onProgress: (e, t) => {
2503
2528
  c?.onSwipe?.(e, t, {
2504
- animate: Y,
2529
+ animate: X,
2505
2530
  currentDecorator: o,
2506
2531
  prevDecorator: n
2507
2532
  }), S("swipe", e, t);
@@ -2520,15 +2545,15 @@ function rn(e) {
2520
2545
  prevScreen: t,
2521
2546
  onStart: (e) => {
2522
2547
  u?.onSwipeEnd?.(e, {
2523
- animate: Y,
2548
+ animate: X,
2524
2549
  currentDecorator: l,
2525
2550
  prevDecorator: n
2526
2551
  }), S("end", e, 0);
2527
2552
  }
2528
2553
  })) {
2529
- c?.setAttribute(nn, "true"), l?.setAttribute(nn, "true");
2554
+ c?.setAttribute(rn, "true"), l?.setAttribute(rn, "true");
2530
2555
  for (let e of r.current) e.style.removeProperty("will-change");
2531
- for (let e of r.prev) J(e), e.style.removeProperty("will-change");
2556
+ for (let e of r.prev) Y(e), e.style.removeProperty("will-change");
2532
2557
  r = {
2533
2558
  current: [],
2534
2559
  prev: []
@@ -2536,14 +2561,14 @@ function rn(e) {
2536
2561
  current: [],
2537
2562
  prev: []
2538
2563
  }, e.back();
2539
- } else c && J(c), t && J(t), l && J(l), n && J(n), b(), C(), e.setDragStatus("IDLE");
2564
+ } else c && Y(c), t && Y(t), l && Y(l), n && Y(n), b(), C(), e.setDragStatus("IDLE");
2540
2565
  };
2541
2566
  return {
2542
2567
  pointerDown: (t) => {
2543
- e.isReadyForDrag() && (f = Qt(t.target, {
2568
+ e.isReadyForDrag() && (f = $t(t.target, {
2544
2569
  direction: "x",
2545
2570
  verifyByScroll: !0
2546
- }), p = Qt(t.target, {
2571
+ }), p = $t(t.target, {
2547
2572
  direction: "y",
2548
2573
  verifyByScroll: !0
2549
2574
  }), m = t.clientX, h = t.clientY, (!f.element && !p.element || f.element || p.element) && (a = !0));
@@ -2572,7 +2597,7 @@ function rn(e) {
2572
2597
  }
2573
2598
  //#endregion
2574
2599
  //#region src/screen/computeBarRiding.ts
2575
- function an(e) {
2600
+ function on(e) {
2576
2601
  return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? {
2577
2602
  app: !1,
2578
2603
  nav: !1
@@ -2583,11 +2608,8 @@ function an(e) {
2583
2608
  }
2584
2609
  //#endregion
2585
2610
  //#region src/screen/animStartAnchor.ts
2586
- function on(e) {
2587
- return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? null : `${e.status}:${e.transitionName}`;
2588
- }
2589
2611
  function sn(e) {
2590
- return e.holdKey !== null && e.isActive && (e.status === "PUSHING" || e.status === "REPLACING");
2612
+ return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? null : `${e.status}:${e.transitionName}`;
2591
2613
  }
2592
2614
  var cn = 300, ln = 20;
2593
2615
  function un(e) {
@@ -2715,4 +2737,4 @@ function yn(e, n) {
2715
2737
  };
2716
2738
  }
2717
2739
  //#endregion
2718
- export { cn as ANIM_HOLD_RELEASE_BACKSTOP_MS, Q as SKIP_ANIMATION_ATTR, o as TaskManger, on as animHoldKey, Y as animateInline, U as animationName, ae as appendParamsQuery, nt as applyTransitionStyles, yn as buildRoutePath, tn as canProgrammaticallyScroll, J as clearInlineAnimation, Ge as collectAnimatedProperties, $e as compileTransitionStyles, an as computeBarRiding, he as computeScreenFreeze, y as consumeSelfInducedPop, mn as createAnimHoldCoordinator, h as createBrowserHistoryDriver, Ce as createDecorator, s as createHistoryStore, b as createHistorySync, ne as createMemoryHistoryDriver, re as createNavigateStore, ie as createNavigationController, Ee as createPartTransition, we as createRawDecorator, De as createRawPartTransition, ge as createRawTransition, pe as createRouterScope, me as createScreenSelector, ue as createScreenStore, g as createSelfPopGuard, oe as createStepController, rn as createSwipeController, M as createTransition, Zt as createTransitionEngine, ce as createTransitionStore, ve as cupertino, I as decoratorMap, dn as eagerlyDecodeImages, H as easingToCss, ee as ensureScopeHistorySync, f as ensureWindowHistoryState, lt as enteringInitialStyle, Qt as findScrollable, c as getMatchedPathPattern, l as getParams, vn as isOpaqueColor, d as isServer, be as layout, v as markSelfInducedPop, le as matchesPathname, xe as material, Se as none, hn as observeBarHeight, _n as observeViewportScrollHeight, en as overflowsAxis, Te as overlay, L as partTransitionMap, j as readStepParams, ct as registerTransitionDefinitions, te as releaseScopeHistorySync, P as resolveTransition, pn as scheduleAnimHoldRelease, u as seedInitialHistory, p as seedRouterEntry, sn as shouldMountShellFirst, se as subscribeStepParamsRestore, B as targetToDecls, N as transitionMap, W 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 };