@flemo/core 1.13.0 → 1.14.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 +125 -94
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1408,7 +1408,7 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1408
1408
|
}, R = (e) => e && typeof e.delay == "number" && e.delay > 0 ? e.delay : 0, je = (e, t) => {
|
|
1409
1409
|
let n = I[t];
|
|
1410
1410
|
return n === "self" ? null : n === "initial" ? e.initial : e.variants[n].value;
|
|
1411
|
-
},
|
|
1411
|
+
}, Me = (e, t) => {
|
|
1412
1412
|
let n = je(e, t);
|
|
1413
1413
|
if (n === null) return null;
|
|
1414
1414
|
let r = e.variants[t], i = L(r.options), a = R(r.options);
|
|
@@ -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}`, H = (e, t, n, r, i, a) => {
|
|
1503
|
+
let o = z(r), s = z(i.value), c = L(i.options), l = R(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") && Qe(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park"] {\n animation: none;\n${
|
|
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${B(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${B(s)}\n}` : ""}`;
|
|
1523
1523
|
}, Qe = (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
1528
|
}, $e = (e, t, n, r) => {
|
|
1529
|
-
let i =
|
|
1530
|
-
return i.length === 0 ? "" : `${e(t, n)} {\n${
|
|
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($e(
|
|
1538
|
+
r.push($e(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(H("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($e(
|
|
1550
|
+
r.push($e(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(H("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($e(
|
|
1562
|
+
r.push($e(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(H("part", t, n, o, i, Xe));
|
|
1567
1567
|
}
|
|
1568
1568
|
}
|
|
1569
1569
|
return [...r.filter((e) => e.length > 0), tt].join("\n\n");
|
|
@@ -1581,7 +1581,7 @@ var F = /* @__PURE__ */ new Map(), I = {
|
|
|
1581
1581
|
if (n === "self") return !1;
|
|
1582
1582
|
let r = e.variants[t], i = L(r.options), a = R(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() {
|
|
@@ -1636,9 +1636,9 @@ var ft = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, U = /* @__
|
|
|
1636
1636
|
e.style.removeProperty("transform"), e.style.removeProperty("opacity");
|
|
1637
1637
|
}, K = (e, t, n = {}) => {
|
|
1638
1638
|
if (!ft(e)) return Promise.resolve();
|
|
1639
|
-
let r = e, i =
|
|
1639
|
+
let r = e, i = z(t);
|
|
1640
1640
|
if (i.length === 0) return Promise.resolve();
|
|
1641
|
-
let a = typeof n.duration == "number" ? n.duration : 0, o = typeof n.delay == "number" && n.delay > 0 ? n.delay : 0, s =
|
|
1641
|
+
let a = typeof n.duration == "number" ? n.duration : 0, o = typeof n.delay == "number" && n.delay > 0 ? n.delay : 0, s = V(n.ease);
|
|
1642
1642
|
if (a <= 0 && o <= 0) {
|
|
1643
1643
|
r.style.transition = "none";
|
|
1644
1644
|
for (let e of i) r.style.setProperty(e.property, e.value), W(r, e.property);
|
|
@@ -1824,7 +1824,7 @@ var ft = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, U = /* @__
|
|
|
1824
1824
|
};
|
|
1825
1825
|
}, J = /-?\d*\.?\d+/g, kt = (e, t) => {
|
|
1826
1826
|
let n = e.match(J) ?? [], r = t.match(J) ?? [];
|
|
1827
|
-
if (n.length !== r.length || e.replace(J, "
|
|
1827
|
+
if (n.length !== r.length || e.replace(J, " ") !== t.replace(J, " ")) return null;
|
|
1828
1828
|
let i = n.map(Number), a = r.map(Number);
|
|
1829
1829
|
return (t) => {
|
|
1830
1830
|
let n = 0;
|
|
@@ -1833,7 +1833,7 @@ var ft = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, U = /* @__
|
|
|
1833
1833
|
return `${Math.round(r * 1e3) / 1e3}`;
|
|
1834
1834
|
});
|
|
1835
1835
|
};
|
|
1836
|
-
}, At = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), jt = (e) => typeof e == "object" && !!e && !Array.isArray(e), Mt = (e) => jt(e) ? Object.keys(e) : [], Nt = (e, t) => jt(e) ? e[t] : void 0, Pt = (e
|
|
1836
|
+
}, At = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), jt = (e) => typeof e == "object" && !!e && !Array.isArray(e), Mt = (e) => jt(e) ? Object.keys(e) : [], Nt = (e, t) => jt(e) ? e[t] : void 0, Pt = (e, t) => {
|
|
1837
1837
|
let n = new Set([...Mt(e.from), ...Mt(e.to)]), r = [], i = null, a = [], o = [];
|
|
1838
1838
|
for (let s of n) {
|
|
1839
1839
|
let n = Nt(e.from, s), c = Nt(e.to, s);
|
|
@@ -1890,14 +1890,14 @@ var ft = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, U = /* @__
|
|
|
1890
1890
|
strings: a,
|
|
1891
1891
|
constants: o
|
|
1892
1892
|
};
|
|
1893
|
-
},
|
|
1893
|
+
}, Ft = 1, It = (e, t, n, r) => {
|
|
1894
1894
|
let i = 0, a = 0, o = !1, s = [], c = !0;
|
|
1895
1895
|
for (let l of Tt) {
|
|
1896
1896
|
let u = e.find((e) => e.prop === l);
|
|
1897
1897
|
if (!u) continue;
|
|
1898
1898
|
let d = u.from.value + (u.to.value - u.from.value) * t;
|
|
1899
1899
|
if (u.from.unit === "%" && (d *= u.percentBase), l === "x" || l === "y") {
|
|
1900
|
-
let e = l === "x" ? r.x : r.y, t = (e === null || Math.abs(d - e) * n >=
|
|
1900
|
+
let e = l === "x" ? r.x : r.y, t = (e === null || Math.abs(d - e) * n >= Ft) && n > 0 ? Math.round(d * n) / n : Math.round(d * 1e3) / 1e3;
|
|
1901
1901
|
l === "x" ? (r.x = d, i = t) : (r.y = d, a = t), o = !0, t !== 0 && (c = !1);
|
|
1902
1902
|
continue;
|
|
1903
1903
|
}
|
|
@@ -1905,26 +1905,44 @@ var ft = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, U = /* @__
|
|
|
1905
1905
|
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)`);
|
|
1906
1906
|
}
|
|
1907
1907
|
return !o && s.length === 0 ? "" : c ? "none" : [...o ? [`translate3d(${i}px, ${a}px, 0)`] : [], ...s].join(" ");
|
|
1908
|
-
}, Rt = () =>
|
|
1908
|
+
}, Lt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), Rt = (e) => {
|
|
1909
|
+
let t = {};
|
|
1910
|
+
for (let n of z(e)) t[Lt(n.property)] = n.value;
|
|
1911
|
+
return t;
|
|
1912
|
+
}, zt = (e, t) => {
|
|
1913
|
+
if (typeof e.animate != "function") return null;
|
|
1914
|
+
try {
|
|
1915
|
+
let n = e.animate([Rt(t.from), Rt(t.to)], {
|
|
1916
|
+
duration: Math.max(0, t.duration * 1e3),
|
|
1917
|
+
delay: Math.max(0, t.delay * 1e3),
|
|
1918
|
+
easing: V(t.ease),
|
|
1919
|
+
fill: "both"
|
|
1920
|
+
});
|
|
1921
|
+
return n.pause(), n.currentTime = 0, n;
|
|
1922
|
+
} catch {
|
|
1923
|
+
return null;
|
|
1924
|
+
}
|
|
1925
|
+
}, Bt = () => ({
|
|
1909
1926
|
request: (e) => requestAnimationFrame(e),
|
|
1910
1927
|
cancel: (e) => cancelAnimationFrame(e),
|
|
1911
1928
|
devicePixelRatio: () => typeof window < "u" && window.devicePixelRatio || 1
|
|
1912
|
-
}), Y = ((e =
|
|
1929
|
+
}), Y = ((e = Bt()) => {
|
|
1913
1930
|
let t = /* @__PURE__ */ new Map(), n = {
|
|
1914
1931
|
join: (n, r) => {
|
|
1915
|
-
let i =
|
|
1916
|
-
if (!i) return null;
|
|
1917
|
-
let
|
|
1918
|
-
|
|
1932
|
+
let i = Pt(r.motion, r.element), s = i ? null : zt(r.element, r.motion);
|
|
1933
|
+
if (!i && !s) return null;
|
|
1934
|
+
let c = t.get(n);
|
|
1935
|
+
c || (c = {
|
|
1919
1936
|
tracks: [],
|
|
1920
1937
|
started: !1,
|
|
1921
1938
|
startTime: null,
|
|
1922
1939
|
lastTime: null,
|
|
1923
1940
|
frameHandle: null
|
|
1924
|
-
}, t.set(n,
|
|
1925
|
-
let
|
|
1941
|
+
}, t.set(n, c));
|
|
1942
|
+
let l = {
|
|
1926
1943
|
...r,
|
|
1927
1944
|
parsed: i,
|
|
1945
|
+
scrub: s,
|
|
1928
1946
|
completed: !1,
|
|
1929
1947
|
detached: !1,
|
|
1930
1948
|
snapMemory: {
|
|
@@ -1932,18 +1950,25 @@ var ft = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, U = /* @__
|
|
|
1932
1950
|
y: null
|
|
1933
1951
|
}
|
|
1934
1952
|
};
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1953
|
+
if (c.tracks.push(l), l.element.style.animation = "none", W(l.element, "animation"), i) {
|
|
1954
|
+
i.transforms.length > 0 && W(l.element, "transform"), i.opacity && W(l.element, "opacity");
|
|
1955
|
+
for (let e of i.strings) W(l.element, e.property);
|
|
1956
|
+
for (let e of i.constants) W(l.element, e.property);
|
|
1957
|
+
a(l, 0);
|
|
1958
|
+
}
|
|
1959
|
+
return r.role === "active" && !c.started && (c.started = !0, q.beginRun(), o(n, c)), () => {
|
|
1960
|
+
l.detached = !0, l.scrub?.cancel(), G(l.element);
|
|
1940
1961
|
let r = t.get(n);
|
|
1941
|
-
r && (r.tracks = r.tracks.filter((e) => e !==
|
|
1962
|
+
r && (r.tracks = r.tracks.filter((e) => e !== l), r.tracks.length === 0 && (r.frameHandle !== null && e.cancel(r.frameHandle), t.delete(n)));
|
|
1942
1963
|
};
|
|
1943
1964
|
},
|
|
1944
1965
|
dispose: (n) => {
|
|
1945
1966
|
let r = t.get(n);
|
|
1946
|
-
|
|
1967
|
+
if (r) {
|
|
1968
|
+
r.frameHandle !== null && e.cancel(r.frameHandle);
|
|
1969
|
+
for (let e of r.tracks) e.scrub?.cancel();
|
|
1970
|
+
t.delete(n);
|
|
1971
|
+
}
|
|
1947
1972
|
}
|
|
1948
1973
|
}, r = /* @__PURE__ */ new WeakMap(), i = (e) => {
|
|
1949
1974
|
let t = r.get(e);
|
|
@@ -1951,9 +1976,9 @@ var ft = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, U = /* @__
|
|
|
1951
1976
|
};
|
|
1952
1977
|
function a(t, n) {
|
|
1953
1978
|
let { element: r, parsed: i } = t;
|
|
1954
|
-
if (r.isConnected) {
|
|
1979
|
+
if (!(!i || !r.isConnected)) {
|
|
1955
1980
|
if (i.transforms.length > 0) {
|
|
1956
|
-
let a =
|
|
1981
|
+
let a = It(i.transforms, n, e.devicePixelRatio(), t.snapMemory);
|
|
1957
1982
|
a !== "" && (r.style.transform = a);
|
|
1958
1983
|
}
|
|
1959
1984
|
if (i.opacity) {
|
|
@@ -1974,8 +1999,14 @@ var ft = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, U = /* @__
|
|
|
1974
1999
|
let c = !0;
|
|
1975
2000
|
for (let e of r.tracks) {
|
|
1976
2001
|
if (e.completed || e.detached) continue;
|
|
1977
|
-
let t = e.motion.duration * 1e3, n = e.motion.delay * 1e3, o =
|
|
1978
|
-
|
|
2002
|
+
let t = e.motion.duration * 1e3, n = e.motion.delay * 1e3, o = s - r.startTime;
|
|
2003
|
+
if (e.scrub) {
|
|
2004
|
+
let r = n + t;
|
|
2005
|
+
e.scrub.currentTime = Math.min(Math.max(0, o), r), o >= r ? (e.completed = !0, e.onComplete?.()) : c = !1;
|
|
2006
|
+
continue;
|
|
2007
|
+
}
|
|
2008
|
+
let l = t <= 0 ? 1 : Math.min(1, Math.max(0, (o - n) / t));
|
|
2009
|
+
a(e, i(e)(l)), l >= 1 ? (e.completed = !0, e.onComplete?.()) : c = !1;
|
|
1979
2010
|
}
|
|
1980
2011
|
if (c) {
|
|
1981
2012
|
q.endRun(), t.delete(e);
|
|
@@ -1994,15 +2025,15 @@ Y.onFrameGap = (e) => {
|
|
|
1994
2025
|
//#endregion
|
|
1995
2026
|
//#region src/core/engine/types.ts
|
|
1996
2027
|
var X = "data-flemo-skip-animation", Z = () => {};
|
|
1997
|
-
function
|
|
2028
|
+
function Vt(e) {
|
|
1998
2029
|
return { driveScreenLifecycle: (t) => {
|
|
1999
2030
|
let { getElements: n, transitionName: r, prevTransitionName: i, status: a, isActive: s, animHoldReleased: c } = t, l = a === "PUSHING" || a === "POPPING" || a === "REPLACING", u = (t, i, a) => {
|
|
2000
2031
|
let s = e.getTransitionTaskId();
|
|
2001
2032
|
if (!s || o.pendingTaskIds.some((e) => e !== s) || !q.playerAllowed()) return null;
|
|
2002
2033
|
let { scope: c, decorator: l, bars: u } = n();
|
|
2003
2034
|
if (!c) return null;
|
|
2004
|
-
let d = M(r), f =
|
|
2005
|
-
if (!f
|
|
2035
|
+
let d = M(r), f = Me(d, t);
|
|
2036
|
+
if (!f) return null;
|
|
2006
2037
|
let p = [], m = Y.join(s, {
|
|
2007
2038
|
element: c,
|
|
2008
2039
|
motion: f,
|
|
@@ -2021,8 +2052,8 @@ function zt(e) {
|
|
|
2021
2052
|
t && p.push(t);
|
|
2022
2053
|
}
|
|
2023
2054
|
if (l && d.decoratorName) {
|
|
2024
|
-
let e = P.get(d.decoratorName), n = e ?
|
|
2025
|
-
if (n
|
|
2055
|
+
let e = P.get(d.decoratorName), n = e ? Me(e, t) : null;
|
|
2056
|
+
if (n) {
|
|
2026
2057
|
let e = Y.join(s, {
|
|
2027
2058
|
element: l,
|
|
2028
2059
|
motion: n,
|
|
@@ -2061,7 +2092,7 @@ function zt(e) {
|
|
|
2061
2092
|
t && o.resolveTask(t);
|
|
2062
2093
|
}, p = M(r), m = `${a}-true`, h = d.getAttribute(X) === "true";
|
|
2063
2094
|
if (!(!h && nt(p, m))) return queueMicrotask(f), Z;
|
|
2064
|
-
let g =
|
|
2095
|
+
let g = Me(p, m), _ = !h && !!g, v = Ze("screen", r, m), y = (e) => {
|
|
2065
2096
|
e.target === d && e.animationName === v && (d.removeEventListener("animationend", y), f());
|
|
2066
2097
|
};
|
|
2067
2098
|
d.addEventListener("animationend", y);
|
|
@@ -2073,8 +2104,8 @@ function zt(e) {
|
|
|
2073
2104
|
}
|
|
2074
2105
|
//#endregion
|
|
2075
2106
|
//#region src/utils/findScrollable.ts
|
|
2076
|
-
function
|
|
2077
|
-
let { direction: n = "x", markerSelector: r = "[data-swipe-at-edge]", depthLimit: i = 24, verifyByScroll: a = !1 } = t ?? {}, o =
|
|
2107
|
+
function Ht(e, t) {
|
|
2108
|
+
let { direction: n = "x", markerSelector: r = "[data-swipe-at-edge]", depthLimit: i = 24, verifyByScroll: a = !1 } = t ?? {}, o = Ut(e);
|
|
2078
2109
|
if (!o) return {
|
|
2079
2110
|
element: null,
|
|
2080
2111
|
hasMarker: !1
|
|
@@ -2097,7 +2128,7 @@ function Bt(e, t) {
|
|
|
2097
2128
|
hasMarker: !1
|
|
2098
2129
|
};
|
|
2099
2130
|
}
|
|
2100
|
-
function
|
|
2131
|
+
function Ut(e) {
|
|
2101
2132
|
if (!e) return null;
|
|
2102
2133
|
let t = e, n = typeof t.composedPath == "function" ? t.composedPath() : void 0;
|
|
2103
2134
|
if (n && n.length) {
|
|
@@ -2115,8 +2146,8 @@ function $(e, t) {
|
|
|
2115
2146
|
}
|
|
2116
2147
|
//#endregion
|
|
2117
2148
|
//#region src/core/engine/createSwipeController.ts
|
|
2118
|
-
var
|
|
2119
|
-
function
|
|
2149
|
+
var Wt = "data-flemo-skip-animation";
|
|
2150
|
+
function Gt(e) {
|
|
2120
2151
|
let t = null, n = null, r = {
|
|
2121
2152
|
current: [],
|
|
2122
2153
|
prev: []
|
|
@@ -2178,7 +2209,7 @@ function Ut(e) {
|
|
|
2178
2209
|
current: i,
|
|
2179
2210
|
prev: s
|
|
2180
2211
|
};
|
|
2181
|
-
let c =
|
|
2212
|
+
let c = Ke(e.getTransition()).join(", ");
|
|
2182
2213
|
for (let e of i) e.style.willChange = c;
|
|
2183
2214
|
for (let e of s) e.style.willChange = c;
|
|
2184
2215
|
}, b = () => {
|
|
@@ -2279,7 +2310,7 @@ function Ut(e) {
|
|
|
2279
2310
|
}), S("end", e, 0);
|
|
2280
2311
|
}
|
|
2281
2312
|
})) {
|
|
2282
|
-
c?.setAttribute(
|
|
2313
|
+
c?.setAttribute(Wt, "true"), l?.setAttribute(Wt, "true");
|
|
2283
2314
|
for (let e of r.current) e.style.removeProperty("will-change");
|
|
2284
2315
|
for (let e of r.prev) G(e), e.style.removeProperty("will-change");
|
|
2285
2316
|
r = {
|
|
@@ -2295,10 +2326,10 @@ function Ut(e) {
|
|
|
2295
2326
|
};
|
|
2296
2327
|
return {
|
|
2297
2328
|
pointerDown: (t) => {
|
|
2298
|
-
e.isReadyForDrag() && (f =
|
|
2329
|
+
e.isReadyForDrag() && (f = Ht(t.target, {
|
|
2299
2330
|
direction: "x",
|
|
2300
2331
|
verifyByScroll: !0
|
|
2301
|
-
}), p =
|
|
2332
|
+
}), p = Ht(t.target, {
|
|
2302
2333
|
direction: "y",
|
|
2303
2334
|
verifyByScroll: !0
|
|
2304
2335
|
}), m = t.clientX, h = t.clientY, (!f.element && !p.element || f.element || p.element) && (a = !0));
|
|
@@ -2327,7 +2358,7 @@ function Ut(e) {
|
|
|
2327
2358
|
}
|
|
2328
2359
|
//#endregion
|
|
2329
2360
|
//#region src/screen/computeBarRiding.ts
|
|
2330
|
-
function
|
|
2361
|
+
function Kt(e) {
|
|
2331
2362
|
return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? {
|
|
2332
2363
|
app: !1,
|
|
2333
2364
|
nav: !1
|
|
@@ -2338,24 +2369,24 @@ function Wt(e) {
|
|
|
2338
2369
|
}
|
|
2339
2370
|
//#endregion
|
|
2340
2371
|
//#region src/screen/animStartAnchor.ts
|
|
2341
|
-
function
|
|
2372
|
+
function qt(e) {
|
|
2342
2373
|
return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? null : `${e.status}:${e.transitionName}`;
|
|
2343
2374
|
}
|
|
2344
|
-
var
|
|
2345
|
-
function
|
|
2346
|
-
return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0,
|
|
2375
|
+
var Jt = 300, Yt = 20;
|
|
2376
|
+
function Xt(e) {
|
|
2377
|
+
return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0, Yt);
|
|
2347
2378
|
}
|
|
2348
|
-
function
|
|
2349
|
-
if (!(!e || typeof e.querySelectorAll != "function")) for (let t of
|
|
2379
|
+
function Zt(e) {
|
|
2380
|
+
if (!(!e || typeof e.querySelectorAll != "function")) for (let t of Xt(e)) t.decode().catch(() => {});
|
|
2350
2381
|
}
|
|
2351
|
-
function
|
|
2382
|
+
function Qt(e, t = {}) {
|
|
2352
2383
|
let n = !1, r = 0, i = [], a = () => {
|
|
2353
2384
|
let r = t.scope;
|
|
2354
2385
|
if (!r || typeof r.querySelectorAll != "function") {
|
|
2355
2386
|
e();
|
|
2356
2387
|
return;
|
|
2357
2388
|
}
|
|
2358
|
-
let i =
|
|
2389
|
+
let i = Xt(r);
|
|
2359
2390
|
if (i.length === 0) {
|
|
2360
2391
|
e();
|
|
2361
2392
|
return;
|
|
@@ -2381,7 +2412,7 @@ function Xt(e, t = {}) {
|
|
|
2381
2412
|
}
|
|
2382
2413
|
//#endregion
|
|
2383
2414
|
//#region src/screen/observeBarHeight.ts
|
|
2384
|
-
function
|
|
2415
|
+
function $t(e, t) {
|
|
2385
2416
|
e.offsetHeight > 0 && t(e.offsetHeight);
|
|
2386
2417
|
let n = new ResizeObserver(([e]) => {
|
|
2387
2418
|
e.contentRect.height > 0 && t(e.contentRect.height);
|
|
@@ -2392,14 +2423,14 @@ function Zt(e, t) {
|
|
|
2392
2423
|
}
|
|
2393
2424
|
//#endregion
|
|
2394
2425
|
//#region src/screen/observeViewportScrollHeight.ts
|
|
2395
|
-
var
|
|
2396
|
-
function
|
|
2426
|
+
var en = 0;
|
|
2427
|
+
function tn(e) {
|
|
2397
2428
|
let t = 0, n = () => {
|
|
2398
2429
|
cancelAnimationFrame(t), t = requestAnimationFrame(() => {
|
|
2399
2430
|
let t = document.documentElement.scrollHeight - (window.visualViewport?.height || 0);
|
|
2400
2431
|
t = t < 0 ? 0 : t;
|
|
2401
|
-
let n = t -
|
|
2402
|
-
n = n < 0 ? 0 : n,
|
|
2432
|
+
let n = t - en;
|
|
2433
|
+
n = n < 0 ? 0 : n, en ||= t, e(t, n);
|
|
2403
2434
|
});
|
|
2404
2435
|
};
|
|
2405
2436
|
return window.visualViewport?.addEventListener("resize", n), window.visualViewport?.addEventListener("scroll", n), () => {
|
|
@@ -2408,7 +2439,7 @@ function $t(e) {
|
|
|
2408
2439
|
}
|
|
2409
2440
|
//#endregion
|
|
2410
2441
|
//#region src/utils/isOpaqueColor.ts
|
|
2411
|
-
function
|
|
2442
|
+
function nn(e) {
|
|
2412
2443
|
let t = e.trim().toLowerCase();
|
|
2413
2444
|
if (t === "transparent" || t === "") return !1;
|
|
2414
2445
|
if (t.match(/^rgb\(\s*\d+[\s,]+\d+[\s,]+\d+\s*\)$/)) return !0;
|
|
@@ -2419,7 +2450,7 @@ function en(e) {
|
|
|
2419
2450
|
}
|
|
2420
2451
|
//#endregion
|
|
2421
2452
|
//#region src/utils/buildRoutePath.ts
|
|
2422
|
-
function
|
|
2453
|
+
function rn(e, n) {
|
|
2423
2454
|
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();
|
|
2424
2455
|
return {
|
|
2425
2456
|
pathname: `${a}${c ? `?${c}` : ""}`,
|
|
@@ -2427,4 +2458,4 @@ function tn(e, n) {
|
|
|
2427
2458
|
};
|
|
2428
2459
|
}
|
|
2429
2460
|
//#endregion
|
|
2430
|
-
export {
|
|
2461
|
+
export { Jt as ANIM_HOLD_RELEASE_BACKSTOP_MS, X as SKIP_ANIMATION_ATTR, o as TaskManger, qt as animHoldKey, K as animateInline, Ze as animationName, se as appendParamsQuery, it as applyTransitionStyles, rn as buildRoutePath, $ as canProgrammaticallyScroll, G as clearInlineAnimation, Ke as collectAnimatedProperties, et as compileTransitionStyles, Kt as computeBarRiding, _e as computeScreenFreeze, y as consumeSelfInducedPop, 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, Gt as createSwipeController, A as createTransition, Vt as createTransitionEngine, ue as createTransitionStore, be as cupertino, P as decoratorMap, Zt as eagerlyDecodeImages, V as easingToCss, ee as ensureScopeHistorySync, f as ensureWindowHistoryState, dt as enteringInitialStyle, Ht as findScrollable, c as getMatchedPathPattern, l as getParams, nn as isOpaqueColor, d as isServer, Se as layout, v as markSelfInducedPop, de as matchesPathname, Ce as material, we as none, $t as observeBarHeight, tn as observeViewportScrollHeight, Q as overflowsAxis, De as overlay, F as partTransitionMap, oe as readStepParams, ut as registerTransitionDefinitions, te as releaseScopeHistorySync, M as resolveTransition, Qt as scheduleAnimHoldRelease, u as seedInitialHistory, p as seedRouterEntry, le as subscribeStepParamsRestore, z as targetToDecls, j as transitionMap, nt as variantHasAnimation };
|
package/package.json
CHANGED