@flemo/core 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -496,7 +496,7 @@ function te(e) {
496
496
  }
497
497
  //#endregion
498
498
  //#region src/history/memoryHistoryDriver.ts
499
- function O(e) {
499
+ function ne(e) {
500
500
  let t = [{
501
501
  state: e?.state ?? null,
502
502
  url: e?.url ?? "/"
@@ -538,7 +538,7 @@ function O(e) {
538
538
  }
539
539
  //#endregion
540
540
  //#region src/navigate/store.ts
541
- function k() {
541
+ function re() {
542
542
  return e((e) => ({
543
543
  status: "IDLE",
544
544
  transitionTaskId: null,
@@ -548,11 +548,11 @@ function k() {
548
548
  }
549
549
  //#endregion
550
550
  //#region src/navigate/createNavigationController.ts
551
- var A = (e, t, n) => {
551
+ var O = (e, t, n) => {
552
552
  let { regexp: r } = i(e);
553
553
  for (let e = t - 1; e >= 0; e--) if (r.test(n[e].pathname)) return t - e;
554
554
  return -1;
555
- }, ne = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.trunc(e)) : t, re = async (e, t, n, r) => {
555
+ }, k = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.trunc(e)) : t, A = async (e, t, n, r) => {
556
556
  let i, a = new Promise((t) => {
557
557
  i = e.subscribe(() => t(!0));
558
558
  }), o = new Promise((e) => setTimeout(() => e(!1), 200));
@@ -586,10 +586,10 @@ function ie(e) {
586
586
  }
587
587
  let o = c(), { index: d, histories: f, addHistory: g, popHistories: _ } = t.history.getState(), v = (() => {
588
588
  if (u?.until != null) {
589
- let e = A(u.until, d, f);
589
+ let e = O(u.until, d, f);
590
590
  return e < 0 ? 0 : e;
591
591
  }
592
- return Math.min(ne(u?.skip, 0), Math.max(0, d));
592
+ return Math.min(k(u?.skip, 0), Math.max(0, d));
593
593
  })(), { setStatus: y, setTransitionTaskId: b } = t.navigate.getState();
594
594
  y("PUSHING"), b(h);
595
595
  let { pathname: x, toPathname: S } = n(e, l ?? {}), C = {
@@ -616,7 +616,7 @@ function ie(e) {
616
616
  return g({
617
617
  ...C,
618
618
  frameIndex: T + 1
619
- }), await re(r, i, v, () => {
619
+ }), await A(r, i, v, () => {
620
620
  s(), r.pushState({
621
621
  id: h,
622
622
  index: T + 1,
@@ -646,10 +646,10 @@ function ie(e) {
646
646
  }
647
647
  let o = c(), { index: d, histories: f, addHistory: g, replaceHistory: _, popHistories: v } = t.history.getState(), y = (() => {
648
648
  if (u?.until != null) {
649
- let e = A(u.until, d, f);
649
+ let e = O(u.until, d, f);
650
650
  return e < 0 ? 0 : e + 1;
651
651
  }
652
- return Math.min(ne(u?.skip, 0) + 1, d + 1);
652
+ return Math.min(k(u?.skip, 0) + 1, d + 1);
653
653
  })();
654
654
  if (y <= 0) {
655
655
  a.abort();
@@ -681,7 +681,7 @@ function ie(e) {
681
681
  return v(y - 1), g({
682
682
  ...w,
683
683
  frameIndex: E
684
- }), y <= d ? await re(r, i, y, () => {
684
+ }), y <= d ? await A(r, i, y, () => {
685
685
  s(), r.pushState({
686
686
  id: h,
687
687
  index: E,
@@ -690,7 +690,7 @@ function ie(e) {
690
690
  transitionName: p,
691
691
  layoutId: m
692
692
  }, S);
693
- }) : await re(r, i, d, () => {
693
+ }) : await A(r, i, d, () => {
694
694
  s(), r.replaceState({
695
695
  id: h,
696
696
  index: E,
@@ -746,10 +746,10 @@ function ie(e) {
746
746
  pop: async (e) => {
747
747
  await d((t, n) => {
748
748
  if (e?.until != null) {
749
- let r = A(e.until, t, n);
749
+ let r = O(e.until, t, n);
750
750
  return r < 0 ? 0 : r;
751
751
  }
752
- let r = ne(e?.skip, 1);
752
+ let r = k(e?.skip, 1);
753
753
  return r <= 0 ? 0 : Math.min(r, t);
754
754
  }, e?.transitionName);
755
755
  }
@@ -757,14 +757,14 @@ function ie(e) {
757
757
  }
758
758
  //#endregion
759
759
  //#region src/navigate/createStepController.ts
760
- var ae = (e) => {
760
+ var j = (e) => {
761
761
  let t = e;
762
762
  return t?.step ? t.params ?? {} : null;
763
- }, oe = (e, t) => {
763
+ }, ae = (e, t) => {
764
764
  let n = new URLSearchParams(Object.fromEntries(Object.entries(t).map(([e, t]) => [e, String(t)]))).toString();
765
765
  return n ? `${e}?${n}` : e;
766
766
  };
767
- function se(e) {
767
+ function oe(e) {
768
768
  let { stores: t, driver: n, markSelfInduced: r, buildStepPathname: i, applyParams: s } = e;
769
769
  return {
770
770
  pushStep: async (e) => {
@@ -822,7 +822,7 @@ function se(e) {
822
822
  }
823
823
  };
824
824
  }
825
- function ce(e, t) {
825
+ function se(e, t) {
826
826
  return e.subscribe((e) => {
827
827
  let n = e.state;
828
828
  n?.step && o.addTask(async () => {
@@ -832,7 +832,7 @@ function ce(e, t) {
832
832
  }
833
833
  //#endregion
834
834
  //#region src/transition/store.ts
835
- function le(t = "cupertino") {
835
+ function ce(t = "cupertino") {
836
836
  return e((e) => ({
837
837
  defaultTransitionName: t,
838
838
  setDefaultTransitionName: (t) => e({ defaultTransitionName: t })
@@ -840,12 +840,12 @@ function le(t = "cupertino") {
840
840
  }
841
841
  //#endregion
842
842
  //#region src/utils/matchesPathname.ts
843
- function ue(e, t) {
843
+ function le(e, t) {
844
844
  return i(e).regexp.test(t);
845
845
  }
846
846
  //#endregion
847
847
  //#region src/screen/store.ts
848
- function de() {
848
+ function ue() {
849
849
  return e((e) => ({
850
850
  dragStatus: "IDLE",
851
851
  replaceTransitionStatus: "IDLE",
@@ -876,14 +876,14 @@ function de() {
876
876
  }
877
877
  //#endregion
878
878
  //#region src/core/createRouterScope.ts
879
- var fe = {
879
+ var de = {
880
880
  mark: () => {},
881
881
  consume: () => !1
882
- }, pe = /* @__PURE__ */ new Map();
883
- function me(e) {
882
+ }, fe = /* @__PURE__ */ new Map();
883
+ function pe(e) {
884
884
  let { routePaths: t, pathname: n, search: r, defaultTransitionName: i, memory: a, browserDriver: o } = e, c = d() ? void 0 : e.persistKey;
885
885
  if (c) {
886
- let e = pe.get(c);
886
+ let e = fe.get(c);
887
887
  if (e) {
888
888
  e.life.alive = !0, e.navigate.getState().setStatus("IDLE"), e.navigate.getState().setTransitionTaskId(null);
889
889
  let t = e.history.getState();
@@ -903,7 +903,7 @@ function me(e) {
903
903
  index: 0,
904
904
  histories: [p]
905
905
  }), e.hostedScope;
906
- let m = a ? O({
906
+ let m = a ? ne({
907
907
  state: {
908
908
  id: p.id,
909
909
  index: 0,
@@ -913,25 +913,25 @@ function me(e) {
913
913
  layoutId: p.layoutId
914
914
  },
915
915
  url: p.pathname
916
- }) : o, h = a ? fe : g(), _ = {
916
+ }) : o, h = a ? de : g(), _ = {
917
917
  history: s([p], 0),
918
- navigate: k(),
919
- transition: le(i),
920
- screen: de(),
918
+ navigate: re(),
919
+ transition: ce(i),
920
+ screen: ue(),
921
921
  driver: m,
922
922
  markSelfInduced: h.mark,
923
923
  consume: h.consume,
924
924
  routerKey: e.routerKey,
925
925
  zoneEntryId: e.zoneEntryId,
926
- ownsPathname: (e) => ue(t, e),
926
+ ownsPathname: (e) => le(t, e),
927
927
  persistent: !!c,
928
928
  life: { alive: !0 }
929
929
  };
930
- return c && pe.set(c, _), _;
930
+ return c && fe.set(c, _), _;
931
931
  }
932
932
  //#endregion
933
933
  //#region src/screen/createScreenSelector.ts
934
- function he(e, t) {
934
+ function me(e, t) {
935
935
  return e.map((n, r) => ({
936
936
  ...n,
937
937
  isActive: r === t,
@@ -944,13 +944,13 @@ function he(e, t) {
944
944
  }
945
945
  //#endregion
946
946
  //#region src/screen/computeScreenFreeze.ts
947
- function ge(e) {
947
+ function he(e) {
948
948
  let t = e.status === "COMPLETED" && e.dragStatus === "IDLE";
949
949
  return !e.isActive && t || e.isPrev && e.index - 2 <= e.zIndex && e.replaceTransitionStatus === "IDLE" || e.isPrev && e.index - 2 > e.zIndex;
950
950
  }
951
951
  //#endregion
952
952
  //#region src/transition/createTransition.ts
953
- function j({ name: e, initial: t, idle: n, enter: r, enterBack: i, exit: a, exitBack: o, options: s }) {
953
+ function M({ name: e, initial: t, idle: n, enter: r, enterBack: i, exit: a, exitBack: o, options: s }) {
954
954
  return {
955
955
  name: e,
956
956
  initial: t,
@@ -971,7 +971,7 @@ function j({ name: e, initial: t, idle: n, enter: r, enterBack: i, exit: a, exit
971
971
  }
972
972
  //#endregion
973
973
  //#region src/transition/createRawTransition.ts
974
- function _e({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnExit: l, completedOnEnter: u, options: d }) {
974
+ 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
975
  return {
976
976
  name: e,
977
977
  initial: t,
@@ -992,10 +992,10 @@ function _e({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
992
992
  }
993
993
  //#endregion
994
994
  //#region src/transition/cupertino.ts
995
- var ve = (e, t, n) => {
995
+ var _e = (e, t, n) => {
996
996
  let [r, i] = t, [a, o] = n;
997
997
  return i === r ? a : a + (e - r) / (i - r) * (o - a);
998
- }, ye = j({
998
+ }, ve = M({
999
999
  name: "cupertino",
1000
1000
  initial: { x: "100%" },
1001
1001
  idle: {
@@ -1055,7 +1055,7 @@ var ve = (e, t, n) => {
1055
1055
  swipeDirection: "x",
1056
1056
  onSwipeStart: async () => !0,
1057
1057
  onSwipe: (e, t, { animate: n, currentScreen: r, prevScreen: i, onProgress: a }) => {
1058
- let { offset: o } = t, s = o.x, c = ve(s, [0, window.innerWidth], [0, 100]);
1058
+ let { offset: o } = t, s = o.x, c = _e(s, [0, window.innerWidth], [0, 100]);
1059
1059
  return a?.(!0, c), n(r, { x: Math.max(0, s) }, { duration: 0 }), n(i, { x: `${-35 + c * .35}%` }, { duration: 0 }), c;
1060
1060
  },
1061
1061
  onSwipeEnd: async (e, t, { animate: n, currentScreen: r, prevScreen: i, onStart: a }) => {
@@ -1079,10 +1079,10 @@ var ve = (e, t, n) => {
1079
1079
  })]), c;
1080
1080
  }
1081
1081
  }
1082
- }), be = (e, t, n) => {
1082
+ }), ye = (e, t, n) => {
1083
1083
  let [r, i] = t, [a, o] = n;
1084
1084
  return i === r ? a : a + (e - r) / (i - r) * (o - a);
1085
- }, xe = j({
1085
+ }, be = M({
1086
1086
  name: "layout",
1087
1087
  initial: { opacity: .97 },
1088
1088
  idle: {
@@ -1110,7 +1110,7 @@ var ve = (e, t, n) => {
1110
1110
  swipeDirection: "y",
1111
1111
  onSwipeStart: async () => !0,
1112
1112
  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 = be(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);
1113
+ 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
1114
  return i?.(!0, 100), n(r, {
1115
1115
  y: f,
1116
1116
  opacity: c
@@ -1127,7 +1127,7 @@ var ve = (e, t, n) => {
1127
1127
  }, { duration: .3 })]), c;
1128
1128
  }
1129
1129
  }
1130
- }), Se = j({
1130
+ }), xe = M({
1131
1131
  name: "material",
1132
1132
  initial: { y: "100%" },
1133
1133
  idle: {
@@ -1235,7 +1235,7 @@ var ve = (e, t, n) => {
1235
1235
  })]), c;
1236
1236
  }
1237
1237
  }
1238
- }), Ce = j({
1238
+ }), Se = M({
1239
1239
  name: "none",
1240
1240
  initial: {},
1241
1241
  idle: {
@@ -1258,20 +1258,20 @@ var ve = (e, t, n) => {
1258
1258
  value: {},
1259
1259
  options: { duration: 0 }
1260
1260
  }
1261
- }), M = new Map([
1262
- ["none", Ce],
1263
- ["cupertino", ye],
1264
- ["material", Se],
1265
- ["layout", xe]
1261
+ }), N = new Map([
1262
+ ["none", Se],
1263
+ ["cupertino", ve],
1264
+ ["material", xe],
1265
+ ["layout", be]
1266
1266
  ]);
1267
1267
  //#endregion
1268
1268
  //#region src/transition/resolveTransition.ts
1269
- function we(e) {
1270
- return M.get(e) ?? M.get("none");
1269
+ function P(e) {
1270
+ return N.get(e) ?? N.get("none");
1271
1271
  }
1272
1272
  //#endregion
1273
1273
  //#region src/transition/decorator/createDecorator.ts
1274
- function Te({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1274
+ function Ce({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1275
1275
  return {
1276
1276
  name: e,
1277
1277
  initial: t,
@@ -1292,7 +1292,7 @@ function Te({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1292
1292
  }
1293
1293
  //#endregion
1294
1294
  //#region src/transition/decorator/createRawDecorator.ts
1295
- 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 }) {
1295
+ 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
1296
  return {
1297
1297
  name: e,
1298
1298
  initial: t,
@@ -1313,30 +1313,30 @@ function Ee({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
1313
1313
  }
1314
1314
  //#endregion
1315
1315
  //#region src/transition/decorator/overlay.ts
1316
- var N = "rgba(0, 0, 0, 0.2)", De = Te({
1316
+ var F = "rgba(0, 0, 0, 0.2)", Te = Ce({
1317
1317
  name: "overlay",
1318
1318
  initial: {
1319
1319
  opacity: 0,
1320
- backgroundColor: N
1320
+ backgroundColor: F
1321
1321
  },
1322
1322
  idle: {
1323
1323
  value: {
1324
1324
  opacity: 0,
1325
- backgroundColor: N
1325
+ backgroundColor: F
1326
1326
  },
1327
1327
  options: { duration: 0 }
1328
1328
  },
1329
1329
  enter: {
1330
1330
  value: {
1331
1331
  opacity: 1,
1332
- backgroundColor: N
1332
+ backgroundColor: F
1333
1333
  },
1334
1334
  options: { duration: .6 }
1335
1335
  },
1336
1336
  exit: {
1337
1337
  value: {
1338
1338
  opacity: 0,
1339
- backgroundColor: N
1339
+ backgroundColor: F
1340
1340
  },
1341
1341
  options: { duration: .6 }
1342
1342
  },
@@ -1345,10 +1345,10 @@ var N = "rgba(0, 0, 0, 0.2)", De = Te({
1345
1345
  onSwipe: (e, t, { animate: n, prevDecorator: r }) => n(r, { opacity: Math.max(0, 1 - t / 100) }, { duration: 0 }),
1346
1346
  onSwipeEnd: (e, { animate: t, prevDecorator: n }) => t(n, { opacity: +!e }, { duration: .3 })
1347
1347
  }
1348
- }), P = new Map([["overlay", De]]);
1348
+ }), I = new Map([["overlay", Te]]);
1349
1349
  //#endregion
1350
1350
  //#region src/transition/partTransition/createPartTransition.ts
1351
- function Oe({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1351
+ function Ee({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1352
1352
  return {
1353
1353
  name: e,
1354
1354
  initial: t,
@@ -1369,7 +1369,7 @@ function Oe({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
1369
1369
  }
1370
1370
  //#endregion
1371
1371
  //#region src/transition/partTransition/createRawPartTransition.ts
1372
- function ke({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
1372
+ 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
1373
  return {
1374
1374
  name: e,
1375
1375
  initial: t,
@@ -1390,7 +1390,7 @@ function ke({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
1390
1390
  }
1391
1391
  //#endregion
1392
1392
  //#region src/transition/partTransition/partTransition.ts
1393
- var F = /* @__PURE__ */ new Map(), I = {
1393
+ var L = /* @__PURE__ */ new Map(), R = {
1394
1394
  "IDLE-true": "self",
1395
1395
  "IDLE-false": "self",
1396
1396
  "PUSHING-true": "initial",
@@ -1401,17 +1401,17 @@ var F = /* @__PURE__ */ new Map(), I = {
1401
1401
  "POPPING-false": "PUSHING-false",
1402
1402
  "COMPLETED-true": "self",
1403
1403
  "COMPLETED-false": "self"
1404
- }, Ae = Object.keys(I), je = (e) => {
1404
+ }, Oe = Object.keys(R), ke = (e) => {
1405
1405
  if (!e) return 0;
1406
1406
  let t = e.duration;
1407
1407
  return typeof t == "number" && t >= 0 ? t : 0;
1408
- }, L = (e) => e && typeof e.delay == "number" && e.delay > 0 ? e.delay : 0, Me = (e, t) => {
1409
- let n = I[t];
1408
+ }, Ae = (e) => e && typeof e.delay == "number" && e.delay > 0 ? e.delay : 0, je = (e, t) => {
1409
+ let n = R[t];
1410
1410
  return n === "self" ? null : n === "initial" ? e.initial : e.variants[n].value;
1411
- }, R = (e, t) => {
1412
- let n = Me(e, t);
1411
+ }, z = (e, t) => {
1412
+ let n = je(e, t);
1413
1413
  if (n === null) return null;
1414
- let r = e.variants[t], i = je(r.options), a = L(r.options);
1414
+ let r = e.variants[t], i = ke(r.options), a = Ae(r.options);
1415
1415
  return i <= 0 && a <= 0 ? null : {
1416
1416
  from: n,
1417
1417
  to: r.value,
@@ -1419,7 +1419,7 @@ var F = /* @__PURE__ */ new Map(), I = {
1419
1419
  delay: a,
1420
1420
  ease: r.options?.ease
1421
1421
  };
1422
- }, Ne = Ae, Pe = (e) => e.replace(/[^a-zA-Z0-9_-]/g, "_"), Fe = (e) => typeof e == "object" && !!e && !Array.isArray(e), Ie = 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(".")), Le = (e, t) => t.startsWith("--") || Ie.has(t) ? `${e}` : t === "rotate" || t === "rotateX" || t === "rotateY" || t === "rotateZ" ? `${e}deg` : `${e}px`, Re = (e, t) => typeof t == "number" ? Le(t, e) : typeof t == "string" ? t : "", z = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), ze = new Set([
1422
+ }, 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
1423
  "x",
1424
1424
  "y",
1425
1425
  "z",
@@ -1446,14 +1446,14 @@ var F = /* @__PURE__ */ new Map(), I = {
1446
1446
  }
1447
1447
  }, Ge = (e) => {
1448
1448
  let t = /* @__PURE__ */ new Map(), n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
1449
- if (!Fe(e)) return;
1449
+ if (!Pe(e)) return;
1450
1450
  let n = [];
1451
1451
  for (let r of Object.keys(e)) {
1452
- let i = e[r], a = Re(r, i);
1452
+ let i = e[r], a = Le(r, i);
1453
1453
  if (a !== "") if (ze.has(r)) n.push(`${r}:${a}`);
1454
1454
  else {
1455
- let e = t.get(z(r)) ?? /* @__PURE__ */ new Set();
1456
- e.add(a), t.set(z(r), e);
1455
+ let e = t.get(Re(r)) ?? /* @__PURE__ */ new Set();
1456
+ e.add(a), t.set(Re(r), e);
1457
1457
  }
1458
1458
  }
1459
1459
  r.add(n.sort().join("|"));
@@ -1464,12 +1464,12 @@ var F = /* @__PURE__ */ new Map(), I = {
1464
1464
  let a = Array.from(t.entries()).filter(([, e]) => e.size > 1).map(([e]) => e);
1465
1465
  return n && a.push("transform"), a;
1466
1466
  }, B = (e) => {
1467
- if (!Fe(e)) return [];
1467
+ if (!Pe(e)) return [];
1468
1468
  let t = [], n = !0, r = [];
1469
1469
  for (let i of Object.keys(e)) {
1470
- let a = e[i], o = Re(i, a);
1470
+ let a = e[i], o = Le(i, a);
1471
1471
  o !== "" && (ze.has(i) ? (t.push(We(i, o)), Ue(i, a) || (n = !1)) : r.push({
1472
- property: z(i),
1472
+ property: Re(i),
1473
1473
  value: o
1474
1474
  }));
1475
1475
  }
@@ -1499,11 +1499,11 @@ var F = /* @__PURE__ */ new Map(), I = {
1499
1499
  }, Ye = (e, t) => {
1500
1500
  let [n, r] = t.split("-");
1501
1501
  return `[data-flemo-part-name="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
1502
- }, Xe = (e, t, n) => `flemo-${e}-${Pe(t)}-${n}`, Ze = (e, t, n, r, i, a) => {
1503
- let o = B(r), s = B(i.value), c = je(i.options), l = L(i.options), u = H(i.options?.ease), d = a(t, n), f = e === "screen" ? `${d},\n${Je(t, n)}` : d;
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;
1504
1504
  if (s.length === 0 && o.length === 0) return "";
1505
1505
  if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${V(s)}\n animation: none;\n}`;
1506
- let p = Xe(e, t, n), m = [
1506
+ let p = U(e, t, n), m = [
1507
1507
  `@keyframes ${p} {`,
1508
1508
  " from {",
1509
1509
  V(o).replace(/^/gm, " "),
@@ -1519,55 +1519,55 @@ var F = /* @__PURE__ */ new Map(), I = {
1519
1519
  l > 0 ? `${l}s` : null,
1520
1520
  "both"
1521
1521
  ].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") && Qe(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")) && Qe(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park-under"] {\n animation: none;\n${V(s)}\n}` : ""}`;
1523
- }, Qe = (e) => {
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}` : ""}`;
1523
+ }, Ze = (e) => {
1524
1524
  if (!e) return !1;
1525
1525
  if (e.opacity === 0) return !0;
1526
1526
  let t = (e) => typeof e == "string" && e.trim().endsWith("%") && Math.abs(parseFloat(e)) >= 100;
1527
1527
  return t(e.x) || t(e.y);
1528
- }, $e = (e, t, n, r) => {
1528
+ }, Qe = (e, t, n, r) => {
1529
1529
  let i = B(r.value);
1530
1530
  return i.length === 0 ? "" : `${e(t, n)} {\n${V(i)}\n}`;
1531
- }, et = (e, t, n = []) => {
1531
+ }, $e = (e, t, n = []) => {
1532
1532
  let r = [];
1533
1533
  for (let t of e) {
1534
1534
  let e = t.name;
1535
- for (let n of Ae) {
1536
- let i = t.variants[n], a = I[n];
1535
+ for (let n of Oe) {
1536
+ let i = t.variants[n], a = R[n];
1537
1537
  if (a === "self") {
1538
- r.push($e(Ke, e, n, i));
1538
+ r.push(Qe(Ke, e, n, i));
1539
1539
  continue;
1540
1540
  }
1541
1541
  let o = a === "initial" ? t.initial : t.variants[a].value;
1542
- r.push(Ze("screen", e, n, o, i, Ke));
1542
+ r.push(Xe("screen", e, n, o, i, Ke));
1543
1543
  }
1544
1544
  }
1545
1545
  for (let e of t) {
1546
1546
  let t = e.name;
1547
- for (let n of Ne) {
1548
- let i = e.variants[n], a = I[n];
1547
+ for (let n of Me) {
1548
+ let i = e.variants[n], a = R[n];
1549
1549
  if (a === "self") {
1550
- r.push($e(qe, t, n, i));
1550
+ r.push(Qe(qe, t, n, i));
1551
1551
  continue;
1552
1552
  }
1553
1553
  let o = a === "initial" ? e.initial : e.variants[a].value;
1554
- r.push(Ze("decorator", t, n, o, i, qe));
1554
+ r.push(Xe("decorator", t, n, o, i, qe));
1555
1555
  }
1556
1556
  }
1557
1557
  for (let e of n) {
1558
1558
  let t = e.name;
1559
- for (let n of Ne) {
1560
- let i = e.variants[n], a = I[n];
1559
+ for (let n of Me) {
1560
+ let i = e.variants[n], a = R[n];
1561
1561
  if (a === "self") {
1562
- r.push($e(Ye, t, n, i));
1562
+ r.push(Qe(Ye, t, n, i));
1563
1563
  continue;
1564
1564
  }
1565
1565
  let o = a === "initial" ? e.initial : e.variants[a].value;
1566
- r.push(Ze("part", t, n, o, i, Ye));
1566
+ r.push(Xe("part", t, n, o, i, Ye));
1567
1567
  }
1568
1568
  }
1569
- return [...r.filter((e) => e.length > 0), tt].join("\n\n");
1570
- }, tt = [
1569
+ return [...r.filter((e) => e.length > 0), et].join("\n\n");
1570
+ }, et = [
1571
1571
  "[data-flemo-anim-hold=\"true\"],",
1572
1572
  "[data-flemo-anim-hold=\"park\"],",
1573
1573
  "[data-flemo-anim-hold=\"park-under\"],",
@@ -1576,41 +1576,41 @@ var F = /* @__PURE__ */ new Map(), I = {
1576
1576
  "[data-flemo-anim-hold=\"park-under\"] [data-flemo-part-name] {",
1577
1577
  " animation-play-state: paused !important;",
1578
1578
  "}"
1579
- ].join("\n"), nt = (e, t) => {
1580
- let n = I[t];
1579
+ ].join("\n"), W = (e, t) => {
1580
+ let n = R[t];
1581
1581
  if (n === "self") return !1;
1582
- let r = e.variants[t], i = je(r.options), a = L(r.options);
1582
+ let r = e.variants[t], i = ke(r.options), a = Ae(r.options);
1583
1583
  if (i <= 0 && a <= 0) return !1;
1584
1584
  let o = B(n === "initial" ? e.initial : e.variants[n].value), s = B(r.value);
1585
1585
  return o.length > 0 || s.length > 0;
1586
- }, rt = "data-flemo";
1587
- function it() {
1586
+ }, tt = "data-flemo";
1587
+ function nt() {
1588
1588
  if (d()) return;
1589
- let e = et(M.values(), P.values(), F.values()), t = document.head.querySelector(`style[${rt}]`);
1590
- t || (t = document.createElement("style"), t.setAttribute(rt, ""), document.head.appendChild(t)), t.textContent !== e && (t.textContent = e);
1589
+ let e = $e(N.values(), I.values(), L.values()), t = document.head.querySelector(`style[${tt}]`);
1590
+ t || (t = document.createElement("style"), t.setAttribute(tt, ""), document.head.appendChild(t)), t.textContent !== e && (t.textContent = e);
1591
1591
  }
1592
1592
  //#endregion
1593
1593
  //#region src/transition/registerTransitionDefinitions.ts
1594
- var at = /* @__PURE__ */ new Map(), ot = /* @__PURE__ */ new Map(), st = /* @__PURE__ */ new Map(), ct = (e, t) => {
1594
+ var rt = /* @__PURE__ */ new Map(), it = /* @__PURE__ */ new Map(), at = /* @__PURE__ */ new Map(), ot = (e, t) => {
1595
1595
  e.set(t, (e.get(t) ?? 0) + 1);
1596
- }, lt = (e, t) => {
1596
+ }, st = (e, t) => {
1597
1597
  let n = (e.get(t) ?? 1) - 1;
1598
1598
  return n <= 0 ? (e.delete(t), !0) : (e.set(t, n), !1);
1599
1599
  };
1600
- function ut(e, t, n = []) {
1601
- for (let t of e) M.set(t.name, t), ct(at, t.name);
1602
- for (let e of t) P.set(e.name, e), ct(ot, e.name);
1603
- for (let e of n) F.set(e.name, e), ct(st, e.name);
1604
- return it(), () => {
1605
- for (let t of e) lt(at, t.name) && M.delete(t.name);
1606
- for (let e of t) lt(ot, e.name) && P.delete(e.name);
1607
- for (let e of n) lt(st, e.name) && F.delete(e.name);
1608
- it();
1600
+ 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);
1604
+ 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);
1608
+ nt();
1609
1609
  };
1610
1610
  }
1611
1611
  //#endregion
1612
1612
  //#region src/transition/enteringInitialStyle.ts
1613
- function dt(e) {
1613
+ function lt(e) {
1614
1614
  let { initial: t, isActive: n, status: r } = e;
1615
1615
  if (!n || r !== "PUSHING" && r !== "REPLACING") return {};
1616
1616
  let i = {};
@@ -1618,10 +1618,10 @@ function dt(e) {
1618
1618
  }
1619
1619
  //#endregion
1620
1620
  //#region src/transition/settleScrub.ts
1621
- var ft = () => ({
1621
+ var ut = () => ({
1622
1622
  request: (e) => requestAnimationFrame(e),
1623
1623
  cancel: (e) => cancelAnimationFrame(e)
1624
- }), pt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), mt = ((e = ft()) => {
1624
+ }), dt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), ft = ((e = ut()) => {
1625
1625
  let t = /* @__PURE__ */ new Map(), n = null, r = () => {
1626
1626
  t.size === 0 && n !== null && (e.cancel(n), n = null);
1627
1627
  }, i = (e, n) => {
@@ -1654,7 +1654,7 @@ var ft = () => ({
1654
1654
  if (typeof r.animate != "function") return null;
1655
1655
  i(r, "current");
1656
1656
  let l = {};
1657
- for (let e of o) l[pt(e.property)] = e.value;
1657
+ for (let e of o) l[dt(e.property)] = e.value;
1658
1658
  let u;
1659
1659
  try {
1660
1660
  u = r.animate([l], {
@@ -1684,49 +1684,49 @@ var ft = () => ({
1684
1684
  takeover: (e) => i(e, "current"),
1685
1685
  cancel: (e) => i(e, "drop")
1686
1686
  };
1687
- })(), ht = "flemo:motion-driver", gt = "flemo:motion-driver-force", _t = !1, vt = () => {
1687
+ })(), pt = "flemo:motion-driver", mt = "flemo:motion-driver-force", ht = !1, gt = () => {
1688
1688
  try {
1689
1689
  if (typeof localStorage > "u") return null;
1690
- let e = localStorage.getItem(gt);
1691
- return e !== "css" && e !== "raf" ? null : (!_t && typeof console < "u" && (_t = !0, console.warn(`[flemo] motion driver pinned to "${e}" via localStorage ${gt}; remove the key to restore automatic selection.`)), e);
1690
+ let e = localStorage.getItem(mt);
1691
+ 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
1692
  } catch {
1693
1693
  return null;
1694
1694
  }
1695
- }, yt = () => ({
1695
+ }, _t = () => ({
1696
1696
  read: () => {
1697
1697
  try {
1698
- return typeof localStorage < "u" ? localStorage.getItem(ht) : null;
1698
+ return typeof localStorage < "u" ? localStorage.getItem(pt) : null;
1699
1699
  } catch {
1700
1700
  return null;
1701
1701
  }
1702
1702
  },
1703
1703
  write: (e) => {
1704
1704
  try {
1705
- typeof localStorage < "u" && localStorage.setItem(ht, e);
1705
+ typeof localStorage < "u" && localStorage.setItem(pt, e);
1706
1706
  } catch {}
1707
1707
  }
1708
- }), bt = 30, xt = 2, St = 2, Ct = () => typeof navigator < "u" && !!navigator.userAgentData, U = ((e = yt(), t = Ct()) => {
1708
+ }), vt = 30, yt = 2, bt = 2, xt = () => typeof navigator < "u" && !!navigator.userAgentData, G = ((e = _t(), t = xt()) => {
1709
1709
  let n = e.read() === "css", r = n;
1710
1710
  n &&= !1;
1711
1711
  let i = 0, a = 0, o = [];
1712
1712
  return {
1713
1713
  playerAllowed: () => {
1714
- let e = vt();
1714
+ let e = gt();
1715
1715
  return e ? e === "raf" : t && !n;
1716
1716
  },
1717
1717
  beginRun: () => {
1718
1718
  a = 0, o = [];
1719
1719
  },
1720
1720
  reportGap: (e) => {
1721
- o.push(e), e >= bt && (a += 1);
1721
+ o.push(e), e >= vt && (a += 1);
1722
1722
  },
1723
1723
  endRun: () => {
1724
- let t = a >= xt;
1724
+ let t = a >= yt;
1725
1725
  if (r) {
1726
1726
  r = !1, t ? n = !0 : e.write("raf");
1727
1727
  return;
1728
1728
  }
1729
- t && (i += 1, i >= St && !n && (n = !0, e.write("css")));
1729
+ t && (i += 1, i >= bt && !n && (n = !0, e.write("css")));
1730
1730
  },
1731
1731
  stats: () => ({
1732
1732
  runGaps: [...o],
@@ -1734,43 +1734,43 @@ var ft = () => ({
1734
1734
  demoted: n
1735
1735
  })
1736
1736
  };
1737
- })(), wt = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, W = /* @__PURE__ */ new WeakMap(), G = (e, t) => {
1738
- let n = W.get(e);
1739
- n || (n = /* @__PURE__ */ new Set(), W.set(e, n)), n.add(t);
1740
- }, K = (e, t) => {
1741
- if (mt.cancel(e), e.style.transition = "", t) {
1742
- let n = W.get(e);
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) => {
1741
+ if (ft.cancel(e), e.style.transition = "", e.style.removeProperty("animation-delay"), t) {
1742
+ let n = K.get(e);
1743
1743
  for (let r of t) e.style.removeProperty(r), n?.delete(r);
1744
1744
  return;
1745
1745
  }
1746
- let n = W.get(e);
1746
+ let n = K.get(e);
1747
1747
  if (n && n.size > 0) {
1748
1748
  for (let t of n) e.style.removeProperty(t);
1749
1749
  n.clear();
1750
1750
  return;
1751
1751
  }
1752
1752
  e.style.removeProperty("transform"), e.style.removeProperty("opacity");
1753
- }, q = (e, t, n = {}) => {
1754
- if (!wt(e)) return Promise.resolve();
1753
+ }, Y = (e, t, n = {}) => {
1754
+ if (!St(e)) return Promise.resolve();
1755
1755
  let r = e, i = B(t);
1756
1756
  if (i.length === 0) return Promise.resolve();
1757
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);
1758
1758
  if (a <= 0 && o <= 0) {
1759
- mt.takeover(r), r.style.transition = "none";
1760
- for (let e of i) r.style.setProperty(e.property, e.value), G(r, e.property);
1759
+ ft.takeover(r), r.style.transition = "none";
1760
+ for (let e of i) r.style.setProperty(e.property, e.value), q(r, e.property);
1761
1761
  return Promise.resolve();
1762
1762
  }
1763
- let c = U.playerAllowed() ? mt.settle(r, i, {
1763
+ let c = G.playerAllowed() ? ft.settle(r, i, {
1764
1764
  durationMs: a * 1e3,
1765
1765
  delayMs: o * 1e3,
1766
1766
  easing: s
1767
1767
  }, (e) => {
1768
- r.style.setProperty(e.property, e.value), G(r, e.property);
1768
+ r.style.setProperty(e.property, e.value), q(r, e.property);
1769
1769
  }) : null;
1770
1770
  if (c) return c;
1771
1771
  let l = i.map((e) => `${e.property} ${a}s ${s} ${o}s`).join(", ");
1772
1772
  r.style.transition = l, r.offsetWidth;
1773
- for (let e of i) r.style.setProperty(e.property, e.value), G(r, e.property);
1773
+ for (let e of i) r.style.setProperty(e.property, e.value), q(r, e.property);
1774
1774
  return new Promise((e) => {
1775
1775
  let t = !1, n = () => {
1776
1776
  t || (t = !0, r.removeEventListener("transitionend", i), e());
@@ -1779,7 +1779,7 @@ var ft = () => ({
1779
1779
  };
1780
1780
  r.addEventListener("transitionend", i), setTimeout(n, (a + o) * 1e3 + 60);
1781
1781
  });
1782
- }, Tt = (e, t, n, r) => {
1782
+ }, Ct = (e, t, n, r) => {
1783
1783
  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
1784
  return (e) => {
1785
1785
  if (e <= 0) return 0;
@@ -1791,7 +1791,7 @@ var ft = () => ({
1791
1791
  }
1792
1792
  return a((t + n) / 2);
1793
1793
  };
1794
- }, Et = (e) => e, Dt = {
1794
+ }, wt = (e) => e, Tt = {
1795
1795
  ease: [
1796
1796
  .25,
1797
1797
  .1,
@@ -1846,16 +1846,16 @@ var ft = () => ({
1846
1846
  .66,
1847
1847
  -.56
1848
1848
  ]
1849
- }, Ot = (e) => {
1849
+ }, Et = (e) => {
1850
1850
  if (Array.isArray(e)) {
1851
1851
  if (e.length === 4 && e.every((e) => typeof e == "number")) {
1852
1852
  let [t, n, r, i] = e;
1853
- return Tt(t, n, r, i);
1853
+ return Ct(t, n, r, i);
1854
1854
  }
1855
- return Et;
1855
+ return wt;
1856
1856
  }
1857
- return typeof e == "string" ? e === "linear" ? Et : Tt(...Dt[e] ?? Dt.ease) : Tt(...Dt.ease);
1858
- }, kt = [
1857
+ return typeof e == "string" ? e === "linear" ? wt : Ct(...Tt[e] ?? Tt.ease) : Ct(...Tt.ease);
1858
+ }, Dt = [
1859
1859
  "x",
1860
1860
  "y",
1861
1861
  "z",
@@ -1866,7 +1866,7 @@ var ft = () => ({
1866
1866
  "rotateX",
1867
1867
  "rotateY",
1868
1868
  "rotateZ"
1869
- ], At = new Set(kt), jt = {
1869
+ ], Ot = new Set(Dt), kt = {
1870
1870
  x: 0,
1871
1871
  y: 0,
1872
1872
  z: 0,
@@ -1877,7 +1877,7 @@ var ft = () => ({
1877
1877
  rotateX: 0,
1878
1878
  rotateY: 0,
1879
1879
  rotateZ: 0
1880
- }, Mt = (e, t) => {
1880
+ }, At = (e, t) => {
1881
1881
  if (typeof t == "number") return {
1882
1882
  value: t,
1883
1883
  unit: e === "x" || e === "y" || e === "z" ? "px" : ""
@@ -1896,26 +1896,26 @@ var ft = () => ({
1896
1896
  value: i,
1897
1897
  unit: a === "" && i === 0 ? "px" : a
1898
1898
  };
1899
- }, J = /-?\d*\.?\d+/g, Nt = (e, t) => {
1900
- let n = e.match(J) ?? [], r = t.match(J) ?? [];
1901
- if (n.length !== r.length || e.replace(J, " ") !== t.replace(J, " ")) return null;
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;
1902
1902
  let i = n.map(Number), a = r.map(Number);
1903
1903
  return (t) => {
1904
1904
  let n = 0;
1905
- return e.replace(J, () => {
1905
+ return e.replace(X, () => {
1906
1906
  let e = n++, r = i[e] + (a[e] - i[e]) * t;
1907
1907
  return `${Math.round(r * 1e3) / 1e3}`;
1908
1908
  });
1909
1909
  };
1910
- }, Pt = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), Ft = (e) => typeof e == "object" && !!e && !Array.isArray(e), It = (e) => Ft(e) ? Object.keys(e) : [], Lt = (e, t) => Ft(e) ? e[t] : void 0, Rt = (e, t) => {
1911
- let n = new Set([...It(e.from), ...It(e.to)]), r = [], i = null, a = [], o = [];
1910
+ }, 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) => {
1911
+ let n = new Set([...Pt(e.from), ...Pt(e.to)]), r = [], i = null, a = [], o = [];
1912
1912
  for (let s of n) {
1913
- let n = Lt(e.from, s), c = Lt(e.to, s);
1914
- if (At.has(s)) {
1913
+ let n = Ft(e.from, s), c = Ft(e.to, s);
1914
+ if (Ot.has(s)) {
1915
1915
  let e = s, i = {
1916
- value: jt[e],
1916
+ value: kt[e],
1917
1917
  unit: e === "x" || e === "y" || e === "z" ? "px" : ""
1918
- }, a = n === void 0 ? i : Mt(e, n), o = c === void 0 ? i : Mt(e, c);
1918
+ }, a = n === void 0 ? i : At(e, n), o = c === void 0 ? i : At(e, c);
1919
1919
  if (!a || !o || a.unit !== o.unit && a.value !== 0 && o.value !== 0) return null;
1920
1920
  let l = a.value === 0 && a.unit !== o.unit ? o.unit : a.unit, u = l === "%", d = 0;
1921
1921
  u && t && (d = e === "y" ? t.offsetHeight / 100 : t.offsetWidth / 100), r.push({
@@ -1946,15 +1946,15 @@ var ft = () => ({
1946
1946
  if (typeof l != "string" || typeof u != "string") return null;
1947
1947
  if (l === u) {
1948
1948
  o.push({
1949
- property: Pt(s),
1949
+ property: Mt(s),
1950
1950
  value: l
1951
1951
  });
1952
1952
  continue;
1953
1953
  }
1954
- let d = Nt(l, u);
1954
+ let d = jt(l, u);
1955
1955
  if (!d) return null;
1956
1956
  a.push({
1957
- property: Pt(s),
1957
+ property: Mt(s),
1958
1958
  mix: d
1959
1959
  });
1960
1960
  }
@@ -1964,29 +1964,29 @@ var ft = () => ({
1964
1964
  strings: a,
1965
1965
  constants: o
1966
1966
  };
1967
- }, zt = 1, Bt = (e, t, n, r) => {
1967
+ }, Lt = 1, Rt = (e, t, n, r) => {
1968
1968
  let i = 0, a = 0, o = !1, s = [], c = !0;
1969
- for (let l of kt) {
1969
+ for (let l of Dt) {
1970
1970
  let u = e.find((e) => e.prop === l);
1971
1971
  if (!u) continue;
1972
1972
  let d = u.from.value + (u.to.value - u.from.value) * t;
1973
1973
  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 >= zt) && n > 0 ? Math.round(d * n) / n : Math.round(d * 1e3) / 1e3;
1974
+ 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
1975
  l === "x" ? (r.x = d, i = t) : (r.y = d, a = t), o = !0, t !== 0 && (c = !1);
1976
1976
  continue;
1977
1977
  }
1978
- let f = jt[l];
1978
+ let f = kt[l];
1979
1979
  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
1980
  }
1981
1981
  return !o && s.length === 0 ? "" : c ? "none" : [...o ? [`translate3d(${i}px, ${a}px, 0)`] : [], ...s].join(" ");
1982
- }, Vt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), Ht = (e) => {
1982
+ }, zt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), Bt = (e) => {
1983
1983
  let t = {};
1984
- for (let n of B(e)) t[Vt(n.property)] = n.value;
1984
+ for (let n of B(e)) t[zt(n.property)] = n.value;
1985
1985
  return t;
1986
- }, Ut = (e, t) => {
1986
+ }, Vt = (e, t) => {
1987
1987
  if (typeof e.animate != "function") return null;
1988
1988
  try {
1989
- let n = e.animate([Ht(t.from), Ht(t.to)], {
1989
+ let n = e.animate([Bt(t.from), Bt(t.to)], {
1990
1990
  duration: Math.max(0, t.duration * 1e3),
1991
1991
  delay: Math.max(0, t.delay * 1e3),
1992
1992
  easing: H(t.ease),
@@ -1996,14 +1996,14 @@ var ft = () => ({
1996
1996
  } catch {
1997
1997
  return null;
1998
1998
  }
1999
- }, Wt = () => ({
1999
+ }, Ht = 1e3 / 60, Ut = 100, Wt = () => ({
2000
2000
  request: (e) => requestAnimationFrame(e),
2001
2001
  cancel: (e) => cancelAnimationFrame(e),
2002
2002
  devicePixelRatio: () => typeof window < "u" && window.devicePixelRatio || 1
2003
- }), Y = ((e = Wt()) => {
2003
+ }), Z = ((e = Wt()) => {
2004
2004
  let t = /* @__PURE__ */ new Map(), n = {
2005
2005
  join: (n, r) => {
2006
- let i = Rt(r.motion, r.element), s = i ? null : Ut(r.element, r.motion);
2006
+ let i = It(r.motion, r.element), s = i ? null : Vt(r.element, r.motion);
2007
2007
  if (!i && !s) return null;
2008
2008
  let c = t.get(n);
2009
2009
  c || (c = {
@@ -2024,14 +2024,14 @@ var ft = () => ({
2024
2024
  y: null
2025
2025
  }
2026
2026
  };
2027
- if (c.tracks.push(l), l.element.style.animation = "none", G(l.element, "animation"), i) {
2028
- i.transforms.length > 0 && G(l.element, "transform"), i.opacity && G(l.element, "opacity");
2029
- for (let e of i.strings) G(l.element, e.property);
2030
- for (let e of i.constants) G(l.element, e.property);
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);
2031
2031
  a(l, 0);
2032
2032
  }
2033
- return r.role === "active" && !c.started && (c.started = !0, U.beginRun(), o(n, c)), () => {
2034
- l.detached = !0, l.scrub?.cancel(), K(l.element);
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);
2035
2035
  let r = t.get(n);
2036
2036
  r && (r.tracks = r.tracks.filter((e) => e !== l), r.tracks.length === 0 && (r.frameHandle !== null && e.cancel(r.frameHandle), t.delete(n)));
2037
2037
  };
@@ -2046,13 +2046,13 @@ var ft = () => ({
2046
2046
  }
2047
2047
  }, r = /* @__PURE__ */ new WeakMap(), i = (e) => {
2048
2048
  let t = r.get(e);
2049
- return t || (t = Ot(e.motion.ease), r.set(e, t)), t;
2049
+ return t || (t = Et(e.motion.ease), r.set(e, t)), t;
2050
2050
  };
2051
2051
  function a(t, n) {
2052
2052
  let { element: r, parsed: i } = t;
2053
2053
  if (!(!i || !r.isConnected)) {
2054
2054
  if (i.transforms.length > 0) {
2055
- let a = Bt(i.transforms, n, e.devicePixelRatio(), t.snapMemory);
2055
+ let a = Rt(i.transforms, n, e.devicePixelRatio(), t.snapMemory);
2056
2056
  a !== "" && (r.style.transform = a);
2057
2057
  }
2058
2058
  if (i.opacity) {
@@ -2069,28 +2069,33 @@ var ft = () => ({
2069
2069
  });
2070
2070
  }
2071
2071
  function s(e, r, s) {
2072
- r.startTime === null && (r.startTime = s), r.lastTime !== null && (U.reportGap(s - r.lastTime), n.onFrameGap?.(s - r.lastTime)), r.lastTime = s;
2073
- let c = !0;
2072
+ let c = r.startTime ?? s;
2073
+ if (r.lastTime !== null) {
2074
+ let e = s - r.lastTime;
2075
+ G.reportGap(e), n.onFrameGap?.(e), e >= Ut && (c += e - Ht);
2076
+ }
2077
+ r.startTime = c, r.lastTime = s;
2078
+ let l = !0;
2074
2079
  for (let e of r.tracks) {
2075
2080
  if (e.completed || e.detached) continue;
2076
- let t = e.motion.duration * 1e3, n = e.motion.delay * 1e3, o = s - r.startTime;
2081
+ let t = e.motion.duration * 1e3, n = e.motion.delay * 1e3, r = s - c;
2077
2082
  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;
2083
+ let i = n + t;
2084
+ e.scrub.currentTime = Math.min(Math.max(0, r), i), r >= i ? (e.completed = !0, e.onComplete?.()) : l = !1;
2080
2085
  continue;
2081
2086
  }
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;
2087
+ let o = t <= 0 ? 1 : Math.min(1, Math.max(0, (r - n) / t));
2088
+ a(e, i(e)(o)), o >= 1 ? (e.completed = !0, e.onComplete?.()) : l = !1;
2084
2089
  }
2085
- if (c) {
2086
- U.endRun(), t.delete(e);
2090
+ if (l) {
2091
+ G.endRun(), t.delete(e);
2087
2092
  return;
2088
2093
  }
2089
2094
  o(e, r);
2090
2095
  }
2091
2096
  return n;
2092
2097
  })();
2093
- Y.onFrameGap = (e) => {
2098
+ Z.onFrameGap = (e) => {
2094
2099
  if (typeof window < "u") {
2095
2100
  let t = window.__flemoPlayerGaps ??= [];
2096
2101
  t.push(Math.round(e * 10) / 10), t.length > 600 && t.splice(0, t.length - 600);
@@ -2098,142 +2103,237 @@ Y.onFrameGap = (e) => {
2098
2103
  };
2099
2104
  //#endregion
2100
2105
  //#region src/core/engine/types.ts
2101
- var X = "data-flemo-skip-animation", Z = () => {}, Gt = "data-flemo-part-name", Q = (e) => {
2106
+ var Q = "data-flemo-skip-animation", $ = () => {}, Gt = "data-flemo-part-name", Kt = (e) => {
2102
2107
  let t = e.parentElement ?? e;
2103
2108
  return Array.from(t.querySelectorAll(`[${Gt}]`)).filter((n) => {
2104
2109
  let r = n.closest("[data-flemo-screen]");
2105
2110
  return !r || r === e || !t.contains(r);
2106
2111
  });
2107
- }, Kt = (e, t) => {
2112
+ }, qt = (e, t) => {
2108
2113
  let [n, r] = t.split("-");
2109
- return Q(e).filter((e) => e.getAttribute("data-flemo-status") === n && e.getAttribute("data-flemo-active") === r);
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) => {
2116
+ 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;
2118
+ }, s = (e) => {
2119
+ a || e.target !== t || e.animationName !== n || i === null && (i = performance.now());
2120
+ }, c = (s) => {
2121
+ if (a || s.target !== t || s.animationName !== n) return;
2122
+ if (!e.isLive() || e.budgetUsed() >= Jt) {
2123
+ e.onTerminal();
2124
+ return;
2125
+ }
2126
+ if (i === null) {
2127
+ e.spendBudget(), o({ mode: "keep" });
2128
+ return;
2129
+ }
2130
+ let c = performance.now() - i;
2131
+ if (c >= (r.delay + r.duration) * 1e3) {
2132
+ e.onTerminal();
2133
+ return;
2134
+ }
2135
+ e.spendBudget(), o({
2136
+ mode: "set",
2137
+ seconds: r.delay - c / 1e3
2138
+ });
2139
+ };
2140
+ return {
2141
+ attach: () => {
2142
+ t.addEventListener("animationstart", s), t.addEventListener("animationcancel", c);
2143
+ },
2144
+ detach: () => {
2145
+ t.removeEventListener("animationstart", s), t.removeEventListener("animationcancel", c);
2146
+ },
2147
+ fullRestart: () => {
2148
+ i = null, o({ mode: "clear" });
2149
+ }
2150
+ };
2110
2151
  };
2111
- function qt(e) {
2112
- let t = /* @__PURE__ */ new Set();
2113
- return { driveScreenLifecycle: (n) => {
2114
- 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) => {
2115
- let s = e.getTransitionTaskId();
2116
- if (!s || o.pendingTaskIds.some((e) => e !== s) || !U.playerAllowed()) return null;
2117
- let { scope: c, decorator: l, bars: u } = r();
2118
- if (!c) return null;
2119
- let d = we(i), f = R(d, t);
2120
- if (!f) return null;
2121
- let p = [], m = Y.join(s, {
2122
- element: c,
2123
- motion: f,
2124
- role: n,
2125
- onComplete: a
2126
- });
2127
- if (!m) return null;
2128
- p.push(m);
2129
- for (let e of u ?? []) {
2130
- if (!e || e.getAttribute("data-flemo-bar-riding") !== "true") continue;
2131
- let t = Y.join(s, {
2132
- element: e,
2152
+ function Zt(e) {
2153
+ let t = /* @__PURE__ */ new Map();
2154
+ return {
2155
+ 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;
2159
+ let { scope: c, decorator: l, bars: u } = r();
2160
+ if (!c) return null;
2161
+ let d = P(i), f = z(d, t);
2162
+ if (!f) return null;
2163
+ let p = [], m = Z.join(s, {
2164
+ element: c,
2133
2165
  motion: f,
2134
- role: "passive"
2166
+ role: n,
2167
+ onComplete: a
2135
2168
  });
2136
- t && p.push(t);
2137
- }
2138
- if (l && d.decoratorName) {
2139
- let e = P.get(d.decoratorName), n = e ? R(e, t) : null;
2140
- if (n) {
2141
- let e = Y.join(s, {
2142
- element: l,
2143
- motion: n,
2169
+ if (!m) return null;
2170
+ p.push(m);
2171
+ for (let e of u ?? []) {
2172
+ if (!e || e.getAttribute("data-flemo-bar-riding") !== "true") continue;
2173
+ let t = Z.join(s, {
2174
+ element: e,
2175
+ motion: f,
2144
2176
  role: "passive"
2145
2177
  });
2146
- e && p.push(e);
2178
+ t && p.push(t);
2147
2179
  }
2180
+ if (l && d.decoratorName) {
2181
+ let e = I.get(d.decoratorName), n = e ? z(e, t) : null;
2182
+ if (n) {
2183
+ let e = Z.join(s, {
2184
+ element: l,
2185
+ motion: n,
2186
+ role: "passive"
2187
+ });
2188
+ e && p.push(e);
2189
+ }
2190
+ }
2191
+ for (let e of qt(c, t)) {
2192
+ let n = L.get(e.getAttribute(Gt)), r = n ? z(n, t) : null;
2193
+ if (!r) continue;
2194
+ let i = Z.join(s, {
2195
+ element: e,
2196
+ motion: r,
2197
+ role: "passive"
2198
+ });
2199
+ i && p.push(i);
2200
+ }
2201
+ return () => p.forEach((e) => e());
2202
+ }, f = (e, t) => {
2203
+ let n = [], { decorator: a, bars: o } = r(), s = P(i), c = (e, t, r) => {
2204
+ let i = 0, a = Xt({
2205
+ element: e,
2206
+ expectedName: t,
2207
+ motion: r,
2208
+ isLive: () => e.isConnected,
2209
+ budgetUsed: () => i,
2210
+ spendBudget: () => {
2211
+ i += 1;
2212
+ },
2213
+ onTerminal: $
2214
+ });
2215
+ a.attach(), n.push(a.detach);
2216
+ }, l = U("screen", i, t), u = z(s, t);
2217
+ if (u) for (let e of o ?? []) !e || e.getAttribute("data-flemo-bar-riding") !== "true" || c(e, l, u);
2218
+ 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);
2221
+ }
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);
2225
+ }
2226
+ return n;
2227
+ };
2228
+ if (!c) {
2229
+ if (s === "COMPLETED") {
2230
+ let { scope: e, decorator: t, bars: n } = r();
2231
+ if (e) {
2232
+ J(e);
2233
+ for (let t of Kt(e)) J(t);
2234
+ }
2235
+ t && J(t);
2236
+ for (let e of n ?? []) e && J(e);
2237
+ return $;
2238
+ }
2239
+ if (s === "REPLACING" && a !== i && e.setReplaceTransitionStatus("PENDING"), u && l) {
2240
+ let e = `${s}-false`, t = d(e, "passive");
2241
+ if (t) return t;
2242
+ let { scope: n } = r();
2243
+ if (n) {
2244
+ let t = P(i), r = [];
2245
+ if (W(t, e)) {
2246
+ let a = z(t, e), o = 0, s = Xt({
2247
+ element: n,
2248
+ expectedName: U("screen", i, e),
2249
+ motion: a,
2250
+ isLive: () => n.isConnected && n.getAttribute("data-flemo-skip-animation") !== "true",
2251
+ budgetUsed: () => o,
2252
+ spendBudget: () => {
2253
+ o += 1;
2254
+ },
2255
+ onTerminal: $
2256
+ });
2257
+ s.attach(), r.push(s.detach);
2258
+ }
2259
+ if (r.push(...f(n, e)), r.length > 0) return () => r.forEach((e) => e());
2260
+ }
2261
+ }
2262
+ return $;
2148
2263
  }
2149
- for (let e of Kt(c, t)) {
2150
- let n = F.get(e.getAttribute(Gt)), r = n ? R(n, t) : null;
2151
- if (!r) continue;
2152
- let i = Y.join(s, {
2153
- element: e,
2154
- motion: r,
2155
- role: "passive"
2156
- });
2157
- i && p.push(i);
2158
- }
2159
- return () => p.forEach((e) => e());
2160
- };
2161
- if (!c) {
2162
2264
  if (s === "COMPLETED") {
2163
- let { scope: e, decorator: t, bars: n } = r();
2164
- if (e) {
2165
- K(e);
2166
- for (let t of Q(e)) K(t);
2265
+ e.setDragStatus("IDLE"), e.setReplaceTransitionStatus("IDLE");
2266
+ let { scope: t, decorator: n, bars: i } = r();
2267
+ if (t) {
2268
+ J(t), t.removeAttribute(Q);
2269
+ for (let e of Kt(t)) J(e);
2167
2270
  }
2168
- t && K(t);
2169
- for (let e of n ?? []) e && K(e);
2170
- return Z;
2171
- }
2172
- if (s === "REPLACING" && a !== i && e.setReplaceTransitionStatus("PENDING"), u && l) {
2173
- let e = d(`${s}-false`, "passive");
2174
- if (e) return e;
2175
- }
2176
- return Z;
2177
- }
2178
- if (s === "COMPLETED") {
2179
- e.setDragStatus("IDLE"), e.setReplaceTransitionStatus("IDLE");
2180
- let { scope: t, decorator: n, bars: i } = r();
2181
- if (t) {
2182
- K(t), t.removeAttribute(X);
2183
- for (let e of Q(t)) K(e);
2271
+ n && (J(n), n.removeAttribute(Q));
2272
+ for (let e of i ?? []) e && (J(e), e.style.removeProperty("will-change"));
2273
+ return $;
2184
2274
  }
2185
- n && (K(n), n.removeAttribute(X));
2186
- for (let e of i ?? []) e && (K(e), e.style.removeProperty("will-change"));
2187
- return Z;
2188
- }
2189
- if (s === "IDLE") return Z;
2190
- let { scope: f } = r();
2191
- if (!f) return Z;
2192
- let p = () => {
2193
- let t = e.getTransitionTaskId();
2194
- t && o.resolveTask(t);
2195
- }, m = we(i), h = `${s}-true`, g = f.getAttribute(X) === "true";
2196
- if (!(!g && nt(m, h))) return queueMicrotask(p), Z;
2197
- let _ = R(m, h), v = !g && !!_, y = Xe("screen", i, h), b, x = () => {
2198
- b !== void 0 && (clearTimeout(b), b = void 0);
2199
- }, S = (e) => {
2200
- e.target === f && e.animationName === y && (f.removeEventListener("animationend", S), x(), p());
2201
- };
2202
- f.addEventListener("animationend", S);
2203
- let C = v && l ? d(h, "active", p) : null, w = e.getTransitionTaskId(), T = (_.delay + _.duration) * 1e3, E = T + 1500, D = w ? setTimeout(() => void o.resolveTask(w), E) : void 0, ee = T + 250, te = () => {
2204
- x(), b = setTimeout(O, ee);
2205
- }, O = () => {
2206
- if (x(), w) {
2207
- if (e.getTransitionTaskId() === w && f.isConnected && f.getAttribute("data-flemo-skip-animation") !== "true" && nt(m, h) && !t.has(w)) {
2208
- t.add(w), f.style.animation = "none", f.offsetWidth, f.style.removeProperty("animation"), te();
2275
+ if (s === "IDLE") return $;
2276
+ let { scope: p } = r();
2277
+ if (!p) return $;
2278
+ let m = e.getTransitionTaskId(), h = () => {
2279
+ 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 = () => {
2284
+ S !== void 0 && (clearTimeout(S), S = void 0);
2285
+ }, w = $, T = (e) => {
2286
+ e.target === p && e.animationName === x && (p.removeEventListener("animationend", T), C(), w(), h());
2287
+ };
2288
+ 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({
2290
+ element: p,
2291
+ expectedName: x,
2292
+ motion: y,
2293
+ isLive: re,
2294
+ budgetUsed: () => t.get(m) ?? 0,
2295
+ spendBudget: () => {
2296
+ t.set(m, (t.get(m) ?? 0) + 1);
2297
+ },
2298
+ onTerminal: h
2299
+ });
2300
+ w = O.detach;
2301
+ let k = !1, A = () => {
2302
+ C(), S = setTimeout(ie, ne);
2303
+ }, ie = () => {
2304
+ if (C(), re() && !k) {
2305
+ k = !0, O.fullRestart(), A();
2209
2306
  return;
2210
2307
  }
2211
- p();
2212
- }
2213
- }, k = (e) => {
2214
- e.target === f && e.animationName === y && O();
2215
- }, A = !C && l;
2216
- return A && (f.addEventListener("animationcancel", k), te()), () => {
2217
- D !== void 0 && clearTimeout(D), f.removeEventListener("animationend", S), A && f.removeEventListener("animationcancel", k), x(), C?.();
2218
- };
2219
- } };
2308
+ 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) {
2312
+ O.detach();
2313
+ for (let e of ae) e();
2314
+ }
2315
+ C(), E?.(), m && e.getTransitionTaskId() !== m && t.delete(m);
2316
+ };
2317
+ },
2318
+ activeResumeEntryCount: () => t.size
2319
+ };
2220
2320
  }
2221
2321
  //#endregion
2222
2322
  //#region src/utils/findScrollable.ts
2223
- function Jt(e, t) {
2224
- let { direction: n = "x", markerSelector: r = "[data-swipe-at-edge]", depthLimit: i = 24, verifyByScroll: a = !1 } = t ?? {}, o = Yt(e);
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);
2225
2325
  if (!o) return {
2226
2326
  element: null,
2227
2327
  hasMarker: !1
2228
2328
  };
2229
2329
  let s = o.closest?.(r);
2230
- if (s instanceof HTMLElement && $(s, n) && (!a || Xt(s, n))) return {
2330
+ if (s instanceof HTMLElement && en(s, n) && (!a || tn(s, n))) return {
2231
2331
  element: s,
2232
2332
  hasMarker: !0
2233
2333
  };
2234
2334
  let c = o, l = 0;
2235
2335
  for (; c && l < i;) {
2236
- if ($(c, n) && (!a || Xt(c, n))) return {
2336
+ if (en(c, n) && (!a || tn(c, n))) return {
2237
2337
  element: c,
2238
2338
  hasMarker: !1
2239
2339
  };
@@ -2244,7 +2344,7 @@ function Jt(e, t) {
2244
2344
  hasMarker: !1
2245
2345
  };
2246
2346
  }
2247
- function Yt(e) {
2347
+ function $t(e) {
2248
2348
  if (!e) return null;
2249
2349
  let t = e, n = typeof t.composedPath == "function" ? t.composedPath() : void 0;
2250
2350
  if (n && n.length) {
@@ -2252,18 +2352,18 @@ function Yt(e) {
2252
2352
  }
2253
2353
  return e instanceof HTMLElement ? e : null;
2254
2354
  }
2255
- function $(e, t) {
2355
+ function en(e, t) {
2256
2356
  return t === "y" ? e.scrollHeight - e.clientHeight > 1 : e.scrollWidth - e.clientWidth > 1;
2257
2357
  }
2258
- function Xt(e, t) {
2259
- if (!$(e, t) || typeof window > "u") return !1;
2358
+ function tn(e, t) {
2359
+ if (!en(e, t) || typeof window > "u") return !1;
2260
2360
  let n = window.getComputedStyle(e), r = t === "y" ? n.overflowY : n.overflowX;
2261
2361
  return r === "auto" || r === "scroll" || r === "overlay";
2262
2362
  }
2263
2363
  //#endregion
2264
2364
  //#region src/core/engine/createSwipeController.ts
2265
- var Zt = "data-flemo-skip-animation";
2266
- function Qt(e) {
2365
+ var nn = "data-flemo-skip-animation";
2366
+ function rn(e) {
2267
2367
  let t = null, n = null, r = {
2268
2368
  current: [],
2269
2369
  prev: []
@@ -2309,9 +2409,9 @@ function Qt(e) {
2309
2409
  y: e.clientY
2310
2410
  }, u = t;
2311
2411
  }, v = (n, i, a) => {
2312
- let o = q(n, i, a);
2313
- if (n === e.getElements().scope) for (let e of r.current) q(e, i, a);
2314
- else if (n === t) for (let e of r.prev) q(e, 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);
2315
2415
  return o;
2316
2416
  }, y = (t) => {
2317
2417
  let n = e.getPartnerBars(), i = [], { sharedTopBar: a, sharedBottomBar: o } = e.getElements();
@@ -2329,8 +2429,8 @@ function Qt(e) {
2329
2429
  for (let e of i) e.style.willChange = c;
2330
2430
  for (let e of s) e.style.willChange = c;
2331
2431
  }, b = () => {
2332
- for (let e of r.current) K(e), e.style.removeProperty("will-change");
2333
- for (let e of r.prev) K(e), e.style.removeProperty("will-change");
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");
2334
2434
  r = {
2335
2435
  current: [],
2336
2436
  prev: []
@@ -2343,10 +2443,10 @@ function Qt(e) {
2343
2443
  };
2344
2444
  }, S = (e, t, n) => {
2345
2445
  let r = (r, i) => {
2346
- let a = F.get(r.getAttribute("data-flemo-part-name"));
2446
+ let a = L.get(r.getAttribute("data-flemo-part-name"));
2347
2447
  if (!a) return;
2348
2448
  let o = {
2349
- animate: q,
2449
+ animate: Y,
2350
2450
  element: r,
2351
2451
  active: i
2352
2452
  };
@@ -2355,7 +2455,7 @@ function Qt(e) {
2355
2455
  for (let e of i.current) r(e, !0);
2356
2456
  for (let e of i.prev) r(e, !1);
2357
2457
  }, C = () => {
2358
- for (let e of [...i.current, ...i.prev]) K(e);
2458
+ for (let e of [...i.current, ...i.prev]) J(e);
2359
2459
  i = {
2360
2460
  current: [],
2361
2461
  prev: []
@@ -2384,7 +2484,7 @@ function Qt(e) {
2384
2484
  prevScreen: t,
2385
2485
  onStart: (e) => {
2386
2486
  m?.onSwipeStart?.(e, {
2387
- animate: q,
2487
+ animate: Y,
2388
2488
  currentDecorator: f,
2389
2489
  prevDecorator: n
2390
2490
  }), S("start", e, 0);
@@ -2401,7 +2501,7 @@ function Qt(e) {
2401
2501
  prevScreen: t,
2402
2502
  onProgress: (e, t) => {
2403
2503
  c?.onSwipe?.(e, t, {
2404
- animate: q,
2504
+ animate: Y,
2405
2505
  currentDecorator: o,
2406
2506
  prevDecorator: n
2407
2507
  }), S("swipe", e, t);
@@ -2420,15 +2520,15 @@ function Qt(e) {
2420
2520
  prevScreen: t,
2421
2521
  onStart: (e) => {
2422
2522
  u?.onSwipeEnd?.(e, {
2423
- animate: q,
2523
+ animate: Y,
2424
2524
  currentDecorator: l,
2425
2525
  prevDecorator: n
2426
2526
  }), S("end", e, 0);
2427
2527
  }
2428
2528
  })) {
2429
- c?.setAttribute(Zt, "true"), l?.setAttribute(Zt, "true");
2529
+ c?.setAttribute(nn, "true"), l?.setAttribute(nn, "true");
2430
2530
  for (let e of r.current) e.style.removeProperty("will-change");
2431
- for (let e of r.prev) K(e), e.style.removeProperty("will-change");
2531
+ for (let e of r.prev) J(e), e.style.removeProperty("will-change");
2432
2532
  r = {
2433
2533
  current: [],
2434
2534
  prev: []
@@ -2436,14 +2536,14 @@ function Qt(e) {
2436
2536
  current: [],
2437
2537
  prev: []
2438
2538
  }, e.back();
2439
- } else c && K(c), t && K(t), l && K(l), n && K(n), b(), C(), e.setDragStatus("IDLE");
2539
+ } else c && J(c), t && J(t), l && J(l), n && J(n), b(), C(), e.setDragStatus("IDLE");
2440
2540
  };
2441
2541
  return {
2442
2542
  pointerDown: (t) => {
2443
- e.isReadyForDrag() && (f = Jt(t.target, {
2543
+ e.isReadyForDrag() && (f = Qt(t.target, {
2444
2544
  direction: "x",
2445
2545
  verifyByScroll: !0
2446
- }), p = Jt(t.target, {
2546
+ }), p = Qt(t.target, {
2447
2547
  direction: "y",
2448
2548
  verifyByScroll: !0
2449
2549
  }), m = t.clientX, h = t.clientY, (!f.element && !p.element || f.element || p.element) && (a = !0));
@@ -2472,7 +2572,7 @@ function Qt(e) {
2472
2572
  }
2473
2573
  //#endregion
2474
2574
  //#region src/screen/computeBarRiding.ts
2475
- function $t(e) {
2575
+ function an(e) {
2476
2576
  return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? {
2477
2577
  app: !1,
2478
2578
  nav: !1
@@ -2483,24 +2583,27 @@ function $t(e) {
2483
2583
  }
2484
2584
  //#endregion
2485
2585
  //#region src/screen/animStartAnchor.ts
2486
- function en(e) {
2586
+ function on(e) {
2487
2587
  return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? null : `${e.status}:${e.transitionName}`;
2488
2588
  }
2489
- var tn = 300, nn = 20;
2490
- function rn(e) {
2491
- return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0, nn);
2589
+ function sn(e) {
2590
+ return e.holdKey !== null && e.isActive && (e.status === "PUSHING" || e.status === "REPLACING");
2492
2591
  }
2493
- function an(e) {
2494
- if (!(!e || typeof e.querySelectorAll != "function")) for (let t of rn(e)) t.decode().catch(() => {});
2592
+ var cn = 300, ln = 20;
2593
+ function un(e) {
2594
+ return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0, ln);
2495
2595
  }
2496
- function on(e, t = {}) {
2596
+ function dn(e) {
2597
+ if (!(!e || typeof e.querySelectorAll != "function")) for (let t of un(e)) t.decode().catch(() => {});
2598
+ }
2599
+ function fn(e, t = {}) {
2497
2600
  let n = !1, r = 0, i = [], a = () => {
2498
2601
  let r = t.scope;
2499
2602
  if (t.decodeWait === !1 || !r || typeof r.querySelectorAll != "function") {
2500
2603
  e();
2501
2604
  return;
2502
2605
  }
2503
- let i = rn(r);
2606
+ let i = un(r);
2504
2607
  if (i.length === 0) {
2505
2608
  e();
2506
2609
  return;
@@ -2524,13 +2627,13 @@ function on(e, t = {}) {
2524
2627
  n = !0, cancelAnimationFrame(s), r && cancelAnimationFrame(r), i.forEach((e) => cancelAnimationFrame(e));
2525
2628
  };
2526
2629
  }
2527
- function sn(e, t = {}) {
2528
- let n = on(e, t), r = setTimeout(e, 300);
2630
+ function pn(e, t = {}) {
2631
+ let n = fn(e, t), r = setTimeout(e, 300);
2529
2632
  return () => {
2530
2633
  n(), clearTimeout(r);
2531
2634
  };
2532
2635
  }
2533
- function cn() {
2636
+ function mn() {
2534
2637
  let e = /* @__PURE__ */ new Map(), t = (t, n) => {
2535
2638
  clearTimeout(n.backstop), e.delete(t);
2536
2639
  let r = [...n.members];
@@ -2549,7 +2652,7 @@ function cn() {
2549
2652
  let s = o, c = {
2550
2653
  release: i,
2551
2654
  ready: !1,
2552
- cancelReadiness: on(() => {
2655
+ cancelReadiness: fn(() => {
2553
2656
  c.ready = !0, n(s) && t(r, s);
2554
2657
  }, a)
2555
2658
  };
@@ -2566,7 +2669,7 @@ function cn() {
2566
2669
  }
2567
2670
  //#endregion
2568
2671
  //#region src/screen/observeBarHeight.ts
2569
- function ln(e, t) {
2672
+ function hn(e, t) {
2570
2673
  e.offsetHeight > 0 && t(e.offsetHeight);
2571
2674
  let n = new ResizeObserver(([e]) => {
2572
2675
  e.contentRect.height > 0 && t(e.contentRect.height);
@@ -2577,14 +2680,14 @@ function ln(e, t) {
2577
2680
  }
2578
2681
  //#endregion
2579
2682
  //#region src/screen/observeViewportScrollHeight.ts
2580
- var un = 0;
2581
- function dn(e) {
2683
+ var gn = 0;
2684
+ function _n(e) {
2582
2685
  let t = 0, n = () => {
2583
2686
  cancelAnimationFrame(t), t = requestAnimationFrame(() => {
2584
2687
  let t = document.documentElement.scrollHeight - (window.visualViewport?.height || 0);
2585
2688
  t = t < 0 ? 0 : t;
2586
- let n = t - un;
2587
- n = n < 0 ? 0 : n, un ||= t, e(t, n);
2689
+ let n = t - gn;
2690
+ n = n < 0 ? 0 : n, gn ||= t, e(t, n);
2588
2691
  });
2589
2692
  };
2590
2693
  return window.visualViewport?.addEventListener("resize", n), window.visualViewport?.addEventListener("scroll", n), () => {
@@ -2593,7 +2696,7 @@ function dn(e) {
2593
2696
  }
2594
2697
  //#endregion
2595
2698
  //#region src/utils/isOpaqueColor.ts
2596
- function fn(e) {
2699
+ function vn(e) {
2597
2700
  let t = e.trim().toLowerCase();
2598
2701
  if (t === "transparent" || t === "") return !1;
2599
2702
  if (t.match(/^rgb\(\s*\d+[\s,]+\d+[\s,]+\d+\s*\)$/)) return !0;
@@ -2604,7 +2707,7 @@ function fn(e) {
2604
2707
  }
2605
2708
  //#endregion
2606
2709
  //#region src/utils/buildRoutePath.ts
2607
- function pn(e, n) {
2710
+ function yn(e, n) {
2608
2711
  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();
2609
2712
  return {
2610
2713
  pathname: `${a}${c ? `?${c}` : ""}`,
@@ -2612,4 +2715,4 @@ function pn(e, n) {
2612
2715
  };
2613
2716
  }
2614
2717
  //#endregion
2615
- export { tn as ANIM_HOLD_RELEASE_BACKSTOP_MS, X as SKIP_ANIMATION_ATTR, o as TaskManger, en as animHoldKey, q as animateInline, Xe as animationName, oe as appendParamsQuery, it as applyTransitionStyles, pn as buildRoutePath, Xt as canProgrammaticallyScroll, K as clearInlineAnimation, Ge as collectAnimatedProperties, et as compileTransitionStyles, $t as computeBarRiding, ge as computeScreenFreeze, y as consumeSelfInducedPop, cn as createAnimHoldCoordinator, h as createBrowserHistoryDriver, Te as createDecorator, s as createHistoryStore, b as createHistorySync, O as createMemoryHistoryDriver, k as createNavigateStore, ie as createNavigationController, Oe as createPartTransition, Ee as createRawDecorator, ke as createRawPartTransition, _e as createRawTransition, me as createRouterScope, he as createScreenSelector, de as createScreenStore, g as createSelfPopGuard, se as createStepController, Qt as createSwipeController, j as createTransition, qt as createTransitionEngine, le as createTransitionStore, ye as cupertino, P as decoratorMap, an as eagerlyDecodeImages, H as easingToCss, ee as ensureScopeHistorySync, f as ensureWindowHistoryState, dt as enteringInitialStyle, Jt as findScrollable, c as getMatchedPathPattern, l as getParams, fn as isOpaqueColor, d as isServer, xe as layout, v as markSelfInducedPop, ue as matchesPathname, Se as material, Ce as none, ln as observeBarHeight, dn as observeViewportScrollHeight, $ as overflowsAxis, De as overlay, F as partTransitionMap, ae as readStepParams, ut as registerTransitionDefinitions, te as releaseScopeHistorySync, we as resolveTransition, sn as scheduleAnimHoldRelease, u as seedInitialHistory, p as seedRouterEntry, ce as subscribeStepParamsRestore, B as targetToDecls, M as transitionMap, nt as variantHasAnimation };
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 };