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