@alfadocs/ui-kit 1.65.0 → 1.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/chart-CwmyCuWe.js +1340 -0
- package/dist/_chunks/heatmap-C1TeC7wT.js +3650 -0
- package/dist/agent-catalog.json +1 -1
- package/dist/components/_shared/use-apex-radial-centre.d.ts +7 -4
- package/dist/components/chart/index.js +1 -1
- package/dist/components/heatmap/heatmap-context.d.ts +3 -0
- package/dist/components/heatmap/heatmap-disclosure.d.ts +67 -0
- package/dist/components/heatmap/heatmap-grid.d.ts +1 -1
- package/dist/components/heatmap/heatmap-legend.d.ts +5 -2
- package/dist/components/heatmap/heatmap-model.d.ts +107 -15
- package/dist/components/heatmap/heatmap-table-view.d.ts +3 -2
- package/dist/components/heatmap/heatmap.d.ts +33 -7
- package/dist/components/heatmap/index.d.ts +1 -1
- package/dist/components/heatmap/index.js +1 -1
- package/dist/i18n/locales/ar.d.ts +2 -0
- package/dist/i18n/locales/ar.js +2 -0
- package/dist/i18n/locales/de.d.ts +2 -0
- package/dist/i18n/locales/de.js +2 -0
- package/dist/i18n/locales/el.d.ts +2 -0
- package/dist/i18n/locales/el.js +2 -0
- package/dist/i18n/locales/en.d.ts +2 -0
- package/dist/i18n/locales/en.js +2 -0
- package/dist/i18n/locales/es.d.ts +2 -0
- package/dist/i18n/locales/es.js +2 -0
- package/dist/i18n/locales/fr.d.ts +2 -0
- package/dist/i18n/locales/fr.js +2 -0
- package/dist/i18n/locales/hi.d.ts +2 -0
- package/dist/i18n/locales/hi.js +2 -0
- package/dist/i18n/locales/it.d.ts +2 -0
- package/dist/i18n/locales/it.js +2 -0
- package/dist/i18n/locales/ja.d.ts +2 -0
- package/dist/i18n/locales/ja.js +2 -0
- package/dist/i18n/locales/nl.d.ts +2 -0
- package/dist/i18n/locales/nl.js +2 -0
- package/dist/i18n/locales/pl.d.ts +2 -0
- package/dist/i18n/locales/pl.js +2 -0
- package/dist/i18n/locales/pt.d.ts +2 -0
- package/dist/i18n/locales/pt.js +2 -0
- package/dist/i18n/locales/ro.d.ts +2 -0
- package/dist/i18n/locales/ro.js +2 -0
- package/dist/i18n/locales/ru.d.ts +2 -0
- package/dist/i18n/locales/ru.js +2 -0
- package/dist/i18n/locales/sq.d.ts +2 -0
- package/dist/i18n/locales/sq.js +2 -0
- package/dist/i18n/locales/sv.d.ts +2 -0
- package/dist/i18n/locales/sv.js +2 -0
- package/dist/i18n/locales/tr.d.ts +2 -0
- package/dist/i18n/locales/tr.js +2 -0
- package/dist/i18n/locales/zh.d.ts +2 -0
- package/dist/i18n/locales/zh.js +2 -0
- package/dist/index.js +2 -2
- package/dist/locales/ar.json +2 -0
- package/dist/locales/de.json +2 -0
- package/dist/locales/el.json +2 -0
- package/dist/locales/en.json +2 -0
- package/dist/locales/es.json +2 -0
- package/dist/locales/fr.json +2 -0
- package/dist/locales/hi.json +2 -0
- package/dist/locales/it.json +2 -0
- package/dist/locales/ja.json +2 -0
- package/dist/locales/nl.json +2 -0
- package/dist/locales/pl.json +2 -0
- package/dist/locales/pt.json +2 -0
- package/dist/locales/ro.json +2 -0
- package/dist/locales/ru.json +2 -0
- package/dist/locales/sq.json +2 -0
- package/dist/locales/sv.json +2 -0
- package/dist/locales/tr.json +2 -0
- package/dist/locales/zh.json +2 -0
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/chart-CIzXxNeM.js +0 -1322
- package/dist/_chunks/heatmap-BxRHM8Et.js +0 -2865
|
@@ -0,0 +1,1340 @@
|
|
|
1
|
+
import { jsx as H, jsxs as ge } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as ce, forwardRef as mt, useId as ft, useMemo as V, useRef as de, useState as ie, useImperativeHandle as yt } from "react";
|
|
3
|
+
import { c as Oe } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as gt } from "react-i18next";
|
|
5
|
+
import bt from "react-apexcharts";
|
|
6
|
+
import Je from "apexcharts";
|
|
7
|
+
import { u as vt, a as xt, g as Qe, b as St, r as wt } from "./apexcharts-theme-DNoXvgnZ.js";
|
|
8
|
+
import { u as At } from "./use-prefers-reduced-motion-BMwIQRjB.js";
|
|
9
|
+
import { u as Et } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
|
|
10
|
+
import { c as Lt } from "./intl-locale-FWh-Y5_3.js";
|
|
11
|
+
import { e as be } from "./escape-html-Cn9Fao6a.js";
|
|
12
|
+
import { c as Ct } from "./compose-refs-C0k0tdqF.js";
|
|
13
|
+
import { u as Tt } from "./registry-DvAUVLHh.js";
|
|
14
|
+
import { I as Mt } from "./icon-button-C_1TgRiK.js";
|
|
15
|
+
import { I as It } from "./icon-button-group-NIHji7_y.js";
|
|
16
|
+
import { c as we } from "./createLucideIcon-DhHxpK9K.js";
|
|
17
|
+
/**
|
|
18
|
+
* @license lucide-react v1.22.0 - ISC
|
|
19
|
+
*
|
|
20
|
+
* This source code is licensed under the ISC license.
|
|
21
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
22
|
+
*/
|
|
23
|
+
const Rt = [
|
|
24
|
+
["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }],
|
|
25
|
+
[
|
|
26
|
+
"path",
|
|
27
|
+
{
|
|
28
|
+
d: "M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z",
|
|
29
|
+
key: "q0gr47"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
], Nt = we("chart-area", Rt);
|
|
33
|
+
/**
|
|
34
|
+
* @license lucide-react v1.22.0 - ISC
|
|
35
|
+
*
|
|
36
|
+
* This source code is licensed under the ISC license.
|
|
37
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
38
|
+
*/
|
|
39
|
+
const Ot = [
|
|
40
|
+
["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }],
|
|
41
|
+
["path", { d: "M18 17V9", key: "2bz60n" }],
|
|
42
|
+
["path", { d: "M13 17V5", key: "1frdt8" }],
|
|
43
|
+
["path", { d: "M8 17v-3", key: "17ska0" }]
|
|
44
|
+
], Pt = we("chart-column", Ot);
|
|
45
|
+
/**
|
|
46
|
+
* @license lucide-react v1.22.0 - ISC
|
|
47
|
+
*
|
|
48
|
+
* This source code is licensed under the ISC license.
|
|
49
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
50
|
+
*/
|
|
51
|
+
const _t = [
|
|
52
|
+
["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }],
|
|
53
|
+
["path", { d: "m19 9-5 5-4-4-3 3", key: "2osh9i" }]
|
|
54
|
+
], kt = we("chart-line", _t);
|
|
55
|
+
/**
|
|
56
|
+
* @license lucide-react v1.22.0 - ISC
|
|
57
|
+
*
|
|
58
|
+
* This source code is licensed under the ISC license.
|
|
59
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
60
|
+
*/
|
|
61
|
+
const zt = [
|
|
62
|
+
[
|
|
63
|
+
"path",
|
|
64
|
+
{
|
|
65
|
+
d: "M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",
|
|
66
|
+
key: "pzmjnu"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
["path", { d: "M21.21 15.89A10 10 0 1 1 8 2.83", key: "k2fpak" }]
|
|
70
|
+
], Bt = we("chart-pie", zt);
|
|
71
|
+
/**
|
|
72
|
+
* @license lucide-react v1.22.0 - ISC
|
|
73
|
+
*
|
|
74
|
+
* This source code is licensed under the ISC license.
|
|
75
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
76
|
+
*/
|
|
77
|
+
const $t = [
|
|
78
|
+
[
|
|
79
|
+
"path",
|
|
80
|
+
{
|
|
81
|
+
d: "M20.5 10a2.5 2.5 0 0 1-2.4-3H18a2.95 2.95 0 0 1-2.6-4.4 10 10 0 1 0 6.3 7.1c-.3.2-.8.3-1.2.3",
|
|
82
|
+
key: "19sr3x"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
86
|
+
], qt = we("donut", $t), Ft = ".apexcharts-legend, .apexcharts-toolbar";
|
|
87
|
+
function Me(e, a, t) {
|
|
88
|
+
!e || e.getAttribute(a) === t || (t === null ? e.removeAttribute(a) : e.setAttribute(a, t));
|
|
89
|
+
}
|
|
90
|
+
function Ht(e, a) {
|
|
91
|
+
ce(() => {
|
|
92
|
+
if (!e) return;
|
|
93
|
+
const t = () => {
|
|
94
|
+
e.querySelectorAll(".apexcharts-canvas").forEach((l) => {
|
|
95
|
+
Array.from(l.children).forEach((x) => {
|
|
96
|
+
x.matches(Ft) || Me(x, "aria-hidden", "true");
|
|
97
|
+
});
|
|
98
|
+
}), e.querySelectorAll(".apexcharts-toolbar").forEach((l) => {
|
|
99
|
+
var b;
|
|
100
|
+
const x = ((b = l.querySelector(".apexcharts-menu-icon")) == null ? void 0 : b.getAttribute("aria-expanded")) === "true";
|
|
101
|
+
Me(
|
|
102
|
+
l.querySelector(".apexcharts-menu"),
|
|
103
|
+
"inert",
|
|
104
|
+
x ? null : ""
|
|
105
|
+
);
|
|
106
|
+
}), e.querySelectorAll(
|
|
107
|
+
'.apexcharts-legend-series[role="button"]'
|
|
108
|
+
).forEach((l) => {
|
|
109
|
+
Me(l, "aria-label", null);
|
|
110
|
+
const x = l.getAttribute("data:collapsed") === "true" ? "false" : "true";
|
|
111
|
+
Me(l, "aria-pressed", a ? x : null);
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
let o = 0;
|
|
115
|
+
const h = (l) => {
|
|
116
|
+
const x = l.target instanceof Element ? l.target.closest(".apexcharts-legend-series") : null, b = x == null ? void 0 : x.getAttribute("rel");
|
|
117
|
+
b && (cancelAnimationFrame(o), o = requestAnimationFrame(() => {
|
|
118
|
+
var r;
|
|
119
|
+
const w = document.activeElement;
|
|
120
|
+
w && w !== document.body || (r = e.querySelector(
|
|
121
|
+
`.apexcharts-legend-series[rel="${CSS.escape(b)}"]`
|
|
122
|
+
)) == null || r.focus();
|
|
123
|
+
}));
|
|
124
|
+
};
|
|
125
|
+
t();
|
|
126
|
+
const s = new MutationObserver(t);
|
|
127
|
+
return s.observe(e, {
|
|
128
|
+
childList: !0,
|
|
129
|
+
subtree: !0,
|
|
130
|
+
attributes: !0,
|
|
131
|
+
attributeFilter: [
|
|
132
|
+
"aria-hidden",
|
|
133
|
+
"aria-label",
|
|
134
|
+
"aria-pressed",
|
|
135
|
+
"aria-expanded"
|
|
136
|
+
]
|
|
137
|
+
}), e.addEventListener("click", h), () => {
|
|
138
|
+
s.disconnect(), e.removeEventListener("click", h), cancelAnimationFrame(o);
|
|
139
|
+
};
|
|
140
|
+
}, [e, a]);
|
|
141
|
+
}
|
|
142
|
+
const _e = '.apexcharts-legend-series[role="button"]', et = ".apexcharts-legend-text", Ie = "--chart-legend-item-size", ke = "--chart-legend-value-size", Wt = ".chart-legend-value", Dt = ".chart-legend-name", Vt = 350;
|
|
143
|
+
function Re(e, a, t) {
|
|
144
|
+
t && e.getAttribute(a) !== "true" ? e.setAttribute(a, "true") : !t && e.hasAttribute(a) && e.removeAttribute(a);
|
|
145
|
+
}
|
|
146
|
+
const ae = (e, a) => Number.parseFloat(e.getPropertyValue(a)) || 0;
|
|
147
|
+
function Gt(e, a) {
|
|
148
|
+
ce(() => {
|
|
149
|
+
if (!e || !a) return;
|
|
150
|
+
let t = null, o = 0, h = 0;
|
|
151
|
+
const s = () => {
|
|
152
|
+
if (!t) return;
|
|
153
|
+
const i = Math.abs(t.scrollLeft), u = t.scrollWidth - t.clientWidth;
|
|
154
|
+
h = i, Re(t, "data-fade-start", i > 1), Re(t, "data-fade-end", u - i > 1);
|
|
155
|
+
}, l = () => {
|
|
156
|
+
if (!t) return;
|
|
157
|
+
const i = getComputedStyle(t).direction === "rtl" ? -1 : 1;
|
|
158
|
+
Math.abs(Math.abs(t.scrollLeft) - h) > 1 && (t.scrollLeft = i * h);
|
|
159
|
+
}, x = () => {
|
|
160
|
+
if (!t) return;
|
|
161
|
+
const i = t.clientWidth, u = Array.from(
|
|
162
|
+
t.querySelectorAll(`:scope > ${_e}`)
|
|
163
|
+
).filter((A) => A.getClientRects().length > 0), f = (A, E, g = "") => ae(A, `${E}-inline-start${g}`) + ae(A, `${E}-inline-end${g}`), y = u.map((A) => {
|
|
164
|
+
const E = A.querySelector(Wt);
|
|
165
|
+
if (!E) return 0;
|
|
166
|
+
const g = getComputedStyle(A);
|
|
167
|
+
let R = f(g, "padding") + f(g, "border", "-width");
|
|
168
|
+
for (const T of Array.from(A.children)) {
|
|
169
|
+
const L = getComputedStyle(T);
|
|
170
|
+
R += f(L, "margin") + (T.contains(E) ? f(L, "padding") + f(L, "border", "-width") : T.getBoundingClientRect().width);
|
|
171
|
+
}
|
|
172
|
+
return R + E.getBoundingClientRect().width;
|
|
173
|
+
}), $ = getComputedStyle(t), _ = ae($, "padding-inline-start"), B = ae($, "padding-inline-end"), M = t.style.getPropertyValue(Ie);
|
|
174
|
+
if (t.style.removeProperty(Ie), u.length === 0) return;
|
|
175
|
+
u.forEach((A, E) => {
|
|
176
|
+
y[E] > 0 ? A.style.setProperty(ke, `${Math.ceil(y[E])}px`) : A.style.removeProperty(ke);
|
|
177
|
+
});
|
|
178
|
+
const Z = u.map(
|
|
179
|
+
(A) => ae(getComputedStyle(A), "min-inline-size")
|
|
180
|
+
), j = Math.max(...Z), Q = getComputedStyle(u[0]), N = ae(Q, "margin-inline-start") + ae(Q, "margin-inline-end"), n = Z.reduce((A, E) => A + E + N, 0);
|
|
181
|
+
if (j <= 0 || _ + B + n <= i)
|
|
182
|
+
return;
|
|
183
|
+
const m = Math.floor(
|
|
184
|
+
(i - _ - N / 2 - j / 2) / (j + N)
|
|
185
|
+
);
|
|
186
|
+
if (m < 1) return;
|
|
187
|
+
const S = (i - _ - N / 2 - m * N) / (m + 0.5);
|
|
188
|
+
t.style.setProperty(
|
|
189
|
+
Ie,
|
|
190
|
+
M && Math.abs(Number.parseFloat(M) - S) < 0.5 ? M : `${Math.floor(S * 100) / 100}px`
|
|
191
|
+
);
|
|
192
|
+
}, b = new ResizeObserver(() => {
|
|
193
|
+
x(), s();
|
|
194
|
+
}), { fonts: w } = e.ownerDocument, r = () => {
|
|
195
|
+
x(), s();
|
|
196
|
+
}, c = () => {
|
|
197
|
+
const i = e.querySelector(".apexcharts-legend"), u = i !== t;
|
|
198
|
+
u && (t && (t.removeEventListener("scroll", s), b.unobserve(t)), t = i, t && (t.addEventListener("scroll", s, { passive: !0 }), b.observe(t))), x(), u && l(), s();
|
|
199
|
+
};
|
|
200
|
+
let p = !1, d = 0, W;
|
|
201
|
+
const G = (i) => t !== null && i.target instanceof Node && t.contains(i.target), O = () => {
|
|
202
|
+
cancelAnimationFrame(d), clearTimeout(W), p = !1;
|
|
203
|
+
}, J = (i) => {
|
|
204
|
+
O(), p = G(i);
|
|
205
|
+
}, U = (i) => {
|
|
206
|
+
if (p) {
|
|
207
|
+
if (!G(i)) {
|
|
208
|
+
O();
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
clearTimeout(W), W = setTimeout(
|
|
212
|
+
O,
|
|
213
|
+
i.pointerType === "touch" ? Vt : 0
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
}, Y = () => {
|
|
217
|
+
p && (clearTimeout(W), cancelAnimationFrame(d), d = requestAnimationFrame(() => {
|
|
218
|
+
d = requestAnimationFrame(() => {
|
|
219
|
+
p = !1;
|
|
220
|
+
});
|
|
221
|
+
}));
|
|
222
|
+
}, te = (i) => {
|
|
223
|
+
if (!t) return;
|
|
224
|
+
const u = t.getBoundingClientRect(), f = i.getBoundingClientRect(), y = getComputedStyle(t), $ = u.left + ae(y, "scroll-padding-left"), _ = u.right - ae(y, "scroll-padding-right");
|
|
225
|
+
f.left < $ || f.width > _ - $ ? t.scrollLeft -= $ - f.left : f.right > _ && (t.scrollLeft += f.right - _);
|
|
226
|
+
}, K = (i) => {
|
|
227
|
+
const { target: u } = i;
|
|
228
|
+
!t || !(u instanceof HTMLElement) || t.contains(u) && (p && !u.matches(":focus-visible") ? l() : te(u), s());
|
|
229
|
+
}, C = () => {
|
|
230
|
+
cancelAnimationFrame(o), o = requestAnimationFrame(s);
|
|
231
|
+
}, k = (i) => {
|
|
232
|
+
var $;
|
|
233
|
+
const { target: u } = i, f = u instanceof Element ? ($ = u.closest(_e)) == null ? void 0 : $.querySelector(et) : null;
|
|
234
|
+
if (!f || !(t != null && t.contains(f))) return;
|
|
235
|
+
const y = f.querySelector(Dt) ?? f;
|
|
236
|
+
if (y.scrollWidth > y.clientWidth) {
|
|
237
|
+
const _ = f.textContent ?? "";
|
|
238
|
+
f.title !== _ && (f.title = _);
|
|
239
|
+
} else f.hasAttribute("title") && f.removeAttribute("title");
|
|
240
|
+
}, z = (i) => i instanceof Element && (i.closest(".apexcharts-legend") !== null || i.querySelector(".apexcharts-legend") !== null), I = new MutationObserver((i) => {
|
|
241
|
+
i.some(
|
|
242
|
+
(f) => [f.target, ...f.addedNodes, ...f.removedNodes].some(
|
|
243
|
+
z
|
|
244
|
+
)
|
|
245
|
+
) && c();
|
|
246
|
+
}), P = e.ownerDocument.defaultView ?? window;
|
|
247
|
+
return c(), I.observe(e, { childList: !0, subtree: !0 }), P.addEventListener("pointerdown", J, !0), P.addEventListener("pointerup", U, !0), P.addEventListener("pointercancel", O, !0), P.addEventListener("click", Y, !0), P.addEventListener("blur", O), e.addEventListener("keydown", O), e.addEventListener("focusin", K), e.addEventListener("focusout", C), e.addEventListener("mouseover", k), w == null || w.addEventListener("loadingdone", r), () => {
|
|
248
|
+
I.disconnect(), b.disconnect(), cancelAnimationFrame(o), O(), P.removeEventListener("pointerdown", J, !0), P.removeEventListener("pointerup", U, !0), P.removeEventListener("pointercancel", O, !0), P.removeEventListener("click", Y, !0), P.removeEventListener("blur", O), e.removeEventListener("keydown", O), e.removeEventListener("focusin", K), e.removeEventListener("focusout", C), e.removeEventListener("mouseover", k), w == null || w.removeEventListener("loadingdone", r), e.querySelectorAll(`${et}[title]`).forEach((i) => i.removeAttribute("title")), t && (t.removeEventListener("scroll", s), t.style.removeProperty(Ie), t.querySelectorAll(_e).forEach((i) => i.style.removeProperty(ke)), Re(t, "data-fade-start", !1), Re(t, "data-fade-end", !1));
|
|
249
|
+
};
|
|
250
|
+
}, [e, a]);
|
|
251
|
+
}
|
|
252
|
+
const Ut = ".apexcharts-xaxis-texts-g > text.apexcharts-xaxis-label", Kt = 0.5;
|
|
253
|
+
function jt(e) {
|
|
254
|
+
const a = e.getCTM();
|
|
255
|
+
if (!a) return null;
|
|
256
|
+
const { x: t, y: o, width: h, height: s } = e.getBBox();
|
|
257
|
+
return h === 0 && s === 0 ? null : [
|
|
258
|
+
[t, o],
|
|
259
|
+
[t + h, o],
|
|
260
|
+
[t + h, o + s],
|
|
261
|
+
[t, o + s]
|
|
262
|
+
].map(([l, x]) => {
|
|
263
|
+
const b = new DOMPoint(l, x).matrixTransform(a);
|
|
264
|
+
return { x: b.x, y: b.y };
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
function Xt(e, a, t) {
|
|
268
|
+
return [e, a].some(
|
|
269
|
+
(o) => o.some((h, s) => {
|
|
270
|
+
const l = o[(s + 1) % o.length], x = h.y - l.y, b = l.x - h.x, w = Math.hypot(x, b);
|
|
271
|
+
if (w === 0) return !1;
|
|
272
|
+
const r = (d) => d.map((W) => (W.x * x + W.y * b) / w), c = r(e), p = r(a);
|
|
273
|
+
return Math.min(...p) - Math.max(...c) >= t || Math.min(...c) - Math.max(...p) >= t;
|
|
274
|
+
})
|
|
275
|
+
);
|
|
276
|
+
}
|
|
277
|
+
function Yt(e) {
|
|
278
|
+
ce(() => {
|
|
279
|
+
if (!e) return;
|
|
280
|
+
const a = () => {
|
|
281
|
+
const s = Array.from(
|
|
282
|
+
e.querySelectorAll(Ut)
|
|
283
|
+
).filter((r) => (r.textContent ?? "").trim() !== "");
|
|
284
|
+
if (s.length === 0 || typeof s[0].getBBox != "function")
|
|
285
|
+
return;
|
|
286
|
+
const l = s.map(jt), x = Kt * (Number.parseFloat(getComputedStyle(s[0]).fontSize) || 0), b = (r) => {
|
|
287
|
+
for (let c = r; c < s.length; c += r) {
|
|
288
|
+
const p = l[c - r], d = l[c];
|
|
289
|
+
if (p && d && !Xt(p, d, x)) return !1;
|
|
290
|
+
}
|
|
291
|
+
return !0;
|
|
292
|
+
};
|
|
293
|
+
let w = 1;
|
|
294
|
+
for (; w < s.length && !b(w); ) w += 1;
|
|
295
|
+
s.forEach((r, c) => {
|
|
296
|
+
const p = c % w === 0;
|
|
297
|
+
p && r.hasAttribute("visibility") ? r.removeAttribute("visibility") : !p && r.getAttribute("visibility") !== "hidden" && r.setAttribute("visibility", "hidden");
|
|
298
|
+
});
|
|
299
|
+
}, t = (s) => s instanceof Element && (s.closest(".apexcharts-xaxis") !== null || s.querySelector(".apexcharts-xaxis") !== null), o = new MutationObserver((s) => {
|
|
300
|
+
s.some(
|
|
301
|
+
(l) => [l.target, ...l.addedNodes].some(t)
|
|
302
|
+
) && a();
|
|
303
|
+
}), { fonts: h } = e.ownerDocument;
|
|
304
|
+
return a(), o.observe(e, { childList: !0, subtree: !0 }), h == null || h.addEventListener("loadingdone", a), () => {
|
|
305
|
+
o.disconnect(), h == null || h.removeEventListener("loadingdone", a);
|
|
306
|
+
};
|
|
307
|
+
}, [e]);
|
|
308
|
+
}
|
|
309
|
+
const tt = "http://www.w3.org/2000/svg", Ne = ".apexcharts-radialbar .apexcharts-datalabels-group", Zt = ".apexcharts-datalabel-label", Jt = ".apexcharts-datalabel-value", Qt = ".apexcharts-radialbar-hollow", ve = "--chart-centre-size", er = "var(--type-label-size)", tr = 0.5, rr = 0.25, nr = 1, ar = 0.06, rt = "data-centre-name", ze = "data-centre-line", nt = /[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}]/u, sr = /^[)\]})】」』〕〉》、。,.・:;!?ー…]/u, or = /[([{(【「『〔〈《]$/u;
|
|
310
|
+
function ir(e) {
|
|
311
|
+
if (typeof Intl.Segmenter != "function") return null;
|
|
312
|
+
try {
|
|
313
|
+
return new Intl.Segmenter(e, { granularity: "word" });
|
|
314
|
+
} catch {
|
|
315
|
+
return new Intl.Segmenter(void 0, { granularity: "word" });
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
function cr(e, a) {
|
|
319
|
+
const t = [[e]], o = ir(a), h = o ? Array.from(o.segment(e), (l) => l.segment) : e.split(/(\s+)/);
|
|
320
|
+
let s = 0;
|
|
321
|
+
return h.forEach((l, x) => {
|
|
322
|
+
s += l.length;
|
|
323
|
+
const b = h[x + 1];
|
|
324
|
+
if (b === void 0) return;
|
|
325
|
+
const w = /^\s+$/.test(l) || /^\s+$/.test(b), r = nt.test(l.slice(-1)) || nt.test(b.charAt(0));
|
|
326
|
+
if (!w && !r) return;
|
|
327
|
+
const c = e.slice(0, s).trim(), p = e.slice(s).trim();
|
|
328
|
+
!c || !p || sr.test(p) || or.test(c) || t.some(([d, W]) => d === c && W === p) || t.push([c, p]);
|
|
329
|
+
}), t;
|
|
330
|
+
}
|
|
331
|
+
function lr(e, a, t) {
|
|
332
|
+
ce(() => {
|
|
333
|
+
if (!e || !a) return;
|
|
334
|
+
const o = () => {
|
|
335
|
+
try {
|
|
336
|
+
h();
|
|
337
|
+
} finally {
|
|
338
|
+
l.takeRecords();
|
|
339
|
+
}
|
|
340
|
+
}, h = () => {
|
|
341
|
+
if (e.getClientRects().length === 0) return;
|
|
342
|
+
const r = e.querySelector(Ne), c = e.querySelector(Qt), p = (r == null ? void 0 : r.querySelector(Jt)) ?? null, d = (r == null ? void 0 : r.querySelector(Zt)) ?? null;
|
|
343
|
+
if (!r || !c) return;
|
|
344
|
+
const W = c.getCTM(), G = r.getCTM();
|
|
345
|
+
if (!W || !G) return;
|
|
346
|
+
const O = G.inverse().multiply(W), J = new DOMPoint(
|
|
347
|
+
c.cx.baseVal.value,
|
|
348
|
+
c.cy.baseVal.value
|
|
349
|
+
).matrixTransform(O), U = c.r.baseVal.value * Math.hypot(O.a, O.b), Y = U - nr;
|
|
350
|
+
if (Y <= 0) return;
|
|
351
|
+
const { x: te, y: K } = J, C = ar * 2 * U, k = (n, m, S) => {
|
|
352
|
+
const A = K - m / 2;
|
|
353
|
+
let E = -1 / 0, g = 1 / 0;
|
|
354
|
+
for (const { width: T, start: L, end: re } of n) {
|
|
355
|
+
if (T / 2 > Y) return null;
|
|
356
|
+
const se = Math.sqrt(Y ** 2 - (T / 2) ** 2);
|
|
357
|
+
E = Math.max(E, K - se - L), g = Math.min(g, K + se - re);
|
|
358
|
+
}
|
|
359
|
+
const R = Math.max(A, E);
|
|
360
|
+
return R <= Math.min(g, A + S) ? R : null;
|
|
361
|
+
}, z = d && d.querySelector(`tspan[${ze}]`) ? d.getAttribute(rt) ?? "" : (d == null ? void 0 : d.textContent) ?? "";
|
|
362
|
+
for (const n of [d, p])
|
|
363
|
+
n == null || n.style.removeProperty(ve), n == null || n.removeAttribute("visibility");
|
|
364
|
+
const I = (n) => Number.parseFloat(getComputedStyle(n).fontSize) || 0, P = (n, m) => {
|
|
365
|
+
n.style.setProperty(ve, er);
|
|
366
|
+
const S = Math.min(I(n), m);
|
|
367
|
+
return n.style.removeProperty(ve), S;
|
|
368
|
+
};
|
|
369
|
+
let i = 0, u = 0, f = 0;
|
|
370
|
+
if (p && (p.textContent ?? "") !== "") {
|
|
371
|
+
i = I(p);
|
|
372
|
+
const n = P(p, i);
|
|
373
|
+
u = p.getComputedTextLength(), f = p.getBBox().height;
|
|
374
|
+
const m = Math.hypot(u / 2, f / 2);
|
|
375
|
+
if (m > Y) {
|
|
376
|
+
const S = Math.max(Y / m, n / i);
|
|
377
|
+
i *= S, u *= S, f *= S;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
const y = i > 0 ? rr * i : 0, $ = (n) => n.length > 0 ? y : 0;
|
|
381
|
+
let _ = 0, B = null, M = 0;
|
|
382
|
+
if (d && z.trim() !== "") {
|
|
383
|
+
M = I(d);
|
|
384
|
+
const n = P(d, M), m = (T) => (d.textContent = T, d.getComputedTextLength());
|
|
385
|
+
d.textContent = z, _ = d.getBBox().height / M;
|
|
386
|
+
const [S, ...A] = cr(z, t).map((T) => ({
|
|
387
|
+
lines: T,
|
|
388
|
+
widths: T.map(m)
|
|
389
|
+
})), E = [
|
|
390
|
+
S,
|
|
391
|
+
...A.sort(
|
|
392
|
+
(T, L) => Math.max(...T.widths) - Math.max(...L.widths)
|
|
393
|
+
)
|
|
394
|
+
], g = [];
|
|
395
|
+
for (let T = M; T > n + 0.01; T -= tr)
|
|
396
|
+
g.push(T);
|
|
397
|
+
g.push(n);
|
|
398
|
+
const R = (T, L) => {
|
|
399
|
+
for (const re of L) {
|
|
400
|
+
const se = re / M, oe = _ * re;
|
|
401
|
+
let pe = null, he = 1 / 0;
|
|
402
|
+
for (const { lines: me, widths: Ae } of E) {
|
|
403
|
+
const fe = me.length * oe + $(me), X = fe + f, le = Ae.map((Ee, ye) => ({
|
|
404
|
+
width: Ee * se,
|
|
405
|
+
start: ye * oe,
|
|
406
|
+
end: (ye + 1) * oe
|
|
407
|
+
}));
|
|
408
|
+
f > 0 && le.push({
|
|
409
|
+
width: u,
|
|
410
|
+
start: fe,
|
|
411
|
+
end: X
|
|
412
|
+
});
|
|
413
|
+
const ne = k(le, X, T);
|
|
414
|
+
ne !== null && ne - (K - X / 2) < he && (pe = { lines: me, size: re, top: ne }, he = ne - (K - X / 2));
|
|
415
|
+
}
|
|
416
|
+
if (pe) return pe;
|
|
417
|
+
}
|
|
418
|
+
return null;
|
|
419
|
+
};
|
|
420
|
+
B = R(0, g) ?? R(C, [n]);
|
|
421
|
+
}
|
|
422
|
+
const Z = (B == null ? void 0 : B.lines) ?? [], j = B ? _ * B.size : 0, Q = Z.length * j + $(Z) + f, N = (B == null ? void 0 : B.top) ?? K - Q / 2;
|
|
423
|
+
if (d)
|
|
424
|
+
if (d.textContent = "", d.setAttribute(rt, z), d.setAttribute("dominant-baseline", "central"), d.setAttribute("x", String(te)), d.setAttribute("y", String(N + j / 2)), Z.forEach((n, m) => {
|
|
425
|
+
const S = e.ownerDocument.createElementNS(tt, "tspan");
|
|
426
|
+
S.setAttribute(ze, ""), S.setAttribute("x", String(te)), S.setAttribute("y", String(N + (m + 0.5) * j)), S.textContent = n, d.appendChild(S);
|
|
427
|
+
}), B)
|
|
428
|
+
B.size < M - 0.01 && d.style.setProperty(ve, `${B.size}px`);
|
|
429
|
+
else {
|
|
430
|
+
const n = e.ownerDocument.createElementNS(tt, "tspan");
|
|
431
|
+
n.setAttribute(ze, ""), n.textContent = z, d.appendChild(n), d.setAttribute("visibility", "hidden");
|
|
432
|
+
}
|
|
433
|
+
p && f > 0 && (p.setAttribute("dominant-baseline", "central"), p.setAttribute("x", String(te)), p.setAttribute("y", String(N + Q - f / 2)), i < I(p) - 0.01 && p.style.setProperty(ve, `${i}px`));
|
|
434
|
+
}, s = (r) => {
|
|
435
|
+
var c;
|
|
436
|
+
return r instanceof Element && (r.closest(Ne) !== null || r.querySelector(Ne) !== null) || r instanceof Text && ((c = r.parentElement) == null ? void 0 : c.closest(Ne)) != null;
|
|
437
|
+
}, l = new MutationObserver((r) => {
|
|
438
|
+
r.some(
|
|
439
|
+
(c) => [c.target, ...c.addedNodes].some(s)
|
|
440
|
+
) && o();
|
|
441
|
+
}), x = (r) => (r ?? "").split(/\s+/).filter((c) => c.startsWith("theme-")).sort().join(" "), b = new MutationObserver((r) => {
|
|
442
|
+
r.some(
|
|
443
|
+
(c) => c.target instanceof Element && x(c.oldValue) !== x(c.target.getAttribute("class"))
|
|
444
|
+
) && o();
|
|
445
|
+
});
|
|
446
|
+
for (let r = e.parentElement; r; r = r.parentElement)
|
|
447
|
+
b.observe(r, {
|
|
448
|
+
attributes: !0,
|
|
449
|
+
attributeFilter: ["class"],
|
|
450
|
+
attributeOldValue: !0
|
|
451
|
+
});
|
|
452
|
+
const { fonts: w } = e.ownerDocument;
|
|
453
|
+
return o(), l.observe(e, {
|
|
454
|
+
childList: !0,
|
|
455
|
+
subtree: !0,
|
|
456
|
+
characterData: !0
|
|
457
|
+
}), w == null || w.addEventListener("loadingdone", o), () => {
|
|
458
|
+
l.disconnect(), b.disconnect(), w == null || w.removeEventListener("loadingdone", o);
|
|
459
|
+
};
|
|
460
|
+
}, [e, a, t]);
|
|
461
|
+
}
|
|
462
|
+
const ur = {
|
|
463
|
+
id: "chart",
|
|
464
|
+
// view_change backs the opt-in type switcher (`switchableTypes` prop):
|
|
465
|
+
// the same chart re-presented as line / bar / area / pie / donut.
|
|
466
|
+
capabilities: ["view_change"],
|
|
467
|
+
state: {
|
|
468
|
+
declaredType: {
|
|
469
|
+
type: "'line' | 'bar' | 'pie' | 'donut' | 'area' | 'radialBar'",
|
|
470
|
+
descriptionKey: "ui.agent.chart.state.declaredType",
|
|
471
|
+
description: "The consumer-declared chart type — the shape `update_series` expects.",
|
|
472
|
+
read: (e) => e.getTypeState().declaredType
|
|
473
|
+
},
|
|
474
|
+
effectiveType: {
|
|
475
|
+
type: "'line' | 'bar' | 'pie' | 'donut' | 'area' | 'radialBar'",
|
|
476
|
+
descriptionKey: "ui.agent.chart.state.effectiveType",
|
|
477
|
+
description: "The type currently rendered — differs from declaredType after a type-switcher pick.",
|
|
478
|
+
read: (e) => e.getTypeState().effectiveType
|
|
479
|
+
},
|
|
480
|
+
availableTypes: {
|
|
481
|
+
type: "ChartType[]",
|
|
482
|
+
descriptionKey: "ui.agent.chart.state.availableTypes",
|
|
483
|
+
description: "Types the switcher offers. Empty when the chart has no type switcher.",
|
|
484
|
+
read: (e) => e.getTypeState().availableTypes
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
actions: {
|
|
488
|
+
change_view: {
|
|
489
|
+
// Switching the presentation is a write (it changes what the user
|
|
490
|
+
// sees) but is trivially reversible by switching back.
|
|
491
|
+
safety: "write",
|
|
492
|
+
argsType: "type",
|
|
493
|
+
argsSchema: {
|
|
494
|
+
type: "object",
|
|
495
|
+
properties: {
|
|
496
|
+
type: {
|
|
497
|
+
type: "string",
|
|
498
|
+
enum: ["line", "bar", "area", "pie", "donut"],
|
|
499
|
+
description: "The chart type to render."
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
required: ["type"]
|
|
503
|
+
},
|
|
504
|
+
returns: "boolean (accepted)",
|
|
505
|
+
returnsSchema: {
|
|
506
|
+
type: "boolean",
|
|
507
|
+
description: "True when the switch was applied; false when the chart has no type switcher or the type is not offered (check availableTypes first)."
|
|
508
|
+
},
|
|
509
|
+
idempotent: !0,
|
|
510
|
+
descriptionKey: "ui.agent.chart.actions.changeView",
|
|
511
|
+
description: "Switch the rendered chart type via the type switcher. No-op (returns false) when the chart has no switcher or the type is not offered.",
|
|
512
|
+
invoke: (e, a) => e.setType(a.type)
|
|
513
|
+
},
|
|
514
|
+
update_series: {
|
|
515
|
+
// Replacing the rendered series mutates what the chart displays — it
|
|
516
|
+
// is a write, reversible by pushing the prior series back.
|
|
517
|
+
safety: "write",
|
|
518
|
+
argsType: "series",
|
|
519
|
+
// `series` is `ChartSeries[]` (line/bar/area) OR `number[]`
|
|
520
|
+
// (pie/donut/radialBar). Both shapes are accepted; the handle routes
|
|
521
|
+
// by chart type internally.
|
|
522
|
+
argsSchema: {
|
|
523
|
+
type: "object",
|
|
524
|
+
properties: {
|
|
525
|
+
series: {
|
|
526
|
+
oneOf: [
|
|
527
|
+
{
|
|
528
|
+
type: "array",
|
|
529
|
+
description: "Categorical series for line / bar / area charts.",
|
|
530
|
+
items: {
|
|
531
|
+
type: "object",
|
|
532
|
+
properties: {
|
|
533
|
+
name: { type: "string" },
|
|
534
|
+
data: { type: "array", items: { type: "number" } },
|
|
535
|
+
role: {
|
|
536
|
+
type: "string",
|
|
537
|
+
enum: ["primary", "compare"],
|
|
538
|
+
description: "Optional. 'compare' renders this series as a secondary, colour-blind-safe overlay (e.g. the previous period) — a dotted stroke in its paired primary's colour for line/area, a tinted bar with a dotted outline for bar. Omit for a normal primary series."
|
|
539
|
+
}
|
|
540
|
+
},
|
|
541
|
+
required: ["name", "data"]
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
type: "array",
|
|
546
|
+
description: "Flat values for pie / donut / radialBar charts.",
|
|
547
|
+
items: { type: "number" }
|
|
548
|
+
}
|
|
549
|
+
]
|
|
550
|
+
}
|
|
551
|
+
},
|
|
552
|
+
required: ["series"]
|
|
553
|
+
},
|
|
554
|
+
idempotent: !0,
|
|
555
|
+
descriptionKey: "ui.agent.chart.actions.updateSeries",
|
|
556
|
+
description: "Replace the chart series without remounting. Pass the DECLARED type’s shape (see declaredType state); when the user has switched the view cross-shape the values are converted to the rendered shape. The data and its summary table persist across type switches, resizes and theme changes until the host passes a new series prop.",
|
|
557
|
+
invoke: (e, a) => {
|
|
558
|
+
e.updateSeries(a.series);
|
|
559
|
+
}
|
|
560
|
+
},
|
|
561
|
+
export_png: {
|
|
562
|
+
safety: "read",
|
|
563
|
+
returns: "string (PNG data URI)",
|
|
564
|
+
returnsSchema: {
|
|
565
|
+
type: "string",
|
|
566
|
+
description: "A `data:image/png;base64,…` URI of the rendered chart."
|
|
567
|
+
},
|
|
568
|
+
idempotent: !0,
|
|
569
|
+
descriptionKey: "ui.agent.chart.actions.exportPng",
|
|
570
|
+
description: "Return a PNG data URI of the chart for export or screenshotting. Waits until series pushed with update_series are drawn.",
|
|
571
|
+
invoke: (e) => e.dataURI()
|
|
572
|
+
}
|
|
573
|
+
},
|
|
574
|
+
domHooks: {
|
|
575
|
+
root: { attr: "data-component", value: "chart" },
|
|
576
|
+
instanceId: {
|
|
577
|
+
attr: "data-component-id",
|
|
578
|
+
sourceProp: "id",
|
|
579
|
+
description: "Sourced from the id prop."
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}, dr = Oe(
|
|
583
|
+
"ds:relative ds:block ds:w-full apex-theme-alfadocs",
|
|
584
|
+
{
|
|
585
|
+
variants: {
|
|
586
|
+
density: {
|
|
587
|
+
compact: "ds:min-h-[var(--chart-min-height-compact)]",
|
|
588
|
+
comfortable: "ds:min-h-[var(--chart-min-height-comfortable)]",
|
|
589
|
+
// Applied when an explicit `height` prop is given and no density was
|
|
590
|
+
// requested: the wrapper must not exceed the caller's height (a 96px
|
|
591
|
+
// KPI chart inside a card must not reserve 320px).
|
|
592
|
+
none: ""
|
|
593
|
+
}
|
|
594
|
+
},
|
|
595
|
+
defaultVariants: { density: "comfortable" }
|
|
596
|
+
}
|
|
597
|
+
), pr = Oe("", {
|
|
598
|
+
variants: {
|
|
599
|
+
fill: {
|
|
600
|
+
none: "",
|
|
601
|
+
// The figure is the root: it takes the share itself.
|
|
602
|
+
root: "ds:h-[var(--chart-fill-size)] ds:min-h-[var(--chart-min-height-fill)]",
|
|
603
|
+
// Below the switcher row: the rest.
|
|
604
|
+
rest: "ds:min-h-[var(--chart-min-height-fill)] ds:flex-1"
|
|
605
|
+
}
|
|
606
|
+
},
|
|
607
|
+
defaultVariants: { fill: "none" }
|
|
608
|
+
}), hr = Oe("", {
|
|
609
|
+
variants: {
|
|
610
|
+
fill: { false: "", true: "ds:absolute ds:inset-0" }
|
|
611
|
+
},
|
|
612
|
+
defaultVariants: { fill: !1 }
|
|
613
|
+
}), mr = Oe("ds:w-full", {
|
|
614
|
+
variants: {
|
|
615
|
+
fill: {
|
|
616
|
+
false: "ds:block",
|
|
617
|
+
true: "ds:flex ds:flex-col ds:h-[var(--chart-fill-size)] ds:min-h-min"
|
|
618
|
+
}
|
|
619
|
+
},
|
|
620
|
+
defaultVariants: { fill: !1 }
|
|
621
|
+
}), fr = [
|
|
622
|
+
"verticalLines",
|
|
623
|
+
"horizontalLines",
|
|
624
|
+
"slantedLines",
|
|
625
|
+
"squares",
|
|
626
|
+
"circles"
|
|
627
|
+
], yr = ["line", "bar", "area"], gr = ["pie", "donut", "radialBar"], at = [
|
|
628
|
+
"line",
|
|
629
|
+
"bar",
|
|
630
|
+
"area",
|
|
631
|
+
"pie",
|
|
632
|
+
"donut"
|
|
633
|
+
], br = {
|
|
634
|
+
line: "chart.typeSwitcher.line",
|
|
635
|
+
bar: "chart.typeSwitcher.bar",
|
|
636
|
+
area: "chart.typeSwitcher.area",
|
|
637
|
+
pie: "chart.typeSwitcher.pie",
|
|
638
|
+
donut: "chart.typeSwitcher.donut"
|
|
639
|
+
}, vr = {
|
|
640
|
+
line: /* @__PURE__ */ H(kt, {}),
|
|
641
|
+
bar: /* @__PURE__ */ H(Pt, {}),
|
|
642
|
+
area: /* @__PURE__ */ H(Nt, {}),
|
|
643
|
+
pie: /* @__PURE__ */ H(Bt, {}),
|
|
644
|
+
donut: /* @__PURE__ */ H(qt, {})
|
|
645
|
+
}, xr = 2, ct = "0 6", Sr = 5, wr = 20, Ar = -45, Er = 640, Lr = 300, Cr = 160;
|
|
646
|
+
function Tr(e, a) {
|
|
647
|
+
!e || a.length === 0 || e.querySelectorAll(
|
|
648
|
+
".apexcharts-bar-series > .apexcharts-series"
|
|
649
|
+
).forEach((t) => {
|
|
650
|
+
const o = Number(t.getAttribute("data:realIndex"));
|
|
651
|
+
a.includes(o) && t.querySelectorAll("path.apexcharts-bar-area").forEach(
|
|
652
|
+
(h) => {
|
|
653
|
+
if (typeof h.getBBox != "function") return;
|
|
654
|
+
const s = h.getBBox();
|
|
655
|
+
h.setAttribute(
|
|
656
|
+
"d",
|
|
657
|
+
`M ${s.x} ${s.y + s.height} L ${s.x} ${s.y} L ${s.x + s.width} ${s.y} L ${s.x + s.width} ${s.y + s.height}`
|
|
658
|
+
), h.setAttribute("stroke-dasharray", ct), h.setAttribute("stroke-linecap", "round");
|
|
659
|
+
}
|
|
660
|
+
);
|
|
661
|
+
});
|
|
662
|
+
}
|
|
663
|
+
function st(e) {
|
|
664
|
+
const a = getComputedStyle(e), t = (o) => Number.parseFloat(a.getPropertyValue(o)) || 0;
|
|
665
|
+
return t("--min-target-size") + t("--focus-ring-offset") + t("--focus-ring-width");
|
|
666
|
+
}
|
|
667
|
+
function Mr(e, a) {
|
|
668
|
+
if (e === void 0) return a;
|
|
669
|
+
if (typeof e == "number") return e;
|
|
670
|
+
const t = Number.parseInt(e, 10);
|
|
671
|
+
return e.trim().endsWith("%") ? a * t / 100 : t;
|
|
672
|
+
}
|
|
673
|
+
function lt(e, a) {
|
|
674
|
+
if (a) return a;
|
|
675
|
+
const t = new Intl.NumberFormat(e, {
|
|
676
|
+
style: "percent",
|
|
677
|
+
maximumFractionDigits: 2
|
|
678
|
+
});
|
|
679
|
+
return (o) => t.format(o / 100);
|
|
680
|
+
}
|
|
681
|
+
function Ir(e) {
|
|
682
|
+
return typeof e == "number" ? e : e.trim().endsWith("%") ? Number.NaN : Number.parseInt(e, 10);
|
|
683
|
+
}
|
|
684
|
+
function ot(e, a, t, o, h, s) {
|
|
685
|
+
if (o === h)
|
|
686
|
+
return {
|
|
687
|
+
effectiveSeries: e,
|
|
688
|
+
effectiveCategories: a,
|
|
689
|
+
effectiveLabels: t
|
|
690
|
+
};
|
|
691
|
+
if (!o) {
|
|
692
|
+
const b = e.filter((r) => r.role !== "compare");
|
|
693
|
+
return {
|
|
694
|
+
effectiveSeries: b.map((r) => r.data.reduce((c, p) => c + p, 0)),
|
|
695
|
+
effectiveCategories: void 0,
|
|
696
|
+
effectiveLabels: b.map((r) => r.name)
|
|
697
|
+
};
|
|
698
|
+
}
|
|
699
|
+
return {
|
|
700
|
+
effectiveSeries: [{ name: s, data: e }],
|
|
701
|
+
effectiveCategories: t ?? [],
|
|
702
|
+
effectiveLabels: void 0
|
|
703
|
+
};
|
|
704
|
+
}
|
|
705
|
+
function it({
|
|
706
|
+
themeOptions: e,
|
|
707
|
+
toolbarBand: a,
|
|
708
|
+
chartId: t,
|
|
709
|
+
toolbar: o,
|
|
710
|
+
reducedMotion: h,
|
|
711
|
+
toolbarLocale: s,
|
|
712
|
+
locale: l,
|
|
713
|
+
effectiveLabels: x,
|
|
714
|
+
formatValue: b,
|
|
715
|
+
noDataText: w,
|
|
716
|
+
effectiveType: r,
|
|
717
|
+
effectiveSeries: c,
|
|
718
|
+
effectiveCategories: p,
|
|
719
|
+
isRtl: d,
|
|
720
|
+
patterns: W,
|
|
721
|
+
stacked: G,
|
|
722
|
+
orientation: O,
|
|
723
|
+
curve: J,
|
|
724
|
+
colors: U,
|
|
725
|
+
radialValueFormatter: Y,
|
|
726
|
+
narrow: te,
|
|
727
|
+
short: K,
|
|
728
|
+
wrapperRef: C
|
|
729
|
+
}) {
|
|
730
|
+
var B, M, Z, j, Q, N;
|
|
731
|
+
const k = e, z = Se(r) && Array.isArray(c) ? c.map((n) => n.role === "compare") : [], I = z.some(Boolean), P = I && r === "bar", i = P && c.some(
|
|
732
|
+
(n) => n.role === "compare" && n.data.some((m) => m < 0)
|
|
733
|
+
), u = P && O === "vertical" && !i, f = I ? St() : 0.3, y = {
|
|
734
|
+
...k,
|
|
735
|
+
chart: {
|
|
736
|
+
...k.chart,
|
|
737
|
+
id: t,
|
|
738
|
+
toolbar: { show: o },
|
|
739
|
+
zoom: { enabled: o },
|
|
740
|
+
animations: {
|
|
741
|
+
enabled: !h,
|
|
742
|
+
dynamicAnimation: { enabled: !h }
|
|
743
|
+
},
|
|
744
|
+
locales: [s],
|
|
745
|
+
defaultLocale: l,
|
|
746
|
+
parentHeightOffset: 0,
|
|
747
|
+
// Keep the keyboard-operable legend; drop Apex's data-point navigation
|
|
748
|
+
// and live announcements (English-only, and the summary table covers them).
|
|
749
|
+
accessibility: {
|
|
750
|
+
enabled: !0,
|
|
751
|
+
announcements: { enabled: !1 },
|
|
752
|
+
keyboard: { enabled: !0, navigation: { enabled: !1 } }
|
|
753
|
+
},
|
|
754
|
+
// Stacking is axis-only, so a slice or radial chart never receives it.
|
|
755
|
+
// Sent as false too: ApexCharts merges an update into its config, so
|
|
756
|
+
// leaving it out would keep an earlier `true`.
|
|
757
|
+
...Se(r) ? { stacked: G } : {}
|
|
758
|
+
},
|
|
759
|
+
// Only set `labels` when the effective type actually has them (slice
|
|
760
|
+
// charts). Emitting `labels: undefined` crashes ApexCharts' bar
|
|
761
|
+
// renderer — `parseDataAxisCharts` reads `labels.length` and throws
|
|
762
|
+
// "Cannot read properties of undefined (reading 'length')", which
|
|
763
|
+
// aborts the render and leaves a blank chart. Absent is safe; area /
|
|
764
|
+
// line tolerate the undefined but bar does not, so never pass it.
|
|
765
|
+
...x ? { labels: x } : {},
|
|
766
|
+
legend: {
|
|
767
|
+
...k.legend,
|
|
768
|
+
position: "bottom",
|
|
769
|
+
// ApexCharts legend.horizontalAlign is a physical prop mapped internally
|
|
770
|
+
// to the chart's own text flow. For RTL we flip via `yaxis.opposite`
|
|
771
|
+
// and ApexCharts' own `direction: 'rtl'` handling; legend stays anchored
|
|
772
|
+
// to the inline-start by asking for 'left' on LTR and 'right' on RTL.
|
|
773
|
+
horizontalAlign: d ? "right" : "left",
|
|
774
|
+
fontFamily: "inherit",
|
|
775
|
+
// apexcharts-theme.css sizes the legend hit areas and ring room from
|
|
776
|
+
// this 4px; pinned so an ApexCharts default change cannot break them.
|
|
777
|
+
itemMargin: { horizontal: 5, vertical: 4 },
|
|
778
|
+
// ApexCharts writes legend text as HTML: a series named "R&D" or
|
|
779
|
+
// "<b>" must read as written, not as markup.
|
|
780
|
+
formatter: (n) => be(String(n))
|
|
781
|
+
},
|
|
782
|
+
// The tooltip, like the legend, is written as HTML: its heading (the
|
|
783
|
+
// category) and each series name are escaped too.
|
|
784
|
+
tooltip: {
|
|
785
|
+
...k.tooltip,
|
|
786
|
+
x: {
|
|
787
|
+
...(B = k.tooltip) == null ? void 0 : B.x,
|
|
788
|
+
// A line or area chart hands ApexCharts its categories as positions
|
|
789
|
+
// (1..n), so the heading is named from the point's index, as
|
|
790
|
+
// ApexCharts' own axis label is.
|
|
791
|
+
formatter: (n, m) => be(
|
|
792
|
+
String((p == null ? void 0 : p[(m == null ? void 0 : m.dataPointIndex) ?? -1]) ?? n)
|
|
793
|
+
)
|
|
794
|
+
},
|
|
795
|
+
y: {
|
|
796
|
+
formatter: (n) => b(n),
|
|
797
|
+
title: {
|
|
798
|
+
formatter: (n) => n ? `${be(String(n))}: ` : ""
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
},
|
|
802
|
+
noData: {
|
|
803
|
+
text: w
|
|
804
|
+
}
|
|
805
|
+
}, $ = o && a ? a : 0, _ = K && Se(r) ? wr : 0;
|
|
806
|
+
if (y.title = $ || _ ? { ...y.title, text: "", margin: $ - _ } : { ...y.title, text: void 0, margin: Sr }, U && U.length > 0 && (y.colors = U), I) {
|
|
807
|
+
const n = y.colors ?? k.colors ?? [], m = (g) => n[g % Math.max(n.length, 1)], S = c.map((g, R) => g.role === "compare" ? -1 : R).filter((g) => g >= 0);
|
|
808
|
+
let A = 0;
|
|
809
|
+
y.colors = c.map((g, R) => {
|
|
810
|
+
if (g.role !== "compare") return m(R);
|
|
811
|
+
const T = S.length ? S[Math.min(A++, S.length - 1)] : R;
|
|
812
|
+
return m(T);
|
|
813
|
+
});
|
|
814
|
+
const E = y.colors.map(
|
|
815
|
+
(g, R) => z[R] ? wt(g) : g
|
|
816
|
+
);
|
|
817
|
+
y.legend = {
|
|
818
|
+
...y.legend,
|
|
819
|
+
markers: {
|
|
820
|
+
...((M = y.legend) == null ? void 0 : M.markers) ?? {},
|
|
821
|
+
fillColors: E
|
|
822
|
+
}
|
|
823
|
+
};
|
|
824
|
+
}
|
|
825
|
+
if (Se(r)) {
|
|
826
|
+
const n = r === "bar" && O === "horizontal";
|
|
827
|
+
y.xaxis = {
|
|
828
|
+
...k.xaxis,
|
|
829
|
+
categories: p ?? [],
|
|
830
|
+
labels: {
|
|
831
|
+
...(Z = k.xaxis) == null ? void 0 : Z.labels,
|
|
832
|
+
formatter: n ? (m) => b(Number(m)) : void 0,
|
|
833
|
+
// A narrow chart thins crowded labels rather than turning them sideways.
|
|
834
|
+
// Sent both ways, so a widened chart rotates. ApexCharts draws every
|
|
835
|
+
// label and useApexXLabelSpacing thins them: its own test keeps two
|
|
836
|
+
// labels that touch, or overlap when the second is wider.
|
|
837
|
+
rotate: te ? 0 : Ar,
|
|
838
|
+
hideOverlappingLabels: !1
|
|
839
|
+
},
|
|
840
|
+
// The hover tooltip already heads with the category. ApexCharts' own
|
|
841
|
+
// x-axis box repeats it below the axis, outside the chart's box.
|
|
842
|
+
tooltip: { enabled: !1 }
|
|
843
|
+
}, y.yaxis = {
|
|
844
|
+
...k.yaxis,
|
|
845
|
+
opposite: d,
|
|
846
|
+
...n ? {} : { labels: { formatter: (m) => b(m) } }
|
|
847
|
+
}, y.stroke = {
|
|
848
|
+
curve: J,
|
|
849
|
+
width: r === "bar" ? I ? z.map((m) => m ? xr : 0) : 0 : 2,
|
|
850
|
+
...I ? {
|
|
851
|
+
lineCap: "round",
|
|
852
|
+
// Runtime accepts a string dash; the published types say
|
|
853
|
+
// `number` → one documented cast. `'0 6'` + round cap ⇒ dots.
|
|
854
|
+
dashArray: z.map(
|
|
855
|
+
(m) => m ? ct : 0
|
|
856
|
+
)
|
|
857
|
+
} : {}
|
|
858
|
+
}, y.dataLabels = { enabled: !1 };
|
|
859
|
+
}
|
|
860
|
+
if (r === "radialBar") {
|
|
861
|
+
const n = lt(l, Y), m = k.plotOptions ?? {}, S = (j = m.radialBar) == null ? void 0 : j.dataLabels;
|
|
862
|
+
y.plotOptions = {
|
|
863
|
+
...m,
|
|
864
|
+
radialBar: {
|
|
865
|
+
...m.radialBar ?? {},
|
|
866
|
+
dataLabels: {
|
|
867
|
+
...S ?? {},
|
|
868
|
+
name: { ...(S == null ? void 0 : S.name) ?? {}, color: (Q = k.chart) == null ? void 0 : Q.foreColor },
|
|
869
|
+
value: {
|
|
870
|
+
...(S == null ? void 0 : S.value) ?? {},
|
|
871
|
+
formatter: (g) => n(Number(g))
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
};
|
|
876
|
+
const A = Array.isArray(c) && c.length > 1, E = d ? "rtl" : "ltr";
|
|
877
|
+
y.legend = {
|
|
878
|
+
...y.legend,
|
|
879
|
+
show: A,
|
|
880
|
+
...A ? {
|
|
881
|
+
formatter: (g, R) => {
|
|
882
|
+
const T = Number(
|
|
883
|
+
c[(R == null ? void 0 : R.seriesIndex) ?? 0]
|
|
884
|
+
);
|
|
885
|
+
return `<span class="chart-legend-ring" dir="${E}"><span class="chart-legend-name">${be(String(g))}</span> <span class="chart-legend-value">${be(n(T))}</span></span>`;
|
|
886
|
+
}
|
|
887
|
+
} : {}
|
|
888
|
+
};
|
|
889
|
+
}
|
|
890
|
+
if (r === "bar") {
|
|
891
|
+
const n = k.plotOptions ?? {};
|
|
892
|
+
y.plotOptions = {
|
|
893
|
+
...n,
|
|
894
|
+
bar: {
|
|
895
|
+
...n.bar ?? {},
|
|
896
|
+
horizontal: O === "horizontal"
|
|
897
|
+
}
|
|
898
|
+
};
|
|
899
|
+
}
|
|
900
|
+
if (W ? y.fill = {
|
|
901
|
+
type: I ? z.map((n) => n ? "solid" : "pattern") : "pattern",
|
|
902
|
+
opacity: I ? z.map(
|
|
903
|
+
(n) => n ? f : r === "area" ? 0.3 : 1
|
|
904
|
+
) : r === "area" ? 0.3 : 1,
|
|
905
|
+
pattern: {
|
|
906
|
+
style: [...fr],
|
|
907
|
+
strokeWidth: 2
|
|
908
|
+
}
|
|
909
|
+
} : P ? y.fill = {
|
|
910
|
+
type: "solid",
|
|
911
|
+
opacity: z.map((n) => n ? f : 1)
|
|
912
|
+
} : r === "area" && (y.fill = I ? {
|
|
913
|
+
type: "gradient",
|
|
914
|
+
opacity: z.map((n) => n ? f : 0.3)
|
|
915
|
+
} : {
|
|
916
|
+
type: "gradient",
|
|
917
|
+
opacity: 0.3
|
|
918
|
+
}), u) {
|
|
919
|
+
const n = z.map((A, E) => A ? E : -1).filter((A) => A >= 0), m = () => Tr(C.current, n), S = () => typeof requestAnimationFrame == "function" ? requestAnimationFrame(m) : m();
|
|
920
|
+
y.chart = {
|
|
921
|
+
...y.chart,
|
|
922
|
+
events: {
|
|
923
|
+
...((N = y.chart) == null ? void 0 : N.events) ?? {},
|
|
924
|
+
mounted: () => S(),
|
|
925
|
+
updated: () => S(),
|
|
926
|
+
animationEnd: () => m()
|
|
927
|
+
}
|
|
928
|
+
};
|
|
929
|
+
}
|
|
930
|
+
return Rr(y, r);
|
|
931
|
+
}
|
|
932
|
+
function Rr(e, a) {
|
|
933
|
+
var o, h, s, l, x, b;
|
|
934
|
+
if (!Se(a)) return e;
|
|
935
|
+
const t = (o = e.chart) == null ? void 0 : o.events;
|
|
936
|
+
return {
|
|
937
|
+
...e,
|
|
938
|
+
colors: e.colors,
|
|
939
|
+
chart: {
|
|
940
|
+
...e.chart,
|
|
941
|
+
events: {
|
|
942
|
+
...t,
|
|
943
|
+
mounted: t == null ? void 0 : t.mounted,
|
|
944
|
+
updated: t == null ? void 0 : t.updated,
|
|
945
|
+
animationEnd: t == null ? void 0 : t.animationEnd
|
|
946
|
+
}
|
|
947
|
+
},
|
|
948
|
+
stroke: {
|
|
949
|
+
...e.stroke,
|
|
950
|
+
lineCap: ((h = e.stroke) == null ? void 0 : h.lineCap) ?? (a === "bar" ? "square" : "butt"),
|
|
951
|
+
dashArray: ((s = e.stroke) == null ? void 0 : s.dashArray) ?? 0
|
|
952
|
+
},
|
|
953
|
+
legend: {
|
|
954
|
+
...e.legend,
|
|
955
|
+
markers: {
|
|
956
|
+
...(l = e.legend) == null ? void 0 : l.markers,
|
|
957
|
+
fillColors: (b = (x = e.legend) == null ? void 0 : x.markers) == null ? void 0 : b.fillColors
|
|
958
|
+
}
|
|
959
|
+
},
|
|
960
|
+
fill: e.fill ?? { type: "solid", opacity: 0.85 }
|
|
961
|
+
};
|
|
962
|
+
}
|
|
963
|
+
function xe(e) {
|
|
964
|
+
return gr.includes(e);
|
|
965
|
+
}
|
|
966
|
+
function Se(e) {
|
|
967
|
+
return yr.includes(e);
|
|
968
|
+
}
|
|
969
|
+
function Nr(e, a) {
|
|
970
|
+
return xe(a) ? [
|
|
971
|
+
{
|
|
972
|
+
name: "",
|
|
973
|
+
data: e
|
|
974
|
+
}
|
|
975
|
+
] : e;
|
|
976
|
+
}
|
|
977
|
+
const Or = mt(
|
|
978
|
+
({
|
|
979
|
+
title: e,
|
|
980
|
+
id: a,
|
|
981
|
+
type: t,
|
|
982
|
+
series: o,
|
|
983
|
+
categories: h,
|
|
984
|
+
labels: s,
|
|
985
|
+
height: l,
|
|
986
|
+
width: x,
|
|
987
|
+
patterns: b = !1,
|
|
988
|
+
stacked: w = !1,
|
|
989
|
+
orientation: r = "vertical",
|
|
990
|
+
curve: c = "smooth",
|
|
991
|
+
colors: p,
|
|
992
|
+
toolbar: d = !1,
|
|
993
|
+
locale: W,
|
|
994
|
+
radialValueFormatter: G,
|
|
995
|
+
valueFormatter: O,
|
|
996
|
+
switchableTypes: J,
|
|
997
|
+
onTypeChange: U,
|
|
998
|
+
density: Y,
|
|
999
|
+
className: te
|
|
1000
|
+
}, K) => {
|
|
1001
|
+
const { t: C, i18n: k } = gt("ui"), z = ft(), I = V(
|
|
1002
|
+
() => `chart-${z.replace(/[^a-zA-Z0-9-_]/g, "")}`,
|
|
1003
|
+
[z]
|
|
1004
|
+
), P = `${I}-summary`, i = de(null), [u, f] = ie(null), y = V(
|
|
1005
|
+
() => Ct(i, f),
|
|
1006
|
+
[]
|
|
1007
|
+
), $ = V(() => ({ current: u }), [u]), [_, B] = ie(0), M = typeof l == "string" && l.trim().endsWith("%") ? l.trim() : void 0, [Z, j] = ie(0), Q = de(!1);
|
|
1008
|
+
Q.current = M !== void 0, Et(() => {
|
|
1009
|
+
M && u && j(Math.floor(u.clientHeight));
|
|
1010
|
+
}, [M, u]), vt($), xt($);
|
|
1011
|
+
const N = Lt(
|
|
1012
|
+
W ?? k.language ?? "en",
|
|
1013
|
+
k.language
|
|
1014
|
+
), [n, m] = ie(() => {
|
|
1015
|
+
try {
|
|
1016
|
+
return Qe();
|
|
1017
|
+
} catch {
|
|
1018
|
+
return {};
|
|
1019
|
+
}
|
|
1020
|
+
});
|
|
1021
|
+
ce(() => {
|
|
1022
|
+
if (typeof document > "u") return;
|
|
1023
|
+
let v;
|
|
1024
|
+
const q = new MutationObserver(() => {
|
|
1025
|
+
clearTimeout(v), v = setTimeout(() => {
|
|
1026
|
+
try {
|
|
1027
|
+
m(Qe());
|
|
1028
|
+
} catch {
|
|
1029
|
+
}
|
|
1030
|
+
}, 50);
|
|
1031
|
+
});
|
|
1032
|
+
return q.observe(document.documentElement, {
|
|
1033
|
+
attributes: !0,
|
|
1034
|
+
attributeFilter: ["class"]
|
|
1035
|
+
}), () => {
|
|
1036
|
+
clearTimeout(v), q.disconnect();
|
|
1037
|
+
};
|
|
1038
|
+
}, []);
|
|
1039
|
+
const [S, A] = ie(
|
|
1040
|
+
() => typeof document > "u" ? 0 : st(document.documentElement)
|
|
1041
|
+
);
|
|
1042
|
+
ce(() => {
|
|
1043
|
+
if (!u || !d) return;
|
|
1044
|
+
const v = new ResizeObserver(() => q()), q = () => {
|
|
1045
|
+
const F = u.querySelector(".apexcharts-toolbar");
|
|
1046
|
+
F && v.observe(F), A(
|
|
1047
|
+
Math.max(st(u), (F == null ? void 0 : F.offsetHeight) ?? 0)
|
|
1048
|
+
);
|
|
1049
|
+
};
|
|
1050
|
+
q();
|
|
1051
|
+
const ee = new MutationObserver(q);
|
|
1052
|
+
for (let F = u.parentElement; F; F = F.parentElement)
|
|
1053
|
+
ee.observe(F, { attributes: !0, attributeFilter: ["class"] });
|
|
1054
|
+
const D = new MutationObserver((F) => {
|
|
1055
|
+
F.flatMap((ue) => [...ue.addedNodes]).some(
|
|
1056
|
+
(ue) => ue instanceof Element && (ue.matches(".apexcharts-toolbar") || ue.querySelector(".apexcharts-toolbar"))
|
|
1057
|
+
) && q();
|
|
1058
|
+
});
|
|
1059
|
+
return D.observe(u, { childList: !0, subtree: !0 }), () => {
|
|
1060
|
+
v.disconnect(), ee.disconnect(), D.disconnect();
|
|
1061
|
+
};
|
|
1062
|
+
}, [u, d]), ce(() => {
|
|
1063
|
+
const v = u;
|
|
1064
|
+
if (!v || typeof ResizeObserver > "u") return;
|
|
1065
|
+
const q = new ResizeObserver((ee) => {
|
|
1066
|
+
const D = ee[0];
|
|
1067
|
+
D && (B(Math.floor(D.contentRect.width)), Q.current && j(Math.floor(D.contentRect.height)));
|
|
1068
|
+
});
|
|
1069
|
+
return q.observe(v), () => q.disconnect();
|
|
1070
|
+
}, [u]);
|
|
1071
|
+
const E = V(() => {
|
|
1072
|
+
if (!J || J.length === 0) return [];
|
|
1073
|
+
const v = J.filter(
|
|
1074
|
+
(ee) => at.includes(ee)
|
|
1075
|
+
);
|
|
1076
|
+
if (!at.includes(t))
|
|
1077
|
+
return [];
|
|
1078
|
+
const q = v.includes(t) ? v : [t, ...v];
|
|
1079
|
+
return [...new Set(q)];
|
|
1080
|
+
}, [J, t]), g = E.length >= 2, [R, T] = ie(null), L = g && R && E.includes(R) ? R : t;
|
|
1081
|
+
Ht(
|
|
1082
|
+
u,
|
|
1083
|
+
L !== "pie" && L !== "donut"
|
|
1084
|
+
);
|
|
1085
|
+
const re = xe(t), se = xe(L), [oe, pe] = ie(null), [he, me] = ie(o);
|
|
1086
|
+
he !== o && (me(o), oe && pe(null));
|
|
1087
|
+
const Ae = oe && oe.base === o && he === o ? oe.next : o, fe = de(o);
|
|
1088
|
+
fe.current = o;
|
|
1089
|
+
const { effectiveSeries: X, effectiveCategories: le, effectiveLabels: ne } = V(
|
|
1090
|
+
() => ot(
|
|
1091
|
+
Ae,
|
|
1092
|
+
h,
|
|
1093
|
+
s,
|
|
1094
|
+
re,
|
|
1095
|
+
se,
|
|
1096
|
+
C("chart.table.value")
|
|
1097
|
+
),
|
|
1098
|
+
[Ae, h, s, re, se, C]
|
|
1099
|
+
), Ee = (v) => ot(
|
|
1100
|
+
v,
|
|
1101
|
+
h,
|
|
1102
|
+
s,
|
|
1103
|
+
re,
|
|
1104
|
+
se,
|
|
1105
|
+
C("chart.table.value")
|
|
1106
|
+
), ye = de(Ee);
|
|
1107
|
+
ye.current = Ee;
|
|
1108
|
+
const Be = de(Promise.resolve()), Pe = V(
|
|
1109
|
+
() => ({
|
|
1110
|
+
async dataURI() {
|
|
1111
|
+
await Be.current;
|
|
1112
|
+
const v = Je.getChartByID(I);
|
|
1113
|
+
return v ? (await v.dataURI()).imgURI : "";
|
|
1114
|
+
},
|
|
1115
|
+
updateSeries(v) {
|
|
1116
|
+
pe({ base: fe.current, next: v });
|
|
1117
|
+
const q = Je.getChartByID(I);
|
|
1118
|
+
if (!q) return;
|
|
1119
|
+
const ee = ye.current(v), D = { ...je.current, ...ee };
|
|
1120
|
+
Be.current = q.updateOptions(
|
|
1121
|
+
{ ...it(D), series: ee.effectiveSeries },
|
|
1122
|
+
!1,
|
|
1123
|
+
!0
|
|
1124
|
+
).catch(() => {
|
|
1125
|
+
});
|
|
1126
|
+
},
|
|
1127
|
+
setType(v) {
|
|
1128
|
+
return !g || !E.includes(v) ? !1 : (T(v), !0);
|
|
1129
|
+
},
|
|
1130
|
+
getTypeState() {
|
|
1131
|
+
return {
|
|
1132
|
+
declaredType: t,
|
|
1133
|
+
effectiveType: L,
|
|
1134
|
+
availableTypes: g ? [...E] : []
|
|
1135
|
+
};
|
|
1136
|
+
}
|
|
1137
|
+
}),
|
|
1138
|
+
[I, t, L, g, E]
|
|
1139
|
+
);
|
|
1140
|
+
yt(K, () => Pe, [Pe]), Tt(ur, Pe, a);
|
|
1141
|
+
const $e = typeof document < "u" && document.documentElement.dir === "rtl", qe = V(
|
|
1142
|
+
() => Nr(X, L),
|
|
1143
|
+
[X, L]
|
|
1144
|
+
), Fe = V(
|
|
1145
|
+
() => new Intl.NumberFormat(N),
|
|
1146
|
+
[N]
|
|
1147
|
+
), Le = V(
|
|
1148
|
+
() => O ?? ((v) => Fe.format(v)),
|
|
1149
|
+
[O, Fe]
|
|
1150
|
+
), He = V(
|
|
1151
|
+
() => ({
|
|
1152
|
+
name: N,
|
|
1153
|
+
options: {
|
|
1154
|
+
toolbar: {
|
|
1155
|
+
download: C("chart.toolbar.download"),
|
|
1156
|
+
// Names the button that opens the export menu (Apex: "Menu").
|
|
1157
|
+
menu: C("chart.toolbar.download"),
|
|
1158
|
+
selection: C("chart.toolbar.selection"),
|
|
1159
|
+
selectionZoom: C("chart.toolbar.selectionZoom"),
|
|
1160
|
+
zoomIn: C("chart.toolbar.zoomIn"),
|
|
1161
|
+
zoomOut: C("chart.toolbar.zoomOut"),
|
|
1162
|
+
pan: C("chart.toolbar.pan"),
|
|
1163
|
+
reset: C("chart.toolbar.reset"),
|
|
1164
|
+
exportToSVG: C("chart.toolbar.exportToSVG"),
|
|
1165
|
+
exportToPNG: C("chart.toolbar.exportToPNG"),
|
|
1166
|
+
exportToCSV: C("chart.toolbar.exportToCSV")
|
|
1167
|
+
}
|
|
1168
|
+
}
|
|
1169
|
+
}),
|
|
1170
|
+
[N, C]
|
|
1171
|
+
), We = At(), De = C("chart.noData"), Ve = Mr(x, _), Ge = Ve > 0 && Ve < Er, ut = x ?? (_ > 0 ? _ : "100%"), Ue = M ? Z > 0 ? Z : Cr : l ?? 320, Ke = Ir(Ue), Ce = Ke > 0 && Ke < Lr;
|
|
1172
|
+
Gt(u, Ce), Yt(u), lr(u, L === "radialBar", N), de(!1), ce(() => {
|
|
1173
|
+
}, [L, G, X]);
|
|
1174
|
+
const Te = V(
|
|
1175
|
+
() => ({
|
|
1176
|
+
themeOptions: n,
|
|
1177
|
+
toolbarBand: S,
|
|
1178
|
+
chartId: I,
|
|
1179
|
+
toolbar: d,
|
|
1180
|
+
reducedMotion: We,
|
|
1181
|
+
toolbarLocale: He,
|
|
1182
|
+
locale: N,
|
|
1183
|
+
effectiveLabels: ne,
|
|
1184
|
+
formatValue: Le,
|
|
1185
|
+
noDataText: De,
|
|
1186
|
+
effectiveType: L,
|
|
1187
|
+
effectiveSeries: X,
|
|
1188
|
+
effectiveCategories: le,
|
|
1189
|
+
isRtl: $e,
|
|
1190
|
+
patterns: b,
|
|
1191
|
+
stacked: w,
|
|
1192
|
+
orientation: r,
|
|
1193
|
+
curve: c,
|
|
1194
|
+
colors: p,
|
|
1195
|
+
radialValueFormatter: G,
|
|
1196
|
+
narrow: Ge,
|
|
1197
|
+
short: Ce,
|
|
1198
|
+
wrapperRef: i
|
|
1199
|
+
}),
|
|
1200
|
+
[
|
|
1201
|
+
n,
|
|
1202
|
+
S,
|
|
1203
|
+
I,
|
|
1204
|
+
d,
|
|
1205
|
+
We,
|
|
1206
|
+
He,
|
|
1207
|
+
N,
|
|
1208
|
+
ne,
|
|
1209
|
+
Le,
|
|
1210
|
+
De,
|
|
1211
|
+
L,
|
|
1212
|
+
X,
|
|
1213
|
+
le,
|
|
1214
|
+
$e,
|
|
1215
|
+
b,
|
|
1216
|
+
w,
|
|
1217
|
+
r,
|
|
1218
|
+
c,
|
|
1219
|
+
p,
|
|
1220
|
+
G,
|
|
1221
|
+
Ge,
|
|
1222
|
+
Ce
|
|
1223
|
+
]
|
|
1224
|
+
), dt = V(
|
|
1225
|
+
() => it(Te),
|
|
1226
|
+
[Te]
|
|
1227
|
+
), je = de(Te);
|
|
1228
|
+
je.current = Te;
|
|
1229
|
+
const pt = V(() => {
|
|
1230
|
+
const v = xe(L) ? ne ?? [] : le ?? [], q = qe, ee = L === "radialBar" ? lt(N, G) : Le;
|
|
1231
|
+
return /* @__PURE__ */ H("div", { className: "ds:sr-only", children: /* @__PURE__ */ ge("table", { id: P, children: [
|
|
1232
|
+
/* @__PURE__ */ H("caption", { children: e }),
|
|
1233
|
+
/* @__PURE__ */ H("thead", { children: /* @__PURE__ */ ge("tr", { children: [
|
|
1234
|
+
/* @__PURE__ */ H("th", { scope: "col", children: C("chart.table.series") }),
|
|
1235
|
+
v.map((D, F) => /* @__PURE__ */ H("th", { scope: "col", children: D }, `${D}-${F}`))
|
|
1236
|
+
] }) }),
|
|
1237
|
+
/* @__PURE__ */ H("tbody", { children: q.map((D, F) => /* @__PURE__ */ ge("tr", { children: [
|
|
1238
|
+
/* @__PURE__ */ H("th", { scope: "row", children: D.name || C("chart.table.value") }),
|
|
1239
|
+
D.data.map((Ze, ue) => /* @__PURE__ */ H("td", { children: ee(Ze) }, `${F}-${ue}`))
|
|
1240
|
+
] }, `${D.name}-${F}`)) })
|
|
1241
|
+
] }) });
|
|
1242
|
+
}, [
|
|
1243
|
+
L,
|
|
1244
|
+
qe,
|
|
1245
|
+
ne,
|
|
1246
|
+
le,
|
|
1247
|
+
P,
|
|
1248
|
+
e,
|
|
1249
|
+
C,
|
|
1250
|
+
Le,
|
|
1251
|
+
G,
|
|
1252
|
+
N
|
|
1253
|
+
]), ht = V(() => (xe(L), X), [X, L]), Xe = M ? {
|
|
1254
|
+
"--chart-fill-size": M
|
|
1255
|
+
} : void 0, Ye = /* @__PURE__ */ ge(
|
|
1256
|
+
"div",
|
|
1257
|
+
{
|
|
1258
|
+
ref: y,
|
|
1259
|
+
role: "figure",
|
|
1260
|
+
"aria-label": e,
|
|
1261
|
+
"aria-describedby": P,
|
|
1262
|
+
"data-legend-layout": Ce ? "row" : void 0,
|
|
1263
|
+
className: dr({
|
|
1264
|
+
// Explicit height wins over the density min-height unless the
|
|
1265
|
+
// caller also asked for a density explicitly.
|
|
1266
|
+
// A `%` height takes its height from the parent, never a density.
|
|
1267
|
+
density: M ? "none" : Y ?? (l !== void 0 ? "none" : void 0),
|
|
1268
|
+
className: [
|
|
1269
|
+
pr({
|
|
1270
|
+
fill: M ? g ? "rest" : "root" : "none"
|
|
1271
|
+
}),
|
|
1272
|
+
g ? void 0 : te
|
|
1273
|
+
].filter(Boolean).join(" ")
|
|
1274
|
+
}),
|
|
1275
|
+
style: g ? void 0 : Xe,
|
|
1276
|
+
...g ? {} : { "data-component": "chart", "data-component-id": a },
|
|
1277
|
+
children: [
|
|
1278
|
+
pt,
|
|
1279
|
+
/* @__PURE__ */ H(
|
|
1280
|
+
bt,
|
|
1281
|
+
{
|
|
1282
|
+
className: hr({ fill: M !== void 0 }),
|
|
1283
|
+
type: L,
|
|
1284
|
+
series: ht,
|
|
1285
|
+
options: dt,
|
|
1286
|
+
width: ut,
|
|
1287
|
+
height: Ue
|
|
1288
|
+
},
|
|
1289
|
+
L
|
|
1290
|
+
)
|
|
1291
|
+
]
|
|
1292
|
+
}
|
|
1293
|
+
);
|
|
1294
|
+
return g ? /* @__PURE__ */ ge(
|
|
1295
|
+
"div",
|
|
1296
|
+
{
|
|
1297
|
+
"data-component": "chart",
|
|
1298
|
+
"data-component-id": a,
|
|
1299
|
+
className: mr({
|
|
1300
|
+
fill: M !== void 0,
|
|
1301
|
+
className: te
|
|
1302
|
+
}),
|
|
1303
|
+
style: Xe,
|
|
1304
|
+
children: [
|
|
1305
|
+
/* @__PURE__ */ H("div", { className: "ds:mb-[var(--spacing-xs)] ds:flex ds:justify-end", children: /* @__PURE__ */ H(
|
|
1306
|
+
It,
|
|
1307
|
+
{
|
|
1308
|
+
role: "radiogroup",
|
|
1309
|
+
mode: "toggle-single",
|
|
1310
|
+
size: "sm",
|
|
1311
|
+
"aria-label": C("chart.typeSwitcher.label"),
|
|
1312
|
+
value: L,
|
|
1313
|
+
onValueChange: (v) => {
|
|
1314
|
+
v !== L && (T(v), U == null || U(v));
|
|
1315
|
+
},
|
|
1316
|
+
children: E.map((v) => /* @__PURE__ */ H(
|
|
1317
|
+
Mt,
|
|
1318
|
+
{
|
|
1319
|
+
value: v,
|
|
1320
|
+
type: "button",
|
|
1321
|
+
icon: vr[v],
|
|
1322
|
+
"aria-label": C(br[v])
|
|
1323
|
+
},
|
|
1324
|
+
v
|
|
1325
|
+
))
|
|
1326
|
+
}
|
|
1327
|
+
) }),
|
|
1328
|
+
Ye
|
|
1329
|
+
]
|
|
1330
|
+
}
|
|
1331
|
+
) : Ye;
|
|
1332
|
+
}
|
|
1333
|
+
);
|
|
1334
|
+
Or.displayName = "Chart";
|
|
1335
|
+
export {
|
|
1336
|
+
Or as C,
|
|
1337
|
+
dr as a,
|
|
1338
|
+
ur as c
|
|
1339
|
+
};
|
|
1340
|
+
//# sourceMappingURL=chart-CwmyCuWe.js.map
|