@flemo/core 1.19.0 → 1.20.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/core/TaskManger.d.ts +3 -0
- package/dist/core/engine/__tests__/arrivalHold.test.d.ts +1 -0
- package/dist/core/engine/__tests__/perceptualSpan.test.d.ts +1 -0
- package/dist/core/engine/arrivalHold.d.ts +2 -0
- package/dist/core/engine/perceptualSpan.d.ts +6 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.mjs +686 -438
- package/dist/screen/animStartAnchor.d.ts +0 -6
- package/package.json +3 -3
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createStore as e } from "zustand/vanilla";
|
|
2
2
|
import { compile as t, match as n, parse as r, pathToRegexp as i } from "path-to-regexp";
|
|
3
3
|
//#region src/core/TaskManger.ts
|
|
4
|
-
var a = 1200, o = new class {
|
|
4
|
+
var a = 1200, o = 2, s = new class {
|
|
5
5
|
tasks = /* @__PURE__ */ new Map();
|
|
6
6
|
instanceId = Date.now().toString();
|
|
7
7
|
isLocked = !1;
|
|
@@ -62,7 +62,7 @@ var a = 1200, o = new class {
|
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
async onTaskStatusChange(e, t) {
|
|
65
|
-
(t === "COMPLETED" || t === "FAILED" || t === "ROLLEDBACK") && (this.pendingTaskQueue = this.pendingTaskQueue.filter((t) => t.id !== e), await this.processPendingTasks(), this.notifyPendingWaiters());
|
|
65
|
+
(t === "COMPLETED" || t === "FAILED" || t === "ROLLEDBACK") && (this.gatePhases.delete(e), this.pendingTaskQueue = this.pendingTaskQueue.filter((t) => t.id !== e), await this.processPendingTasks(), this.notifyPendingWaiters());
|
|
66
66
|
}
|
|
67
67
|
async addTask(e, t = {}) {
|
|
68
68
|
let n = t.id || this.generateTaskId();
|
|
@@ -155,10 +155,34 @@ var a = 1200, o = new class {
|
|
|
155
155
|
}).catch(i);
|
|
156
156
|
});
|
|
157
157
|
}
|
|
158
|
+
gatePhases = /* @__PURE__ */ new Map();
|
|
159
|
+
markGateHeld(e) {
|
|
160
|
+
let t = this.gatePhases.get(e);
|
|
161
|
+
t?.phase !== "anchored" && this.gatePhases.set(e, {
|
|
162
|
+
phase: "held",
|
|
163
|
+
rearms: t?.rearms ?? 0
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
anchorGate(e) {
|
|
167
|
+
let t = this.gatePhases.get(e);
|
|
168
|
+
if (t?.phase === "anchored") return;
|
|
169
|
+
this.gatePhases.set(e, {
|
|
170
|
+
phase: "anchored",
|
|
171
|
+
rearms: t?.rearms ?? 0
|
|
172
|
+
});
|
|
173
|
+
let n = this.tasks.get(e);
|
|
174
|
+
!n || n.status !== "MANUAL_PENDING" && n.status !== "SIGNAL_PENDING" || (n.backstopTimer && (clearTimeout(n.backstopTimer), delete n.backstopTimer), this.armBackstop(n));
|
|
175
|
+
}
|
|
158
176
|
armBackstop(e) {
|
|
159
177
|
let t = e.control?.maxLifetimeMs;
|
|
160
178
|
!t || t <= 0 || typeof setTimeout > "u" || (e.backstopTimer = setTimeout(() => {
|
|
161
|
-
delete e.backstopTimer
|
|
179
|
+
delete e.backstopTimer;
|
|
180
|
+
let t = this.gatePhases.get(e.id);
|
|
181
|
+
if (t?.phase === "held" && t.rearms < o) {
|
|
182
|
+
t.rearms += 1, this.armBackstop(e);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
this.resolveTask(e.id);
|
|
162
186
|
}, t));
|
|
163
187
|
}
|
|
164
188
|
async resolveTask(e) {
|
|
@@ -166,7 +190,7 @@ var a = 1200, o = new class {
|
|
|
166
190
|
if (t?.backstopTimer && (clearTimeout(t.backstopTimer), delete t.backstopTimer), !t || t.status !== "MANUAL_PENDING" && t.status !== "SIGNAL_PENDING") return !1;
|
|
167
191
|
if (t.manualResolver) {
|
|
168
192
|
if (t.control?.condition && !await t.control.condition()) return !1;
|
|
169
|
-
t.status = "COMPLETED";
|
|
193
|
+
t.status = "COMPLETED", this.gatePhases.delete(e);
|
|
170
194
|
let n = t.manualResolver;
|
|
171
195
|
return n.resolve({
|
|
172
196
|
success: !0,
|
|
@@ -189,7 +213,7 @@ var a = 1200, o = new class {
|
|
|
189
213
|
}();
|
|
190
214
|
//#endregion
|
|
191
215
|
//#region src/history/store.ts
|
|
192
|
-
function
|
|
216
|
+
function c(t = [], n = -1) {
|
|
193
217
|
return e((e) => ({
|
|
194
218
|
index: n,
|
|
195
219
|
pendingIndex: n,
|
|
@@ -241,13 +265,13 @@ function s(t = [], n = -1) {
|
|
|
241
265
|
}
|
|
242
266
|
//#endregion
|
|
243
267
|
//#region src/utils/getMatchedPathPattern.ts
|
|
244
|
-
function
|
|
268
|
+
function l(e, t) {
|
|
245
269
|
return Array.isArray(e) ? e.find((e) => i(e).regexp.test(t)) ?? "" : i(e).regexp.test(t) ? e : "";
|
|
246
270
|
}
|
|
247
271
|
//#endregion
|
|
248
272
|
//#region src/utils/getParams.ts
|
|
249
|
-
function
|
|
250
|
-
let i = n(
|
|
273
|
+
function u(e, t, r) {
|
|
274
|
+
let i = n(l(e, t))(t), a = new URLSearchParams(r), o = Object.fromEntries(a.entries());
|
|
251
275
|
return i ? {
|
|
252
276
|
...i.params,
|
|
253
277
|
...o
|
|
@@ -255,24 +279,24 @@ function l(e, t, r) {
|
|
|
255
279
|
}
|
|
256
280
|
//#endregion
|
|
257
281
|
//#region src/history/seedInitialHistory.ts
|
|
258
|
-
function
|
|
282
|
+
function d(e, t, n, r) {
|
|
259
283
|
return {
|
|
260
284
|
id: "root",
|
|
261
285
|
pathname: t,
|
|
262
|
-
params:
|
|
286
|
+
params: u(e, t, n),
|
|
263
287
|
transitionName: r,
|
|
264
288
|
layoutId: null
|
|
265
289
|
};
|
|
266
290
|
}
|
|
267
291
|
//#endregion
|
|
268
292
|
//#region src/utils/isServer.ts
|
|
269
|
-
function
|
|
293
|
+
function f() {
|
|
270
294
|
return typeof document > "u";
|
|
271
295
|
}
|
|
272
296
|
//#endregion
|
|
273
297
|
//#region src/history/ensureWindowHistoryState.ts
|
|
274
|
-
function
|
|
275
|
-
if (
|
|
298
|
+
function p(e, t, n = {}) {
|
|
299
|
+
if (f()) return;
|
|
276
300
|
let r = {
|
|
277
301
|
id: "root",
|
|
278
302
|
index: 0,
|
|
@@ -294,23 +318,23 @@ function f(e, t, n = {}) {
|
|
|
294
318
|
}
|
|
295
319
|
//#endregion
|
|
296
320
|
//#region src/history/seedRouterEntry.ts
|
|
297
|
-
function
|
|
321
|
+
function m(e) {
|
|
298
322
|
let { driver: t, routerKey: n, nested: r, seedPathname: i, defaultTransitionName: a, rootParams: o } = e;
|
|
299
|
-
if (
|
|
323
|
+
if (f()) return;
|
|
300
324
|
if (r) {
|
|
301
325
|
let e = t.readPathname().replace(/\/+$/, "") || "/";
|
|
302
326
|
if (!(e === i || e !== "/" && i.startsWith(`${e}/`))) return;
|
|
303
327
|
}
|
|
304
328
|
let s = r && n !== null ? t.readState() == null : !1;
|
|
305
|
-
|
|
329
|
+
p(n, a, o), r && n !== null && s && t.readPathname() !== i && t.replaceState(t.readState(), i);
|
|
306
330
|
}
|
|
307
331
|
//#endregion
|
|
308
332
|
//#region src/history/historyDriver.ts
|
|
309
|
-
var
|
|
333
|
+
var h = (e, t) => ({
|
|
310
334
|
...window.history.state ?? {},
|
|
311
335
|
[e]: t
|
|
312
336
|
});
|
|
313
|
-
function
|
|
337
|
+
function g(e) {
|
|
314
338
|
return e === void 0 ? {
|
|
315
339
|
readState: () => window.history.state,
|
|
316
340
|
readPathname: () => window.location.pathname,
|
|
@@ -328,8 +352,8 @@ function h(e) {
|
|
|
328
352
|
} : {
|
|
329
353
|
readState: () => window.history.state?.[e] ?? null,
|
|
330
354
|
readPathname: () => window.location.pathname,
|
|
331
|
-
pushState: (t, n) => window.history.pushState(
|
|
332
|
-
replaceState: (t, n) => window.history.replaceState(
|
|
355
|
+
pushState: (t, n) => window.history.pushState(h(e, t), "", n),
|
|
356
|
+
replaceState: (t, n) => window.history.replaceState(h(e, t), "", n),
|
|
333
357
|
go: (e) => window.history.go(e),
|
|
334
358
|
back: () => window.history.back(),
|
|
335
359
|
subscribe: (t) => {
|
|
@@ -343,7 +367,7 @@ function h(e) {
|
|
|
343
367
|
}
|
|
344
368
|
//#endregion
|
|
345
369
|
//#region src/navigate/selfPopGuard.ts
|
|
346
|
-
function
|
|
370
|
+
function _() {
|
|
347
371
|
let e = 0;
|
|
348
372
|
return {
|
|
349
373
|
mark() {
|
|
@@ -354,26 +378,26 @@ function g() {
|
|
|
354
378
|
}
|
|
355
379
|
};
|
|
356
380
|
}
|
|
357
|
-
var
|
|
358
|
-
function v() {
|
|
359
|
-
_.mark();
|
|
360
|
-
}
|
|
381
|
+
var v = _();
|
|
361
382
|
function y() {
|
|
362
|
-
|
|
383
|
+
v.mark();
|
|
384
|
+
}
|
|
385
|
+
function b() {
|
|
386
|
+
return v.consume();
|
|
363
387
|
}
|
|
364
388
|
//#endregion
|
|
365
389
|
//#region src/history/createHistorySync.ts
|
|
366
|
-
function
|
|
367
|
-
let { stores: t, driver: n =
|
|
368
|
-
let n = e.state, r = t.history.getState().truncationEpoch, i =
|
|
369
|
-
|
|
390
|
+
function x(e) {
|
|
391
|
+
let { stores: t, driver: n = g(), consume: r = b } = e, i = !1, o = 0, c = async (e) => {
|
|
392
|
+
let n = e.state, r = t.history.getState().truncationEpoch, i = s.generateTaskId();
|
|
393
|
+
o += 1;
|
|
370
394
|
try {
|
|
371
395
|
await l(e, n, r, i);
|
|
372
396
|
} finally {
|
|
373
|
-
--
|
|
397
|
+
--o;
|
|
374
398
|
}
|
|
375
|
-
}, l = async (r,
|
|
376
|
-
(await
|
|
399
|
+
}, l = async (r, o, l, u) => {
|
|
400
|
+
(await s.addTask(async (a) => {
|
|
377
401
|
if (i) {
|
|
378
402
|
a.abort();
|
|
379
403
|
return;
|
|
@@ -382,41 +406,41 @@ function b(e) {
|
|
|
382
406
|
a.abort();
|
|
383
407
|
return;
|
|
384
408
|
}
|
|
385
|
-
let { setStatus:
|
|
409
|
+
let { setStatus: s, setTransitionTaskId: d } = t.navigate.getState(), { index: f, histories: p, addHistory: m, popHistory: h, setPendingIndex: g } = t.history.getState();
|
|
386
410
|
if (l !== t.history.getState().truncationEpoch && n.readState()?.id !== r.state?.id) {
|
|
387
411
|
a.abort();
|
|
388
412
|
return;
|
|
389
413
|
}
|
|
390
|
-
if (!
|
|
414
|
+
if (!o?.id) {
|
|
391
415
|
a.abort();
|
|
392
416
|
return;
|
|
393
417
|
}
|
|
394
|
-
let _ = p.findIndex((e) => e.id ===
|
|
418
|
+
let _ = p.findIndex((e) => e.id === o.id);
|
|
395
419
|
if (_ === f) {
|
|
396
420
|
a.abort();
|
|
397
421
|
return;
|
|
398
422
|
}
|
|
399
423
|
let v = {
|
|
400
|
-
id:
|
|
424
|
+
id: o.id,
|
|
401
425
|
pathname: r.pathname,
|
|
402
|
-
params:
|
|
403
|
-
transitionName:
|
|
404
|
-
layoutId:
|
|
405
|
-
frameIndex:
|
|
426
|
+
params: o.params,
|
|
427
|
+
transitionName: o.transitionName,
|
|
428
|
+
layoutId: o.layoutId,
|
|
429
|
+
frameIndex: o.index
|
|
406
430
|
};
|
|
407
431
|
if (_ === -1) {
|
|
408
432
|
let e = p[f]?.frameIndex ?? f;
|
|
409
|
-
if (!(
|
|
433
|
+
if (!(o.index > e && (o.status === "PUSHING" || o.status === "REPLACING"))) {
|
|
410
434
|
t.history.getState().adoptHistory(v), a.abort();
|
|
411
435
|
return;
|
|
412
436
|
}
|
|
413
|
-
return d(u), o
|
|
414
|
-
|
|
437
|
+
return d(u), s(o.status === "REPLACING" ? "REPLACING" : "PUSHING"), m(v), async () => {
|
|
438
|
+
s("COMPLETED");
|
|
415
439
|
};
|
|
416
440
|
}
|
|
417
441
|
let y = f - 1;
|
|
418
|
-
return d(u), g(y),
|
|
419
|
-
h(y + 1),
|
|
442
|
+
return d(u), g(y), s("POPPING"), async () => {
|
|
443
|
+
h(y + 1), s("COMPLETED"), y > _ && !i && c(r);
|
|
420
444
|
};
|
|
421
445
|
}, {
|
|
422
446
|
id: u,
|
|
@@ -425,10 +449,10 @@ function b(e) {
|
|
|
425
449
|
maxLifetimeMs: a
|
|
426
450
|
}
|
|
427
451
|
})).result?.();
|
|
428
|
-
}, u = null, d = 0, f = "", p = 0, m = () => typeof performance < "u" ? performance.now() : Number.MAX_VALUE,
|
|
452
|
+
}, u = null, d = 0, f = "", p = 0, m = () => typeof performance < "u" ? performance.now() : Number.MAX_VALUE, h = () => {
|
|
429
453
|
i || typeof setTimeout > "u" || (u && clearTimeout(u), u = setTimeout(function e() {
|
|
430
454
|
if (u = null, i) return;
|
|
431
|
-
if (
|
|
455
|
+
if (o > 0 || s.pendingTaskIds.length > 0 || m() - d < 400) {
|
|
432
456
|
u = setTimeout(e, 150);
|
|
433
457
|
return;
|
|
434
458
|
}
|
|
@@ -447,42 +471,42 @@ function b(e) {
|
|
|
447
471
|
}), u = setTimeout(e, 150);
|
|
448
472
|
}, 150));
|
|
449
473
|
}, _ = n.subscribe((e) => {
|
|
450
|
-
if (!i && (d = m(),
|
|
474
|
+
if (!i && (d = m(), h(), w(e.pathname), !r())) return c(e);
|
|
451
475
|
});
|
|
452
|
-
if (e.routerKey && e.zoneEntryId &&
|
|
453
|
-
let n = t.history.getState().histories[t.history.getState().index]?.pathname, r =
|
|
476
|
+
if (e.routerKey && e.zoneEntryId && E(n, e.zoneEntryId)) {
|
|
477
|
+
let n = t.history.getState().histories[t.history.getState().index]?.pathname, r = T(n);
|
|
454
478
|
for (let t of r) c({
|
|
455
479
|
state: t.raw?.[e.routerKey] ?? null,
|
|
456
480
|
pathname: t.pathname
|
|
457
481
|
});
|
|
458
482
|
}
|
|
459
|
-
return
|
|
483
|
+
return h(), () => {
|
|
460
484
|
i = !0, u && clearTimeout(u), _();
|
|
461
485
|
};
|
|
462
486
|
}
|
|
463
|
-
var
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
}),
|
|
487
|
+
var S = [], C = !1, w = (e) => {
|
|
488
|
+
C || typeof window > "u" || (C = !0, queueMicrotask(() => {
|
|
489
|
+
C = !1;
|
|
490
|
+
}), S.push({
|
|
467
491
|
raw: window.history.state,
|
|
468
492
|
pathname: e
|
|
469
493
|
}));
|
|
470
|
-
},
|
|
494
|
+
}, T = (e) => {
|
|
471
495
|
if (!e) return [];
|
|
472
|
-
for (let t =
|
|
496
|
+
for (let t = S.length - 1; t >= 0; --t) if (S[t].pathname === e) return S.slice(t + 1);
|
|
473
497
|
return [];
|
|
474
|
-
},
|
|
498
|
+
}, E = (e, t) => {
|
|
475
499
|
if (typeof window > "u") return !1;
|
|
476
500
|
let n = window.history.state;
|
|
477
501
|
return n ? Object.values(n).some((e) => !!e && typeof e == "object" && e.id === t) : !1;
|
|
478
502
|
};
|
|
479
|
-
function
|
|
480
|
-
for (let n =
|
|
503
|
+
function D(e, t) {
|
|
504
|
+
for (let n = S.length - 1; n >= 0; --n) if (S[n].pathname === t) return S[n].raw?.[e] ?? null;
|
|
481
505
|
return null;
|
|
482
506
|
}
|
|
483
|
-
var
|
|
507
|
+
var O = /* @__PURE__ */ new WeakMap();
|
|
484
508
|
function ee(e) {
|
|
485
|
-
|
|
509
|
+
O.has(e) || O.set(e, x({
|
|
486
510
|
stores: e,
|
|
487
511
|
driver: e.driver,
|
|
488
512
|
consume: e.consume,
|
|
@@ -492,11 +516,11 @@ function ee(e) {
|
|
|
492
516
|
}));
|
|
493
517
|
}
|
|
494
518
|
function te(e) {
|
|
495
|
-
e.persistent || (
|
|
519
|
+
e.persistent || (O.get(e)?.(), O.delete(e));
|
|
496
520
|
}
|
|
497
521
|
//#endregion
|
|
498
522
|
//#region src/history/memoryHistoryDriver.ts
|
|
499
|
-
function
|
|
523
|
+
function k(e) {
|
|
500
524
|
let t = [{
|
|
501
525
|
state: e?.state ?? null,
|
|
502
526
|
url: e?.url ?? "/"
|
|
@@ -538,7 +562,7 @@ function ne(e) {
|
|
|
538
562
|
}
|
|
539
563
|
//#endregion
|
|
540
564
|
//#region src/navigate/store.ts
|
|
541
|
-
function
|
|
565
|
+
function A() {
|
|
542
566
|
return e((e) => ({
|
|
543
567
|
status: "IDLE",
|
|
544
568
|
transitionTaskId: null,
|
|
@@ -548,11 +572,11 @@ function re() {
|
|
|
548
572
|
}
|
|
549
573
|
//#endregion
|
|
550
574
|
//#region src/navigate/createNavigationController.ts
|
|
551
|
-
var
|
|
575
|
+
var j = (e, t, n) => {
|
|
552
576
|
let { regexp: r } = i(e);
|
|
553
577
|
for (let e = t - 1; e >= 0; e--) if (r.test(n[e].pathname)) return t - e;
|
|
554
578
|
return -1;
|
|
555
|
-
},
|
|
579
|
+
}, M = (e, t) => typeof e == "number" && Number.isFinite(e) ? Math.max(0, Math.trunc(e)) : t, N = async (e, t, n, r) => {
|
|
556
580
|
let i, a = new Promise((t) => {
|
|
557
581
|
i = e.subscribe(() => t(!0));
|
|
558
582
|
}), o = new Promise((e) => setTimeout(() => e(!1), 200));
|
|
@@ -560,8 +584,8 @@ var O = (e, t, n) => {
|
|
|
560
584
|
let s = await Promise.race([a, o]);
|
|
561
585
|
i(), s && r();
|
|
562
586
|
};
|
|
563
|
-
function
|
|
564
|
-
let { stores: t, buildPathname: n, driver: r =
|
|
587
|
+
function ne(e) {
|
|
588
|
+
let { stores: t, buildPathname: n, driver: r = g(), markSelfInduced: i = y } = e, o = () => t.history.getState().bumpTruncationEpoch(), c = () => {
|
|
565
589
|
let e = r.readState();
|
|
566
590
|
if (!e?.id) return null;
|
|
567
591
|
let { index: n, histories: i, adoptHistory: a, truncateHistory: o } = t.history.getState();
|
|
@@ -578,18 +602,18 @@ function ie(e) {
|
|
|
578
602
|
}, l = async (e, l, u) => {
|
|
579
603
|
let { status: d } = t.navigate.getState();
|
|
580
604
|
if (d !== "COMPLETED" && d !== "IDLE") return;
|
|
581
|
-
let f = t.transition.getState().defaultTransitionName, { transitionName: p = f, layoutId: m = null } = u ?? {}, h =
|
|
582
|
-
(await
|
|
605
|
+
let f = t.transition.getState().defaultTransitionName, { transitionName: p = f, layoutId: m = null } = u ?? {}, h = s.generateTaskId();
|
|
606
|
+
(await s.addTask(async (a) => {
|
|
583
607
|
if (t.life && !t.life.alive) {
|
|
584
608
|
a.abort();
|
|
585
609
|
return;
|
|
586
610
|
}
|
|
587
|
-
let
|
|
611
|
+
let s = c(), { index: d, histories: f, addHistory: g, popHistories: _ } = t.history.getState(), v = (() => {
|
|
588
612
|
if (u?.until != null) {
|
|
589
|
-
let e =
|
|
613
|
+
let e = j(u.until, d, f);
|
|
590
614
|
return e < 0 ? 0 : e;
|
|
591
615
|
}
|
|
592
|
-
return Math.min(
|
|
616
|
+
return Math.min(M(u?.skip, 0), Math.max(0, d));
|
|
593
617
|
})(), { setStatus: y, setTransitionTaskId: b } = t.navigate.getState();
|
|
594
618
|
y("PUSHING"), b(h);
|
|
595
619
|
let { pathname: x, toPathname: S } = n(e, l ?? {}), C = {
|
|
@@ -598,8 +622,8 @@ function ie(e) {
|
|
|
598
622
|
params: l ?? {},
|
|
599
623
|
transitionName: p,
|
|
600
624
|
layoutId: m
|
|
601
|
-
}, w =
|
|
602
|
-
if (v === 0) return
|
|
625
|
+
}, w = s?.index ?? f[d]?.frameIndex ?? d;
|
|
626
|
+
if (v === 0) return o(), r.pushState({
|
|
603
627
|
id: h,
|
|
604
628
|
index: w + 1,
|
|
605
629
|
status: "PUSHING",
|
|
@@ -616,8 +640,8 @@ function ie(e) {
|
|
|
616
640
|
return g({
|
|
617
641
|
...C,
|
|
618
642
|
frameIndex: T + 1
|
|
619
|
-
}), await
|
|
620
|
-
|
|
643
|
+
}), await N(r, i, v, () => {
|
|
644
|
+
o(), r.pushState({
|
|
621
645
|
id: h,
|
|
622
646
|
index: T + 1,
|
|
623
647
|
status: "PUSHING",
|
|
@@ -638,18 +662,18 @@ function ie(e) {
|
|
|
638
662
|
}, u = async (e, l, u) => {
|
|
639
663
|
let { status: d } = t.navigate.getState();
|
|
640
664
|
if (d !== "COMPLETED" && d !== "IDLE") return;
|
|
641
|
-
let f = t.transition.getState().defaultTransitionName, { transitionName: p = f, layoutId: m = null } = u ?? {}, h =
|
|
642
|
-
(await
|
|
665
|
+
let f = t.transition.getState().defaultTransitionName, { transitionName: p = f, layoutId: m = null } = u ?? {}, h = s.generateTaskId();
|
|
666
|
+
(await s.addTask(async (a) => {
|
|
643
667
|
if (t.life && !t.life.alive) {
|
|
644
668
|
a.abort();
|
|
645
669
|
return;
|
|
646
670
|
}
|
|
647
|
-
let
|
|
671
|
+
let s = c(), { index: d, histories: f, addHistory: g, replaceHistory: _, popHistories: v } = t.history.getState(), y = (() => {
|
|
648
672
|
if (u?.until != null) {
|
|
649
|
-
let e =
|
|
673
|
+
let e = j(u.until, d, f);
|
|
650
674
|
return e < 0 ? 0 : e + 1;
|
|
651
675
|
}
|
|
652
|
-
return Math.min(
|
|
676
|
+
return Math.min(M(u?.skip, 0) + 1, d + 1);
|
|
653
677
|
})();
|
|
654
678
|
if (y <= 0) {
|
|
655
679
|
a.abort();
|
|
@@ -663,8 +687,8 @@ function ie(e) {
|
|
|
663
687
|
params: l ?? {},
|
|
664
688
|
transitionName: p,
|
|
665
689
|
layoutId: m
|
|
666
|
-
}, T =
|
|
667
|
-
if (y === 1) return
|
|
690
|
+
}, T = s?.index ?? f[d]?.frameIndex ?? d;
|
|
691
|
+
if (y === 1) return o(), r.replaceState({
|
|
668
692
|
id: h,
|
|
669
693
|
index: T,
|
|
670
694
|
status: "REPLACING",
|
|
@@ -681,8 +705,8 @@ function ie(e) {
|
|
|
681
705
|
return v(y - 1), g({
|
|
682
706
|
...w,
|
|
683
707
|
frameIndex: E
|
|
684
|
-
}), y <= d ? await
|
|
685
|
-
|
|
708
|
+
}), y <= d ? await N(r, i, y, () => {
|
|
709
|
+
o(), r.pushState({
|
|
686
710
|
id: h,
|
|
687
711
|
index: E,
|
|
688
712
|
status: "REPLACING",
|
|
@@ -690,8 +714,8 @@ function ie(e) {
|
|
|
690
714
|
transitionName: p,
|
|
691
715
|
layoutId: m
|
|
692
716
|
}, S);
|
|
693
|
-
}) : await
|
|
694
|
-
|
|
717
|
+
}) : await N(r, i, d, () => {
|
|
718
|
+
o(), r.replaceState({
|
|
695
719
|
id: h,
|
|
696
720
|
index: E,
|
|
697
721
|
status: "REPLACING",
|
|
@@ -710,30 +734,30 @@ function ie(e) {
|
|
|
710
734
|
}
|
|
711
735
|
})).result?.();
|
|
712
736
|
}, d = async (e, n) => {
|
|
713
|
-
let
|
|
714
|
-
(await
|
|
737
|
+
let o = s.generateTaskId();
|
|
738
|
+
(await s.addTask(async (a) => {
|
|
715
739
|
if (t.life && !t.life.alive) {
|
|
716
740
|
a.abort();
|
|
717
741
|
return;
|
|
718
742
|
}
|
|
719
743
|
c();
|
|
720
|
-
let { index:
|
|
721
|
-
if (
|
|
744
|
+
let { index: s, histories: l, popHistory: u, popHistories: d, setPendingIndex: f, setTransitionName: p } = t.history.getState();
|
|
745
|
+
if (s <= 0) {
|
|
722
746
|
a.abort();
|
|
723
747
|
return;
|
|
724
748
|
}
|
|
725
|
-
let m = Math.min(e(
|
|
749
|
+
let m = Math.min(e(s, l), s);
|
|
726
750
|
if (m <= 0) {
|
|
727
751
|
a.abort();
|
|
728
752
|
return;
|
|
729
753
|
}
|
|
730
|
-
f(
|
|
754
|
+
f(s - m);
|
|
731
755
|
let { setStatus: h, setTransitionTaskId: g } = t.navigate.getState();
|
|
732
|
-
return n && p(
|
|
756
|
+
return n && p(s, n), h("POPPING"), g(o), d(m - 1), i(), m === 1 ? r.back() : r.go(-m), async () => {
|
|
733
757
|
u(t.history.getState().index), h("COMPLETED");
|
|
734
758
|
};
|
|
735
759
|
}, {
|
|
736
|
-
id:
|
|
760
|
+
id: o,
|
|
737
761
|
control: {
|
|
738
762
|
manual: !0,
|
|
739
763
|
maxLifetimeMs: a
|
|
@@ -746,10 +770,10 @@ function ie(e) {
|
|
|
746
770
|
pop: async (e) => {
|
|
747
771
|
await d((t, n) => {
|
|
748
772
|
if (e?.until != null) {
|
|
749
|
-
let r =
|
|
773
|
+
let r = j(e.until, t, n);
|
|
750
774
|
return r < 0 ? 0 : r;
|
|
751
775
|
}
|
|
752
|
-
let r =
|
|
776
|
+
let r = M(e?.skip, 1);
|
|
753
777
|
return r <= 0 ? 0 : Math.min(r, t);
|
|
754
778
|
}, e?.transitionName);
|
|
755
779
|
}
|
|
@@ -757,18 +781,18 @@ function ie(e) {
|
|
|
757
781
|
}
|
|
758
782
|
//#endregion
|
|
759
783
|
//#region src/navigate/createStepController.ts
|
|
760
|
-
var
|
|
784
|
+
var re = (e) => {
|
|
761
785
|
let t = e;
|
|
762
786
|
return t?.step ? t.params ?? {} : null;
|
|
763
|
-
},
|
|
787
|
+
}, ie = (e, t) => {
|
|
764
788
|
let n = new URLSearchParams(Object.fromEntries(Object.entries(t).map(([e, t]) => [e, String(t)]))).toString();
|
|
765
789
|
return n ? `${e}?${n}` : e;
|
|
766
790
|
};
|
|
767
|
-
function
|
|
768
|
-
let { stores: t, driver: n, markSelfInduced: r, buildStepPathname: i, applyParams:
|
|
791
|
+
function P(e) {
|
|
792
|
+
let { stores: t, driver: n, markSelfInduced: r, buildStepPathname: i, applyParams: o } = e;
|
|
769
793
|
return {
|
|
770
794
|
pushStep: async (e) => {
|
|
771
|
-
(await
|
|
795
|
+
(await s.addTask(async () => {
|
|
772
796
|
let t = i(e), r = n.readState();
|
|
773
797
|
return r?.step || n.replaceState({
|
|
774
798
|
...r,
|
|
@@ -777,35 +801,35 @@ function oe(e) {
|
|
|
777
801
|
...n.readState(),
|
|
778
802
|
step: !0,
|
|
779
803
|
params: e
|
|
780
|
-
}, t), async () =>
|
|
804
|
+
}, t), async () => o(e);
|
|
781
805
|
})).result?.();
|
|
782
806
|
},
|
|
783
807
|
replaceStep: async (e) => {
|
|
784
|
-
(await
|
|
808
|
+
(await s.addTask(async () => {
|
|
785
809
|
let t = i(e);
|
|
786
810
|
return n.replaceState({
|
|
787
811
|
...n.readState(),
|
|
788
812
|
step: !0,
|
|
789
813
|
params: e
|
|
790
|
-
}, t), async () =>
|
|
814
|
+
}, t), async () => o(e);
|
|
791
815
|
})).result?.();
|
|
792
816
|
},
|
|
793
817
|
popStep: async () => {
|
|
794
|
-
let e =
|
|
795
|
-
(await
|
|
818
|
+
let e = s.generateTaskId();
|
|
819
|
+
(await s.addTask(async (i) => {
|
|
796
820
|
let a = new Promise((e) => {
|
|
797
821
|
let t = n.subscribe((n) => {
|
|
798
822
|
t(), e(n.state);
|
|
799
823
|
});
|
|
800
|
-
}),
|
|
824
|
+
}), s = new Promise((e) => setTimeout(() => e(void 0), 200));
|
|
801
825
|
r(), n.back();
|
|
802
|
-
let c = await Promise.race([a,
|
|
826
|
+
let c = await Promise.race([a, s]);
|
|
803
827
|
if (!c) {
|
|
804
828
|
i.abort();
|
|
805
829
|
return;
|
|
806
830
|
}
|
|
807
831
|
if (c.step) {
|
|
808
|
-
|
|
832
|
+
o(c.params ?? {}), i.abort();
|
|
809
833
|
return;
|
|
810
834
|
}
|
|
811
835
|
let { setStatus: l, setTransitionTaskId: u } = t.navigate.getState(), { index: d, popHistory: f } = t.history.getState();
|
|
@@ -822,17 +846,17 @@ function oe(e) {
|
|
|
822
846
|
}
|
|
823
847
|
};
|
|
824
848
|
}
|
|
825
|
-
function
|
|
849
|
+
function ae(e, t) {
|
|
826
850
|
return e.subscribe((e) => {
|
|
827
851
|
let n = e.state;
|
|
828
|
-
n?.step &&
|
|
852
|
+
n?.step && s.addTask(async () => {
|
|
829
853
|
t(n.params ?? {});
|
|
830
854
|
});
|
|
831
855
|
});
|
|
832
856
|
}
|
|
833
857
|
//#endregion
|
|
834
858
|
//#region src/transition/store.ts
|
|
835
|
-
function
|
|
859
|
+
function oe(t = "cupertino") {
|
|
836
860
|
return e((e) => ({
|
|
837
861
|
defaultTransitionName: t,
|
|
838
862
|
setDefaultTransitionName: (t) => e({ defaultTransitionName: t })
|
|
@@ -840,12 +864,12 @@ function ce(t = "cupertino") {
|
|
|
840
864
|
}
|
|
841
865
|
//#endregion
|
|
842
866
|
//#region src/utils/matchesPathname.ts
|
|
843
|
-
function
|
|
867
|
+
function se(e, t) {
|
|
844
868
|
return i(e).regexp.test(t);
|
|
845
869
|
}
|
|
846
870
|
//#endregion
|
|
847
871
|
//#region src/screen/store.ts
|
|
848
|
-
function
|
|
872
|
+
function F() {
|
|
849
873
|
return e((e) => ({
|
|
850
874
|
dragStatus: "IDLE",
|
|
851
875
|
replaceTransitionStatus: "IDLE",
|
|
@@ -876,25 +900,25 @@ function ue() {
|
|
|
876
900
|
}
|
|
877
901
|
//#endregion
|
|
878
902
|
//#region src/core/createRouterScope.ts
|
|
879
|
-
var
|
|
903
|
+
var ce = {
|
|
880
904
|
mark: () => {},
|
|
881
905
|
consume: () => !1
|
|
882
|
-
},
|
|
883
|
-
function
|
|
884
|
-
let { routePaths: t, pathname: n, search: r, defaultTransitionName: i, memory: a, browserDriver: o } = e,
|
|
885
|
-
if (
|
|
886
|
-
let e =
|
|
906
|
+
}, le = /* @__PURE__ */ new Map();
|
|
907
|
+
function ue(e) {
|
|
908
|
+
let { routePaths: t, pathname: n, search: r, defaultTransitionName: i, memory: a, browserDriver: o } = e, s = f() ? void 0 : e.persistKey;
|
|
909
|
+
if (s) {
|
|
910
|
+
let e = le.get(s);
|
|
887
911
|
if (e) {
|
|
888
912
|
e.life.alive = !0, e.navigate.getState().setStatus("IDLE"), e.navigate.getState().setTransitionTaskId(null);
|
|
889
913
|
let t = e.history.getState();
|
|
890
914
|
return t.setPendingIndex(t.index), e;
|
|
891
915
|
}
|
|
892
916
|
}
|
|
893
|
-
let l =
|
|
917
|
+
let l = d(t, n, r, i), u = (e.routerKey && !f() ? D(e.routerKey, n) : null) ?? (o && !f() ? o.readState() : null), p = u?.id ? {
|
|
894
918
|
...l,
|
|
895
|
-
id:
|
|
896
|
-
params:
|
|
897
|
-
frameIndex:
|
|
919
|
+
id: u.id,
|
|
920
|
+
params: u.params ?? l.params,
|
|
921
|
+
frameIndex: u.index ?? 0
|
|
898
922
|
} : {
|
|
899
923
|
...l,
|
|
900
924
|
frameIndex: 0
|
|
@@ -903,7 +927,7 @@ function pe(e) {
|
|
|
903
927
|
index: 0,
|
|
904
928
|
histories: [p]
|
|
905
929
|
}), e.hostedScope;
|
|
906
|
-
let m = a ?
|
|
930
|
+
let m = a ? k({
|
|
907
931
|
state: {
|
|
908
932
|
id: p.id,
|
|
909
933
|
index: 0,
|
|
@@ -913,25 +937,25 @@ function pe(e) {
|
|
|
913
937
|
layoutId: p.layoutId
|
|
914
938
|
},
|
|
915
939
|
url: p.pathname
|
|
916
|
-
}) : o, h = a ?
|
|
917
|
-
history:
|
|
918
|
-
navigate:
|
|
919
|
-
transition:
|
|
920
|
-
screen:
|
|
940
|
+
}) : o, h = a ? ce : _(), g = {
|
|
941
|
+
history: c([p], 0),
|
|
942
|
+
navigate: A(),
|
|
943
|
+
transition: oe(i),
|
|
944
|
+
screen: F(),
|
|
921
945
|
driver: m,
|
|
922
946
|
markSelfInduced: h.mark,
|
|
923
947
|
consume: h.consume,
|
|
924
948
|
routerKey: e.routerKey,
|
|
925
949
|
zoneEntryId: e.zoneEntryId,
|
|
926
|
-
ownsPathname: (e) =>
|
|
927
|
-
persistent: !!
|
|
950
|
+
ownsPathname: (e) => se(t, e),
|
|
951
|
+
persistent: !!s,
|
|
928
952
|
life: { alive: !0 }
|
|
929
953
|
};
|
|
930
|
-
return
|
|
954
|
+
return s && le.set(s, g), g;
|
|
931
955
|
}
|
|
932
956
|
//#endregion
|
|
933
957
|
//#region src/screen/createScreenSelector.ts
|
|
934
|
-
function
|
|
958
|
+
function de(e, t) {
|
|
935
959
|
return e.map((n, r) => ({
|
|
936
960
|
...n,
|
|
937
961
|
isActive: r === t,
|
|
@@ -944,13 +968,13 @@ function me(e, t) {
|
|
|
944
968
|
}
|
|
945
969
|
//#endregion
|
|
946
970
|
//#region src/screen/computeScreenFreeze.ts
|
|
947
|
-
function
|
|
971
|
+
function I(e) {
|
|
948
972
|
let t = e.status === "COMPLETED" && e.dragStatus === "IDLE";
|
|
949
973
|
return !e.isActive && t || e.isPrev && e.index - 2 <= e.zIndex && e.replaceTransitionStatus === "IDLE" || e.isPrev && e.index - 2 > e.zIndex;
|
|
950
974
|
}
|
|
951
975
|
//#endregion
|
|
952
976
|
//#region src/transition/createTransition.ts
|
|
953
|
-
function
|
|
977
|
+
function L({ name: e, initial: t, idle: n, enter: r, enterBack: i, exit: a, exitBack: o, options: s }) {
|
|
954
978
|
return {
|
|
955
979
|
name: e,
|
|
956
980
|
initial: t,
|
|
@@ -971,7 +995,7 @@ function M({ name: e, initial: t, idle: n, enter: r, enterBack: i, exit: a, exit
|
|
|
971
995
|
}
|
|
972
996
|
//#endregion
|
|
973
997
|
//#region src/transition/createRawTransition.ts
|
|
974
|
-
function
|
|
998
|
+
function R({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnExit: l, completedOnEnter: u, options: d }) {
|
|
975
999
|
return {
|
|
976
1000
|
name: e,
|
|
977
1001
|
initial: t,
|
|
@@ -992,10 +1016,10 @@ function ge({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
|
|
|
992
1016
|
}
|
|
993
1017
|
//#endregion
|
|
994
1018
|
//#region src/transition/cupertino.ts
|
|
995
|
-
var
|
|
1019
|
+
var fe = (e, t, n) => {
|
|
996
1020
|
let [r, i] = t, [a, o] = n;
|
|
997
1021
|
return i === r ? a : a + (e - r) / (i - r) * (o - a);
|
|
998
|
-
},
|
|
1022
|
+
}, pe = L({
|
|
999
1023
|
name: "cupertino",
|
|
1000
1024
|
initial: { x: "100%" },
|
|
1001
1025
|
idle: {
|
|
@@ -1055,7 +1079,7 @@ var _e = (e, t, n) => {
|
|
|
1055
1079
|
swipeDirection: "x",
|
|
1056
1080
|
onSwipeStart: async () => !0,
|
|
1057
1081
|
onSwipe: (e, t, { animate: n, currentScreen: r, prevScreen: i, onProgress: a }) => {
|
|
1058
|
-
let { offset: o } = t, s = o.x, c =
|
|
1082
|
+
let { offset: o } = t, s = o.x, c = fe(s, [0, window.innerWidth], [0, 100]);
|
|
1059
1083
|
return a?.(!0, c), n(r, { x: Math.max(0, s) }, { duration: 0 }), n(i, { x: `${-35 + c * .35}%` }, { duration: 0 }), c;
|
|
1060
1084
|
},
|
|
1061
1085
|
onSwipeEnd: async (e, t, { animate: n, currentScreen: r, prevScreen: i, onStart: a }) => {
|
|
@@ -1079,10 +1103,10 @@ var _e = (e, t, n) => {
|
|
|
1079
1103
|
})]), c;
|
|
1080
1104
|
}
|
|
1081
1105
|
}
|
|
1082
|
-
}),
|
|
1106
|
+
}), me = (e, t, n) => {
|
|
1083
1107
|
let [r, i] = t, [a, o] = n;
|
|
1084
1108
|
return i === r ? a : a + (e - r) / (i - r) * (o - a);
|
|
1085
|
-
},
|
|
1109
|
+
}, he = L({
|
|
1086
1110
|
name: "layout",
|
|
1087
1111
|
initial: { opacity: .97 },
|
|
1088
1112
|
idle: {
|
|
@@ -1110,7 +1134,7 @@ var _e = (e, t, n) => {
|
|
|
1110
1134
|
swipeDirection: "y",
|
|
1111
1135
|
onSwipeStart: async () => !0,
|
|
1112
1136
|
onSwipe: (e, t, { animate: n, currentScreen: r, onProgress: i }) => {
|
|
1113
|
-
let { offset: a } = t, o = a.y, s = Math.max(0, Math.min(56, o)), c =
|
|
1137
|
+
let { offset: a } = t, o = a.y, s = Math.max(0, Math.min(56, o)), c = me(s, [0, 56], [1, .96]), l = Math.max(0, o - 56), u = Math.min(1, l / 160), d = Math.sqrt(u) * 12, f = Math.max(0, s + d), p = Math.min(56, f);
|
|
1114
1138
|
return i?.(!0, 100), n(r, {
|
|
1115
1139
|
y: f,
|
|
1116
1140
|
opacity: c
|
|
@@ -1127,7 +1151,7 @@ var _e = (e, t, n) => {
|
|
|
1127
1151
|
}, { duration: .3 })]), c;
|
|
1128
1152
|
}
|
|
1129
1153
|
}
|
|
1130
|
-
}),
|
|
1154
|
+
}), ge = L({
|
|
1131
1155
|
name: "material",
|
|
1132
1156
|
initial: { y: "100%" },
|
|
1133
1157
|
idle: {
|
|
@@ -1235,7 +1259,7 @@ var _e = (e, t, n) => {
|
|
|
1235
1259
|
})]), c;
|
|
1236
1260
|
}
|
|
1237
1261
|
}
|
|
1238
|
-
}),
|
|
1262
|
+
}), _e = L({
|
|
1239
1263
|
name: "none",
|
|
1240
1264
|
initial: {},
|
|
1241
1265
|
idle: {
|
|
@@ -1258,20 +1282,20 @@ var _e = (e, t, n) => {
|
|
|
1258
1282
|
value: {},
|
|
1259
1283
|
options: { duration: 0 }
|
|
1260
1284
|
}
|
|
1261
|
-
}),
|
|
1262
|
-
["none",
|
|
1263
|
-
["cupertino",
|
|
1264
|
-
["material",
|
|
1265
|
-
["layout",
|
|
1285
|
+
}), z = new Map([
|
|
1286
|
+
["none", _e],
|
|
1287
|
+
["cupertino", pe],
|
|
1288
|
+
["material", ge],
|
|
1289
|
+
["layout", he]
|
|
1266
1290
|
]);
|
|
1267
1291
|
//#endregion
|
|
1268
1292
|
//#region src/transition/resolveTransition.ts
|
|
1269
|
-
function
|
|
1270
|
-
return
|
|
1293
|
+
function B(e) {
|
|
1294
|
+
return z.get(e) ?? z.get("none");
|
|
1271
1295
|
}
|
|
1272
1296
|
//#endregion
|
|
1273
1297
|
//#region src/transition/decorator/createDecorator.ts
|
|
1274
|
-
function
|
|
1298
|
+
function ve({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
|
|
1275
1299
|
return {
|
|
1276
1300
|
name: e,
|
|
1277
1301
|
initial: t,
|
|
@@ -1292,7 +1316,7 @@ function Ce({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
|
|
|
1292
1316
|
}
|
|
1293
1317
|
//#endregion
|
|
1294
1318
|
//#region src/transition/decorator/createRawDecorator.ts
|
|
1295
|
-
function
|
|
1319
|
+
function ye({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
|
|
1296
1320
|
return {
|
|
1297
1321
|
name: e,
|
|
1298
1322
|
initial: t,
|
|
@@ -1313,30 +1337,30 @@ function we({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
|
|
|
1313
1337
|
}
|
|
1314
1338
|
//#endregion
|
|
1315
1339
|
//#region src/transition/decorator/overlay.ts
|
|
1316
|
-
var
|
|
1340
|
+
var be = "rgba(0, 0, 0, 0.2)", xe = ve({
|
|
1317
1341
|
name: "overlay",
|
|
1318
1342
|
initial: {
|
|
1319
1343
|
opacity: 0,
|
|
1320
|
-
backgroundColor:
|
|
1344
|
+
backgroundColor: be
|
|
1321
1345
|
},
|
|
1322
1346
|
idle: {
|
|
1323
1347
|
value: {
|
|
1324
1348
|
opacity: 0,
|
|
1325
|
-
backgroundColor:
|
|
1349
|
+
backgroundColor: be
|
|
1326
1350
|
},
|
|
1327
1351
|
options: { duration: 0 }
|
|
1328
1352
|
},
|
|
1329
1353
|
enter: {
|
|
1330
1354
|
value: {
|
|
1331
1355
|
opacity: 1,
|
|
1332
|
-
backgroundColor:
|
|
1356
|
+
backgroundColor: be
|
|
1333
1357
|
},
|
|
1334
1358
|
options: { duration: .6 }
|
|
1335
1359
|
},
|
|
1336
1360
|
exit: {
|
|
1337
1361
|
value: {
|
|
1338
1362
|
opacity: 0,
|
|
1339
|
-
backgroundColor:
|
|
1363
|
+
backgroundColor: be
|
|
1340
1364
|
},
|
|
1341
1365
|
options: { duration: .6 }
|
|
1342
1366
|
},
|
|
@@ -1345,10 +1369,10 @@ var F = "rgba(0, 0, 0, 0.2)", Te = Ce({
|
|
|
1345
1369
|
onSwipe: (e, t, { animate: n, prevDecorator: r }) => n(r, { opacity: Math.max(0, 1 - t / 100) }, { duration: 0 }),
|
|
1346
1370
|
onSwipeEnd: (e, { animate: t, prevDecorator: n }) => t(n, { opacity: +!e }, { duration: .3 })
|
|
1347
1371
|
}
|
|
1348
|
-
}),
|
|
1372
|
+
}), V = new Map([["overlay", xe]]);
|
|
1349
1373
|
//#endregion
|
|
1350
1374
|
//#region src/transition/partTransition/createPartTransition.ts
|
|
1351
|
-
function
|
|
1375
|
+
function Se({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
|
|
1352
1376
|
return {
|
|
1353
1377
|
name: e,
|
|
1354
1378
|
initial: t,
|
|
@@ -1369,7 +1393,7 @@ function Ee({ name: e, initial: t, idle: n, enter: r, exit: i, options: a }) {
|
|
|
1369
1393
|
}
|
|
1370
1394
|
//#endregion
|
|
1371
1395
|
//#region src/transition/partTransition/createRawPartTransition.ts
|
|
1372
|
-
function
|
|
1396
|
+
function Ce({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
|
|
1373
1397
|
return {
|
|
1374
1398
|
name: e,
|
|
1375
1399
|
initial: t,
|
|
@@ -1390,7 +1414,7 @@ function De({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, repla
|
|
|
1390
1414
|
}
|
|
1391
1415
|
//#endregion
|
|
1392
1416
|
//#region src/transition/partTransition/partTransition.ts
|
|
1393
|
-
var
|
|
1417
|
+
var H = /* @__PURE__ */ new Map(), U = {
|
|
1394
1418
|
"IDLE-true": "self",
|
|
1395
1419
|
"IDLE-false": "self",
|
|
1396
1420
|
"PUSHING-true": "initial",
|
|
@@ -1401,17 +1425,17 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1401
1425
|
"POPPING-false": "PUSHING-false",
|
|
1402
1426
|
"COMPLETED-true": "self",
|
|
1403
1427
|
"COMPLETED-false": "self"
|
|
1404
|
-
},
|
|
1428
|
+
}, we = Object.keys(U), Te = (e) => {
|
|
1405
1429
|
if (!e) return 0;
|
|
1406
1430
|
let t = e.duration;
|
|
1407
1431
|
return typeof t == "number" && t >= 0 ? t : 0;
|
|
1408
|
-
},
|
|
1409
|
-
let n =
|
|
1432
|
+
}, Ee = (e) => e && typeof e.delay == "number" && e.delay > 0 ? e.delay : 0, De = (e, t) => {
|
|
1433
|
+
let n = U[t];
|
|
1410
1434
|
return n === "self" ? null : n === "initial" ? e.initial : e.variants[n].value;
|
|
1411
|
-
},
|
|
1412
|
-
let n =
|
|
1435
|
+
}, W = (e, t) => {
|
|
1436
|
+
let n = De(e, t);
|
|
1413
1437
|
if (n === null) return null;
|
|
1414
|
-
let r = e.variants[t], i =
|
|
1438
|
+
let r = e.variants[t], i = Te(r.options), a = Ee(r.options);
|
|
1415
1439
|
return i <= 0 && a <= 0 ? null : {
|
|
1416
1440
|
from: n,
|
|
1417
1441
|
to: r.value,
|
|
@@ -1419,7 +1443,7 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1419
1443
|
delay: a,
|
|
1420
1444
|
ease: r.options?.ease
|
|
1421
1445
|
};
|
|
1422
|
-
},
|
|
1446
|
+
}, Oe = we, ke = (e) => e.replace(/[^a-zA-Z0-9_-]/g, "_"), Ae = (e) => typeof e == "object" && !!e && !Array.isArray(e), je = 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(".")), Me = (e, t) => t.startsWith("--") || je.has(t) ? `${e}` : t === "rotate" || t === "rotateX" || t === "rotateY" || t === "rotateZ" ? `${e}deg` : `${e}px`, Ne = (e, t) => typeof t == "number" ? Me(t, e) : typeof t == "string" ? t : "", Pe = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), Fe = new Set([
|
|
1423
1447
|
"x",
|
|
1424
1448
|
"y",
|
|
1425
1449
|
"z",
|
|
@@ -1430,7 +1454,7 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1430
1454
|
"rotateX",
|
|
1431
1455
|
"rotateY",
|
|
1432
1456
|
"rotateZ"
|
|
1433
|
-
]),
|
|
1457
|
+
]), Ie = /^-?0(\.0+)?(px|%|em|rem|vh|vw|vmin|vmax)?$/, Le = /^-?0(\.0+)?(deg|rad|grad|turn)?$/, Re = /^1(\.0+)?$/, ze = (e, t) => e === "scale" || e === "scaleX" || e === "scaleY" ? t === 1 ? !0 : typeof t == "string" ? Re.test(t.trim()) : !1 : e === "rotate" || e === "rotateX" || e === "rotateY" || e === "rotateZ" ? t === 0 ? !0 : typeof t == "string" ? Le.test(t.trim()) : !1 : t === 0 ? !0 : typeof t == "string" ? Ie.test(t.trim()) : !1, Be = (e, t) => {
|
|
1434
1458
|
switch (e) {
|
|
1435
1459
|
case "x": return `translate3d(${t}, 0, 0)`;
|
|
1436
1460
|
case "y": return `translate3d(0, ${t}, 0)`;
|
|
@@ -1444,16 +1468,16 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1444
1468
|
case "rotateY": return `rotateY(${t})`;
|
|
1445
1469
|
default: return "";
|
|
1446
1470
|
}
|
|
1447
|
-
},
|
|
1471
|
+
}, Ve = (e) => {
|
|
1448
1472
|
let t = /* @__PURE__ */ new Map(), n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
1449
|
-
if (!
|
|
1473
|
+
if (!Ae(e)) return;
|
|
1450
1474
|
let n = [];
|
|
1451
1475
|
for (let r of Object.keys(e)) {
|
|
1452
|
-
let i = e[r], a =
|
|
1453
|
-
if (a !== "") if (
|
|
1476
|
+
let i = e[r], a = Ne(r, i);
|
|
1477
|
+
if (a !== "") if (Fe.has(r)) n.push(`${r}:${a}`);
|
|
1454
1478
|
else {
|
|
1455
|
-
let e = t.get(
|
|
1456
|
-
e.add(a), t.set(
|
|
1479
|
+
let e = t.get(Pe(r)) ?? /* @__PURE__ */ new Set();
|
|
1480
|
+
e.add(a), t.set(Pe(r), e);
|
|
1457
1481
|
}
|
|
1458
1482
|
}
|
|
1459
1483
|
r.add(n.sort().join("|"));
|
|
@@ -1463,13 +1487,13 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1463
1487
|
n = r.size > 1;
|
|
1464
1488
|
let a = Array.from(t.entries()).filter(([, e]) => e.size > 1).map(([e]) => e);
|
|
1465
1489
|
return n && a.push("transform"), a;
|
|
1466
|
-
},
|
|
1467
|
-
if (!
|
|
1490
|
+
}, G = (e) => {
|
|
1491
|
+
if (!Ae(e)) return [];
|
|
1468
1492
|
let t = [], n = !0, r = [];
|
|
1469
1493
|
for (let i of Object.keys(e)) {
|
|
1470
|
-
let a = e[i], o =
|
|
1471
|
-
o !== "" && (
|
|
1472
|
-
property:
|
|
1494
|
+
let a = e[i], o = Ne(i, a);
|
|
1495
|
+
o !== "" && (Fe.has(i) ? (t.push(Be(i, o)), ze(i, a) || (n = !1)) : r.push({
|
|
1496
|
+
property: Pe(i),
|
|
1473
1497
|
value: o
|
|
1474
1498
|
}));
|
|
1475
1499
|
}
|
|
@@ -1477,7 +1501,7 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1477
1501
|
property: "transform",
|
|
1478
1502
|
value: n ? "none" : t.join(" ")
|
|
1479
1503
|
}), r;
|
|
1480
|
-
},
|
|
1504
|
+
}, K = (e) => e.map((e) => ` ${e.property}: ${e.value};`).join("\n"), He = (e) => Array.isArray(e) ? e.length === 4 && e.every((e) => typeof e == "number") ? `cubic-bezier(${e.join(", ")})` : "linear" : typeof e == "string" ? {
|
|
1481
1505
|
linear: "linear",
|
|
1482
1506
|
easeIn: "ease-in",
|
|
1483
1507
|
easeOut: "ease-out",
|
|
@@ -1487,29 +1511,29 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1487
1511
|
backIn: "cubic-bezier(0.31, 0.01, 0.66, -0.59)",
|
|
1488
1512
|
backOut: "cubic-bezier(0.33, 1.53, 0.69, 0.99)",
|
|
1489
1513
|
anticipate: "cubic-bezier(0.36, 0, 0.66, -0.56)"
|
|
1490
|
-
}[e] ?? "ease" : "ease",
|
|
1514
|
+
}[e] ?? "ease" : "ease", Ue = (e, t) => {
|
|
1491
1515
|
let [n, r] = t.split("-");
|
|
1492
1516
|
return `[data-flemo-screen][data-flemo-transition="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
|
|
1493
|
-
},
|
|
1517
|
+
}, We = (e, t) => {
|
|
1494
1518
|
let [n, r] = t.split("-");
|
|
1495
1519
|
return `[data-flemo-decorator][data-flemo-decorator-name="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
|
|
1496
|
-
},
|
|
1520
|
+
}, Ge = (e, t) => {
|
|
1497
1521
|
let [n, r] = t.split("-");
|
|
1498
1522
|
return `[data-flemo-bar][data-flemo-bar-transition="${e}"][data-flemo-bar-status="${n}"][data-flemo-bar-active="${r}"][data-flemo-bar-riding="true"]`;
|
|
1499
|
-
},
|
|
1523
|
+
}, Ke = (e, t) => {
|
|
1500
1524
|
let [n, r] = t.split("-");
|
|
1501
1525
|
return `[data-flemo-part-name="${e}"][data-flemo-status="${n}"][data-flemo-active="${r}"]`;
|
|
1502
|
-
},
|
|
1503
|
-
let o =
|
|
1526
|
+
}, q = (e, t, n) => `flemo-${e}-${ke(t)}-${n}`, qe = (e, t, n, r, i, a) => {
|
|
1527
|
+
let o = G(r), s = G(i.value), c = Te(i.options), l = Ee(i.options), u = He(i.options?.ease), d = a(t, n), f = e === "screen" ? `${d},\n${Ge(t, n)}` : d;
|
|
1504
1528
|
if (s.length === 0 && o.length === 0) return "";
|
|
1505
|
-
if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${
|
|
1506
|
-
let p =
|
|
1529
|
+
if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${K(s)}\n animation: none;\n}`;
|
|
1530
|
+
let p = q(e, t, n), m = [
|
|
1507
1531
|
`@keyframes ${p} {`,
|
|
1508
1532
|
" from {",
|
|
1509
|
-
|
|
1533
|
+
K(o).replace(/^/gm, " "),
|
|
1510
1534
|
" }",
|
|
1511
1535
|
" to {",
|
|
1512
|
-
|
|
1536
|
+
K(s).replace(/^/gm, " "),
|
|
1513
1537
|
" }",
|
|
1514
1538
|
"}"
|
|
1515
1539
|
].join("\n"), h = [
|
|
@@ -1519,55 +1543,60 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1519
1543
|
l > 0 ? `${l}s` : null,
|
|
1520
1544
|
"both"
|
|
1521
1545
|
].filter(Boolean).join(" "), g = new Map(o.map((e) => [e.property, e.value])), _ = new Map(s.map((e) => [e.property, e.value])), v = Array.from(new Set([...g.keys(), ..._.keys()])).filter((e) => g.get(e) !== _.get(e)), y = v.length > 0 ? ` will-change: ${v.join(", ")};\n` : "", b = n.split("-")[0];
|
|
1522
|
-
return `${m}\n${`${f} {\n animation: ${h};\n${y}${b === "PUSHING" || b === "REPLACING" ? " contain: layout;\n pointer-events: none;\n" : ""}}`}${e === "screen" && n.endsWith("-false") &&
|
|
1523
|
-
},
|
|
1546
|
+
return `${m}\n${`${f} {\n animation: ${h};\n${y}${b === "PUSHING" || b === "REPLACING" ? " contain: layout;\n pointer-events: none;\n" : ""}}`}${e === "screen" && n.endsWith("-false") && Je(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park"] {\n animation: none;\n${K(s)}\n}` : ""}${e === "screen" && n.endsWith("-true") && (n.startsWith("PUSHING") || n.startsWith("REPLACING")) && Je(r) && s.length > 0 ? `\n${d}[data-flemo-anim-hold="park-under"] {\n animation: none;\n${K(s)}\n}` : ""}`;
|
|
1547
|
+
}, Je = (e) => {
|
|
1524
1548
|
if (!e) return !1;
|
|
1525
1549
|
if (e.opacity === 0) return !0;
|
|
1526
1550
|
let t = (e) => typeof e == "string" && e.trim().endsWith("%") && Math.abs(parseFloat(e)) >= 100;
|
|
1527
1551
|
return t(e.x) || t(e.y);
|
|
1528
|
-
},
|
|
1529
|
-
let i =
|
|
1530
|
-
return i.length === 0 ? "" : `${e(t, n)} {\n${
|
|
1531
|
-
},
|
|
1552
|
+
}, Ye = (e, t, n, r) => {
|
|
1553
|
+
let i = G(r.value);
|
|
1554
|
+
return i.length === 0 ? "" : `${e(t, n)} {\n${K(i)}\n}`;
|
|
1555
|
+
}, Xe = (e, t, n = []) => {
|
|
1532
1556
|
let r = [];
|
|
1533
1557
|
for (let t of e) {
|
|
1534
1558
|
let e = t.name;
|
|
1535
|
-
for (let n of
|
|
1536
|
-
let i = t.variants[n], a =
|
|
1559
|
+
for (let n of we) {
|
|
1560
|
+
let i = t.variants[n], a = U[n];
|
|
1537
1561
|
if (a === "self") {
|
|
1538
|
-
r.push(
|
|
1562
|
+
r.push(Ye(Ue, e, n, i));
|
|
1539
1563
|
continue;
|
|
1540
1564
|
}
|
|
1541
1565
|
let o = a === "initial" ? t.initial : t.variants[a].value;
|
|
1542
|
-
r.push(
|
|
1566
|
+
r.push(qe("screen", e, n, o, i, Ue));
|
|
1543
1567
|
}
|
|
1544
1568
|
}
|
|
1545
1569
|
for (let e of t) {
|
|
1546
1570
|
let t = e.name;
|
|
1547
|
-
for (let n of
|
|
1548
|
-
let i = e.variants[n], a =
|
|
1571
|
+
for (let n of Oe) {
|
|
1572
|
+
let i = e.variants[n], a = U[n];
|
|
1549
1573
|
if (a === "self") {
|
|
1550
|
-
r.push(
|
|
1574
|
+
r.push(Ye(We, t, n, i));
|
|
1551
1575
|
continue;
|
|
1552
1576
|
}
|
|
1553
1577
|
let o = a === "initial" ? e.initial : e.variants[a].value;
|
|
1554
|
-
r.push(
|
|
1578
|
+
r.push(qe("decorator", t, n, o, i, We));
|
|
1555
1579
|
}
|
|
1556
1580
|
}
|
|
1557
1581
|
for (let e of n) {
|
|
1558
1582
|
let t = e.name;
|
|
1559
|
-
for (let n of
|
|
1560
|
-
let i = e.variants[n], a =
|
|
1583
|
+
for (let n of Oe) {
|
|
1584
|
+
let i = e.variants[n], a = U[n];
|
|
1561
1585
|
if (a === "self") {
|
|
1562
|
-
r.push(
|
|
1586
|
+
r.push(Ye(Ke, t, n, i));
|
|
1563
1587
|
continue;
|
|
1564
1588
|
}
|
|
1565
1589
|
let o = a === "initial" ? e.initial : e.variants[a].value;
|
|
1566
|
-
r.push(
|
|
1590
|
+
r.push(qe("part", t, n, o, i, Ke));
|
|
1567
1591
|
}
|
|
1568
1592
|
}
|
|
1569
|
-
return [
|
|
1570
|
-
|
|
1593
|
+
return [
|
|
1594
|
+
...r.filter((e) => e.length > 0),
|
|
1595
|
+
Ze,
|
|
1596
|
+
$e,
|
|
1597
|
+
et
|
|
1598
|
+
].join("\n\n");
|
|
1599
|
+
}, Ze = [
|
|
1571
1600
|
"[data-flemo-anim-hold=\"true\"],",
|
|
1572
1601
|
"[data-flemo-anim-hold=\"park\"],",
|
|
1573
1602
|
"[data-flemo-anim-hold=\"park-under\"],",
|
|
@@ -1576,17 +1605,29 @@ var L = /* @__PURE__ */ new Map(), R = {
|
|
|
1576
1605
|
"[data-flemo-anim-hold=\"park-under\"] [data-flemo-part-name] {",
|
|
1577
1606
|
" animation-play-state: paused !important;",
|
|
1578
1607
|
"}"
|
|
1579
|
-
].join("\n"),
|
|
1580
|
-
|
|
1608
|
+
].join("\n"), Qe = [["PUSHING", "true"], ["REPLACING", "true"]], $e = [
|
|
1609
|
+
...Qe.flatMap(([e, t], n) => [
|
|
1610
|
+
"",
|
|
1611
|
+
"::before",
|
|
1612
|
+
"::after"
|
|
1613
|
+
].map((r, i) => `[data-flemo-screen][data-flemo-status="${e}"][data-flemo-active="${t}"] :not([data-flemo-part-name])${r}${n === Qe.length - 1 && i === 2 ? " {" : ","}`)),
|
|
1614
|
+
" animation: none !important;",
|
|
1615
|
+
"}"
|
|
1616
|
+
].join("\n"), et = [
|
|
1617
|
+
"[data-flemo-held-arrival] {",
|
|
1618
|
+
" display: none !important;",
|
|
1619
|
+
"}"
|
|
1620
|
+
].join("\n"), J = (e, t) => {
|
|
1621
|
+
let n = U[t];
|
|
1581
1622
|
if (n === "self") return !1;
|
|
1582
|
-
let r = e.variants[t], i =
|
|
1623
|
+
let r = e.variants[t], i = Te(r.options), a = Ee(r.options);
|
|
1583
1624
|
if (i <= 0 && a <= 0) return !1;
|
|
1584
|
-
let o =
|
|
1625
|
+
let o = G(n === "initial" ? e.initial : e.variants[n].value), s = G(r.value);
|
|
1585
1626
|
return o.length > 0 || s.length > 0;
|
|
1586
1627
|
}, tt = "data-flemo";
|
|
1587
1628
|
function nt() {
|
|
1588
|
-
if (
|
|
1589
|
-
let e =
|
|
1629
|
+
if (f()) return;
|
|
1630
|
+
let e = Xe(z.values(), V.values(), H.values()), t = document.head.querySelector(`style[${tt}]`);
|
|
1590
1631
|
t || (t = document.createElement("style"), t.setAttribute(tt, ""), document.head.appendChild(t)), t.textContent !== e && (t.textContent = e);
|
|
1591
1632
|
}
|
|
1592
1633
|
//#endregion
|
|
@@ -1598,13 +1639,13 @@ var rt = /* @__PURE__ */ new Map(), it = /* @__PURE__ */ new Map(), at = /* @__P
|
|
|
1598
1639
|
return n <= 0 ? (e.delete(t), !0) : (e.set(t, n), !1);
|
|
1599
1640
|
};
|
|
1600
1641
|
function ct(e, t, n = []) {
|
|
1601
|
-
for (let t of e)
|
|
1602
|
-
for (let e of t)
|
|
1603
|
-
for (let e of n)
|
|
1642
|
+
for (let t of e) z.set(t.name, t), ot(rt, t.name);
|
|
1643
|
+
for (let e of t) V.set(e.name, e), ot(it, e.name);
|
|
1644
|
+
for (let e of n) H.set(e.name, e), ot(at, e.name);
|
|
1604
1645
|
return nt(), () => {
|
|
1605
|
-
for (let t of e) st(rt, t.name) &&
|
|
1606
|
-
for (let e of t) st(it, e.name) &&
|
|
1607
|
-
for (let e of n) st(at, e.name) &&
|
|
1646
|
+
for (let t of e) st(rt, t.name) && z.delete(t.name);
|
|
1647
|
+
for (let e of t) st(it, e.name) && V.delete(e.name);
|
|
1648
|
+
for (let e of n) st(at, e.name) && H.delete(e.name);
|
|
1608
1649
|
nt();
|
|
1609
1650
|
};
|
|
1610
1651
|
}
|
|
@@ -1686,9 +1727,12 @@ var ut = () => ({
|
|
|
1686
1727
|
};
|
|
1687
1728
|
})(), pt = "flemo:motion-driver", mt = "flemo:motion-driver-force", ht = !1, gt = () => {
|
|
1688
1729
|
try {
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1730
|
+
try {
|
|
1731
|
+
typeof localStorage < "u" && localStorage.removeItem(mt);
|
|
1732
|
+
} catch {}
|
|
1733
|
+
if (typeof sessionStorage > "u") return null;
|
|
1734
|
+
let e = sessionStorage.getItem(mt);
|
|
1735
|
+
return e !== "css" && e !== "raf" ? null : (!ht && typeof console < "u" && (ht = !0, console.warn(`[flemo] motion driver pinned to "${e}" via sessionStorage ${mt}; remove the key to restore automatic selection.`)), e);
|
|
1692
1736
|
} catch {
|
|
1693
1737
|
return null;
|
|
1694
1738
|
}
|
|
@@ -1705,7 +1749,7 @@ var ut = () => ({
|
|
|
1705
1749
|
typeof localStorage < "u" && localStorage.setItem(pt, e);
|
|
1706
1750
|
} catch {}
|
|
1707
1751
|
}
|
|
1708
|
-
}), vt = 30, yt = 2, bt = 2,
|
|
1752
|
+
}), vt = 30, yt = 2, bt = 2, Y = ((e = _t(), t = !1) => {
|
|
1709
1753
|
let n = e.read() === "css", r = n;
|
|
1710
1754
|
n &&= !1;
|
|
1711
1755
|
let i = 0, a = 0, o = [];
|
|
@@ -1734,43 +1778,43 @@ var ut = () => ({
|
|
|
1734
1778
|
demoted: n
|
|
1735
1779
|
})
|
|
1736
1780
|
};
|
|
1737
|
-
})(),
|
|
1738
|
-
let n =
|
|
1739
|
-
n || (n = /* @__PURE__ */ new Set(),
|
|
1740
|
-
},
|
|
1781
|
+
})(), xt = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, St = /* @__PURE__ */ new WeakMap(), X = (e, t) => {
|
|
1782
|
+
let n = St.get(e);
|
|
1783
|
+
n || (n = /* @__PURE__ */ new Set(), St.set(e, n)), n.add(t);
|
|
1784
|
+
}, Z = (e, t) => {
|
|
1741
1785
|
if (ft.cancel(e), e.style.transition = "", e.style.removeProperty("animation-delay"), t) {
|
|
1742
|
-
let n =
|
|
1786
|
+
let n = St.get(e);
|
|
1743
1787
|
for (let r of t) e.style.removeProperty(r), n?.delete(r);
|
|
1744
1788
|
return;
|
|
1745
1789
|
}
|
|
1746
|
-
let n =
|
|
1790
|
+
let n = St.get(e);
|
|
1747
1791
|
if (n && n.size > 0) {
|
|
1748
1792
|
for (let t of n) e.style.removeProperty(t);
|
|
1749
1793
|
n.clear();
|
|
1750
1794
|
return;
|
|
1751
1795
|
}
|
|
1752
1796
|
e.style.removeProperty("transform"), e.style.removeProperty("opacity");
|
|
1753
|
-
},
|
|
1754
|
-
if (!
|
|
1755
|
-
let r = e, i =
|
|
1797
|
+
}, Q = (e, t, n = {}) => {
|
|
1798
|
+
if (!xt(e)) return Promise.resolve();
|
|
1799
|
+
let r = e, i = G(t);
|
|
1756
1800
|
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 =
|
|
1801
|
+
let a = typeof n.duration == "number" ? n.duration : 0, o = typeof n.delay == "number" && n.delay > 0 ? n.delay : 0, s = He(n.ease);
|
|
1758
1802
|
if (a <= 0 && o <= 0) {
|
|
1759
1803
|
ft.takeover(r), r.style.transition = "none";
|
|
1760
|
-
for (let e of i) r.style.setProperty(e.property, e.value),
|
|
1804
|
+
for (let e of i) r.style.setProperty(e.property, e.value), X(r, e.property);
|
|
1761
1805
|
return Promise.resolve();
|
|
1762
1806
|
}
|
|
1763
|
-
let c =
|
|
1807
|
+
let c = Y.playerAllowed() ? ft.settle(r, i, {
|
|
1764
1808
|
durationMs: a * 1e3,
|
|
1765
1809
|
delayMs: o * 1e3,
|
|
1766
1810
|
easing: s
|
|
1767
1811
|
}, (e) => {
|
|
1768
|
-
r.style.setProperty(e.property, e.value),
|
|
1812
|
+
r.style.setProperty(e.property, e.value), X(r, e.property);
|
|
1769
1813
|
}) : null;
|
|
1770
1814
|
if (c) return c;
|
|
1771
1815
|
let l = i.map((e) => `${e.property} ${a}s ${s} ${o}s`).join(", ");
|
|
1772
1816
|
r.style.transition = l, r.offsetWidth;
|
|
1773
|
-
for (let e of i) r.style.setProperty(e.property, e.value),
|
|
1817
|
+
for (let e of i) r.style.setProperty(e.property, e.value), X(r, e.property);
|
|
1774
1818
|
return new Promise((e) => {
|
|
1775
1819
|
let t = !1, n = () => {
|
|
1776
1820
|
t || (t = !0, r.removeEventListener("transitionend", i), e());
|
|
@@ -1779,7 +1823,92 @@ var ut = () => ({
|
|
|
1779
1823
|
};
|
|
1780
1824
|
r.addEventListener("transitionend", i), setTimeout(n, (a + o) * 1e3 + 60);
|
|
1781
1825
|
});
|
|
1782
|
-
}, Ct =
|
|
1826
|
+
}, Ct = "data-flemo-held-arrival";
|
|
1827
|
+
function wt(e) {
|
|
1828
|
+
if (typeof MutationObserver > "u") return () => {};
|
|
1829
|
+
let t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = (t) => {
|
|
1830
|
+
let n = t instanceof Element ? t : t.parentElement;
|
|
1831
|
+
return !n || n === e ? !0 : n.closest(`[data-flemo-part-name], [${Ct}]`) !== null;
|
|
1832
|
+
}, s = (e, t, n, r) => e ? n === e.glass ? (e.pendingEcho ? e.pendingEcho = !1 : e.latest = n, e) : (e.latest = n, r(e.glass), e.pendingEcho = !0, e) : n === t ? null : (r(t), {
|
|
1833
|
+
glass: t,
|
|
1834
|
+
latest: n,
|
|
1835
|
+
pendingEcho: !0
|
|
1836
|
+
}), c = new MutationObserver((e) => {
|
|
1837
|
+
let c = /* @__PURE__ */ new Map(), l = (e) => {
|
|
1838
|
+
let t = c.get(e);
|
|
1839
|
+
return t || c.set(e, t = {
|
|
1840
|
+
removed: [],
|
|
1841
|
+
added: []
|
|
1842
|
+
}), t;
|
|
1843
|
+
}, u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map();
|
|
1844
|
+
for (let i of e) {
|
|
1845
|
+
if (i.type === "characterData") {
|
|
1846
|
+
let e = i.target;
|
|
1847
|
+
if (!e.isConnected || o(e)) continue;
|
|
1848
|
+
u.has(e) || u.set(e, i.oldValue);
|
|
1849
|
+
continue;
|
|
1850
|
+
}
|
|
1851
|
+
if (i.type === "attributes") {
|
|
1852
|
+
let e = i.target, t = i.attributeName;
|
|
1853
|
+
if (t.startsWith("data-flemo") || !e.isConnected || o(e)) continue;
|
|
1854
|
+
let n = d.get(e);
|
|
1855
|
+
n || d.set(e, n = /* @__PURE__ */ new Map()), n.has(t) || n.set(t, i.oldValue);
|
|
1856
|
+
continue;
|
|
1857
|
+
}
|
|
1858
|
+
if (i.type === "childList") {
|
|
1859
|
+
for (let e of Array.from(i.removedNodes)) if (!n.has(e)) {
|
|
1860
|
+
if (e instanceof Element && t.delete(e)) {
|
|
1861
|
+
e.removeAttribute(Ct);
|
|
1862
|
+
continue;
|
|
1863
|
+
}
|
|
1864
|
+
(e instanceof Element || e.nodeType === Node.TEXT_NODE) && l(i.target).removed.push(e);
|
|
1865
|
+
}
|
|
1866
|
+
for (let e of Array.from(i.addedNodes)) r.delete(e) || e instanceof Element && (e.setAttribute(Ct, ""), t.add(e), l(i.target).added.push(e));
|
|
1867
|
+
}
|
|
1868
|
+
}
|
|
1869
|
+
for (let [e, t] of u) {
|
|
1870
|
+
let n = s(i.get(e), t, e.nodeValue, (t) => {
|
|
1871
|
+
e.nodeValue = t;
|
|
1872
|
+
});
|
|
1873
|
+
n && i.set(e, n);
|
|
1874
|
+
}
|
|
1875
|
+
for (let [e, t] of d) {
|
|
1876
|
+
let n = a.get(e);
|
|
1877
|
+
for (let [r, i] of t) {
|
|
1878
|
+
let t = s(n?.get(r), i, e.getAttribute(r), (t) => {
|
|
1879
|
+
t === null ? e.removeAttribute(r) : e.setAttribute(r, t);
|
|
1880
|
+
});
|
|
1881
|
+
t && (n || a.set(e, n = /* @__PURE__ */ new Map()), n.set(r, t));
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1884
|
+
for (let [e, i] of c) {
|
|
1885
|
+
if (i.removed.length === 0 || !e.isConnected) continue;
|
|
1886
|
+
let a = i.added.find((t) => t.parentNode === e) ?? Array.from(e.childNodes).find((e) => e instanceof Element && t.has(e)) ?? null;
|
|
1887
|
+
if (!(i.added.length === 0 && !a)) for (let t of i.removed) r.add(t), e.insertBefore(t, a), n.add(t);
|
|
1888
|
+
}
|
|
1889
|
+
});
|
|
1890
|
+
return c.observe(e, {
|
|
1891
|
+
childList: !0,
|
|
1892
|
+
subtree: !0,
|
|
1893
|
+
characterData: !0,
|
|
1894
|
+
characterDataOldValue: !0,
|
|
1895
|
+
attributes: !0,
|
|
1896
|
+
attributeOldValue: !0
|
|
1897
|
+
}), () => {
|
|
1898
|
+
c.disconnect();
|
|
1899
|
+
for (let e of n) e.parentNode?.removeChild(e);
|
|
1900
|
+
n.clear();
|
|
1901
|
+
for (let e of t) e.removeAttribute(Ct);
|
|
1902
|
+
t.clear();
|
|
1903
|
+
for (let [e, t] of i) e.isConnected && (e.nodeValue = t.latest);
|
|
1904
|
+
i.clear();
|
|
1905
|
+
for (let [e, t] of a) if (e.isConnected) for (let [n, r] of t) r.latest === null ? e.removeAttribute(n) : e.setAttribute(n, r.latest);
|
|
1906
|
+
a.clear(), r.clear();
|
|
1907
|
+
};
|
|
1908
|
+
}
|
|
1909
|
+
//#endregion
|
|
1910
|
+
//#region src/transition/cubicBezier.ts
|
|
1911
|
+
var Tt = (e, t, n, r) => {
|
|
1783
1912
|
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
1913
|
return (e) => {
|
|
1785
1914
|
if (e <= 0) return 0;
|
|
@@ -1791,7 +1920,7 @@ var ut = () => ({
|
|
|
1791
1920
|
}
|
|
1792
1921
|
return a((t + n) / 2);
|
|
1793
1922
|
};
|
|
1794
|
-
},
|
|
1923
|
+
}, Et = (e) => e, Dt = {
|
|
1795
1924
|
ease: [
|
|
1796
1925
|
.25,
|
|
1797
1926
|
.1,
|
|
@@ -1846,16 +1975,62 @@ var ut = () => ({
|
|
|
1846
1975
|
.66,
|
|
1847
1976
|
-.56
|
|
1848
1977
|
]
|
|
1849
|
-
},
|
|
1978
|
+
}, Ot = (e) => {
|
|
1850
1979
|
if (Array.isArray(e)) {
|
|
1851
1980
|
if (e.length === 4 && e.every((e) => typeof e == "number")) {
|
|
1852
1981
|
let [t, n, r, i] = e;
|
|
1853
|
-
return
|
|
1982
|
+
return Tt(t, n, r, i);
|
|
1854
1983
|
}
|
|
1855
|
-
return
|
|
1984
|
+
return Et;
|
|
1985
|
+
}
|
|
1986
|
+
return typeof e == "string" ? e === "linear" ? Et : Tt(...Dt[e] ?? Dt.ease) : Tt(...Dt.ease);
|
|
1987
|
+
}, kt = 1 / 255, At = 400, jt = 24, Mt = new Set([
|
|
1988
|
+
"x",
|
|
1989
|
+
"y",
|
|
1990
|
+
"opacity"
|
|
1991
|
+
]), Nt = (e, t, n) => {
|
|
1992
|
+
if (!e || typeof e != "object") return;
|
|
1993
|
+
let r = e[t];
|
|
1994
|
+
if (r === void 0) return;
|
|
1995
|
+
if (typeof r == "number") return r;
|
|
1996
|
+
if (typeof r != "string") return null;
|
|
1997
|
+
let i = r.trim();
|
|
1998
|
+
if (i.endsWith("%")) {
|
|
1999
|
+
let e = Number(i.slice(0, -1));
|
|
2000
|
+
if (Number.isNaN(e)) return null;
|
|
2001
|
+
let r = t === "y" ? n.clientHeight : n.clientWidth;
|
|
2002
|
+
return e / 100 * r;
|
|
2003
|
+
}
|
|
2004
|
+
if (i.endsWith("px")) {
|
|
2005
|
+
let e = Number(i.slice(0, -2));
|
|
2006
|
+
return Number.isNaN(e) ? null : e;
|
|
2007
|
+
}
|
|
2008
|
+
return null;
|
|
2009
|
+
}, Pt = (e, t, n) => {
|
|
2010
|
+
let r = /* @__PURE__ */ new Set();
|
|
2011
|
+
for (let t of [e.from, e.to]) if (!(!t || typeof t != "object")) for (let e of Object.keys(t)) r.add(e);
|
|
2012
|
+
if (r.size === 0) return null;
|
|
2013
|
+
let i = Infinity;
|
|
2014
|
+
for (let a of r) {
|
|
2015
|
+
if (!Mt.has(a)) return null;
|
|
2016
|
+
let r = Nt(e.from, a, t), o = Nt(e.to, a, t);
|
|
2017
|
+
if (r === null || o === null || r === void 0 || o === void 0) return null;
|
|
2018
|
+
let s = Math.abs(o - r);
|
|
2019
|
+
if (s === 0) continue;
|
|
2020
|
+
let c = a === "opacity" ? kt : 1 / Math.max(1, n);
|
|
2021
|
+
i = Math.min(i, c / s);
|
|
1856
2022
|
}
|
|
1857
|
-
return
|
|
1858
|
-
},
|
|
2023
|
+
return !Number.isFinite(i) || i <= 0 || i >= 1 ? null : i;
|
|
2024
|
+
}, Ft = (e, t, n) => {
|
|
2025
|
+
if (e.duration <= 0) return null;
|
|
2026
|
+
let r = Pt(e, t, n);
|
|
2027
|
+
if (r === null) return null;
|
|
2028
|
+
let i = Ot(e.ease), a = At;
|
|
2029
|
+
for (let e = At; e >= 0 && !(Math.abs(1 - i(e / At)) > r); --e) a = e;
|
|
2030
|
+
if (a === 0) return null;
|
|
2031
|
+
let o = (e.delay + e.duration * (a / At)) * 1e3;
|
|
2032
|
+
return (e.delay + e.duration) * 1e3 - o < jt ? null : o;
|
|
2033
|
+
}, It = [
|
|
1859
2034
|
"x",
|
|
1860
2035
|
"y",
|
|
1861
2036
|
"z",
|
|
@@ -1866,7 +2041,7 @@ var ut = () => ({
|
|
|
1866
2041
|
"rotateX",
|
|
1867
2042
|
"rotateY",
|
|
1868
2043
|
"rotateZ"
|
|
1869
|
-
],
|
|
2044
|
+
], Lt = new Set(It), Rt = {
|
|
1870
2045
|
x: 0,
|
|
1871
2046
|
y: 0,
|
|
1872
2047
|
z: 0,
|
|
@@ -1877,7 +2052,7 @@ var ut = () => ({
|
|
|
1877
2052
|
rotateX: 0,
|
|
1878
2053
|
rotateY: 0,
|
|
1879
2054
|
rotateZ: 0
|
|
1880
|
-
},
|
|
2055
|
+
}, zt = (e, t) => {
|
|
1881
2056
|
if (typeof t == "number") return {
|
|
1882
2057
|
value: t,
|
|
1883
2058
|
unit: e === "x" || e === "y" || e === "z" ? "px" : ""
|
|
@@ -1896,26 +2071,26 @@ var ut = () => ({
|
|
|
1896
2071
|
value: i,
|
|
1897
2072
|
unit: a === "" && i === 0 ? "px" : a
|
|
1898
2073
|
};
|
|
1899
|
-
},
|
|
1900
|
-
let n = e.match(
|
|
1901
|
-
if (n.length !== r.length || e.replace(
|
|
2074
|
+
}, Bt = /-?\d*\.?\d+/g, Vt = (e, t) => {
|
|
2075
|
+
let n = e.match(Bt) ?? [], r = t.match(Bt) ?? [];
|
|
2076
|
+
if (n.length !== r.length || e.replace(Bt, " ") !== t.replace(Bt, " ")) return null;
|
|
1902
2077
|
let i = n.map(Number), a = r.map(Number);
|
|
1903
2078
|
return (t) => {
|
|
1904
2079
|
let n = 0;
|
|
1905
|
-
return e.replace(
|
|
2080
|
+
return e.replace(Bt, () => {
|
|
1906
2081
|
let e = n++, r = i[e] + (a[e] - i[e]) * t;
|
|
1907
2082
|
return `${Math.round(r * 1e3) / 1e3}`;
|
|
1908
2083
|
});
|
|
1909
2084
|
};
|
|
1910
|
-
},
|
|
1911
|
-
let n = new Set([...
|
|
2085
|
+
}, Ht = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), Ut = (e) => typeof e == "object" && !!e && !Array.isArray(e), Wt = (e) => Ut(e) ? Object.keys(e) : [], Gt = (e, t) => Ut(e) ? e[t] : void 0, Kt = (e, t) => {
|
|
2086
|
+
let n = new Set([...Wt(e.from), ...Wt(e.to)]), r = [], i = null, a = [], o = [];
|
|
1912
2087
|
for (let s of n) {
|
|
1913
|
-
let n =
|
|
1914
|
-
if (
|
|
2088
|
+
let n = Gt(e.from, s), c = Gt(e.to, s);
|
|
2089
|
+
if (Lt.has(s)) {
|
|
1915
2090
|
let e = s, i = {
|
|
1916
|
-
value:
|
|
2091
|
+
value: Rt[e],
|
|
1917
2092
|
unit: e === "x" || e === "y" || e === "z" ? "px" : ""
|
|
1918
|
-
}, a = n === void 0 ? i :
|
|
2093
|
+
}, a = n === void 0 ? i : zt(e, n), o = c === void 0 ? i : zt(e, c);
|
|
1919
2094
|
if (!a || !o || a.unit !== o.unit && a.value !== 0 && o.value !== 0) return null;
|
|
1920
2095
|
let l = a.value === 0 && a.unit !== o.unit ? o.unit : a.unit, u = l === "%", d = 0;
|
|
1921
2096
|
u && t && (d = e === "y" ? t.offsetHeight / 100 : t.offsetWidth / 100), r.push({
|
|
@@ -1946,15 +2121,15 @@ var ut = () => ({
|
|
|
1946
2121
|
if (typeof l != "string" || typeof u != "string") return null;
|
|
1947
2122
|
if (l === u) {
|
|
1948
2123
|
o.push({
|
|
1949
|
-
property:
|
|
2124
|
+
property: Ht(s),
|
|
1950
2125
|
value: l
|
|
1951
2126
|
});
|
|
1952
2127
|
continue;
|
|
1953
2128
|
}
|
|
1954
|
-
let d =
|
|
2129
|
+
let d = Vt(l, u);
|
|
1955
2130
|
if (!d) return null;
|
|
1956
2131
|
a.push({
|
|
1957
|
-
property:
|
|
2132
|
+
property: Ht(s),
|
|
1958
2133
|
mix: d
|
|
1959
2134
|
});
|
|
1960
2135
|
}
|
|
@@ -1964,46 +2139,46 @@ var ut = () => ({
|
|
|
1964
2139
|
strings: a,
|
|
1965
2140
|
constants: o
|
|
1966
2141
|
};
|
|
1967
|
-
},
|
|
2142
|
+
}, qt = 1, Jt = (e, t, n, r) => {
|
|
1968
2143
|
let i = 0, a = 0, o = !1, s = [], c = !0;
|
|
1969
|
-
for (let l of
|
|
2144
|
+
for (let l of It) {
|
|
1970
2145
|
let u = e.find((e) => e.prop === l);
|
|
1971
2146
|
if (!u) continue;
|
|
1972
2147
|
let d = u.from.value + (u.to.value - u.from.value) * t;
|
|
1973
2148
|
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 >=
|
|
2149
|
+
let e = l === "x" ? r.x : r.y, t = (e === null || Math.abs(d - e) * n >= qt) && n > 0 ? Math.round(d * n) / n : Math.round(d * 1e3) / 1e3;
|
|
1975
2150
|
l === "x" ? (r.x = d, i = t) : (r.y = d, a = t), o = !0, t !== 0 && (c = !1);
|
|
1976
2151
|
continue;
|
|
1977
2152
|
}
|
|
1978
|
-
let f =
|
|
2153
|
+
let f = Rt[l];
|
|
1979
2154
|
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
2155
|
}
|
|
1981
2156
|
return !o && s.length === 0 ? "" : c ? "none" : [...o ? [`translate3d(${i}px, ${a}px, 0)`] : [], ...s].join(" ");
|
|
1982
|
-
},
|
|
2157
|
+
}, Yt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), Xt = (e) => {
|
|
1983
2158
|
let t = {};
|
|
1984
|
-
for (let n of
|
|
2159
|
+
for (let n of G(e)) t[Yt(n.property)] = n.value;
|
|
1985
2160
|
return t;
|
|
1986
|
-
},
|
|
2161
|
+
}, Zt = (e, t) => {
|
|
1987
2162
|
if (typeof e.animate != "function") return null;
|
|
1988
2163
|
try {
|
|
1989
|
-
let n = e.animate([
|
|
2164
|
+
let n = e.animate([Xt(t.from), Xt(t.to)], {
|
|
1990
2165
|
duration: Math.max(0, t.duration * 1e3),
|
|
1991
2166
|
delay: Math.max(0, t.delay * 1e3),
|
|
1992
|
-
easing:
|
|
2167
|
+
easing: He(t.ease),
|
|
1993
2168
|
fill: "both"
|
|
1994
2169
|
});
|
|
1995
2170
|
return n.pause(), n.currentTime = 0, n;
|
|
1996
2171
|
} catch {
|
|
1997
2172
|
return null;
|
|
1998
2173
|
}
|
|
1999
|
-
},
|
|
2174
|
+
}, Qt = 1e3 / 60, $t = 100, en = () => ({
|
|
2000
2175
|
request: (e) => requestAnimationFrame(e),
|
|
2001
2176
|
cancel: (e) => cancelAnimationFrame(e),
|
|
2002
2177
|
devicePixelRatio: () => typeof window < "u" && window.devicePixelRatio || 1
|
|
2003
|
-
}),
|
|
2178
|
+
}), tn = ((e = en()) => {
|
|
2004
2179
|
let t = /* @__PURE__ */ new Map(), n = {
|
|
2005
2180
|
join: (n, r) => {
|
|
2006
|
-
let i =
|
|
2181
|
+
let i = Kt(r.motion, r.element), s = i ? null : Zt(r.element, r.motion);
|
|
2007
2182
|
if (!i && !s) return null;
|
|
2008
2183
|
let c = t.get(n);
|
|
2009
2184
|
c || (c = {
|
|
@@ -2024,14 +2199,14 @@ var ut = () => ({
|
|
|
2024
2199
|
y: null
|
|
2025
2200
|
}
|
|
2026
2201
|
};
|
|
2027
|
-
if (c.tracks.push(l), l.element.style.animation = "none",
|
|
2028
|
-
i.transforms.length > 0 &&
|
|
2029
|
-
for (let e of i.strings)
|
|
2030
|
-
for (let e of i.constants)
|
|
2202
|
+
if (c.tracks.push(l), l.element.style.animation = "none", X(l.element, "animation"), i) {
|
|
2203
|
+
i.transforms.length > 0 && X(l.element, "transform"), i.opacity && X(l.element, "opacity");
|
|
2204
|
+
for (let e of i.strings) X(l.element, e.property);
|
|
2205
|
+
for (let e of i.constants) X(l.element, e.property);
|
|
2031
2206
|
a(l, 0);
|
|
2032
2207
|
}
|
|
2033
|
-
return r.role === "active" && !c.started && (c.started = !0,
|
|
2034
|
-
l.detached = !0, l.scrub?.cancel(),
|
|
2208
|
+
return r.role === "active" && !c.started && (c.started = !0, Y.beginRun(), o(n, c)), () => {
|
|
2209
|
+
l.detached = !0, l.scrub?.cancel(), Z(l.element);
|
|
2035
2210
|
let r = t.get(n);
|
|
2036
2211
|
r && (r.tracks = r.tracks.filter((e) => e !== l), r.tracks.length === 0 && (r.frameHandle !== null && e.cancel(r.frameHandle), t.delete(n)));
|
|
2037
2212
|
};
|
|
@@ -2046,13 +2221,13 @@ var ut = () => ({
|
|
|
2046
2221
|
}
|
|
2047
2222
|
}, r = /* @__PURE__ */ new WeakMap(), i = (e) => {
|
|
2048
2223
|
let t = r.get(e);
|
|
2049
|
-
return t || (t =
|
|
2224
|
+
return t || (t = Ot(e.motion.ease), r.set(e, t)), t;
|
|
2050
2225
|
};
|
|
2051
2226
|
function a(t, n) {
|
|
2052
2227
|
let { element: r, parsed: i } = t;
|
|
2053
2228
|
if (!(!i || !r.isConnected)) {
|
|
2054
2229
|
if (i.transforms.length > 0) {
|
|
2055
|
-
let a =
|
|
2230
|
+
let a = Jt(i.transforms, n, e.devicePixelRatio(), t.snapMemory);
|
|
2056
2231
|
a !== "" && (r.style.transform = a);
|
|
2057
2232
|
}
|
|
2058
2233
|
if (i.opacity) {
|
|
@@ -2072,7 +2247,7 @@ var ut = () => ({
|
|
|
2072
2247
|
let c = r.startTime ?? s;
|
|
2073
2248
|
if (r.lastTime !== null) {
|
|
2074
2249
|
let e = s - r.lastTime;
|
|
2075
|
-
|
|
2250
|
+
Y.reportGap(e), n.onFrameGap?.(e), e >= $t && (c += e - Qt);
|
|
2076
2251
|
}
|
|
2077
2252
|
r.startTime = c, r.lastTime = s;
|
|
2078
2253
|
let l = !0;
|
|
@@ -2088,14 +2263,14 @@ var ut = () => ({
|
|
|
2088
2263
|
a(e, i(e)(o)), o >= 1 ? (e.completed = !0, e.onComplete?.()) : l = !1;
|
|
2089
2264
|
}
|
|
2090
2265
|
if (l) {
|
|
2091
|
-
|
|
2266
|
+
Y.endRun(), t.delete(e);
|
|
2092
2267
|
return;
|
|
2093
2268
|
}
|
|
2094
2269
|
o(e, r);
|
|
2095
2270
|
}
|
|
2096
2271
|
return n;
|
|
2097
2272
|
})();
|
|
2098
|
-
|
|
2273
|
+
tn.onFrameGap = (e) => {
|
|
2099
2274
|
if (typeof window < "u") {
|
|
2100
2275
|
let t = window.__flemoPlayerGaps ??= [];
|
|
2101
2276
|
t.push(Math.round(e * 10) / 10), t.length > 600 && t.splice(0, t.length - 600);
|
|
@@ -2103,23 +2278,23 @@ Z.onFrameGap = (e) => {
|
|
|
2103
2278
|
};
|
|
2104
2279
|
//#endregion
|
|
2105
2280
|
//#region src/core/engine/types.ts
|
|
2106
|
-
var
|
|
2281
|
+
var nn = "data-flemo-skip-animation", $ = () => {}, rn = "data-flemo-part-name", an = (e) => {
|
|
2107
2282
|
let t = e.parentElement ?? e;
|
|
2108
|
-
return Array.from(t.querySelectorAll(`[${
|
|
2283
|
+
return Array.from(t.querySelectorAll(`[${rn}]`)).filter((n) => {
|
|
2109
2284
|
let r = n.closest("[data-flemo-screen]");
|
|
2110
2285
|
return !r || r === e || !t.contains(r);
|
|
2111
2286
|
});
|
|
2112
|
-
},
|
|
2287
|
+
}, on = (e, t) => {
|
|
2113
2288
|
let [n, r] = t.split("-");
|
|
2114
|
-
return
|
|
2115
|
-
},
|
|
2289
|
+
return an(e).filter((e) => e.getAttribute("data-flemo-status") === n && e.getAttribute("data-flemo-active") === r);
|
|
2290
|
+
}, sn = 4, cn = (e) => `${Math.round(e * 1e3) / 1e3}s`, ln = (e) => {
|
|
2116
2291
|
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 =
|
|
2292
|
+
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 = cn(e.seconds)), a = !1;
|
|
2118
2293
|
}, s = (e) => {
|
|
2119
2294
|
a || e.target !== t || e.animationName !== n || i === null && (i = performance.now());
|
|
2120
2295
|
}, c = (s) => {
|
|
2121
2296
|
if (a || s.target !== t || s.animationName !== n) return;
|
|
2122
|
-
if (!e.isLive() || e.budgetUsed() >=
|
|
2297
|
+
if (!e.isLive() || e.budgetUsed() >= sn) {
|
|
2123
2298
|
e.onTerminal();
|
|
2124
2299
|
return;
|
|
2125
2300
|
}
|
|
@@ -2149,28 +2324,56 @@ var Q = "data-flemo-skip-animation", $ = () => {}, Gt = "data-flemo-part-name",
|
|
|
2149
2324
|
}
|
|
2150
2325
|
};
|
|
2151
2326
|
};
|
|
2152
|
-
function
|
|
2153
|
-
let t = /* @__PURE__ */ new Map()
|
|
2327
|
+
function un(e) {
|
|
2328
|
+
let t = /* @__PURE__ */ new Map(), n = null, r = null, i = () => {
|
|
2329
|
+
if (!r) return;
|
|
2330
|
+
let { land: e, cancel: t } = r;
|
|
2331
|
+
r = null, t(), e();
|
|
2332
|
+
}, a = (e) => {
|
|
2333
|
+
if (typeof requestAnimationFrame != "function") {
|
|
2334
|
+
e();
|
|
2335
|
+
return;
|
|
2336
|
+
}
|
|
2337
|
+
let t = 0;
|
|
2338
|
+
t = requestAnimationFrame(() => {
|
|
2339
|
+
t = requestAnimationFrame(() => {
|
|
2340
|
+
r = null, e();
|
|
2341
|
+
});
|
|
2342
|
+
}), r = {
|
|
2343
|
+
land: e,
|
|
2344
|
+
cancel: () => cancelAnimationFrame(t)
|
|
2345
|
+
};
|
|
2346
|
+
};
|
|
2154
2347
|
return {
|
|
2155
|
-
driveScreenLifecycle: (
|
|
2156
|
-
let { getElements:
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2348
|
+
driveScreenLifecycle: (r) => {
|
|
2349
|
+
let { getElements: o, transitionName: c, prevTransitionName: l, status: u, isActive: d, animHoldReleased: f } = r, p = u === "PUSHING" || u === "POPPING" || u === "REPLACING", m = p && f && (d ? u === "PUSHING" || u === "REPLACING" : u === "POPPING");
|
|
2350
|
+
if (!m && n) {
|
|
2351
|
+
let e = n;
|
|
2352
|
+
n = null, p ? e() : a(e);
|
|
2353
|
+
}
|
|
2354
|
+
if (m && !n) {
|
|
2355
|
+
i();
|
|
2356
|
+
let { scope: e } = o();
|
|
2357
|
+
e && (n = wt(e));
|
|
2358
|
+
}
|
|
2359
|
+
let h = (t, n, r) => {
|
|
2360
|
+
let i = e.getTransitionTaskId();
|
|
2361
|
+
if (!i || s.pendingTaskIds.some((e) => e !== i) || !Y.playerAllowed()) return null;
|
|
2362
|
+
let { scope: a, decorator: l, bars: u } = o();
|
|
2363
|
+
if (!a) return null;
|
|
2364
|
+
let d = B(c), f = W(d, t);
|
|
2162
2365
|
if (!f) return null;
|
|
2163
|
-
let p = [], m =
|
|
2164
|
-
element:
|
|
2366
|
+
let p = [], m = tn.join(i, {
|
|
2367
|
+
element: a,
|
|
2165
2368
|
motion: f,
|
|
2166
2369
|
role: n,
|
|
2167
|
-
onComplete:
|
|
2370
|
+
onComplete: r
|
|
2168
2371
|
});
|
|
2169
2372
|
if (!m) return null;
|
|
2170
2373
|
p.push(m);
|
|
2171
2374
|
for (let e of u ?? []) {
|
|
2172
2375
|
if (!e || e.getAttribute("data-flemo-bar-riding") !== "true") continue;
|
|
2173
|
-
let t =
|
|
2376
|
+
let t = tn.join(i, {
|
|
2174
2377
|
element: e,
|
|
2175
2378
|
motion: f,
|
|
2176
2379
|
role: "passive"
|
|
@@ -2178,9 +2381,9 @@ function Zt(e) {
|
|
|
2178
2381
|
t && p.push(t);
|
|
2179
2382
|
}
|
|
2180
2383
|
if (l && d.decoratorName) {
|
|
2181
|
-
let e =
|
|
2384
|
+
let e = V.get(d.decoratorName), n = e ? W(e, t) : null;
|
|
2182
2385
|
if (n) {
|
|
2183
|
-
let e =
|
|
2386
|
+
let e = tn.join(i, {
|
|
2184
2387
|
element: l,
|
|
2185
2388
|
motion: n,
|
|
2186
2389
|
role: "passive"
|
|
@@ -2188,20 +2391,20 @@ function Zt(e) {
|
|
|
2188
2391
|
e && p.push(e);
|
|
2189
2392
|
}
|
|
2190
2393
|
}
|
|
2191
|
-
for (let e of
|
|
2192
|
-
let n =
|
|
2394
|
+
for (let e of on(a, t)) {
|
|
2395
|
+
let n = H.get(e.getAttribute(rn)), r = n ? W(n, t) : null;
|
|
2193
2396
|
if (!r) continue;
|
|
2194
|
-
let
|
|
2397
|
+
let a = tn.join(i, {
|
|
2195
2398
|
element: e,
|
|
2196
2399
|
motion: r,
|
|
2197
2400
|
role: "passive"
|
|
2198
2401
|
});
|
|
2199
|
-
|
|
2402
|
+
a && p.push(a);
|
|
2200
2403
|
}
|
|
2201
2404
|
return () => p.forEach((e) => e());
|
|
2202
|
-
},
|
|
2203
|
-
let n = [], { decorator:
|
|
2204
|
-
let i = 0, a =
|
|
2405
|
+
}, g = (e, t) => {
|
|
2406
|
+
let n = [], { decorator: r, bars: i } = o(), a = B(c), s = (e, t, r) => {
|
|
2407
|
+
let i = 0, a = ln({
|
|
2205
2408
|
element: e,
|
|
2206
2409
|
expectedName: t,
|
|
2207
2410
|
motion: r,
|
|
@@ -2213,106 +2416,154 @@ function Zt(e) {
|
|
|
2213
2416
|
onTerminal: $
|
|
2214
2417
|
});
|
|
2215
2418
|
a.attach(), n.push(a.detach);
|
|
2216
|
-
}, l =
|
|
2217
|
-
if (u) for (let e of
|
|
2218
|
-
if (
|
|
2219
|
-
let e =
|
|
2220
|
-
n &&
|
|
2419
|
+
}, l = q("screen", c, t), u = W(a, t);
|
|
2420
|
+
if (u) for (let e of i ?? []) !e || e.getAttribute("data-flemo-bar-riding") !== "true" || s(e, l, u);
|
|
2421
|
+
if (r && a.decoratorName) {
|
|
2422
|
+
let e = V.get(a.decoratorName), n = e ? W(e, t) : null;
|
|
2423
|
+
n && s(r, q("decorator", a.decoratorName, t), n);
|
|
2221
2424
|
}
|
|
2222
|
-
for (let n of
|
|
2223
|
-
let e = n.getAttribute(
|
|
2224
|
-
i &&
|
|
2425
|
+
for (let n of on(e, t)) {
|
|
2426
|
+
let e = n.getAttribute(rn), r = H.get(e), i = r ? W(r, t) : null;
|
|
2427
|
+
i && s(n, q("part", e, t), i);
|
|
2225
2428
|
}
|
|
2226
2429
|
return n;
|
|
2227
2430
|
};
|
|
2228
|
-
if (!
|
|
2229
|
-
if (
|
|
2230
|
-
let { scope: e, decorator: t, bars: n } =
|
|
2431
|
+
if (!d) {
|
|
2432
|
+
if (u === "COMPLETED") {
|
|
2433
|
+
let { scope: e, decorator: t, bars: n } = o();
|
|
2231
2434
|
if (e) {
|
|
2232
|
-
|
|
2233
|
-
for (let t of
|
|
2435
|
+
Z(e);
|
|
2436
|
+
for (let t of an(e)) Z(t);
|
|
2234
2437
|
}
|
|
2235
|
-
t &&
|
|
2236
|
-
for (let e of n ?? []) e &&
|
|
2438
|
+
t && Z(t);
|
|
2439
|
+
for (let e of n ?? []) e && Z(e);
|
|
2237
2440
|
return $;
|
|
2238
2441
|
}
|
|
2239
|
-
if (
|
|
2240
|
-
let e = `${
|
|
2442
|
+
if (u === "REPLACING" && l !== c && e.setReplaceTransitionStatus("PENDING"), p && f) {
|
|
2443
|
+
let e = `${u}-false`, t = h(e, "passive");
|
|
2241
2444
|
if (t) return t;
|
|
2242
|
-
let { scope: n } =
|
|
2445
|
+
let { scope: n } = o();
|
|
2243
2446
|
if (n) {
|
|
2244
|
-
let t =
|
|
2245
|
-
if (
|
|
2246
|
-
let
|
|
2447
|
+
let t = B(c), r = [];
|
|
2448
|
+
if (J(t, e)) {
|
|
2449
|
+
let i = W(t, e), a = 0, o = ln({
|
|
2247
2450
|
element: n,
|
|
2248
|
-
expectedName:
|
|
2249
|
-
motion:
|
|
2451
|
+
expectedName: q("screen", c, e),
|
|
2452
|
+
motion: i,
|
|
2250
2453
|
isLive: () => n.isConnected && n.getAttribute("data-flemo-skip-animation") !== "true",
|
|
2251
|
-
budgetUsed: () =>
|
|
2454
|
+
budgetUsed: () => a,
|
|
2252
2455
|
spendBudget: () => {
|
|
2253
|
-
|
|
2456
|
+
a += 1;
|
|
2254
2457
|
},
|
|
2255
2458
|
onTerminal: $
|
|
2256
2459
|
});
|
|
2257
|
-
|
|
2460
|
+
o.attach(), r.push(o.detach);
|
|
2258
2461
|
}
|
|
2259
|
-
if (r.push(...
|
|
2462
|
+
if (r.push(...g(n, e)), r.length > 0) return () => r.forEach((e) => e());
|
|
2260
2463
|
}
|
|
2261
2464
|
}
|
|
2262
2465
|
return $;
|
|
2263
2466
|
}
|
|
2264
|
-
if (
|
|
2467
|
+
if (u === "COMPLETED") {
|
|
2265
2468
|
e.setDragStatus("IDLE"), e.setReplaceTransitionStatus("IDLE");
|
|
2266
|
-
let { scope: t, decorator: n, bars:
|
|
2469
|
+
let { scope: t, decorator: n, bars: r } = o();
|
|
2267
2470
|
if (t) {
|
|
2268
|
-
|
|
2269
|
-
for (let e of
|
|
2471
|
+
Z(t), t.removeAttribute(nn);
|
|
2472
|
+
for (let e of an(t)) Z(e);
|
|
2270
2473
|
}
|
|
2271
|
-
n && (
|
|
2272
|
-
for (let e of
|
|
2474
|
+
n && (Z(n), n.removeAttribute(nn));
|
|
2475
|
+
for (let e of r ?? []) e && (Z(e), e.style.removeProperty("will-change"));
|
|
2273
2476
|
return $;
|
|
2274
2477
|
}
|
|
2275
|
-
if (
|
|
2276
|
-
let { scope:
|
|
2277
|
-
if (!
|
|
2278
|
-
let
|
|
2478
|
+
if (u === "IDLE") return $;
|
|
2479
|
+
let { scope: _ } = o();
|
|
2480
|
+
if (!_) return $;
|
|
2481
|
+
let v = e.getTransitionTaskId(), y = () => {
|
|
2279
2482
|
let n = e.getTransitionTaskId();
|
|
2280
|
-
n &&
|
|
2281
|
-
},
|
|
2282
|
-
if (!(!
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2483
|
+
n && s.resolveTask(n), v && t.delete(v);
|
|
2484
|
+
}, b = B(c), x = `${u}-true`, S = _.getAttribute(nn) === "true";
|
|
2485
|
+
if (!(!S && J(b, x))) {
|
|
2486
|
+
if (!S) {
|
|
2487
|
+
let e = `${u}-false`;
|
|
2488
|
+
if (J(b, e)) {
|
|
2489
|
+
if (!f) return v && s.markGateHeld(v), $;
|
|
2490
|
+
v && s.anchorGate(v);
|
|
2491
|
+
let t = W(b, e), n = (t.delay + t.duration) * 1e3 + 50, r = setTimeout(y, n);
|
|
2492
|
+
return () => clearTimeout(r);
|
|
2493
|
+
}
|
|
2494
|
+
}
|
|
2495
|
+
return queueMicrotask(y), $;
|
|
2496
|
+
}
|
|
2497
|
+
v && (f ? s.anchorGate(v) : s.markGateHeld(v));
|
|
2498
|
+
let C = W(b, x), w = !S && !!C, T = q("screen", c, x), E, D = () => {
|
|
2499
|
+
E !== void 0 && (clearTimeout(E), E = void 0);
|
|
2500
|
+
}, O = 0, ee, te = () => {
|
|
2501
|
+
if (O <= 0) {
|
|
2502
|
+
y();
|
|
2503
|
+
return;
|
|
2504
|
+
}
|
|
2505
|
+
ee = setTimeout(y, O);
|
|
2506
|
+
}, k = $, A = $, j = (e) => {
|
|
2507
|
+
e.target === _ && e.animationName === T && (_.removeEventListener("animationend", j), D(), k(), te());
|
|
2287
2508
|
};
|
|
2288
|
-
|
|
2289
|
-
let
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2509
|
+
_.addEventListener("animationend", j);
|
|
2510
|
+
let M = w && f ? h(x, "active", y) : null, N = (C.delay + C.duration) * 1e3, ne = N + 1500, re = v ? setTimeout(() => void s.resolveTask(v), ne) : void 0, ie = `${u}-false`, P = J(b, ie) ? W(b, ie) : null, ae = [];
|
|
2511
|
+
for (let e of Array.from(_.ownerDocument.querySelectorAll(`[${rn}][data-flemo-status="${u}"]`))) {
|
|
2512
|
+
let t = H.get(e.getAttribute(rn)), n = `${u}-${e.getAttribute("data-flemo-active")}`, r = t && J(t, n) ? W(t, n) : null;
|
|
2513
|
+
r && ae.push({
|
|
2514
|
+
element: e,
|
|
2515
|
+
motion: r
|
|
2516
|
+
});
|
|
2517
|
+
}
|
|
2518
|
+
let oe = P ? (P.delay + P.duration) * 1e3 : 0;
|
|
2519
|
+
for (let { motion: e } of ae) oe = Math.max(oe, (e.delay + e.duration) * 1e3);
|
|
2520
|
+
O = Math.max(0, Math.min(1e3, oe - N));
|
|
2521
|
+
let se = N + 250, F = () => v !== null && e.getTransitionTaskId() === v && _.isConnected && _.getAttribute("data-flemo-skip-animation") !== "true" && J(b, x), ce = ln({
|
|
2522
|
+
element: _,
|
|
2523
|
+
expectedName: T,
|
|
2524
|
+
motion: C,
|
|
2525
|
+
isLive: F,
|
|
2526
|
+
budgetUsed: () => t.get(v) ?? 0,
|
|
2295
2527
|
spendBudget: () => {
|
|
2296
|
-
t.set(
|
|
2528
|
+
A(), t.set(v, (t.get(v) ?? 0) + 1);
|
|
2297
2529
|
},
|
|
2298
|
-
onTerminal:
|
|
2530
|
+
onTerminal: y
|
|
2299
2531
|
});
|
|
2300
|
-
|
|
2301
|
-
let
|
|
2302
|
-
|
|
2303
|
-
},
|
|
2304
|
-
if (
|
|
2305
|
-
|
|
2532
|
+
k = ce.detach;
|
|
2533
|
+
let le = !1, ue = () => {
|
|
2534
|
+
D(), E = setTimeout(de, se);
|
|
2535
|
+
}, de = () => {
|
|
2536
|
+
if (D(), F() && !le) {
|
|
2537
|
+
le = !0, A(), ce.fullRestart(), ue();
|
|
2306
2538
|
return;
|
|
2307
2539
|
}
|
|
2308
|
-
|
|
2309
|
-
},
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2540
|
+
y();
|
|
2541
|
+
}, I = !M && f, L = I ? g(_, x) : [];
|
|
2542
|
+
I && (ce.attach(), v && ue());
|
|
2543
|
+
let R, fe = () => {
|
|
2544
|
+
R !== void 0 && (clearTimeout(R), R = void 0);
|
|
2545
|
+
};
|
|
2546
|
+
if (A = fe, I && v) {
|
|
2547
|
+
let e = typeof window < "u" && window.devicePixelRatio || 1, t = Ft(C, _, e), n = P ? Ft(P, _, e) : 0, r = 0;
|
|
2548
|
+
for (let { element: t, motion: n } of ae) {
|
|
2549
|
+
let i = Ft(n, t, e);
|
|
2550
|
+
if (i === null) {
|
|
2551
|
+
r = null;
|
|
2552
|
+
break;
|
|
2553
|
+
}
|
|
2554
|
+
r = Math.max(r, i);
|
|
2555
|
+
}
|
|
2556
|
+
let i = t !== null && n !== null && r !== null ? Math.max(t, n, r) : null;
|
|
2557
|
+
i !== null && i + 17 < N + O && (R = setTimeout(() => {
|
|
2558
|
+
R = void 0, F() && (_.removeEventListener("animationend", j), D(), k(), y());
|
|
2559
|
+
}, i + 17));
|
|
2560
|
+
}
|
|
2561
|
+
return () => {
|
|
2562
|
+
if (re !== void 0 && clearTimeout(re), ee !== void 0 && clearTimeout(ee), fe(), _.removeEventListener("animationend", j), I) {
|
|
2563
|
+
ce.detach();
|
|
2564
|
+
for (let e of L) e();
|
|
2314
2565
|
}
|
|
2315
|
-
|
|
2566
|
+
D(), M?.(), v && e.getTransitionTaskId() !== v && t.delete(v);
|
|
2316
2567
|
};
|
|
2317
2568
|
},
|
|
2318
2569
|
activeResumeEntryCount: () => t.size
|
|
@@ -2320,20 +2571,20 @@ function Zt(e) {
|
|
|
2320
2571
|
}
|
|
2321
2572
|
//#endregion
|
|
2322
2573
|
//#region src/utils/findScrollable.ts
|
|
2323
|
-
function
|
|
2324
|
-
let { direction: n = "x", markerSelector: r = "[data-swipe-at-edge]", depthLimit: i = 24, verifyByScroll: a = !1 } = t ?? {}, o =
|
|
2574
|
+
function dn(e, t) {
|
|
2575
|
+
let { direction: n = "x", markerSelector: r = "[data-swipe-at-edge]", depthLimit: i = 24, verifyByScroll: a = !1 } = t ?? {}, o = fn(e);
|
|
2325
2576
|
if (!o) return {
|
|
2326
2577
|
element: null,
|
|
2327
2578
|
hasMarker: !1
|
|
2328
2579
|
};
|
|
2329
2580
|
let s = o.closest?.(r);
|
|
2330
|
-
if (s instanceof HTMLElement &&
|
|
2581
|
+
if (s instanceof HTMLElement && pn(s, n) && (!a || mn(s, n))) return {
|
|
2331
2582
|
element: s,
|
|
2332
2583
|
hasMarker: !0
|
|
2333
2584
|
};
|
|
2334
2585
|
let c = o, l = 0;
|
|
2335
2586
|
for (; c && l < i;) {
|
|
2336
|
-
if (
|
|
2587
|
+
if (pn(c, n) && (!a || mn(c, n))) return {
|
|
2337
2588
|
element: c,
|
|
2338
2589
|
hasMarker: !1
|
|
2339
2590
|
};
|
|
@@ -2344,7 +2595,7 @@ function Qt(e, t) {
|
|
|
2344
2595
|
hasMarker: !1
|
|
2345
2596
|
};
|
|
2346
2597
|
}
|
|
2347
|
-
function
|
|
2598
|
+
function fn(e) {
|
|
2348
2599
|
if (!e) return null;
|
|
2349
2600
|
let t = e, n = typeof t.composedPath == "function" ? t.composedPath() : void 0;
|
|
2350
2601
|
if (n && n.length) {
|
|
@@ -2352,18 +2603,18 @@ function $t(e) {
|
|
|
2352
2603
|
}
|
|
2353
2604
|
return e instanceof HTMLElement ? e : null;
|
|
2354
2605
|
}
|
|
2355
|
-
function
|
|
2606
|
+
function pn(e, t) {
|
|
2356
2607
|
return t === "y" ? e.scrollHeight - e.clientHeight > 1 : e.scrollWidth - e.clientWidth > 1;
|
|
2357
2608
|
}
|
|
2358
|
-
function
|
|
2359
|
-
if (!
|
|
2609
|
+
function mn(e, t) {
|
|
2610
|
+
if (!pn(e, t) || typeof window > "u") return !1;
|
|
2360
2611
|
let n = window.getComputedStyle(e), r = t === "y" ? n.overflowY : n.overflowX;
|
|
2361
2612
|
return r === "auto" || r === "scroll" || r === "overlay";
|
|
2362
2613
|
}
|
|
2363
2614
|
//#endregion
|
|
2364
2615
|
//#region src/core/engine/createSwipeController.ts
|
|
2365
|
-
var
|
|
2366
|
-
function
|
|
2616
|
+
var hn = "data-flemo-skip-animation";
|
|
2617
|
+
function gn(e) {
|
|
2367
2618
|
let t = null, n = null, r = {
|
|
2368
2619
|
current: [],
|
|
2369
2620
|
prev: []
|
|
@@ -2409,9 +2660,9 @@ function rn(e) {
|
|
|
2409
2660
|
y: e.clientY
|
|
2410
2661
|
}, u = t;
|
|
2411
2662
|
}, v = (n, i, a) => {
|
|
2412
|
-
let o =
|
|
2413
|
-
if (n === e.getElements().scope) for (let e of r.current)
|
|
2414
|
-
else if (n === t) for (let e of r.prev)
|
|
2663
|
+
let o = Q(n, i, a);
|
|
2664
|
+
if (n === e.getElements().scope) for (let e of r.current) Q(e, i, a);
|
|
2665
|
+
else if (n === t) for (let e of r.prev) Q(e, i, a);
|
|
2415
2666
|
return o;
|
|
2416
2667
|
}, y = (t) => {
|
|
2417
2668
|
let n = e.getPartnerBars(), i = [], { sharedTopBar: a, sharedBottomBar: o } = e.getElements();
|
|
@@ -2425,12 +2676,12 @@ function rn(e) {
|
|
|
2425
2676
|
current: i,
|
|
2426
2677
|
prev: s
|
|
2427
2678
|
};
|
|
2428
|
-
let c =
|
|
2679
|
+
let c = Ve(e.getTransition()).join(", ");
|
|
2429
2680
|
for (let e of i) e.style.willChange = c;
|
|
2430
2681
|
for (let e of s) e.style.willChange = c;
|
|
2431
2682
|
}, b = () => {
|
|
2432
|
-
for (let e of r.current)
|
|
2433
|
-
for (let e of r.prev)
|
|
2683
|
+
for (let e of r.current) Z(e), e.style.removeProperty("will-change");
|
|
2684
|
+
for (let e of r.prev) Z(e), e.style.removeProperty("will-change");
|
|
2434
2685
|
r = {
|
|
2435
2686
|
current: [],
|
|
2436
2687
|
prev: []
|
|
@@ -2443,10 +2694,10 @@ function rn(e) {
|
|
|
2443
2694
|
};
|
|
2444
2695
|
}, S = (e, t, n) => {
|
|
2445
2696
|
let r = (r, i) => {
|
|
2446
|
-
let a =
|
|
2697
|
+
let a = H.get(r.getAttribute("data-flemo-part-name"));
|
|
2447
2698
|
if (!a) return;
|
|
2448
2699
|
let o = {
|
|
2449
|
-
animate:
|
|
2700
|
+
animate: Q,
|
|
2450
2701
|
element: r,
|
|
2451
2702
|
active: i
|
|
2452
2703
|
};
|
|
@@ -2455,7 +2706,7 @@ function rn(e) {
|
|
|
2455
2706
|
for (let e of i.current) r(e, !0);
|
|
2456
2707
|
for (let e of i.prev) r(e, !1);
|
|
2457
2708
|
}, C = () => {
|
|
2458
|
-
for (let e of [...i.current, ...i.prev])
|
|
2709
|
+
for (let e of [...i.current, ...i.prev]) Z(e);
|
|
2459
2710
|
i = {
|
|
2460
2711
|
current: [],
|
|
2461
2712
|
prev: []
|
|
@@ -2484,7 +2735,7 @@ function rn(e) {
|
|
|
2484
2735
|
prevScreen: t,
|
|
2485
2736
|
onStart: (e) => {
|
|
2486
2737
|
m?.onSwipeStart?.(e, {
|
|
2487
|
-
animate:
|
|
2738
|
+
animate: Q,
|
|
2488
2739
|
currentDecorator: f,
|
|
2489
2740
|
prevDecorator: n
|
|
2490
2741
|
}), S("start", e, 0);
|
|
@@ -2501,7 +2752,7 @@ function rn(e) {
|
|
|
2501
2752
|
prevScreen: t,
|
|
2502
2753
|
onProgress: (e, t) => {
|
|
2503
2754
|
c?.onSwipe?.(e, t, {
|
|
2504
|
-
animate:
|
|
2755
|
+
animate: Q,
|
|
2505
2756
|
currentDecorator: o,
|
|
2506
2757
|
prevDecorator: n
|
|
2507
2758
|
}), S("swipe", e, t);
|
|
@@ -2520,15 +2771,15 @@ function rn(e) {
|
|
|
2520
2771
|
prevScreen: t,
|
|
2521
2772
|
onStart: (e) => {
|
|
2522
2773
|
u?.onSwipeEnd?.(e, {
|
|
2523
|
-
animate:
|
|
2774
|
+
animate: Q,
|
|
2524
2775
|
currentDecorator: l,
|
|
2525
2776
|
prevDecorator: n
|
|
2526
2777
|
}), S("end", e, 0);
|
|
2527
2778
|
}
|
|
2528
2779
|
})) {
|
|
2529
|
-
c?.setAttribute(
|
|
2780
|
+
c?.setAttribute(hn, "true"), l?.setAttribute(hn, "true");
|
|
2530
2781
|
for (let e of r.current) e.style.removeProperty("will-change");
|
|
2531
|
-
for (let e of r.prev)
|
|
2782
|
+
for (let e of r.prev) Z(e), e.style.removeProperty("will-change");
|
|
2532
2783
|
r = {
|
|
2533
2784
|
current: [],
|
|
2534
2785
|
prev: []
|
|
@@ -2536,14 +2787,14 @@ function rn(e) {
|
|
|
2536
2787
|
current: [],
|
|
2537
2788
|
prev: []
|
|
2538
2789
|
}, e.back();
|
|
2539
|
-
} else c &&
|
|
2790
|
+
} else c && Z(c), t && Z(t), l && Z(l), n && Z(n), b(), C(), e.setDragStatus("IDLE");
|
|
2540
2791
|
};
|
|
2541
2792
|
return {
|
|
2542
2793
|
pointerDown: (t) => {
|
|
2543
|
-
e.isReadyForDrag() && (f =
|
|
2794
|
+
e.isReadyForDrag() && (f = dn(t.target, {
|
|
2544
2795
|
direction: "x",
|
|
2545
2796
|
verifyByScroll: !0
|
|
2546
|
-
}), p =
|
|
2797
|
+
}), p = dn(t.target, {
|
|
2547
2798
|
direction: "y",
|
|
2548
2799
|
verifyByScroll: !0
|
|
2549
2800
|
}), m = t.clientX, h = t.clientY, (!f.element && !p.element || f.element || p.element) && (a = !0));
|
|
@@ -2572,7 +2823,7 @@ function rn(e) {
|
|
|
2572
2823
|
}
|
|
2573
2824
|
//#endregion
|
|
2574
2825
|
//#region src/screen/computeBarRiding.ts
|
|
2575
|
-
function
|
|
2826
|
+
function _n(e) {
|
|
2576
2827
|
return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? {
|
|
2577
2828
|
app: !1,
|
|
2578
2829
|
nav: !1
|
|
@@ -2583,27 +2834,24 @@ function an(e) {
|
|
|
2583
2834
|
}
|
|
2584
2835
|
//#endregion
|
|
2585
2836
|
//#region src/screen/animStartAnchor.ts
|
|
2586
|
-
function
|
|
2837
|
+
function vn(e) {
|
|
2587
2838
|
return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? null : `${e.status}:${e.transitionName}`;
|
|
2588
2839
|
}
|
|
2589
|
-
|
|
2590
|
-
|
|
2840
|
+
var yn = 300, bn = 20;
|
|
2841
|
+
function xn(e) {
|
|
2842
|
+
return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0, bn);
|
|
2591
2843
|
}
|
|
2592
|
-
|
|
2593
|
-
function
|
|
2594
|
-
return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0, ln);
|
|
2595
|
-
}
|
|
2596
|
-
function dn(e) {
|
|
2597
|
-
if (!(!e || typeof e.querySelectorAll != "function")) for (let t of un(e)) t.decode().catch(() => {});
|
|
2844
|
+
function Sn(e) {
|
|
2845
|
+
if (!(!e || typeof e.querySelectorAll != "function")) for (let t of xn(e)) t.decode().catch(() => {});
|
|
2598
2846
|
}
|
|
2599
|
-
function
|
|
2847
|
+
function Cn(e, t = {}) {
|
|
2600
2848
|
let n = !1, r = 0, i = [], a = () => {
|
|
2601
2849
|
let r = t.scope;
|
|
2602
2850
|
if (t.decodeWait === !1 || !r || typeof r.querySelectorAll != "function") {
|
|
2603
2851
|
e();
|
|
2604
2852
|
return;
|
|
2605
2853
|
}
|
|
2606
|
-
let i =
|
|
2854
|
+
let i = xn(r);
|
|
2607
2855
|
if (i.length === 0) {
|
|
2608
2856
|
e();
|
|
2609
2857
|
return;
|
|
@@ -2627,13 +2875,13 @@ function fn(e, t = {}) {
|
|
|
2627
2875
|
n = !0, cancelAnimationFrame(s), r && cancelAnimationFrame(r), i.forEach((e) => cancelAnimationFrame(e));
|
|
2628
2876
|
};
|
|
2629
2877
|
}
|
|
2630
|
-
function
|
|
2631
|
-
let n =
|
|
2878
|
+
function wn(e, t = {}) {
|
|
2879
|
+
let n = Cn(e, t), r = setTimeout(e, 300);
|
|
2632
2880
|
return () => {
|
|
2633
2881
|
n(), clearTimeout(r);
|
|
2634
2882
|
};
|
|
2635
2883
|
}
|
|
2636
|
-
function
|
|
2884
|
+
function Tn() {
|
|
2637
2885
|
let e = /* @__PURE__ */ new Map(), t = (t, n) => {
|
|
2638
2886
|
clearTimeout(n.backstop), e.delete(t);
|
|
2639
2887
|
let r = [...n.members];
|
|
@@ -2652,7 +2900,7 @@ function mn() {
|
|
|
2652
2900
|
let s = o, c = {
|
|
2653
2901
|
release: i,
|
|
2654
2902
|
ready: !1,
|
|
2655
|
-
cancelReadiness:
|
|
2903
|
+
cancelReadiness: Cn(() => {
|
|
2656
2904
|
c.ready = !0, n(s) && t(r, s);
|
|
2657
2905
|
}, a)
|
|
2658
2906
|
};
|
|
@@ -2669,7 +2917,7 @@ function mn() {
|
|
|
2669
2917
|
}
|
|
2670
2918
|
//#endregion
|
|
2671
2919
|
//#region src/screen/observeBarHeight.ts
|
|
2672
|
-
function
|
|
2920
|
+
function En(e, t) {
|
|
2673
2921
|
e.offsetHeight > 0 && t(e.offsetHeight);
|
|
2674
2922
|
let n = new ResizeObserver(([e]) => {
|
|
2675
2923
|
e.contentRect.height > 0 && t(e.contentRect.height);
|
|
@@ -2680,14 +2928,14 @@ function hn(e, t) {
|
|
|
2680
2928
|
}
|
|
2681
2929
|
//#endregion
|
|
2682
2930
|
//#region src/screen/observeViewportScrollHeight.ts
|
|
2683
|
-
var
|
|
2684
|
-
function
|
|
2931
|
+
var Dn = 0;
|
|
2932
|
+
function On(e) {
|
|
2685
2933
|
let t = 0, n = () => {
|
|
2686
2934
|
cancelAnimationFrame(t), t = requestAnimationFrame(() => {
|
|
2687
2935
|
let t = document.documentElement.scrollHeight - (window.visualViewport?.height || 0);
|
|
2688
2936
|
t = t < 0 ? 0 : t;
|
|
2689
|
-
let n = t -
|
|
2690
|
-
n = n < 0 ? 0 : n,
|
|
2937
|
+
let n = t - Dn;
|
|
2938
|
+
n = n < 0 ? 0 : n, Dn ||= t, e(t, n);
|
|
2691
2939
|
});
|
|
2692
2940
|
};
|
|
2693
2941
|
return window.visualViewport?.addEventListener("resize", n), window.visualViewport?.addEventListener("scroll", n), () => {
|
|
@@ -2696,7 +2944,7 @@ function _n(e) {
|
|
|
2696
2944
|
}
|
|
2697
2945
|
//#endregion
|
|
2698
2946
|
//#region src/utils/isOpaqueColor.ts
|
|
2699
|
-
function
|
|
2947
|
+
function kn(e) {
|
|
2700
2948
|
let t = e.trim().toLowerCase();
|
|
2701
2949
|
if (t === "transparent" || t === "") return !1;
|
|
2702
2950
|
if (t.match(/^rgb\(\s*\d+[\s,]+\d+[\s,]+\d+\s*\)$/)) return !0;
|
|
@@ -2707,7 +2955,7 @@ function vn(e) {
|
|
|
2707
2955
|
}
|
|
2708
2956
|
//#endregion
|
|
2709
2957
|
//#region src/utils/buildRoutePath.ts
|
|
2710
|
-
function
|
|
2958
|
+
function An(e, n) {
|
|
2711
2959
|
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();
|
|
2712
2960
|
return {
|
|
2713
2961
|
pathname: `${a}${c ? `?${c}` : ""}`,
|
|
@@ -2715,4 +2963,4 @@ function yn(e, n) {
|
|
|
2715
2963
|
};
|
|
2716
2964
|
}
|
|
2717
2965
|
//#endregion
|
|
2718
|
-
export {
|
|
2966
|
+
export { yn as ANIM_HOLD_RELEASE_BACKSTOP_MS, nn as SKIP_ANIMATION_ATTR, s as TaskManger, vn as animHoldKey, Q as animateInline, q as animationName, ie as appendParamsQuery, nt as applyTransitionStyles, An as buildRoutePath, mn as canProgrammaticallyScroll, Z as clearInlineAnimation, Ve as collectAnimatedProperties, Xe as compileTransitionStyles, _n as computeBarRiding, I as computeScreenFreeze, b as consumeSelfInducedPop, Tn as createAnimHoldCoordinator, g as createBrowserHistoryDriver, ve as createDecorator, c as createHistoryStore, x as createHistorySync, k as createMemoryHistoryDriver, A as createNavigateStore, ne as createNavigationController, Se as createPartTransition, ye as createRawDecorator, Ce as createRawPartTransition, R as createRawTransition, ue as createRouterScope, de as createScreenSelector, F as createScreenStore, _ as createSelfPopGuard, P as createStepController, gn as createSwipeController, L as createTransition, un as createTransitionEngine, oe as createTransitionStore, pe as cupertino, V as decoratorMap, Sn as eagerlyDecodeImages, He as easingToCss, ee as ensureScopeHistorySync, p as ensureWindowHistoryState, lt as enteringInitialStyle, dn as findScrollable, l as getMatchedPathPattern, u as getParams, kn as isOpaqueColor, f as isServer, he as layout, y as markSelfInducedPop, se as matchesPathname, ge as material, _e as none, En as observeBarHeight, On as observeViewportScrollHeight, pn as overflowsAxis, xe as overlay, H as partTransitionMap, re as readStepParams, ct as registerTransitionDefinitions, te as releaseScopeHistorySync, B as resolveTransition, wn as scheduleAnimHoldRelease, d as seedInitialHistory, m as seedRouterEntry, ae as subscribeStepParamsRestore, G as targetToDecls, z as transitionMap, J as variantHasAnimation };
|