@genome-spy/app 0.88.1 → 0.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agentApi-BIpg3JKh.js → agentApi-BUcXm-JC.js} +5544 -6449
- package/dist/agentApi.es.js +3328 -4255
- package/dist/agentShared.es.js +9 -9
- package/dist/{canvas2d-BVQ7-2eJ.js → canvas2d-CGuVGvQk.js} +117 -106
- package/dist/{canvas2d-D7SZK3xv.js → canvas2d-DgF0kstG.js} +99 -88
- package/dist/{canvasSizeHelper-7h_8rOcx.js → canvasSizeHelper-foL2YvGL.js} +15 -8
- package/dist/{clipOptions-DTMcB_9z.js → clipOptions-8BPf0WMZ.js} +1013 -755
- package/dist/{clipOptions-BWHr3aTa.js → clipOptions-DBJX_W31.js} +1033 -775
- package/dist/{debug-CVpoEOWx.js → debug-BEWbYuZD.js} +2 -2
- package/dist/{debug-DYAMZZKl.js → debug-DQj_7mFm.js} +2 -2
- package/dist/index.es.js +65 -65
- package/dist/index.js +406 -362
- package/dist/{indexer-DAH_ruVn.js → indexer-Cdt_U05k.js} +1 -1
- package/dist/{indexer-CXjZDo2Q.js → indexer-D8Bgkkb8.js} +1 -1
- package/dist/order-BPOzLe80.js +1056 -0
- package/dist/order-DIxlclRN.js +1056 -0
- package/dist/rasterExport-Bl6w9t3J.js +51 -0
- package/dist/rasterExport-DRvNAH-r.js +51 -0
- package/dist/rasterization-D0tOoKu_.js +62 -0
- package/dist/rectangle-DE98gIxF.js +108 -0
- package/dist/{renderCanvas2D-DxturTEW.js → renderCanvas2D-Ct95auF3.js} +60 -59
- package/dist/{renderCanvas2D-DtcJjqpB.js → renderCanvas2D-LdEYFnRo.js} +71 -70
- package/dist/schema.json +588 -116
- package/dist/{svg-CyrLfa9e.js → svg-Ag36-h_I.js} +394 -382
- package/dist/{svg-SDJMzL--.js → svg-pkTPD4bv.js} +368 -356
- package/dist/{svgRasterizer-f7DJ3UO0.js → svgRasterizer-CksK4QTB.js} +6 -5
- package/dist/{svgRasterizer-mWK7HTkx.js → svgRasterizer-DrtJ9nLk.js} +6 -5
- package/dist/{vega-scale-CypF85iS.js → vega-scale-BJaDSHBJ.js} +891 -959
- package/dist/{vega-scale-DLKCwWRs.js → vega-scale-BWBFykuI.js} +692 -760
- package/dist/{viewIdentityRegistry-DIDo44XQ.js → viewIdentityRegistry-B-snqI3y.js} +1 -1
- package/dist/{viewIdentityRegistry-Dl-vMN9I.js → viewIdentityRegistry-BvCJajXG.js} +1 -1
- package/dist/{viewSelectors-CymbZyE6.js → viewSelectors-BlvzvG-z.js} +445 -380
- package/dist/{viewSelectors-DNiDip5e.js → viewSelectors-C5q3qBiR.js} +364 -299
- package/dist/{viewUtils-BrJLIj2o.js → viewUtils-C3vBtSvE.js} +1714 -1689
- package/dist/{webgl-tZfZ8y3q.js → webgl-CZX2pe5v.js} +2319 -972
- package/dist/{webgl-CTJt7jQd.js → webgl-CexXSw_I.js} +2371 -1024
- package/package.json +5 -5
- package/dist/order-C5CzA37O.js +0 -918
- package/dist/order-DvY7KNcu.js +0 -918
- package/dist/rasterExport-BgZ98e6U.js +0 -44
- package/dist/rasterExport-DEr8fOLm.js +0 -44
- package/dist/rasterization-CFogVB3B.js +0 -50
- package/dist/rectangle-DKnrAmKs.js +0 -142
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { E as
|
|
3
|
-
import { a as
|
|
1
|
+
import { $t as e, C as t, E as n, Q as r, Qt as i, S as a, Tn as o, Yt as s, Z as c, b as l, en as u, hn as d, k as f, o as p, on as m, t as ee, ut as h, y as g, yt as te } from "./clipOptions-DBJX_W31.js";
|
|
2
|
+
import { E as ne, m as _, y as v } from "./vega-scale-BJaDSHBJ.js";
|
|
3
|
+
import { a as y, n as re, r as ie, t as b } from "./viewError-BiR9VCgL.js";
|
|
4
4
|
import { t as ae } from "./warning-CpIIpk8e.js";
|
|
5
5
|
//#region ../../node_modules/flatqueue/index.js
|
|
6
|
-
var
|
|
6
|
+
var x = class {
|
|
7
7
|
constructor(e = Infinity, t = Float64Array, n = Uint32Array) {
|
|
8
8
|
let r = e !== Infinity;
|
|
9
9
|
this.ids = r ? new n(e) : [], this.values = r ? new t(e) : [], this.capacity = e, this.length = 0;
|
|
@@ -44,15 +44,16 @@ var b = class {
|
|
|
44
44
|
shrink() {
|
|
45
45
|
Array.isArray(this.ids) && (this.ids.length = this.length), Array.isArray(this.values) && (this.values.length = this.length);
|
|
46
46
|
}
|
|
47
|
-
},
|
|
47
|
+
}, S = Symbol("runtimeNode"), oe = 1e6;
|
|
48
48
|
function se(e) {
|
|
49
49
|
return e ? (t, n) => e.addDisposer(t, n) : () => () => void 0;
|
|
50
50
|
}
|
|
51
|
-
function ce(e, t) {
|
|
52
|
-
let
|
|
51
|
+
function ce(e, t, n = !0) {
|
|
52
|
+
let r = {
|
|
53
53
|
id: e.id,
|
|
54
54
|
name: e.name,
|
|
55
55
|
kind: e.kind,
|
|
56
|
+
batchStable: n,
|
|
56
57
|
get() {
|
|
57
58
|
return e.value;
|
|
58
59
|
},
|
|
@@ -62,17 +63,17 @@ function ce(e, t) {
|
|
|
62
63
|
};
|
|
63
64
|
}
|
|
64
65
|
};
|
|
65
|
-
return Object.defineProperty(
|
|
66
|
+
return Object.defineProperty(r, S, {
|
|
66
67
|
enumerable: !1,
|
|
67
68
|
configurable: !1,
|
|
68
69
|
writable: !1,
|
|
69
70
|
value: e
|
|
70
|
-
}), t ? Object.assign(
|
|
71
|
+
}), t ? Object.assign(r, { set(e) {
|
|
71
72
|
t(e);
|
|
72
|
-
} }) :
|
|
73
|
+
} }) : r;
|
|
73
74
|
}
|
|
74
75
|
function le(e) {
|
|
75
|
-
let t = e[
|
|
76
|
+
let t = e[S];
|
|
76
77
|
if (!t) throw Error("ParamRef is not bound to this graph runtime. Expected runtime-created ref.");
|
|
77
78
|
return t;
|
|
78
79
|
}
|
|
@@ -96,8 +97,8 @@ var fe = class {
|
|
|
96
97
|
#u = /* @__PURE__ */ new Map();
|
|
97
98
|
#d = /* @__PURE__ */ new Set();
|
|
98
99
|
#f = /* @__PURE__ */ new Set();
|
|
99
|
-
#p = new
|
|
100
|
-
#m = new
|
|
100
|
+
#p = new x();
|
|
101
|
+
#m = new x();
|
|
101
102
|
#h = /* @__PURE__ */ new Set();
|
|
102
103
|
#g;
|
|
103
104
|
constructor(e = {}) {
|
|
@@ -123,7 +124,7 @@ var fe = class {
|
|
|
123
124
|
}, l = () => {
|
|
124
125
|
s.disposed = !0, s.listeners.clear(), u();
|
|
125
126
|
}, u = this.#g(e, l);
|
|
126
|
-
return Object.assign(ce(s, c), { dispose: l });
|
|
127
|
+
return Object.assign(ce(s, c, o), { dispose: l });
|
|
127
128
|
}
|
|
128
129
|
computed(e, t, n, r, i = {}) {
|
|
129
130
|
return this.#_(e, t, n, r, i);
|
|
@@ -163,7 +164,7 @@ var fe = class {
|
|
|
163
164
|
rebind: (e, n) => {
|
|
164
165
|
if (s.disposed) throw Error("Cannot rebind disposed operation: " + t);
|
|
165
166
|
let r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
166
|
-
let n = e[
|
|
167
|
+
let n = e[S];
|
|
167
168
|
if (n === s) throw Error("Reactive dependency cycle: " + t);
|
|
168
169
|
if (!r.has(n)) {
|
|
169
170
|
r.add(n);
|
|
@@ -381,41 +382,41 @@ var fe = class {
|
|
|
381
382
|
if (!t) throw Error("Unknown scope: " + e);
|
|
382
383
|
t.params.clear(), t.initializers.clear();
|
|
383
384
|
}
|
|
384
|
-
registerInitializer(e,
|
|
385
|
-
t
|
|
385
|
+
registerInitializer(e, t, r) {
|
|
386
|
+
n(t);
|
|
386
387
|
let i = this.#t.get(e);
|
|
387
388
|
if (!i) throw Error("Unknown scope: " + e);
|
|
388
|
-
if (i.params.has(
|
|
389
|
-
i.initializers.set(
|
|
389
|
+
if (i.params.has(t) || i.initializers.has(t)) throw Error(`Parameter "${t}" already exists in scope ${e}`);
|
|
390
|
+
i.initializers.set(t, {
|
|
390
391
|
initialize: r,
|
|
391
392
|
initializing: !1
|
|
392
393
|
});
|
|
393
394
|
}
|
|
394
|
-
register(e,
|
|
395
|
-
t
|
|
395
|
+
register(e, t, r) {
|
|
396
|
+
n(t);
|
|
396
397
|
let i = this.#t.get(e);
|
|
397
398
|
if (!i) throw Error("Unknown scope: " + e);
|
|
398
|
-
if (i.params.has(
|
|
399
|
-
return i.params.set(
|
|
399
|
+
if (i.params.has(t) || i.initializers.get(t)?.initializing === !1) throw Error("Parameter \"" + t + "\" already exists in scope " + e);
|
|
400
|
+
return i.params.set(t, r), r;
|
|
400
401
|
}
|
|
401
|
-
resolve(e,
|
|
402
|
-
t
|
|
402
|
+
resolve(e, t) {
|
|
403
|
+
n(t);
|
|
403
404
|
let r = e;
|
|
404
405
|
for (; r;) {
|
|
405
406
|
let e = this.#t.get(r);
|
|
406
407
|
if (!e) throw Error("Unknown scope: " + r);
|
|
407
|
-
let
|
|
408
|
-
if (
|
|
409
|
-
if (
|
|
410
|
-
|
|
408
|
+
let n = e.initializers.get(t);
|
|
409
|
+
if (n) {
|
|
410
|
+
if (n.initializing) throw Error(`Parameter dependency cycle while initializing "${t}" in ${r}.`);
|
|
411
|
+
n.initializing = !0;
|
|
411
412
|
try {
|
|
412
|
-
if (
|
|
413
|
-
e.initializers.delete(
|
|
413
|
+
if (n.initialize(), !e.params.has(t)) throw Error(`Initializer did not register parameter "${t}".`);
|
|
414
|
+
e.initializers.delete(t);
|
|
414
415
|
} finally {
|
|
415
|
-
|
|
416
|
+
n.initializing = !1;
|
|
416
417
|
}
|
|
417
418
|
}
|
|
418
|
-
let i = e.params.get(
|
|
419
|
+
let i = e.params.get(t);
|
|
419
420
|
if (i) return i;
|
|
420
421
|
r = e.parentScope;
|
|
421
422
|
}
|
|
@@ -428,7 +429,7 @@ function he(e, t = {}, n = {}) {
|
|
|
428
429
|
}
|
|
429
430
|
//#endregion
|
|
430
431
|
//#region ../core/src/paramRuntime/expressionRef.js
|
|
431
|
-
function
|
|
432
|
+
function ge(e, t, n = {}) {
|
|
432
433
|
let r = {}, i = he(e, r, n), a = /* @__PURE__ */ new Map();
|
|
433
434
|
for (let n of i.globals) {
|
|
434
435
|
if (a.has(n)) continue;
|
|
@@ -453,6 +454,17 @@ function S(e, t, n = {}) {
|
|
|
453
454
|
}, i.invalidate = () => {
|
|
454
455
|
for (let e of o) e();
|
|
455
456
|
o.clear();
|
|
457
|
+
}, i.createSnapshotEvaluator = () => {
|
|
458
|
+
let e = {};
|
|
459
|
+
for (let t of Object.keys(r)) a.has(t) || (e[t] = r[t]);
|
|
460
|
+
for (let [t, n] of a) n.batchStable || Object.defineProperty(e, t, {
|
|
461
|
+
enumerable: !0,
|
|
462
|
+
get: () => n.get()
|
|
463
|
+
});
|
|
464
|
+
let t = Object.assign(i.createEvaluator(e), { refresh() {
|
|
465
|
+
for (let [t, n] of a) n.batchStable && (e[t] = n.get());
|
|
466
|
+
} });
|
|
467
|
+
return t.refresh(), t;
|
|
456
468
|
}, i.identifier = () => i.code + "|" + Array.from(a.values()).map((e) => e.id).concat((i.scaleDependencies ?? []).map((e) => e.id)).join(","), i.dependencies = Array.from(a.values()).concat(i.scaleDependencies ?? []), {
|
|
457
469
|
expression: i,
|
|
458
470
|
dependencies: i.dependencies
|
|
@@ -460,7 +472,7 @@ function S(e, t, n = {}) {
|
|
|
460
472
|
}
|
|
461
473
|
//#endregion
|
|
462
474
|
//#region ../core/src/paramRuntime/paramRuntime.js
|
|
463
|
-
var
|
|
475
|
+
var _e = class {
|
|
464
476
|
#e = new pe();
|
|
465
477
|
#t = new fe({ lifecycleRegistry: this.#e });
|
|
466
478
|
#n = new me();
|
|
@@ -488,11 +500,11 @@ var ge = class {
|
|
|
488
500
|
return this.#n.register(e, t, a);
|
|
489
501
|
}
|
|
490
502
|
registerDerived(e, t, n, r) {
|
|
491
|
-
let { expression: i, dependencies: a } =
|
|
503
|
+
let { expression: i, dependencies: a } = ge(n, (t) => this.resolve(r?.expressionScope ?? e, t), r), o = this.#n.getOwnerId(e), s = this.#t.computed(o, t, a, () => i(null));
|
|
492
504
|
return this.#n.register(e, t, s);
|
|
493
505
|
}
|
|
494
506
|
createExpression(e, t, n) {
|
|
495
|
-
let { expression: r } =
|
|
507
|
+
let { expression: r } = ge(t, (t) => this.resolve(e, t), n);
|
|
496
508
|
return r;
|
|
497
509
|
}
|
|
498
510
|
resolve(e, t) {
|
|
@@ -525,11 +537,11 @@ var ge = class {
|
|
|
525
537
|
whenPropagated(e) {
|
|
526
538
|
return this.#t.whenPropagated(e);
|
|
527
539
|
}
|
|
528
|
-
},
|
|
529
|
-
function
|
|
540
|
+
}, ve = (e) => new Promise((t) => setTimeout(t, e));
|
|
541
|
+
function ye() {
|
|
530
542
|
return { canceled: !1 };
|
|
531
543
|
}
|
|
532
|
-
function
|
|
544
|
+
function be(e) {
|
|
533
545
|
let t = e.requestAnimationFrame || window.requestAnimationFrame, n = e.signal, r = e.cancelToken, i = () => new Promise((i, a) => {
|
|
534
546
|
if (r?.canceled) return i();
|
|
535
547
|
if (n?.aborted) return a("aborted");
|
|
@@ -542,11 +554,11 @@ function ye(e) {
|
|
|
542
554
|
};
|
|
543
555
|
t(m);
|
|
544
556
|
});
|
|
545
|
-
return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") :
|
|
557
|
+
return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") : ve(e.delay).then(i) : i();
|
|
546
558
|
}
|
|
547
559
|
//#endregion
|
|
548
560
|
//#region ../core/src/utils/animator.js
|
|
549
|
-
var
|
|
561
|
+
var xe = class {
|
|
550
562
|
constructor(e) {
|
|
551
563
|
this._renderCallback = e, this._renderRequested = !1, this._finalized = !1, this._warn = !1, this._animationFrameRequest = void 0, this.transitions = [], this.transitionsEnabled = !0;
|
|
552
564
|
}
|
|
@@ -572,13 +584,13 @@ var be = class {
|
|
|
572
584
|
this._finalized = !0, this._renderRequested = !1, this.transitions = [], this._animationFrameRequest !== void 0 && (window.cancelAnimationFrame(this._animationFrameRequest), this._animationFrameRequest = void 0);
|
|
573
585
|
}
|
|
574
586
|
transition(e) {
|
|
575
|
-
return
|
|
587
|
+
return be({
|
|
576
588
|
requestAnimationFrame: (e) => this.requestTransition(e),
|
|
577
589
|
...e
|
|
578
590
|
});
|
|
579
591
|
}
|
|
580
592
|
};
|
|
581
|
-
function
|
|
593
|
+
function Se(e, t, n, r, i) {
|
|
582
594
|
let a = 0, o = !0, s = !1, c = structuredClone(i), l = c;
|
|
583
595
|
function u(e, t, n, r) {
|
|
584
596
|
return t + (e - t) * 2 ** (-n / r);
|
|
@@ -597,7 +609,7 @@ function C(e, t, n, r, i) {
|
|
|
597
609
|
s || (s = !0, e.requestTransition(d));
|
|
598
610
|
}
|
|
599
611
|
function p(n) {
|
|
600
|
-
l = n, e.transitionsEnabled === !1 ? (c = l, o = !0, s = !1, e.cancelTransition(d), t(c)) : o && (o = !1, a =
|
|
612
|
+
l = n, e.transitionsEnabled === !1 ? (c = l, o = !0, s = !1, e.cancelTransition(d), t(c)) : o && (o = !1, a = Ce(), d(a));
|
|
601
613
|
}
|
|
602
614
|
return p.stop = () => {
|
|
603
615
|
o = !0, s = !1, e.cancelTransition(d);
|
|
@@ -605,13 +617,13 @@ function C(e, t, n, r, i) {
|
|
|
605
617
|
l = e, c = e, p.stop(), t(c);
|
|
606
618
|
}, p;
|
|
607
619
|
}
|
|
608
|
-
function
|
|
620
|
+
function Ce() {
|
|
609
621
|
let e = globalThis.document?.timeline?.currentTime;
|
|
610
622
|
return typeof e == "number" ? e : performance.now();
|
|
611
623
|
}
|
|
612
624
|
//#endregion
|
|
613
625
|
//#region ../core/src/paramRuntime/viewParamRuntime.js
|
|
614
|
-
var
|
|
626
|
+
var C = class {
|
|
615
627
|
#e;
|
|
616
628
|
#t;
|
|
617
629
|
#n = /* @__PURE__ */ new Map();
|
|
@@ -619,37 +631,69 @@ var w = class {
|
|
|
619
631
|
#i = /* @__PURE__ */ new Map();
|
|
620
632
|
#a = /* @__PURE__ */ new Set();
|
|
621
633
|
#o = /* @__PURE__ */ new Map();
|
|
622
|
-
#s
|
|
623
|
-
#c;
|
|
624
|
-
#l;
|
|
625
|
-
#u;
|
|
634
|
+
#s;
|
|
635
|
+
#c = /* @__PURE__ */ new Map();
|
|
636
|
+
#l = /* @__PURE__ */ new Map();
|
|
637
|
+
#u = /* @__PURE__ */ new Map();
|
|
626
638
|
#d;
|
|
627
|
-
#f
|
|
639
|
+
#f;
|
|
640
|
+
#p;
|
|
641
|
+
#m;
|
|
642
|
+
#h = !1;
|
|
628
643
|
constructor(e, t, n, r = {}) {
|
|
629
|
-
this.#
|
|
630
|
-
let i = this.#
|
|
631
|
-
i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new
|
|
644
|
+
this.#d = e ?? (() => void 0), this.#f = t ?? (() => void 0), this.#p = n, this.#m = r.settleTemporalUpdatesImmediately ?? !1;
|
|
645
|
+
let i = this.#d();
|
|
646
|
+
i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new _e(), this.#t = this.#e.createScope());
|
|
647
|
+
}
|
|
648
|
+
setSelectionSource(e) {
|
|
649
|
+
this.#s = e;
|
|
650
|
+
}
|
|
651
|
+
findSelectionCapability(e) {
|
|
652
|
+
let t = this.findRuntimeForParam(e), n = t && t.#c.get(e);
|
|
653
|
+
if (!n?.size) return;
|
|
654
|
+
let r = Array.from(n, (t) => ({
|
|
655
|
+
type: t.kind,
|
|
656
|
+
components: t.components.map((e) => ({
|
|
657
|
+
component: e,
|
|
658
|
+
type: t.source?.getScaleResolution(e)?.type
|
|
659
|
+
})),
|
|
660
|
+
location: t.source?.name ?? e
|
|
661
|
+
})), i = r[0], a = JSON.stringify(i.components), o = r.find(({ components: e }) => JSON.stringify(e) !== a);
|
|
662
|
+
if (o) throw Error(`Conflicting selection declarations for "${e}" in "${i.location}" and "${o.location}".`);
|
|
663
|
+
return i;
|
|
632
664
|
}
|
|
633
|
-
|
|
634
|
-
|
|
665
|
+
#g(e) {
|
|
666
|
+
if (!("select" in e)) return;
|
|
667
|
+
let t = f(e.select), n = t.type === "interval" ? "interval" : t.toggle ? "multi" : "single", r = t.type === "interval" ? Array.from(new Set(t.encodings)).sort() : [], i = e.push === "outer" ? this.findRuntimeForParam(e.name) : this, a = {
|
|
668
|
+
kind: n,
|
|
669
|
+
components: r,
|
|
670
|
+
source: this.#s
|
|
671
|
+
}, o = i.#c.get(e.name) ?? /* @__PURE__ */ new Set(), s = o.values().next().value;
|
|
672
|
+
if (s && (s.kind !== n || JSON.stringify(s.components) !== JSON.stringify(r))) throw Error(`Conflicting selection declarations for "${e.name}" in "${s.source?.name ?? e.name}" and "${this.#s?.name ?? e.name}".`);
|
|
673
|
+
o.add(a), i.#c.set(e.name, o), this.#e.addScopeDisposer(this.#t, () => {
|
|
674
|
+
o.delete(a);
|
|
675
|
+
});
|
|
676
|
+
}
|
|
677
|
+
get #_() {
|
|
678
|
+
return { resolveScaleResolution: this.#f };
|
|
635
679
|
}
|
|
636
|
-
registerParam(e,
|
|
680
|
+
registerParam(e, t = {}) {
|
|
637
681
|
let r = e.name;
|
|
638
|
-
if (
|
|
639
|
-
if (
|
|
682
|
+
if (n(r), this.#i.has(r) || this.#a.has(r)) throw Error("Parameter \"" + r + "\" already registered in this scope.");
|
|
683
|
+
if (Te(e), t.defer) {
|
|
640
684
|
if (!("expr" in e)) throw Error("Only expression parameters can be deferred.");
|
|
641
685
|
return this.#e.registerInitializer(this.#t, r, () => {
|
|
642
|
-
this.#
|
|
686
|
+
this.#v(e);
|
|
643
687
|
}), this.#i.set(r, e), () => {
|
|
644
688
|
throw Error("Cannot set derived parameter \"" + r + "\".");
|
|
645
689
|
};
|
|
646
690
|
}
|
|
647
|
-
return this.#
|
|
691
|
+
return this.#v(e);
|
|
648
692
|
}
|
|
649
693
|
registerLazyExpression(e, t, n) {
|
|
650
694
|
this.#e.registerInitializer(this.#t, e, () => {
|
|
651
695
|
n?.();
|
|
652
|
-
let r = this.#e.registerDerived(this.#t, e, t, this.#
|
|
696
|
+
let r = this.#e.registerDerived(this.#t, e, t, this.#_);
|
|
653
697
|
this.#r.set(e, r);
|
|
654
698
|
}), this.#a.add(e);
|
|
655
699
|
}
|
|
@@ -659,7 +703,7 @@ var w = class {
|
|
|
659
703
|
this.#e.registerInitializer(this.#t, e, () => {
|
|
660
704
|
let r = this.#e.registerDerived(this.#t, e, t, {
|
|
661
705
|
expressionScope: n.#t,
|
|
662
|
-
...n.#
|
|
706
|
+
...n.#_
|
|
663
707
|
});
|
|
664
708
|
this.#r.set(e, r);
|
|
665
709
|
}), this.#i.set(e, {
|
|
@@ -667,7 +711,7 @@ var w = class {
|
|
|
667
711
|
expr: t
|
|
668
712
|
});
|
|
669
713
|
}
|
|
670
|
-
#
|
|
714
|
+
#v(e) {
|
|
671
715
|
let t = e.name, n, r;
|
|
672
716
|
if (e.push == "outer") {
|
|
673
717
|
let i = this.findRuntimeForParam(t);
|
|
@@ -677,20 +721,21 @@ var w = class {
|
|
|
677
721
|
if ("expr" in a || "select" in a || "ruler" in a) throw Error(`The outer parameter "${t}" must not have expr, select, or ruler properties!`);
|
|
678
722
|
n = (e) => {
|
|
679
723
|
i.setValue(t, e);
|
|
680
|
-
}, this.#n.set(t, n), "ruler" in e && (r =
|
|
681
|
-
} else if ("value" in e) r =
|
|
724
|
+
}, this.#n.set(t, n), "ruler" in e && (r = g(e, this), n(r));
|
|
725
|
+
} else if ("value" in e) r = g(e, this), n = "transition" in e ? this.#b(t, r, e.transition) : this.#y(t, r);
|
|
682
726
|
else if ("expr" in e) {
|
|
683
|
-
if ("transition" in e) this.#
|
|
727
|
+
if ("transition" in e) this.#x(t, e.expr, e.transition);
|
|
728
|
+
else if ("debounce" in e) this.#S(t, e.expr, e.debounce);
|
|
684
729
|
else {
|
|
685
|
-
let n = this.#e.registerDerived(this.#t, t, e.expr, this.#
|
|
730
|
+
let n = this.#e.registerDerived(this.#t, t, e.expr, this.#_);
|
|
686
731
|
this.#r.set(t, n);
|
|
687
732
|
}
|
|
688
733
|
n = () => {
|
|
689
734
|
throw Error("Cannot set derived parameter \"" + t + "\".");
|
|
690
735
|
};
|
|
691
|
-
} else r =
|
|
736
|
+
} else r = g(e, this), n = this.#y(t, r);
|
|
692
737
|
if ("select" in e) {
|
|
693
|
-
if (r ??=
|
|
738
|
+
if (r ??= g(e, this), !this.#n.has(t)) {
|
|
694
739
|
let e = this.#e.registerSelection(this.#t, t, r);
|
|
695
740
|
this.#r.set(t, e), this.#n.set(t, (t) => {
|
|
696
741
|
e.set(t), this.#e.flushNow();
|
|
@@ -698,33 +743,33 @@ var w = class {
|
|
|
698
743
|
}
|
|
699
744
|
n(r);
|
|
700
745
|
}
|
|
701
|
-
return this.#i.set(t, e), n;
|
|
746
|
+
return this.#i.set(t, e), this.#g(e), n;
|
|
702
747
|
}
|
|
703
|
-
allocateSetter(e,
|
|
704
|
-
if (
|
|
705
|
-
let i = this.#e.registerBase(this.#t, e,
|
|
748
|
+
allocateSetter(e, t, r = !1) {
|
|
749
|
+
if (n(e), this.#n.has(e)) throw Error("Setter already allocated for parameter: " + e);
|
|
750
|
+
let i = this.#e.registerBase(this.#t, e, t, { notify: !r });
|
|
706
751
|
this.#r.set(e, i);
|
|
707
752
|
let a = (e) => {
|
|
708
753
|
i.set(e), this.#e.flushNow();
|
|
709
754
|
};
|
|
710
755
|
return this.#n.set(e, a), a;
|
|
711
756
|
}
|
|
712
|
-
setValue(e,
|
|
713
|
-
|
|
757
|
+
setValue(e, t, r) {
|
|
758
|
+
n(e);
|
|
714
759
|
let i = this.#n.get(e);
|
|
715
760
|
if (!i) throw Error("Writable parameter not found in this scope: " + e);
|
|
716
|
-
i(
|
|
761
|
+
i(t, r);
|
|
717
762
|
}
|
|
718
763
|
getValue(e) {
|
|
719
764
|
return !this.#r.has(e) && this.hasLocalParam(e) && this.#e.resolve(this.#t, e), this.#r.get(e)?.get();
|
|
720
765
|
}
|
|
721
766
|
getParamRef(e) {
|
|
722
|
-
|
|
723
|
-
let
|
|
724
|
-
if (
|
|
767
|
+
n(e);
|
|
768
|
+
let t = this.findRuntimeForParam(e);
|
|
769
|
+
if (t) return t.#r.has(e) || t.#e.resolve(t.#t, e), t.#r.get(e);
|
|
725
770
|
}
|
|
726
771
|
getTargetValue(e) {
|
|
727
|
-
return
|
|
772
|
+
return n(e), this.#l.get(e)?.target ?? this.#u.get(e)?.target ?? this.getValue(e);
|
|
728
773
|
}
|
|
729
774
|
subscribe(e, t) {
|
|
730
775
|
let n = this.getParamRef(e);
|
|
@@ -741,26 +786,26 @@ var w = class {
|
|
|
741
786
|
return this.#i;
|
|
742
787
|
}
|
|
743
788
|
hasLocalParam(e) {
|
|
744
|
-
|
|
745
|
-
let
|
|
746
|
-
return this.#r.has(e) || this.#a.has(e) ||
|
|
789
|
+
n(e);
|
|
790
|
+
let t = this.#i.get(e);
|
|
791
|
+
return this.#r.has(e) || this.#a.has(e) || t !== void 0 && "expr" in t;
|
|
747
792
|
}
|
|
748
793
|
isPendingParam(e) {
|
|
749
794
|
let t = this.findRuntimeForParam(e);
|
|
750
795
|
return t !== void 0 && !t.#r.has(e);
|
|
751
796
|
}
|
|
752
797
|
hasConfiguredParamInScopeChain(e) {
|
|
753
|
-
return
|
|
798
|
+
return n(e), this.#i.has(e) ? !0 : this.#d()?.hasConfiguredParamInScopeChain(e) ?? !1;
|
|
754
799
|
}
|
|
755
800
|
findRuntimeForParam(e) {
|
|
756
|
-
return this.hasLocalParam(e) ? this : this.#
|
|
801
|
+
return this.hasLocalParam(e) ? this : this.#d()?.findRuntimeForParam(e);
|
|
757
802
|
}
|
|
758
803
|
findConfiguredParam(e) {
|
|
759
804
|
let t = this.#i.get(e);
|
|
760
805
|
return t ? {
|
|
761
806
|
runtime: this,
|
|
762
807
|
config: t
|
|
763
|
-
} : this.#
|
|
808
|
+
} : this.#d()?.findConfiguredParam(e);
|
|
764
809
|
}
|
|
765
810
|
registerSelectionController(e, t) {
|
|
766
811
|
let n = this.#o.get(e);
|
|
@@ -781,22 +826,22 @@ var w = class {
|
|
|
781
826
|
let r = this.#i.get(t);
|
|
782
827
|
e.push({
|
|
783
828
|
name: t,
|
|
784
|
-
kind:
|
|
829
|
+
kind: we(r),
|
|
785
830
|
value: n.get(),
|
|
786
831
|
writable: this.#n.has(t),
|
|
787
832
|
configured: !!r,
|
|
788
833
|
config: r ? structuredClone(r) : void 0,
|
|
789
|
-
target: this.#
|
|
834
|
+
target: this.#l.get(t)?.target ?? this.#u.get(t)?.target
|
|
790
835
|
});
|
|
791
836
|
}
|
|
792
837
|
return {
|
|
793
838
|
scopeId: this.#t,
|
|
794
|
-
disposed: this.#
|
|
839
|
+
disposed: this.#h,
|
|
795
840
|
params: e
|
|
796
841
|
};
|
|
797
842
|
}
|
|
798
843
|
createExpression(e) {
|
|
799
|
-
return this.#e.createExpression(this.#t, e, this.#
|
|
844
|
+
return this.#e.createExpression(this.#t, e, this.#_);
|
|
800
845
|
}
|
|
801
846
|
watchExpression(e, t, n = {}) {
|
|
802
847
|
let r = this.createExpression(e), i = r.subscribe(t);
|
|
@@ -823,7 +868,7 @@ var w = class {
|
|
|
823
868
|
cancelUpdate(e) {
|
|
824
869
|
this.#e.cancelUpdate(e);
|
|
825
870
|
}
|
|
826
|
-
#
|
|
871
|
+
#y(e, t) {
|
|
827
872
|
let n = this.#e.registerBase(this.#t, e, t);
|
|
828
873
|
this.#r.set(e, n);
|
|
829
874
|
let r = (e) => {
|
|
@@ -831,36 +876,51 @@ var w = class {
|
|
|
831
876
|
};
|
|
832
877
|
return this.#n.set(e, r), r;
|
|
833
878
|
}
|
|
834
|
-
#
|
|
835
|
-
let r = this.#
|
|
836
|
-
this.#
|
|
879
|
+
#b(e, t, n) {
|
|
880
|
+
let r = this.#C(e, t, n), i = (t, n) => {
|
|
881
|
+
this.#w(e, r, t, n);
|
|
837
882
|
};
|
|
838
883
|
return this.#n.set(e, i), i;
|
|
839
884
|
}
|
|
840
|
-
#
|
|
841
|
-
let r = this.createExpression(t), i = this.#
|
|
842
|
-
this.#
|
|
885
|
+
#x(e, t, n) {
|
|
886
|
+
let r = this.createExpression(t), i = this.#C(e, r(null), n), a = r.subscribe(() => {
|
|
887
|
+
this.#w(e, i, r(null), { animate: !this.#m });
|
|
843
888
|
});
|
|
844
889
|
this.#e.addScopeDisposer(this.#t, a);
|
|
845
890
|
}
|
|
846
|
-
#
|
|
847
|
-
let r =
|
|
891
|
+
#S(e, t, n) {
|
|
892
|
+
let r = this.createExpression(t), i = r(null), a = this.#e.registerBase(this.#t, e, i);
|
|
893
|
+
this.#r.set(e, a);
|
|
894
|
+
let o = {
|
|
895
|
+
target: i,
|
|
896
|
+
timeout: void 0
|
|
897
|
+
}, s = () => {
|
|
898
|
+
o.timeout = void 0, a.set(o.target), this.#e.flushNow();
|
|
899
|
+
}, c = r.subscribe(() => {
|
|
900
|
+
o.target = r(null), clearTimeout(o.timeout), o.timeout = void 0, o.target !== a.get() && (this.#m ? s() : o.timeout = setTimeout(s, n));
|
|
901
|
+
});
|
|
902
|
+
this.#u.set(e, o), this.#e.addScopeDisposer(this.#t, () => {
|
|
903
|
+
clearTimeout(o.timeout), c(), this.#u.delete(e);
|
|
904
|
+
});
|
|
905
|
+
}
|
|
906
|
+
#C(e, t, n) {
|
|
907
|
+
let r = w(e, t), i = this.#e.registerBase(this.#t, e, r);
|
|
848
908
|
this.#r.set(e, i);
|
|
849
|
-
let a = this.#
|
|
909
|
+
let a = this.#p;
|
|
850
910
|
if (!a) throw Error(`The parameter "${e}" uses transition but no animator is available.`);
|
|
851
|
-
let o =
|
|
911
|
+
let o = Se(a, ({ value: e }) => {
|
|
852
912
|
i.set(e), this.#e.flushNow();
|
|
853
913
|
}, n.halfLife ?? 80, n.epsilon ?? .01, { value: i.get() }), s = {
|
|
854
914
|
target: i.get(),
|
|
855
915
|
smoother: o,
|
|
856
916
|
dispose: () => {
|
|
857
|
-
o.stop(), this.#
|
|
917
|
+
o.stop(), this.#l.delete(e);
|
|
858
918
|
}
|
|
859
919
|
};
|
|
860
|
-
return this.#
|
|
920
|
+
return this.#l.set(e, s), this.#e.addScopeDisposer(this.#t, s.dispose), s;
|
|
861
921
|
}
|
|
862
|
-
#
|
|
863
|
-
let i =
|
|
922
|
+
#w(e, t, n, r = {}) {
|
|
923
|
+
let i = w(e, n);
|
|
864
924
|
t.target = i, r.animate === !1 ? t.smoother.snap({ value: i }) : t.smoother({ value: i });
|
|
865
925
|
}
|
|
866
926
|
evaluateAndGet(e) {
|
|
@@ -876,28 +936,33 @@ var w = class {
|
|
|
876
936
|
return this.#e.whenPropagated(e);
|
|
877
937
|
}
|
|
878
938
|
finalizeInitialization() {
|
|
879
|
-
this.#
|
|
939
|
+
this.#m = !1;
|
|
880
940
|
}
|
|
881
941
|
dispose() {
|
|
882
|
-
this.#
|
|
942
|
+
this.#h || (this.#h = !0, this.#e.disposeScope(this.#t), this.#n.clear(), this.#r.clear(), this.#i.clear(), this.#a.clear(), this.#o.clear(), this.#l.clear(), this.#u.clear());
|
|
883
943
|
}
|
|
884
944
|
hasPointSelections() {
|
|
885
|
-
for (let e of this.#i.values()) if (
|
|
945
|
+
for (let e of this.#i.values()) if (a(e)) {
|
|
886
946
|
let t = e.select;
|
|
887
|
-
if (
|
|
947
|
+
if (u(t)) {
|
|
888
948
|
if (t == "point") return !0;
|
|
889
949
|
} else if (t.type == "point") return !0;
|
|
890
950
|
}
|
|
891
951
|
return !1;
|
|
892
952
|
}
|
|
893
953
|
};
|
|
894
|
-
function
|
|
954
|
+
function we(e) {
|
|
895
955
|
return e ? e.push === "outer" ? "push" : "select" in e ? "selection" : "ruler" in e ? "ruler" : "expr" in e ? "derived" : "base" : "auto";
|
|
896
956
|
}
|
|
897
|
-
function
|
|
957
|
+
function Te(e) {
|
|
898
958
|
let t = e.name;
|
|
899
959
|
if ("value" in e && "expr" in e) throw Error(`The parameter "${t}" must not have both value and expr properties!`);
|
|
900
960
|
if ("expr" in e && "bind" in e) throw Error(`The parameter "${t}" must not have both expr and bind properties!`);
|
|
961
|
+
if ("debounce" in e) {
|
|
962
|
+
if (!("expr" in e) || e.push === "outer") throw Error(`The debounced parameter "${t}" must have an expr property and must not use push.`);
|
|
963
|
+
if ("transition" in e) throw Error(`The parameter "${t}" must not use debounce and transition together.`);
|
|
964
|
+
if (!Number.isFinite(e.debounce) || e.debounce < 0) throw Error(`The debounce for parameter "${t}" must be a non-negative finite number.`);
|
|
965
|
+
}
|
|
901
966
|
if (!("transition" in e)) return;
|
|
902
967
|
if ("select" in e || "ruler" in e || e.push === "outer") throw Error(`The parameter "${t}" must not use transition with select, ruler, or push.`);
|
|
903
968
|
if (!("value" in e || "expr" in e)) throw Error(`The transitioned parameter "${t}" must have a value or expr property.`);
|
|
@@ -907,13 +972,13 @@ function Ce(e) {
|
|
|
907
972
|
if (n.halfLife != null && (!Number.isFinite(n.halfLife) || n.halfLife <= 0)) throw Error(`The transition halfLife for parameter "${t}" must be a positive finite number.`);
|
|
908
973
|
if (n.epsilon != null && (!Number.isFinite(n.epsilon) || n.epsilon < 0)) throw Error(`The transition epsilon for parameter "${t}" must be a non-negative finite number.`);
|
|
909
974
|
}
|
|
910
|
-
function
|
|
975
|
+
function w(e, t) {
|
|
911
976
|
if (typeof t != "number" || !Number.isFinite(t)) throw Error(`Transitioned parameter "${e}" must have a finite numeric value.`);
|
|
912
977
|
return t;
|
|
913
978
|
}
|
|
914
979
|
//#endregion
|
|
915
980
|
//#region ../core/src/view/layout/flexLayout.js
|
|
916
|
-
function
|
|
981
|
+
function Ee(e, t, { spacing: n, devicePixelRatio: r, offset: i, reverse: a } = {}) {
|
|
917
982
|
n ||= 0, i ||= 0;
|
|
918
983
|
let o = Ne(e, t, n), s = 0, c = 0;
|
|
919
984
|
for (let t = 0; t < e.length; t++) s += o[t], O(e[t]) || c++;
|
|
@@ -946,34 +1011,34 @@ function we(e, t, { spacing: n, devicePixelRatio: r, offset: i, reverse: a } = {
|
|
|
946
1011
|
}
|
|
947
1012
|
return m += a ? n : -n, p(!1), f;
|
|
948
1013
|
}
|
|
949
|
-
function
|
|
1014
|
+
function De(e, { spacing: t } = { spacing: 0 }) {
|
|
950
1015
|
let n = 0;
|
|
951
|
-
for (let r of e) n +=
|
|
1016
|
+
for (let r of e) n += N(r) + (O(r) ? 0 : t);
|
|
952
1017
|
return Math.max(0, n - t);
|
|
953
1018
|
}
|
|
954
|
-
function
|
|
1019
|
+
function Oe(e, t, { spacing: n = 0 } = {}) {
|
|
955
1020
|
let r = [], i = [], a = 0, o = 0;
|
|
956
1021
|
for (let [s, c] of e.entries()) {
|
|
957
|
-
let e =
|
|
1022
|
+
let e = N(c), l = !O(c), u = o && l ? n : 0;
|
|
958
1023
|
i.length && a + u + e > t && (r.push(i), i = [], a = 0, o = 0), i.push(s), a += (o && l ? n : 0) + e, o += +!!l;
|
|
959
1024
|
}
|
|
960
1025
|
return i.length && r.push(i), r;
|
|
961
1026
|
}
|
|
962
|
-
function
|
|
1027
|
+
function ke(e) {
|
|
963
1028
|
let t = 0, n = 0, r = 0, i, a = !0;
|
|
964
1029
|
for (let o of e) {
|
|
965
|
-
t = Math.max(t, o.px ?? 0), n = Math.max(n, o.grow ?? 0), r = Math.max(r,
|
|
966
|
-
let e =
|
|
1030
|
+
t = Math.max(t, o.px ?? 0), n = Math.max(n, o.grow ?? 0), r = Math.max(r, N(o));
|
|
1031
|
+
let e = P(o);
|
|
967
1032
|
e === void 0 ? a = !1 : i = i === void 0 ? e : Math.max(i, e);
|
|
968
1033
|
}
|
|
969
|
-
return
|
|
1034
|
+
return L({
|
|
970
1035
|
px: t,
|
|
971
1036
|
grow: n,
|
|
972
1037
|
minPx: r,
|
|
973
1038
|
maxPx: a ? i : void 0
|
|
974
1039
|
});
|
|
975
1040
|
}
|
|
976
|
-
function
|
|
1041
|
+
function Ae(e) {
|
|
977
1042
|
let t = {
|
|
978
1043
|
px: 0,
|
|
979
1044
|
grow: 0,
|
|
@@ -981,13 +1046,13 @@ function Oe(e) {
|
|
|
981
1046
|
maxPx: 0
|
|
982
1047
|
}, n = !0;
|
|
983
1048
|
for (let r of e) {
|
|
984
|
-
t.px += k(r.px), t.grow += k(r.grow), t.minPx +=
|
|
985
|
-
let e =
|
|
1049
|
+
t.px += k(r.px), t.grow += k(r.grow), t.minPx += N(r);
|
|
1050
|
+
let e = P(r);
|
|
986
1051
|
e === void 0 ? n = !1 : t.maxPx += e;
|
|
987
1052
|
}
|
|
988
|
-
return n || delete t.maxPx,
|
|
1053
|
+
return n || delete t.maxPx, L(t);
|
|
989
1054
|
}
|
|
990
|
-
var
|
|
1055
|
+
var T = class e {
|
|
991
1056
|
constructor(e, t) {
|
|
992
1057
|
this.width = e, this.height = t;
|
|
993
1058
|
}
|
|
@@ -998,31 +1063,31 @@ var E = class e {
|
|
|
998
1063
|
return this.#e(-e.width, -e.height);
|
|
999
1064
|
}
|
|
1000
1065
|
#e(t, n) {
|
|
1001
|
-
return new e(
|
|
1066
|
+
return new e(I(this.width, t), I(this.height, n));
|
|
1002
1067
|
}
|
|
1003
1068
|
isGrowing() {
|
|
1004
1069
|
return !!(this.width.grow || this.height.grow);
|
|
1005
1070
|
}
|
|
1006
|
-
},
|
|
1071
|
+
}, E = Object.freeze({
|
|
1007
1072
|
px: 0,
|
|
1008
1073
|
grow: 0
|
|
1009
|
-
}),
|
|
1074
|
+
}), D = new T(E, E);
|
|
1010
1075
|
function O(e) {
|
|
1011
1076
|
return !e.px && !e.grow && !e.minPx;
|
|
1012
1077
|
}
|
|
1013
|
-
function
|
|
1078
|
+
function je(e, t) {
|
|
1014
1079
|
return !e || !t ? !1 : e.px === t.px && e.grow === t.grow && e.minPx === t.minPx && e.maxPx === t.maxPx;
|
|
1015
1080
|
}
|
|
1016
1081
|
function k(e) {
|
|
1017
1082
|
return e || 0;
|
|
1018
1083
|
}
|
|
1019
|
-
function je(e) {
|
|
1020
|
-
return e && (u(e.px) || u(e.grow) || u(e.minPx) || u(e.maxPx));
|
|
1021
|
-
}
|
|
1022
1084
|
function Me(e) {
|
|
1085
|
+
return e && (i(e.px) || i(e.grow) || i(e.minPx) || i(e.maxPx));
|
|
1086
|
+
}
|
|
1087
|
+
function A(e) {
|
|
1023
1088
|
if (q(e)) throw Error("parseSizeDef does not accept step-based sizes.");
|
|
1024
|
-
if (
|
|
1025
|
-
if (
|
|
1089
|
+
if (Me(e)) return j(e), L(e);
|
|
1090
|
+
if (i(e)) return {
|
|
1026
1091
|
px: e,
|
|
1027
1092
|
grow: 0
|
|
1028
1093
|
};
|
|
@@ -1034,26 +1099,26 @@ function Me(e) {
|
|
|
1034
1099
|
}
|
|
1035
1100
|
function Ne(e, t, n) {
|
|
1036
1101
|
let r = !1;
|
|
1037
|
-
for (let t of e)
|
|
1102
|
+
for (let t of e) j(t), r ||= F(t);
|
|
1038
1103
|
if (!r) return Pe(e, t, n);
|
|
1039
1104
|
let i = Array(e.length).fill(0), a = [];
|
|
1040
1105
|
for (let t = 0; t < e.length; t++) O(e[t]) || a.push(t);
|
|
1041
1106
|
let o = Math.max(0, a.length - 1) * n, s = Math.max(0, t - o), c = /* @__PURE__ */ new Set();
|
|
1042
1107
|
for (let t of a) {
|
|
1043
1108
|
let n = e[t];
|
|
1044
|
-
k(n.grow) || (i[t] =
|
|
1109
|
+
k(n.grow) || (i[t] = M(k(n.px), n), c.add(t));
|
|
1045
1110
|
}
|
|
1046
1111
|
for (;;) {
|
|
1047
1112
|
let t = 0, n = 0, r = 0;
|
|
1048
1113
|
for (let o of a) c.has(o) ? r += i[o] : (t += k(e[o].px), n += k(e[o].grow));
|
|
1049
1114
|
if (!n) {
|
|
1050
|
-
for (let t of a) c.has(t) || (i[t] =
|
|
1115
|
+
for (let t of a) c.has(t) || (i[t] = M(k(e[t].px), e[t]), c.add(t));
|
|
1051
1116
|
break;
|
|
1052
1117
|
}
|
|
1053
1118
|
let o = Math.max(0, s - r - t), l = 0, u = [], d = [];
|
|
1054
1119
|
for (let t of a) {
|
|
1055
1120
|
if (c.has(t)) continue;
|
|
1056
|
-
let r = e[t], a = k(r.px) + k(r.grow) / n * o, s =
|
|
1121
|
+
let r = e[t], a = k(r.px) + k(r.grow) / n * o, s = M(a, r);
|
|
1057
1122
|
i[t] = s;
|
|
1058
1123
|
let f = s - a;
|
|
1059
1124
|
l += f, f > 0 ? u.push(t) : f < 0 && d.push(t);
|
|
@@ -1076,36 +1141,36 @@ function Pe(e, t, n) {
|
|
|
1076
1141
|
}
|
|
1077
1142
|
return o;
|
|
1078
1143
|
}
|
|
1079
|
-
function
|
|
1144
|
+
function j(e) {
|
|
1080
1145
|
if (e.minPx !== void 0 && e.maxPx !== void 0 && e.minPx > e.maxPx) throw Error("SizeDef minPx cannot be greater than maxPx.");
|
|
1081
1146
|
}
|
|
1082
|
-
function
|
|
1147
|
+
function M(e, t) {
|
|
1083
1148
|
return Math.min(Math.max(e, t.minPx ?? 0), t.maxPx ?? Infinity);
|
|
1084
1149
|
}
|
|
1085
|
-
function M(e) {
|
|
1086
|
-
return j(k(e.px), e);
|
|
1087
|
-
}
|
|
1088
1150
|
function N(e) {
|
|
1089
|
-
return
|
|
1151
|
+
return M(k(e.px), e);
|
|
1090
1152
|
}
|
|
1091
1153
|
function P(e) {
|
|
1154
|
+
return e.maxPx ?? (k(e.grow) ? void 0 : N(e));
|
|
1155
|
+
}
|
|
1156
|
+
function F(e) {
|
|
1092
1157
|
return e.minPx !== void 0 || e.maxPx !== void 0;
|
|
1093
1158
|
}
|
|
1094
|
-
function
|
|
1095
|
-
return
|
|
1159
|
+
function I(e, t) {
|
|
1160
|
+
return L({
|
|
1096
1161
|
px: (e.px ?? 0) + t,
|
|
1097
1162
|
grow: e.grow,
|
|
1098
1163
|
minPx: e.minPx === void 0 ? void 0 : Math.max(0, e.minPx + t),
|
|
1099
1164
|
maxPx: e.maxPx === void 0 ? void 0 : Math.max(0, e.maxPx + t)
|
|
1100
1165
|
});
|
|
1101
1166
|
}
|
|
1102
|
-
function
|
|
1103
|
-
let t = {}, n = e.px !== void 0, r = e.grow !== void 0, i =
|
|
1167
|
+
function L(e) {
|
|
1168
|
+
let t = {}, n = e.px !== void 0, r = e.grow !== void 0, i = F(e);
|
|
1104
1169
|
return e.px ? t.px = e.px : e.px === 0 && (t.px = 0), e.grow ? t.grow = e.grow : e.grow === 0 ? t.grow = 0 : !n && !r && i && (t.grow = 1), e.minPx && e.minPx > k(e.px) && (t.minPx = e.minPx), e.maxPx !== void 0 && (k(t.grow) || e.maxPx < k(e.px)) && (t.maxPx = e.maxPx), t;
|
|
1105
1170
|
}
|
|
1106
1171
|
//#endregion
|
|
1107
1172
|
//#region ../core/src/view/layout/padding.js
|
|
1108
|
-
var
|
|
1173
|
+
var R = class e {
|
|
1109
1174
|
constructor(e, t, n, r) {
|
|
1110
1175
|
this.top = e || 0, this.right = t || 0, this.bottom = n || 0, this.left = r || 0;
|
|
1111
1176
|
}
|
|
@@ -1140,35 +1205,35 @@ var L = class e {
|
|
|
1140
1205
|
return this.top + this.bottom;
|
|
1141
1206
|
}
|
|
1142
1207
|
static createFromConfig(e) {
|
|
1143
|
-
return typeof e == "number" ? this.createUniformPadding(e) : e ? this.createFromRecord(e) :
|
|
1208
|
+
return typeof e == "number" ? this.createUniformPadding(e) : e ? this.createFromRecord(e) : z;
|
|
1144
1209
|
}
|
|
1145
1210
|
static createFromRecord(t) {
|
|
1146
1211
|
return new e(t.top, t.right, t.bottom, t.left);
|
|
1147
1212
|
}
|
|
1148
1213
|
static zero() {
|
|
1149
|
-
return
|
|
1214
|
+
return z;
|
|
1150
1215
|
}
|
|
1151
1216
|
static createUniformPadding(t) {
|
|
1152
1217
|
return new e(t, t, t, t);
|
|
1153
1218
|
}
|
|
1154
1219
|
};
|
|
1155
1220
|
function Fe(e, t) {
|
|
1156
|
-
return t ? new
|
|
1221
|
+
return t ? new R(t.top === !1 ? 0 : e.top, t.right === !1 ? 0 : e.right, t.bottom === !1 ? 0 : e.bottom, t.left === !1 ? 0 : e.left) : e;
|
|
1157
1222
|
}
|
|
1158
|
-
var
|
|
1159
|
-
Object.freeze(
|
|
1223
|
+
var z = R.createUniformPadding(0);
|
|
1224
|
+
Object.freeze(z);
|
|
1160
1225
|
//#endregion
|
|
1161
1226
|
//#region ../core/src/utils/url.js
|
|
1162
1227
|
var Ie = /^([A-Za-z]+:)?\/\//;
|
|
1163
|
-
function
|
|
1228
|
+
function B(e, t) {
|
|
1164
1229
|
if (t && Ie.test(t)) return t;
|
|
1165
1230
|
let n = typeof e == "function" ? e() : e;
|
|
1166
1231
|
if (!n) return t;
|
|
1167
1232
|
if (!t) return n;
|
|
1168
1233
|
if (/[#?]/.test(n)) throw Error(`Cannot append to a url with query or hash. Append: ${t}, base: ${n}`);
|
|
1169
|
-
return
|
|
1234
|
+
return Re(n) + t;
|
|
1170
1235
|
}
|
|
1171
|
-
function Le(e, t, n =
|
|
1236
|
+
function Le(e, t, n = ze()) {
|
|
1172
1237
|
let r = typeof e == "function" ? e() : e;
|
|
1173
1238
|
if (!t) return r;
|
|
1174
1239
|
try {
|
|
@@ -1177,65 +1242,65 @@ function Le(e, t, n = Re()) {
|
|
|
1177
1242
|
return new URL(t, e).href;
|
|
1178
1243
|
} else if (n) return new URL(t, n).href;
|
|
1179
1244
|
} catch {}
|
|
1180
|
-
return
|
|
1245
|
+
return B(r, t);
|
|
1181
1246
|
}
|
|
1182
|
-
function
|
|
1247
|
+
function Re(e) {
|
|
1183
1248
|
let t = e.replace(/[^/]*$/, "");
|
|
1184
1249
|
return t === "" ? void 0 : t.endsWith("://") ? e + "/" : t;
|
|
1185
1250
|
}
|
|
1186
|
-
function
|
|
1251
|
+
function ze() {
|
|
1187
1252
|
if (typeof document < "u" && document.baseURI) return document.baseURI;
|
|
1188
1253
|
if (typeof window < "u" && window.location?.href) return window.location.href;
|
|
1189
1254
|
}
|
|
1190
1255
|
//#endregion
|
|
1191
1256
|
//#region ../core/src/utils/addBaseUrl.js
|
|
1192
|
-
function
|
|
1257
|
+
function Be(e, t) {
|
|
1193
1258
|
return !t || /^(data:|([A-Za-z]+:)?\/\/)/.test(e) || e.startsWith("/") ? e : (t.endsWith("/") || (t += "/"), t + e);
|
|
1194
1259
|
}
|
|
1195
|
-
function
|
|
1260
|
+
function Ve(e) {
|
|
1196
1261
|
if (!e) return e;
|
|
1197
1262
|
if (/[?#]/.test(e)) throw Error(`Invalid base URL: ${e} - cannot contain query or hash.`);
|
|
1198
1263
|
return e.endsWith("/") ? e : e + "/";
|
|
1199
1264
|
}
|
|
1200
1265
|
//#endregion
|
|
1201
1266
|
//#region ../core/src/config/mergeConfig.js
|
|
1202
|
-
function V(
|
|
1203
|
-
return
|
|
1267
|
+
function V(t) {
|
|
1268
|
+
return e(t) && !Array.isArray(t);
|
|
1204
1269
|
}
|
|
1205
|
-
function
|
|
1270
|
+
function He(e) {
|
|
1206
1271
|
let t = {};
|
|
1207
1272
|
for (let [n, r] of Object.entries(e)) t[n] = H(r);
|
|
1208
1273
|
return t;
|
|
1209
1274
|
}
|
|
1210
1275
|
function H(e) {
|
|
1211
|
-
return Array.isArray(e) ? e.map(H) : V(e) ?
|
|
1276
|
+
return Array.isArray(e) ? e.map(H) : V(e) ? He(e) : e;
|
|
1212
1277
|
}
|
|
1213
|
-
function
|
|
1278
|
+
function Ue(e, t) {
|
|
1214
1279
|
for (let [n, r] of Object.entries(t)) {
|
|
1215
1280
|
if (r === void 0) continue;
|
|
1216
1281
|
let t = e[n];
|
|
1217
|
-
V(r) && V(t) ?
|
|
1282
|
+
V(r) && V(t) ? Ue(t, r) : e[n] = H(r);
|
|
1218
1283
|
}
|
|
1219
1284
|
return e;
|
|
1220
1285
|
}
|
|
1221
|
-
function
|
|
1286
|
+
function We(e) {
|
|
1222
1287
|
let t = {};
|
|
1223
|
-
for (let n of e) n &&
|
|
1288
|
+
for (let n of e) n && Ue(t, n);
|
|
1224
1289
|
return t;
|
|
1225
1290
|
}
|
|
1226
1291
|
//#endregion
|
|
1227
1292
|
//#region ../core/src/view/viewChrome.js
|
|
1228
1293
|
var U = /* @__PURE__ */ new WeakMap();
|
|
1229
|
-
function
|
|
1294
|
+
function Ge(e, t) {
|
|
1230
1295
|
U.set(e, t);
|
|
1231
1296
|
}
|
|
1232
|
-
function
|
|
1297
|
+
function Ke(e) {
|
|
1233
1298
|
return U.get(e);
|
|
1234
1299
|
}
|
|
1235
|
-
function
|
|
1300
|
+
function qe(e) {
|
|
1236
1301
|
return U.has(e);
|
|
1237
1302
|
}
|
|
1238
|
-
function
|
|
1303
|
+
function Je(e) {
|
|
1239
1304
|
let t = e;
|
|
1240
1305
|
for (; t;) {
|
|
1241
1306
|
let n = U.get(t);
|
|
@@ -1246,16 +1311,16 @@ function qe(e) {
|
|
|
1246
1311
|
}
|
|
1247
1312
|
//#endregion
|
|
1248
1313
|
//#region ../core/src/view/postScaleParams.js
|
|
1249
|
-
var
|
|
1250
|
-
function
|
|
1251
|
-
|
|
1314
|
+
var Ye = /* @__PURE__ */ new WeakMap();
|
|
1315
|
+
function Xe(e, t) {
|
|
1316
|
+
Ye.set(e, t);
|
|
1252
1317
|
}
|
|
1253
|
-
function
|
|
1254
|
-
return
|
|
1318
|
+
function Ze(e) {
|
|
1319
|
+
return Ye.get(e);
|
|
1255
1320
|
}
|
|
1256
1321
|
//#endregion
|
|
1257
1322
|
//#region ../core/src/data/namedDataScope.js
|
|
1258
|
-
var
|
|
1323
|
+
var Qe = class {
|
|
1259
1324
|
name;
|
|
1260
1325
|
owner;
|
|
1261
1326
|
getDefaultData;
|
|
@@ -1293,13 +1358,13 @@ var Ze = class {
|
|
|
1293
1358
|
dispose() {
|
|
1294
1359
|
this.#e = void 0, this.#t = !1, this.#n++, this.#r = !0;
|
|
1295
1360
|
}
|
|
1296
|
-
},
|
|
1361
|
+
}, $e = class {
|
|
1297
1362
|
view;
|
|
1298
1363
|
#e = /* @__PURE__ */ new Map();
|
|
1299
1364
|
#t = /* @__PURE__ */ new Map();
|
|
1300
1365
|
constructor(e) {
|
|
1301
1366
|
this.view = e;
|
|
1302
|
-
for (let [t, n] of Object.entries(e.spec.datasets ?? {})) this.#e.set(t, new
|
|
1367
|
+
for (let [t, n] of Object.entries(e.spec.datasets ?? {})) this.#e.set(t, new Qe(t, e, () => n));
|
|
1303
1368
|
}
|
|
1304
1369
|
getLocalBinding(e) {
|
|
1305
1370
|
return this.#e.get(e);
|
|
@@ -1313,7 +1378,7 @@ var Ze = class {
|
|
|
1313
1378
|
let n = this.view.dataParent?.namedDataScope;
|
|
1314
1379
|
if (n) return n.resolve(e);
|
|
1315
1380
|
let r = this.#t.get(e);
|
|
1316
|
-
return r || (r = new
|
|
1381
|
+
return r || (r = new Qe(e, void 0, () => this.view.context.getNamedDataFromProvider(e)), this.#t.set(e, r)), r;
|
|
1317
1382
|
}
|
|
1318
1383
|
dispose() {
|
|
1319
1384
|
for (let e of this.#e.values()) e.dispose();
|
|
@@ -1321,7 +1386,7 @@ var Ze = class {
|
|
|
1321
1386
|
for (let e of this.#t.values()) e.dispose();
|
|
1322
1387
|
this.#t.clear();
|
|
1323
1388
|
}
|
|
1324
|
-
}, W = "VISIT_SKIP", G = "VISIT_STOP", K = (e) => e,
|
|
1389
|
+
}, W = "VISIT_SKIP", G = "VISIT_STOP", K = (e) => e, et = class {
|
|
1325
1390
|
spec;
|
|
1326
1391
|
namedDataScope;
|
|
1327
1392
|
#e;
|
|
@@ -1340,12 +1405,12 @@ var Ze = class {
|
|
|
1340
1405
|
#f = [];
|
|
1341
1406
|
#p = "none";
|
|
1342
1407
|
#m = /* @__PURE__ */ new Map();
|
|
1343
|
-
facetCoords = new
|
|
1408
|
+
facetCoords = new o([], JSON.stringify);
|
|
1344
1409
|
constructor(e, t, n, r, i, a = {}) {
|
|
1345
1410
|
if (!e) throw Error("View spec must be defined!");
|
|
1346
|
-
if (this.context = t, this.layoutParent = n, this.dataParent = r, this.#t = i, this.spec = e, this.namedDataScope = new
|
|
1347
|
-
let o = r ? r.getConfigScopes() : [t.getBaseConfig()],
|
|
1348
|
-
this.#e = [...o,
|
|
1411
|
+
if (this.context = t, this.layoutParent = n, this.dataParent = r, this.#t = i, this.spec = e, this.namedDataScope = new $e(this), r && e.theme !== void 0) throw Error("\"theme\" is only supported at the root specification. Use \"config\" and \"style\" for subtree customization.");
|
|
1412
|
+
let o = r ? r.getConfigScopes() : [t.getBaseConfig()], s = e.config;
|
|
1413
|
+
this.#e = [...o, s].filter((e) => !!e), this.resolutions = {
|
|
1349
1414
|
scale: {},
|
|
1350
1415
|
axis: {},
|
|
1351
1416
|
legend: {}
|
|
@@ -1356,11 +1421,11 @@ var Ze = class {
|
|
|
1356
1421
|
}, this.flowHandle = void 0, this.needsAxes = {
|
|
1357
1422
|
x: !1,
|
|
1358
1423
|
y: !1
|
|
1359
|
-
}, this.paramRuntime = new
|
|
1360
|
-
let l = [...e.params ?? [], ...
|
|
1424
|
+
}, this.paramRuntime = new C(() => this.dataParent?.paramRuntime, (e) => this.getScaleResolution(e), t.animator, { settleTemporalUpdatesImmediately: !0 }), this.paramRuntime.setSelectionSource(this), "mark" in e && this.paramRuntime.registerLazyExpression("zoomLevel", "zoomLevel()", () => ae("The automatic zoomLevel parameter is deprecated. Use zoomLevel() or an explicit channel such as zoomLevel(\"x\") instead."));
|
|
1425
|
+
let l = [...e.params ?? [], ...Ze(e) ?? []];
|
|
1361
1426
|
for (let e of l) {
|
|
1362
1427
|
if ("expr" in e) {
|
|
1363
|
-
let { usesScaleHelper: t, globals: n } =
|
|
1428
|
+
let { usesScaleHelper: t, globals: n } = c(e.expr), r = n.some((e) => this.paramRuntime.isPendingParam(e));
|
|
1364
1429
|
if (t || r) {
|
|
1365
1430
|
this.paramRuntime.registerParam(e, { defer: !0 }), this.#d.push(e.name);
|
|
1366
1431
|
continue;
|
|
@@ -1386,18 +1451,18 @@ var Ze = class {
|
|
|
1386
1451
|
return this.#t;
|
|
1387
1452
|
}
|
|
1388
1453
|
getConfig() {
|
|
1389
|
-
return
|
|
1454
|
+
return We(this.#e);
|
|
1390
1455
|
}
|
|
1391
1456
|
getCursorSpec() {
|
|
1392
1457
|
return this.spec.cursor;
|
|
1393
1458
|
}
|
|
1394
1459
|
getCursor() {
|
|
1395
1460
|
let e = this.getCursorSpec();
|
|
1396
|
-
return
|
|
1461
|
+
return l(e) ? this.paramRuntime.evaluateAndGet(e.expr) : e;
|
|
1397
1462
|
}
|
|
1398
1463
|
watchCursor(e, t) {
|
|
1399
1464
|
let n = this.getCursorSpec();
|
|
1400
|
-
|
|
1465
|
+
l(n) && this.paramRuntime.watchExpression(n.expr, e, {
|
|
1401
1466
|
scopeOwned: !1,
|
|
1402
1467
|
registerDisposer: t
|
|
1403
1468
|
});
|
|
@@ -1409,41 +1474,41 @@ var Ze = class {
|
|
|
1409
1474
|
return this.facetCoords.values().next().value;
|
|
1410
1475
|
}
|
|
1411
1476
|
getPadding() {
|
|
1412
|
-
return this._cache("size/padding", () =>
|
|
1477
|
+
return this._cache("size/padding", () => R.createFromConfig(this.spec.padding));
|
|
1413
1478
|
}
|
|
1414
1479
|
getOverhang() {
|
|
1415
|
-
return
|
|
1480
|
+
return R.zero();
|
|
1416
1481
|
}
|
|
1417
1482
|
isScrollable() {
|
|
1418
1483
|
return this.spec.viewportWidth != null || this.spec.viewportHeight != null;
|
|
1419
1484
|
}
|
|
1420
1485
|
getSize() {
|
|
1421
|
-
return this._cache("size/size", () => this.isConfiguredVisible() ? new
|
|
1486
|
+
return this._cache("size/size", () => this.isConfiguredVisible() ? new T(this.#g("width"), this.#g("height")) : D);
|
|
1422
1487
|
}
|
|
1423
1488
|
getViewportSize() {
|
|
1424
1489
|
if (!this.isScrollable()) return this.getSize();
|
|
1425
|
-
if (!this.isConfiguredVisible()) return
|
|
1490
|
+
if (!this.isConfiguredVisible()) return D;
|
|
1426
1491
|
let e = this.getSize();
|
|
1427
|
-
return new
|
|
1492
|
+
return new T(this.#g("viewportWidth") ?? e.width, this.#g("viewportHeight") ?? e.height);
|
|
1428
1493
|
}
|
|
1429
1494
|
#g(e) {
|
|
1430
1495
|
let { value: t, implicit: n } = this.#_(e), r = this.resolveSizeValue(e, t), i = q(r), a = e == "viewportWidth" || e == "viewportHeight";
|
|
1431
1496
|
if (i) {
|
|
1432
|
-
if (a) throw new
|
|
1497
|
+
if (a) throw new b(`Cannot use step-based size with "${e}"!`, this);
|
|
1433
1498
|
let t = this.#x(e, r), i = this.getScaleResolution(e == "width" ? "x" : "y")?.getScale();
|
|
1434
1499
|
if (i) {
|
|
1435
1500
|
let n;
|
|
1436
|
-
if (
|
|
1501
|
+
if (v(i.type)) n = i.domain().length;
|
|
1437
1502
|
else if (["locus", "index"].includes(i.type)) {
|
|
1438
1503
|
let e = i.domain();
|
|
1439
|
-
n =
|
|
1440
|
-
} else throw new
|
|
1504
|
+
n = d(e) - e[0];
|
|
1505
|
+
} else throw new b(`Cannot use step-based size with "${i.type}" scale!`, this);
|
|
1441
1506
|
let a = i;
|
|
1442
|
-
n =
|
|
1443
|
-
let o = e == "width" ? "xOffset" : "yOffset", s = this.getScaleResolution(o)?.getScale(), c = r.for ?? (s &&
|
|
1507
|
+
n = _(n, a.paddingInner(), a.paddingOuter());
|
|
1508
|
+
let o = e == "width" ? "xOffset" : "yOffset", s = this.getScaleResolution(o)?.getScale(), c = r.for ?? (s && v(s.type) ? "offset" : "position"), l = t;
|
|
1444
1509
|
if (c == "offset") {
|
|
1445
|
-
if (!s || !
|
|
1446
|
-
let t = s, n =
|
|
1510
|
+
if (!s || !v(s.type)) throw new b(`Cannot use ${e}.step.for = "offset" without a discrete ${o} scale!`, this);
|
|
1511
|
+
let t = s, n = _(s.domain().length, t.paddingInner(), t.paddingOuter());
|
|
1447
1512
|
l *= n / (1 - a.paddingInner());
|
|
1448
1513
|
}
|
|
1449
1514
|
return {
|
|
@@ -1454,8 +1519,8 @@ var Ze = class {
|
|
|
1454
1519
|
px: t,
|
|
1455
1520
|
grow: 0
|
|
1456
1521
|
};
|
|
1457
|
-
else throw new
|
|
1458
|
-
} else return (r &&
|
|
1522
|
+
else throw new b(`Cannot use step-based size with "${e}"!`, this);
|
|
1523
|
+
} else return (r && A(r)) ?? (a ? void 0 : {
|
|
1459
1524
|
px: 0,
|
|
1460
1525
|
grow: 1
|
|
1461
1526
|
});
|
|
@@ -1471,17 +1536,17 @@ var Ze = class {
|
|
|
1471
1536
|
};
|
|
1472
1537
|
}
|
|
1473
1538
|
#v(e) {
|
|
1474
|
-
if (
|
|
1539
|
+
if (Je(this)) return;
|
|
1475
1540
|
let t = this.getConfig().view;
|
|
1476
1541
|
if (!t) return;
|
|
1477
1542
|
let n = e == "width" ? "x" : "y", r = this.getScaleResolution(n)?.getResolvedScaleType();
|
|
1478
|
-
return r && !
|
|
1543
|
+
return r && !v(r) ? e == "width" ? t.continuousWidth : t.continuousHeight : (e == "width" ? t.discreteWidth : t.discreteHeight) ?? (t.step === void 0 ? void 0 : { step: t.step });
|
|
1479
1544
|
}
|
|
1480
1545
|
resolveSizeValue(e, t) {
|
|
1481
|
-
if (!
|
|
1546
|
+
if (!l(t)) return t;
|
|
1482
1547
|
let n = this.#C(e)();
|
|
1483
|
-
if (
|
|
1484
|
-
throw new
|
|
1548
|
+
if (at(n) || n === "container") return n;
|
|
1549
|
+
throw new b(`"${e}" ExprRef must resolve to a finite number or "container"!`, this);
|
|
1485
1550
|
}
|
|
1486
1551
|
registerSizeInvalidation() {
|
|
1487
1552
|
this.#y("width", "x"), this.#y("height", "y"), this.#b("width"), this.#b("height"), this.#b("viewportWidth"), this.#b("viewportHeight");
|
|
@@ -1492,27 +1557,27 @@ var Ze = class {
|
|
|
1492
1557
|
let i = this.getScaleResolution(t);
|
|
1493
1558
|
if (!i) {
|
|
1494
1559
|
if (r) return;
|
|
1495
|
-
throw new
|
|
1560
|
+
throw new b("Cannot use 'step' size without a scale!", this);
|
|
1496
1561
|
}
|
|
1497
1562
|
let a = () => {
|
|
1498
1563
|
let t = this.getSize()[e];
|
|
1499
1564
|
this.invalidateSizeCache();
|
|
1500
1565
|
let n = this.getSize()[e];
|
|
1501
|
-
|
|
1566
|
+
je(t, n) || this.context.requestLayoutReflow();
|
|
1502
1567
|
};
|
|
1503
1568
|
if (i.addEventListener("domain", a), this.registerDisposer(() => i.removeEventListener("domain", a)), n.for != "position") {
|
|
1504
1569
|
let t = e == "width" ? "xOffset" : "yOffset", n = this.getScaleResolution(t);
|
|
1505
|
-
n &&
|
|
1570
|
+
n && v(n.getResolvedScaleType()) && (n.addEventListener("domain", a), this.registerDisposer(() => n.removeEventListener("domain", a)));
|
|
1506
1571
|
}
|
|
1507
1572
|
}
|
|
1508
1573
|
#b(e) {
|
|
1509
1574
|
let { value: t } = this.#_(e);
|
|
1510
|
-
|
|
1575
|
+
l(t) ? this.#S(e, t.expr) : q(t) && l(t.step) && this.#S(e + ".step", t.step.expr);
|
|
1511
1576
|
}
|
|
1512
1577
|
#x(e, t) {
|
|
1513
|
-
let n =
|
|
1514
|
-
if (
|
|
1515
|
-
throw new
|
|
1578
|
+
let n = l(t.step) ? this.#C(e + ".step")() : t.step;
|
|
1579
|
+
if (at(n)) return n;
|
|
1580
|
+
throw new b(`"${e}.step" ExprRef must resolve to a finite number!`, this);
|
|
1516
1581
|
}
|
|
1517
1582
|
#S(e, t) {
|
|
1518
1583
|
if (!this.#m.has(e)) {
|
|
@@ -1524,7 +1589,7 @@ var Ze = class {
|
|
|
1524
1589
|
}
|
|
1525
1590
|
#C(e) {
|
|
1526
1591
|
let t = this.#m.get(e);
|
|
1527
|
-
if (!t) throw new
|
|
1592
|
+
if (!t) throw new b(`"${e}" ExprRef was not registered before layout!`, this);
|
|
1528
1593
|
return t;
|
|
1529
1594
|
}
|
|
1530
1595
|
isConfiguredVisible() {
|
|
@@ -1643,7 +1708,7 @@ var Ze = class {
|
|
|
1643
1708
|
}
|
|
1644
1709
|
}
|
|
1645
1710
|
configureViewOpacity() {
|
|
1646
|
-
(!this.opacityFunction || this.opacityFunction === K) && (this.opacityFunction =
|
|
1711
|
+
(!this.opacityFunction || this.opacityFunction === K) && (this.opacityFunction = nt(this));
|
|
1647
1712
|
}
|
|
1648
1713
|
finalizeParamRuntimeInitialization() {
|
|
1649
1714
|
this.#l === void 0 ? this.paramRuntime.finalizeInitialization() : this.#T();
|
|
@@ -1655,8 +1720,8 @@ var Ze = class {
|
|
|
1655
1720
|
return this.#s;
|
|
1656
1721
|
}
|
|
1657
1722
|
arrange(e, t, n = {}) {
|
|
1658
|
-
if (n.firstFacet && this.facetCoords.clear(), this.facetCoords.set(n.facetId,
|
|
1659
|
-
let e = this.getOverhang(), n = this.layoutParent ?
|
|
1723
|
+
if (n.firstFacet && this.facetCoords.clear(), this.facetCoords.set(n.facetId, ee(t, p(n))), this.#a || this.#o) {
|
|
1724
|
+
let e = this.getOverhang(), n = this.layoutParent ? R.zero() : this.getPadding();
|
|
1660
1725
|
this.#a?.(t.width - e.width - n.width), this.#o?.(t.height - e.height - n.height);
|
|
1661
1726
|
}
|
|
1662
1727
|
this.#c = !0, this.#T();
|
|
@@ -1677,7 +1742,7 @@ var Ze = class {
|
|
|
1677
1742
|
}
|
|
1678
1743
|
getFacetFields(e) {
|
|
1679
1744
|
let t = this.getEncoding().sample;
|
|
1680
|
-
return
|
|
1745
|
+
return te(t) ? [t.field] : this.options.inheritEncoding ? this.layoutParent?.getFacetFields(this) : [];
|
|
1681
1746
|
}
|
|
1682
1747
|
usesSampleFacetRendering() {
|
|
1683
1748
|
return this.layoutParent?.usesSampleFacetRendering() ?? !1;
|
|
@@ -1689,15 +1754,15 @@ var Ze = class {
|
|
|
1689
1754
|
};
|
|
1690
1755
|
}
|
|
1691
1756
|
getScaleResolution(e) {
|
|
1692
|
-
let t =
|
|
1757
|
+
let t = h(e);
|
|
1693
1758
|
return this.getDataAncestors().map((e) => e.resolutions.scale[t]).find((e) => e);
|
|
1694
1759
|
}
|
|
1695
1760
|
getAxisResolution(e) {
|
|
1696
|
-
let t =
|
|
1761
|
+
let t = h(e);
|
|
1697
1762
|
return this.getDataAncestors().map((e) => e.resolutions.axis[t]).find((e) => e);
|
|
1698
1763
|
}
|
|
1699
1764
|
getLegendResolution(e) {
|
|
1700
|
-
let t =
|
|
1765
|
+
let t = h(e);
|
|
1701
1766
|
return this.getDataAncestors().map((e) => e.resolutions.legend[t]).find((e) => e);
|
|
1702
1767
|
}
|
|
1703
1768
|
getConfiguredResolution(e, t) {
|
|
@@ -1710,14 +1775,14 @@ var Ze = class {
|
|
|
1710
1775
|
return "independent";
|
|
1711
1776
|
}
|
|
1712
1777
|
getBaseUrl() {
|
|
1713
|
-
return
|
|
1778
|
+
return B(() => this.dataParent?.getBaseUrl(), Ve(this.spec.baseUrl));
|
|
1714
1779
|
}
|
|
1715
1780
|
isPickingSupported() {
|
|
1716
1781
|
return !0;
|
|
1717
1782
|
}
|
|
1718
1783
|
getTitleText() {
|
|
1719
1784
|
let e = this.spec.title;
|
|
1720
|
-
if (e) return
|
|
1785
|
+
if (e) return u(e) ? e : l(e.text) ? this.paramRuntime.evaluateAndGet(e.text.expr) : e.text;
|
|
1721
1786
|
}
|
|
1722
1787
|
_cache(e, t) {
|
|
1723
1788
|
return re(this, e, t);
|
|
@@ -1725,30 +1790,30 @@ var Ze = class {
|
|
|
1725
1790
|
_invalidateCacheByPrefix(e, t = "self") {
|
|
1726
1791
|
switch (t) {
|
|
1727
1792
|
case "self":
|
|
1728
|
-
|
|
1793
|
+
y(this, e);
|
|
1729
1794
|
break;
|
|
1730
1795
|
case "ancestors":
|
|
1731
|
-
for (let t of this.getLayoutAncestors())
|
|
1796
|
+
for (let t of this.getLayoutAncestors()) y(t, e);
|
|
1732
1797
|
break;
|
|
1733
1798
|
case "progeny":
|
|
1734
|
-
this.visit((t) =>
|
|
1799
|
+
this.visit((t) => y(t, e));
|
|
1735
1800
|
break;
|
|
1736
1801
|
default:
|
|
1737
1802
|
}
|
|
1738
1803
|
}
|
|
1739
1804
|
invalidateSizeCache() {
|
|
1740
|
-
|
|
1805
|
+
y(this, "size"), this._invalidateCacheByPrefix("size", "ancestors");
|
|
1741
1806
|
}
|
|
1742
1807
|
propagateInteraction(e) {}
|
|
1743
1808
|
};
|
|
1744
|
-
function
|
|
1809
|
+
function tt(e) {
|
|
1745
1810
|
return "unitsPerPixel" in e;
|
|
1746
1811
|
}
|
|
1747
|
-
function
|
|
1812
|
+
function nt(e) {
|
|
1748
1813
|
let t = "opacity" in e.spec ? e.spec.opacity : void 0;
|
|
1749
1814
|
if (t !== void 0) {
|
|
1750
|
-
if (
|
|
1751
|
-
if (
|
|
1815
|
+
if (i(t)) return (e) => e * t;
|
|
1816
|
+
if (tt(t)) {
|
|
1752
1817
|
let n = (t) => {
|
|
1753
1818
|
let n = e.getScaleResolution(t), r = n?.getScale();
|
|
1754
1819
|
if ([
|
|
@@ -1759,48 +1824,48 @@ function tt(e) {
|
|
|
1759
1824
|
scale: r,
|
|
1760
1825
|
scaleResolution: n
|
|
1761
1826
|
};
|
|
1762
|
-
}, r =
|
|
1763
|
-
if (!
|
|
1764
|
-
let i = () => 1,
|
|
1765
|
-
let t =
|
|
1827
|
+
}, r = it(t.values, "opacity.values", e);
|
|
1828
|
+
if (!s(t.unitsPerPixel)) throw new b("\"opacity.unitsPerPixel\" must be an array.", e);
|
|
1829
|
+
let i = () => 1, a = [], o = () => {
|
|
1830
|
+
let t = rt(it(a.map((e) => e()), "opacity.unitsPerPixel", e), r, e), n = ne().domain(t.unitsPerPixel).range(t.values).clamp(!0);
|
|
1766
1831
|
i = (e) => n(e);
|
|
1767
1832
|
};
|
|
1768
|
-
|
|
1769
|
-
if (
|
|
1833
|
+
a = t.unitsPerPixel.map((t) => {
|
|
1834
|
+
if (l(t)) {
|
|
1770
1835
|
let n = e.paramRuntime.watchExpression(t.expr, () => {
|
|
1771
|
-
|
|
1836
|
+
o(), e.context.animator.requestRender();
|
|
1772
1837
|
});
|
|
1773
1838
|
return () => n(null);
|
|
1774
1839
|
} else return () => t;
|
|
1775
|
-
}),
|
|
1776
|
-
let
|
|
1840
|
+
}), o();
|
|
1841
|
+
let c = (e) => {
|
|
1777
1842
|
let t = e.scaleResolution.getAxisLength() || 1e3;
|
|
1778
|
-
return
|
|
1843
|
+
return m(e.scale.domain()) / t;
|
|
1779
1844
|
}, u;
|
|
1780
1845
|
if (t.channel === "auto") {
|
|
1781
1846
|
let t = n("x"), r = n("y");
|
|
1782
|
-
if (t && r) u = () => (
|
|
1783
|
-
else if (t) u = () =>
|
|
1784
|
-
else if (r) u = () =>
|
|
1785
|
-
else throw new
|
|
1847
|
+
if (t && r) u = () => (c(t) + c(r)) / 2;
|
|
1848
|
+
else if (t) u = () => c(t);
|
|
1849
|
+
else if (r) u = () => c(r);
|
|
1850
|
+
else throw new b("Cannot find a resolved quantitative x or y scale for dynamic opacity!", e);
|
|
1786
1851
|
} else {
|
|
1787
1852
|
let r = t.channel ? n(t.channel) : n("x") ?? n("y");
|
|
1788
|
-
if (!r) throw new
|
|
1789
|
-
u = () =>
|
|
1853
|
+
if (!r) throw new b("Cannot find a resolved quantitative scale for dynamic opacity!", e);
|
|
1854
|
+
u = () => c(r);
|
|
1790
1855
|
}
|
|
1791
1856
|
return (e) => i(u()) * e;
|
|
1792
|
-
} else if (
|
|
1857
|
+
} else if (l(t)) {
|
|
1793
1858
|
let n = e.paramRuntime.watchExpression(t.expr, () => e.context.animator.requestRender());
|
|
1794
1859
|
return (e) => n(null) * e;
|
|
1795
1860
|
}
|
|
1796
1861
|
}
|
|
1797
1862
|
return K;
|
|
1798
1863
|
}
|
|
1799
|
-
function
|
|
1800
|
-
if (!e.length) throw new
|
|
1801
|
-
if (e.length !== t.length) throw new
|
|
1864
|
+
function rt(e, t, n) {
|
|
1865
|
+
if (!e.length) throw new b("\"opacity.unitsPerPixel\" must contain at least one stop.", n);
|
|
1866
|
+
if (e.length !== t.length) throw new b("\"opacity.unitsPerPixel\" and \"opacity.values\" must have the same length.", n);
|
|
1802
1867
|
e.forEach((e, t) => {
|
|
1803
|
-
if (e <= 0) throw new
|
|
1868
|
+
if (e <= 0) throw new b("Invalid opacity.unitsPerPixel value at index " + t + ". Stop values must be positive.", n);
|
|
1804
1869
|
});
|
|
1805
1870
|
let r = e.map((e, n) => ({
|
|
1806
1871
|
stop: e,
|
|
@@ -1808,46 +1873,46 @@ function nt(e, t, n) {
|
|
|
1808
1873
|
}));
|
|
1809
1874
|
r.sort((e, t) => t.stop - e.stop);
|
|
1810
1875
|
let i = r.map((e) => e.stop), a = r.map((e) => e.value);
|
|
1811
|
-
for (let t = 1; t < e.length; t++) if (i[t - 1] <= i[t]) throw new
|
|
1876
|
+
for (let t = 1; t < e.length; t++) if (i[t - 1] <= i[t]) throw new b("\"opacity.unitsPerPixel\" must be strictly decreasing.", n);
|
|
1812
1877
|
return {
|
|
1813
1878
|
unitsPerPixel: i,
|
|
1814
1879
|
values: a
|
|
1815
1880
|
};
|
|
1816
1881
|
}
|
|
1817
|
-
function
|
|
1818
|
-
if (!
|
|
1882
|
+
function it(e, t, n) {
|
|
1883
|
+
if (!s(e)) throw new b("\"" + t + "\" must evaluate to an array.", n);
|
|
1819
1884
|
return e.map((e, r) => {
|
|
1820
|
-
if (!
|
|
1885
|
+
if (!i(e) || !Number.isFinite(e)) throw new b("Invalid " + t + " value at index " + r + ". Expected a finite number.", n);
|
|
1821
1886
|
return e;
|
|
1822
1887
|
});
|
|
1823
1888
|
}
|
|
1824
1889
|
var q = (e) => !!e && typeof e == "object" && "step" in e;
|
|
1825
|
-
function
|
|
1890
|
+
function at(e) {
|
|
1826
1891
|
return typeof e == "number" && Number.isFinite(e);
|
|
1827
1892
|
}
|
|
1828
1893
|
var J = /* @__PURE__ */ new WeakMap(), Y = /* @__PURE__ */ new WeakMap();
|
|
1829
|
-
function at(e, t) {
|
|
1830
|
-
st(e, t, "Import");
|
|
1831
|
-
}
|
|
1832
1894
|
function ot(e, t) {
|
|
1833
|
-
|
|
1895
|
+
ct(e, t, "Import");
|
|
1834
1896
|
}
|
|
1835
|
-
function st(e, t
|
|
1897
|
+
function st(e, t) {
|
|
1898
|
+
ct(e, t, "View");
|
|
1899
|
+
}
|
|
1900
|
+
function ct(e, t, n) {
|
|
1836
1901
|
if (t !== null && typeof t != "string") throw Error(n + " scope name must be a string or null.");
|
|
1837
1902
|
J.set(e, { name: t });
|
|
1838
1903
|
}
|
|
1839
|
-
function
|
|
1904
|
+
function lt(e) {
|
|
1840
1905
|
return J.get(e);
|
|
1841
1906
|
}
|
|
1842
|
-
function
|
|
1907
|
+
function ut(e, t = {}) {
|
|
1843
1908
|
let n = t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude";
|
|
1844
1909
|
Y.set(e, n);
|
|
1845
1910
|
}
|
|
1846
|
-
function
|
|
1847
|
-
|
|
1911
|
+
function dt(e, t = {}) {
|
|
1912
|
+
Ge(e, t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude");
|
|
1848
1913
|
}
|
|
1849
|
-
function
|
|
1850
|
-
return e.getLayoutAncestors().some(
|
|
1914
|
+
function ft(e) {
|
|
1915
|
+
return e.getLayoutAncestors().some(qe);
|
|
1851
1916
|
}
|
|
1852
1917
|
function X(e) {
|
|
1853
1918
|
let t = e.getDataAncestors(), n = [];
|
|
@@ -1857,7 +1922,7 @@ function X(e) {
|
|
|
1857
1922
|
}
|
|
1858
1923
|
return n;
|
|
1859
1924
|
}
|
|
1860
|
-
function
|
|
1925
|
+
function pt(e) {
|
|
1861
1926
|
let t = e.explicitName;
|
|
1862
1927
|
if (!t) throw Error("Cannot build a selector for a view without a name.");
|
|
1863
1928
|
return {
|
|
@@ -1865,7 +1930,7 @@ function ft(e) {
|
|
|
1865
1930
|
view: t
|
|
1866
1931
|
};
|
|
1867
1932
|
}
|
|
1868
|
-
function
|
|
1933
|
+
function Z(e, t) {
|
|
1869
1934
|
if (!t) throw Error("Cannot build a selector for a parameter without a name.");
|
|
1870
1935
|
return {
|
|
1871
1936
|
scope: X(e),
|
|
@@ -1880,7 +1945,7 @@ function mt(e) {
|
|
|
1880
1945
|
}
|
|
1881
1946
|
function ht(e, t) {
|
|
1882
1947
|
e.visit((e) => {
|
|
1883
|
-
let n =
|
|
1948
|
+
let n = Ke(e);
|
|
1884
1949
|
if (n === "excludeSubtree") return W;
|
|
1885
1950
|
if (n !== "exclude") return t(e);
|
|
1886
1951
|
});
|
|
@@ -1895,7 +1960,7 @@ function gt(e, t) {
|
|
|
1895
1960
|
function _t(e, t) {
|
|
1896
1961
|
if (Ct(t), !jt(e, t.scope)) return;
|
|
1897
1962
|
let n = [];
|
|
1898
|
-
if (
|
|
1963
|
+
if ($(e, t.scope, (e) => {
|
|
1899
1964
|
e.explicitName === t.view && n.push(e);
|
|
1900
1965
|
}, { includeNamedImportRoots: !0 }), n.length === 1) return n[0];
|
|
1901
1966
|
if (n.length !== 0) throw Error("View selector is ambiguous for view \"" + t.view + "\" in scope " + JSON.stringify(t.scope));
|
|
@@ -1903,8 +1968,8 @@ function _t(e, t) {
|
|
|
1903
1968
|
function vt(e, t) {
|
|
1904
1969
|
if (St(t), !jt(e, t.scope)) return;
|
|
1905
1970
|
let n = [];
|
|
1906
|
-
if (
|
|
1907
|
-
for (let [r, i] of e.paramRuntime.paramConfigs) r === t.param &&
|
|
1971
|
+
if ($(e, t.scope, (e) => {
|
|
1972
|
+
for (let [r, i] of e.paramRuntime.paramConfigs) r === t.param && Q(i) && n.push({
|
|
1908
1973
|
view: e,
|
|
1909
1974
|
param: i
|
|
1910
1975
|
});
|
|
@@ -1915,10 +1980,10 @@ function yt(e, t) {
|
|
|
1915
1980
|
e.visit((e) => {
|
|
1916
1981
|
let n = Y.get(e);
|
|
1917
1982
|
if (n === "excludeSubtree") return W;
|
|
1918
|
-
if (n !== "exclude") for (let [n, r] of e.paramRuntime.paramConfigs)
|
|
1983
|
+
if (n !== "exclude") for (let [n, r] of e.paramRuntime.paramConfigs) Q(r) && t({
|
|
1919
1984
|
view: e,
|
|
1920
1985
|
param: r,
|
|
1921
|
-
selector:
|
|
1986
|
+
selector: Z(e, n)
|
|
1922
1987
|
});
|
|
1923
1988
|
});
|
|
1924
1989
|
}
|
|
@@ -1942,8 +2007,8 @@ function Ct(e) {
|
|
|
1942
2007
|
if (!e || !Array.isArray(e.scope)) throw Error("View selector scope must be an array.");
|
|
1943
2008
|
if (typeof e.view != "string" || !e.view.length) throw Error("View selector view must be a non-empty string.");
|
|
1944
2009
|
}
|
|
1945
|
-
function
|
|
1946
|
-
return
|
|
2010
|
+
function Q(e) {
|
|
2011
|
+
return e.persist === !1 ? !1 : a(e) ? !0 : t(e) ? !!e.bind : !1;
|
|
1947
2012
|
}
|
|
1948
2013
|
function wt(e) {
|
|
1949
2014
|
let t = /* @__PURE__ */ new Set([e]);
|
|
@@ -1960,9 +2025,9 @@ function Et(e) {
|
|
|
1960
2025
|
}
|
|
1961
2026
|
function Dt(e, t, n) {
|
|
1962
2027
|
let r = /* @__PURE__ */ new Map();
|
|
1963
|
-
|
|
2028
|
+
$(e, t, (e) => {
|
|
1964
2029
|
for (let [t, n] of e.paramRuntime.paramConfigs) {
|
|
1965
|
-
if (!
|
|
2030
|
+
if (!Q(n)) continue;
|
|
1966
2031
|
let i = r.get(t);
|
|
1967
2032
|
i ? i.push(e) : r.set(t, [e]);
|
|
1968
2033
|
}
|
|
@@ -1993,7 +2058,7 @@ function Ot(e, t, n) {
|
|
|
1993
2058
|
}
|
|
1994
2059
|
function kt(e, t) {
|
|
1995
2060
|
let n = [];
|
|
1996
|
-
return
|
|
2061
|
+
return $(e, t, (e) => {
|
|
1997
2062
|
if (X(e).length !== t.length + 1) return;
|
|
1998
2063
|
let r = J.get(e);
|
|
1999
2064
|
!r || typeof r.name != "string" || n.push(e);
|
|
@@ -2005,7 +2070,7 @@ function At(e) {
|
|
|
2005
2070
|
let n = Y.get(e);
|
|
2006
2071
|
if (n === "excludeSubtree") return W;
|
|
2007
2072
|
if (n !== "exclude") {
|
|
2008
|
-
for (let n of e.paramRuntime.paramConfigs.values()) if (
|
|
2073
|
+
for (let n of e.paramRuntime.paramConfigs.values()) if (Q(n)) return t = !0, G;
|
|
2009
2074
|
}
|
|
2010
2075
|
}), t;
|
|
2011
2076
|
}
|
|
@@ -2014,7 +2079,7 @@ function jt(e, t) {
|
|
|
2014
2079
|
for (let i of t) {
|
|
2015
2080
|
if (typeof i != "string" || !i.length) throw Error("Scope names must be non-empty strings.");
|
|
2016
2081
|
let t, a = !1;
|
|
2017
|
-
if (
|
|
2082
|
+
if ($(e, r, (e) => {
|
|
2018
2083
|
let n = J.get(e);
|
|
2019
2084
|
if (!(!n || n.name !== i) && X(e).length === r.length + 1) {
|
|
2020
2085
|
if (t) return a = !0, G;
|
|
@@ -2026,7 +2091,7 @@ function jt(e, t) {
|
|
|
2026
2091
|
}
|
|
2027
2092
|
return n;
|
|
2028
2093
|
}
|
|
2029
|
-
function
|
|
2094
|
+
function $(e, t, n, r = {}) {
|
|
2030
2095
|
let i = r.includeNamedImportRoots ?? !1;
|
|
2031
2096
|
e.visit((e) => {
|
|
2032
2097
|
let r = J.get(e), a = Y.get(e);
|
|
@@ -2036,15 +2101,15 @@ function Q(e, t, n, r = {}) {
|
|
|
2036
2101
|
}
|
|
2037
2102
|
function Mt(e, t, n, r) {
|
|
2038
2103
|
let i = X(e);
|
|
2039
|
-
return Nt(i, t) ? !0 : !r || !n || typeof n.name != "string" || i.length !== t.length + 1 ? !1 :
|
|
2104
|
+
return Nt(i, t) ? !0 : !r || !n || typeof n.name != "string" || i.length !== t.length + 1 ? !1 : Pt(t, i);
|
|
2040
2105
|
}
|
|
2041
2106
|
function Nt(e, t) {
|
|
2042
|
-
return e.length === t.length &&
|
|
2107
|
+
return e.length === t.length && Pt(e, t);
|
|
2043
2108
|
}
|
|
2044
|
-
function
|
|
2109
|
+
function Pt(e, t) {
|
|
2045
2110
|
if (e.length > t.length) return !1;
|
|
2046
2111
|
for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
|
|
2047
2112
|
return !0;
|
|
2048
2113
|
}
|
|
2049
2114
|
//#endregion
|
|
2050
|
-
export {
|
|
2115
|
+
export { T as A, C as B, We as C, Le as D, Re as E, N as F, x as G, Se as H, Ee as I, A as L, ke as M, De as N, R as O, P, Ae as R, Je as S, B as T, ye as U, xe as V, be as W, W as _, pt as a, Xe as b, dt as c, st as d, vt as f, ht as g, gt as h, X as i, E as j, Fe as k, ut as l, xt as m, lt as n, ft as o, _t as p, Z as r, mt as s, bt as t, ot as u, G as v, Be as w, qe as x, et as y, Oe as z };
|