@mobileaction/action-kit 1.57.0 → 1.57.1
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/action-kit.mjs +1 -1
- package/dist/{annotations-DzxKra_-.js → annotations-DjS6cZ0g.js} +386 -383
- package/dist/components/typography/index.vue.d.ts +1 -1
- package/dist/export-data-DSMuByxy.js +332 -0
- package/dist/exporting-DZnBR8gm.js +601 -0
- package/dist/funnel-DaTDEOyF.js +134 -0
- package/dist/{index-C8r4OcCO.js → index-bTz35Vhl.js} +1879 -1845
- package/dist/map-BhX11nMc.js +1744 -0
- package/dist/offline-exporting-Dj1jDKzF.js +192 -0
- package/dist/stock-Cv-uIi1p.js +2076 -0
- package/dist/venn-CgBXe2Vp.js +453 -0
- package/dist/wordcloud-Bwb3kAJt.js +227 -0
- package/package.json +2 -2
- package/dist/export-data-B7wYF5EQ.js +0 -327
- package/dist/exporting-B0cCEyyg.js +0 -535
- package/dist/funnel-DTHaLuEK.js +0 -135
- package/dist/map-C_BILLYp.js +0 -1757
- package/dist/offline-exporting-8t0G_rUZ.js +0 -192
- package/dist/stock-DyTZKEyb.js +0 -2044
- package/dist/venn-DfFwIzSQ.js +0 -454
- package/dist/wordcloud-Hu3_8VaC.js +0 -235
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
import { g as Wt } from "./index-bTz35Vhl.js";
|
|
2
|
+
function Ht(L, q) {
|
|
3
|
+
for (var M = 0; M < q.length; M++) {
|
|
4
|
+
const P = q[M];
|
|
5
|
+
if (typeof P != "string" && !Array.isArray(P)) {
|
|
6
|
+
for (const T in P)
|
|
7
|
+
if (T !== "default" && !(T in L)) {
|
|
8
|
+
const I = Object.getOwnPropertyDescriptor(P, T);
|
|
9
|
+
I && Object.defineProperty(L, T, I.get ? I : {
|
|
10
|
+
enumerable: !0,
|
|
11
|
+
get: () => P[T]
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return Object.freeze(Object.defineProperty(L, Symbol.toStringTag, { value: "Module" }));
|
|
17
|
+
}
|
|
18
|
+
var U = { exports: {} }, $t = U.exports, dt;
|
|
19
|
+
function zt() {
|
|
20
|
+
return dt || (dt = 1, function(L, q) {
|
|
21
|
+
/**
|
|
22
|
+
* Highcharts JS v12.5.0 (2026-01-12)
|
|
23
|
+
* @module highcharts/modules/venn
|
|
24
|
+
* @requires highcharts
|
|
25
|
+
*
|
|
26
|
+
* (c) 2017-2026 Highsoft AS
|
|
27
|
+
* Authors: Jon Arild Nygard
|
|
28
|
+
*
|
|
29
|
+
* A commercial license may be required depending on use.
|
|
30
|
+
* See www.highcharts.com/license
|
|
31
|
+
*/
|
|
32
|
+
(function(M, P) {
|
|
33
|
+
L.exports = P(M._Highcharts, M._Highcharts.Color, M._Highcharts.SeriesRegistry);
|
|
34
|
+
})("u" < typeof window ? $t : window, (M, P, T) => (() => {
|
|
35
|
+
var I, W, H, gt = { 512: (r) => {
|
|
36
|
+
r.exports = T;
|
|
37
|
+
}, 620: (r) => {
|
|
38
|
+
r.exports = P;
|
|
39
|
+
}, 944: (r) => {
|
|
40
|
+
r.exports = M;
|
|
41
|
+
} }, Z = {};
|
|
42
|
+
function v(r) {
|
|
43
|
+
var t = Z[r];
|
|
44
|
+
if (t !== void 0) return t.exports;
|
|
45
|
+
var n = Z[r] = { exports: {} };
|
|
46
|
+
return gt[r](n, n.exports, v), n.exports;
|
|
47
|
+
}
|
|
48
|
+
v.n = (r) => {
|
|
49
|
+
var t = r && r.__esModule ? () => r.default : () => r;
|
|
50
|
+
return v.d(t, { a: t }), t;
|
|
51
|
+
}, v.d = (r, t) => {
|
|
52
|
+
for (var n in t) v.o(t, n) && !v.o(r, n) && Object.defineProperty(r, n, { enumerable: !0, get: t[n] });
|
|
53
|
+
}, v.o = (r, t) => Object.prototype.hasOwnProperty.call(r, t);
|
|
54
|
+
var tt = {};
|
|
55
|
+
v.d(tt, { default: () => qt });
|
|
56
|
+
var yt = v(944), E = v.n(yt), xt = v(620), mt = v.n(xt);
|
|
57
|
+
(I = W || (W = {})).getCenterOfPoints = function(r) {
|
|
58
|
+
let t = r.reduce((n, a) => (n.x += a.x, n.y += a.y, n), { x: 0, y: 0 });
|
|
59
|
+
return { x: t.x / r.length, y: t.y / r.length };
|
|
60
|
+
}, I.getDistanceBetweenPoints = function(r, t) {
|
|
61
|
+
return Math.sqrt(Math.pow(t.x - r.x, 2) + Math.pow(t.y - r.y, 2));
|
|
62
|
+
}, I.getAngleBetweenPoints = function(r, t) {
|
|
63
|
+
return Math.atan2(t.x - r.x, t.y - r.y);
|
|
64
|
+
}, I.pointInPolygon = function({ x: r, y: t }, n) {
|
|
65
|
+
let a = n.length, c, o, e = !1;
|
|
66
|
+
for (c = 0, o = a - 1; c < a; o = c++) {
|
|
67
|
+
let [l, u] = n[c], [i, s] = n[o];
|
|
68
|
+
u > t != s > t && r < (i - l) * (t - u) / (s - u) + l && (e = !e);
|
|
69
|
+
}
|
|
70
|
+
return e;
|
|
71
|
+
};
|
|
72
|
+
let N = W, { getAngleBetweenPoints: $, getCenterOfPoints: et, getDistanceBetweenPoints: D } = N, { correctFloat: bt } = E();
|
|
73
|
+
(function(r) {
|
|
74
|
+
function t(i, s) {
|
|
75
|
+
let f = Math.pow(10, s);
|
|
76
|
+
return Math.round(i * f) / f;
|
|
77
|
+
}
|
|
78
|
+
function n(i) {
|
|
79
|
+
if (i <= 0) throw Error("radius of circle must be a positive number.");
|
|
80
|
+
return bt(Math.PI * i * i);
|
|
81
|
+
}
|
|
82
|
+
function a(i, s) {
|
|
83
|
+
return i * i * Math.acos(1 - s / i) - (i - s) * Math.sqrt(s * (2 * i - s));
|
|
84
|
+
}
|
|
85
|
+
function c(i, s) {
|
|
86
|
+
let f = D(i, s), p = i.r, d = s.r, O = [];
|
|
87
|
+
if (f < p + d && f > Math.abs(p - d)) {
|
|
88
|
+
let x = p * p, g = (x - d * d + f * f) / (2 * f), m = Math.sqrt(x - g * g), y = i.x, b = s.x, h = i.y, X = s.y, A = y + g * (b - y) / f, V = h + g * (X - h) / f, S = -(m / f * (X - h)), k = -(m / f * (b - y));
|
|
89
|
+
O = [{ x: t(A + S, 14), y: t(V - k, 14) }, { x: t(A - S, 14), y: t(V + k, 14) }];
|
|
90
|
+
}
|
|
91
|
+
return O;
|
|
92
|
+
}
|
|
93
|
+
function o(i) {
|
|
94
|
+
return i.reduce((s, f, p, d) => {
|
|
95
|
+
let O = d.slice(p + 1).reduce((x, g, m) => {
|
|
96
|
+
let y = [p, m + p + 1];
|
|
97
|
+
return x.concat(c(f, g).map((b) => (b.indexes = y, b)));
|
|
98
|
+
}, []);
|
|
99
|
+
return s.concat(O);
|
|
100
|
+
}, []);
|
|
101
|
+
}
|
|
102
|
+
function e(i, s) {
|
|
103
|
+
return D(i, s) <= s.r + 1e-10;
|
|
104
|
+
}
|
|
105
|
+
function l(i, s) {
|
|
106
|
+
return !s.some(function(f) {
|
|
107
|
+
return !e(i, f);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function u(i) {
|
|
111
|
+
return o(i).filter(function(s) {
|
|
112
|
+
return l(s, i);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
r.round = t, r.getAreaOfCircle = n, r.getCircularSegmentArea = a, r.getOverlapBetweenCircles = function(i, s, f) {
|
|
116
|
+
let p = 0;
|
|
117
|
+
if (f < i + s) {
|
|
118
|
+
if (f <= Math.abs(s - i)) p = n(i < s ? i : s);
|
|
119
|
+
else {
|
|
120
|
+
let d = (i * i - s * s + f * f) / (2 * f);
|
|
121
|
+
p = a(i, i - d) + a(s, s - (f - d));
|
|
122
|
+
}
|
|
123
|
+
p = t(p, 14);
|
|
124
|
+
}
|
|
125
|
+
return p;
|
|
126
|
+
}, r.getCircleCircleIntersection = c, r.getCirclesIntersectionPoints = o, r.isCircle1CompletelyOverlappingCircle2 = function(i, s) {
|
|
127
|
+
return D(i, s) + s.r < i.r + 1e-10;
|
|
128
|
+
}, r.isPointInsideCircle = e, r.isPointInsideAllCircles = l, r.isPointOutsideAllCircles = function(i, s) {
|
|
129
|
+
return !s.some(function(f) {
|
|
130
|
+
return e(i, f);
|
|
131
|
+
});
|
|
132
|
+
}, r.getCirclesIntersectionPolygon = u, r.getAreaOfIntersectionBetweenCircles = function(i) {
|
|
133
|
+
let s = u(i), f;
|
|
134
|
+
if (s.length > 1) {
|
|
135
|
+
let p = et(s), d = (s = s.map(function(x) {
|
|
136
|
+
return x.angle = $(p, x), x;
|
|
137
|
+
}).sort(function(x, g) {
|
|
138
|
+
return g.angle - x.angle;
|
|
139
|
+
}))[s.length - 1], O = s.reduce(function(x, g) {
|
|
140
|
+
let { startPoint: m } = x, y = et([m, g]), b = g.indexes.filter(function(h) {
|
|
141
|
+
return m.indexes.indexOf(h) > -1;
|
|
142
|
+
}).reduce(function(h, X) {
|
|
143
|
+
let A = i[X], V = $(A, g), S = $(A, m), k = S - V + (S < V ? 2 * Math.PI : 0), pt = S - k / 2, B = D(y, { x: A.x + A.r * Math.sin(pt), y: A.y + A.r * Math.cos(pt) }), { r: F } = A;
|
|
144
|
+
return B > 2 * F && (B = 2 * F), (!h || h.width > B) && (h = { r: F, largeArc: +(B > F), width: B, x: g.x, y: g.y }), h;
|
|
145
|
+
}, null);
|
|
146
|
+
if (b) {
|
|
147
|
+
let { r: h } = b;
|
|
148
|
+
x.arcs.push(["A", h, h, 0, b.largeArc, 1, b.x, b.y]), x.startPoint = g;
|
|
149
|
+
}
|
|
150
|
+
return x;
|
|
151
|
+
}, { startPoint: d, arcs: [] }).arcs;
|
|
152
|
+
O.length === 0 || O.length === 1 || (O.unshift(["M", d.x, d.y]), f = { center: p, d: O });
|
|
153
|
+
}
|
|
154
|
+
return f;
|
|
155
|
+
};
|
|
156
|
+
})(H || (H = {}));
|
|
157
|
+
let z = H, vt = function(r, t) {
|
|
158
|
+
let { animatableAttribs: n, onComplete: a, css: c, renderer: o } = t, e = r.series && r.series.chart.hasRendered ? void 0 : r.series && r.series.options.animation, l = r.graphic;
|
|
159
|
+
if (t.attribs = { ...t.attribs, class: r.getClassName() }, r.shouldDraw()) l || (r.graphic = l = t.shapeType === "text" ? o.text() : t.shapeType === "image" ? o.image(t.imageUrl || "").attr(t.shapeArgs || {}) : o[t.shapeType](t.shapeArgs || {}), l.add(t.group)), c && l.css(c), l.attr(t.attribs).animate(n, !t.isNew && e, a);
|
|
160
|
+
else if (l) {
|
|
161
|
+
let u = () => {
|
|
162
|
+
r.graphic = l = l && l.destroy(), typeof a == "function" && a();
|
|
163
|
+
};
|
|
164
|
+
Object.keys(n).length ? l.animate(n, void 0, () => u()) : u();
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
var Ot = v(512), R = v.n(Ot);
|
|
168
|
+
let { scatter: { prototype: { pointClass: Ct } } } = R().seriesTypes, { isNumber: At } = E(), { getAreaOfCircle: Mt, getCircleCircleIntersection: Pt, getOverlapBetweenCircles: rt, isPointInsideAllCircles: wt, isPointInsideCircle: It, isPointOutsideAllCircles: Tt } = z, { getDistanceBetweenPoints: Y } = N, { extend: Et, isArray: G, isNumber: jt, isObject: nt, isString: St } = E();
|
|
169
|
+
function it(r) {
|
|
170
|
+
let t = {};
|
|
171
|
+
return r.filter((n) => n.sets.length === 2).forEach((n) => {
|
|
172
|
+
n.sets.forEach((a, c, o) => {
|
|
173
|
+
nt(t[a]) || (t[a] = { totalOverlap: 0, overlapping: {} }), t[a] = { totalOverlap: (t[a].totalOverlap || 0) + n.value, overlapping: { ...t[a].overlapping || {}, [o[1 - c]]: n.value } };
|
|
174
|
+
});
|
|
175
|
+
}), r.filter(_).forEach((n) => {
|
|
176
|
+
let a = t[n.sets[0]];
|
|
177
|
+
Et(n, a);
|
|
178
|
+
}), r;
|
|
179
|
+
}
|
|
180
|
+
function st(r, t, n, a, c) {
|
|
181
|
+
let o = r(t), e = r(n), l = 100, u = 1e-10, i = n - t, s, f, p = 1;
|
|
182
|
+
if (t >= n) throw Error("a must be smaller than b.");
|
|
183
|
+
if (o * e > 0) throw Error("f(a) and f(b) must have opposite signs.");
|
|
184
|
+
if (o === 0) s = t;
|
|
185
|
+
else if (e === 0) s = n;
|
|
186
|
+
else for (; p++ <= l && f !== 0 && i > u; ) i = (n - t) / 2, o * (f = r(s = t + i)) > 0 ? t = s : n = s;
|
|
187
|
+
return s;
|
|
188
|
+
}
|
|
189
|
+
function ot(r) {
|
|
190
|
+
let t = r.slice(0, -1), n = t.length, a = [], c = (o, e) => (o.sum += e[o.i], o);
|
|
191
|
+
for (let o = 0; o < n; o++) a[o] = t.reduce(c, { sum: 0, i: o }).sum / n;
|
|
192
|
+
return a;
|
|
193
|
+
}
|
|
194
|
+
function J(r, t, n) {
|
|
195
|
+
let a = r + t;
|
|
196
|
+
return n <= 0 ? a : Mt(r < t ? r : t) <= n ? 0 : st((c) => n - rt(r, t, c), 0, a);
|
|
197
|
+
}
|
|
198
|
+
function _(r) {
|
|
199
|
+
return G(r.sets) && r.sets.length === 1;
|
|
200
|
+
}
|
|
201
|
+
function lt(r) {
|
|
202
|
+
let t = {};
|
|
203
|
+
return nt(r) && jt(r.value) && r.value > -1 && G(r.sets) && r.sets.length > 0 && !r.sets.some(function(n) {
|
|
204
|
+
let a = !1;
|
|
205
|
+
return !t[n] && St(n) ? t[n] = !0 : a = !0, a;
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
function at(r, t) {
|
|
209
|
+
return t.reduce(function(n, a) {
|
|
210
|
+
let c = 0;
|
|
211
|
+
if (a.sets.length > 1) {
|
|
212
|
+
let o = a.value - function(e) {
|
|
213
|
+
let l = 0;
|
|
214
|
+
if (e.length === 2) {
|
|
215
|
+
let u = e[0], i = e[1];
|
|
216
|
+
l = rt(u.r, i.r, Y(u, i));
|
|
217
|
+
}
|
|
218
|
+
return l;
|
|
219
|
+
}(a.sets.map(function(e) {
|
|
220
|
+
return r[e];
|
|
221
|
+
}));
|
|
222
|
+
c = Math.round(o * o * 1e11) / 1e11;
|
|
223
|
+
}
|
|
224
|
+
return n + c;
|
|
225
|
+
}, 0);
|
|
226
|
+
}
|
|
227
|
+
function ct(r, t) {
|
|
228
|
+
return t.totalOverlap !== void 0 && r.totalOverlap !== void 0 ? t.totalOverlap - r.totalOverlap : NaN;
|
|
229
|
+
}
|
|
230
|
+
let w = { geometry: N, geometryCircles: z, addOverlapToSets: it, getCentroid: ot, getDistanceBetweenCirclesByOverlap: J, getLabelWidth: function(r, t, n) {
|
|
231
|
+
let a = t.reduce((e, l) => Math.min(l.r, e), 1 / 0), c = n.filter((e) => !It(r, e)), o = function(e, l) {
|
|
232
|
+
return st((u) => {
|
|
233
|
+
let i = { x: r.x + l * u, y: r.y };
|
|
234
|
+
return -(e - u) + (wt(i, t) && Tt(i, c) ? 0 : Number.MAX_VALUE);
|
|
235
|
+
}, 0, e);
|
|
236
|
+
};
|
|
237
|
+
return 2 * Math.min(o(a, -1), o(a, 1));
|
|
238
|
+
}, getMarginFromCircles: function(r, t, n) {
|
|
239
|
+
let a = t.reduce((c, o) => {
|
|
240
|
+
let e = o.r - Y(r, o);
|
|
241
|
+
return e <= c ? e : c;
|
|
242
|
+
}, Number.MAX_VALUE);
|
|
243
|
+
return n.reduce((c, o) => {
|
|
244
|
+
let e = Y(r, o) - o.r;
|
|
245
|
+
return e <= c ? e : c;
|
|
246
|
+
}, a);
|
|
247
|
+
}, isSet: _, layoutGreedyVenn: function(r) {
|
|
248
|
+
let t = [], n = {};
|
|
249
|
+
r.filter((e) => e.sets.length === 1).forEach((e) => {
|
|
250
|
+
n[e.sets[0]] = e.circle = { x: Number.MAX_VALUE, y: Number.MAX_VALUE, r: Math.sqrt(e.value / Math.PI) };
|
|
251
|
+
});
|
|
252
|
+
let a = (e, l) => {
|
|
253
|
+
let u = e.circle;
|
|
254
|
+
u && (u.x = l.x, u.y = l.y), t.push(e);
|
|
255
|
+
};
|
|
256
|
+
it(r);
|
|
257
|
+
let c = r.filter(_).sort(ct);
|
|
258
|
+
a(c.shift(), { x: 0, y: 0 });
|
|
259
|
+
let o = r.filter((e) => e.sets.length === 2);
|
|
260
|
+
for (let e of c) {
|
|
261
|
+
let l = e.circle;
|
|
262
|
+
if (!l) continue;
|
|
263
|
+
let u = l.r, i = e.overlapping;
|
|
264
|
+
a(e, t.reduce((s, f, p) => {
|
|
265
|
+
let d = f.circle;
|
|
266
|
+
if (!d || !i) return s;
|
|
267
|
+
let O = i[f.sets[0]], x = J(u, d.r, O), g = [{ x: d.x + x, y: d.y }, { x: d.x - x, y: d.y }, { x: d.x, y: d.y + x }, { x: d.x, y: d.y - x }];
|
|
268
|
+
for (let m of t.slice(p + 1)) {
|
|
269
|
+
let y = m.circle, b = i[m.sets[0]];
|
|
270
|
+
if (!y) continue;
|
|
271
|
+
let h = J(u, y.r, b);
|
|
272
|
+
g = g.concat(Pt({ x: d.x, y: d.y, r: x }, { x: y.x, y: y.y, r: h }));
|
|
273
|
+
}
|
|
274
|
+
for (let m of g) {
|
|
275
|
+
l.x = m.x, l.y = m.y;
|
|
276
|
+
let y = at(n, o);
|
|
277
|
+
y < s.loss && (s.loss = y, s.coordinates = m);
|
|
278
|
+
}
|
|
279
|
+
return s;
|
|
280
|
+
}, { loss: Number.MAX_VALUE, coordinates: void 0 }).coordinates);
|
|
281
|
+
}
|
|
282
|
+
return n;
|
|
283
|
+
}, loss: at, nelderMead: function(r, t) {
|
|
284
|
+
let n = function(u, i) {
|
|
285
|
+
return u.fx - i.fx;
|
|
286
|
+
}, a = (u, i, s, f) => i.map((p, d) => u * p + s * f[d]), c = (u, i) => (i.fx = r(i), u[u.length - 1] = i, u), o = (u) => {
|
|
287
|
+
let i = u[0];
|
|
288
|
+
return u.map((s) => {
|
|
289
|
+
let f = a(0.5, i, 0.5, s);
|
|
290
|
+
return f.fx = r(f), f;
|
|
291
|
+
});
|
|
292
|
+
}, e = (u, i, s, f) => {
|
|
293
|
+
let p = a(s, u, f, i);
|
|
294
|
+
return p.fx = r(p), p;
|
|
295
|
+
}, l = ((u) => {
|
|
296
|
+
let i = u.length, s = Array(i + 1);
|
|
297
|
+
s[0] = u, s[0].fx = r(u);
|
|
298
|
+
for (let f = 0; f < i; ++f) {
|
|
299
|
+
let p = u.slice();
|
|
300
|
+
p[f] = p[f] ? 1.05 * p[f] : 1e-3, p.fx = r(p), s[f + 1] = p;
|
|
301
|
+
}
|
|
302
|
+
return s;
|
|
303
|
+
})(t);
|
|
304
|
+
for (let u = 0; u < 100; u++) {
|
|
305
|
+
l.sort(n);
|
|
306
|
+
let i = l[l.length - 1], s = ot(l), f = e(s, i, 2, -1);
|
|
307
|
+
if (f.fx < l[0].fx) {
|
|
308
|
+
let p = e(s, i, 3, -2);
|
|
309
|
+
l = c(l, p.fx < f.fx ? p : f);
|
|
310
|
+
} else if (f.fx >= l[l.length - 2].fx) {
|
|
311
|
+
let p;
|
|
312
|
+
l = f.fx > i.fx ? (p = e(s, i, 0.5, 0.5)).fx < i.fx ? c(l, p) : o(l) : (p = e(s, i, 1.5, -0.5)).fx < f.fx ? c(l, p) : o(l);
|
|
313
|
+
} else l = c(l, f);
|
|
314
|
+
}
|
|
315
|
+
return l[0];
|
|
316
|
+
}, processVennData: function(r, t) {
|
|
317
|
+
let n = G(r) ? r : [], a = n.reduce(function(o, e) {
|
|
318
|
+
var l;
|
|
319
|
+
return e.sets && lt(l = e) && _(l) && l.value > 0 && o.indexOf(e.sets[0]) === -1 && o.push(e.sets[0]), o;
|
|
320
|
+
}, []).sort(), c = n.reduce(function(o, e) {
|
|
321
|
+
return e.sets && lt(e) && !e.sets.some(function(l) {
|
|
322
|
+
return a.indexOf(l) === -1;
|
|
323
|
+
}) && (o[e.sets.sort().join(t)] = { sets: e.sets, value: e.value || 0 }), o;
|
|
324
|
+
}, {});
|
|
325
|
+
return a.reduce(function(o, e, l, u) {
|
|
326
|
+
return u.slice(l + 1).forEach(function(i) {
|
|
327
|
+
o.push(e + t + i);
|
|
328
|
+
}), o;
|
|
329
|
+
}, []).forEach(function(o) {
|
|
330
|
+
if (!c[o]) {
|
|
331
|
+
let e = { sets: o.split(t), value: 0 };
|
|
332
|
+
c[o] = e;
|
|
333
|
+
}
|
|
334
|
+
}), Object.keys(c).map(function(o) {
|
|
335
|
+
return c[o];
|
|
336
|
+
});
|
|
337
|
+
}, sortByTotalOverlap: ct }, { animObject: Lt } = E(), { parse: Vt } = mt(), { getAreaOfIntersectionBetweenCircles: Bt, getCirclesIntersectionPolygon: Nt, isCircle1CompletelyOverlappingCircle2: Dt, isPointInsideAllCircles: _t, isPointOutsideAllCircles: Xt } = z, { getCenterOfPoints: kt } = N, { scatter: K } = R().seriesTypes, { addEvent: Ft, extend: ut, isArray: ft, isNumber: j, isObject: Ut, merge: Q } = E();
|
|
338
|
+
class C extends K {
|
|
339
|
+
static getLabelPosition(t, n) {
|
|
340
|
+
let a = t.reduce((o, e) => {
|
|
341
|
+
let l = e.r / 2;
|
|
342
|
+
return [{ x: e.x, y: e.y }, { x: e.x + l, y: e.y }, { x: e.x - l, y: e.y }, { x: e.x, y: e.y + l }, { x: e.x, y: e.y - l }].reduce((u, i) => {
|
|
343
|
+
let s = w.getMarginFromCircles(i, t, n);
|
|
344
|
+
return u.margin < s && (u.point = i, u.margin = s), u;
|
|
345
|
+
}, o);
|
|
346
|
+
}, { point: void 0, margin: -Number.MAX_VALUE }).point, c = w.nelderMead((o) => -w.getMarginFromCircles({ x: o[0], y: o[1] }, t, n), [a.x, a.y]);
|
|
347
|
+
return _t(a = { x: c[0], y: c[1] }, t) && Xt(a, n) || (a = t.length > 1 ? kt(Nt(t)) : { x: t[0].x, y: t[0].y }), a;
|
|
348
|
+
}
|
|
349
|
+
static getLabelValues(t, n) {
|
|
350
|
+
let a = t.sets, c = n.reduce((l, u) => {
|
|
351
|
+
let i = a.indexOf(u.sets[0]) > -1;
|
|
352
|
+
return u.circle && l[i ? "internal" : "external"].push(u.circle), l;
|
|
353
|
+
}, { internal: [], external: [] });
|
|
354
|
+
c.external = c.external.filter((l) => c.internal.some((u) => !Dt(l, u)));
|
|
355
|
+
let o = C.getLabelPosition(c.internal, c.external), e = w.getLabelWidth(o, c.internal, c.external);
|
|
356
|
+
return { position: o, width: e };
|
|
357
|
+
}
|
|
358
|
+
static layout(t) {
|
|
359
|
+
let n = {}, a = {};
|
|
360
|
+
if (t.length > 0) {
|
|
361
|
+
let c = w.layoutGreedyVenn(t), o = t.filter(w.isSet);
|
|
362
|
+
for (let e of t) {
|
|
363
|
+
let l = e.sets, u = l.join(), i = w.isSet(e) ? c[u] : Bt(l.map((s) => c[s]));
|
|
364
|
+
i && (n[u] = i, a[u] = C.getLabelValues(e, o));
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
return { mapOfIdToShape: n, mapOfIdToLabelValues: a };
|
|
368
|
+
}
|
|
369
|
+
static getScale(t, n, a) {
|
|
370
|
+
let c = a.bottom - a.top, o = a.right - a.left, e = (a.right + a.left) / 2, l = (a.top + a.bottom) / 2, u = Math.min(o > 0 ? 1 / o * t : 1, c > 0 ? 1 / c * n : 1);
|
|
371
|
+
return { scale: u, centerX: t / 2 - e * u, centerY: n / 2 - l * u };
|
|
372
|
+
}
|
|
373
|
+
static updateFieldBoundaries(t, n) {
|
|
374
|
+
let a = n.x - n.r, c = n.x + n.r, o = n.y + n.r, e = n.y - n.r;
|
|
375
|
+
return (!j(t.left) || t.left > a) && (t.left = a), (!j(t.right) || t.right < c) && (t.right = c), (!j(t.top) || t.top > e) && (t.top = e), (!j(t.bottom) || t.bottom < o) && (t.bottom = o), t;
|
|
376
|
+
}
|
|
377
|
+
animate(t) {
|
|
378
|
+
if (!t) {
|
|
379
|
+
let n = Lt(this.options.animation);
|
|
380
|
+
for (let a of this.points) {
|
|
381
|
+
let c = a.shapeArgs;
|
|
382
|
+
if (a.graphic && c) {
|
|
383
|
+
let o = {}, e = {};
|
|
384
|
+
c.d ? o.opacity = 1e-3 : (o.r = 0, e.r = c.r), a.graphic.attr(o).animate(e, n), c.d && setTimeout(() => {
|
|
385
|
+
a?.graphic?.animate({ opacity: 1 });
|
|
386
|
+
}, n.duration);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
drawPoints() {
|
|
392
|
+
let t = this.chart, n = this.group, a = this.points || [], c = t.renderer;
|
|
393
|
+
for (let o of a) {
|
|
394
|
+
let e = { zIndex: ft(o.sets) ? o.sets.length : 0 }, l = o.shapeArgs;
|
|
395
|
+
t.styledMode || ut(e, this.pointAttribs(o, o.state)), vt(o, { isNew: !o.graphic, animatableAttribs: l, attribs: e, group: n, renderer: c, shapeType: l?.d ? "path" : "circle" });
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
init() {
|
|
399
|
+
K.prototype.init.apply(this, arguments), delete this.opacity;
|
|
400
|
+
}
|
|
401
|
+
pointAttribs(t, n) {
|
|
402
|
+
let a = this.options || {}, c = t?.options || {}, o = n && a.states[n] || {}, e = Q(a, { color: t?.color }, c, o);
|
|
403
|
+
return { fill: Vt(e.color).brighten(e.brightness).get(), opacity: e.opacity, stroke: e.borderColor, "stroke-width": e.borderWidth, dashstyle: e.borderDashStyle };
|
|
404
|
+
}
|
|
405
|
+
translate() {
|
|
406
|
+
let t = this.chart;
|
|
407
|
+
this.dataTable.modified = this.dataTable, this.generatePoints();
|
|
408
|
+
let n = w.processVennData(this.options.data, C.splitter), { mapOfIdToShape: a, mapOfIdToLabelValues: c } = C.layout(n), o = Object.keys(a).filter((s) => {
|
|
409
|
+
let f = a[s];
|
|
410
|
+
return f && j(f.r);
|
|
411
|
+
}).reduce((s, f) => C.updateFieldBoundaries(s, a[f]), { top: 0, bottom: 0, left: 0, right: 0 }), e = C.getScale(t.plotWidth, t.plotHeight, o), l = e.scale, u = e.centerX, i = e.centerY;
|
|
412
|
+
for (let s of this.points) {
|
|
413
|
+
let f = ft(s.sets) ? s.sets : [], p = f.join(), d = a[p], O = c[p] || {}, x = s.options?.dataLabels, g, m = O.width, y = O.position;
|
|
414
|
+
if (d) {
|
|
415
|
+
if (d.r) g = { x: u + d.x * l, y: i + d.y * l, r: d.r * l };
|
|
416
|
+
else if (d.d) {
|
|
417
|
+
let b = d.d;
|
|
418
|
+
b.forEach((h) => {
|
|
419
|
+
h[0] === "M" ? (h[1] = u + h[1] * l, h[2] = i + h[2] * l) : h[0] === "A" && (h[1] = h[1] * l, h[2] = h[2] * l, h[6] = u + h[6] * l, h[7] = i + h[7] * l);
|
|
420
|
+
}), g = { d: b };
|
|
421
|
+
}
|
|
422
|
+
y ? (y.x = u + y.x * l, y.y = i + y.y * l) : y = {}, j(m) && (m = Math.round(m * l));
|
|
423
|
+
}
|
|
424
|
+
s.shapeArgs = g, y && g && (s.plotX = y.x, s.plotY = y.y), m && g && (s.dlOptions = Q(!0, { style: { width: m } }, Ut(x, !0) ? x : void 0, { zIndex: void 0 })), s.name = s.options.name || f.join("∩");
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
C.splitter = "highcharts-split", C.defaultOptions = Q(K.defaultOptions, { borderColor: "#cccccc", borderDashStyle: "solid", borderWidth: 1, brighten: 0, clip: !1, colorByPoint: !0, dataLabels: { enabled: !0, verticalAlign: "middle", formatter: function() {
|
|
429
|
+
return this.point.name;
|
|
430
|
+
} }, inactiveOtherPoints: !0, marker: !1, opacity: 0.75, showInLegend: !1, legendType: "point", states: { hover: { opacity: 1, borderColor: "#333333" }, select: { color: "#cccccc", borderColor: "#000000", animation: !1 }, inactive: { opacity: 0.075 } }, tooltip: { pointFormat: "{point.name}: {point.value}" }, legendSymbol: "rectangle" }), ut(C.prototype, { axisTypes: [], directTouch: !0, isCartesian: !1, pointArrayMap: ["value"], pointClass: class extends Ct {
|
|
431
|
+
isValid() {
|
|
432
|
+
return At(this.value);
|
|
433
|
+
}
|
|
434
|
+
shouldDraw() {
|
|
435
|
+
return !!this.shapeArgs;
|
|
436
|
+
}
|
|
437
|
+
}, utils: w }), Ft(C, "afterSetOptions", function(r) {
|
|
438
|
+
let t = r.options.states || {};
|
|
439
|
+
if (this.is("venn")) for (let n of Object.keys(t)) t[n].halo = !1;
|
|
440
|
+
}), R().registerSeriesType("venn", C);
|
|
441
|
+
let qt = E();
|
|
442
|
+
return tt.default;
|
|
443
|
+
})());
|
|
444
|
+
}(U)), U.exports;
|
|
445
|
+
}
|
|
446
|
+
var ht = zt();
|
|
447
|
+
const Rt = /* @__PURE__ */ Wt(ht), Gt = /* @__PURE__ */ Ht({
|
|
448
|
+
__proto__: null,
|
|
449
|
+
default: Rt
|
|
450
|
+
}, [ht]);
|
|
451
|
+
export {
|
|
452
|
+
Gt as v
|
|
453
|
+
};
|