@alfadocs/ui-kit-debug 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/chart-CwmyCuWe.js.map +1 -0
- package/dist/_chunks/heatmap-C1TeC7wT.js +3650 -0
- package/dist/_chunks/heatmap-C1TeC7wT.js.map +1 -0
- package/dist/agent-catalog.json +1 -1
- package/dist/components/_shared/use-apex-radial-centre.d.ts +7 -4
- package/dist/components/_shared/use-apex-radial-centre.d.ts.map +1 -1
- package/dist/components/chart/index.js +1 -1
- package/dist/components/heatmap/heatmap-context.d.ts +3 -0
- package/dist/components/heatmap/heatmap-context.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap-disclosure.d.ts +67 -0
- package/dist/components/heatmap/heatmap-disclosure.d.ts.map +1 -0
- package/dist/components/heatmap/heatmap-format.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap-grid.d.ts +1 -1
- package/dist/components/heatmap/heatmap-grid.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap-legend.d.ts +5 -2
- package/dist/components/heatmap/heatmap-legend.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap-model.d.ts +107 -15
- package/dist/components/heatmap/heatmap-model.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap-table-view.d.ts +3 -2
- package/dist/components/heatmap/heatmap-table-view.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap.d.ts +33 -7
- package/dist/components/heatmap/heatmap.d.ts.map +1 -1
- package/dist/components/heatmap/index.d.ts +1 -1
- package/dist/components/heatmap/index.d.ts.map +1 -1
- package/dist/components/heatmap/index.js +1 -1
- package/dist/i18n/locales/ar.d.ts +2 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +2 -0
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +2 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +2 -0
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +2 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +2 -0
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +2 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +2 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +2 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +2 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +2 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +2 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +2 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +2 -0
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +2 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +2 -0
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +2 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +2 -0
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +2 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +2 -0
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +2 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +2 -0
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +2 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +2 -0
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +2 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +2 -0
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +2 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +2 -0
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +2 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +2 -0
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +2 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +2 -0
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +2 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +2 -0
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +2 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +2 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- 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/chart-CIzXxNeM.js.map +0 -1
- package/dist/_chunks/heatmap-BxRHM8Et.js +0 -2865
- package/dist/_chunks/heatmap-BxRHM8Et.js.map +0 -1
|
@@ -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
|