@genome-spy/app 1.1.1 → 1.2.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-sPuuT0KS.js → agentApi-8hMSlqAQ.js} +8307 -6861
- package/dist/agentApi.es.js +5569 -4250
- package/dist/agentShared.es.js +9 -9
- package/dist/{canvas2d-iDK4BC5j.js → canvas2d-Bd8H8MMo.js} +149 -134
- package/dist/{canvas2d-MXaFeZnP.js → canvas2d-D6VYooRf.js} +136 -122
- package/dist/{clipOptions-Cba4I0AO.js → clipOptions-DElJ8dTZ.js} +2274 -2080
- package/dist/{clipOptions-B5PibDq3.js → clipOptions-D_wBNhzs.js} +2121 -1957
- package/dist/{viewIdentityRegistry-BDKkEjXl.js → containerView-CRJSc4bM.js} +24 -31
- package/dist/{viewIdentityRegistry-BIYd4TE0.js → containerView-aEVmYmkA.js} +24 -31
- package/dist/{debug-DbigmdrK.js → debug-CQ0agCrd.js} +9 -9
- package/dist/{debug-BlqDxTw3.js → debug-DkIMiGdW.js} +10 -10
- package/dist/index.es.js +3582 -3566
- package/dist/index.js +698 -454
- package/dist/{indexer-En7gpvLN.js → indexer-DDC0YRGn.js} +1 -1
- package/dist/{indexer-DbFTKGlm.js → indexer-DOYMJ-Md.js} +1 -1
- package/dist/markUtils-CvLDz744.js +75 -0
- package/dist/{metadataChannels-DV62inJh.js → metadataChannels-DLSmx7kU.js} +6 -3
- package/dist/{order-B4uR9Q04.js → order-BVvkjDRT.js} +369 -316
- package/dist/{order-BSPy5DI8.js → order-DmMoZsi1.js} +360 -308
- package/dist/{rasterExport-DQH3hVg_.js → rasterExport-DxvowWjH.js} +3 -3
- package/dist/{rasterExport-B62RmAK1.js → rasterExport-jeRVq6kY.js} +4 -4
- package/dist/{rasterization-B05bDo5e.js → rasterization-DFj3Cvx4.js} +26 -19
- package/dist/{rectangle-DE98gIxF.js → rectangle-DZTR6NFQ.js} +10 -1
- package/dist/rectangle-Dl4Dy0hS.js +191 -0
- package/dist/{renderCanvas2D-Bdv-B4wj.js → renderCanvas2D-Bfm1NHFu.js} +96 -91
- package/dist/{renderCanvas2D-ChdoHGrU.js → renderCanvas2D-DVjhp834.js} +98 -93
- package/dist/{scalePosition-ByvlXaML.js → scalePosition-0aeqp_kz.js} +8 -1
- package/dist/schema.json +27198 -13709
- package/dist/style.css +1 -1
- package/dist/{svg-N3tj05-e.js → svg-Bm2zxBPu.js} +315 -316
- package/dist/{svg-DHsq1RpV.js → svg-CkfuhONt.js} +290 -291
- package/dist/{svgRasterizer-CYVDlt5z.js → svgRasterizer-DoRQEqFA.js} +2 -2
- package/dist/{svgRasterizer-CvCBlxLj.js → svgRasterizer-raDDhBF-.js} +3 -3
- package/dist/{vega-scale-Byaw1K8O.js → vega-scale-BoGHANI7.js} +90 -90
- package/dist/{vega-scale-Ctz_wa3z.js → vega-scale-o9TRyzYH.js} +699 -699
- package/dist/viewError-BkJeVYXA.js +33 -0
- package/dist/viewError-IYqyluc7.js +33 -0
- package/dist/{viewSelectors-DDLW-byr.js → viewSelectors-7LyasQN-.js} +498 -434
- package/dist/{viewSelectors-j-F9XwsE.js → viewSelectors-CbmkSQRT.js} +549 -485
- package/dist/{viewUtils-JX6CMEYH.js → viewUtils-DuddMNNw.js} +2138 -2009
- package/dist/{webgl-Dw8xqZpX.js → webgl-CQfvgnxo.js} +1229 -1140
- package/dist/{webgl-DdmOwEH0.js → webgl-DVYkXtiZ.js} +1477 -1389
- package/package.json +4 -4
- package/src/spec/view.d.ts +44 -5
- package/dist/viewError-BiR9VCgL.js +0 -29
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { E as
|
|
3
|
-
import { a as y, n as
|
|
4
|
-
import { t as
|
|
1
|
+
import { Cn as e, G as t, K as n, S as r, Tn as i, Xt as a, bn as o, f as s, g as c, h as l, in as u, jn as d, l as f, mn as p, o as m, p as h, t as ee, ut as g, wn as te, y as _, yt as ne } from "./clipOptions-DElJ8dTZ.js";
|
|
2
|
+
import { E as re, m as ie, y as v } from "./vega-scale-o9TRyzYH.js";
|
|
3
|
+
import { a as y, n as ae, r as oe, t as b } from "./viewError-BkJeVYXA.js";
|
|
4
|
+
import { t as se } from "./warning-CpIIpk8e.js";
|
|
5
5
|
//#region ../../node_modules/flatqueue/index.js
|
|
6
6
|
var x = class {
|
|
7
7
|
constructor(e = Infinity, t = Float64Array, n = Uint32Array) {
|
|
@@ -44,11 +44,11 @@ var x = 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
|
-
}, S = Symbol("runtimeNode"),
|
|
48
|
-
function
|
|
47
|
+
}, S = Symbol("runtimeNode"), ce = 1e6;
|
|
48
|
+
function le(e) {
|
|
49
49
|
return e ? (t, n) => e.addDisposer(t, n) : () => () => void 0;
|
|
50
50
|
}
|
|
51
|
-
function
|
|
51
|
+
function ue(e, t, n = !0) {
|
|
52
52
|
let r = {
|
|
53
53
|
id: e.id,
|
|
54
54
|
name: e.name,
|
|
@@ -72,18 +72,18 @@ function ce(e, t, n = !0) {
|
|
|
72
72
|
t(e);
|
|
73
73
|
} }) : r;
|
|
74
74
|
}
|
|
75
|
-
function
|
|
75
|
+
function de(e) {
|
|
76
76
|
let t = e[S];
|
|
77
77
|
if (!t) throw Error("ParamRef is not bound to this graph runtime. Expected runtime-created ref.");
|
|
78
78
|
return t;
|
|
79
79
|
}
|
|
80
|
-
function
|
|
81
|
-
return typeof e.rank == "number" ? e.rank :
|
|
80
|
+
function fe(e) {
|
|
81
|
+
return typeof e.rank == "number" ? e.rank : de(e).rank;
|
|
82
82
|
}
|
|
83
|
-
function
|
|
83
|
+
function pe(e) {
|
|
84
84
|
for (let t of e) t();
|
|
85
85
|
}
|
|
86
|
-
var
|
|
86
|
+
var me = class {
|
|
87
87
|
#e = 1;
|
|
88
88
|
#t = 1;
|
|
89
89
|
#n = 0;
|
|
@@ -103,7 +103,7 @@ var fe = class {
|
|
|
103
103
|
#g;
|
|
104
104
|
#_;
|
|
105
105
|
constructor(e = {}) {
|
|
106
|
-
this.#g =
|
|
106
|
+
this.#g = le(e.lifecycleRegistry), this.#_ = e.onError;
|
|
107
107
|
}
|
|
108
108
|
createWritable(e, t, n, r, i = {}) {
|
|
109
109
|
let a = "n" + this.#e++, o = i.notify ?? !0, s = {
|
|
@@ -125,7 +125,7 @@ var fe = class {
|
|
|
125
125
|
}, l = () => {
|
|
126
126
|
s.disposed = !0, s.listeners.clear(), u();
|
|
127
127
|
}, u = this.#g(e, l);
|
|
128
|
-
return Object.assign(
|
|
128
|
+
return Object.assign(ue(s, c, o), { dispose: l });
|
|
129
129
|
}
|
|
130
130
|
computed(e, t, n, r, i = {}) {
|
|
131
131
|
return this.#v(e, t, n, r, i);
|
|
@@ -160,7 +160,7 @@ var fe = class {
|
|
|
160
160
|
})), l = c(), u = () => {
|
|
161
161
|
s.disposed || (s.disposed = !0, d(), l.forEach((e) => e()), s.listeners.clear(), this.#d.delete(s));
|
|
162
162
|
}, d = this.#g(e, u);
|
|
163
|
-
return Object.assign(
|
|
163
|
+
return Object.assign(ue(s), {
|
|
164
164
|
dispose: u,
|
|
165
165
|
rebind: (e, n) => {
|
|
166
166
|
if (s.disposed) throw Error("Cannot rebind disposed operation: " + t);
|
|
@@ -266,7 +266,7 @@ var fe = class {
|
|
|
266
266
|
#y(e) {
|
|
267
267
|
this.#s++;
|
|
268
268
|
try {
|
|
269
|
-
|
|
269
|
+
pe(e);
|
|
270
270
|
} catch (e) {
|
|
271
271
|
throw this.#c = !1, !this.#o && this.#s === 1 && this.#b(e), e;
|
|
272
272
|
} finally {
|
|
@@ -310,7 +310,7 @@ var fe = class {
|
|
|
310
310
|
}
|
|
311
311
|
#S(e) {
|
|
312
312
|
let t = -1, n = 0;
|
|
313
|
-
return () => (t !== this.#n && (n = 1 + e().reduce((e, t) => Math.max(e,
|
|
313
|
+
return () => (t !== this.#n && (n = 1 + e().reduce((e, t) => Math.max(e, fe(t)), 0), t = this.#n), n);
|
|
314
314
|
}
|
|
315
315
|
#C(e) {
|
|
316
316
|
if (this.#d.has(e)) {
|
|
@@ -327,8 +327,8 @@ var fe = class {
|
|
|
327
327
|
this.#f.add(e), this.#m.push(e, this.#T(e.rank)), this.#E();
|
|
328
328
|
}
|
|
329
329
|
#T(e) {
|
|
330
|
-
let t = this.#t %
|
|
331
|
-
return this.#t += 1, e *
|
|
330
|
+
let t = this.#t % ce;
|
|
331
|
+
return this.#t += 1, e * ce + t;
|
|
332
332
|
}
|
|
333
333
|
#E() {
|
|
334
334
|
this.#r > 0 || this.#a || this.#o || (this.#a = !0, queueMicrotask(() => {
|
|
@@ -344,7 +344,7 @@ var fe = class {
|
|
|
344
344
|
this.#h.clear();
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
|
-
},
|
|
347
|
+
}, he = class {
|
|
348
348
|
#e = 1;
|
|
349
349
|
#t = /* @__PURE__ */ new Map();
|
|
350
350
|
createOwner(e, t) {
|
|
@@ -365,7 +365,7 @@ var fe = class {
|
|
|
365
365
|
t.clear(), this.#t.delete(e);
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
|
-
},
|
|
368
|
+
}, ge = class {
|
|
369
369
|
#e = 1;
|
|
370
370
|
#t = /* @__PURE__ */ new Map();
|
|
371
371
|
createRootScope(e) {
|
|
@@ -396,102 +396,106 @@ var fe = class {
|
|
|
396
396
|
if (!t) throw Error("Unknown scope: " + e);
|
|
397
397
|
t.params.clear(), t.initializers.clear();
|
|
398
398
|
}
|
|
399
|
-
registerInitializer(e,
|
|
400
|
-
t
|
|
401
|
-
let
|
|
402
|
-
if (!
|
|
403
|
-
if (
|
|
404
|
-
|
|
405
|
-
initialize:
|
|
399
|
+
registerInitializer(e, t, n) {
|
|
400
|
+
_(t);
|
|
401
|
+
let r = this.#t.get(e);
|
|
402
|
+
if (!r) throw Error("Unknown scope: " + e);
|
|
403
|
+
if (r.params.has(t) || r.initializers.has(t)) throw Error(`Parameter "${t}" already exists in scope ${e}`);
|
|
404
|
+
r.initializers.set(t, {
|
|
405
|
+
initialize: n,
|
|
406
406
|
initializing: !1
|
|
407
407
|
});
|
|
408
408
|
}
|
|
409
|
-
register(e,
|
|
410
|
-
t
|
|
411
|
-
let
|
|
412
|
-
if (!
|
|
413
|
-
if (
|
|
414
|
-
return
|
|
415
|
-
}
|
|
416
|
-
resolve(e,
|
|
417
|
-
t
|
|
418
|
-
let
|
|
419
|
-
for (;
|
|
420
|
-
let e = this.#t.get(
|
|
421
|
-
if (!e) throw Error("Unknown scope: " +
|
|
422
|
-
let
|
|
423
|
-
if (
|
|
424
|
-
if (
|
|
425
|
-
|
|
409
|
+
register(e, t, n) {
|
|
410
|
+
_(t);
|
|
411
|
+
let r = this.#t.get(e);
|
|
412
|
+
if (!r) throw Error("Unknown scope: " + e);
|
|
413
|
+
if (r.params.has(t) || r.initializers.get(t)?.initializing === !1) throw Error("Parameter \"" + t + "\" already exists in scope " + e);
|
|
414
|
+
return r.params.set(t, n), n;
|
|
415
|
+
}
|
|
416
|
+
resolve(e, t) {
|
|
417
|
+
_(t);
|
|
418
|
+
let n = e;
|
|
419
|
+
for (; n;) {
|
|
420
|
+
let e = this.#t.get(n);
|
|
421
|
+
if (!e) throw Error("Unknown scope: " + n);
|
|
422
|
+
let r = e.initializers.get(t);
|
|
423
|
+
if (r) {
|
|
424
|
+
if (r.initializing) throw Error(`Parameter dependency cycle while initializing "${t}" in ${n}.`);
|
|
425
|
+
r.initializing = !0;
|
|
426
426
|
try {
|
|
427
|
-
if (
|
|
428
|
-
e.initializers.delete(
|
|
427
|
+
if (r.initialize(), !e.params.has(t)) throw Error(`Initializer did not register parameter "${t}".`);
|
|
428
|
+
e.initializers.delete(t);
|
|
429
429
|
} finally {
|
|
430
|
-
|
|
430
|
+
r.initializing = !1;
|
|
431
431
|
}
|
|
432
432
|
}
|
|
433
|
-
let i = e.params.get(
|
|
433
|
+
let i = e.params.get(t);
|
|
434
434
|
if (i) return i;
|
|
435
|
-
|
|
435
|
+
n = e.parentScope;
|
|
436
436
|
}
|
|
437
437
|
}
|
|
438
438
|
};
|
|
439
439
|
//#endregion
|
|
440
440
|
//#region ../core/src/paramRuntime/expressionCompiler.js
|
|
441
|
-
function
|
|
442
|
-
return
|
|
441
|
+
function _e(e, t = {}, r = {}) {
|
|
442
|
+
return n(e, t, r);
|
|
443
443
|
}
|
|
444
444
|
//#endregion
|
|
445
445
|
//#region ../core/src/paramRuntime/expressionRef.js
|
|
446
|
-
function
|
|
447
|
-
let r = {}, i =
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
446
|
+
function C(e, t, n = {}) {
|
|
447
|
+
let r = {}, i = _e(e, r, n), o = /* @__PURE__ */ new Map();
|
|
448
|
+
try {
|
|
449
|
+
for (let n of i.globals) {
|
|
450
|
+
if (o.has(n)) continue;
|
|
451
|
+
let i = t(n);
|
|
452
|
+
if (!i) throw Error("Unknown variable \"" + n + "\" in expression: " + e);
|
|
453
|
+
o.set(n, i), Object.defineProperty(r, n, {
|
|
454
|
+
enumerable: !0,
|
|
455
|
+
get() {
|
|
456
|
+
return i.get();
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
} catch (e) {
|
|
461
|
+
throw a(e, n.specLocation);
|
|
458
462
|
}
|
|
459
|
-
let
|
|
463
|
+
let s = /* @__PURE__ */ new Set();
|
|
460
464
|
return i.subscribe = (e) => {
|
|
461
465
|
let t = [];
|
|
462
|
-
for (let n of
|
|
466
|
+
for (let n of o.values()) t.push(n.subscribe(e));
|
|
463
467
|
for (let n of i.scaleDependencies ?? []) t.push(n.subscribe(e));
|
|
464
468
|
let n = !0, r = () => {
|
|
465
|
-
n && (n = !1,
|
|
469
|
+
n && (n = !1, s.delete(r), t.forEach((e) => e()));
|
|
466
470
|
};
|
|
467
|
-
return
|
|
471
|
+
return s.add(r), r;
|
|
468
472
|
}, i.invalidate = () => {
|
|
469
|
-
for (let e of
|
|
470
|
-
|
|
473
|
+
for (let e of s) e();
|
|
474
|
+
s.clear();
|
|
471
475
|
}, i.createSnapshotEvaluator = () => {
|
|
472
476
|
let e = {};
|
|
473
|
-
for (let t of Object.keys(r))
|
|
474
|
-
for (let [t, n] of
|
|
477
|
+
for (let t of Object.keys(r)) o.has(t) || (e[t] = r[t]);
|
|
478
|
+
for (let [t, n] of o) n.batchStable || Object.defineProperty(e, t, {
|
|
475
479
|
enumerable: !0,
|
|
476
480
|
get: () => n.get()
|
|
477
481
|
});
|
|
478
482
|
let t = Object.assign(i.createEvaluator(e), { refresh() {
|
|
479
|
-
for (let [t, n] of
|
|
483
|
+
for (let [t, n] of o) n.batchStable && (e[t] = n.get());
|
|
480
484
|
} });
|
|
481
485
|
return t.refresh(), t;
|
|
482
|
-
}, i.identifier = () => i.code + "|" + Array.from(
|
|
486
|
+
}, i.identifier = () => i.code + "|" + Array.from(o.values()).map((e) => e.id).concat((i.scaleDependencies ?? []).map((e) => e.id)).join(","), i.dependencies = Array.from(o.values()).concat(i.scaleDependencies ?? []), {
|
|
483
487
|
expression: i,
|
|
484
488
|
dependencies: i.dependencies
|
|
485
489
|
};
|
|
486
490
|
}
|
|
487
491
|
//#endregion
|
|
488
492
|
//#region ../core/src/paramRuntime/paramRuntime.js
|
|
489
|
-
var
|
|
490
|
-
#e = new
|
|
493
|
+
var ve = class {
|
|
494
|
+
#e = new he();
|
|
491
495
|
#t;
|
|
492
|
-
#n = new
|
|
496
|
+
#n = new ge();
|
|
493
497
|
constructor(e = {}) {
|
|
494
|
-
this.#t = new
|
|
498
|
+
this.#t = new me({
|
|
495
499
|
lifecycleRegistry: this.#e,
|
|
496
500
|
onError: e.onError
|
|
497
501
|
});
|
|
@@ -520,11 +524,11 @@ var _e = class {
|
|
|
520
524
|
return this.#n.register(e, t, a);
|
|
521
525
|
}
|
|
522
526
|
registerDerived(e, t, n, r) {
|
|
523
|
-
let { expression: i, dependencies: a } =
|
|
527
|
+
let { expression: i, dependencies: a } = C(n, (t) => this.resolve(r?.expressionScope ?? e, t), r), o = this.#n.getOwnerId(e), s = this.#t.computed(o, t, a, () => i(null));
|
|
524
528
|
return this.#n.register(e, t, s);
|
|
525
529
|
}
|
|
526
530
|
createExpression(e, t, n) {
|
|
527
|
-
let { expression: r } =
|
|
531
|
+
let { expression: r } = C(t, (t) => this.resolve(e, t), n);
|
|
528
532
|
return r;
|
|
529
533
|
}
|
|
530
534
|
resolve(e, t) {
|
|
@@ -557,11 +561,11 @@ var _e = class {
|
|
|
557
561
|
whenPropagated(e) {
|
|
558
562
|
return this.#t.whenPropagated(e);
|
|
559
563
|
}
|
|
560
|
-
},
|
|
561
|
-
function
|
|
564
|
+
}, ye = (e) => new Promise((t) => setTimeout(t, e));
|
|
565
|
+
function be() {
|
|
562
566
|
return { canceled: !1 };
|
|
563
567
|
}
|
|
564
|
-
function
|
|
568
|
+
function xe(e) {
|
|
565
569
|
let t = e.requestAnimationFrame || window.requestAnimationFrame, n = e.signal, r = e.cancelToken, i = () => new Promise((i, a) => {
|
|
566
570
|
if (r?.canceled) return i();
|
|
567
571
|
if (n?.aborted) return a("aborted");
|
|
@@ -574,11 +578,11 @@ function be(e) {
|
|
|
574
578
|
};
|
|
575
579
|
t(m);
|
|
576
580
|
});
|
|
577
|
-
return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") :
|
|
581
|
+
return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") : ye(e.delay).then(i) : i();
|
|
578
582
|
}
|
|
579
583
|
//#endregion
|
|
580
584
|
//#region ../core/src/utils/animator.js
|
|
581
|
-
var
|
|
585
|
+
var Se = class {
|
|
582
586
|
constructor(e, t) {
|
|
583
587
|
this._renderCallback = e, this._onError = t, this._renderRequested = !1, this._finalized = !1, this._warn = !1, this._animationFrameRequest = void 0, this.transitions = [], this.transitionsEnabled = !0;
|
|
584
588
|
}
|
|
@@ -609,13 +613,13 @@ var xe = class {
|
|
|
609
613
|
this._finalized = !0, this._renderRequested = !1, this.transitions = [], this._animationFrameRequest !== void 0 && (window.cancelAnimationFrame(this._animationFrameRequest), this._animationFrameRequest = void 0);
|
|
610
614
|
}
|
|
611
615
|
transition(e) {
|
|
612
|
-
return
|
|
616
|
+
return xe({
|
|
613
617
|
requestAnimationFrame: (e) => this.requestTransition(e),
|
|
614
618
|
...e
|
|
615
619
|
});
|
|
616
620
|
}
|
|
617
621
|
};
|
|
618
|
-
function
|
|
622
|
+
function w(e, t, n, r, i) {
|
|
619
623
|
let a = 0, o = !0, s = !1, c = structuredClone(i), l = c;
|
|
620
624
|
function u(e, t, n, r) {
|
|
621
625
|
return t + (e - t) * 2 ** (-n / r);
|
|
@@ -648,7 +652,7 @@ function Ce() {
|
|
|
648
652
|
}
|
|
649
653
|
//#endregion
|
|
650
654
|
//#region ../core/src/paramRuntime/viewParamRuntime.js
|
|
651
|
-
var
|
|
655
|
+
var T = class {
|
|
652
656
|
#e;
|
|
653
657
|
#t;
|
|
654
658
|
#n = /* @__PURE__ */ new Map();
|
|
@@ -664,11 +668,12 @@ var C = class {
|
|
|
664
668
|
#f;
|
|
665
669
|
#p;
|
|
666
670
|
#m;
|
|
667
|
-
#h
|
|
671
|
+
#h;
|
|
672
|
+
#g = !1;
|
|
668
673
|
constructor(e, t, n, r = {}) {
|
|
669
|
-
this.#d = e ?? (() => void 0), this.#f = t ?? (() => void 0), this.#p = n, this.#m = r.settleTemporalUpdatesImmediately ?? !1;
|
|
674
|
+
this.#d = e ?? (() => void 0), this.#f = t ?? (() => void 0), this.#p = n, this.#h = r.getSpecOrigin, this.#m = r.settleTemporalUpdatesImmediately ?? !1;
|
|
670
675
|
let i = this.#d();
|
|
671
|
-
i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new
|
|
676
|
+
i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new ve({ onError: r.onError }), this.#t = this.#e.createScope());
|
|
672
677
|
}
|
|
673
678
|
setSelectionSource(e) {
|
|
674
679
|
this.#s = e;
|
|
@@ -687,38 +692,46 @@ var C = class {
|
|
|
687
692
|
if (o) throw Error(`Conflicting selection declarations for "${e}" in "${i.location}" and "${o.location}".`);
|
|
688
693
|
return i;
|
|
689
694
|
}
|
|
690
|
-
#
|
|
695
|
+
#_(e) {
|
|
691
696
|
if (!("select" in e)) return;
|
|
692
|
-
let t =
|
|
697
|
+
let t = r(e.select), n = t.type === "interval" ? "interval" : t.toggle ? "multi" : "single", i = t.type === "interval" ? Array.from(new Set(t.encodings)).sort() : [], a = e.push === "outer" ? this.findRuntimeForParam(e.name) : this, o = {
|
|
693
698
|
kind: n,
|
|
694
|
-
components:
|
|
699
|
+
components: i,
|
|
695
700
|
source: this.#s
|
|
696
|
-
},
|
|
697
|
-
if (
|
|
698
|
-
|
|
699
|
-
|
|
701
|
+
}, s = a.#c.get(e.name) ?? /* @__PURE__ */ new Set(), c = s.values().next().value;
|
|
702
|
+
if (c && (c.kind !== n || JSON.stringify(c.components) !== JSON.stringify(i))) throw Error(`Conflicting selection declarations for "${e.name}" in "${c.source?.name ?? e.name}" and "${this.#s?.name ?? e.name}".`);
|
|
703
|
+
s.add(o), a.#c.set(e.name, s), this.#e.addScopeDisposer(this.#t, () => {
|
|
704
|
+
s.delete(o);
|
|
700
705
|
});
|
|
701
706
|
}
|
|
702
|
-
|
|
703
|
-
return {
|
|
707
|
+
#v(e) {
|
|
708
|
+
return {
|
|
709
|
+
resolveScaleResolution: this.#f,
|
|
710
|
+
specLocation: this.getSpecLocation(e, ["expr"])
|
|
711
|
+
};
|
|
704
712
|
}
|
|
705
|
-
registerParam(e,
|
|
706
|
-
let
|
|
707
|
-
|
|
708
|
-
|
|
713
|
+
registerParam(e, t = {}) {
|
|
714
|
+
let n = e.name;
|
|
715
|
+
try {
|
|
716
|
+
_(n);
|
|
717
|
+
} catch (t) {
|
|
718
|
+
throw a(t, this.getSpecLocation(e, ["name"]));
|
|
719
|
+
}
|
|
720
|
+
if (this.#i.has(n) || this.#a.has(n)) throw a(/* @__PURE__ */ Error("Parameter \"" + n + "\" already registered in this scope."), this.getSpecLocation(e, ["name"]));
|
|
721
|
+
if (Te(e), t.defer) {
|
|
709
722
|
if (!("expr" in e)) throw Error("Only expression parameters can be deferred.");
|
|
710
|
-
return this.#e.registerInitializer(this.#t,
|
|
711
|
-
this.#
|
|
712
|
-
}), this.#i.set(
|
|
713
|
-
throw Error("Cannot set derived parameter \"" +
|
|
723
|
+
return this.#e.registerInitializer(this.#t, n, () => {
|
|
724
|
+
this.#y(e);
|
|
725
|
+
}), this.#i.set(n, e), () => {
|
|
726
|
+
throw Error("Cannot set derived parameter \"" + n + "\".");
|
|
714
727
|
};
|
|
715
728
|
}
|
|
716
|
-
return this.#
|
|
729
|
+
return this.#y(e);
|
|
717
730
|
}
|
|
718
731
|
registerLazyExpression(e, t, n) {
|
|
719
732
|
this.#e.registerInitializer(this.#t, e, () => {
|
|
720
733
|
n?.();
|
|
721
|
-
let r = this.#e.registerDerived(this.#t, e, t, this.#
|
|
734
|
+
let r = this.#e.registerDerived(this.#t, e, t, this.#v());
|
|
722
735
|
this.#r.set(e, r);
|
|
723
736
|
}), this.#a.add(e);
|
|
724
737
|
}
|
|
@@ -728,7 +741,7 @@ var C = class {
|
|
|
728
741
|
this.#e.registerInitializer(this.#t, e, () => {
|
|
729
742
|
let r = this.#e.registerDerived(this.#t, e, t, {
|
|
730
743
|
expressionScope: n.#t,
|
|
731
|
-
...n.#
|
|
744
|
+
...n.#v()
|
|
732
745
|
});
|
|
733
746
|
this.#r.set(e, r);
|
|
734
747
|
}), this.#i.set(e, {
|
|
@@ -736,31 +749,31 @@ var C = class {
|
|
|
736
749
|
expr: t
|
|
737
750
|
});
|
|
738
751
|
}
|
|
739
|
-
#
|
|
752
|
+
#y(e) {
|
|
740
753
|
let t = e.name, n, r;
|
|
741
754
|
if (e.push == "outer") {
|
|
742
755
|
let i = this.findRuntimeForParam(t);
|
|
743
|
-
if (!i) throw Error(`Parameter "${t}" not found in outer scope!`);
|
|
744
|
-
let
|
|
745
|
-
if (!
|
|
746
|
-
if ("expr" in
|
|
756
|
+
if (!i) throw a(/* @__PURE__ */ Error(`Parameter "${t}" not found in outer scope!`), this.getSpecLocation(e, ["name"]));
|
|
757
|
+
let o = i.paramConfigs.get(t);
|
|
758
|
+
if (!o) throw Error(`Outer parameter "${t}" exists as a value but has no registered config.`);
|
|
759
|
+
if ("expr" in o || "select" in o || "ruler" in o) throw Error(`The outer parameter "${t}" must not have expr, select, or ruler properties!`);
|
|
747
760
|
n = (e) => {
|
|
748
761
|
i.setValue(t, e);
|
|
749
|
-
}, this.#n.set(t, n), "ruler" in e && (r =
|
|
750
|
-
} else if ("value" in e) r =
|
|
751
|
-
else if (
|
|
752
|
-
if ("transition" in e) this.#
|
|
753
|
-
else if ("debounce" in e) this.#
|
|
762
|
+
}, this.#n.set(t, n), "ruler" in e && (r = s(e, this), n(r));
|
|
763
|
+
} else if ("value" in e) r = s(e, this), n = "transition" in e ? this.#x(t, r, e.transition) : this.#b(t, r);
|
|
764
|
+
else if (h(e)) {
|
|
765
|
+
if ("transition" in e) this.#S(t, e, e.transition);
|
|
766
|
+
else if ("debounce" in e) this.#C(t, e, e.debounce);
|
|
754
767
|
else {
|
|
755
|
-
let n = this.#e.registerDerived(this.#t, t, e.expr, this.#
|
|
768
|
+
let n = this.#e.registerDerived(this.#t, t, e.expr, this.#v(e));
|
|
756
769
|
this.#r.set(t, n);
|
|
757
770
|
}
|
|
758
771
|
n = () => {
|
|
759
772
|
throw Error("Cannot set derived parameter \"" + t + "\".");
|
|
760
773
|
};
|
|
761
|
-
} else r =
|
|
774
|
+
} else r = s(e, this), n = this.#b(t, r);
|
|
762
775
|
if ("select" in e) {
|
|
763
|
-
if (r ??=
|
|
776
|
+
if (r ??= s(e, this), !this.#n.has(t)) {
|
|
764
777
|
let e = this.#e.registerSelection(this.#t, t, r);
|
|
765
778
|
this.#r.set(t, e), this.#n.set(t, (t) => {
|
|
766
779
|
e.set(t), this.#e.flushNow();
|
|
@@ -768,33 +781,33 @@ var C = class {
|
|
|
768
781
|
}
|
|
769
782
|
n(r);
|
|
770
783
|
}
|
|
771
|
-
return this.#i.set(t, e), this.#
|
|
772
|
-
}
|
|
773
|
-
allocateSetter(e,
|
|
774
|
-
if (
|
|
775
|
-
let
|
|
776
|
-
this.#r.set(e,
|
|
777
|
-
let
|
|
778
|
-
|
|
784
|
+
return this.#i.set(t, e), this.#_(e), n;
|
|
785
|
+
}
|
|
786
|
+
allocateSetter(e, t, n = !1) {
|
|
787
|
+
if (_(e), this.#n.has(e)) throw Error("Setter already allocated for parameter: " + e);
|
|
788
|
+
let r = this.#e.registerBase(this.#t, e, t, { notify: !n });
|
|
789
|
+
this.#r.set(e, r);
|
|
790
|
+
let i = (e) => {
|
|
791
|
+
r.set(e), this.#e.flushNow();
|
|
779
792
|
};
|
|
780
|
-
return this.#n.set(e,
|
|
793
|
+
return this.#n.set(e, i), i;
|
|
781
794
|
}
|
|
782
|
-
setValue(e,
|
|
783
|
-
|
|
784
|
-
let
|
|
785
|
-
if (!
|
|
786
|
-
|
|
795
|
+
setValue(e, t, n) {
|
|
796
|
+
_(e);
|
|
797
|
+
let r = this.#n.get(e);
|
|
798
|
+
if (!r) throw Error("Writable parameter not found in this scope: " + e);
|
|
799
|
+
r(t, n);
|
|
787
800
|
}
|
|
788
801
|
getValue(e) {
|
|
789
802
|
return !this.#r.has(e) && this.hasLocalParam(e) && this.#e.resolve(this.#t, e), this.#r.get(e)?.get();
|
|
790
803
|
}
|
|
791
804
|
getParamRef(e) {
|
|
792
|
-
|
|
793
|
-
let
|
|
794
|
-
if (
|
|
805
|
+
_(e);
|
|
806
|
+
let t = this.findRuntimeForParam(e);
|
|
807
|
+
if (t) return t.#r.has(e) || t.#e.resolve(t.#t, e), t.#r.get(e);
|
|
795
808
|
}
|
|
796
809
|
getTargetValue(e) {
|
|
797
|
-
return
|
|
810
|
+
return _(e), this.#l.get(e)?.target ?? this.#u.get(e)?.target ?? this.getValue(e);
|
|
798
811
|
}
|
|
799
812
|
subscribe(e, t) {
|
|
800
813
|
let n = this.getParamRef(e);
|
|
@@ -811,16 +824,16 @@ var C = class {
|
|
|
811
824
|
return this.#i;
|
|
812
825
|
}
|
|
813
826
|
hasLocalParam(e) {
|
|
814
|
-
|
|
815
|
-
let
|
|
816
|
-
return this.#r.has(e) || this.#a.has(e) ||
|
|
827
|
+
_(e);
|
|
828
|
+
let t = this.#i.get(e);
|
|
829
|
+
return this.#r.has(e) || this.#a.has(e) || t !== void 0 && "expr" in t;
|
|
817
830
|
}
|
|
818
831
|
isPendingParam(e) {
|
|
819
832
|
let t = this.findRuntimeForParam(e);
|
|
820
833
|
return t !== void 0 && !t.#r.has(e);
|
|
821
834
|
}
|
|
822
835
|
hasConfiguredParamInScopeChain(e) {
|
|
823
|
-
return
|
|
836
|
+
return _(e), this.#i.has(e) ? !0 : this.#d()?.hasConfiguredParamInScopeChain(e) ?? !1;
|
|
824
837
|
}
|
|
825
838
|
findRuntimeForParam(e) {
|
|
826
839
|
return this.hasLocalParam(e) ? this : this.#d()?.findRuntimeForParam(e);
|
|
@@ -861,12 +874,15 @@ var C = class {
|
|
|
861
874
|
}
|
|
862
875
|
return {
|
|
863
876
|
scopeId: this.#t,
|
|
864
|
-
disposed: this.#
|
|
877
|
+
disposed: this.#g,
|
|
865
878
|
params: e
|
|
866
879
|
};
|
|
867
880
|
}
|
|
881
|
+
getSpecLocation(e, t) {
|
|
882
|
+
return f(e, this.#h, t);
|
|
883
|
+
}
|
|
868
884
|
createExpression(e) {
|
|
869
|
-
return this.#e.createExpression(this.#t, e, this.#
|
|
885
|
+
return this.#e.createExpression(this.#t, typeof e == "string" ? e : e.expr, this.#v(typeof e == "string" ? void 0 : e));
|
|
870
886
|
}
|
|
871
887
|
watchExpression(e, t, n = {}) {
|
|
872
888
|
let r = this.createExpression(e), i = r.subscribe(t);
|
|
@@ -893,7 +909,7 @@ var C = class {
|
|
|
893
909
|
cancelUpdate(e) {
|
|
894
910
|
this.#e.cancelUpdate(e);
|
|
895
911
|
}
|
|
896
|
-
#
|
|
912
|
+
#b(e, t) {
|
|
897
913
|
let n = this.#e.registerBase(this.#t, e, t);
|
|
898
914
|
this.#r.set(e, n);
|
|
899
915
|
let r = (e) => {
|
|
@@ -901,19 +917,19 @@ var C = class {
|
|
|
901
917
|
};
|
|
902
918
|
return this.#n.set(e, r), r;
|
|
903
919
|
}
|
|
904
|
-
#
|
|
905
|
-
let r = this.#
|
|
906
|
-
this.#
|
|
920
|
+
#x(e, t, n) {
|
|
921
|
+
let r = this.#w(e, t, n), i = (t, n) => {
|
|
922
|
+
this.#T(e, r, t, n);
|
|
907
923
|
};
|
|
908
924
|
return this.#n.set(e, i), i;
|
|
909
925
|
}
|
|
910
|
-
#
|
|
911
|
-
let r = this.createExpression(t), i = this.#
|
|
912
|
-
this.#
|
|
926
|
+
#S(e, t, n) {
|
|
927
|
+
let r = this.createExpression(t), i = this.#w(e, r(null), n), a = r.subscribe(() => {
|
|
928
|
+
this.#T(e, i, r(null), { animate: !this.#m });
|
|
913
929
|
});
|
|
914
930
|
this.#e.addScopeDisposer(this.#t, a);
|
|
915
931
|
}
|
|
916
|
-
#
|
|
932
|
+
#C(e, t, n) {
|
|
917
933
|
let r = this.createExpression(t), i = r(null), a = this.#e.registerBase(this.#t, e, i);
|
|
918
934
|
this.#r.set(e, a);
|
|
919
935
|
let o = {
|
|
@@ -928,12 +944,12 @@ var C = class {
|
|
|
928
944
|
clearTimeout(o.timeout), c(), this.#u.delete(e);
|
|
929
945
|
});
|
|
930
946
|
}
|
|
931
|
-
#
|
|
932
|
-
let r =
|
|
947
|
+
#w(e, t, n) {
|
|
948
|
+
let r = E(e, t), i = this.#e.registerBase(this.#t, e, r);
|
|
933
949
|
this.#r.set(e, i);
|
|
934
950
|
let a = this.#p;
|
|
935
951
|
if (!a) throw Error(`The parameter "${e}" uses transition but no animator is available.`);
|
|
936
|
-
let o =
|
|
952
|
+
let o = w(a, ({ value: e }) => {
|
|
937
953
|
i.set(e), this.#e.flushNow();
|
|
938
954
|
}, n.halfLife ?? 80, n.epsilon ?? .01, { value: i.get() }), s = {
|
|
939
955
|
target: i.get(),
|
|
@@ -944,8 +960,8 @@ var C = class {
|
|
|
944
960
|
};
|
|
945
961
|
return this.#l.set(e, s), this.#e.addScopeDisposer(this.#t, s.dispose), s;
|
|
946
962
|
}
|
|
947
|
-
#
|
|
948
|
-
let i =
|
|
963
|
+
#T(e, t, n, r = {}) {
|
|
964
|
+
let i = E(e, n);
|
|
949
965
|
t.target = i, r.animate === !1 ? t.smoother.snap({ value: i }) : t.smoother({ value: i });
|
|
950
966
|
}
|
|
951
967
|
evaluateAndGet(e) {
|
|
@@ -964,15 +980,10 @@ var C = class {
|
|
|
964
980
|
this.#m = !1;
|
|
965
981
|
}
|
|
966
982
|
dispose() {
|
|
967
|
-
this.#
|
|
968
|
-
}
|
|
969
|
-
hasPointSelections() {
|
|
970
|
-
for (let e of
|
|
971
|
-
let t = e.select;
|
|
972
|
-
if (p(t)) {
|
|
973
|
-
if (t == "point") return !0;
|
|
974
|
-
} else if (t.type == "point") return !0;
|
|
975
|
-
}
|
|
983
|
+
this.#g || (this.#g = !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());
|
|
984
|
+
}
|
|
985
|
+
hasPointSelections({ inherited: e = !1 } = {}) {
|
|
986
|
+
for (let t = this; t; t = e ? t.#d() : void 0) for (let n of t.#i.values()) if (l(n) && (n.select === "point" || typeof n.select == "object" && n.select.type === "point") && (!e || this.findConfiguredParam(n.name).config === n)) return !0;
|
|
976
987
|
return !1;
|
|
977
988
|
}
|
|
978
989
|
};
|
|
@@ -997,59 +1008,63 @@ function Te(e) {
|
|
|
997
1008
|
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.`);
|
|
998
1009
|
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.`);
|
|
999
1010
|
}
|
|
1000
|
-
function
|
|
1011
|
+
function E(e, t) {
|
|
1001
1012
|
if (typeof t != "number" || !Number.isFinite(t)) throw Error(`Transitioned parameter "${e}" must have a finite numeric value.`);
|
|
1002
1013
|
return t;
|
|
1003
1014
|
}
|
|
1004
1015
|
//#endregion
|
|
1005
1016
|
//#region ../core/src/view/layout/flexLayout.js
|
|
1006
|
-
function Ee(e, t,
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1017
|
+
function Ee(e, t, n = {}) {
|
|
1018
|
+
let { sizes: r } = Ie(e, t, n.spacing || 0);
|
|
1019
|
+
return De(e, r, t, n);
|
|
1020
|
+
}
|
|
1021
|
+
function De(e, t, n, { spacing: r, devicePixelRatio: i, offset: a, reverse: o } = {}) {
|
|
1022
|
+
r ||= 0, a ||= 0;
|
|
1023
|
+
let s = 0, c = 0;
|
|
1024
|
+
for (let n = 0; n < e.length; n++) s += t[n], k(e[n]) || c++;
|
|
1025
|
+
let l = s + Math.max(0, c - 1) * r, u = i === void 0 ? (e) => e : (e) => Math.round(e * i) / i, d = 0, f = [], p = (e) => {
|
|
1011
1026
|
let t = d;
|
|
1012
1027
|
if (!t) return;
|
|
1013
|
-
let
|
|
1014
|
-
m -=
|
|
1028
|
+
let n = (e ? r : 0) * (o ? -1 : 1);
|
|
1029
|
+
m -= n;
|
|
1015
1030
|
for (let e = 0; e < t; e++) f.push({
|
|
1016
|
-
location: m + (e + 1) / (t + 1) *
|
|
1031
|
+
location: m + (e + 1) / (t + 1) * n,
|
|
1017
1032
|
size: 0
|
|
1018
1033
|
});
|
|
1019
|
-
m +=
|
|
1020
|
-
}, m =
|
|
1021
|
-
if (e.length == 1 &&
|
|
1034
|
+
m += n, d = 0;
|
|
1035
|
+
}, m = o ? Math.max(n, l) : 0 + a;
|
|
1036
|
+
if (e.length == 1 && k(e[0])) return [{
|
|
1022
1037
|
location: m,
|
|
1023
1038
|
size: 0
|
|
1024
1039
|
}];
|
|
1025
|
-
for (let
|
|
1026
|
-
let
|
|
1027
|
-
if (
|
|
1040
|
+
for (let n = 0; n < e.length; n++) {
|
|
1041
|
+
let i = e[n];
|
|
1042
|
+
if (k(i)) d++;
|
|
1028
1043
|
else {
|
|
1029
1044
|
p(f.length > 0);
|
|
1030
|
-
let e =
|
|
1031
|
-
|
|
1045
|
+
let e = t[n];
|
|
1046
|
+
o && (m -= e), f.push({
|
|
1032
1047
|
location: u(m),
|
|
1033
1048
|
size: u(e)
|
|
1034
|
-
}),
|
|
1049
|
+
}), o ? m -= r : m += e + r;
|
|
1035
1050
|
}
|
|
1036
1051
|
}
|
|
1037
|
-
return m +=
|
|
1052
|
+
return m += o ? r : -r, p(!1), f;
|
|
1038
1053
|
}
|
|
1039
|
-
function
|
|
1054
|
+
function Oe(e, { spacing: t } = { spacing: 0 }) {
|
|
1040
1055
|
let n = 0;
|
|
1041
|
-
for (let r of e) n += N(r) + (
|
|
1056
|
+
for (let r of e) n += N(r) + (k(r) ? 0 : t);
|
|
1042
1057
|
return Math.max(0, n - t);
|
|
1043
1058
|
}
|
|
1044
|
-
function
|
|
1059
|
+
function ke(e, t, { spacing: n = 0 } = {}) {
|
|
1045
1060
|
let r = [], i = [], a = 0, o = 0;
|
|
1046
1061
|
for (let [s, c] of e.entries()) {
|
|
1047
|
-
let e = N(c), l = !
|
|
1062
|
+
let e = N(c), l = !k(c), u = o && l ? n : 0;
|
|
1048
1063
|
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;
|
|
1049
1064
|
}
|
|
1050
1065
|
return i.length && r.push(i), r;
|
|
1051
1066
|
}
|
|
1052
|
-
function
|
|
1067
|
+
function Ae(e) {
|
|
1053
1068
|
let t = 0, n = 0, r = 0, i, a = !0;
|
|
1054
1069
|
for (let o of e) {
|
|
1055
1070
|
t = Math.max(t, o.px ?? 0), n = Math.max(n, o.grow ?? 0), r = Math.max(r, N(o));
|
|
@@ -1063,21 +1078,21 @@ function ke(e) {
|
|
|
1063
1078
|
maxPx: a ? i : void 0
|
|
1064
1079
|
});
|
|
1065
1080
|
}
|
|
1066
|
-
function
|
|
1067
|
-
let t = {
|
|
1068
|
-
px:
|
|
1069
|
-
grow: 0,
|
|
1070
|
-
minPx:
|
|
1071
|
-
maxPx:
|
|
1072
|
-
},
|
|
1073
|
-
for (let
|
|
1074
|
-
|
|
1075
|
-
let e = P(
|
|
1076
|
-
e === void 0 ?
|
|
1077
|
-
}
|
|
1078
|
-
return
|
|
1079
|
-
}
|
|
1080
|
-
var
|
|
1081
|
+
function je(e, t = 0, n = 0) {
|
|
1082
|
+
let r = Math.max(0, e.length - 1) * t, i = {
|
|
1083
|
+
px: r,
|
|
1084
|
+
grow: e.length ? 0 : n,
|
|
1085
|
+
minPx: r,
|
|
1086
|
+
maxPx: r
|
|
1087
|
+
}, a = e.length > 0;
|
|
1088
|
+
for (let t of e) {
|
|
1089
|
+
i.px += A(t.px), i.grow += A(t.grow), i.minPx += N(t);
|
|
1090
|
+
let e = P(t);
|
|
1091
|
+
e === void 0 ? a = !1 : i.maxPx += e;
|
|
1092
|
+
}
|
|
1093
|
+
return a || delete i.maxPx, L(i);
|
|
1094
|
+
}
|
|
1095
|
+
var D = class e {
|
|
1081
1096
|
constructor(e, t) {
|
|
1082
1097
|
this.width = e, this.height = t;
|
|
1083
1098
|
}
|
|
@@ -1093,78 +1108,87 @@ var T = class e {
|
|
|
1093
1108
|
isGrowing() {
|
|
1094
1109
|
return !!(this.width.grow || this.height.grow);
|
|
1095
1110
|
}
|
|
1096
|
-
},
|
|
1111
|
+
}, Me = Object.freeze({
|
|
1097
1112
|
px: 0,
|
|
1098
1113
|
grow: 0
|
|
1099
|
-
}),
|
|
1100
|
-
function
|
|
1114
|
+
}), O = new D(Me, Me);
|
|
1115
|
+
function k(e) {
|
|
1101
1116
|
return !e.px && !e.grow && !e.minPx;
|
|
1102
1117
|
}
|
|
1103
|
-
function
|
|
1118
|
+
function Ne(e, t) {
|
|
1104
1119
|
return !e || !t ? !1 : e.px === t.px && e.grow === t.grow && e.minPx === t.minPx && e.maxPx === t.maxPx;
|
|
1105
1120
|
}
|
|
1106
|
-
function
|
|
1121
|
+
function A(e) {
|
|
1107
1122
|
return e || 0;
|
|
1108
1123
|
}
|
|
1109
|
-
function
|
|
1110
|
-
return
|
|
1124
|
+
function Pe(t) {
|
|
1125
|
+
return t && (e(t.px) || e(t.grow) || e(t.minPx) || e(t.maxPx));
|
|
1111
1126
|
}
|
|
1112
|
-
function
|
|
1113
|
-
if (q(
|
|
1114
|
-
if (
|
|
1115
|
-
if (
|
|
1116
|
-
px:
|
|
1127
|
+
function Fe(t) {
|
|
1128
|
+
if (q(t)) throw Error("parseSizeDef does not accept step-based sizes.");
|
|
1129
|
+
if (Pe(t)) return j(t), L(t);
|
|
1130
|
+
if (e(t)) return {
|
|
1131
|
+
px: t,
|
|
1117
1132
|
grow: 0
|
|
1118
1133
|
};
|
|
1119
|
-
if (
|
|
1134
|
+
if (t === "container" || !t) return {
|
|
1120
1135
|
px: 0,
|
|
1121
1136
|
grow: 1
|
|
1122
1137
|
};
|
|
1123
|
-
throw Error(`Invalid sizeDef: ${
|
|
1138
|
+
throw Error(`Invalid sizeDef: ${t}`);
|
|
1124
1139
|
}
|
|
1125
|
-
function
|
|
1140
|
+
function Ie(e, t, n = 0) {
|
|
1126
1141
|
let r = !1;
|
|
1127
1142
|
for (let t of e) j(t), r ||= F(t);
|
|
1128
|
-
if (!r) return
|
|
1143
|
+
if (!r) return Le(e, t, n);
|
|
1129
1144
|
let i = Array(e.length).fill(0), a = [];
|
|
1130
|
-
for (let t = 0; t < e.length; t++)
|
|
1145
|
+
for (let t = 0; t < e.length; t++) k(e[t]) || a.push(t);
|
|
1131
1146
|
let o = Math.max(0, a.length - 1) * n, s = Math.max(0, t - o), c = /* @__PURE__ */ new Set();
|
|
1132
1147
|
for (let t of a) {
|
|
1133
1148
|
let n = e[t];
|
|
1134
|
-
|
|
1149
|
+
A(n.grow) || (i[t] = M(A(n.px), n), c.add(t));
|
|
1135
1150
|
}
|
|
1151
|
+
let l = 0;
|
|
1136
1152
|
for (;;) {
|
|
1137
1153
|
let t = 0, n = 0, r = 0;
|
|
1138
|
-
for (let o of a) c.has(o) ? r += i[o] : (t +=
|
|
1154
|
+
for (let o of a) c.has(o) ? r += i[o] : (t += A(e[o].px), n += A(e[o].grow));
|
|
1139
1155
|
if (!n) {
|
|
1140
|
-
for (let t of a) c.has(t) || (i[t] = M(
|
|
1156
|
+
for (let t of a) c.has(t) || (i[t] = M(A(e[t].px), e[t]), c.add(t));
|
|
1141
1157
|
break;
|
|
1142
1158
|
}
|
|
1143
|
-
let o = Math.max(0, s - r - t)
|
|
1159
|
+
let o = Math.max(0, s - r - t);
|
|
1160
|
+
l = o / n;
|
|
1161
|
+
let u = 0, d = [], f = [];
|
|
1144
1162
|
for (let t of a) {
|
|
1145
1163
|
if (c.has(t)) continue;
|
|
1146
|
-
let r = e[t], a =
|
|
1164
|
+
let r = e[t], a = A(r.px) + A(r.grow) / n * o, s = M(a, r);
|
|
1147
1165
|
i[t] = s;
|
|
1148
|
-
let
|
|
1149
|
-
|
|
1166
|
+
let l = s - a;
|
|
1167
|
+
u += l, l > 0 ? d.push(t) : l < 0 && f.push(t);
|
|
1150
1168
|
}
|
|
1151
|
-
if (!
|
|
1152
|
-
if (
|
|
1153
|
-
else if (
|
|
1169
|
+
if (!d.length && !f.length) break;
|
|
1170
|
+
if (u > 0) for (let e of d) c.add(e);
|
|
1171
|
+
else if (u < 0) for (let e of f) c.add(e);
|
|
1154
1172
|
else for (let e of a) c.add(e);
|
|
1155
1173
|
}
|
|
1156
|
-
return
|
|
1174
|
+
return {
|
|
1175
|
+
sizes: i,
|
|
1176
|
+
growth: l
|
|
1177
|
+
};
|
|
1157
1178
|
}
|
|
1158
|
-
function
|
|
1179
|
+
function Le(e, t, n) {
|
|
1159
1180
|
let r = 0, i = 0;
|
|
1160
|
-
for (let t of e) r +=
|
|
1181
|
+
for (let t of e) r += A(t.px) + (k(t) ? 0 : n), i += A(t.grow);
|
|
1161
1182
|
r -= n;
|
|
1162
1183
|
let a = Math.max(0, t - r), o = Array(e.length);
|
|
1163
1184
|
for (let t = 0; t < e.length; t++) {
|
|
1164
1185
|
let n = e[t];
|
|
1165
|
-
o[t] =
|
|
1186
|
+
o[t] = k(n) ? 0 : A(n.px) + (i ? A(n.grow) / i * a : 0);
|
|
1166
1187
|
}
|
|
1167
|
-
return
|
|
1188
|
+
return {
|
|
1189
|
+
sizes: o,
|
|
1190
|
+
growth: i ? a / i : 0
|
|
1191
|
+
};
|
|
1168
1192
|
}
|
|
1169
1193
|
function j(e) {
|
|
1170
1194
|
if (e.minPx !== void 0 && e.maxPx !== void 0 && e.minPx > e.maxPx) throw Error("SizeDef minPx cannot be greater than maxPx.");
|
|
@@ -1173,10 +1197,10 @@ function M(e, t) {
|
|
|
1173
1197
|
return Math.min(Math.max(e, t.minPx ?? 0), t.maxPx ?? Infinity);
|
|
1174
1198
|
}
|
|
1175
1199
|
function N(e) {
|
|
1176
|
-
return M(
|
|
1200
|
+
return M(A(e.px), e);
|
|
1177
1201
|
}
|
|
1178
1202
|
function P(e) {
|
|
1179
|
-
return e.maxPx ?? (
|
|
1203
|
+
return e.maxPx ?? (A(e.grow) ? void 0 : N(e));
|
|
1180
1204
|
}
|
|
1181
1205
|
function F(e) {
|
|
1182
1206
|
return e.minPx !== void 0 || e.maxPx !== void 0;
|
|
@@ -1191,7 +1215,7 @@ function I(e, t) {
|
|
|
1191
1215
|
}
|
|
1192
1216
|
function L(e) {
|
|
1193
1217
|
let t = {}, n = e.px !== void 0, r = e.grow !== void 0, i = F(e);
|
|
1194
|
-
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 >
|
|
1218
|
+
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 > A(e.px) && (t.minPx = e.minPx), e.maxPx !== void 0 && (A(t.grow) || e.maxPx < A(e.px)) && (t.maxPx = e.maxPx), t;
|
|
1195
1219
|
}
|
|
1196
1220
|
//#endregion
|
|
1197
1221
|
//#region ../core/src/view/layout/padding.js
|
|
@@ -1242,23 +1266,23 @@ var R = class e {
|
|
|
1242
1266
|
return new e(t, t, t, t);
|
|
1243
1267
|
}
|
|
1244
1268
|
};
|
|
1245
|
-
function
|
|
1246
|
-
return t ? new R(t.top === !1 ?
|
|
1269
|
+
function Re(e, t, n = R.zero()) {
|
|
1270
|
+
return t ? new R(t.top === !1 ? n.top : e.top, t.right === !1 ? n.right : e.right, t.bottom === !1 ? n.bottom : e.bottom, t.left === !1 ? n.left : e.left) : e;
|
|
1247
1271
|
}
|
|
1248
1272
|
var z = R.createUniformPadding(0);
|
|
1249
1273
|
Object.freeze(z);
|
|
1250
1274
|
//#endregion
|
|
1251
1275
|
//#region ../core/src/utils/url.js
|
|
1252
|
-
var
|
|
1276
|
+
var ze = /^([A-Za-z]+:)?\/\//;
|
|
1253
1277
|
function B(e, t) {
|
|
1254
|
-
if (t &&
|
|
1278
|
+
if (t && ze.test(t)) return t;
|
|
1255
1279
|
let n = typeof e == "function" ? e() : e;
|
|
1256
1280
|
if (!n) return t;
|
|
1257
1281
|
if (!t) return n;
|
|
1258
1282
|
if (/[#?]/.test(n)) throw Error(`Cannot append to a url with query or hash. Append: ${t}, base: ${n}`);
|
|
1259
|
-
return
|
|
1283
|
+
return Ve(n) + t;
|
|
1260
1284
|
}
|
|
1261
|
-
function
|
|
1285
|
+
function Be(e, t, n = He()) {
|
|
1262
1286
|
let r = typeof e == "function" ? e() : e;
|
|
1263
1287
|
if (!t) return r;
|
|
1264
1288
|
try {
|
|
@@ -1270,20 +1294,20 @@ function Le(e, t, n = ze()) {
|
|
|
1270
1294
|
} catch {}
|
|
1271
1295
|
return B(r, t);
|
|
1272
1296
|
}
|
|
1273
|
-
function
|
|
1297
|
+
function Ve(e) {
|
|
1274
1298
|
let t = e.replace(/[^/]*$/, "");
|
|
1275
1299
|
return t === "" ? void 0 : t.endsWith("://") ? e + "/" : t;
|
|
1276
1300
|
}
|
|
1277
|
-
function
|
|
1301
|
+
function He() {
|
|
1278
1302
|
if (typeof document < "u" && document.baseURI) return document.baseURI;
|
|
1279
1303
|
if (typeof window < "u" && window.location?.href) return window.location.href;
|
|
1280
1304
|
}
|
|
1281
1305
|
//#endregion
|
|
1282
1306
|
//#region ../core/src/utils/addBaseUrl.js
|
|
1283
|
-
function
|
|
1307
|
+
function Ue(e, t) {
|
|
1284
1308
|
return !t || /^(data:|([A-Za-z]+:)?\/\/)/.test(e) || e.startsWith("/") ? e : (t.endsWith("/") || (t += "/"), t + e);
|
|
1285
1309
|
}
|
|
1286
|
-
function
|
|
1310
|
+
function We(e) {
|
|
1287
1311
|
if (!e) return e;
|
|
1288
1312
|
if (/[?#]/.test(e)) throw Error(`Invalid base URL: ${e} - cannot contain query or hash.`);
|
|
1289
1313
|
return e.endsWith("/") ? e : e + "/";
|
|
@@ -1291,42 +1315,42 @@ function Ve(e) {
|
|
|
1291
1315
|
//#endregion
|
|
1292
1316
|
//#region ../core/src/config/mergeConfig.js
|
|
1293
1317
|
function V(e) {
|
|
1294
|
-
return
|
|
1318
|
+
return te(e) && !Array.isArray(e) && !("expr" in e && typeof e.expr == "string");
|
|
1295
1319
|
}
|
|
1296
|
-
function
|
|
1320
|
+
function Ge(e) {
|
|
1297
1321
|
let t = {};
|
|
1298
1322
|
for (let [n, r] of Object.entries(e)) t[n] = H(r);
|
|
1299
1323
|
return t;
|
|
1300
1324
|
}
|
|
1301
1325
|
function H(e) {
|
|
1302
|
-
return Array.isArray(e) ? e.map(H) : V(e) ?
|
|
1326
|
+
return Array.isArray(e) ? e.map(H) : V(e) ? Ge(e) : e;
|
|
1303
1327
|
}
|
|
1304
|
-
function
|
|
1328
|
+
function Ke(e, t) {
|
|
1305
1329
|
for (let [n, r] of Object.entries(t)) {
|
|
1306
1330
|
if (r === void 0) continue;
|
|
1307
1331
|
let t = e[n];
|
|
1308
|
-
V(r) && V(t) ?
|
|
1332
|
+
V(r) && V(t) ? Ke(t, r) : e[n] = H(r);
|
|
1309
1333
|
}
|
|
1310
1334
|
return e;
|
|
1311
1335
|
}
|
|
1312
|
-
function
|
|
1336
|
+
function qe(e) {
|
|
1313
1337
|
let t = {};
|
|
1314
|
-
for (let n of e) n &&
|
|
1338
|
+
for (let n of e) n && Ke(t, n);
|
|
1315
1339
|
return t;
|
|
1316
1340
|
}
|
|
1317
1341
|
//#endregion
|
|
1318
1342
|
//#region ../core/src/view/viewChrome.js
|
|
1319
1343
|
var U = /* @__PURE__ */ new WeakMap();
|
|
1320
|
-
function
|
|
1344
|
+
function Je(e, t) {
|
|
1321
1345
|
U.set(e, t);
|
|
1322
1346
|
}
|
|
1323
|
-
function
|
|
1347
|
+
function Ye(e) {
|
|
1324
1348
|
return U.get(e);
|
|
1325
1349
|
}
|
|
1326
|
-
function
|
|
1350
|
+
function Xe(e) {
|
|
1327
1351
|
return U.has(e);
|
|
1328
1352
|
}
|
|
1329
|
-
function
|
|
1353
|
+
function Ze(e) {
|
|
1330
1354
|
let t = e;
|
|
1331
1355
|
for (; t;) {
|
|
1332
1356
|
let n = U.get(t);
|
|
@@ -1337,16 +1361,16 @@ function Je(e) {
|
|
|
1337
1361
|
}
|
|
1338
1362
|
//#endregion
|
|
1339
1363
|
//#region ../core/src/view/postScaleParams.js
|
|
1340
|
-
var
|
|
1341
|
-
function
|
|
1342
|
-
|
|
1364
|
+
var Qe = /* @__PURE__ */ new WeakMap();
|
|
1365
|
+
function $e(e, t) {
|
|
1366
|
+
Qe.set(e, t);
|
|
1343
1367
|
}
|
|
1344
|
-
function
|
|
1345
|
-
return
|
|
1368
|
+
function et(e) {
|
|
1369
|
+
return Qe.get(e);
|
|
1346
1370
|
}
|
|
1347
1371
|
//#endregion
|
|
1348
1372
|
//#region ../core/src/data/namedDataScope.js
|
|
1349
|
-
var
|
|
1373
|
+
var tt = class {
|
|
1350
1374
|
name;
|
|
1351
1375
|
owner;
|
|
1352
1376
|
getDefaultData;
|
|
@@ -1384,13 +1408,13 @@ var Qe = class {
|
|
|
1384
1408
|
dispose() {
|
|
1385
1409
|
this.#e = void 0, this.#t = !1, this.#n++, this.#r = !0;
|
|
1386
1410
|
}
|
|
1387
|
-
},
|
|
1411
|
+
}, nt = class {
|
|
1388
1412
|
view;
|
|
1389
1413
|
#e = /* @__PURE__ */ new Map();
|
|
1390
1414
|
#t = /* @__PURE__ */ new Map();
|
|
1391
1415
|
constructor(e) {
|
|
1392
1416
|
this.view = e;
|
|
1393
|
-
for (let [t, n] of Object.entries(e.spec.datasets ?? {})) this.#e.set(t, new
|
|
1417
|
+
for (let [t, n] of Object.entries(e.spec.datasets ?? {})) this.#e.set(t, new tt(t, e, () => n));
|
|
1394
1418
|
}
|
|
1395
1419
|
getLocalBinding(e) {
|
|
1396
1420
|
return this.#e.get(e);
|
|
@@ -1404,7 +1428,7 @@ var Qe = class {
|
|
|
1404
1428
|
let n = this.view.dataParent?.namedDataScope;
|
|
1405
1429
|
if (n) return n.resolve(e);
|
|
1406
1430
|
let r = this.#t.get(e);
|
|
1407
|
-
return r || (r = new
|
|
1431
|
+
return r || (r = new tt(e, void 0, () => this.view.context.getNamedDataFromProvider(e)), this.#t.set(e, r)), r;
|
|
1408
1432
|
}
|
|
1409
1433
|
dispose() {
|
|
1410
1434
|
for (let e of this.#e.values()) e.dispose();
|
|
@@ -1412,7 +1436,7 @@ var Qe = class {
|
|
|
1412
1436
|
for (let e of this.#t.values()) e.dispose();
|
|
1413
1437
|
this.#t.clear();
|
|
1414
1438
|
}
|
|
1415
|
-
}, W = "VISIT_SKIP", G = "VISIT_STOP", K = (e) => e,
|
|
1439
|
+
}, W = "VISIT_SKIP", G = "VISIT_STOP", K = (e) => e, rt = class {
|
|
1416
1440
|
spec;
|
|
1417
1441
|
namedDataScope;
|
|
1418
1442
|
#e;
|
|
@@ -1431,31 +1455,33 @@ var Qe = class {
|
|
|
1431
1455
|
#f = [];
|
|
1432
1456
|
#p = "none";
|
|
1433
1457
|
#m = /* @__PURE__ */ new Map();
|
|
1434
|
-
facetCoords = new
|
|
1435
|
-
|
|
1458
|
+
facetCoords = new p([], JSON.stringify);
|
|
1459
|
+
layoutCoords;
|
|
1460
|
+
constructor(e, n, r, i, a, o = {}) {
|
|
1436
1461
|
if (!e) throw Error("View spec must be defined!");
|
|
1437
|
-
if (this.context =
|
|
1438
|
-
let s =
|
|
1462
|
+
if (this.context = n, this.layoutParent = r, this.dataParent = i, o.chrome && Je(this, "excludeSubtree"), this.#t = a, this.spec = e, this.namedDataScope = new nt(this), i && e.theme !== void 0) throw Error("\"theme\" is only supported at the root specification. Use \"config\" and \"style\" for subtree customization.");
|
|
1463
|
+
let s = i ? i.getConfigScopes() : [n.getBaseConfig()], c = e.config;
|
|
1439
1464
|
this.#e = [...s, c].filter((e) => !!e), this.resolutions = {
|
|
1440
1465
|
scale: {},
|
|
1441
1466
|
axis: {},
|
|
1442
1467
|
legend: {}
|
|
1443
|
-
},
|
|
1468
|
+
}, oe(this), this.options = {
|
|
1444
1469
|
inheritEncoding: !1,
|
|
1445
1470
|
layoutSizeParams: "own",
|
|
1446
1471
|
...o
|
|
1447
1472
|
}, this.flowHandle = void 0, this.needsAxes = {
|
|
1448
1473
|
x: !1,
|
|
1449
1474
|
y: !1
|
|
1450
|
-
}, this.paramRuntime = new
|
|
1475
|
+
}, this.paramRuntime = new T(() => this.dataParent?.paramRuntime, (e) => this.getScaleResolution(e), n.animator, {
|
|
1451
1476
|
settleTemporalUpdatesImmediately: !0,
|
|
1452
|
-
onError:
|
|
1453
|
-
|
|
1454
|
-
|
|
1477
|
+
onError: n.reportError,
|
|
1478
|
+
getSpecOrigin: n.getSpecOrigin
|
|
1479
|
+
}), this.paramRuntime.setSelectionSource(this), "mark" in e && this.paramRuntime.registerLazyExpression("zoomLevel", "zoomLevel()", () => se("The automatic zoomLevel parameter is deprecated. Use zoomLevel() or an explicit channel such as zoomLevel(\"x\") instead."));
|
|
1480
|
+
let l = [...e.params ?? [], ...et(e) ?? []];
|
|
1455
1481
|
for (let e of l) {
|
|
1456
1482
|
if ("expr" in e) {
|
|
1457
|
-
let { usesScaleHelper:
|
|
1458
|
-
if (
|
|
1483
|
+
let { usesScaleHelper: n, globals: r } = t(e.expr, this.paramRuntime.getSpecLocation(e, ["expr"])), i = r.some((e) => this.paramRuntime.isPendingParam(e));
|
|
1484
|
+
if (n || i) {
|
|
1459
1485
|
this.paramRuntime.registerParam(e, { defer: !0 }), this.#d.push(e.name);
|
|
1460
1486
|
continue;
|
|
1461
1487
|
}
|
|
@@ -1480,18 +1506,18 @@ var Qe = class {
|
|
|
1480
1506
|
return this.#t;
|
|
1481
1507
|
}
|
|
1482
1508
|
getConfig() {
|
|
1483
|
-
return
|
|
1509
|
+
return qe(this.#e);
|
|
1484
1510
|
}
|
|
1485
1511
|
getCursorSpec() {
|
|
1486
1512
|
return this.spec.cursor;
|
|
1487
1513
|
}
|
|
1488
1514
|
getCursor() {
|
|
1489
1515
|
let e = this.getCursorSpec();
|
|
1490
|
-
return
|
|
1516
|
+
return h(e) ? this.paramRuntime.evaluateAndGet(e) : e;
|
|
1491
1517
|
}
|
|
1492
1518
|
watchCursor(e, t) {
|
|
1493
1519
|
let n = this.getCursorSpec();
|
|
1494
|
-
|
|
1520
|
+
h(n) && this.paramRuntime.watchExpression(n, e, {
|
|
1495
1521
|
scopeOwned: !1,
|
|
1496
1522
|
registerDisposer: t
|
|
1497
1523
|
});
|
|
@@ -1508,50 +1534,78 @@ var Qe = class {
|
|
|
1508
1534
|
getOverhang() {
|
|
1509
1535
|
return R.zero();
|
|
1510
1536
|
}
|
|
1537
|
+
getStructuralOverhang() {
|
|
1538
|
+
return R.zero();
|
|
1539
|
+
}
|
|
1540
|
+
getStructuralSizeDefs(e) {
|
|
1541
|
+
let t = this.getStructuralOverhang();
|
|
1542
|
+
return {
|
|
1543
|
+
before: { px: t[e === "x" ? "left" : "top"] },
|
|
1544
|
+
after: { px: t[e === "x" ? "right" : "bottom"] }
|
|
1545
|
+
};
|
|
1546
|
+
}
|
|
1547
|
+
getAlignment(e) {
|
|
1548
|
+
let t = e === "x" ? "width" : "height";
|
|
1549
|
+
return {
|
|
1550
|
+
size: this.getViewportSize().subtractPadding(this.getOverhang())[t],
|
|
1551
|
+
before: 0,
|
|
1552
|
+
after: 0
|
|
1553
|
+
};
|
|
1554
|
+
}
|
|
1555
|
+
getAlignmentCoords(e) {
|
|
1556
|
+
return this.coords.shrink(this.getOverhang());
|
|
1557
|
+
}
|
|
1558
|
+
getLayoutFootprints() {
|
|
1559
|
+
return [{
|
|
1560
|
+
view: this,
|
|
1561
|
+
coords: this.coords.shrink(this.getOverhang()),
|
|
1562
|
+
chrome: !1
|
|
1563
|
+
}];
|
|
1564
|
+
}
|
|
1511
1565
|
isScrollable() {
|
|
1512
1566
|
return this.spec.viewportWidth != null || this.spec.viewportHeight != null;
|
|
1513
1567
|
}
|
|
1514
1568
|
getSize() {
|
|
1515
|
-
return this._cache("size/size", () => this.isConfiguredVisible() ? new
|
|
1569
|
+
return this._cache("size/size", () => this.isConfiguredVisible() ? new D(this.#g("width"), this.#g("height")) : O);
|
|
1516
1570
|
}
|
|
1517
1571
|
getViewportSize() {
|
|
1518
1572
|
if (!this.isScrollable()) return this.getSize();
|
|
1519
|
-
if (!this.isConfiguredVisible()) return
|
|
1573
|
+
if (!this.isConfiguredVisible()) return O;
|
|
1520
1574
|
let e = this.getSize();
|
|
1521
|
-
return new
|
|
1575
|
+
return new D(this.#g("viewportWidth") ?? e.width, this.#g("viewportHeight") ?? e.height);
|
|
1522
1576
|
}
|
|
1523
1577
|
#g(e) {
|
|
1524
|
-
let { value: t, implicit:
|
|
1525
|
-
if (
|
|
1526
|
-
if (
|
|
1527
|
-
let t = this.#x(e,
|
|
1528
|
-
if (
|
|
1529
|
-
let
|
|
1530
|
-
if (v(
|
|
1531
|
-
else if (["locus", "index"].includes(
|
|
1532
|
-
let e =
|
|
1533
|
-
|
|
1534
|
-
} else throw new b(`Cannot use step-based size with "${
|
|
1535
|
-
let
|
|
1536
|
-
|
|
1537
|
-
let
|
|
1538
|
-
if (
|
|
1539
|
-
if (!
|
|
1540
|
-
let t =
|
|
1541
|
-
|
|
1578
|
+
let { value: t, implicit: n } = this.#_(e), r = this.resolveSizeValue(e, t), i = q(r), a = e == "viewportWidth" || e == "viewportHeight";
|
|
1579
|
+
if (i) {
|
|
1580
|
+
if (a) throw new b(`Cannot use step-based size with "${e}"!`, this);
|
|
1581
|
+
let t = this.#x(e, r), i = this.getScaleResolution(e == "width" ? "x" : "y")?.getScale();
|
|
1582
|
+
if (i) {
|
|
1583
|
+
let n;
|
|
1584
|
+
if (v(i.type)) n = i.domain().length;
|
|
1585
|
+
else if (["locus", "index"].includes(i.type)) {
|
|
1586
|
+
let e = i.domain();
|
|
1587
|
+
n = u(e) - e[0];
|
|
1588
|
+
} else throw new b(`Cannot use step-based size with "${i.type}" scale!`, this);
|
|
1589
|
+
let a = i;
|
|
1590
|
+
n = ie(n, a.paddingInner(), a.paddingOuter());
|
|
1591
|
+
let o = e == "width" ? "xOffset" : "yOffset", s = this.getScaleResolution(o)?.getScale(), c = r.for ?? (s && v(s.type) ? "offset" : "position"), l = t;
|
|
1592
|
+
if (c == "offset") {
|
|
1593
|
+
if (!s || !v(s.type)) throw new b(`Cannot use ${e}.step.for = "offset" without a discrete ${o} scale!`, this);
|
|
1594
|
+
let t = s, n = ie(s.domain().length, t.paddingInner(), t.paddingOuter());
|
|
1595
|
+
l *= n / (1 - a.paddingInner());
|
|
1542
1596
|
}
|
|
1543
1597
|
return {
|
|
1544
|
-
px:
|
|
1598
|
+
px: n * l,
|
|
1545
1599
|
grow: 0
|
|
1546
1600
|
};
|
|
1547
1601
|
}
|
|
1548
|
-
if (
|
|
1602
|
+
if (n) return {
|
|
1549
1603
|
px: t,
|
|
1550
1604
|
grow: 0
|
|
1551
1605
|
};
|
|
1552
1606
|
throw new b(`Cannot use step-based size with "${e}"!`, this);
|
|
1553
1607
|
}
|
|
1554
|
-
return (
|
|
1608
|
+
return (r && Fe(r)) ?? (a ? void 0 : {
|
|
1555
1609
|
px: 0,
|
|
1556
1610
|
grow: 1
|
|
1557
1611
|
});
|
|
@@ -1567,16 +1621,16 @@ var Qe = class {
|
|
|
1567
1621
|
};
|
|
1568
1622
|
}
|
|
1569
1623
|
#v(e) {
|
|
1570
|
-
if (
|
|
1624
|
+
if (Ze(this)) return;
|
|
1571
1625
|
let t = this.getConfig().view;
|
|
1572
1626
|
if (!t) return;
|
|
1573
1627
|
let n = e == "width" ? "x" : "y", r = this.getScaleResolution(n)?.getResolvedScaleType();
|
|
1574
1628
|
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 });
|
|
1575
1629
|
}
|
|
1576
1630
|
resolveSizeValue(e, t) {
|
|
1577
|
-
if (!
|
|
1631
|
+
if (!h(t)) return t;
|
|
1578
1632
|
let n = this.#C(e)();
|
|
1579
|
-
if (
|
|
1633
|
+
if (ct(n) || n === "container") return n;
|
|
1580
1634
|
throw new b(`"${e}" ExprRef must resolve to a finite number or "container"!`, this);
|
|
1581
1635
|
}
|
|
1582
1636
|
registerSizeInvalidation() {
|
|
@@ -1594,7 +1648,7 @@ var Qe = class {
|
|
|
1594
1648
|
let t = this.getSize()[e];
|
|
1595
1649
|
this.invalidateSizeCache();
|
|
1596
1650
|
let n = this.getSize()[e];
|
|
1597
|
-
|
|
1651
|
+
Ne(t, n) || this.context.requestLayoutReflow();
|
|
1598
1652
|
};
|
|
1599
1653
|
if (i.addEventListener("domain", a), this.registerDisposer(() => i.removeEventListener("domain", a)), n.for != "position") {
|
|
1600
1654
|
let t = e == "width" ? "xOffset" : "yOffset", n = this.getScaleResolution(t);
|
|
@@ -1603,11 +1657,11 @@ var Qe = class {
|
|
|
1603
1657
|
}
|
|
1604
1658
|
#b(e) {
|
|
1605
1659
|
let { value: t } = this.#_(e);
|
|
1606
|
-
|
|
1660
|
+
h(t) ? this.#S(e, t) : q(t) && h(t.step) && this.#S(e + ".step", t.step);
|
|
1607
1661
|
}
|
|
1608
1662
|
#x(e, t) {
|
|
1609
|
-
let n =
|
|
1610
|
-
if (
|
|
1663
|
+
let n = h(t.step) ? this.#C(e + ".step")() : t.step;
|
|
1664
|
+
if (ct(n)) return n;
|
|
1611
1665
|
throw new b(`"${e}.step" ExprRef must resolve to a finite number!`, this);
|
|
1612
1666
|
}
|
|
1613
1667
|
#S(e, t) {
|
|
@@ -1684,7 +1738,7 @@ var Qe = class {
|
|
|
1684
1738
|
};
|
|
1685
1739
|
}
|
|
1686
1740
|
handleInteraction(e, t) {
|
|
1687
|
-
t && e.type === "mousemove" && e.pointedViews.
|
|
1741
|
+
t && e.type === "mousemove" && e.pointedViews.set(this, e.facetId);
|
|
1688
1742
|
let n = t ? this.#r : this.#i;
|
|
1689
1743
|
for (let t of n[e.type] || []) t(e);
|
|
1690
1744
|
}
|
|
@@ -1717,7 +1771,7 @@ var Qe = class {
|
|
|
1717
1771
|
for (let e of this.#f) e();
|
|
1718
1772
|
this.#f.length = 0;
|
|
1719
1773
|
let e = this.flowHandle;
|
|
1720
|
-
e?.collector && (this.context.dataFlow.pruneCollectorBranch(e.collector), this.context.dataFlow.removeCollector(e.collector)), e?.dataSource && e.dataSource.view === this && !e.dataSource.shareKey && this.context.dataFlow.removeDataSource(e.dataSource), this.paramRuntime.dispose(), this.namedDataScope.dispose(), this.context.dataFlow.loadingStatusRegistry.delete(this)
|
|
1774
|
+
e?.collector && (this.context.dataFlow.pruneCollectorBranch(e.collector), this.context.dataFlow.removeCollector(e.collector)), e?.dataSource && e.dataSource.view === this && !e.dataSource.shareKey && this.context.dataFlow.removeDataSource(e.dataSource), this.paramRuntime.dispose(), this.namedDataScope.dispose(), this.flowHandle = void 0, this.context.dataFlow.loadingStatusRegistry.delete(this);
|
|
1721
1775
|
}
|
|
1722
1776
|
registerDisposer(e) {
|
|
1723
1777
|
this.#f.push(e);
|
|
@@ -1741,7 +1795,7 @@ var Qe = class {
|
|
|
1741
1795
|
}
|
|
1742
1796
|
}
|
|
1743
1797
|
configureViewOpacity() {
|
|
1744
|
-
(!this.opacityFunction || this.opacityFunction === K) && (this.opacityFunction =
|
|
1798
|
+
(!this.opacityFunction || this.opacityFunction === K) && (this.opacityFunction = at(this));
|
|
1745
1799
|
}
|
|
1746
1800
|
finalizeParamRuntimeInitialization() {
|
|
1747
1801
|
this.#l === void 0 ? this.paramRuntime.finalizeInitialization() : this.#T();
|
|
@@ -1753,7 +1807,9 @@ var Qe = class {
|
|
|
1753
1807
|
return this.#s;
|
|
1754
1808
|
}
|
|
1755
1809
|
arrange(e, t, n = {}) {
|
|
1756
|
-
if (
|
|
1810
|
+
if (this.layoutParent || this.visit((e) => {
|
|
1811
|
+
e.layoutCoords = void 0;
|
|
1812
|
+
}), this.layoutCoords = t, n.firstFacet && this.facetCoords.clear(), this.facetCoords.set(n.facetId, ee(t, m(n))), this.#a || this.#o) {
|
|
1757
1813
|
let e = this.getOverhang(), n = this.layoutParent ? R.zero() : this.getPadding();
|
|
1758
1814
|
this.#a?.(t.width - e.width - n.width), this.#o?.(t.height - e.height - n.height);
|
|
1759
1815
|
}
|
|
@@ -1775,7 +1831,7 @@ var Qe = class {
|
|
|
1775
1831
|
}
|
|
1776
1832
|
getFacetFields(e) {
|
|
1777
1833
|
let t = this.getEncoding().sample;
|
|
1778
|
-
return
|
|
1834
|
+
return ne(t) ? [t.field] : this.options.inheritEncoding ? this.layoutParent?.getFacetFields(this) : [];
|
|
1779
1835
|
}
|
|
1780
1836
|
usesSampleFacetRendering() {
|
|
1781
1837
|
return this.layoutParent?.usesSampleFacetRendering() ?? !1;
|
|
@@ -1787,15 +1843,23 @@ var Qe = class {
|
|
|
1787
1843
|
};
|
|
1788
1844
|
}
|
|
1789
1845
|
getScaleResolution(e) {
|
|
1790
|
-
|
|
1791
|
-
return this.getDataAncestors().map((e) => e.resolutions.scale[t]).find((e) => e);
|
|
1846
|
+
return this.#E(e, "scale");
|
|
1792
1847
|
}
|
|
1793
1848
|
getAxisResolution(e) {
|
|
1794
|
-
|
|
1795
|
-
|
|
1849
|
+
return this.#E(e, "axis");
|
|
1850
|
+
}
|
|
1851
|
+
#E(e, t) {
|
|
1852
|
+
let n = g(e);
|
|
1853
|
+
for (let e of this.getDataAncestors()) {
|
|
1854
|
+
let r = e.resolutions[t][n];
|
|
1855
|
+
if (r || e.isResolutionBoundary(n)) return r;
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1858
|
+
isResolutionBoundary(e) {
|
|
1859
|
+
return this.options.resolutionBoundaryChannels?.some((t) => t === g(e)) ?? !1;
|
|
1796
1860
|
}
|
|
1797
1861
|
getLegendResolution(e) {
|
|
1798
|
-
let t =
|
|
1862
|
+
let t = g(e);
|
|
1799
1863
|
return this.getDataAncestors().map((e) => e.resolutions.legend[t]).find((e) => e);
|
|
1800
1864
|
}
|
|
1801
1865
|
getConfiguredResolution(e, t) {
|
|
@@ -1808,17 +1872,17 @@ var Qe = class {
|
|
|
1808
1872
|
return "independent";
|
|
1809
1873
|
}
|
|
1810
1874
|
getBaseUrl() {
|
|
1811
|
-
return B(() => this.dataParent?.getBaseUrl(),
|
|
1875
|
+
return B(() => this.dataParent?.getBaseUrl(), We(this.spec.baseUrl));
|
|
1812
1876
|
}
|
|
1813
1877
|
isPickingSupported() {
|
|
1814
1878
|
return !0;
|
|
1815
1879
|
}
|
|
1816
1880
|
getTitleText() {
|
|
1817
1881
|
let e = this.spec.title;
|
|
1818
|
-
if (e) return
|
|
1882
|
+
if (e) return i(e) ? e : h(e.text) ? this.paramRuntime.evaluateAndGet(e.text) : e.text;
|
|
1819
1883
|
}
|
|
1820
1884
|
_cache(e, t) {
|
|
1821
|
-
return
|
|
1885
|
+
return ae(this, e, t);
|
|
1822
1886
|
}
|
|
1823
1887
|
_invalidateCacheByPrefix(e, t = "self") {
|
|
1824
1888
|
switch (t) {
|
|
@@ -1836,16 +1900,16 @@ var Qe = class {
|
|
|
1836
1900
|
}
|
|
1837
1901
|
propagateInteraction(e) {}
|
|
1838
1902
|
};
|
|
1839
|
-
function
|
|
1903
|
+
function it(e) {
|
|
1840
1904
|
return "unitsPerPixel" in e;
|
|
1841
1905
|
}
|
|
1842
|
-
function
|
|
1843
|
-
let
|
|
1844
|
-
if (
|
|
1845
|
-
if (
|
|
1846
|
-
if (
|
|
1847
|
-
let
|
|
1848
|
-
let n =
|
|
1906
|
+
function at(t) {
|
|
1907
|
+
let n = "opacity" in t.spec ? t.spec.opacity : void 0;
|
|
1908
|
+
if (n !== void 0) {
|
|
1909
|
+
if (e(n)) return (e) => e * n;
|
|
1910
|
+
if (it(n)) {
|
|
1911
|
+
let e = (e) => {
|
|
1912
|
+
let n = t.getScaleResolution(e), r = n?.getScale();
|
|
1849
1913
|
if ([
|
|
1850
1914
|
"linear",
|
|
1851
1915
|
"index",
|
|
@@ -1854,46 +1918,46 @@ function nt(e) {
|
|
|
1854
1918
|
scale: r,
|
|
1855
1919
|
scaleResolution: n
|
|
1856
1920
|
};
|
|
1857
|
-
}, r =
|
|
1858
|
-
if (!
|
|
1859
|
-
let i = () => 1, a = [],
|
|
1860
|
-
let
|
|
1921
|
+
}, r = st(n.values, "opacity.values", t);
|
|
1922
|
+
if (!o(n.unitsPerPixel)) throw new b("\"opacity.unitsPerPixel\" must be an array.", t);
|
|
1923
|
+
let i = () => 1, a = [], s = () => {
|
|
1924
|
+
let e = ot(st(a.map((e) => e()), "opacity.unitsPerPixel", t), r, t), n = re().domain(e.unitsPerPixel).range(e.values).clamp(!0);
|
|
1861
1925
|
i = (e) => n(e);
|
|
1862
1926
|
};
|
|
1863
|
-
a =
|
|
1864
|
-
if (
|
|
1865
|
-
let n =
|
|
1866
|
-
|
|
1927
|
+
a = n.unitsPerPixel.map((e) => {
|
|
1928
|
+
if (h(e)) {
|
|
1929
|
+
let n = t.paramRuntime.watchExpression(e, () => {
|
|
1930
|
+
s(), t.context.animator.requestRender();
|
|
1867
1931
|
});
|
|
1868
1932
|
return () => n(null);
|
|
1869
1933
|
}
|
|
1870
|
-
return () =>
|
|
1871
|
-
}),
|
|
1872
|
-
let
|
|
1934
|
+
return () => e;
|
|
1935
|
+
}), s();
|
|
1936
|
+
let c = (e) => {
|
|
1873
1937
|
let t = e.scaleResolution.getAxisLength() || 1e3;
|
|
1874
|
-
return
|
|
1875
|
-
},
|
|
1876
|
-
if (
|
|
1877
|
-
let
|
|
1878
|
-
if (
|
|
1879
|
-
else if (
|
|
1880
|
-
else if (r)
|
|
1881
|
-
else throw new b("Cannot find a resolved quantitative x or y scale for dynamic opacity!",
|
|
1938
|
+
return d(e.scale.domain()) / t;
|
|
1939
|
+
}, l;
|
|
1940
|
+
if (n.channel === "auto") {
|
|
1941
|
+
let n = e("x"), r = e("y");
|
|
1942
|
+
if (n && r) l = () => (c(n) + c(r)) / 2;
|
|
1943
|
+
else if (n) l = () => c(n);
|
|
1944
|
+
else if (r) l = () => c(r);
|
|
1945
|
+
else throw new b("Cannot find a resolved quantitative x or y scale for dynamic opacity!", t);
|
|
1882
1946
|
} else {
|
|
1883
|
-
let r =
|
|
1884
|
-
if (!r) throw new b("Cannot find a resolved quantitative scale for dynamic opacity!",
|
|
1885
|
-
|
|
1947
|
+
let r = n.channel ? e(n.channel) : e("x") ?? e("y");
|
|
1948
|
+
if (!r) throw new b("Cannot find a resolved quantitative scale for dynamic opacity!", t);
|
|
1949
|
+
l = () => c(r);
|
|
1886
1950
|
}
|
|
1887
|
-
return (e) => i(
|
|
1951
|
+
return (e) => i(l()) * e;
|
|
1888
1952
|
}
|
|
1889
|
-
if (
|
|
1890
|
-
let
|
|
1891
|
-
return (
|
|
1953
|
+
if (h(n)) {
|
|
1954
|
+
let e = t.paramRuntime.watchExpression(n, () => t.context.animator.requestRender());
|
|
1955
|
+
return (t) => e(null) * t;
|
|
1892
1956
|
}
|
|
1893
1957
|
}
|
|
1894
1958
|
return K;
|
|
1895
1959
|
}
|
|
1896
|
-
function
|
|
1960
|
+
function ot(e, t, n) {
|
|
1897
1961
|
if (!e.length) throw new b("\"opacity.unitsPerPixel\" must contain at least one stop.", n);
|
|
1898
1962
|
if (e.length !== t.length) throw new b("\"opacity.unitsPerPixel\" and \"opacity.values\" must have the same length.", n);
|
|
1899
1963
|
e.forEach((e, t) => {
|
|
@@ -1911,42 +1975,42 @@ function rt(e, t, n) {
|
|
|
1911
1975
|
values: a
|
|
1912
1976
|
};
|
|
1913
1977
|
}
|
|
1914
|
-
function
|
|
1915
|
-
if (!
|
|
1916
|
-
return
|
|
1917
|
-
if (!
|
|
1918
|
-
return
|
|
1978
|
+
function st(t, n, r) {
|
|
1979
|
+
if (!o(t)) throw new b("\"" + n + "\" must evaluate to an array.", r);
|
|
1980
|
+
return t.map((t, i) => {
|
|
1981
|
+
if (!e(t) || !Number.isFinite(t)) throw new b("Invalid " + n + " value at index " + i + ". Expected a finite number.", r);
|
|
1982
|
+
return t;
|
|
1919
1983
|
});
|
|
1920
1984
|
}
|
|
1921
1985
|
var q = (e) => !!e && typeof e == "object" && "step" in e;
|
|
1922
|
-
function
|
|
1986
|
+
function ct(e) {
|
|
1923
1987
|
return typeof e == "number" && Number.isFinite(e);
|
|
1924
1988
|
}
|
|
1925
1989
|
var J = /* @__PURE__ */ new WeakMap(), Y = /* @__PURE__ */ new WeakMap();
|
|
1926
|
-
function
|
|
1927
|
-
|
|
1990
|
+
function lt(e, t) {
|
|
1991
|
+
X(e, t, "Import");
|
|
1928
1992
|
}
|
|
1929
|
-
function
|
|
1930
|
-
|
|
1993
|
+
function ut(e, t) {
|
|
1994
|
+
X(e, t, "View");
|
|
1931
1995
|
}
|
|
1932
|
-
function
|
|
1996
|
+
function X(e, t, n) {
|
|
1933
1997
|
if (t !== null && typeof t != "string") throw Error(n + " scope name must be a string or null.");
|
|
1934
1998
|
J.set(e, { name: t });
|
|
1935
1999
|
}
|
|
1936
|
-
function
|
|
2000
|
+
function dt(e) {
|
|
1937
2001
|
return J.get(e);
|
|
1938
2002
|
}
|
|
1939
|
-
function
|
|
2003
|
+
function ft(e, t = {}) {
|
|
1940
2004
|
let n = t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude";
|
|
1941
2005
|
Y.set(e, n);
|
|
1942
2006
|
}
|
|
1943
|
-
function
|
|
1944
|
-
|
|
2007
|
+
function pt(e, t = {}) {
|
|
2008
|
+
Je(e, t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude");
|
|
1945
2009
|
}
|
|
1946
|
-
function
|
|
1947
|
-
return e.getLayoutAncestors().some(
|
|
2010
|
+
function mt(e) {
|
|
2011
|
+
return e.getLayoutAncestors().some(Xe);
|
|
1948
2012
|
}
|
|
1949
|
-
function
|
|
2013
|
+
function Z(e) {
|
|
1950
2014
|
let t = e.getDataAncestors(), n = [];
|
|
1951
2015
|
for (let e = t.length - 1; e >= 0; --e) {
|
|
1952
2016
|
let r = J.get(t[e]);
|
|
@@ -1954,51 +2018,51 @@ function X(e) {
|
|
|
1954
2018
|
}
|
|
1955
2019
|
return n;
|
|
1956
2020
|
}
|
|
1957
|
-
function
|
|
2021
|
+
function ht(e) {
|
|
1958
2022
|
let t = e.explicitName;
|
|
1959
2023
|
if (!t) throw Error("Cannot build a selector for a view without a name.");
|
|
1960
2024
|
return {
|
|
1961
|
-
scope:
|
|
2025
|
+
scope: Z(e),
|
|
1962
2026
|
view: t
|
|
1963
2027
|
};
|
|
1964
2028
|
}
|
|
1965
|
-
function
|
|
2029
|
+
function gt(e, t) {
|
|
1966
2030
|
if (!t) throw Error("Cannot build a selector for a parameter without a name.");
|
|
1967
2031
|
return {
|
|
1968
|
-
scope:
|
|
2032
|
+
scope: Z(e),
|
|
1969
2033
|
param: t
|
|
1970
2034
|
};
|
|
1971
2035
|
}
|
|
1972
|
-
function
|
|
1973
|
-
return
|
|
2036
|
+
function _t(e) {
|
|
2037
|
+
return Tt(e), "p:" + JSON.stringify({
|
|
1974
2038
|
scope: e.scope,
|
|
1975
2039
|
param: e.param
|
|
1976
2040
|
});
|
|
1977
2041
|
}
|
|
1978
|
-
function
|
|
2042
|
+
function vt(e, t) {
|
|
1979
2043
|
e.visit((e) => {
|
|
1980
|
-
let n =
|
|
2044
|
+
let n = Ye(e);
|
|
1981
2045
|
if (n === "excludeSubtree") return W;
|
|
1982
2046
|
if (n !== "exclude") return t(e);
|
|
1983
2047
|
});
|
|
1984
2048
|
}
|
|
1985
|
-
function
|
|
2049
|
+
function yt(e, t) {
|
|
1986
2050
|
e.visit((e) => {
|
|
1987
2051
|
let n = Y.get(e);
|
|
1988
2052
|
if (n === "excludeSubtree") return W;
|
|
1989
2053
|
if (n !== "exclude") return t(e);
|
|
1990
2054
|
});
|
|
1991
2055
|
}
|
|
1992
|
-
function
|
|
1993
|
-
if (
|
|
2056
|
+
function bt(e, t) {
|
|
2057
|
+
if (Et(t), !Pt(e, t.scope)) return;
|
|
1994
2058
|
let n = [];
|
|
1995
2059
|
if ($(e, t.scope, (e) => {
|
|
1996
2060
|
e.explicitName === t.view && n.push(e);
|
|
1997
2061
|
}, { includeNamedImportRoots: !0 }), n.length === 1) return n[0];
|
|
1998
2062
|
if (n.length !== 0) throw Error("View selector is ambiguous for view \"" + t.view + "\" in scope " + JSON.stringify(t.scope));
|
|
1999
2063
|
}
|
|
2000
|
-
function
|
|
2001
|
-
if (
|
|
2064
|
+
function xt(e, t) {
|
|
2065
|
+
if (Tt(t), !Pt(e, t.scope)) return;
|
|
2002
2066
|
let n = [];
|
|
2003
2067
|
if ($(e, t.scope, (e) => {
|
|
2004
2068
|
for (let [r, i] of e.paramRuntime.paramConfigs) r === t.param && Q(i) && n.push({
|
|
@@ -2008,54 +2072,54 @@ function vt(e, t) {
|
|
|
2008
2072
|
}), n.length === 1) return n[0];
|
|
2009
2073
|
if (n.length !== 0) throw Error("Param selector is ambiguous for param \"" + t.param + "\" in scope " + JSON.stringify(t.scope));
|
|
2010
2074
|
}
|
|
2011
|
-
function
|
|
2075
|
+
function St(e, t) {
|
|
2012
2076
|
e.visit((e) => {
|
|
2013
2077
|
let n = Y.get(e);
|
|
2014
2078
|
if (n === "excludeSubtree") return W;
|
|
2015
2079
|
if (n !== "exclude") for (let [n, r] of e.paramRuntime.paramConfigs) Q(r) && t({
|
|
2016
2080
|
view: e,
|
|
2017
2081
|
param: r,
|
|
2018
|
-
selector:
|
|
2082
|
+
selector: gt(e, n)
|
|
2019
2083
|
});
|
|
2020
2084
|
});
|
|
2021
2085
|
}
|
|
2022
|
-
function
|
|
2086
|
+
function Ct(e) {
|
|
2023
2087
|
let t = [];
|
|
2024
|
-
return
|
|
2088
|
+
return St(e, (e) => t.push(e)), t;
|
|
2025
2089
|
}
|
|
2026
|
-
function
|
|
2090
|
+
function wt(e) {
|
|
2027
2091
|
let t = [];
|
|
2028
|
-
for (let n of
|
|
2029
|
-
let r =
|
|
2030
|
-
|
|
2092
|
+
for (let n of Dt(e)) {
|
|
2093
|
+
let r = Ot(n);
|
|
2094
|
+
At(e, r, t), jt(e, r, t);
|
|
2031
2095
|
}
|
|
2032
2096
|
return t;
|
|
2033
2097
|
}
|
|
2034
|
-
function
|
|
2098
|
+
function Tt(e) {
|
|
2035
2099
|
if (!e || !Array.isArray(e.scope)) throw Error("Param selector scope must be an array.");
|
|
2036
2100
|
if (typeof e.param != "string" || !e.param.length) throw Error("Param selector param must be a non-empty string.");
|
|
2037
2101
|
}
|
|
2038
|
-
function
|
|
2102
|
+
function Et(e) {
|
|
2039
2103
|
if (!e || !Array.isArray(e.scope)) throw Error("View selector scope must be an array.");
|
|
2040
2104
|
if (typeof e.view != "string" || !e.view.length) throw Error("View selector view must be a non-empty string.");
|
|
2041
2105
|
}
|
|
2042
|
-
function Q(
|
|
2043
|
-
return
|
|
2106
|
+
function Q(e) {
|
|
2107
|
+
return e.persist === !1 ? !1 : l(e) ? !0 : c(e) ? !!e.bind : !1;
|
|
2044
2108
|
}
|
|
2045
|
-
function
|
|
2109
|
+
function Dt(e) {
|
|
2046
2110
|
let t = /* @__PURE__ */ new Set([e]);
|
|
2047
2111
|
return e.visit((e) => {
|
|
2048
2112
|
let n = J.get(e);
|
|
2049
2113
|
n && typeof n.name == "string" && t.add(e);
|
|
2050
2114
|
}), Array.from(t);
|
|
2051
2115
|
}
|
|
2052
|
-
function
|
|
2053
|
-
return
|
|
2116
|
+
function Ot(e) {
|
|
2117
|
+
return Z(e);
|
|
2054
2118
|
}
|
|
2055
|
-
function
|
|
2119
|
+
function kt(e) {
|
|
2056
2120
|
return e.length ? "import scope [" + e.join(" / ") + "]" : "import scope (root)";
|
|
2057
2121
|
}
|
|
2058
|
-
function
|
|
2122
|
+
function At(e, t, n) {
|
|
2059
2123
|
let r = /* @__PURE__ */ new Map();
|
|
2060
2124
|
$(e, t, (e) => {
|
|
2061
2125
|
for (let [t, n] of e.paramRuntime.paramConfigs) {
|
|
@@ -2068,15 +2132,15 @@ function Dt(e, t, n) {
|
|
|
2068
2132
|
if (i.length <= 1) continue;
|
|
2069
2133
|
let r = i.map((e) => e.getPathString()).join(", ");
|
|
2070
2134
|
n.push({
|
|
2071
|
-
message: "Bookmarkable parameter \"" + e + "\" is not unique within " +
|
|
2135
|
+
message: "Bookmarkable parameter \"" + e + "\" is not unique within " + kt(t) + ". Found in: " + r + ".",
|
|
2072
2136
|
scope: t
|
|
2073
2137
|
});
|
|
2074
2138
|
}
|
|
2075
2139
|
}
|
|
2076
|
-
function
|
|
2077
|
-
let r =
|
|
2140
|
+
function jt(e, t, n) {
|
|
2141
|
+
let r = Mt(e, t);
|
|
2078
2142
|
if (!r.length) return;
|
|
2079
|
-
let i = r.filter((e) =>
|
|
2143
|
+
let i = r.filter((e) => Nt(e));
|
|
2080
2144
|
if (i.length <= 1) return;
|
|
2081
2145
|
let a = /* @__PURE__ */ new Map();
|
|
2082
2146
|
for (let e of i) {
|
|
@@ -2084,19 +2148,19 @@ function Ot(e, t, n) {
|
|
|
2084
2148
|
typeof n == "string" && n.length && a.set(n, (a.get(n) ?? 0) + 1);
|
|
2085
2149
|
}
|
|
2086
2150
|
for (let [e, r] of a) r > 1 && n.push({
|
|
2087
|
-
message: "Import instance name \"" + e + "\" is used multiple times for addressable instances in " +
|
|
2151
|
+
message: "Import instance name \"" + e + "\" is used multiple times for addressable instances in " + kt(t) + ".",
|
|
2088
2152
|
scope: t
|
|
2089
2153
|
});
|
|
2090
2154
|
}
|
|
2091
|
-
function
|
|
2155
|
+
function Mt(e, t) {
|
|
2092
2156
|
let n = [];
|
|
2093
2157
|
return $(e, t, (e) => {
|
|
2094
|
-
if (
|
|
2158
|
+
if (Z(e).length !== t.length + 1) return;
|
|
2095
2159
|
let r = J.get(e);
|
|
2096
2160
|
r && typeof r.name == "string" && n.push(e);
|
|
2097
2161
|
}, { includeNamedImportRoots: !0 }), n;
|
|
2098
2162
|
}
|
|
2099
|
-
function
|
|
2163
|
+
function Nt(e) {
|
|
2100
2164
|
let t = !1;
|
|
2101
2165
|
return e.visit((e) => {
|
|
2102
2166
|
let n = Y.get(e);
|
|
@@ -2106,14 +2170,14 @@ function At(e) {
|
|
|
2106
2170
|
}
|
|
2107
2171
|
}), t;
|
|
2108
2172
|
}
|
|
2109
|
-
function
|
|
2173
|
+
function Pt(e, t) {
|
|
2110
2174
|
let n = e, r = [];
|
|
2111
2175
|
for (let i of t) {
|
|
2112
2176
|
if (typeof i != "string" || !i.length) throw Error("Scope names must be non-empty strings.");
|
|
2113
2177
|
let t, a = !1;
|
|
2114
2178
|
if ($(e, r, (e) => {
|
|
2115
2179
|
let n = J.get(e);
|
|
2116
|
-
if (n && n.name === i &&
|
|
2180
|
+
if (n && n.name === i && Z(e).length === r.length + 1) {
|
|
2117
2181
|
if (t) return a = !0, G;
|
|
2118
2182
|
t = e;
|
|
2119
2183
|
}
|
|
@@ -2128,20 +2192,20 @@ function $(e, t, n, r = {}) {
|
|
|
2128
2192
|
e.visit((e) => {
|
|
2129
2193
|
let r = J.get(e), a = Y.get(e);
|
|
2130
2194
|
if (a === "excludeSubtree") return W;
|
|
2131
|
-
if (a !== "exclude" &&
|
|
2195
|
+
if (a !== "exclude" && Ft(e, t, r, i)) return n(e);
|
|
2132
2196
|
});
|
|
2133
2197
|
}
|
|
2134
|
-
function
|
|
2135
|
-
let i =
|
|
2136
|
-
return
|
|
2198
|
+
function Ft(e, t, n, r) {
|
|
2199
|
+
let i = Z(e);
|
|
2200
|
+
return It(i, t) ? !0 : !r || !n || typeof n.name != "string" || i.length !== t.length + 1 ? !1 : Lt(t, i);
|
|
2137
2201
|
}
|
|
2138
|
-
function
|
|
2139
|
-
return e.length === t.length &&
|
|
2202
|
+
function It(e, t) {
|
|
2203
|
+
return e.length === t.length && Lt(e, t);
|
|
2140
2204
|
}
|
|
2141
|
-
function
|
|
2205
|
+
function Lt(e, t) {
|
|
2142
2206
|
if (e.length > t.length) return !1;
|
|
2143
2207
|
for (let n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
|
|
2144
2208
|
return !0;
|
|
2145
2209
|
}
|
|
2146
2210
|
//#endregion
|
|
2147
|
-
export {
|
|
2211
|
+
export { D as A, De as B, qe as C, Be as D, Ve as E, Oe as F, Se as G, je as H, P as I, xe as J, w as K, N as L, I as M, M as N, R as O, Ae as P, Ee as R, Ze as S, B as T, ke as U, Ie as V, T as W, x as Y, W as _, ht as a, $e as b, pt as c, ut as d, xt as f, vt as g, yt as h, Z as i, O as j, Re as k, ft as l, wt as m, dt as n, mt as o, bt as p, be as q, gt as r, _t as s, Ct as t, lt as u, G as v, Ue as w, Xe as x, rt as y, Fe as z };
|