@flemo/core 1.18.1 → 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.mjs +366 -336
- package/package.json +1 -1
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 ?? "/"
|
|
@@ -560,8 +584,8 @@ var k = (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,13 +602,13 @@ function re(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
613
|
let e = k(u.until, d, f);
|
|
590
614
|
return e < 0 ? 0 : e;
|
|
@@ -598,8 +622,8 @@ function re(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",
|
|
@@ -617,7 +641,7 @@ function re(e) {
|
|
|
617
641
|
...C,
|
|
618
642
|
frameIndex: T + 1
|
|
619
643
|
}), await j(r, i, v, () => {
|
|
620
|
-
|
|
644
|
+
o(), r.pushState({
|
|
621
645
|
id: h,
|
|
622
646
|
index: T + 1,
|
|
623
647
|
status: "PUSHING",
|
|
@@ -638,13 +662,13 @@ function re(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
673
|
let e = k(u.until, d, f);
|
|
650
674
|
return e < 0 ? 0 : e + 1;
|
|
@@ -663,8 +687,8 @@ function re(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",
|
|
@@ -682,7 +706,7 @@ function re(e) {
|
|
|
682
706
|
...w,
|
|
683
707
|
frameIndex: E
|
|
684
708
|
}), y <= d ? await j(r, i, y, () => {
|
|
685
|
-
|
|
709
|
+
o(), r.pushState({
|
|
686
710
|
id: h,
|
|
687
711
|
index: E,
|
|
688
712
|
status: "REPLACING",
|
|
@@ -691,7 +715,7 @@ function re(e) {
|
|
|
691
715
|
layoutId: m
|
|
692
716
|
}, S);
|
|
693
717
|
}) : await j(r, i, d, () => {
|
|
694
|
-
|
|
718
|
+
o(), r.replaceState({
|
|
695
719
|
id: h,
|
|
696
720
|
index: E,
|
|
697
721
|
status: "REPLACING",
|
|
@@ -710,30 +734,30 @@ function re(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
|
|
@@ -757,18 +781,18 @@ function re(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) => {
|
|
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 oe(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 ae(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 ae(e) {
|
|
|
822
846
|
}
|
|
823
847
|
};
|
|
824
848
|
}
|
|
825
|
-
function
|
|
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
|
});
|
|
832
856
|
}
|
|
833
857
|
//#endregion
|
|
834
858
|
//#region src/transition/store.ts
|
|
835
|
-
function
|
|
859
|
+
function ce(t = "cupertino") {
|
|
836
860
|
return e((e) => ({
|
|
837
861
|
defaultTransitionName: t,
|
|
838
862
|
setDefaultTransitionName: (t) => e({ defaultTransitionName: t })
|
|
@@ -840,12 +864,12 @@ function se(t = "cupertino") {
|
|
|
840
864
|
}
|
|
841
865
|
//#endregion
|
|
842
866
|
//#region src/utils/matchesPathname.ts
|
|
843
|
-
function
|
|
867
|
+
function le(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 ue() {
|
|
849
873
|
return e((e) => ({
|
|
850
874
|
dragStatus: "IDLE",
|
|
851
875
|
replaceTransitionStatus: "IDLE",
|
|
@@ -876,25 +900,25 @@ function le() {
|
|
|
876
900
|
}
|
|
877
901
|
//#endregion
|
|
878
902
|
//#region src/core/createRouterScope.ts
|
|
879
|
-
var
|
|
903
|
+
var de = {
|
|
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
|
+
}, fe = /* @__PURE__ */ new Map();
|
|
907
|
+
function pe(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 = 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 fe(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,25 +937,25 @@ function fe(e) {
|
|
|
913
937
|
layoutId: p.layoutId
|
|
914
938
|
},
|
|
915
939
|
url: p.pathname
|
|
916
|
-
}) : o, h = a ?
|
|
917
|
-
history:
|
|
940
|
+
}) : o, h = a ? de : _(), g = {
|
|
941
|
+
history: c([p], 0),
|
|
918
942
|
navigate: O(),
|
|
919
|
-
transition:
|
|
920
|
-
screen:
|
|
943
|
+
transition: ce(i),
|
|
944
|
+
screen: ue(),
|
|
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) => le(t, e),
|
|
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
|
|
934
|
-
function
|
|
958
|
+
function me(e, t) {
|
|
935
959
|
return e.map((n, r) => ({
|
|
936
960
|
...n,
|
|
937
961
|
isActive: r === t,
|
|
@@ -944,7 +968,7 @@ function pe(e, t) {
|
|
|
944
968
|
}
|
|
945
969
|
//#endregion
|
|
946
970
|
//#region src/screen/computeScreenFreeze.ts
|
|
947
|
-
function
|
|
971
|
+
function he(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
|
}
|
|
@@ -971,7 +995,7 @@ function N({ 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 ge({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnExit: l, completedOnEnter: u, options: d }) {
|
|
975
999
|
return {
|
|
976
1000
|
name: e,
|
|
977
1001
|
initial: t,
|
|
@@ -992,10 +1016,10 @@ function he({ 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 _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
|
-
},
|
|
1022
|
+
}, ve = N({
|
|
999
1023
|
name: "cupertino",
|
|
1000
1024
|
initial: { x: "100%" },
|
|
1001
1025
|
idle: {
|
|
@@ -1055,7 +1079,7 @@ var ge = (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 = _e(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 ge = (e, t, n) => {
|
|
|
1079
1103
|
})]), c;
|
|
1080
1104
|
}
|
|
1081
1105
|
}
|
|
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
|
-
},
|
|
1109
|
+
}, be = N({
|
|
1086
1110
|
name: "layout",
|
|
1087
1111
|
initial: { opacity: .97 },
|
|
1088
1112
|
idle: {
|
|
@@ -1110,7 +1134,7 @@ var ge = (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 = ye(s, [0, 56], [1, .96]), l = Math.max(0, o - 56), u = Math.min(1, l / 160), d = Math.sqrt(u) * 12, f = Math.max(0, s + d), p = Math.min(56, f);
|
|
1114
1138
|
return i?.(!0, 100), n(r, {
|
|
1115
1139
|
y: f,
|
|
1116
1140
|
opacity: c
|
|
@@ -1127,7 +1151,7 @@ var ge = (e, t, n) => {
|
|
|
1127
1151
|
}, { duration: .3 })]), c;
|
|
1128
1152
|
}
|
|
1129
1153
|
}
|
|
1130
|
-
}),
|
|
1154
|
+
}), xe = N({
|
|
1131
1155
|
name: "material",
|
|
1132
1156
|
initial: { y: "100%" },
|
|
1133
1157
|
idle: {
|
|
@@ -1235,7 +1259,7 @@ var ge = (e, t, n) => {
|
|
|
1235
1259
|
})]), c;
|
|
1236
1260
|
}
|
|
1237
1261
|
}
|
|
1238
|
-
}),
|
|
1262
|
+
}), Se = N({
|
|
1239
1263
|
name: "none",
|
|
1240
1264
|
initial: {},
|
|
1241
1265
|
idle: {
|
|
@@ -1259,10 +1283,10 @@ var ge = (e, t, n) => {
|
|
|
1259
1283
|
options: { duration: 0 }
|
|
1260
1284
|
}
|
|
1261
1285
|
}), P = new Map([
|
|
1262
|
-
["none",
|
|
1263
|
-
["cupertino",
|
|
1264
|
-
["material",
|
|
1265
|
-
["layout",
|
|
1286
|
+
["none", Se],
|
|
1287
|
+
["cupertino", ve],
|
|
1288
|
+
["material", xe],
|
|
1289
|
+
["layout", be]
|
|
1266
1290
|
]);
|
|
1267
1291
|
//#endregion
|
|
1268
1292
|
//#region src/transition/resolveTransition.ts
|
|
@@ -1271,7 +1295,7 @@ function F(e) {
|
|
|
1271
1295
|
}
|
|
1272
1296
|
//#endregion
|
|
1273
1297
|
//#region src/transition/decorator/createDecorator.ts
|
|
1274
|
-
function
|
|
1298
|
+
function Ce({ 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 Se({ 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 we({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
|
|
1296
1320
|
return {
|
|
1297
1321
|
name: e,
|
|
1298
1322
|
initial: t,
|
|
@@ -1313,7 +1337,7 @@ function Ce({ 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 I = "rgba(0, 0, 0, 0.2)",
|
|
1340
|
+
var I = "rgba(0, 0, 0, 0.2)", Te = Ce({
|
|
1317
1341
|
name: "overlay",
|
|
1318
1342
|
initial: {
|
|
1319
1343
|
opacity: 0,
|
|
@@ -1345,10 +1369,10 @@ var I = "rgba(0, 0, 0, 0.2)", we = Se({
|
|
|
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
|
-
}), L = new Map([["overlay",
|
|
1372
|
+
}), L = new Map([["overlay", Te]]);
|
|
1349
1373
|
//#endregion
|
|
1350
1374
|
//#region src/transition/partTransition/createPartTransition.ts
|
|
1351
|
-
function
|
|
1375
|
+
function Ee({ 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 Te({ 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 De({ name: e, initial: t, idle: n, pushOnEnter: r, pushOnExit: i, replaceOnEnter: a, replaceOnExit: o, popOnEnter: s, popOnExit: c, completedOnEnter: l, completedOnExit: u, options: d }) {
|
|
1373
1397
|
return {
|
|
1374
1398
|
name: e,
|
|
1375
1399
|
initial: t,
|
|
@@ -1401,17 +1425,17 @@ var R = /* @__PURE__ */ new Map(), z = {
|
|
|
1401
1425
|
"POPPING-false": "PUSHING-false",
|
|
1402
1426
|
"COMPLETED-true": "self",
|
|
1403
1427
|
"COMPLETED-false": "self"
|
|
1404
|
-
},
|
|
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
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
|
-
let n =
|
|
1436
|
+
let n = je(e, t);
|
|
1413
1437
|
if (n === null) return null;
|
|
1414
|
-
let r = e.variants[t], i =
|
|
1438
|
+
let r = e.variants[t], i = ke(r.options), a = Ae(r.options);
|
|
1415
1439
|
return i <= 0 && a <= 0 ? null : {
|
|
1416
1440
|
from: n,
|
|
1417
1441
|
to: r.value,
|
|
@@ -1419,7 +1443,7 @@ var R = /* @__PURE__ */ new Map(), z = {
|
|
|
1419
1443
|
delay: a,
|
|
1420
1444
|
ease: r.options?.ease
|
|
1421
1445
|
};
|
|
1422
|
-
},
|
|
1446
|
+
}, Me = Oe, Ne = (e) => e.replace(/[^a-zA-Z0-9_-]/g, "_"), Pe = (e) => typeof e == "object" && !!e && !Array.isArray(e), Fe = new Set(/* @__PURE__ */ "opacity.scale.scaleX.scaleY.scaleZ.aspectRatio.columnCount.columns.flex.flexGrow.flexShrink.fontWeight.gridArea.gridColumn.gridColumnEnd.gridColumnStart.gridRow.gridRowEnd.gridRowStart.lineHeight.lineClamp.order.orphans.tabSize.widows.zIndex.zoom.fillOpacity.floodOpacity.stopOpacity.strokeOpacity.strokeDasharray.strokeDashoffset.strokeMiterlimit.strokeWidth".split(".")), Ie = (e, t) => t.startsWith("--") || Fe.has(t) ? `${e}` : t === "rotate" || t === "rotateX" || t === "rotateY" || t === "rotateZ" ? `${e}deg` : `${e}px`, Le = (e, t) => typeof t == "number" ? Ie(t, e) : typeof t == "string" ? t : "", Re = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), ze = new Set([
|
|
1423
1447
|
"x",
|
|
1424
1448
|
"y",
|
|
1425
1449
|
"z",
|
|
@@ -1430,7 +1454,7 @@ var R = /* @__PURE__ */ new Map(), z = {
|
|
|
1430
1454
|
"rotateX",
|
|
1431
1455
|
"rotateY",
|
|
1432
1456
|
"rotateZ"
|
|
1433
|
-
]),
|
|
1457
|
+
]), Be = /^-?0(\.0+)?(px|%|em|rem|vh|vw|vmin|vmax)?$/, Ve = /^-?0(\.0+)?(deg|rad|grad|turn)?$/, He = /^1(\.0+)?$/, Ue = (e, t) => e === "scale" || e === "scaleX" || e === "scaleY" ? t === 1 ? !0 : typeof t == "string" ? He.test(t.trim()) : !1 : e === "rotate" || e === "rotateX" || e === "rotateY" || e === "rotateZ" ? t === 0 ? !0 : typeof t == "string" ? Ve.test(t.trim()) : !1 : t === 0 ? !0 : typeof t == "string" ? Be.test(t.trim()) : !1, We = (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 R = /* @__PURE__ */ new Map(), z = {
|
|
|
1444
1468
|
case "rotateY": return `rotateY(${t})`;
|
|
1445
1469
|
default: return "";
|
|
1446
1470
|
}
|
|
1447
|
-
},
|
|
1471
|
+
}, Ge = (e) => {
|
|
1448
1472
|
let t = /* @__PURE__ */ new Map(), n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
1449
|
-
if (!
|
|
1473
|
+
if (!Pe(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 = Le(r, i);
|
|
1477
|
+
if (a !== "") if (ze.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(Re(r)) ?? /* @__PURE__ */ new Set();
|
|
1480
|
+
e.add(a), t.set(Re(r), e);
|
|
1457
1481
|
}
|
|
1458
1482
|
}
|
|
1459
1483
|
r.add(n.sort().join("|"));
|
|
@@ -1464,12 +1488,12 @@ var R = /* @__PURE__ */ new Map(), z = {
|
|
|
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
|
-
if (!
|
|
1491
|
+
if (!Pe(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 = Le(i, a);
|
|
1495
|
+
o !== "" && (ze.has(i) ? (t.push(We(i, o)), Ue(i, a) || (n = !1)) : r.push({
|
|
1496
|
+
property: Re(i),
|
|
1473
1497
|
value: o
|
|
1474
1498
|
}));
|
|
1475
1499
|
}
|
|
@@ -1487,20 +1511,20 @@ var R = /* @__PURE__ */ new Map(), z = {
|
|
|
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", Ke = (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
|
+
}, qe = (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
|
+
}, Je = (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
|
+
}, 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
|
-
}, W = (e, t, n) => `flemo-${e}-${
|
|
1503
|
-
let o = V(r), s = V(i.value), c =
|
|
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
1529
|
if (c <= 0 && l <= 0) return s.length === 0 ? "" : `${f} {\n${H(s)}\n animation: none;\n}`;
|
|
1506
1530
|
let p = W(e, t, n), m = [
|
|
@@ -1519,55 +1543,55 @@ var R = /* @__PURE__ */ new Map(), z = {
|
|
|
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") && 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}` : ""}`;
|
|
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
1553
|
let i = V(r.value);
|
|
1530
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
|
-
for (let n of
|
|
1559
|
+
for (let n of Oe) {
|
|
1536
1560
|
let i = t.variants[n], a = z[n];
|
|
1537
1561
|
if (a === "self") {
|
|
1538
|
-
r.push(
|
|
1562
|
+
r.push(Qe(Ke, 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(Xe("screen", e, n, o, i, Ke));
|
|
1543
1567
|
}
|
|
1544
1568
|
}
|
|
1545
1569
|
for (let e of t) {
|
|
1546
1570
|
let t = e.name;
|
|
1547
|
-
for (let n of
|
|
1571
|
+
for (let n of Me) {
|
|
1548
1572
|
let i = e.variants[n], a = z[n];
|
|
1549
1573
|
if (a === "self") {
|
|
1550
|
-
r.push(
|
|
1574
|
+
r.push(Qe(qe, 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(Xe("decorator", t, n, o, i, qe));
|
|
1555
1579
|
}
|
|
1556
1580
|
}
|
|
1557
1581
|
for (let e of n) {
|
|
1558
1582
|
let t = e.name;
|
|
1559
|
-
for (let n of
|
|
1583
|
+
for (let n of Me) {
|
|
1560
1584
|
let i = e.variants[n], a = z[n];
|
|
1561
1585
|
if (a === "self") {
|
|
1562
|
-
r.push(
|
|
1586
|
+
r.push(Qe(Ye, 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(Xe("part", t, n, o, i, Ye));
|
|
1567
1591
|
}
|
|
1568
1592
|
}
|
|
1569
|
-
return [...r.filter((e) => e.length > 0),
|
|
1570
|
-
},
|
|
1593
|
+
return [...r.filter((e) => e.length > 0), et].join("\n\n");
|
|
1594
|
+
}, et = [
|
|
1571
1595
|
"[data-flemo-anim-hold=\"true\"],",
|
|
1572
1596
|
"[data-flemo-anim-hold=\"park\"],",
|
|
1573
1597
|
"[data-flemo-anim-hold=\"park-under\"],",
|
|
@@ -1579,38 +1603,38 @@ var R = /* @__PURE__ */ new Map(), z = {
|
|
|
1579
1603
|
].join("\n"), G = (e, t) => {
|
|
1580
1604
|
let n = z[t];
|
|
1581
1605
|
if (n === "self") return !1;
|
|
1582
|
-
let r = e.variants[t], i =
|
|
1606
|
+
let r = e.variants[t], i = ke(r.options), a = Ae(r.options);
|
|
1583
1607
|
if (i <= 0 && a <= 0) return !1;
|
|
1584
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
|
-
},
|
|
1587
|
-
function
|
|
1588
|
-
if (
|
|
1589
|
-
let e =
|
|
1590
|
-
t || (t = document.createElement("style"), t.setAttribute(
|
|
1610
|
+
}, tt = "data-flemo";
|
|
1611
|
+
function nt() {
|
|
1612
|
+
if (f()) return;
|
|
1613
|
+
let e = $e(P.values(), L.values(), R.values()), t = document.head.querySelector(`style[${tt}]`);
|
|
1614
|
+
t || (t = document.createElement("style"), t.setAttribute(tt, ""), document.head.appendChild(t)), t.textContent !== e && (t.textContent = e);
|
|
1591
1615
|
}
|
|
1592
1616
|
//#endregion
|
|
1593
1617
|
//#region src/transition/registerTransitionDefinitions.ts
|
|
1594
|
-
var
|
|
1618
|
+
var rt = /* @__PURE__ */ new Map(), it = /* @__PURE__ */ new Map(), at = /* @__PURE__ */ new Map(), ot = (e, t) => {
|
|
1595
1619
|
e.set(t, (e.get(t) ?? 0) + 1);
|
|
1596
|
-
},
|
|
1620
|
+
}, st = (e, t) => {
|
|
1597
1621
|
let n = (e.get(t) ?? 1) - 1;
|
|
1598
1622
|
return n <= 0 ? (e.delete(t), !0) : (e.set(t, n), !1);
|
|
1599
1623
|
};
|
|
1600
|
-
function
|
|
1601
|
-
for (let t of e) P.set(t.name, t),
|
|
1602
|
-
for (let e of t) L.set(e.name, e),
|
|
1603
|
-
for (let e of n) R.set(e.name, e), at
|
|
1604
|
-
return
|
|
1605
|
-
for (let t of e)
|
|
1606
|
-
for (let e of t)
|
|
1607
|
-
for (let e of n)
|
|
1608
|
-
|
|
1624
|
+
function ct(e, t, 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);
|
|
1628
|
+
return nt(), () => {
|
|
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);
|
|
1632
|
+
nt();
|
|
1609
1633
|
};
|
|
1610
1634
|
}
|
|
1611
1635
|
//#endregion
|
|
1612
1636
|
//#region src/transition/enteringInitialStyle.ts
|
|
1613
|
-
function
|
|
1637
|
+
function lt(e) {
|
|
1614
1638
|
let { initial: t, isActive: n, status: r } = e;
|
|
1615
1639
|
if (!n || r !== "PUSHING" && r !== "REPLACING") return {};
|
|
1616
1640
|
let i = {};
|
|
@@ -1618,10 +1642,10 @@ function ct(e) {
|
|
|
1618
1642
|
}
|
|
1619
1643
|
//#endregion
|
|
1620
1644
|
//#region src/transition/settleScrub.ts
|
|
1621
|
-
var
|
|
1645
|
+
var ut = () => ({
|
|
1622
1646
|
request: (e) => requestAnimationFrame(e),
|
|
1623
1647
|
cancel: (e) => cancelAnimationFrame(e)
|
|
1624
|
-
}),
|
|
1648
|
+
}), dt = (e) => e.replace(/-([a-z])/g, (e, t) => t.toUpperCase()), ft = ((e = ut()) => {
|
|
1625
1649
|
let t = /* @__PURE__ */ new Map(), n = null, r = () => {
|
|
1626
1650
|
t.size === 0 && n !== null && (e.cancel(n), n = null);
|
|
1627
1651
|
}, i = (e, n) => {
|
|
@@ -1654,7 +1678,7 @@ var lt = () => ({
|
|
|
1654
1678
|
if (typeof r.animate != "function") return null;
|
|
1655
1679
|
i(r, "current");
|
|
1656
1680
|
let l = {};
|
|
1657
|
-
for (let e of o) l[
|
|
1681
|
+
for (let e of o) l[dt(e.property)] = e.value;
|
|
1658
1682
|
let u;
|
|
1659
1683
|
try {
|
|
1660
1684
|
u = r.animate([l], {
|
|
@@ -1684,49 +1708,49 @@ var lt = () => ({
|
|
|
1684
1708
|
takeover: (e) => i(e, "current"),
|
|
1685
1709
|
cancel: (e) => i(e, "drop")
|
|
1686
1710
|
};
|
|
1687
|
-
})(),
|
|
1711
|
+
})(), pt = "flemo:motion-driver", mt = "flemo:motion-driver-force", ht = !1, gt = () => {
|
|
1688
1712
|
try {
|
|
1689
1713
|
if (typeof localStorage > "u") return null;
|
|
1690
|
-
let e = localStorage.getItem(
|
|
1691
|
-
return e !== "css" && e !== "raf" ? null : (!
|
|
1714
|
+
let e = localStorage.getItem(mt);
|
|
1715
|
+
return e !== "css" && e !== "raf" ? null : (!ht && typeof console < "u" && (ht = !0, console.warn(`[flemo] motion driver pinned to "${e}" via localStorage ${mt}; remove the key to restore automatic selection.`)), e);
|
|
1692
1716
|
} catch {
|
|
1693
1717
|
return null;
|
|
1694
1718
|
}
|
|
1695
|
-
},
|
|
1719
|
+
}, _t = () => ({
|
|
1696
1720
|
read: () => {
|
|
1697
1721
|
try {
|
|
1698
|
-
return typeof localStorage < "u" ? localStorage.getItem(
|
|
1722
|
+
return typeof localStorage < "u" ? localStorage.getItem(pt) : null;
|
|
1699
1723
|
} catch {
|
|
1700
1724
|
return null;
|
|
1701
1725
|
}
|
|
1702
1726
|
},
|
|
1703
1727
|
write: (e) => {
|
|
1704
1728
|
try {
|
|
1705
|
-
typeof localStorage < "u" && localStorage.setItem(
|
|
1729
|
+
typeof localStorage < "u" && localStorage.setItem(pt, e);
|
|
1706
1730
|
} catch {}
|
|
1707
1731
|
}
|
|
1708
|
-
}),
|
|
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 = [];
|
|
1712
1736
|
return {
|
|
1713
1737
|
playerAllowed: () => {
|
|
1714
|
-
let e =
|
|
1738
|
+
let e = gt();
|
|
1715
1739
|
return e ? e === "raf" : t && !n;
|
|
1716
1740
|
},
|
|
1717
1741
|
beginRun: () => {
|
|
1718
1742
|
a = 0, o = [];
|
|
1719
1743
|
},
|
|
1720
1744
|
reportGap: (e) => {
|
|
1721
|
-
o.push(e), e >=
|
|
1745
|
+
o.push(e), e >= vt && (a += 1);
|
|
1722
1746
|
},
|
|
1723
1747
|
endRun: () => {
|
|
1724
|
-
let t = a >=
|
|
1748
|
+
let t = a >= yt;
|
|
1725
1749
|
if (r) {
|
|
1726
1750
|
r = !1, t ? n = !0 : e.write("raf");
|
|
1727
1751
|
return;
|
|
1728
1752
|
}
|
|
1729
|
-
t && (i += 1, i >=
|
|
1753
|
+
t && (i += 1, i >= bt && !n && (n = !0, e.write("css")));
|
|
1730
1754
|
},
|
|
1731
1755
|
stats: () => ({
|
|
1732
1756
|
runGaps: [...o],
|
|
@@ -1734,11 +1758,11 @@ var lt = () => ({
|
|
|
1734
1758
|
demoted: n
|
|
1735
1759
|
})
|
|
1736
1760
|
};
|
|
1737
|
-
})(),
|
|
1761
|
+
})(), St = (e) => typeof HTMLElement < "u" && e instanceof HTMLElement, q = /* @__PURE__ */ new WeakMap(), J = (e, t) => {
|
|
1738
1762
|
let n = q.get(e);
|
|
1739
1763
|
n || (n = /* @__PURE__ */ new Set(), q.set(e, n)), n.add(t);
|
|
1740
1764
|
}, Y = (e, t) => {
|
|
1741
|
-
if (
|
|
1765
|
+
if (ft.cancel(e), e.style.transition = "", e.style.removeProperty("animation-delay"), t) {
|
|
1742
1766
|
let n = q.get(e);
|
|
1743
1767
|
for (let r of t) e.style.removeProperty(r), n?.delete(r);
|
|
1744
1768
|
return;
|
|
@@ -1751,16 +1775,16 @@ var lt = () => ({
|
|
|
1751
1775
|
}
|
|
1752
1776
|
e.style.removeProperty("transform"), e.style.removeProperty("opacity");
|
|
1753
1777
|
}, X = (e, t, n = {}) => {
|
|
1754
|
-
if (!
|
|
1778
|
+
if (!St(e)) return Promise.resolve();
|
|
1755
1779
|
let r = e, i = V(t);
|
|
1756
1780
|
if (i.length === 0) return Promise.resolve();
|
|
1757
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
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 = K.playerAllowed() ?
|
|
1787
|
+
let c = K.playerAllowed() ? ft.settle(r, i, {
|
|
1764
1788
|
durationMs: a * 1e3,
|
|
1765
1789
|
delayMs: o * 1e3,
|
|
1766
1790
|
easing: s
|
|
@@ -1779,7 +1803,7 @@ var lt = () => ({
|
|
|
1779
1803
|
};
|
|
1780
1804
|
r.addEventListener("transitionend", i), setTimeout(n, (a + o) * 1e3 + 60);
|
|
1781
1805
|
});
|
|
1782
|
-
},
|
|
1806
|
+
}, Ct = (e, t, n, r) => {
|
|
1783
1807
|
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
1808
|
return (e) => {
|
|
1785
1809
|
if (e <= 0) return 0;
|
|
@@ -1791,7 +1815,7 @@ var lt = () => ({
|
|
|
1791
1815
|
}
|
|
1792
1816
|
return a((t + n) / 2);
|
|
1793
1817
|
};
|
|
1794
|
-
},
|
|
1818
|
+
}, wt = (e) => e, Tt = {
|
|
1795
1819
|
ease: [
|
|
1796
1820
|
.25,
|
|
1797
1821
|
.1,
|
|
@@ -1846,16 +1870,16 @@ var lt = () => ({
|
|
|
1846
1870
|
.66,
|
|
1847
1871
|
-.56
|
|
1848
1872
|
]
|
|
1849
|
-
},
|
|
1873
|
+
}, Et = (e) => {
|
|
1850
1874
|
if (Array.isArray(e)) {
|
|
1851
1875
|
if (e.length === 4 && e.every((e) => typeof e == "number")) {
|
|
1852
1876
|
let [t, n, r, i] = e;
|
|
1853
|
-
return
|
|
1877
|
+
return Ct(t, n, r, i);
|
|
1854
1878
|
}
|
|
1855
|
-
return
|
|
1879
|
+
return wt;
|
|
1856
1880
|
}
|
|
1857
|
-
return typeof e == "string" ? e === "linear" ?
|
|
1858
|
-
},
|
|
1881
|
+
return typeof e == "string" ? e === "linear" ? wt : Ct(...Tt[e] ?? Tt.ease) : Ct(...Tt.ease);
|
|
1882
|
+
}, Dt = [
|
|
1859
1883
|
"x",
|
|
1860
1884
|
"y",
|
|
1861
1885
|
"z",
|
|
@@ -1866,7 +1890,7 @@ var lt = () => ({
|
|
|
1866
1890
|
"rotateX",
|
|
1867
1891
|
"rotateY",
|
|
1868
1892
|
"rotateZ"
|
|
1869
|
-
],
|
|
1893
|
+
], Ot = new Set(Dt), kt = {
|
|
1870
1894
|
x: 0,
|
|
1871
1895
|
y: 0,
|
|
1872
1896
|
z: 0,
|
|
@@ -1877,7 +1901,7 @@ var lt = () => ({
|
|
|
1877
1901
|
rotateX: 0,
|
|
1878
1902
|
rotateY: 0,
|
|
1879
1903
|
rotateZ: 0
|
|
1880
|
-
},
|
|
1904
|
+
}, At = (e, t) => {
|
|
1881
1905
|
if (typeof t == "number") return {
|
|
1882
1906
|
value: t,
|
|
1883
1907
|
unit: e === "x" || e === "y" || e === "z" ? "px" : ""
|
|
@@ -1896,7 +1920,7 @@ var lt = () => ({
|
|
|
1896
1920
|
value: i,
|
|
1897
1921
|
unit: a === "" && i === 0 ? "px" : a
|
|
1898
1922
|
};
|
|
1899
|
-
}, Z = /-?\d*\.?\d+/g,
|
|
1923
|
+
}, Z = /-?\d*\.?\d+/g, jt = (e, t) => {
|
|
1900
1924
|
let n = e.match(Z) ?? [], r = t.match(Z) ?? [];
|
|
1901
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);
|
|
@@ -1907,15 +1931,15 @@ var lt = () => ({
|
|
|
1907
1931
|
return `${Math.round(r * 1e3) / 1e3}`;
|
|
1908
1932
|
});
|
|
1909
1933
|
};
|
|
1910
|
-
},
|
|
1911
|
-
let n = new Set([...
|
|
1934
|
+
}, Mt = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`), Nt = (e) => typeof e == "object" && !!e && !Array.isArray(e), Pt = (e) => Nt(e) ? Object.keys(e) : [], Ft = (e, t) => Nt(e) ? e[t] : void 0, It = (e, t) => {
|
|
1935
|
+
let n = new Set([...Pt(e.from), ...Pt(e.to)]), r = [], i = null, a = [], o = [];
|
|
1912
1936
|
for (let s of n) {
|
|
1913
|
-
let n =
|
|
1914
|
-
if (
|
|
1937
|
+
let n = Ft(e.from, s), c = Ft(e.to, s);
|
|
1938
|
+
if (Ot.has(s)) {
|
|
1915
1939
|
let e = s, i = {
|
|
1916
|
-
value:
|
|
1940
|
+
value: kt[e],
|
|
1917
1941
|
unit: e === "x" || e === "y" || e === "z" ? "px" : ""
|
|
1918
|
-
}, a = n === void 0 ? i :
|
|
1942
|
+
}, a = n === void 0 ? i : At(e, n), o = c === void 0 ? i : At(e, c);
|
|
1919
1943
|
if (!a || !o || a.unit !== o.unit && a.value !== 0 && o.value !== 0) return null;
|
|
1920
1944
|
let l = a.value === 0 && a.unit !== o.unit ? o.unit : a.unit, u = l === "%", d = 0;
|
|
1921
1945
|
u && t && (d = e === "y" ? t.offsetHeight / 100 : t.offsetWidth / 100), r.push({
|
|
@@ -1946,15 +1970,15 @@ var lt = () => ({
|
|
|
1946
1970
|
if (typeof l != "string" || typeof u != "string") return null;
|
|
1947
1971
|
if (l === u) {
|
|
1948
1972
|
o.push({
|
|
1949
|
-
property:
|
|
1973
|
+
property: Mt(s),
|
|
1950
1974
|
value: l
|
|
1951
1975
|
});
|
|
1952
1976
|
continue;
|
|
1953
1977
|
}
|
|
1954
|
-
let d =
|
|
1978
|
+
let d = jt(l, u);
|
|
1955
1979
|
if (!d) return null;
|
|
1956
1980
|
a.push({
|
|
1957
|
-
property:
|
|
1981
|
+
property: Mt(s),
|
|
1958
1982
|
mix: d
|
|
1959
1983
|
});
|
|
1960
1984
|
}
|
|
@@ -1964,29 +1988,29 @@ var lt = () => ({
|
|
|
1964
1988
|
strings: a,
|
|
1965
1989
|
constants: o
|
|
1966
1990
|
};
|
|
1967
|
-
},
|
|
1991
|
+
}, Lt = 1, Rt = (e, t, n, r) => {
|
|
1968
1992
|
let i = 0, a = 0, o = !1, s = [], c = !0;
|
|
1969
|
-
for (let l of
|
|
1993
|
+
for (let l of Dt) {
|
|
1970
1994
|
let u = e.find((e) => e.prop === l);
|
|
1971
1995
|
if (!u) continue;
|
|
1972
1996
|
let d = u.from.value + (u.to.value - u.from.value) * t;
|
|
1973
1997
|
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 >=
|
|
1998
|
+
let e = l === "x" ? r.x : r.y, t = (e === null || Math.abs(d - e) * n >= Lt) && n > 0 ? Math.round(d * n) / n : Math.round(d * 1e3) / 1e3;
|
|
1975
1999
|
l === "x" ? (r.x = d, i = t) : (r.y = d, a = t), o = !0, t !== 0 && (c = !1);
|
|
1976
2000
|
continue;
|
|
1977
2001
|
}
|
|
1978
|
-
let f =
|
|
2002
|
+
let f = kt[l];
|
|
1979
2003
|
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
2004
|
}
|
|
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 V(e)) t[
|
|
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;
|
|
1988
2012
|
try {
|
|
1989
|
-
let n = e.animate([
|
|
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
2016
|
easing: U(t.ease),
|
|
@@ -1996,14 +2020,14 @@ var lt = () => ({
|
|
|
1996
2020
|
} catch {
|
|
1997
2021
|
return null;
|
|
1998
2022
|
}
|
|
1999
|
-
},
|
|
2023
|
+
}, Ht = 1e3 / 60, Ut = 100, Wt = () => ({
|
|
2000
2024
|
request: (e) => requestAnimationFrame(e),
|
|
2001
2025
|
cancel: (e) => cancelAnimationFrame(e),
|
|
2002
2026
|
devicePixelRatio: () => typeof window < "u" && window.devicePixelRatio || 1
|
|
2003
|
-
}), Q = ((e =
|
|
2027
|
+
}), Q = ((e = Wt()) => {
|
|
2004
2028
|
let t = /* @__PURE__ */ new Map(), n = {
|
|
2005
2029
|
join: (n, r) => {
|
|
2006
|
-
let i =
|
|
2030
|
+
let i = It(r.motion, r.element), s = i ? null : Vt(r.element, r.motion);
|
|
2007
2031
|
if (!i && !s) return null;
|
|
2008
2032
|
let c = t.get(n);
|
|
2009
2033
|
c || (c = {
|
|
@@ -2046,13 +2070,13 @@ var lt = () => ({
|
|
|
2046
2070
|
}
|
|
2047
2071
|
}, r = /* @__PURE__ */ new WeakMap(), i = (e) => {
|
|
2048
2072
|
let t = r.get(e);
|
|
2049
|
-
return t || (t =
|
|
2073
|
+
return t || (t = Et(e.motion.ease), r.set(e, t)), t;
|
|
2050
2074
|
};
|
|
2051
2075
|
function a(t, n) {
|
|
2052
2076
|
let { element: r, parsed: i } = t;
|
|
2053
2077
|
if (!(!i || !r.isConnected)) {
|
|
2054
2078
|
if (i.transforms.length > 0) {
|
|
2055
|
-
let a =
|
|
2079
|
+
let a = Rt(i.transforms, n, e.devicePixelRatio(), t.snapMemory);
|
|
2056
2080
|
a !== "" && (r.style.transform = a);
|
|
2057
2081
|
}
|
|
2058
2082
|
if (i.opacity) {
|
|
@@ -2069,20 +2093,25 @@ var lt = () => ({
|
|
|
2069
2093
|
});
|
|
2070
2094
|
}
|
|
2071
2095
|
function s(e, r, s) {
|
|
2072
|
-
|
|
2073
|
-
|
|
2096
|
+
let c = r.startTime ?? s;
|
|
2097
|
+
if (r.lastTime !== null) {
|
|
2098
|
+
let e = s - r.lastTime;
|
|
2099
|
+
K.reportGap(e), n.onFrameGap?.(e), e >= Ut && (c += e - Ht);
|
|
2100
|
+
}
|
|
2101
|
+
r.startTime = c, r.lastTime = s;
|
|
2102
|
+
let l = !0;
|
|
2074
2103
|
for (let e of r.tracks) {
|
|
2075
2104
|
if (e.completed || e.detached) continue;
|
|
2076
|
-
let t = e.motion.duration * 1e3, n = e.motion.delay * 1e3,
|
|
2105
|
+
let t = e.motion.duration * 1e3, n = e.motion.delay * 1e3, r = s - c;
|
|
2077
2106
|
if (e.scrub) {
|
|
2078
|
-
let
|
|
2079
|
-
e.scrub.currentTime = Math.min(Math.max(0,
|
|
2107
|
+
let i = n + t;
|
|
2108
|
+
e.scrub.currentTime = Math.min(Math.max(0, r), i), r >= i ? (e.completed = !0, e.onComplete?.()) : l = !1;
|
|
2080
2109
|
continue;
|
|
2081
2110
|
}
|
|
2082
|
-
let
|
|
2083
|
-
a(e, i(e)(
|
|
2111
|
+
let o = t <= 0 ? 1 : Math.min(1, Math.max(0, (r - n) / t));
|
|
2112
|
+
a(e, i(e)(o)), o >= 1 ? (e.completed = !0, e.onComplete?.()) : l = !1;
|
|
2084
2113
|
}
|
|
2085
|
-
if (
|
|
2114
|
+
if (l) {
|
|
2086
2115
|
K.endRun(), t.delete(e);
|
|
2087
2116
|
return;
|
|
2088
2117
|
}
|
|
@@ -2098,23 +2127,23 @@ Q.onFrameGap = (e) => {
|
|
|
2098
2127
|
};
|
|
2099
2128
|
//#endregion
|
|
2100
2129
|
//#region src/core/engine/types.ts
|
|
2101
|
-
var
|
|
2130
|
+
var Gt = "data-flemo-skip-animation", $ = () => {}, Kt = "data-flemo-part-name", qt = (e) => {
|
|
2102
2131
|
let t = e.parentElement ?? e;
|
|
2103
|
-
return Array.from(t.querySelectorAll(`[${
|
|
2132
|
+
return Array.from(t.querySelectorAll(`[${Kt}]`)).filter((n) => {
|
|
2104
2133
|
let r = n.closest("[data-flemo-screen]");
|
|
2105
2134
|
return !r || r === e || !t.contains(r);
|
|
2106
2135
|
});
|
|
2107
|
-
},
|
|
2136
|
+
}, Jt = (e, t) => {
|
|
2108
2137
|
let [n, r] = t.split("-");
|
|
2109
|
-
return
|
|
2110
|
-
},
|
|
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) => {
|
|
2111
2140
|
let { element: t, expectedName: n, motion: r } = e, i = null, a = !1, o = (e) => {
|
|
2112
|
-
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;
|
|
2113
2142
|
}, s = (e) => {
|
|
2114
2143
|
a || e.target !== t || e.animationName !== n || i === null && (i = performance.now());
|
|
2115
2144
|
}, c = (s) => {
|
|
2116
2145
|
if (a || s.target !== t || s.animationName !== n) return;
|
|
2117
|
-
if (!e.isLive() || e.budgetUsed() >=
|
|
2146
|
+
if (!e.isLive() || e.budgetUsed() >= Yt) {
|
|
2118
2147
|
e.onTerminal();
|
|
2119
2148
|
return;
|
|
2120
2149
|
}
|
|
@@ -2144,18 +2173,18 @@ var Ht = "data-flemo-skip-animation", $ = () => {}, Ut = "data-flemo-part-name",
|
|
|
2144
2173
|
}
|
|
2145
2174
|
};
|
|
2146
2175
|
};
|
|
2147
|
-
function
|
|
2176
|
+
function Qt(e) {
|
|
2148
2177
|
let t = /* @__PURE__ */ new Map();
|
|
2149
2178
|
return {
|
|
2150
2179
|
driveScreenLifecycle: (n) => {
|
|
2151
|
-
let { getElements: r, transitionName: i, prevTransitionName: a, status:
|
|
2152
|
-
let
|
|
2153
|
-
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;
|
|
2154
2183
|
let { scope: c, decorator: l, bars: u } = r();
|
|
2155
2184
|
if (!c) return null;
|
|
2156
2185
|
let d = F(i), f = B(d, t);
|
|
2157
2186
|
if (!f) return null;
|
|
2158
|
-
let p = [], m = Q.join(
|
|
2187
|
+
let p = [], m = Q.join(o, {
|
|
2159
2188
|
element: c,
|
|
2160
2189
|
motion: f,
|
|
2161
2190
|
role: n,
|
|
@@ -2165,7 +2194,7 @@ function Yt(e) {
|
|
|
2165
2194
|
p.push(m);
|
|
2166
2195
|
for (let e of u ?? []) {
|
|
2167
2196
|
if (!e || e.getAttribute("data-flemo-bar-riding") !== "true") continue;
|
|
2168
|
-
let t = Q.join(
|
|
2197
|
+
let t = Q.join(o, {
|
|
2169
2198
|
element: e,
|
|
2170
2199
|
motion: f,
|
|
2171
2200
|
role: "passive"
|
|
@@ -2175,7 +2204,7 @@ function Yt(e) {
|
|
|
2175
2204
|
if (l && d.decoratorName) {
|
|
2176
2205
|
let e = L.get(d.decoratorName), n = e ? B(e, t) : null;
|
|
2177
2206
|
if (n) {
|
|
2178
|
-
let e = Q.join(
|
|
2207
|
+
let e = Q.join(o, {
|
|
2179
2208
|
element: l,
|
|
2180
2209
|
motion: n,
|
|
2181
2210
|
role: "passive"
|
|
@@ -2183,10 +2212,10 @@ function Yt(e) {
|
|
|
2183
2212
|
e && p.push(e);
|
|
2184
2213
|
}
|
|
2185
2214
|
}
|
|
2186
|
-
for (let e of
|
|
2187
|
-
let n = R.get(e.getAttribute(
|
|
2215
|
+
for (let e of Jt(c, t)) {
|
|
2216
|
+
let n = R.get(e.getAttribute(Kt)), r = n ? B(n, t) : null;
|
|
2188
2217
|
if (!r) continue;
|
|
2189
|
-
let i = Q.join(
|
|
2218
|
+
let i = Q.join(o, {
|
|
2190
2219
|
element: e,
|
|
2191
2220
|
motion: r,
|
|
2192
2221
|
role: "passive"
|
|
@@ -2196,7 +2225,7 @@ function Yt(e) {
|
|
|
2196
2225
|
return () => p.forEach((e) => e());
|
|
2197
2226
|
}, f = (e, t) => {
|
|
2198
2227
|
let n = [], { decorator: a, bars: o } = r(), s = F(i), c = (e, t, r) => {
|
|
2199
|
-
let i = 0, a =
|
|
2228
|
+
let i = 0, a = Zt({
|
|
2200
2229
|
element: e,
|
|
2201
2230
|
expectedName: t,
|
|
2202
2231
|
motion: r,
|
|
@@ -2214,31 +2243,31 @@ function Yt(e) {
|
|
|
2214
2243
|
let e = L.get(s.decoratorName), n = e ? B(e, t) : null;
|
|
2215
2244
|
n && c(a, W("decorator", s.decoratorName, t), n);
|
|
2216
2245
|
}
|
|
2217
|
-
for (let n of
|
|
2218
|
-
let e = n.getAttribute(
|
|
2246
|
+
for (let n of Jt(e, t)) {
|
|
2247
|
+
let e = n.getAttribute(Kt), r = R.get(e), i = r ? B(r, t) : null;
|
|
2219
2248
|
i && c(n, W("part", e, t), i);
|
|
2220
2249
|
}
|
|
2221
2250
|
return n;
|
|
2222
2251
|
};
|
|
2223
2252
|
if (!c) {
|
|
2224
|
-
if (
|
|
2253
|
+
if (o === "COMPLETED") {
|
|
2225
2254
|
let { scope: e, decorator: t, bars: n } = r();
|
|
2226
2255
|
if (e) {
|
|
2227
2256
|
Y(e);
|
|
2228
|
-
for (let t of
|
|
2257
|
+
for (let t of qt(e)) Y(t);
|
|
2229
2258
|
}
|
|
2230
2259
|
t && Y(t);
|
|
2231
2260
|
for (let e of n ?? []) e && Y(e);
|
|
2232
2261
|
return $;
|
|
2233
2262
|
}
|
|
2234
|
-
if (
|
|
2235
|
-
let e = `${
|
|
2263
|
+
if (o === "REPLACING" && a !== i && e.setReplaceTransitionStatus("PENDING"), u && l) {
|
|
2264
|
+
let e = `${o}-false`, t = d(e, "passive");
|
|
2236
2265
|
if (t) return t;
|
|
2237
2266
|
let { scope: n } = r();
|
|
2238
2267
|
if (n) {
|
|
2239
2268
|
let t = F(i), r = [];
|
|
2240
2269
|
if (G(t, e)) {
|
|
2241
|
-
let a = B(t, e), o = 0, s =
|
|
2270
|
+
let a = B(t, e), o = 0, s = Zt({
|
|
2242
2271
|
element: n,
|
|
2243
2272
|
expectedName: W("screen", i, e),
|
|
2244
2273
|
motion: a,
|
|
@@ -2256,55 +2285,56 @@ function Yt(e) {
|
|
|
2256
2285
|
}
|
|
2257
2286
|
return $;
|
|
2258
2287
|
}
|
|
2259
|
-
if (
|
|
2288
|
+
if (o === "COMPLETED") {
|
|
2260
2289
|
e.setDragStatus("IDLE"), e.setReplaceTransitionStatus("IDLE");
|
|
2261
2290
|
let { scope: t, decorator: n, bars: i } = r();
|
|
2262
2291
|
if (t) {
|
|
2263
|
-
Y(t), t.removeAttribute(
|
|
2264
|
-
for (let e of
|
|
2292
|
+
Y(t), t.removeAttribute(Gt);
|
|
2293
|
+
for (let e of qt(t)) Y(e);
|
|
2265
2294
|
}
|
|
2266
|
-
n && (Y(n), n.removeAttribute(
|
|
2295
|
+
n && (Y(n), n.removeAttribute(Gt));
|
|
2267
2296
|
for (let e of i ?? []) e && (Y(e), e.style.removeProperty("will-change"));
|
|
2268
2297
|
return $;
|
|
2269
2298
|
}
|
|
2270
|
-
if (
|
|
2299
|
+
if (o === "IDLE") return $;
|
|
2271
2300
|
let { scope: p } = r();
|
|
2272
2301
|
if (!p) return $;
|
|
2273
2302
|
let m = e.getTransitionTaskId(), h = () => {
|
|
2274
2303
|
let n = e.getTransitionTaskId();
|
|
2275
|
-
n &&
|
|
2276
|
-
}, g = F(i), _ = `${
|
|
2304
|
+
n && s.resolveTask(n), m && t.delete(m);
|
|
2305
|
+
}, g = F(i), _ = `${o}-true`, v = p.getAttribute(Gt) === "true";
|
|
2277
2306
|
if (!(!v && G(g, _))) return queueMicrotask(h), $;
|
|
2307
|
+
m && (l ? s.anchorGate(m) : s.markGateHeld(m));
|
|
2278
2308
|
let y = B(g, _), b = !v && !!y, x = W("screen", i, _), S, C = () => {
|
|
2279
2309
|
S !== void 0 && (clearTimeout(S), S = void 0);
|
|
2280
2310
|
}, w = $, T = (e) => {
|
|
2281
2311
|
e.target === p && e.animationName === x && (p.removeEventListener("animationend", T), C(), w(), h());
|
|
2282
2312
|
};
|
|
2283
2313
|
p.addEventListener("animationend", T);
|
|
2284
|
-
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({
|
|
2285
2315
|
element: p,
|
|
2286
2316
|
expectedName: x,
|
|
2287
2317
|
motion: y,
|
|
2288
|
-
isLive:
|
|
2318
|
+
isLive: re,
|
|
2289
2319
|
budgetUsed: () => t.get(m) ?? 0,
|
|
2290
2320
|
spendBudget: () => {
|
|
2291
2321
|
t.set(m, (t.get(m) ?? 0) + 1);
|
|
2292
2322
|
},
|
|
2293
2323
|
onTerminal: h
|
|
2294
2324
|
});
|
|
2295
|
-
w =
|
|
2296
|
-
let
|
|
2297
|
-
C(), S = setTimeout(
|
|
2298
|
-
},
|
|
2299
|
-
if (C(),
|
|
2300
|
-
|
|
2325
|
+
w = O.detach;
|
|
2326
|
+
let k = !1, A = () => {
|
|
2327
|
+
C(), S = setTimeout(j, ne);
|
|
2328
|
+
}, j = () => {
|
|
2329
|
+
if (C(), re() && !k) {
|
|
2330
|
+
k = !0, O.fullRestart(), A();
|
|
2301
2331
|
return;
|
|
2302
2332
|
}
|
|
2303
2333
|
h();
|
|
2304
2334
|
}, M = !E && l, ie = M ? f(p, _) : [];
|
|
2305
|
-
return M && (
|
|
2335
|
+
return M && (O.attach(), m && A()), () => {
|
|
2306
2336
|
if (te !== void 0 && clearTimeout(te), p.removeEventListener("animationend", T), M) {
|
|
2307
|
-
|
|
2337
|
+
O.detach();
|
|
2308
2338
|
for (let e of ie) e();
|
|
2309
2339
|
}
|
|
2310
2340
|
C(), E?.(), m && e.getTransitionTaskId() !== m && t.delete(m);
|
|
@@ -2315,20 +2345,20 @@ function Yt(e) {
|
|
|
2315
2345
|
}
|
|
2316
2346
|
//#endregion
|
|
2317
2347
|
//#region src/utils/findScrollable.ts
|
|
2318
|
-
function
|
|
2319
|
-
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);
|
|
2320
2350
|
if (!o) return {
|
|
2321
2351
|
element: null,
|
|
2322
2352
|
hasMarker: !1
|
|
2323
2353
|
};
|
|
2324
2354
|
let s = o.closest?.(r);
|
|
2325
|
-
if (s instanceof HTMLElement &&
|
|
2355
|
+
if (s instanceof HTMLElement && tn(s, n) && (!a || nn(s, n))) return {
|
|
2326
2356
|
element: s,
|
|
2327
2357
|
hasMarker: !0
|
|
2328
2358
|
};
|
|
2329
2359
|
let c = o, l = 0;
|
|
2330
2360
|
for (; c && l < i;) {
|
|
2331
|
-
if (
|
|
2361
|
+
if (tn(c, n) && (!a || nn(c, n))) return {
|
|
2332
2362
|
element: c,
|
|
2333
2363
|
hasMarker: !1
|
|
2334
2364
|
};
|
|
@@ -2339,7 +2369,7 @@ function Xt(e, t) {
|
|
|
2339
2369
|
hasMarker: !1
|
|
2340
2370
|
};
|
|
2341
2371
|
}
|
|
2342
|
-
function
|
|
2372
|
+
function en(e) {
|
|
2343
2373
|
if (!e) return null;
|
|
2344
2374
|
let t = e, n = typeof t.composedPath == "function" ? t.composedPath() : void 0;
|
|
2345
2375
|
if (n && n.length) {
|
|
@@ -2347,18 +2377,18 @@ function Zt(e) {
|
|
|
2347
2377
|
}
|
|
2348
2378
|
return e instanceof HTMLElement ? e : null;
|
|
2349
2379
|
}
|
|
2350
|
-
function
|
|
2380
|
+
function tn(e, t) {
|
|
2351
2381
|
return t === "y" ? e.scrollHeight - e.clientHeight > 1 : e.scrollWidth - e.clientWidth > 1;
|
|
2352
2382
|
}
|
|
2353
|
-
function
|
|
2354
|
-
if (!
|
|
2383
|
+
function nn(e, t) {
|
|
2384
|
+
if (!tn(e, t) || typeof window > "u") return !1;
|
|
2355
2385
|
let n = window.getComputedStyle(e), r = t === "y" ? n.overflowY : n.overflowX;
|
|
2356
2386
|
return r === "auto" || r === "scroll" || r === "overlay";
|
|
2357
2387
|
}
|
|
2358
2388
|
//#endregion
|
|
2359
2389
|
//#region src/core/engine/createSwipeController.ts
|
|
2360
|
-
var
|
|
2361
|
-
function
|
|
2390
|
+
var rn = "data-flemo-skip-animation";
|
|
2391
|
+
function an(e) {
|
|
2362
2392
|
let t = null, n = null, r = {
|
|
2363
2393
|
current: [],
|
|
2364
2394
|
prev: []
|
|
@@ -2420,7 +2450,7 @@ function tn(e) {
|
|
|
2420
2450
|
current: i,
|
|
2421
2451
|
prev: s
|
|
2422
2452
|
};
|
|
2423
|
-
let c =
|
|
2453
|
+
let c = Ge(e.getTransition()).join(", ");
|
|
2424
2454
|
for (let e of i) e.style.willChange = c;
|
|
2425
2455
|
for (let e of s) e.style.willChange = c;
|
|
2426
2456
|
}, b = () => {
|
|
@@ -2521,7 +2551,7 @@ function tn(e) {
|
|
|
2521
2551
|
}), S("end", e, 0);
|
|
2522
2552
|
}
|
|
2523
2553
|
})) {
|
|
2524
|
-
c?.setAttribute(
|
|
2554
|
+
c?.setAttribute(rn, "true"), l?.setAttribute(rn, "true");
|
|
2525
2555
|
for (let e of r.current) e.style.removeProperty("will-change");
|
|
2526
2556
|
for (let e of r.prev) Y(e), e.style.removeProperty("will-change");
|
|
2527
2557
|
r = {
|
|
@@ -2535,10 +2565,10 @@ function tn(e) {
|
|
|
2535
2565
|
};
|
|
2536
2566
|
return {
|
|
2537
2567
|
pointerDown: (t) => {
|
|
2538
|
-
e.isReadyForDrag() && (f =
|
|
2568
|
+
e.isReadyForDrag() && (f = $t(t.target, {
|
|
2539
2569
|
direction: "x",
|
|
2540
2570
|
verifyByScroll: !0
|
|
2541
|
-
}), p =
|
|
2571
|
+
}), p = $t(t.target, {
|
|
2542
2572
|
direction: "y",
|
|
2543
2573
|
verifyByScroll: !0
|
|
2544
2574
|
}), m = t.clientX, h = t.clientY, (!f.element && !p.element || f.element || p.element) && (a = !0));
|
|
@@ -2567,7 +2597,7 @@ function tn(e) {
|
|
|
2567
2597
|
}
|
|
2568
2598
|
//#endregion
|
|
2569
2599
|
//#region src/screen/computeBarRiding.ts
|
|
2570
|
-
function
|
|
2600
|
+
function on(e) {
|
|
2571
2601
|
return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? {
|
|
2572
2602
|
app: !1,
|
|
2573
2603
|
nav: !1
|
|
@@ -2578,24 +2608,24 @@ function nn(e) {
|
|
|
2578
2608
|
}
|
|
2579
2609
|
//#endregion
|
|
2580
2610
|
//#region src/screen/animStartAnchor.ts
|
|
2581
|
-
function
|
|
2611
|
+
function sn(e) {
|
|
2582
2612
|
return !(e.status === "PUSHING" || e.status === "POPPING" || e.status === "REPLACING") || !e.isTopOrTopPrev ? null : `${e.status}:${e.transitionName}`;
|
|
2583
2613
|
}
|
|
2584
|
-
var
|
|
2585
|
-
function
|
|
2586
|
-
return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0,
|
|
2614
|
+
var cn = 300, ln = 20;
|
|
2615
|
+
function un(e) {
|
|
2616
|
+
return Array.from(e.querySelectorAll("img")).filter((e) => e.complete && typeof e.decode == "function").slice(0, ln);
|
|
2587
2617
|
}
|
|
2588
|
-
function
|
|
2589
|
-
if (!(!e || typeof e.querySelectorAll != "function")) for (let t of
|
|
2618
|
+
function dn(e) {
|
|
2619
|
+
if (!(!e || typeof e.querySelectorAll != "function")) for (let t of un(e)) t.decode().catch(() => {});
|
|
2590
2620
|
}
|
|
2591
|
-
function
|
|
2621
|
+
function fn(e, t = {}) {
|
|
2592
2622
|
let n = !1, r = 0, i = [], a = () => {
|
|
2593
2623
|
let r = t.scope;
|
|
2594
2624
|
if (t.decodeWait === !1 || !r || typeof r.querySelectorAll != "function") {
|
|
2595
2625
|
e();
|
|
2596
2626
|
return;
|
|
2597
2627
|
}
|
|
2598
|
-
let i =
|
|
2628
|
+
let i = un(r);
|
|
2599
2629
|
if (i.length === 0) {
|
|
2600
2630
|
e();
|
|
2601
2631
|
return;
|
|
@@ -2619,13 +2649,13 @@ function ln(e, t = {}) {
|
|
|
2619
2649
|
n = !0, cancelAnimationFrame(s), r && cancelAnimationFrame(r), i.forEach((e) => cancelAnimationFrame(e));
|
|
2620
2650
|
};
|
|
2621
2651
|
}
|
|
2622
|
-
function
|
|
2623
|
-
let n =
|
|
2652
|
+
function pn(e, t = {}) {
|
|
2653
|
+
let n = fn(e, t), r = setTimeout(e, 300);
|
|
2624
2654
|
return () => {
|
|
2625
2655
|
n(), clearTimeout(r);
|
|
2626
2656
|
};
|
|
2627
2657
|
}
|
|
2628
|
-
function
|
|
2658
|
+
function mn() {
|
|
2629
2659
|
let e = /* @__PURE__ */ new Map(), t = (t, n) => {
|
|
2630
2660
|
clearTimeout(n.backstop), e.delete(t);
|
|
2631
2661
|
let r = [...n.members];
|
|
@@ -2644,7 +2674,7 @@ function dn() {
|
|
|
2644
2674
|
let s = o, c = {
|
|
2645
2675
|
release: i,
|
|
2646
2676
|
ready: !1,
|
|
2647
|
-
cancelReadiness:
|
|
2677
|
+
cancelReadiness: fn(() => {
|
|
2648
2678
|
c.ready = !0, n(s) && t(r, s);
|
|
2649
2679
|
}, a)
|
|
2650
2680
|
};
|
|
@@ -2661,7 +2691,7 @@ function dn() {
|
|
|
2661
2691
|
}
|
|
2662
2692
|
//#endregion
|
|
2663
2693
|
//#region src/screen/observeBarHeight.ts
|
|
2664
|
-
function
|
|
2694
|
+
function hn(e, t) {
|
|
2665
2695
|
e.offsetHeight > 0 && t(e.offsetHeight);
|
|
2666
2696
|
let n = new ResizeObserver(([e]) => {
|
|
2667
2697
|
e.contentRect.height > 0 && t(e.contentRect.height);
|
|
@@ -2672,14 +2702,14 @@ function fn(e, t) {
|
|
|
2672
2702
|
}
|
|
2673
2703
|
//#endregion
|
|
2674
2704
|
//#region src/screen/observeViewportScrollHeight.ts
|
|
2675
|
-
var
|
|
2676
|
-
function
|
|
2705
|
+
var gn = 0;
|
|
2706
|
+
function _n(e) {
|
|
2677
2707
|
let t = 0, n = () => {
|
|
2678
2708
|
cancelAnimationFrame(t), t = requestAnimationFrame(() => {
|
|
2679
2709
|
let t = document.documentElement.scrollHeight - (window.visualViewport?.height || 0);
|
|
2680
2710
|
t = t < 0 ? 0 : t;
|
|
2681
|
-
let n = t -
|
|
2682
|
-
n = n < 0 ? 0 : n,
|
|
2711
|
+
let n = t - gn;
|
|
2712
|
+
n = n < 0 ? 0 : n, gn ||= t, e(t, n);
|
|
2683
2713
|
});
|
|
2684
2714
|
};
|
|
2685
2715
|
return window.visualViewport?.addEventListener("resize", n), window.visualViewport?.addEventListener("scroll", n), () => {
|
|
@@ -2688,7 +2718,7 @@ function mn(e) {
|
|
|
2688
2718
|
}
|
|
2689
2719
|
//#endregion
|
|
2690
2720
|
//#region src/utils/isOpaqueColor.ts
|
|
2691
|
-
function
|
|
2721
|
+
function vn(e) {
|
|
2692
2722
|
let t = e.trim().toLowerCase();
|
|
2693
2723
|
if (t === "transparent" || t === "") return !1;
|
|
2694
2724
|
if (t.match(/^rgb\(\s*\d+[\s,]+\d+[\s,]+\d+\s*\)$/)) return !0;
|
|
@@ -2699,7 +2729,7 @@ function hn(e) {
|
|
|
2699
2729
|
}
|
|
2700
2730
|
//#endregion
|
|
2701
2731
|
//#region src/utils/buildRoutePath.ts
|
|
2702
|
-
function
|
|
2732
|
+
function yn(e, n) {
|
|
2703
2733
|
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();
|
|
2704
2734
|
return {
|
|
2705
2735
|
pathname: `${a}${c ? `?${c}` : ""}`,
|
|
@@ -2707,4 +2737,4 @@ function gn(e, n) {
|
|
|
2707
2737
|
};
|
|
2708
2738
|
}
|
|
2709
2739
|
//#endregion
|
|
2710
|
-
export {
|
|
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 };
|