@kong-ui-public/documentation 1.5.78 → 1.6.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/{arc-DZdQjcG8-C_2Dx6GQ.js → arc-DZdQjcG8-CduayE88.js} +2 -2
- package/dist/{architectureDiagram-3BPJPVTR-By_DXDyu-DTj86bUZ.js → architectureDiagram-3BPJPVTR-By_DXDyu-U3MSLbOU.js} +1506 -1513
- package/dist/blockDiagram-GPEHLZMM-9Cp9Hbl7-CKP-SiVG.js +3268 -0
- package/dist/{c4Diagram-AAUBKEIU-ftdwlfdB-CYiERTWJ.js → c4Diagram-AAUBKEIU-ftdwlfdB-D3A61SdV.js} +11 -12
- package/dist/{channel-DM9j7IFL-CjNPz4Hd.js → channel-DM9j7IFL-DxqBUxfY.js} +1 -1
- package/dist/{chunk-2J33WTMH-CBbjVzWb-BAAd-TK5.js → chunk-2J33WTMH-CBbjVzWb-0og4LHQ-.js} +7 -8
- package/dist/chunk-4BX2VUAB-C_NnimAy--QQ0Db2V.js +8 -0
- package/dist/{chunk-55IACEB6-DZn1aNO0-_bs5ibIB.js → chunk-55IACEB6-DZn1aNO0-A3zOZ7dT.js} +1 -1
- package/dist/{chunk-727SXJPM-B2_6_WLv-CzbzsbtK.js → chunk-727SXJPM-B2_6_WLv-Bs3CxHaX.js} +548 -549
- package/dist/{chunk-AQP2D5EJ-DEAEiJjW-BPr5JvkB.js → chunk-AQP2D5EJ-DEAEiJjW-DTbwZT8N.js} +446 -458
- package/dist/{chunk-FMBD7UC4-D_tZ4Dxg-BUygZnCT.js → chunk-FMBD7UC4-D_tZ4Dxg-DwjoPGUH.js} +1 -1
- package/dist/{chunk-ND2GUHAM-Duw3k8MU-Dr8SD23L.js → chunk-ND2GUHAM-Duw3k8MU-HmrdHLJ9.js} +1 -1
- package/dist/{chunk-QZHKN3VN-DN6nBdn0-DxWE5zsM.js → chunk-QZHKN3VN-DN6nBdn0-BvQOETVz.js} +1 -1
- package/dist/classDiagram-4FO5ZUOK-Du5qFrfN-BqXc0etQ.js +17 -0
- package/dist/classDiagram-v2-Q7XG4LA2-DM6zutfc-BqXc0etQ.js +17 -0
- package/dist/{cose-bilkent-S5V4N54A-0ZumbVgj-BKcFQWbE.js → cose-bilkent-S5V4N54A-0ZumbVgj-0z7CQbIH.js} +465 -465
- package/dist/{cytoscape.esm-BDIiOYYO-BbddfVIJ.js → cytoscape.esm-BDIiOYYO-C1jMBhD8.js} +356 -371
- package/dist/dagre-BM42HDAG-qMWMsyLb-DGMrq3i3.js +288 -0
- package/dist/{dagre-DJxg_nfI-BzVw7cNP.js → dagre-DJxg_nfI-hVOVexz-.js} +9 -9
- package/dist/{diagram-2AECGRRQ-B2gF_dHe-DCRSlKG-.js → diagram-2AECGRRQ-B2gF_dHe-Bv_EpxRz.js} +10 -14
- package/dist/{diagram-5GNKFQAL-DJ9WwRrD-DtSWJY6-.js → diagram-5GNKFQAL-DJ9WwRrD-WVvm0Icu.js} +4 -4
- package/dist/{diagram-KO2AKTUF-RfkqD-VW-ZR9mxccc.js → diagram-KO2AKTUF-RfkqD-VW-yyAds1Qq.js} +153 -156
- package/dist/{diagram-LMA3HP47-Ct7s9hIt-DXtPBRn4.js → diagram-LMA3HP47-Ct7s9hIt-Dy6f9BAO.js} +21 -22
- package/dist/{diagram-OG6HWLK6-BSYJ2CoI-DX1BfXw6.js → diagram-OG6HWLK6-BSYJ2CoI-ckmfat-L.js} +79 -81
- package/dist/documentation.es.js +1 -1
- package/dist/documentation.umd.js +374 -374
- package/dist/{erDiagram-TEJ5UH35-BudwiSYX-BPA5-1u6.js → erDiagram-TEJ5UH35-BudwiSYX-bVzp1Kjr.js} +134 -135
- package/dist/{flowDiagram-I6XJVG4X-B23Smlxp-Cb24VZnb.js → flowDiagram-I6XJVG4X-B23Smlxp-ClHvdCdJ.js} +842 -849
- package/dist/{ganttDiagram-6RSMTGT7-C-i89z_P-DEdTFlTH.js → ganttDiagram-6RSMTGT7-C-i89z_P-t5UAyRM5.js} +46 -46
- package/dist/gitGraphDiagram-PVQCEYII-DpVfXnUD-Cg3smOdz.js +734 -0
- package/dist/{graphlib-D2YdGpuK-CM8PX5pf.js → graphlib-D2YdGpuK-CnQPmzkS.js} +17 -17
- package/dist/{index-Dpyqhws4.js → index-DfVKdDwj.js} +16258 -16515
- package/dist/{infoDiagram-5YYISTIA-CDUwzFql-BsbTK2Me.js → infoDiagram-5YYISTIA-CDUwzFql-Bmthmcp4.js} +2 -2
- package/dist/{ishikawaDiagram-YF4QCWOH-MfYdx0rK-DsWP0O6d.js → ishikawaDiagram-YF4QCWOH-MfYdx0rK-cbltssua.js} +137 -138
- package/dist/{journeyDiagram-JHISSGLW-C_udOPtJ-BkIf9B4Q.js → journeyDiagram-JHISSGLW-C_udOPtJ-BjAvgSAR.js} +13 -13
- package/dist/{kanban-definition-UN3LZRKU-C1Su-UOY-6sw-wDwK.js → kanban-definition-UN3LZRKU-C1Su-UOY-DZ93dsWZ.js} +334 -336
- package/dist/{katex-D7tFlpqA-B7yKriH4.js → katex-D7tFlpqA-BOSQxXe1.js} +254 -256
- package/dist/{linear-1MXhYum8-CfR5ywK4.js → linear-1MXhYum8-9C1jno9G.js} +5 -5
- package/dist/{mindmap-definition-RKZ34NQL-MuSV765K-Cv2rDIFS.js → mindmap-definition-RKZ34NQL-MuSV765K-Kub1iXFv.js} +94 -97
- package/dist/{ordinal-D9ksOc8y-CrGveXkB.js → ordinal-D9ksOc8y-2hZwLyEk.js} +1 -1
- package/dist/{pieDiagram-4H26LBE5-TgFp7J6_-C8m2xJbj.js → pieDiagram-4H26LBE5-TgFp7J6_-i6NxP3Xz.js} +43 -44
- package/dist/{quadrantDiagram-W4KKPZXB-DKPne3o_-D0Tfl8NQ.js → quadrantDiagram-W4KKPZXB-DKPne3o_-DXLHqRuR.js} +351 -353
- package/dist/{requirementDiagram-4Y6WPE33-vh8uUAp_-C5zLx-_o.js → requirementDiagram-4Y6WPE33-vh8uUAp_-CHtsISxP.js} +384 -386
- package/dist/{sankeyDiagram-5OEKKPKP-Cgs6W_El-DBrv4QL_.js → sankeyDiagram-5OEKKPKP-Cgs6W_El-D7GZyd8n.js} +178 -178
- package/dist/{sequenceDiagram-3UESZ5HK-C5F57Dkt-D6DqZiJP.js → sequenceDiagram-3UESZ5HK-C5F57Dkt-BW1Hb7UW.js} +643 -653
- package/dist/{stateDiagram-AJRCARHV-09dUKG6Y-9QhAIhCk.js → stateDiagram-AJRCARHV-09dUKG6Y-Dm2a1vNu.js} +5 -5
- package/dist/stateDiagram-v2-BHNVJYJU-CWqmRt12-DbWzZ-j-.js +16 -0
- package/dist/style.css +1 -1
- package/dist/timeline-definition-PNZ67QCA-CCndyx0V-B5CT96H-.js +1095 -0
- package/dist/{vennDiagram-CIIHVFJN-DQfKxM3L-086u82L3.js → vennDiagram-CIIHVFJN-DQfKxM3L-qUaKEl7l.js} +596 -603
- package/dist/{wardley-L42UT6IY-BjAkE_cs-li1xYed9.js → wardley-L42UT6IY-BjAkE_cs-C-giFqos.js} +5760 -5809
- package/dist/wardleyDiagram-YWT4CUSO-Bf9L2NsL-DXPF2Ee9.js +639 -0
- package/dist/{xychartDiagram-2RQKCTM6-ChNH3q1U--vbcTXH5.js → xychartDiagram-2RQKCTM6-ChNH3q1U-a59DsJDA.js} +10 -10
- package/package.json +4 -4
- package/dist/blockDiagram-GPEHLZMM-9Cp9Hbl7-CSQRWfog.js +0 -3278
- package/dist/chunk-4BX2VUAB-C_NnimAy-B-8x_g6K.js +0 -9
- package/dist/classDiagram-4FO5ZUOK-Du5qFrfN-DLmqgbj1.js +0 -17
- package/dist/classDiagram-v2-Q7XG4LA2-DM6zutfc-DLmqgbj1.js +0 -17
- package/dist/dagre-BM42HDAG-qMWMsyLb-BzK2-5zM.js +0 -291
- package/dist/gitGraphDiagram-PVQCEYII-DpVfXnUD-BtfdBLxW.js +0 -747
- package/dist/stateDiagram-v2-BHNVJYJU-CWqmRt12-Br5eF-5b.js +0 -16
- package/dist/timeline-definition-PNZ67QCA-CCndyx0V-CkhwKYjQ.js +0 -1106
- package/dist/wardleyDiagram-YWT4CUSO-Bf9L2NsL-CCMCDU5F.js +0 -647
package/dist/{vennDiagram-CIIHVFJN-DQfKxM3L-086u82L3.js → vennDiagram-CIIHVFJN-DQfKxM3L-qUaKEl7l.js}
RENAMED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import { G as Gt, K as Wt, i as Vt, f as Kt, W as Xt, U as Ht, p as w, o as wt, a0 as Yt, q as it, ba as Zt, ar as Jt, as as Qt, at as te, A as ee, H as ne, s as se, bb as ie, F as re } from "./index-
|
|
1
|
+
import { G as Gt, K as Wt, i as Vt, f as Kt, W as Xt, U as Ht, p as w, o as wt, a0 as Yt, q as it, ba as Zt, ar as Jt, as as Qt, at as te, A as ee, H as ne, s as se, bb as ie, F as re } from "./index-DfVKdDwj.js";
|
|
2
2
|
var It = (t, n) => ie(t, "a", -n), Et = 1e-10;
|
|
3
3
|
function nt(t, n) {
|
|
4
|
-
let s = ae(t), e = s.filter((
|
|
4
|
+
let s = ae(t), e = s.filter((h) => le(h, t)), i = 0, r = 0, o = [];
|
|
5
5
|
if (e.length > 1) {
|
|
6
|
-
let
|
|
7
|
-
for (let
|
|
8
|
-
let u = e[
|
|
9
|
-
u.angle = Math.atan2(u.x -
|
|
6
|
+
let h = zt(e);
|
|
7
|
+
for (let a = 0; a < e.length; ++a) {
|
|
8
|
+
let u = e[a];
|
|
9
|
+
u.angle = Math.atan2(u.x - h.x, u.y - h.y);
|
|
10
10
|
}
|
|
11
|
-
e.sort((
|
|
11
|
+
e.sort((a, u) => u.angle - a.angle);
|
|
12
12
|
let c = e[e.length - 1];
|
|
13
|
-
for (let
|
|
14
|
-
let u = e[
|
|
13
|
+
for (let a = 0; a < e.length; ++a) {
|
|
14
|
+
let u = e[a];
|
|
15
15
|
r += (c.x + u.x) * (u.y - c.y);
|
|
16
|
-
let
|
|
16
|
+
let g = {
|
|
17
17
|
x: (u.x + c.x) / 2,
|
|
18
18
|
y: (u.y + c.y) / 2
|
|
19
19
|
}, f = null;
|
|
20
20
|
for (let m = 0; m < u.parentIndex.length; ++m) if (c.parentIndex.includes(u.parentIndex[m])) {
|
|
21
21
|
let y = t[u.parentIndex[m]], _ = Math.atan2(u.x - y.x, u.y - y.y), E = Math.atan2(c.x - y.x, c.y - y.y), d = E - _;
|
|
22
22
|
d < 0 && (d += 2 * Math.PI);
|
|
23
|
-
let
|
|
24
|
-
x: y.x + y.radius * Math.sin(
|
|
25
|
-
y: y.y + y.radius * Math.cos(
|
|
23
|
+
let v = E - d / 2, b = q(g, {
|
|
24
|
+
x: y.x + y.radius * Math.sin(v),
|
|
25
|
+
y: y.y + y.radius * Math.cos(v)
|
|
26
26
|
});
|
|
27
|
-
|
|
27
|
+
b > y.radius * 2 && (b = y.radius * 2), (f == null || f.width > b) && (f = {
|
|
28
28
|
circle: y,
|
|
29
|
-
width:
|
|
29
|
+
width: b,
|
|
30
30
|
p1: u,
|
|
31
31
|
p2: c,
|
|
32
|
-
large:
|
|
32
|
+
large: b > y.radius,
|
|
33
33
|
sweep: !0
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
-
f != null && (
|
|
36
|
+
f != null && (o.push(f), i += at(f.circle.radius, f.width), c = u);
|
|
37
37
|
}
|
|
38
38
|
} else {
|
|
39
|
-
let
|
|
40
|
-
for (let
|
|
39
|
+
let h = t[0];
|
|
40
|
+
for (let a = 1; a < t.length; ++a) t[a].radius < h.radius && (h = t[a]);
|
|
41
41
|
let c = !1;
|
|
42
|
-
for (let
|
|
42
|
+
for (let a = 0; a < t.length; ++a) if (q(t[a], h) > Math.abs(h.radius - t[a].radius)) {
|
|
43
43
|
c = !0;
|
|
44
44
|
break;
|
|
45
45
|
}
|
|
46
|
-
c ? i = r = 0 : (i =
|
|
47
|
-
circle:
|
|
46
|
+
c ? i = r = 0 : (i = h.radius * h.radius * Math.PI, o.push({
|
|
47
|
+
circle: h,
|
|
48
48
|
p1: {
|
|
49
|
-
x:
|
|
50
|
-
y:
|
|
49
|
+
x: h.x,
|
|
50
|
+
y: h.y + h.radius
|
|
51
51
|
},
|
|
52
52
|
p2: {
|
|
53
|
-
x:
|
|
54
|
-
y:
|
|
53
|
+
x: h.x - Et,
|
|
54
|
+
y: h.y + h.radius
|
|
55
55
|
},
|
|
56
|
-
width:
|
|
56
|
+
width: h.radius * 2,
|
|
57
57
|
large: !0,
|
|
58
58
|
sweep: !0
|
|
59
59
|
}));
|
|
60
60
|
}
|
|
61
|
-
return r /= 2, n && (n.area = i + r, n.arcArea = i, n.polygonArea = r, n.arcs =
|
|
61
|
+
return r /= 2, n && (n.area = i + r, n.arcArea = i, n.polygonArea = r, n.arcs = o, n.innerPoints = e, n.intersectionPoints = s), i + r;
|
|
62
62
|
}
|
|
63
63
|
function le(t, n) {
|
|
64
|
-
return n.every((s) =>
|
|
64
|
+
return n.every((s) => q(t, s) < s.radius + Et);
|
|
65
65
|
}
|
|
66
66
|
function ae(t) {
|
|
67
67
|
let n = [];
|
|
@@ -74,7 +74,7 @@ function ae(t) {
|
|
|
74
74
|
function at(t, n) {
|
|
75
75
|
return t * t * Math.acos(1 - n / t) - (t - n) * Math.sqrt(n * (2 * t - n));
|
|
76
76
|
}
|
|
77
|
-
function
|
|
77
|
+
function q(t, n) {
|
|
78
78
|
return Math.sqrt((t.x - n.x) * (t.x - n.x) + (t.y - n.y) * (t.y - n.y));
|
|
79
79
|
}
|
|
80
80
|
function yt(t, n, s) {
|
|
@@ -84,14 +84,14 @@ function yt(t, n, s) {
|
|
|
84
84
|
return at(t, e) + at(n, i);
|
|
85
85
|
}
|
|
86
86
|
function St(t, n) {
|
|
87
|
-
let s =
|
|
87
|
+
let s = q(t, n), e = t.radius, i = n.radius;
|
|
88
88
|
if (s >= e + i || s <= Math.abs(e - i)) return [];
|
|
89
|
-
let r = (e * e - i * i + s * s) / (2 * s),
|
|
89
|
+
let r = (e * e - i * i + s * s) / (2 * s), o = Math.sqrt(e * e - r * r), h = t.x + r * (n.x - t.x) / s, c = t.y + r * (n.y - t.y) / s, a = -(n.y - t.y) * (o / s), u = -(n.x - t.x) * (o / s);
|
|
90
90
|
return [{
|
|
91
|
-
x:
|
|
91
|
+
x: h + a,
|
|
92
92
|
y: c - u
|
|
93
93
|
}, {
|
|
94
|
-
x:
|
|
94
|
+
x: h - a,
|
|
95
95
|
y: c + u
|
|
96
96
|
}];
|
|
97
97
|
}
|
|
@@ -104,15 +104,15 @@ function zt(t) {
|
|
|
104
104
|
return n.x /= t.length, n.y /= t.length, n;
|
|
105
105
|
}
|
|
106
106
|
function oe(t, n, s, e) {
|
|
107
|
-
e
|
|
108
|
-
let i = e.maxIterations || 100, r = e.tolerance || 1e-10,
|
|
109
|
-
if (
|
|
110
|
-
if (
|
|
111
|
-
if (
|
|
112
|
-
for (let
|
|
107
|
+
e ||= {};
|
|
108
|
+
let i = e.maxIterations || 100, r = e.tolerance || 1e-10, o = t(n), h = t(s), c = s - n;
|
|
109
|
+
if (o * h > 0) throw "Initial bisect points must have opposite signs";
|
|
110
|
+
if (o === 0) return n;
|
|
111
|
+
if (h === 0) return s;
|
|
112
|
+
for (let a = 0; a < i; ++a) {
|
|
113
113
|
c /= 2;
|
|
114
|
-
let u = n + c,
|
|
115
|
-
if (
|
|
114
|
+
let u = n + c, g = t(u);
|
|
115
|
+
if (g * o >= 0 && (n = u), Math.abs(c) < r || g === 0) return u;
|
|
116
116
|
}
|
|
117
117
|
return n + c;
|
|
118
118
|
}
|
|
@@ -124,13 +124,13 @@ function ot(t) {
|
|
|
124
124
|
function kt(t, n) {
|
|
125
125
|
return ot(t).map(() => ot(n));
|
|
126
126
|
}
|
|
127
|
-
function
|
|
127
|
+
function J(t, n) {
|
|
128
128
|
let s = 0;
|
|
129
129
|
for (let e = 0; e < t.length; ++e) s += t[e] * n[e];
|
|
130
130
|
return s;
|
|
131
131
|
}
|
|
132
132
|
function ht(t) {
|
|
133
|
-
return Math.sqrt(
|
|
133
|
+
return Math.sqrt(J(t, t));
|
|
134
134
|
}
|
|
135
135
|
function ut(t, n, s) {
|
|
136
136
|
for (let e = 0; e < n.length; ++e) t[e] = n[e] * s;
|
|
@@ -139,69 +139,69 @@ function H(t, n, s, e, i) {
|
|
|
139
139
|
for (let r = 0; r < t.length; ++r) t[r] = n * s[r] + e * i[r];
|
|
140
140
|
}
|
|
141
141
|
function Tt(t, n, s) {
|
|
142
|
-
s
|
|
143
|
-
let e = s.maxIterations || n.length * 200, i = s.nonZeroDelta || 1.05, r = s.zeroDelta || 1e-3,
|
|
142
|
+
s ||= {};
|
|
143
|
+
let e = s.maxIterations || n.length * 200, i = s.nonZeroDelta || 1.05, r = s.zeroDelta || 1e-3, o = s.minErrorDelta || 1e-6, h = s.minErrorDelta || 1e-5, c = s.rho === void 0 ? 1 : s.rho, a = s.chi === void 0 ? 2 : s.chi, u = s.psi === void 0 ? -0.5 : s.psi, g = s.sigma === void 0 ? 0.5 : s.sigma, f, m = n.length, y = Array(m + 1);
|
|
144
144
|
y[0] = n, y[0].fx = t(n), y[0].id = 0;
|
|
145
|
-
for (let
|
|
145
|
+
for (let I = 0; I < m; ++I) {
|
|
146
146
|
let l = n.slice();
|
|
147
|
-
l[
|
|
147
|
+
l[I] = l[I] ? l[I] * i : r, y[I + 1] = l, y[I + 1].fx = t(l), y[I + 1].id = I + 1;
|
|
148
148
|
}
|
|
149
|
-
function _(
|
|
150
|
-
for (let l = 0; l <
|
|
151
|
-
y[m].fx =
|
|
149
|
+
function _(I) {
|
|
150
|
+
for (let l = 0; l < I.length; l++) y[m][l] = I[l];
|
|
151
|
+
y[m].fx = I.fx;
|
|
152
152
|
}
|
|
153
|
-
let E = (
|
|
154
|
-
for (let
|
|
153
|
+
let E = (I, l) => I.fx - l.fx, d = n.slice(), v = n.slice(), b = n.slice(), x = n.slice();
|
|
154
|
+
for (let I = 0; I < e; ++I) {
|
|
155
155
|
if (y.sort(E), s.history) {
|
|
156
|
-
let
|
|
157
|
-
let
|
|
158
|
-
return
|
|
156
|
+
let p = y.map((M) => {
|
|
157
|
+
let z = M.slice();
|
|
158
|
+
return z.fx = M.fx, z.id = M.id, z;
|
|
159
159
|
});
|
|
160
|
-
|
|
160
|
+
p.sort((M, z) => M.id - z.id), s.history.push({
|
|
161
161
|
x: y[0].slice(),
|
|
162
162
|
fx: y[0].fx,
|
|
163
|
-
simplex:
|
|
163
|
+
simplex: p
|
|
164
164
|
});
|
|
165
165
|
}
|
|
166
166
|
f = 0;
|
|
167
|
-
for (let
|
|
168
|
-
if (Math.abs(y[0].fx - y[m].fx) <
|
|
169
|
-
for (let
|
|
170
|
-
d[
|
|
171
|
-
for (let
|
|
172
|
-
d[
|
|
167
|
+
for (let p = 0; p < m; ++p) f = Math.max(f, Math.abs(y[0][p] - y[1][p]));
|
|
168
|
+
if (Math.abs(y[0].fx - y[m].fx) < o && f < h) break;
|
|
169
|
+
for (let p = 0; p < m; ++p) {
|
|
170
|
+
d[p] = 0;
|
|
171
|
+
for (let M = 0; M < m; ++M) d[p] += y[M][p];
|
|
172
|
+
d[p] /= m;
|
|
173
173
|
}
|
|
174
174
|
let l = y[m];
|
|
175
|
-
if (H(
|
|
176
|
-
else if (
|
|
177
|
-
let
|
|
178
|
-
if (
|
|
179
|
-
if (
|
|
180
|
-
for (let
|
|
175
|
+
if (H(v, 1 + c, d, -c, l), v.fx = t(v), v.fx < y[0].fx) H(x, 1 + a, d, -a, l), x.fx = t(x), x.fx < v.fx ? _(x) : _(v);
|
|
176
|
+
else if (v.fx >= y[m - 1].fx) {
|
|
177
|
+
let p = !1;
|
|
178
|
+
if (v.fx > l.fx ? (H(b, 1 + u, d, -u, l), b.fx = t(b), b.fx < l.fx ? _(b) : p = !0) : (H(b, 1 - u * c, d, u * c, l), b.fx = t(b), b.fx < v.fx ? _(b) : p = !0), p) {
|
|
179
|
+
if (g >= 1) break;
|
|
180
|
+
for (let M = 1; M < y.length; ++M) H(y[M], 1 - g, y[0], g, y[M]), y[M].fx = t(y[M]);
|
|
181
181
|
}
|
|
182
|
-
} else _(
|
|
182
|
+
} else _(v);
|
|
183
183
|
}
|
|
184
184
|
return y.sort(E), {
|
|
185
185
|
fx: y[0].fx,
|
|
186
186
|
x: y[0]
|
|
187
187
|
};
|
|
188
188
|
}
|
|
189
|
-
function he(t, n, s, e, i, r,
|
|
190
|
-
let
|
|
191
|
-
i
|
|
189
|
+
function he(t, n, s, e, i, r, o) {
|
|
190
|
+
let h = s.fx, c = J(s.fxprime, n), a = h, u = h, g = c, f = 0;
|
|
191
|
+
i ||= 1, r ||= 1e-6, o ||= 0.1;
|
|
192
192
|
function m(y, _, E) {
|
|
193
|
-
for (let d = 0; d < 16; ++d) if (i = (y + _) / 2, H(e.x, 1, s.x, i, n),
|
|
193
|
+
for (let d = 0; d < 16; ++d) if (i = (y + _) / 2, H(e.x, 1, s.x, i, n), a = e.fx = t(e.x, e.fxprime), g = J(e.fxprime, n), a > h + r * i * c || a >= E) _ = i;
|
|
194
194
|
else {
|
|
195
|
-
if (Math.abs(
|
|
196
|
-
|
|
195
|
+
if (Math.abs(g) <= -o * c) return i;
|
|
196
|
+
g * (_ - y) >= 0 && (_ = y), y = i, E = a;
|
|
197
197
|
}
|
|
198
198
|
return 0;
|
|
199
199
|
}
|
|
200
200
|
for (let y = 0; y < 10; ++y) {
|
|
201
|
-
if (H(e.x, 1, s.x, i, n),
|
|
202
|
-
if (Math.abs(
|
|
203
|
-
if (
|
|
204
|
-
u =
|
|
201
|
+
if (H(e.x, 1, s.x, i, n), a = e.fx = t(e.x, e.fxprime), g = J(e.fxprime, n), a > h + r * i * c || y && a >= u) return m(f, i, u);
|
|
202
|
+
if (Math.abs(g) <= -o * c) return i;
|
|
203
|
+
if (g >= 0) return m(i, f, a);
|
|
204
|
+
u = a, f = i, i *= 2;
|
|
205
205
|
}
|
|
206
206
|
return i;
|
|
207
207
|
}
|
|
@@ -214,19 +214,19 @@ function ue(t, n, s) {
|
|
|
214
214
|
x: n.slice(),
|
|
215
215
|
fx: 0,
|
|
216
216
|
fxprime: n.slice()
|
|
217
|
-
}, r = n.slice(),
|
|
218
|
-
s
|
|
219
|
-
for (let u = 0; u <
|
|
220
|
-
if (c = he(t,
|
|
217
|
+
}, r = n.slice(), o, h, c = 1, a;
|
|
218
|
+
s ||= {}, a = s.maxIterations || n.length * 20, e.fx = t(e.x, e.fxprime), o = e.fxprime.slice(), ut(o, e.fxprime, -1);
|
|
219
|
+
for (let u = 0; u < a; ++u) {
|
|
220
|
+
if (c = he(t, o, e, i, c), s.history && s.history.push({
|
|
221
221
|
x: e.x.slice(),
|
|
222
222
|
fx: e.fx,
|
|
223
223
|
fxprime: e.fxprime.slice(),
|
|
224
224
|
alpha: c
|
|
225
|
-
}), !c) ut(
|
|
225
|
+
}), !c) ut(o, e.fxprime, -1);
|
|
226
226
|
else {
|
|
227
227
|
H(r, 1, i.fxprime, -1, e.fxprime);
|
|
228
|
-
let
|
|
229
|
-
H(
|
|
228
|
+
let g = J(e.fxprime, e.fxprime), f = Math.max(0, J(r, i.fxprime) / g);
|
|
229
|
+
H(o, f, o, -1, i.fxprime), h = e, e = i, i = h;
|
|
230
230
|
}
|
|
231
231
|
if (ht(e.fxprime) <= 1e-5) break;
|
|
232
232
|
}
|
|
@@ -239,23 +239,23 @@ function ue(t, n, s) {
|
|
|
239
239
|
}
|
|
240
240
|
function At(t, n = {}) {
|
|
241
241
|
n.maxIterations = n.maxIterations || 500;
|
|
242
|
-
let s = n.initialLayout || ye, e = n.lossFunction ||
|
|
243
|
-
for (let
|
|
244
|
-
let c = Tt((
|
|
242
|
+
let s = n.initialLayout || ye, e = n.lossFunction || Q, i = ce(t, n), r = s(i, n), o = Object.keys(r), h = [];
|
|
243
|
+
for (let a of o) h.push(r[a].x), h.push(r[a].y);
|
|
244
|
+
let c = Tt((a) => {
|
|
245
245
|
let u = {};
|
|
246
|
-
for (let
|
|
247
|
-
let f =
|
|
246
|
+
for (let g = 0; g < o.length; ++g) {
|
|
247
|
+
let f = o[g];
|
|
248
248
|
u[f] = {
|
|
249
|
-
x:
|
|
250
|
-
y:
|
|
249
|
+
x: a[2 * g],
|
|
250
|
+
y: a[2 * g + 1],
|
|
251
251
|
radius: r[f].radius
|
|
252
252
|
};
|
|
253
253
|
}
|
|
254
254
|
return e(u, i);
|
|
255
|
-
},
|
|
256
|
-
for (let
|
|
257
|
-
let u = a
|
|
258
|
-
r[u].x = c[2 *
|
|
255
|
+
}, h, n).x;
|
|
256
|
+
for (let a = 0; a < o.length; ++a) {
|
|
257
|
+
let u = o[a];
|
|
258
|
+
r[u].x = c[2 * a], r[u].y = c[2 * a + 1];
|
|
259
259
|
}
|
|
260
260
|
return r;
|
|
261
261
|
}
|
|
@@ -264,34 +264,34 @@ function ct(t, n, s) {
|
|
|
264
264
|
return Math.min(t, n) * Math.min(t, n) * Math.PI <= s + $t ? Math.abs(t - n) : oe((e) => yt(t, n, e) - s, 0, t + n);
|
|
265
265
|
}
|
|
266
266
|
function ce(t, n = {}) {
|
|
267
|
-
let s = n.distinct, e = t.map((
|
|
268
|
-
function i(
|
|
269
|
-
return
|
|
267
|
+
let s = n.distinct, e = t.map((h) => Object.assign({}, h));
|
|
268
|
+
function i(h) {
|
|
269
|
+
return h.join(";");
|
|
270
270
|
}
|
|
271
271
|
if (s) {
|
|
272
|
-
let
|
|
273
|
-
for (let c of e) for (let
|
|
274
|
-
let u = String(c.sets[
|
|
275
|
-
|
|
276
|
-
for (let
|
|
277
|
-
let f = String(c.sets[
|
|
278
|
-
|
|
272
|
+
let h = /* @__PURE__ */ new Map();
|
|
273
|
+
for (let c of e) for (let a = 0; a < c.sets.length; a++) {
|
|
274
|
+
let u = String(c.sets[a]);
|
|
275
|
+
h.set(u, c.size + (h.get(u) || 0));
|
|
276
|
+
for (let g = a + 1; g < c.sets.length; g++) {
|
|
277
|
+
let f = String(c.sets[g]), m = `${u};${f}`, y = `${f};${u}`;
|
|
278
|
+
h.set(m, c.size + (h.get(m) || 0)), h.set(y, c.size + (h.get(y) || 0));
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
|
-
for (let c of e) c.sets.length < 3 && (c.size =
|
|
281
|
+
for (let c of e) c.sets.length < 3 && (c.size = h.get(i(c.sets)));
|
|
282
282
|
}
|
|
283
|
-
let r = [],
|
|
284
|
-
for (let
|
|
285
|
-
else if (
|
|
286
|
-
let c =
|
|
287
|
-
|
|
283
|
+
let r = [], o = /* @__PURE__ */ new Set();
|
|
284
|
+
for (let h of e) if (h.sets.length === 1) r.push(h.sets[0]);
|
|
285
|
+
else if (h.sets.length === 2) {
|
|
286
|
+
let c = h.sets[0], a = h.sets[1];
|
|
287
|
+
o.add(i(h.sets)), o.add(i([a, c]));
|
|
288
288
|
}
|
|
289
|
-
r.sort((
|
|
290
|
-
for (let
|
|
291
|
-
let c = r[
|
|
292
|
-
for (let
|
|
293
|
-
let u = r[
|
|
294
|
-
|
|
289
|
+
r.sort((h, c) => h === c ? 0 : h < c ? -1 : 1);
|
|
290
|
+
for (let h = 0; h < r.length; ++h) {
|
|
291
|
+
let c = r[h];
|
|
292
|
+
for (let a = h + 1; a < r.length; ++a) {
|
|
293
|
+
let u = r[a];
|
|
294
|
+
o.has(i([c, u])) || e.push({
|
|
295
295
|
sets: [c, u],
|
|
296
296
|
size: 0
|
|
297
297
|
});
|
|
@@ -302,10 +302,10 @@ function ce(t, n = {}) {
|
|
|
302
302
|
function fe(t, n, s) {
|
|
303
303
|
let e = kt(n.length, n.length), i = kt(n.length, n.length);
|
|
304
304
|
return t.filter((r) => r.sets.length === 2).forEach((r) => {
|
|
305
|
-
let
|
|
306
|
-
e[
|
|
307
|
-
let
|
|
308
|
-
r.size + 1e-10 >= Math.min(n[
|
|
305
|
+
let o = s[r.sets[0]], h = s[r.sets[1]], c = ct(Math.sqrt(n[o].size / Math.PI), Math.sqrt(n[h].size / Math.PI), r.size);
|
|
306
|
+
e[o][h] = e[h][o] = c;
|
|
307
|
+
let a = 0;
|
|
308
|
+
r.size + 1e-10 >= Math.min(n[o].size, n[h].size) ? a = 1 : r.size <= 1e-10 && (a = -1), i[o][h] = i[h][o] = a;
|
|
309
309
|
}), {
|
|
310
310
|
distances: e,
|
|
311
311
|
constraints: i
|
|
@@ -315,144 +315,144 @@ function de(t, n, s, e) {
|
|
|
315
315
|
for (let r = 0; r < n.length; ++r) n[r] = 0;
|
|
316
316
|
let i = 0;
|
|
317
317
|
for (let r = 0; r < s.length; ++r) {
|
|
318
|
-
let
|
|
318
|
+
let o = t[2 * r], h = t[2 * r + 1];
|
|
319
319
|
for (let c = r + 1; c < s.length; ++c) {
|
|
320
|
-
let
|
|
321
|
-
f > 0 && y <=
|
|
320
|
+
let a = t[2 * c], u = t[2 * c + 1], g = s[r][c], f = e[r][c], m = (a - o) * (a - o) + (u - h) * (u - h), y = Math.sqrt(m), _ = m - g * g;
|
|
321
|
+
f > 0 && y <= g || f < 0 && y >= g || (i += 2 * _ * _, n[2 * r] += 4 * _ * (o - a), n[2 * r + 1] += 4 * _ * (h - u), n[2 * c] += 4 * _ * (a - o), n[2 * c + 1] += 4 * _ * (u - h));
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
324
|
return i;
|
|
325
325
|
}
|
|
326
326
|
function ye(t, n = {}) {
|
|
327
|
-
let s = xe(t, n), e = n.lossFunction ||
|
|
327
|
+
let s = xe(t, n), e = n.lossFunction || Q;
|
|
328
328
|
if (t.length >= 8) {
|
|
329
|
-
let i = ge(t, n), r = e(i, t),
|
|
330
|
-
r + 1e-8 <
|
|
329
|
+
let i = ge(t, n), r = e(i, t), o = e(s, t);
|
|
330
|
+
r + 1e-8 < o && (s = i);
|
|
331
331
|
}
|
|
332
332
|
return s;
|
|
333
333
|
}
|
|
334
334
|
function ge(t, n = {}) {
|
|
335
335
|
let s = n.restarts || 10, e = [], i = {};
|
|
336
336
|
for (let f of t) f.sets.length === 1 && (i[f.sets[0]] = e.length, e.push(f));
|
|
337
|
-
let { distances: r, constraints:
|
|
338
|
-
r = r.map((f) => f.map((m) => m /
|
|
339
|
-
let c = (f, m) => de(f, m, r,
|
|
337
|
+
let { distances: r, constraints: o } = fe(t, e, i), h = ht(r.map(ht)) / r.length;
|
|
338
|
+
r = r.map((f) => f.map((m) => m / h));
|
|
339
|
+
let c = (f, m) => de(f, m, r, o), a = null;
|
|
340
340
|
for (let f = 0; f < s; ++f) {
|
|
341
341
|
let m = ue(c, ot(r.length * 2).map(Math.random), n);
|
|
342
|
-
(!
|
|
342
|
+
(!a || m.fx < a.fx) && (a = m);
|
|
343
343
|
}
|
|
344
|
-
let u =
|
|
344
|
+
let u = a.x, g = {};
|
|
345
345
|
for (let f = 0; f < e.length; ++f) {
|
|
346
346
|
let m = e[f];
|
|
347
|
-
|
|
348
|
-
x: u[2 * f] *
|
|
349
|
-
y: u[2 * f + 1] *
|
|
347
|
+
g[m.sets[0]] = {
|
|
348
|
+
x: u[2 * f] * h,
|
|
349
|
+
y: u[2 * f + 1] * h,
|
|
350
350
|
radius: Math.sqrt(m.size / Math.PI)
|
|
351
351
|
};
|
|
352
352
|
}
|
|
353
|
-
if (n.history) for (let f of n.history) ut(f.x,
|
|
354
|
-
return
|
|
353
|
+
if (n.history) for (let f of n.history) ut(f.x, h);
|
|
354
|
+
return g;
|
|
355
355
|
}
|
|
356
356
|
function xe(t, n) {
|
|
357
|
-
let s = n && n.lossFunction ? n.lossFunction :
|
|
358
|
-
for (let
|
|
359
|
-
let f =
|
|
357
|
+
let s = n && n.lossFunction ? n.lossFunction : Q, e = {}, i = {};
|
|
358
|
+
for (let g of t) if (g.sets.length === 1) {
|
|
359
|
+
let f = g.sets[0];
|
|
360
360
|
e[f] = {
|
|
361
361
|
x: 1e10,
|
|
362
362
|
y: 1e10,
|
|
363
363
|
rowid: e.length,
|
|
364
|
-
size:
|
|
365
|
-
radius: Math.sqrt(
|
|
364
|
+
size: g.size,
|
|
365
|
+
radius: Math.sqrt(g.size / Math.PI)
|
|
366
366
|
}, i[f] = [];
|
|
367
367
|
}
|
|
368
|
-
t = t.filter((
|
|
369
|
-
for (let
|
|
370
|
-
let f =
|
|
371
|
-
|
|
368
|
+
t = t.filter((g) => g.sets.length === 2);
|
|
369
|
+
for (let g of t) {
|
|
370
|
+
let f = g.weight == null ? 1 : g.weight, m = g.sets[0], y = g.sets[1];
|
|
371
|
+
g.size + $t >= Math.min(e[m].size, e[y].size) && (f = 0), i[m].push({
|
|
372
372
|
set: y,
|
|
373
|
-
size:
|
|
373
|
+
size: g.size,
|
|
374
374
|
weight: f
|
|
375
375
|
}), i[y].push({
|
|
376
376
|
set: m,
|
|
377
|
-
size:
|
|
377
|
+
size: g.size,
|
|
378
378
|
weight: f
|
|
379
379
|
});
|
|
380
380
|
}
|
|
381
381
|
let r = [];
|
|
382
|
-
Object.keys(i).forEach((
|
|
382
|
+
Object.keys(i).forEach((g) => {
|
|
383
383
|
let f = 0;
|
|
384
|
-
for (let m = 0; m < i[
|
|
384
|
+
for (let m = 0; m < i[g].length; ++m) f += i[g][m].size * i[g][m].weight;
|
|
385
385
|
r.push({
|
|
386
|
-
set:
|
|
386
|
+
set: g,
|
|
387
387
|
size: f
|
|
388
388
|
});
|
|
389
389
|
});
|
|
390
|
-
function
|
|
391
|
-
return f.size -
|
|
390
|
+
function o(g, f) {
|
|
391
|
+
return f.size - g.size;
|
|
392
392
|
}
|
|
393
|
-
r.sort(
|
|
394
|
-
let
|
|
395
|
-
function c(
|
|
396
|
-
return
|
|
393
|
+
r.sort(o);
|
|
394
|
+
let h = {};
|
|
395
|
+
function c(g) {
|
|
396
|
+
return g.set in h;
|
|
397
397
|
}
|
|
398
|
-
function
|
|
399
|
-
e[f].x =
|
|
398
|
+
function a(g, f) {
|
|
399
|
+
e[f].x = g.x, e[f].y = g.y, h[f] = !0;
|
|
400
400
|
}
|
|
401
|
-
|
|
401
|
+
a({
|
|
402
402
|
x: 0,
|
|
403
403
|
y: 0
|
|
404
404
|
}, r[0].set);
|
|
405
|
-
for (let
|
|
406
|
-
let f = r[
|
|
407
|
-
if (m.sort(
|
|
405
|
+
for (let g = 1; g < r.length; ++g) {
|
|
406
|
+
let f = r[g].set, m = i[f].filter(c), y = e[f];
|
|
407
|
+
if (m.sort(o), m.length === 0) throw "ERROR: missing pairwise overlap information";
|
|
408
408
|
let _ = [];
|
|
409
409
|
for (var u = 0; u < m.length; ++u) {
|
|
410
|
-
let
|
|
410
|
+
let v = e[m[u].set], b = ct(y.radius, v.radius, m[u].size);
|
|
411
411
|
_.push({
|
|
412
|
-
x:
|
|
413
|
-
y:
|
|
412
|
+
x: v.x + b,
|
|
413
|
+
y: v.y
|
|
414
414
|
}), _.push({
|
|
415
|
-
x:
|
|
416
|
-
y:
|
|
415
|
+
x: v.x - b,
|
|
416
|
+
y: v.y
|
|
417
417
|
}), _.push({
|
|
418
|
-
y:
|
|
419
|
-
x:
|
|
418
|
+
y: v.y + b,
|
|
419
|
+
x: v.x
|
|
420
420
|
}), _.push({
|
|
421
|
-
y:
|
|
422
|
-
x:
|
|
421
|
+
y: v.y - b,
|
|
422
|
+
x: v.x
|
|
423
423
|
});
|
|
424
|
-
for (let
|
|
425
|
-
let
|
|
426
|
-
x:
|
|
427
|
-
y:
|
|
428
|
-
radius:
|
|
424
|
+
for (let x = u + 1; x < m.length; ++x) {
|
|
425
|
+
let I = e[m[x].set], l = ct(y.radius, I.radius, m[x].size), p = St({
|
|
426
|
+
x: v.x,
|
|
427
|
+
y: v.y,
|
|
428
|
+
radius: b
|
|
429
429
|
}, {
|
|
430
|
-
x:
|
|
431
|
-
y:
|
|
430
|
+
x: I.x,
|
|
431
|
+
y: I.y,
|
|
432
432
|
radius: l
|
|
433
433
|
});
|
|
434
|
-
_.push(...
|
|
434
|
+
_.push(...p);
|
|
435
435
|
}
|
|
436
436
|
}
|
|
437
437
|
let E = 1e50, d = _[0];
|
|
438
|
-
for (let
|
|
439
|
-
e[f].x =
|
|
440
|
-
let
|
|
441
|
-
|
|
438
|
+
for (let v of _) {
|
|
439
|
+
e[f].x = v.x, e[f].y = v.y;
|
|
440
|
+
let b = s(e, t);
|
|
441
|
+
b < E && (E = b, d = v);
|
|
442
442
|
}
|
|
443
|
-
|
|
443
|
+
a(d, f);
|
|
444
444
|
}
|
|
445
445
|
return e;
|
|
446
446
|
}
|
|
447
|
-
function
|
|
447
|
+
function Q(t, n) {
|
|
448
448
|
let s = 0;
|
|
449
449
|
for (let e of n) {
|
|
450
450
|
if (e.sets.length === 1) continue;
|
|
451
451
|
let i;
|
|
452
452
|
if (e.sets.length === 2) {
|
|
453
|
-
let
|
|
454
|
-
i = yt(
|
|
455
|
-
} else i = nt(e.sets.map((
|
|
453
|
+
let o = t[e.sets[0]], h = t[e.sets[1]];
|
|
454
|
+
i = yt(o.radius, h.radius, q(o, h));
|
|
455
|
+
} else i = nt(e.sets.map((o) => t[o]));
|
|
456
456
|
let r = e.weight == null ? 1 : e.weight;
|
|
457
457
|
s += r * (i - e.size) * (i - e.size);
|
|
458
458
|
}
|
|
@@ -464,24 +464,24 @@ function Rt(t, n) {
|
|
|
464
464
|
if (e.sets.length === 1) continue;
|
|
465
465
|
let i;
|
|
466
466
|
if (e.sets.length === 2) {
|
|
467
|
-
let
|
|
468
|
-
i = yt(
|
|
469
|
-
} else i = nt(e.sets.map((
|
|
470
|
-
let r = e.weight == null ? 1 : e.weight,
|
|
471
|
-
s += r *
|
|
467
|
+
let h = t[e.sets[0]], c = t[e.sets[1]];
|
|
468
|
+
i = yt(h.radius, c.radius, q(h, c));
|
|
469
|
+
} else i = nt(e.sets.map((h) => t[h]));
|
|
470
|
+
let r = e.weight == null ? 1 : e.weight, o = Math.log((i + 1) / (e.size + 1));
|
|
471
|
+
s += r * o * o;
|
|
472
472
|
}
|
|
473
473
|
return s;
|
|
474
474
|
}
|
|
475
475
|
function pe(t, n, s) {
|
|
476
476
|
if (s == null ? t.sort((i, r) => r.radius - i.radius) : t.sort(s), t.length > 0) {
|
|
477
477
|
let i = t[0].x, r = t[0].y;
|
|
478
|
-
for (let
|
|
478
|
+
for (let o of t) o.x -= i, o.y -= r;
|
|
479
479
|
}
|
|
480
|
-
if (t.length === 2 &&
|
|
481
|
-
let i = Math.atan2(t[1].x, t[1].y) - n, r = Math.cos(i),
|
|
482
|
-
for (let
|
|
483
|
-
let c =
|
|
484
|
-
|
|
480
|
+
if (t.length === 2 && q(t[0], t[1]) < Math.abs(t[1].radius - t[0].radius) && (t[1].x = t[0].x + t[0].radius - t[1].radius - 1e-10, t[1].y = t[0].y), t.length > 1) {
|
|
481
|
+
let i = Math.atan2(t[1].x, t[1].y) - n, r = Math.cos(i), o = Math.sin(i);
|
|
482
|
+
for (let h of t) {
|
|
483
|
+
let c = h.x, a = h.y;
|
|
484
|
+
h.x = r * c - o * a, h.y = o * c + r * a;
|
|
485
485
|
}
|
|
486
486
|
}
|
|
487
487
|
if (t.length > 2) {
|
|
@@ -490,9 +490,9 @@ function pe(t, n, s) {
|
|
|
490
490
|
for (; i > 2 * Math.PI; ) i -= 2 * Math.PI;
|
|
491
491
|
if (i > Math.PI) {
|
|
492
492
|
let r = t[1].y / (1e-10 + t[1].x);
|
|
493
|
-
for (let
|
|
494
|
-
var e = (
|
|
495
|
-
|
|
493
|
+
for (let o of t) {
|
|
494
|
+
var e = (o.x + r * o.y) / (1 + r * r);
|
|
495
|
+
o.x = 2 * e - o.x, o.y = 2 * e * r - o.y;
|
|
496
496
|
}
|
|
497
497
|
}
|
|
498
498
|
}
|
|
@@ -505,12 +505,12 @@ function me(t) {
|
|
|
505
505
|
return i.parent !== i && (i.parent = n(i.parent)), i.parent;
|
|
506
506
|
}
|
|
507
507
|
function s(i, r) {
|
|
508
|
-
let
|
|
509
|
-
|
|
508
|
+
let o = n(i);
|
|
509
|
+
o.parent = n(r);
|
|
510
510
|
}
|
|
511
511
|
for (let i = 0; i < t.length; ++i) for (let r = i + 1; r < t.length; ++r) {
|
|
512
|
-
let
|
|
513
|
-
|
|
512
|
+
let o = t[i].radius + t[r].radius;
|
|
513
|
+
q(t[i], t[r]) + 1e-10 < o && s(t[r], t[i]);
|
|
514
514
|
}
|
|
515
515
|
let e = /* @__PURE__ */ new Map();
|
|
516
516
|
for (let i = 0; i < t.length; ++i) {
|
|
@@ -532,51 +532,51 @@ function ft(t) {
|
|
|
532
532
|
};
|
|
533
533
|
}
|
|
534
534
|
function Nt(t, n, s) {
|
|
535
|
-
n
|
|
536
|
-
let e = Ot(t).map((
|
|
537
|
-
for (let
|
|
538
|
-
pe(
|
|
539
|
-
let u = ft(
|
|
540
|
-
|
|
535
|
+
n ??= Math.PI / 2;
|
|
536
|
+
let e = Ot(t).map((a) => Object.assign({}, a)), i = me(e);
|
|
537
|
+
for (let a of i) {
|
|
538
|
+
pe(a, n, s);
|
|
539
|
+
let u = ft(a);
|
|
540
|
+
a.size = (u.xRange.max - u.xRange.min) * (u.yRange.max - u.yRange.min), a.bounds = u;
|
|
541
541
|
}
|
|
542
|
-
i.sort((
|
|
543
|
-
let r = e.bounds,
|
|
544
|
-
function
|
|
545
|
-
if (!
|
|
546
|
-
let f =
|
|
547
|
-
if (u) m = r.xRange.max - f.xRange.min +
|
|
542
|
+
i.sort((a, u) => u.size - a.size), e = i[0];
|
|
543
|
+
let r = e.bounds, o = (r.xRange.max - r.xRange.min) / 50;
|
|
544
|
+
function h(a, u, g) {
|
|
545
|
+
if (!a) return;
|
|
546
|
+
let f = a.bounds, m, y;
|
|
547
|
+
if (u) m = r.xRange.max - f.xRange.min + o;
|
|
548
548
|
else {
|
|
549
549
|
m = r.xRange.max - f.xRange.max;
|
|
550
550
|
let _ = (f.xRange.max - f.xRange.min) / 2 - (r.xRange.max - r.xRange.min) / 2;
|
|
551
551
|
_ < 0 && (m += _);
|
|
552
552
|
}
|
|
553
|
-
if (
|
|
553
|
+
if (g) y = r.yRange.max - f.yRange.min + o;
|
|
554
554
|
else {
|
|
555
555
|
y = r.yRange.max - f.yRange.max;
|
|
556
556
|
let _ = (f.yRange.max - f.yRange.min) / 2 - (r.yRange.max - r.yRange.min) / 2;
|
|
557
557
|
_ < 0 && (y += _);
|
|
558
558
|
}
|
|
559
|
-
for (let _ of
|
|
559
|
+
for (let _ of a) _.x += m, _.y += y, e.push(_);
|
|
560
560
|
}
|
|
561
561
|
let c = 1;
|
|
562
|
-
for (; c < i.length; )
|
|
562
|
+
for (; c < i.length; ) h(i[c], !0, !1), h(i[c + 1], !1, !0), h(i[c + 2], !0, !0), c += 3, r = ft(e);
|
|
563
563
|
return Ft(e);
|
|
564
564
|
}
|
|
565
565
|
function Dt(t, n, s, e, i) {
|
|
566
566
|
let r = Ot(t);
|
|
567
567
|
n -= 2 * e, s -= 2 * e;
|
|
568
|
-
let { xRange:
|
|
569
|
-
if (
|
|
570
|
-
let c,
|
|
568
|
+
let { xRange: o, yRange: h } = ft(r);
|
|
569
|
+
if (o.max === o.min || h.max === h.min) return console.log("not scaling solution: zero size detected"), t;
|
|
570
|
+
let c, a;
|
|
571
571
|
if (i) {
|
|
572
572
|
let m = Math.sqrt(i / Math.PI) * 2;
|
|
573
|
-
c = n / m,
|
|
574
|
-
} else c = n / (
|
|
575
|
-
let u = Math.min(
|
|
573
|
+
c = n / m, a = s / m;
|
|
574
|
+
} else c = n / (o.max - o.min), a = s / (h.max - h.min);
|
|
575
|
+
let u = Math.min(a, c), g = (n - (o.max - o.min) * u) / 2, f = (s - (h.max - h.min) * u) / 2;
|
|
576
576
|
return Ft(r.map((m) => ({
|
|
577
577
|
radius: u * m.radius,
|
|
578
|
-
x: e +
|
|
579
|
-
y: e + f + (m.y -
|
|
578
|
+
x: e + g + (m.x - o.min) * u,
|
|
579
|
+
y: e + f + (m.y - h.min) * u,
|
|
580
580
|
setid: m.setid
|
|
581
581
|
})));
|
|
582
582
|
}
|
|
@@ -589,7 +589,7 @@ function Ot(t) {
|
|
|
589
589
|
return Object.keys(t).map((n) => Object.assign(t[n], { setid: n }));
|
|
590
590
|
}
|
|
591
591
|
function be(t = {}) {
|
|
592
|
-
let n = !1, s = 600, e = 350, i = 15, r = 1e3,
|
|
592
|
+
let n = !1, s = 600, e = 350, i = 15, r = 1e3, o = Math.PI / 2, h = !0, c = null, a = !0, u = !0, g = null, f = null, m = !1, y = null, _ = t && t.symmetricalTextCentre ? t.symmetricalTextCentre : !1, E = {}, d = t && t.colourScheme ? t.colourScheme : t && t.colorScheme ? t.colorScheme : [
|
|
593
593
|
"#1f77b4",
|
|
594
594
|
"#ff7f0e",
|
|
595
595
|
"#2ca02c",
|
|
@@ -600,146 +600,146 @@ function be(t = {}) {
|
|
|
600
600
|
"#7f7f7f",
|
|
601
601
|
"#bcbd22",
|
|
602
602
|
"#17becf"
|
|
603
|
-
],
|
|
604
|
-
if (
|
|
605
|
-
var
|
|
606
|
-
return
|
|
607
|
-
},
|
|
608
|
-
function l(
|
|
609
|
-
let
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
}),
|
|
613
|
-
let
|
|
614
|
-
if (
|
|
615
|
-
let
|
|
616
|
-
lossFunction:
|
|
603
|
+
], v = 0, b = function(p) {
|
|
604
|
+
if (p in E) return E[p];
|
|
605
|
+
var M = E[p] = d[v];
|
|
606
|
+
return v += 1, v >= d.length && (v = 0), M;
|
|
607
|
+
}, x = At, I = Q;
|
|
608
|
+
function l(p) {
|
|
609
|
+
let M = p.datum(), z = /* @__PURE__ */ new Set();
|
|
610
|
+
M.forEach((k) => {
|
|
611
|
+
k.size == 0 && k.sets.length == 1 && z.add(k.sets[0]);
|
|
612
|
+
}), M = M.filter((k) => !k.sets.some((P) => z.has(P)));
|
|
613
|
+
let R = {}, D = {};
|
|
614
|
+
if (M.length > 0) {
|
|
615
|
+
let k = x(M, {
|
|
616
|
+
lossFunction: I,
|
|
617
617
|
distinct: m
|
|
618
618
|
});
|
|
619
|
-
|
|
619
|
+
h && (k = Nt(k, o, f)), R = Dt(k, s, e, i, c), D = Pt(R, M, _);
|
|
620
620
|
}
|
|
621
|
-
let
|
|
622
|
-
|
|
623
|
-
|
|
621
|
+
let U = {};
|
|
622
|
+
M.forEach((k) => {
|
|
623
|
+
k.label && (U[k.sets] = k.label);
|
|
624
624
|
});
|
|
625
|
-
function
|
|
626
|
-
if (
|
|
627
|
-
if (
|
|
625
|
+
function T(k) {
|
|
626
|
+
if (k.sets in U) return U[k.sets];
|
|
627
|
+
if (k.sets.length == 1) return "" + k.sets[0];
|
|
628
628
|
}
|
|
629
|
-
|
|
630
|
-
let
|
|
631
|
-
n ?
|
|
632
|
-
let
|
|
633
|
-
|
|
634
|
-
let
|
|
635
|
-
|
|
629
|
+
p.selectAll("svg").data([R]).enter().append("svg");
|
|
630
|
+
let A = p.select("svg");
|
|
631
|
+
n ? A.attr("viewBox", `0 0 ${s} ${e}`) : A.attr("width", s).attr("height", e);
|
|
632
|
+
let S = {}, N = !1;
|
|
633
|
+
A.selectAll(".venn-area path").each(function(k) {
|
|
634
|
+
let P = this.getAttribute("d");
|
|
635
|
+
k.sets.length == 1 && P && !m && (N = !0, S[k.sets[0]] = Ie(P));
|
|
636
636
|
});
|
|
637
|
-
function
|
|
638
|
-
return (
|
|
639
|
-
let
|
|
640
|
-
return
|
|
637
|
+
function F(k) {
|
|
638
|
+
return (P) => _t(k.sets.map((W) => {
|
|
639
|
+
let Z = S[W], X = R[W];
|
|
640
|
+
return Z ||= {
|
|
641
641
|
x: s / 2,
|
|
642
642
|
y: e / 2,
|
|
643
643
|
radius: 1
|
|
644
|
-
}
|
|
644
|
+
}, X ||= {
|
|
645
645
|
x: s / 2,
|
|
646
646
|
y: e / 2,
|
|
647
647
|
radius: 1
|
|
648
|
-
}
|
|
649
|
-
x:
|
|
650
|
-
y:
|
|
651
|
-
radius:
|
|
648
|
+
}, {
|
|
649
|
+
x: Z.x * (1 - P) + X.x * P,
|
|
650
|
+
y: Z.y * (1 - P) + X.y * P,
|
|
651
|
+
radius: Z.radius * (1 - P) + X.radius * P
|
|
652
652
|
};
|
|
653
653
|
}), y);
|
|
654
654
|
}
|
|
655
|
-
let
|
|
656
|
-
u && (
|
|
657
|
-
function
|
|
658
|
-
return typeof
|
|
655
|
+
let $ = A.selectAll(".venn-area").data(M, (k) => k.sets), G = $.enter().append("g").attr("class", (k) => `venn-area venn-${k.sets.length == 1 ? "circle" : "intersection"}${k.colour || k.color ? " venn-coloured" : ""}`).attr("data-venn-sets", (k) => k.sets.join("_")), K = G.append("path"), B = G.append("text").attr("class", "label").text((k) => T(k)).attr("text-anchor", "middle").attr("dy", ".35em").attr("x", s / 2).attr("y", e / 2);
|
|
656
|
+
u && (K.style("fill-opacity", "0").filter((k) => k.sets.length == 1).style("fill", (k) => k.colour ? k.colour : k.color ? k.color : b(k.sets)).style("fill-opacity", ".25"), B.style("fill", (k) => k.colour || k.color ? "#FFF" : t.textFill ? t.textFill : k.sets.length == 1 ? b(k.sets) : "#444"));
|
|
657
|
+
function O(k) {
|
|
658
|
+
return typeof k.transition == "function" ? k.transition("venn").duration(r) : k;
|
|
659
659
|
}
|
|
660
|
-
let
|
|
661
|
-
|
|
662
|
-
let L =
|
|
663
|
-
|
|
664
|
-
let
|
|
665
|
-
typeof
|
|
666
|
-
let
|
|
667
|
-
return
|
|
668
|
-
circles:
|
|
669
|
-
textCentres:
|
|
670
|
-
nodes:
|
|
671
|
-
enter:
|
|
672
|
-
update:
|
|
673
|
-
exit:
|
|
660
|
+
let j = p;
|
|
661
|
+
N && typeof j.transition == "function" ? (j = O(p), j.selectAll("path").attrTween("d", F)) : j.selectAll("path").attr("d", (k) => _t(k.sets.map((P) => R[P])), y);
|
|
662
|
+
let L = j.selectAll("text").filter((k) => k.sets in D).text((k) => T(k)).attr("x", (k) => Math.floor(D[k.sets].x)).attr("y", (k) => Math.floor(D[k.sets].y));
|
|
663
|
+
a && (N ? "on" in L ? L.on("end", rt(R, T)) : L.each("end", rt(R, T)) : L.each(rt(R, T)));
|
|
664
|
+
let C = O($.exit()).remove();
|
|
665
|
+
typeof $.transition == "function" && C.selectAll("path").attrTween("d", F);
|
|
666
|
+
let tt = C.selectAll("text").attr("x", s / 2).attr("y", e / 2);
|
|
667
|
+
return g !== null && (B.style("font-size", "0px"), L.style("font-size", g), tt.style("font-size", "0px")), {
|
|
668
|
+
circles: R,
|
|
669
|
+
textCentres: D,
|
|
670
|
+
nodes: $,
|
|
671
|
+
enter: G,
|
|
672
|
+
update: j,
|
|
673
|
+
exit: C
|
|
674
674
|
};
|
|
675
675
|
}
|
|
676
|
-
return l.wrap = function(
|
|
677
|
-
return arguments.length ? (
|
|
676
|
+
return l.wrap = function(p) {
|
|
677
|
+
return arguments.length ? (a = p, l) : a;
|
|
678
678
|
}, l.useViewBox = function() {
|
|
679
679
|
return n = !0, l;
|
|
680
|
-
}, l.width = function(
|
|
681
|
-
return arguments.length ? (s =
|
|
682
|
-
}, l.height = function(
|
|
683
|
-
return arguments.length ? (e =
|
|
684
|
-
}, l.padding = function(
|
|
685
|
-
return arguments.length ? (i =
|
|
686
|
-
}, l.distinct = function(
|
|
687
|
-
return arguments.length ? (m =
|
|
688
|
-
}, l.colours = function(
|
|
689
|
-
return arguments.length ? (
|
|
690
|
-
}, l.colors = function(
|
|
691
|
-
return arguments.length ? (
|
|
692
|
-
}, l.fontSize = function(
|
|
693
|
-
return arguments.length ? (
|
|
694
|
-
}, l.round = function(
|
|
695
|
-
return arguments.length ? (y =
|
|
696
|
-
}, l.duration = function(
|
|
697
|
-
return arguments.length ? (r =
|
|
698
|
-
}, l.layoutFunction = function(
|
|
699
|
-
return arguments.length ? (
|
|
700
|
-
}, l.normalize = function(
|
|
701
|
-
return arguments.length ? (
|
|
702
|
-
}, l.scaleToFit = function(
|
|
703
|
-
return arguments.length ? (c =
|
|
704
|
-
}, l.styled = function(
|
|
705
|
-
return arguments.length ? (u =
|
|
706
|
-
}, l.orientation = function(
|
|
707
|
-
return arguments.length ? (
|
|
708
|
-
}, l.orientationOrder = function(
|
|
709
|
-
return arguments.length ? (f =
|
|
710
|
-
}, l.lossFunction = function(
|
|
711
|
-
return arguments.length ? (
|
|
680
|
+
}, l.width = function(p) {
|
|
681
|
+
return arguments.length ? (s = p, l) : s;
|
|
682
|
+
}, l.height = function(p) {
|
|
683
|
+
return arguments.length ? (e = p, l) : e;
|
|
684
|
+
}, l.padding = function(p) {
|
|
685
|
+
return arguments.length ? (i = p, l) : i;
|
|
686
|
+
}, l.distinct = function(p) {
|
|
687
|
+
return arguments.length ? (m = p, l) : m;
|
|
688
|
+
}, l.colours = function(p) {
|
|
689
|
+
return arguments.length ? (b = p, l) : b;
|
|
690
|
+
}, l.colors = function(p) {
|
|
691
|
+
return arguments.length ? (b = p, l) : b;
|
|
692
|
+
}, l.fontSize = function(p) {
|
|
693
|
+
return arguments.length ? (g = p, l) : g;
|
|
694
|
+
}, l.round = function(p) {
|
|
695
|
+
return arguments.length ? (y = p, l) : y;
|
|
696
|
+
}, l.duration = function(p) {
|
|
697
|
+
return arguments.length ? (r = p, l) : r;
|
|
698
|
+
}, l.layoutFunction = function(p) {
|
|
699
|
+
return arguments.length ? (x = p, l) : x;
|
|
700
|
+
}, l.normalize = function(p) {
|
|
701
|
+
return arguments.length ? (h = p, l) : h;
|
|
702
|
+
}, l.scaleToFit = function(p) {
|
|
703
|
+
return arguments.length ? (c = p, l) : c;
|
|
704
|
+
}, l.styled = function(p) {
|
|
705
|
+
return arguments.length ? (u = p, l) : u;
|
|
706
|
+
}, l.orientation = function(p) {
|
|
707
|
+
return arguments.length ? (o = p, l) : o;
|
|
708
|
+
}, l.orientationOrder = function(p) {
|
|
709
|
+
return arguments.length ? (f = p, l) : f;
|
|
710
|
+
}, l.lossFunction = function(p) {
|
|
711
|
+
return arguments.length ? (I = p === "default" ? Q : p === "logRatio" ? Rt : p, l) : I;
|
|
712
712
|
}, l;
|
|
713
713
|
}
|
|
714
714
|
function rt(t, n) {
|
|
715
715
|
return function(s) {
|
|
716
|
-
let e = this, i = t[s.sets[0]].radius || 50, r = n(s) || "",
|
|
716
|
+
let e = this, i = t[s.sets[0]].radius || 50, r = n(s) || "", o = r.split(/\s+/).reverse(), h = (r.length + o.length) / 3, c = o.pop(), a = [c], u = 0, g = 1.1;
|
|
717
717
|
e.textContent = null;
|
|
718
718
|
let f = [];
|
|
719
|
-
function m(
|
|
720
|
-
let
|
|
721
|
-
return
|
|
719
|
+
function m(v) {
|
|
720
|
+
let b = e.ownerDocument.createElementNS(e.namespaceURI, "tspan");
|
|
721
|
+
return b.textContent = v, f.push(b), e.append(b), b;
|
|
722
722
|
}
|
|
723
723
|
let y = m(c);
|
|
724
|
-
for (; c =
|
|
725
|
-
|
|
726
|
-
let
|
|
727
|
-
y.textContent =
|
|
724
|
+
for (; c = o.pop(), c; ) {
|
|
725
|
+
a.push(c);
|
|
726
|
+
let v = a.join(" ");
|
|
727
|
+
y.textContent = v, v.length > h && y.getComputedTextLength() > i && (a.pop(), y.textContent = a.join(" "), a = [c], y = m(c), u++);
|
|
728
728
|
}
|
|
729
|
-
let _ = 0.35 - u *
|
|
730
|
-
f.forEach((
|
|
731
|
-
|
|
729
|
+
let _ = 0.35 - u * g / 2, E = e.getAttribute("x"), d = e.getAttribute("y");
|
|
730
|
+
f.forEach((v, b) => {
|
|
731
|
+
v.setAttribute("x", E), v.setAttribute("y", d), v.setAttribute("dy", `${_ + b * g}em`);
|
|
732
732
|
});
|
|
733
733
|
};
|
|
734
734
|
}
|
|
735
735
|
function lt(t, n, s) {
|
|
736
|
-
let e = n[0].radius -
|
|
736
|
+
let e = n[0].radius - q(n[0], t);
|
|
737
737
|
for (let i = 1; i < n.length; ++i) {
|
|
738
|
-
let r = n[i].radius -
|
|
738
|
+
let r = n[i].radius - q(n[i], t);
|
|
739
739
|
r <= e && (e = r);
|
|
740
740
|
}
|
|
741
741
|
for (let i = 0; i < s.length; ++i) {
|
|
742
|
-
let r =
|
|
742
|
+
let r = q(s[i], t) - s[i].radius;
|
|
743
743
|
r <= e && (e = r);
|
|
744
744
|
}
|
|
745
745
|
return e;
|
|
@@ -764,50 +764,50 @@ function Ct(t, n, s) {
|
|
|
764
764
|
});
|
|
765
765
|
let i = e[0], r = lt(e[0], t, n);
|
|
766
766
|
for (let u = 1; u < e.length; ++u) {
|
|
767
|
-
let
|
|
768
|
-
|
|
767
|
+
let g = lt(e[u], t, n);
|
|
768
|
+
g >= r && (i = e[u], r = g);
|
|
769
769
|
}
|
|
770
|
-
let
|
|
770
|
+
let o = Tt((u) => -1 * lt({
|
|
771
771
|
x: u[0],
|
|
772
772
|
y: u[1]
|
|
773
773
|
}, t, n), [i.x, i.y], {
|
|
774
774
|
maxIterations: 500,
|
|
775
775
|
minErrorDelta: 1e-10
|
|
776
|
-
}).x,
|
|
777
|
-
x: s ? 0 :
|
|
778
|
-
y:
|
|
776
|
+
}).x, h = {
|
|
777
|
+
x: s ? 0 : o[0],
|
|
778
|
+
y: o[1]
|
|
779
779
|
}, c = !0;
|
|
780
|
-
for (let u of t) if (
|
|
780
|
+
for (let u of t) if (q(h, u) > u.radius) {
|
|
781
781
|
c = !1;
|
|
782
782
|
break;
|
|
783
783
|
}
|
|
784
|
-
for (let u of n) if (
|
|
784
|
+
for (let u of n) if (q(h, u) < u.radius) {
|
|
785
785
|
c = !1;
|
|
786
786
|
break;
|
|
787
787
|
}
|
|
788
|
-
if (c) return
|
|
788
|
+
if (c) return h;
|
|
789
789
|
if (t.length == 1) return {
|
|
790
790
|
x: t[0].x,
|
|
791
791
|
y: t[0].y
|
|
792
792
|
};
|
|
793
|
-
let
|
|
794
|
-
return nt(t,
|
|
793
|
+
let a = {};
|
|
794
|
+
return nt(t, a), a.arcs.length === 0 ? {
|
|
795
795
|
x: 0,
|
|
796
796
|
y: -1e3,
|
|
797
797
|
disjoint: !0
|
|
798
|
-
} :
|
|
799
|
-
x:
|
|
800
|
-
y:
|
|
801
|
-
} : n.length ? Ct(t, []) : zt(
|
|
798
|
+
} : a.arcs.length == 1 ? {
|
|
799
|
+
x: a.arcs[0].circle.x,
|
|
800
|
+
y: a.arcs[0].circle.y
|
|
801
|
+
} : n.length ? Ct(t, []) : zt(a.arcs.map((u) => u.p1));
|
|
802
802
|
}
|
|
803
803
|
function ve(t) {
|
|
804
804
|
let n = {}, s = Object.keys(t);
|
|
805
805
|
for (let e of s) n[e] = [];
|
|
806
806
|
for (let e = 0; e < s.length; e++) {
|
|
807
807
|
let i = s[e], r = t[i];
|
|
808
|
-
for (let
|
|
809
|
-
let
|
|
810
|
-
|
|
808
|
+
for (let o = e + 1; o < s.length; ++o) {
|
|
809
|
+
let h = s[o], c = t[h], a = q(r, c);
|
|
810
|
+
a + c.radius <= r.radius + 1e-10 ? n[h].push(i) : a + r.radius <= c.radius + 1e-10 && n[i].push(h);
|
|
811
811
|
}
|
|
812
812
|
}
|
|
813
813
|
return n;
|
|
@@ -815,16 +815,16 @@ function ve(t) {
|
|
|
815
815
|
function Pt(t, n, s) {
|
|
816
816
|
let e = {}, i = ve(t);
|
|
817
817
|
for (let r = 0; r < n.length; ++r) {
|
|
818
|
-
let
|
|
819
|
-
for (let f = 0; f <
|
|
820
|
-
o[
|
|
821
|
-
let m = i[
|
|
818
|
+
let o = n[r].sets, h = {}, c = {};
|
|
819
|
+
for (let f = 0; f < o.length; ++f) {
|
|
820
|
+
h[o[f]] = !0;
|
|
821
|
+
let m = i[o[f]];
|
|
822
822
|
for (let y = 0; y < m.length; ++y) c[m[y]] = !0;
|
|
823
823
|
}
|
|
824
|
-
let
|
|
825
|
-
for (let f in t) f in
|
|
826
|
-
let
|
|
827
|
-
e[
|
|
824
|
+
let a = [], u = [];
|
|
825
|
+
for (let f in t) f in h ? a.push(t[f]) : f in c || u.push(t[f]);
|
|
826
|
+
let g = Ct(a, u, s);
|
|
827
|
+
e[o] = g, g.disjoint && n[r].size > 0 && console.log("WARNING: area " + o + " not represented on screen");
|
|
828
828
|
}
|
|
829
829
|
return e;
|
|
830
830
|
}
|
|
@@ -863,9 +863,9 @@ M`,
|
|
|
863
863
|
e(t[0].p2.y)
|
|
864
864
|
];
|
|
865
865
|
for (let r of t) {
|
|
866
|
-
let
|
|
866
|
+
let o = e(r.circle.radius);
|
|
867
867
|
i.push(`
|
|
868
|
-
A`,
|
|
868
|
+
A`, o, o, 0, +!!r.large, +!!r.sweep, e(r.p1.x), e(r.p1.y));
|
|
869
869
|
}
|
|
870
870
|
return i.join(" ");
|
|
871
871
|
}
|
|
@@ -873,44 +873,44 @@ function _t(t, n) {
|
|
|
873
873
|
return jt(Lt(t), n);
|
|
874
874
|
}
|
|
875
875
|
function ke(t, n = {}) {
|
|
876
|
-
let { lossFunction: s, layoutFunction: e = At, normalize: i = !0, orientation: r = Math.PI / 2, orientationOrder:
|
|
877
|
-
lossFunction: s === "default" || !s ?
|
|
876
|
+
let { lossFunction: s, layoutFunction: e = At, normalize: i = !0, orientation: r = Math.PI / 2, orientationOrder: o, width: h = 600, height: c = 350, padding: a = 15, scaleToFit: u = !1, symmetricalTextCentre: g = !1, distinct: f, round: m = 2 } = n, y = e(t, {
|
|
877
|
+
lossFunction: s === "default" || !s ? Q : s === "logRatio" ? Rt : s,
|
|
878
878
|
distinct: f
|
|
879
879
|
});
|
|
880
|
-
i && (y = Nt(y, r,
|
|
881
|
-
let _ = Dt(y,
|
|
882
|
-
set:
|
|
883
|
-
x: _[
|
|
884
|
-
y: _[
|
|
885
|
-
radius: _[
|
|
886
|
-
}])),
|
|
887
|
-
let
|
|
880
|
+
i && (y = Nt(y, r, o));
|
|
881
|
+
let _ = Dt(y, h, c, a, u), E = Pt(_, t, g), d = new Map(Object.keys(_).map((x) => [x, {
|
|
882
|
+
set: x,
|
|
883
|
+
x: _[x].x,
|
|
884
|
+
y: _[x].y,
|
|
885
|
+
radius: _[x].radius
|
|
886
|
+
}])), v = t.map((x) => {
|
|
887
|
+
let I = x.sets.map((p) => d.get(p)), l = Lt(I);
|
|
888
888
|
return {
|
|
889
|
-
circles:
|
|
889
|
+
circles: I,
|
|
890
890
|
arcs: l,
|
|
891
891
|
path: jt(l, m),
|
|
892
|
-
area:
|
|
893
|
-
has: new Set(
|
|
892
|
+
area: x,
|
|
893
|
+
has: new Set(x.sets)
|
|
894
894
|
};
|
|
895
895
|
});
|
|
896
|
-
function
|
|
897
|
-
let
|
|
898
|
-
for (let l of
|
|
899
|
-
return
|
|
896
|
+
function b(x) {
|
|
897
|
+
let I = "";
|
|
898
|
+
for (let l of v) l.has.size > x.length && x.every((p) => l.has.has(p)) && (I += " " + l.path);
|
|
899
|
+
return I;
|
|
900
900
|
}
|
|
901
|
-
return
|
|
902
|
-
data:
|
|
903
|
-
text: E[
|
|
904
|
-
circles:
|
|
905
|
-
arcs:
|
|
901
|
+
return v.map(({ circles: x, arcs: I, path: l, area: p }) => ({
|
|
902
|
+
data: p,
|
|
903
|
+
text: E[p.sets],
|
|
904
|
+
circles: x,
|
|
905
|
+
arcs: I,
|
|
906
906
|
path: l,
|
|
907
|
-
distinctPath: l +
|
|
907
|
+
distinctPath: l + b(p.sets)
|
|
908
908
|
}));
|
|
909
909
|
}
|
|
910
|
-
var dt = function() {
|
|
911
|
-
var t = /* @__PURE__ */ w(function(d,
|
|
912
|
-
for (
|
|
913
|
-
return
|
|
910
|
+
var dt = (function() {
|
|
911
|
+
var t = /* @__PURE__ */ w(function(d, v, b, x) {
|
|
912
|
+
for (b ||= {}, x = d.length; x--; b[d[x]] = v) ;
|
|
913
|
+
return b;
|
|
914
914
|
}, "o"), n = [5, 8], s = [
|
|
915
915
|
7,
|
|
916
916
|
8,
|
|
@@ -935,7 +935,7 @@ var dt = function() {
|
|
|
935
935
|
22,
|
|
936
936
|
24,
|
|
937
937
|
27
|
|
938
|
-
],
|
|
938
|
+
], o = [1, 31], h = [1, 39], c = [
|
|
939
939
|
7,
|
|
940
940
|
8,
|
|
941
941
|
11,
|
|
@@ -945,7 +945,7 @@ var dt = function() {
|
|
|
945
945
|
22,
|
|
946
946
|
24,
|
|
947
947
|
27
|
|
948
|
-
],
|
|
948
|
+
], a = [1, 57], u = [1, 56], g = [1, 58], f = [1, 59], m = [1, 60], y = [
|
|
949
949
|
7,
|
|
950
950
|
8,
|
|
951
951
|
11,
|
|
@@ -1068,18 +1068,18 @@ var dt = function() {
|
|
|
1068
1068
|
[13, 1],
|
|
1069
1069
|
[13, 1]
|
|
1070
1070
|
],
|
|
1071
|
-
performAction: /* @__PURE__ */ w(function(d,
|
|
1072
|
-
var
|
|
1073
|
-
switch (
|
|
1071
|
+
performAction: /* @__PURE__ */ w(function(d, v, b, x, I, l, p) {
|
|
1072
|
+
var M = l.length - 1;
|
|
1073
|
+
switch (I) {
|
|
1074
1074
|
case 1:
|
|
1075
|
-
return l[
|
|
1075
|
+
return l[M - 1];
|
|
1076
1076
|
case 2:
|
|
1077
1077
|
case 3:
|
|
1078
1078
|
case 4:
|
|
1079
1079
|
this.$ = [];
|
|
1080
1080
|
break;
|
|
1081
1081
|
case 5:
|
|
1082
|
-
l[
|
|
1082
|
+
l[M - 1].push(l[M]), this.$ = l[M - 1];
|
|
1083
1083
|
break;
|
|
1084
1084
|
case 6:
|
|
1085
1085
|
this.$ = [];
|
|
@@ -1092,87 +1092,87 @@ var dt = function() {
|
|
|
1092
1092
|
case 38:
|
|
1093
1093
|
case 39:
|
|
1094
1094
|
case 40:
|
|
1095
|
-
this.$ = l[
|
|
1095
|
+
this.$ = l[M];
|
|
1096
1096
|
break;
|
|
1097
1097
|
case 8:
|
|
1098
|
-
|
|
1098
|
+
x.setDiagramTitle(l[M].substr(6)), this.$ = l[M].substr(6);
|
|
1099
1099
|
break;
|
|
1100
1100
|
case 9:
|
|
1101
|
-
|
|
1101
|
+
x.addSubsetData([l[M]], void 0, void 0), x.setIndentMode && x.setIndentMode(!0);
|
|
1102
1102
|
break;
|
|
1103
1103
|
case 10:
|
|
1104
|
-
|
|
1104
|
+
x.addSubsetData([l[M - 1]], l[M], void 0), x.setIndentMode && x.setIndentMode(!0);
|
|
1105
1105
|
break;
|
|
1106
1106
|
case 11:
|
|
1107
|
-
|
|
1107
|
+
x.addSubsetData([l[M - 2]], void 0, parseFloat(l[M])), x.setIndentMode && x.setIndentMode(!0);
|
|
1108
1108
|
break;
|
|
1109
1109
|
case 12:
|
|
1110
|
-
|
|
1110
|
+
x.addSubsetData([l[M - 3]], l[M - 2], parseFloat(l[M])), x.setIndentMode && x.setIndentMode(!0);
|
|
1111
1111
|
break;
|
|
1112
1112
|
case 13:
|
|
1113
|
-
if (l[
|
|
1114
|
-
|
|
1113
|
+
if (l[M].length < 2) throw Error("union requires multiple identifiers");
|
|
1114
|
+
x.validateUnionIdentifiers && x.validateUnionIdentifiers(l[M]), x.addSubsetData(l[M], void 0, void 0), x.setIndentMode && x.setIndentMode(!0);
|
|
1115
1115
|
break;
|
|
1116
1116
|
case 14:
|
|
1117
|
-
if (l[
|
|
1118
|
-
|
|
1117
|
+
if (l[M - 1].length < 2) throw Error("union requires multiple identifiers");
|
|
1118
|
+
x.validateUnionIdentifiers && x.validateUnionIdentifiers(l[M - 1]), x.addSubsetData(l[M - 1], l[M], void 0), x.setIndentMode && x.setIndentMode(!0);
|
|
1119
1119
|
break;
|
|
1120
1120
|
case 15:
|
|
1121
|
-
if (l[
|
|
1122
|
-
|
|
1121
|
+
if (l[M - 2].length < 2) throw Error("union requires multiple identifiers");
|
|
1122
|
+
x.validateUnionIdentifiers && x.validateUnionIdentifiers(l[M - 2]), x.addSubsetData(l[M - 2], void 0, parseFloat(l[M])), x.setIndentMode && x.setIndentMode(!0);
|
|
1123
1123
|
break;
|
|
1124
1124
|
case 16:
|
|
1125
|
-
if (l[
|
|
1126
|
-
|
|
1125
|
+
if (l[M - 3].length < 2) throw Error("union requires multiple identifiers");
|
|
1126
|
+
x.validateUnionIdentifiers && x.validateUnionIdentifiers(l[M - 3]), x.addSubsetData(l[M - 3], l[M - 2], parseFloat(l[M])), x.setIndentMode && x.setIndentMode(!0);
|
|
1127
1127
|
break;
|
|
1128
1128
|
case 17:
|
|
1129
1129
|
case 18:
|
|
1130
1130
|
case 19:
|
|
1131
|
-
|
|
1131
|
+
x.addTextData(l[M - 1], l[M], void 0);
|
|
1132
1132
|
break;
|
|
1133
1133
|
case 20:
|
|
1134
1134
|
case 21:
|
|
1135
|
-
|
|
1135
|
+
x.addTextData(l[M - 2], l[M - 1], l[M]);
|
|
1136
1136
|
break;
|
|
1137
1137
|
case 23:
|
|
1138
|
-
|
|
1138
|
+
x.addStyleData(l[M - 1], l[M]);
|
|
1139
1139
|
break;
|
|
1140
1140
|
case 24:
|
|
1141
1141
|
case 25:
|
|
1142
1142
|
case 26:
|
|
1143
|
-
var
|
|
1144
|
-
if (!
|
|
1145
|
-
|
|
1143
|
+
var z = x.getCurrentSets();
|
|
1144
|
+
if (!z) throw Error("text requires set");
|
|
1145
|
+
x.addTextData(z, l[M], void 0);
|
|
1146
1146
|
break;
|
|
1147
1147
|
case 27:
|
|
1148
1148
|
case 28:
|
|
1149
|
-
var
|
|
1150
|
-
if (!
|
|
1151
|
-
|
|
1149
|
+
var z = x.getCurrentSets();
|
|
1150
|
+
if (!z) throw Error("text requires set");
|
|
1151
|
+
x.addTextData(z, l[M - 1], l[M]);
|
|
1152
1152
|
break;
|
|
1153
1153
|
case 29:
|
|
1154
1154
|
case 41:
|
|
1155
|
-
this.$ = [l[
|
|
1155
|
+
this.$ = [l[M]];
|
|
1156
1156
|
break;
|
|
1157
1157
|
case 30:
|
|
1158
1158
|
case 42:
|
|
1159
|
-
this.$ = [...l[
|
|
1159
|
+
this.$ = [...l[M - 2], l[M]];
|
|
1160
1160
|
break;
|
|
1161
1161
|
case 31:
|
|
1162
|
-
this.$ = [l[
|
|
1162
|
+
this.$ = [l[M - 2], l[M]];
|
|
1163
1163
|
break;
|
|
1164
1164
|
case 33:
|
|
1165
|
-
this.$ = l[
|
|
1165
|
+
this.$ = l[M].join(" ");
|
|
1166
1166
|
break;
|
|
1167
1167
|
case 34:
|
|
1168
|
-
this.$ = [l[
|
|
1168
|
+
this.$ = [l[M]];
|
|
1169
1169
|
break;
|
|
1170
1170
|
case 35:
|
|
1171
|
-
l[
|
|
1171
|
+
l[M - 1].push(l[M]), this.$ = l[M - 1];
|
|
1172
1172
|
break;
|
|
1173
1173
|
case 43:
|
|
1174
1174
|
case 44:
|
|
1175
|
-
this.$ = l[
|
|
1175
|
+
this.$ = l[M];
|
|
1176
1176
|
break;
|
|
1177
1177
|
}
|
|
1178
1178
|
}, "anonymous"),
|
|
@@ -1243,24 +1243,24 @@ var dt = function() {
|
|
|
1243
1243
|
t(s, [2, 13], {
|
|
1244
1244
|
14: [1, 29],
|
|
1245
1245
|
15: [1, 30],
|
|
1246
|
-
27:
|
|
1246
|
+
27: o
|
|
1247
1247
|
}),
|
|
1248
1248
|
t(r, [2, 41]),
|
|
1249
1249
|
{
|
|
1250
1250
|
16: [1, 34],
|
|
1251
1251
|
20: [1, 32],
|
|
1252
1252
|
21: [1, 33],
|
|
1253
|
-
27:
|
|
1253
|
+
27: o
|
|
1254
1254
|
},
|
|
1255
1255
|
t(s, [2, 22]),
|
|
1256
1256
|
t(s, [2, 24], { 14: [1, 35] }),
|
|
1257
1257
|
t(s, [2, 25], { 14: [1, 36] }),
|
|
1258
1258
|
t(s, [2, 26]),
|
|
1259
1259
|
{
|
|
1260
|
-
20:
|
|
1260
|
+
20: h,
|
|
1261
1261
|
25: 37,
|
|
1262
1262
|
26: 38,
|
|
1263
|
-
27:
|
|
1263
|
+
27: o
|
|
1264
1264
|
},
|
|
1265
1265
|
t(s, [2, 10], { 15: [1, 40] }),
|
|
1266
1266
|
{ 16: [1, 41] },
|
|
@@ -1287,17 +1287,17 @@ var dt = function() {
|
|
|
1287
1287
|
t(s, [2, 20]),
|
|
1288
1288
|
t(s, [2, 21]),
|
|
1289
1289
|
{
|
|
1290
|
-
20:
|
|
1290
|
+
20: h,
|
|
1291
1291
|
26: 51
|
|
1292
1292
|
},
|
|
1293
1293
|
{
|
|
1294
|
-
16:
|
|
1294
|
+
16: a,
|
|
1295
1295
|
20: u,
|
|
1296
1296
|
21: [1, 53],
|
|
1297
1297
|
28: 52,
|
|
1298
1298
|
29: 54,
|
|
1299
1299
|
30: 55,
|
|
1300
|
-
31:
|
|
1300
|
+
31: g,
|
|
1301
1301
|
32: f,
|
|
1302
1302
|
33: m
|
|
1303
1303
|
},
|
|
@@ -1308,9 +1308,9 @@ var dt = function() {
|
|
|
1308
1308
|
t(c, [2, 32]),
|
|
1309
1309
|
t(c, [2, 33], {
|
|
1310
1310
|
30: 61,
|
|
1311
|
-
16:
|
|
1311
|
+
16: a,
|
|
1312
1312
|
20: u,
|
|
1313
|
-
31:
|
|
1313
|
+
31: g,
|
|
1314
1314
|
32: f,
|
|
1315
1315
|
33: m
|
|
1316
1316
|
}),
|
|
@@ -1323,65 +1323,65 @@ var dt = function() {
|
|
|
1323
1323
|
t(y, [2, 35])
|
|
1324
1324
|
],
|
|
1325
1325
|
defaultActions: { 6: [2, 1] },
|
|
1326
|
-
parseError: /* @__PURE__ */ w(function(d,
|
|
1327
|
-
if (
|
|
1326
|
+
parseError: /* @__PURE__ */ w(function(d, v) {
|
|
1327
|
+
if (v.recoverable) this.trace(d);
|
|
1328
1328
|
else {
|
|
1329
|
-
var
|
|
1330
|
-
throw
|
|
1329
|
+
var b = Error(d);
|
|
1330
|
+
throw b.hash = v, b;
|
|
1331
1331
|
}
|
|
1332
1332
|
}, "parseError"),
|
|
1333
1333
|
parse: /* @__PURE__ */ w(function(d) {
|
|
1334
|
-
var
|
|
1335
|
-
for (var
|
|
1336
|
-
|
|
1337
|
-
var
|
|
1338
|
-
l.push(
|
|
1339
|
-
var
|
|
1340
|
-
typeof
|
|
1341
|
-
function
|
|
1342
|
-
|
|
1334
|
+
var v = this, b = [0], x = [], I = [null], l = [], p = this.table, M = "", z = 0, R = 0, D = 0, U = 2, T = 1, A = l.slice.call(arguments, 1), S = Object.create(this.lexer), N = { yy: {} };
|
|
1335
|
+
for (var F in this.yy) Object.prototype.hasOwnProperty.call(this.yy, F) && (N.yy[F] = this.yy[F]);
|
|
1336
|
+
S.setInput(d, N.yy), N.yy.lexer = S, N.yy.parser = this, S.yylloc === void 0 && (S.yylloc = {});
|
|
1337
|
+
var $ = S.yylloc;
|
|
1338
|
+
l.push($);
|
|
1339
|
+
var G = S.options && S.options.ranges;
|
|
1340
|
+
typeof N.yy.parseError == "function" ? this.parseError = N.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
|
|
1341
|
+
function K(V) {
|
|
1342
|
+
b.length -= 2 * V, I.length -= V, l.length -= V;
|
|
1343
1343
|
}
|
|
1344
|
-
w(
|
|
1345
|
-
function
|
|
1346
|
-
var
|
|
1347
|
-
return typeof
|
|
1344
|
+
w(K, "popStack");
|
|
1345
|
+
function B() {
|
|
1346
|
+
var V = x.pop() || S.lex() || T;
|
|
1347
|
+
return typeof V != "number" && (V instanceof Array && (x = V, V = x.pop()), V = v.symbols_[V] || V), V;
|
|
1348
1348
|
}
|
|
1349
|
-
w(
|
|
1350
|
-
for (var
|
|
1351
|
-
if (L =
|
|
1349
|
+
w(B, "lex");
|
|
1350
|
+
for (var O, j, L, C, tt, k = {}, P, W, Z, X; ; ) {
|
|
1351
|
+
if (L = b[b.length - 1], this.defaultActions[L] ? C = this.defaultActions[L] : (O ??= B(), C = p[L] && p[L][O]), C === void 0 || !C.length || !C[0]) {
|
|
1352
1352
|
var Mt = "";
|
|
1353
|
-
for (
|
|
1354
|
-
Mt =
|
|
1355
|
-
` +
|
|
1356
|
-
Expecting ` + X.join(", ") + ", got '" + (this.terminals_[
|
|
1357
|
-
text:
|
|
1358
|
-
token: this.terminals_[
|
|
1359
|
-
line:
|
|
1360
|
-
loc:
|
|
1353
|
+
for (P in X = [], p[L]) this.terminals_[P] && P > U && X.push("'" + this.terminals_[P] + "'");
|
|
1354
|
+
Mt = S.showPosition ? "Parse error on line " + (z + 1) + `:
|
|
1355
|
+
` + S.showPosition() + `
|
|
1356
|
+
Expecting ` + X.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : "Parse error on line " + (z + 1) + ": Unexpected " + (O == T ? "end of input" : "'" + (this.terminals_[O] || O) + "'"), this.parseError(Mt, {
|
|
1357
|
+
text: S.match,
|
|
1358
|
+
token: this.terminals_[O] || O,
|
|
1359
|
+
line: S.yylineno,
|
|
1360
|
+
loc: $,
|
|
1361
1361
|
expected: X
|
|
1362
1362
|
});
|
|
1363
1363
|
}
|
|
1364
|
-
if (
|
|
1365
|
-
switch (
|
|
1364
|
+
if (C[0] instanceof Array && C.length > 1) throw Error("Parse Error: multiple actions possible at state: " + L + ", token: " + O);
|
|
1365
|
+
switch (C[0]) {
|
|
1366
1366
|
case 1:
|
|
1367
|
-
|
|
1367
|
+
b.push(O), I.push(S.yytext), l.push(S.yylloc), b.push(C[1]), O = null, j ? (O = j, j = null) : (R = S.yyleng, M = S.yytext, z = S.yylineno, $ = S.yylloc, D > 0);
|
|
1368
1368
|
break;
|
|
1369
1369
|
case 2:
|
|
1370
|
-
if (
|
|
1371
|
-
first_line: l[l.length - (
|
|
1370
|
+
if (W = this.productions_[C[1]][1], k.$ = I[I.length - W], k._$ = {
|
|
1371
|
+
first_line: l[l.length - (W || 1)].first_line,
|
|
1372
1372
|
last_line: l[l.length - 1].last_line,
|
|
1373
|
-
first_column: l[l.length - (
|
|
1373
|
+
first_column: l[l.length - (W || 1)].first_column,
|
|
1374
1374
|
last_column: l[l.length - 1].last_column
|
|
1375
|
-
},
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1375
|
+
}, G && (k._$.range = [l[l.length - (W || 1)].range[0], l[l.length - 1].range[1]]), tt = this.performAction.apply(k, [
|
|
1376
|
+
M,
|
|
1377
|
+
R,
|
|
1378
|
+
z,
|
|
1379
|
+
N.yy,
|
|
1380
|
+
C[1],
|
|
1381
|
+
I,
|
|
1382
1382
|
l
|
|
1383
|
-
].concat(
|
|
1384
|
-
|
|
1383
|
+
].concat(A)), tt !== void 0) return tt;
|
|
1384
|
+
W && (b = b.slice(0, -1 * W * 2), I = I.slice(0, -1 * W), l = l.slice(0, -1 * W)), b.push(this.productions_[C[1]][0]), I.push(k.$), l.push(k._$), Z = p[b[b.length - 2]][b[b.length - 1]], b.push(Z);
|
|
1385
1385
|
break;
|
|
1386
1386
|
case 3:
|
|
1387
1387
|
return !0;
|
|
@@ -1390,15 +1390,15 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1390
1390
|
return !0;
|
|
1391
1391
|
}, "parse")
|
|
1392
1392
|
};
|
|
1393
|
-
_.lexer = /* @__PURE__ */ function() {
|
|
1393
|
+
_.lexer = /* @__PURE__ */ (function() {
|
|
1394
1394
|
return {
|
|
1395
1395
|
EOF: 1,
|
|
1396
|
-
parseError: /* @__PURE__ */ w(function(d,
|
|
1397
|
-
if (this.yy.parser) this.yy.parser.parseError(d,
|
|
1396
|
+
parseError: /* @__PURE__ */ w(function(d, v) {
|
|
1397
|
+
if (this.yy.parser) this.yy.parser.parseError(d, v);
|
|
1398
1398
|
else throw Error(d);
|
|
1399
1399
|
}, "parseError"),
|
|
1400
|
-
setInput: /* @__PURE__ */ w(function(d,
|
|
1401
|
-
return this.yy =
|
|
1400
|
+
setInput: /* @__PURE__ */ w(function(d, v) {
|
|
1401
|
+
return this.yy = v || this.yy || {}, this._input = d, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
|
|
1402
1402
|
first_line: 1,
|
|
1403
1403
|
first_column: 0,
|
|
1404
1404
|
last_line: 1,
|
|
@@ -1410,17 +1410,17 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1410
1410
|
return this.yytext += d, this.yyleng++, this.offset++, this.match += d, this.matched += d, d.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), d;
|
|
1411
1411
|
}, "input"),
|
|
1412
1412
|
unput: /* @__PURE__ */ w(function(d) {
|
|
1413
|
-
var
|
|
1414
|
-
this._input = d + this._input, this.yytext = this.yytext.substr(0, this.yytext.length -
|
|
1415
|
-
var
|
|
1416
|
-
this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1),
|
|
1417
|
-
var
|
|
1413
|
+
var v = d.length, b = d.split(/(?:\r\n?|\n)/g);
|
|
1414
|
+
this._input = d + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - v), this.offset -= v;
|
|
1415
|
+
var x = this.match.split(/(?:\r\n?|\n)/g);
|
|
1416
|
+
this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), b.length - 1 && (this.yylineno -= b.length - 1);
|
|
1417
|
+
var I = this.yylloc.range;
|
|
1418
1418
|
return this.yylloc = {
|
|
1419
1419
|
first_line: this.yylloc.first_line,
|
|
1420
1420
|
last_line: this.yylineno + 1,
|
|
1421
1421
|
first_column: this.yylloc.first_column,
|
|
1422
|
-
last_column:
|
|
1423
|
-
}, this.options.ranges && (this.yylloc.range = [
|
|
1422
|
+
last_column: b ? (b.length === x.length ? this.yylloc.first_column : 0) + x[x.length - b.length].length - b[0].length : this.yylloc.first_column - v
|
|
1423
|
+
}, this.options.ranges && (this.yylloc.range = [I[0], I[0] + this.yyleng - v]), this.yyleng = this.yytext.length, this;
|
|
1424
1424
|
}, "unput"),
|
|
1425
1425
|
more: /* @__PURE__ */ w(function() {
|
|
1426
1426
|
return this._more = !0, this;
|
|
@@ -1447,13 +1447,13 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1447
1447
|
return d.length < 20 && (d += this._input.substr(0, 20 - d.length)), (d.substr(0, 20) + (d.length > 20 ? "..." : "")).replace(/\n/g, "");
|
|
1448
1448
|
}, "upcomingInput"),
|
|
1449
1449
|
showPosition: /* @__PURE__ */ w(function() {
|
|
1450
|
-
var d = this.pastInput(),
|
|
1450
|
+
var d = this.pastInput(), v = Array(d.length + 1).join("-");
|
|
1451
1451
|
return d + this.upcomingInput() + `
|
|
1452
|
-
` +
|
|
1452
|
+
` + v + "^";
|
|
1453
1453
|
}, "showPosition"),
|
|
1454
|
-
test_match: /* @__PURE__ */ w(function(d,
|
|
1455
|
-
var
|
|
1456
|
-
if (this.options.backtrack_lexer && (
|
|
1454
|
+
test_match: /* @__PURE__ */ w(function(d, v) {
|
|
1455
|
+
var b, x, I;
|
|
1456
|
+
if (this.options.backtrack_lexer && (I = {
|
|
1457
1457
|
yylineno: this.yylineno,
|
|
1458
1458
|
yylloc: {
|
|
1459
1459
|
first_line: this.yylloc.first_line,
|
|
@@ -1472,14 +1472,14 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1472
1472
|
yy: this.yy,
|
|
1473
1473
|
conditionStack: this.conditionStack.slice(0),
|
|
1474
1474
|
done: this.done
|
|
1475
|
-
}, this.options.ranges && (
|
|
1475
|
+
}, this.options.ranges && (I.yylloc.range = this.yylloc.range.slice(0))), x = d[0].match(/(?:\r\n?|\n).*/g), x && (this.yylineno += x.length), this.yylloc = {
|
|
1476
1476
|
first_line: this.yylloc.last_line,
|
|
1477
1477
|
last_line: this.yylineno + 1,
|
|
1478
1478
|
first_column: this.yylloc.last_column,
|
|
1479
|
-
last_column:
|
|
1480
|
-
}, this.yytext += d[0], this.match += d[0], this.matches = d, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(d[0].length), this.matched += d[0],
|
|
1479
|
+
last_column: x ? x[x.length - 1].length - x[x.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + d[0].length
|
|
1480
|
+
}, this.yytext += d[0], this.match += d[0], this.matches = d, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(d[0].length), this.matched += d[0], b = this.performAction.call(this, this.yy, this, v, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), b) return b;
|
|
1481
1481
|
if (this._backtrack) {
|
|
1482
|
-
for (var l in
|
|
1482
|
+
for (var l in I) this[l] = I[l];
|
|
1483
1483
|
return !1;
|
|
1484
1484
|
}
|
|
1485
1485
|
return !1;
|
|
@@ -1487,18 +1487,18 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1487
1487
|
next: /* @__PURE__ */ w(function() {
|
|
1488
1488
|
if (this.done) return this.EOF;
|
|
1489
1489
|
this._input || (this.done = !0);
|
|
1490
|
-
var d,
|
|
1490
|
+
var d, v, b, x;
|
|
1491
1491
|
this._more || (this.yytext = "", this.match = "");
|
|
1492
|
-
for (var
|
|
1493
|
-
if (
|
|
1494
|
-
if (d = this.test_match(
|
|
1492
|
+
for (var I = this._currentRules(), l = 0; l < I.length; l++) if (b = this._input.match(this.rules[I[l]]), b && (!v || b[0].length > v[0].length)) {
|
|
1493
|
+
if (v = b, x = l, this.options.backtrack_lexer) {
|
|
1494
|
+
if (d = this.test_match(b, I[l]), d !== !1) return d;
|
|
1495
1495
|
if (this._backtrack) {
|
|
1496
|
-
|
|
1496
|
+
v = !1;
|
|
1497
1497
|
continue;
|
|
1498
1498
|
} else return !1;
|
|
1499
1499
|
} else if (!this.options.flex) break;
|
|
1500
1500
|
}
|
|
1501
|
-
return
|
|
1501
|
+
return v ? (d = this.test_match(v, I[x]), d === !1 ? !1 : d) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
|
|
1502
1502
|
` + this.showPosition(), {
|
|
1503
1503
|
text: "",
|
|
1504
1504
|
token: null,
|
|
@@ -1527,8 +1527,8 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1527
1527
|
return this.conditionStack.length;
|
|
1528
1528
|
}, "stateStackSize"),
|
|
1529
1529
|
options: { "case-insensitive": !0 },
|
|
1530
|
-
performAction: /* @__PURE__ */ w(function(d,
|
|
1531
|
-
switch (
|
|
1530
|
+
performAction: /* @__PURE__ */ w(function(d, v, b, x) {
|
|
1531
|
+
switch (b) {
|
|
1532
1532
|
case 0:
|
|
1533
1533
|
break;
|
|
1534
1534
|
case 1:
|
|
@@ -1541,7 +1541,7 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1541
1541
|
case 4:
|
|
1542
1542
|
break;
|
|
1543
1543
|
case 5:
|
|
1544
|
-
d.setIndentMode && d.setIndentMode(!1), this.begin("INITIAL"), this.unput(
|
|
1544
|
+
d.setIndentMode && d.setIndentMode(!1), this.begin("INITIAL"), this.unput(v.yytext);
|
|
1545
1545
|
break;
|
|
1546
1546
|
case 6:
|
|
1547
1547
|
return this.begin("bol"), 8;
|
|
@@ -1566,9 +1566,9 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1566
1566
|
case 15:
|
|
1567
1567
|
return 24;
|
|
1568
1568
|
case 16:
|
|
1569
|
-
return
|
|
1569
|
+
return v.yytext = v.yytext.slice(2, -2), 14;
|
|
1570
1570
|
case 17:
|
|
1571
|
-
return
|
|
1571
|
+
return v.yytext = v.yytext.slice(1, -1).trim(), 14;
|
|
1572
1572
|
case 18:
|
|
1573
1573
|
return 16;
|
|
1574
1574
|
case 19:
|
|
@@ -1676,12 +1676,12 @@ Expecting ` + X.join(", ") + ", got '" + (this.terminals_[N] || N) + "'" : "Pars
|
|
|
1676
1676
|
}
|
|
1677
1677
|
}
|
|
1678
1678
|
};
|
|
1679
|
-
}();
|
|
1679
|
+
})();
|
|
1680
1680
|
function E() {
|
|
1681
1681
|
this.yy = {};
|
|
1682
1682
|
}
|
|
1683
1683
|
return w(E, "Parser"), E.prototype = _, _.Parser = E, new E();
|
|
1684
|
-
}();
|
|
1684
|
+
})();
|
|
1685
1685
|
dt.parser = dt;
|
|
1686
1686
|
var _e = dt, gt = [], xt = [], pt = [], mt = /* @__PURE__ */ new Set(), bt, vt = !1, we = /* @__PURE__ */ w((t, n, s) => {
|
|
1687
1687
|
let e = st(t).sort(), i = s ?? 10 / t.length ** 2;
|
|
@@ -1771,116 +1771,109 @@ function Ut(t) {
|
|
|
1771
1771
|
}
|
|
1772
1772
|
w(Ut, "buildStyleByKey");
|
|
1773
1773
|
var Le = /* @__PURE__ */ w((t, n, s, e) => {
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
let M = h ? Zt.svg(k.select("svg").node()) : void 0, p = ke(f, {
|
|
1774
|
+
let i = e.db, r = i.getConfig?.(), { themeVariables: o, look: h, handDrawnSeed: c } = wt(), a = h === "handDrawn", u = [
|
|
1775
|
+
o.venn1,
|
|
1776
|
+
o.venn2,
|
|
1777
|
+
o.venn3,
|
|
1778
|
+
o.venn4,
|
|
1779
|
+
o.venn5,
|
|
1780
|
+
o.venn6,
|
|
1781
|
+
o.venn7,
|
|
1782
|
+
o.venn8
|
|
1783
|
+
].filter(Boolean), g = i.getDiagramTitle?.(), f = i.getSubsetData(), m = i.getTextData(), y = Ut(i.getStyleData()), _ = r?.width ?? 800, E = r?.height ?? 450, d = _ / 1600, v = g ? 48 * d : 0, b = o.primaryTextColor ?? o.textColor, x = Yt(n);
|
|
1784
|
+
x.attr("viewBox", `0 0 ${_} ${E}`), g && x.append("text").text(g).attr("class", "venn-title").attr("font-size", `${32 * d}px`).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("x", "50%").attr("y", 32 * d).style("fill", o.vennTitleTextColor || o.titleColor);
|
|
1785
|
+
let I = it(document.createElement("div")), l = be().width(_).height(E - v);
|
|
1786
|
+
I.datum(f).call(l);
|
|
1787
|
+
let p = a ? Zt.svg(I.select("svg").node()) : void 0, M = ke(f, {
|
|
1789
1788
|
width: _,
|
|
1790
|
-
height: E -
|
|
1791
|
-
padding:
|
|
1792
|
-
}),
|
|
1793
|
-
for (let
|
|
1794
|
-
let
|
|
1795
|
-
|
|
1789
|
+
height: E - v,
|
|
1790
|
+
padding: r?.padding ?? 15
|
|
1791
|
+
}), z = /* @__PURE__ */ new Map();
|
|
1792
|
+
for (let T of M) {
|
|
1793
|
+
let A = Y([...T.data.sets].sort());
|
|
1794
|
+
z.set(A, T);
|
|
1796
1795
|
}
|
|
1797
|
-
m.length > 0 && Bt(r,
|
|
1798
|
-
let
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
let F = I.circles[0], G = M.circle(F.x, F.y, F.radius * 2, {
|
|
1796
|
+
m.length > 0 && Bt(r, z, I, m, d, y);
|
|
1797
|
+
let R = Jt(o.background || "#f4f4f4");
|
|
1798
|
+
I.selectAll(".venn-circle").each(function(T, A) {
|
|
1799
|
+
let S = it(this), N = Y([...T.sets].sort()), F = y.get(N), $ = F?.fill || u[A % u.length] || o.primaryColor;
|
|
1800
|
+
S.classed(`venn-set-${A % 8}`, !0);
|
|
1801
|
+
let G = F?.["fill-opacity"] ?? 0.1, K = F?.stroke || $, B = F?.["stroke-width"] || `${5 * d}`;
|
|
1802
|
+
if (a && p) {
|
|
1803
|
+
let j = z.get(N);
|
|
1804
|
+
if (j && j.circles.length > 0) {
|
|
1805
|
+
let L = j.circles[0], C = p.circle(L.x, L.y, L.radius * 2, {
|
|
1808
1806
|
roughness: 0.7,
|
|
1809
1807
|
seed: c,
|
|
1810
|
-
fill: It(
|
|
1808
|
+
fill: It($, 0.7),
|
|
1811
1809
|
fillStyle: "hachure",
|
|
1812
1810
|
fillWeight: 2,
|
|
1813
1811
|
hachureGap: 8,
|
|
1814
|
-
hachureAngle: -41 +
|
|
1815
|
-
stroke:
|
|
1816
|
-
strokeWidth: parseFloat(String(
|
|
1812
|
+
hachureAngle: -41 + A * 60,
|
|
1813
|
+
stroke: K,
|
|
1814
|
+
strokeWidth: parseFloat(String(B))
|
|
1817
1815
|
});
|
|
1818
|
-
S.select("path").remove(),
|
|
1816
|
+
S.select("path").remove(), S.node()?.insertBefore(C, S.select("text").node());
|
|
1819
1817
|
}
|
|
1820
|
-
} else S.select("path").style("fill",
|
|
1821
|
-
let
|
|
1822
|
-
S.select("text").style("font-size", `${48 * d}px`).style("fill",
|
|
1823
|
-
}),
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
let L = M.path(q, {
|
|
1818
|
+
} else S.select("path").style("fill", $).style("fill-opacity", G).style("stroke", K).style("stroke-width", B).style("stroke-opacity", 0.95);
|
|
1819
|
+
let O = F?.color || (R ? Qt($, 30) : te($, 30));
|
|
1820
|
+
S.select("text").style("font-size", `${48 * d}px`).style("fill", O);
|
|
1821
|
+
}), a && p ? I.selectAll(".venn-intersection").each(function(T) {
|
|
1822
|
+
let A = it(this), S = Y([...T.sets].sort()), N = y.get(S), F = N?.fill;
|
|
1823
|
+
if (F) {
|
|
1824
|
+
let $ = A.select("path"), G = $.attr("d");
|
|
1825
|
+
if (G) {
|
|
1826
|
+
let K = p.path(G, {
|
|
1830
1827
|
roughness: 0.7,
|
|
1831
1828
|
seed: c,
|
|
1832
|
-
fill: It(
|
|
1829
|
+
fill: It(F, 0.3),
|
|
1833
1830
|
fillStyle: "cross-hatch",
|
|
1834
1831
|
fillWeight: 2,
|
|
1835
1832
|
hachureGap: 6,
|
|
1836
1833
|
hachureAngle: 60,
|
|
1837
1834
|
stroke: "none"
|
|
1838
|
-
}),
|
|
1839
|
-
|
|
1835
|
+
}), B = $.node();
|
|
1836
|
+
B?.parentNode?.insertBefore(K, B), $.remove();
|
|
1840
1837
|
}
|
|
1841
|
-
} else
|
|
1842
|
-
|
|
1843
|
-
}) : (
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
var S;
|
|
1853
|
-
let $ = Z([...z.sets].sort());
|
|
1854
|
-
return ((S = y.get($)) == null ? void 0 : S.fill) ?? "transparent";
|
|
1838
|
+
} else A.select("path").style("fill-opacity", 0);
|
|
1839
|
+
A.select("text").style("font-size", `${48 * d}px`).style("fill", N?.color ?? o.vennSetTextColor ?? b);
|
|
1840
|
+
}) : (I.selectAll(".venn-intersection text").style("font-size", `${48 * d}px`).style("fill", (T) => {
|
|
1841
|
+
let A = Y([...T.sets].sort());
|
|
1842
|
+
return y.get(A)?.color ?? o.vennSetTextColor ?? b;
|
|
1843
|
+
}), I.selectAll(".venn-intersection path").style("fill-opacity", (T) => {
|
|
1844
|
+
let A = Y([...T.sets].sort());
|
|
1845
|
+
return +!!y.get(A)?.fill;
|
|
1846
|
+
}).style("fill", (T) => {
|
|
1847
|
+
let A = Y([...T.sets].sort());
|
|
1848
|
+
return y.get(A)?.fill ?? "transparent";
|
|
1855
1849
|
}));
|
|
1856
|
-
let
|
|
1857
|
-
if (
|
|
1858
|
-
ee(
|
|
1850
|
+
let D = x.append("g").attr("transform", `translate(0, ${v})`), U = I.select("svg").node();
|
|
1851
|
+
if (U && "childNodes" in U) for (let T of [...U.childNodes]) D.node()?.appendChild(T);
|
|
1852
|
+
ee(x, E, _, r?.useMaxWidth ?? !0);
|
|
1859
1853
|
}, "draw");
|
|
1860
|
-
function
|
|
1854
|
+
function Y(t) {
|
|
1861
1855
|
return t.join("|");
|
|
1862
1856
|
}
|
|
1863
|
-
w(
|
|
1857
|
+
w(Y, "stableSetsKey");
|
|
1864
1858
|
function Bt(t, n, s, e, i, r) {
|
|
1865
|
-
|
|
1866
|
-
let a
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
f ? f.push(u) : c.set(x, [u]);
|
|
1859
|
+
let o = t?.useDebugLayout ?? !1, h = s.select("svg").append("g").attr("class", "venn-text-nodes"), c = /* @__PURE__ */ new Map();
|
|
1860
|
+
for (let a of e) {
|
|
1861
|
+
let u = Y(a.sets), g = c.get(u);
|
|
1862
|
+
g ? g.push(a) : c.set(u, [a]);
|
|
1870
1863
|
}
|
|
1871
|
-
for (let [
|
|
1872
|
-
let
|
|
1873
|
-
if (!
|
|
1874
|
-
let
|
|
1875
|
-
|
|
1876
|
-
let
|
|
1877
|
-
|
|
1878
|
-
let v = Math.max(80 * i,
|
|
1879
|
-
for (let [
|
|
1880
|
-
let
|
|
1881
|
-
|
|
1882
|
-
let
|
|
1883
|
-
|
|
1864
|
+
for (let [a, u] of c.entries()) {
|
|
1865
|
+
let g = n.get(a);
|
|
1866
|
+
if (!g?.text) continue;
|
|
1867
|
+
let f = g.text.x, m = g.text.y, y = Math.min(...g.circles.map((D) => D.radius)), _ = Math.min(...g.circles.map((D) => D.radius - Math.hypot(f - D.x, m - D.y))), E = Number.isFinite(_) ? Math.max(0, _) : 0;
|
|
1868
|
+
E === 0 && Number.isFinite(y) && (E = y * 0.6);
|
|
1869
|
+
let d = h.append("g").attr("class", "venn-text-area").attr("font-size", `${40 * i}px`);
|
|
1870
|
+
o && d.append("circle").attr("class", "venn-text-debug-circle").attr("cx", f).attr("cy", m).attr("r", E).attr("fill", "none").attr("stroke", "purple").attr("stroke-width", 1.5 * i).attr("stroke-dasharray", `${6 * i} ${4 * i}`);
|
|
1871
|
+
let v = Math.max(80 * i, E * 2 * 0.95), b = Math.max(60 * i, E * 2 * 0.95), x = (g.data.label && g.data.label.length > 0 ? Math.min(32 * i, E * 0.25) : 0) + (u.length <= 2 ? 30 * i : 0), I = f - v / 2, l = m - b / 2 + x, p = Math.max(1, Math.ceil(Math.sqrt(u.length))), M = Math.max(1, Math.ceil(u.length / p)), z = v / p, R = b / M;
|
|
1872
|
+
for (let [D, U] of u.entries()) {
|
|
1873
|
+
let T = D % p, A = Math.floor(D / p), S = I + z * (T + 0.5), N = l + R * (A + 0.5);
|
|
1874
|
+
o && d.append("rect").attr("class", "venn-text-debug-cell").attr("x", I + z * T).attr("y", l + R * A).attr("width", z).attr("height", R).attr("fill", "none").attr("stroke", "teal").attr("stroke-width", 1 * i).attr("stroke-dasharray", `${4 * i} ${3 * i}`);
|
|
1875
|
+
let F = z * 0.9, $ = R * 0.9, G = d.append("foreignObject").attr("class", "venn-text-node-fo").attr("width", F).attr("height", $).attr("x", S - F / 2).attr("y", N - $ / 2).attr("overflow", "visible"), K = r.get(U.id)?.color, B = G.append("xhtml:span").attr("class", "venn-text-node").style("display", "flex").style("width", "100%").style("height", "100%").style("white-space", "normal").style("align-items", "center").style("justify-content", "center").style("text-align", "center").style("overflow-wrap", "normal").style("word-break", "normal").text(U.label ?? U.id);
|
|
1876
|
+
K && B.style("color", K);
|
|
1884
1877
|
}
|
|
1885
1878
|
}
|
|
1886
1879
|
}
|