@cfasim-ui/charts 0.4.5 → 0.4.7
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/BarChart/BarChart.d.ts +9 -55
- package/dist/ChartMenu/download.d.ts +5 -0
- package/dist/ChartMenu/download.test.d.ts +1 -0
- package/dist/LineChart/LineChart.d.ts +9 -67
- package/dist/_shared/ChartAnnotations.d.ts +25 -0
- package/dist/_shared/annotations.d.ts +94 -0
- package/dist/_shared/chartProps.d.ts +67 -0
- package/dist/_shared/index.d.ts +5 -1
- package/dist/_shared/useChartFoundation.d.ts +82 -0
- package/dist/_shared/useChartPadding.d.ts +34 -1
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1123 -773
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { Fragment as e, Teleport as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, createVNode as c, defineComponent as l, guardReactiveProps as u, mergeProps as d, normalizeClass as f, normalizeProps as p, normalizeStyle as m, onMounted as h, onUnmounted as
|
|
2
|
-
import { DropdownMenuContent as
|
|
3
|
-
import { geoAlbersUsa as
|
|
4
|
-
import { zoom as
|
|
1
|
+
import { Fragment as e, Teleport as t, computed as n, createBlock as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, createTextVNode as s, createVNode as c, defineComponent as l, guardReactiveProps as u, mergeProps as d, normalizeClass as f, normalizeProps as p, normalizeStyle as m, onMounted as h, onUnmounted as g, openBlock as _, ref as v, renderList as y, renderSlot as ee, toDisplayString as b, toHandlers as te, toRaw as x, unref as S, useSlots as C, useTemplateRef as w, watch as T, withCtx as E } from "vue";
|
|
2
|
+
import { DropdownMenuContent as D, DropdownMenuItem as O, DropdownMenuPortal as k, DropdownMenuRoot as A, DropdownMenuTrigger as j, PopoverAnchor as M, PopoverContent as N, PopoverPortal as P, PopoverRoot as ne } from "reka-ui";
|
|
3
|
+
import { geoAlbersUsa as F, geoPath as re } from "d3-geo";
|
|
4
|
+
import { zoom as ie, zoomIdentity as ae } from "d3-zoom";
|
|
5
5
|
import { select as oe } from "d3-selection";
|
|
6
6
|
import "d3-transition";
|
|
7
|
-
import { feature as I, merge as se, mesh as
|
|
7
|
+
import { feature as I, merge as se, mesh as ce } from "topojson-client";
|
|
8
8
|
//#region src/ChartMenu/ChartMenu.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
-
var
|
|
9
|
+
var L = { class: "chart-menu-trigger-area" }, R = ["aria-label"], z = /* @__PURE__ */ l({
|
|
10
10
|
__name: "ChartMenu",
|
|
11
11
|
props: {
|
|
12
12
|
items: {},
|
|
@@ -17,15 +17,15 @@ var R = { class: "chart-menu-trigger-area" }, z = ["aria-label"], B = /* @__PURE
|
|
|
17
17
|
},
|
|
18
18
|
setup(t) {
|
|
19
19
|
let n = t, i = () => n.forceDropdown || n.items.length > 1;
|
|
20
|
-
return (n, l) => (
|
|
20
|
+
return (n, l) => (_(), a("div", L, [i() ? (_(), r(S(A), {
|
|
21
21
|
key: 1,
|
|
22
22
|
modal: !1
|
|
23
23
|
}, {
|
|
24
|
-
default:
|
|
24
|
+
default: E(() => [c(S(j), {
|
|
25
25
|
class: "chart-menu-button",
|
|
26
26
|
"aria-label": "Chart options"
|
|
27
27
|
}, {
|
|
28
|
-
default:
|
|
28
|
+
default: E(() => [...l[2] ||= [o("svg", {
|
|
29
29
|
width: "16",
|
|
30
30
|
height: "16",
|
|
31
31
|
viewBox: "0 0 16 16",
|
|
@@ -49,18 +49,18 @@ var R = { class: "chart-menu-trigger-area" }, z = ["aria-label"], B = /* @__PURE
|
|
|
49
49
|
})
|
|
50
50
|
], -1)]]),
|
|
51
51
|
_: 1
|
|
52
|
-
}), c(
|
|
53
|
-
default:
|
|
52
|
+
}), c(S(k), null, {
|
|
53
|
+
default: E(() => [c(S(D), {
|
|
54
54
|
class: "chart-menu-content",
|
|
55
55
|
"side-offset": 4,
|
|
56
56
|
align: "end"
|
|
57
57
|
}, {
|
|
58
|
-
default:
|
|
58
|
+
default: E(() => [(_(!0), a(e, null, y(t.items, (e) => (_(), r(S(O), {
|
|
59
59
|
key: e.label,
|
|
60
60
|
class: "chart-menu-item",
|
|
61
61
|
onSelect: e.action
|
|
62
62
|
}, {
|
|
63
|
-
default:
|
|
63
|
+
default: E(() => [s(b(e.label), 1)]),
|
|
64
64
|
_: 2
|
|
65
65
|
}, 1032, ["onSelect"]))), 128))]),
|
|
66
66
|
_: 1
|
|
@@ -68,7 +68,7 @@ var R = { class: "chart-menu-trigger-area" }, z = ["aria-label"], B = /* @__PURE
|
|
|
68
68
|
_: 1
|
|
69
69
|
})]),
|
|
70
70
|
_: 1
|
|
71
|
-
})) : (
|
|
71
|
+
})) : (_(), a("button", {
|
|
72
72
|
key: 0,
|
|
73
73
|
class: "chart-menu-button chart-menu-single",
|
|
74
74
|
"aria-label": t.items[0].label,
|
|
@@ -83,47 +83,47 @@ var R = { class: "chart-menu-trigger-area" }, z = ["aria-label"], B = /* @__PURE
|
|
|
83
83
|
"stroke-linecap": "round",
|
|
84
84
|
"stroke-linejoin": "round",
|
|
85
85
|
"aria-hidden": "true"
|
|
86
|
-
}, [o("path", { d: "M7 1v8M3 6l4 4 4-4M2 13h10" })], -1)]], 8,
|
|
86
|
+
}, [o("path", { d: "M7 1v8M3 6l4 4 4-4M2 13h10" })], -1)]], 8, R))]));
|
|
87
87
|
}
|
|
88
|
-
}),
|
|
88
|
+
}), B = (e, t) => {
|
|
89
89
|
let n = e.__vccOpts || e;
|
|
90
90
|
for (let [e, r] of t) n[e] = r;
|
|
91
91
|
return n;
|
|
92
|
-
},
|
|
92
|
+
}, le = /* @__PURE__ */ B(z, [["__scopeId", "data-v-b3c563e8"]]);
|
|
93
93
|
//#endregion
|
|
94
94
|
//#region src/_shared/axes.ts
|
|
95
|
-
function
|
|
95
|
+
function V(e) {
|
|
96
96
|
return Math.round(e) + .5;
|
|
97
97
|
}
|
|
98
|
-
function
|
|
98
|
+
function H(e, t) {
|
|
99
99
|
let n = e / t, r = 10 ** Math.floor(Math.log10(n)), i = n / r, a;
|
|
100
100
|
return a = i <= 1.5 ? 1 : i <= 3 ? 2 : i <= 7 ? 5 : 10, a * r;
|
|
101
101
|
}
|
|
102
|
-
function
|
|
102
|
+
function ue(e, t, n) {
|
|
103
103
|
if (!(n > 0) || !isFinite(n)) return [];
|
|
104
104
|
let r = [], i = Math.ceil(e / n) * n;
|
|
105
105
|
for (let e = 0, a = i; a <= t + 1e-9 && e < 1e3; e++, a = i + e * n) r.push(a);
|
|
106
106
|
return r;
|
|
107
107
|
}
|
|
108
|
-
var
|
|
109
|
-
function
|
|
110
|
-
return Math.abs(e) >= 1e3 ?
|
|
108
|
+
var U = new Intl.NumberFormat();
|
|
109
|
+
function W(e) {
|
|
110
|
+
return Math.abs(e) >= 1e3 ? U.format(e) : Number.isInteger(e) ? e.toString() : e.toFixed(1);
|
|
111
111
|
}
|
|
112
112
|
//#endregion
|
|
113
113
|
//#region src/_shared/computeTicks.ts
|
|
114
|
-
function
|
|
114
|
+
function G(e) {
|
|
115
115
|
let { min: t, max: n, ticks: r } = e;
|
|
116
116
|
if (t === n) return [];
|
|
117
117
|
let i = e.displayOffset ?? 0;
|
|
118
118
|
if (Array.isArray(r)) return r.map((e) => e - i).filter((e) => e >= t && e <= n);
|
|
119
|
-
if (typeof r == "number") return
|
|
120
|
-
let a = Math.max(3, Math.floor(e.targetTickCount ?? 3)), o =
|
|
121
|
-
return
|
|
119
|
+
if (typeof r == "number") return ue(t + i, n + i, r).map((e) => e - i);
|
|
120
|
+
let a = Math.max(3, Math.floor(e.targetTickCount ?? 3)), o = H(n - t, a);
|
|
121
|
+
return ue(t + i, n + i, o).map((e) => e - i);
|
|
122
122
|
}
|
|
123
123
|
//#endregion
|
|
124
124
|
//#region src/_shared/useChartSize.ts
|
|
125
|
-
function
|
|
126
|
-
let t =
|
|
125
|
+
function K(e = {}) {
|
|
126
|
+
let t = v(null), n = v(0), r = null, i = null;
|
|
127
127
|
return h(() => {
|
|
128
128
|
t.value && (n.value = t.value.clientWidth, r = new ResizeObserver((t) => {
|
|
129
129
|
let r = t[0];
|
|
@@ -133,30 +133,63 @@ function le(e = {}) {
|
|
|
133
133
|
n.value = r.contentRect.width;
|
|
134
134
|
}, a)) : n.value = r.contentRect.width;
|
|
135
135
|
}), r.observe(t.value));
|
|
136
|
-
}),
|
|
136
|
+
}), g(() => {
|
|
137
137
|
r?.disconnect(), i && clearTimeout(i);
|
|
138
138
|
}), {
|
|
139
139
|
containerRef: t,
|
|
140
140
|
measuredWidth: n
|
|
141
141
|
};
|
|
142
142
|
}
|
|
143
|
-
function
|
|
144
|
-
|
|
145
|
-
top:
|
|
146
|
-
right:
|
|
147
|
-
bottom:
|
|
148
|
-
left:
|
|
149
|
-
}
|
|
143
|
+
function de(e) {
|
|
144
|
+
return e == null ? {
|
|
145
|
+
top: 0,
|
|
146
|
+
right: 0,
|
|
147
|
+
bottom: 0,
|
|
148
|
+
left: 0
|
|
149
|
+
} : typeof e == "number" ? {
|
|
150
|
+
top: e,
|
|
151
|
+
right: e,
|
|
152
|
+
bottom: e,
|
|
153
|
+
left: e
|
|
154
|
+
} : {
|
|
155
|
+
top: e.top ?? 0,
|
|
156
|
+
right: e.right ?? 0,
|
|
157
|
+
bottom: e.bottom ?? 0,
|
|
158
|
+
left: e.left ?? 0
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
function q(e) {
|
|
162
|
+
let t = n(() => {
|
|
163
|
+
let t = de(e.extraPadding?.());
|
|
164
|
+
return {
|
|
165
|
+
top: (e.title() ? 26 : 10) + (e.hasInlineLegend() ? 20 : 0) + t.top,
|
|
166
|
+
right: 10 + t.right,
|
|
167
|
+
bottom: (e.xLabel() ? 38 : 30) + t.bottom,
|
|
168
|
+
left: (e.yLabel() ? 56 : 50) + t.left
|
|
169
|
+
};
|
|
170
|
+
}), r = n(() => (e.title() ? 26 : 10) + 20 / 2), i = n(() => e.width() - t.value.left - t.value.right), a = n(() => e.height() - t.value.top - t.value.bottom);
|
|
150
171
|
return {
|
|
151
172
|
padding: t,
|
|
152
|
-
|
|
153
|
-
|
|
173
|
+
legendY: r,
|
|
174
|
+
innerW: i,
|
|
175
|
+
innerH: a,
|
|
176
|
+
bounds: n(() => {
|
|
177
|
+
let e = t.value;
|
|
178
|
+
return {
|
|
179
|
+
left: e.left,
|
|
180
|
+
top: e.top,
|
|
181
|
+
right: e.left + i.value,
|
|
182
|
+
bottom: e.top + a.value,
|
|
183
|
+
width: i.value,
|
|
184
|
+
height: a.value
|
|
185
|
+
};
|
|
186
|
+
})
|
|
154
187
|
};
|
|
155
188
|
}
|
|
156
189
|
//#endregion
|
|
157
190
|
//#region src/tooltip-position.ts
|
|
158
|
-
var J = 16,
|
|
159
|
-
function
|
|
191
|
+
var J = 16, fe = 8;
|
|
192
|
+
function pe(e, t, n, r, i, a) {
|
|
160
193
|
if (i === "none") return {
|
|
161
194
|
left: e + J,
|
|
162
195
|
top: t
|
|
@@ -171,16 +204,16 @@ function X(e, t, n, r, i, a) {
|
|
|
171
204
|
right: window.innerWidth,
|
|
172
205
|
top: 0,
|
|
173
206
|
bottom: window.innerHeight
|
|
174
|
-
}, s = e + J + n > o.right -
|
|
207
|
+
}, s = e + J + n > o.right - fe ? e - J - n : e + J, c = r / 2;
|
|
175
208
|
return {
|
|
176
209
|
left: s,
|
|
177
|
-
top: Math.min(Math.max(t, o.top +
|
|
210
|
+
top: Math.min(Math.max(t, o.top + fe + c), o.bottom - fe - c)
|
|
178
211
|
};
|
|
179
212
|
}
|
|
180
213
|
//#endregion
|
|
181
214
|
//#region src/_shared/useChartTooltip.ts
|
|
182
|
-
function
|
|
183
|
-
let t = e.touchYOffset ?? 50, n =
|
|
215
|
+
function Y(e) {
|
|
216
|
+
let t = e.touchYOffset ?? 50, n = v(null), r = v(!1), i = v(null), a = v(null), o = v(null);
|
|
184
217
|
function s(e) {
|
|
185
218
|
return "touches" in e ? e.touches[0] ?? null : e;
|
|
186
219
|
}
|
|
@@ -193,14 +226,14 @@ function de(e) {
|
|
|
193
226
|
clientY: r.clientY
|
|
194
227
|
}, e.onHover?.({ index: i }));
|
|
195
228
|
}
|
|
196
|
-
|
|
229
|
+
T([a, n], () => {
|
|
197
230
|
if (n.value === null || !a.value) {
|
|
198
231
|
o.value = null;
|
|
199
232
|
return;
|
|
200
233
|
}
|
|
201
234
|
let s = i.value, c = e.containerRef.value;
|
|
202
235
|
if (!s || !c) return;
|
|
203
|
-
let l = c.getBoundingClientRect(), u = r.value ? t : 0, d = e.clamp?.() ?? "chart", { left: f, top: p } =
|
|
236
|
+
let l = c.getBoundingClientRect(), u = r.value ? t : 0, d = e.clamp?.() ?? "chart", { left: f, top: p } = pe(a.value.clientX, a.value.clientY - u, s.offsetWidth, s.offsetHeight, d, l);
|
|
204
237
|
o.value = {
|
|
205
238
|
left: f - l.left,
|
|
206
239
|
top: p - l.top
|
|
@@ -246,36 +279,60 @@ function de(e) {
|
|
|
246
279
|
}
|
|
247
280
|
//#endregion
|
|
248
281
|
//#region src/ChartMenu/download.ts
|
|
249
|
-
function
|
|
282
|
+
function X(e, t) {
|
|
250
283
|
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
251
284
|
r.href = n, r.download = t, r.click(), URL.revokeObjectURL(n);
|
|
252
285
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
286
|
+
var Z = [
|
|
287
|
+
"color",
|
|
288
|
+
"font-family",
|
|
289
|
+
"font-size",
|
|
290
|
+
"font-weight"
|
|
291
|
+
], Q = ["fill", "stroke"];
|
|
292
|
+
function me(e) {
|
|
293
|
+
let t = e.match(/^\s*var\(\s*(--[\w-]+)\s*(?:,\s*([^)]*?)\s*)?\)\s*$/);
|
|
294
|
+
if (!t) return e;
|
|
295
|
+
let [, n, r] = t;
|
|
296
|
+
return window.getComputedStyle(document.documentElement).getPropertyValue(n).trim() || (r ? r.trim() : e);
|
|
258
297
|
}
|
|
259
|
-
function
|
|
260
|
-
let
|
|
261
|
-
|
|
262
|
-
let
|
|
298
|
+
function he(e) {
|
|
299
|
+
let t = e.cloneNode(!0);
|
|
300
|
+
t.setAttribute("xmlns", "http://www.w3.org/2000/svg");
|
|
301
|
+
let n = window.getComputedStyle(e), r = [];
|
|
302
|
+
for (let e of Z) {
|
|
303
|
+
let t = n.getPropertyValue(e);
|
|
304
|
+
t && r.push(`${e}: ${t}`);
|
|
305
|
+
}
|
|
306
|
+
let i = t.getAttribute("style") ?? "";
|
|
307
|
+
t.setAttribute("style", [i, ...r].filter(Boolean).join("; "));
|
|
308
|
+
for (let e of t.querySelectorAll("*")) for (let t of Q) {
|
|
309
|
+
let n = e.getAttribute(t);
|
|
310
|
+
!n || !n.includes("var(") || e.setAttribute(t, me(n));
|
|
311
|
+
}
|
|
312
|
+
return t;
|
|
313
|
+
}
|
|
314
|
+
function ge(e, t) {
|
|
315
|
+
let n = he(e), r = new XMLSerializer().serializeToString(n);
|
|
316
|
+
X(new Blob([r], { type: "image/svg+xml" }), `${t}.svg`);
|
|
317
|
+
}
|
|
318
|
+
function _e(e, t) {
|
|
319
|
+
let n = he(e), r = new XMLSerializer().serializeToString(n), i = new Blob([r], { type: "image/svg+xml;charset=utf-8" }), a = URL.createObjectURL(i), o = new Image(), s = e.width.baseVal.value || e.clientWidth, c = e.height.baseVal.value || e.clientHeight;
|
|
263
320
|
o.onload = () => {
|
|
264
321
|
let e = document.createElement("canvas");
|
|
265
322
|
e.width = s * 2, e.height = c * 2;
|
|
266
323
|
let n = e.getContext("2d");
|
|
267
324
|
n.scale(2, 2), n.drawImage(o, 0, 0, s, c), e.toBlob((e) => {
|
|
268
|
-
e &&
|
|
325
|
+
e && X(e, `${t}.png`);
|
|
269
326
|
}), URL.revokeObjectURL(a);
|
|
270
327
|
}, o.src = a;
|
|
271
328
|
}
|
|
272
|
-
function
|
|
273
|
-
|
|
329
|
+
function ve(e, t) {
|
|
330
|
+
X(new Blob([e], { type: "text/csv" }), `${t}.csv`);
|
|
274
331
|
}
|
|
275
332
|
//#endregion
|
|
276
333
|
//#region src/_shared/useChartMenu.ts
|
|
277
|
-
function
|
|
278
|
-
let t =
|
|
334
|
+
function $(e) {
|
|
335
|
+
let t = v(null);
|
|
279
336
|
function r() {
|
|
280
337
|
let t = e.filename();
|
|
281
338
|
if (t) return t;
|
|
@@ -288,17 +345,17 @@ function me(e) {
|
|
|
288
345
|
let n = r(), i = [{
|
|
289
346
|
label: "Save as SVG",
|
|
290
347
|
action: () => {
|
|
291
|
-
t.value &&
|
|
348
|
+
t.value && ge(t.value, n);
|
|
292
349
|
}
|
|
293
350
|
}, {
|
|
294
351
|
label: "Save as PNG",
|
|
295
352
|
action: () => {
|
|
296
|
-
t.value &&
|
|
353
|
+
t.value && _e(t.value, n);
|
|
297
354
|
}
|
|
298
355
|
}];
|
|
299
356
|
return e.downloadLink() || i.push({
|
|
300
357
|
label: "Download CSV",
|
|
301
|
-
action: () =>
|
|
358
|
+
action: () => ve(e.getCsv(), n)
|
|
302
359
|
}), i;
|
|
303
360
|
}),
|
|
304
361
|
downloadLinkText: n(() => {
|
|
@@ -311,7 +368,7 @@ function me(e) {
|
|
|
311
368
|
}
|
|
312
369
|
//#endregion
|
|
313
370
|
//#region src/_shared/seriesCsv.ts
|
|
314
|
-
function
|
|
371
|
+
function ye(e) {
|
|
315
372
|
if (e.length === 0) return "";
|
|
316
373
|
let t = 0;
|
|
317
374
|
for (let n of e) n.data.length > t && (t = n.data.length);
|
|
@@ -323,85 +380,351 @@ function he(e) {
|
|
|
323
380
|
}
|
|
324
381
|
return i.join("\n");
|
|
325
382
|
}
|
|
326
|
-
function
|
|
383
|
+
function be(e, t, n = "category") {
|
|
327
384
|
if (t.length === 0 || e.length === 0) return "";
|
|
328
385
|
let r = [(t.length === 1 ? [n, t[0].label || "value"] : [n, ...t.map((e, t) => e.label || `series_${t}`)]).join(",")];
|
|
329
386
|
for (let n = 0; n < e.length; n++) {
|
|
330
|
-
let i = [
|
|
387
|
+
let i = [xe(e[n])];
|
|
331
388
|
for (let e of t) i.push(n < e.data.length ? String(e.data[n]) : "");
|
|
332
389
|
r.push(i.join(","));
|
|
333
390
|
}
|
|
334
391
|
return r.join("\n");
|
|
335
392
|
}
|
|
336
|
-
function
|
|
393
|
+
function xe(e) {
|
|
337
394
|
return e.includes(",") || e.includes("\"") || e.includes("\n") ? `"${e.replace(/"/g, "\"\"")}"` : e;
|
|
338
395
|
}
|
|
339
396
|
//#endregion
|
|
397
|
+
//#region src/_shared/ChartAnnotations.vue?vue&type=script&setup=true&lang.ts
|
|
398
|
+
var Se = {
|
|
399
|
+
class: "chart-annotations",
|
|
400
|
+
"pointer-events": "none"
|
|
401
|
+
}, Ce = [
|
|
402
|
+
"x1",
|
|
403
|
+
"y1",
|
|
404
|
+
"x2",
|
|
405
|
+
"y2",
|
|
406
|
+
"stroke",
|
|
407
|
+
"stroke-width",
|
|
408
|
+
"stroke-dasharray"
|
|
409
|
+
], we = [
|
|
410
|
+
"d",
|
|
411
|
+
"stroke",
|
|
412
|
+
"stroke-width",
|
|
413
|
+
"stroke-dasharray"
|
|
414
|
+
], Te = ["fill", "transform"], Ee = [
|
|
415
|
+
"x",
|
|
416
|
+
"y",
|
|
417
|
+
"text-anchor",
|
|
418
|
+
"font-size",
|
|
419
|
+
"font-weight",
|
|
420
|
+
"fill",
|
|
421
|
+
"stroke",
|
|
422
|
+
"stroke-width"
|
|
423
|
+
], De = ["x", "dy"], Oe = ["font-weight", "font-style"], ke = 13, Ae = "normal", je = 700, Me = "var(--color-bg-0, #fff)", Ne = 3, Pe = 1, Fe = 4, Ie = 6, Le = 1.2, Re = .35, ze = /* @__PURE__ */ l({
|
|
424
|
+
__name: "ChartAnnotations",
|
|
425
|
+
props: {
|
|
426
|
+
annotations: { default: () => [] },
|
|
427
|
+
project: {},
|
|
428
|
+
bounds: { default: void 0 }
|
|
429
|
+
},
|
|
430
|
+
setup(t) {
|
|
431
|
+
let r = t;
|
|
432
|
+
function s(e) {
|
|
433
|
+
if (e !== void 0) return typeof e == "number" ? `${e} ${e}` : typeof e == "string" ? e : e.join(" ");
|
|
434
|
+
}
|
|
435
|
+
function c(e) {
|
|
436
|
+
let t = [], n = !1, r = !1, i = "", a = () => {
|
|
437
|
+
i && t.push({
|
|
438
|
+
text: i,
|
|
439
|
+
bold: n,
|
|
440
|
+
italic: r
|
|
441
|
+
}), i = "";
|
|
442
|
+
};
|
|
443
|
+
for (let t = 0; t < e.length; t++) {
|
|
444
|
+
let o = e[t];
|
|
445
|
+
o === "*" && e[t + 1] === "*" ? (a(), n = !n, t++) : o === "_" ? (a(), r = !r) : i += o;
|
|
446
|
+
}
|
|
447
|
+
return a(), t.length === 0 ? [{
|
|
448
|
+
text: "",
|
|
449
|
+
bold: !1,
|
|
450
|
+
italic: !1
|
|
451
|
+
}] : t;
|
|
452
|
+
}
|
|
453
|
+
let l = n(() => {
|
|
454
|
+
let e = [];
|
|
455
|
+
for (let t of r.annotations) {
|
|
456
|
+
let n = r.project(t.x, t.y);
|
|
457
|
+
if (!n || !isFinite(n.x) || !isFinite(n.y)) continue;
|
|
458
|
+
let i = t.pointer ?? "curved", a = i.startsWith("rule");
|
|
459
|
+
if (a && !r.bounds) continue;
|
|
460
|
+
let { x: o, y: l } = t.offset, f = n.x + o, p = n.y + l, m = t.color ?? "currentColor", h = t.fontSize ?? ke, g = t.fontWeight ?? Ae, _ = t.haloColor ?? Me, v = t.haloWidth ?? Ne, y = t.lineColor ?? m, ee = t.lineWidth ?? Pe, b = s(t.lineDash), te = t.textAnchor ?? (o > 0 ? "start" : o < 0 ? "end" : "middle"), x, S = "", C, w = !a && (t.arrow ?? !0);
|
|
461
|
+
if (a && r.bounds) x = u(i, n.x, n.y, r.bounds);
|
|
462
|
+
else {
|
|
463
|
+
let e = d(n.x, n.y, f, p, h, i);
|
|
464
|
+
S = e.path, w && e.arrow && (C = e.arrow);
|
|
465
|
+
}
|
|
466
|
+
e.push({
|
|
467
|
+
lines: t.text.split("\n").map(c),
|
|
468
|
+
textX: f,
|
|
469
|
+
textY: p,
|
|
470
|
+
textAnchor: te,
|
|
471
|
+
dy: h * Le,
|
|
472
|
+
fontSize: h,
|
|
473
|
+
fontWeight: g,
|
|
474
|
+
color: m,
|
|
475
|
+
haloColor: _,
|
|
476
|
+
haloWidth: v,
|
|
477
|
+
pointerPath: S,
|
|
478
|
+
lineColor: y,
|
|
479
|
+
lineWidth: ee,
|
|
480
|
+
lineDash: b,
|
|
481
|
+
arrow: w,
|
|
482
|
+
arrowTip: C,
|
|
483
|
+
rule: x
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
return e;
|
|
487
|
+
});
|
|
488
|
+
function u(e, t, n, r) {
|
|
489
|
+
switch (e) {
|
|
490
|
+
case "ruleX": return {
|
|
491
|
+
x1: t,
|
|
492
|
+
y1: r.top,
|
|
493
|
+
x2: t,
|
|
494
|
+
y2: r.bottom
|
|
495
|
+
};
|
|
496
|
+
case "ruleY": return {
|
|
497
|
+
x1: r.left,
|
|
498
|
+
y1: n,
|
|
499
|
+
x2: r.right,
|
|
500
|
+
y2: n
|
|
501
|
+
};
|
|
502
|
+
case "ruleUp": return {
|
|
503
|
+
x1: t,
|
|
504
|
+
y1: r.bottom,
|
|
505
|
+
x2: t,
|
|
506
|
+
y2: n
|
|
507
|
+
};
|
|
508
|
+
case "ruleDown": return {
|
|
509
|
+
x1: t,
|
|
510
|
+
y1: r.top,
|
|
511
|
+
x2: t,
|
|
512
|
+
y2: n
|
|
513
|
+
};
|
|
514
|
+
case "ruleFromLeft": return {
|
|
515
|
+
x1: r.left,
|
|
516
|
+
y1: n,
|
|
517
|
+
x2: t,
|
|
518
|
+
y2: n
|
|
519
|
+
};
|
|
520
|
+
case "ruleFromRight": return {
|
|
521
|
+
x1: r.right,
|
|
522
|
+
y1: n,
|
|
523
|
+
x2: t,
|
|
524
|
+
y2: n
|
|
525
|
+
};
|
|
526
|
+
default: return {
|
|
527
|
+
x1: t,
|
|
528
|
+
y1: n,
|
|
529
|
+
x2: t,
|
|
530
|
+
y2: n
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
function d(e, t, n, r, i, a) {
|
|
535
|
+
if (a === "none") return { path: "" };
|
|
536
|
+
let o = n - e, s = r - t, c = r - i * Re;
|
|
537
|
+
if (o === 0 || s === 0 || a === "straight") {
|
|
538
|
+
let i = s === 0 ? r : c, a = n - e, o = i - t, l = Math.hypot(a, o);
|
|
539
|
+
if (l <= Fe + Ie) return { path: "" };
|
|
540
|
+
let u = a / l, d = o / l, f = e + u * Fe, p = t + d * Fe, m = n - u * Ie, h = i - d * Ie, g = Math.atan2(-d, -u) * 180 / Math.PI;
|
|
541
|
+
return {
|
|
542
|
+
path: `M${f},${p} L${m},${h}`,
|
|
543
|
+
arrow: {
|
|
544
|
+
x: f,
|
|
545
|
+
y: p,
|
|
546
|
+
angle: g
|
|
547
|
+
}
|
|
548
|
+
};
|
|
549
|
+
}
|
|
550
|
+
let l = c - t;
|
|
551
|
+
if (Math.abs(l) <= Fe || Math.abs(o) <= Ie) return { path: "" };
|
|
552
|
+
let u = Math.sign(o), d = Math.sign(l), f = e, p = t + d * Fe, m = n - u * Ie, h = c, g = d > 0 ? -90 : 90;
|
|
553
|
+
return {
|
|
554
|
+
path: `M${f},${p} Q${f},${c} ${m},${h}`,
|
|
555
|
+
arrow: {
|
|
556
|
+
x: f,
|
|
557
|
+
y: p,
|
|
558
|
+
angle: g
|
|
559
|
+
}
|
|
560
|
+
};
|
|
561
|
+
}
|
|
562
|
+
return (t, n) => (_(), a("g", Se, [(_(!0), a(e, null, y(l.value, (t, n) => (_(), a(e, { key: n }, [
|
|
563
|
+
t.rule ? (_(), a("line", {
|
|
564
|
+
key: 0,
|
|
565
|
+
x1: t.rule.x1,
|
|
566
|
+
y1: t.rule.y1,
|
|
567
|
+
x2: t.rule.x2,
|
|
568
|
+
y2: t.rule.y2,
|
|
569
|
+
stroke: t.lineColor,
|
|
570
|
+
"stroke-width": t.lineWidth,
|
|
571
|
+
"stroke-dasharray": t.lineDash,
|
|
572
|
+
"stroke-linecap": "round"
|
|
573
|
+
}, null, 8, Ce)) : i("", !0),
|
|
574
|
+
t.pointerPath ? (_(), a("path", {
|
|
575
|
+
key: 1,
|
|
576
|
+
d: t.pointerPath,
|
|
577
|
+
fill: "none",
|
|
578
|
+
stroke: t.lineColor,
|
|
579
|
+
"stroke-width": t.lineWidth,
|
|
580
|
+
"stroke-dasharray": t.lineDash,
|
|
581
|
+
"stroke-linecap": "round"
|
|
582
|
+
}, null, 8, we)) : i("", !0),
|
|
583
|
+
t.arrowTip ? (_(), a("polygon", {
|
|
584
|
+
key: 2,
|
|
585
|
+
points: "0,0 -6,-3 -6,3",
|
|
586
|
+
fill: t.lineColor,
|
|
587
|
+
transform: `translate(${t.arrowTip.x} ${t.arrowTip.y}) rotate(${t.arrowTip.angle})`
|
|
588
|
+
}, null, 8, Te)) : i("", !0),
|
|
589
|
+
o("text", {
|
|
590
|
+
x: t.textX,
|
|
591
|
+
y: t.textY,
|
|
592
|
+
"text-anchor": t.textAnchor,
|
|
593
|
+
"font-size": t.fontSize,
|
|
594
|
+
"font-weight": t.fontWeight,
|
|
595
|
+
fill: t.color,
|
|
596
|
+
stroke: t.haloColor,
|
|
597
|
+
"stroke-width": t.haloWidth,
|
|
598
|
+
"stroke-linejoin": "round",
|
|
599
|
+
"paint-order": "stroke fill"
|
|
600
|
+
}, [(_(!0), a(e, null, y(t.lines, (n, r) => (_(), a("tspan", {
|
|
601
|
+
key: r,
|
|
602
|
+
x: t.textX,
|
|
603
|
+
dy: r === 0 ? 0 : t.dy
|
|
604
|
+
}, [(_(!0), a(e, null, y(n, (e, t) => (_(), a("tspan", {
|
|
605
|
+
key: t,
|
|
606
|
+
"font-weight": e.bold ? je : void 0,
|
|
607
|
+
"font-style": e.italic ? "italic" : void 0
|
|
608
|
+
}, b(e.text), 9, Oe))), 128))], 8, De))), 128))], 8, Ee)
|
|
609
|
+
], 64))), 128))]));
|
|
610
|
+
}
|
|
611
|
+
}), Be = 400, Ve = 200;
|
|
612
|
+
function He(e) {
|
|
613
|
+
let { containerRef: t, measuredWidth: r } = K({ debounce: e.debounce }), i = n(() => e.width() ?? (r.value || Be)), a = n(() => e.height() ?? Ve), { padding: o, legendY: s, innerW: c, innerH: l, bounds: u } = q({
|
|
614
|
+
title: e.title,
|
|
615
|
+
xLabel: e.xLabel,
|
|
616
|
+
yLabel: e.yLabel,
|
|
617
|
+
hasInlineLegend: e.hasInlineLegend,
|
|
618
|
+
width: () => i.value,
|
|
619
|
+
height: () => a.value,
|
|
620
|
+
extraPadding: e.chartPadding
|
|
621
|
+
}), { hoverIndex: d, tooltipRef: f, tooltipPos: p, handlers: m } = Y({
|
|
622
|
+
enabled: e.hasTooltipSlot,
|
|
623
|
+
trigger: e.tooltipTrigger,
|
|
624
|
+
clamp: () => e.tooltipClamp() ?? "chart",
|
|
625
|
+
pointerToIndex: e.pointerToIndex,
|
|
626
|
+
containerRef: t,
|
|
627
|
+
onHover: e.onHover
|
|
628
|
+
}), { svgRef: h, items: g, downloadLinkText: _, csvHref: v, resolvedFilename: y } = $({
|
|
629
|
+
filename: e.filename,
|
|
630
|
+
legacyMenuLabel: e.menu,
|
|
631
|
+
getCsv: e.getCsv,
|
|
632
|
+
downloadLink: e.downloadLink
|
|
633
|
+
});
|
|
634
|
+
return {
|
|
635
|
+
containerRef: t,
|
|
636
|
+
svgRef: h,
|
|
637
|
+
width: i,
|
|
638
|
+
height: a,
|
|
639
|
+
padding: o,
|
|
640
|
+
legendY: s,
|
|
641
|
+
innerW: c,
|
|
642
|
+
innerH: l,
|
|
643
|
+
bounds: u,
|
|
644
|
+
hoverIndex: d,
|
|
645
|
+
tooltipRef: f,
|
|
646
|
+
tooltipPos: p,
|
|
647
|
+
tooltipHandlers: m,
|
|
648
|
+
menuItems: g,
|
|
649
|
+
downloadLinkText: _,
|
|
650
|
+
csvHref: v,
|
|
651
|
+
menuFilename: y
|
|
652
|
+
};
|
|
653
|
+
}
|
|
654
|
+
function Ue(e, t) {
|
|
655
|
+
return (n) => {
|
|
656
|
+
let r = e();
|
|
657
|
+
if (r) return r(n);
|
|
658
|
+
let i = t();
|
|
659
|
+
return i ? i(n) : W(n);
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
//#endregion
|
|
340
663
|
//#region src/LineChart/LineChart.vue?vue&type=script&setup=true&lang.ts
|
|
341
|
-
var
|
|
664
|
+
var We = ["width", "height"], Ge = ["x"], Ke = { key: 1 }, qe = [
|
|
342
665
|
"x1",
|
|
343
666
|
"y1",
|
|
344
667
|
"x2",
|
|
345
668
|
"y2",
|
|
346
669
|
"stroke",
|
|
347
670
|
"stroke-dasharray"
|
|
348
|
-
],
|
|
671
|
+
], Je = [
|
|
349
672
|
"cx",
|
|
350
673
|
"cy",
|
|
351
674
|
"fill",
|
|
352
675
|
"fill-opacity",
|
|
353
676
|
"stroke"
|
|
354
|
-
],
|
|
677
|
+
], Ye = ["x", "y"], Xe = [
|
|
355
678
|
"x1",
|
|
356
679
|
"y1",
|
|
357
680
|
"x2",
|
|
358
681
|
"y2"
|
|
359
|
-
],
|
|
682
|
+
], Ze = [
|
|
360
683
|
"x1",
|
|
361
684
|
"y1",
|
|
362
685
|
"x2",
|
|
363
686
|
"y2"
|
|
364
|
-
],
|
|
687
|
+
], Qe = [
|
|
365
688
|
"x1",
|
|
366
689
|
"y1",
|
|
367
690
|
"x2",
|
|
368
691
|
"y2"
|
|
369
|
-
],
|
|
692
|
+
], $e = [
|
|
370
693
|
"x1",
|
|
371
694
|
"y1",
|
|
372
695
|
"x2",
|
|
373
696
|
"y2"
|
|
374
|
-
],
|
|
697
|
+
], et = ["x", "y"], tt = ["transform"], nt = [
|
|
375
698
|
"x",
|
|
376
699
|
"y",
|
|
377
700
|
"text-anchor"
|
|
378
|
-
],
|
|
701
|
+
], rt = ["x", "y"], it = [
|
|
379
702
|
"d",
|
|
380
703
|
"fill",
|
|
381
704
|
"fill-opacity"
|
|
382
|
-
],
|
|
705
|
+
], at = [
|
|
383
706
|
"d",
|
|
384
707
|
"stroke",
|
|
385
708
|
"stroke-width",
|
|
386
709
|
"stroke-opacity",
|
|
387
710
|
"stroke-dasharray"
|
|
388
|
-
],
|
|
711
|
+
], ot = [
|
|
389
712
|
"cx",
|
|
390
713
|
"cy",
|
|
391
714
|
"r",
|
|
392
715
|
"fill",
|
|
393
716
|
"fill-opacity",
|
|
394
717
|
"stroke"
|
|
395
|
-
],
|
|
718
|
+
], st = [
|
|
396
719
|
"d",
|
|
397
720
|
"fill",
|
|
398
721
|
"fill-opacity"
|
|
399
|
-
],
|
|
722
|
+
], ct = [
|
|
400
723
|
"d",
|
|
401
724
|
"stroke",
|
|
402
725
|
"stroke-width",
|
|
403
726
|
"stroke-dasharray"
|
|
404
|
-
],
|
|
727
|
+
], lt = [
|
|
405
728
|
"x1",
|
|
406
729
|
"y1",
|
|
407
730
|
"x2",
|
|
@@ -409,7 +732,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
409
732
|
"stroke",
|
|
410
733
|
"stroke-width",
|
|
411
734
|
"stroke-dasharray"
|
|
412
|
-
],
|
|
735
|
+
], ut = [
|
|
413
736
|
"x1",
|
|
414
737
|
"y1",
|
|
415
738
|
"x2",
|
|
@@ -417,44 +740,44 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
417
740
|
"stroke",
|
|
418
741
|
"stroke-width",
|
|
419
742
|
"stroke-dasharray"
|
|
420
|
-
],
|
|
743
|
+
], dt = [
|
|
421
744
|
"x1",
|
|
422
745
|
"y1",
|
|
423
746
|
"x2",
|
|
424
747
|
"y2"
|
|
425
|
-
],
|
|
748
|
+
], ft = [
|
|
426
749
|
"x1",
|
|
427
750
|
"y1",
|
|
428
751
|
"x2",
|
|
429
752
|
"y2"
|
|
430
|
-
],
|
|
753
|
+
], pt = [
|
|
431
754
|
"x1",
|
|
432
755
|
"y1",
|
|
433
756
|
"x2",
|
|
434
757
|
"y2"
|
|
435
|
-
],
|
|
758
|
+
], mt = [
|
|
436
759
|
"cx",
|
|
437
760
|
"cy",
|
|
438
761
|
"fill"
|
|
439
|
-
],
|
|
762
|
+
], ht = [
|
|
440
763
|
"x",
|
|
441
764
|
"y",
|
|
442
765
|
"width",
|
|
443
766
|
"height"
|
|
444
|
-
],
|
|
767
|
+
], gt = [
|
|
445
768
|
"cx",
|
|
446
769
|
"cy",
|
|
447
770
|
"fill",
|
|
448
771
|
"fill-opacity",
|
|
449
772
|
"stroke"
|
|
450
|
-
],
|
|
773
|
+
], _t = [
|
|
451
774
|
"x",
|
|
452
775
|
"y",
|
|
453
776
|
"fill"
|
|
454
|
-
],
|
|
777
|
+
], vt = ["x", "y"], yt = { class: "line-chart-tooltip" }, bt = {
|
|
455
778
|
key: 0,
|
|
456
779
|
class: "line-chart-tooltip-label"
|
|
457
|
-
},
|
|
780
|
+
}, xt = ["href", "download"], St = 36, Ct = 12, wt = 7, Tt = 16, Et = /* @__PURE__ */ B(/* @__PURE__ */ l({
|
|
458
781
|
__name: "LineChart",
|
|
459
782
|
props: {
|
|
460
783
|
y: {},
|
|
@@ -463,82 +786,74 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
463
786
|
series: {},
|
|
464
787
|
areas: {},
|
|
465
788
|
areaSections: {},
|
|
466
|
-
width: {},
|
|
467
|
-
height: {},
|
|
468
789
|
lineOpacity: { default: 1 },
|
|
469
|
-
title: {},
|
|
470
|
-
xLabel: {},
|
|
471
|
-
yLabel: {},
|
|
472
790
|
yMin: {},
|
|
473
791
|
xMin: {},
|
|
474
792
|
xTicks: {},
|
|
475
793
|
yTicks: {},
|
|
476
794
|
xTickFormat: {},
|
|
477
795
|
yTickFormat: {},
|
|
478
|
-
tooltipValueFormat: {},
|
|
479
796
|
xLabels: {},
|
|
797
|
+
xGrid: { type: Boolean },
|
|
798
|
+
yGrid: { type: Boolean },
|
|
799
|
+
width: {},
|
|
800
|
+
height: {},
|
|
801
|
+
title: {},
|
|
802
|
+
xLabel: {},
|
|
803
|
+
yLabel: {},
|
|
480
804
|
debounce: {},
|
|
481
805
|
menu: {
|
|
482
806
|
type: [Boolean, String],
|
|
483
807
|
default: !0
|
|
484
808
|
},
|
|
485
|
-
xGrid: { type: Boolean },
|
|
486
|
-
yGrid: { type: Boolean },
|
|
487
809
|
tooltipData: {},
|
|
488
810
|
tooltipTrigger: {},
|
|
489
811
|
tooltipClamp: { default: "chart" },
|
|
812
|
+
tooltipValueFormat: {},
|
|
490
813
|
csv: {},
|
|
491
814
|
filename: {},
|
|
492
|
-
downloadLink: { type: [Boolean, String] }
|
|
815
|
+
downloadLink: { type: [Boolean, String] },
|
|
816
|
+
annotations: {},
|
|
817
|
+
chartPadding: {}
|
|
493
818
|
},
|
|
494
819
|
emits: ["hover"],
|
|
495
820
|
setup(t, { emit: c }) {
|
|
496
|
-
let l = t, f = c,
|
|
497
|
-
|
|
498
|
-
xLabel: () => l.xLabel,
|
|
499
|
-
yLabel: () => l.yLabel,
|
|
500
|
-
hasInlineLegend: () => re.value,
|
|
501
|
-
width: () => _.value,
|
|
502
|
-
height: () => b.value
|
|
503
|
-
}), T = [];
|
|
504
|
-
function ie(e) {
|
|
821
|
+
let l = t, f = c, h = n(() => C.value.some((e) => e.legend) || l.areaSections?.some((e) => e.legend === "inline" && (e.label || e.description)) || !1), g = [];
|
|
822
|
+
function v(e) {
|
|
505
823
|
return {
|
|
506
824
|
...e,
|
|
507
|
-
data: e.y ?? e.data ??
|
|
825
|
+
data: e.y ?? e.data ?? g
|
|
508
826
|
};
|
|
509
827
|
}
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
}
|
|
513
|
-
let D = n(() => {
|
|
514
|
-
if (l.series && l.series.length > 0) return l.series.map(ie);
|
|
828
|
+
let x = Ue(() => l.tooltipValueFormat, () => l.yTickFormat), C = n(() => {
|
|
829
|
+
if (l.series && l.series.length > 0) return l.series.map(v);
|
|
515
830
|
let e = l.y ?? l.data;
|
|
516
831
|
return e ? [{
|
|
517
832
|
data: e,
|
|
518
833
|
x: l.x
|
|
519
834
|
}] : [];
|
|
520
|
-
}),
|
|
835
|
+
}), w = n(() => l.areas ?? []), T = n(() => {
|
|
521
836
|
let e = 0;
|
|
522
|
-
for (let t of
|
|
523
|
-
for (let t of
|
|
837
|
+
for (let t of C.value) t.data.length > e && (e = t.data.length);
|
|
838
|
+
for (let t of w.value) t.upper.length > e && (e = t.upper.length), t.lower.length > e && (e = t.lower.length);
|
|
524
839
|
return e;
|
|
525
|
-
}),
|
|
526
|
-
function
|
|
840
|
+
}), E = n(() => C.value.some((e) => e.x != null) || w.value.some((e) => e.x != null));
|
|
841
|
+
function D(e, t) {
|
|
527
842
|
return e.x ? Number(e.x[t]) : t;
|
|
528
843
|
}
|
|
529
|
-
function
|
|
844
|
+
function O(e, t) {
|
|
530
845
|
return e.x ? Number(e.x[t]) : t;
|
|
531
846
|
}
|
|
532
|
-
let
|
|
847
|
+
let k = n(() => E.value ? 0 : l.xMin ?? 0), A = n(() => {
|
|
533
848
|
let e = Infinity, t = -Infinity;
|
|
534
|
-
for (let n of
|
|
535
|
-
let i =
|
|
849
|
+
for (let n of C.value) for (let r = 0; r < n.data.length; r++) {
|
|
850
|
+
let i = D(n, r);
|
|
536
851
|
isFinite(i) && (i < e && (e = i), i > t && (t = i));
|
|
537
852
|
}
|
|
538
|
-
for (let n of
|
|
853
|
+
for (let n of w.value) {
|
|
539
854
|
let r = Math.max(n.upper.length, n.lower.length);
|
|
540
855
|
for (let i = 0; i < r; i++) {
|
|
541
|
-
let r =
|
|
856
|
+
let r = O(n, i);
|
|
542
857
|
isFinite(r) && (r < e && (e = r), r > t && (t = r));
|
|
543
858
|
}
|
|
544
859
|
}
|
|
@@ -550,14 +865,14 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
550
865
|
max: 0
|
|
551
866
|
};
|
|
552
867
|
});
|
|
553
|
-
function
|
|
554
|
-
let { min: t, max: n } =
|
|
555
|
-
return
|
|
868
|
+
function j(e) {
|
|
869
|
+
let { min: t, max: n } = A.value, r = n - t || 1;
|
|
870
|
+
return Y.value.left + (e - t) / r * Z.value;
|
|
556
871
|
}
|
|
557
|
-
let
|
|
872
|
+
let M = n(() => {
|
|
558
873
|
let e = Infinity, t = -Infinity;
|
|
559
|
-
for (let n of
|
|
560
|
-
for (let n of
|
|
874
|
+
for (let n of C.value) for (let r of n.data) isFinite(r) && (r < e && (e = r), r > t && (t = r));
|
|
875
|
+
for (let n of w.value) {
|
|
561
876
|
for (let r of n.upper) isFinite(r) && (r < e && (e = r), r > t && (t = r));
|
|
562
877
|
for (let r of n.lower) isFinite(r) && (r < e && (e = r), r > t && (t = r));
|
|
563
878
|
}
|
|
@@ -571,75 +886,75 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
571
886
|
range: 1
|
|
572
887
|
};
|
|
573
888
|
});
|
|
574
|
-
function
|
|
889
|
+
function N(e) {
|
|
575
890
|
let t = e.data;
|
|
576
891
|
if (t.length === 0) return "";
|
|
577
|
-
let { min: n, range: r } =
|
|
892
|
+
let { min: n, range: r } = M.value, i = Q.value / r, a = Y.value.top + Q.value, o = "", s = !1;
|
|
578
893
|
for (let r = 0; r < t.length; r++) {
|
|
579
|
-
let c =
|
|
894
|
+
let c = D(e, r);
|
|
580
895
|
if (!isFinite(t[r]) || !isFinite(c)) {
|
|
581
896
|
s = !1;
|
|
582
897
|
continue;
|
|
583
898
|
}
|
|
584
|
-
let l =
|
|
899
|
+
let l = j(c), u = a - (t[r] - n) * i;
|
|
585
900
|
o += s ? `L${l},${u}` : `M${l},${u}`, s = !0;
|
|
586
901
|
}
|
|
587
902
|
return o;
|
|
588
903
|
}
|
|
589
|
-
function
|
|
590
|
-
let t = e.data, { min: n, range: r } =
|
|
904
|
+
function P(e) {
|
|
905
|
+
let t = e.data, { min: n, range: r } = M.value, i = Q.value / r, a = Y.value.top + Q.value, o = [];
|
|
591
906
|
for (let r = 0; r < t.length; r++) {
|
|
592
|
-
let s =
|
|
907
|
+
let s = D(e, r);
|
|
593
908
|
!isFinite(t[r]) || !isFinite(s) || o.push({
|
|
594
|
-
x:
|
|
909
|
+
x: j(s),
|
|
595
910
|
y: a - (t[r] - n) * i
|
|
596
911
|
});
|
|
597
912
|
}
|
|
598
913
|
return o;
|
|
599
914
|
}
|
|
600
|
-
function
|
|
915
|
+
function ne(e) {
|
|
601
916
|
let t = Math.min(e.upper.length, e.lower.length);
|
|
602
917
|
if (t === 0) return "";
|
|
603
|
-
let { min: n, range: r } =
|
|
604
|
-
for (let n = 0; n < t; n++) isFinite(e.upper[n]) && isFinite(e.lower[n]) && isFinite(
|
|
918
|
+
let { min: n, range: r } = M.value, i = Q.value / r, a = Y.value.top + Q.value, o = (e) => a - (e - n) * i, s = [], c = [];
|
|
919
|
+
for (let n = 0; n < t; n++) isFinite(e.upper[n]) && isFinite(e.lower[n]) && isFinite(O(e, n)) ? c.push(n) : c.length && (s.push(c), c = []);
|
|
605
920
|
c.length && s.push(c);
|
|
606
921
|
let l = "";
|
|
607
922
|
for (let t of s) {
|
|
608
|
-
l += `M${
|
|
609
|
-
for (let n = 1; n < t.length; n++) l += `L${
|
|
610
|
-
for (let n = t.length - 1; n >= 0; n--) l += `L${
|
|
923
|
+
l += `M${j(O(e, t[0]))},${o(e.upper[t[0]])}`;
|
|
924
|
+
for (let n = 1; n < t.length; n++) l += `L${j(O(e, t[n]))},${o(e.upper[t[n]])}`;
|
|
925
|
+
for (let n = t.length - 1; n >= 0; n--) l += `L${j(O(e, t[n]))},${o(e.lower[t[n]])}`;
|
|
611
926
|
l += "Z";
|
|
612
927
|
}
|
|
613
928
|
return l;
|
|
614
929
|
}
|
|
615
|
-
function
|
|
616
|
-
let n = t === "start" ? e.startIndex : e.endIndex, r = e.seriesIndex != null &&
|
|
617
|
-
return
|
|
930
|
+
function F(e, t) {
|
|
931
|
+
let n = t === "start" ? e.startIndex : e.endIndex, r = e.seriesIndex != null && C.value[e.seriesIndex] || C.value[0];
|
|
932
|
+
return j(r ? D(r, n) : n);
|
|
618
933
|
}
|
|
619
|
-
function
|
|
620
|
-
let n =
|
|
934
|
+
function re(e, t = !0) {
|
|
935
|
+
let n = Y.value.top + Q.value;
|
|
621
936
|
if (e.seriesIndex == null) {
|
|
622
|
-
let t =
|
|
623
|
-
return t > r ? "" : `M${t},${
|
|
937
|
+
let t = F(e, "start"), r = F(e, "end");
|
|
938
|
+
return t > r ? "" : `M${t},${Y.value.top}L${r},${Y.value.top}L${r},${n}L${t},${n}Z`;
|
|
624
939
|
}
|
|
625
|
-
let r =
|
|
940
|
+
let r = C.value[e.seriesIndex];
|
|
626
941
|
if (!r) return "";
|
|
627
|
-
let { min: i, range: a } =
|
|
942
|
+
let { min: i, range: a } = M.value, o = Q.value / a, s = (e) => n - (e - i) * o, c = Math.max(0, e.startIndex), l = Math.min(r.data.length - 1, e.endIndex);
|
|
628
943
|
if (c > l) return "";
|
|
629
|
-
let u = `M${
|
|
630
|
-
for (let e = c + 1; e <= l; e++) isFinite(r.data[e]) && (u += `L${
|
|
631
|
-
return t && (u += `L${
|
|
944
|
+
let u = `M${j(D(r, c))},${s(r.data[c])}`;
|
|
945
|
+
for (let e = c + 1; e <= l; e++) isFinite(r.data[e]) && (u += `L${j(D(r, e))},${s(r.data[e])}`);
|
|
946
|
+
return t && (u += `L${j(D(r, l))},${n}`, u += `L${j(D(r, c))},${n}`, u += "Z"), u;
|
|
632
947
|
}
|
|
633
|
-
let
|
|
948
|
+
let ie = n(() => {
|
|
634
949
|
let e = l.areaSections;
|
|
635
950
|
if (!e?.length) return {
|
|
636
951
|
labels: [],
|
|
637
952
|
extraHeight: 0
|
|
638
953
|
};
|
|
639
|
-
let t = [], n =
|
|
954
|
+
let t = [], n = Y.value.left + Z.value;
|
|
640
955
|
for (let r of e) {
|
|
641
956
|
if (!r.label && !r.description || r.legend === "inline" || r.legend === !1) continue;
|
|
642
|
-
let e = r.label ?? "", i = r.description ?? "", a = Math.max(e.length, i.length) *
|
|
957
|
+
let e = r.label ?? "", i = r.description ?? "", a = Math.max(e.length, i.length) * wt, o = F(r, "start") + a / 2 + 2, s = n - a / 2 - 8, c = Math.min(o, s), l = r.color ?? (r.seriesIndex == null ? "#999" : C.value[r.seriesIndex]?.color ?? "currentColor");
|
|
643
958
|
t.push({
|
|
644
959
|
cx: c,
|
|
645
960
|
labelText: e,
|
|
@@ -654,7 +969,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
654
969
|
let r = [];
|
|
655
970
|
for (let e of t) {
|
|
656
971
|
let t = e.cx - e.textWidth / 2, n = 0;
|
|
657
|
-
for (; n < r.length && !(t >= r[n] +
|
|
972
|
+
for (; n < r.length && !(t >= r[n] + Tt);) n++;
|
|
658
973
|
e.row = n;
|
|
659
974
|
let i = e.cx + e.textWidth / 2;
|
|
660
975
|
r[n] = Math.max(r[n] ?? -Infinity, i);
|
|
@@ -664,11 +979,11 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
664
979
|
extraHeight: 0
|
|
665
980
|
} : {
|
|
666
981
|
labels: t,
|
|
667
|
-
extraHeight: (Math.max(...t.map((e) => e.row)) + 1) *
|
|
982
|
+
extraHeight: (Math.max(...t.map((e) => e.row)) + 1) * St + Ct
|
|
668
983
|
};
|
|
669
|
-
}),
|
|
984
|
+
}), ae = n(() => {
|
|
670
985
|
let e = [];
|
|
671
|
-
for (let t of
|
|
986
|
+
for (let t of C.value) t.legend && e.push({
|
|
672
987
|
label: t.legend,
|
|
673
988
|
color: t.color ?? "currentColor",
|
|
674
989
|
type: "series",
|
|
@@ -677,7 +992,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
677
992
|
let t = l.areaSections;
|
|
678
993
|
if (t) for (let n of t) {
|
|
679
994
|
if (n.legend !== "inline" || !n.label && !n.description) continue;
|
|
680
|
-
let t = [n.label, n.description].filter(Boolean).join(" "), r = n.color ?? (n.seriesIndex == null ? "#999" :
|
|
995
|
+
let t = [n.label, n.description].filter(Boolean).join(" "), r = n.color ?? (n.seriesIndex == null ? "#999" : C.value[n.seriesIndex]?.color ?? "currentColor");
|
|
681
996
|
e.push({
|
|
682
997
|
label: t,
|
|
683
998
|
color: r,
|
|
@@ -686,41 +1001,41 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
686
1001
|
});
|
|
687
1002
|
}
|
|
688
1003
|
return e;
|
|
689
|
-
}),
|
|
690
|
-
let { min: e, max: t } =
|
|
1004
|
+
}), oe = n(() => pe.value + ie.value.extraHeight), I = n(() => Y.value.top + Q.value + Y.value.bottom + Ct), se = n(() => {
|
|
1005
|
+
let { min: e, max: t } = M.value, n = (t) => V(Y.value.top + Q.value - (t - e) / M.value.range * Q.value), r = (e) => l.yTickFormat ? l.yTickFormat(e) : W(e);
|
|
691
1006
|
return e === t ? [{
|
|
692
1007
|
value: r(e),
|
|
693
|
-
y:
|
|
694
|
-
}] :
|
|
1008
|
+
y: V(Y.value.top + Q.value / 2)
|
|
1009
|
+
}] : G({
|
|
695
1010
|
min: e,
|
|
696
1011
|
max: t,
|
|
697
1012
|
ticks: l.yTicks,
|
|
698
|
-
targetTickCount:
|
|
1013
|
+
targetTickCount: Q.value / 50
|
|
699
1014
|
}).map((e) => ({
|
|
700
1015
|
value: r(e),
|
|
701
1016
|
y: n(e)
|
|
702
1017
|
}));
|
|
703
|
-
}),
|
|
704
|
-
let { min: e, max: t } =
|
|
1018
|
+
}), ce = n(() => {
|
|
1019
|
+
let { min: e, max: t } = A.value;
|
|
705
1020
|
if (e === t) return [];
|
|
706
|
-
let n =
|
|
1021
|
+
let n = k.value, r = T.value, i = (e, t) => {
|
|
707
1022
|
let r = e + n;
|
|
708
|
-
return l.xTickFormat ? l.xTickFormat(r, t) : !
|
|
1023
|
+
return l.xTickFormat ? l.xTickFormat(r, t) : !E.value && l.xLabels && Number.isInteger(e) && e >= 0 && e < l.xLabels.length ? l.xLabels[e] : W(r);
|
|
709
1024
|
}, a;
|
|
710
|
-
if (l.xTicks == null && !
|
|
711
|
-
let e = Math.max(3, Math.floor(
|
|
1025
|
+
if (l.xTicks == null && !E.value && l.xLabels && l.xLabels.length === r) {
|
|
1026
|
+
let e = Math.max(3, Math.floor(Z.value / 80)), t = Math.max(1, Math.round((r - 1) / e));
|
|
712
1027
|
a = [];
|
|
713
1028
|
for (let e = 0; e < r; e += t) a.push(e);
|
|
714
|
-
} else a =
|
|
1029
|
+
} else a = G({
|
|
715
1030
|
min: e,
|
|
716
1031
|
max: t,
|
|
717
1032
|
ticks: l.xTicks,
|
|
718
|
-
targetTickCount:
|
|
1033
|
+
targetTickCount: Z.value / 80,
|
|
719
1034
|
displayOffset: n
|
|
720
1035
|
});
|
|
721
|
-
let o =
|
|
1036
|
+
let o = Y.value.left, s = Y.value.left + Z.value;
|
|
722
1037
|
return a.map((e, t) => {
|
|
723
|
-
let n =
|
|
1038
|
+
let n = V(j(e)), r = "middle";
|
|
724
1039
|
return n - o <= 1 ? r = "start" : s - n <= 1 && (r = "end"), {
|
|
725
1040
|
value: i(e, t),
|
|
726
1041
|
x: n,
|
|
@@ -728,49 +1043,49 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
728
1043
|
};
|
|
729
1044
|
});
|
|
730
1045
|
});
|
|
731
|
-
function
|
|
732
|
-
return typeof l.csv == "function" ? l.csv() : typeof l.csv == "string" ? l.csv :
|
|
1046
|
+
function L() {
|
|
1047
|
+
return typeof l.csv == "function" ? l.csv() : typeof l.csv == "string" ? l.csv : ye(C.value);
|
|
733
1048
|
}
|
|
734
|
-
let
|
|
735
|
-
let e =
|
|
736
|
-
return e === null || !t ? null :
|
|
737
|
-
}),
|
|
738
|
-
function
|
|
1049
|
+
let R = n(() => !!l.tooltipData || !!l.tooltipTrigger), z = n(() => {
|
|
1050
|
+
let e = he.value, t = C.value[0];
|
|
1051
|
+
return e === null || !t ? null : D(t, e);
|
|
1052
|
+
}), B = n(() => z.value === null ? 0 : j(z.value));
|
|
1053
|
+
function H(e, t) {
|
|
739
1054
|
let n = e.data.length;
|
|
740
1055
|
if (n === 0) return null;
|
|
741
1056
|
let r = 0, i = Infinity;
|
|
742
1057
|
for (let a = 0; a < n; a++) {
|
|
743
|
-
let n =
|
|
1058
|
+
let n = D(e, a);
|
|
744
1059
|
if (!isFinite(n)) continue;
|
|
745
1060
|
let o = Math.abs(n - t);
|
|
746
1061
|
o < i && (i = o, r = a);
|
|
747
1062
|
}
|
|
748
1063
|
return i === Infinity ? null : r;
|
|
749
1064
|
}
|
|
750
|
-
let
|
|
751
|
-
let e =
|
|
1065
|
+
let ue = n(() => {
|
|
1066
|
+
let e = z.value;
|
|
752
1067
|
if (e === null) return [];
|
|
753
|
-
let { min: t, range: n } =
|
|
754
|
-
for (let n of
|
|
755
|
-
let o =
|
|
1068
|
+
let { min: t, range: n } = M.value, r = Q.value / n, i = Y.value.top + Q.value, a = [];
|
|
1069
|
+
for (let n of C.value) {
|
|
1070
|
+
let o = H(n, e);
|
|
756
1071
|
if (o === null) continue;
|
|
757
1072
|
let s = n.data[o];
|
|
758
1073
|
isFinite(s) && a.push({
|
|
759
|
-
x:
|
|
1074
|
+
x: j(D(n, o)),
|
|
760
1075
|
y: i - (s - t) * r,
|
|
761
1076
|
color: n.color ?? "currentColor"
|
|
762
1077
|
});
|
|
763
1078
|
}
|
|
764
1079
|
return a;
|
|
765
|
-
}),
|
|
766
|
-
let e =
|
|
1080
|
+
}), U = n(() => {
|
|
1081
|
+
let e = he.value, t = z.value;
|
|
767
1082
|
if (e === null || t === null) return null;
|
|
768
|
-
let n = t +
|
|
769
|
-
return r = l.xTickFormat ? l.xTickFormat(n, e) :
|
|
1083
|
+
let n = t + k.value, r;
|
|
1084
|
+
return r = l.xTickFormat ? l.xTickFormat(n, e) : E.value ? W(n) : l.xLabels?.[e], {
|
|
770
1085
|
index: e,
|
|
771
1086
|
xLabel: r,
|
|
772
|
-
values:
|
|
773
|
-
let r =
|
|
1087
|
+
values: C.value.map((e, n) => {
|
|
1088
|
+
let r = H(e, t);
|
|
774
1089
|
return {
|
|
775
1090
|
value: r === null ? NaN : Number(e.data[r]),
|
|
776
1091
|
color: e.color ?? "currentColor",
|
|
@@ -780,163 +1095,177 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
780
1095
|
data: l.tooltipData?.[e] ?? null
|
|
781
1096
|
};
|
|
782
1097
|
});
|
|
783
|
-
function
|
|
784
|
-
|
|
1098
|
+
function K(e, t) {
|
|
1099
|
+
if (!isFinite(e) || !isFinite(t)) return null;
|
|
1100
|
+
let n = e - k.value, { min: r, range: i } = M.value, a = Y.value.top + Q.value - (t - r) * (Q.value / i);
|
|
1101
|
+
return {
|
|
1102
|
+
x: j(n),
|
|
1103
|
+
y: a
|
|
1104
|
+
};
|
|
1105
|
+
}
|
|
1106
|
+
function de(e) {
|
|
1107
|
+
let t = q.value?.getBoundingClientRect();
|
|
785
1108
|
if (!t) return null;
|
|
786
|
-
let n =
|
|
1109
|
+
let n = C.value[0];
|
|
787
1110
|
if (!n || n.data.length === 0) return null;
|
|
788
|
-
let { min: r, max: i } =
|
|
789
|
-
return
|
|
1111
|
+
let { min: r, max: i } = A.value, a = i - r || 1;
|
|
1112
|
+
return H(n, r + (e - t.left - Y.value.left) / Z.value * a);
|
|
790
1113
|
}
|
|
791
|
-
let { hoverIndex:
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
1114
|
+
let { containerRef: q, svgRef: J, width: fe, height: pe, padding: Y, legendY: X, innerW: Z, innerH: Q, bounds: me, hoverIndex: he, tooltipRef: ge, tooltipPos: _e, tooltipHandlers: ve, menuItems: $, downloadLinkText: be, csvHref: xe, menuFilename: Se } = He({
|
|
1115
|
+
width: () => l.width,
|
|
1116
|
+
height: () => l.height,
|
|
1117
|
+
title: () => l.title,
|
|
1118
|
+
xLabel: () => l.xLabel,
|
|
1119
|
+
yLabel: () => l.yLabel,
|
|
1120
|
+
debounce: () => l.debounce,
|
|
1121
|
+
menu: () => l.menu,
|
|
1122
|
+
tooltipTrigger: () => l.tooltipTrigger,
|
|
1123
|
+
tooltipClamp: () => l.tooltipClamp,
|
|
799
1124
|
filename: () => l.filename,
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
1125
|
+
downloadLink: () => l.downloadLink,
|
|
1126
|
+
chartPadding: () => l.chartPadding,
|
|
1127
|
+
hasInlineLegend: () => h.value,
|
|
1128
|
+
hasTooltipSlot: () => R.value,
|
|
1129
|
+
getCsv: L,
|
|
1130
|
+
pointerToIndex: de,
|
|
1131
|
+
onHover: (e) => f("hover", e)
|
|
803
1132
|
});
|
|
804
|
-
return (n, c) => (
|
|
1133
|
+
return (n, c) => (_(), a("div", {
|
|
805
1134
|
ref_key: "containerRef",
|
|
806
|
-
ref:
|
|
1135
|
+
ref: q,
|
|
807
1136
|
class: "line-chart-wrapper"
|
|
808
1137
|
}, [
|
|
809
|
-
t.menu ? (
|
|
1138
|
+
t.menu ? (_(), r(le, {
|
|
810
1139
|
key: 0,
|
|
811
|
-
items:
|
|
1140
|
+
items: S($)
|
|
812
1141
|
}, null, 8, ["items"])) : i("", !0),
|
|
813
|
-
(
|
|
1142
|
+
(_(), a("svg", {
|
|
814
1143
|
ref_key: "svgRef",
|
|
815
|
-
ref:
|
|
816
|
-
width:
|
|
817
|
-
height:
|
|
1144
|
+
ref: J,
|
|
1145
|
+
width: S(fe),
|
|
1146
|
+
height: oe.value
|
|
818
1147
|
}, [
|
|
819
|
-
t.title ? (
|
|
1148
|
+
t.title ? (_(), a("text", {
|
|
820
1149
|
key: 0,
|
|
821
|
-
x:
|
|
1150
|
+
x: S(fe) / 2,
|
|
822
1151
|
y: 18,
|
|
823
1152
|
"text-anchor": "middle",
|
|
824
1153
|
"font-size": "14",
|
|
825
1154
|
"font-weight": "600",
|
|
826
1155
|
fill: "currentColor"
|
|
827
|
-
},
|
|
828
|
-
|
|
1156
|
+
}, b(t.title), 9, Ge)) : i("", !0),
|
|
1157
|
+
ae.value.length > 0 ? (_(), a("g", Ke, [(_(!0), a(e, null, y(ae.value, (t, n) => (_(), a(e, { key: "ileg" + n }, [t.type === "series" ? (_(), a("line", {
|
|
829
1158
|
key: 0,
|
|
830
|
-
x1:
|
|
831
|
-
y1:
|
|
832
|
-
x2:
|
|
833
|
-
y2:
|
|
1159
|
+
x1: S(Y).left + n * 120,
|
|
1160
|
+
y1: S(X),
|
|
1161
|
+
x2: S(Y).left + n * 120 + 12,
|
|
1162
|
+
y2: S(X),
|
|
834
1163
|
stroke: t.color,
|
|
835
1164
|
"stroke-width": "2",
|
|
836
1165
|
"stroke-dasharray": t.dashed ? "4 2" : void 0
|
|
837
|
-
}, null, 8,
|
|
1166
|
+
}, null, 8, qe)) : (_(), a("circle", {
|
|
838
1167
|
key: 1,
|
|
839
|
-
cx:
|
|
840
|
-
cy:
|
|
1168
|
+
cx: S(Y).left + n * 120 + 4,
|
|
1169
|
+
cy: S(X),
|
|
841
1170
|
r: "4",
|
|
842
1171
|
fill: t.color,
|
|
843
1172
|
"fill-opacity": t.fillOpacity,
|
|
844
1173
|
stroke: t.color,
|
|
845
1174
|
"stroke-width": "1.5"
|
|
846
|
-
}, null, 8,
|
|
847
|
-
x:
|
|
848
|
-
y:
|
|
1175
|
+
}, null, 8, Je)), o("text", {
|
|
1176
|
+
x: S(Y).left + n * 120 + 18,
|
|
1177
|
+
y: S(X) + 4,
|
|
849
1178
|
"font-size": "11",
|
|
850
1179
|
fill: "currentColor"
|
|
851
|
-
},
|
|
1180
|
+
}, b(t.label), 9, Ye)], 64))), 128))])) : i("", !0),
|
|
852
1181
|
o("line", {
|
|
853
|
-
x1:
|
|
854
|
-
y1:
|
|
855
|
-
x2:
|
|
856
|
-
y2:
|
|
1182
|
+
x1: S(V)(S(Y).left),
|
|
1183
|
+
y1: S(V)(S(Y).top),
|
|
1184
|
+
x2: S(V)(S(Y).left),
|
|
1185
|
+
y2: S(V)(S(Y).top + S(Q)),
|
|
857
1186
|
stroke: "currentColor",
|
|
858
1187
|
"stroke-opacity": "0.3"
|
|
859
|
-
}, null, 8,
|
|
1188
|
+
}, null, 8, Xe),
|
|
860
1189
|
o("line", {
|
|
861
|
-
x1:
|
|
862
|
-
y1:
|
|
863
|
-
x2:
|
|
864
|
-
y2:
|
|
1190
|
+
x1: S(V)(S(Y).left),
|
|
1191
|
+
y1: S(V)(S(Y).top + S(Q)),
|
|
1192
|
+
x2: S(V)(S(Y).left + S(Z)),
|
|
1193
|
+
y2: S(V)(S(Y).top + S(Q)),
|
|
865
1194
|
stroke: "currentColor",
|
|
866
1195
|
"stroke-opacity": "0.3"
|
|
867
|
-
}, null, 8,
|
|
868
|
-
t.yGrid ? (
|
|
1196
|
+
}, null, 8, Ze),
|
|
1197
|
+
t.yGrid ? (_(!0), a(e, { key: 2 }, y(se.value, (e, t) => (_(), a("line", {
|
|
869
1198
|
key: "yg" + t,
|
|
870
|
-
x1:
|
|
1199
|
+
x1: S(Y).left,
|
|
871
1200
|
y1: e.y,
|
|
872
|
-
x2:
|
|
1201
|
+
x2: S(Y).left + S(Z),
|
|
873
1202
|
y2: e.y,
|
|
874
1203
|
stroke: "currentColor",
|
|
875
1204
|
"stroke-opacity": "0.1"
|
|
876
|
-
}, null, 8,
|
|
877
|
-
t.xGrid ? (
|
|
1205
|
+
}, null, 8, Qe))), 128)) : i("", !0),
|
|
1206
|
+
t.xGrid ? (_(!0), a(e, { key: 3 }, y(ce.value, (e, t) => (_(), a("line", {
|
|
878
1207
|
key: "xg" + t,
|
|
879
1208
|
x1: e.x,
|
|
880
|
-
y1:
|
|
1209
|
+
y1: S(Y).top,
|
|
881
1210
|
x2: e.x,
|
|
882
|
-
y2:
|
|
1211
|
+
y2: S(Y).top + S(Q),
|
|
883
1212
|
stroke: "currentColor",
|
|
884
1213
|
"stroke-opacity": "0.1"
|
|
885
|
-
}, null, 8,
|
|
886
|
-
(
|
|
1214
|
+
}, null, 8, $e))), 128)) : i("", !0),
|
|
1215
|
+
(_(!0), a(e, null, y(se.value, (e, t) => (_(), a("text", {
|
|
887
1216
|
key: "y" + t,
|
|
888
1217
|
"data-testid": "y-tick",
|
|
889
|
-
x:
|
|
1218
|
+
x: S(Y).left - 6,
|
|
890
1219
|
y: e.y,
|
|
891
1220
|
"text-anchor": "end",
|
|
892
1221
|
"dominant-baseline": "middle",
|
|
893
1222
|
"font-size": "10",
|
|
894
1223
|
fill: "currentColor",
|
|
895
1224
|
"fill-opacity": "0.6"
|
|
896
|
-
},
|
|
897
|
-
t.yLabel ? (
|
|
1225
|
+
}, b(e.value), 9, et))), 128)),
|
|
1226
|
+
t.yLabel ? (_(), a("text", {
|
|
898
1227
|
key: 4,
|
|
899
1228
|
x: 0,
|
|
900
1229
|
y: 0,
|
|
901
|
-
transform: `translate(14, ${
|
|
1230
|
+
transform: `translate(14, ${S(Y).top + S(Q) / 2}) rotate(-90)`,
|
|
902
1231
|
"text-anchor": "middle",
|
|
903
1232
|
"font-size": "13",
|
|
904
1233
|
fill: "currentColor"
|
|
905
|
-
},
|
|
906
|
-
(
|
|
1234
|
+
}, b(t.yLabel), 9, tt)) : i("", !0),
|
|
1235
|
+
(_(!0), a(e, null, y(ce.value, (e, t) => (_(), a("text", {
|
|
907
1236
|
key: "x" + t,
|
|
908
1237
|
"data-testid": "x-tick",
|
|
909
1238
|
x: e.x,
|
|
910
|
-
y:
|
|
1239
|
+
y: S(Y).top + S(Q) + 16,
|
|
911
1240
|
"text-anchor": e.anchor,
|
|
912
1241
|
"font-size": "10",
|
|
913
1242
|
fill: "currentColor",
|
|
914
1243
|
"fill-opacity": "0.6"
|
|
915
|
-
},
|
|
916
|
-
t.xLabel ? (
|
|
1244
|
+
}, b(e.value), 9, nt))), 128)),
|
|
1245
|
+
t.xLabel ? (_(), a("text", {
|
|
917
1246
|
key: 5,
|
|
918
|
-
x:
|
|
919
|
-
y:
|
|
1247
|
+
x: S(Y).left + S(Z) / 2,
|
|
1248
|
+
y: S(pe) - 4,
|
|
920
1249
|
"text-anchor": "middle",
|
|
921
1250
|
"font-size": "13",
|
|
922
1251
|
fill: "currentColor"
|
|
923
|
-
},
|
|
924
|
-
(
|
|
1252
|
+
}, b(t.xLabel), 9, rt)) : i("", !0),
|
|
1253
|
+
(_(!0), a(e, null, y(w.value, (e, t) => (_(), a("path", {
|
|
925
1254
|
key: "area" + t,
|
|
926
|
-
d:
|
|
1255
|
+
d: ne(e),
|
|
927
1256
|
fill: e.color ?? "currentColor",
|
|
928
1257
|
"fill-opacity": e.opacity ?? .2,
|
|
929
1258
|
stroke: "none"
|
|
930
|
-
}, null, 8,
|
|
931
|
-
(
|
|
1259
|
+
}, null, 8, it))), 128)),
|
|
1260
|
+
(_(!0), a(e, null, y(C.value, (n, r) => (_(), a(e, { key: r }, [n.line === !1 ? i("", !0) : (_(), a("path", {
|
|
932
1261
|
key: 0,
|
|
933
|
-
d:
|
|
1262
|
+
d: N(n),
|
|
934
1263
|
fill: "none",
|
|
935
1264
|
stroke: n.color ?? "currentColor",
|
|
936
1265
|
"stroke-width": n.strokeWidth ?? 1.5,
|
|
937
1266
|
"stroke-opacity": n.lineOpacity ?? n.opacity ?? t.lineOpacity,
|
|
938
1267
|
"stroke-dasharray": n.dashed ? "6 3" : void 0
|
|
939
|
-
}, null, 8,
|
|
1268
|
+
}, null, 8, at)), n.dots ? (_(!0), a(e, { key: 1 }, y(P(n), (e, r) => (_(), a("circle", {
|
|
940
1269
|
key: r,
|
|
941
1270
|
cx: e.x,
|
|
942
1271
|
cy: e.y,
|
|
@@ -944,68 +1273,68 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
944
1273
|
fill: n.dotFill ?? n.color ?? "currentColor",
|
|
945
1274
|
"fill-opacity": n.dotOpacity ?? n.opacity ?? t.lineOpacity,
|
|
946
1275
|
stroke: n.dotStroke ?? "none"
|
|
947
|
-
}, null, 8,
|
|
948
|
-
(
|
|
1276
|
+
}, null, 8, ot))), 128)) : i("", !0)], 64))), 128)),
|
|
1277
|
+
(_(!0), a(e, null, y(t.areaSections ?? [], (t, n) => (_(), a(e, { key: "areasec" + n }, [
|
|
949
1278
|
o("path", {
|
|
950
|
-
d:
|
|
951
|
-
fill: t.color ?? (t.seriesIndex == null ? "#999" :
|
|
1279
|
+
d: re(t),
|
|
1280
|
+
fill: t.color ?? (t.seriesIndex == null ? "#999" : C.value[t.seriesIndex]?.color ?? "currentColor"),
|
|
952
1281
|
"fill-opacity": t.opacity ?? .15,
|
|
953
1282
|
stroke: "none"
|
|
954
|
-
}, null, 8,
|
|
955
|
-
t.seriesIndex == null ? i("", !0) : (
|
|
1283
|
+
}, null, 8, st),
|
|
1284
|
+
t.seriesIndex == null ? i("", !0) : (_(), a("path", {
|
|
956
1285
|
key: 0,
|
|
957
|
-
d:
|
|
1286
|
+
d: re(t, !1),
|
|
958
1287
|
fill: "none",
|
|
959
|
-
stroke: t.color ??
|
|
1288
|
+
stroke: t.color ?? C.value[t.seriesIndex]?.color ?? "currentColor",
|
|
960
1289
|
"stroke-width": t.strokeWidth ?? 2,
|
|
961
1290
|
"stroke-dasharray": t.dashed ? "6 3" : void 0
|
|
962
|
-
}, null, 8,
|
|
963
|
-
t.seriesIndex == null ? (
|
|
964
|
-
x1:
|
|
965
|
-
y1:
|
|
966
|
-
x2:
|
|
967
|
-
y2:
|
|
1291
|
+
}, null, 8, ct)),
|
|
1292
|
+
t.seriesIndex == null ? (_(), a(e, { key: 1 }, [o("line", {
|
|
1293
|
+
x1: S(V)(F(t, "start")),
|
|
1294
|
+
y1: S(Y).top,
|
|
1295
|
+
x2: S(V)(F(t, "start")),
|
|
1296
|
+
y2: S(Y).top + S(Q),
|
|
968
1297
|
stroke: t.color ?? "#999",
|
|
969
1298
|
"stroke-width": t.strokeWidth ?? 2,
|
|
970
1299
|
"stroke-dasharray": t.dashed ? "6 3" : void 0
|
|
971
|
-
}, null, 8,
|
|
972
|
-
x1:
|
|
973
|
-
y1:
|
|
974
|
-
x2:
|
|
975
|
-
y2:
|
|
1300
|
+
}, null, 8, lt), o("line", {
|
|
1301
|
+
x1: S(V)(F(t, "end")),
|
|
1302
|
+
y1: S(Y).top,
|
|
1303
|
+
x2: S(V)(F(t, "end")),
|
|
1304
|
+
y2: S(Y).top + S(Q),
|
|
976
1305
|
stroke: t.color ?? "#999",
|
|
977
1306
|
"stroke-width": t.strokeWidth ?? 2,
|
|
978
1307
|
"stroke-dasharray": t.dashed ? "6 3" : void 0
|
|
979
|
-
}, null, 8,
|
|
1308
|
+
}, null, 8, ut)], 64)) : i("", !0),
|
|
980
1309
|
o("line", {
|
|
981
|
-
x1:
|
|
982
|
-
y1:
|
|
983
|
-
x2:
|
|
984
|
-
y2:
|
|
1310
|
+
x1: S(V)(F(t, "start")),
|
|
1311
|
+
y1: S(Y).top + S(Q) - 4,
|
|
1312
|
+
x2: S(V)(F(t, "start")),
|
|
1313
|
+
y2: S(Y).top + S(Q) + 4,
|
|
985
1314
|
stroke: "currentColor",
|
|
986
1315
|
"stroke-opacity": "0.4"
|
|
987
|
-
}, null, 8,
|
|
1316
|
+
}, null, 8, dt),
|
|
988
1317
|
o("line", {
|
|
989
|
-
x1:
|
|
990
|
-
y1:
|
|
991
|
-
x2:
|
|
992
|
-
y2:
|
|
1318
|
+
x1: S(V)(F(t, "end")),
|
|
1319
|
+
y1: S(Y).top + S(Q) - 4,
|
|
1320
|
+
x2: S(V)(F(t, "end")),
|
|
1321
|
+
y2: S(Y).top + S(Q) + 4,
|
|
993
1322
|
stroke: "currentColor",
|
|
994
1323
|
"stroke-opacity": "0.4"
|
|
995
|
-
}, null, 8,
|
|
1324
|
+
}, null, 8, ft)
|
|
996
1325
|
], 64))), 128)),
|
|
997
|
-
|
|
1326
|
+
R.value && S(he) !== null ? (_(), a("line", {
|
|
998
1327
|
key: 6,
|
|
999
|
-
x1:
|
|
1000
|
-
y1:
|
|
1001
|
-
x2:
|
|
1002
|
-
y2:
|
|
1328
|
+
x1: S(V)(B.value),
|
|
1329
|
+
y1: S(Y).top,
|
|
1330
|
+
x2: S(V)(B.value),
|
|
1331
|
+
y2: S(Y).top + S(Q),
|
|
1003
1332
|
stroke: "currentColor",
|
|
1004
1333
|
"stroke-opacity": "0.3",
|
|
1005
1334
|
"stroke-dasharray": "4 2",
|
|
1006
1335
|
"pointer-events": "none"
|
|
1007
|
-
}, null, 8,
|
|
1008
|
-
(
|
|
1336
|
+
}, null, 8, pt)) : i("", !0),
|
|
1337
|
+
(_(!0), a(e, null, y(ue.value, (e, t) => (_(), a("circle", {
|
|
1009
1338
|
key: "hd" + t,
|
|
1010
1339
|
cx: e.x,
|
|
1011
1340
|
cy: e.y,
|
|
@@ -1014,104 +1343,110 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
1014
1343
|
stroke: "var(--color-bg-0, #fff)",
|
|
1015
1344
|
"stroke-width": "2",
|
|
1016
1345
|
"pointer-events": "none"
|
|
1017
|
-
}, null, 8,
|
|
1018
|
-
|
|
1346
|
+
}, null, 8, mt))), 128)),
|
|
1347
|
+
R.value ? (_(), a("rect", d({
|
|
1019
1348
|
key: 7,
|
|
1020
|
-
x:
|
|
1021
|
-
y:
|
|
1022
|
-
width:
|
|
1023
|
-
height:
|
|
1349
|
+
x: S(Y).left,
|
|
1350
|
+
y: S(Y).top,
|
|
1351
|
+
width: S(Z),
|
|
1352
|
+
height: S(Q),
|
|
1024
1353
|
fill: "transparent",
|
|
1025
1354
|
style: {
|
|
1026
1355
|
cursor: "crosshair",
|
|
1027
1356
|
"touch-action": "none"
|
|
1028
1357
|
}
|
|
1029
|
-
},
|
|
1030
|
-
|
|
1358
|
+
}, te(S(ve), !0)), null, 16, ht)) : i("", !0),
|
|
1359
|
+
t.annotations && t.annotations.length > 0 ? (_(), r(S(ze), {
|
|
1360
|
+
key: 8,
|
|
1361
|
+
annotations: t.annotations,
|
|
1362
|
+
project: K,
|
|
1363
|
+
bounds: S(me)
|
|
1364
|
+
}, null, 8, ["annotations", "bounds"])) : i("", !0),
|
|
1365
|
+
(_(!0), a(e, null, y(ie.value.labels, (e, t) => (_(), a("g", { key: "seclab" + t }, [
|
|
1031
1366
|
o("circle", {
|
|
1032
1367
|
cx: e.cx - e.textWidth / 2 - 2,
|
|
1033
|
-
cy:
|
|
1368
|
+
cy: I.value + e.row * St + 4,
|
|
1034
1369
|
r: "4",
|
|
1035
1370
|
fill: e.color,
|
|
1036
1371
|
"fill-opacity": e.fillOpacity,
|
|
1037
1372
|
stroke: e.color,
|
|
1038
1373
|
"stroke-width": "1.5"
|
|
1039
|
-
}, null, 8,
|
|
1040
|
-
e.labelText ? (
|
|
1374
|
+
}, null, 8, gt),
|
|
1375
|
+
e.labelText ? (_(), a("text", {
|
|
1041
1376
|
key: 0,
|
|
1042
1377
|
x: e.cx - e.textWidth / 2 + 8,
|
|
1043
|
-
y:
|
|
1378
|
+
y: I.value + e.row * St + 8,
|
|
1044
1379
|
"font-size": "11",
|
|
1045
1380
|
"font-weight": "600",
|
|
1046
1381
|
fill: e.color
|
|
1047
|
-
},
|
|
1048
|
-
e.descText ? (
|
|
1382
|
+
}, b(e.labelText), 9, _t)) : i("", !0),
|
|
1383
|
+
e.descText ? (_(), a("text", {
|
|
1049
1384
|
key: 1,
|
|
1050
1385
|
x: e.cx - e.textWidth / 2 + 8,
|
|
1051
|
-
y:
|
|
1386
|
+
y: I.value + e.row * St + 22,
|
|
1052
1387
|
"font-size": "11",
|
|
1053
1388
|
fill: "currentColor",
|
|
1054
1389
|
"fill-opacity": "0.6"
|
|
1055
|
-
},
|
|
1390
|
+
}, b(e.descText), 9, vt)) : i("", !0)
|
|
1056
1391
|
]))), 128))
|
|
1057
|
-
], 8,
|
|
1058
|
-
|
|
1392
|
+
], 8, We)),
|
|
1393
|
+
R.value && S(he) !== null && U.value ? (_(), a("div", {
|
|
1059
1394
|
key: 1,
|
|
1060
1395
|
ref_key: "tooltipRef",
|
|
1061
|
-
ref:
|
|
1396
|
+
ref: ge,
|
|
1062
1397
|
class: "chart-tooltip-content",
|
|
1063
1398
|
style: m({
|
|
1064
1399
|
position: "absolute",
|
|
1065
1400
|
top: "0",
|
|
1066
1401
|
left: "0",
|
|
1067
1402
|
willChange: "transform",
|
|
1068
|
-
transform:
|
|
1069
|
-
visibility:
|
|
1403
|
+
transform: S(_e) ? `translate3d(${S(_e).left}px, ${S(_e).top}px, 0) translateY(-50%)` : "translateY(-50%)",
|
|
1404
|
+
visibility: S(_e) ? "visible" : "hidden"
|
|
1070
1405
|
})
|
|
1071
|
-
}, [
|
|
1406
|
+
}, [ee(n.$slots, "tooltip", p(u(U.value)), () => [o("div", yt, [U.value.xLabel ? (_(), a("div", bt, b(U.value.xLabel), 1)) : i("", !0), (_(!0), a(e, null, y(U.value.values, (e) => (_(), a("div", {
|
|
1072
1407
|
key: e.seriesIndex,
|
|
1073
1408
|
class: "line-chart-tooltip-row"
|
|
1074
1409
|
}, [o("span", {
|
|
1075
1410
|
class: "line-chart-tooltip-swatch",
|
|
1076
1411
|
style: m({ background: e.color })
|
|
1077
|
-
}, null, 4), s(" " +
|
|
1078
|
-
|
|
1412
|
+
}, null, 4), s(" " + b(isFinite(e.value) ? S(x)(e.value) : "—"), 1)]))), 128))])], !0)], 4)) : i("", !0),
|
|
1413
|
+
S(be) ? (_(), a("a", {
|
|
1079
1414
|
key: 2,
|
|
1080
1415
|
class: "line-chart-download-link",
|
|
1081
|
-
href:
|
|
1082
|
-
download: `${
|
|
1083
|
-
},
|
|
1416
|
+
href: S(xe),
|
|
1417
|
+
download: `${S(Se)()}.csv`
|
|
1418
|
+
}, b(S(be)), 9, xt)) : i("", !0)
|
|
1084
1419
|
], 512));
|
|
1085
1420
|
}
|
|
1086
|
-
}), [["__scopeId", "data-v-
|
|
1421
|
+
}), [["__scopeId", "data-v-ebe2731e"]]), Dt = ["width", "height"], Ot = ["x"], kt = { key: 1 }, At = [
|
|
1087
1422
|
"x",
|
|
1088
1423
|
"y",
|
|
1089
1424
|
"fill"
|
|
1090
|
-
],
|
|
1425
|
+
], jt = ["x", "y"], Mt = [
|
|
1091
1426
|
"x1",
|
|
1092
1427
|
"y1",
|
|
1093
1428
|
"x2",
|
|
1094
1429
|
"y2"
|
|
1095
|
-
],
|
|
1430
|
+
], Nt = [
|
|
1096
1431
|
"x1",
|
|
1097
1432
|
"y1",
|
|
1098
1433
|
"x2",
|
|
1099
1434
|
"y2"
|
|
1100
|
-
],
|
|
1435
|
+
], Pt = [
|
|
1101
1436
|
"x1",
|
|
1102
1437
|
"y1",
|
|
1103
1438
|
"x2",
|
|
1104
1439
|
"y2"
|
|
1105
|
-
],
|
|
1440
|
+
], Ft = [
|
|
1106
1441
|
"x",
|
|
1107
1442
|
"y",
|
|
1108
1443
|
"width",
|
|
1109
1444
|
"height"
|
|
1110
|
-
],
|
|
1445
|
+
], It = ["x", "y"], Lt = ["x", "y"], Rt = ["transform"], zt = [
|
|
1111
1446
|
"x",
|
|
1112
1447
|
"y",
|
|
1113
1448
|
"text-anchor"
|
|
1114
|
-
],
|
|
1449
|
+
], Bt = ["x", "y"], Vt = ["x", "y"], Ht = [
|
|
1115
1450
|
"data-category",
|
|
1116
1451
|
"data-series",
|
|
1117
1452
|
"x",
|
|
@@ -1120,15 +1455,15 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
1120
1455
|
"height",
|
|
1121
1456
|
"fill",
|
|
1122
1457
|
"fill-opacity"
|
|
1123
|
-
],
|
|
1458
|
+
], Ut = [
|
|
1124
1459
|
"x",
|
|
1125
1460
|
"y",
|
|
1126
1461
|
"width",
|
|
1127
1462
|
"height"
|
|
1128
|
-
],
|
|
1463
|
+
], Wt = { class: "bar-chart-tooltip" }, Gt = {
|
|
1129
1464
|
key: 0,
|
|
1130
1465
|
class: "bar-chart-tooltip-label"
|
|
1131
|
-
},
|
|
1466
|
+
}, Kt = ["href", "download"], qt = /* @__PURE__ */ B(/* @__PURE__ */ l({
|
|
1132
1467
|
__name: "BarChart",
|
|
1133
1468
|
props: {
|
|
1134
1469
|
data: {},
|
|
@@ -1137,78 +1472,73 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
1137
1472
|
categories: {},
|
|
1138
1473
|
orientation: { default: "vertical" },
|
|
1139
1474
|
layout: { default: "grouped" },
|
|
1140
|
-
width: {},
|
|
1141
|
-
height: {},
|
|
1142
|
-
title: {},
|
|
1143
|
-
xLabel: {},
|
|
1144
|
-
yLabel: {},
|
|
1145
1475
|
valueMin: { default: 0 },
|
|
1146
1476
|
valueTicks: {},
|
|
1147
1477
|
valueTickFormat: {},
|
|
1148
|
-
tooltipValueFormat: {},
|
|
1149
1478
|
categoryFormat: {},
|
|
1150
1479
|
barPadding: { default: .2 },
|
|
1151
1480
|
groupGap: { default: 1 },
|
|
1481
|
+
valueGrid: {
|
|
1482
|
+
type: Boolean,
|
|
1483
|
+
default: !0
|
|
1484
|
+
},
|
|
1485
|
+
width: {},
|
|
1486
|
+
height: {},
|
|
1487
|
+
title: {},
|
|
1488
|
+
xLabel: {},
|
|
1489
|
+
yLabel: {},
|
|
1152
1490
|
debounce: {},
|
|
1153
1491
|
menu: {
|
|
1154
1492
|
type: [Boolean, String],
|
|
1155
1493
|
default: !0
|
|
1156
1494
|
},
|
|
1157
|
-
valueGrid: {
|
|
1158
|
-
type: Boolean,
|
|
1159
|
-
default: !0
|
|
1160
|
-
},
|
|
1161
1495
|
tooltipData: {},
|
|
1162
1496
|
tooltipTrigger: {},
|
|
1163
1497
|
tooltipClamp: { default: "chart" },
|
|
1498
|
+
tooltipValueFormat: {},
|
|
1164
1499
|
csv: {},
|
|
1165
1500
|
filename: {},
|
|
1166
|
-
downloadLink: { type: [Boolean, String] }
|
|
1501
|
+
downloadLink: { type: [Boolean, String] },
|
|
1502
|
+
annotations: {},
|
|
1503
|
+
chartPadding: {}
|
|
1167
1504
|
},
|
|
1168
1505
|
emits: ["hover"],
|
|
1169
1506
|
setup(t, { emit: c }) {
|
|
1170
|
-
let l = t, f = c,
|
|
1171
|
-
|
|
1172
|
-
xLabel: () => l.xLabel,
|
|
1173
|
-
yLabel: () => l.yLabel,
|
|
1174
|
-
hasInlineLegend: () => re.value,
|
|
1175
|
-
width: () => _.value,
|
|
1176
|
-
height: () => b.value
|
|
1177
|
-
}), T = [];
|
|
1178
|
-
function ie(e) {
|
|
1507
|
+
let l = t, f = c, h = n(() => x.value.some((e) => e.legend)), g = [];
|
|
1508
|
+
function v(e) {
|
|
1179
1509
|
return {
|
|
1180
|
-
data: e.y ?? e.data ??
|
|
1510
|
+
data: e.y ?? e.data ?? g,
|
|
1181
1511
|
color: e.color,
|
|
1182
1512
|
opacity: e.opacity,
|
|
1183
1513
|
legend: e.legend
|
|
1184
1514
|
};
|
|
1185
1515
|
}
|
|
1186
|
-
let
|
|
1187
|
-
if (l.series && l.series.length > 0) return l.series.map(
|
|
1516
|
+
let x = n(() => {
|
|
1517
|
+
if (l.series && l.series.length > 0) return l.series.map(v);
|
|
1188
1518
|
let e = l.y ?? l.data;
|
|
1189
1519
|
return e ? [{ data: e }] : [];
|
|
1190
|
-
}),
|
|
1520
|
+
}), C = n(() => {
|
|
1191
1521
|
let e = l.categories?.length ?? 0;
|
|
1192
|
-
for (let t of
|
|
1522
|
+
for (let t of x.value) t.data.length > e && (e = t.data.length);
|
|
1193
1523
|
return e;
|
|
1194
|
-
}),
|
|
1195
|
-
let e =
|
|
1524
|
+
}), w = n(() => {
|
|
1525
|
+
let e = C.value, t = Array(e);
|
|
1196
1526
|
for (let n = 0; n < e; n++) t[n] = l.categories?.[n] ?? String(n);
|
|
1197
1527
|
return t;
|
|
1198
|
-
}),
|
|
1528
|
+
}), T = n(() => l.orientation === "vertical"), E = n(() => {
|
|
1199
1529
|
let e = Infinity, t = -Infinity;
|
|
1200
1530
|
if (l.layout === "stacked") {
|
|
1201
|
-
let n =
|
|
1531
|
+
let n = C.value;
|
|
1202
1532
|
for (let r = 0; r < n; r++) {
|
|
1203
1533
|
let n = 0, i = 0;
|
|
1204
|
-
for (let e of
|
|
1534
|
+
for (let e of x.value) {
|
|
1205
1535
|
if (r >= e.data.length) continue;
|
|
1206
1536
|
let t = Number(e.data[r]);
|
|
1207
1537
|
isFinite(t) && (t >= 0 ? n += t : i += t);
|
|
1208
1538
|
}
|
|
1209
1539
|
n > t && (t = n), i < e && (e = i);
|
|
1210
1540
|
}
|
|
1211
|
-
} else for (let n of
|
|
1541
|
+
} else for (let n of x.value) for (let r of n.data) {
|
|
1212
1542
|
let n = Number(r);
|
|
1213
1543
|
isFinite(n) && (n < e && (e = n), n > t && (t = n));
|
|
1214
1544
|
}
|
|
@@ -1221,30 +1551,30 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
1221
1551
|
max: t,
|
|
1222
1552
|
range: r
|
|
1223
1553
|
};
|
|
1224
|
-
}),
|
|
1225
|
-
let e =
|
|
1226
|
-
return e > 0 ?
|
|
1227
|
-
}),
|
|
1228
|
-
let e =
|
|
1554
|
+
}), D = n(() => T.value ? q.value : J.value), O = n(() => T.value ? J.value : q.value), k = n(() => {
|
|
1555
|
+
let e = C.value;
|
|
1556
|
+
return e > 0 ? D.value / e : 0;
|
|
1557
|
+
}), A = n(() => k.value * (1 - l.barPadding)), j = n(() => {
|
|
1558
|
+
let e = x.value.length;
|
|
1229
1559
|
if (e === 0) return 0;
|
|
1230
|
-
if (l.layout === "stacked" || e === 1) return
|
|
1560
|
+
if (l.layout === "stacked" || e === 1) return A.value;
|
|
1231
1561
|
let t = l.groupGap * (e - 1);
|
|
1232
|
-
return Math.max(1, (
|
|
1562
|
+
return Math.max(1, (A.value - t) / e);
|
|
1233
1563
|
});
|
|
1234
|
-
function
|
|
1235
|
-
return (
|
|
1564
|
+
function M(e) {
|
|
1565
|
+
return (T.value ? K.value.left : K.value.top) + e * k.value;
|
|
1236
1566
|
}
|
|
1237
|
-
let
|
|
1238
|
-
let { min: e, max: t } =
|
|
1239
|
-
return
|
|
1567
|
+
let N = n(() => {
|
|
1568
|
+
let { min: e, max: t } = E.value, n = l.valueMin ?? 0;
|
|
1569
|
+
return P(Math.max(e, Math.min(t, n)));
|
|
1240
1570
|
});
|
|
1241
|
-
function
|
|
1242
|
-
let { min: t, range: n } =
|
|
1243
|
-
return
|
|
1571
|
+
function P(e) {
|
|
1572
|
+
let { min: t, range: n } = E.value, r = O.value / n;
|
|
1573
|
+
return T.value ? K.value.top + J.value - (e - t) * r : K.value.left + (e - t) * r;
|
|
1244
1574
|
}
|
|
1245
|
-
function
|
|
1575
|
+
function ne(e, t, n, r, i, a, o, s, c) {
|
|
1246
1576
|
let l = Math.min(e, t), u = Math.abs(e - t);
|
|
1247
|
-
return
|
|
1577
|
+
return T.value ? {
|
|
1248
1578
|
x: n,
|
|
1249
1579
|
y: l,
|
|
1250
1580
|
w: r,
|
|
@@ -1266,29 +1596,29 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
1266
1596
|
seriesIndex: c
|
|
1267
1597
|
};
|
|
1268
1598
|
}
|
|
1269
|
-
let
|
|
1270
|
-
let e = [], t =
|
|
1599
|
+
let F = n(() => {
|
|
1600
|
+
let e = [], t = x.value, n = t.length;
|
|
1271
1601
|
if (n === 0) return e;
|
|
1272
|
-
let r =
|
|
1602
|
+
let r = C.value, i = k.value, a = A.value, o = j.value, s = (i - a) / 2, c = N.value;
|
|
1273
1603
|
for (let i = 0; i < r; i++) {
|
|
1274
|
-
let r =
|
|
1604
|
+
let r = M(i) + s;
|
|
1275
1605
|
if (l.layout === "stacked") {
|
|
1276
1606
|
let o = 0, s = 0;
|
|
1277
1607
|
for (let c = 0; c < n; c++) {
|
|
1278
1608
|
let n = t[c], l = Number(n.data[i] ?? NaN);
|
|
1279
1609
|
if (!isFinite(l)) continue;
|
|
1280
1610
|
let u = l >= 0 ? o : s, d = u + l;
|
|
1281
|
-
e.push(
|
|
1611
|
+
e.push(ne(P(u), P(d), r, a, n.color ?? ie(c), n.opacity ?? 1, l, i, c)), l >= 0 ? o = d : s = d;
|
|
1282
1612
|
}
|
|
1283
1613
|
} else for (let a = 0; a < n; a++) {
|
|
1284
1614
|
let s = t[a], u = Number(s.data[i] ?? NaN);
|
|
1285
1615
|
if (!isFinite(u)) continue;
|
|
1286
1616
|
let d = r + (n === 1 ? 0 : a * (o + l.groupGap));
|
|
1287
|
-
e.push(
|
|
1617
|
+
e.push(ne(c, P(u), d, o, s.color ?? ie(a), s.opacity ?? 1, u, i, a));
|
|
1288
1618
|
}
|
|
1289
1619
|
}
|
|
1290
1620
|
return e;
|
|
1291
|
-
}),
|
|
1621
|
+
}), re = [
|
|
1292
1622
|
"var(--color-primary, #3b82f6)",
|
|
1293
1623
|
"var(--color-accent, #f59e0b)",
|
|
1294
1624
|
"var(--color-success, #10b981)",
|
|
@@ -1296,238 +1626,252 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
1296
1626
|
"var(--color-info, #6366f1)",
|
|
1297
1627
|
"var(--color-warning, #d97706)"
|
|
1298
1628
|
];
|
|
1299
|
-
function
|
|
1300
|
-
return
|
|
1301
|
-
}
|
|
1302
|
-
function B(e) {
|
|
1303
|
-
return l.tooltipValueFormat ? l.tooltipValueFormat(e) : l.valueTickFormat ? l.valueTickFormat(e) : K(e);
|
|
1629
|
+
function ie(e) {
|
|
1630
|
+
return re[e % re.length];
|
|
1304
1631
|
}
|
|
1305
|
-
let
|
|
1306
|
-
let { min: e, max: t } =
|
|
1632
|
+
let ae = Ue(() => l.tooltipValueFormat, () => l.valueTickFormat), oe = n(() => {
|
|
1633
|
+
let { min: e, max: t } = E.value, n = (e) => l.valueTickFormat ? l.valueTickFormat(e) : W(e);
|
|
1307
1634
|
if (e === t) return [{
|
|
1308
1635
|
value: n(e),
|
|
1309
|
-
pos:
|
|
1636
|
+
pos: V(P(e))
|
|
1310
1637
|
}];
|
|
1311
|
-
let r =
|
|
1312
|
-
return
|
|
1638
|
+
let r = T.value ? 50 : 80;
|
|
1639
|
+
return G({
|
|
1313
1640
|
min: e,
|
|
1314
1641
|
max: t,
|
|
1315
1642
|
ticks: l.valueTicks,
|
|
1316
|
-
targetTickCount:
|
|
1643
|
+
targetTickCount: O.value / r
|
|
1317
1644
|
}).map((e) => ({
|
|
1318
1645
|
value: n(e),
|
|
1319
|
-
pos:
|
|
1646
|
+
pos: V(P(e))
|
|
1320
1647
|
}));
|
|
1321
|
-
}),
|
|
1322
|
-
let e = [], t =
|
|
1648
|
+
}), I = n(() => {
|
|
1649
|
+
let e = [], t = C.value, n = (e, t) => l.categoryFormat ? l.categoryFormat(e, t) : e;
|
|
1323
1650
|
for (let r = 0; r < t; r++) {
|
|
1324
|
-
let t =
|
|
1651
|
+
let t = M(r) + k.value / 2;
|
|
1325
1652
|
e.push({
|
|
1326
|
-
label: n(
|
|
1653
|
+
label: n(w.value[r], r),
|
|
1327
1654
|
pos: t,
|
|
1328
1655
|
anchor: "middle"
|
|
1329
1656
|
});
|
|
1330
1657
|
}
|
|
1331
1658
|
return e;
|
|
1332
|
-
}),
|
|
1659
|
+
}), se = n(() => {
|
|
1333
1660
|
let e = [];
|
|
1334
|
-
return
|
|
1661
|
+
return x.value.forEach((t, n) => {
|
|
1335
1662
|
t.legend && e.push({
|
|
1336
1663
|
label: t.legend,
|
|
1337
|
-
color: t.color ??
|
|
1664
|
+
color: t.color ?? ie(n)
|
|
1338
1665
|
});
|
|
1339
1666
|
}), e;
|
|
1340
1667
|
});
|
|
1341
|
-
function
|
|
1668
|
+
function ce() {
|
|
1342
1669
|
if (typeof l.csv == "function") return l.csv();
|
|
1343
1670
|
if (typeof l.csv == "string") return l.csv;
|
|
1344
|
-
let e =
|
|
1671
|
+
let e = x.value.map((e) => ({
|
|
1345
1672
|
label: e.legend,
|
|
1346
1673
|
data: e.data
|
|
1347
1674
|
}));
|
|
1348
|
-
return
|
|
1675
|
+
return be(w.value, e);
|
|
1349
1676
|
}
|
|
1350
|
-
let
|
|
1351
|
-
function
|
|
1352
|
-
|
|
1677
|
+
let L = n(() => !!l.tooltipData || !!l.tooltipTrigger);
|
|
1678
|
+
function R(e, t) {
|
|
1679
|
+
if (!isFinite(e) || !isFinite(t) || k.value === 0) return null;
|
|
1680
|
+
let n = (T.value ? K.value.left : K.value.top) + (e + .5) * k.value, r = P(t);
|
|
1681
|
+
return T.value ? {
|
|
1682
|
+
x: n,
|
|
1683
|
+
y: r
|
|
1684
|
+
} : {
|
|
1685
|
+
x: r,
|
|
1686
|
+
y: n
|
|
1687
|
+
};
|
|
1688
|
+
}
|
|
1689
|
+
function z(e, t) {
|
|
1690
|
+
let n = B.value?.getBoundingClientRect();
|
|
1353
1691
|
if (!n) return null;
|
|
1354
|
-
let r =
|
|
1355
|
-
if (r === 0 ||
|
|
1356
|
-
let i =
|
|
1357
|
-
return Math.max(0, Math.min(r - 1, Math.floor(i /
|
|
1692
|
+
let r = C.value;
|
|
1693
|
+
if (r === 0 || k.value === 0) return null;
|
|
1694
|
+
let i = T.value ? e - n.left - K.value.left : t - n.top - K.value.top;
|
|
1695
|
+
return Math.max(0, Math.min(r - 1, Math.floor(i / k.value)));
|
|
1358
1696
|
}
|
|
1359
|
-
let { hoverIndex:
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1697
|
+
let { containerRef: B, svgRef: H, width: ue, height: U, padding: K, legendY: de, innerW: q, innerH: J, bounds: fe, hoverIndex: pe, tooltipRef: Y, tooltipPos: X, tooltipHandlers: Z, menuItems: Q, downloadLinkText: me, csvHref: he, menuFilename: ge } = He({
|
|
1698
|
+
width: () => l.width,
|
|
1699
|
+
height: () => l.height,
|
|
1700
|
+
title: () => l.title,
|
|
1701
|
+
xLabel: () => l.xLabel,
|
|
1702
|
+
yLabel: () => l.yLabel,
|
|
1703
|
+
debounce: () => l.debounce,
|
|
1704
|
+
menu: () => l.menu,
|
|
1705
|
+
tooltipTrigger: () => l.tooltipTrigger,
|
|
1706
|
+
tooltipClamp: () => l.tooltipClamp,
|
|
1367
1707
|
filename: () => l.filename,
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1708
|
+
downloadLink: () => l.downloadLink,
|
|
1709
|
+
chartPadding: () => l.chartPadding,
|
|
1710
|
+
hasInlineLegend: () => h.value,
|
|
1711
|
+
hasTooltipSlot: () => L.value,
|
|
1712
|
+
getCsv: ce,
|
|
1713
|
+
pointerToIndex: z,
|
|
1714
|
+
onHover: (e) => f("hover", e)
|
|
1715
|
+
}), _e = n(() => {
|
|
1716
|
+
let e = pe.value;
|
|
1717
|
+
if (e !== null) return w.value[e];
|
|
1718
|
+
}), ve = n(() => {
|
|
1719
|
+
let e = pe.value;
|
|
1376
1720
|
return e === null ? null : {
|
|
1377
1721
|
index: e,
|
|
1378
|
-
category:
|
|
1379
|
-
values:
|
|
1722
|
+
category: w.value[e] ?? String(e),
|
|
1723
|
+
values: x.value.map((t, n) => ({
|
|
1380
1724
|
value: Number(t.data[e] ?? NaN),
|
|
1381
|
-
color: t.color ??
|
|
1725
|
+
color: t.color ?? ie(n),
|
|
1382
1726
|
seriesIndex: n
|
|
1383
1727
|
})),
|
|
1384
1728
|
data: l.tooltipData?.[e] ?? null
|
|
1385
1729
|
};
|
|
1386
|
-
}),
|
|
1387
|
-
let e =
|
|
1730
|
+
}), $ = n(() => {
|
|
1731
|
+
let e = pe.value;
|
|
1388
1732
|
if (e === null) return null;
|
|
1389
|
-
let t =
|
|
1390
|
-
return
|
|
1733
|
+
let t = M(e);
|
|
1734
|
+
return T.value ? {
|
|
1391
1735
|
x: t,
|
|
1392
|
-
y:
|
|
1393
|
-
w:
|
|
1394
|
-
h:
|
|
1736
|
+
y: K.value.top,
|
|
1737
|
+
w: k.value,
|
|
1738
|
+
h: J.value
|
|
1395
1739
|
} : {
|
|
1396
|
-
x:
|
|
1740
|
+
x: K.value.left,
|
|
1397
1741
|
y: t,
|
|
1398
|
-
w:
|
|
1399
|
-
h:
|
|
1742
|
+
w: q.value,
|
|
1743
|
+
h: k.value
|
|
1400
1744
|
};
|
|
1401
1745
|
});
|
|
1402
|
-
return (n, c) => (
|
|
1746
|
+
return (n, c) => (_(), a("div", {
|
|
1403
1747
|
ref_key: "containerRef",
|
|
1404
|
-
ref:
|
|
1748
|
+
ref: B,
|
|
1405
1749
|
class: "bar-chart-wrapper"
|
|
1406
1750
|
}, [
|
|
1407
|
-
t.menu ? (
|
|
1751
|
+
t.menu ? (_(), r(le, {
|
|
1408
1752
|
key: 0,
|
|
1409
|
-
items:
|
|
1753
|
+
items: S(Q)
|
|
1410
1754
|
}, null, 8, ["items"])) : i("", !0),
|
|
1411
|
-
(
|
|
1755
|
+
(_(), a("svg", {
|
|
1412
1756
|
ref_key: "svgRef",
|
|
1413
|
-
ref:
|
|
1414
|
-
width:
|
|
1415
|
-
height:
|
|
1757
|
+
ref: H,
|
|
1758
|
+
width: S(ue),
|
|
1759
|
+
height: S(U)
|
|
1416
1760
|
}, [
|
|
1417
|
-
t.title ? (
|
|
1761
|
+
t.title ? (_(), a("text", {
|
|
1418
1762
|
key: 0,
|
|
1419
|
-
x:
|
|
1763
|
+
x: S(ue) / 2,
|
|
1420
1764
|
y: 18,
|
|
1421
1765
|
"text-anchor": "middle",
|
|
1422
1766
|
"font-size": "14",
|
|
1423
1767
|
"font-weight": "600",
|
|
1424
1768
|
fill: "currentColor"
|
|
1425
|
-
},
|
|
1426
|
-
|
|
1427
|
-
x:
|
|
1428
|
-
y:
|
|
1769
|
+
}, b(t.title), 9, Ot)) : i("", !0),
|
|
1770
|
+
se.value.length > 0 ? (_(), a("g", kt, [(_(!0), a(e, null, y(se.value, (t, n) => (_(), a(e, { key: "ileg" + n }, [o("rect", {
|
|
1771
|
+
x: S(K).left + n * 120,
|
|
1772
|
+
y: S(de) - 5,
|
|
1429
1773
|
width: "12",
|
|
1430
1774
|
height: "10",
|
|
1431
1775
|
fill: t.color
|
|
1432
|
-
}, null, 8,
|
|
1433
|
-
x:
|
|
1434
|
-
y:
|
|
1776
|
+
}, null, 8, At), o("text", {
|
|
1777
|
+
x: S(K).left + n * 120 + 18,
|
|
1778
|
+
y: S(de) + 4,
|
|
1435
1779
|
"font-size": "11",
|
|
1436
1780
|
fill: "currentColor"
|
|
1437
|
-
},
|
|
1781
|
+
}, b(t.label), 9, jt)], 64))), 128))])) : i("", !0),
|
|
1438
1782
|
o("line", {
|
|
1439
|
-
x1:
|
|
1440
|
-
y1:
|
|
1441
|
-
x2:
|
|
1442
|
-
y2:
|
|
1783
|
+
x1: S(V)(S(K).left),
|
|
1784
|
+
y1: S(V)(S(K).top),
|
|
1785
|
+
x2: S(V)(S(K).left),
|
|
1786
|
+
y2: S(V)(S(K).top + S(J)),
|
|
1443
1787
|
stroke: "currentColor",
|
|
1444
1788
|
"stroke-opacity": "0.3"
|
|
1445
|
-
}, null, 8,
|
|
1789
|
+
}, null, 8, Mt),
|
|
1446
1790
|
o("line", {
|
|
1447
|
-
x1:
|
|
1448
|
-
y1:
|
|
1449
|
-
x2:
|
|
1450
|
-
y2:
|
|
1791
|
+
x1: S(V)(S(K).left),
|
|
1792
|
+
y1: S(V)(S(K).top + S(J)),
|
|
1793
|
+
x2: S(V)(S(K).left + S(q)),
|
|
1794
|
+
y2: S(V)(S(K).top + S(J)),
|
|
1451
1795
|
stroke: "currentColor",
|
|
1452
1796
|
"stroke-opacity": "0.3"
|
|
1453
|
-
}, null, 8,
|
|
1454
|
-
t.valueGrid ? (
|
|
1797
|
+
}, null, 8, Nt),
|
|
1798
|
+
t.valueGrid ? (_(!0), a(e, { key: 2 }, y(oe.value, (e, t) => (_(), a("line", {
|
|
1455
1799
|
key: "vg" + t,
|
|
1456
|
-
x1:
|
|
1457
|
-
y1:
|
|
1458
|
-
x2:
|
|
1459
|
-
y2:
|
|
1800
|
+
x1: T.value ? S(K).left : e.pos,
|
|
1801
|
+
y1: T.value ? e.pos : S(K).top,
|
|
1802
|
+
x2: T.value ? S(K).left + S(q) : e.pos,
|
|
1803
|
+
y2: T.value ? e.pos : S(K).top + S(J),
|
|
1460
1804
|
stroke: "currentColor",
|
|
1461
1805
|
"stroke-opacity": "0.1"
|
|
1462
|
-
}, null, 8,
|
|
1463
|
-
|
|
1806
|
+
}, null, 8, Pt))), 128)) : i("", !0),
|
|
1807
|
+
$.value && L.value ? (_(), a("rect", {
|
|
1464
1808
|
key: 3,
|
|
1465
|
-
x:
|
|
1466
|
-
y:
|
|
1467
|
-
width:
|
|
1468
|
-
height:
|
|
1809
|
+
x: $.value.x,
|
|
1810
|
+
y: $.value.y,
|
|
1811
|
+
width: $.value.w,
|
|
1812
|
+
height: $.value.h,
|
|
1469
1813
|
fill: "currentColor",
|
|
1470
1814
|
"fill-opacity": "0.06",
|
|
1471
1815
|
"pointer-events": "none"
|
|
1472
|
-
}, null, 8,
|
|
1473
|
-
|
|
1816
|
+
}, null, 8, Ft)) : i("", !0),
|
|
1817
|
+
T.value ? (_(!0), a(e, { key: 4 }, y(oe.value, (e, t) => (_(), a("text", {
|
|
1474
1818
|
key: "vt" + t,
|
|
1475
1819
|
"data-testid": "value-tick",
|
|
1476
|
-
x:
|
|
1820
|
+
x: S(K).left - 6,
|
|
1477
1821
|
y: e.pos,
|
|
1478
1822
|
"text-anchor": "end",
|
|
1479
1823
|
"dominant-baseline": "middle",
|
|
1480
1824
|
"font-size": "10",
|
|
1481
1825
|
fill: "currentColor",
|
|
1482
1826
|
"fill-opacity": "0.6"
|
|
1483
|
-
},
|
|
1827
|
+
}, b(e.value), 9, It))), 128)) : (_(!0), a(e, { key: 5 }, y(oe.value, (e, t) => (_(), a("text", {
|
|
1484
1828
|
key: "vt" + t,
|
|
1485
1829
|
"data-testid": "value-tick",
|
|
1486
1830
|
x: e.pos,
|
|
1487
|
-
y:
|
|
1831
|
+
y: S(K).top + S(J) + 16,
|
|
1488
1832
|
"text-anchor": "middle",
|
|
1489
1833
|
"font-size": "10",
|
|
1490
1834
|
fill: "currentColor",
|
|
1491
1835
|
"fill-opacity": "0.6"
|
|
1492
|
-
},
|
|
1493
|
-
t.yLabel ? (
|
|
1836
|
+
}, b(e.value), 9, Lt))), 128)),
|
|
1837
|
+
t.yLabel ? (_(), a("text", {
|
|
1494
1838
|
key: 6,
|
|
1495
1839
|
x: 0,
|
|
1496
1840
|
y: 0,
|
|
1497
|
-
transform: `translate(14, ${
|
|
1841
|
+
transform: `translate(14, ${S(K).top + S(J) / 2}) rotate(-90)`,
|
|
1498
1842
|
"text-anchor": "middle",
|
|
1499
1843
|
"font-size": "13",
|
|
1500
1844
|
fill: "currentColor"
|
|
1501
|
-
},
|
|
1502
|
-
|
|
1845
|
+
}, b(t.yLabel), 9, Rt)) : i("", !0),
|
|
1846
|
+
T.value ? (_(!0), a(e, { key: 7 }, y(I.value, (e, t) => (_(), a("text", {
|
|
1503
1847
|
key: "ct" + t,
|
|
1504
1848
|
"data-testid": "category-tick",
|
|
1505
1849
|
x: e.pos,
|
|
1506
|
-
y:
|
|
1850
|
+
y: S(K).top + S(J) + 16,
|
|
1507
1851
|
"text-anchor": e.anchor,
|
|
1508
1852
|
"font-size": "10",
|
|
1509
1853
|
fill: "currentColor",
|
|
1510
1854
|
"fill-opacity": "0.6"
|
|
1511
|
-
},
|
|
1855
|
+
}, b(e.label), 9, zt))), 128)) : (_(!0), a(e, { key: 8 }, y(I.value, (e, t) => (_(), a("text", {
|
|
1512
1856
|
key: "ct" + t,
|
|
1513
1857
|
"data-testid": "category-tick",
|
|
1514
|
-
x:
|
|
1858
|
+
x: S(K).left - 6,
|
|
1515
1859
|
y: e.pos,
|
|
1516
1860
|
"text-anchor": "end",
|
|
1517
1861
|
"dominant-baseline": "middle",
|
|
1518
1862
|
"font-size": "10",
|
|
1519
1863
|
fill: "currentColor",
|
|
1520
1864
|
"fill-opacity": "0.6"
|
|
1521
|
-
},
|
|
1522
|
-
t.xLabel ? (
|
|
1865
|
+
}, b(e.label), 9, Bt))), 128)),
|
|
1866
|
+
t.xLabel ? (_(), a("text", {
|
|
1523
1867
|
key: 9,
|
|
1524
|
-
x:
|
|
1525
|
-
y:
|
|
1868
|
+
x: S(K).left + S(q) / 2,
|
|
1869
|
+
y: S(U) - 4,
|
|
1526
1870
|
"text-anchor": "middle",
|
|
1527
1871
|
"font-size": "13",
|
|
1528
1872
|
fill: "currentColor"
|
|
1529
|
-
},
|
|
1530
|
-
(
|
|
1873
|
+
}, b(t.xLabel), 9, Vt)) : i("", !0),
|
|
1874
|
+
(_(!0), a(e, null, y(F.value, (e, t) => (_(), a("rect", {
|
|
1531
1875
|
key: "bar" + t,
|
|
1532
1876
|
"data-testid": "bar",
|
|
1533
1877
|
"data-category": e.categoryIndex,
|
|
@@ -1538,49 +1882,55 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
1538
1882
|
height: e.h,
|
|
1539
1883
|
fill: e.color,
|
|
1540
1884
|
"fill-opacity": e.opacity
|
|
1541
|
-
}, null, 8,
|
|
1542
|
-
|
|
1885
|
+
}, null, 8, Ht))), 128)),
|
|
1886
|
+
L.value ? (_(), a("rect", d({
|
|
1543
1887
|
key: 10,
|
|
1544
|
-
x:
|
|
1545
|
-
y:
|
|
1546
|
-
width:
|
|
1547
|
-
height:
|
|
1888
|
+
x: S(K).left,
|
|
1889
|
+
y: S(K).top,
|
|
1890
|
+
width: S(q),
|
|
1891
|
+
height: S(J),
|
|
1548
1892
|
fill: "transparent",
|
|
1549
1893
|
style: {
|
|
1550
1894
|
cursor: "crosshair",
|
|
1551
1895
|
"touch-action": "none"
|
|
1552
1896
|
}
|
|
1553
|
-
},
|
|
1554
|
-
|
|
1555
|
-
|
|
1897
|
+
}, te(S(Z), !0)), null, 16, Ut)) : i("", !0),
|
|
1898
|
+
t.annotations && t.annotations.length > 0 ? (_(), r(S(ze), {
|
|
1899
|
+
key: 11,
|
|
1900
|
+
annotations: t.annotations,
|
|
1901
|
+
project: R,
|
|
1902
|
+
bounds: S(fe)
|
|
1903
|
+
}, null, 8, ["annotations", "bounds"])) : i("", !0)
|
|
1904
|
+
], 8, Dt)),
|
|
1905
|
+
L.value && S(pe) !== null && ve.value ? (_(), a("div", {
|
|
1556
1906
|
key: 1,
|
|
1557
1907
|
ref_key: "tooltipRef",
|
|
1558
|
-
ref:
|
|
1908
|
+
ref: Y,
|
|
1559
1909
|
class: "chart-tooltip-content",
|
|
1560
1910
|
style: m({
|
|
1561
1911
|
position: "absolute",
|
|
1562
1912
|
top: "0",
|
|
1563
1913
|
left: "0",
|
|
1564
1914
|
willChange: "transform",
|
|
1565
|
-
transform:
|
|
1566
|
-
visibility:
|
|
1915
|
+
transform: S(X) ? `translate3d(${S(X).left}px, ${S(X).top}px, 0) translateY(-50%)` : "translateY(-50%)",
|
|
1916
|
+
visibility: S(X) ? "visible" : "hidden"
|
|
1567
1917
|
})
|
|
1568
|
-
}, [
|
|
1918
|
+
}, [ee(n.$slots, "tooltip", p(u(ve.value)), () => [o("div", Wt, [_e.value ? (_(), a("div", Gt, b(_e.value), 1)) : i("", !0), (_(!0), a(e, null, y(ve.value.values, (e) => (_(), a("div", {
|
|
1569
1919
|
key: e.seriesIndex,
|
|
1570
1920
|
class: "bar-chart-tooltip-row"
|
|
1571
1921
|
}, [o("span", {
|
|
1572
1922
|
class: "bar-chart-tooltip-swatch",
|
|
1573
1923
|
style: m({ background: e.color })
|
|
1574
|
-
}, null, 4), s(" " +
|
|
1575
|
-
|
|
1924
|
+
}, null, 4), s(" " + b(isFinite(e.value) ? S(ae)(e.value) : "—"), 1)]))), 128))])], !0)], 4)) : i("", !0),
|
|
1925
|
+
S(me) ? (_(), a("a", {
|
|
1576
1926
|
key: 2,
|
|
1577
1927
|
class: "bar-chart-download-link",
|
|
1578
|
-
href:
|
|
1579
|
-
download: `${
|
|
1580
|
-
},
|
|
1928
|
+
href: S(he),
|
|
1929
|
+
download: `${S(ge)()}.csv`
|
|
1930
|
+
}, b(S(me)), 9, Kt)) : i("", !0)
|
|
1581
1931
|
], 512));
|
|
1582
1932
|
}
|
|
1583
|
-
}), [["__scopeId", "data-v-
|
|
1933
|
+
}), [["__scopeId", "data-v-690ebb3c"]]), Jt = {
|
|
1584
1934
|
"01013": "010259",
|
|
1585
1935
|
"01015": "010177",
|
|
1586
1936
|
"01029": "010177",
|
|
@@ -4741,7 +5091,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
4741
5091
|
51019: "510014",
|
|
4742
5092
|
"02158": "020820",
|
|
4743
5093
|
46102: "460957"
|
|
4744
|
-
},
|
|
5094
|
+
}, Yt = {
|
|
4745
5095
|
"010259": "Butler, AL",
|
|
4746
5096
|
"010177": "Calhoun (Anniston), AL - Cleburne, AL",
|
|
4747
5097
|
"010172": "Chambers, AL - Randolph, AL",
|
|
@@ -5691,7 +6041,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
5691
6041
|
560775: "Teton, WY - Lincoln, WY",
|
|
5692
6042
|
560792: "Uinta, WY",
|
|
5693
6043
|
560804: "Weston, WY"
|
|
5694
|
-
},
|
|
6044
|
+
}, Xt = {
|
|
5695
6045
|
ref: "root",
|
|
5696
6046
|
class: "chart-tooltip-content",
|
|
5697
6047
|
style: {
|
|
@@ -5703,10 +6053,10 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
5703
6053
|
"pointer-events": "none",
|
|
5704
6054
|
transform: "translateY(-50%)"
|
|
5705
6055
|
}
|
|
5706
|
-
},
|
|
6056
|
+
}, Zt = /* @__PURE__ */ l({
|
|
5707
6057
|
__name: "ChoroplethTooltip",
|
|
5708
6058
|
setup(e, { expose: n }) {
|
|
5709
|
-
let a =
|
|
6059
|
+
let a = v(null), s = w("root");
|
|
5710
6060
|
return n({
|
|
5711
6061
|
setData(e) {
|
|
5712
6062
|
a.value = e;
|
|
@@ -5714,24 +6064,24 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
5714
6064
|
getEl() {
|
|
5715
6065
|
return s.value;
|
|
5716
6066
|
}
|
|
5717
|
-
}), (e, n) => (
|
|
6067
|
+
}), (e, n) => (_(), r(t, { to: "body" }, [o("div", Xt, [a.value ? ee(e.$slots, "default", p(d({ key: 0 }, a.value))) : i("", !0)], 512)]));
|
|
5718
6068
|
}
|
|
5719
|
-
}),
|
|
6069
|
+
}), Qt = {
|
|
5720
6070
|
key: 1,
|
|
5721
6071
|
class: "choropleth-header"
|
|
5722
|
-
},
|
|
6072
|
+
}, $t = {
|
|
5723
6073
|
key: 0,
|
|
5724
6074
|
class: "choropleth-title"
|
|
5725
|
-
},
|
|
6075
|
+
}, en = {
|
|
5726
6076
|
key: 1,
|
|
5727
6077
|
class: "choropleth-legend"
|
|
5728
|
-
},
|
|
6078
|
+
}, tn = {
|
|
5729
6079
|
key: 0,
|
|
5730
6080
|
class: "choropleth-legend-title"
|
|
5731
|
-
},
|
|
6081
|
+
}, nn = {
|
|
5732
6082
|
key: 2,
|
|
5733
6083
|
class: "choropleth-legend-continuous"
|
|
5734
|
-
},
|
|
6084
|
+
}, rn = { class: "choropleth-legend-ticks" }, an = ["viewBox"], on = ["innerHTML"], sn = "http://www.w3.org/2000/svg", cn = 450, ln = 1e3, un = /* @__PURE__ */ B(/* @__PURE__ */ l({
|
|
5735
6085
|
__name: "ChoroplethMap",
|
|
5736
6086
|
props: {
|
|
5737
6087
|
topology: {},
|
|
@@ -5775,56 +6125,56 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
5775
6125
|
"update:focus"
|
|
5776
6126
|
],
|
|
5777
6127
|
setup(t, { emit: c }) {
|
|
5778
|
-
let l = t, d = c,
|
|
6128
|
+
let l = t, d = c, te = (e) => e, S = v(null), w = v(null), D = v(null), O = v(null), k = v(null), A = v(null), j = C(), M = n(() => !!l.tooltipTrigger || !!l.tooltipFormat || !!j.tooltip), N = /* @__PURE__ */ new Map(), P = /* @__PURE__ */ new Map(), ne = null, L = null, R = /* @__PURE__ */ new Map(), z = /* @__PURE__ */ new Map(), B = !1, V = typeof window < "u" && "ontouchstart" in window, H = null, ue = {
|
|
5779
6129
|
width: 0,
|
|
5780
6130
|
height: 0
|
|
5781
|
-
},
|
|
5782
|
-
function
|
|
5783
|
-
if (
|
|
5784
|
-
let e =
|
|
6131
|
+
}, U = null, W = !1, G = null, K = v(!1), de = 0, q = 0, J = 0;
|
|
6132
|
+
function fe() {
|
|
6133
|
+
if (V) return;
|
|
6134
|
+
let e = D.value;
|
|
5785
6135
|
e && (e.addEventListener("click", st), e.addEventListener("mouseover", st), e.addEventListener("mousemove", ct), e.addEventListener("mouseout", lt));
|
|
5786
6136
|
}
|
|
5787
|
-
function
|
|
5788
|
-
let e =
|
|
6137
|
+
function Y() {
|
|
6138
|
+
let e = D.value;
|
|
5789
6139
|
e && (e.removeEventListener("click", st), e.removeEventListener("mouseover", st), e.removeEventListener("mousemove", ct), e.removeEventListener("mouseout", lt));
|
|
5790
6140
|
}
|
|
5791
|
-
function
|
|
6141
|
+
function X() {
|
|
5792
6142
|
at();
|
|
5793
6143
|
}
|
|
5794
6144
|
h(() => {
|
|
5795
|
-
|
|
6145
|
+
Z(), fe(), dt(), $(), Xe(), window.addEventListener("scroll", X, {
|
|
5796
6146
|
passive: !0,
|
|
5797
6147
|
capture: !0
|
|
5798
|
-
}), window.addEventListener("resize",
|
|
5799
|
-
}),
|
|
5800
|
-
|
|
6148
|
+
}), window.addEventListener("resize", X, { passive: !0 });
|
|
6149
|
+
}), g(() => {
|
|
6150
|
+
H?.disconnect(), J && cancelAnimationFrame(J), Q(), Y(), window.removeEventListener("scroll", X, { capture: !0 }), window.removeEventListener("resize", X);
|
|
5801
6151
|
});
|
|
5802
|
-
function
|
|
5803
|
-
if (!
|
|
5804
|
-
let e = oe(
|
|
5805
|
-
|
|
5806
|
-
|
|
6152
|
+
function Z() {
|
|
6153
|
+
if (!w.value || !D.value) return;
|
|
6154
|
+
let e = oe(w.value), t = Math.max(12, l.focusZoomLevel);
|
|
6155
|
+
G = ie().scaleExtent([1, t]).on("start", () => {
|
|
6156
|
+
B = !0, at();
|
|
5807
6157
|
}).on("zoom", (e) => {
|
|
5808
|
-
|
|
6158
|
+
D.value && D.value.setAttribute("transform", e.transform);
|
|
5809
6159
|
let t = e.transform;
|
|
5810
|
-
|
|
6160
|
+
K.value = t.k !== 1 || t.x !== 0 || t.y !== 0;
|
|
5811
6161
|
}).on("end", () => {
|
|
5812
|
-
|
|
5813
|
-
}),
|
|
5814
|
-
let t =
|
|
6162
|
+
B = !1;
|
|
6163
|
+
}), G.filter((e) => {
|
|
6164
|
+
let t = Ne.value.length > 0, n = !!l.zoom || t, r = !!l.pan || t;
|
|
5815
6165
|
if (e.type === "wheel" || e.type === "dblclick") {
|
|
5816
6166
|
if (!n) return !1;
|
|
5817
6167
|
} else if (e.type === "mousedown" || e.type === "touchstart") {
|
|
5818
6168
|
if (!r) return !1;
|
|
5819
6169
|
} else if (!n && !r) return !1;
|
|
5820
6170
|
return (!e.ctrlKey || e.type === "wheel") && !e.button;
|
|
5821
|
-
}), e.call(
|
|
6171
|
+
}), e.call(G);
|
|
5822
6172
|
}
|
|
5823
|
-
function
|
|
5824
|
-
|
|
6173
|
+
function Q() {
|
|
6174
|
+
w.value && G && (oe(w.value).on(".zoom", null), G = null);
|
|
5825
6175
|
}
|
|
5826
|
-
function
|
|
5827
|
-
let t =
|
|
6176
|
+
function me(e) {
|
|
6177
|
+
let t = Pe.value, n = Ae.value, r = [];
|
|
5828
6178
|
for (let i of e) {
|
|
5829
6179
|
let e = i.geoType ?? l.geoType, a = t.get(e);
|
|
5830
6180
|
if (!a) continue;
|
|
@@ -5842,118 +6192,118 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
5842
6192
|
}
|
|
5843
6193
|
return r;
|
|
5844
6194
|
}
|
|
5845
|
-
function
|
|
6195
|
+
function he(e) {
|
|
5846
6196
|
let t = /* @__PURE__ */ new Set();
|
|
5847
|
-
for (let n of
|
|
6197
|
+
for (let n of me(e)) n.geoType === l.geoType && t.add(String(n.feature.id));
|
|
5848
6198
|
return t;
|
|
5849
6199
|
}
|
|
5850
6200
|
let ve = !1;
|
|
5851
|
-
function
|
|
5852
|
-
if (!
|
|
5853
|
-
let e =
|
|
6201
|
+
function $() {
|
|
6202
|
+
if (!w.value || !G) return;
|
|
6203
|
+
let e = me(Ne.value), t = e.filter((e) => e.geoType === l.geoType), n = e.filter((e) => e.geoType !== l.geoType), r = /* @__PURE__ */ new Map();
|
|
5854
6204
|
for (let e of t) {
|
|
5855
|
-
let t =
|
|
6205
|
+
let t = N.get(String(e.feature.id));
|
|
5856
6206
|
t && r.set(t, e.item.style ?? "solid");
|
|
5857
6207
|
}
|
|
5858
|
-
for (let [e] of
|
|
5859
|
-
for (let [e, t] of r)
|
|
5860
|
-
|
|
5861
|
-
for (let [e, t] of r)
|
|
5862
|
-
if (
|
|
6208
|
+
for (let [e] of R) r.has(e) || e === L || rt(e);
|
|
6209
|
+
for (let [e, t] of r) R.get(e) === t && e !== L || e !== L && nt(e, t);
|
|
6210
|
+
R.clear();
|
|
6211
|
+
for (let [e, t] of r) R.set(e, t);
|
|
6212
|
+
if (ye(n), e.length === 0) {
|
|
5863
6213
|
ve = !0, at();
|
|
5864
6214
|
return;
|
|
5865
6215
|
}
|
|
5866
|
-
let i = oe(
|
|
6216
|
+
let i = oe(w.value);
|
|
5867
6217
|
i.interrupt();
|
|
5868
6218
|
let a = ve;
|
|
5869
6219
|
ve = !0;
|
|
5870
|
-
let [[o, s], [c, u]] =
|
|
6220
|
+
let [[o, s], [c, u]] = Oe.value.bounds({
|
|
5871
6221
|
type: "FeatureCollection",
|
|
5872
6222
|
features: e.map((e) => e.feature)
|
|
5873
|
-
}), d = (o + c) / 2, f = (s + u) / 2, p = l.focusZoomLevel, m =
|
|
5874
|
-
if (!
|
|
5875
|
-
let e = String(h.id), t =
|
|
6223
|
+
}), d = (o + c) / 2, f = (s + u) / 2, p = l.focusZoomLevel, m = ae.translate(Se.value / 2 - p * d, Ce.value / 2 - p * f).scale(p), h = t[0]?.feature ?? null, g = () => {
|
|
6224
|
+
if (!M.value || !h) return;
|
|
6225
|
+
let e = String(h.id), t = N.get(e);
|
|
5876
6226
|
if (!t) return;
|
|
5877
6227
|
let n = t.getBoundingClientRect();
|
|
5878
|
-
|
|
6228
|
+
Qe(e, n.left + n.width / 2, n.top + n.height / 2);
|
|
5879
6229
|
};
|
|
5880
|
-
a ? (
|
|
6230
|
+
a ? (et(), i.transition().duration(cn).call(G.transform, m).on("end", g)) : (G.transform(i, m), g());
|
|
5881
6231
|
}
|
|
5882
|
-
function
|
|
5883
|
-
let t =
|
|
6232
|
+
function ye(e) {
|
|
6233
|
+
let t = k.value;
|
|
5884
6234
|
if (!t) return;
|
|
5885
6235
|
let n = new Set(e.map((e) => e.key));
|
|
5886
|
-
for (let [e, t] of
|
|
5887
|
-
let r =
|
|
6236
|
+
for (let [e, t] of z) n.has(e) || (t.remove(), z.delete(e));
|
|
6237
|
+
let r = Oe.value, i = ke.value + 1.5;
|
|
5888
6238
|
for (let { item: n, feature: a, key: o } of e) {
|
|
5889
|
-
let e =
|
|
5890
|
-
e || (e = document.createElementNS(
|
|
6239
|
+
let e = z.get(o);
|
|
6240
|
+
e || (e = document.createElementNS(sn, "path"), e.setAttribute("d", r(a) ?? ""), e.setAttribute("fill", "none"), e.setAttribute("pointer-events", "none"), e.setAttribute("vector-effect", "non-scaling-stroke"), e.setAttribute("stroke-linejoin", "round"), e.setAttribute("class", "focus-overlay"), t.appendChild(e), z.set(o, e)), e.setAttribute("stroke", n.stroke ?? "#fff"), e.setAttribute("stroke-width", String(i)), tt(e, n.style);
|
|
5891
6241
|
}
|
|
5892
6242
|
}
|
|
5893
|
-
function
|
|
5894
|
-
if (!
|
|
5895
|
-
|
|
5896
|
-
let e = oe(
|
|
5897
|
-
e.interrupt(),
|
|
6243
|
+
function be() {
|
|
6244
|
+
if (!w.value || !G) return;
|
|
6245
|
+
Ne.value.length > 0 && d("update:focus", null);
|
|
6246
|
+
let e = oe(w.value);
|
|
6247
|
+
e.interrupt(), et(), e.transition().duration(cn).call(G.transform, ae);
|
|
5898
6248
|
}
|
|
5899
|
-
|
|
5900
|
-
|
|
6249
|
+
T(() => l.focusZoomLevel, () => {
|
|
6250
|
+
G && G.scaleExtent([1, Math.max(12, l.focusZoomLevel)]), $();
|
|
5901
6251
|
});
|
|
5902
|
-
let
|
|
5903
|
-
let e =
|
|
6252
|
+
let xe = n(() => l.width && l.height ? l.height / l.width : .625), Se = n(() => ln), Ce = n(() => ln * xe.value), we = n(() => {
|
|
6253
|
+
let e = x(l.topology), t = e.objects.counties.geometries, n = /* @__PURE__ */ new Map();
|
|
5904
6254
|
for (let e of t) {
|
|
5905
|
-
let t =
|
|
6255
|
+
let t = Jt[String(e.id).padStart(5, "0")];
|
|
5906
6256
|
t && (n.has(t) || n.set(t, []), n.get(t).push(e));
|
|
5907
6257
|
}
|
|
5908
6258
|
let r = [];
|
|
5909
6259
|
for (let [t, i] of n) r.push({
|
|
5910
6260
|
type: "Feature",
|
|
5911
6261
|
id: t,
|
|
5912
|
-
properties: { name:
|
|
6262
|
+
properties: { name: Yt[t] ?? t },
|
|
5913
6263
|
geometry: se(e, i)
|
|
5914
6264
|
});
|
|
5915
6265
|
return {
|
|
5916
6266
|
type: "FeatureCollection",
|
|
5917
6267
|
features: r
|
|
5918
6268
|
};
|
|
5919
|
-
}),
|
|
5920
|
-
if (l.geoType === "hsas") return
|
|
6269
|
+
}), Te = n(() => {
|
|
6270
|
+
if (l.geoType === "hsas") return we.value;
|
|
5921
6271
|
if (l.geoType === "counties") {
|
|
5922
|
-
let e =
|
|
6272
|
+
let e = x(l.topology);
|
|
5923
6273
|
return I(e, e.objects.counties);
|
|
5924
6274
|
}
|
|
5925
|
-
let e =
|
|
6275
|
+
let e = x(l.topology);
|
|
5926
6276
|
return I(e, e.objects.states);
|
|
5927
|
-
}),
|
|
6277
|
+
}), Ee = n(() => {
|
|
5928
6278
|
if (l.geoType !== "counties" && l.geoType !== "hsas") return null;
|
|
5929
|
-
let e =
|
|
5930
|
-
return
|
|
5931
|
-
}),
|
|
6279
|
+
let e = x(l.topology);
|
|
6280
|
+
return ce(e, e.objects.states, (e, t) => e !== t);
|
|
6281
|
+
}), De = n(() => F().fitExtent([[0, 0], [Se.value, Ce.value]], Te.value)), Oe = n(() => re(De.value)), ke = n(() => l.geoType === "counties" || l.geoType === "hsas" ? l.strokeWidth * .5 : l.strokeWidth), Ae = n(() => {
|
|
5932
6282
|
let e = /* @__PURE__ */ new Map();
|
|
5933
|
-
for (let [t, n] of
|
|
6283
|
+
for (let [t, n] of Pe.value) {
|
|
5934
6284
|
let r = /* @__PURE__ */ new Map();
|
|
5935
6285
|
for (let [e, t] of n) t.properties?.name != null && r.set(t.properties.name, e);
|
|
5936
6286
|
e.set(t, r);
|
|
5937
6287
|
}
|
|
5938
6288
|
return e;
|
|
5939
6289
|
});
|
|
5940
|
-
function
|
|
6290
|
+
function je(e) {
|
|
5941
6291
|
let t = l.dataGeoType;
|
|
5942
6292
|
if (!t || t === l.geoType) return e;
|
|
5943
|
-
if (l.geoType === "counties" && t === "hsas") return
|
|
6293
|
+
if (l.geoType === "counties" && t === "hsas") return Jt[e];
|
|
5944
6294
|
if (l.geoType === "counties" && t === "states" || l.geoType === "hsas" && t === "states") return e.slice(0, 2);
|
|
5945
6295
|
}
|
|
5946
|
-
let
|
|
6296
|
+
let Me = n(() => {
|
|
5947
6297
|
let e = /* @__PURE__ */ new Map();
|
|
5948
|
-
for (let t of
|
|
6298
|
+
for (let t of Te.value.features) t.id != null && e.set(String(t.id), t);
|
|
5949
6299
|
return e;
|
|
5950
|
-
}),
|
|
6300
|
+
}), Ne = n(() => {
|
|
5951
6301
|
let e = l.focus;
|
|
5952
6302
|
return e == null ? [] : (Array.isArray(e) ? e : [e]).map((e) => typeof e == "string" ? { id: e } : e);
|
|
5953
|
-
}),
|
|
6303
|
+
}), Pe = n(() => {
|
|
5954
6304
|
let e = /* @__PURE__ */ new Map();
|
|
5955
|
-
e.set(l.geoType,
|
|
5956
|
-
let t =
|
|
6305
|
+
e.set(l.geoType, Me.value);
|
|
6306
|
+
let t = x(l.topology), n = t?.objects;
|
|
5957
6307
|
if (!n) return e;
|
|
5958
6308
|
let r = (e) => {
|
|
5959
6309
|
let t = /* @__PURE__ */ new Map();
|
|
@@ -5968,18 +6318,18 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
5968
6318
|
let i = I(t, n.counties);
|
|
5969
6319
|
e.set("counties", r(i.features));
|
|
5970
6320
|
}
|
|
5971
|
-
return !e.has("hsas") && n.counties && e.set("hsas", r(
|
|
5972
|
-
}),
|
|
6321
|
+
return !e.has("hsas") && n.counties && e.set("hsas", r(we.value.features)), e;
|
|
6322
|
+
}), Fe = n(() => {
|
|
5973
6323
|
let e = /* @__PURE__ */ new Map();
|
|
5974
6324
|
if (!l.data) return e;
|
|
5975
|
-
let t = l.dataGeoType ?? l.geoType, n =
|
|
6325
|
+
let t = l.dataGeoType ?? l.geoType, n = Ae.value.get(t);
|
|
5976
6326
|
for (let t of l.data) {
|
|
5977
6327
|
e.set(t.id, t.value);
|
|
5978
6328
|
let r = n?.get(t.id);
|
|
5979
6329
|
r && e.set(r, t.value);
|
|
5980
6330
|
}
|
|
5981
6331
|
return e;
|
|
5982
|
-
}),
|
|
6332
|
+
}), Ie = n(() => {
|
|
5983
6333
|
if (!l.data || l.data.length === 0) return {
|
|
5984
6334
|
min: 0,
|
|
5985
6335
|
max: 1
|
|
@@ -5996,8 +6346,8 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
5996
6346
|
min: 0,
|
|
5997
6347
|
max: 1
|
|
5998
6348
|
};
|
|
5999
|
-
}),
|
|
6000
|
-
function
|
|
6349
|
+
}), Le = n(() => Array.isArray(l.colorScale) && l.colorScale.length > 0 && "value" in l.colorScale[0]), Re = n(() => Array.isArray(l.colorScale) && !Le.value), ze = n(() => Re.value ? "" : l.colorScale?.min ?? "#e5f0fa"), Be = n(() => Re.value ? "" : l.colorScale?.max ?? "#08519c");
|
|
6350
|
+
function Ve(e) {
|
|
6001
6351
|
let t = e.replace("#", "");
|
|
6002
6352
|
return [
|
|
6003
6353
|
parseInt(t.slice(0, 2), 16),
|
|
@@ -6005,100 +6355,100 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6005
6355
|
parseInt(t.slice(4, 6), 16)
|
|
6006
6356
|
];
|
|
6007
6357
|
}
|
|
6008
|
-
function
|
|
6009
|
-
let [t, n, r] =
|
|
6358
|
+
function He(e) {
|
|
6359
|
+
let [t, n, r] = Ve(ze.value), [i, a, o] = Ve(Be.value);
|
|
6010
6360
|
return `rgb(${Math.round(t + (i - t) * e)},${Math.round(n + (a - n) * e)},${Math.round(r + (o - r) * e)})`;
|
|
6011
6361
|
}
|
|
6012
|
-
let
|
|
6013
|
-
if (!
|
|
6362
|
+
let Ue = n(() => Re.value ? l.colorScale.slice().sort((e, t) => t.min - e.min) : null), We = n(() => {
|
|
6363
|
+
if (!Le.value) return null;
|
|
6014
6364
|
let e = /* @__PURE__ */ new Map();
|
|
6015
6365
|
for (let t of l.colorScale) e.set(t.value, t.color);
|
|
6016
6366
|
return e;
|
|
6017
6367
|
});
|
|
6018
|
-
function
|
|
6019
|
-
let t =
|
|
6020
|
-
return t == null ? void 0 :
|
|
6368
|
+
function Ge(e) {
|
|
6369
|
+
let t = je(e);
|
|
6370
|
+
return t == null ? void 0 : Fe.value.get(t);
|
|
6021
6371
|
}
|
|
6022
|
-
function
|
|
6023
|
-
let t =
|
|
6372
|
+
function Ke(e) {
|
|
6373
|
+
let t = Ge(e), n = l.noDataColor;
|
|
6024
6374
|
if (t == null) return n;
|
|
6025
|
-
let r =
|
|
6375
|
+
let r = We.value;
|
|
6026
6376
|
if (r) return r.get(String(t)) ?? n;
|
|
6027
|
-
let i =
|
|
6377
|
+
let i = Ue.value;
|
|
6028
6378
|
if (i) {
|
|
6029
6379
|
let e = t;
|
|
6030
6380
|
for (let t of i) if (e >= t.min) return t.color;
|
|
6031
6381
|
return n;
|
|
6032
6382
|
}
|
|
6033
|
-
let { min: a, max: o } =
|
|
6034
|
-
return
|
|
6383
|
+
let { min: a, max: o } = Ie.value;
|
|
6384
|
+
return He((t - a) / (o - a));
|
|
6035
6385
|
}
|
|
6036
|
-
let
|
|
6037
|
-
function
|
|
6386
|
+
let qe = (e) => e.properties?.name ?? String(e.id);
|
|
6387
|
+
function Je(e) {
|
|
6038
6388
|
return e == null ? "" : typeof e == "number" && l.tooltipValueFormat ? l.tooltipValueFormat(e) : String(e);
|
|
6039
6389
|
}
|
|
6040
|
-
function
|
|
6041
|
-
return t == null ? e : `${e}: ${
|
|
6390
|
+
function Ye(e, t) {
|
|
6391
|
+
return t == null ? e : `${e}: ${Je(t)}`;
|
|
6042
6392
|
}
|
|
6043
|
-
function
|
|
6044
|
-
let e =
|
|
6393
|
+
function Xe() {
|
|
6394
|
+
let e = A.value?.getEl();
|
|
6045
6395
|
if (!e) return;
|
|
6046
|
-
|
|
6396
|
+
H?.disconnect();
|
|
6047
6397
|
let t = !1;
|
|
6048
|
-
|
|
6398
|
+
H = new ResizeObserver((e) => {
|
|
6049
6399
|
let n = e[0]?.contentRect;
|
|
6050
|
-
n && (
|
|
6051
|
-
}),
|
|
6400
|
+
n && (ue.width = n.width, ue.height = n.height, !t && W && U ? (t = !0, Ze(U.x, U.y)) : t = !0);
|
|
6401
|
+
}), H.observe(e);
|
|
6052
6402
|
}
|
|
6053
|
-
function
|
|
6054
|
-
let n =
|
|
6403
|
+
function Ze(e, t) {
|
|
6404
|
+
let n = A.value?.getEl();
|
|
6055
6405
|
if (!n) return;
|
|
6056
|
-
let r =
|
|
6406
|
+
let r = S.value?.getBoundingClientRect(), { left: i, top: a } = pe(e, t, ue.width, ue.height, l.tooltipClamp, r);
|
|
6057
6407
|
n.style.transform = `translate3d(${i}px, ${a}px, 0) translateY(-50%)`;
|
|
6058
6408
|
}
|
|
6059
|
-
function
|
|
6060
|
-
let r =
|
|
6409
|
+
function Qe(e, t, n) {
|
|
6410
|
+
let r = P.get(e);
|
|
6061
6411
|
if (!r) return;
|
|
6062
|
-
let i =
|
|
6063
|
-
!i || !a || (i.setData(r),
|
|
6412
|
+
let i = A.value, a = i?.getEl();
|
|
6413
|
+
!i || !a || (i.setData(r), U = {
|
|
6064
6414
|
x: t,
|
|
6065
6415
|
y: n
|
|
6066
|
-
},
|
|
6416
|
+
}, W = !0, Ze(t, n), a.style.visibility = "visible");
|
|
6067
6417
|
}
|
|
6068
|
-
function
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
let e =
|
|
6072
|
-
!e || !
|
|
6073
|
-
x:
|
|
6074
|
-
y:
|
|
6075
|
-
}, e.style.transform = `translate3d(${
|
|
6418
|
+
function $e(e, t) {
|
|
6419
|
+
W && (de = e, q = t, !J && (J = requestAnimationFrame(() => {
|
|
6420
|
+
J = 0;
|
|
6421
|
+
let e = A.value?.getEl();
|
|
6422
|
+
!e || !W || (U = {
|
|
6423
|
+
x: de,
|
|
6424
|
+
y: q
|
|
6425
|
+
}, e.style.transform = `translate3d(${de + 16}px, ${q}px, 0) translateY(-50%)`);
|
|
6076
6426
|
})));
|
|
6077
6427
|
}
|
|
6078
|
-
function
|
|
6079
|
-
if (!
|
|
6080
|
-
|
|
6081
|
-
let e =
|
|
6428
|
+
function et() {
|
|
6429
|
+
if (!W) return;
|
|
6430
|
+
W = !1, U = null;
|
|
6431
|
+
let e = A.value?.getEl();
|
|
6082
6432
|
e && (e.style.visibility = "hidden");
|
|
6083
6433
|
}
|
|
6084
6434
|
function tt(e, t) {
|
|
6085
6435
|
t === "dashed" ? (e.setAttribute("stroke-dasharray", "8 4"), e.removeAttribute("stroke-linecap")) : t === "dotted" ? (e.setAttribute("stroke-dasharray", "0 5"), e.setAttribute("stroke-linecap", "round")) : (e.removeAttribute("stroke-dasharray"), e.removeAttribute("stroke-linecap"));
|
|
6086
6436
|
}
|
|
6087
6437
|
function nt(e, t = "solid") {
|
|
6088
|
-
e.parentNode?.appendChild(e), e.setAttribute("stroke-width", String(
|
|
6438
|
+
e.parentNode?.appendChild(e), e.setAttribute("stroke-width", String(ke.value + 1)), e.setAttribute("stroke", "#555"), tt(e, t);
|
|
6089
6439
|
}
|
|
6090
6440
|
function rt(e) {
|
|
6091
|
-
e.setAttribute("stroke-width", String(
|
|
6441
|
+
e.setAttribute("stroke-width", String(ke.value)), e.setAttribute("stroke", l.strokeColor), e.removeAttribute("stroke-dasharray"), e.removeAttribute("stroke-linecap");
|
|
6092
6442
|
}
|
|
6093
6443
|
function it(e) {
|
|
6094
|
-
|
|
6444
|
+
L !== e && (L && !R.has(L) && rt(L), L = e, nt(e, R.get(e) ?? "solid"));
|
|
6095
6445
|
}
|
|
6096
6446
|
function at() {
|
|
6097
|
-
if (
|
|
6098
|
-
let e =
|
|
6099
|
-
e == null ? rt(
|
|
6447
|
+
if (L) {
|
|
6448
|
+
let e = R.get(L);
|
|
6449
|
+
e == null ? rt(L) : nt(L, e), L = null, d("stateHover", null);
|
|
6100
6450
|
}
|
|
6101
|
-
|
|
6451
|
+
et();
|
|
6102
6452
|
}
|
|
6103
6453
|
function ot(e) {
|
|
6104
6454
|
let t = e;
|
|
@@ -6106,80 +6456,80 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6106
6456
|
return t ? t.dataset.featId ?? null : null;
|
|
6107
6457
|
}
|
|
6108
6458
|
function st(e) {
|
|
6109
|
-
if (
|
|
6459
|
+
if (B) return;
|
|
6110
6460
|
let t = e, n = ot(t.target);
|
|
6111
6461
|
if (!n) return;
|
|
6112
|
-
let r =
|
|
6462
|
+
let r = P.get(n);
|
|
6113
6463
|
if (!r) return;
|
|
6114
6464
|
let i = {
|
|
6115
6465
|
id: r.id,
|
|
6116
6466
|
name: r.name,
|
|
6117
6467
|
value: r.value
|
|
6118
6468
|
};
|
|
6119
|
-
e.type === "click" ? (d("stateClick", i), d("update:focus",
|
|
6469
|
+
e.type === "click" ? (d("stateClick", i), d("update:focus", he(Ne.value).has(r.id) ? null : r.id)) : e.type === "mouseover" && (it(N.get(n)), M.value && Qe(n, t.clientX, t.clientY), d("stateHover", i));
|
|
6120
6470
|
}
|
|
6121
6471
|
function ct(e) {
|
|
6122
|
-
|
|
6472
|
+
B || $e(e.clientX, e.clientY);
|
|
6123
6473
|
}
|
|
6124
6474
|
function lt(e) {
|
|
6125
6475
|
let t = e.relatedTarget;
|
|
6126
|
-
t &&
|
|
6476
|
+
t && D.value?.contains(t) || at();
|
|
6127
6477
|
}
|
|
6128
6478
|
function ut(e) {
|
|
6129
|
-
let t = document.createElementNS(
|
|
6479
|
+
let t = document.createElementNS(sn, "path");
|
|
6130
6480
|
return e && t.setAttribute("d", e), t;
|
|
6131
6481
|
}
|
|
6132
6482
|
function dt() {
|
|
6133
|
-
let e =
|
|
6483
|
+
let e = O.value, t = k.value;
|
|
6134
6484
|
if (!e || !t) return;
|
|
6135
6485
|
for (; e.firstChild;) e.removeChild(e.firstChild);
|
|
6136
6486
|
for (; t.firstChild;) t.removeChild(t.firstChild);
|
|
6137
|
-
|
|
6138
|
-
let n =
|
|
6487
|
+
N.clear(), P.clear(), ne = null, L = null, R.clear(), z.clear();
|
|
6488
|
+
let n = Oe.value, r = Te.value.features, i = l.strokeColor, a = String(ke.value), o = !M.value, s = document.createDocumentFragment();
|
|
6139
6489
|
for (let e of r) {
|
|
6140
|
-
let t = String(e.id), r =
|
|
6141
|
-
if (l.setAttribute("class", "state-path"), l.setAttribute("data-feat-id", t), l.setAttribute("fill",
|
|
6142
|
-
let e = document.createElementNS(
|
|
6143
|
-
e.textContent =
|
|
6490
|
+
let t = String(e.id), r = qe(e), c = Ge(t), l = ut(n(e));
|
|
6491
|
+
if (l.setAttribute("class", "state-path"), l.setAttribute("data-feat-id", t), l.setAttribute("fill", Ke(t)), l.setAttribute("stroke", i), l.setAttribute("stroke-width", a), l.setAttribute("vector-effect", "non-scaling-stroke"), o) {
|
|
6492
|
+
let e = document.createElementNS(sn, "title");
|
|
6493
|
+
e.textContent = Ye(r, c), l.appendChild(e);
|
|
6144
6494
|
}
|
|
6145
|
-
s.appendChild(l),
|
|
6495
|
+
s.appendChild(l), N.set(t, l), P.set(t, {
|
|
6146
6496
|
id: t,
|
|
6147
6497
|
name: r,
|
|
6148
6498
|
value: c,
|
|
6149
6499
|
feature: e
|
|
6150
6500
|
});
|
|
6151
6501
|
}
|
|
6152
|
-
let c =
|
|
6502
|
+
let c = Ee.value;
|
|
6153
6503
|
if (c) {
|
|
6154
6504
|
let e = ut(n(c));
|
|
6155
|
-
e.setAttribute("fill", "none"), e.setAttribute("stroke", i), e.setAttribute("stroke-width", "1"), e.setAttribute("stroke-linejoin", "round"), e.setAttribute("pointer-events", "none"), e.setAttribute("vector-effect", "non-scaling-stroke"), s.appendChild(e),
|
|
6505
|
+
e.setAttribute("fill", "none"), e.setAttribute("stroke", i), e.setAttribute("stroke-width", "1"), e.setAttribute("stroke-linejoin", "round"), e.setAttribute("pointer-events", "none"), e.setAttribute("vector-effect", "non-scaling-stroke"), s.appendChild(e), ne = e;
|
|
6156
6506
|
}
|
|
6157
6507
|
e.appendChild(s);
|
|
6158
6508
|
}
|
|
6159
6509
|
function ft() {
|
|
6160
|
-
let e = !
|
|
6161
|
-
for (let [t, n] of
|
|
6162
|
-
let r =
|
|
6163
|
-
if (n.setAttribute("fill",
|
|
6510
|
+
let e = !M.value;
|
|
6511
|
+
for (let [t, n] of N) {
|
|
6512
|
+
let r = Ge(t), i = P.get(t);
|
|
6513
|
+
if (n.setAttribute("fill", Ke(t)), i && (i.value = r), e && i) {
|
|
6164
6514
|
let e = n.firstElementChild;
|
|
6165
|
-
e && (e.textContent =
|
|
6515
|
+
e && (e.textContent = Ye(i.name, r));
|
|
6166
6516
|
}
|
|
6167
6517
|
}
|
|
6168
6518
|
}
|
|
6169
6519
|
function pt() {
|
|
6170
|
-
for (let e of
|
|
6171
|
-
|
|
6520
|
+
for (let e of N.values()) e === L || R.has(e) || rt(e);
|
|
6521
|
+
ne && ne.setAttribute("stroke", l.strokeColor);
|
|
6172
6522
|
}
|
|
6173
6523
|
function mt() {
|
|
6174
6524
|
return typeof l.menu == "string" ? l.menu : "choropleth";
|
|
6175
6525
|
}
|
|
6176
|
-
let ht = n(() => l.legend && (
|
|
6526
|
+
let ht = n(() => l.legend && (Le.value || Re.value || l.data)), gt = n(() => l.colorScale.slice().sort((e, t) => e.min - t.min)), _t = n(() => {
|
|
6177
6527
|
let e = [];
|
|
6178
6528
|
for (let t = 0; t <= 10; t++) {
|
|
6179
6529
|
let n = t / 10;
|
|
6180
6530
|
e.push({
|
|
6181
6531
|
offset: `${(n * 100).toFixed(0)}%`,
|
|
6182
|
-
color:
|
|
6532
|
+
color: He(n)
|
|
6183
6533
|
});
|
|
6184
6534
|
}
|
|
6185
6535
|
return e;
|
|
@@ -6187,7 +6537,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6187
6537
|
notation: "compact",
|
|
6188
6538
|
maximumFractionDigits: 1
|
|
6189
6539
|
}), yt = n(() => {
|
|
6190
|
-
let { min: e, max: t } =
|
|
6540
|
+
let { min: e, max: t } = Ie.value, n = t - e, r = [];
|
|
6191
6541
|
for (let t = 1; t <= 3; t++) {
|
|
6192
6542
|
let i = t / 4, a = e + n * i, o = Math.abs(a) >= 1e3 ? vt.format(a) : Number.isInteger(a) ? String(a) : a.toFixed(1).replace(/\.0$/, "");
|
|
6193
6543
|
r.push({
|
|
@@ -6198,94 +6548,94 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6198
6548
|
return r;
|
|
6199
6549
|
}), bt = n(() => {
|
|
6200
6550
|
let e = [];
|
|
6201
|
-
if (
|
|
6551
|
+
if (Le.value) for (let t of l.colorScale) e.push({
|
|
6202
6552
|
key: t.value,
|
|
6203
6553
|
color: t.color,
|
|
6204
6554
|
label: t.value
|
|
6205
6555
|
});
|
|
6206
|
-
else if (
|
|
6556
|
+
else if (Re.value) for (let t of gt.value) e.push({
|
|
6207
6557
|
key: String(t.min),
|
|
6208
6558
|
color: t.color,
|
|
6209
6559
|
label: t.label ?? String(t.min)
|
|
6210
6560
|
});
|
|
6211
6561
|
return e;
|
|
6212
|
-
}),
|
|
6562
|
+
}), xt = n(() => `linear-gradient(to right, ${_t.value.map((e) => `${e.color} ${e.offset}`).join(", ")})`), St = n(() => {
|
|
6213
6563
|
let e = mt();
|
|
6214
6564
|
return [{
|
|
6215
6565
|
label: "Save as SVG",
|
|
6216
6566
|
action: () => {
|
|
6217
|
-
|
|
6567
|
+
w.value && ge(w.value, e);
|
|
6218
6568
|
}
|
|
6219
6569
|
}, {
|
|
6220
6570
|
label: "Save as PNG",
|
|
6221
6571
|
action: () => {
|
|
6222
|
-
|
|
6572
|
+
w.value && _e(w.value, e);
|
|
6223
6573
|
}
|
|
6224
6574
|
}];
|
|
6225
6575
|
});
|
|
6226
|
-
return
|
|
6227
|
-
|
|
6576
|
+
return T(() => [Oe.value, M.value], () => dt()), T(() => [
|
|
6577
|
+
Fe.value,
|
|
6228
6578
|
l.colorScale,
|
|
6229
6579
|
l.noDataColor,
|
|
6230
6580
|
l.dataGeoType
|
|
6231
|
-
], () => ft()),
|
|
6581
|
+
], () => ft()), T(() => [l.strokeColor, ke.value], () => pt()), T(() => [Ne.value, Oe.value], () => $(), { flush: "post" }), (n, c) => (_(), a("div", {
|
|
6232
6582
|
ref_key: "containerRef",
|
|
6233
|
-
ref:
|
|
6583
|
+
ref: S,
|
|
6234
6584
|
class: f(["choropleth-wrapper", { pannable: t.pan }])
|
|
6235
6585
|
}, [
|
|
6236
|
-
t.menu ? (
|
|
6586
|
+
t.menu ? (_(), r(le, {
|
|
6237
6587
|
key: 0,
|
|
6238
|
-
items:
|
|
6588
|
+
items: St.value
|
|
6239
6589
|
}, null, 8, ["items"])) : i("", !0),
|
|
6240
|
-
t.title || ht.value ? (
|
|
6590
|
+
t.title || ht.value ? (_(), a("div", Qt, [t.title ? (_(), a("div", $t, b(t.title), 1)) : i("", !0), ht.value ? (_(), a("div", en, [t.legendTitle ? (_(), a("span", tn, b(t.legendTitle), 1)) : i("", !0), Le.value || Re.value ? (_(!0), a(e, { key: 1 }, y(bt.value, (e) => (_(), a("span", {
|
|
6241
6591
|
key: e.key,
|
|
6242
6592
|
class: "choropleth-legend-item"
|
|
6243
6593
|
}, [o("span", {
|
|
6244
6594
|
class: "choropleth-legend-swatch",
|
|
6245
6595
|
style: m({ background: e.color })
|
|
6246
|
-
}, null, 4), s(" " +
|
|
6596
|
+
}, null, 4), s(" " + b(e.label), 1)]))), 128)) : (_(), a("div", nn, [o("div", {
|
|
6247
6597
|
class: "choropleth-legend-gradient",
|
|
6248
|
-
style: m({ background:
|
|
6249
|
-
}, null, 4), o("div",
|
|
6598
|
+
style: m({ background: xt.value })
|
|
6599
|
+
}, null, 4), o("div", rn, [(_(!0), a(e, null, y(yt.value, (e) => (_(), a("span", {
|
|
6250
6600
|
key: e.value,
|
|
6251
6601
|
style: m({ left: e.pct + "%" })
|
|
6252
|
-
},
|
|
6253
|
-
(
|
|
6602
|
+
}, b(e.value), 5))), 128))])]))])) : i("", !0)])) : i("", !0),
|
|
6603
|
+
(_(), a("svg", {
|
|
6254
6604
|
ref_key: "svgRef",
|
|
6255
|
-
ref:
|
|
6256
|
-
viewBox: `0 0 ${
|
|
6605
|
+
ref: w,
|
|
6606
|
+
viewBox: `0 0 ${Se.value} ${Ce.value}`,
|
|
6257
6607
|
preserveAspectRatio: "xMidYMid meet"
|
|
6258
6608
|
}, [o("g", {
|
|
6259
6609
|
ref_key: "mapGroupRef",
|
|
6260
|
-
ref:
|
|
6610
|
+
ref: D
|
|
6261
6611
|
}, [o("g", {
|
|
6262
6612
|
ref_key: "baseGroupRef",
|
|
6263
|
-
ref:
|
|
6613
|
+
ref: O
|
|
6264
6614
|
}, null, 512), o("g", {
|
|
6265
6615
|
ref_key: "overlayGroupRef",
|
|
6266
|
-
ref:
|
|
6267
|
-
}, null, 512)], 512)], 8,
|
|
6268
|
-
|
|
6616
|
+
ref: k
|
|
6617
|
+
}, null, 512)], 512)], 8, an)),
|
|
6618
|
+
K.value ? (_(), a("button", {
|
|
6269
6619
|
key: 2,
|
|
6270
6620
|
type: "button",
|
|
6271
6621
|
class: "choropleth-reset",
|
|
6272
6622
|
"aria-label": "Reset zoom",
|
|
6273
|
-
onClick:
|
|
6623
|
+
onClick: be
|
|
6274
6624
|
}, " Reset ")) : i("", !0),
|
|
6275
|
-
|
|
6625
|
+
M.value ? (_(), r(Zt, {
|
|
6276
6626
|
key: 3,
|
|
6277
6627
|
ref_key: "tooltipChildRef",
|
|
6278
|
-
ref:
|
|
6628
|
+
ref: A
|
|
6279
6629
|
}, {
|
|
6280
|
-
default:
|
|
6630
|
+
default: E((r) => [ee(n.$slots, "tooltip", p(u(te(r))), () => [t.tooltipFormat ? (_(), a("span", {
|
|
6281
6631
|
key: 0,
|
|
6282
6632
|
innerHTML: t.tooltipFormat(r)
|
|
6283
|
-
}, null, 8,
|
|
6633
|
+
}, null, 8, on)) : r.value == null ? (_(), a(e, { key: 1 }, [s(b(r.name), 1)], 64)) : (_(), a(e, { key: 2 }, [s(b(r.name) + ": " + b(Je(r.value)), 1)], 64))], !0)]),
|
|
6284
6634
|
_: 3
|
|
6285
6635
|
}, 512)) : i("", !0)
|
|
6286
6636
|
], 2));
|
|
6287
6637
|
}
|
|
6288
|
-
}), [["__scopeId", "data-v-f0f75b22"]]),
|
|
6638
|
+
}), [["__scopeId", "data-v-f0f75b22"]]), dn = /* @__PURE__ */ B(/* @__PURE__ */ l({
|
|
6289
6639
|
__name: "ChartTooltip",
|
|
6290
6640
|
props: {
|
|
6291
6641
|
x: {},
|
|
@@ -6296,7 +6646,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6296
6646
|
},
|
|
6297
6647
|
emits: ["close"],
|
|
6298
6648
|
setup(e) {
|
|
6299
|
-
return (t, n) => e.mode === "hover" && e.open ? (
|
|
6649
|
+
return (t, n) => e.mode === "hover" && e.open ? (_(), a("div", {
|
|
6300
6650
|
key: 0,
|
|
6301
6651
|
class: "chart-tooltip-content",
|
|
6302
6652
|
style: m({
|
|
@@ -6305,12 +6655,12 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6305
6655
|
top: `${e.y}px`,
|
|
6306
6656
|
transform: "translateY(-50%)"
|
|
6307
6657
|
})
|
|
6308
|
-
}, [
|
|
6658
|
+
}, [ee(t.$slots, "default", {}, void 0, !0)], 4)) : e.mode === "click" ? (_(), r(S(ne), {
|
|
6309
6659
|
key: 1,
|
|
6310
6660
|
open: e.open
|
|
6311
6661
|
}, {
|
|
6312
|
-
default:
|
|
6313
|
-
default:
|
|
6662
|
+
default: E(() => [c(S(M), { "as-child": "" }, {
|
|
6663
|
+
default: E(() => [o("div", {
|
|
6314
6664
|
class: "chart-tooltip-anchor",
|
|
6315
6665
|
style: m({
|
|
6316
6666
|
left: `${e.x}px`,
|
|
@@ -6318,8 +6668,8 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6318
6668
|
})
|
|
6319
6669
|
}, null, 4)]),
|
|
6320
6670
|
_: 1
|
|
6321
|
-
}), c(
|
|
6322
|
-
default:
|
|
6671
|
+
}), c(S(P), null, {
|
|
6672
|
+
default: E(() => [e.open ? (_(), r(S(N), {
|
|
6323
6673
|
key: 0,
|
|
6324
6674
|
class: "chart-tooltip-content",
|
|
6325
6675
|
side: "right",
|
|
@@ -6328,7 +6678,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6328
6678
|
onPointerDownOutside: n[0] ||= (e) => t.$emit("close"),
|
|
6329
6679
|
onEscapeKeyDown: n[1] ||= (e) => t.$emit("close")
|
|
6330
6680
|
}, {
|
|
6331
|
-
default:
|
|
6681
|
+
default: E(() => [ee(t.$slots, "default", {}, void 0, !0)]),
|
|
6332
6682
|
_: 3
|
|
6333
6683
|
}, 8, ["side-offset"])) : i("", !0)]),
|
|
6334
6684
|
_: 3
|
|
@@ -6336,7 +6686,7 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6336
6686
|
_: 3
|
|
6337
6687
|
}, 8, ["open"])) : i("", !0);
|
|
6338
6688
|
}
|
|
6339
|
-
}), [["__scopeId", "data-v-44377f70"]]),
|
|
6689
|
+
}), [["__scopeId", "data-v-44377f70"]]), fn = { class: "TableWrapper" }, pn = /* @__PURE__ */ B(/* @__PURE__ */ l({
|
|
6340
6690
|
__name: "DataTable",
|
|
6341
6691
|
props: {
|
|
6342
6692
|
data: {},
|
|
@@ -6392,60 +6742,60 @@ var ve = ["width", "height"], ye = ["x"], be = { key: 1 }, xe = [
|
|
|
6392
6742
|
name: e,
|
|
6393
6743
|
values: t
|
|
6394
6744
|
}));
|
|
6395
|
-
}),
|
|
6745
|
+
}), g = n(() => {
|
|
6396
6746
|
let e = h.value;
|
|
6397
6747
|
if (e.length === 0) return 0;
|
|
6398
6748
|
let t = 0;
|
|
6399
6749
|
for (let n of e) t = Math.max(t, n.values.length);
|
|
6400
6750
|
return c.maxRows ? Math.min(t, c.maxRows) : t;
|
|
6401
6751
|
});
|
|
6402
|
-
function
|
|
6752
|
+
function v(e, t) {
|
|
6403
6753
|
let n = e.values[t];
|
|
6404
6754
|
return n == null ? "" : e.enumLabels && typeof n == "number" ? e.enumLabels[n] ?? String(n) : typeof n == "number" ? Number.isInteger(n) ? n.toString() : n.toFixed(4) : typeof n == "boolean" ? n ? "true" : "false" : String(n);
|
|
6405
6755
|
}
|
|
6406
|
-
function
|
|
6756
|
+
function ee() {
|
|
6407
6757
|
return c.filename ? c.filename : typeof c.menu == "string" ? c.menu : "data";
|
|
6408
6758
|
}
|
|
6409
|
-
function
|
|
6759
|
+
function te(e) {
|
|
6410
6760
|
return e.includes(",") || e.includes("\"") || e.includes("\n") ? `"${e.replace(/"/g, "\"\"")}"` : e;
|
|
6411
6761
|
}
|
|
6412
|
-
function
|
|
6762
|
+
function x() {
|
|
6413
6763
|
if (typeof c.csv == "function") return c.csv();
|
|
6414
6764
|
if (typeof c.csv == "string") return c.csv;
|
|
6415
|
-
let e = h.value, t =
|
|
6765
|
+
let e = h.value, t = g.value, n = [e.map((e) => te(l(e.name))).join(",")];
|
|
6416
6766
|
for (let r = 0; r < t; r++) {
|
|
6417
|
-
let t = e.map((e) =>
|
|
6767
|
+
let t = e.map((e) => te(v(e, r)));
|
|
6418
6768
|
n.push(t.join(","));
|
|
6419
6769
|
}
|
|
6420
6770
|
return n.join("\n");
|
|
6421
6771
|
}
|
|
6422
|
-
let
|
|
6772
|
+
let S = n(() => [{
|
|
6423
6773
|
label: c.downloadMenuLink,
|
|
6424
|
-
action: () =>
|
|
6425
|
-
}]),
|
|
6426
|
-
return (n, s) => (
|
|
6774
|
+
action: () => ve(x(), ee())
|
|
6775
|
+
}]), C = n(() => !!c.menu);
|
|
6776
|
+
return (n, s) => (_(), a("div", { class: f(["TableOuter", {
|
|
6427
6777
|
"full-width": t.fullWidth,
|
|
6428
|
-
"has-menu":
|
|
6429
|
-
}]) }, [
|
|
6778
|
+
"has-menu": C.value
|
|
6779
|
+
}]) }, [C.value ? (_(), r(le, {
|
|
6430
6780
|
key: 0,
|
|
6431
|
-
items:
|
|
6781
|
+
items: S.value,
|
|
6432
6782
|
"force-dropdown": ""
|
|
6433
|
-
}, null, 8, ["items"])) : i("", !0), o("div",
|
|
6434
|
-
o("colgroup", null, [(
|
|
6783
|
+
}, null, 8, ["items"])) : i("", !0), o("div", fn, [o("table", { class: f(["Table", { "full-width": t.fullWidth }]) }, [
|
|
6784
|
+
o("colgroup", null, [(_(!0), a(e, null, y(h.value, (e) => (_(), a("col", {
|
|
6435
6785
|
key: e.name,
|
|
6436
6786
|
style: m(u(e.name))
|
|
6437
6787
|
}, null, 4))), 128))]),
|
|
6438
|
-
o("thead", null, [o("tr", null, [(
|
|
6788
|
+
o("thead", null, [o("tr", null, [(_(!0), a(e, null, y(h.value, (e) => (_(), a("th", {
|
|
6439
6789
|
key: e.name,
|
|
6440
6790
|
style: m(d(e.name))
|
|
6441
|
-
},
|
|
6442
|
-
o("tbody", null, [(
|
|
6791
|
+
}, b(l(e.name)), 5))), 128))])]),
|
|
6792
|
+
o("tbody", null, [(_(!0), a(e, null, y(g.value, (n) => (_(), a("tr", { key: n }, [(_(!0), a(e, null, y(h.value, (e) => (_(), a("td", {
|
|
6443
6793
|
key: e.name,
|
|
6444
6794
|
class: f(t.columnConfig?.[e.name]?.cellClass),
|
|
6445
6795
|
style: m(d(e.name))
|
|
6446
|
-
},
|
|
6796
|
+
}, b(v(e, n - 1)), 7))), 128))]))), 128))])
|
|
6447
6797
|
], 2)])], 2));
|
|
6448
6798
|
}
|
|
6449
6799
|
}), [["__scopeId", "data-v-d5c290dc"]]);
|
|
6450
6800
|
//#endregion
|
|
6451
|
-
export {
|
|
6801
|
+
export { qt as BarChart, dn as ChartTooltip, un as ChoroplethMap, pn as DataTable, Et as LineChart, Jt as fipsToHsa, Yt as hsaNames };
|