@genome-spy/app 0.88.0 → 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-BYFBKiRQ.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 -364
- 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-CqTDifWM.js → webgl-CZX2pe5v.js} +2322 -971
- package/dist/{webgl-jaC2m0Zr.js → webgl-CexXSw_I.js} +2374 -1023
- 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,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as
|
|
3
|
-
import { U as
|
|
4
|
-
import { t as
|
|
1
|
+
import { Dn as e, Ft as t, It as n, Mt as r, Nt as i, V as a, b as o, bn as s, ft as c, gn as l, k as u, o as d, pt as f, t as p, u as m, un as ee, xn as te, yn as h, zt as g } from "./clipOptions-8BPf0WMZ.js";
|
|
2
|
+
import { a as _, n as ne, r as re, t as v } from "./viewError-BiR9VCgL.js";
|
|
3
|
+
import { U as ie, m as y, y as b } from "./vega-scale-BWBFykuI.js";
|
|
4
|
+
import { t as ae } from "./warning-CpIIpk8e.js";
|
|
5
5
|
//#region ../core/src/view/layout/flexLayout.js
|
|
6
|
-
function
|
|
6
|
+
function oe(e, t, { spacing: n, devicePixelRatio: r, offset: i, reverse: a } = {}) {
|
|
7
7
|
n ||= 0, i ||= 0;
|
|
8
8
|
let o = he(e, t, n), s = 0, c = 0;
|
|
9
|
-
for (let t = 0; t < e.length; t++) s += o[t],
|
|
9
|
+
for (let t = 0; t < e.length; t++) s += o[t], C(e[t]) || c++;
|
|
10
10
|
let l = s + Math.max(0, c - 1) * n, u = r === void 0 ? (e) => e : (e) => Math.round(e * r) / r, d = 0, f = [], p = (e) => {
|
|
11
11
|
let t = d;
|
|
12
12
|
if (!t) return;
|
|
@@ -18,13 +18,13 @@ function se(e, t, { spacing: n, devicePixelRatio: r, offset: i, reverse: a } = {
|
|
|
18
18
|
});
|
|
19
19
|
m += r, d = 0;
|
|
20
20
|
}, m = a ? Math.max(t, l) : 0 + i;
|
|
21
|
-
if (e.length == 1 &&
|
|
21
|
+
if (e.length == 1 && C(e[0])) return [{
|
|
22
22
|
location: m,
|
|
23
23
|
size: 0
|
|
24
24
|
}];
|
|
25
25
|
for (let t = 0; t < e.length; t++) {
|
|
26
26
|
let r = e[t];
|
|
27
|
-
if (
|
|
27
|
+
if (C(r)) d++;
|
|
28
28
|
else {
|
|
29
29
|
p(f.length > 0);
|
|
30
30
|
let e = o[t];
|
|
@@ -36,34 +36,34 @@ function se(e, t, { spacing: n, devicePixelRatio: r, offset: i, reverse: a } = {
|
|
|
36
36
|
}
|
|
37
37
|
return m += a ? n : -n, p(!1), f;
|
|
38
38
|
}
|
|
39
|
-
function
|
|
39
|
+
function se(e, { spacing: t } = { spacing: 0 }) {
|
|
40
40
|
let n = 0;
|
|
41
|
-
for (let r of e) n +=
|
|
41
|
+
for (let r of e) n += E(r) + (C(r) ? 0 : t);
|
|
42
42
|
return Math.max(0, n - t);
|
|
43
43
|
}
|
|
44
|
-
function
|
|
44
|
+
function ce(e, t, { spacing: n = 0 } = {}) {
|
|
45
45
|
let r = [], i = [], a = 0, o = 0;
|
|
46
46
|
for (let [s, c] of e.entries()) {
|
|
47
|
-
let e =
|
|
47
|
+
let e = E(c), l = !C(c), u = o && l ? n : 0;
|
|
48
48
|
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;
|
|
49
49
|
}
|
|
50
50
|
return i.length && r.push(i), r;
|
|
51
51
|
}
|
|
52
|
-
function
|
|
52
|
+
function le(e) {
|
|
53
53
|
let t = 0, n = 0, r = 0, i, a = !0;
|
|
54
54
|
for (let o of e) {
|
|
55
|
-
t = Math.max(t, o.px ?? 0), n = Math.max(n, o.grow ?? 0), r = Math.max(r,
|
|
56
|
-
let e =
|
|
55
|
+
t = Math.max(t, o.px ?? 0), n = Math.max(n, o.grow ?? 0), r = Math.max(r, E(o));
|
|
56
|
+
let e = D(o);
|
|
57
57
|
e === void 0 ? a = !1 : i = i === void 0 ? e : Math.max(i, e);
|
|
58
58
|
}
|
|
59
|
-
return
|
|
59
|
+
return A({
|
|
60
60
|
px: t,
|
|
61
61
|
grow: n,
|
|
62
62
|
minPx: r,
|
|
63
63
|
maxPx: a ? i : void 0
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function ue(e) {
|
|
67
67
|
let t = {
|
|
68
68
|
px: 0,
|
|
69
69
|
grow: 0,
|
|
@@ -71,13 +71,13 @@ function de(e) {
|
|
|
71
71
|
maxPx: 0
|
|
72
72
|
}, n = !0;
|
|
73
73
|
for (let r of e) {
|
|
74
|
-
t.px +=
|
|
75
|
-
let e =
|
|
74
|
+
t.px += w(r.px), t.grow += w(r.grow), t.minPx += E(r);
|
|
75
|
+
let e = D(r);
|
|
76
76
|
e === void 0 ? n = !1 : t.maxPx += e;
|
|
77
77
|
}
|
|
78
|
-
return n || delete t.maxPx,
|
|
78
|
+
return n || delete t.maxPx, A(t);
|
|
79
79
|
}
|
|
80
|
-
var
|
|
80
|
+
var x = class e {
|
|
81
81
|
constructor(e, t) {
|
|
82
82
|
this.width = e, this.height = t;
|
|
83
83
|
}
|
|
@@ -88,22 +88,22 @@ var y = class e {
|
|
|
88
88
|
return this.#e(-e.width, -e.height);
|
|
89
89
|
}
|
|
90
90
|
#e(t, n) {
|
|
91
|
-
return new e(
|
|
91
|
+
return new e(k(this.width, t), k(this.height, n));
|
|
92
92
|
}
|
|
93
93
|
isGrowing() {
|
|
94
94
|
return !!(this.width.grow || this.height.grow);
|
|
95
95
|
}
|
|
96
|
-
},
|
|
96
|
+
}, S = Object.freeze({
|
|
97
97
|
px: 0,
|
|
98
98
|
grow: 0
|
|
99
|
-
}),
|
|
100
|
-
function
|
|
99
|
+
}), de = new x(S, S);
|
|
100
|
+
function C(e) {
|
|
101
101
|
return !e.px && !e.grow && !e.minPx;
|
|
102
102
|
}
|
|
103
103
|
function fe(e, t) {
|
|
104
104
|
return !e || !t ? !1 : e.px === t.px && e.grow === t.grow && e.minPx === t.minPx && e.maxPx === t.maxPx;
|
|
105
105
|
}
|
|
106
|
-
function
|
|
106
|
+
function w(e) {
|
|
107
107
|
return e || 0;
|
|
108
108
|
}
|
|
109
109
|
function pe(e) {
|
|
@@ -111,7 +111,7 @@ function pe(e) {
|
|
|
111
111
|
}
|
|
112
112
|
function me(e) {
|
|
113
113
|
if (J(e)) throw Error("parseSizeDef does not accept step-based sizes.");
|
|
114
|
-
if (pe(e)) return _e(e),
|
|
114
|
+
if (pe(e)) return _e(e), A(e);
|
|
115
115
|
if (h(e)) return {
|
|
116
116
|
px: e,
|
|
117
117
|
grow: 0
|
|
@@ -124,26 +124,26 @@ function me(e) {
|
|
|
124
124
|
}
|
|
125
125
|
function he(e, t, n) {
|
|
126
126
|
let r = !1;
|
|
127
|
-
for (let t of e) _e(t), r ||=
|
|
127
|
+
for (let t of e) _e(t), r ||= O(t);
|
|
128
128
|
if (!r) return ge(e, t, n);
|
|
129
129
|
let i = Array(e.length).fill(0), a = [];
|
|
130
|
-
for (let t = 0; t < e.length; t++)
|
|
130
|
+
for (let t = 0; t < e.length; t++) C(e[t]) || a.push(t);
|
|
131
131
|
let o = Math.max(0, a.length - 1) * n, s = Math.max(0, t - o), c = /* @__PURE__ */ new Set();
|
|
132
132
|
for (let t of a) {
|
|
133
133
|
let n = e[t];
|
|
134
|
-
|
|
134
|
+
w(n.grow) || (i[t] = T(w(n.px), n), c.add(t));
|
|
135
135
|
}
|
|
136
136
|
for (;;) {
|
|
137
137
|
let t = 0, n = 0, r = 0;
|
|
138
|
-
for (let o of a) c.has(o) ? r += i[o] : (t +=
|
|
138
|
+
for (let o of a) c.has(o) ? r += i[o] : (t += w(e[o].px), n += w(e[o].grow));
|
|
139
139
|
if (!n) {
|
|
140
|
-
for (let t of a) c.has(t) || (i[t] = w(
|
|
140
|
+
for (let t of a) c.has(t) || (i[t] = T(w(e[t].px), e[t]), c.add(t));
|
|
141
141
|
break;
|
|
142
142
|
}
|
|
143
143
|
let o = Math.max(0, s - r - t), l = 0, u = [], d = [];
|
|
144
144
|
for (let t of a) {
|
|
145
145
|
if (c.has(t)) continue;
|
|
146
|
-
let r = e[t], a =
|
|
146
|
+
let r = e[t], a = w(r.px) + w(r.grow) / n * o, s = T(a, r);
|
|
147
147
|
i[t] = s;
|
|
148
148
|
let f = s - a;
|
|
149
149
|
l += f, f > 0 ? u.push(t) : f < 0 && d.push(t);
|
|
@@ -157,45 +157,45 @@ function he(e, t, n) {
|
|
|
157
157
|
}
|
|
158
158
|
function ge(e, t, n) {
|
|
159
159
|
let r = 0, i = 0;
|
|
160
|
-
for (let t of e) r +=
|
|
160
|
+
for (let t of e) r += w(t.px) + (C(t) ? 0 : n), i += w(t.grow);
|
|
161
161
|
r -= n;
|
|
162
162
|
let a = Math.max(0, t - r), o = Array(e.length);
|
|
163
163
|
for (let t = 0; t < e.length; t++) {
|
|
164
164
|
let n = e[t];
|
|
165
|
-
o[t] =
|
|
165
|
+
o[t] = C(n) ? 0 : w(n.px) + (i ? w(n.grow) / i * a : 0);
|
|
166
166
|
}
|
|
167
167
|
return o;
|
|
168
168
|
}
|
|
169
169
|
function _e(e) {
|
|
170
170
|
if (e.minPx !== void 0 && e.maxPx !== void 0 && e.minPx > e.maxPx) throw Error("SizeDef minPx cannot be greater than maxPx.");
|
|
171
171
|
}
|
|
172
|
-
function
|
|
172
|
+
function T(e, t) {
|
|
173
173
|
return Math.min(Math.max(e, t.minPx ?? 0), t.maxPx ?? Infinity);
|
|
174
174
|
}
|
|
175
|
-
function T(e) {
|
|
176
|
-
return w(C(e.px), e);
|
|
177
|
-
}
|
|
178
175
|
function E(e) {
|
|
179
|
-
return
|
|
176
|
+
return T(w(e.px), e);
|
|
177
|
+
}
|
|
178
|
+
function D(e) {
|
|
179
|
+
return e.maxPx ?? (w(e.grow) ? void 0 : E(e));
|
|
180
180
|
}
|
|
181
|
-
function
|
|
181
|
+
function O(e) {
|
|
182
182
|
return e.minPx !== void 0 || e.maxPx !== void 0;
|
|
183
183
|
}
|
|
184
|
-
function
|
|
185
|
-
return
|
|
184
|
+
function k(e, t) {
|
|
185
|
+
return A({
|
|
186
186
|
px: (e.px ?? 0) + t,
|
|
187
187
|
grow: e.grow,
|
|
188
188
|
minPx: e.minPx === void 0 ? void 0 : Math.max(0, e.minPx + t),
|
|
189
189
|
maxPx: e.maxPx === void 0 ? void 0 : Math.max(0, e.maxPx + t)
|
|
190
190
|
});
|
|
191
191
|
}
|
|
192
|
-
function
|
|
193
|
-
let t = {}, n = e.px !== void 0, r = e.grow !== void 0, i =
|
|
194
|
-
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 >
|
|
192
|
+
function A(e) {
|
|
193
|
+
let t = {}, n = e.px !== void 0, r = e.grow !== void 0, i = O(e);
|
|
194
|
+
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 > w(e.px) && (t.minPx = e.minPx), e.maxPx !== void 0 && (w(t.grow) || e.maxPx < w(e.px)) && (t.maxPx = e.maxPx), t;
|
|
195
195
|
}
|
|
196
196
|
//#endregion
|
|
197
197
|
//#region ../core/src/view/layout/padding.js
|
|
198
|
-
var
|
|
198
|
+
var j = class e {
|
|
199
199
|
constructor(e, t, n, r) {
|
|
200
200
|
this.top = e || 0, this.right = t || 0, this.bottom = n || 0, this.left = r || 0;
|
|
201
201
|
}
|
|
@@ -230,35 +230,35 @@ var k = class e {
|
|
|
230
230
|
return this.top + this.bottom;
|
|
231
231
|
}
|
|
232
232
|
static createFromConfig(e) {
|
|
233
|
-
return typeof e == "number" ? this.createUniformPadding(e) : e ? this.createFromRecord(e) :
|
|
233
|
+
return typeof e == "number" ? this.createUniformPadding(e) : e ? this.createFromRecord(e) : M;
|
|
234
234
|
}
|
|
235
235
|
static createFromRecord(t) {
|
|
236
236
|
return new e(t.top, t.right, t.bottom, t.left);
|
|
237
237
|
}
|
|
238
238
|
static zero() {
|
|
239
|
-
return
|
|
239
|
+
return M;
|
|
240
240
|
}
|
|
241
241
|
static createUniformPadding(t) {
|
|
242
242
|
return new e(t, t, t, t);
|
|
243
243
|
}
|
|
244
244
|
};
|
|
245
|
-
function
|
|
246
|
-
return t ? new
|
|
245
|
+
function ve(e, t) {
|
|
246
|
+
return t ? new j(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;
|
|
247
247
|
}
|
|
248
|
-
var
|
|
249
|
-
Object.freeze(
|
|
248
|
+
var M = j.createUniformPadding(0);
|
|
249
|
+
Object.freeze(M);
|
|
250
250
|
//#endregion
|
|
251
251
|
//#region ../core/src/utils/url.js
|
|
252
|
-
var
|
|
253
|
-
function
|
|
254
|
-
if (t &&
|
|
252
|
+
var ye = /^([A-Za-z]+:)?\/\//;
|
|
253
|
+
function N(e, t) {
|
|
254
|
+
if (t && ye.test(t)) return t;
|
|
255
255
|
let n = typeof e == "function" ? e() : e;
|
|
256
256
|
if (!n) return t;
|
|
257
257
|
if (!t) return n;
|
|
258
258
|
if (/[#?]/.test(n)) throw Error(`Cannot append to a url with query or hash. Append: ${t}, base: ${n}`);
|
|
259
|
-
return
|
|
259
|
+
return P(n) + t;
|
|
260
260
|
}
|
|
261
|
-
function
|
|
261
|
+
function be(e, t, n = xe()) {
|
|
262
262
|
let r = typeof e == "function" ? e() : e;
|
|
263
263
|
if (!t) return r;
|
|
264
264
|
try {
|
|
@@ -267,19 +267,19 @@ function xe(e, t, n = Se()) {
|
|
|
267
267
|
return new URL(t, e).href;
|
|
268
268
|
} else if (n) return new URL(t, n).href;
|
|
269
269
|
} catch {}
|
|
270
|
-
return
|
|
270
|
+
return N(r, t);
|
|
271
271
|
}
|
|
272
|
-
function
|
|
272
|
+
function P(e) {
|
|
273
273
|
let t = e.replace(/[^/]*$/, "");
|
|
274
274
|
return t === "" ? void 0 : t.endsWith("://") ? e + "/" : t;
|
|
275
275
|
}
|
|
276
|
-
function
|
|
276
|
+
function xe() {
|
|
277
277
|
if (typeof document < "u" && document.baseURI) return document.baseURI;
|
|
278
278
|
if (typeof window < "u" && window.location?.href) return window.location.href;
|
|
279
279
|
}
|
|
280
280
|
//#endregion
|
|
281
281
|
//#region ../../node_modules/flatqueue/index.js
|
|
282
|
-
var
|
|
282
|
+
var F = class {
|
|
283
283
|
constructor(e = Infinity, t = Float64Array, n = Uint32Array) {
|
|
284
284
|
let r = e !== Infinity;
|
|
285
285
|
this.ids = r ? new n(e) : [], this.values = r ? new t(e) : [], this.capacity = e, this.length = 0;
|
|
@@ -320,15 +320,16 @@ var N = class {
|
|
|
320
320
|
shrink() {
|
|
321
321
|
Array.isArray(this.ids) && (this.ids.length = this.length), Array.isArray(this.values) && (this.values.length = this.length);
|
|
322
322
|
}
|
|
323
|
-
},
|
|
323
|
+
}, I = Symbol("runtimeNode"), Se = 1e6;
|
|
324
324
|
function Ce(e) {
|
|
325
325
|
return e ? (t, n) => e.addDisposer(t, n) : () => () => void 0;
|
|
326
326
|
}
|
|
327
|
-
function
|
|
328
|
-
let
|
|
327
|
+
function we(e, t, n = !0) {
|
|
328
|
+
let r = {
|
|
329
329
|
id: e.id,
|
|
330
330
|
name: e.name,
|
|
331
331
|
kind: e.kind,
|
|
332
|
+
batchStable: n,
|
|
332
333
|
get() {
|
|
333
334
|
return e.value;
|
|
334
335
|
},
|
|
@@ -338,27 +339,27 @@ function I(e, t) {
|
|
|
338
339
|
};
|
|
339
340
|
}
|
|
340
341
|
};
|
|
341
|
-
return Object.defineProperty(
|
|
342
|
+
return Object.defineProperty(r, I, {
|
|
342
343
|
enumerable: !1,
|
|
343
344
|
configurable: !1,
|
|
344
345
|
writable: !1,
|
|
345
346
|
value: e
|
|
346
|
-
}), t ? Object.assign(
|
|
347
|
+
}), t ? Object.assign(r, { set(e) {
|
|
347
348
|
t(e);
|
|
348
|
-
} }) :
|
|
349
|
+
} }) : r;
|
|
349
350
|
}
|
|
350
|
-
function
|
|
351
|
-
let t = e[
|
|
351
|
+
function Te(e) {
|
|
352
|
+
let t = e[I];
|
|
352
353
|
if (!t) throw Error("ParamRef is not bound to this graph runtime. Expected runtime-created ref.");
|
|
353
354
|
return t;
|
|
354
355
|
}
|
|
355
|
-
function Te(e) {
|
|
356
|
-
return typeof e.rank == "number" ? e.rank : we(e).rank;
|
|
357
|
-
}
|
|
358
356
|
function Ee(e) {
|
|
357
|
+
return typeof e.rank == "number" ? e.rank : Te(e).rank;
|
|
358
|
+
}
|
|
359
|
+
function De(e) {
|
|
359
360
|
for (let t of e) t();
|
|
360
361
|
}
|
|
361
|
-
var
|
|
362
|
+
var Oe = class {
|
|
362
363
|
#e = 1;
|
|
363
364
|
#t = 1;
|
|
364
365
|
#n = 0;
|
|
@@ -372,8 +373,8 @@ var De = class {
|
|
|
372
373
|
#u = /* @__PURE__ */ new Map();
|
|
373
374
|
#d = /* @__PURE__ */ new Set();
|
|
374
375
|
#f = /* @__PURE__ */ new Set();
|
|
375
|
-
#p = new
|
|
376
|
-
#m = new
|
|
376
|
+
#p = new F();
|
|
377
|
+
#m = new F();
|
|
377
378
|
#h = /* @__PURE__ */ new Set();
|
|
378
379
|
#g;
|
|
379
380
|
constructor(e = {}) {
|
|
@@ -399,7 +400,7 @@ var De = class {
|
|
|
399
400
|
}, l = () => {
|
|
400
401
|
s.disposed = !0, s.listeners.clear(), u();
|
|
401
402
|
}, u = this.#g(e, l);
|
|
402
|
-
return Object.assign(
|
|
403
|
+
return Object.assign(we(s, c, o), { dispose: l });
|
|
403
404
|
}
|
|
404
405
|
computed(e, t, n, r, i = {}) {
|
|
405
406
|
return this.#_(e, t, n, r, i);
|
|
@@ -434,12 +435,12 @@ var De = class {
|
|
|
434
435
|
})), l = c(), u = () => {
|
|
435
436
|
s.disposed || (s.disposed = !0, d(), l.forEach((e) => e()), s.listeners.clear(), this.#d.delete(s));
|
|
436
437
|
}, d = this.#g(e, u);
|
|
437
|
-
return Object.assign(
|
|
438
|
+
return Object.assign(we(s), {
|
|
438
439
|
dispose: u,
|
|
439
440
|
rebind: (e, n) => {
|
|
440
441
|
if (s.disposed) throw Error("Cannot rebind disposed operation: " + t);
|
|
441
442
|
let r = /* @__PURE__ */ new Set(), i = (e) => {
|
|
442
|
-
let n = e[
|
|
443
|
+
let n = e[I];
|
|
443
444
|
if (n === s) throw Error("Reactive dependency cycle: " + t);
|
|
444
445
|
if (!r.has(n)) {
|
|
445
446
|
r.add(n);
|
|
@@ -542,7 +543,7 @@ var De = class {
|
|
|
542
543
|
#v(e) {
|
|
543
544
|
this.#s++;
|
|
544
545
|
try {
|
|
545
|
-
|
|
546
|
+
De(e);
|
|
546
547
|
} finally {
|
|
547
548
|
this.#s--, !this.#s && this.#c && (this.#c = !1, this.flushNow());
|
|
548
549
|
}
|
|
@@ -571,7 +572,7 @@ var De = class {
|
|
|
571
572
|
}
|
|
572
573
|
#b(e) {
|
|
573
574
|
let t = -1, n = 0;
|
|
574
|
-
return () => (t !== this.#n && (n = 1 + e().reduce((e, t) => Math.max(e,
|
|
575
|
+
return () => (t !== this.#n && (n = 1 + e().reduce((e, t) => Math.max(e, Ee(t)), 0), t = this.#n), n);
|
|
575
576
|
}
|
|
576
577
|
#x(e) {
|
|
577
578
|
if (this.#d.has(e)) {
|
|
@@ -588,8 +589,8 @@ var De = class {
|
|
|
588
589
|
this.#f.add(e), this.#m.push(e, this.#C(e.rank)), this.#w();
|
|
589
590
|
}
|
|
590
591
|
#C(e) {
|
|
591
|
-
let t = this.#t %
|
|
592
|
-
return this.#t += 1, e *
|
|
592
|
+
let t = this.#t % Se;
|
|
593
|
+
return this.#t += 1, e * Se + t;
|
|
593
594
|
}
|
|
594
595
|
#w() {
|
|
595
596
|
this.#r > 0 || this.#a || this.#o || (this.#a = !0, queueMicrotask(() => {
|
|
@@ -605,7 +606,7 @@ var De = class {
|
|
|
605
606
|
this.#h.clear();
|
|
606
607
|
}
|
|
607
608
|
}
|
|
608
|
-
},
|
|
609
|
+
}, ke = class {
|
|
609
610
|
#e = 1;
|
|
610
611
|
#t = /* @__PURE__ */ new Map();
|
|
611
612
|
createOwner(e, t) {
|
|
@@ -626,7 +627,7 @@ var De = class {
|
|
|
626
627
|
t.clear(), this.#t.delete(e);
|
|
627
628
|
}
|
|
628
629
|
}
|
|
629
|
-
},
|
|
630
|
+
}, Ae = class {
|
|
630
631
|
#e = 1;
|
|
631
632
|
#t = /* @__PURE__ */ new Map();
|
|
632
633
|
createRootScope(e) {
|
|
@@ -658,24 +659,24 @@ var De = class {
|
|
|
658
659
|
t.params.clear(), t.initializers.clear();
|
|
659
660
|
}
|
|
660
661
|
registerInitializer(e, t, n) {
|
|
661
|
-
|
|
662
|
-
let
|
|
663
|
-
if (!
|
|
664
|
-
if (
|
|
665
|
-
|
|
662
|
+
g(t);
|
|
663
|
+
let r = this.#t.get(e);
|
|
664
|
+
if (!r) throw Error("Unknown scope: " + e);
|
|
665
|
+
if (r.params.has(t) || r.initializers.has(t)) throw Error(`Parameter "${t}" already exists in scope ${e}`);
|
|
666
|
+
r.initializers.set(t, {
|
|
666
667
|
initialize: n,
|
|
667
668
|
initializing: !1
|
|
668
669
|
});
|
|
669
670
|
}
|
|
670
671
|
register(e, t, n) {
|
|
671
|
-
|
|
672
|
-
let
|
|
673
|
-
if (!
|
|
674
|
-
if (
|
|
675
|
-
return
|
|
672
|
+
g(t);
|
|
673
|
+
let r = this.#t.get(e);
|
|
674
|
+
if (!r) throw Error("Unknown scope: " + e);
|
|
675
|
+
if (r.params.has(t) || r.initializers.get(t)?.initializing === !1) throw Error("Parameter \"" + t + "\" already exists in scope " + e);
|
|
676
|
+
return r.params.set(t, n), n;
|
|
676
677
|
}
|
|
677
678
|
resolve(e, t) {
|
|
678
|
-
|
|
679
|
+
g(t);
|
|
679
680
|
let n = e;
|
|
680
681
|
for (; n;) {
|
|
681
682
|
let e = this.#t.get(n);
|
|
@@ -699,13 +700,13 @@ var De = class {
|
|
|
699
700
|
};
|
|
700
701
|
//#endregion
|
|
701
702
|
//#region ../core/src/paramRuntime/expressionCompiler.js
|
|
702
|
-
function
|
|
703
|
-
return
|
|
703
|
+
function je(e, t = {}, n = {}) {
|
|
704
|
+
return f(e, t, n);
|
|
704
705
|
}
|
|
705
706
|
//#endregion
|
|
706
707
|
//#region ../core/src/paramRuntime/expressionRef.js
|
|
707
|
-
function
|
|
708
|
-
let r = {}, i =
|
|
708
|
+
function Me(e, t, n = {}) {
|
|
709
|
+
let r = {}, i = je(e, r, n), a = /* @__PURE__ */ new Map();
|
|
709
710
|
for (let n of i.globals) {
|
|
710
711
|
if (a.has(n)) continue;
|
|
711
712
|
let i = t(n);
|
|
@@ -729,6 +730,17 @@ function L(e, t, n = {}) {
|
|
|
729
730
|
}, i.invalidate = () => {
|
|
730
731
|
for (let e of o) e();
|
|
731
732
|
o.clear();
|
|
733
|
+
}, i.createSnapshotEvaluator = () => {
|
|
734
|
+
let e = {};
|
|
735
|
+
for (let t of Object.keys(r)) a.has(t) || (e[t] = r[t]);
|
|
736
|
+
for (let [t, n] of a) n.batchStable || Object.defineProperty(e, t, {
|
|
737
|
+
enumerable: !0,
|
|
738
|
+
get: () => n.get()
|
|
739
|
+
});
|
|
740
|
+
let t = Object.assign(i.createEvaluator(e), { refresh() {
|
|
741
|
+
for (let [t, n] of a) n.batchStable && (e[t] = n.get());
|
|
742
|
+
} });
|
|
743
|
+
return t.refresh(), t;
|
|
732
744
|
}, 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 ?? []), {
|
|
733
745
|
expression: i,
|
|
734
746
|
dependencies: i.dependencies
|
|
@@ -736,10 +748,10 @@ function L(e, t, n = {}) {
|
|
|
736
748
|
}
|
|
737
749
|
//#endregion
|
|
738
750
|
//#region ../core/src/paramRuntime/paramRuntime.js
|
|
739
|
-
var
|
|
740
|
-
#e = new
|
|
741
|
-
#t = new
|
|
742
|
-
#n = new
|
|
751
|
+
var Ne = class {
|
|
752
|
+
#e = new ke();
|
|
753
|
+
#t = new Oe({ lifecycleRegistry: this.#e });
|
|
754
|
+
#n = new Ae();
|
|
743
755
|
createScope(e) {
|
|
744
756
|
let t = this.#e.createOwner("scope", e ?? "root");
|
|
745
757
|
return e ? this.#n.createChildScope(t, e) : this.#n.createRootScope(t);
|
|
@@ -764,11 +776,11 @@ var je = class {
|
|
|
764
776
|
return this.#n.register(e, t, a);
|
|
765
777
|
}
|
|
766
778
|
registerDerived(e, t, n, r) {
|
|
767
|
-
let { expression: i, dependencies: a } =
|
|
779
|
+
let { expression: i, dependencies: a } = Me(n, (t) => this.resolve(r?.expressionScope ?? e, t), r), o = this.#n.getOwnerId(e), s = this.#t.computed(o, t, a, () => i(null));
|
|
768
780
|
return this.#n.register(e, t, s);
|
|
769
781
|
}
|
|
770
782
|
createExpression(e, t, n) {
|
|
771
|
-
let { expression: r } =
|
|
783
|
+
let { expression: r } = Me(t, (t) => this.resolve(e, t), n);
|
|
772
784
|
return r;
|
|
773
785
|
}
|
|
774
786
|
resolve(e, t) {
|
|
@@ -801,11 +813,11 @@ var je = class {
|
|
|
801
813
|
whenPropagated(e) {
|
|
802
814
|
return this.#t.whenPropagated(e);
|
|
803
815
|
}
|
|
804
|
-
},
|
|
805
|
-
function
|
|
816
|
+
}, Pe = (e) => new Promise((t) => setTimeout(t, e));
|
|
817
|
+
function Fe() {
|
|
806
818
|
return { canceled: !1 };
|
|
807
819
|
}
|
|
808
|
-
function
|
|
820
|
+
function Ie(e) {
|
|
809
821
|
let t = e.requestAnimationFrame || window.requestAnimationFrame, n = e.signal, r = e.cancelToken, i = () => new Promise((i, a) => {
|
|
810
822
|
if (r?.canceled) return i();
|
|
811
823
|
if (n?.aborted) return a("aborted");
|
|
@@ -818,11 +830,11 @@ function Pe(e) {
|
|
|
818
830
|
};
|
|
819
831
|
t(m);
|
|
820
832
|
});
|
|
821
|
-
return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") :
|
|
833
|
+
return e.delay ? r?.canceled ? Promise.resolve() : n?.aborted ? Promise.reject("aborted") : Pe(e.delay).then(i) : i();
|
|
822
834
|
}
|
|
823
835
|
//#endregion
|
|
824
836
|
//#region ../core/src/utils/animator.js
|
|
825
|
-
var
|
|
837
|
+
var Le = class {
|
|
826
838
|
constructor(e) {
|
|
827
839
|
this._renderCallback = e, this._renderRequested = !1, this._finalized = !1, this._warn = !1, this._animationFrameRequest = void 0, this.transitions = [], this.transitionsEnabled = !0;
|
|
828
840
|
}
|
|
@@ -848,13 +860,13 @@ var Fe = class {
|
|
|
848
860
|
this._finalized = !0, this._renderRequested = !1, this.transitions = [], this._animationFrameRequest !== void 0 && (window.cancelAnimationFrame(this._animationFrameRequest), this._animationFrameRequest = void 0);
|
|
849
861
|
}
|
|
850
862
|
transition(e) {
|
|
851
|
-
return
|
|
863
|
+
return Ie({
|
|
852
864
|
requestAnimationFrame: (e) => this.requestTransition(e),
|
|
853
865
|
...e
|
|
854
866
|
});
|
|
855
867
|
}
|
|
856
868
|
};
|
|
857
|
-
function
|
|
869
|
+
function Re(e, t, n, r, i) {
|
|
858
870
|
let a = 0, o = !0, s = !1, c = structuredClone(i), l = c;
|
|
859
871
|
function u(e, t, n, r) {
|
|
860
872
|
return t + (e - t) * 2 ** (-n / r);
|
|
@@ -873,7 +885,7 @@ function R(e, t, n, r, i) {
|
|
|
873
885
|
s || (s = !0, e.requestTransition(d));
|
|
874
886
|
}
|
|
875
887
|
function p(n) {
|
|
876
|
-
l = n, e.transitionsEnabled === !1 ? (c = l, o = !0, s = !1, e.cancelTransition(d), t(c)) : o && (o = !1, a =
|
|
888
|
+
l = n, e.transitionsEnabled === !1 ? (c = l, o = !0, s = !1, e.cancelTransition(d), t(c)) : o && (o = !1, a = ze(), d(a));
|
|
877
889
|
}
|
|
878
890
|
return p.stop = () => {
|
|
879
891
|
o = !0, s = !1, e.cancelTransition(d);
|
|
@@ -881,13 +893,13 @@ function R(e, t, n, r, i) {
|
|
|
881
893
|
l = e, c = e, p.stop(), t(c);
|
|
882
894
|
}, p;
|
|
883
895
|
}
|
|
884
|
-
function
|
|
896
|
+
function ze() {
|
|
885
897
|
let e = globalThis.document?.timeline?.currentTime;
|
|
886
898
|
return typeof e == "number" ? e : performance.now();
|
|
887
899
|
}
|
|
888
900
|
//#endregion
|
|
889
901
|
//#region ../core/src/paramRuntime/viewParamRuntime.js
|
|
890
|
-
var
|
|
902
|
+
var Be = class {
|
|
891
903
|
#e;
|
|
892
904
|
#t;
|
|
893
905
|
#n = /* @__PURE__ */ new Map();
|
|
@@ -895,37 +907,69 @@ var z = class {
|
|
|
895
907
|
#i = /* @__PURE__ */ new Map();
|
|
896
908
|
#a = /* @__PURE__ */ new Set();
|
|
897
909
|
#o = /* @__PURE__ */ new Map();
|
|
898
|
-
#s
|
|
899
|
-
#c;
|
|
900
|
-
#l;
|
|
901
|
-
#u;
|
|
910
|
+
#s;
|
|
911
|
+
#c = /* @__PURE__ */ new Map();
|
|
912
|
+
#l = /* @__PURE__ */ new Map();
|
|
913
|
+
#u = /* @__PURE__ */ new Map();
|
|
902
914
|
#d;
|
|
903
|
-
#f
|
|
915
|
+
#f;
|
|
916
|
+
#p;
|
|
917
|
+
#m;
|
|
918
|
+
#h = !1;
|
|
904
919
|
constructor(e, t, n, r = {}) {
|
|
905
|
-
this.#
|
|
906
|
-
let i = this.#
|
|
907
|
-
i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new
|
|
920
|
+
this.#d = e ?? (() => void 0), this.#f = t ?? (() => void 0), this.#p = n, this.#m = r.settleTemporalUpdatesImmediately ?? !1;
|
|
921
|
+
let i = this.#d();
|
|
922
|
+
i ? (this.#e = i.#e, this.#t = this.#e.createScope(i.#t)) : (this.#e = new Ne(), this.#t = this.#e.createScope());
|
|
923
|
+
}
|
|
924
|
+
setSelectionSource(e) {
|
|
925
|
+
this.#s = e;
|
|
926
|
+
}
|
|
927
|
+
findSelectionCapability(e) {
|
|
928
|
+
let t = this.findRuntimeForParam(e), n = t && t.#c.get(e);
|
|
929
|
+
if (!n?.size) return;
|
|
930
|
+
let r = Array.from(n, (t) => ({
|
|
931
|
+
type: t.kind,
|
|
932
|
+
components: t.components.map((e) => ({
|
|
933
|
+
component: e,
|
|
934
|
+
type: t.source?.getScaleResolution(e)?.type
|
|
935
|
+
})),
|
|
936
|
+
location: t.source?.name ?? e
|
|
937
|
+
})), i = r[0], a = JSON.stringify(i.components), o = r.find(({ components: e }) => JSON.stringify(e) !== a);
|
|
938
|
+
if (o) throw Error(`Conflicting selection declarations for "${e}" in "${i.location}" and "${o.location}".`);
|
|
939
|
+
return i;
|
|
908
940
|
}
|
|
909
|
-
|
|
910
|
-
|
|
941
|
+
#g(e) {
|
|
942
|
+
if (!("select" in e)) return;
|
|
943
|
+
let t = a(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, o = {
|
|
944
|
+
kind: n,
|
|
945
|
+
components: r,
|
|
946
|
+
source: this.#s
|
|
947
|
+
}, s = i.#c.get(e.name) ?? /* @__PURE__ */ new Set(), c = s.values().next().value;
|
|
948
|
+
if (c && (c.kind !== n || JSON.stringify(c.components) !== JSON.stringify(r))) throw Error(`Conflicting selection declarations for "${e.name}" in "${c.source?.name ?? e.name}" and "${this.#s?.name ?? e.name}".`);
|
|
949
|
+
s.add(o), i.#c.set(e.name, s), this.#e.addScopeDisposer(this.#t, () => {
|
|
950
|
+
s.delete(o);
|
|
951
|
+
});
|
|
952
|
+
}
|
|
953
|
+
get #_() {
|
|
954
|
+
return { resolveScaleResolution: this.#f };
|
|
911
955
|
}
|
|
912
956
|
registerParam(e, t = {}) {
|
|
913
957
|
let n = e.name;
|
|
914
|
-
if (
|
|
915
|
-
if (
|
|
958
|
+
if (g(n), this.#i.has(n) || this.#a.has(n)) throw Error("Parameter \"" + n + "\" already registered in this scope.");
|
|
959
|
+
if (He(e), t.defer) {
|
|
916
960
|
if (!("expr" in e)) throw Error("Only expression parameters can be deferred.");
|
|
917
961
|
return this.#e.registerInitializer(this.#t, n, () => {
|
|
918
|
-
this.#
|
|
962
|
+
this.#v(e);
|
|
919
963
|
}), this.#i.set(n, e), () => {
|
|
920
964
|
throw Error("Cannot set derived parameter \"" + n + "\".");
|
|
921
965
|
};
|
|
922
966
|
}
|
|
923
|
-
return this.#
|
|
967
|
+
return this.#v(e);
|
|
924
968
|
}
|
|
925
969
|
registerLazyExpression(e, t, n) {
|
|
926
970
|
this.#e.registerInitializer(this.#t, e, () => {
|
|
927
971
|
n?.();
|
|
928
|
-
let r = this.#e.registerDerived(this.#t, e, t, this.#
|
|
972
|
+
let r = this.#e.registerDerived(this.#t, e, t, this.#_);
|
|
929
973
|
this.#r.set(e, r);
|
|
930
974
|
}), this.#a.add(e);
|
|
931
975
|
}
|
|
@@ -935,7 +979,7 @@ var z = class {
|
|
|
935
979
|
this.#e.registerInitializer(this.#t, e, () => {
|
|
936
980
|
let r = this.#e.registerDerived(this.#t, e, t, {
|
|
937
981
|
expressionScope: n.#t,
|
|
938
|
-
...n.#
|
|
982
|
+
...n.#_
|
|
939
983
|
});
|
|
940
984
|
this.#r.set(e, r);
|
|
941
985
|
}), this.#i.set(e, {
|
|
@@ -943,64 +987,65 @@ var z = class {
|
|
|
943
987
|
expr: t
|
|
944
988
|
});
|
|
945
989
|
}
|
|
946
|
-
#
|
|
947
|
-
let
|
|
990
|
+
#v(e) {
|
|
991
|
+
let t = e.name, n, i;
|
|
948
992
|
if (e.push == "outer") {
|
|
949
|
-
let a = this.findRuntimeForParam(
|
|
950
|
-
if (!a) throw Error(`Parameter "${
|
|
951
|
-
let o = a.paramConfigs.get(
|
|
952
|
-
if (!o) throw Error(`Outer parameter "${
|
|
953
|
-
if ("expr" in o || "select" in o || "ruler" in o) throw Error(`The outer parameter "${
|
|
954
|
-
|
|
955
|
-
a.setValue(
|
|
956
|
-
}, this.#n.set(
|
|
957
|
-
} else if ("value" in e) i =
|
|
993
|
+
let a = this.findRuntimeForParam(t);
|
|
994
|
+
if (!a) throw Error(`Parameter "${t}" not found in outer scope!`);
|
|
995
|
+
let o = a.paramConfigs.get(t);
|
|
996
|
+
if (!o) throw Error(`Outer parameter "${t}" exists as a value but has no registered config.`);
|
|
997
|
+
if ("expr" in o || "select" in o || "ruler" in o) throw Error(`The outer parameter "${t}" must not have expr, select, or ruler properties!`);
|
|
998
|
+
n = (e) => {
|
|
999
|
+
a.setValue(t, e);
|
|
1000
|
+
}, this.#n.set(t, n), "ruler" in e && (i = r(e, this), n(i));
|
|
1001
|
+
} else if ("value" in e) i = r(e, this), n = "transition" in e ? this.#b(t, i, e.transition) : this.#y(t, i);
|
|
958
1002
|
else if ("expr" in e) {
|
|
959
|
-
if ("transition" in e) this.#
|
|
1003
|
+
if ("transition" in e) this.#x(t, e.expr, e.transition);
|
|
1004
|
+
else if ("debounce" in e) this.#S(t, e.expr, e.debounce);
|
|
960
1005
|
else {
|
|
961
|
-
let
|
|
962
|
-
this.#r.set(
|
|
1006
|
+
let n = this.#e.registerDerived(this.#t, t, e.expr, this.#_);
|
|
1007
|
+
this.#r.set(t, n);
|
|
963
1008
|
}
|
|
964
|
-
|
|
965
|
-
throw Error("Cannot set derived parameter \"" +
|
|
1009
|
+
n = () => {
|
|
1010
|
+
throw Error("Cannot set derived parameter \"" + t + "\".");
|
|
966
1011
|
};
|
|
967
|
-
} else i =
|
|
1012
|
+
} else i = r(e, this), n = this.#y(t, i);
|
|
968
1013
|
if ("select" in e) {
|
|
969
|
-
if (i ??=
|
|
970
|
-
let e = this.#e.registerSelection(this.#t,
|
|
971
|
-
this.#r.set(
|
|
1014
|
+
if (i ??= r(e, this), !this.#n.has(t)) {
|
|
1015
|
+
let e = this.#e.registerSelection(this.#t, t, i);
|
|
1016
|
+
this.#r.set(t, e), this.#n.set(t, (t) => {
|
|
972
1017
|
e.set(t), this.#e.flushNow();
|
|
973
|
-
}),
|
|
1018
|
+
}), n = this.#n.get(t);
|
|
974
1019
|
}
|
|
975
|
-
|
|
1020
|
+
n(i);
|
|
976
1021
|
}
|
|
977
|
-
return this.#i.set(
|
|
1022
|
+
return this.#i.set(t, e), this.#g(e), n;
|
|
978
1023
|
}
|
|
979
1024
|
allocateSetter(e, t, n = !1) {
|
|
980
|
-
if (
|
|
981
|
-
let
|
|
982
|
-
this.#r.set(e,
|
|
983
|
-
let
|
|
984
|
-
|
|
1025
|
+
if (g(e), this.#n.has(e)) throw Error("Setter already allocated for parameter: " + e);
|
|
1026
|
+
let r = this.#e.registerBase(this.#t, e, t, { notify: !n });
|
|
1027
|
+
this.#r.set(e, r);
|
|
1028
|
+
let i = (e) => {
|
|
1029
|
+
r.set(e), this.#e.flushNow();
|
|
985
1030
|
};
|
|
986
|
-
return this.#n.set(e,
|
|
1031
|
+
return this.#n.set(e, i), i;
|
|
987
1032
|
}
|
|
988
1033
|
setValue(e, t, n) {
|
|
989
|
-
|
|
990
|
-
let
|
|
991
|
-
if (!
|
|
992
|
-
|
|
1034
|
+
g(e);
|
|
1035
|
+
let r = this.#n.get(e);
|
|
1036
|
+
if (!r) throw Error("Writable parameter not found in this scope: " + e);
|
|
1037
|
+
r(t, n);
|
|
993
1038
|
}
|
|
994
1039
|
getValue(e) {
|
|
995
1040
|
return !this.#r.has(e) && this.hasLocalParam(e) && this.#e.resolve(this.#t, e), this.#r.get(e)?.get();
|
|
996
1041
|
}
|
|
997
1042
|
getParamRef(e) {
|
|
998
|
-
|
|
1043
|
+
g(e);
|
|
999
1044
|
let t = this.findRuntimeForParam(e);
|
|
1000
1045
|
if (t) return t.#r.has(e) || t.#e.resolve(t.#t, e), t.#r.get(e);
|
|
1001
1046
|
}
|
|
1002
1047
|
getTargetValue(e) {
|
|
1003
|
-
return
|
|
1048
|
+
return g(e), this.#l.get(e)?.target ?? this.#u.get(e)?.target ?? this.getValue(e);
|
|
1004
1049
|
}
|
|
1005
1050
|
subscribe(e, t) {
|
|
1006
1051
|
let n = this.getParamRef(e);
|
|
@@ -1017,7 +1062,7 @@ var z = class {
|
|
|
1017
1062
|
return this.#i;
|
|
1018
1063
|
}
|
|
1019
1064
|
hasLocalParam(e) {
|
|
1020
|
-
|
|
1065
|
+
g(e);
|
|
1021
1066
|
let t = this.#i.get(e);
|
|
1022
1067
|
return this.#r.has(e) || this.#a.has(e) || t !== void 0 && "expr" in t;
|
|
1023
1068
|
}
|
|
@@ -1026,17 +1071,17 @@ var z = class {
|
|
|
1026
1071
|
return t !== void 0 && !t.#r.has(e);
|
|
1027
1072
|
}
|
|
1028
1073
|
hasConfiguredParamInScopeChain(e) {
|
|
1029
|
-
return
|
|
1074
|
+
return g(e), this.#i.has(e) ? !0 : this.#d()?.hasConfiguredParamInScopeChain(e) ?? !1;
|
|
1030
1075
|
}
|
|
1031
1076
|
findRuntimeForParam(e) {
|
|
1032
|
-
return this.hasLocalParam(e) ? this : this.#
|
|
1077
|
+
return this.hasLocalParam(e) ? this : this.#d()?.findRuntimeForParam(e);
|
|
1033
1078
|
}
|
|
1034
1079
|
findConfiguredParam(e) {
|
|
1035
1080
|
let t = this.#i.get(e);
|
|
1036
1081
|
return t ? {
|
|
1037
1082
|
runtime: this,
|
|
1038
1083
|
config: t
|
|
1039
|
-
} : this.#
|
|
1084
|
+
} : this.#d()?.findConfiguredParam(e);
|
|
1040
1085
|
}
|
|
1041
1086
|
registerSelectionController(e, t) {
|
|
1042
1087
|
let n = this.#o.get(e);
|
|
@@ -1057,22 +1102,22 @@ var z = class {
|
|
|
1057
1102
|
let r = this.#i.get(t);
|
|
1058
1103
|
e.push({
|
|
1059
1104
|
name: t,
|
|
1060
|
-
kind:
|
|
1105
|
+
kind: Ve(r),
|
|
1061
1106
|
value: n.get(),
|
|
1062
1107
|
writable: this.#n.has(t),
|
|
1063
1108
|
configured: !!r,
|
|
1064
1109
|
config: r ? structuredClone(r) : void 0,
|
|
1065
|
-
target: this.#
|
|
1110
|
+
target: this.#l.get(t)?.target ?? this.#u.get(t)?.target
|
|
1066
1111
|
});
|
|
1067
1112
|
}
|
|
1068
1113
|
return {
|
|
1069
1114
|
scopeId: this.#t,
|
|
1070
|
-
disposed: this.#
|
|
1115
|
+
disposed: this.#h,
|
|
1071
1116
|
params: e
|
|
1072
1117
|
};
|
|
1073
1118
|
}
|
|
1074
1119
|
createExpression(e) {
|
|
1075
|
-
return this.#e.createExpression(this.#t, e, this.#
|
|
1120
|
+
return this.#e.createExpression(this.#t, e, this.#_);
|
|
1076
1121
|
}
|
|
1077
1122
|
watchExpression(e, t, n = {}) {
|
|
1078
1123
|
let r = this.createExpression(e), i = r.subscribe(t);
|
|
@@ -1099,7 +1144,7 @@ var z = class {
|
|
|
1099
1144
|
cancelUpdate(e) {
|
|
1100
1145
|
this.#e.cancelUpdate(e);
|
|
1101
1146
|
}
|
|
1102
|
-
#
|
|
1147
|
+
#y(e, t) {
|
|
1103
1148
|
let n = this.#e.registerBase(this.#t, e, t);
|
|
1104
1149
|
this.#r.set(e, n);
|
|
1105
1150
|
let r = (e) => {
|
|
@@ -1107,36 +1152,51 @@ var z = class {
|
|
|
1107
1152
|
};
|
|
1108
1153
|
return this.#n.set(e, r), r;
|
|
1109
1154
|
}
|
|
1110
|
-
#
|
|
1111
|
-
let r = this.#
|
|
1112
|
-
this.#
|
|
1155
|
+
#b(e, t, n) {
|
|
1156
|
+
let r = this.#C(e, t, n), i = (t, n) => {
|
|
1157
|
+
this.#w(e, r, t, n);
|
|
1113
1158
|
};
|
|
1114
1159
|
return this.#n.set(e, i), i;
|
|
1115
1160
|
}
|
|
1116
|
-
#
|
|
1117
|
-
let r = this.createExpression(t), i = this.#
|
|
1118
|
-
this.#
|
|
1161
|
+
#x(e, t, n) {
|
|
1162
|
+
let r = this.createExpression(t), i = this.#C(e, r(null), n), a = r.subscribe(() => {
|
|
1163
|
+
this.#w(e, i, r(null), { animate: !this.#m });
|
|
1119
1164
|
});
|
|
1120
1165
|
this.#e.addScopeDisposer(this.#t, a);
|
|
1121
1166
|
}
|
|
1122
|
-
#
|
|
1123
|
-
let r =
|
|
1167
|
+
#S(e, t, n) {
|
|
1168
|
+
let r = this.createExpression(t), i = r(null), a = this.#e.registerBase(this.#t, e, i);
|
|
1169
|
+
this.#r.set(e, a);
|
|
1170
|
+
let o = {
|
|
1171
|
+
target: i,
|
|
1172
|
+
timeout: void 0
|
|
1173
|
+
}, s = () => {
|
|
1174
|
+
o.timeout = void 0, a.set(o.target), this.#e.flushNow();
|
|
1175
|
+
}, c = r.subscribe(() => {
|
|
1176
|
+
o.target = r(null), clearTimeout(o.timeout), o.timeout = void 0, o.target !== a.get() && (this.#m ? s() : o.timeout = setTimeout(s, n));
|
|
1177
|
+
});
|
|
1178
|
+
this.#u.set(e, o), this.#e.addScopeDisposer(this.#t, () => {
|
|
1179
|
+
clearTimeout(o.timeout), c(), this.#u.delete(e);
|
|
1180
|
+
});
|
|
1181
|
+
}
|
|
1182
|
+
#C(e, t, n) {
|
|
1183
|
+
let r = Ue(e, t), i = this.#e.registerBase(this.#t, e, r);
|
|
1124
1184
|
this.#r.set(e, i);
|
|
1125
|
-
let a = this.#
|
|
1185
|
+
let a = this.#p;
|
|
1126
1186
|
if (!a) throw Error(`The parameter "${e}" uses transition but no animator is available.`);
|
|
1127
|
-
let o =
|
|
1187
|
+
let o = Re(a, ({ value: e }) => {
|
|
1128
1188
|
i.set(e), this.#e.flushNow();
|
|
1129
1189
|
}, n.halfLife ?? 80, n.epsilon ?? .01, { value: i.get() }), s = {
|
|
1130
1190
|
target: i.get(),
|
|
1131
1191
|
smoother: o,
|
|
1132
1192
|
dispose: () => {
|
|
1133
|
-
o.stop(), this.#
|
|
1193
|
+
o.stop(), this.#l.delete(e);
|
|
1134
1194
|
}
|
|
1135
1195
|
};
|
|
1136
|
-
return this.#
|
|
1196
|
+
return this.#l.set(e, s), this.#e.addScopeDisposer(this.#t, s.dispose), s;
|
|
1137
1197
|
}
|
|
1138
|
-
#
|
|
1139
|
-
let i =
|
|
1198
|
+
#w(e, t, n, r = {}) {
|
|
1199
|
+
let i = Ue(e, n);
|
|
1140
1200
|
t.target = i, r.animate === !1 ? t.smoother.snap({ value: i }) : t.smoother({ value: i });
|
|
1141
1201
|
}
|
|
1142
1202
|
evaluateAndGet(e) {
|
|
@@ -1152,28 +1212,33 @@ var z = class {
|
|
|
1152
1212
|
return this.#e.whenPropagated(e);
|
|
1153
1213
|
}
|
|
1154
1214
|
finalizeInitialization() {
|
|
1155
|
-
this.#
|
|
1215
|
+
this.#m = !1;
|
|
1156
1216
|
}
|
|
1157
1217
|
dispose() {
|
|
1158
|
-
this.#
|
|
1218
|
+
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());
|
|
1159
1219
|
}
|
|
1160
1220
|
hasPointSelections() {
|
|
1161
|
-
for (let
|
|
1162
|
-
let
|
|
1163
|
-
if (
|
|
1164
|
-
if (
|
|
1165
|
-
} else if (
|
|
1221
|
+
for (let e of this.#i.values()) if (t(e)) {
|
|
1222
|
+
let t = e.select;
|
|
1223
|
+
if (te(t)) {
|
|
1224
|
+
if (t == "point") return !0;
|
|
1225
|
+
} else if (t.type == "point") return !0;
|
|
1166
1226
|
}
|
|
1167
1227
|
return !1;
|
|
1168
1228
|
}
|
|
1169
1229
|
};
|
|
1170
|
-
function
|
|
1230
|
+
function Ve(e) {
|
|
1171
1231
|
return e ? e.push === "outer" ? "push" : "select" in e ? "selection" : "ruler" in e ? "ruler" : "expr" in e ? "derived" : "base" : "auto";
|
|
1172
1232
|
}
|
|
1173
|
-
function
|
|
1233
|
+
function He(e) {
|
|
1174
1234
|
let t = e.name;
|
|
1175
1235
|
if ("value" in e && "expr" in e) throw Error(`The parameter "${t}" must not have both value and expr properties!`);
|
|
1176
1236
|
if ("expr" in e && "bind" in e) throw Error(`The parameter "${t}" must not have both expr and bind properties!`);
|
|
1237
|
+
if ("debounce" in e) {
|
|
1238
|
+
if (!("expr" in e) || e.push === "outer") throw Error(`The debounced parameter "${t}" must have an expr property and must not use push.`);
|
|
1239
|
+
if ("transition" in e) throw Error(`The parameter "${t}" must not use debounce and transition together.`);
|
|
1240
|
+
if (!Number.isFinite(e.debounce) || e.debounce < 0) throw Error(`The debounce for parameter "${t}" must be a non-negative finite number.`);
|
|
1241
|
+
}
|
|
1177
1242
|
if (!("transition" in e)) return;
|
|
1178
1243
|
if ("select" in e || "ruler" in e || e.push === "outer") throw Error(`The parameter "${t}" must not use transition with select, ruler, or push.`);
|
|
1179
1244
|
if (!("value" in e || "expr" in e)) throw Error(`The transitioned parameter "${t}" must have a value or expr property.`);
|
|
@@ -1183,62 +1248,62 @@ function Re(e) {
|
|
|
1183
1248
|
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.`);
|
|
1184
1249
|
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.`);
|
|
1185
1250
|
}
|
|
1186
|
-
function
|
|
1251
|
+
function Ue(e, t) {
|
|
1187
1252
|
if (typeof t != "number" || !Number.isFinite(t)) throw Error(`Transitioned parameter "${e}" must have a finite numeric value.`);
|
|
1188
1253
|
return t;
|
|
1189
1254
|
}
|
|
1190
1255
|
//#endregion
|
|
1191
1256
|
//#region ../core/src/utils/addBaseUrl.js
|
|
1192
|
-
function
|
|
1257
|
+
function We(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 Ge(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
|
|
1203
|
-
return
|
|
1267
|
+
function L(e) {
|
|
1268
|
+
return s(e) && !Array.isArray(e);
|
|
1204
1269
|
}
|
|
1205
|
-
function
|
|
1270
|
+
function Ke(e) {
|
|
1206
1271
|
let t = {};
|
|
1207
|
-
for (let [n, r] of Object.entries(e)) t[n] =
|
|
1272
|
+
for (let [n, r] of Object.entries(e)) t[n] = R(r);
|
|
1208
1273
|
return t;
|
|
1209
1274
|
}
|
|
1210
|
-
function
|
|
1211
|
-
return Array.isArray(e) ? e.map(
|
|
1275
|
+
function R(e) {
|
|
1276
|
+
return Array.isArray(e) ? e.map(R) : L(e) ? Ke(e) : e;
|
|
1212
1277
|
}
|
|
1213
|
-
function
|
|
1278
|
+
function z(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
|
-
|
|
1282
|
+
L(r) && L(t) ? z(t, r) : e[n] = R(r);
|
|
1218
1283
|
}
|
|
1219
1284
|
return e;
|
|
1220
1285
|
}
|
|
1221
|
-
function
|
|
1286
|
+
function B(e) {
|
|
1222
1287
|
let t = {};
|
|
1223
|
-
for (let n of e) n &&
|
|
1288
|
+
for (let n of e) n && z(t, n);
|
|
1224
1289
|
return t;
|
|
1225
1290
|
}
|
|
1226
1291
|
//#endregion
|
|
1227
1292
|
//#region ../core/src/view/viewChrome.js
|
|
1228
|
-
var
|
|
1229
|
-
function
|
|
1230
|
-
|
|
1293
|
+
var V = /* @__PURE__ */ new WeakMap();
|
|
1294
|
+
function qe(e, t) {
|
|
1295
|
+
V.set(e, t);
|
|
1231
1296
|
}
|
|
1232
|
-
function
|
|
1233
|
-
return
|
|
1297
|
+
function Je(e) {
|
|
1298
|
+
return V.get(e);
|
|
1234
1299
|
}
|
|
1235
|
-
function
|
|
1236
|
-
return
|
|
1300
|
+
function H(e) {
|
|
1301
|
+
return V.has(e);
|
|
1237
1302
|
}
|
|
1238
|
-
function
|
|
1303
|
+
function U(e) {
|
|
1239
1304
|
let t = e;
|
|
1240
1305
|
for (; t;) {
|
|
1241
|
-
let n =
|
|
1306
|
+
let n = V.get(t);
|
|
1242
1307
|
if (n === "excludeSubtree" || t === e && n === "exclude") return !0;
|
|
1243
1308
|
t = t.layoutParent;
|
|
1244
1309
|
}
|
|
@@ -1246,16 +1311,16 @@ function Ke(e) {
|
|
|
1246
1311
|
}
|
|
1247
1312
|
//#endregion
|
|
1248
1313
|
//#region ../core/src/view/postScaleParams.js
|
|
1249
|
-
var
|
|
1250
|
-
function
|
|
1251
|
-
|
|
1314
|
+
var W = /* @__PURE__ */ new WeakMap();
|
|
1315
|
+
function Ye(e, t) {
|
|
1316
|
+
W.set(e, t);
|
|
1252
1317
|
}
|
|
1253
|
-
function
|
|
1254
|
-
return
|
|
1318
|
+
function Xe(e) {
|
|
1319
|
+
return W.get(e);
|
|
1255
1320
|
}
|
|
1256
1321
|
//#endregion
|
|
1257
1322
|
//#region ../core/src/data/namedDataScope.js
|
|
1258
|
-
var
|
|
1323
|
+
var Ze = class {
|
|
1259
1324
|
name;
|
|
1260
1325
|
owner;
|
|
1261
1326
|
getDefaultData;
|
|
@@ -1293,13 +1358,13 @@ var Xe = class {
|
|
|
1293
1358
|
dispose() {
|
|
1294
1359
|
this.#e = void 0, this.#t = !1, this.#n++, this.#r = !0;
|
|
1295
1360
|
}
|
|
1296
|
-
},
|
|
1361
|
+
}, Qe = 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 Ze(t, e, () => n));
|
|
1303
1368
|
}
|
|
1304
1369
|
getLocalBinding(e) {
|
|
1305
1370
|
return this.#e.get(e);
|
|
@@ -1313,7 +1378,7 @@ var Xe = 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 Ze(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 Xe = class {
|
|
|
1321
1386
|
for (let e of this.#t.values()) e.dispose();
|
|
1322
1387
|
this.#t.clear();
|
|
1323
1388
|
}
|
|
1324
|
-
}, G = "VISIT_SKIP", K = "VISIT_STOP", q = (e) => e,
|
|
1389
|
+
}, G = "VISIT_SKIP", K = "VISIT_STOP", q = (e) => e, $e = class {
|
|
1325
1390
|
spec;
|
|
1326
1391
|
namedDataScope;
|
|
1327
1392
|
#e;
|
|
@@ -1340,27 +1405,27 @@ var Xe = class {
|
|
|
1340
1405
|
#f = [];
|
|
1341
1406
|
#p = "none";
|
|
1342
1407
|
#m = /* @__PURE__ */ new Map();
|
|
1343
|
-
facetCoords = new
|
|
1408
|
+
facetCoords = new ee([], 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
|
|
1411
|
+
if (this.context = t, this.layoutParent = n, this.dataParent = r, this.#t = i, this.spec = e, this.namedDataScope = new Qe(this), r && e.theme !== void 0) throw Error("\"theme\" is only supported at the root specification. Use \"config\" and \"style\" for subtree customization.");
|
|
1347
1412
|
let o = r ? r.getConfigScopes() : [t.getBaseConfig()], s = e.config;
|
|
1348
1413
|
this.#e = [...o, s].filter((e) => !!e), this.resolutions = {
|
|
1349
1414
|
scale: {},
|
|
1350
1415
|
axis: {},
|
|
1351
1416
|
legend: {}
|
|
1352
|
-
},
|
|
1417
|
+
}, re(this), this.options = {
|
|
1353
1418
|
inheritEncoding: !1,
|
|
1354
1419
|
layoutSizeParams: "own",
|
|
1355
1420
|
...a
|
|
1356
1421
|
}, this.flowHandle = void 0, this.needsAxes = {
|
|
1357
1422
|
x: !1,
|
|
1358
1423
|
y: !1
|
|
1359
|
-
}, this.paramRuntime = new
|
|
1360
|
-
let
|
|
1361
|
-
for (let e of
|
|
1424
|
+
}, this.paramRuntime = new Be(() => 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 ?? [], ...Xe(e) ?? []];
|
|
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 Xe = class {
|
|
|
1386
1451
|
return this.#t;
|
|
1387
1452
|
}
|
|
1388
1453
|
getConfig() {
|
|
1389
|
-
return
|
|
1454
|
+
return B(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 i(e) ? this.paramRuntime.evaluateAndGet(e.expr) : e;
|
|
1397
1462
|
}
|
|
1398
1463
|
watchCursor(e, t) {
|
|
1399
|
-
let
|
|
1400
|
-
n
|
|
1464
|
+
let n = this.getCursorSpec();
|
|
1465
|
+
i(n) && this.paramRuntime.watchExpression(n.expr, e, {
|
|
1401
1466
|
scopeOwned: !1,
|
|
1402
1467
|
registerDisposer: t
|
|
1403
1468
|
});
|
|
@@ -1409,41 +1474,41 @@ var Xe = 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", () => j.createFromConfig(this.spec.padding));
|
|
1413
1478
|
}
|
|
1414
1479
|
getOverhang() {
|
|
1415
|
-
return
|
|
1480
|
+
return j.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 x(this.#g("width"), this.#g("height")) : de);
|
|
1422
1487
|
}
|
|
1423
1488
|
getViewportSize() {
|
|
1424
1489
|
if (!this.isScrollable()) return this.getSize();
|
|
1425
|
-
if (!this.isConfiguredVisible()) return
|
|
1490
|
+
if (!this.isConfiguredVisible()) return de;
|
|
1426
1491
|
let e = this.getSize();
|
|
1427
|
-
return new
|
|
1492
|
+
return new x(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 = J(r), a = e == "viewportWidth" || e == "viewportHeight";
|
|
1431
1496
|
if (i) {
|
|
1432
|
-
if (a) throw new
|
|
1497
|
+
if (a) throw new v(`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 (b(i.type)) n = i.domain().length;
|
|
1437
1502
|
else if (["locus", "index"].includes(i.type)) {
|
|
1438
1503
|
let e = i.domain();
|
|
1439
1504
|
n = m(e) - e[0];
|
|
1440
|
-
} else throw new
|
|
1505
|
+
} else throw new v(`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 = y(n, a.paddingInner(), a.paddingOuter());
|
|
1508
|
+
let o = e == "width" ? "xOffset" : "yOffset", s = this.getScaleResolution(o)?.getScale(), c = r.for ?? (s && b(s.type) ? "offset" : "position"), l = t;
|
|
1444
1509
|
if (c == "offset") {
|
|
1445
|
-
if (!s || !
|
|
1446
|
-
let t = s, n =
|
|
1510
|
+
if (!s || !b(s.type)) throw new v(`Cannot use ${e}.step.for = "offset" without a discrete ${o} scale!`, this);
|
|
1511
|
+
let t = s, n = y(s.domain().length, t.paddingInner(), t.paddingOuter());
|
|
1447
1512
|
l *= n / (1 - a.paddingInner());
|
|
1448
1513
|
}
|
|
1449
1514
|
return {
|
|
@@ -1454,7 +1519,7 @@ var Xe = class {
|
|
|
1454
1519
|
px: t,
|
|
1455
1520
|
grow: 0
|
|
1456
1521
|
};
|
|
1457
|
-
else throw new
|
|
1522
|
+
else throw new v(`Cannot use step-based size with "${e}"!`, this);
|
|
1458
1523
|
} else return (r && me(r)) ?? (a ? void 0 : {
|
|
1459
1524
|
px: 0,
|
|
1460
1525
|
grow: 1
|
|
@@ -1471,17 +1536,17 @@ var Xe = class {
|
|
|
1471
1536
|
};
|
|
1472
1537
|
}
|
|
1473
1538
|
#v(e) {
|
|
1474
|
-
if (
|
|
1539
|
+
if (U(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 && !b(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 (!
|
|
1482
|
-
let
|
|
1483
|
-
if (
|
|
1484
|
-
throw new
|
|
1546
|
+
if (!i(t)) return t;
|
|
1547
|
+
let n = this.#C(e)();
|
|
1548
|
+
if (it(n) || n === "container") return n;
|
|
1549
|
+
throw new v(`"${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,7 +1557,7 @@ var Xe = class {
|
|
|
1492
1557
|
let i = this.getScaleResolution(t);
|
|
1493
1558
|
if (!i) {
|
|
1494
1559
|
if (r) return;
|
|
1495
|
-
throw new
|
|
1560
|
+
throw new v("Cannot use 'step' size without a scale!", this);
|
|
1496
1561
|
}
|
|
1497
1562
|
let a = () => {
|
|
1498
1563
|
let t = this.getSize()[e];
|
|
@@ -1502,17 +1567,17 @@ var Xe = class {
|
|
|
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 && b(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
|
+
i(t) ? this.#S(e, t.expr) : J(t) && i(t.step) && this.#S(e + ".step", t.step.expr);
|
|
1511
1576
|
}
|
|
1512
1577
|
#x(e, t) {
|
|
1513
|
-
let
|
|
1514
|
-
if (
|
|
1515
|
-
throw new
|
|
1578
|
+
let n = i(t.step) ? this.#C(e + ".step")() : t.step;
|
|
1579
|
+
if (it(n)) return n;
|
|
1580
|
+
throw new v(`"${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 Xe = 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 v(`"${e}" ExprRef was not registered before layout!`, this);
|
|
1528
1593
|
return t;
|
|
1529
1594
|
}
|
|
1530
1595
|
isConfiguredVisible() {
|
|
@@ -1643,7 +1708,7 @@ var Xe = class {
|
|
|
1643
1708
|
}
|
|
1644
1709
|
}
|
|
1645
1710
|
configureViewOpacity() {
|
|
1646
|
-
(!this.opacityFunction || this.opacityFunction === q) && (this.opacityFunction =
|
|
1711
|
+
(!this.opacityFunction || this.opacityFunction === q) && (this.opacityFunction = tt(this));
|
|
1647
1712
|
}
|
|
1648
1713
|
finalizeParamRuntimeInitialization() {
|
|
1649
1714
|
this.#l === void 0 ? this.paramRuntime.finalizeInitialization() : this.#T();
|
|
@@ -1655,8 +1720,8 @@ var Xe = 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, p(t,
|
|
1659
|
-
let e = this.getOverhang(), n = this.layoutParent ?
|
|
1723
|
+
if (n.firstFacet && this.facetCoords.clear(), this.facetCoords.set(n.facetId, p(t, d(n))), this.#a || this.#o) {
|
|
1724
|
+
let e = this.getOverhang(), n = this.layoutParent ? j.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 Xe = class {
|
|
|
1677
1742
|
}
|
|
1678
1743
|
getFacetFields(e) {
|
|
1679
1744
|
let t = this.getEncoding().sample;
|
|
1680
|
-
return
|
|
1745
|
+
return u(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 Xe = class {
|
|
|
1689
1754
|
};
|
|
1690
1755
|
}
|
|
1691
1756
|
getScaleResolution(e) {
|
|
1692
|
-
let t =
|
|
1757
|
+
let t = o(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 = o(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 = o(e);
|
|
1701
1766
|
return this.getDataAncestors().map((e) => e.resolutions.legend[t]).find((e) => e);
|
|
1702
1767
|
}
|
|
1703
1768
|
getConfiguredResolution(e, t) {
|
|
@@ -1710,47 +1775,47 @@ var Xe = class {
|
|
|
1710
1775
|
return "independent";
|
|
1711
1776
|
}
|
|
1712
1777
|
getBaseUrl() {
|
|
1713
|
-
return
|
|
1778
|
+
return N(() => this.dataParent?.getBaseUrl(), Ge(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 te(e) ? e : i(e.text) ? this.paramRuntime.evaluateAndGet(e.text.expr) : e.text;
|
|
1721
1786
|
}
|
|
1722
1787
|
_cache(e, t) {
|
|
1723
|
-
return
|
|
1788
|
+
return ne(this, e, t);
|
|
1724
1789
|
}
|
|
1725
1790
|
_invalidateCacheByPrefix(e, t = "self") {
|
|
1726
1791
|
switch (t) {
|
|
1727
1792
|
case "self":
|
|
1728
|
-
|
|
1793
|
+
_(this, e);
|
|
1729
1794
|
break;
|
|
1730
1795
|
case "ancestors":
|
|
1731
|
-
for (let t of this.getLayoutAncestors())
|
|
1796
|
+
for (let t of this.getLayoutAncestors()) _(t, e);
|
|
1732
1797
|
break;
|
|
1733
1798
|
case "progeny":
|
|
1734
|
-
this.visit((t) =>
|
|
1799
|
+
this.visit((t) => _(t, e));
|
|
1735
1800
|
break;
|
|
1736
1801
|
default:
|
|
1737
1802
|
}
|
|
1738
1803
|
}
|
|
1739
1804
|
invalidateSizeCache() {
|
|
1740
|
-
|
|
1805
|
+
_(this, "size"), this._invalidateCacheByPrefix("size", "ancestors");
|
|
1741
1806
|
}
|
|
1742
1807
|
propagateInteraction(e) {}
|
|
1743
1808
|
};
|
|
1744
|
-
function
|
|
1809
|
+
function et(e) {
|
|
1745
1810
|
return "unitsPerPixel" in e;
|
|
1746
1811
|
}
|
|
1747
|
-
function
|
|
1748
|
-
let
|
|
1749
|
-
if (
|
|
1750
|
-
if (h(
|
|
1751
|
-
if (
|
|
1752
|
-
let r = (
|
|
1753
|
-
let n =
|
|
1812
|
+
function tt(t) {
|
|
1813
|
+
let n = "opacity" in t.spec ? t.spec.opacity : void 0;
|
|
1814
|
+
if (n !== void 0) {
|
|
1815
|
+
if (h(n)) return (e) => e * n;
|
|
1816
|
+
if (et(n)) {
|
|
1817
|
+
let r = (e) => {
|
|
1818
|
+
let n = t.getScaleResolution(e), r = n?.getScale();
|
|
1754
1819
|
if ([
|
|
1755
1820
|
"linear",
|
|
1756
1821
|
"index",
|
|
@@ -1759,48 +1824,48 @@ function et(e) {
|
|
|
1759
1824
|
scale: r,
|
|
1760
1825
|
scaleResolution: n
|
|
1761
1826
|
};
|
|
1762
|
-
},
|
|
1763
|
-
if (!
|
|
1764
|
-
let
|
|
1765
|
-
let
|
|
1766
|
-
|
|
1827
|
+
}, a = rt(n.values, "opacity.values", t);
|
|
1828
|
+
if (!l(n.unitsPerPixel)) throw new v("\"opacity.unitsPerPixel\" must be an array.", t);
|
|
1829
|
+
let o = () => 1, s = [], c = () => {
|
|
1830
|
+
let e = nt(rt(s.map((e) => e()), "opacity.unitsPerPixel", t), a, t), n = ie().domain(e.unitsPerPixel).range(e.values).clamp(!0);
|
|
1831
|
+
o = (e) => n(e);
|
|
1767
1832
|
};
|
|
1768
|
-
|
|
1769
|
-
if (
|
|
1770
|
-
let n =
|
|
1771
|
-
|
|
1833
|
+
s = n.unitsPerPixel.map((e) => {
|
|
1834
|
+
if (i(e)) {
|
|
1835
|
+
let n = t.paramRuntime.watchExpression(e.expr, () => {
|
|
1836
|
+
c(), t.context.animator.requestRender();
|
|
1772
1837
|
});
|
|
1773
1838
|
return () => n(null);
|
|
1774
|
-
} else return () =>
|
|
1775
|
-
}),
|
|
1776
|
-
let
|
|
1777
|
-
let
|
|
1778
|
-
return
|
|
1779
|
-
},
|
|
1780
|
-
if (
|
|
1781
|
-
let
|
|
1782
|
-
if (
|
|
1783
|
-
else if (
|
|
1784
|
-
else if (n)
|
|
1785
|
-
else throw new
|
|
1839
|
+
} else return () => e;
|
|
1840
|
+
}), c();
|
|
1841
|
+
let u = (t) => {
|
|
1842
|
+
let n = t.scaleResolution.getAxisLength() || 1e3;
|
|
1843
|
+
return e(t.scale.domain()) / n;
|
|
1844
|
+
}, d;
|
|
1845
|
+
if (n.channel === "auto") {
|
|
1846
|
+
let e = r("x"), n = r("y");
|
|
1847
|
+
if (e && n) d = () => (u(e) + u(n)) / 2;
|
|
1848
|
+
else if (e) d = () => u(e);
|
|
1849
|
+
else if (n) d = () => u(n);
|
|
1850
|
+
else throw new v("Cannot find a resolved quantitative x or y scale for dynamic opacity!", t);
|
|
1786
1851
|
} else {
|
|
1787
|
-
let
|
|
1788
|
-
if (!
|
|
1789
|
-
|
|
1852
|
+
let e = n.channel ? r(n.channel) : r("x") ?? r("y");
|
|
1853
|
+
if (!e) throw new v("Cannot find a resolved quantitative scale for dynamic opacity!", t);
|
|
1854
|
+
d = () => u(e);
|
|
1790
1855
|
}
|
|
1791
|
-
return (e) =>
|
|
1792
|
-
} else if (n
|
|
1793
|
-
let
|
|
1794
|
-
return (
|
|
1856
|
+
return (e) => o(d()) * e;
|
|
1857
|
+
} else if (i(n)) {
|
|
1858
|
+
let e = t.paramRuntime.watchExpression(n.expr, () => t.context.animator.requestRender());
|
|
1859
|
+
return (t) => e(null) * t;
|
|
1795
1860
|
}
|
|
1796
1861
|
}
|
|
1797
1862
|
return q;
|
|
1798
1863
|
}
|
|
1799
|
-
function
|
|
1800
|
-
if (!e.length) throw new
|
|
1801
|
-
if (e.length !== t.length) throw new
|
|
1864
|
+
function nt(e, t, n) {
|
|
1865
|
+
if (!e.length) throw new v("\"opacity.unitsPerPixel\" must contain at least one stop.", n);
|
|
1866
|
+
if (e.length !== t.length) throw new v("\"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 v("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 tt(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 v("\"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 rt(e, t, n) {
|
|
1883
|
+
if (!l(e)) throw new v("\"" + t + "\" must evaluate to an array.", n);
|
|
1819
1884
|
return e.map((e, r) => {
|
|
1820
|
-
if (!h(e) || !Number.isFinite(e)) throw new
|
|
1885
|
+
if (!h(e) || !Number.isFinite(e)) throw new v("Invalid " + t + " value at index " + r + ". Expected a finite number.", n);
|
|
1821
1886
|
return e;
|
|
1822
1887
|
});
|
|
1823
1888
|
}
|
|
1824
1889
|
var J = (e) => !!e && typeof e == "object" && "step" in e;
|
|
1825
|
-
function
|
|
1890
|
+
function it(e) {
|
|
1826
1891
|
return typeof e == "number" && Number.isFinite(e);
|
|
1827
1892
|
}
|
|
1828
1893
|
var Y = /* @__PURE__ */ new WeakMap(), X = /* @__PURE__ */ new WeakMap();
|
|
1829
|
-
function it(e, t) {
|
|
1830
|
-
ot(e, t, "Import");
|
|
1831
|
-
}
|
|
1832
1894
|
function at(e, t) {
|
|
1833
|
-
|
|
1895
|
+
st(e, t, "Import");
|
|
1834
1896
|
}
|
|
1835
|
-
function ot(e, t
|
|
1897
|
+
function ot(e, t) {
|
|
1898
|
+
st(e, t, "View");
|
|
1899
|
+
}
|
|
1900
|
+
function st(e, t, n) {
|
|
1836
1901
|
if (t !== null && typeof t != "string") throw Error(n + " scope name must be a string or null.");
|
|
1837
1902
|
Y.set(e, { name: t });
|
|
1838
1903
|
}
|
|
1839
|
-
function
|
|
1904
|
+
function ct(e) {
|
|
1840
1905
|
return Y.get(e);
|
|
1841
1906
|
}
|
|
1842
|
-
function
|
|
1907
|
+
function lt(e, t = {}) {
|
|
1843
1908
|
let n = t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude";
|
|
1844
1909
|
X.set(e, n);
|
|
1845
1910
|
}
|
|
1846
|
-
function
|
|
1847
|
-
|
|
1911
|
+
function ut(e, t = {}) {
|
|
1912
|
+
qe(e, t.skipSubtree ?? !1 ? "excludeSubtree" : "exclude");
|
|
1848
1913
|
}
|
|
1849
|
-
function
|
|
1850
|
-
return e.getLayoutAncestors().some(
|
|
1914
|
+
function dt(e) {
|
|
1915
|
+
return e.getLayoutAncestors().some(H);
|
|
1851
1916
|
}
|
|
1852
1917
|
function Z(e) {
|
|
1853
1918
|
let t = e.getDataAncestors(), n = [];
|
|
@@ -1857,7 +1922,7 @@ function Z(e) {
|
|
|
1857
1922
|
}
|
|
1858
1923
|
return n;
|
|
1859
1924
|
}
|
|
1860
|
-
function
|
|
1925
|
+
function ft(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,43 +1930,43 @@ function dt(e) {
|
|
|
1865
1930
|
view: t
|
|
1866
1931
|
};
|
|
1867
1932
|
}
|
|
1868
|
-
function
|
|
1933
|
+
function pt(e, t) {
|
|
1869
1934
|
if (!t) throw Error("Cannot build a selector for a parameter without a name.");
|
|
1870
1935
|
return {
|
|
1871
1936
|
scope: Z(e),
|
|
1872
1937
|
param: t
|
|
1873
1938
|
};
|
|
1874
1939
|
}
|
|
1875
|
-
function
|
|
1876
|
-
return
|
|
1940
|
+
function mt(e) {
|
|
1941
|
+
return St(e), "p:" + JSON.stringify({
|
|
1877
1942
|
scope: e.scope,
|
|
1878
1943
|
param: e.param
|
|
1879
1944
|
});
|
|
1880
1945
|
}
|
|
1881
|
-
function
|
|
1946
|
+
function ht(e, t) {
|
|
1882
1947
|
e.visit((e) => {
|
|
1883
|
-
let n =
|
|
1948
|
+
let n = Je(e);
|
|
1884
1949
|
if (n === "excludeSubtree") return G;
|
|
1885
1950
|
if (n !== "exclude") return t(e);
|
|
1886
1951
|
});
|
|
1887
1952
|
}
|
|
1888
|
-
function
|
|
1953
|
+
function gt(e, t) {
|
|
1889
1954
|
e.visit((e) => {
|
|
1890
1955
|
let n = X.get(e);
|
|
1891
1956
|
if (n === "excludeSubtree") return G;
|
|
1892
1957
|
if (n !== "exclude") return t(e);
|
|
1893
1958
|
});
|
|
1894
1959
|
}
|
|
1895
|
-
function
|
|
1896
|
-
if (
|
|
1960
|
+
function _t(e, t) {
|
|
1961
|
+
if (Ct(t), !jt(e, t.scope)) return;
|
|
1897
1962
|
let n = [];
|
|
1898
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));
|
|
1902
1967
|
}
|
|
1903
|
-
function
|
|
1904
|
-
if (
|
|
1968
|
+
function vt(e, t) {
|
|
1969
|
+
if (St(t), !jt(e, t.scope)) return;
|
|
1905
1970
|
let n = [];
|
|
1906
1971
|
if ($(e, t.scope, (e) => {
|
|
1907
1972
|
for (let [r, i] of e.paramRuntime.paramConfigs) r === t.param && Q(i) && n.push({
|
|
@@ -1911,54 +1976,54 @@ function _t(e, t) {
|
|
|
1911
1976
|
}), n.length === 1) return n[0];
|
|
1912
1977
|
if (n.length !== 0) throw Error("Param selector is ambiguous for param \"" + t.param + "\" in scope " + JSON.stringify(t.scope));
|
|
1913
1978
|
}
|
|
1914
|
-
function
|
|
1979
|
+
function yt(e, t) {
|
|
1915
1980
|
e.visit((e) => {
|
|
1916
1981
|
let n = X.get(e);
|
|
1917
1982
|
if (n === "excludeSubtree") return G;
|
|
1918
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: pt(e, n)
|
|
1922
1987
|
});
|
|
1923
1988
|
});
|
|
1924
1989
|
}
|
|
1925
|
-
function
|
|
1990
|
+
function bt(e) {
|
|
1926
1991
|
let t = [];
|
|
1927
|
-
return
|
|
1992
|
+
return yt(e, (e) => t.push(e)), t;
|
|
1928
1993
|
}
|
|
1929
|
-
function
|
|
1994
|
+
function xt(e) {
|
|
1930
1995
|
let t = [];
|
|
1931
|
-
for (let n of
|
|
1932
|
-
let r =
|
|
1933
|
-
|
|
1996
|
+
for (let n of wt(e)) {
|
|
1997
|
+
let r = Tt(n);
|
|
1998
|
+
Dt(e, r, t), Ot(e, r, t);
|
|
1934
1999
|
}
|
|
1935
2000
|
return t;
|
|
1936
2001
|
}
|
|
1937
|
-
function
|
|
2002
|
+
function St(e) {
|
|
1938
2003
|
if (!e || !Array.isArray(e.scope)) throw Error("Param selector scope must be an array.");
|
|
1939
2004
|
if (typeof e.param != "string" || !e.param.length) throw Error("Param selector param must be a non-empty string.");
|
|
1940
2005
|
}
|
|
1941
|
-
function
|
|
2006
|
+
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 Q(
|
|
1946
|
-
return
|
|
2010
|
+
function Q(e) {
|
|
2011
|
+
return e.persist === !1 ? !1 : t(e) ? !0 : n(e) ? !!e.bind : !1;
|
|
1947
2012
|
}
|
|
1948
|
-
function
|
|
2013
|
+
function wt(e) {
|
|
1949
2014
|
let t = /* @__PURE__ */ new Set([e]);
|
|
1950
2015
|
return e.visit((e) => {
|
|
1951
2016
|
let n = Y.get(e);
|
|
1952
2017
|
n && typeof n.name == "string" && t.add(e);
|
|
1953
2018
|
}), Array.from(t);
|
|
1954
2019
|
}
|
|
1955
|
-
function
|
|
2020
|
+
function Tt(e) {
|
|
1956
2021
|
return Z(e);
|
|
1957
2022
|
}
|
|
1958
|
-
function
|
|
2023
|
+
function Et(e) {
|
|
1959
2024
|
return e.length ? "import scope [" + e.join(" / ") + "]" : "import scope (root)";
|
|
1960
2025
|
}
|
|
1961
|
-
function
|
|
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) {
|
|
@@ -1971,15 +2036,15 @@ function Et(e, t, n) {
|
|
|
1971
2036
|
if (i.length <= 1) continue;
|
|
1972
2037
|
let r = i.map((e) => e.getPathString()).join(", ");
|
|
1973
2038
|
n.push({
|
|
1974
|
-
message: "Bookmarkable parameter \"" + e + "\" is not unique within " +
|
|
2039
|
+
message: "Bookmarkable parameter \"" + e + "\" is not unique within " + Et(t) + ". Found in: " + r + ".",
|
|
1975
2040
|
scope: t
|
|
1976
2041
|
});
|
|
1977
2042
|
}
|
|
1978
2043
|
}
|
|
1979
|
-
function
|
|
1980
|
-
let r =
|
|
2044
|
+
function Ot(e, t, n) {
|
|
2045
|
+
let r = kt(e, t);
|
|
1981
2046
|
if (!r.length) return;
|
|
1982
|
-
let i = r.filter((e) =>
|
|
2047
|
+
let i = r.filter((e) => At(e));
|
|
1983
2048
|
if (i.length <= 1) return;
|
|
1984
2049
|
let a = /* @__PURE__ */ new Map();
|
|
1985
2050
|
for (let e of i) {
|
|
@@ -1987,11 +2052,11 @@ function Dt(e, t, n) {
|
|
|
1987
2052
|
typeof n != "string" || !n.length || a.set(n, (a.get(n) ?? 0) + 1);
|
|
1988
2053
|
}
|
|
1989
2054
|
for (let [e, r] of a) r > 1 && n.push({
|
|
1990
|
-
message: "Import instance name \"" + e + "\" is used multiple times for addressable instances in " +
|
|
2055
|
+
message: "Import instance name \"" + e + "\" is used multiple times for addressable instances in " + Et(t) + ".",
|
|
1991
2056
|
scope: t
|
|
1992
2057
|
});
|
|
1993
2058
|
}
|
|
1994
|
-
function
|
|
2059
|
+
function kt(e, t) {
|
|
1995
2060
|
let n = [];
|
|
1996
2061
|
return $(e, t, (e) => {
|
|
1997
2062
|
if (Z(e).length !== t.length + 1) return;
|
|
@@ -1999,7 +2064,7 @@ function Ot(e, t) {
|
|
|
1999
2064
|
!r || typeof r.name != "string" || n.push(e);
|
|
2000
2065
|
}, { includeNamedImportRoots: !0 }), n;
|
|
2001
2066
|
}
|
|
2002
|
-
function
|
|
2067
|
+
function At(e) {
|
|
2003
2068
|
let t = !1;
|
|
2004
2069
|
return e.visit((e) => {
|
|
2005
2070
|
let n = X.get(e);
|
|
@@ -2009,7 +2074,7 @@ function kt(e) {
|
|
|
2009
2074
|
}
|
|
2010
2075
|
}), t;
|
|
2011
2076
|
}
|
|
2012
|
-
function
|
|
2077
|
+
function jt(e, t) {
|
|
2013
2078
|
let n = e, r = [];
|
|
2014
2079
|
for (let i of t) {
|
|
2015
2080
|
if (typeof i != "string" || !i.length) throw Error("Scope names must be non-empty strings.");
|
|
@@ -2031,20 +2096,20 @@ function $(e, t, n, r = {}) {
|
|
|
2031
2096
|
e.visit((e) => {
|
|
2032
2097
|
let r = Y.get(e), a = X.get(e);
|
|
2033
2098
|
if (a === "excludeSubtree") return G;
|
|
2034
|
-
if (a !== "exclude" &&
|
|
2099
|
+
if (a !== "exclude" && Mt(e, t, r, i)) return n(e);
|
|
2035
2100
|
});
|
|
2036
2101
|
}
|
|
2037
|
-
function
|
|
2102
|
+
function Mt(e, t, n, r) {
|
|
2038
2103
|
let i = Z(e);
|
|
2039
|
-
return
|
|
2040
|
-
}
|
|
2041
|
-
function Mt(e, t) {
|
|
2042
|
-
return e.length === t.length && Nt(e, t);
|
|
2104
|
+
return Nt(i, t) ? !0 : !r || !n || typeof n.name != "string" || i.length !== t.length + 1 ? !1 : Pt(t, i);
|
|
2043
2105
|
}
|
|
2044
2106
|
function Nt(e, t) {
|
|
2107
|
+
return e.length === t.length && Pt(e, t);
|
|
2108
|
+
}
|
|
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 { P as A, oe as B, We as C, Fe as D, Re as E, S as F, ue as H, le as I, se as L, j as M, ve as N, F as O, x as P, D as R, B as S, Le as T, ce as U, me as V, K as _, dt as a, H as b, lt as c, vt as d, _t as f, G as g, ht as h, ft as i, be as j, N as k, at as l, gt as m, ct as n, mt as o, xt as p, Z as r, ut as s, bt as t, ot as u, $e as v, Be as w, U as x, Ye as y, E as z };
|