@flemo/core 1.16.1 → 1.17.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.d.ts +1 -1
- package/dist/index.mjs +148 -106
- package/dist/screen/animStartAnchor.d.ts +5 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export { SKIP_ANIMATION_ATTR, type TransitionEngine, type TransitionEngineDeps,
|
|
|
40
40
|
export { default as createSwipeController } from './core/engine/createSwipeController';
|
|
41
41
|
export { type SwipeController, type SwipeControllerConfig, type SwipeControllerElements, type SharedBarPresenceLike } from './core/engine/createSwipeController';
|
|
42
42
|
export { default as computeBarRiding, type BarRidingInput } from './screen/computeBarRiding';
|
|
43
|
-
export { animHoldKey, scheduleAnimHoldRelease, eagerlyDecodeImages, ANIM_HOLD_RELEASE_BACKSTOP_MS, type AnimHoldInput } from './screen/animStartAnchor';
|
|
43
|
+
export { animHoldKey, scheduleAnimHoldRelease, createAnimHoldCoordinator, eagerlyDecodeImages, ANIM_HOLD_RELEASE_BACKSTOP_MS, type AnimHoldInput, type AnimHoldCoordinator } from './screen/animStartAnchor';
|
|
44
44
|
export { default as observeBarHeight } from './screen/observeBarHeight';
|
|
45
45
|
export { default as observeViewportScrollHeight } from './screen/observeViewportScrollHeight';
|
|
46
46
|
export type { RegisterTransition, TransitionName, TransitionVariant, TransitionVariantValue, TransitionOptions, BaseTransition, Transition, SwipeInfo, SwipeAnimate } from './transition/typing';
|
package/dist/index.mjs
CHANGED
|
@@ -552,7 +552,7 @@ 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
|
-
}, k = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.trunc(e)) : t,
|
|
555
|
+
}, k = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.trunc(e)) : t, ie = 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));
|
|
@@ -560,7 +560,7 @@ var O = (e, t, n) => {
|
|
|
560
560
|
let s = await Promise.race([a, o]);
|
|
561
561
|
i(), s && r();
|
|
562
562
|
};
|
|
563
|
-
function
|
|
563
|
+
function ae(e) {
|
|
564
564
|
let { stores: t, buildPathname: n, driver: r = h(), markSelfInduced: i = v } = e, s = () => t.history.getState().bumpTruncationEpoch(), c = () => {
|
|
565
565
|
let e = r.readState();
|
|
566
566
|
if (!e?.id) return null;
|
|
@@ -616,7 +616,7 @@ function ie(e) {
|
|
|
616
616
|
return g({
|
|
617
617
|
...C,
|
|
618
618
|
frameIndex: T + 1
|
|
619
|
-
}), await
|
|
619
|
+
}), await ie(r, i, v, () => {
|
|
620
620
|
s(), r.pushState({
|
|
621
621
|
id: h,
|
|
622
622
|
index: T + 1,
|
|
@@ -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
|
|
684
|
+
}), y <= d ? await ie(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
|
|
693
|
+
}) : await ie(r, i, d, () => {
|
|
694
694
|
s(), r.replaceState({
|
|
695
695
|
id: h,
|
|
696
696
|
index: E,
|
|
@@ -757,14 +757,14 @@ function ie(e) {
|
|
|
757
757
|
}
|
|
758
758
|
//#endregion
|
|
759
759
|
//#region src/navigate/createStepController.ts
|
|
760
|
-
var
|
|
760
|
+
var oe = (e) => {
|
|
761
761
|
let t = e;
|
|
762
762
|
return t?.step ? t.params ?? {} : null;
|
|
763
|
-
},
|
|
763
|
+
}, se = (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
|
|
767
|
+
function ce(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
|
|
825
|
+
function le(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
|
|
835
|
+
function ue(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
|
|
843
|
+
function de(e, t) {
|
|
844
844
|
return i(e).regexp.test(t);
|
|
845
845
|
}
|
|
846
846
|
//#endregion
|
|
847
847
|
//#region src/screen/store.ts
|
|
848
|
-
function
|
|
848
|
+
function fe() {
|
|
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
|
|
879
|
+
var pe = {
|
|
880
880
|
mark: () => {},
|
|
881
881
|
consume: () => !1
|
|
882
|
-
},
|
|
883
|
-
function
|
|
882
|
+
}, me = /* @__PURE__ */ new Map();
|
|
883
|
+
function he(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 =
|
|
886
|
+
let e = me.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();
|
|
@@ -913,25 +913,25 @@ function me(e) {
|
|
|
913
913
|
layoutId: p.layoutId
|
|
914
914
|
},
|
|
915
915
|
url: p.pathname
|
|
916
|
-
}) : o, h = a ?
|
|
916
|
+
}) : o, h = a ? pe : g(), _ = {
|
|
917
917
|
history: s([p], 0),
|
|
918
918
|
navigate: re(),
|
|
919
|
-
transition:
|
|
920
|
-
screen:
|
|
919
|
+
transition: ue(i),
|
|
920
|
+
screen: fe(),
|
|
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) =>
|
|
926
|
+
ownsPathname: (e) => de(t, e),
|
|
927
927
|
persistent: !!c,
|
|
928
928
|
life: { alive: !0 }
|
|
929
929
|
};
|
|
930
|
-
return c &&
|
|
930
|
+
return c && me.set(c, _), _;
|
|
931
931
|
}
|
|
932
932
|
//#endregion
|
|
933
933
|
//#region src/screen/createScreenSelector.ts
|
|
934
|
-
function
|
|
934
|
+
function ge(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
|
|
947
|
+
function _e(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
|
|
953
|
+
function A({ 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
|
|
974
|
+
function ve({ 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
|
|
995
|
+
var ye = (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
|
-
},
|
|
998
|
+
}, be = A({
|
|
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 =
|
|
1058
|
+
let { offset: o } = t, s = o.x, c = ye(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
|
-
}),
|
|
1082
|
+
}), xe = (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
|
-
},
|
|
1085
|
+
}, Se = A({
|
|
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 =
|
|
1113
|
+
let { offset: a } = t, o = a.y, s = Math.max(0, Math.min(56, o)), c = xe(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
|
-
}),
|
|
1130
|
+
}), Ce = A({
|
|
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
|
-
}),
|
|
1238
|
+
}), we = A({
|
|
1239
1239
|
name: "none",
|
|
1240
1240
|
initial: {},
|
|
1241
1241
|
idle: {
|
|
@@ -1258,16 +1258,16 @@ var ve = (e, t, n) => {
|
|
|
1258
1258
|
value: {},
|
|
1259
1259
|
options: { duration: 0 }
|
|
1260
1260
|
}
|
|
1261
|
-
}),
|
|
1262
|
-
["none",
|
|
1263
|
-
["cupertino",
|
|
1264
|
-
["material",
|
|
1265
|
-
["layout",
|
|
1261
|
+
}), j = new Map([
|
|
1262
|
+
["none", we],
|
|
1263
|
+
["cupertino", be],
|
|
1264
|
+
["material", Ce],
|
|
1265
|
+
["layout", Se]
|
|
1266
1266
|
]);
|
|
1267
1267
|
//#endregion
|
|
1268
1268
|
//#region src/transition/resolveTransition.ts
|
|
1269
|
-
function
|
|
1270
|
-
return
|
|
1269
|
+
function M(e) {
|
|
1270
|
+
return j.get(e) ?? j.get("none");
|
|
1271
1271
|
}
|
|
1272
1272
|
//#endregion
|
|
1273
1273
|
//#region src/transition/decorator/createDecorator.ts
|
|
@@ -1405,13 +1405,13 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1405
1405
|
if (!e) return 0;
|
|
1406
1406
|
let t = e.duration;
|
|
1407
1407
|
return typeof t == "number" && t >= 0 ? t : 0;
|
|
1408
|
-
},
|
|
1408
|
+
}, je = (e) => e && typeof e.delay == "number" && e.delay > 0 ? e.delay : 0, Me = (e, t) => {
|
|
1409
1409
|
let n = I[t];
|
|
1410
1410
|
return n === "self" ? null : n === "initial" ? e.initial : e.variants[n].value;
|
|
1411
|
-
},
|
|
1412
|
-
let n =
|
|
1411
|
+
}, R = (e, t) => {
|
|
1412
|
+
let n = Me(e, t);
|
|
1413
1413
|
if (n === null) return null;
|
|
1414
|
-
let r = e.variants[t], i = L(r.options), a =
|
|
1414
|
+
let r = e.variants[t], i = L(r.options), a = je(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
|
-
},
|
|
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 : "", ze = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), Be = new Set([
|
|
1423
1423
|
"x",
|
|
1424
1424
|
"y",
|
|
1425
1425
|
"z",
|
|
@@ -1430,7 +1430,7 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1430
1430
|
"rotateX",
|
|
1431
1431
|
"rotateY",
|
|
1432
1432
|
"rotateZ"
|
|
1433
|
-
]),
|
|
1433
|
+
]), Ve = /^-?0(\.0+)?(px|%|em|rem|vh|vw|vmin|vmax)?$/, He = /^-?0(\.0+)?(deg|rad|grad|turn)?$/, Ue = /^1(\.0+)?$/, We = (e, t) => e === "scale" || e === "scaleX" || e === "scaleY" ? t === 1 ? !0 : typeof t == "string" ? Ue.test(t.trim()) : !1 : e === "rotate" || e === "rotateX" || e === "rotateY" || e === "rotateZ" ? t === 0 ? !0 : typeof t == "string" ? He.test(t.trim()) : !1 : t === 0 ? !0 : typeof t == "string" ? Ve.test(t.trim()) : !1, Ge = (e, t) => {
|
|
1434
1434
|
switch (e) {
|
|
1435
1435
|
case "x": return `translate3d(${t}, 0, 0)`;
|
|
1436
1436
|
case "y": return `translate3d(0, ${t}, 0)`;
|
|
@@ -1444,16 +1444,16 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1444
1444
|
case "rotateY": return `rotateY(${t})`;
|
|
1445
1445
|
default: return "";
|
|
1446
1446
|
}
|
|
1447
|
-
},
|
|
1447
|
+
}, Ke = (e) => {
|
|
1448
1448
|
let t = /* @__PURE__ */ new Map(), n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
1449
|
-
if (!
|
|
1449
|
+
if (!Fe(e)) return;
|
|
1450
1450
|
let n = [];
|
|
1451
1451
|
for (let r of Object.keys(e)) {
|
|
1452
|
-
let i = e[r], a =
|
|
1453
|
-
if (a !== "") if (
|
|
1452
|
+
let i = e[r], a = Re(r, i);
|
|
1453
|
+
if (a !== "") if (Be.has(r)) n.push(`${r}:${a}`);
|
|
1454
1454
|
else {
|
|
1455
|
-
let e = t.get(
|
|
1456
|
-
e.add(a), t.set(
|
|
1455
|
+
let e = t.get(ze(r)) ?? /* @__PURE__ */ new Set();
|
|
1456
|
+
e.add(a), t.set(ze(r), e);
|
|
1457
1457
|
}
|
|
1458
1458
|
}
|
|
1459
1459
|
r.add(n.sort().join("|"));
|
|
@@ -1463,13 +1463,13 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1463
1463
|
n = r.size > 1;
|
|
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
|
-
},
|
|
1467
|
-
if (!
|
|
1466
|
+
}, z = (e) => {
|
|
1467
|
+
if (!Fe(e)) return [];
|
|
1468
1468
|
let t = [], n = !0, r = [];
|
|
1469
1469
|
for (let i of Object.keys(e)) {
|
|
1470
|
-
let a = e[i], o =
|
|
1471
|
-
o !== "" && (
|
|
1472
|
-
property:
|
|
1470
|
+
let a = e[i], o = Re(i, a);
|
|
1471
|
+
o !== "" && (Be.has(i) ? (t.push(Ge(i, o)), We(i, a) || (n = !1)) : r.push({
|
|
1472
|
+
property: ze(i),
|
|
1473
1473
|
value: o
|
|
1474
1474
|
}));
|
|
1475
1475
|
}
|
|
@@ -1477,7 +1477,7 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1477
1477
|
property: "transform",
|
|
1478
1478
|
value: n ? "none" : t.join(" ")
|
|
1479
1479
|
}), r;
|
|
1480
|
-
},
|
|
1480
|
+
}, B = (e) => e.map((e) => ` ${e.property}: ${e.value};`).join("\n"), V = (e) => Array.isArray(e) ? e.length === 4 && e.every((e) => typeof e == "number") ? `cubic-bezier(${e.join(", ")})` : "linear" : typeof e == "string" ? {
|
|
1481
1481
|
linear: "linear",
|
|
1482
1482
|
easeIn: "ease-in",
|
|
1483
1483
|
easeOut: "ease-out",
|
|
@@ -1487,29 +1487,29 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1487
1487
|
backIn: "cubic-bezier(0.31, 0.01, 0.66, -0.59)",
|
|
1488
1488
|
backOut: "cubic-bezier(0.33, 1.53, 0.69, 0.99)",
|
|
1489
1489
|
anticipate: "cubic-bezier(0.36, 0, 0.66, -0.56)"
|
|
1490
|
-
}[e] ?? "ease" : "ease",
|
|
1490
|
+
}[e] ?? "ease" : "ease", qe = (e, t) => {
|
|
1491
1491
|
let [n, r] = t.split("-");
|
|
1492
1492
|
return `[data-flemo-screen][data-flemo-transition="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
|
|
1493
|
-
},
|
|
1493
|
+
}, Je = (e, t) => {
|
|
1494
1494
|
let [n, r] = t.split("-");
|
|
1495
1495
|
return `[data-flemo-decorator][data-flemo-decorator-name="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
|
|
1496
|
-
},
|
|
1496
|
+
}, Ye = (e, t) => {
|
|
1497
1497
|
let [n, r] = t.split("-");
|
|
1498
1498
|
return `[data-flemo-bar][data-flemo-bar-transition="${e}"][data-flemo-bar-status="${n}"][data-flemo-bar-active="${r}"][data-flemo-bar-riding="true"]`;
|
|
1499
|
-
},
|
|
1499
|
+
}, Xe = (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
|
-
},
|
|
1503
|
-
let o =
|
|
1502
|
+
}, Ze = (e, t, n) => `flemo-${e}-${Pe(t)}-${n}`, Qe = (e, t, n, r, i, a) => {
|
|
1503
|
+
let o = z(r), s = z(i.value), c = L(i.options), l = je(i.options), u = V(i.options?.ease), d = a(t, n), f = e === "screen" ? `${d},\n${Ye(t, n)}` : d;
|
|
1504
1504
|
if (s.length === 0 && o.length === 0) return "";
|
|
1505
|
-
if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${
|
|
1506
|
-
let p =
|
|
1505
|
+
if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${B(s)}\n animation: none;\n}`;
|
|
1506
|
+
let p = Ze(e, t, n), m = [
|
|
1507
1507
|
`@keyframes ${p} {`,
|
|
1508
1508
|
" from {",
|
|
1509
|
-
|
|
1509
|
+
B(o).replace(/^/gm, " "),
|
|
1510
1510
|
" }",
|
|
1511
1511
|
" to {",
|
|
1512
|
-
|
|
1512
|
+
B(s).replace(/^/gm, " "),
|
|
1513
1513
|
" }",
|
|
1514
1514
|
"}"
|
|
1515
1515
|
].join("\n"), h = [
|
|
@@ -1519,15 +1519,15 @@ 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") &&
|
|
1523
|
-
},
|
|
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") && $e(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park"] {\n animation: none;\n${B(s)}\n}` : ""}${e === "screen" && n.endsWith("-true") && (n.startsWith("PUSHING") || n.startsWith("REPLACING")) && $e(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park-under"] {\n animation: none;\n${B(s)}\n}` : ""}`;
|
|
1523
|
+
}, $e = (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
|
-
},
|
|
1529
|
-
let i =
|
|
1530
|
-
return i.length === 0 ? "" : `${e(t, n)} {\n${
|
|
1528
|
+
}, H = (e, t, n, r) => {
|
|
1529
|
+
let i = z(r.value);
|
|
1530
|
+
return i.length === 0 ? "" : `${e(t, n)} {\n${B(i)}\n}`;
|
|
1531
1531
|
}, et = (e, t, n = []) => {
|
|
1532
1532
|
let r = [];
|
|
1533
1533
|
for (let t of e) {
|
|
@@ -1535,35 +1535,35 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1535
1535
|
for (let n of Ae) {
|
|
1536
1536
|
let i = t.variants[n], a = I[n];
|
|
1537
1537
|
if (a === "self") {
|
|
1538
|
-
r.push(
|
|
1538
|
+
r.push(H(qe, e, n, i));
|
|
1539
1539
|
continue;
|
|
1540
1540
|
}
|
|
1541
1541
|
let o = a === "initial" ? t.initial : t.variants[a].value;
|
|
1542
|
-
r.push(
|
|
1542
|
+
r.push(Qe("screen", e, n, o, i, qe));
|
|
1543
1543
|
}
|
|
1544
1544
|
}
|
|
1545
1545
|
for (let e of t) {
|
|
1546
1546
|
let t = e.name;
|
|
1547
|
-
for (let n of
|
|
1547
|
+
for (let n of Ne) {
|
|
1548
1548
|
let i = e.variants[n], a = I[n];
|
|
1549
1549
|
if (a === "self") {
|
|
1550
|
-
r.push(
|
|
1550
|
+
r.push(H(Je, t, n, i));
|
|
1551
1551
|
continue;
|
|
1552
1552
|
}
|
|
1553
1553
|
let o = a === "initial" ? e.initial : e.variants[a].value;
|
|
1554
|
-
r.push(
|
|
1554
|
+
r.push(Qe("decorator", t, n, o, i, Je));
|
|
1555
1555
|
}
|
|
1556
1556
|
}
|
|
1557
1557
|
for (let e of n) {
|
|
1558
1558
|
let t = e.name;
|
|
1559
|
-
for (let n of
|
|
1559
|
+
for (let n of Ne) {
|
|
1560
1560
|
let i = e.variants[n], a = I[n];
|
|
1561
1561
|
if (a === "self") {
|
|
1562
|
-
r.push(
|
|
1562
|
+
r.push(H(Xe, t, n, i));
|
|
1563
1563
|
continue;
|
|
1564
1564
|
}
|
|
1565
1565
|
let o = a === "initial" ? e.initial : e.variants[a].value;
|
|
1566
|
-
r.push(
|
|
1566
|
+
r.push(Qe("part", t, n, o, i, Xe));
|
|
1567
1567
|
}
|
|
1568
1568
|
}
|
|
1569
1569
|
return [...r.filter((e) => e.length > 0), tt].join("\n\n");
|
|
@@ -1579,14 +1579,14 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1579
1579
|
].join("\n"), nt = (e, t) => {
|
|
1580
1580
|
let n = I[t];
|
|
1581
1581
|
if (n === "self") return !1;
|
|
1582
|
-
let r = e.variants[t], i = L(r.options), a =
|
|
1582
|
+
let r = e.variants[t], i = L(r.options), a = je(r.options);
|
|
1583
1583
|
if (i <= 0 && a <= 0) return !1;
|
|
1584
|
-
let o =
|
|
1584
|
+
let o = z(n === "initial" ? e.initial : e.variants[n].value), s = z(r.value);
|
|
1585
1585
|
return o.length > 0 || s.length > 0;
|
|
1586
1586
|
}, rt = "data-flemo";
|
|
1587
1587
|
function it() {
|
|
1588
1588
|
if (d()) return;
|
|
1589
|
-
let e = et(
|
|
1589
|
+
let e = et(j.values(), P.values(), F.values()), t = document.head.querySelector(`style[${rt}]`);
|
|
1590
1590
|
t || (t = document.createElement("style"), t.setAttribute(rt, ""), document.head.appendChild(t)), t.textContent !== e && (t.textContent = e);
|
|
1591
1591
|
}
|
|
1592
1592
|
//#endregion
|
|
@@ -1598,11 +1598,11 @@ var at = /* @__PURE__ */ new Map(), ot = /* @__PURE__ */ new Map(), st = /* @__P
|
|
|
1598
1598
|
return n <= 0 ? (e.delete(t), !0) : (e.set(t, n), !1);
|
|
1599
1599
|
};
|
|
1600
1600
|
function ut(e, t, n = []) {
|
|
1601
|
-
for (let t of e)
|
|
1601
|
+
for (let t of e) j.set(t.name, t), ct(at, t.name);
|
|
1602
1602
|
for (let e of t) P.set(e.name, e), ct(ot, e.name);
|
|
1603
1603
|
for (let e of n) F.set(e.name, e), ct(st, e.name);
|
|
1604
1604
|
return it(), () => {
|
|
1605
|
-
for (let t of e) lt(at, t.name) &&
|
|
1605
|
+
for (let t of e) lt(at, t.name) && j.delete(t.name);
|
|
1606
1606
|
for (let e of t) lt(ot, e.name) && P.delete(e.name);
|
|
1607
1607
|
for (let e of n) lt(st, e.name) && F.delete(e.name);
|
|
1608
1608
|
it();
|
|
@@ -1752,9 +1752,9 @@ var ft = () => ({
|
|
|
1752
1752
|
e.style.removeProperty("transform"), e.style.removeProperty("opacity");
|
|
1753
1753
|
}, q = (e, t, n = {}) => {
|
|
1754
1754
|
if (!wt(e)) return Promise.resolve();
|
|
1755
|
-
let r = e, i =
|
|
1755
|
+
let r = e, i = z(t);
|
|
1756
1756
|
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 =
|
|
1757
|
+
let a = typeof n.duration == "number" ? n.duration : 0, o = typeof n.delay == "number" && n.delay > 0 ? n.delay : 0, s = V(n.ease);
|
|
1758
1758
|
if (a <= 0 && o <= 0) {
|
|
1759
1759
|
mt.takeover(r), r.style.transition = "none";
|
|
1760
1760
|
for (let e of i) r.style.setProperty(e.property, e.value), G(r, e.property);
|
|
@@ -1981,7 +1981,7 @@ var ft = () => ({
|
|
|
1981
1981
|
return !o && s.length === 0 ? "" : c ? "none" : [...o ? [`translate3d(${i}px, ${a}px, 0)`] : [], ...s].join(" ");
|
|
1982
1982
|
}, Vt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), Ht = (e) => {
|
|
1983
1983
|
let t = {};
|
|
1984
|
-
for (let n of
|
|
1984
|
+
for (let n of z(e)) t[Vt(n.property)] = n.value;
|
|
1985
1985
|
return t;
|
|
1986
1986
|
}, Ut = (e, t) => {
|
|
1987
1987
|
if (typeof e.animate != "function") return null;
|
|
@@ -1989,7 +1989,7 @@ var ft = () => ({
|
|
|
1989
1989
|
let n = e.animate([Ht(t.from), Ht(t.to)], {
|
|
1990
1990
|
duration: Math.max(0, t.duration * 1e3),
|
|
1991
1991
|
delay: Math.max(0, t.delay * 1e3),
|
|
1992
|
-
easing:
|
|
1992
|
+
easing: V(t.ease),
|
|
1993
1993
|
fill: "both"
|
|
1994
1994
|
});
|
|
1995
1995
|
return n.pause(), n.currentTime = 0, n;
|
|
@@ -2115,7 +2115,7 @@ function Jt(e) {
|
|
|
2115
2115
|
if (!s || o.pendingTaskIds.some((e) => e !== s) || !U.playerAllowed()) return null;
|
|
2116
2116
|
let { scope: c, decorator: l, bars: u } = n();
|
|
2117
2117
|
if (!c) return null;
|
|
2118
|
-
let d =
|
|
2118
|
+
let d = M(r), f = R(d, t);
|
|
2119
2119
|
if (!f) return null;
|
|
2120
2120
|
let p = [], m = Y.join(s, {
|
|
2121
2121
|
element: c,
|
|
@@ -2135,7 +2135,7 @@ function Jt(e) {
|
|
|
2135
2135
|
t && p.push(t);
|
|
2136
2136
|
}
|
|
2137
2137
|
if (l && d.decoratorName) {
|
|
2138
|
-
let e = P.get(d.decoratorName), n = e ?
|
|
2138
|
+
let e = P.get(d.decoratorName), n = e ? R(e, t) : null;
|
|
2139
2139
|
if (n) {
|
|
2140
2140
|
let e = Y.join(s, {
|
|
2141
2141
|
element: l,
|
|
@@ -2146,7 +2146,7 @@ function Jt(e) {
|
|
|
2146
2146
|
}
|
|
2147
2147
|
}
|
|
2148
2148
|
for (let e of qt(c, t)) {
|
|
2149
|
-
let n = F.get(e.getAttribute(Gt)), r = n ?
|
|
2149
|
+
let n = F.get(e.getAttribute(Gt)), r = n ? R(n, t) : null;
|
|
2150
2150
|
if (!r) continue;
|
|
2151
2151
|
let i = Y.join(s, {
|
|
2152
2152
|
element: e,
|
|
@@ -2191,9 +2191,9 @@ function Jt(e) {
|
|
|
2191
2191
|
let f = () => {
|
|
2192
2192
|
let t = e.getTransitionTaskId();
|
|
2193
2193
|
t && o.resolveTask(t);
|
|
2194
|
-
}, p =
|
|
2194
|
+
}, p = M(r), m = `${a}-true`, h = d.getAttribute(X) === "true";
|
|
2195
2195
|
if (!(!h && nt(p, m))) return queueMicrotask(f), Z;
|
|
2196
|
-
let g =
|
|
2196
|
+
let g = R(p, m), _ = !h && !!g, v = Ze("screen", r, m), y = (e) => {
|
|
2197
2197
|
e.target === d && e.animationName === v && (d.removeEventListener("animationend", y), f());
|
|
2198
2198
|
};
|
|
2199
2199
|
d.addEventListener("animationend", y);
|
|
@@ -2310,7 +2310,7 @@ function Qt(e) {
|
|
|
2310
2310
|
current: i,
|
|
2311
2311
|
prev: s
|
|
2312
2312
|
};
|
|
2313
|
-
let c =
|
|
2313
|
+
let c = Ke(e.getTransition()).join(", ");
|
|
2314
2314
|
for (let e of i) e.style.willChange = c;
|
|
2315
2315
|
for (let e of s) e.style.willChange = c;
|
|
2316
2316
|
}, b = () => {
|
|
@@ -2504,14 +2504,56 @@ function on(e, t = {}) {
|
|
|
2504
2504
|
i.push(requestAnimationFrame(() => o(e - 1)));
|
|
2505
2505
|
}, s = requestAnimationFrame(() => {
|
|
2506
2506
|
r = requestAnimationFrame(() => o(t.extraFrames ?? 0));
|
|
2507
|
-
})
|
|
2507
|
+
});
|
|
2508
2508
|
return () => {
|
|
2509
|
-
n = !0, cancelAnimationFrame(s), r && cancelAnimationFrame(r), i.forEach((e) => cancelAnimationFrame(e))
|
|
2509
|
+
n = !0, cancelAnimationFrame(s), r && cancelAnimationFrame(r), i.forEach((e) => cancelAnimationFrame(e));
|
|
2510
2510
|
};
|
|
2511
2511
|
}
|
|
2512
|
+
function sn(e, t = {}) {
|
|
2513
|
+
let n = on(e, t), r = setTimeout(e, 300);
|
|
2514
|
+
return () => {
|
|
2515
|
+
n(), clearTimeout(r);
|
|
2516
|
+
};
|
|
2517
|
+
}
|
|
2518
|
+
var cn = "POPPING";
|
|
2519
|
+
function ln() {
|
|
2520
|
+
let e = /* @__PURE__ */ new Map(), t = (t, n) => {
|
|
2521
|
+
clearTimeout(n.backstop), e.delete(t);
|
|
2522
|
+
let r = [...n.members];
|
|
2523
|
+
n.members.clear();
|
|
2524
|
+
for (let e of r) e.cancelReadiness(), e.release();
|
|
2525
|
+
}, n = (e) => [...e.members].every((e) => e.ready);
|
|
2526
|
+
return { join: (r, i, a) => {
|
|
2527
|
+
if (!r.startsWith(cn)) return sn(i, a);
|
|
2528
|
+
let o = e.get(r);
|
|
2529
|
+
if (!o) {
|
|
2530
|
+
let n = {
|
|
2531
|
+
members: /* @__PURE__ */ new Set(),
|
|
2532
|
+
backstop: setTimeout(() => t(r, n), 300)
|
|
2533
|
+
};
|
|
2534
|
+
e.set(r, n), o = n;
|
|
2535
|
+
}
|
|
2536
|
+
let s = o, c = {
|
|
2537
|
+
release: i,
|
|
2538
|
+
ready: !1,
|
|
2539
|
+
cancelReadiness: on(() => {
|
|
2540
|
+
c.ready = !0, n(s) && t(r, s);
|
|
2541
|
+
}, a)
|
|
2542
|
+
};
|
|
2543
|
+
return s.members.add(c), () => {
|
|
2544
|
+
if (s.members.has(c)) {
|
|
2545
|
+
if (c.cancelReadiness(), s.members.delete(c), s.members.size === 0) {
|
|
2546
|
+
clearTimeout(s.backstop), e.delete(r);
|
|
2547
|
+
return;
|
|
2548
|
+
}
|
|
2549
|
+
n(s) && t(r, s);
|
|
2550
|
+
}
|
|
2551
|
+
};
|
|
2552
|
+
} };
|
|
2553
|
+
}
|
|
2512
2554
|
//#endregion
|
|
2513
2555
|
//#region src/screen/observeBarHeight.ts
|
|
2514
|
-
function
|
|
2556
|
+
function un(e, t) {
|
|
2515
2557
|
e.offsetHeight > 0 && t(e.offsetHeight);
|
|
2516
2558
|
let n = new ResizeObserver(([e]) => {
|
|
2517
2559
|
e.contentRect.height > 0 && t(e.contentRect.height);
|
|
@@ -2522,14 +2564,14 @@ function sn(e, t) {
|
|
|
2522
2564
|
}
|
|
2523
2565
|
//#endregion
|
|
2524
2566
|
//#region src/screen/observeViewportScrollHeight.ts
|
|
2525
|
-
var
|
|
2526
|
-
function
|
|
2567
|
+
var dn = 0;
|
|
2568
|
+
function fn(e) {
|
|
2527
2569
|
let t = 0, n = () => {
|
|
2528
2570
|
cancelAnimationFrame(t), t = requestAnimationFrame(() => {
|
|
2529
2571
|
let t = document.documentElement.scrollHeight - (window.visualViewport?.height || 0);
|
|
2530
2572
|
t = t < 0 ? 0 : t;
|
|
2531
|
-
let n = t -
|
|
2532
|
-
n = n < 0 ? 0 : n,
|
|
2573
|
+
let n = t - dn;
|
|
2574
|
+
n = n < 0 ? 0 : n, dn ||= t, e(t, n);
|
|
2533
2575
|
});
|
|
2534
2576
|
};
|
|
2535
2577
|
return window.visualViewport?.addEventListener("resize", n), window.visualViewport?.addEventListener("scroll", n), () => {
|
|
@@ -2538,7 +2580,7 @@ function ln(e) {
|
|
|
2538
2580
|
}
|
|
2539
2581
|
//#endregion
|
|
2540
2582
|
//#region src/utils/isOpaqueColor.ts
|
|
2541
|
-
function
|
|
2583
|
+
function pn(e) {
|
|
2542
2584
|
let t = e.trim().toLowerCase();
|
|
2543
2585
|
if (t === "transparent" || t === "") return !1;
|
|
2544
2586
|
if (t.match(/^rgb\(\s*\d+[\s,]+\d+[\s,]+\d+\s*\)$/)) return !0;
|
|
@@ -2549,7 +2591,7 @@ function un(e) {
|
|
|
2549
2591
|
}
|
|
2550
2592
|
//#endregion
|
|
2551
2593
|
//#region src/utils/buildRoutePath.ts
|
|
2552
|
-
function
|
|
2594
|
+
function mn(e, n) {
|
|
2553
2595
|
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();
|
|
2554
2596
|
return {
|
|
2555
2597
|
pathname: `${a}${c ? `?${c}` : ""}`,
|
|
@@ -2557,4 +2599,4 @@ function dn(e, n) {
|
|
|
2557
2599
|
};
|
|
2558
2600
|
}
|
|
2559
2601
|
//#endregion
|
|
2560
|
-
export { tn as ANIM_HOLD_RELEASE_BACKSTOP_MS, X as SKIP_ANIMATION_ATTR, o as TaskManger, en as animHoldKey, q as animateInline,
|
|
2602
|
+
export { tn as ANIM_HOLD_RELEASE_BACKSTOP_MS, X as SKIP_ANIMATION_ATTR, o as TaskManger, en as animHoldKey, q as animateInline, Ze as animationName, se as appendParamsQuery, it as applyTransitionStyles, mn as buildRoutePath, $ as canProgrammaticallyScroll, K as clearInlineAnimation, Ke as collectAnimatedProperties, et as compileTransitionStyles, $t as computeBarRiding, _e as computeScreenFreeze, y as consumeSelfInducedPop, ln as createAnimHoldCoordinator, h as createBrowserHistoryDriver, Te as createDecorator, s as createHistoryStore, b as createHistorySync, ne as createMemoryHistoryDriver, re as createNavigateStore, ae as createNavigationController, Oe as createPartTransition, Ee as createRawDecorator, ke as createRawPartTransition, ve as createRawTransition, he as createRouterScope, ge as createScreenSelector, fe as createScreenStore, g as createSelfPopGuard, ce as createStepController, Qt as createSwipeController, A as createTransition, Jt as createTransitionEngine, ue as createTransitionStore, be as cupertino, P as decoratorMap, an as eagerlyDecodeImages, V as easingToCss, ee as ensureScopeHistorySync, f as ensureWindowHistoryState, dt as enteringInitialStyle, Yt as findScrollable, c as getMatchedPathPattern, l as getParams, pn as isOpaqueColor, d as isServer, Se as layout, v as markSelfInducedPop, de as matchesPathname, Ce as material, we as none, un as observeBarHeight, fn as observeViewportScrollHeight, Q as overflowsAxis, De as overlay, F as partTransitionMap, oe as readStepParams, ut as registerTransitionDefinitions, te as releaseScopeHistorySync, M as resolveTransition, sn as scheduleAnimHoldRelease, u as seedInitialHistory, p as seedRouterEntry, le as subscribeStepParamsRestore, z as targetToDecls, j as transitionMap, nt as variantHasAnimation };
|
|
@@ -13,4 +13,9 @@ export interface AnimHoldReleaseOptions {
|
|
|
13
13
|
extraFrames?: number;
|
|
14
14
|
scope?: HTMLElement | null;
|
|
15
15
|
}
|
|
16
|
+
export declare function scheduleAnimHoldReadiness(onReady: () => void, options?: AnimHoldReleaseOptions): () => void;
|
|
16
17
|
export declare function scheduleAnimHoldRelease(release: () => void, options?: AnimHoldReleaseOptions): () => void;
|
|
18
|
+
export interface AnimHoldCoordinator {
|
|
19
|
+
join(key: string, release: () => void, options?: AnimHoldReleaseOptions): () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function createAnimHoldCoordinator(): AnimHoldCoordinator;
|
package/package.json
CHANGED