@genome-spy/app 0.84.0 → 0.85.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-DHXYZVvQ.js → agentApi-Cz0hCnVp.js} +5790 -5190
- package/dist/agentApi.es.js +3117 -2793
- package/dist/agentShared.es.js +8 -8
- package/dist/arrayUtils-LJpQOu-U.js +2175 -0
- package/dist/canvas2d-DoAXEiF9.js +309 -0
- package/dist/canvas2d-f5jl4A5D.js +310 -0
- package/dist/canvasSizeHelper-7h_8rOcx.js +56 -0
- package/dist/clipOptions-gqdb3fvW.js +43 -0
- package/dist/{clipOptions-Dqco1p8b.js → color-W5zffv-z.js} +1 -43
- package/dist/{debug-aHQsa6hU.js → debug-BvCZWumf.js} +2 -2
- package/dist/{debug-D6FqxKEj.js → debug-CgDtmspT.js} +2 -2
- package/dist/{esm-CGLz7idZ.js → esm-BA6yMcc-.js} +438 -434
- package/dist/{esm-D8vvQAP3.js → esm-CcDLRSvC.js} +33 -33
- package/dist/{esm-BeV56E_5.js → esm-CfYZhLHN.js} +33 -33
- package/dist/{esm-DQ3lJSQN.js → esm-JAiZmFIS.js} +1 -1
- package/dist/{framebufferReadback-CC0D6Haw.js → framebufferReadback-CCLOjStu.js} +26 -25
- package/dist/{framebufferReadback-Bje9lHb7.js → framebufferReadback-THWwFqs8.js} +14 -13
- package/dist/index.es.js +541 -538
- package/dist/index.js +560 -554
- package/dist/nativeText-DMO8gLt7.js +806 -0
- package/dist/nativeText-m5AUINMq.js +806 -0
- package/dist/paramUtils-BYI4rwyL.js +2195 -0
- package/dist/schema.json +1488 -88
- package/dist/style.css +1 -1
- package/dist/svg-CCu8kYy2.js +1158 -0
- package/dist/svg-yFj875aX.js +1158 -0
- package/dist/{svgNumber-C6aRPc8Z.js → svgNumber-DNxESJQB.js} +1 -1
- package/dist/{twgl-full.module-BNEMlXRV.js → twgl-full.module-DB2UdP1k.js} +1 -1
- package/dist/{viewIdentityRegistry-AEQpJTDm.js → viewIdentityRegistry-BUdkK9zT.js} +1 -1
- package/dist/{viewIdentityRegistry-Dl7rR4Ay.js → viewIdentityRegistry-D3oPbN4O.js} +1 -1
- package/dist/viewSelectors-DGCspRN3.js +4198 -0
- package/dist/viewSelectors-U5oLCLHV.js +4195 -0
- package/dist/{viewUtils-DMNiWslc.js → viewUtils-Dg4RA40Q.js} +2384 -2109
- package/dist/warning-CpIIpk8e.js +7 -0
- package/dist/warning-DRGdb6BF.js +59 -0
- package/dist/{raster-BofBWXbe.js → webgl-Ci6ZhCCf.js} +4 -4
- package/dist/{raster-9uKYMjHZ.js → webgl-Dpz8a3TI.js} +3 -3
- package/package.json +5 -5
- package/dist/svg-CvsT1Y2V.js +0 -1793
- package/dist/svg-DRgWfcsL.js +0 -1793
- package/dist/viewSelectors-BhW4mTR1.js +0 -6386
- package/dist/viewSelectors-Bwzj10Qz.js +0 -6363
package/dist/index.es.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { n as e, t } from "./rolldown-runtime-DF993M8W.js";
|
|
2
|
-
import { $ as n, $t as r, A as i, An as a, At as o, B as s, Bn as c, Bt as l, C as u, Cn as d, Ct as f, D as p, Dn as m, Dt as h, E as g, En as _, Et as v, F as y,
|
|
3
|
-
import {
|
|
4
|
-
import { a as
|
|
5
|
-
import { w as
|
|
6
|
-
import {
|
|
2
|
+
import { $ as n, $t as r, A as i, An as a, At as o, B as s, Bn as c, Bt as l, C as u, Cn as d, Ct as f, D as p, Dn as m, Dt as h, E as g, En as _, Et as v, F as y, Ft as b, G as x, Gt as S, H as C, Hn as w, Ht as T, I as E, In as D, It as O, J as k, Jt as A, K as ee, Kt as j, L as M, Ln as te, Lt as N, M as P, Mn as ne, Mt as re, N as ie, Nn as ae, Nt as oe, O as se, On as ce, Ot as le, P as ue, Pt as de, Q as fe, Qt as pe, R as me, Rn as he, Rt as ge, S as _e, Sn as ve, St as ye, T as be, Tn as F, Tt as xe, U as Se, Ut as Ce, V as we, Vn as Te, Vt as Ee, W as De, Wt as Oe, X as ke, Xt as Ae, Y as je, Yt as Me, Z as Ne, Zt as Pe, _ as Fe, _n as Ie, _t as Le, a as Re, an as ze, at as Be, b as Ve, bn as He, bt as Ue, c as We, cn as Ge, ct as Ke, d as qe, dn as Je, dt as Ye, en as Xe, et as Ze, f as Qe, fn as $e, ft as et, g as tt, gn as nt, gt as rt, h as it, hn as at, ht as ot, i as st, in as ct, it as lt, j as ut, jn as I, jt as dt, k as ft, kn as L, kt as pt, l as mt, ln as ht, lt as gt, m as _t, mn as vt, mt as yt, n as bt, nn as xt, nt as St, o as Ct, on as wt, ot as Tt, p as Et, pn as Dt, pt as Ot, q as kt, qt as At, r as jt, rn as Mt, rt as Nt, s as Pt, sn as Ft, st as It, tn as Lt, tt as Rt, u as zt, un as Bt, ut as Vt, v as Ht, vn as Ut, vt as Wt, w as Gt, wn as Kt, wt as qt, x as Jt, xn as Yt, xt as Xt, y as Zt, yn as Qt, yt as $t, z as en, zn as tn, zt as nn } from "./agentApi-Cz0hCnVp.js";
|
|
3
|
+
import { C as rn, M as an, N as on, Ut as sn, Vt as cn, W as ln, X as un, _ as dn, a as fn, b as pn, ct as mn, d as hn, f as gn, ft as _n, g as vn, h as yn, n as bn, o as xn, p as Sn, qt as Cn, v as wn, w as Tn, x as En, y as Dn, zt as On } from "./paramUtils-BYI4rwyL.js";
|
|
4
|
+
import { $t as kn, B as An, D as jn, E as Mn, J as Nn, Jt as Pn, M as Fn, P as In, Xt as Ln, Y as Rn, a as zn, bt as Bn, c as Vn, f as Hn, h as Un, ht as Wn, i as Gn, m as Kn, mt as qn, n as Jn, p as Yn, pt as Xn, r as Zn, s as Qn, t as $n, v as er, w as tr, xt as nr } from "./viewSelectors-DGCspRN3.js";
|
|
5
|
+
import { w as rr } from "./framebufferReadback-THWwFqs8.js";
|
|
6
|
+
import { a as ir, i as ar } from "./clipOptions-gqdb3fvW.js";
|
|
7
|
+
import { n as or, r as sr } from "./viewIdentityRegistry-BUdkK9zT.js";
|
|
7
8
|
import { n as cr } from "./viewRenderingContext-HtpqwS_x.js";
|
|
8
9
|
//#region ../../node_modules/d3-array/src/array.js
|
|
9
10
|
var lr = Array.prototype, ur = lr.slice;
|
|
@@ -18,7 +19,7 @@ function dr(e) {
|
|
|
18
19
|
function fr(e, t, n) {
|
|
19
20
|
let r;
|
|
20
21
|
for (;;) {
|
|
21
|
-
let i =
|
|
22
|
+
let i = Pn(e, t, n);
|
|
22
23
|
if (i === r || i === 0 || !isFinite(i)) return [e, t];
|
|
23
24
|
i > 0 ? (e = Math.floor(e / i) * i, t = Math.ceil(t / i) * i) : i < 0 && (e = Math.ceil(e * i) / i, t = Math.floor(t * i) / i), r = i;
|
|
24
25
|
}
|
|
@@ -31,7 +32,7 @@ function pr(e) {
|
|
|
31
32
|
//#endregion
|
|
32
33
|
//#region ../../node_modules/d3-array/src/bin.js
|
|
33
34
|
function mr() {
|
|
34
|
-
var e =
|
|
35
|
+
var e = rr, t = he, n = pr;
|
|
35
36
|
function r(r) {
|
|
36
37
|
Array.isArray(r) || (r = Array.from(r));
|
|
37
38
|
var i, a = r.length, o, s, c = Array(a);
|
|
@@ -39,8 +40,8 @@ function mr() {
|
|
|
39
40
|
var l = t(c), u = l[0], d = l[1], f = n(c, u, d);
|
|
40
41
|
if (!Array.isArray(f)) {
|
|
41
42
|
let e = d, n = +f;
|
|
42
|
-
if (t === he && ([u, d] = fr(u, d, n)), f =
|
|
43
|
-
let e =
|
|
43
|
+
if (t === he && ([u, d] = fr(u, d, n)), f = Ln(u, d, n), f[0] <= u && (s = Pn(u, d, n)), f[f.length - 1] >= d) if (e >= d && t === he) {
|
|
44
|
+
let e = Pn(u, d, n);
|
|
44
45
|
isFinite(e) && (e > 0 ? d = (Math.floor(d / e) + 1) * e : e < 0 && (d = (Math.ceil(d * -e) + 1) / -e));
|
|
45
46
|
} else f.pop();
|
|
46
47
|
}
|
|
@@ -57,7 +58,7 @@ function mr() {
|
|
|
57
58
|
g[Math.min(p, e + (f[e] <= o))].push(r[i]);
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
|
-
} else for (i = 0; i < a; ++i) (o = c[i]) != null && u <= o && o <= d && g[
|
|
61
|
+
} else for (i = 0; i < a; ++i) (o = c[i]) != null && u <= o && o <= d && g[kn(f, o, 0, p)].push(r[i]);
|
|
61
62
|
return g;
|
|
62
63
|
}
|
|
63
64
|
return r.value = function(t) {
|
|
@@ -85,9 +86,9 @@ function _r(e) {
|
|
|
85
86
|
}
|
|
86
87
|
//#endregion
|
|
87
88
|
//#region ../core/src/img/bowtie.svg
|
|
88
|
-
var vr = "data:image/svg+xml,%3csvg%20viewBox='0%200%2032%2032'%20xmlns='http://www.w3.org/2000/svg'%20fill-rule='evenodd'%20clip-rule='evenodd'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-miterlimit='1.5'%3e%3cpath%20d='M4.7%2021.2s.4%202.3%201.3%203.6C7%2026%209.8%2028%209.8%2028s3.4-2.6%206.4-8.5c0%200%201%20.1%201.9-.4.9-.6.8-.4%201-1.2%200%200%202.9.5%206.6%200%202.1-.3%204.3-1%206.2-2.5%200%200-1.1-1.7-2.5-5.1-.5-1.3-2-1.8-4.6-4.6l-8.2%208.6-11.9%206.9z'%20fill-opacity='.1'/%3e%3cpath%20d='M12.7%2014.8s-4-1.8-12%202.7c0%200%201%203.7%202.5%205.3%201.4%201.5%202.3%203.6%204.6%204.6%200%200%204.7-3%206.9-9.2l3-2s4.7%202.8%2012.6-1.6c0%200-.6-3.3-3-6-2.6-3-3.8-4.7-3.8-4.7s-4.1%202.3-7.5%209.3l-3.3%201.6z'%20fill='%237fbbdd'/%3e%3cpath%20d='M12.4%2015.5c-.7-.5-2.4-.8-4.4-.4-2%20.4-4%201.3-4.8%201.8-.5.3-1.2%201-1.2%201.4%200%20.7.3%201.8.8%202.4.3.3.7.5%201.4.6.8%200%202.5-1.4%203.5-2%201-.6%201.6-.8%202.7-1.2l-2.9%202.4c-1.3%201.2-2.2%201.5-2.4%202.3%200%20.5%200%201.4.5%201.8.4.5.6.8%201.6.8.6%200%201%200%202.6-1.5.9-.9%202.3-3%202.7-3.7.6-1.1%201-2.2.7-3-.2-1-.4-1.4-.8-1.7zM17.4%2014.2c-.3-.5-.9-1.2-.2-2.5l1.9-3c.5-.8%202-2.3%202.6-2.6.6-.4%201.5-.6%202-.2.6.4%201%201%201.3%201.5.4.6.7%201.3.2%202-.7%201-1.6.9-2.8%201.7-1.2.8-1.9%201.2-2.5%201.9l3.8-1.8c1.3-.6%202.7-1.1%203.4-.7.8.5.8.7%201%201.4.3%201-.2%201.9-.8%202.4-.5.6-1.5.9-2.6%201.2-1.4.4-4.5%201-5.8.5-1.3-.5-1.3-1.4-1.5-1.8z'%20fill='%23fff'/%3e%3cpath%20d='M12.7%2014.8s-4-1.8-12%202.7c0%200%201%203.7%202.5%205.3%201.4%201.5%202.3%203.6%204.6%204.6%200%200%204.7-3%206.9-9.2l3-2s4.7%202.8%2012.6-1.6c0%200-.6-3.3-3-6-2.6-3-3.8-4.7-3.8-4.7s-4.1%202.3-7.5%209.3l-3.3%201.6z'%20fill='none'%20stroke='%23000'%20stroke-width='.5'/%3e%3cpath%20d='M12.4%2014.9s2.1-2%203-2c1.1%200%202.3%202.7%202.3%203.5%200%20.8-2.1%202.4-3.1%202.3%200%200%200-1.2-.7-2.6-.8-1.3-1.5-1.2-1.5-1.2z'%20fill='%237fbbdd'/%3e%3cpath%20d='M13.8%2015.3c.9.8.6%202%201.4%201.8%201-.2%201.4-.8%201.3-1.5%200-.7%200-.8-.4-1.6-.3-.7-1-1.1-2-.5-.7.5-1.4%201.3-1.4%201.3s.2-.3%201.1.5z'%20fill='%23fff'/%3e%3cpath%20d='M12.4%2014.9s2.1-2%203-2c1.1%200%202.3%202.7%202.3%203.5%200%20.8-2.1%202.4-3.1%202.3%200%200%200-1.2-.7-2.6-.8-1.3-1.5-1.2-1.5-1.2z'%20fill='none'%20stroke='%23000'%20stroke-width='.5'/%3e%3c/svg%3e", yr = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5'%20viewBox='0%200%2064%2064'%3e%3cpath%20d='M208.6%20548.2s11.2%2046.2%2031.2%2071c20%2024.9%2079.3%2061.6%2079.3%2061.6S385.6%20623%20438%20498.3c0%200%2018.1%201%2036-11.9%2017.7-12.7%2016.3-7.9%2021-24.8%200%200%2057%206.3%20131-9.7%2041.7-9.1%2084.3-26.3%20121.5-58.8%200%200-25.4-32.9-58-101.7-12.4-26.1-41.9-34.3-98.7-88L438.1%20391.2%20208.6%20548.2Z'%20style='fill-opacity:.11'%20transform='matrix(.10221%20.00684%20-.00671%20.10035%20-8%20-13.2)'/%3e%3cg%20transform='rotate(-35.4%2034.2%2080.8)%20scale(.10057)'%3e%3cpath%20d='M561.6%20349.2s-45.3-77.9-232.8-97.2c0%200-26.5%2073.2-21.1%20116%205.3%2043-4.7%2088.1%2021.4%20133.2%200%200%20114%205.5%20225.5-72.7l74.6%203.6S673.8%20534.4%20857%20554.4c0%200%2029.7-62.6%2022.2-137-8-78.7-7.5-124-7.5-124s-96.2-9.5-236.3%2068.4l-73.8-12.6Z'%20style='fill:%237fbbdd'/%3e%3cclipPath%20id='a'%3e%3cpath%20d='M561.6%20349.2s-45.3-77.9-232.8-97.2c0%200-26.5%2073.2-21.1%20116%205.3%2043-4.7%2088.1%2021.4%20133.2%200%200%20114%205.5%20225.5-72.7l74.6%203.6S673.8%20534.4%20857%20554.4c0%200%2029.7-62.6%2022.2-137-8-78.7-7.5-124-7.5-124s-96.2-9.5-236.3%2068.4l-73.8-12.6Z'/%3e%3c/clipPath%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20d='M386.9%20397.2c-15.6-13.6-51.8-22.4-96.3-16.7-44.5%205.8-93.8%2021.8-111.8%2031.6-10.6%205.7-27.3%2017.3-28.1%2027.2-1.2%2014.2%202.9%2037.8%2015%2052%206%207.2%2014.2%2012.1%2028.1%2014.1%2017.9%202.6%2059-24.8%2081.6-36.2%2024-12%2038.6-14.6%2063-22.2%200%200-47%2031.6-68.2%2047.4-30.6%2022.9-51.6%2028-57.3%2045.5-3.1%209.4-.7%2027.9%207.5%2037.6%209%2011%2012.8%2017.6%2034.2%2020.1%2012.7%201.5%2022%201.2%2059.8-28.6%2021.7-17.2%2055.9-59.2%2067-74.4%2016.2-22%2023.8-43.1%2021.3-59.6-3.7-23.6-8.4-31.3-15.8-37.8Z'%20style='fill:%23fff'%20transform='scale(.88664)%20rotate(31.2%20485%20792.2)'/%3e%3cpath%20d='M484.7%20379c-5.4-11.1-17.6-28.5-.8-53.8a739%20739%200%200%201%2044.2-60.6c13.2-16.3%2046.7-46.2%2059.6-52%2013-6%2033.3-8.7%2044.2.2%2011%209.1%2016.5%2020.6%2023%2032.7%207.4%2013.8%2012.4%2029.3%201.6%2042.8-15.4%2019.2-34.3%2017-61.6%2031.5-27.7%2014.8-42.3%2023.1-55.7%2035.9%200%200%2052.2-21.6%2082-31.2%2029.8-9.7%2059.8-20%2074.8-8.5s14.6%2015.5%2018.4%2031.2c4.7%2019.4-7.2%2038-20.1%2048.6-13%2010.7-34.3%2016-57.4%2021-30.5%206.8-96.6%2015.1-124%202.6-27.5-12.6-24.4-32.8-28.2-40.5Z'%20style='fill:%23fff'%20transform='scale(.87906)%20rotate(31.2%20487.2%20893.5)'/%3e%3c/g%3e%3cpath%20d='M561.6%20349.2s-45.3-77.9-232.8-97.2c0%200-26.5%2073.2-21.1%20116%205.3%2043-4.7%2088.1%2021.4%20133.2%200%200%20114%205.5%20225.5-72.7l74.6%203.6S673.8%20534.4%20857%20554.4c0%200%2029.7-62.6%2022.2-137-8-78.7-7.5-124-7.5-124s-96.2-9.5-236.3%2068.4l-73.8-12.6Z'%20style='fill:none;stroke:%23000;stroke-width:16.57px'/%3e%3c/g%3e%3cg%20transform='rotate(-4.2%20-78%20211)%20scale(.10057)'%3e%3cpath%20d='M385%20385.5s45.8-37.6%2065-35.4c21.7%202.5%2040.5%2057.6%2040.2%2074.3-.3%2016.7-47.3%2045.5-67.7%2041.8%200%200%203-24-10.4-52.9-13.4-28.8-27.2-27.8-27.2-27.8Z'%20style='fill:%237fbbdd'/%3e%3cclipPath%20id='b'%3e%3cpath%20d='M385%20385.5s45.8-37.6%2065-35.4c21.7%202.5%2040.5%2057.6%2040.2%2074.3-.3%2016.7-47.3%2045.5-67.7%2041.8%200%200%203-24-10.4-52.9-13.4-28.8-27.2-27.8-27.2-27.8Z'/%3e%3c/clipPath%3e%3cg%20clip-path='url(%23b)'%3e%3cpath%20d='M413.3%20402.7c17.5%2018.9%2010%2045.7%2028.4%2043.4%2021.7-2.7%2030.9-15.7%2031.6-32.7.7-17-1-19.5-7.1-38-6.1-18.7-18.2-23.2-43.4-18.2-20.8%204.1-17.8%203-24%2010-6.4%207-14.5%2026-14.5%2026s8.4-12.7%2029%209.5Z'%20style='fill:%23fff'%20transform='matrix(.90907%200%200%20.85852%2037%2052.2)'/%3e%3c/g%3e%3cpath%20d='M385%20385.5s45.8-37.6%2065-35.4c21.7%202.5%2040.5%2057.6%2040.2%2074.3-.3%2016.7-47.3%2045.5-67.7%2041.8%200%200%203-24-10.4-52.9-13.4-28.8-27.2-27.8-27.2-27.8Z'%20style='fill:none;stroke:%23000;stroke-width:16.57px'/%3e%3c/g%3e%3c/svg%3e", br =
|
|
89
|
+
var vr = "data:image/svg+xml,%3csvg%20viewBox='0%200%2032%2032'%20xmlns='http://www.w3.org/2000/svg'%20fill-rule='evenodd'%20clip-rule='evenodd'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-miterlimit='1.5'%3e%3cpath%20d='M4.7%2021.2s.4%202.3%201.3%203.6C7%2026%209.8%2028%209.8%2028s3.4-2.6%206.4-8.5c0%200%201%20.1%201.9-.4.9-.6.8-.4%201-1.2%200%200%202.9.5%206.6%200%202.1-.3%204.3-1%206.2-2.5%200%200-1.1-1.7-2.5-5.1-.5-1.3-2-1.8-4.6-4.6l-8.2%208.6-11.9%206.9z'%20fill-opacity='.1'/%3e%3cpath%20d='M12.7%2014.8s-4-1.8-12%202.7c0%200%201%203.7%202.5%205.3%201.4%201.5%202.3%203.6%204.6%204.6%200%200%204.7-3%206.9-9.2l3-2s4.7%202.8%2012.6-1.6c0%200-.6-3.3-3-6-2.6-3-3.8-4.7-3.8-4.7s-4.1%202.3-7.5%209.3l-3.3%201.6z'%20fill='%237fbbdd'/%3e%3cpath%20d='M12.4%2015.5c-.7-.5-2.4-.8-4.4-.4-2%20.4-4%201.3-4.8%201.8-.5.3-1.2%201-1.2%201.4%200%20.7.3%201.8.8%202.4.3.3.7.5%201.4.6.8%200%202.5-1.4%203.5-2%201-.6%201.6-.8%202.7-1.2l-2.9%202.4c-1.3%201.2-2.2%201.5-2.4%202.3%200%20.5%200%201.4.5%201.8.4.5.6.8%201.6.8.6%200%201%200%202.6-1.5.9-.9%202.3-3%202.7-3.7.6-1.1%201-2.2.7-3-.2-1-.4-1.4-.8-1.7zM17.4%2014.2c-.3-.5-.9-1.2-.2-2.5l1.9-3c.5-.8%202-2.3%202.6-2.6.6-.4%201.5-.6%202-.2.6.4%201%201%201.3%201.5.4.6.7%201.3.2%202-.7%201-1.6.9-2.8%201.7-1.2.8-1.9%201.2-2.5%201.9l3.8-1.8c1.3-.6%202.7-1.1%203.4-.7.8.5.8.7%201%201.4.3%201-.2%201.9-.8%202.4-.5.6-1.5.9-2.6%201.2-1.4.4-4.5%201-5.8.5-1.3-.5-1.3-1.4-1.5-1.8z'%20fill='%23fff'/%3e%3cpath%20d='M12.7%2014.8s-4-1.8-12%202.7c0%200%201%203.7%202.5%205.3%201.4%201.5%202.3%203.6%204.6%204.6%200%200%204.7-3%206.9-9.2l3-2s4.7%202.8%2012.6-1.6c0%200-.6-3.3-3-6-2.6-3-3.8-4.7-3.8-4.7s-4.1%202.3-7.5%209.3l-3.3%201.6z'%20fill='none'%20stroke='%23000'%20stroke-width='.5'/%3e%3cpath%20d='M12.4%2014.9s2.1-2%203-2c1.1%200%202.3%202.7%202.3%203.5%200%20.8-2.1%202.4-3.1%202.3%200%200%200-1.2-.7-2.6-.8-1.3-1.5-1.2-1.5-1.2z'%20fill='%237fbbdd'/%3e%3cpath%20d='M13.8%2015.3c.9.8.6%202%201.4%201.8%201-.2%201.4-.8%201.3-1.5%200-.7%200-.8-.4-1.6-.3-.7-1-1.1-2-.5-.7.5-1.4%201.3-1.4%201.3s.2-.3%201.1.5z'%20fill='%23fff'/%3e%3cpath%20d='M12.4%2014.9s2.1-2%203-2c1.1%200%202.3%202.7%202.3%203.5%200%20.8-2.1%202.4-3.1%202.3%200%200%200-1.2-.7-2.6-.8-1.3-1.5-1.2-1.5-1.2z'%20fill='none'%20stroke='%23000'%20stroke-width='.5'/%3e%3c/svg%3e", yr = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20style='fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5'%20viewBox='0%200%2064%2064'%3e%3cpath%20d='M208.6%20548.2s11.2%2046.2%2031.2%2071c20%2024.9%2079.3%2061.6%2079.3%2061.6S385.6%20623%20438%20498.3c0%200%2018.1%201%2036-11.9%2017.7-12.7%2016.3-7.9%2021-24.8%200%200%2057%206.3%20131-9.7%2041.7-9.1%2084.3-26.3%20121.5-58.8%200%200-25.4-32.9-58-101.7-12.4-26.1-41.9-34.3-98.7-88L438.1%20391.2%20208.6%20548.2Z'%20style='fill-opacity:.11'%20transform='matrix(.10221%20.00684%20-.00671%20.10035%20-8%20-13.2)'/%3e%3cg%20transform='rotate(-35.4%2034.2%2080.8)%20scale(.10057)'%3e%3cpath%20d='M561.6%20349.2s-45.3-77.9-232.8-97.2c0%200-26.5%2073.2-21.1%20116%205.3%2043-4.7%2088.1%2021.4%20133.2%200%200%20114%205.5%20225.5-72.7l74.6%203.6S673.8%20534.4%20857%20554.4c0%200%2029.7-62.6%2022.2-137-8-78.7-7.5-124-7.5-124s-96.2-9.5-236.3%2068.4l-73.8-12.6Z'%20style='fill:%237fbbdd'/%3e%3cclipPath%20id='a'%3e%3cpath%20d='M561.6%20349.2s-45.3-77.9-232.8-97.2c0%200-26.5%2073.2-21.1%20116%205.3%2043-4.7%2088.1%2021.4%20133.2%200%200%20114%205.5%20225.5-72.7l74.6%203.6S673.8%20534.4%20857%20554.4c0%200%2029.7-62.6%2022.2-137-8-78.7-7.5-124-7.5-124s-96.2-9.5-236.3%2068.4l-73.8-12.6Z'/%3e%3c/clipPath%3e%3cg%20clip-path='url(%23a)'%3e%3cpath%20d='M386.9%20397.2c-15.6-13.6-51.8-22.4-96.3-16.7-44.5%205.8-93.8%2021.8-111.8%2031.6-10.6%205.7-27.3%2017.3-28.1%2027.2-1.2%2014.2%202.9%2037.8%2015%2052%206%207.2%2014.2%2012.1%2028.1%2014.1%2017.9%202.6%2059-24.8%2081.6-36.2%2024-12%2038.6-14.6%2063-22.2%200%200-47%2031.6-68.2%2047.4-30.6%2022.9-51.6%2028-57.3%2045.5-3.1%209.4-.7%2027.9%207.5%2037.6%209%2011%2012.8%2017.6%2034.2%2020.1%2012.7%201.5%2022%201.2%2059.8-28.6%2021.7-17.2%2055.9-59.2%2067-74.4%2016.2-22%2023.8-43.1%2021.3-59.6-3.7-23.6-8.4-31.3-15.8-37.8Z'%20style='fill:%23fff'%20transform='scale(.88664)%20rotate(31.2%20485%20792.2)'/%3e%3cpath%20d='M484.7%20379c-5.4-11.1-17.6-28.5-.8-53.8a739%20739%200%200%201%2044.2-60.6c13.2-16.3%2046.7-46.2%2059.6-52%2013-6%2033.3-8.7%2044.2.2%2011%209.1%2016.5%2020.6%2023%2032.7%207.4%2013.8%2012.4%2029.3%201.6%2042.8-15.4%2019.2-34.3%2017-61.6%2031.5-27.7%2014.8-42.3%2023.1-55.7%2035.9%200%200%2052.2-21.6%2082-31.2%2029.8-9.7%2059.8-20%2074.8-8.5s14.6%2015.5%2018.4%2031.2c4.7%2019.4-7.2%2038-20.1%2048.6-13%2010.7-34.3%2016-57.4%2021-30.5%206.8-96.6%2015.1-124%202.6-27.5-12.6-24.4-32.8-28.2-40.5Z'%20style='fill:%23fff'%20transform='scale(.87906)%20rotate(31.2%20487.2%20893.5)'/%3e%3c/g%3e%3cpath%20d='M561.6%20349.2s-45.3-77.9-232.8-97.2c0%200-26.5%2073.2-21.1%20116%205.3%2043-4.7%2088.1%2021.4%20133.2%200%200%20114%205.5%20225.5-72.7l74.6%203.6S673.8%20534.4%20857%20554.4c0%200%2029.7-62.6%2022.2-137-8-78.7-7.5-124-7.5-124s-96.2-9.5-236.3%2068.4l-73.8-12.6Z'%20style='fill:none;stroke:%23000;stroke-width:16.57px'/%3e%3c/g%3e%3cg%20transform='rotate(-4.2%20-78%20211)%20scale(.10057)'%3e%3cpath%20d='M385%20385.5s45.8-37.6%2065-35.4c21.7%202.5%2040.5%2057.6%2040.2%2074.3-.3%2016.7-47.3%2045.5-67.7%2041.8%200%200%203-24-10.4-52.9-13.4-28.8-27.2-27.8-27.2-27.8Z'%20style='fill:%237fbbdd'/%3e%3cclipPath%20id='b'%3e%3cpath%20d='M385%20385.5s45.8-37.6%2065-35.4c21.7%202.5%2040.5%2057.6%2040.2%2074.3-.3%2016.7-47.3%2045.5-67.7%2041.8%200%200%203-24-10.4-52.9-13.4-28.8-27.2-27.8-27.2-27.8Z'/%3e%3c/clipPath%3e%3cg%20clip-path='url(%23b)'%3e%3cpath%20d='M413.3%20402.7c17.5%2018.9%2010%2045.7%2028.4%2043.4%2021.7-2.7%2030.9-15.7%2031.6-32.7.7-17-1-19.5-7.1-38-6.1-18.7-18.2-23.2-43.4-18.2-20.8%204.1-17.8%203-24%2010-6.4%207-14.5%2026-14.5%2026s8.4-12.7%2029%209.5Z'%20style='fill:%23fff'%20transform='matrix(.90907%200%200%20.85852%2037%2052.2)'/%3e%3c/g%3e%3cpath%20d='M385%20385.5s45.8-37.6%2065-35.4c21.7%202.5%2040.5%2057.6%2040.2%2074.3-.3%2016.7-47.3%2045.5-67.7%2041.8%200%200%203-24-10.4-52.9-13.4-28.8-27.2-27.8-27.2-27.8Z'%20style='fill:none;stroke:%23000;stroke-width:16.57px'/%3e%3c/g%3e%3c/svg%3e", br = He(class extends Yt {
|
|
89
90
|
constructor(e) {
|
|
90
|
-
if (super(e), e.type !==
|
|
91
|
+
if (super(e), e.type !== ve.ATTRIBUTE || e.name !== "class" || e.strings?.length > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
|
|
91
92
|
}
|
|
92
93
|
render(e) {
|
|
93
94
|
return " " + Object.keys(e).filter((t) => e[t]).join(" ") + " ";
|
|
@@ -104,7 +105,7 @@ var vr = "data:image/svg+xml,%3csvg%20viewBox='0%200%2032%2032'%20xmlns='http://
|
|
|
104
105
|
let r = !!t[e];
|
|
105
106
|
r === this.st.has(e) || this.nt?.has(e) || (r ? (n.add(e), this.st.add(e)) : (n.remove(e), this.st.delete(e)));
|
|
106
107
|
}
|
|
107
|
-
return
|
|
108
|
+
return ce;
|
|
108
109
|
}
|
|
109
110
|
}), xr = {
|
|
110
111
|
prefix: "fas",
|
|
@@ -2488,7 +2489,7 @@ var W = U.icon;
|
|
|
2488
2489
|
U.layer, U.text, U.counter;
|
|
2489
2490
|
//#endregion
|
|
2490
2491
|
//#region src/components/generic/componentStyles.js
|
|
2491
|
-
var Dc =
|
|
2492
|
+
var Dc = ne(Ec.css()), Oc = I`
|
|
2492
2493
|
:host {
|
|
2493
2494
|
--basic-spacing: var(--gs-basic-spacing, 10px);
|
|
2494
2495
|
--form-control-color: #212529;
|
|
@@ -2834,7 +2835,7 @@ var Dc = ue(Ec.css()), Oc = F`
|
|
|
2834
2835
|
"datetime-local",
|
|
2835
2836
|
"month",
|
|
2836
2837
|
"week"
|
|
2837
|
-
]), G = class extends
|
|
2838
|
+
]), G = class extends F {
|
|
2838
2839
|
static properties = {
|
|
2839
2840
|
dialogTitle: {},
|
|
2840
2841
|
modal: { type: Boolean }
|
|
@@ -2843,7 +2844,7 @@ var Dc = ue(Ec.css()), Oc = F`
|
|
|
2843
2844
|
static styles = [
|
|
2844
2845
|
Oc,
|
|
2845
2846
|
Dc,
|
|
2846
|
-
|
|
2847
|
+
I`
|
|
2847
2848
|
dialog {
|
|
2848
2849
|
font-family: var(--gs-font-family, sans-serif);
|
|
2849
2850
|
font-size: var(--gs-font-size, 14px);
|
|
@@ -3034,14 +3035,14 @@ var Dc = ue(Ec.css()), Oc = F`
|
|
|
3034
3035
|
}), this.triggerClose());
|
|
3035
3036
|
}
|
|
3036
3037
|
renderHeader() {
|
|
3037
|
-
return L`${this.dialogTitle ? L`${this.dialogTitle}` :
|
|
3038
|
+
return L`${this.dialogTitle ? L`${this.dialogTitle}` : _}`;
|
|
3038
3039
|
}
|
|
3039
3040
|
renderBody() {
|
|
3040
3041
|
return L``;
|
|
3041
3042
|
}
|
|
3042
3043
|
renderFooter() {
|
|
3043
3044
|
let e = this.renderButtons();
|
|
3044
|
-
return e?.length ? L`<div>${e}</div>` :
|
|
3045
|
+
return e?.length ? L`<div>${e}</div>` : _;
|
|
3045
3046
|
}
|
|
3046
3047
|
renderButtons() {
|
|
3047
3048
|
return [this.makeCloseButton()];
|
|
@@ -3059,7 +3060,7 @@ var Dc = ue(Ec.css()), Oc = F`
|
|
|
3059
3060
|
await t() || this.triggerClose();
|
|
3060
3061
|
}}
|
|
3061
3062
|
>
|
|
3062
|
-
${r ? W(r).node[0] :
|
|
3063
|
+
${r ? W(r).node[0] : _} ${e}
|
|
3063
3064
|
</button>`;
|
|
3064
3065
|
}
|
|
3065
3066
|
makeCloseButton(e = "Close") {
|
|
@@ -3068,13 +3069,13 @@ var Dc = ue(Ec.css()), Oc = F`
|
|
|
3068
3069
|
render() {
|
|
3069
3070
|
let e = this.renderHeader(), t = this.renderFooter();
|
|
3070
3071
|
return L`
|
|
3071
|
-
${this.modal ?
|
|
3072
|
+
${this.modal ? _ : L`<div class="non-modal-backdrop"></div>`}
|
|
3072
3073
|
<dialog
|
|
3073
3074
|
@cancel=${(e) => this.#a(e)}
|
|
3074
3075
|
>
|
|
3075
|
-
${e ? L`<header>${e}</header>` :
|
|
3076
|
+
${e ? L`<header>${e}</header>` : _}
|
|
3076
3077
|
<section>${this.renderBody()}</section>
|
|
3077
|
-
${t ? L`<footer>${t}</footer>` :
|
|
3078
|
+
${t ? L`<footer>${t}</footer>` : _}
|
|
3078
3079
|
</dialog>
|
|
3079
3080
|
`;
|
|
3080
3081
|
}
|
|
@@ -3116,7 +3117,7 @@ var Nc = {
|
|
|
3116
3117
|
type: { type: String },
|
|
3117
3118
|
confirm: { type: Boolean }
|
|
3118
3119
|
};
|
|
3119
|
-
static styles = [...super.styles,
|
|
3120
|
+
static styles = [...super.styles, I`
|
|
3120
3121
|
.message-flex {
|
|
3121
3122
|
display: flex;
|
|
3122
3123
|
flex-direction: row;
|
|
@@ -3143,7 +3144,7 @@ var Nc = {
|
|
|
3143
3144
|
if (this.type) {
|
|
3144
3145
|
let e = Nc[this.type];
|
|
3145
3146
|
return L`<div class="message-flex">
|
|
3146
|
-
${e ? L`<div class="icon">${W(e).node[0]}</div>` :
|
|
3147
|
+
${e ? L`<div class="icon">${W(e).node[0]}</div>` : _}
|
|
3147
3148
|
<div class="message">${this.message}</div>
|
|
3148
3149
|
</div>`;
|
|
3149
3150
|
} else return L`${this.message}`;
|
|
@@ -3157,7 +3158,7 @@ function q(e, t = {}) {
|
|
|
3157
3158
|
}
|
|
3158
3159
|
//#endregion
|
|
3159
3160
|
//#region ../../node_modules/lit-html/directive-helpers.js
|
|
3160
|
-
var { I: Fc } =
|
|
3161
|
+
var { I: Fc } = a, Ic = (e) => e, Lc = (e) => e === null || typeof e != "object" && typeof e != "function", Rc = (e) => e.strings === void 0, zc = () => document.createComment(""), Bc = (e, t, n) => {
|
|
3161
3162
|
let r = e._$AA.parentNode, i = t === void 0 ? e._$AB : t._$AA;
|
|
3162
3163
|
if (n === void 0) n = new Fc(r.insertBefore(zc(), i), r.insertBefore(zc(), i), e, e.options);
|
|
3163
3164
|
else {
|
|
@@ -3181,9 +3182,9 @@ var { I: Fc } = re, Ic = (e) => e, Lc = (e) => e === null || typeof e != "object
|
|
|
3181
3182
|
let r = /* @__PURE__ */ new Map();
|
|
3182
3183
|
for (let i = t; i <= n; i++) r.set(e[i], i);
|
|
3183
3184
|
return r;
|
|
3184
|
-
}, qc =
|
|
3185
|
+
}, qc = He(class extends Yt {
|
|
3185
3186
|
constructor(e) {
|
|
3186
|
-
if (super(e), e.type !==
|
|
3187
|
+
if (super(e), e.type !== ve.CHILD) throw Error("repeat() can only be used in text expressions");
|
|
3187
3188
|
}
|
|
3188
3189
|
dt(e, t, n) {
|
|
3189
3190
|
let r;
|
|
@@ -3199,33 +3200,33 @@ var { I: Fc } = re, Ic = (e) => e, Lc = (e) => e === null || typeof e != "object
|
|
|
3199
3200
|
return this.dt(e, t, n).values;
|
|
3200
3201
|
}
|
|
3201
3202
|
update(e, [t, n, r]) {
|
|
3202
|
-
let i = Wc(e), { values:
|
|
3203
|
-
if (!Array.isArray(i)) return this.ut =
|
|
3204
|
-
let
|
|
3205
|
-
for (;
|
|
3206
|
-
else if (i[
|
|
3207
|
-
else if (
|
|
3208
|
-
else if (
|
|
3209
|
-
else if (
|
|
3210
|
-
else if (
|
|
3211
|
-
else if (
|
|
3212
|
-
let t =
|
|
3203
|
+
let i = Wc(e), { values: a, keys: o } = this.dt(t, n, r);
|
|
3204
|
+
if (!Array.isArray(i)) return this.ut = o, a;
|
|
3205
|
+
let s = this.ut ??= [], c = [], l, u, d = 0, f = i.length - 1, p = 0, m = a.length - 1;
|
|
3206
|
+
for (; d <= f && p <= m;) if (i[d] === null) d++;
|
|
3207
|
+
else if (i[f] === null) f--;
|
|
3208
|
+
else if (s[d] === o[p]) c[p] = Vc(i[d], a[p]), d++, p++;
|
|
3209
|
+
else if (s[f] === o[m]) c[m] = Vc(i[f], a[m]), f--, m--;
|
|
3210
|
+
else if (s[d] === o[m]) c[m] = Vc(i[d], a[m]), Bc(e, c[m + 1], i[d]), d++, m--;
|
|
3211
|
+
else if (s[f] === o[p]) c[p] = Vc(i[f], a[p]), Bc(e, i[d], i[f]), f--, p++;
|
|
3212
|
+
else if (l === void 0 && (l = Kc(o, p, m), u = Kc(s, d, f)), l.has(s[d])) if (l.has(s[f])) {
|
|
3213
|
+
let t = u.get(o[p]), n = t === void 0 ? null : i[t];
|
|
3213
3214
|
if (n === null) {
|
|
3214
|
-
let t = Bc(e, i[
|
|
3215
|
-
Vc(t,
|
|
3216
|
-
} else
|
|
3217
|
-
|
|
3218
|
-
} else Gc(i[
|
|
3219
|
-
else Gc(i[
|
|
3220
|
-
for (;
|
|
3221
|
-
let t = Bc(e,
|
|
3222
|
-
Vc(t,
|
|
3223
|
-
}
|
|
3224
|
-
for (;
|
|
3225
|
-
let e = i[
|
|
3215
|
+
let t = Bc(e, i[d]);
|
|
3216
|
+
Vc(t, a[p]), c[p] = t;
|
|
3217
|
+
} else c[p] = Vc(n, a[p]), Bc(e, i[d], n), i[t] = null;
|
|
3218
|
+
p++;
|
|
3219
|
+
} else Gc(i[f]), f--;
|
|
3220
|
+
else Gc(i[d]), d++;
|
|
3221
|
+
for (; p <= m;) {
|
|
3222
|
+
let t = Bc(e, c[m + 1]);
|
|
3223
|
+
Vc(t, a[p]), c[p++] = t;
|
|
3224
|
+
}
|
|
3225
|
+
for (; d <= f;) {
|
|
3226
|
+
let e = i[d++];
|
|
3226
3227
|
e !== null && Gc(e);
|
|
3227
3228
|
}
|
|
3228
|
-
return this.ut =
|
|
3229
|
+
return this.ut = o, Uc(e, c), ce;
|
|
3229
3230
|
}
|
|
3230
3231
|
}), Jc = L`
|
|
3231
3232
|
<div class="gs-alert info">
|
|
@@ -3268,7 +3269,7 @@ var { I: Fc } = re, Ic = (e) => e, Lc = (e) => e === null || typeof e != "object
|
|
|
3268
3269
|
backgroundColor: { type: String },
|
|
3269
3270
|
saving: { type: Boolean }
|
|
3270
3271
|
};
|
|
3271
|
-
static styles = [...super.styles,
|
|
3272
|
+
static styles = [...super.styles, I`
|
|
3272
3273
|
dialog {
|
|
3273
3274
|
min-width: 500px;
|
|
3274
3275
|
}
|
|
@@ -3348,7 +3349,7 @@ var { I: Fc } = re, Ic = (e) => e, Lc = (e) => e === null || typeof e != "object
|
|
|
3348
3349
|
/>
|
|
3349
3350
|
Transparent</label
|
|
3350
3351
|
>
|
|
3351
|
-
${this.transparentBackground ?
|
|
3352
|
+
${this.transparentBackground ? _ : L`<input
|
|
3352
3353
|
type="color"
|
|
3353
3354
|
id="pngBackground"
|
|
3354
3355
|
style="margin-left: 1em"
|
|
@@ -3409,7 +3410,7 @@ function $c(e) {
|
|
|
3409
3410
|
}
|
|
3410
3411
|
//#endregion
|
|
3411
3412
|
//#region src/components/generic/searchableCheckboxList.js
|
|
3412
|
-
var el = class extends
|
|
3413
|
+
var el = class extends F {
|
|
3413
3414
|
static properties = {
|
|
3414
3415
|
items: { attribute: !1 },
|
|
3415
3416
|
selectedValues: { attribute: !1 },
|
|
@@ -3421,7 +3422,7 @@ var el = class extends m {
|
|
|
3421
3422
|
static styles = [
|
|
3422
3423
|
Dc,
|
|
3423
3424
|
Oc,
|
|
3424
|
-
|
|
3425
|
+
I`
|
|
3425
3426
|
:host {
|
|
3426
3427
|
display: flex;
|
|
3427
3428
|
flex-direction: column;
|
|
@@ -3514,7 +3515,7 @@ var el = class extends m {
|
|
|
3514
3515
|
`
|
|
3515
3516
|
];
|
|
3516
3517
|
constructor() {
|
|
3517
|
-
super(), this.items = [], this.selectedValues = [], this.placeholder = "Type something to filter the list", this.selectedItemName = "items", this.itemMarker = () =>
|
|
3518
|
+
super(), this.items = [], this.selectedValues = [], this.placeholder = "Type something to filter the list", this.selectedItemName = "items", this.itemMarker = () => _, this.search = "";
|
|
3518
3519
|
}
|
|
3519
3520
|
getFilteredItems() {
|
|
3520
3521
|
return this.items.filter((e) => {
|
|
@@ -3593,7 +3594,7 @@ var el = class extends m {
|
|
|
3593
3594
|
${W(ii).node[0]} Hit enter to select
|
|
3594
3595
|
the exact match
|
|
3595
3596
|
</div>
|
|
3596
|
-
</div>` :
|
|
3597
|
+
</div>` : _}
|
|
3597
3598
|
</div>
|
|
3598
3599
|
<small>
|
|
3599
3600
|
The number of selected ${this.selectedItemName}:
|
|
@@ -3637,12 +3638,12 @@ var tl = class extends Event {
|
|
|
3637
3638
|
label: ">",
|
|
3638
3639
|
title: "greater than"
|
|
3639
3640
|
}
|
|
3640
|
-
], rl = class extends
|
|
3641
|
+
], rl = class extends F {
|
|
3641
3642
|
static properties = {
|
|
3642
3643
|
value: { type: String },
|
|
3643
3644
|
options: { attribute: !1 }
|
|
3644
3645
|
};
|
|
3645
|
-
static styles = [Oc,
|
|
3646
|
+
static styles = [Oc, I`
|
|
3646
3647
|
:host {
|
|
3647
3648
|
display: block;
|
|
3648
3649
|
}
|
|
@@ -3687,7 +3688,7 @@ function al(e, t) {
|
|
|
3687
3688
|
}
|
|
3688
3689
|
//#endregion
|
|
3689
3690
|
//#region src/components/generic/histogram.js
|
|
3690
|
-
var ol =
|
|
3691
|
+
var ol = I`
|
|
3691
3692
|
:host {
|
|
3692
3693
|
display: block;
|
|
3693
3694
|
font-size: inherit;
|
|
@@ -3806,7 +3807,7 @@ var ol = F`
|
|
|
3806
3807
|
cursor: default;
|
|
3807
3808
|
}
|
|
3808
3809
|
}
|
|
3809
|
-
`, sl = class extends
|
|
3810
|
+
`, sl = class extends F {
|
|
3810
3811
|
static properties = {
|
|
3811
3812
|
values: { attribute: !1 },
|
|
3812
3813
|
thresholds: { attribute: !1 },
|
|
@@ -3824,10 +3825,10 @@ var ol = F`
|
|
|
3824
3825
|
#n;
|
|
3825
3826
|
#r = 0;
|
|
3826
3827
|
constructor() {
|
|
3827
|
-
super(), this.values = [], this.thresholds = [], this.operators = [], this.colors = fl, this.showThresholdNumbers = !1, this.binCount = 40, this.#e = mr().thresholds(this.binCount), this.#t = this.#e([]), this.#n =
|
|
3828
|
+
super(), this.values = [], this.thresholds = [], this.operators = [], this.colors = fl, this.showThresholdNumbers = !1, this.binCount = 40, this.#e = mr().thresholds(this.binCount), this.#t = this.#e([]), this.#n = nr();
|
|
3828
3829
|
}
|
|
3829
3830
|
willUpdate(e) {
|
|
3830
|
-
e.has("binCount") && (this.#e = mr().thresholds(this.binCount)), (e.has("values") || e.has("binCount")) && (this.#t = this.#e(this.values), this.#n =
|
|
3831
|
+
e.has("binCount") && (this.#e = mr().thresholds(this.binCount)), (e.has("values") || e.has("binCount")) && (this.#t = this.#e(this.values), this.#n = nr().domain(this.domain).range([0, 100]));
|
|
3831
3832
|
}
|
|
3832
3833
|
get domain() {
|
|
3833
3834
|
return [this.#t.at(0).x0, this.#t.at(-1).x1];
|
|
@@ -3846,7 +3847,7 @@ var ol = F`
|
|
|
3846
3847
|
});
|
|
3847
3848
|
}
|
|
3848
3849
|
#o(e, t, n) {
|
|
3849
|
-
n =
|
|
3850
|
+
n = an(n, 0, 1), this.dispatchEvent(new cl(e, t, +this.#n.invert(n * 100).toPrecision(3)));
|
|
3850
3851
|
}
|
|
3851
3852
|
#s() {
|
|
3852
3853
|
let e = this.#t, t = this.#n, n = 90 / e.map((e) => e.length).reduce((e, t) => Math.max(e, t), 0), r = [], i = this.thresholds.length == 1 && this.operators[0] == "eq", a = [
|
|
@@ -3895,7 +3896,7 @@ var ol = F`
|
|
|
3895
3896
|
return L`<div class="histogram-widget">
|
|
3896
3897
|
<div class="histogram-plot">
|
|
3897
3898
|
<div class="histogram-bars">${this.#s().map((e) => L`<div
|
|
3898
|
-
style=${
|
|
3899
|
+
style=${Qt({
|
|
3899
3900
|
width: t + .01 + "%",
|
|
3900
3901
|
left: e.x + "%",
|
|
3901
3902
|
bottom: e.y + "%",
|
|
@@ -3908,15 +3909,15 @@ var ol = F`
|
|
|
3908
3909
|
let r = e(t);
|
|
3909
3910
|
return r >= 0 && r <= 100 ? L`<div
|
|
3910
3911
|
class="histogram-threshold"
|
|
3911
|
-
style=${
|
|
3912
|
+
style=${Qt({ left: e(t) + "%" })}
|
|
3912
3913
|
>
|
|
3913
3914
|
<div
|
|
3914
3915
|
class="histogram-knob"
|
|
3915
3916
|
@mousedown=${(e) => this.#a(e, n)}
|
|
3916
3917
|
>
|
|
3917
|
-
${this.showThresholdNumbers ? n + 1 :
|
|
3918
|
+
${this.showThresholdNumbers ? n + 1 : _}
|
|
3918
3919
|
</div>
|
|
3919
|
-
</div>` :
|
|
3920
|
+
</div>` : _;
|
|
3920
3921
|
})}
|
|
3921
3922
|
</div>
|
|
3922
3923
|
<div
|
|
@@ -3984,7 +3985,7 @@ function ml(e) {
|
|
|
3984
3985
|
function hl(e, t) {
|
|
3985
3986
|
return vl(e) ? e : t;
|
|
3986
3987
|
}
|
|
3987
|
-
var gl = class extends
|
|
3988
|
+
var gl = class extends F {
|
|
3988
3989
|
static properties = {
|
|
3989
3990
|
values: { attribute: !1 },
|
|
3990
3991
|
operator: { type: String },
|
|
@@ -3995,7 +3996,7 @@ var gl = class extends m {
|
|
|
3995
3996
|
},
|
|
3996
3997
|
placeholder: { type: String }
|
|
3997
3998
|
};
|
|
3998
|
-
static styles = [Oc,
|
|
3999
|
+
static styles = [Oc, I`
|
|
3999
4000
|
:host {
|
|
4000
4001
|
display: block;
|
|
4001
4002
|
}
|
|
@@ -4052,7 +4053,7 @@ var gl = class extends m {
|
|
|
4052
4053
|
.showThresholdNumbers=${!1}
|
|
4053
4054
|
@add=${(e) => this.#r(e)}
|
|
4054
4055
|
@adjust=${(e) => this.#i(e)}
|
|
4055
|
-
></gs-histogram>` :
|
|
4056
|
+
></gs-histogram>` : _}
|
|
4056
4057
|
|
|
4057
4058
|
<input
|
|
4058
4059
|
type="number"
|
|
@@ -4089,7 +4090,7 @@ var yl = class extends G {
|
|
|
4089
4090
|
categoryToMarker: {}
|
|
4090
4091
|
};
|
|
4091
4092
|
constructor() {
|
|
4092
|
-
super(), this.categories = [], this.attributeInfo = null, this.sampleView = null, this.categoryToMarker = () =>
|
|
4093
|
+
super(), this.categories = [], this.attributeInfo = null, this.sampleView = null, this.categoryToMarker = () => _, this.selection = [];
|
|
4093
4094
|
}
|
|
4094
4095
|
willUpdate(e) {
|
|
4095
4096
|
e.has("attributeInfo") && (this.dialogTitle = `Filter by ${this.attributeInfo.name}`);
|
|
@@ -4178,7 +4179,7 @@ var bl = class extends G {
|
|
|
4178
4179
|
customElements.define("gs-quantitative-attribute-filter-dialog", bl);
|
|
4179
4180
|
function xl(e, t) {
|
|
4180
4181
|
let n = e.scale?.type;
|
|
4181
|
-
|
|
4182
|
+
qn(n) ? Cl(e, t) : Xn(n) || Wn(n) ? Tl(e, t) : e.type === "identifier" ? Sl(e, t) : q("Not implemented (yet).");
|
|
4182
4183
|
}
|
|
4183
4184
|
function Sl(e, t) {
|
|
4184
4185
|
wl(t.getSamples().map((e) => e.id), e, t);
|
|
@@ -4187,10 +4188,10 @@ function Cl(e, t) {
|
|
|
4187
4188
|
let n = e.scale;
|
|
4188
4189
|
wl(n.domain(), e, t, (e) => L`<span
|
|
4189
4190
|
class="color"
|
|
4190
|
-
style=${
|
|
4191
|
+
style=${Qt({ backgroundColor: n(e).toString() })}
|
|
4191
4192
|
></span>`);
|
|
4192
4193
|
}
|
|
4193
|
-
function wl(e, t, n, r = (e) =>
|
|
4194
|
+
function wl(e, t, n, r = (e) => _) {
|
|
4194
4195
|
let i = new Set(h(t, n.leafSamples, n.sampleHierarchy)), a = e.filter((e) => i.has(e)).map((e) => ({
|
|
4195
4196
|
value: e,
|
|
4196
4197
|
label: `${e}`,
|
|
@@ -4217,7 +4218,7 @@ var El = class extends G {
|
|
|
4217
4218
|
validationError: {},
|
|
4218
4219
|
values: {}
|
|
4219
4220
|
};
|
|
4220
|
-
static styles = [...super.styles,
|
|
4221
|
+
static styles = [...super.styles, I`
|
|
4221
4222
|
.group-by-thresholds-form {
|
|
4222
4223
|
width: 27em;
|
|
4223
4224
|
}
|
|
@@ -4316,7 +4317,7 @@ var El = class extends G {
|
|
|
4316
4317
|
${this.validationError ? L`<div class="gs-alert danger">
|
|
4317
4318
|
${W(Dr).node[0]}
|
|
4318
4319
|
<span>${this.validationError}</span>
|
|
4319
|
-
</div>` :
|
|
4320
|
+
</div>` : _}
|
|
4320
4321
|
|
|
4321
4322
|
<label>Split into groups using the thresholds:</label>
|
|
4322
4323
|
|
|
@@ -4412,7 +4413,7 @@ var El = class extends G {
|
|
|
4412
4413
|
`)}
|
|
4413
4414
|
</tbody>
|
|
4414
4415
|
</table>`;
|
|
4415
|
-
})()}` :
|
|
4416
|
+
})()}` : _}
|
|
4416
4417
|
</div>`;
|
|
4417
4418
|
}
|
|
4418
4419
|
renderButtons() {
|
|
@@ -4528,7 +4529,7 @@ var Al = class extends G {
|
|
|
4528
4529
|
values: {},
|
|
4529
4530
|
required: {}
|
|
4530
4531
|
};
|
|
4531
|
-
static styles = [...super.styles,
|
|
4532
|
+
static styles = [...super.styles, I`
|
|
4532
4533
|
.retain-categories-form {
|
|
4533
4534
|
width: 25em;
|
|
4534
4535
|
}
|
|
@@ -4654,8 +4655,8 @@ var Al = class extends G {
|
|
|
4654
4655
|
let e = this.conditionAttributeInfo.scale;
|
|
4655
4656
|
return e ? (t) => L`<span
|
|
4656
4657
|
class="color"
|
|
4657
|
-
style=${
|
|
4658
|
-
></span>` : () =>
|
|
4658
|
+
style=${Qt({ backgroundColor: e(t).toString() })}
|
|
4659
|
+
></span>` : () => _;
|
|
4659
4660
|
}
|
|
4660
4661
|
};
|
|
4661
4662
|
customElements.define("gs-retain-categories-by-attribute-dialog", Al);
|
|
@@ -4695,7 +4696,7 @@ function Il(e) {
|
|
|
4695
4696
|
}
|
|
4696
4697
|
//#endregion
|
|
4697
4698
|
//#region src/sampleView/state/actionInfo.js
|
|
4698
|
-
var Ll =
|
|
4699
|
+
var Ll = sn(".4"), Rl = {
|
|
4699
4700
|
lt: "<",
|
|
4700
4701
|
lte: "≤",
|
|
4701
4702
|
eq: "=",
|
|
@@ -4933,7 +4934,7 @@ function Ul(e, t) {
|
|
|
4933
4934
|
attributeTitle: t
|
|
4934
4935
|
};
|
|
4935
4936
|
}
|
|
4936
|
-
}, { attributeName: i, attributeTitle: a } = r("attribute" in n && n.attribute ? n.attribute : null), { attributeName: o, attributeTitle: s } = r("condition" in n && n.condition && typeof n.condition == "object" && "attribute" in n.condition ? n.condition.attribute : null), c = { attributeName: i }, l = e.type.substring(
|
|
4937
|
+
}, { attributeName: i, attributeTitle: a } = r("attribute" in n && n.attribute ? n.attribute : null), { attributeName: o, attributeTitle: s } = r("condition" in n && n.condition && typeof n.condition == "object" && "attribute" in n.condition ? n.condition.attribute : null), c = { attributeName: i }, l = e.type.substring(C.length + 1), u = Vl[l];
|
|
4937
4938
|
return u ? u({
|
|
4938
4939
|
payload: n,
|
|
4939
4940
|
template: c,
|
|
@@ -4950,7 +4951,7 @@ function Ul(e, t) {
|
|
|
4950
4951
|
}
|
|
4951
4952
|
//#endregion
|
|
4952
4953
|
//#region src/sampleView/attributeDialogs/createCustomGroupsDialog.js
|
|
4953
|
-
var Wl =
|
|
4954
|
+
var Wl = I`
|
|
4954
4955
|
.group-arbitrarily-form {
|
|
4955
4956
|
span.na {
|
|
4956
4957
|
color: gray;
|
|
@@ -5100,8 +5101,8 @@ var Wl = F`
|
|
|
5100
5101
|
renderBody() {
|
|
5101
5102
|
let e = this.attributeInfo, t = e.type == "identifier" ? "Identifier" : "Category", n = e.scale, r = n ? (e) => L`<span
|
|
5102
5103
|
class="color"
|
|
5103
|
-
style=${
|
|
5104
|
-
></span>` : () =>
|
|
5104
|
+
style=${Qt({ backgroundColor: n(e)?.toString() ?? "inherit" })}
|
|
5105
|
+
></span>` : () => _, i = we((e) => e, this.groups), a = Object.keys(this.groups);
|
|
5105
5106
|
return L`
|
|
5106
5107
|
<div class="gs-alert info">
|
|
5107
5108
|
${W(Gr).node[0]}
|
|
@@ -5896,13 +5897,13 @@ var Ad = Ou, jd = Tu, Md = (e, t, n) => {
|
|
|
5896
5897
|
...i,
|
|
5897
5898
|
platform: a
|
|
5898
5899
|
});
|
|
5899
|
-
}, Nd, Pd = [], Fd =
|
|
5900
|
+
}, Nd, Pd = [], Fd = ae((e) => e(), 150, !1), Id = { type: "divider" };
|
|
5900
5901
|
function Ld(e) {
|
|
5901
5902
|
if (e?.type == "contextmenu") {
|
|
5902
5903
|
e.preventDefault();
|
|
5903
5904
|
return;
|
|
5904
5905
|
}
|
|
5905
|
-
Nd && (Nd.remove(), Nd = void 0, document.body.classList.remove(
|
|
5906
|
+
Nd && (Nd.remove(), Nd = void 0, document.body.classList.remove(Kt), document.body.classList.remove(d));
|
|
5906
5907
|
}
|
|
5907
5908
|
function Rd(e) {
|
|
5908
5909
|
if (!(e < 1)) {
|
|
@@ -5922,7 +5923,7 @@ var zd = () => L`<li class="menu-divider"></li>`, Bd = (e) => L`
|
|
|
5922
5923
|
@mouseleave=${() => Fd(() => Rd(t + 1))}
|
|
5923
5924
|
>
|
|
5924
5925
|
${e.customContent ? e.customContent : L`<span
|
|
5925
|
-
>${e.icon ? W(e.icon).node[0] :
|
|
5926
|
+
>${e.icon ? W(e.icon).node[0] : _}
|
|
5926
5927
|
${e.label}</span
|
|
5927
5928
|
>`}
|
|
5928
5929
|
</div>
|
|
@@ -5953,12 +5954,12 @@ var Ud = (e) => L`
|
|
|
5953
5954
|
<span
|
|
5954
5955
|
>${e.icon ? W(e.icon).node[0] : ""} ${e.label}</span
|
|
5955
5956
|
>
|
|
5956
|
-
${e.shortcut ? L`<span class="kbd-shortcut">${e.shortcut}</span>` :
|
|
5957
|
+
${e.shortcut ? L`<span class="kbd-shortcut">${e.shortcut}</span>` : _}
|
|
5957
5958
|
</a>
|
|
5958
5959
|
|
|
5959
5960
|
${e.ellipsisCallback ? L` <a class="menu-ellipsis" @click=${e.ellipsisCallback}>
|
|
5960
5961
|
${W(Xr).node[0]}
|
|
5961
|
-
</a>` :
|
|
5962
|
+
</a>` : _}
|
|
5962
5963
|
</li>
|
|
5963
5964
|
`, Wd = (e) => L`
|
|
5964
5965
|
<li>
|
|
@@ -5982,7 +5983,7 @@ function qd(e, t, n, r) {
|
|
|
5982
5983
|
let i = document.createElement("ul");
|
|
5983
5984
|
i.classList.add("gs-context-menu"), i.style.top = "0", i.addEventListener("mouseenter", () => {
|
|
5984
5985
|
Fd(() => {});
|
|
5985
|
-
}), i.addEventListener("mouseup", (e) => e.stopPropagation()), i.addEventListener("click", (e) => e.stopPropagation()),
|
|
5986
|
+
}), i.addEventListener("mouseup", (e) => e.stopPropagation()), i.addEventListener("click", (e) => e.stopPropagation()), m(e.map((e) => Gd(e, n)), i), Nd.appendChild(i), Rd(n), Pd[n] = i, r ??= "right-start";
|
|
5986
5987
|
let a = !/^(top|bottom)/.test(r);
|
|
5987
5988
|
Md(t, i, {
|
|
5988
5989
|
strategy: "fixed",
|
|
@@ -5998,10 +5999,10 @@ function Yd() {
|
|
|
5998
5999
|
let e = document.body, t = performance.now();
|
|
5999
6000
|
Nd = document.createElement("div"), Nd.classList.add("gs-context-menu-backdrop"), Nd.addEventListener("click", Ld), Nd.addEventListener("contextmenu", Ld), Nd.addEventListener("mouseup", () => {
|
|
6000
6001
|
performance.now() - t > 500 && Ld();
|
|
6001
|
-
}, { once: !0 }), e.appendChild(Nd), document.body.classList.add(
|
|
6002
|
+
}, { once: !0 }), e.appendChild(Nd), document.body.classList.add(Kt), document.body.classList.add(d);
|
|
6002
6003
|
}
|
|
6003
6004
|
function Xd(e, t, n) {
|
|
6004
|
-
n ??= "bottom-start", Nd && Jd !== t && Ld(), Jd = t, Nd ?
|
|
6005
|
+
n ??= "bottom-start", Nd && Jd !== t && Ld(), Jd = t, Nd ? m(e.items.map((e) => Gd(e, 0)), Pd[0]) : (Yd(), qd(e.items, t, 0, n));
|
|
6005
6006
|
}
|
|
6006
6007
|
function Zd(e, t) {
|
|
6007
6008
|
Xd(e, Qd(t), "right-start"), t.preventDefault();
|
|
@@ -6025,7 +6026,7 @@ function Qd(e) {
|
|
|
6025
6026
|
//#region src/sampleView/attributeContextMenu.js
|
|
6026
6027
|
var $d = "SAMPLE_ATTRIBUTE", ef = 20;
|
|
6027
6028
|
function tf(e, t, n, r) {
|
|
6028
|
-
let i =
|
|
6029
|
+
let i = k.actions, a = t.attribute, o = r.sampleHierarchy, s = t?.type ?? "identifier", c = [];
|
|
6029
6030
|
e && c.push({
|
|
6030
6031
|
label: e,
|
|
6031
6032
|
type: "header"
|
|
@@ -6326,7 +6327,7 @@ var hf = class {
|
|
|
6326
6327
|
}
|
|
6327
6328
|
feedback(e) {
|
|
6328
6329
|
let t = this.error(e);
|
|
6329
|
-
return t ? L`<div class="invalid-feedback">${t}</div>` :
|
|
6330
|
+
return t ? L`<div class="invalid-feedback">${t}</div>` : _;
|
|
6330
6331
|
}
|
|
6331
6332
|
#e(e) {
|
|
6332
6333
|
let t = this._fields.get(e);
|
|
@@ -6337,13 +6338,13 @@ var hf = class {
|
|
|
6337
6338
|
let n = new Map(this._errors);
|
|
6338
6339
|
t ? n.set(e, t) : n.delete(e), this._errors = n, this._host.requestUpdate();
|
|
6339
6340
|
}
|
|
6340
|
-
}, gf =
|
|
6341
|
+
}, gf = He(class extends Yt {
|
|
6341
6342
|
constructor(e) {
|
|
6342
|
-
if (super(e), e.type !==
|
|
6343
|
+
if (super(e), e.type !== ve.ELEMENT) throw Error("formField must be used on an element part.");
|
|
6343
6344
|
this._abortController = null;
|
|
6344
6345
|
}
|
|
6345
6346
|
render(e, t, n) {
|
|
6346
|
-
return
|
|
6347
|
+
return _;
|
|
6347
6348
|
}
|
|
6348
6349
|
update(e, t) {
|
|
6349
6350
|
let [n, r, i] = t, a = i?.validateOnInput === "always" ? "always" : "onError", o = e.element;
|
|
@@ -6362,7 +6363,7 @@ var hf = class {
|
|
|
6362
6363
|
n.revalidate(r);
|
|
6363
6364
|
for (let e of n.getAffectedFields(r)) n.revalidate(e);
|
|
6364
6365
|
c();
|
|
6365
|
-
}, { signal: this._abortController.signal }), c(),
|
|
6366
|
+
}, { signal: this._abortController.signal }), c(), _;
|
|
6366
6367
|
}
|
|
6367
6368
|
});
|
|
6368
6369
|
//#endregion
|
|
@@ -6383,7 +6384,7 @@ var vf = class extends G {
|
|
|
6383
6384
|
bookmarkName: { state: !0 },
|
|
6384
6385
|
bookmarkNotes: { state: !0 }
|
|
6385
6386
|
};
|
|
6386
|
-
static styles = [...super.styles,
|
|
6387
|
+
static styles = [...super.styles, I`
|
|
6387
6388
|
dialog {
|
|
6388
6389
|
width: 500px;
|
|
6389
6390
|
}
|
|
@@ -7018,15 +7019,15 @@ var bf = /* @__PURE__ */ t(((e, t) => {
|
|
|
7018
7019
|
"%URIErrorPrototype%": ["URIError", "prototype"],
|
|
7019
7020
|
"%WeakMapPrototype%": ["WeakMap", "prototype"],
|
|
7020
7021
|
"%WeakSetPrototype%": ["WeakSet", "prototype"]
|
|
7021
|
-
}, N = Kf(), P = ep(), ne = N.call(k, Array.prototype.concat), re = N.call(O, Array.prototype.splice), ie = N.call(k, String.prototype.replace), ae = N.call(k, String.prototype.slice),
|
|
7022
|
+
}, N = Kf(), P = ep(), ne = N.call(k, Array.prototype.concat), re = N.call(O, Array.prototype.splice), ie = N.call(k, String.prototype.replace), ae = N.call(k, String.prototype.slice), oe = N.call(k, RegExp.prototype.exec), se = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g, ce = /\\(\\)?/g, le = function(e) {
|
|
7022
7023
|
var t = ae(e, 0, 1), n = ae(e, -1);
|
|
7023
7024
|
if (t === "%" && n !== "%") throw new c("invalid intrinsic syntax, expected closing `%`");
|
|
7024
7025
|
if (n === "%" && t !== "%") throw new c("invalid intrinsic syntax, expected opening `%`");
|
|
7025
7026
|
var r = [];
|
|
7026
|
-
return ie(e,
|
|
7027
|
-
r[r.length] = n ? ie(i,
|
|
7027
|
+
return ie(e, se, function(e, t, n, i) {
|
|
7028
|
+
r[r.length] = n ? ie(i, ce, "$1") : t || e;
|
|
7028
7029
|
}), r;
|
|
7029
|
-
},
|
|
7030
|
+
}, ue = function(e, t) {
|
|
7030
7031
|
var n = e, r;
|
|
7031
7032
|
if (P(te, n) && (r = te[n], n = "%" + r[0] + "%"), P(j, n)) {
|
|
7032
7033
|
var i = j[n];
|
|
@@ -7042,8 +7043,8 @@ var bf = /* @__PURE__ */ t(((e, t) => {
|
|
|
7042
7043
|
t.exports = function(e, t) {
|
|
7043
7044
|
if (typeof e != "string" || e.length === 0) throw new l("intrinsic name must be a non-empty string");
|
|
7044
7045
|
if (arguments.length > 1 && typeof t != "boolean") throw new l("\"allowMissing\" argument must be a boolean");
|
|
7045
|
-
if (
|
|
7046
|
-
var n =
|
|
7046
|
+
if (oe(/^%?[^%]*%?$/, e) === null) throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
|
|
7047
|
+
var n = le(e), r = n.length > 0 ? n[0] : "", i = ue("%" + r + "%", t), a = i.name, o = i.value, s = !1, u = i.alias;
|
|
7047
7048
|
u && (r = u[0], re(n, ne([0, 1], u)));
|
|
7048
7049
|
for (var d = 1, f = !0; d < n.length; d += 1) {
|
|
7049
7050
|
var p = n[d], m = ae(p, 0, 1), h = ae(p, -1);
|
|
@@ -7442,61 +7443,61 @@ var bf = /* @__PURE__ */ t(((e, t) => {
|
|
|
7442
7443
|
}
|
|
7443
7444
|
e.isDataView = ie;
|
|
7444
7445
|
var ae = typeof SharedArrayBuffer < "u" ? SharedArrayBuffer : void 0;
|
|
7445
|
-
function F(e) {
|
|
7446
|
-
return c(e) === "[object SharedArrayBuffer]";
|
|
7447
|
-
}
|
|
7448
7446
|
function oe(e) {
|
|
7449
|
-
return
|
|
7447
|
+
return c(e) === "[object SharedArrayBuffer]";
|
|
7450
7448
|
}
|
|
7451
|
-
e.isSharedArrayBuffer = oe;
|
|
7452
7449
|
function se(e) {
|
|
7450
|
+
return ae === void 0 ? !1 : (oe.working === void 0 && (oe.working = oe(new ae())), oe.working ? oe(e) : e instanceof ae);
|
|
7451
|
+
}
|
|
7452
|
+
e.isSharedArrayBuffer = se;
|
|
7453
|
+
function ce(e) {
|
|
7453
7454
|
return c(e) === "[object AsyncFunction]";
|
|
7454
7455
|
}
|
|
7455
|
-
e.isAsyncFunction =
|
|
7456
|
-
function
|
|
7456
|
+
e.isAsyncFunction = ce;
|
|
7457
|
+
function le(e) {
|
|
7457
7458
|
return c(e) === "[object Map Iterator]";
|
|
7458
7459
|
}
|
|
7459
|
-
e.isMapIterator =
|
|
7460
|
-
function
|
|
7460
|
+
e.isMapIterator = le;
|
|
7461
|
+
function ue(e) {
|
|
7461
7462
|
return c(e) === "[object Set Iterator]";
|
|
7462
7463
|
}
|
|
7463
|
-
e.isSetIterator =
|
|
7464
|
-
function
|
|
7464
|
+
e.isSetIterator = ue;
|
|
7465
|
+
function de(e) {
|
|
7465
7466
|
return c(e) === "[object Generator]";
|
|
7466
7467
|
}
|
|
7467
|
-
e.isGeneratorObject =
|
|
7468
|
-
function
|
|
7468
|
+
e.isGeneratorObject = de;
|
|
7469
|
+
function fe(e) {
|
|
7469
7470
|
return c(e) === "[object WebAssembly.Module]";
|
|
7470
7471
|
}
|
|
7471
|
-
e.isWebAssemblyCompiledModule =
|
|
7472
|
-
function
|
|
7472
|
+
e.isWebAssemblyCompiledModule = fe;
|
|
7473
|
+
function pe(e) {
|
|
7473
7474
|
return m(e, l);
|
|
7474
7475
|
}
|
|
7475
|
-
e.isNumberObject =
|
|
7476
|
-
function
|
|
7476
|
+
e.isNumberObject = pe;
|
|
7477
|
+
function me(e) {
|
|
7477
7478
|
return m(e, u);
|
|
7478
7479
|
}
|
|
7479
|
-
e.isStringObject =
|
|
7480
|
-
function
|
|
7480
|
+
e.isStringObject = me;
|
|
7481
|
+
function he(e) {
|
|
7481
7482
|
return m(e, d);
|
|
7482
7483
|
}
|
|
7483
|
-
e.isBooleanObject =
|
|
7484
|
-
function
|
|
7484
|
+
e.isBooleanObject = he;
|
|
7485
|
+
function ge(e) {
|
|
7485
7486
|
return o && m(e, f);
|
|
7486
7487
|
}
|
|
7487
|
-
e.isBigIntObject =
|
|
7488
|
-
function
|
|
7488
|
+
e.isBigIntObject = ge;
|
|
7489
|
+
function _e(e) {
|
|
7489
7490
|
return s && m(e, p);
|
|
7490
7491
|
}
|
|
7491
|
-
e.isSymbolObject =
|
|
7492
|
-
function
|
|
7493
|
-
return
|
|
7492
|
+
e.isSymbolObject = _e;
|
|
7493
|
+
function ve(e) {
|
|
7494
|
+
return pe(e) || me(e) || he(e) || ge(e) || _e(e);
|
|
7494
7495
|
}
|
|
7495
|
-
e.isBoxedPrimitive =
|
|
7496
|
-
function
|
|
7497
|
-
return typeof Uint8Array < "u" && (ne(e) ||
|
|
7496
|
+
e.isBoxedPrimitive = ve;
|
|
7497
|
+
function ye(e) {
|
|
7498
|
+
return typeof Uint8Array < "u" && (ne(e) || se(e));
|
|
7498
7499
|
}
|
|
7499
|
-
e.isAnyArrayBuffer =
|
|
7500
|
+
e.isAnyArrayBuffer = ye, [
|
|
7500
7501
|
"isProxy",
|
|
7501
7502
|
"isExternal",
|
|
7502
7503
|
"isModuleNamespaceObject"
|
|
@@ -7900,7 +7901,7 @@ var Mp = class extends G {
|
|
|
7900
7901
|
bookmark: {},
|
|
7901
7902
|
global: { type: Boolean }
|
|
7902
7903
|
};
|
|
7903
|
-
static styles = [...super.styles,
|
|
7904
|
+
static styles = [...super.styles, I`
|
|
7904
7905
|
.copy-url {
|
|
7905
7906
|
position: relative;
|
|
7906
7907
|
|
|
@@ -8008,7 +8009,7 @@ var Lp = class extends G {
|
|
|
8008
8009
|
plot: {},
|
|
8009
8010
|
bookmarkContext: {}
|
|
8010
8011
|
};
|
|
8011
|
-
static styles = [...super.styles,
|
|
8012
|
+
static styles = [...super.styles, I`
|
|
8012
8013
|
.plot-shell {
|
|
8013
8014
|
inline-size: min(70vw, 700px);
|
|
8014
8015
|
block-size: min(60vh, 450px);
|
|
@@ -8047,7 +8048,7 @@ var Lp = class extends G {
|
|
|
8047
8048
|
iconDef: pi,
|
|
8048
8049
|
disabled: !this.bookmarkContext
|
|
8049
8050
|
}),
|
|
8050
|
-
this.makeButton("Save PNG", () => (
|
|
8051
|
+
this.makeButton("Save PNG", () => (M(this.renderRoot, this._api, this.plot.filename), !0), { iconDef: Zr }),
|
|
8051
8052
|
this.makeCloseButton()
|
|
8052
8053
|
] : [this.makeCloseButton()];
|
|
8053
8054
|
}
|
|
@@ -8213,7 +8214,7 @@ var Jp = class {
|
|
|
8213
8214
|
resolveMatching(e) {
|
|
8214
8215
|
if (this.#e.size) for (let t of this.#e) t.predicate(e) && (this.#e.delete(t), t.resolve());
|
|
8215
8216
|
}
|
|
8216
|
-
}, Yp = "SAMPLE_ATTRIBUTE", Xp = class extends
|
|
8217
|
+
}, Yp = "SAMPLE_ATTRIBUTE", Xp = class extends re {
|
|
8217
8218
|
#e;
|
|
8218
8219
|
#t;
|
|
8219
8220
|
#n = /* @__PURE__ */ new Map();
|
|
@@ -8254,8 +8255,8 @@ var Jp = class {
|
|
|
8254
8255
|
});
|
|
8255
8256
|
}
|
|
8256
8257
|
r && this.#s(r);
|
|
8257
|
-
}), this.addInteractionListener("mouseleave", (
|
|
8258
|
-
this
|
|
8258
|
+
}), this.addInteractionListener("mouseleave", () => {
|
|
8259
|
+
this.#s(void 0);
|
|
8259
8260
|
});
|
|
8260
8261
|
}
|
|
8261
8262
|
getEncoding() {
|
|
@@ -8324,7 +8325,7 @@ var Jp = class {
|
|
|
8324
8325
|
r();
|
|
8325
8326
|
return;
|
|
8326
8327
|
}
|
|
8327
|
-
|
|
8328
|
+
A(this);
|
|
8328
8329
|
let i = (e) => e.isConfiguredVisible(), a = this.#f(t, i, n);
|
|
8329
8330
|
if (a.updateDynamicData(this.#p(e)), await this.#h(a, i), this.#d(n)) {
|
|
8330
8331
|
r();
|
|
@@ -8341,9 +8342,9 @@ var Jp = class {
|
|
|
8341
8342
|
return e !== this.#r;
|
|
8342
8343
|
}
|
|
8343
8344
|
#f(e, t, n) {
|
|
8344
|
-
let { graphicsPromises: r } =
|
|
8345
|
+
let { graphicsPromises: r } = Xe(this, e, t), i = this.flowHandle?.dataSource;
|
|
8345
8346
|
if (!i) throw Error("Cannot find metadata data source handle!");
|
|
8346
|
-
return
|
|
8347
|
+
return Ft(r, () => n === this.#r), i;
|
|
8347
8348
|
}
|
|
8348
8349
|
#p(e) {
|
|
8349
8350
|
let t = this.#e.sampleHierarchy.sampleData.entities, n = Object.entries(e.entities).map(([e, n]) => ({
|
|
@@ -8356,7 +8357,7 @@ var Jp = class {
|
|
|
8356
8357
|
#m() {
|
|
8357
8358
|
let e = /* @__PURE__ */ new Set();
|
|
8358
8359
|
this.visit((t) => {
|
|
8359
|
-
if (t instanceof
|
|
8360
|
+
if (t instanceof ht) {
|
|
8360
8361
|
let n = t.getScaleResolution("color");
|
|
8361
8362
|
n && e.add(n);
|
|
8362
8363
|
}
|
|
@@ -8364,8 +8365,8 @@ var Jp = class {
|
|
|
8364
8365
|
for (let t of e) t.reconfigureDomain();
|
|
8365
8366
|
}
|
|
8366
8367
|
#h(e, t) {
|
|
8367
|
-
let n =
|
|
8368
|
-
return n.delete(e),
|
|
8368
|
+
let n = r(this, t);
|
|
8369
|
+
return n.delete(e), Lt(this, n);
|
|
8369
8370
|
}
|
|
8370
8371
|
awaitMetadataReady(e) {
|
|
8371
8372
|
return this.#i.wait(e);
|
|
@@ -8374,18 +8375,18 @@ var Jp = class {
|
|
|
8374
8375
|
this.setChildren([]), this.#n.clear();
|
|
8375
8376
|
let e = Vt(this.getAttributeNames(), "/"), t = this.#e.sampleHierarchy.sampleMetadata.attributeDefs, n = async (e, r, i) => {
|
|
8376
8377
|
for (let a of e.children.values()) if (a.children.size == 0) {
|
|
8377
|
-
let e = a.path, n = new
|
|
8378
|
+
let e = a.path, n = new S(Zp(e, {
|
|
8378
8379
|
...i,
|
|
8379
8380
|
title: a.part,
|
|
8380
8381
|
...t?.[e] ?? {}
|
|
8381
8382
|
}, this.#e.spec.metadata), this.context, r, r, `attribute-${e}`);
|
|
8382
8383
|
await n.initializeChildren();
|
|
8383
8384
|
let o = n.findDescendantByName(em(e));
|
|
8384
|
-
if (!(o instanceof
|
|
8385
|
+
if (!(o instanceof ht)) throw Error("Cannot find metadata foreground view for " + e);
|
|
8385
8386
|
n.opacityFunction = (t) => t * this.#l(e), r.appendChild(n), this.#n.set(e, o);
|
|
8386
8387
|
for (let t of n.getDescendants()) this.#a.set(t, e);
|
|
8387
8388
|
} else {
|
|
8388
|
-
let e = t?.[a.path] ?? {}, o = `attributeGroup-${a.path}`, s = new
|
|
8389
|
+
let e = t?.[a.path] ?? {}, o = `attributeGroup-${a.path}`, s = new re({
|
|
8389
8390
|
name: o,
|
|
8390
8391
|
hconcat: [],
|
|
8391
8392
|
configurableVisibility: !0,
|
|
@@ -8409,8 +8410,8 @@ var Jp = class {
|
|
|
8409
8410
|
}
|
|
8410
8411
|
};
|
|
8411
8412
|
await n(e, this, {});
|
|
8412
|
-
for (let e of this.getDescendants()) e instanceof
|
|
8413
|
-
|
|
8413
|
+
for (let e of this.getDescendants()) e instanceof ht && e.name.startsWith("title") && typeof e.spec.mark != "string" && (e.spec.mark.clip = "never");
|
|
8414
|
+
wt(this);
|
|
8414
8415
|
}
|
|
8415
8416
|
getAttributeNames() {
|
|
8416
8417
|
return this.#e.sampleHierarchy.sampleMetadata.attributeNames;
|
|
@@ -8437,7 +8438,7 @@ var Jp = class {
|
|
|
8437
8438
|
type: r.type,
|
|
8438
8439
|
scale: r.getScale(),
|
|
8439
8440
|
title: L`<em class="attribute">${e}</em>`,
|
|
8440
|
-
shortTitle: n.title ??
|
|
8441
|
+
shortTitle: n.title ?? et(e),
|
|
8441
8442
|
emphasizedName: e,
|
|
8442
8443
|
description: t.spec.description
|
|
8443
8444
|
};
|
|
@@ -8456,7 +8457,7 @@ var Jp = class {
|
|
|
8456
8457
|
class=${br({ hovered: e == t })}
|
|
8457
8458
|
>
|
|
8458
8459
|
<th>${nm(e)}</th>
|
|
8459
|
-
<td>${
|
|
8460
|
+
<td>${pe(n)}</td>
|
|
8460
8461
|
<td
|
|
8461
8462
|
class="color"
|
|
8462
8463
|
style="background-color: ${r(e, n)}"
|
|
@@ -8706,7 +8707,7 @@ function sm(e, t) {
|
|
|
8706
8707
|
}
|
|
8707
8708
|
//#endregion
|
|
8708
8709
|
//#region src/sampleView/sampleGroupView.js
|
|
8709
|
-
var cm = { step: 24 }, lm = class extends
|
|
8710
|
+
var cm = { step: 24 }, lm = class extends S {
|
|
8710
8711
|
#e = !0;
|
|
8711
8712
|
constructor(e, t) {
|
|
8712
8713
|
let n = {
|
|
@@ -8766,7 +8767,7 @@ var cm = { step: 24 }, lm = class extends ee {
|
|
|
8766
8767
|
type: "nominal",
|
|
8767
8768
|
scale: {
|
|
8768
8769
|
type: "ordinal",
|
|
8769
|
-
domain:
|
|
8770
|
+
domain: Cn(500)
|
|
8770
8771
|
},
|
|
8771
8772
|
axis: null
|
|
8772
8773
|
},
|
|
@@ -8819,7 +8820,7 @@ var cm = { step: 24 }, lm = class extends ee {
|
|
|
8819
8820
|
let e = this.context.getCurrentHover();
|
|
8820
8821
|
if (!e?.datum._rawGroup) return;
|
|
8821
8822
|
let t = e.datum._rawGroup;
|
|
8822
|
-
for (let e of
|
|
8823
|
+
for (let e of ee(this.sampleView.sampleHierarchy.rootGroup)) if (e.at(-1) === t) return e.slice(1);
|
|
8823
8824
|
}
|
|
8824
8825
|
#r(e) {
|
|
8825
8826
|
let t = this.sampleView.sampleHierarchy.groupMetadata.length;
|
|
@@ -8896,7 +8897,7 @@ var cm = { step: 24 }, lm = class extends ee {
|
|
|
8896
8897
|
return [null, ...this.sampleView.sampleHierarchy.groupMetadata].map((t) => {
|
|
8897
8898
|
if (!t) return "unknown";
|
|
8898
8899
|
let n = this.sampleView.compositeAttributeInfoSource.getAttributeInfo(t.attribute).title;
|
|
8899
|
-
return n ?
|
|
8900
|
+
return n ? Te(n) ? n : (m(n, e), e.textContent.replace(/\s+/g, " ").trim()) : "unknown";
|
|
8900
8901
|
});
|
|
8901
8902
|
}
|
|
8902
8903
|
};
|
|
@@ -8991,7 +8992,7 @@ var _m = class {
|
|
|
8991
8992
|
}
|
|
8992
8993
|
setScrollOffset(e) {
|
|
8993
8994
|
let t = Math.max(0, this.#n - this.#u.getHeight());
|
|
8994
|
-
this.#t =
|
|
8995
|
+
this.#t = an(e, 0, t);
|
|
8995
8996
|
}
|
|
8996
8997
|
getScrollableHeight() {
|
|
8997
8998
|
return this.#n;
|
|
@@ -9039,7 +9040,7 @@ var _m = class {
|
|
|
9039
9040
|
let n = this.getSummaryAt(t);
|
|
9040
9041
|
n && (e = this.#l.summaries[n.index].locSize.location - (n.location.locSize.location - t));
|
|
9041
9042
|
}
|
|
9042
|
-
if (e ? this.#t = e - t : this.#t = (this.#n - i) / 2, this.#n > i) return
|
|
9043
|
+
if (e ? this.#t = e - t : this.#t = (this.#n - i) / 2, this.#n > i) return Nn({
|
|
9043
9044
|
...a,
|
|
9044
9045
|
to: 1,
|
|
9045
9046
|
duration: 500,
|
|
@@ -9047,7 +9048,7 @@ var _m = class {
|
|
|
9047
9048
|
});
|
|
9048
9049
|
{
|
|
9049
9050
|
let e = (e) => (1 - (e * 2 - 1) ** 2) * .5;
|
|
9050
|
-
return
|
|
9051
|
+
return Nn({
|
|
9051
9052
|
...a,
|
|
9052
9053
|
from: 0,
|
|
9053
9054
|
to: 1,
|
|
@@ -9055,11 +9056,11 @@ var _m = class {
|
|
|
9055
9056
|
easingFunction: e
|
|
9056
9057
|
});
|
|
9057
9058
|
}
|
|
9058
|
-
} else return
|
|
9059
|
+
} else return Nn({
|
|
9059
9060
|
...a,
|
|
9060
9061
|
to: 0,
|
|
9061
9062
|
duration: 400,
|
|
9062
|
-
easingFunction:
|
|
9063
|
+
easingFunction: Bt
|
|
9063
9064
|
});
|
|
9064
9065
|
}
|
|
9065
9066
|
getLocations() {
|
|
@@ -9070,7 +9071,7 @@ var _m = class {
|
|
|
9070
9071
|
if (!t) return [];
|
|
9071
9072
|
let n = t.groups, r = n.map((e) => e.key.depth).reduce((e, t) => Math.max(e, t), 0), i = n.filter((e) => e.key.depth == r), a = this.#u.getSummaryHeight();
|
|
9072
9073
|
e = e.flatten();
|
|
9073
|
-
let o = this.#u.isStickySummaries() && a > 0 ? e.shrink(new
|
|
9074
|
+
let o = this.#u.isStickySummaries() && a > 0 ? e.shrink(new Fn(a, 0, 0, 0)) : e;
|
|
9074
9075
|
return [...i.values()].map((t) => ({
|
|
9075
9076
|
coords: e.modify({
|
|
9076
9077
|
y: () => {
|
|
@@ -9103,10 +9104,12 @@ var _m = class {
|
|
|
9103
9104
|
}
|
|
9104
9105
|
updateFacetTexture() {
|
|
9105
9106
|
if (this.#_(), !this.#o && this.#r) return;
|
|
9106
|
-
let e = this.#u.viewContext.glHelper
|
|
9107
|
-
|
|
9108
|
-
|
|
9109
|
-
|
|
9107
|
+
let e = this.#u.viewContext.glHelper;
|
|
9108
|
+
if (!e) return;
|
|
9109
|
+
let t = e.gl;
|
|
9110
|
+
this.#r = Ie(t, {
|
|
9111
|
+
internalFormat: t.RG32F,
|
|
9112
|
+
format: t.RG,
|
|
9110
9113
|
height: 1
|
|
9111
9114
|
}, this.#i, this.#r), this.#o = !1;
|
|
9112
9115
|
}
|
|
@@ -9141,7 +9144,7 @@ var _m = class {
|
|
|
9141
9144
|
if (!e) return !1;
|
|
9142
9145
|
let t = this.#u.getSampleHierarchy(), n = this.#u.getSummaryHeight();
|
|
9143
9146
|
if (!this.#f && this.#d.height === e && this.#d.summaryHeight === n && this.#d.sampleHierarchy === t) return !0;
|
|
9144
|
-
let r =
|
|
9147
|
+
let r = De(t), i = this.#u.sampleLayout ?? {}, a = Em(r, {
|
|
9145
9148
|
viewHeight: e,
|
|
9146
9149
|
groupSpacing: i.groupSpacing ?? ym,
|
|
9147
9150
|
sampleSpacingFactor: i.sampleSpacingFactor ?? xm,
|
|
@@ -9224,7 +9227,7 @@ function Tm(e, t, n, r, i) {
|
|
|
9224
9227
|
}
|
|
9225
9228
|
function Em(e, { viewHeight: t = 0, sampleHeight: n = 0, groupSpacing: r = 5, sampleSpacingFactor: i = xm, summaryHeight: a = 0 }) {
|
|
9226
9229
|
if (!t && !n) throw Error("viewHeight or sampleHeight must be provided!");
|
|
9227
|
-
let o = (e) =>
|
|
9230
|
+
let o = (e) => cn(e), s = e.map((e) => ({
|
|
9228
9231
|
path: e,
|
|
9229
9232
|
sampleGroup: o(e),
|
|
9230
9233
|
samples: o(e).samples
|
|
@@ -9235,7 +9238,7 @@ function Em(e, { viewHeight: t = 0, sampleHeight: n = 0, groupSpacing: r = 5, sa
|
|
|
9235
9238
|
px: a,
|
|
9236
9239
|
grow: e.length
|
|
9237
9240
|
}), l = [];
|
|
9238
|
-
|
|
9241
|
+
An(s.map((e) => c(e.samples)), t, { spacing: r }).forEach((e, t) => {
|
|
9239
9242
|
l.push({
|
|
9240
9243
|
key: s[t].path,
|
|
9241
9244
|
locSize: e
|
|
@@ -9244,8 +9247,8 @@ function Em(e, { viewHeight: t = 0, sampleHeight: n = 0, groupSpacing: r = 5, sa
|
|
|
9244
9247
|
let u = [];
|
|
9245
9248
|
for (let [e, t] of s.entries()) {
|
|
9246
9249
|
let n = { grow: 1 }, r = t.samples;
|
|
9247
|
-
|
|
9248
|
-
let { size: n, location: a } = e, o = n * i * .5 *
|
|
9250
|
+
An(r.map((e) => n), Math.max(0, l[e].locSize.size - a), { offset: l[e].locSize.location + a }).forEach((e, t) => {
|
|
9251
|
+
let { size: n, location: a } = e, o = n * i * .5 * on(15, 22, n);
|
|
9249
9252
|
e.location = a + o, e.size = n - 2 * o, u.push({
|
|
9250
9253
|
key: r[t],
|
|
9251
9254
|
locSize: e
|
|
@@ -9255,7 +9258,7 @@ function Em(e, { viewHeight: t = 0, sampleHeight: n = 0, groupSpacing: r = 5, sa
|
|
|
9255
9258
|
function* d() {
|
|
9256
9259
|
let e = [];
|
|
9257
9260
|
for (let t of l) {
|
|
9258
|
-
let n = t.key, r =
|
|
9261
|
+
let n = t.key, r = cn(n);
|
|
9259
9262
|
for (; e.length <= n.length && e.length && n[e.length - 1] != e[e.length - 1].group;) yield e.pop();
|
|
9260
9263
|
for (let n = 0; n < e.length; n++) {
|
|
9261
9264
|
let r = e[n];
|
|
@@ -9323,13 +9326,13 @@ function Mm(e) {
|
|
|
9323
9326
|
return "samples" in e && c(e.samples) && "spec" in e && c(e.spec);
|
|
9324
9327
|
}
|
|
9325
9328
|
function Nm(e) {
|
|
9326
|
-
return e && (
|
|
9329
|
+
return e && (At(e) || j(e)) && "aggregateSamples" in e;
|
|
9327
9330
|
}
|
|
9328
9331
|
//#endregion
|
|
9329
9332
|
//#region src/sampleView/datumLookup.js
|
|
9330
9333
|
function Pm(e, t = e.getCollector()) {
|
|
9331
|
-
let n = e.getDataAccessor("x"), r = e.getDataAccessor("x2"), i = e.getScaleResolution("x")?.getScale()?.type, a = i ?
|
|
9332
|
-
return !t || !n ? () => void 0 : a ? (e, r) => t.facetBatches.get(
|
|
9334
|
+
let n = e.getDataAccessor("x"), r = e.getDataAccessor("x2"), i = e.getScaleResolution("x")?.getScale()?.type, a = i ? qn(i) : !1;
|
|
9335
|
+
return !t || !n ? () => void 0 : a ? (e, r) => t.facetBatches.get(On(e))?.find((e) => r == n(e)) : !a && r ? (e, i) => t.facetBatches.get(On(e))?.find((e) => i >= n(e) && i < r(e)) : (e, r) => t.facetBatches.get(On(e))?.find((e) => r == n(e));
|
|
9333
9336
|
}
|
|
9334
9337
|
//#endregion
|
|
9335
9338
|
//#region src/utils/predicates/featureFilter.js
|
|
@@ -9427,7 +9430,7 @@ function Hm(e, t) {
|
|
|
9427
9430
|
i != null && (n.push(i), _ && r.push(t));
|
|
9428
9431
|
};
|
|
9429
9432
|
return (e) => {
|
|
9430
|
-
let [t, n] = h(), r = a.facetBatches.get(
|
|
9433
|
+
let [t, n] = h(), r = a.facetBatches.get(On(e));
|
|
9431
9434
|
if (!r?.length) return g === "count" || g === "itemCount" ? 0 : void 0;
|
|
9432
9435
|
let i = [], l = [], d = 0;
|
|
9433
9436
|
switch (u(r, o, c, s, t, n, (e, t) => {
|
|
@@ -9448,23 +9451,23 @@ function Hm(e, t) {
|
|
|
9448
9451
|
function Um(e, t) {
|
|
9449
9452
|
let n = e.getScaleResolution("x")?.getScale(), r = "genome" in n ? n.genome() : void 0;
|
|
9450
9453
|
if (r) {
|
|
9451
|
-
let e = t.every(
|
|
9454
|
+
let e = t.every(vt) ? r.toContinuousInterval(t) : t;
|
|
9452
9455
|
return r.formatInterval(e);
|
|
9453
9456
|
}
|
|
9454
|
-
return
|
|
9457
|
+
return at(t[0]) + " – " + at(t[1]);
|
|
9455
9458
|
}
|
|
9456
9459
|
//#endregion
|
|
9457
9460
|
//#region src/sampleView/viewRef.js
|
|
9458
9461
|
function Wm(e) {
|
|
9459
9462
|
if (!e.explicitName) throw Error("Cannot create a view reference without an explicit view name.");
|
|
9460
|
-
return
|
|
9463
|
+
return zn(e);
|
|
9461
9464
|
}
|
|
9462
9465
|
function Gm(e, t) {
|
|
9463
9466
|
return typeof t == "string" ? Xm(e, t) : Ym(e, t);
|
|
9464
9467
|
}
|
|
9465
9468
|
function Km(e) {
|
|
9466
9469
|
if (!e.explicitName) return;
|
|
9467
|
-
let t =
|
|
9470
|
+
let t = zn(e);
|
|
9468
9471
|
return JSON.stringify({
|
|
9469
9472
|
s: t.scope,
|
|
9470
9473
|
v: t.view
|
|
@@ -9472,7 +9475,7 @@ function Km(e) {
|
|
|
9472
9475
|
}
|
|
9473
9476
|
function qm(e) {
|
|
9474
9477
|
let t = /* @__PURE__ */ new Map();
|
|
9475
|
-
|
|
9478
|
+
Un(e, (e) => {
|
|
9476
9479
|
let n = Km(e);
|
|
9477
9480
|
n && t.set(n, (t.get(n) ?? 0) + 1);
|
|
9478
9481
|
});
|
|
@@ -9484,13 +9487,13 @@ function Jm(e) {
|
|
|
9484
9487
|
return typeof e == "string" ? e : JSON.stringify(e);
|
|
9485
9488
|
}
|
|
9486
9489
|
function Ym(e, t) {
|
|
9487
|
-
let n =
|
|
9490
|
+
let n = Yn(e, t);
|
|
9488
9491
|
if (!n) throw Error("Cannot resolve view selector: " + Jm(t));
|
|
9489
9492
|
return n;
|
|
9490
9493
|
}
|
|
9491
9494
|
function Xm(e, t) {
|
|
9492
9495
|
let n = [];
|
|
9493
|
-
if (
|
|
9496
|
+
if (Un(e, (e) => {
|
|
9494
9497
|
e.explicitName === t && n.push(e);
|
|
9495
9498
|
}), n.length === 1) return n[0];
|
|
9496
9499
|
throw n.length === 0 ? Error("Cannot find view: " + t) : Error("Multiple views named \"" + t + "\" found. Name imports or use a selector object.");
|
|
@@ -9510,19 +9513,19 @@ function $m(e, t) {
|
|
|
9510
9513
|
let n = t.explicitName;
|
|
9511
9514
|
if (typeof n != "string" || n.length === 0) return !1;
|
|
9512
9515
|
let r = 0;
|
|
9513
|
-
return
|
|
9516
|
+
return Un(e, (e) => {
|
|
9514
9517
|
e.explicitName === n && (r += 1);
|
|
9515
9518
|
}), r > 1;
|
|
9516
9519
|
}
|
|
9517
9520
|
function eh(e, t) {
|
|
9518
9521
|
if (!e || typeof e.visit != "function") return !1;
|
|
9519
9522
|
let n = 0;
|
|
9520
|
-
for (let r of
|
|
9523
|
+
for (let r of $n(e)) r.selector.param === t && (n += 1);
|
|
9521
9524
|
return n > 1;
|
|
9522
9525
|
}
|
|
9523
9526
|
function th(e) {
|
|
9524
9527
|
try {
|
|
9525
|
-
return
|
|
9528
|
+
return Gn(e);
|
|
9526
9529
|
} catch {
|
|
9527
9530
|
return [];
|
|
9528
9531
|
}
|
|
@@ -9543,7 +9546,7 @@ function nh(e, t) {
|
|
|
9543
9546
|
}, d = Object.entries(r.getEncoding()).find(([e, t]) => "field" in t && t.field == n.field), f = d?.[0], p = d?.[1];
|
|
9544
9547
|
if (!p && !("aggregation" in n)) throw Error(`Cannot resolve field '${n.field}' in view '${r.name}'`);
|
|
9545
9548
|
if (!p && "aggregation" in n && n.aggregation.op !== "count" && n.aggregation.op !== "itemCount") throw Error(`Aggregation '${n.aggregation.op}' requires a field definition for '${n.field}' in view '${r.name}'`);
|
|
9546
|
-
let m = f &&
|
|
9549
|
+
let m = f && ln(f) ? r.getScaleResolution(f).getScale() : void 0, h = p && "scale" in p && p.scale && typeof p.scale == "object" ? p.scale : void 0, g = p && "type" in p ? p.type : void 0, _ = "aggregation" in n ? "quantitative" : g, y, b;
|
|
9547
9550
|
if ("ensureViewAttributeAvailability" in e) {
|
|
9548
9551
|
let t = e;
|
|
9549
9552
|
y = (e) => t.ensureViewAttributeAvailability(n, e), b = (e) => t.awaitViewAttributeProcessed(n, e);
|
|
@@ -9554,8 +9557,8 @@ function nh(e, t) {
|
|
|
9554
9557
|
title: L`${s}
|
|
9555
9558
|
<span class="viewTitle">(${i})</span>
|
|
9556
9559
|
${(() => {
|
|
9557
|
-
if (
|
|
9558
|
-
if (
|
|
9560
|
+
if (Ke(n)) {
|
|
9561
|
+
if (gt(n.interval)) return L`in
|
|
9559
9562
|
<span class="interval"
|
|
9560
9563
|
>${Um(r, n.interval)}</span
|
|
9561
9564
|
>`;
|
|
@@ -9599,13 +9602,13 @@ function rh(e, t, n) {
|
|
|
9599
9602
|
function ih(e) {
|
|
9600
9603
|
return e.operator === "in" ? L`<em class="attribute">${e.field}</em> in
|
|
9601
9604
|
{${Pl(e.values, (e, t) => L`${t > 0 ? ", " : ""}<strong
|
|
9602
|
-
>${
|
|
9605
|
+
>${Be(e)}</strong
|
|
9603
9606
|
>`)}}` : L`<em class="attribute">${e.field}</em>
|
|
9604
9607
|
${lt(e.operator)}
|
|
9605
|
-
${
|
|
9608
|
+
${Be(e.value)}`;
|
|
9606
9609
|
}
|
|
9607
9610
|
function ah(e) {
|
|
9608
|
-
return
|
|
9611
|
+
return vt(e) || typeof e == "number" ? at(e) : String(e);
|
|
9609
9612
|
}
|
|
9610
9613
|
//#endregion
|
|
9611
9614
|
//#region src/sampleView/sampleLabelView.js
|
|
@@ -9618,7 +9621,7 @@ var oh = "SAMPLE_NAME", sh = "_indexNumber", ch = "_labelWidth", lh = "_labelTit
|
|
|
9618
9621
|
valuesProvider: v((e) => e),
|
|
9619
9622
|
type: "identifier",
|
|
9620
9623
|
scale: void 0
|
|
9621
|
-
}), fh = class extends
|
|
9624
|
+
}), fh = class extends ht {
|
|
9622
9625
|
#e;
|
|
9623
9626
|
#t;
|
|
9624
9627
|
#n;
|
|
@@ -9785,7 +9788,7 @@ var Th = /* @__PURE__ */ "blues.greens.greys.oranges.purples.reds.blueGreen.blue
|
|
|
9785
9788
|
function Eh(e) {
|
|
9786
9789
|
let t = document.createElement("canvas");
|
|
9787
9790
|
t.width = 120, t.height = 14;
|
|
9788
|
-
let n = t.getContext("2d"), r =
|
|
9791
|
+
let n = t.getContext("2d"), r = Bn(e);
|
|
9789
9792
|
if (!r) throw Error(`Unknown scheme name: ${e}`);
|
|
9790
9793
|
if (typeof r == "function") {
|
|
9791
9794
|
let e = r, i = t.width / 20;
|
|
@@ -9813,7 +9816,7 @@ function Dh(e, t) {
|
|
|
9813
9816
|
}
|
|
9814
9817
|
//#endregion
|
|
9815
9818
|
//#region src/components/generic/customSelect.js
|
|
9816
|
-
var Oh = class extends
|
|
9819
|
+
var Oh = class extends F {
|
|
9817
9820
|
static properties = {
|
|
9818
9821
|
options: { type: Array },
|
|
9819
9822
|
value: {},
|
|
@@ -9834,7 +9837,7 @@ var Oh = class extends m {
|
|
|
9834
9837
|
disconnectedCallback() {
|
|
9835
9838
|
super.disconnectedCallback(), this.#d(), this.#u();
|
|
9836
9839
|
}
|
|
9837
|
-
static styles = [Oc,
|
|
9840
|
+
static styles = [Oc, I`
|
|
9838
9841
|
:host {
|
|
9839
9842
|
display: inline-block;
|
|
9840
9843
|
font-size: inherit;
|
|
@@ -10236,7 +10239,7 @@ var Bh = class extends G {
|
|
|
10236
10239
|
});
|
|
10237
10240
|
this.colorMode = e.colorMode, this.domainMode = e.domainMode, this.scheme = e.scheme, this.scaleType = e.scaleType, this.quantDomain = e.quantDomain, this.quantRange = e.quantRange, this.domainMid = e.domainMid, this.domainPairs = e.domainPairs, this.thresholds = e.thresholds, this.thresholdRange = e.thresholdRange, this.unsupportedPiecewise = e.unsupportedPiecewise, this.scaleType === "threshold" && this.#u();
|
|
10238
10241
|
}
|
|
10239
|
-
static styles = [...super.styles,
|
|
10242
|
+
static styles = [...super.styles, I`
|
|
10240
10243
|
.gs-form-section {
|
|
10241
10244
|
margin-bottom: var(--gs-basic-spacing, 10px);
|
|
10242
10245
|
}
|
|
@@ -10786,7 +10789,7 @@ var Bh = class extends G {
|
|
|
10786
10789
|
customElements.define("gs-configure-scale-dialog", Bh);
|
|
10787
10790
|
//#endregion
|
|
10788
10791
|
//#region src/sampleView/metadata/derivedMetadataConfigurator.js
|
|
10789
|
-
var Vh = class extends
|
|
10792
|
+
var Vh = class extends F {
|
|
10790
10793
|
static properties = {
|
|
10791
10794
|
attributeInfo: { attribute: !1 },
|
|
10792
10795
|
values: { attribute: !1 },
|
|
@@ -10799,7 +10802,7 @@ var Vh = class extends m {
|
|
|
10799
10802
|
static styles = [
|
|
10800
10803
|
Dc,
|
|
10801
10804
|
Oc,
|
|
10802
|
-
|
|
10805
|
+
I`
|
|
10803
10806
|
:host {
|
|
10804
10807
|
display: block;
|
|
10805
10808
|
}
|
|
@@ -10826,7 +10829,7 @@ var Vh = class extends m {
|
|
|
10826
10829
|
}), this._observedDomain = null;
|
|
10827
10830
|
}
|
|
10828
10831
|
willUpdate(e) {
|
|
10829
|
-
e.has("attributeInfo") && this.attributeInfo && (this._scale =
|
|
10832
|
+
e.has("attributeInfo") && this.attributeInfo && (this._scale = Ne(this.attributeInfo) ?? null, this._scaleConfigured = !1, this._observedDomain = null, this._form.reset());
|
|
10830
10833
|
}
|
|
10831
10834
|
updated(e) {
|
|
10832
10835
|
(e.has("attributeInfo") || e.has("attributeName") || e.has("groupPath") || e.has("_scale") || e.has("_scaleConfigured")) && this.dispatchEvent(new CustomEvent("metadata-config-validity-change", {
|
|
@@ -10917,7 +10920,7 @@ var Vh = class extends m {
|
|
|
10917
10920
|
return this._observedDomain ||= Dh(fe(this.attributeInfo), this.values), this._observedDomain;
|
|
10918
10921
|
}
|
|
10919
10922
|
#n() {
|
|
10920
|
-
return
|
|
10923
|
+
return Ze(this.attributeName, this.groupPath, this.existingAttributeNames, this.attributeInfo);
|
|
10921
10924
|
}
|
|
10922
10925
|
};
|
|
10923
10926
|
customElements.define("gs-derived-metadata-configurator", Vh);
|
|
@@ -10948,7 +10951,7 @@ var Wh = class extends G {
|
|
|
10948
10951
|
attributeName: { state: !0 },
|
|
10949
10952
|
_configHasErrors: { state: !0 }
|
|
10950
10953
|
};
|
|
10951
|
-
static styles = [...super.styles,
|
|
10954
|
+
static styles = [...super.styles, I`
|
|
10952
10955
|
dialog {
|
|
10953
10956
|
width: 520px;
|
|
10954
10957
|
}
|
|
@@ -10998,7 +11001,7 @@ function Gh({ attributeInfo: e, values: t, existingAttributeNames: n, defaultNam
|
|
|
10998
11001
|
//#region src/sampleView/metadata/deriveMetadataFlow.js
|
|
10999
11002
|
async function Kh(e, t, n) {
|
|
11000
11003
|
if (!t.sampleData) throw Error("Sample data has not been initialized.");
|
|
11001
|
-
let r =
|
|
11004
|
+
let r = ke(e, t.sampleMetadata.attributeNames), i = t.sampleData.ids, a = e.valuesProvider({
|
|
11002
11005
|
sampleIds: i,
|
|
11003
11006
|
sampleHierarchy: t
|
|
11004
11007
|
});
|
|
@@ -11011,7 +11014,7 @@ async function Kh(e, t, n) {
|
|
|
11011
11014
|
});
|
|
11012
11015
|
if (o.ok) {
|
|
11013
11016
|
let t = o.data;
|
|
11014
|
-
n.intentExecutor.dispatch(n.actions.deriveMetadata(
|
|
11017
|
+
n.intentExecutor.dispatch(n.actions.deriveMetadata(je(e.attribute, t)));
|
|
11015
11018
|
}
|
|
11016
11019
|
}
|
|
11017
11020
|
//#endregion
|
|
@@ -11064,7 +11067,7 @@ var qh = class {
|
|
|
11064
11067
|
_attributeName: { state: !0 },
|
|
11065
11068
|
_metadataConfigHasErrors: { state: !0 }
|
|
11066
11069
|
};
|
|
11067
|
-
static styles = [...super.styles,
|
|
11070
|
+
static styles = [...super.styles, I`
|
|
11068
11071
|
dialog {
|
|
11069
11072
|
width: 560px;
|
|
11070
11073
|
}
|
|
@@ -11311,12 +11314,12 @@ var qh = class {
|
|
|
11311
11314
|
sampleHierarchy: this.sampleHierarchy
|
|
11312
11315
|
});
|
|
11313
11316
|
if (r.length !== n.length) throw Error("Derived metadata values length does not match sample ids.");
|
|
11314
|
-
return this._attributeInfo = t, this._values = r, this._attributeName =
|
|
11317
|
+
return this._attributeInfo = t, this._values = r, this._attributeName = ke(t, this.sampleHierarchy.sampleMetadata.attributeNames), this._metadataConfigHasErrors = !1, !0;
|
|
11315
11318
|
}
|
|
11316
11319
|
#x() {
|
|
11317
11320
|
if (!this._attributeInfo || !this.sampleView) throw Error("Feature-filtered aggregation wizard is missing derived data.");
|
|
11318
11321
|
let e = this.#S()?.getConfig();
|
|
11319
|
-
return e ? (this.sampleView.intentExecutor.dispatch(this.sampleView.actions.deriveMetadata(
|
|
11322
|
+
return e ? (this.sampleView.intentExecutor.dispatch(this.sampleView.actions.deriveMetadata(je(this._attributeInfo.attribute, e))), this.finish({ ok: !0 }), !1) : !0;
|
|
11320
11323
|
}
|
|
11321
11324
|
#S() {
|
|
11322
11325
|
return this.renderRoot.querySelector("gs-derived-metadata-configurator");
|
|
@@ -11334,7 +11337,7 @@ var qh = class {
|
|
|
11334
11337
|
this.#e.reset(), this._attributeInfo = null, this._values = null, this._attributeName = "", this._metadataConfigHasErrors = !1;
|
|
11335
11338
|
}
|
|
11336
11339
|
#w() {
|
|
11337
|
-
return !this.fieldInfo || !this.selectionIntervalComplex ? [] :
|
|
11340
|
+
return !this.fieldInfo || !this.selectionIntervalComplex ? [] : mt(this.fieldInfo.view, this.selectionIntervalSource ?? this.selectionIntervalComplex, this.filterField) ?? [];
|
|
11338
11341
|
}
|
|
11339
11342
|
};
|
|
11340
11343
|
customElements.define("gs-feature-filtered-aggregation-dialog", Jh);
|
|
@@ -11360,7 +11363,7 @@ function eg(e, t, n) {
|
|
|
11360
11363
|
if (n) try {
|
|
11361
11364
|
let t = [];
|
|
11362
11365
|
e.visit((e) => {
|
|
11363
|
-
e instanceof
|
|
11366
|
+
e instanceof ht && e.isVisible() && sg(e, r) && t.push(e);
|
|
11364
11367
|
});
|
|
11365
11368
|
for (let e of t) {
|
|
11366
11369
|
let t = e.getEncoding(), n = t?.x && "field" in t.x, r = Object.entries(t).some(([e, t]) => ![
|
|
@@ -11412,7 +11415,7 @@ function rg(e, t) {
|
|
|
11412
11415
|
}
|
|
11413
11416
|
function ig(e) {
|
|
11414
11417
|
try {
|
|
11415
|
-
return
|
|
11418
|
+
return Ge(e).filter((e) => ![
|
|
11416
11419
|
"sample",
|
|
11417
11420
|
"x",
|
|
11418
11421
|
"x2"
|
|
@@ -11455,7 +11458,7 @@ function sg(e, t) {
|
|
|
11455
11458
|
function cg(e) {
|
|
11456
11459
|
if (e.view.getEncoding()?.x2) return !0;
|
|
11457
11460
|
let t = e.view.getScaleResolution("x")?.getScale()?.type;
|
|
11458
|
-
return t ?
|
|
11461
|
+
return t ? qn(t) : !1;
|
|
11459
11462
|
}
|
|
11460
11463
|
function lg(e) {
|
|
11461
11464
|
return e === "quantitative" ? $h : Zh;
|
|
@@ -11474,10 +11477,10 @@ function fg(e, t) {
|
|
|
11474
11477
|
var pg = "SAMPLE_ATTRIBUTE";
|
|
11475
11478
|
function mg(e, t, n) {
|
|
11476
11479
|
let r = e.getAxisResolution("x")?.getTitle();
|
|
11477
|
-
return t.type === "locus" ? "Locus: " + (
|
|
11480
|
+
return t.type === "locus" ? "Locus: " + (vt(n) || typeof n == "number" ? at(n) : String(n)) : (r ? r + ": " : "") + n;
|
|
11478
11481
|
}
|
|
11479
11482
|
function hg(e, t) {
|
|
11480
|
-
if (!e || !t || e.selection.intervals.x?.length !== 2 || !
|
|
11483
|
+
if (!e || !t || e.selection.intervals.x?.length !== 2 || !Tn(e.selection, t)) return {};
|
|
11481
11484
|
let n = e.selection.intervals.x, r = e.view.getScaleResolution("x")?.type === "locus" ? [e.view.getScaleResolution("x").toComplex(n[0]), e.view.getScaleResolution("x").toComplex(n[1])] : n;
|
|
11482
11485
|
return {
|
|
11483
11486
|
selectionInterval: n,
|
|
@@ -11571,8 +11574,8 @@ function xg(e, t) {
|
|
|
11571
11574
|
let n = t.mark.unitView, r = t.datum, i = [];
|
|
11572
11575
|
for (let [e, t] of n.paramRuntime.paramConfigs) {
|
|
11573
11576
|
if (!("select" in t) || t.persist === !1) continue;
|
|
11574
|
-
let n =
|
|
11575
|
-
|
|
11577
|
+
let n = hn(t.select);
|
|
11578
|
+
pn(n) && n.toggle && i.push(e);
|
|
11576
11579
|
}
|
|
11577
11580
|
if (i.length === 0) return { status: "unavailable" };
|
|
11578
11581
|
if (i.length > 1) return {
|
|
@@ -11586,17 +11589,17 @@ function xg(e, t) {
|
|
|
11586
11589
|
return { status: "unavailable" };
|
|
11587
11590
|
}
|
|
11588
11591
|
if (!a || a.length === 0) return { status: "unavailable" };
|
|
11589
|
-
let o = a.map((e) =>
|
|
11592
|
+
let o = a.map((e) => mn(e)(r));
|
|
11590
11593
|
if (o.some((e) => e == null)) return { status: "unavailable" };
|
|
11591
|
-
let s = i[0], c =
|
|
11594
|
+
let s = i[0], c = Zn(n, s);
|
|
11592
11595
|
try {
|
|
11593
|
-
|
|
11596
|
+
Hn(e, c);
|
|
11594
11597
|
} catch {
|
|
11595
11598
|
return { status: "unavailable" };
|
|
11596
11599
|
}
|
|
11597
11600
|
let l;
|
|
11598
11601
|
try {
|
|
11599
|
-
l =
|
|
11602
|
+
l = zn(n);
|
|
11600
11603
|
} catch {
|
|
11601
11604
|
return { status: "unavailable" };
|
|
11602
11605
|
}
|
|
@@ -11707,11 +11710,11 @@ var Ag = qt({
|
|
|
11707
11710
|
initialState: { entries: {} },
|
|
11708
11711
|
reducers: {
|
|
11709
11712
|
paramChange: (e, t) => {
|
|
11710
|
-
let n =
|
|
11713
|
+
let n = Qn(t.payload.selector);
|
|
11711
11714
|
e.entries[n] = t.payload;
|
|
11712
11715
|
},
|
|
11713
11716
|
expandPointSelection: (e, t) => {
|
|
11714
|
-
let n = t.payload, r =
|
|
11717
|
+
let n = t.payload, r = Qn(n.selector), i;
|
|
11715
11718
|
if ("rule" in n && n.rule) i = { rule: n.rule };
|
|
11716
11719
|
else if ("predicate" in n && n.predicate) i = { predicate: n.predicate };
|
|
11717
11720
|
else throw Error("expandPointSelection requires either 'rule' or 'predicate'.");
|
|
@@ -11731,7 +11734,7 @@ var Ag = qt({
|
|
|
11731
11734
|
function jg(e) {
|
|
11732
11735
|
if (Ag.actions.expandPointSelection.match(e) || !Ag.actions.paramChange.match(e)) return null;
|
|
11733
11736
|
let t = e.payload, n = t?.selector;
|
|
11734
|
-
return !n || !Array.isArray(n.scope) || !n.param || t?.value?.type === "pointExpand" ? null :
|
|
11737
|
+
return !n || !Array.isArray(n.scope) || !n.param || t?.value?.type === "pointExpand" ? null : Qn(n);
|
|
11735
11738
|
}
|
|
11736
11739
|
//#endregion
|
|
11737
11740
|
//#region src/state/selectionExpansionMenu.js
|
|
@@ -11796,7 +11799,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
11796
11799
|
return this.#r("right", e);
|
|
11797
11800
|
}
|
|
11798
11801
|
getHorizontalReserve(e) {
|
|
11799
|
-
return new
|
|
11802
|
+
return new Fn(0, this.getRightReserve(e), 0, this.getLeftReserve(e));
|
|
11800
11803
|
}
|
|
11801
11804
|
hasHorizontalReserveChanged(e, t) {
|
|
11802
11805
|
return this.getLeftReserve(e) !== this.getLeftReserve(t) || this.getRightReserve(e) !== this.getRightReserve(t);
|
|
@@ -11810,9 +11813,9 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
11810
11813
|
}
|
|
11811
11814
|
renderVerticalAxes(e, t, n, r = {}) {
|
|
11812
11815
|
if (!this.#a(n) || this.#n() !== 0) return;
|
|
11813
|
-
let i =
|
|
11816
|
+
let i = ir(r), a = i ? {
|
|
11814
11817
|
...r,
|
|
11815
|
-
clip:
|
|
11818
|
+
clip: ar(i.rect, !1, !0)
|
|
11816
11819
|
} : r;
|
|
11817
11820
|
for (let r of ["left", "right"]) {
|
|
11818
11821
|
let i = this.#i(r);
|
|
@@ -11821,7 +11824,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
11821
11824
|
y: () => t.y + o.locSize.location,
|
|
11822
11825
|
height: o.locSize.size
|
|
11823
11826
|
});
|
|
11824
|
-
i.render(e,
|
|
11827
|
+
i.render(e, oe(n, r, i), a);
|
|
11825
11828
|
}
|
|
11826
11829
|
}
|
|
11827
11830
|
}
|
|
@@ -11882,7 +11885,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
11882
11885
|
this.spec = c.spec, this.#i = e.stickySummaries ?? !0, this.#w(), this.#g(), this.#C(), this.#h(), this.#T(o), this.#E(), this.#s = this.paramRuntime.allocateSetter("visibleSamples", []), this.#l = this.paramRuntime.allocateSetter("visibleSampleMetadata", Wg(this.sampleHierarchy, [])), this.getSamples = () => kt(this.sampleHierarchy), this.spec.samples.identity?.data && this.#A();
|
|
11883
11886
|
}
|
|
11884
11887
|
#h() {
|
|
11885
|
-
let e =
|
|
11888
|
+
let e = k;
|
|
11886
11889
|
this.compositeAttributeInfoSource.addAttributeInfoSource(zg, (e) => nh(this, e));
|
|
11887
11890
|
let t = (e) => this.compositeAttributeInfoSource.getAttributeInfo(e);
|
|
11888
11891
|
this.provenance.addActionInfoSource((e) => Ul(e, t)), this.actions = e.actions;
|
|
@@ -11900,8 +11903,8 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
11900
11903
|
this.#a.resolveMatching(e);
|
|
11901
11904
|
}
|
|
11902
11905
|
#v(e, t, n) {
|
|
11903
|
-
if (n &&
|
|
11904
|
-
if (n) return
|
|
11906
|
+
if (n && Dt(e, n)) return Promise.resolve();
|
|
11907
|
+
if (n) return Je(this.context, e, n, t);
|
|
11905
11908
|
let r = e.getDataAncestors();
|
|
11906
11909
|
return this.#a.wait((t) => t === e || r.includes(t), t);
|
|
11907
11910
|
}
|
|
@@ -11933,7 +11936,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
11933
11936
|
}
|
|
11934
11937
|
async awaitViewAttributeProcessed(e, t = {}) {
|
|
11935
11938
|
let n = this.#y(e);
|
|
11936
|
-
await this.#v(n, t.signal,
|
|
11939
|
+
await this.#v(n, t.signal, $e(n, ["x"]));
|
|
11937
11940
|
}
|
|
11938
11941
|
awaitMetadataReady(e) {
|
|
11939
11942
|
return this.metadataView?.awaitMetadataReady(e) ?? Promise.resolve();
|
|
@@ -11943,11 +11946,11 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
11943
11946
|
if (!r) throw Error(`No x scale resolution found for view: ${n.name}`);
|
|
11944
11947
|
this.#b(n);
|
|
11945
11948
|
let i = r.getScale();
|
|
11946
|
-
if (
|
|
11949
|
+
if (Xn(i.type) && !qn(i.type)) {
|
|
11947
11950
|
let t = this.#x(e);
|
|
11948
11951
|
await this.#S(n, t);
|
|
11949
11952
|
}
|
|
11950
|
-
await this.#v(n, t.signal,
|
|
11953
|
+
await this.#v(n, t.signal, $e(n, ["x"]));
|
|
11951
11954
|
}
|
|
11952
11955
|
#C() {
|
|
11953
11956
|
let e = this.context;
|
|
@@ -11987,7 +11990,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
11987
11990
|
#T(e) {
|
|
11988
11991
|
this.intentExecutor = e, this.#u = (e) => {
|
|
11989
11992
|
let t = this.compositeAttributeInfoSource.getAttributeInfo.bind(this.compositeAttributeInfoSource);
|
|
11990
|
-
return
|
|
11993
|
+
return Se(e, this.sampleHierarchy, t);
|
|
11991
11994
|
}, e.addActionAugmenter(this.#u);
|
|
11992
11995
|
}
|
|
11993
11996
|
#E() {
|
|
@@ -12010,7 +12013,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12010
12013
|
spacing: 0,
|
|
12011
12014
|
vconcat: []
|
|
12012
12015
|
}, this, this, "sampleSummaries");
|
|
12013
|
-
t.setLegendFilter((e) =>
|
|
12016
|
+
t.setLegendFilter((e) => nn(e));
|
|
12014
12017
|
let n = await this.context.createOrImportView(e, this, this, "sample-facets", void 0, { inheritEncoding: !0 });
|
|
12015
12018
|
this.#t = new Hg(n, this, 0, t, this.spec.view), this.#o = (e) => {
|
|
12016
12019
|
this.#t.view.paramRuntime.setValue("height", e);
|
|
@@ -12029,22 +12032,22 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12029
12032
|
hconcat: [],
|
|
12030
12033
|
spacing: 8,
|
|
12031
12034
|
padding: { right: 8 }
|
|
12032
|
-
}, this, this, "sample-sidebar"),
|
|
12035
|
+
}, this, this, "sample-sidebar"), Vn(this.#n, { skipSubtree: !0 }), this.sampleGroupView = new lm(this, this.#n), this.sampleLabelView = new fh(this, this.#n), this.metadataView = new Xp(this, this.#n), this.#n.setChildren([
|
|
12033
12036
|
this.sampleGroupView,
|
|
12034
12037
|
this.sampleLabelView,
|
|
12035
12038
|
this.metadataView
|
|
12036
12039
|
]);
|
|
12037
|
-
let
|
|
12040
|
+
let r = (e) => {
|
|
12038
12041
|
e.type === "mousedown" && e.mouseEvent.button !== 0 || e.stopPropagation();
|
|
12039
12042
|
};
|
|
12040
|
-
this.#n.addInteractionListener("wheel",
|
|
12043
|
+
this.#n.addInteractionListener("wheel", r, !0), this.#n.addInteractionListener("mousedown", r, !0), this.#n.addInteractionListener("touchgesture", r, !0), this.#t.scrollbars.vertical = new l(this.#t, "vertical", { onViewportOffsetChange: (e) => {
|
|
12041
12044
|
this.locationManager.setScrollOffset(e), this.sampleGroupView.updateRange(), this.context.animator.requestRender();
|
|
12042
12045
|
} }), this.#d = (e) => {
|
|
12043
12046
|
this.#t.scrollbars.vertical.paramRuntime.setValue("scrollbarOpacity", e);
|
|
12044
|
-
},
|
|
12047
|
+
}, Pe(this), Me(this), Ae(this), await this.#t.syncGuideViews(), await this.#W(), Pe(this), Me(this), Ae(this), await this.#t.summaryViews.syncGuideViews(), await this.#t.syncGuideViews(), await this.sampleGroupView.initializeChildren(), await this.metadataView.initializeChildren(), this.#t.view.addInteractionListener("contextmenu", this.#V.bind(this));
|
|
12045
12048
|
}
|
|
12046
12049
|
getOverhang() {
|
|
12047
|
-
let e = this.#D().px ?? 0, t = this.locationManager.getLocations(), n = this.#t.sampleChromeLayout.getHorizontalReserve(t).add(new
|
|
12050
|
+
let e = this.#D().px ?? 0, t = this.locationManager.getLocations(), n = this.#t.sampleChromeLayout.getHorizontalReserve(t).add(new Fn(0, 0, 0, e)), r = this.#O();
|
|
12048
12051
|
return n.add(r.sampleOverhang.getHorizontal()).add(r.sharedVerticalOverhang);
|
|
12049
12052
|
}
|
|
12050
12053
|
prepareLayoutSize(e, t) {
|
|
@@ -12057,7 +12060,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12057
12060
|
return this.#n.isConfiguredVisible() ? this.#n.getSize().addPadding(this.#n.getPadding()).width : { px: 0 };
|
|
12058
12061
|
}
|
|
12059
12062
|
#O() {
|
|
12060
|
-
let e = this.#t.getOverhangWithoutYAxes(), t = this.#n.isConfiguredVisible() ? this.#n.getOverhang().getVertical() :
|
|
12063
|
+
let e = this.#t.getOverhangWithoutYAxes(), t = this.#n.isConfiguredVisible() ? this.#n.getOverhang().getVertical() : Fn.zero();
|
|
12061
12064
|
return {
|
|
12062
12065
|
sampleOverhang: e,
|
|
12063
12066
|
sidebarVerticalOverhang: t,
|
|
@@ -12067,7 +12070,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12067
12070
|
getSize() {
|
|
12068
12071
|
return this._cache("size/size2", () => {
|
|
12069
12072
|
let e = super.getSize(), t = ((e) => e.getSize().addPadding(e.getOverhang()).addPadding(e.getPadding()))(this.#t.view).width;
|
|
12070
|
-
return new
|
|
12073
|
+
return new In(t, e.height);
|
|
12071
12074
|
});
|
|
12072
12075
|
}
|
|
12073
12076
|
*[Symbol.iterator]() {
|
|
@@ -12082,23 +12085,23 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12082
12085
|
displayName: e,
|
|
12083
12086
|
indexNumber: t
|
|
12084
12087
|
}));
|
|
12085
|
-
this.provenance.store.dispatch(this.actions.setSamples({ samples: t })), gm(this.provenance.store,
|
|
12088
|
+
this.provenance.store.dispatch(this.actions.setSamples({ samples: t })), gm(this.provenance.store, C);
|
|
12086
12089
|
} else throw Error("No explicit sample data nor sample channels found!");
|
|
12087
12090
|
}
|
|
12088
12091
|
#A() {
|
|
12089
12092
|
let e = this.spec.samples.identity;
|
|
12090
12093
|
if (!e) throw Error("Sample identity definition is missing.");
|
|
12091
|
-
let { dataSource: t, collector: n } =
|
|
12094
|
+
let { dataSource: t, collector: n } = xt(Mt(e.data, this), new Vg(e.idField ?? "sample", e.displayNameField)), r = n.observe(() => {
|
|
12092
12095
|
let e = n.getData();
|
|
12093
|
-
this.provenance.store.dispatch(this.actions.setSamples({ samples: e })), gm(this.provenance.store,
|
|
12096
|
+
this.provenance.store.dispatch(this.actions.setSamples({ samples: e })), gm(this.provenance.store, C);
|
|
12094
12097
|
});
|
|
12095
12098
|
this.registerDisposer(r), this.context.dataFlow.addDataSource(t);
|
|
12096
12099
|
}
|
|
12097
12100
|
get sampleHierarchy() {
|
|
12098
|
-
return this.provenance.getPresentState()[
|
|
12101
|
+
return this.provenance.getPresentState()[C];
|
|
12099
12102
|
}
|
|
12100
12103
|
get leafSamples() {
|
|
12101
|
-
return
|
|
12104
|
+
return De(this.sampleHierarchy).map((e) => e.at(-1)).map((e) => e.samples).flat();
|
|
12102
12105
|
}
|
|
12103
12106
|
#j() {
|
|
12104
12107
|
if (!this.#s) return;
|
|
@@ -12126,7 +12129,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12126
12129
|
}
|
|
12127
12130
|
#P(e, t, n = {}) {
|
|
12128
12131
|
let r = this.#t, i = n, a = () => {
|
|
12129
|
-
|
|
12132
|
+
de(r.legends, r.axes, t, e, i, (e, t, n) => n(), 0), r.renderTitle(e, t, i);
|
|
12130
12133
|
}, o = r.groupBackground || Object.values(r.axes).length ? this.locationManager.getGroupBackgroundRects(this.childCoords) : [];
|
|
12131
12134
|
for (let { coords: t, clipRect: i } of o) {
|
|
12132
12135
|
r.groupBackground?.render(e, t, n);
|
|
@@ -12135,7 +12138,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12135
12138
|
clipRect: i
|
|
12136
12139
|
});
|
|
12137
12140
|
}
|
|
12138
|
-
let s =
|
|
12141
|
+
let s = ar(this.locationManager.clipBySummary(t), !0, !0), c = this.locationManager.getLocations();
|
|
12139
12142
|
if (!c) {
|
|
12140
12143
|
a();
|
|
12141
12144
|
return;
|
|
@@ -12150,7 +12153,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12150
12153
|
e.endSampleFacetBatch();
|
|
12151
12154
|
}
|
|
12152
12155
|
for (let { coords: t } of o) r.groupBackgroundStroke?.render(e, t, n);
|
|
12153
|
-
for (let [n, i] of Object.entries(r.axes)) n === "left" || n === "right" || i.render(e,
|
|
12156
|
+
for (let [n, i] of Object.entries(r.axes)) n === "left" || n === "right" || i.render(e, oe(t, n, i));
|
|
12154
12157
|
r.sampleChromeLayout.renderVerticalAxes(e, t, c, {
|
|
12155
12158
|
...n,
|
|
12156
12159
|
clip: s
|
|
@@ -12158,14 +12161,14 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12158
12161
|
let f = r.summaryViews, p = f.getOverhang().getHorizontal();
|
|
12159
12162
|
n = {
|
|
12160
12163
|
...n,
|
|
12161
|
-
clip:
|
|
12164
|
+
clip: ar(t.expand(p), !0, !0)
|
|
12162
12165
|
};
|
|
12163
12166
|
let m = f.getSize().height.px;
|
|
12164
12167
|
for (let [r, i] of c.summaries.entries()) {
|
|
12165
12168
|
let a = t.modify({
|
|
12166
12169
|
y: () => {
|
|
12167
12170
|
let e = i.locSize.location, n = t.y + e;
|
|
12168
|
-
return this.#i ? n +
|
|
12171
|
+
return this.#i ? n + an(-e, 0, i.locSize.size - m) : n;
|
|
12169
12172
|
},
|
|
12170
12173
|
height: m
|
|
12171
12174
|
}).expand(p);
|
|
@@ -12182,7 +12185,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12182
12185
|
this.layoutParent || (t = t.shrink(this.getPadding()));
|
|
12183
12186
|
let r = this.#O();
|
|
12184
12187
|
t = t.shrink(r.sampleOverhang.getHorizontal().add(r.sharedVerticalOverhang)), e.pushView(this, t);
|
|
12185
|
-
let i =
|
|
12188
|
+
let i = An([this.#D(), { grow: 1 }], t.width), a = (e) => t.modify({
|
|
12186
12189
|
x: e.location + t.x,
|
|
12187
12190
|
width: e.size
|
|
12188
12191
|
});
|
|
@@ -12250,10 +12253,10 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12250
12253
|
let e = this.#t.view.getLayoutAncestors();
|
|
12251
12254
|
for (let t of e) for (let [e, n] of t.paramRuntime.paramConfigs) {
|
|
12252
12255
|
if (!("select" in n)) continue;
|
|
12253
|
-
let r =
|
|
12254
|
-
if (!
|
|
12256
|
+
let r = hn(n.select);
|
|
12257
|
+
if (!wn(r) || !r.encodings?.includes("x")) continue;
|
|
12255
12258
|
let i = t.paramRuntime.getValue(e);
|
|
12256
|
-
if (i &&
|
|
12259
|
+
if (i && vn(i)) return {
|
|
12257
12260
|
selection: i,
|
|
12258
12261
|
view: t,
|
|
12259
12262
|
paramName: e,
|
|
@@ -12274,8 +12277,8 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12274
12277
|
#V(e) {
|
|
12275
12278
|
let t = e.uiEvent, n = this.getLayoutAncestors().at(-1), r = this.childCoords.normalizePoint(e.point.x, e.point.y).x, i = this.findSampleForMouseEvent(e), a = this.#t.view, o = a.getScaleResolution("x"), s = o.invertToComplex(r), c = this.#z(), { selectionInterval: l, selectionIntervalComplex: u, selectionIntervalLabel: d } = hg(c, c ? this.#B(c.view, e) : void 0), f;
|
|
12276
12279
|
if (c && c.bookmarkable) try {
|
|
12277
|
-
let e =
|
|
12278
|
-
|
|
12280
|
+
let e = Zn(c.view, c.paramName);
|
|
12281
|
+
Hn(this, e), f = {
|
|
12279
12282
|
type: "selection",
|
|
12280
12283
|
selector: e
|
|
12281
12284
|
};
|
|
@@ -12354,14 +12357,14 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12354
12357
|
});
|
|
12355
12358
|
}
|
|
12356
12359
|
propagateInteraction(e) {
|
|
12357
|
-
|
|
12360
|
+
T(this, e, () => {
|
|
12358
12361
|
let t = this.#H(), n = this.childCoords.containsPoint(e.point.x, e.point.y), r = t.containsPoint(e.point.x, e.point.y);
|
|
12359
12362
|
if (e.type === "wheelclaimprobe") {
|
|
12360
12363
|
r && this.#t.view.getScaleResolution("x")?.isZoomable() && e.claimWheel();
|
|
12361
12364
|
return;
|
|
12362
12365
|
}
|
|
12363
|
-
for (let t of Object.values(this.#t.scrollbars)) if (
|
|
12364
|
-
n ?
|
|
12366
|
+
for (let t of Object.values(this.#t.scrollbars)) if (Ce(e, () => t.coords.containsPoint(e.point.x, e.point.y), () => t.propagateInteraction(e)), e.stopped) return;
|
|
12367
|
+
n ? Ce(e, () => !0, () => this.#t.view.propagateInteraction(e), () => Ee(e, t, (e) => this.#U(t, this.#t.view, e), this.context.getCurrentHover(), this.context.animator)) : r && Ee(e, t, (e) => this.#U(t, this.#t.view, e), this.context.getCurrentHover(), this.context.animator), !e.stopped && Ce(e, () => this.sidebarCoords.containsPoint(e.point.x, e.point.y), () => this.#n.propagateInteraction(e));
|
|
12365
12368
|
});
|
|
12366
12369
|
}
|
|
12367
12370
|
#U(e, t, n) {
|
|
@@ -12408,7 +12411,7 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12408
12411
|
dispose() {
|
|
12409
12412
|
super.dispose(), this.intentExecutor.removeActionAugmenter(this.#u);
|
|
12410
12413
|
}
|
|
12411
|
-
}, Vg = class extends
|
|
12414
|
+
}, Vg = class extends _n {
|
|
12412
12415
|
#e;
|
|
12413
12416
|
#t;
|
|
12414
12417
|
#n = 0;
|
|
@@ -12426,33 +12429,33 @@ var Fg = 60, Ig = "all", Lg = 1e-6, Rg = class {
|
|
|
12426
12429
|
indexNumber: this.#n++
|
|
12427
12430
|
});
|
|
12428
12431
|
}
|
|
12429
|
-
}, Hg = class extends
|
|
12432
|
+
}, Hg = class extends b {
|
|
12430
12433
|
constructor(e, t, n, r, i) {
|
|
12431
12434
|
super(e, t, n), this.groupBackground = void 0, this.groupBackgroundStroke = void 0, this.sampleChromeLayout = new Rg({
|
|
12432
12435
|
sampleYAxis: t.spec.sampleYAxis,
|
|
12433
12436
|
getActiveAxisCandidate: (e) => this.getActiveAxisCandidate(e),
|
|
12434
12437
|
getPeekState: () => t.locationManager.getPeekState()
|
|
12435
12438
|
});
|
|
12436
|
-
let a =
|
|
12437
|
-
a && (this.groupBackground = new
|
|
12438
|
-
let o =
|
|
12439
|
-
o && (this.groupBackgroundStroke = new
|
|
12439
|
+
let a = O(i);
|
|
12440
|
+
a && (this.groupBackground = new ht(a, t.context, t, e, "sample-group-background-" + n), Vn(this.groupBackground, { skipSubtree: !0 }));
|
|
12441
|
+
let o = N(i);
|
|
12442
|
+
o && (this.groupBackgroundStroke = new ht(o, t.context, t, e, "sample-group-background-stroke-" + n), Vn(this.groupBackgroundStroke, { skipSubtree: !0 })), this.summaryViews = r;
|
|
12440
12443
|
}
|
|
12441
12444
|
allowDuplicateAxes() {
|
|
12442
12445
|
return !0;
|
|
12443
12446
|
}
|
|
12444
12447
|
async syncGuideViews() {
|
|
12445
|
-
let e =
|
|
12448
|
+
let e = ge(this.summaryViews), t = new Set(e);
|
|
12446
12449
|
if (await super.syncGuideViews({
|
|
12447
|
-
legendOwners: [...
|
|
12448
|
-
legendFilter: (e, n) => !t.has(n) || !
|
|
12450
|
+
legendOwners: [...ge(this.view), ...e],
|
|
12451
|
+
legendFilter: (e, n) => !t.has(n) || !nn(e)
|
|
12449
12452
|
}), this.legends.left) throw Error("SampleView child legends do not support left orientation because the sidebar owns the left side.");
|
|
12450
12453
|
}
|
|
12451
12454
|
getAxisLabelClipPolicy(e, t) {
|
|
12452
12455
|
return e === "y" ? "anchor" : super.getAxisLabelClipPolicy(e, t);
|
|
12453
12456
|
}
|
|
12454
12457
|
getOverhangWithoutYAxes() {
|
|
12455
|
-
let e = (e) =>
|
|
12458
|
+
let e = (e) => Oe(this.axes[e]), t = new Fn(0, e("right"), 0, e("left"));
|
|
12456
12459
|
return this.getOverhang().subtract(t);
|
|
12457
12460
|
}
|
|
12458
12461
|
*getChildren() {
|
|
@@ -12693,8 +12696,8 @@ function S_(e, t = !1, n = 0) {
|
|
|
12693
12696
|
else v_(this, e);
|
|
12694
12697
|
}
|
|
12695
12698
|
var C_ = (e) => {
|
|
12696
|
-
e.type ==
|
|
12697
|
-
}, w_ = class extends
|
|
12699
|
+
e.type == ve.CHILD && (e._$AP ??= S_, e._$AQ ??= x_);
|
|
12700
|
+
}, w_ = class extends Yt {
|
|
12698
12701
|
constructor() {
|
|
12699
12702
|
super(...arguments), this._$AN = void 0;
|
|
12700
12703
|
}
|
|
@@ -12713,13 +12716,13 @@ var C_ = (e) => {
|
|
|
12713
12716
|
}
|
|
12714
12717
|
disconnected() {}
|
|
12715
12718
|
reconnected() {}
|
|
12716
|
-
}, T_ = () => new E_(), E_ = class {}, D_ = /* @__PURE__ */ new WeakMap(), O_ =
|
|
12719
|
+
}, T_ = () => new E_(), E_ = class {}, D_ = /* @__PURE__ */ new WeakMap(), O_ = He(class extends w_ {
|
|
12717
12720
|
render(e) {
|
|
12718
|
-
return
|
|
12721
|
+
return _;
|
|
12719
12722
|
}
|
|
12720
12723
|
update(e, [t]) {
|
|
12721
12724
|
let n = t !== this.G;
|
|
12722
|
-
return n && this.rt(void 0), (n || this.lt !== this.ct) && (this.G = t, this.ht = e.options?.host, this.rt(this.ct = e.element)),
|
|
12725
|
+
return n && this.rt(void 0), (n || this.lt !== this.ct) && (this.G = t, this.ht = e.options?.host, this.rt(this.ct = e.element)), _;
|
|
12723
12726
|
}
|
|
12724
12727
|
rt(e) {
|
|
12725
12728
|
if (this.G !== void 0) if (this.isConnected || (e = void 0), typeof this.G == "function") {
|
|
@@ -12736,7 +12739,7 @@ var C_ = (e) => {
|
|
|
12736
12739
|
reconnected() {
|
|
12737
12740
|
this.rt(this.ct);
|
|
12738
12741
|
}
|
|
12739
|
-
}), k_ = {}, A_ =
|
|
12742
|
+
}), k_ = {}, A_ = He(class extends Yt {
|
|
12740
12743
|
constructor() {
|
|
12741
12744
|
super(...arguments), this.ot = k_;
|
|
12742
12745
|
}
|
|
@@ -12745,8 +12748,8 @@ var C_ = (e) => {
|
|
|
12745
12748
|
}
|
|
12746
12749
|
update(e, [t, n]) {
|
|
12747
12750
|
if (Array.isArray(t)) {
|
|
12748
|
-
if (Array.isArray(this.ot) && this.ot.length === t.length && t.every((e, t) => e === this.ot[t])) return
|
|
12749
|
-
} else if (this.ot === t) return
|
|
12751
|
+
if (Array.isArray(this.ot) && this.ot.length === t.length && t.every((e, t) => e === this.ot[t])) return ce;
|
|
12752
|
+
} else if (this.ot === t) return ce;
|
|
12750
12753
|
return this.ot = Array.isArray(t) ? Array.from(t) : t, this.render(t, n);
|
|
12751
12754
|
}
|
|
12752
12755
|
}), j_ = class {
|
|
@@ -12764,7 +12767,7 @@ var C_ = (e) => {
|
|
|
12764
12767
|
}
|
|
12765
12768
|
hostUpdate() {}
|
|
12766
12769
|
hostUpdated() {}
|
|
12767
|
-
}, M_ = class extends
|
|
12770
|
+
}, M_ = class extends F {
|
|
12768
12771
|
constructor() {
|
|
12769
12772
|
super(), this.inputRef = T_(), this.app = void 0, this._focused = !1, this._subscriptions = new j_(this), this.getDefaultValue = () => "";
|
|
12770
12773
|
}
|
|
@@ -12797,7 +12800,7 @@ var C_ = (e) => {
|
|
|
12797
12800
|
let t = e.getScale();
|
|
12798
12801
|
if (!("genome" in t)) throw Error("Expected a zoomable locus scale to provide genome()");
|
|
12799
12802
|
this._genome = t.genome(), this.getDefaultValue = () => this._genome.formatInterval(e.getDomain());
|
|
12800
|
-
let n =
|
|
12803
|
+
let n = ae(() => this.requestUpdate(), 60, !1);
|
|
12801
12804
|
e.addEventListener("domain", n), this._subscriptions.addUnsubscribeCallback(() => e.removeEventListener("domain", n));
|
|
12802
12805
|
}
|
|
12803
12806
|
}
|
|
@@ -12812,7 +12815,7 @@ var C_ = (e) => {
|
|
|
12812
12815
|
let i = n.getDataAccessor("x").asNumberAccessor(), a = n.getDataAccessor("x2").asNumberAccessor(), o = n.getScaleResolution("x");
|
|
12813
12816
|
if (!(!i || !a || !o?.isZoomable())) {
|
|
12814
12817
|
for (let s of n.getCollector()?.getData() ?? []) if (P_(s, r, e, t)) {
|
|
12815
|
-
let e =
|
|
12818
|
+
let e = w([i(s), a(s)], null, 1.2);
|
|
12816
12819
|
return await o.zoomTo(e), !0;
|
|
12817
12820
|
}
|
|
12818
12821
|
}
|
|
@@ -12942,7 +12945,7 @@ function P_(e, t, n, r) {
|
|
|
12942
12945
|
}
|
|
12943
12946
|
function F_(e, t, n) {
|
|
12944
12947
|
let r = /* @__PURE__ */ new Set();
|
|
12945
|
-
for (let i of e) for (let e of
|
|
12948
|
+
for (let i of e) for (let e of nt(n, t, i)) if (e != null && r.add(String(e)), r.size >= n) return [...r];
|
|
12946
12949
|
return [...r];
|
|
12947
12950
|
}
|
|
12948
12951
|
function I_(e) {
|
|
@@ -12950,7 +12953,7 @@ function I_(e) {
|
|
|
12950
12953
|
return e.visit((e) => {
|
|
12951
12954
|
for (let n of ["x", "y"]) {
|
|
12952
12955
|
let r = e.resolutions.scale[n];
|
|
12953
|
-
if (r && r.type == "locus" && r.isZoomable()) return t = r,
|
|
12956
|
+
if (r && r.type == "locus" && r.isZoomable()) return t = r, er;
|
|
12954
12957
|
}
|
|
12955
12958
|
}), t;
|
|
12956
12959
|
}
|
|
@@ -12964,7 +12967,7 @@ var L_ = {
|
|
|
12964
12967
|
contributors: [],
|
|
12965
12968
|
license: "MIT",
|
|
12966
12969
|
homepage: "https://genomespy.app/",
|
|
12967
|
-
version: "0.
|
|
12970
|
+
version: "0.85.0",
|
|
12968
12971
|
main: "dist/index.js",
|
|
12969
12972
|
module: "dist/index.es.js",
|
|
12970
12973
|
type: "module",
|
|
@@ -13023,7 +13026,7 @@ var L_ = {
|
|
|
13023
13026
|
"@fortawesome/fontawesome-free": "^6.4.2",
|
|
13024
13027
|
"@fortawesome/fontawesome-svg-core": "^6.4.2",
|
|
13025
13028
|
"@fortawesome/free-solid-svg-icons": "^6.4.2",
|
|
13026
|
-
"@genome-spy/core": "^0.
|
|
13029
|
+
"@genome-spy/core": "^0.85.0",
|
|
13027
13030
|
"@reduxjs/toolkit": "^2.11.0",
|
|
13028
13031
|
"d3-color": "^3.1.0",
|
|
13029
13032
|
idb: "^7.1.1",
|
|
@@ -13036,10 +13039,10 @@ var L_ = {
|
|
|
13036
13039
|
zarrita: "^0.6.1"
|
|
13037
13040
|
},
|
|
13038
13041
|
devDependencies: {
|
|
13039
|
-
"@genome-spy/app-agent": "^0.
|
|
13040
|
-
"@genome-spy/inspector": "^0.
|
|
13042
|
+
"@genome-spy/app-agent": "^0.85.0",
|
|
13043
|
+
"@genome-spy/inspector": "^0.85.0"
|
|
13041
13044
|
},
|
|
13042
|
-
gitHead: "
|
|
13045
|
+
gitHead: "9d32a48e4ee76086a65ee66231f871c0f57071d7"
|
|
13043
13046
|
};
|
|
13044
13047
|
//#endregion
|
|
13045
13048
|
//#region src/utils/version.js
|
|
@@ -13052,22 +13055,22 @@ function R_(e) {
|
|
|
13052
13055
|
}
|
|
13053
13056
|
//#endregion
|
|
13054
13057
|
//#region ../../node_modules/lit-html/directives/live.js
|
|
13055
|
-
var z_ =
|
|
13058
|
+
var z_ = He(class extends Yt {
|
|
13056
13059
|
constructor(e) {
|
|
13057
|
-
if (super(e), e.type !==
|
|
13060
|
+
if (super(e), e.type !== ve.PROPERTY && e.type !== ve.ATTRIBUTE && e.type !== ve.BOOLEAN_ATTRIBUTE) throw Error("The `live` directive is not allowed on child or event bindings");
|
|
13058
13061
|
if (!Rc(e)) throw Error("`live` bindings can only contain a single expression");
|
|
13059
13062
|
}
|
|
13060
13063
|
render(e) {
|
|
13061
13064
|
return e;
|
|
13062
13065
|
}
|
|
13063
13066
|
update(e, [t]) {
|
|
13064
|
-
if (t ===
|
|
13067
|
+
if (t === ce || t === _) return t;
|
|
13065
13068
|
let n = e.element, r = e.name;
|
|
13066
|
-
if (e.type ===
|
|
13067
|
-
if (t === n[r]) return
|
|
13068
|
-
} else if (e.type ===
|
|
13069
|
-
if (!!t === n.hasAttribute(r)) return
|
|
13070
|
-
} else if (e.type ===
|
|
13069
|
+
if (e.type === ve.PROPERTY) {
|
|
13070
|
+
if (t === n[r]) return ce;
|
|
13071
|
+
} else if (e.type === ve.BOOLEAN_ATTRIBUTE) {
|
|
13072
|
+
if (!!t === n.hasAttribute(r)) return ce;
|
|
13073
|
+
} else if (e.type === ve.ATTRIBUTE && n.getAttribute(r) === t + "") return ce;
|
|
13071
13074
|
return Uc(e), t;
|
|
13072
13075
|
}
|
|
13073
13076
|
});
|
|
@@ -13100,7 +13103,7 @@ function V_(e) {
|
|
|
13100
13103
|
var H_ = (e) => ({
|
|
13101
13104
|
item: e,
|
|
13102
13105
|
children: []
|
|
13103
|
-
}), U_ = class extends
|
|
13106
|
+
}), U_ = class extends F {
|
|
13104
13107
|
static properties = {
|
|
13105
13108
|
items: { type: Array },
|
|
13106
13109
|
rowHeight: { type: Number },
|
|
@@ -13116,7 +13119,7 @@ var H_ = (e) => ({
|
|
|
13116
13119
|
constructor() {
|
|
13117
13120
|
super(), this.items = [], this.rowHeight = 32, this.buffer = 5, this.blockMultiplier = 3;
|
|
13118
13121
|
}
|
|
13119
|
-
static styles =
|
|
13122
|
+
static styles = I`
|
|
13120
13123
|
:host {
|
|
13121
13124
|
display: block;
|
|
13122
13125
|
position: relative;
|
|
@@ -13318,7 +13321,7 @@ var H_ = (e) => ({
|
|
|
13318
13321
|
customElements.define("gs-data-grid", U_);
|
|
13319
13322
|
//#endregion
|
|
13320
13323
|
//#region src/components/generic/uploadDropZone.js
|
|
13321
|
-
var W_ = class extends
|
|
13324
|
+
var W_ = class extends F {
|
|
13322
13325
|
static properties = {
|
|
13323
13326
|
accept: { type: String },
|
|
13324
13327
|
multiple: { type: Boolean },
|
|
@@ -13331,7 +13334,7 @@ var W_ = class extends m {
|
|
|
13331
13334
|
static styles = [
|
|
13332
13335
|
Oc,
|
|
13333
13336
|
Dc,
|
|
13334
|
-
|
|
13337
|
+
I`
|
|
13335
13338
|
:host {
|
|
13336
13339
|
display: block;
|
|
13337
13340
|
font-size: inherit;
|
|
@@ -13432,7 +13435,7 @@ var W_ = class extends m {
|
|
|
13432
13435
|
customElements.define("gs-upload-drop-zone", W_);
|
|
13433
13436
|
//#endregion
|
|
13434
13437
|
//#region src/sampleView/metadata/metadataHierarchyConfigurator.js
|
|
13435
|
-
var G_ = "sample", K_ = class extends
|
|
13438
|
+
var G_ = "sample", K_ = class extends F {
|
|
13436
13439
|
static properties = {
|
|
13437
13440
|
_pathRoot: { state: !0 },
|
|
13438
13441
|
metadataRecords: {},
|
|
@@ -13442,7 +13445,7 @@ var G_ = "sample", K_ = class extends m {
|
|
|
13442
13445
|
constructor() {
|
|
13443
13446
|
super(), this.metadataRecords = [], this.addUnderGroup = "", this.separator = "", this._pathRoot = null, this._separatorManuallySet = !1, this._columns = [], this._scales = /* @__PURE__ */ new Map(), this._metadataNodeTypes = /* @__PURE__ */ new Map();
|
|
13444
13447
|
}
|
|
13445
|
-
static styles = [Oc,
|
|
13448
|
+
static styles = [Oc, I`
|
|
13446
13449
|
:host {
|
|
13447
13450
|
display: block;
|
|
13448
13451
|
}
|
|
@@ -13512,7 +13515,7 @@ var G_ = "sample", K_ = class extends m {
|
|
|
13512
13515
|
}
|
|
13513
13516
|
#t() {
|
|
13514
13517
|
this._rawTypes = /* @__PURE__ */ new Map();
|
|
13515
|
-
for (let e of
|
|
13518
|
+
for (let e of rt(this._pathRoot)) if (e.path) {
|
|
13516
13519
|
let t = yt(this.metadataRecords.map((t) => t[e.attribute]).filter((e) => e != null));
|
|
13517
13520
|
this._rawTypes.set(e.attribute, t);
|
|
13518
13521
|
}
|
|
@@ -13541,13 +13544,13 @@ var G_ = "sample", K_ = class extends m {
|
|
|
13541
13544
|
}
|
|
13542
13545
|
async #a(e) {
|
|
13543
13546
|
let t = ((e) => {
|
|
13544
|
-
for (let t of [e, ...
|
|
13547
|
+
for (let t of [e, ...Le(e)]) {
|
|
13545
13548
|
let e = this._metadataNodeTypes.get(t.path);
|
|
13546
13549
|
if (e && e !== "unset" && e !== "inherit") return e;
|
|
13547
13550
|
}
|
|
13548
13551
|
return "nominal";
|
|
13549
13552
|
})(e), n = [];
|
|
13550
|
-
for (let t of
|
|
13553
|
+
for (let t of rt(e)) if (t.attribute) for (let e of this.metadataRecords) {
|
|
13551
13554
|
let r = e[t.attribute];
|
|
13552
13555
|
r != null && n.push(r);
|
|
13553
13556
|
}
|
|
@@ -13564,7 +13567,7 @@ var G_ = "sample", K_ = class extends m {
|
|
|
13564
13567
|
let t = e.target, n = t.dataset.path, r = t.value;
|
|
13565
13568
|
this._metadataNodeTypes.set(n, r), this.requestUpdate(), this.#c();
|
|
13566
13569
|
}, t = this.#s();
|
|
13567
|
-
return Pl(
|
|
13570
|
+
return Pl(rt(this._pathRoot), (n) => {
|
|
13568
13571
|
let r = (e) => {
|
|
13569
13572
|
let t = 0, n = e.parent;
|
|
13570
13573
|
for (; n;) t++, n = n.parent;
|
|
@@ -13575,7 +13578,7 @@ var G_ = "sample", K_ = class extends m {
|
|
|
13575
13578
|
return L`<tr>
|
|
13576
13579
|
<td>
|
|
13577
13580
|
<span
|
|
13578
|
-
style=${
|
|
13581
|
+
style=${Qt(m)}
|
|
13579
13582
|
class=${br(h)}
|
|
13580
13583
|
>${p}</span
|
|
13581
13584
|
>
|
|
@@ -13737,7 +13740,7 @@ var Y_ = class extends G {
|
|
|
13737
13740
|
}
|
|
13738
13741
|
]);
|
|
13739
13742
|
}
|
|
13740
|
-
static styles = [...super.styles,
|
|
13743
|
+
static styles = [...super.styles, I`
|
|
13741
13744
|
dialog {
|
|
13742
13745
|
width: 600px;
|
|
13743
13746
|
}
|
|
@@ -13754,7 +13757,7 @@ var Y_ = class extends G {
|
|
|
13754
13757
|
title: "Warning",
|
|
13755
13758
|
type: "warning"
|
|
13756
13759
|
}), !1;
|
|
13757
|
-
let t =
|
|
13760
|
+
let t = Ye(this._parsedItems, this.existingSampleIds, e);
|
|
13758
13761
|
return this.finish({
|
|
13759
13762
|
ok: !0,
|
|
13760
13763
|
data: t
|
|
@@ -13762,10 +13765,10 @@ var Y_ = class extends G {
|
|
|
13762
13765
|
}
|
|
13763
13766
|
async #i(e) {
|
|
13764
13767
|
let t = await q_(e), n = J_(t, e.name);
|
|
13765
|
-
this._parsedItems =
|
|
13768
|
+
this._parsedItems = te(t, {
|
|
13766
13769
|
type: n,
|
|
13767
13770
|
parse: "auto"
|
|
13768
|
-
}), this._fileName = e.name, this.#e =
|
|
13771
|
+
}), this._fileName = e.name, this.#e = We(this.existingSampleIds, this._parsedItems), this.#n.advance(1);
|
|
13769
13772
|
}
|
|
13770
13773
|
async #a(e) {
|
|
13771
13774
|
let t = e.detail.files[0];
|
|
@@ -13926,7 +13929,7 @@ function nv(e) {
|
|
|
13926
13929
|
function rv(e) {
|
|
13927
13930
|
return nv(e.split(/\r?\n/g));
|
|
13928
13931
|
}
|
|
13929
|
-
var iv = class extends
|
|
13932
|
+
var iv = class extends F {
|
|
13930
13933
|
static properties = {
|
|
13931
13934
|
selectedValues: { attribute: !1 },
|
|
13932
13935
|
search: { attribute: !1 },
|
|
@@ -13952,7 +13955,7 @@ var iv = class extends m {
|
|
|
13952
13955
|
_suggestions: { state: !0 },
|
|
13953
13956
|
_inputHasFocus: { state: !0 }
|
|
13954
13957
|
};
|
|
13955
|
-
static styles = [Oc,
|
|
13958
|
+
static styles = [Oc, I`
|
|
13956
13959
|
:host {
|
|
13957
13960
|
display: block;
|
|
13958
13961
|
}
|
|
@@ -14285,7 +14288,7 @@ var iv = class extends m {
|
|
|
14285
14288
|
t && (this.#y(t.id), this._query = "", this.#i(""), this._activeIndex = 0, this.#s());
|
|
14286
14289
|
}
|
|
14287
14290
|
render() {
|
|
14288
|
-
let e = this._activeIndex >= 0 ? this.#u(String(this._activeIndex)) :
|
|
14291
|
+
let e = this._activeIndex >= 0 ? this.#u(String(this._activeIndex)) : _;
|
|
14289
14292
|
return L`
|
|
14290
14293
|
<div
|
|
14291
14294
|
class="control ${this.disabled ? "disabled" : ""}"
|
|
@@ -14335,8 +14338,8 @@ var iv = class extends m {
|
|
|
14335
14338
|
e.newState === "closed" && this._open && (this._open = !1, this._activeIndex = -1);
|
|
14336
14339
|
}}
|
|
14337
14340
|
>
|
|
14338
|
-
${this._loading ? L`<div class="status">Loading...</div>` :
|
|
14339
|
-
${!this._loading && this._suggestions.length === 0 ? L`<div class="status">No matches</div>` :
|
|
14341
|
+
${this._loading ? L`<div class="status">Loading...</div>` : _}
|
|
14342
|
+
${!this._loading && this._suggestions.length === 0 ? L`<div class="status">No matches</div>` : _}
|
|
14340
14343
|
${this._suggestions.map((e, t) => L`<div
|
|
14341
14344
|
id=${this.#u(String(t))}
|
|
14342
14345
|
class="option ${t === this._activeIndex ? "active" : ""}"
|
|
@@ -14473,7 +14476,7 @@ var pv = class extends G {
|
|
|
14473
14476
|
_alignmentIssue: { state: !0 },
|
|
14474
14477
|
_showAlignmentDetails: { state: !0 }
|
|
14475
14478
|
};
|
|
14476
|
-
static styles = [...super.styles,
|
|
14479
|
+
static styles = [...super.styles, I`
|
|
14477
14480
|
dialog {
|
|
14478
14481
|
width: min(680px, calc(100vw - 2rem));
|
|
14479
14482
|
}
|
|
@@ -14538,13 +14541,13 @@ var pv = class extends G {
|
|
|
14538
14541
|
@click=${(e) => this.#d(e)}
|
|
14539
14542
|
>
|
|
14540
14543
|
Show the problems
|
|
14541
|
-
</button>` :
|
|
14544
|
+
</button>` : _}
|
|
14542
14545
|
</span>
|
|
14543
|
-
</div>` :
|
|
14546
|
+
</div>` : _}
|
|
14544
14547
|
${this._error ? L`<div class="gs-alert danger">
|
|
14545
14548
|
${W(mi).node[0]}
|
|
14546
14549
|
<span>${this._error}</span>
|
|
14547
|
-
</div>` :
|
|
14550
|
+
</div>` : _}
|
|
14548
14551
|
|
|
14549
14552
|
<div class="gs-form-group">
|
|
14550
14553
|
<div class="label">${n}</div>
|
|
@@ -14577,7 +14580,7 @@ var pv = class extends G {
|
|
|
14577
14580
|
|
|
14578
14581
|
${e?.overLimit ? L`<div class="gs-alert danger">
|
|
14579
14582
|
Import exceeds the hard limit of 100 columns.
|
|
14580
|
-
</div>` :
|
|
14583
|
+
</div>` : _}
|
|
14581
14584
|
</div>
|
|
14582
14585
|
`;
|
|
14583
14586
|
}
|
|
@@ -14678,7 +14681,7 @@ var pv = class extends G {
|
|
|
14678
14681
|
};
|
|
14679
14682
|
return;
|
|
14680
14683
|
}
|
|
14681
|
-
let n =
|
|
14684
|
+
let n = We(t, e.map((e) => ({ sample: e })));
|
|
14682
14685
|
this._alignmentIssue = fv(n, (e) => this.#v(e));
|
|
14683
14686
|
}
|
|
14684
14687
|
#d(e) {
|
|
@@ -14780,12 +14783,12 @@ var hv = class {
|
|
|
14780
14783
|
};
|
|
14781
14784
|
}
|
|
14782
14785
|
async #e(e) {
|
|
14783
|
-
return (await jt(e).getSources()).filter((e) => !(e.backend.backend === "data" &&
|
|
14786
|
+
return (await jt(e).getSources()).filter((e) => !(e.backend.backend === "data" && Re(e) === "*")).map((e, t) => ({
|
|
14784
14787
|
source: e,
|
|
14785
14788
|
label: e.name ?? e.id ?? "Source " + String(t + 1)
|
|
14786
14789
|
}));
|
|
14787
14790
|
}
|
|
14788
|
-
}, gv = class extends
|
|
14791
|
+
}, gv = class extends F {
|
|
14789
14792
|
#e;
|
|
14790
14793
|
#t;
|
|
14791
14794
|
#n = null;
|
|
@@ -14836,7 +14839,7 @@ var hv = class {
|
|
|
14836
14839
|
let e = this.#e.genomeSpy.viewRoot;
|
|
14837
14840
|
if (!e) return;
|
|
14838
14841
|
let t = [];
|
|
14839
|
-
|
|
14842
|
+
Un(e, (e) => {
|
|
14840
14843
|
t.push(e);
|
|
14841
14844
|
});
|
|
14842
14845
|
let n = t.filter(yv).map((t) => [...t.getDataAncestors()].filter((t) => t === e || yv(t)).reverse());
|
|
@@ -14847,8 +14850,8 @@ var hv = class {
|
|
|
14847
14850
|
this.#t = V_(n);
|
|
14848
14851
|
}
|
|
14849
14852
|
#d() {
|
|
14850
|
-
let e = this.#e.genomeSpy.viewRoot, t = this.getVisibilities(), n = e ?
|
|
14851
|
-
let c = t.item, l =
|
|
14853
|
+
let e = this.#e.genomeSpy.viewRoot, t = this.getVisibilities(), n = e ? Fe(e, t) : t, r = e ? Qe(e) : /* @__PURE__ */ new Set(), i = e ? qe(e) : /* @__PURE__ */ new Map(), a = [], o = (t, s = -1) => {
|
|
14854
|
+
let c = t.item, l = _t(n, c), u = l === void 0 ? c.isVisibleInSpec() : l, d = Et(c), f = d && i.has(d) ? i.get(d) : void 0, p = !!(f && f.memberKeys.length > 1), m = [];
|
|
14852
14855
|
c !== e && _v(c) && m.push(...vv(c, !0)), c instanceof Xp && (m.length && m.push({ type: "divider" }), m.push({
|
|
14853
14856
|
label: "Sample metadata",
|
|
14854
14857
|
type: "header"
|
|
@@ -14874,7 +14877,7 @@ var hv = class {
|
|
|
14874
14877
|
<input
|
|
14875
14878
|
style=${`margin-left: ${s * 1.5}em;`}
|
|
14876
14879
|
type=${p ? "radio" : "checkbox"}
|
|
14877
|
-
?disabled=${!d || !r.has(d) || !
|
|
14880
|
+
?disabled=${!d || !r.has(d) || !Ve(c)}
|
|
14878
14881
|
.checked=${z_(u)}
|
|
14879
14882
|
@change=${(e) => p ? this.#s(e, c, f.memberKeys) : this.#o(e, c)}
|
|
14880
14883
|
/>${n}
|
|
@@ -14935,29 +14938,29 @@ var hv = class {
|
|
|
14935
14938
|
if (e) Z_(e);
|
|
14936
14939
|
else throw Error("Cannot upload metadata without SampleView");
|
|
14937
14940
|
}
|
|
14938
|
-
}, _v = (e) => [...e.paramRuntime.paramConfigs.values()].some((e) =>
|
|
14941
|
+
}, _v = (e) => [...e.paramRuntime.paramConfigs.values()].some((e) => xn(e) && e.bind), vv = (e, t) => {
|
|
14939
14942
|
let n = [];
|
|
14940
14943
|
return t && n.push({
|
|
14941
14944
|
label: "Parameters",
|
|
14942
14945
|
type: "header"
|
|
14943
14946
|
}, { type: "divider" }), n.push({ customContent: L`<div class="gs-input-binding">
|
|
14944
|
-
${
|
|
14947
|
+
${Ut(e.paramRuntime)}
|
|
14945
14948
|
</div>` }), n;
|
|
14946
|
-
}, yv = (e) =>
|
|
14949
|
+
}, yv = (e) => Ve(e) && !!e.explicitName || _v(e) || e instanceof Xp;
|
|
14947
14950
|
customElements.define("genome-spy-view-visibility", gv);
|
|
14948
14951
|
//#endregion
|
|
14949
14952
|
//#region src/utils/ui/dropdown.js
|
|
14950
14953
|
var bv = /* @__PURE__ */ new Set();
|
|
14951
14954
|
function xv(e) {
|
|
14952
14955
|
let t = e.currentTarget.parentNode, n = !t.classList.contains("show");
|
|
14953
|
-
for (let e of bv) e.classList.remove("show"), document.body.classList.remove(
|
|
14954
|
-
return bv.clear(), e.stopPropagation(), n ? (bv.add(t), t.classList.add("show"), document.body.classList.add(
|
|
14955
|
-
t.classList.contains("show") && (t.classList.remove("show"), document.body.classList.remove(
|
|
14956
|
+
for (let e of bv) e.classList.remove("show"), document.body.classList.remove(Kt), document.body.classList.remove(d);
|
|
14957
|
+
return bv.clear(), e.stopPropagation(), n ? (bv.add(t), t.classList.add("show"), document.body.classList.add(Kt), document.body.classList.add(d), window.addEventListener("click", (e) => {
|
|
14958
|
+
t.classList.contains("show") && (t.classList.remove("show"), document.body.classList.remove(Kt), document.body.classList.remove(d), e.preventDefault());
|
|
14956
14959
|
}, { once: !0 })) : window.dispatchEvent(new MouseEvent("click")), n;
|
|
14957
14960
|
}
|
|
14958
14961
|
//#endregion
|
|
14959
14962
|
//#region src/components/toolbar/provenanceToolbar.js
|
|
14960
|
-
var Sv = class extends
|
|
14963
|
+
var Sv = class extends F {
|
|
14961
14964
|
constructor() {
|
|
14962
14965
|
super(), this.provenance = void 0, this._subscriptions = new j_(this);
|
|
14963
14966
|
}
|
|
@@ -14997,9 +15000,9 @@ var Sv = class extends m {
|
|
|
14997
15000
|
</button>
|
|
14998
15001
|
<ol class="gs-dropdown-menu provenance-menu">
|
|
14999
15002
|
${this.provenance.getFullActionHistory().map((e, t) => {
|
|
15000
|
-
if (!e) return
|
|
15003
|
+
if (!e) return _;
|
|
15001
15004
|
let n = hm(e), r = n ? void 0 : this.provenance.getActionInfo(e);
|
|
15002
|
-
if (!n && !r) return
|
|
15005
|
+
if (!n && !r) return _;
|
|
15003
15006
|
let i = n ? L`${W(ui).node[0]} Initial state` : L` ${W(r.icon ?? Lr).node[0]}
|
|
15004
15007
|
${r.provenanceTitle ?? r.title}`;
|
|
15005
15008
|
return L`
|
|
@@ -15056,31 +15059,31 @@ var Cv = class {
|
|
|
15056
15059
|
resume() {
|
|
15057
15060
|
this.Z?.(), this.Y = this.Z = void 0;
|
|
15058
15061
|
}
|
|
15059
|
-
}, Tv = (e) => !Lc(e) && typeof e.then == "function", Ev = 1073741823, Dv =
|
|
15062
|
+
}, Tv = (e) => !Lc(e) && typeof e.then == "function", Ev = 1073741823, Dv = He(class extends w_ {
|
|
15060
15063
|
constructor() {
|
|
15061
15064
|
super(...arguments), this._$Cwt = Ev, this._$Cbt = [], this._$CK = new Cv(this), this._$CX = new wv();
|
|
15062
15065
|
}
|
|
15063
15066
|
render(...e) {
|
|
15064
|
-
return e.find((e) => !Tv(e)) ??
|
|
15067
|
+
return e.find((e) => !Tv(e)) ?? ce;
|
|
15065
15068
|
}
|
|
15066
15069
|
update(e, t) {
|
|
15067
15070
|
let n = this._$Cbt, r = n.length;
|
|
15068
15071
|
this._$Cbt = t;
|
|
15069
|
-
let i = this._$CK,
|
|
15072
|
+
let i = this._$CK, a = this._$CX;
|
|
15070
15073
|
this.isConnected || this.disconnected();
|
|
15071
15074
|
for (let e = 0; e < t.length && !(e > this._$Cwt); e++) {
|
|
15072
|
-
let
|
|
15073
|
-
if (!Tv(
|
|
15074
|
-
e < r &&
|
|
15075
|
-
for (;
|
|
15075
|
+
let o = t[e];
|
|
15076
|
+
if (!Tv(o)) return this._$Cwt = e, o;
|
|
15077
|
+
e < r && o === n[e] || (this._$Cwt = Ev, r = 0, Promise.resolve(o).then(async (e) => {
|
|
15078
|
+
for (; a.get();) await a.get();
|
|
15076
15079
|
let t = i.deref();
|
|
15077
15080
|
if (t !== void 0) {
|
|
15078
|
-
let n = t._$Cbt.indexOf(
|
|
15081
|
+
let n = t._$Cbt.indexOf(o);
|
|
15079
15082
|
n > -1 && n < t._$Cwt && (t._$Cwt = n, t.setValue(e));
|
|
15080
15083
|
}
|
|
15081
15084
|
}));
|
|
15082
15085
|
}
|
|
15083
|
-
return
|
|
15086
|
+
return ce;
|
|
15084
15087
|
}
|
|
15085
15088
|
disconnected() {
|
|
15086
15089
|
this._$CK.disconnect(), this._$CX.pause();
|
|
@@ -17345,15 +17348,15 @@ function ry(e) {
|
|
|
17345
17348
|
codeFencedFenceInfo: h,
|
|
17346
17349
|
codeFencedFenceMeta: h,
|
|
17347
17350
|
codeIndented: ne,
|
|
17348
|
-
codeText:
|
|
17349
|
-
content:
|
|
17350
|
-
definition:
|
|
17351
|
-
definitionDestinationString:
|
|
17351
|
+
codeText: Fe,
|
|
17352
|
+
content: be,
|
|
17353
|
+
definition: me,
|
|
17354
|
+
definitionDestinationString: ge,
|
|
17352
17355
|
definitionLabelString: h,
|
|
17353
17356
|
definitionTitleString: h,
|
|
17354
|
-
emphasis:
|
|
17355
|
-
htmlFlow:
|
|
17356
|
-
htmlText:
|
|
17357
|
+
emphasis: Ne,
|
|
17358
|
+
htmlFlow: Ae,
|
|
17359
|
+
htmlText: Me,
|
|
17357
17360
|
image: ie,
|
|
17358
17361
|
label: h,
|
|
17359
17362
|
link: ae,
|
|
@@ -17363,60 +17366,60 @@ function ry(e) {
|
|
|
17363
17366
|
listUnordered: w,
|
|
17364
17367
|
paragraph: j,
|
|
17365
17368
|
reference: h,
|
|
17366
|
-
resource:
|
|
17367
|
-
resourceDestinationString:
|
|
17369
|
+
resource: le,
|
|
17370
|
+
resourceDestinationString: ue,
|
|
17368
17371
|
resourceTitleString: h,
|
|
17369
|
-
setextHeading:
|
|
17370
|
-
strong:
|
|
17372
|
+
setextHeading: xe,
|
|
17373
|
+
strong: Pe
|
|
17371
17374
|
},
|
|
17372
17375
|
exit: {
|
|
17373
|
-
atxHeading:
|
|
17374
|
-
atxHeadingSequence:
|
|
17375
|
-
autolinkEmail:
|
|
17376
|
-
autolinkProtocol:
|
|
17376
|
+
atxHeading: Ce,
|
|
17377
|
+
atxHeadingSequence: F,
|
|
17378
|
+
autolinkEmail: Ue,
|
|
17379
|
+
autolinkProtocol: He,
|
|
17377
17380
|
blockQuote: ee,
|
|
17378
|
-
characterEscapeValue:
|
|
17379
|
-
characterReferenceMarkerHexadecimal:
|
|
17380
|
-
characterReferenceMarkerNumeric:
|
|
17381
|
-
characterReferenceValue:
|
|
17381
|
+
characterEscapeValue: Ee,
|
|
17382
|
+
characterReferenceMarkerHexadecimal: Be,
|
|
17383
|
+
characterReferenceMarkerNumeric: Be,
|
|
17384
|
+
characterReferenceValue: Ve,
|
|
17382
17385
|
codeFenced: re,
|
|
17383
17386
|
codeFencedFence: P,
|
|
17384
17387
|
codeFencedFenceInfo: N,
|
|
17385
17388
|
codeFencedFenceMeta: S,
|
|
17386
|
-
codeFlowValue:
|
|
17389
|
+
codeFlowValue: Oe,
|
|
17387
17390
|
codeIndented: re,
|
|
17388
|
-
codeText:
|
|
17389
|
-
codeTextData:
|
|
17390
|
-
data:
|
|
17391
|
-
definition:
|
|
17392
|
-
definitionDestinationString:
|
|
17393
|
-
definitionLabelString:
|
|
17394
|
-
definitionTitleString:
|
|
17395
|
-
emphasis:
|
|
17396
|
-
hardBreakEscape:
|
|
17397
|
-
hardBreakTrailing:
|
|
17398
|
-
htmlFlow:
|
|
17399
|
-
htmlFlowData:
|
|
17400
|
-
htmlText:
|
|
17401
|
-
htmlTextData:
|
|
17402
|
-
image:
|
|
17403
|
-
label:
|
|
17404
|
-
labelText:
|
|
17405
|
-
lineEnding:
|
|
17406
|
-
link:
|
|
17391
|
+
codeText: Ie,
|
|
17392
|
+
codeTextData: Ee,
|
|
17393
|
+
data: Ee,
|
|
17394
|
+
definition: ye,
|
|
17395
|
+
definitionDestinationString: _e,
|
|
17396
|
+
definitionLabelString: he,
|
|
17397
|
+
definitionTitleString: ve,
|
|
17398
|
+
emphasis: Le,
|
|
17399
|
+
hardBreakEscape: ke,
|
|
17400
|
+
hardBreakTrailing: ke,
|
|
17401
|
+
htmlFlow: je,
|
|
17402
|
+
htmlFlowData: Ee,
|
|
17403
|
+
htmlText: je,
|
|
17404
|
+
htmlTextData: Ee,
|
|
17405
|
+
image: pe,
|
|
17406
|
+
label: se,
|
|
17407
|
+
labelText: oe,
|
|
17408
|
+
lineEnding: De,
|
|
17409
|
+
link: pe,
|
|
17407
17410
|
listOrdered: D,
|
|
17408
17411
|
listUnordered: O,
|
|
17409
17412
|
paragraph: M,
|
|
17410
17413
|
reference: S,
|
|
17411
|
-
referenceString:
|
|
17414
|
+
referenceString: ce,
|
|
17412
17415
|
resource: S,
|
|
17413
|
-
resourceDestinationString:
|
|
17414
|
-
resourceTitleString:
|
|
17415
|
-
setextHeading:
|
|
17416
|
-
setextHeadingLineSequence:
|
|
17417
|
-
setextHeadingText:
|
|
17418
|
-
strong:
|
|
17419
|
-
thematicBreak:
|
|
17416
|
+
resourceDestinationString: de,
|
|
17417
|
+
resourceTitleString: fe,
|
|
17418
|
+
setextHeading: Te,
|
|
17419
|
+
setextHeadingLineSequence: we,
|
|
17420
|
+
setextHeadingText: Se,
|
|
17421
|
+
strong: Re,
|
|
17422
|
+
thematicBreak: ze
|
|
17420
17423
|
}
|
|
17421
17424
|
}, ...t.htmlExtensions || []]), c = {
|
|
17422
17425
|
definitions: r,
|
|
@@ -17555,28 +17558,28 @@ function ry(e) {
|
|
|
17555
17558
|
function ae() {
|
|
17556
17559
|
a.push({});
|
|
17557
17560
|
}
|
|
17558
|
-
function
|
|
17561
|
+
function oe(e) {
|
|
17559
17562
|
a[a.length - 1].labelId = this.sliceSerialize(e);
|
|
17560
17563
|
}
|
|
17561
|
-
function
|
|
17564
|
+
function se() {
|
|
17562
17565
|
a[a.length - 1].label = g();
|
|
17563
17566
|
}
|
|
17564
|
-
function
|
|
17567
|
+
function ce(e) {
|
|
17565
17568
|
a[a.length - 1].referenceId = this.sliceSerialize(e);
|
|
17566
17569
|
}
|
|
17567
|
-
function
|
|
17570
|
+
function le() {
|
|
17568
17571
|
h(), a[a.length - 1].destination = "";
|
|
17569
17572
|
}
|
|
17570
|
-
function
|
|
17573
|
+
function ue() {
|
|
17571
17574
|
h(), p("ignoreEncode", !0);
|
|
17572
17575
|
}
|
|
17573
|
-
function
|
|
17576
|
+
function de() {
|
|
17574
17577
|
a[a.length - 1].destination = g(), p("ignoreEncode");
|
|
17575
17578
|
}
|
|
17576
|
-
function
|
|
17579
|
+
function fe() {
|
|
17577
17580
|
a[a.length - 1].title = g();
|
|
17578
17581
|
}
|
|
17579
|
-
function
|
|
17582
|
+
function pe() {
|
|
17580
17583
|
let e = a.length - 1, i = a[e], o = i.referenceId || i.labelId, s = i.destination === void 0 ? r[Vv(o)] : i;
|
|
17581
17584
|
for (n = !0; e--;) if (a[e].image) {
|
|
17582
17585
|
n = void 0;
|
|
@@ -17584,51 +17587,51 @@ function ry(e) {
|
|
|
17584
17587
|
}
|
|
17585
17588
|
i.image ? (_("<img src=\"" + Qv(s.destination, t.allowDangerousProtocol ? void 0 : ny) + "\" alt=\""), v(i.label), _("\"")) : _("<a href=\"" + Qv(s.destination, t.allowDangerousProtocol ? void 0 : ty) + "\""), _(s.title ? " title=\"" + s.title + "\"" : ""), i.image ? _(" />") : (_(">"), v(i.label), _("</a>")), a.pop();
|
|
17586
17589
|
}
|
|
17587
|
-
function
|
|
17590
|
+
function me() {
|
|
17588
17591
|
h(), a.push({});
|
|
17589
17592
|
}
|
|
17590
|
-
function
|
|
17593
|
+
function he(e) {
|
|
17591
17594
|
g(), a[a.length - 1].labelId = this.sliceSerialize(e);
|
|
17592
17595
|
}
|
|
17593
|
-
function
|
|
17596
|
+
function ge() {
|
|
17594
17597
|
h(), p("ignoreEncode", !0);
|
|
17595
17598
|
}
|
|
17596
|
-
function
|
|
17599
|
+
function _e() {
|
|
17597
17600
|
a[a.length - 1].destination = g(), p("ignoreEncode");
|
|
17598
17601
|
}
|
|
17599
|
-
function
|
|
17602
|
+
function ve() {
|
|
17600
17603
|
a[a.length - 1].title = g();
|
|
17601
17604
|
}
|
|
17602
|
-
function
|
|
17605
|
+
function ye() {
|
|
17603
17606
|
let e = a[a.length - 1], t = Vv(e.labelId);
|
|
17604
17607
|
g(), ey.call(r, t) || (r[t] = a[a.length - 1]), a.pop();
|
|
17605
17608
|
}
|
|
17606
|
-
function
|
|
17609
|
+
function be() {
|
|
17607
17610
|
p("slurpAllLineEndings", !0);
|
|
17608
17611
|
}
|
|
17609
|
-
function
|
|
17612
|
+
function F(e) {
|
|
17610
17613
|
m("headingRank") || (p("headingRank", this.sliceSerialize(e).length), b(), _("<h" + m("headingRank") + ">"));
|
|
17611
17614
|
}
|
|
17612
|
-
function
|
|
17615
|
+
function xe() {
|
|
17613
17616
|
h(), p("slurpAllLineEndings");
|
|
17614
17617
|
}
|
|
17615
|
-
function
|
|
17618
|
+
function Se() {
|
|
17616
17619
|
p("slurpAllLineEndings", !0);
|
|
17617
17620
|
}
|
|
17618
|
-
function
|
|
17621
|
+
function Ce() {
|
|
17619
17622
|
_("</h" + m("headingRank") + ">"), p("headingRank");
|
|
17620
17623
|
}
|
|
17621
|
-
function
|
|
17624
|
+
function we(e) {
|
|
17622
17625
|
p("headingRank", this.sliceSerialize(e).charCodeAt(0) === 61 ? 1 : 2);
|
|
17623
17626
|
}
|
|
17624
|
-
function
|
|
17627
|
+
function Te() {
|
|
17625
17628
|
let e = g();
|
|
17626
17629
|
b(), _("<h" + m("headingRank") + ">"), v(e), _("</h" + m("headingRank") + ">"), p("slurpAllLineEndings"), p("headingRank");
|
|
17627
17630
|
}
|
|
17628
|
-
function
|
|
17631
|
+
function Ee(e) {
|
|
17629
17632
|
v(x(this.sliceSerialize(e)));
|
|
17630
17633
|
}
|
|
17631
|
-
function
|
|
17634
|
+
function De(e) {
|
|
17632
17635
|
if (!m("slurpAllLineEndings")) {
|
|
17633
17636
|
if (m("slurpOneLineEnding")) {
|
|
17634
17637
|
p("slurpOneLineEnding");
|
|
@@ -17641,54 +17644,54 @@ function ry(e) {
|
|
|
17641
17644
|
v(x(this.sliceSerialize(e)));
|
|
17642
17645
|
}
|
|
17643
17646
|
}
|
|
17644
|
-
function
|
|
17647
|
+
function Oe(e) {
|
|
17645
17648
|
v(x(this.sliceSerialize(e))), p("flowCodeSeenData", !0);
|
|
17646
17649
|
}
|
|
17647
|
-
function Oe() {
|
|
17648
|
-
_("<br />");
|
|
17649
|
-
}
|
|
17650
17650
|
function ke() {
|
|
17651
|
-
|
|
17651
|
+
_("<br />");
|
|
17652
17652
|
}
|
|
17653
17653
|
function Ae() {
|
|
17654
|
-
|
|
17654
|
+
b(), Me();
|
|
17655
17655
|
}
|
|
17656
17656
|
function je() {
|
|
17657
|
-
|
|
17657
|
+
p("ignoreEncode");
|
|
17658
17658
|
}
|
|
17659
17659
|
function Me() {
|
|
17660
|
-
|
|
17660
|
+
t.allowDangerousHtml && p("ignoreEncode", !0);
|
|
17661
17661
|
}
|
|
17662
17662
|
function Ne() {
|
|
17663
|
-
_("<
|
|
17663
|
+
_("<em>");
|
|
17664
17664
|
}
|
|
17665
17665
|
function Pe() {
|
|
17666
|
-
|
|
17666
|
+
_("<strong>");
|
|
17667
17667
|
}
|
|
17668
17668
|
function Fe() {
|
|
17669
|
-
p("inCodeText"), _("
|
|
17669
|
+
p("inCodeText", !0), _("<code>");
|
|
17670
17670
|
}
|
|
17671
17671
|
function Ie() {
|
|
17672
|
-
_("</
|
|
17672
|
+
p("inCodeText"), _("</code>");
|
|
17673
17673
|
}
|
|
17674
17674
|
function Le() {
|
|
17675
|
-
_("</
|
|
17675
|
+
_("</em>");
|
|
17676
17676
|
}
|
|
17677
17677
|
function Re() {
|
|
17678
|
+
_("</strong>");
|
|
17679
|
+
}
|
|
17680
|
+
function ze() {
|
|
17678
17681
|
b(), _("<hr />");
|
|
17679
17682
|
}
|
|
17680
|
-
function
|
|
17683
|
+
function Be(e) {
|
|
17681
17684
|
p("characterReferenceType", e.type);
|
|
17682
17685
|
}
|
|
17683
|
-
function
|
|
17686
|
+
function Ve(e) {
|
|
17684
17687
|
let t = this.sliceSerialize(e);
|
|
17685
17688
|
v(x(m("characterReferenceType") ? Rv(t, m("characterReferenceType") === "characterReferenceMarkerNumeric" ? 10 : 16) : Av(t))), p("characterReferenceType");
|
|
17686
17689
|
}
|
|
17687
|
-
function
|
|
17690
|
+
function He(e) {
|
|
17688
17691
|
let n = this.sliceSerialize(e);
|
|
17689
17692
|
_("<a href=\"" + Qv(n, t.allowDangerousProtocol ? void 0 : ty) + "\">"), v(x(n)), _("</a>");
|
|
17690
17693
|
}
|
|
17691
|
-
function
|
|
17694
|
+
function Ue(e) {
|
|
17692
17695
|
let t = this.sliceSerialize(e);
|
|
17693
17696
|
_("<a href=\"" + Qv("mailto:" + t) + "\">"), v(x(t)), _("</a>");
|
|
17694
17697
|
}
|
|
@@ -19586,8 +19589,8 @@ function vx(e, t, n) {
|
|
|
19586
19589
|
function yx(e, t = {}) {
|
|
19587
19590
|
let n = vx(e), r = new DOMParser().parseFromString(`<!DOCTYPE html><html><body><div>${n}</div></body></html>`, "text/html");
|
|
19588
19591
|
r.normalize(), bx(r.body);
|
|
19589
|
-
for (let e of r.querySelectorAll("a[href]")) e.setAttribute("target", "blank"), e.setAttribute("rel", "noopener noreferrer"), e.setAttribute("href",
|
|
19590
|
-
for (let e of r.querySelectorAll("img[src]")) e.setAttribute("src",
|
|
19592
|
+
for (let e of r.querySelectorAll("a[href]")) e.setAttribute("target", "blank"), e.setAttribute("rel", "noopener noreferrer"), e.setAttribute("href", tr(e.getAttribute("href"), t.baseUrl));
|
|
19593
|
+
for (let e of r.querySelectorAll("img[src]")) e.setAttribute("src", tr(e.getAttribute("src"), t.baseUrl));
|
|
19591
19594
|
let i = r.body.removeChild(r.querySelector("body > div"));
|
|
19592
19595
|
return i.className = "markdown", i;
|
|
19593
19596
|
}
|
|
@@ -19603,7 +19606,7 @@ function bx(e) {
|
|
|
19603
19606
|
}
|
|
19604
19607
|
//#endregion
|
|
19605
19608
|
//#region src/components/dialogs/bookmarkInfoBox.js
|
|
19606
|
-
var xx =
|
|
19609
|
+
var xx = I`
|
|
19607
19610
|
dialog {
|
|
19608
19611
|
position: fixed;
|
|
19609
19612
|
bottom: var(--gs-basic-spacing);
|
|
@@ -19909,7 +19912,7 @@ async function Ox(e, t) {
|
|
|
19909
19912
|
if (t.provenance.isUndoable() && (t.provenance.activateInitialState(), await t.getSampleView?.()?.awaitMetadataReady()), !t.intentPipeline) throw Error("Intent pipeline is required to restore bookmarks.");
|
|
19910
19913
|
await t.intentPipeline.submit(e.actions, { submissionKind: "bookmark" }), await t.paramProvenanceBridge?.whenApplied();
|
|
19911
19914
|
}
|
|
19912
|
-
let n =
|
|
19915
|
+
let n = tt(e.viewSettings);
|
|
19913
19916
|
t.store.dispatch(Jt.actions.setViewSettings(n));
|
|
19914
19917
|
let r = [];
|
|
19915
19918
|
for (let [n, i] of Object.entries(e.scaleDomains ?? {})) {
|
|
@@ -19984,7 +19987,7 @@ function Nx(e, t) {
|
|
|
19984
19987
|
}
|
|
19985
19988
|
//#endregion
|
|
19986
19989
|
//#region src/components/toolbar/bookmarkButton.js
|
|
19987
|
-
var Px = class extends
|
|
19990
|
+
var Px = class extends F {
|
|
19988
19991
|
constructor() {
|
|
19989
19992
|
super(), this.app = void 0;
|
|
19990
19993
|
}
|
|
@@ -20050,10 +20053,10 @@ var Px = class extends m {
|
|
|
20050
20053
|
type: "header"
|
|
20051
20054
|
},
|
|
20052
20055
|
...n
|
|
20053
|
-
].map((e) => Gd(e)) :
|
|
20056
|
+
].map((e) => Gd(e)) : _;
|
|
20054
20057
|
}
|
|
20055
20058
|
#o() {
|
|
20056
|
-
let e = (e, t) => e ? Dv(this.#a(e, t), L`Loading...`) :
|
|
20059
|
+
let e = (e, t) => e ? Dv(this.#a(e, t), L`Loading...`) : _;
|
|
20057
20060
|
return [e(this.app.globalBookmarkDatabase, "Bookmarks on the server"), e(this.app.localBookmarkDatabase, "Bookmarks in the web browser")];
|
|
20058
20061
|
}
|
|
20059
20062
|
render() {
|
|
@@ -20061,7 +20064,7 @@ var Px = class extends m {
|
|
|
20061
20064
|
<a @click=${() => this.#n(e)}
|
|
20062
20065
|
>Add bookmark...</a
|
|
20063
20066
|
>
|
|
20064
|
-
</li>` :
|
|
20067
|
+
</li>` : _;
|
|
20065
20068
|
return L`
|
|
20066
20069
|
<div class="btn-group">
|
|
20067
20070
|
${e || this.app.globalBookmarkDatabase ? L`
|
|
@@ -20079,7 +20082,7 @@ var Px = class extends m {
|
|
|
20079
20082
|
${t} ${this.#o()}
|
|
20080
20083
|
</ul>
|
|
20081
20084
|
</div>
|
|
20082
|
-
` :
|
|
20085
|
+
` : _}
|
|
20083
20086
|
<button
|
|
20084
20087
|
class="tool-btn"
|
|
20085
20088
|
title="Share"
|
|
@@ -20119,7 +20122,7 @@ var Fx = class extends G {
|
|
|
20119
20122
|
</p>
|
|
20120
20123
|
<p>
|
|
20121
20124
|
Version: ${R_(L_.version)}
|
|
20122
|
-
${"commitHash" in L_ ? `(${L_.commitHash})` :
|
|
20125
|
+
${"commitHash" in L_ ? `(${L_.commitHash})` : _}
|
|
20123
20126
|
</p>
|
|
20124
20127
|
|
|
20125
20128
|
<p style="font-size: 85%">
|
|
@@ -20171,7 +20174,7 @@ var Ix = class extends G {
|
|
|
20171
20174
|
analysisError: { type: String },
|
|
20172
20175
|
layers: { attribute: !1 }
|
|
20173
20176
|
};
|
|
20174
|
-
static styles = [...super.styles,
|
|
20177
|
+
static styles = [...super.styles, I`
|
|
20175
20178
|
dialog {
|
|
20176
20179
|
min-width: 500px;
|
|
20177
20180
|
}
|
|
@@ -20440,7 +20443,7 @@ function Lx(e) {
|
|
|
20440
20443
|
}
|
|
20441
20444
|
//#endregion
|
|
20442
20445
|
//#region src/components/toolbar/toolbar.js
|
|
20443
|
-
var Rx = class extends
|
|
20446
|
+
var Rx = class extends F {
|
|
20444
20447
|
constructor() {
|
|
20445
20448
|
super(), this.app = void 0;
|
|
20446
20449
|
}
|
|
@@ -20470,7 +20473,7 @@ var Rx = class extends m {
|
|
|
20470
20473
|
`), t.push(L`<genome-spy-view-visibility></genome-spy-view-visibility>`), this.app.isEmbedded() || t.push(L`
|
|
20471
20474
|
<genome-spy-bookmark-button></genome-spy-bookmark-button>
|
|
20472
20475
|
`);
|
|
20473
|
-
let n = this.app.rootSpec.description ?
|
|
20476
|
+
let n = this.app.rootSpec.description ? On(this.app.rootSpec.description) : [];
|
|
20474
20477
|
return n.length > 1 && t.push(L`
|
|
20475
20478
|
<button
|
|
20476
20479
|
class="tool-btn"
|
|
@@ -20491,7 +20494,7 @@ var Rx = class extends m {
|
|
|
20491
20494
|
>${R_(L_.version)}</span
|
|
20492
20495
|
>
|
|
20493
20496
|
|
|
20494
|
-
${this.app.ui.toolbarButtons.size ? Array.from(this.app.ui.toolbarButtons).map((e) => this.#n(e)) :
|
|
20497
|
+
${this.app.ui.toolbarButtons.size ? Array.from(this.app.ui.toolbarButtons).map((e) => this.#n(e)) : _}
|
|
20495
20498
|
|
|
20496
20499
|
<div class="dropdown bookmark-dropdown">
|
|
20497
20500
|
<button
|
|
@@ -20564,7 +20567,7 @@ var Rx = class extends m {
|
|
|
20564
20567
|
<genome-spy-search-field
|
|
20565
20568
|
.app=${this.app}
|
|
20566
20569
|
></genome-spy-search-field>
|
|
20567
|
-
` :
|
|
20570
|
+
` : _}
|
|
20568
20571
|
${this._getToolButtons()}
|
|
20569
20572
|
</nav>
|
|
20570
20573
|
`;
|
|
@@ -20659,7 +20662,7 @@ var Bx = class {
|
|
|
20659
20662
|
//#endregion
|
|
20660
20663
|
//#region ../core/src/utils/kWayMerge.js
|
|
20661
20664
|
function Vx(e, t, n = (e) => +e) {
|
|
20662
|
-
let r = e.length, i = new
|
|
20665
|
+
let r = e.length, i = new Rn(), a = Array(r).fill(0);
|
|
20663
20666
|
for (let [t, r] of e.entries()) r.length && i.push(t, n(r[0]));
|
|
20664
20667
|
let o;
|
|
20665
20668
|
for (; (o = i.pop()) !== void 0;) {
|
|
@@ -20672,7 +20675,7 @@ function Vx(e, t, n = (e) => +e) {
|
|
|
20672
20675
|
}
|
|
20673
20676
|
//#endregion
|
|
20674
20677
|
//#region src/sampleView/mergeFacets.js
|
|
20675
|
-
var Hx = "sampleCount", Ux = class extends
|
|
20678
|
+
var Hx = "sampleCount", Ux = class extends _n {
|
|
20676
20679
|
#e = !0;
|
|
20677
20680
|
#t;
|
|
20678
20681
|
constructor(e, t) {
|
|
@@ -20683,7 +20686,7 @@ var Hx = "sampleCount", Ux = class extends Sn {
|
|
|
20683
20686
|
this.#n && (this.#e && (this.#e = !1, this.reset(), this.complete()), n.requestTransition(() => {
|
|
20684
20687
|
this.reset(), this.complete();
|
|
20685
20688
|
}));
|
|
20686
|
-
}, i = Vp(this.provenance.store, (e) => e.provenance.present[
|
|
20689
|
+
}, i = Vp(this.provenance.store, (e) => e.provenance.present[C], () => {
|
|
20687
20690
|
r();
|
|
20688
20691
|
});
|
|
20689
20692
|
this.view.registerDisposer(i);
|
|
@@ -20699,7 +20702,7 @@ var Hx = "sampleCount", Ux = class extends Sn {
|
|
|
20699
20702
|
initialize() {
|
|
20700
20703
|
this.#t = this.paramRuntime.allocateSetter(Hx, 0, !0);
|
|
20701
20704
|
let e = this.view.getEncoding().x;
|
|
20702
|
-
if (
|
|
20705
|
+
if (un(e)) this.xAccessor = mn(e.field);
|
|
20703
20706
|
else throw Error("Sample summarization requires a FieldDef. This is not a FieldDef: " + JSON.stringify(e));
|
|
20704
20707
|
}
|
|
20705
20708
|
handle(e) {}
|
|
@@ -20707,17 +20710,17 @@ var Hx = "sampleCount", Ux = class extends Sn {
|
|
|
20707
20710
|
return this.view.isConfiguredVisible();
|
|
20708
20711
|
}
|
|
20709
20712
|
#r() {
|
|
20710
|
-
if (this.parent instanceof
|
|
20713
|
+
if (this.parent instanceof ze) return this.parent;
|
|
20711
20714
|
throw Error("MergeFacetsTransform must be a direct child of a Collector");
|
|
20712
20715
|
}
|
|
20713
20716
|
complete() {
|
|
20714
|
-
this.#n && this.#i(this.provenance.getPresentState()[
|
|
20717
|
+
this.#n && this.#i(this.provenance.getPresentState()[C]), super.complete();
|
|
20715
20718
|
}
|
|
20716
20719
|
#i(e) {
|
|
20717
|
-
let t = [...
|
|
20720
|
+
let t = [...ee(e.rootGroup)].filter((e) => x(cn(e)));
|
|
20718
20721
|
for (let [e, n] of t.entries()) {
|
|
20719
|
-
let t =
|
|
20720
|
-
if (
|
|
20722
|
+
let t = cn(n);
|
|
20723
|
+
if (x(t)) {
|
|
20721
20724
|
this.beginBatch({
|
|
20722
20725
|
type: "facet",
|
|
20723
20726
|
facetId: [e]
|
|
@@ -20822,10 +20825,10 @@ var Gx = class extends h_ {
|
|
|
20822
20825
|
//#endregion
|
|
20823
20826
|
//#region src/state/setupStore.js
|
|
20824
20827
|
function Xx() {
|
|
20825
|
-
let e =
|
|
20826
|
-
[
|
|
20828
|
+
let e = Ue({
|
|
20829
|
+
[k.name]: k.reducer,
|
|
20827
20830
|
[Ag.name]: Ag.reducer
|
|
20828
|
-
}, { groupBy: jg }), t =
|
|
20831
|
+
}, { groupBy: jg }), t = xe({
|
|
20829
20832
|
lifecycle: qx.reducer,
|
|
20830
20833
|
viewSettings: Jt.reducer,
|
|
20831
20834
|
intentStatus: Yx.reducer,
|
|
@@ -21055,20 +21058,20 @@ async function rS(e, t) {
|
|
|
21055
21058
|
adapter: t,
|
|
21056
21059
|
resolveColumns: !1
|
|
21057
21060
|
});
|
|
21058
|
-
a.push(
|
|
21061
|
+
a.push(k.actions.addMetadataFromSource(s)), o = !1;
|
|
21059
21062
|
}
|
|
21060
21063
|
}
|
|
21061
|
-
a.length !== 0 && (await t.submit(a), gm(e.provenance.store,
|
|
21064
|
+
a.length !== 0 && (await t.submit(a), gm(e.provenance.store, k.name));
|
|
21062
21065
|
}
|
|
21063
21066
|
//#endregion
|
|
21064
21067
|
//#region src/sampleView/metadata/metadataSourceRuntime.js
|
|
21065
21068
|
async function iS(e, t) {
|
|
21066
21069
|
t.setResolvers({ getAttributeInfo: e.compositeAttributeInfoSource.getAttributeInfo.bind(e.compositeAttributeInfoSource) });
|
|
21067
21070
|
let n = t.registerActionHook({
|
|
21068
|
-
predicate: (e) => e.type ===
|
|
21071
|
+
predicate: (e) => e.type === k.actions.addMetadata.type || e.type === k.actions.deriveMetadata.type || e.type === k.actions.addMetadataFromSource.type,
|
|
21069
21072
|
awaitProcessed: (t) => e.awaitMetadataReady(t.signal)
|
|
21070
21073
|
}), r = t.registerActionHook({
|
|
21071
|
-
predicate: (e) => e.type ===
|
|
21074
|
+
predicate: (e) => e.type === k.actions.addMetadataFromSource.type,
|
|
21072
21075
|
augment: (t, n) => tS(n, e, t.signal)
|
|
21073
21076
|
});
|
|
21074
21077
|
e.registerDisposer(n), e.registerDisposer(r), await rS(e, t);
|
|
@@ -21081,7 +21084,7 @@ var aS = class extends G {
|
|
|
21081
21084
|
message: {},
|
|
21082
21085
|
cancelLabel: { type: String }
|
|
21083
21086
|
};
|
|
21084
|
-
static styles = [...super.styles,
|
|
21087
|
+
static styles = [...super.styles, I`
|
|
21085
21088
|
dialog {
|
|
21086
21089
|
width: 450px;
|
|
21087
21090
|
}
|
|
@@ -21116,7 +21119,7 @@ var sS = class extends G {
|
|
|
21116
21119
|
rollbackLabel: { type: String },
|
|
21117
21120
|
keepLabel: { type: String }
|
|
21118
21121
|
};
|
|
21119
|
-
static styles = [...super.styles,
|
|
21122
|
+
static styles = [...super.styles, I`
|
|
21120
21123
|
dialog {
|
|
21121
21124
|
max-width: 600px;
|
|
21122
21125
|
}
|
|
@@ -21165,7 +21168,7 @@ function lS({ store: e, intentPipeline: t, provenance: n, delayMs: r = 800, minV
|
|
|
21165
21168
|
o && (o.closeDialog(), o = void 0, s = void 0, c = void 0);
|
|
21166
21169
|
}, i - t);
|
|
21167
21170
|
}, u = (e) => {
|
|
21168
|
-
let t = e?.currentAction ? dS(n, e.currentAction) :
|
|
21171
|
+
let t = e?.currentAction ? dS(n, e.currentAction) : _, r = typeof e?.currentIndex == "number" && typeof e?.totalActions == "number" ? L` (${e.currentIndex + 1} of ${e.totalActions})` : _;
|
|
21169
21172
|
return L` ${t ? L`<div>Performing${r}:</div>
|
|
21170
21173
|
<div class="action-title">${t}</div>` : L`<div>Processing actions${r}.</div>`}
|
|
21171
21174
|
<p>Cancel if it takes too long.</p>`;
|
|
@@ -21186,7 +21189,7 @@ function lS({ store: e, intentPipeline: t, provenance: n, delayMs: r = 800, minV
|
|
|
21186
21189
|
${i}
|
|
21187
21190
|
</p>
|
|
21188
21191
|
<p>
|
|
21189
|
-
${r ? L`<p>Details:<br />${r}</p>` :
|
|
21192
|
+
${r ? L`<p>Details:<br />${r}</p>` : _}
|
|
21190
21193
|
</p>
|
|
21191
21194
|
<p>
|
|
21192
21195
|
The failed action was rolled back.<br />
|
|
@@ -21418,9 +21421,9 @@ var OS = 150, kS = class {
|
|
|
21418
21421
|
this.#o.length = 0, this.#O();
|
|
21419
21422
|
}
|
|
21420
21423
|
#g() {
|
|
21421
|
-
this.#r =
|
|
21424
|
+
this.#r = $n(this.#e), this.#i.clear(), this.#u.clear();
|
|
21422
21425
|
for (let e of this.#r) {
|
|
21423
|
-
let t =
|
|
21426
|
+
let t = Qn(e.selector);
|
|
21424
21427
|
this.#i.set(t, e), this.#X(e, t);
|
|
21425
21428
|
}
|
|
21426
21429
|
}
|
|
@@ -21443,10 +21446,10 @@ var OS = 150, kS = class {
|
|
|
21443
21446
|
}
|
|
21444
21447
|
#b(e) {
|
|
21445
21448
|
if (this.#a) return;
|
|
21446
|
-
let t =
|
|
21449
|
+
let t = Qn(e.selector);
|
|
21447
21450
|
if (this.#u.has(t)) return;
|
|
21448
21451
|
let n = this.#L(e);
|
|
21449
|
-
if (n === void 0 ||
|
|
21452
|
+
if (n === void 0 || fn(e.param) && this.#Z(e.param, n) && this.#C(e, t)) return;
|
|
21450
21453
|
let r = this.#P(e, n);
|
|
21451
21454
|
if (r) {
|
|
21452
21455
|
if (this.#x(e, n, t)) {
|
|
@@ -21461,18 +21464,18 @@ var OS = 150, kS = class {
|
|
|
21461
21464
|
}
|
|
21462
21465
|
}
|
|
21463
21466
|
#x(e, t, n) {
|
|
21464
|
-
if (!
|
|
21467
|
+
if (!fn(e.param) || !this.#Z(e.param, t)) return !1;
|
|
21465
21468
|
let { past: r, present: i } = this.#t.getState().provenance;
|
|
21466
21469
|
if (r.length === 0) return !1;
|
|
21467
21470
|
let a = i.lastAction;
|
|
21468
21471
|
if (!a || !Ag.actions.paramChange.match(a)) return !1;
|
|
21469
21472
|
let o = a.payload.selector;
|
|
21470
|
-
if (
|
|
21473
|
+
if (Qn(o) !== n) return !1;
|
|
21471
21474
|
let s = r[r.length - 1].paramProvenance.entries[n];
|
|
21472
21475
|
return !s || this.#S(e.param, s.value);
|
|
21473
21476
|
}
|
|
21474
21477
|
#S(e, t) {
|
|
21475
|
-
if (!t || !
|
|
21478
|
+
if (!t || !fn(e)) return !0;
|
|
21476
21479
|
if (t.type === "point") return t.keys.length === 0;
|
|
21477
21480
|
if (t.type === "pointExpand") return !1;
|
|
21478
21481
|
if (t.type === "interval") {
|
|
@@ -21487,7 +21490,7 @@ var OS = 150, kS = class {
|
|
|
21487
21490
|
return !n || this.#S(e.param, n.value);
|
|
21488
21491
|
}
|
|
21489
21492
|
#w(e) {
|
|
21490
|
-
return
|
|
21493
|
+
return fn(e) ? !0 : xn(e) && !!e.bind;
|
|
21491
21494
|
}
|
|
21492
21495
|
#T(e, t) {
|
|
21493
21496
|
let n = Ag.actions.paramChange({
|
|
@@ -21511,7 +21514,7 @@ var OS = 150, kS = class {
|
|
|
21511
21514
|
this.#m.clear();
|
|
21512
21515
|
}
|
|
21513
21516
|
#k(e) {
|
|
21514
|
-
return
|
|
21517
|
+
return bn(e.param, e.view.paramRuntime);
|
|
21515
21518
|
}
|
|
21516
21519
|
#A(e, t) {
|
|
21517
21520
|
return this.#K(e.param, t), this.#k(e);
|
|
@@ -21539,12 +21542,12 @@ var OS = 150, kS = class {
|
|
|
21539
21542
|
}
|
|
21540
21543
|
#P(e, t) {
|
|
21541
21544
|
let n = e.param;
|
|
21542
|
-
if (
|
|
21543
|
-
let r =
|
|
21544
|
-
if (
|
|
21545
|
+
if (fn(n)) {
|
|
21546
|
+
let r = hn(n.select);
|
|
21547
|
+
if (pn(r)) {
|
|
21545
21548
|
let r = this.#N(e, "persist");
|
|
21546
21549
|
if (!r) return;
|
|
21547
|
-
let i =
|
|
21550
|
+
let i = yn(t, r);
|
|
21548
21551
|
if (!i) return;
|
|
21549
21552
|
let a = this.#M(e.view);
|
|
21550
21553
|
if (a && a.completed) try {
|
|
@@ -21559,8 +21562,8 @@ var OS = 150, kS = class {
|
|
|
21559
21562
|
keys: i
|
|
21560
21563
|
};
|
|
21561
21564
|
}
|
|
21562
|
-
if (
|
|
21563
|
-
if (!
|
|
21565
|
+
if (wn(r)) {
|
|
21566
|
+
if (!dn(t)) {
|
|
21564
21567
|
this.#q(n, "has no value yet and will not be saved.");
|
|
21565
21568
|
return;
|
|
21566
21569
|
}
|
|
@@ -21568,7 +21571,7 @@ var OS = 150, kS = class {
|
|
|
21568
21571
|
}
|
|
21569
21572
|
throw Error(`Unsupported selection config for parameter "${n.name}".`);
|
|
21570
21573
|
}
|
|
21571
|
-
if (
|
|
21574
|
+
if (xn(n)) return {
|
|
21572
21575
|
type: "value",
|
|
21573
21576
|
value: t
|
|
21574
21577
|
};
|
|
@@ -21579,7 +21582,7 @@ var OS = 150, kS = class {
|
|
|
21579
21582
|
this.#e.paramRuntime.runInTransaction(() => {
|
|
21580
21583
|
let t = new Set(this.#i.keys()), n = new Set(Object.keys(e));
|
|
21581
21584
|
for (let t of this.#r) {
|
|
21582
|
-
let r =
|
|
21585
|
+
let r = Qn(t.selector);
|
|
21583
21586
|
if (n.delete(r), this.#u.has(r)) continue;
|
|
21584
21587
|
let i = e[r], a = i ? this.#R(t, i) : this.#k(t);
|
|
21585
21588
|
this.#I(t, a) || t.view.paramRuntime.setValue(t.selector.param, a, { animate: !1 });
|
|
@@ -21594,20 +21597,20 @@ var OS = 150, kS = class {
|
|
|
21594
21597
|
}
|
|
21595
21598
|
}
|
|
21596
21599
|
#I(e, t) {
|
|
21597
|
-
return
|
|
21600
|
+
return xn(e.param) && Object.is(e.view.paramRuntime.getTargetValue(e.selector.param), t);
|
|
21598
21601
|
}
|
|
21599
21602
|
#L(e) {
|
|
21600
21603
|
let t = e.selector.param;
|
|
21601
|
-
return
|
|
21604
|
+
return xn(e.param) ? e.view.paramRuntime.getTargetValue(t) : e.view.paramRuntime.getValue(t);
|
|
21602
21605
|
}
|
|
21603
21606
|
async whenApplied(e) {
|
|
21604
21607
|
return await Promise.resolve(), await this.#h, this.#e.paramRuntime.whenPropagated(e);
|
|
21605
21608
|
}
|
|
21606
21609
|
#R(e, t) {
|
|
21607
21610
|
let n = e.param, r = t.value;
|
|
21608
|
-
if (
|
|
21609
|
-
let i =
|
|
21610
|
-
if (
|
|
21611
|
+
if (fn(n)) {
|
|
21612
|
+
let i = hn(n.select);
|
|
21613
|
+
if (pn(i)) {
|
|
21611
21614
|
if (r.type === "pointExpand") return this.#z(e, r, i);
|
|
21612
21615
|
if (r.type !== "point") return this.#A(e, "cannot be restored because the bookmark stored a different selection type.");
|
|
21613
21616
|
let t = this.#N(e, "restore");
|
|
@@ -21619,22 +21622,22 @@ var OS = 150, kS = class {
|
|
|
21619
21622
|
if (!o.completed) return this.#V(o), this.#k(e);
|
|
21620
21623
|
let s = i.toggle ? "multi" : "single", c;
|
|
21621
21624
|
try {
|
|
21622
|
-
c =
|
|
21625
|
+
c = rn(s, t, a, (e, t) => o.findDatumByKey(e, t));
|
|
21623
21626
|
} catch (r) {
|
|
21624
21627
|
return String(r).includes("Duplicate key detected") ? this.#K(n, `cannot be restored because encoding.key fields [${t.join(", ")}] are not unique in the current data.`) : this.#K(n, `cannot be restored due to an error: ${r}`), this.#k(e);
|
|
21625
21628
|
}
|
|
21626
21629
|
return c.unresolved.length && this.#K(n, "has some points that could not be resolved. Ensure encoding.key is unique and present in the data."), c.selection;
|
|
21627
21630
|
}
|
|
21628
|
-
if (
|
|
21631
|
+
if (wn(i)) {
|
|
21629
21632
|
if (r.type !== "interval") return this.#A(e, "cannot be restored because the bookmark stored a different selection type.");
|
|
21630
|
-
let n =
|
|
21633
|
+
let n = gn(i.encodings);
|
|
21631
21634
|
this.#H(e.view, n, r.intervals);
|
|
21632
21635
|
let a = this.#U(t.origin);
|
|
21633
21636
|
return a && this.#H(e.view, n, a), n;
|
|
21634
21637
|
}
|
|
21635
21638
|
return this.#k(e);
|
|
21636
21639
|
}
|
|
21637
|
-
return
|
|
21640
|
+
return xn(n) ? r.type === "value" ? r.value : this.#j(e, "cannot be restored because the bookmark stored a different value type.") : this.#k(e);
|
|
21638
21641
|
}
|
|
21639
21642
|
#z(e, t, n) {
|
|
21640
21643
|
if (!n.toggle) return this.#K(e.param, "cannot apply expansion because the target selection is not multi-point."), this.#k(e);
|
|
@@ -21651,13 +21654,13 @@ var OS = 150, kS = class {
|
|
|
21651
21654
|
let n = bS(e), a = [];
|
|
21652
21655
|
return r.visitData((e) => {
|
|
21653
21656
|
n(e) && a.push(e);
|
|
21654
|
-
}),
|
|
21657
|
+
}), Sn(a);
|
|
21655
21658
|
} catch (t) {
|
|
21656
21659
|
return this.#K(e.param, `cannot apply expansion due to an error: ${t}`), this.#k(e);
|
|
21657
21660
|
}
|
|
21658
21661
|
}
|
|
21659
21662
|
#B(e) {
|
|
21660
|
-
let t = e.origin, n =
|
|
21663
|
+
let t = e.origin, n = Yn(this.#e, t.view);
|
|
21661
21664
|
if (!n) {
|
|
21662
21665
|
this.#J("the expansion origin view is missing in the current import scope.");
|
|
21663
21666
|
return;
|
|
@@ -21710,7 +21713,7 @@ var OS = 150, kS = class {
|
|
|
21710
21713
|
}
|
|
21711
21714
|
#U(e) {
|
|
21712
21715
|
if (!e || e.type !== "datum" || !e.intervalSources) return;
|
|
21713
|
-
let t =
|
|
21716
|
+
let t = Yn(this.#e, e.view);
|
|
21714
21717
|
if (!t) {
|
|
21715
21718
|
this.#J("the source view is missing. Using stored coordinates instead.");
|
|
21716
21719
|
return;
|
|
@@ -21735,7 +21738,7 @@ var OS = 150, kS = class {
|
|
|
21735
21738
|
for (let [t, n] of Object.entries(e.intervalSources)) {
|
|
21736
21739
|
let e = n.start, a = n.end ?? n.start;
|
|
21737
21740
|
if (!e || !a) continue;
|
|
21738
|
-
let o =
|
|
21741
|
+
let o = mn(e), s = mn(a);
|
|
21739
21742
|
i[t] = [o(r), s(r)];
|
|
21740
21743
|
}
|
|
21741
21744
|
return i;
|
|
@@ -21760,11 +21763,11 @@ var OS = 150, kS = class {
|
|
|
21760
21763
|
}
|
|
21761
21764
|
#X(e, t) {
|
|
21762
21765
|
let n = e.param;
|
|
21763
|
-
|
|
21766
|
+
fn(n) && pn(hn(n.select)) && (this.#N(e, "persist") || this.#u.add(t));
|
|
21764
21767
|
}
|
|
21765
21768
|
#Z(e, t) {
|
|
21766
|
-
let n =
|
|
21767
|
-
return
|
|
21769
|
+
let n = hn(e.select);
|
|
21770
|
+
return pn(n) ? En(t) ? !t.datum : !Dn(t) || t.data.size === 0 : wn(n) ? !vn(t) : !1;
|
|
21768
21771
|
}
|
|
21769
21772
|
#Q(e) {
|
|
21770
21773
|
this.#l.has(e) || (this.#l.add(e), this.#s.add(e), !this.#d && (this.#d = !0, queueMicrotask(() => {
|
|
@@ -21822,7 +21825,7 @@ function MS(e, t) {
|
|
|
21822
21825
|
partitionBy: i.partitionBy,
|
|
21823
21826
|
origin: i.origin,
|
|
21824
21827
|
...o
|
|
21825
|
-
} : i.value, c = i.origin, l = HS(
|
|
21828
|
+
} : i.value, c = i.origin, l = HS(Hn, t, a), u = l ? l.view : void 0, d = u ? FS(u, t) : null, f = NS(e, u, a, s, c, t);
|
|
21826
21829
|
return {
|
|
21827
21830
|
title: d ? L`${f} in ${d}` : f,
|
|
21828
21831
|
icon: VS(s)
|
|
@@ -21857,7 +21860,7 @@ function NS(e, t, n, r, i, a) {
|
|
|
21857
21860
|
}
|
|
21858
21861
|
function PS(e, t) {
|
|
21859
21862
|
if (!e || e.type !== "datum") return L``;
|
|
21860
|
-
let n = t ? HS(
|
|
21863
|
+
let n = t ? HS(Yn, t, e.view) : null;
|
|
21861
21864
|
return n ? L` from ${FS(n, t)}` : L``;
|
|
21862
21865
|
}
|
|
21863
21866
|
function FS(e, t) {
|
|
@@ -21865,7 +21868,7 @@ function FS(e, t) {
|
|
|
21865
21868
|
return L`<strong>${Zm(t, e, String(n))}</strong>`;
|
|
21866
21869
|
}
|
|
21867
21870
|
function IS(e) {
|
|
21868
|
-
return
|
|
21871
|
+
return Te(e) || typeof e == "number" || typeof e == "boolean" ? String(e) : JSON.stringify(e);
|
|
21869
21872
|
}
|
|
21870
21873
|
function LS(e) {
|
|
21871
21874
|
return L`<strong>${e}</strong>`;
|
|
@@ -21946,7 +21949,7 @@ function YS(e, t, n, r) {
|
|
|
21946
21949
|
let i = jS.get(e);
|
|
21947
21950
|
if (i?.has(r)) return i.get(r);
|
|
21948
21951
|
if (!t) return;
|
|
21949
|
-
let a = HS(
|
|
21952
|
+
let a = HS(Yn, t, n.view);
|
|
21950
21953
|
if (!a) return;
|
|
21951
21954
|
let o = TS(a, n);
|
|
21952
21955
|
if (o.reason !== "ok") return;
|
|
@@ -21968,14 +21971,14 @@ function ZS(e) {
|
|
|
21968
21971
|
//#endregion
|
|
21969
21972
|
//#region src/viewSelectorConstraints.js
|
|
21970
21973
|
function QS(e) {
|
|
21971
|
-
let t = [...
|
|
21974
|
+
let t = [...Kn(e)];
|
|
21972
21975
|
return $S(e, t), eC(e, t), tC(e, t), t;
|
|
21973
21976
|
}
|
|
21974
21977
|
function $S(e, t) {
|
|
21975
|
-
|
|
21978
|
+
Un(e, (e) => {
|
|
21976
21979
|
let n = Ht(e);
|
|
21977
21980
|
if (!(!n || typeof n != "object") && (typeof n.group != "string" || n.group.length === 0)) {
|
|
21978
|
-
let n =
|
|
21981
|
+
let n = Gn(e);
|
|
21979
21982
|
t.push({
|
|
21980
21983
|
message: "Configurable visibility group must be a non-empty string in " + iC(n) + " for " + e.getPathString() + ".",
|
|
21981
21984
|
scope: n
|
|
@@ -21985,9 +21988,9 @@ function $S(e, t) {
|
|
|
21985
21988
|
}
|
|
21986
21989
|
function eC(e, t) {
|
|
21987
21990
|
let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
21988
|
-
|
|
21989
|
-
let i =
|
|
21990
|
-
if (n.has(a) || (n.set(a, i), r.set(a, /* @__PURE__ */ new Map())), !
|
|
21991
|
+
Un(e, (e) => {
|
|
21992
|
+
let i = Gn(e), a = rC(i);
|
|
21993
|
+
if (n.has(a) || (n.set(a, i), r.set(a, /* @__PURE__ */ new Map())), !Ve(e)) return;
|
|
21991
21994
|
let o = e.explicitName;
|
|
21992
21995
|
if (!o) {
|
|
21993
21996
|
if (!Zt(e)) return;
|
|
@@ -22014,10 +22017,10 @@ function eC(e, t) {
|
|
|
22014
22017
|
}
|
|
22015
22018
|
function tC(e, t) {
|
|
22016
22019
|
let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
22017
|
-
|
|
22018
|
-
let t =
|
|
22020
|
+
Un(e, (e) => {
|
|
22021
|
+
let t = Jn(e), i = t ? t.name : void 0;
|
|
22019
22022
|
if (typeof i != "string" || !i.length || !nC(e)) return;
|
|
22020
|
-
let a =
|
|
22023
|
+
let a = Gn(e);
|
|
22021
22024
|
if (!a.length) return;
|
|
22022
22025
|
let o = a.slice(0, a.length - 1), s = rC(o);
|
|
22023
22026
|
n.has(s) || (n.set(s, o), r.set(s, /* @__PURE__ */ new Map()));
|
|
@@ -22034,8 +22037,8 @@ function tC(e, t) {
|
|
|
22034
22037
|
}
|
|
22035
22038
|
function nC(e) {
|
|
22036
22039
|
let t = !1;
|
|
22037
|
-
return
|
|
22038
|
-
if (
|
|
22040
|
+
return Un(e, (e) => {
|
|
22041
|
+
if (Ve(e) && (e.explicitName || Zt(e))) return t = !0, er;
|
|
22039
22042
|
}), t;
|
|
22040
22043
|
}
|
|
22041
22044
|
function rC(e) {
|
|
@@ -22170,7 +22173,7 @@ var fC = class extends EventTarget {
|
|
|
22170
22173
|
};
|
|
22171
22174
|
//#endregion
|
|
22172
22175
|
//#region src/app.js
|
|
22173
|
-
|
|
22176
|
+
ct.mergeFacets = Ux;
|
|
22174
22177
|
var pC = class {
|
|
22175
22178
|
#e;
|
|
22176
22179
|
#t = /* @__PURE__ */ new Set();
|
|
@@ -22180,11 +22183,11 @@ var pC = class {
|
|
|
22180
22183
|
embedMode: "standalone",
|
|
22181
22184
|
...n,
|
|
22182
22185
|
inputBindingContainer: "none"
|
|
22183
|
-
}, this.ui = new fC(), this.#r(), this.#a(e), this.#i(),
|
|
22186
|
+
}, this.ui = new fC(), this.#r(), this.#a(e), this.#i(), m(L`<div class="genome-spy-app">
|
|
22184
22187
|
<genome-spy-toolbar .app=${this}></genome-spy-toolbar>
|
|
22185
22188
|
<div class="genome-spy-workspace">
|
|
22186
22189
|
<div class="genome-spy-container"></div>
|
|
22187
|
-
${this.isEmbedded() ?
|
|
22190
|
+
${this.isEmbedded() ? _ : L`<div class="genome-spy-side-panel-host"></div>`}
|
|
22188
22191
|
</div>
|
|
22189
22192
|
</div>`, this.appContainer), this.isEmbedded() || this.ui.attachAppShell(this.appContainer.querySelector(".genome-spy-app")), this.appContainer.querySelector(".genome-spy-app").addEventListener("query-dependency", (e) => {
|
|
22190
22193
|
e.detail.name == "app" && (e.detail.setter(this), e.stopPropagation());
|
|
@@ -22194,10 +22197,10 @@ var pC = class {
|
|
|
22194
22197
|
}, this.genomeSpy.viewFactory.addViewType(Mm, ((e, t, n, r, i) => new Bg(e, t, n, r, i, this.provenance, this.intentExecutor, Ex(this)))), this.#o();
|
|
22195
22198
|
}
|
|
22196
22199
|
getAgentApi() {
|
|
22197
|
-
return this.#e ||= import("./agentApi-
|
|
22200
|
+
return this.#e ||= import("./agentApi-Cz0hCnVp.js").then((e) => e.t).then((e) => e.createAgentApi(this)), this.#e;
|
|
22198
22201
|
}
|
|
22199
22202
|
async getDebugModules() {
|
|
22200
|
-
return import("./debug-
|
|
22203
|
+
return import("./debug-BvCZWumf.js");
|
|
22201
22204
|
}
|
|
22202
22205
|
#r() {
|
|
22203
22206
|
this.store = Xx(), this.intentExecutor = new Kx(this.store), this.provenance = new Bx(this.store), this.intentPipeline = new Zx({
|
|
@@ -22215,10 +22218,10 @@ var pC = class {
|
|
|
22215
22218
|
#o() {
|
|
22216
22219
|
let e = {}, t = (t) => t.viewSettings?.visibilities ?? e, n = e, r, i = e, a = () => {
|
|
22217
22220
|
let e = t(this.store.getState()), a = this.genomeSpy.viewRoot;
|
|
22218
|
-
return e === n && a === r ? i : (n = e, r = a, i = a ?
|
|
22221
|
+
return e === n && a === r ? i : (n = e, r = a, i = a ? Fe(a, e) : e, i);
|
|
22219
22222
|
}, o = this.genomeSpy.viewVisibilityPredicate;
|
|
22220
22223
|
this.genomeSpy.viewVisibilityPredicate = (e) => {
|
|
22221
|
-
let t =
|
|
22224
|
+
let t = _t(a(), e);
|
|
22222
22225
|
return t === void 0 ? o(e) : t;
|
|
22223
22226
|
};
|
|
22224
22227
|
}
|
|
@@ -22259,7 +22262,7 @@ var pC = class {
|
|
|
22259
22262
|
this.#t.add(e);
|
|
22260
22263
|
}
|
|
22261
22264
|
async launch() {
|
|
22262
|
-
let e = this.isEmbedded() ? Promise.resolve([]) : this.rootSpec.bookmarks?.remote ?
|
|
22265
|
+
let e = this.isEmbedded() ? Promise.resolve([]) : this.rootSpec.bookmarks?.remote ? D({ baseURL: this.rootSpec.baseUrl }).load(this.rootSpec.bookmarks.remote.url).then((e) => Promise.resolve(JSON.parse(e))) : Promise.resolve([]);
|
|
22263
22266
|
if (this.isEmbedded() || await this.#l(e), !await this.genomeSpy.launch()) return;
|
|
22264
22267
|
this.#s();
|
|
22265
22268
|
let t = this.genomeSpy.viewRoot;
|
|
@@ -22314,13 +22317,13 @@ var pC = class {
|
|
|
22314
22317
|
}
|
|
22315
22318
|
let t = () => this._restoreStateFromUrl().catch((e) => q(e.toString()));
|
|
22316
22319
|
window.addEventListener("hashchange", t, !1), this.#c(() => window.removeEventListener("hashchange", t, !1));
|
|
22317
|
-
let n =
|
|
22320
|
+
let n = ae(() => {
|
|
22318
22321
|
this.#n || this._updateStateToUrl();
|
|
22319
22322
|
}, 500, !1);
|
|
22320
22323
|
this.#c(this.store.subscribe(n));
|
|
22321
22324
|
for (let [, e] of this.genomeSpy.getNamedScaleResolutions()) e.isZoomable() && (e.addEventListener("domain", n), this.#c(() => e.removeEventListener("domain", n)));
|
|
22322
22325
|
}
|
|
22323
|
-
let r =
|
|
22326
|
+
let r = On(this.genomeSpy.spec.description ?? []);
|
|
22324
22327
|
this.isFullPage() && r.length > 0 && (document.title = "GenomeSpy - " + r), this.store.dispatch(qx.actions.setInitialized());
|
|
22325
22328
|
}
|
|
22326
22329
|
async #l(e) {
|
|
@@ -22328,7 +22331,7 @@ var pC = class {
|
|
|
22328
22331
|
if (t) try {
|
|
22329
22332
|
let n = await this.#u(t, e);
|
|
22330
22333
|
if (n?.viewSettings) {
|
|
22331
|
-
let e =
|
|
22334
|
+
let e = tt(n.viewSettings);
|
|
22332
22335
|
this.store.dispatch(Jt.actions.setViewSettings(e));
|
|
22333
22336
|
}
|
|
22334
22337
|
} catch {}
|
|
@@ -22421,13 +22424,13 @@ var pC = class {
|
|
|
22421
22424
|
if (!this.genomeSpy?.viewRoot) return;
|
|
22422
22425
|
let e;
|
|
22423
22426
|
return this.genomeSpy.viewRoot.visit((t) => {
|
|
22424
|
-
if (t instanceof Bg) return e = t,
|
|
22427
|
+
if (t instanceof Bg) return e = t, er;
|
|
22425
22428
|
}), e;
|
|
22426
22429
|
}
|
|
22427
22430
|
};
|
|
22428
22431
|
function mC(e) {
|
|
22429
22432
|
let t = e.bookmarks?.remote;
|
|
22430
|
-
if (t) return
|
|
22433
|
+
if (t) return jn(Mn(e.baseUrl, t.url));
|
|
22431
22434
|
}
|
|
22432
22435
|
function hC(e) {
|
|
22433
22436
|
let t = document.querySelector("head"), n = document.createElement("link");
|
|
@@ -22458,7 +22461,7 @@ function _C({ viewSelector: e, field: t, selectionSelector: n, aggregation: r, f
|
|
|
22458
22461
|
//#endregion
|
|
22459
22462
|
//#region src/agentShared/index.js
|
|
22460
22463
|
function vC(e) {
|
|
22461
|
-
if (e.startsWith("sampleView/")) return
|
|
22464
|
+
if (e.startsWith("sampleView/")) return k.actions[e.slice(11)];
|
|
22462
22465
|
if (e.startsWith("paramProvenance/")) return Ag.actions[e.slice(16)];
|
|
22463
22466
|
if (e.startsWith("viewSettings/")) return Jt.actions[e.slice(13)];
|
|
22464
22467
|
throw Error("Unsupported app actionType " + e + ".");
|
|
@@ -22467,13 +22470,13 @@ function vC(e) {
|
|
|
22467
22470
|
//#region src/index.js
|
|
22468
22471
|
async function yC(e, t, n = {}) {
|
|
22469
22472
|
let r = !0, i = () => r, a;
|
|
22470
|
-
if (
|
|
22473
|
+
if (Te(e)) {
|
|
22471
22474
|
if (a = document.querySelector(e), !a) throw Error(`No such element: ${e}`);
|
|
22472
22475
|
} else if (e instanceof HTMLElement) a = e;
|
|
22473
22476
|
else throw Error(`Invalid element: ${e}`);
|
|
22474
22477
|
let s, l, u = [];
|
|
22475
22478
|
try {
|
|
22476
|
-
let e = c(t) ? t : await
|
|
22479
|
+
let e = c(t) ? t : await le(t);
|
|
22477
22480
|
e.baseUrl ??= "", e.padding ??= 10;
|
|
22478
22481
|
let { plugins: r = [], ...i } = {
|
|
22479
22482
|
powerPreference: "high-performance",
|
|
@@ -22485,7 +22488,7 @@ async function yC(e, t, n = {}) {
|
|
|
22485
22488
|
}
|
|
22486
22489
|
return {
|
|
22487
22490
|
views: o(s, i),
|
|
22488
|
-
datasets:
|
|
22491
|
+
datasets: pt(s, i),
|
|
22489
22492
|
debug: l.debug,
|
|
22490
22493
|
finalize() {
|
|
22491
22494
|
r = !1;
|
|
@@ -22533,4 +22536,4 @@ async function xC(e, t) {
|
|
|
22533
22536
|
return n;
|
|
22534
22537
|
}
|
|
22535
22538
|
//#endregion
|
|
22536
|
-
export { G as BaseDialog, dt as GenomeSpy, pC as GenomeSpyApp, i as addValueColors,
|
|
22539
|
+
export { G as BaseDialog, dt as GenomeSpy, pC as GenomeSpyApp, i as addValueColors, P as buildCategoricalCountsSummary, ie as buildCategoricalFieldSummary, ue as buildQuantitativeFieldSummary, _C as buildSelectionAggregationAttributeIdentifier, y as buildTopCategorySummary, bt as createAgentApi, fg as createSelectionAggregationCandidateId, yC as embed, me as embedRenderablePlot, Dc as faStyles, Oc as formStyles, Rt as formatAggregationExpression, Qm as formatScopedParamName, vC as getActionCreator, ut as getConcreteColorScale, tg as getContextMenuFieldInfos, L as html, vr as icon, hm as isBaselineAction, it as makeViewSelectorKey, yx as safeMarkdown, ES as serializeBookmarkableParamValue, K as showDialog, q as showMessageDialog, E as templateResultToString };
|