@actionexec/dashboards 0.19.0 → 0.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ColorPaletteSelector-nBO_fbbj.js.map +1 -1
- package/dist/hooks/useCurrentPeriod.d.ts +12 -2
- package/dist/hooks/useStatementData.d.ts +4 -0
- package/dist/index.js +589 -510
- package/dist/index.js.map +1 -1
- package/dist/internals.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { M as B, f as
|
|
4
|
-
import { E as
|
|
5
|
-
import { LineChart as tt, Line as rt, AreaChart as nt, Area as at, BarChart as Se, Bar as
|
|
1
|
+
import { jsxs as _, jsx as a, Fragment as V } from "react/jsx-runtime";
|
|
2
|
+
import { useState as E, useRef as R, useEffect as O, useCallback as P, useMemo as F, memo as Fe } from "react";
|
|
3
|
+
import { M as B, f as Oe, a as Ie, c as ae, b as se, d as We, e as be, i as le, g as D, p as ze, h as J, j as ve, k as we, l as Y, m as De, r as He, D as ie, n as Ve, o as je, S as ye, C as Ge, q as Ke, s as Ne, t as Ye, u as Ue, v as Be, G as Xe, w as oe, x as qe, y as Qe, z as Ze, A as Je, B as et } from "./ColorPaletteSelector-nBO_fbbj.js";
|
|
4
|
+
import { E as Vr } from "./ColorPaletteSelector-nBO_fbbj.js";
|
|
5
|
+
import { LineChart as tt, Line as rt, AreaChart as nt, Area as at, BarChart as Se, Bar as X, CartesianGrid as ke, XAxis as Ce, YAxis as Re, Tooltip as q, Legend as st, Cell as ce, PieChart as lt, Pie as it } from "recharts";
|
|
6
6
|
function H(e, t = {}) {
|
|
7
7
|
const n = {};
|
|
8
8
|
for (const [r, s] of Object.entries(e))
|
|
@@ -33,58 +33,58 @@ function xe(e) {
|
|
|
33
33
|
}
|
|
34
34
|
const ot = 300;
|
|
35
35
|
function ct(e) {
|
|
36
|
-
const [t, n] =
|
|
37
|
-
|
|
38
|
-
let
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
}).catch((
|
|
42
|
-
|
|
36
|
+
const [t, n] = E(null), [r, s] = E(null), [l, i] = E({}), [o, u] = E({}), [c, d] = E(null), [m, h] = E(!0), [p, v] = E(null), f = R(), N = R(!1), w = R(null), y = R(!1);
|
|
37
|
+
O(() => {
|
|
38
|
+
let g = !1;
|
|
39
|
+
return N.current = !1, w.current = null, y.current = !1, Oe(e).then((b) => {
|
|
40
|
+
g || n(b);
|
|
41
|
+
}).catch((b) => {
|
|
42
|
+
g || v(b.message);
|
|
43
43
|
}), () => {
|
|
44
|
-
|
|
44
|
+
g = !0;
|
|
45
45
|
};
|
|
46
|
-
}, [e]),
|
|
46
|
+
}, [e]), O(() => {
|
|
47
47
|
if (!t) return;
|
|
48
48
|
if (t.widgets.length === 0) {
|
|
49
|
-
|
|
49
|
+
h(!1);
|
|
50
50
|
return;
|
|
51
51
|
}
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
54
|
-
|
|
55
|
-
const
|
|
56
|
-
return
|
|
57
|
-
|
|
58
|
-
w.current =
|
|
59
|
-
const
|
|
60
|
-
return $e(
|
|
61
|
-
})),
|
|
62
|
-
}).catch((
|
|
63
|
-
},
|
|
64
|
-
|
|
52
|
+
const g = H(l, o), b = j(g);
|
|
53
|
+
if (b === w.current) return;
|
|
54
|
+
f.current && clearTimeout(f.current);
|
|
55
|
+
const S = y.current ? ot : 0;
|
|
56
|
+
return f.current = setTimeout(() => {
|
|
57
|
+
h(!0), Ie(e, g).then((x) => {
|
|
58
|
+
w.current = b, y.current = !0, s(x), !N.current && x.applied && (N.current = !0, i((C) => {
|
|
59
|
+
const k = { ...xe(x.applied), ...C };
|
|
60
|
+
return $e(k, C) ? C : (w.current = j(H(k, o)), k);
|
|
61
|
+
})), v(null);
|
|
62
|
+
}).catch((x) => v(x.message)).finally(() => h(!1));
|
|
63
|
+
}, S), () => {
|
|
64
|
+
f.current && clearTimeout(f.current);
|
|
65
65
|
};
|
|
66
66
|
}, [e, t, l, o]);
|
|
67
|
-
const
|
|
68
|
-
i((
|
|
69
|
-
}, []),
|
|
70
|
-
|
|
71
|
-
}, []),
|
|
72
|
-
|
|
73
|
-
}, []),
|
|
67
|
+
const T = P((g, b) => {
|
|
68
|
+
i((S) => ({ ...S, [g]: b }));
|
|
69
|
+
}, []), A = P((g, b) => {
|
|
70
|
+
u((S) => ({ ...S, [g]: b }));
|
|
71
|
+
}, []), M = P((g) => {
|
|
72
|
+
d(g);
|
|
73
|
+
}, []), $ = F(
|
|
74
74
|
() => c ?? (t == null ? void 0 : t.palette) ?? [],
|
|
75
75
|
[c, t]
|
|
76
76
|
);
|
|
77
77
|
return {
|
|
78
78
|
layout: t,
|
|
79
79
|
renderData: r,
|
|
80
|
-
loading:
|
|
80
|
+
loading: m,
|
|
81
81
|
error: p,
|
|
82
82
|
filters: l,
|
|
83
83
|
variables: o,
|
|
84
|
-
palette:
|
|
85
|
-
setFilter:
|
|
86
|
-
setVariable:
|
|
87
|
-
setPalette:
|
|
84
|
+
palette: $,
|
|
85
|
+
setFilter: T,
|
|
86
|
+
setVariable: A,
|
|
87
|
+
setPalette: M
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
const dt = (e) => {
|
|
@@ -110,64 +110,64 @@ function ht(e) {
|
|
|
110
110
|
function ft(e) {
|
|
111
111
|
const t = R(e);
|
|
112
112
|
t.current = e;
|
|
113
|
-
const n = R(null), r = R(null), s = R(null), l = R(null), i = R(null), o = R(0),
|
|
114
|
-
const
|
|
115
|
-
if (
|
|
116
|
-
const
|
|
117
|
-
!
|
|
118
|
-
`[@actionexec/dashboards] O dashboard esta sendo cortado: o container precisa de ${Math.ceil(
|
|
113
|
+
const n = R(null), r = R(null), s = R(null), l = R(null), i = R(null), o = R(0), u = R(0), c = R(!1), d = R(!1), m = R(-1), [h, p] = E(!1), v = P((g) => {
|
|
114
|
+
const b = r.current;
|
|
115
|
+
if (d.current || t.current.silenceWarnings || !b) return;
|
|
116
|
+
const S = ht(b);
|
|
117
|
+
!S || S.clientHeight >= g.gridHeight || (d.current = !0, console.warn(
|
|
118
|
+
`[@actionexec/dashboards] O dashboard esta sendo cortado: o container precisa de ${Math.ceil(g.gridHeight)}px de altura, mas o ancestral com overflow oculto tem ${S.clientHeight}px. A altura do dashboard varia com a largura — use a prop onGeometryChange para dimensionar o container, ou troque o overflow para auto. Passe silenceWarnings para desligar este aviso.`
|
|
119
119
|
));
|
|
120
|
-
}, []),
|
|
120
|
+
}, []), f = P(() => {
|
|
121
121
|
var L, I;
|
|
122
122
|
if (!n.current) return;
|
|
123
|
-
const { columns:
|
|
124
|
-
containerWidth:
|
|
125
|
-
cellWidth:
|
|
126
|
-
cellHeight: ae(
|
|
127
|
-
gridHeight:
|
|
123
|
+
const { columns: g, cellAspect: b } = t.current, S = o.current, x = se(S, g), C = {
|
|
124
|
+
containerWidth: S,
|
|
125
|
+
cellWidth: x,
|
|
126
|
+
cellHeight: ae(x, b),
|
|
127
|
+
gridHeight: u.current,
|
|
128
128
|
stacked: c.current
|
|
129
|
-
},
|
|
130
|
-
|
|
131
|
-
}, [
|
|
132
|
-
const
|
|
133
|
-
if (!
|
|
134
|
-
const
|
|
135
|
-
if (!
|
|
136
|
-
|
|
137
|
-
const { columns:
|
|
138
|
-
|
|
139
|
-
const L = mt(
|
|
129
|
+
}, k = i.current;
|
|
130
|
+
k && k.containerWidth === C.containerWidth && k.cellWidth === C.cellWidth && k.cellHeight === C.cellHeight && k.gridHeight === C.gridHeight && k.stacked === C.stacked || (i.current = C, (I = (L = t.current).onGeometryChange) == null || I.call(L, C), v(C));
|
|
131
|
+
}, [v]), N = P((g = !1) => {
|
|
132
|
+
const b = n.current;
|
|
133
|
+
if (!b) return;
|
|
134
|
+
const S = o.current;
|
|
135
|
+
if (!g && S === m.current) return;
|
|
136
|
+
m.current = S;
|
|
137
|
+
const { columns: x, cellAspect: C, stackBelow: k } = t.current, z = se(S, x);
|
|
138
|
+
b.style.setProperty("--dash-cell-h", `${ae(z, C)}px`);
|
|
139
|
+
const L = mt(k, x, C), I = L > 0 && S > 0 && S < L;
|
|
140
140
|
I !== c.current && (c.current = I, p(I));
|
|
141
|
-
}, []), w =
|
|
141
|
+
}, []), w = P(() => {
|
|
142
142
|
l.current !== null && (cancelAnimationFrame(l.current), l.current = null);
|
|
143
|
-
}, []), y =
|
|
143
|
+
}, []), y = P(() => {
|
|
144
144
|
l.current === null && (l.current = requestAnimationFrame(() => {
|
|
145
|
-
l.current = null,
|
|
145
|
+
l.current = null, N(), f();
|
|
146
146
|
}));
|
|
147
|
-
}, [
|
|
148
|
-
for (const
|
|
149
|
-
|
|
147
|
+
}, [N, f]), T = P((g) => {
|
|
148
|
+
for (const b of g)
|
|
149
|
+
b.target === n.current ? o.current = Math.round(dt(b)) : b.target === r.current && (u.current = ut(b));
|
|
150
150
|
y();
|
|
151
|
-
}, [y]),
|
|
152
|
-
const
|
|
153
|
-
n.current && (
|
|
154
|
-
}, [
|
|
155
|
-
const
|
|
156
|
-
if (r.current && (
|
|
157
|
-
|
|
151
|
+
}, [y]), A = P(() => s.current ? s.current : typeof ResizeObserver > "u" ? null : (s.current = new ResizeObserver(T), s.current), [T]), M = P((g) => {
|
|
152
|
+
const b = A();
|
|
153
|
+
n.current && (b == null || b.unobserve(n.current)), n.current = g, g && (b == null || b.observe(g), o.current = Math.round(g.getBoundingClientRect().width), N(!0), y());
|
|
154
|
+
}, [N, A, y]), $ = P((g) => {
|
|
155
|
+
const b = A();
|
|
156
|
+
if (r.current && (b == null || b.unobserve(r.current)), r.current = g, !g) {
|
|
157
|
+
u.current = 0;
|
|
158
158
|
return;
|
|
159
159
|
}
|
|
160
|
-
|
|
161
|
-
}, [
|
|
162
|
-
return
|
|
163
|
-
const
|
|
164
|
-
return n.current && (
|
|
165
|
-
var
|
|
166
|
-
(
|
|
160
|
+
b == null || b.observe(g), u.current = g.getBoundingClientRect().height, y();
|
|
161
|
+
}, [A, y]);
|
|
162
|
+
return O(() => {
|
|
163
|
+
const g = A();
|
|
164
|
+
return n.current && (g == null || g.observe(n.current)), r.current && (g == null || g.observe(r.current)), () => {
|
|
165
|
+
var b;
|
|
166
|
+
(b = s.current) == null || b.disconnect(), s.current = null, w();
|
|
167
167
|
};
|
|
168
|
-
}, [
|
|
169
|
-
n.current && (
|
|
170
|
-
}, [e.columns, e.cellAspect, e.stackBelow,
|
|
168
|
+
}, [A, w]), O(() => {
|
|
169
|
+
n.current && (N(!0), y());
|
|
170
|
+
}, [e.columns, e.cellAspect, e.stackBelow, N, y]), { rootRef: M, gridRef: $, stacked: h };
|
|
171
171
|
}
|
|
172
172
|
const pt = {
|
|
173
173
|
empty: "Sem dados",
|
|
@@ -179,7 +179,7 @@ function ee({ kind: e, message: t }) {
|
|
|
179
179
|
return /* @__PURE__ */ a("div", { className: `widget__state widget__state--${e}`, role: e === "error" ? "alert" : void 0, children: t || pt[e] });
|
|
180
180
|
}
|
|
181
181
|
function W({ name: e, title: t, state: n, stateMessage: r, toolbar: s, children: l }) {
|
|
182
|
-
return /* @__PURE__ */
|
|
182
|
+
return /* @__PURE__ */ _("div", { className: `widget widget-${e}`, children: [
|
|
183
183
|
t && /* @__PURE__ */ a("span", { className: "widget__title", children: t }),
|
|
184
184
|
s,
|
|
185
185
|
n ? /* @__PURE__ */ a(ee, { kind: n, message: r }) : l
|
|
@@ -193,8 +193,8 @@ function Te(e) {
|
|
|
193
193
|
}
|
|
194
194
|
function gt({ comparison: e, primary: t }) {
|
|
195
195
|
const n = e.sentiment ?? "neutral", r = _t[e.trend ?? ""] ?? "";
|
|
196
|
-
return /* @__PURE__ */
|
|
197
|
-
/* @__PURE__ */
|
|
196
|
+
return /* @__PURE__ */ _("div", { className: `widget-kpi__trend widget-kpi__trend--${n}${t ? "" : " widget-kpi__trend--muted"}`, children: [
|
|
197
|
+
/* @__PURE__ */ _("span", { className: "widget-kpi__variance", children: [
|
|
198
198
|
r,
|
|
199
199
|
" ",
|
|
200
200
|
e.formatted
|
|
@@ -204,7 +204,7 @@ function gt({ comparison: e, primary: t }) {
|
|
|
204
204
|
}
|
|
205
205
|
function bt({ data: e, label: t }) {
|
|
206
206
|
const n = t || String(e.label || ""), r = String(e.formatted || "-"), s = Te(e.comparisons);
|
|
207
|
-
return /* @__PURE__ */
|
|
207
|
+
return /* @__PURE__ */ _(W, { name: "kpi", title: n, children: [
|
|
208
208
|
/* @__PURE__ */ a("span", { className: "widget-kpi__value", children: r }),
|
|
209
209
|
s.map((l, i) => /* @__PURE__ */ a(gt, { comparison: l, primary: i === 0 }, l.id || i))
|
|
210
210
|
] });
|
|
@@ -224,38 +224,38 @@ function de(e, t, n, r) {
|
|
|
224
224
|
return `M ${e - n} ${t} A ${n} ${n} 0 0 1 ${e - n * Math.cos(s)} ${t - n * Math.sin(s)}`;
|
|
225
225
|
}
|
|
226
226
|
function yt({ data: e, palette: t, label: n }) {
|
|
227
|
-
const r = n || String(e.label || ""), s = typeof e.ratio == "number" ? e.ratio : 0, l = typeof e.format == "string" ? e.format : void 0, i = String(e.value_formatted || be(e.value, l)), o = String(e.formatted || "-"),
|
|
228
|
-
return /* @__PURE__ */ a(W, { name: "gauge", title: r, children: /* @__PURE__ */
|
|
229
|
-
/* @__PURE__ */
|
|
230
|
-
/* @__PURE__ */ a("path", { d: de(w, y,
|
|
231
|
-
|
|
227
|
+
const r = n || String(e.label || ""), s = typeof e.ratio == "number" ? e.ratio : 0, l = typeof e.format == "string" ? e.format : void 0, i = String(e.value_formatted || be(e.value, l)), o = String(e.formatted || "-"), u = Te(e.comparisons), [c, ...d] = u, m = String((c == null ? void 0 : c.baseline_formatted) || "-"), h = (c == null ? void 0 : c.label) ?? null, p = s >= 1, v = Math.min(Math.max(s, 0), 1), f = wt.find(([M]) => s >= M), N = (f == null ? void 0 : f[1]) || t[0] || "var(--color-info)", w = 50, y = 50, T = 44, A = 10;
|
|
228
|
+
return /* @__PURE__ */ a(W, { name: "gauge", title: r, children: /* @__PURE__ */ _("div", { className: "widget-gauge__chart", children: [
|
|
229
|
+
/* @__PURE__ */ _("svg", { viewBox: "0 0 100 56", preserveAspectRatio: "xMidYMax meet", role: "img", "aria-label": `${o} da meta`, children: [
|
|
230
|
+
/* @__PURE__ */ a("path", { d: de(w, y, T, 1), fill: "none", stroke: vt, strokeWidth: A, strokeLinecap: "butt" }),
|
|
231
|
+
v > 0 && /* @__PURE__ */ a("path", { d: de(w, y, T, v), fill: "none", stroke: N, strokeWidth: A, strokeLinecap: "butt" })
|
|
232
232
|
] }),
|
|
233
|
-
/* @__PURE__ */
|
|
233
|
+
/* @__PURE__ */ _("div", { className: "widget-gauge__center", children: [
|
|
234
234
|
/* @__PURE__ */ a("span", { className: "widget-gauge__percent", children: o }),
|
|
235
|
-
/* @__PURE__ */
|
|
235
|
+
/* @__PURE__ */ _("span", { className: "widget-gauge__comparison", children: [
|
|
236
236
|
i,
|
|
237
237
|
" / ",
|
|
238
|
-
|
|
238
|
+
m
|
|
239
239
|
] }),
|
|
240
|
-
p && /* @__PURE__ */ a("span", { className: "widget-gauge__badge", children:
|
|
241
|
-
!p &&
|
|
242
|
-
|
|
243
|
-
|
|
240
|
+
p && /* @__PURE__ */ a("span", { className: "widget-gauge__badge", children: h || "Meta batida" }),
|
|
241
|
+
!p && h && /* @__PURE__ */ a("span", { className: "widget-gauge__comparison", children: h }),
|
|
242
|
+
d.map((M, $) => /* @__PURE__ */ _("span", { className: "widget-gauge__comparison", children: [
|
|
243
|
+
M.formatted,
|
|
244
244
|
" ",
|
|
245
|
-
|
|
246
|
-
] },
|
|
245
|
+
M.label
|
|
246
|
+
] }, M.id || $))
|
|
247
247
|
] })
|
|
248
248
|
] }) });
|
|
249
249
|
}
|
|
250
250
|
function te(e) {
|
|
251
|
-
const [t, n] =
|
|
252
|
-
return
|
|
251
|
+
const [t, n] = E({ width: 0, height: 0 });
|
|
252
|
+
return O(() => {
|
|
253
253
|
const r = e.current;
|
|
254
254
|
if (!r) return;
|
|
255
255
|
const s = new ResizeObserver(([l]) => {
|
|
256
256
|
const { width: i, height: o } = l.contentRect;
|
|
257
257
|
n(
|
|
258
|
-
(
|
|
258
|
+
(u) => u.width !== Math.floor(i) || u.height !== Math.floor(o) ? { width: Math.floor(i), height: Math.floor(o) } : u
|
|
259
259
|
);
|
|
260
260
|
});
|
|
261
261
|
return s.observe(r), () => s.disconnect();
|
|
@@ -276,12 +276,12 @@ function Ct(e, t) {
|
|
|
276
276
|
return typeof r == "string" && r ? r : String(e ?? "");
|
|
277
277
|
}
|
|
278
278
|
function U({ Chart: e, chartData: t, xKey: n, series: r, palette: s, renderSeries: l, width: i, height: o }) {
|
|
279
|
-
return /* @__PURE__ */
|
|
279
|
+
return /* @__PURE__ */ _(e, { data: t, width: i, height: o, children: [
|
|
280
280
|
/* @__PURE__ */ a(ke, { strokeDasharray: "3 3", stroke: Nt }),
|
|
281
281
|
/* @__PURE__ */ a(Ce, { dataKey: n, tick: ue }),
|
|
282
282
|
/* @__PURE__ */ a(Re, { tick: ue }),
|
|
283
283
|
/* @__PURE__ */ a(
|
|
284
|
-
|
|
284
|
+
q,
|
|
285
285
|
{
|
|
286
286
|
contentStyle: St,
|
|
287
287
|
labelStyle: kt,
|
|
@@ -290,47 +290,47 @@ function U({ Chart: e, chartData: t, xKey: n, series: r, palette: s, renderSerie
|
|
|
290
290
|
}
|
|
291
291
|
),
|
|
292
292
|
r.length > 1 && /* @__PURE__ */ a(st, {}),
|
|
293
|
-
r.map((
|
|
293
|
+
r.map((u, c) => l(u, s[c % s.length], c))
|
|
294
294
|
] });
|
|
295
295
|
}
|
|
296
296
|
function Rt({ data: e, palette: t, label: n }) {
|
|
297
|
-
const r = String(e.chartType || "bar"), s = n || String(e.label || ""), l = String(e.xKey || "label"), i = e.series || [], o = e.data || [],
|
|
298
|
-
if (c <= 0 ||
|
|
299
|
-
const
|
|
300
|
-
return r === "line" ? /* @__PURE__ */ a(U, { ...
|
|
297
|
+
const r = String(e.chartType || "bar"), s = n || String(e.label || ""), l = String(e.xKey || "label"), i = e.series || [], o = e.data || [], u = R(null), { width: c, height: d } = te(u), m = () => {
|
|
298
|
+
if (c <= 0 || d <= 0) return null;
|
|
299
|
+
const h = { chartData: o, xKey: l, series: i, palette: t, width: c, height: d };
|
|
300
|
+
return r === "line" ? /* @__PURE__ */ a(U, { ...h, Chart: tt, renderSeries: (p, v) => /* @__PURE__ */ a(
|
|
301
301
|
rt,
|
|
302
302
|
{
|
|
303
303
|
type: "monotone",
|
|
304
304
|
dataKey: p.key,
|
|
305
305
|
name: p.label,
|
|
306
|
-
stroke:
|
|
306
|
+
stroke: v,
|
|
307
307
|
strokeWidth: 2,
|
|
308
308
|
dot: o.length <= 31
|
|
309
309
|
},
|
|
310
310
|
p.key
|
|
311
|
-
) }) : r === "area" ? /* @__PURE__ */ a(U, { ...
|
|
311
|
+
) }) : r === "area" ? /* @__PURE__ */ a(U, { ...h, Chart: nt, renderSeries: (p, v) => /* @__PURE__ */ a(
|
|
312
312
|
at,
|
|
313
313
|
{
|
|
314
314
|
type: "monotone",
|
|
315
315
|
dataKey: p.key,
|
|
316
316
|
name: p.label,
|
|
317
|
-
fill:
|
|
318
|
-
stroke:
|
|
317
|
+
fill: v,
|
|
318
|
+
stroke: v,
|
|
319
319
|
fillOpacity: 0.3
|
|
320
320
|
},
|
|
321
321
|
p.key
|
|
322
|
-
) }) : /* @__PURE__ */ a(U, { ...
|
|
323
|
-
|
|
322
|
+
) }) : /* @__PURE__ */ a(U, { ...h, Chart: Se, renderSeries: (p, v) => /* @__PURE__ */ a(
|
|
323
|
+
X,
|
|
324
324
|
{
|
|
325
325
|
dataKey: p.key,
|
|
326
326
|
name: p.label,
|
|
327
|
-
fill:
|
|
327
|
+
fill: v,
|
|
328
328
|
radius: [3, 3, 0, 0]
|
|
329
329
|
},
|
|
330
330
|
p.key
|
|
331
331
|
) });
|
|
332
332
|
};
|
|
333
|
-
return /* @__PURE__ */ a(W, { name: "chart", title: s, children: /* @__PURE__ */ a("div", { ref:
|
|
333
|
+
return /* @__PURE__ */ a(W, { name: "chart", title: s, children: /* @__PURE__ */ a("div", { ref: u, className: "widget-chart__container", children: o.length === 0 ? /* @__PURE__ */ a(ee, { kind: "empty" }) : m() }) });
|
|
334
334
|
}
|
|
335
335
|
const me = { fontSize: 10, fill: "var(--text-muted)" }, $t = "var(--bg-elevated)", xt = { fill: "var(--bg-paper)", opacity: 0.3 };
|
|
336
336
|
function Tt(e) {
|
|
@@ -339,20 +339,20 @@ function Tt(e) {
|
|
|
339
339
|
function he({ active: e, payload: t }) {
|
|
340
340
|
var r;
|
|
341
341
|
const n = e ? (r = t == null ? void 0 : t[0]) == null ? void 0 : r.payload : void 0;
|
|
342
|
-
return n ? /* @__PURE__ */
|
|
342
|
+
return n ? /* @__PURE__ */ _("div", { className: "widget-composition__tooltip", children: [
|
|
343
343
|
/* @__PURE__ */ a("span", { className: "widget-composition__tooltip-label", children: n.label }),
|
|
344
344
|
/* @__PURE__ */ a("span", { className: "widget-composition__tooltip-value", children: n.formatted })
|
|
345
345
|
] }) : null;
|
|
346
346
|
}
|
|
347
347
|
function Pt({ data: e, palette: t, label: n }) {
|
|
348
|
-
const r = n || String(e.label || ""), s = String(e.display || "pie"), l = e.data || [], i = typeof e.format == "string" ? e.format : void 0, o = R(null), { width:
|
|
348
|
+
const r = n || String(e.label || ""), s = String(e.display || "pie"), l = e.data || [], i = typeof e.format == "string" ? e.format : void 0, o = R(null), { width: u, height: c } = te(o), d = () => /* @__PURE__ */ _(Se, { data: l, width: u, height: c, children: [
|
|
349
349
|
/* @__PURE__ */ a(ke, { strokeDasharray: "3 3", stroke: $t }),
|
|
350
350
|
/* @__PURE__ */ a(Ce, { dataKey: "label", tick: me, interval: 0 }),
|
|
351
|
-
/* @__PURE__ */ a(Re, { tick: me, tickFormatter: (
|
|
352
|
-
/* @__PURE__ */ a(
|
|
353
|
-
/* @__PURE__ */ a(
|
|
354
|
-
/* @__PURE__ */ a(
|
|
355
|
-
] }),
|
|
351
|
+
/* @__PURE__ */ a(Re, { tick: me, tickFormatter: (h) => be(h, i) }),
|
|
352
|
+
/* @__PURE__ */ a(q, { content: /* @__PURE__ */ a(he, {}), cursor: xt }),
|
|
353
|
+
/* @__PURE__ */ a(X, { dataKey: "base", stackId: "bridge", fill: "none", fillOpacity: 0, isAnimationActive: !1 }),
|
|
354
|
+
/* @__PURE__ */ a(X, { dataKey: "span", stackId: "bridge", radius: [3, 3, 0, 0], children: l.map((h, p) => /* @__PURE__ */ a(ce, { fill: Tt(h) }, p)) })
|
|
355
|
+
] }), m = () => /* @__PURE__ */ _(lt, { width: u, height: c, children: [
|
|
356
356
|
/* @__PURE__ */ a(
|
|
357
357
|
it,
|
|
358
358
|
{
|
|
@@ -362,33 +362,33 @@ function Pt({ data: e, palette: t, label: n }) {
|
|
|
362
362
|
cx: "50%",
|
|
363
363
|
cy: "50%",
|
|
364
364
|
outerRadius: "75%",
|
|
365
|
-
label: ({ name:
|
|
365
|
+
label: ({ name: h, percent: p }) => `${h}: ${(p * 100).toFixed(0)}%`,
|
|
366
366
|
labelLine: !1,
|
|
367
|
-
children: l.map((
|
|
367
|
+
children: l.map((h, p) => /* @__PURE__ */ a(ce, { fill: t[p % t.length] }, p))
|
|
368
368
|
}
|
|
369
369
|
),
|
|
370
|
-
/* @__PURE__ */ a(
|
|
370
|
+
/* @__PURE__ */ a(q, { content: /* @__PURE__ */ a(he, {}) })
|
|
371
371
|
] });
|
|
372
|
-
return /* @__PURE__ */ a(W, { name: "composition", title: r, children: /* @__PURE__ */ a("div", { ref: o, className: "widget-composition__container", children: l.length === 0 ||
|
|
372
|
+
return /* @__PURE__ */ a(W, { name: "composition", title: r, children: /* @__PURE__ */ a("div", { ref: o, className: "widget-composition__container", children: l.length === 0 || u <= 0 || c <= 0 ? /* @__PURE__ */ a(ee, { kind: "empty" }) : s === "bridge" ? d() : m() }) });
|
|
373
373
|
}
|
|
374
374
|
function At(e, t) {
|
|
375
375
|
if (t !== "percentage") return "";
|
|
376
376
|
const n = Number(e);
|
|
377
377
|
return Number.isNaN(n) || n === 0 ? "" : n > 0 ? " widget-table__td--up" : " widget-table__td--down";
|
|
378
378
|
}
|
|
379
|
-
function
|
|
379
|
+
function Et(e, t, n, r) {
|
|
380
380
|
const s = (r == null ? void 0 : r.offsetHeight) ?? 0;
|
|
381
381
|
if (e === 0 || t <= 0 || s <= 0) return e;
|
|
382
382
|
const l = Math.floor((t - ((n == null ? void 0 : n.offsetHeight) ?? 0)) / s);
|
|
383
383
|
return Math.max(0, Math.min(e, l));
|
|
384
384
|
}
|
|
385
|
-
function
|
|
386
|
-
var
|
|
387
|
-
const n = e.columns || [], r = e.rows || [], s = e.overflow === "clip", l = e.indexColumn === !0, i = t || String(e.label || ""), o = R(null),
|
|
385
|
+
function Mt({ data: e, label: t }) {
|
|
386
|
+
var h;
|
|
387
|
+
const n = e.columns || [], r = e.rows || [], s = e.overflow === "clip", l = e.indexColumn === !0, i = t || String(e.label || ""), o = R(null), u = R(null), c = R(null), { height: d } = te(o), m = s ? r.slice(0, Et(
|
|
388
388
|
r.length,
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
((
|
|
389
|
+
d,
|
|
390
|
+
u.current,
|
|
391
|
+
((h = c.current) == null ? void 0 : h.firstElementChild) ?? null
|
|
392
392
|
)) : r;
|
|
393
393
|
return n.length === 0 ? /* @__PURE__ */ a(
|
|
394
394
|
W,
|
|
@@ -403,12 +403,12 @@ function Et({ data: e, label: t }) {
|
|
|
403
403
|
{
|
|
404
404
|
ref: o,
|
|
405
405
|
className: `widget-table__scroll${s ? " widget-table__scroll--clip" : ""}`,
|
|
406
|
-
children: /* @__PURE__ */
|
|
406
|
+
children: /* @__PURE__ */ _(
|
|
407
407
|
"table",
|
|
408
408
|
{
|
|
409
|
-
className: `widget-table__table${s &&
|
|
409
|
+
className: `widget-table__table${s && m.length < r.length ? "" : " widget-table__table--fill"}`,
|
|
410
410
|
children: [
|
|
411
|
-
/* @__PURE__ */ a("thead", { ref:
|
|
411
|
+
/* @__PURE__ */ a("thead", { ref: u, children: /* @__PURE__ */ _("tr", { children: [
|
|
412
412
|
l && /* @__PURE__ */ a("th", { className: "widget-table__th widget-table__th--index", children: "#" }),
|
|
413
413
|
n.map((p) => /* @__PURE__ */ a(
|
|
414
414
|
"th",
|
|
@@ -419,20 +419,20 @@ function Et({ data: e, label: t }) {
|
|
|
419
419
|
p.key
|
|
420
420
|
))
|
|
421
421
|
] }) }),
|
|
422
|
-
/* @__PURE__ */ a("tbody", { ref: c, children:
|
|
422
|
+
/* @__PURE__ */ a("tbody", { ref: c, children: m.length === 0 ? /* @__PURE__ */ a("tr", { children: /* @__PURE__ */ a(
|
|
423
423
|
"td",
|
|
424
424
|
{
|
|
425
425
|
className: "widget-table__td widget-table__td--placeholder",
|
|
426
426
|
colSpan: n.length + (l ? 1 : 0),
|
|
427
427
|
children: "Sem dados"
|
|
428
428
|
}
|
|
429
|
-
) }) :
|
|
430
|
-
l && /* @__PURE__ */ a("td", { className: "widget-table__td widget-table__td--index", children:
|
|
431
|
-
n.map((
|
|
432
|
-
const
|
|
433
|
-
return /* @__PURE__ */ a("td", { className: `widget-table__td${w}${At(
|
|
429
|
+
) }) : m.map((p, v) => /* @__PURE__ */ _("tr", { children: [
|
|
430
|
+
l && /* @__PURE__ */ a("td", { className: "widget-table__td widget-table__td--index", children: v + 1 }),
|
|
431
|
+
n.map((f) => {
|
|
432
|
+
const N = p[f.key], w = le(f.format) ? " widget-table__td--num" : "";
|
|
433
|
+
return /* @__PURE__ */ a("td", { className: `widget-table__td${w}${At(N, f.format)}`, children: D(N, f.format) }, f.key);
|
|
434
434
|
})
|
|
435
|
-
] },
|
|
435
|
+
] }, v)) })
|
|
436
436
|
]
|
|
437
437
|
}
|
|
438
438
|
)
|
|
@@ -440,7 +440,7 @@ function Et({ data: e, label: t }) {
|
|
|
440
440
|
) });
|
|
441
441
|
}
|
|
442
442
|
function Pe({ mode: e, value: t, dateBounds: n, rangeUnit: r, onChange: s }) {
|
|
443
|
-
return e === "yearly" ? /* @__PURE__ */ a(
|
|
443
|
+
return e === "yearly" ? /* @__PURE__ */ a(Ot, { value: t, dateBounds: n, onChange: s }) : e === "monthly" ? /* @__PURE__ */ a(It, { value: t, dateBounds: n, onChange: s }) : e === "weekly" ? /* @__PURE__ */ a(Wt, { value: t, dateBounds: n, onChange: s }) : r && r !== "day" ? /* @__PURE__ */ a(
|
|
444
444
|
Lt,
|
|
445
445
|
{
|
|
446
446
|
value: t,
|
|
@@ -448,37 +448,37 @@ function Pe({ mode: e, value: t, dateBounds: n, rangeUnit: r, onChange: s }) {
|
|
|
448
448
|
unit: r,
|
|
449
449
|
onChange: s
|
|
450
450
|
}
|
|
451
|
-
) : /* @__PURE__ */ a(
|
|
451
|
+
) : /* @__PURE__ */ a(Ft, { value: t, dateBounds: n, onChange: s });
|
|
452
452
|
}
|
|
453
453
|
function Lt({ value: e, dateBounds: t, unit: n, onChange: r }) {
|
|
454
454
|
const [s, l] = e ? e.split("|") : ["", ""], i = He(n, t), o = (c) => {
|
|
455
|
-
var
|
|
456
|
-
return ((
|
|
457
|
-
},
|
|
458
|
-
const
|
|
459
|
-
|
|
455
|
+
var d;
|
|
456
|
+
return ((d = i.find((m) => c >= m.start && c <= m.end)) == null ? void 0 : d.key) ?? "";
|
|
457
|
+
}, u = (c, d) => {
|
|
458
|
+
const m = i.find((h) => h.key === d);
|
|
459
|
+
m && r(c === "start" ? `${m.start}|${!l || l < m.end ? m.end : l}` : `${!s || s > m.start ? m.start : s}|${m.end}`);
|
|
460
460
|
};
|
|
461
|
-
return /* @__PURE__ */
|
|
462
|
-
/* @__PURE__ */
|
|
461
|
+
return /* @__PURE__ */ _("div", { className: "widget-filter__date-range widget-filter__date-range--period", children: [
|
|
462
|
+
/* @__PURE__ */ _(
|
|
463
463
|
"select",
|
|
464
464
|
{
|
|
465
465
|
className: "widget-filter__select",
|
|
466
466
|
"aria-label": "Período inicial",
|
|
467
467
|
value: o(s),
|
|
468
|
-
onChange: (c) =>
|
|
468
|
+
onChange: (c) => u("start", c.target.value),
|
|
469
469
|
children: [
|
|
470
470
|
!o(s) && /* @__PURE__ */ a("option", { value: "", children: "De..." }),
|
|
471
471
|
i.map((c) => /* @__PURE__ */ a("option", { value: c.key, children: c.label }, c.key))
|
|
472
472
|
]
|
|
473
473
|
}
|
|
474
474
|
),
|
|
475
|
-
/* @__PURE__ */
|
|
475
|
+
/* @__PURE__ */ _(
|
|
476
476
|
"select",
|
|
477
477
|
{
|
|
478
478
|
className: "widget-filter__select",
|
|
479
479
|
"aria-label": "Período final",
|
|
480
480
|
value: o(l),
|
|
481
|
-
onChange: (c) =>
|
|
481
|
+
onChange: (c) => u("end", c.target.value),
|
|
482
482
|
children: [
|
|
483
483
|
!o(l) && /* @__PURE__ */ a("option", { value: "", children: "Até..." }),
|
|
484
484
|
i.map((c) => /* @__PURE__ */ a("option", { value: c.key, children: c.label }, c.key))
|
|
@@ -487,9 +487,9 @@ function Lt({ value: e, dateBounds: t, unit: n, onChange: r }) {
|
|
|
487
487
|
)
|
|
488
488
|
] });
|
|
489
489
|
}
|
|
490
|
-
function
|
|
490
|
+
function Ft({ value: e, dateBounds: t, onChange: n }) {
|
|
491
491
|
const [r, s] = e ? e.split("|") : ["", ""];
|
|
492
|
-
return /* @__PURE__ */
|
|
492
|
+
return /* @__PURE__ */ _("div", { className: "widget-filter__date-range widget-filter__date-range--stacked", children: [
|
|
493
493
|
/* @__PURE__ */ a(
|
|
494
494
|
ie,
|
|
495
495
|
{
|
|
@@ -518,34 +518,34 @@ function Ot({ value: e, dateBounds: t, onChange: n }) {
|
|
|
518
518
|
)
|
|
519
519
|
] });
|
|
520
520
|
}
|
|
521
|
-
function
|
|
522
|
-
const [r] = e ? e.split("|") : [""], s = ze(r), l = /* @__PURE__ */ new Date(), i = (s == null ? void 0 : s.year) ?? l.getFullYear(), o = J(t),
|
|
523
|
-
const
|
|
524
|
-
n(`${
|
|
521
|
+
function Ot({ value: e, dateBounds: t, onChange: n }) {
|
|
522
|
+
const [r] = e ? e.split("|") : [""], s = ze(r), l = /* @__PURE__ */ new Date(), i = (s == null ? void 0 : s.year) ?? l.getFullYear(), o = J(t), u = (c) => {
|
|
523
|
+
const d = je(c);
|
|
524
|
+
n(`${d.start}|${d.end}`);
|
|
525
525
|
};
|
|
526
526
|
return /* @__PURE__ */ a("div", { className: "widget-filter__date-range widget-filter__date-range--year", children: /* @__PURE__ */ a(
|
|
527
527
|
"select",
|
|
528
528
|
{
|
|
529
529
|
className: "widget-filter__select",
|
|
530
530
|
value: i,
|
|
531
|
-
onChange: (c) =>
|
|
531
|
+
onChange: (c) => u(parseInt(c.target.value)),
|
|
532
532
|
children: o.map((c) => /* @__PURE__ */ a("option", { value: c, children: c }, c))
|
|
533
533
|
}
|
|
534
534
|
) });
|
|
535
535
|
}
|
|
536
536
|
function It({ value: e, dateBounds: t, onChange: n }) {
|
|
537
|
-
const [r] = e ? e.split("|") : [""], s = ve(r), l = /* @__PURE__ */ new Date(), i = (s == null ? void 0 : s.year) ?? l.getFullYear(), o = (s == null ? void 0 : s.month) ?? l.getMonth() + 1,
|
|
538
|
-
const
|
|
539
|
-
n(`${
|
|
537
|
+
const [r] = e ? e.split("|") : [""], s = ve(r), l = /* @__PURE__ */ new Date(), i = (s == null ? void 0 : s.year) ?? l.getFullYear(), o = (s == null ? void 0 : s.month) ?? l.getMonth() + 1, u = J(t), c = (d, m) => {
|
|
538
|
+
const h = Ve(d, m);
|
|
539
|
+
n(`${h.start}|${h.end}`);
|
|
540
540
|
};
|
|
541
|
-
return /* @__PURE__ */
|
|
541
|
+
return /* @__PURE__ */ _("div", { className: "widget-filter__date-range widget-filter__date-range--month", children: [
|
|
542
542
|
/* @__PURE__ */ a(
|
|
543
543
|
"select",
|
|
544
544
|
{
|
|
545
545
|
className: "widget-filter__select",
|
|
546
546
|
value: o,
|
|
547
|
-
onChange: (
|
|
548
|
-
children: we.map((
|
|
547
|
+
onChange: (d) => c(i, parseInt(d.target.value)),
|
|
548
|
+
children: we.map((d, m) => /* @__PURE__ */ a("option", { value: m + 1, children: d }, m + 1))
|
|
549
549
|
}
|
|
550
550
|
),
|
|
551
551
|
/* @__PURE__ */ a(
|
|
@@ -553,25 +553,25 @@ function It({ value: e, dateBounds: t, onChange: n }) {
|
|
|
553
553
|
{
|
|
554
554
|
className: "widget-filter__select",
|
|
555
555
|
value: i,
|
|
556
|
-
onChange: (
|
|
557
|
-
children:
|
|
556
|
+
onChange: (d) => c(parseInt(d.target.value), o),
|
|
557
|
+
children: u.map((d) => /* @__PURE__ */ a("option", { value: d, children: d }, d))
|
|
558
558
|
}
|
|
559
559
|
)
|
|
560
560
|
] });
|
|
561
561
|
}
|
|
562
562
|
function Wt({ value: e, dateBounds: t, onChange: n }) {
|
|
563
|
-
const [r] = e ? e.split("|") : [""], s = ve(r), l = /* @__PURE__ */ new Date(), i = (s == null ? void 0 : s.year) ?? l.getFullYear(), o = (s == null ? void 0 : s.month) ?? l.getMonth() + 1,
|
|
564
|
-
return /* @__PURE__ */
|
|
563
|
+
const [r] = e ? e.split("|") : [""], s = ve(r), l = /* @__PURE__ */ new Date(), i = (s == null ? void 0 : s.year) ?? l.getFullYear(), o = (s == null ? void 0 : s.month) ?? l.getMonth() + 1, u = J(t), c = Y(i, o), d = De(r, i, o) || 1;
|
|
564
|
+
return /* @__PURE__ */ _("div", { className: "widget-filter__date-range widget-filter__date-range--week", children: [
|
|
565
565
|
/* @__PURE__ */ a(
|
|
566
566
|
"select",
|
|
567
567
|
{
|
|
568
568
|
className: "widget-filter__select",
|
|
569
569
|
value: i,
|
|
570
|
-
onChange: (
|
|
571
|
-
const
|
|
572
|
-
|
|
570
|
+
onChange: (m) => {
|
|
571
|
+
const h = parseInt(m.target.value), v = Y(h, o)[0];
|
|
572
|
+
v && n(`${v.start}|${v.end}`);
|
|
573
573
|
},
|
|
574
|
-
children:
|
|
574
|
+
children: u.map((m) => /* @__PURE__ */ a("option", { value: m, children: m }, m))
|
|
575
575
|
}
|
|
576
576
|
),
|
|
577
577
|
/* @__PURE__ */ a(
|
|
@@ -579,30 +579,30 @@ function Wt({ value: e, dateBounds: t, onChange: n }) {
|
|
|
579
579
|
{
|
|
580
580
|
className: "widget-filter__select",
|
|
581
581
|
value: o,
|
|
582
|
-
onChange: (
|
|
583
|
-
const
|
|
584
|
-
|
|
582
|
+
onChange: (m) => {
|
|
583
|
+
const h = parseInt(m.target.value), v = Y(i, h)[0];
|
|
584
|
+
v && n(`${v.start}|${v.end}`);
|
|
585
585
|
},
|
|
586
|
-
children: we.map((
|
|
586
|
+
children: we.map((m, h) => /* @__PURE__ */ a("option", { value: h + 1, children: m }, h + 1))
|
|
587
587
|
}
|
|
588
588
|
),
|
|
589
589
|
/* @__PURE__ */ a(
|
|
590
590
|
"select",
|
|
591
591
|
{
|
|
592
592
|
className: "widget-filter__select",
|
|
593
|
-
value:
|
|
594
|
-
onChange: (
|
|
595
|
-
const
|
|
596
|
-
|
|
593
|
+
value: d,
|
|
594
|
+
onChange: (m) => {
|
|
595
|
+
const h = c[parseInt(m.target.value) - 1];
|
|
596
|
+
h && n(`${h.start}|${h.end}`);
|
|
597
597
|
},
|
|
598
|
-
children: c.map((
|
|
598
|
+
children: c.map((m) => /* @__PURE__ */ a("option", { value: m.index, children: m.label }, m.index))
|
|
599
599
|
}
|
|
600
600
|
)
|
|
601
601
|
] });
|
|
602
602
|
}
|
|
603
603
|
function zt({ config: e, value: t, options: n = [], dateBounds: r, onChange: s }) {
|
|
604
604
|
const l = e.filterType || "select", i = e.label || "Filtro", o = e.dateFilterMode || "range";
|
|
605
|
-
return /* @__PURE__ */
|
|
605
|
+
return /* @__PURE__ */ _("div", { className: "widget-filter", children: [
|
|
606
606
|
/* @__PURE__ */ a("label", { className: "widget-filter__label", children: i }),
|
|
607
607
|
l === "date_range" ? /* @__PURE__ */ a(
|
|
608
608
|
Pe,
|
|
@@ -637,10 +637,10 @@ function Dt({ value: e, options: t, multi: n, searchable: r, onChange: s }) {
|
|
|
637
637
|
);
|
|
638
638
|
if (n) {
|
|
639
639
|
const l = e ? e.split(B) : [], i = (o) => {
|
|
640
|
-
const
|
|
641
|
-
s(
|
|
640
|
+
const u = l.includes(o) ? l.filter((c) => c !== o) : [...l, o];
|
|
641
|
+
s(u.join(B));
|
|
642
642
|
};
|
|
643
|
-
return /* @__PURE__ */
|
|
643
|
+
return /* @__PURE__ */ _("div", { className: "widget-filter__multi", children: [
|
|
644
644
|
l.length > 0 && /* @__PURE__ */ a(
|
|
645
645
|
"button",
|
|
646
646
|
{
|
|
@@ -650,7 +650,7 @@ function Dt({ value: e, options: t, multi: n, searchable: r, onChange: s }) {
|
|
|
650
650
|
children: "Limpar filtro"
|
|
651
651
|
}
|
|
652
652
|
),
|
|
653
|
-
t.map((o) => /* @__PURE__ */
|
|
653
|
+
t.map((o) => /* @__PURE__ */ _("label", { className: "widget-filter__multi-option", children: [
|
|
654
654
|
/* @__PURE__ */ a(
|
|
655
655
|
"input",
|
|
656
656
|
{
|
|
@@ -663,7 +663,7 @@ function Dt({ value: e, options: t, multi: n, searchable: r, onChange: s }) {
|
|
|
663
663
|
] }, o))
|
|
664
664
|
] });
|
|
665
665
|
}
|
|
666
|
-
return /* @__PURE__ */
|
|
666
|
+
return /* @__PURE__ */ _(
|
|
667
667
|
"select",
|
|
668
668
|
{
|
|
669
669
|
className: "widget-filter__select",
|
|
@@ -682,9 +682,9 @@ const Ht = {
|
|
|
682
682
|
};
|
|
683
683
|
function Vt({ config: e, value: t, onChange: n }) {
|
|
684
684
|
const r = e.label || "Variavel", s = e.locked || !1, l = e.variableFormat || "number", i = Ht[l] || "";
|
|
685
|
-
return /* @__PURE__ */
|
|
685
|
+
return /* @__PURE__ */ _("div", { className: `widget-variable ${s ? "widget-variable--locked" : ""}`, children: [
|
|
686
686
|
/* @__PURE__ */ a("label", { className: "widget-variable__label", children: r }),
|
|
687
|
-
/* @__PURE__ */
|
|
687
|
+
/* @__PURE__ */ _("div", { className: "widget-variable__input-wrapper", children: [
|
|
688
688
|
/* @__PURE__ */ a(
|
|
689
689
|
"input",
|
|
690
690
|
{
|
|
@@ -703,7 +703,7 @@ function Vt({ config: e, value: t, onChange: n }) {
|
|
|
703
703
|
}
|
|
704
704
|
function jt({ config: e, palette: t, onChange: n }) {
|
|
705
705
|
const r = e.label || "Cores", s = e.locked || !1;
|
|
706
|
-
return /* @__PURE__ */
|
|
706
|
+
return /* @__PURE__ */ _("div", { className: `widget-palette ${s ? "widget-palette--locked" : ""}`, children: [
|
|
707
707
|
/* @__PURE__ */ a("label", { className: "widget-palette__label", children: r }),
|
|
708
708
|
/* @__PURE__ */ a(Ge, { selected: t, onSelect: n, customMode: !0, disabled: s }),
|
|
709
709
|
s && /* @__PURE__ */ a("span", { className: "widget-palette__lock-icon", title: "Bloqueado", children: "🔒" })
|
|
@@ -721,9 +721,9 @@ function Kt({
|
|
|
721
721
|
filterOptions: l,
|
|
722
722
|
dateBounds: i,
|
|
723
723
|
onFilterChange: o,
|
|
724
|
-
variableValue:
|
|
724
|
+
variableValue: u,
|
|
725
725
|
onVariableChange: c,
|
|
726
|
-
onPaletteChange:
|
|
726
|
+
onPaletteChange: d
|
|
727
727
|
}) {
|
|
728
728
|
if (t.error)
|
|
729
729
|
return /* @__PURE__ */ a(
|
|
@@ -735,18 +735,18 @@ function Kt({
|
|
|
735
735
|
stateMessage: Gt[String(t.error)]
|
|
736
736
|
}
|
|
737
737
|
);
|
|
738
|
-
const
|
|
738
|
+
const m = Ke(n);
|
|
739
739
|
switch (e) {
|
|
740
740
|
case "kpi_card":
|
|
741
741
|
return /* @__PURE__ */ a(bt, { data: t, label: r == null ? void 0 : r.label });
|
|
742
742
|
case "gauge":
|
|
743
|
-
return /* @__PURE__ */ a(yt, { data: t, palette:
|
|
743
|
+
return /* @__PURE__ */ a(yt, { data: t, palette: m, label: r == null ? void 0 : r.label });
|
|
744
744
|
case "chart":
|
|
745
|
-
return /* @__PURE__ */ a(Rt, { data: t, palette:
|
|
745
|
+
return /* @__PURE__ */ a(Rt, { data: t, palette: m, label: r == null ? void 0 : r.label });
|
|
746
746
|
case "composition":
|
|
747
|
-
return /* @__PURE__ */ a(Pt, { data: t, palette:
|
|
747
|
+
return /* @__PURE__ */ a(Pt, { data: t, palette: m, label: r == null ? void 0 : r.label });
|
|
748
748
|
case "table":
|
|
749
|
-
return /* @__PURE__ */ a(
|
|
749
|
+
return /* @__PURE__ */ a(Mt, { data: t, label: r == null ? void 0 : r.label });
|
|
750
750
|
case "filter":
|
|
751
751
|
return r && o ? /* @__PURE__ */ a(
|
|
752
752
|
zt,
|
|
@@ -759,33 +759,33 @@ function Kt({
|
|
|
759
759
|
}
|
|
760
760
|
) : null;
|
|
761
761
|
case "variable": {
|
|
762
|
-
const
|
|
763
|
-
return
|
|
762
|
+
const h = r;
|
|
763
|
+
return h && c ? /* @__PURE__ */ a(
|
|
764
764
|
Vt,
|
|
765
765
|
{
|
|
766
|
-
config:
|
|
767
|
-
value:
|
|
766
|
+
config: h,
|
|
767
|
+
value: u ?? h.variableValue ?? 0,
|
|
768
768
|
onChange: c
|
|
769
769
|
}
|
|
770
770
|
) : null;
|
|
771
771
|
}
|
|
772
772
|
case "color_palette":
|
|
773
|
-
return r &&
|
|
773
|
+
return r && d ? /* @__PURE__ */ a(
|
|
774
774
|
jt,
|
|
775
775
|
{
|
|
776
776
|
config: r,
|
|
777
777
|
palette: n,
|
|
778
|
-
onChange:
|
|
778
|
+
onChange: d
|
|
779
779
|
}
|
|
780
780
|
) : null;
|
|
781
781
|
default:
|
|
782
782
|
return /* @__PURE__ */ a(W, { name: "unknown", state: "unconfigured" });
|
|
783
783
|
}
|
|
784
784
|
}
|
|
785
|
-
const Yt =
|
|
786
|
-
function
|
|
785
|
+
const Yt = Fe(Kt), Ut = (e, t) => e.grid.y - t.grid.y || e.grid.x - t.grid.x, Bt = {}, fe = [];
|
|
786
|
+
function Wr({
|
|
787
787
|
token: e,
|
|
788
|
-
cellAspect: t =
|
|
788
|
+
cellAspect: t = qe,
|
|
789
789
|
stackBelow: n,
|
|
790
790
|
onGeometryChange: r,
|
|
791
791
|
silenceWarnings: s,
|
|
@@ -794,60 +794,60 @@ function Lr({
|
|
|
794
794
|
const {
|
|
795
795
|
layout: i,
|
|
796
796
|
renderData: o,
|
|
797
|
-
loading:
|
|
797
|
+
loading: u,
|
|
798
798
|
error: c,
|
|
799
|
-
filters:
|
|
800
|
-
variables:
|
|
801
|
-
palette:
|
|
799
|
+
filters: d,
|
|
800
|
+
variables: m,
|
|
801
|
+
palette: h,
|
|
802
802
|
setFilter: p,
|
|
803
|
-
setVariable:
|
|
804
|
-
setPalette:
|
|
805
|
-
} = ct(e), { rootRef:
|
|
803
|
+
setVariable: v,
|
|
804
|
+
setPalette: f
|
|
805
|
+
} = ct(e), { rootRef: N, gridRef: w, stacked: y } = ft({
|
|
806
806
|
columns: (i == null ? void 0 : i.gridColumns) ?? 0,
|
|
807
807
|
cellAspect: t,
|
|
808
808
|
stackBelow: n,
|
|
809
809
|
onGeometryChange: r,
|
|
810
810
|
silenceWarnings: s
|
|
811
|
-
}),
|
|
812
|
-
const
|
|
813
|
-
return y ? [...
|
|
814
|
-
}, [i == null ? void 0 : i.widgets, y]),
|
|
815
|
-
const
|
|
816
|
-
for (const
|
|
817
|
-
|
|
818
|
-
onFilter: (
|
|
819
|
-
onVariable: (
|
|
811
|
+
}), T = F(() => {
|
|
812
|
+
const b = (i == null ? void 0 : i.widgets) ?? [];
|
|
813
|
+
return y ? [...b].sort(Ut) : b;
|
|
814
|
+
}, [i == null ? void 0 : i.widgets, y]), A = F(() => {
|
|
815
|
+
const b = {};
|
|
816
|
+
for (const S of T)
|
|
817
|
+
b[S.id] = {
|
|
818
|
+
onFilter: (x) => p(S.id, x),
|
|
819
|
+
onVariable: (x) => v(S.id, x)
|
|
820
820
|
};
|
|
821
|
-
return
|
|
822
|
-
}, [
|
|
821
|
+
return b;
|
|
822
|
+
}, [T, p, v]), M = {
|
|
823
823
|
"--dash-gap": `${oe}px`,
|
|
824
|
-
"--dash-pad": `${
|
|
825
|
-
},
|
|
826
|
-
let
|
|
824
|
+
"--dash-pad": `${Xe}px`
|
|
825
|
+
}, $ = ["preview-tab", l].filter(Boolean).join(" ");
|
|
826
|
+
let g;
|
|
827
827
|
if (c && !i)
|
|
828
|
-
|
|
828
|
+
g = /* @__PURE__ */ a("div", { className: "preview-tab__error", children: c });
|
|
829
829
|
else if (!i)
|
|
830
|
-
|
|
830
|
+
g = /* @__PURE__ */ a("div", { className: "preview-tab__loading", children: "Carregando dashboard..." });
|
|
831
831
|
else if (i.widgets.length === 0)
|
|
832
|
-
|
|
832
|
+
g = /* @__PURE__ */ a("div", { className: "preview-tab__empty", children: "Este dashboard nao possui widgets." });
|
|
833
833
|
else {
|
|
834
|
-
const
|
|
834
|
+
const b = (o == null ? void 0 : o.widgets) ?? {}, S = (o == null ? void 0 : o.date_bounds) ?? null, x = {
|
|
835
835
|
"--dash-cols": i.gridColumns,
|
|
836
836
|
"--dash-rows": i.gridRows,
|
|
837
|
-
...Ne(
|
|
838
|
-
},
|
|
839
|
-
|
|
837
|
+
...Ne(h)
|
|
838
|
+
}, C = ["preview-tab__grid", y && "preview-tab__grid--stacked"].filter(Boolean).join(" ");
|
|
839
|
+
g = /* @__PURE__ */ _(V, { children: [
|
|
840
840
|
c && !o && /* @__PURE__ */ a("div", { className: "preview-tab__error", children: c }),
|
|
841
|
-
o && /* @__PURE__ */ a("div", { className:
|
|
841
|
+
o && /* @__PURE__ */ a("div", { className: C, style: x, ref: w, children: T.map((k) => {
|
|
842
842
|
var re, ne;
|
|
843
|
-
const z = Ye.has(
|
|
843
|
+
const z = Ye.has(k.type), L = b[k.id], I = y ? {
|
|
844
844
|
gridColumn: 1,
|
|
845
|
-
aspectRatio: `${Be(
|
|
846
|
-
minHeight: `${Ue(
|
|
845
|
+
aspectRatio: `${Be(k.grid.w, k.grid.h, t)}`,
|
|
846
|
+
minHeight: `${Ue(k.grid.h, Qe, oe, 0)}px`
|
|
847
847
|
} : {
|
|
848
|
-
gridColumn: `${
|
|
849
|
-
gridRow: `${
|
|
850
|
-
}, Le =
|
|
848
|
+
gridColumn: `${k.grid.x + 1} / span ${k.grid.w}`,
|
|
849
|
+
gridRow: `${k.grid.y + 1} / span ${k.grid.h}`
|
|
850
|
+
}, Le = k.type === "variable" ? m[k.id] ?? (L == null ? void 0 : L.value) ?? k.config.variableValue ?? 0 : void 0;
|
|
851
851
|
return /* @__PURE__ */ a(
|
|
852
852
|
"div",
|
|
853
853
|
{
|
|
@@ -856,41 +856,41 @@ function Lr({
|
|
|
856
856
|
children: z || L ? /* @__PURE__ */ a(
|
|
857
857
|
Yt,
|
|
858
858
|
{
|
|
859
|
-
type:
|
|
859
|
+
type: k.type,
|
|
860
860
|
computed: L || Bt,
|
|
861
|
-
palette:
|
|
862
|
-
config:
|
|
863
|
-
filterValue:
|
|
861
|
+
palette: h,
|
|
862
|
+
config: k.config,
|
|
863
|
+
filterValue: d[k.id] || "",
|
|
864
864
|
filterOptions: (
|
|
865
865
|
// Estruturais: vem do /layout (cacheavel), nao do /render —
|
|
866
866
|
// recalcula-los a cada render custaria um DISTINCT por filtro.
|
|
867
|
-
|
|
867
|
+
k.type === "filter" ? k.config.availableValues ?? fe : fe
|
|
868
868
|
),
|
|
869
|
-
dateBounds:
|
|
870
|
-
onFilterChange: (re =
|
|
869
|
+
dateBounds: S,
|
|
870
|
+
onFilterChange: (re = A[k.id]) == null ? void 0 : re.onFilter,
|
|
871
871
|
variableValue: Le,
|
|
872
|
-
onVariableChange: (ne =
|
|
873
|
-
onPaletteChange:
|
|
872
|
+
onVariableChange: (ne = A[k.id]) == null ? void 0 : ne.onVariable,
|
|
873
|
+
onPaletteChange: f
|
|
874
874
|
}
|
|
875
|
-
) : /* @__PURE__ */ a("div", { className: "preview-tab__widget-loading", children:
|
|
875
|
+
) : /* @__PURE__ */ a("div", { className: "preview-tab__widget-loading", children: u ? "Carregando..." : "Sem dados" })
|
|
876
876
|
},
|
|
877
|
-
|
|
877
|
+
k.id
|
|
878
878
|
);
|
|
879
879
|
}) }),
|
|
880
|
-
|
|
880
|
+
u && o && /* @__PURE__ */ a("div", { className: "preview-tab__recalculating", children: "Atualizando..." })
|
|
881
881
|
] });
|
|
882
882
|
}
|
|
883
|
-
return /* @__PURE__ */ a("div", { className:
|
|
883
|
+
return /* @__PURE__ */ a("div", { className: $, style: M, ref: N, children: g });
|
|
884
884
|
}
|
|
885
|
-
function
|
|
885
|
+
function Xt(e, t) {
|
|
886
886
|
const n = URL.createObjectURL(e), r = document.createElement("a");
|
|
887
887
|
r.href = n, r.download = t, document.body.appendChild(r), r.click(), r.remove(), setTimeout(() => URL.revokeObjectURL(n), 0);
|
|
888
888
|
}
|
|
889
|
-
const
|
|
889
|
+
const qt = 768, Qt = 879;
|
|
890
890
|
function Zt(e) {
|
|
891
891
|
return Array.from(e.normalize("NFD")).filter((t) => {
|
|
892
892
|
const n = t.codePointAt(0) ?? 0;
|
|
893
|
-
return n <
|
|
893
|
+
return n < qt || n > Qt;
|
|
894
894
|
}).join("");
|
|
895
895
|
}
|
|
896
896
|
function Jt(e, t) {
|
|
@@ -898,53 +898,74 @@ function Jt(e, t) {
|
|
|
898
898
|
}
|
|
899
899
|
const er = 300;
|
|
900
900
|
function tr(e) {
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
901
|
+
return !!e && typeof e == "object" && "start" in e;
|
|
902
|
+
}
|
|
903
|
+
function rr(e, t, n) {
|
|
904
|
+
const r = xe(t), s = { ...e };
|
|
905
|
+
for (const [l, i] of Object.entries(r)) {
|
|
906
|
+
const o = e[l];
|
|
907
|
+
(n ? o == null : o === "" && tr(t[l])) && (s[l] = i);
|
|
908
|
+
}
|
|
909
|
+
return s;
|
|
910
|
+
}
|
|
911
|
+
function nr(e) {
|
|
912
|
+
const [t, n] = E(null), [r, s] = E(null), [l, i] = E({}), [o, u] = E({}), [c, d] = E(!0), [m, h] = E(null), [p, v] = E(!1), f = R(), N = R(!1), w = R(null), y = R(!1);
|
|
913
|
+
O(() => {
|
|
914
|
+
let $ = !1;
|
|
915
|
+
return N.current = !1, w.current = null, y.current = !1, Ze(e).then((g) => {
|
|
916
|
+
$ || n(g);
|
|
917
|
+
}).catch((g) => {
|
|
918
|
+
$ || h(g.message);
|
|
908
919
|
}), () => {
|
|
909
|
-
|
|
920
|
+
$ = !0;
|
|
910
921
|
};
|
|
911
|
-
}, [e]),
|
|
922
|
+
}, [e]), O(() => {
|
|
912
923
|
if (!t) return;
|
|
913
|
-
const
|
|
914
|
-
if (
|
|
915
|
-
|
|
916
|
-
const
|
|
917
|
-
return
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
const
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
924
|
+
const $ = H(l), g = j($);
|
|
925
|
+
if (g === w.current) return;
|
|
926
|
+
f.current && clearTimeout(f.current);
|
|
927
|
+
const b = y.current ? er : 0;
|
|
928
|
+
return f.current = setTimeout(() => {
|
|
929
|
+
d(!0), Je(e, $).then((S) => {
|
|
930
|
+
if (w.current = g, y.current = !0, s(S), S.applied) {
|
|
931
|
+
const x = !N.current;
|
|
932
|
+
N.current = !0, i((C) => {
|
|
933
|
+
const k = rr(C, S.applied, x);
|
|
934
|
+
return $e(k, C) ? C : (w.current = j(H(k)), k);
|
|
935
|
+
});
|
|
936
|
+
}
|
|
937
|
+
h(null);
|
|
938
|
+
}).catch((S) => h(S.message)).finally(() => d(!1));
|
|
939
|
+
}, b), () => {
|
|
940
|
+
f.current && clearTimeout(f.current);
|
|
926
941
|
};
|
|
927
942
|
}, [e, t, l]);
|
|
928
|
-
const
|
|
929
|
-
i((
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
943
|
+
const T = P(($, g) => {
|
|
944
|
+
i((S) => ({ ...S, [$]: g }));
|
|
945
|
+
const b = g !== "";
|
|
946
|
+
u((S) => S[$] === b ? S : { ...S, [$]: b });
|
|
947
|
+
}, []), A = P(($) => {
|
|
948
|
+
T($, "");
|
|
949
|
+
}, [T]), M = P(() => {
|
|
950
|
+
v(!0), et(e, H(l)).then(($) => {
|
|
951
|
+
Xt($, Jt((t == null ? void 0 : t.name) ?? "demonstrativo", "pdf")), h(null);
|
|
952
|
+
}).catch(($) => h($.message)).finally(() => v(!1));
|
|
934
953
|
}, [e, l, t == null ? void 0 : t.name]);
|
|
935
954
|
return {
|
|
936
955
|
layout: t,
|
|
937
956
|
renderData: r,
|
|
938
|
-
loading:
|
|
939
|
-
error:
|
|
957
|
+
loading: c,
|
|
958
|
+
error: m,
|
|
940
959
|
filters: l,
|
|
941
|
-
setFilter:
|
|
942
|
-
|
|
943
|
-
|
|
960
|
+
setFilter: T,
|
|
961
|
+
touched: o,
|
|
962
|
+
clearFilter: A,
|
|
963
|
+
downloadPdf: M,
|
|
964
|
+
downloading: p
|
|
944
965
|
};
|
|
945
966
|
}
|
|
946
|
-
const
|
|
947
|
-
function
|
|
967
|
+
const ar = [0, 0.25, 0.5, 0.75, 1], sr = 150, lr = 1;
|
|
968
|
+
function ir(e, t, n) {
|
|
948
969
|
let r = null, s = 0;
|
|
949
970
|
for (const [l, i] of e) {
|
|
950
971
|
if (i <= 0) continue;
|
|
@@ -953,35 +974,63 @@ function nr(e, t, n) {
|
|
|
953
974
|
continue;
|
|
954
975
|
}
|
|
955
976
|
if (i < s) continue;
|
|
956
|
-
const o = l === n,
|
|
957
|
-
(o ||
|
|
977
|
+
const o = l === n, u = r !== n && (t.get(l) ?? 1 / 0) < (t.get(r) ?? 1 / 0);
|
|
978
|
+
(o || u) && (r = l);
|
|
958
979
|
}
|
|
959
980
|
return r;
|
|
960
981
|
}
|
|
961
|
-
function
|
|
962
|
-
const [n, r] =
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
982
|
+
function or(e, t) {
|
|
983
|
+
const [n, r] = E(null), [s, l] = E(null), i = R(null), o = R({ timer: null, left: null }), u = P(() => {
|
|
984
|
+
const d = o.current;
|
|
985
|
+
d.timer !== null && clearTimeout(d.timer), d.left = null, d.timer = setTimeout(() => {
|
|
986
|
+
var m;
|
|
987
|
+
d.timer = null, d.left = ((m = e.current) == null ? void 0 : m.scrollLeft) ?? null;
|
|
988
|
+
}, sr);
|
|
989
|
+
}, [e]), c = P((d) => {
|
|
990
|
+
i.current = d, l(d), u();
|
|
991
|
+
}, [u]);
|
|
992
|
+
return O(() => {
|
|
993
|
+
i.current !== null && !t.includes(i.current) && (i.current = null, l(null));
|
|
994
|
+
const d = e.current;
|
|
995
|
+
if (!d || t.length === 0) {
|
|
966
996
|
r(null);
|
|
967
997
|
return;
|
|
968
998
|
}
|
|
969
|
-
const
|
|
970
|
-
|
|
999
|
+
const m = () => {
|
|
1000
|
+
i.current = null, l(null);
|
|
1001
|
+
}, h = () => {
|
|
1002
|
+
if (i.current === null) return;
|
|
1003
|
+
const f = o.current;
|
|
1004
|
+
if (f.timer !== null) {
|
|
1005
|
+
u();
|
|
1006
|
+
return;
|
|
1007
|
+
}
|
|
1008
|
+
f.left !== null && Math.abs(d.scrollLeft - f.left) > lr && m();
|
|
1009
|
+
};
|
|
1010
|
+
d.addEventListener("scroll", h, { passive: !0 });
|
|
1011
|
+
let p = null;
|
|
1012
|
+
const v = typeof IntersectionObserver > "u" ? [] : Array.from(d.querySelectorAll("th[data-period]"));
|
|
1013
|
+
if (v.length === 0)
|
|
971
1014
|
r(null);
|
|
972
|
-
|
|
1015
|
+
else {
|
|
1016
|
+
const f = /* @__PURE__ */ new Map(), N = new Map(t.map((w, y) => [w, y]));
|
|
1017
|
+
p = new IntersectionObserver((w) => {
|
|
1018
|
+
for (const y of w) {
|
|
1019
|
+
const T = y.target.dataset.period;
|
|
1020
|
+
T != null && f.set(T, y.isIntersecting ? y.intersectionRatio : 0);
|
|
1021
|
+
}
|
|
1022
|
+
r((y) => ir(f, N, i.current ?? y));
|
|
1023
|
+
}, { root: d, threshold: ar }), v.forEach((w) => p.observe(w));
|
|
973
1024
|
}
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
return l.forEach((c) => m.observe(c)), () => m.disconnect();
|
|
982
|
-
}, [e, t]), n;
|
|
1025
|
+
return () => {
|
|
1026
|
+
d.removeEventListener("scroll", h), p == null || p.disconnect();
|
|
1027
|
+
};
|
|
1028
|
+
}, [e, t, u]), O(() => () => {
|
|
1029
|
+
const d = o.current;
|
|
1030
|
+
d.timer !== null && clearTimeout(d.timer);
|
|
1031
|
+
}, []), { current: s ?? n, pin: c };
|
|
983
1032
|
}
|
|
984
|
-
function
|
|
1033
|
+
function cr(e) {
|
|
985
1034
|
var n;
|
|
986
1035
|
const t = /* @__PURE__ */ new Map();
|
|
987
1036
|
for (const r of e) {
|
|
@@ -990,60 +1039,60 @@ function sr(e) {
|
|
|
990
1039
|
}
|
|
991
1040
|
return t;
|
|
992
1041
|
}
|
|
993
|
-
function
|
|
1042
|
+
function dr(e) {
|
|
994
1043
|
const t = /* @__PURE__ */ new Set();
|
|
995
1044
|
for (const [n, r] of e)
|
|
996
1045
|
[...r].some((s) => e.has(s)) || t.add(n);
|
|
997
1046
|
return t;
|
|
998
1047
|
}
|
|
999
|
-
function
|
|
1048
|
+
function ur(e, t) {
|
|
1000
1049
|
const n = /* @__PURE__ */ new Set();
|
|
1001
1050
|
for (const r of t)
|
|
1002
1051
|
for (const s of e.get(r) ?? []) n.add(s);
|
|
1003
1052
|
return n;
|
|
1004
1053
|
}
|
|
1005
|
-
function
|
|
1006
|
-
const t =
|
|
1007
|
-
l((
|
|
1008
|
-
const p = new Set(
|
|
1009
|
-
return p.has(
|
|
1054
|
+
function mr(e) {
|
|
1055
|
+
const t = F(() => cr(e), [e]), n = F(() => new Set(t.keys()), [t]), r = F(() => dr(t), [t]), [s, l] = E(null), i = s ?? r, o = F(() => ur(t, i), [t, i]), u = P((m) => {
|
|
1056
|
+
l((h) => {
|
|
1057
|
+
const p = new Set(h ?? r);
|
|
1058
|
+
return p.has(m) ? p.delete(m) : p.add(m), p;
|
|
1010
1059
|
});
|
|
1011
|
-
}, [r]), c =
|
|
1012
|
-
return
|
|
1060
|
+
}, [r]), c = P(() => l(r), [r]), d = P(() => l(/* @__PURE__ */ new Set()), []);
|
|
1061
|
+
return F(() => ({
|
|
1013
1062
|
collapsible: n,
|
|
1014
1063
|
collapsed: i,
|
|
1015
1064
|
hidden: o,
|
|
1016
1065
|
hasSections: n.size > 0,
|
|
1017
|
-
toggle:
|
|
1066
|
+
toggle: u,
|
|
1018
1067
|
collapseToSummary: c,
|
|
1019
|
-
expandAll:
|
|
1020
|
-
}), [n, i, o,
|
|
1068
|
+
expandAll: d
|
|
1069
|
+
}), [n, i, o, u, c, d]);
|
|
1021
1070
|
}
|
|
1022
|
-
const
|
|
1071
|
+
const hr = 600, fr = (e) => {
|
|
1023
1072
|
var t, n;
|
|
1024
1073
|
return ((n = (t = e.contentBoxSize) == null ? void 0 : t[0]) == null ? void 0 : n.inlineSize) ?? e.contentRect.width;
|
|
1025
1074
|
};
|
|
1026
|
-
function
|
|
1027
|
-
const [n, r] =
|
|
1075
|
+
function pr(e, t = hr) {
|
|
1076
|
+
const [n, r] = E(!1), s = R(null), l = P((o) => {
|
|
1028
1077
|
r(o > 0 && o < t);
|
|
1029
|
-
}, [t]), i =
|
|
1078
|
+
}, [t]), i = P((o) => {
|
|
1030
1079
|
s.current = o, o && e && l(o.getBoundingClientRect().width);
|
|
1031
1080
|
}, [e, l]);
|
|
1032
|
-
return
|
|
1081
|
+
return O(() => {
|
|
1033
1082
|
const o = s.current;
|
|
1034
1083
|
if (!e || !o || typeof ResizeObserver > "u") return;
|
|
1035
|
-
const
|
|
1036
|
-
for (const
|
|
1037
|
-
|
|
1084
|
+
const u = new ResizeObserver((c) => {
|
|
1085
|
+
for (const d of c)
|
|
1086
|
+
d.target === o && l(fr(d));
|
|
1038
1087
|
});
|
|
1039
|
-
return
|
|
1088
|
+
return u.observe(o), () => u.disconnect();
|
|
1040
1089
|
}, [e, l]), { ref: i, narrow: e && n };
|
|
1041
1090
|
}
|
|
1042
|
-
const
|
|
1043
|
-
function
|
|
1044
|
-
return { paddingLeft: `${
|
|
1091
|
+
const _r = 8, gr = 14, pe = 10;
|
|
1092
|
+
function br(e, t = gr) {
|
|
1093
|
+
return { paddingLeft: `${_r + e * t}px` };
|
|
1045
1094
|
}
|
|
1046
|
-
function
|
|
1095
|
+
function vr(e) {
|
|
1047
1096
|
const t = {};
|
|
1048
1097
|
return e != null && e.accent && (t["--stmt-accent"] = e.accent), e != null && e.positive && (t["--stmt-positive"] = e.positive), e != null && e.negative && (t["--stmt-negative"] = e.negative), t;
|
|
1049
1098
|
}
|
|
@@ -1053,7 +1102,7 @@ function Q(e) {
|
|
|
1053
1102
|
function _e(e) {
|
|
1054
1103
|
return e == null || e === 0 ? "stmt__aux" : `stmt__aux stmt__aux--${e > 0 ? "up" : "down"}`;
|
|
1055
1104
|
}
|
|
1056
|
-
const
|
|
1105
|
+
const wr = {
|
|
1057
1106
|
day: "day",
|
|
1058
1107
|
week: "week",
|
|
1059
1108
|
month: "month",
|
|
@@ -1061,24 +1110,45 @@ const _r = {
|
|
|
1061
1110
|
year: "year",
|
|
1062
1111
|
total: "month"
|
|
1063
1112
|
};
|
|
1064
|
-
function
|
|
1113
|
+
function yr({
|
|
1114
|
+
definition: e,
|
|
1115
|
+
value: t,
|
|
1116
|
+
options: n,
|
|
1117
|
+
bounds: r,
|
|
1118
|
+
rangeUnit: s,
|
|
1119
|
+
touched: l,
|
|
1120
|
+
onChange: i,
|
|
1121
|
+
onClear: o
|
|
1122
|
+
}) {
|
|
1065
1123
|
if (e.type === "date_range") {
|
|
1066
|
-
const
|
|
1067
|
-
return /* @__PURE__ */
|
|
1068
|
-
/* @__PURE__ */
|
|
1124
|
+
const u = e.dateFilterMode ?? "range";
|
|
1125
|
+
return /* @__PURE__ */ _("div", { className: `stmt__filter stmt__filter--date stmt__filter--${u}`, children: [
|
|
1126
|
+
/* @__PURE__ */ _("span", { className: "stmt__filter-label", children: [
|
|
1127
|
+
e.label,
|
|
1128
|
+
l && /* @__PURE__ */ a(
|
|
1129
|
+
"button",
|
|
1130
|
+
{
|
|
1131
|
+
type: "button",
|
|
1132
|
+
className: "stmt__filter-clear",
|
|
1133
|
+
title: "Voltar ao período padrão",
|
|
1134
|
+
onClick: o,
|
|
1135
|
+
children: "Limpar"
|
|
1136
|
+
}
|
|
1137
|
+
)
|
|
1138
|
+
] }),
|
|
1069
1139
|
/* @__PURE__ */ a(
|
|
1070
1140
|
Pe,
|
|
1071
1141
|
{
|
|
1072
|
-
mode:
|
|
1142
|
+
mode: u,
|
|
1073
1143
|
value: t,
|
|
1074
1144
|
dateBounds: r,
|
|
1075
1145
|
rangeUnit: s,
|
|
1076
|
-
onChange:
|
|
1146
|
+
onChange: i
|
|
1077
1147
|
}
|
|
1078
1148
|
)
|
|
1079
1149
|
] });
|
|
1080
1150
|
}
|
|
1081
|
-
return /* @__PURE__ */
|
|
1151
|
+
return /* @__PURE__ */ _("div", { className: "stmt__filter", children: [
|
|
1082
1152
|
/* @__PURE__ */ a("span", { className: "stmt__filter-label", children: e.label }),
|
|
1083
1153
|
/* @__PURE__ */ a(
|
|
1084
1154
|
ye,
|
|
@@ -1086,12 +1156,12 @@ function gr({ definition: e, value: t, options: n, bounds: r, rangeUnit: s, onCh
|
|
|
1086
1156
|
value: t,
|
|
1087
1157
|
options: n,
|
|
1088
1158
|
multi: e.type === "multi_select",
|
|
1089
|
-
onChange:
|
|
1159
|
+
onChange: i
|
|
1090
1160
|
}
|
|
1091
1161
|
)
|
|
1092
1162
|
] });
|
|
1093
1163
|
}
|
|
1094
|
-
const
|
|
1164
|
+
const Nr = 13, Sr = [], kr = [], ge = {
|
|
1095
1165
|
day: ["dia", "dias"],
|
|
1096
1166
|
week: ["semana", "semanas"],
|
|
1097
1167
|
month: ["mês", "meses"],
|
|
@@ -1099,11 +1169,11 @@ const br = 13, vr = [], wr = [], ge = {
|
|
|
1099
1169
|
year: ["ano", "anos"],
|
|
1100
1170
|
total: ["período", "períodos"]
|
|
1101
1171
|
};
|
|
1102
|
-
function
|
|
1172
|
+
function Cr(e, t) {
|
|
1103
1173
|
const [n, r] = ge[t] ?? ge.total;
|
|
1104
1174
|
return `Variação sobre ${e} ${e === 1 ? n : r} atrás`;
|
|
1105
1175
|
}
|
|
1106
|
-
function
|
|
1176
|
+
function Rr({
|
|
1107
1177
|
label: e,
|
|
1108
1178
|
collapsed: t,
|
|
1109
1179
|
onToggle: n
|
|
@@ -1131,14 +1201,14 @@ function Ae(e, t) {
|
|
|
1131
1201
|
}
|
|
1132
1202
|
function G({ line: e, section: t, indentStep: n }) {
|
|
1133
1203
|
const { collapsible: r, collapsed: s, onToggle: l } = t;
|
|
1134
|
-
return /* @__PURE__ */
|
|
1204
|
+
return /* @__PURE__ */ _(
|
|
1135
1205
|
"th",
|
|
1136
1206
|
{
|
|
1137
1207
|
scope: "row",
|
|
1138
|
-
style:
|
|
1208
|
+
style: br(e.style.indent, n),
|
|
1139
1209
|
onClick: r ? l : void 0,
|
|
1140
1210
|
children: [
|
|
1141
|
-
r && /* @__PURE__ */ a(
|
|
1211
|
+
r && /* @__PURE__ */ a(Rr, { label: e.label, collapsed: s, onToggle: l }),
|
|
1142
1212
|
e.label
|
|
1143
1213
|
]
|
|
1144
1214
|
}
|
|
@@ -1153,10 +1223,10 @@ function K(e, t, n = { bold: !0 }) {
|
|
|
1153
1223
|
t.collapsed && "stmt__row--collapsed"
|
|
1154
1224
|
].filter(Boolean).join(" ");
|
|
1155
1225
|
}
|
|
1156
|
-
function
|
|
1226
|
+
function Ee(e) {
|
|
1157
1227
|
return e.type === "header" && e.formatted.length === 0;
|
|
1158
1228
|
}
|
|
1159
|
-
function
|
|
1229
|
+
function $r({
|
|
1160
1230
|
line: e,
|
|
1161
1231
|
columnCount: t,
|
|
1162
1232
|
showTotal: n,
|
|
@@ -1165,17 +1235,17 @@ function Sr({
|
|
|
1165
1235
|
comparisonLabel: l,
|
|
1166
1236
|
section: i
|
|
1167
1237
|
}) {
|
|
1168
|
-
return e.type === "separator" ? /* @__PURE__ */ a("tr", { className: "stmt__row stmt__row--separator", children: /* @__PURE__ */ a("td", { colSpan: t }) }) :
|
|
1238
|
+
return e.type === "separator" ? /* @__PURE__ */ a("tr", { className: "stmt__row stmt__row--separator", children: /* @__PURE__ */ a("td", { colSpan: t }) }) : Ee(e) ? /* @__PURE__ */ _("tr", { className: K(e, i, { bold: !1 }), children: [
|
|
1169
1239
|
/* @__PURE__ */ a(G, { line: e, section: i }),
|
|
1170
1240
|
/* @__PURE__ */ a("td", { colSpan: t - 1 })
|
|
1171
|
-
] }) : /* @__PURE__ */
|
|
1241
|
+
] }) : /* @__PURE__ */ _("tr", { className: K(e, i), children: [
|
|
1172
1242
|
/* @__PURE__ */ a(G, { line: e, section: i }),
|
|
1173
|
-
e.formatted.map((o,
|
|
1174
|
-
var
|
|
1175
|
-
const c = e.horizontalAnalysis[
|
|
1176
|
-
return /* @__PURE__ */
|
|
1177
|
-
/* @__PURE__ */ a("span", { className: Q(e.values[
|
|
1178
|
-
r && e.verticalAnalysis[
|
|
1243
|
+
e.formatted.map((o, u) => {
|
|
1244
|
+
var m;
|
|
1245
|
+
const c = e.horizontalAnalysis[u], d = (m = e.comparison) == null ? void 0 : m[u];
|
|
1246
|
+
return /* @__PURE__ */ _("td", { className: "stmt__value", children: [
|
|
1247
|
+
/* @__PURE__ */ a("span", { className: Q(e.values[u]), children: o }),
|
|
1248
|
+
r && e.verticalAnalysis[u] != null && /* @__PURE__ */ a("span", { className: "stmt__aux", title: "Análise vertical", children: D(e.verticalAnalysis[u], "percentage") }),
|
|
1179
1249
|
s && c != null && /* @__PURE__ */ a(
|
|
1180
1250
|
"span",
|
|
1181
1251
|
{
|
|
@@ -1184,23 +1254,23 @@ function Sr({
|
|
|
1184
1254
|
children: D(c, "percentage")
|
|
1185
1255
|
}
|
|
1186
1256
|
),
|
|
1187
|
-
l &&
|
|
1257
|
+
l && d != null && /* @__PURE__ */ _(
|
|
1188
1258
|
"span",
|
|
1189
1259
|
{
|
|
1190
|
-
className: `stmt__aux stmt__aux--${
|
|
1260
|
+
className: `stmt__aux stmt__aux--${d < 0 ? "down" : "up"}`,
|
|
1191
1261
|
title: l,
|
|
1192
1262
|
children: [
|
|
1193
1263
|
"vs ",
|
|
1194
|
-
D(
|
|
1264
|
+
D(d, "percentage")
|
|
1195
1265
|
]
|
|
1196
1266
|
}
|
|
1197
1267
|
)
|
|
1198
|
-
] },
|
|
1268
|
+
] }, u);
|
|
1199
1269
|
}),
|
|
1200
1270
|
n && /* @__PURE__ */ a("td", { className: "stmt__value stmt__value--total", children: /* @__PURE__ */ a("span", { className: Q(e.total), children: e.totalFormatted ?? "-" }) })
|
|
1201
1271
|
] });
|
|
1202
1272
|
}
|
|
1203
|
-
function
|
|
1273
|
+
function xr({
|
|
1204
1274
|
name: e,
|
|
1205
1275
|
columns: t,
|
|
1206
1276
|
lines: n,
|
|
@@ -1209,57 +1279,58 @@ function kr({
|
|
|
1209
1279
|
showVertical: l,
|
|
1210
1280
|
showHorizontal: i,
|
|
1211
1281
|
comparisonLabel: o,
|
|
1212
|
-
collapse:
|
|
1282
|
+
collapse: u
|
|
1213
1283
|
}) {
|
|
1214
|
-
const c = R(null),
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1284
|
+
const c = R(null), d = F(() => t.map((f) => f.key), [t]), { current: m, pin: h } = or(c, d), p = P((f) => {
|
|
1285
|
+
h(f);
|
|
1286
|
+
const N = c.current;
|
|
1287
|
+
if (!N) return;
|
|
1288
|
+
const w = N.querySelector(`[data-period="${CSS.escape(f)}"]`);
|
|
1289
|
+
w == null || w.scrollIntoView({ inline: "center", block: "nearest", behavior: "smooth" });
|
|
1290
|
+
}, [h]), v = 1 + t.length + (r ? 1 : 0);
|
|
1291
|
+
return /* @__PURE__ */ _(V, { children: [
|
|
1292
|
+
t.length > 1 && /* @__PURE__ */ a("nav", { className: "stmt__periods", "aria-label": "Períodos", children: t.map((f) => {
|
|
1293
|
+
const N = f.key === m;
|
|
1223
1294
|
return /* @__PURE__ */ a(
|
|
1224
1295
|
"button",
|
|
1225
1296
|
{
|
|
1226
1297
|
type: "button",
|
|
1227
|
-
className:
|
|
1228
|
-
"aria-current":
|
|
1229
|
-
title: `${
|
|
1230
|
-
onClick: () => f
|
|
1231
|
-
children:
|
|
1298
|
+
className: N ? "stmt__period stmt__period--current" : "stmt__period",
|
|
1299
|
+
"aria-current": N ? "true" : void 0,
|
|
1300
|
+
title: `${f.start} a ${f.end}`,
|
|
1301
|
+
onClick: () => p(f.key),
|
|
1302
|
+
children: f.label
|
|
1232
1303
|
},
|
|
1233
|
-
|
|
1304
|
+
f.key
|
|
1234
1305
|
);
|
|
1235
1306
|
}) }),
|
|
1236
|
-
/* @__PURE__ */ a("div", { className: "stmt__scroll", ref: c, children: /* @__PURE__ */
|
|
1237
|
-
/* @__PURE__ */ a("thead", { children: /* @__PURE__ */
|
|
1307
|
+
/* @__PURE__ */ a("div", { className: "stmt__scroll", ref: c, children: /* @__PURE__ */ _("table", { className: "stmt__table", children: [
|
|
1308
|
+
/* @__PURE__ */ a("thead", { children: /* @__PURE__ */ _("tr", { children: [
|
|
1238
1309
|
/* @__PURE__ */ a("th", { className: "stmt__corner", scope: "col", children: e }),
|
|
1239
|
-
t.map((
|
|
1310
|
+
t.map((f) => /* @__PURE__ */ a(
|
|
1240
1311
|
"th",
|
|
1241
1312
|
{
|
|
1242
1313
|
scope: "col",
|
|
1243
|
-
"data-period":
|
|
1244
|
-
title: `${
|
|
1245
|
-
children:
|
|
1314
|
+
"data-period": f.key,
|
|
1315
|
+
title: `${f.start} a ${f.end}`,
|
|
1316
|
+
children: f.label
|
|
1246
1317
|
},
|
|
1247
|
-
|
|
1318
|
+
f.key
|
|
1248
1319
|
)),
|
|
1249
1320
|
r && /* @__PURE__ */ a("th", { scope: "col", className: "stmt__total-head", children: s })
|
|
1250
1321
|
] }) }),
|
|
1251
|
-
/* @__PURE__ */ a("tbody", { children: n.map((
|
|
1252
|
-
|
|
1322
|
+
/* @__PURE__ */ a("tbody", { children: n.map((f) => u.hidden.has(f.id) ? null : /* @__PURE__ */ a(
|
|
1323
|
+
$r,
|
|
1253
1324
|
{
|
|
1254
|
-
line:
|
|
1255
|
-
columnCount:
|
|
1325
|
+
line: f,
|
|
1326
|
+
columnCount: v,
|
|
1256
1327
|
showTotal: r,
|
|
1257
1328
|
showVertical: l,
|
|
1258
1329
|
showHorizontal: i,
|
|
1259
1330
|
comparisonLabel: o,
|
|
1260
|
-
section: Ae(
|
|
1331
|
+
section: Ae(f, u)
|
|
1261
1332
|
},
|
|
1262
|
-
|
|
1333
|
+
f.id
|
|
1263
1334
|
)) })
|
|
1264
1335
|
] }) })
|
|
1265
1336
|
] });
|
|
@@ -1267,12 +1338,12 @@ function kr({
|
|
|
1267
1338
|
function Z(e) {
|
|
1268
1339
|
return e.kind === "total" ? "total" : `period:${e.column.key}`;
|
|
1269
1340
|
}
|
|
1270
|
-
function
|
|
1341
|
+
function Me(e) {
|
|
1271
1342
|
return e.kind === "total" ? e.label : e.column.label;
|
|
1272
1343
|
}
|
|
1273
|
-
function
|
|
1344
|
+
function Tr({ slots: e, selected: t, onSelect: n }) {
|
|
1274
1345
|
const r = () => n(Math.max(0, t - 1)), s = () => n(Math.min(e.length - 1, t + 1));
|
|
1275
|
-
return /* @__PURE__ */
|
|
1346
|
+
return /* @__PURE__ */ _("div", { className: "stmt__picker", role: "group", "aria-label": "Seleção de período", onKeyDown: (i) => {
|
|
1276
1347
|
i.key === "ArrowLeft" ? (i.preventDefault(), r()) : i.key === "ArrowRight" && (i.preventDefault(), s());
|
|
1277
1348
|
}, children: [
|
|
1278
1349
|
/* @__PURE__ */ a(
|
|
@@ -1293,7 +1364,7 @@ function Cr({ slots: e, selected: t, onSelect: n }) {
|
|
|
1293
1364
|
"aria-label": "Período",
|
|
1294
1365
|
value: String(t),
|
|
1295
1366
|
onChange: (i) => n(Number(i.target.value)),
|
|
1296
|
-
children: e.map((i, o) => /* @__PURE__ */ a("option", { value: String(o), children:
|
|
1367
|
+
children: e.map((i, o) => /* @__PURE__ */ a("option", { value: String(o), children: Me(i) }, Z(i)))
|
|
1297
1368
|
}
|
|
1298
1369
|
),
|
|
1299
1370
|
/* @__PURE__ */ a(
|
|
@@ -1309,20 +1380,20 @@ function Cr({ slots: e, selected: t, onSelect: n }) {
|
|
|
1309
1380
|
)
|
|
1310
1381
|
] });
|
|
1311
1382
|
}
|
|
1312
|
-
function
|
|
1383
|
+
function Pr({ line: e, index: t, previous: n }) {
|
|
1313
1384
|
const r = e.horizontalAnalysis[t];
|
|
1314
1385
|
if (r != null)
|
|
1315
|
-
return /* @__PURE__ */
|
|
1386
|
+
return /* @__PURE__ */ _("span", { className: _e(r), title: `Variação sobre ${n.label}`, children: [
|
|
1316
1387
|
/* @__PURE__ */ a("span", { className: "stmt__aux-number", children: D(r, "percentage") }),
|
|
1317
1388
|
" ",
|
|
1318
|
-
/* @__PURE__ */
|
|
1389
|
+
/* @__PURE__ */ _("span", { className: "stmt__aux-label", children: [
|
|
1319
1390
|
"vs ",
|
|
1320
1391
|
n.label
|
|
1321
1392
|
] })
|
|
1322
1393
|
] });
|
|
1323
1394
|
const s = e.formatted[t - 1];
|
|
1324
|
-
return s == null ? null : /* @__PURE__ */
|
|
1325
|
-
/* @__PURE__ */
|
|
1395
|
+
return s == null ? null : /* @__PURE__ */ _("span", { className: _e(e.values[t - 1]), title: `Valor em ${n.label}`, children: [
|
|
1396
|
+
/* @__PURE__ */ _("span", { className: "stmt__aux-label", children: [
|
|
1326
1397
|
n.label,
|
|
1327
1398
|
":"
|
|
1328
1399
|
] }),
|
|
@@ -1330,55 +1401,55 @@ function Rr({ line: e, index: t, previous: n }) {
|
|
|
1330
1401
|
/* @__PURE__ */ a("span", { className: "stmt__aux-number", children: s })
|
|
1331
1402
|
] });
|
|
1332
1403
|
}
|
|
1333
|
-
function
|
|
1404
|
+
function Ar({ line: e, slot: t, previous: n, compare: r, section: s }) {
|
|
1334
1405
|
if (e.type === "separator")
|
|
1335
1406
|
return /* @__PURE__ */ a("tr", { className: "stmt__row stmt__row--separator", children: /* @__PURE__ */ a("td", { colSpan: 2 }) });
|
|
1336
|
-
if (
|
|
1337
|
-
return /* @__PURE__ */
|
|
1407
|
+
if (Ee(e))
|
|
1408
|
+
return /* @__PURE__ */ _("tr", { className: K(e, s, { bold: !1 }), children: [
|
|
1338
1409
|
/* @__PURE__ */ a(G, { line: e, section: s, indentStep: pe }),
|
|
1339
1410
|
/* @__PURE__ */ a("td", {})
|
|
1340
1411
|
] });
|
|
1341
1412
|
const l = t.kind === "total", i = l ? e.total : e.values[t.index], o = l ? e.totalFormatted ?? "-" : e.formatted[t.index];
|
|
1342
|
-
return /* @__PURE__ */
|
|
1413
|
+
return /* @__PURE__ */ _("tr", { className: K(e, s), children: [
|
|
1343
1414
|
/* @__PURE__ */ a(G, { line: e, section: s, indentStep: pe }),
|
|
1344
|
-
/* @__PURE__ */
|
|
1415
|
+
/* @__PURE__ */ _("td", { className: l ? "stmt__value stmt__value--total" : "stmt__value", children: [
|
|
1345
1416
|
/* @__PURE__ */ a("span", { className: Q(i), children: o }),
|
|
1346
|
-
r && t.kind === "period" && n && /* @__PURE__ */ a(
|
|
1417
|
+
r && t.kind === "period" && n && /* @__PURE__ */ a(Pr, { line: e, index: t.index, previous: n })
|
|
1347
1418
|
] })
|
|
1348
1419
|
] });
|
|
1349
1420
|
}
|
|
1350
|
-
function
|
|
1351
|
-
const i =
|
|
1352
|
-
const w = t.map((y,
|
|
1421
|
+
function Er({ name: e, columns: t, lines: n, showTotal: r, totalLabel: s, collapse: l }) {
|
|
1422
|
+
const i = F(() => {
|
|
1423
|
+
const w = t.map((y, T) => ({ kind: "period", index: T, column: y }));
|
|
1353
1424
|
return r && w.push({ kind: "total", label: s }), w;
|
|
1354
|
-
}, [t, r, s]), [o,
|
|
1425
|
+
}, [t, r, s]), [o, u] = E(null), [c, d] = E(!0), m = t.length - 1, h = o == null ? -1 : i.findIndex((w) => Z(w) === o), p = h >= 0 ? h : m, v = i[p], f = v.kind === "period" && v.index > 0 ? t[v.index - 1] : null, N = P((w) => {
|
|
1355
1426
|
const y = i[w];
|
|
1356
|
-
y &&
|
|
1427
|
+
y && u(Z(y));
|
|
1357
1428
|
}, [i]);
|
|
1358
|
-
return /* @__PURE__ */
|
|
1359
|
-
/* @__PURE__ */ a(
|
|
1360
|
-
/* @__PURE__ */
|
|
1429
|
+
return /* @__PURE__ */ _(V, { children: [
|
|
1430
|
+
/* @__PURE__ */ a(Tr, { slots: i, selected: p, onSelect: N }),
|
|
1431
|
+
/* @__PURE__ */ _("label", { className: "stmt__compare", children: [
|
|
1361
1432
|
/* @__PURE__ */ a(
|
|
1362
1433
|
"input",
|
|
1363
1434
|
{
|
|
1364
1435
|
type: "checkbox",
|
|
1365
1436
|
checked: c,
|
|
1366
|
-
onChange: (w) =>
|
|
1437
|
+
onChange: (w) => d(w.target.checked)
|
|
1367
1438
|
}
|
|
1368
1439
|
),
|
|
1369
1440
|
"Comparar com o anterior"
|
|
1370
1441
|
] }),
|
|
1371
|
-
/* @__PURE__ */ a("div", { className: "stmt__scroll", children: /* @__PURE__ */
|
|
1372
|
-
/* @__PURE__ */ a("thead", { children: /* @__PURE__ */
|
|
1442
|
+
/* @__PURE__ */ a("div", { className: "stmt__scroll", children: /* @__PURE__ */ _("table", { className: "stmt__list", children: [
|
|
1443
|
+
/* @__PURE__ */ a("thead", { children: /* @__PURE__ */ _("tr", { children: [
|
|
1373
1444
|
/* @__PURE__ */ a("th", { scope: "col", className: "stmt__list-name", children: e }),
|
|
1374
|
-
/* @__PURE__ */ a("th", { scope: "col", className: "stmt__list-period", "aria-live": "polite", "aria-atomic": "true", children:
|
|
1445
|
+
/* @__PURE__ */ a("th", { scope: "col", className: "stmt__list-period", "aria-live": "polite", "aria-atomic": "true", children: Me(v) })
|
|
1375
1446
|
] }) }),
|
|
1376
1447
|
/* @__PURE__ */ a("tbody", { children: n.map((w) => l.hidden.has(w.id) ? null : /* @__PURE__ */ a(
|
|
1377
|
-
|
|
1448
|
+
Ar,
|
|
1378
1449
|
{
|
|
1379
1450
|
line: w,
|
|
1380
|
-
slot:
|
|
1381
|
-
previous:
|
|
1451
|
+
slot: v,
|
|
1452
|
+
previous: f,
|
|
1382
1453
|
compare: c,
|
|
1383
1454
|
section: Ae(w, l)
|
|
1384
1455
|
},
|
|
@@ -1387,71 +1458,75 @@ function xr({ name: e, columns: t, lines: n, showTotal: r, totalLabel: s, collap
|
|
|
1387
1458
|
] }) })
|
|
1388
1459
|
] });
|
|
1389
1460
|
}
|
|
1390
|
-
function
|
|
1461
|
+
function Mr({
|
|
1391
1462
|
layout: e,
|
|
1392
1463
|
renderData: t,
|
|
1393
1464
|
loading: n,
|
|
1394
1465
|
error: r,
|
|
1395
1466
|
filters: s,
|
|
1396
1467
|
setFilter: l,
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1468
|
+
touched: i,
|
|
1469
|
+
clearFilter: o,
|
|
1470
|
+
downloadPdf: u,
|
|
1471
|
+
downloading: c,
|
|
1472
|
+
showDownload: d,
|
|
1473
|
+
mode: m
|
|
1401
1474
|
}) {
|
|
1402
|
-
const
|
|
1475
|
+
const h = (t == null ? void 0 : t.dateBounds) ?? e.dateBounds, p = e.periods.showTotal, v = (t == null ? void 0 : t.columns) ?? Sr, f = (t == null ? void 0 : t.lines) ?? kr, N = mr(f), [w, y] = E(!1), T = f.some((C) => C.verticalAnalysis.length > 0), A = f.some((C) => C.horizontalAnalysis.length > 0), M = e.periods.comparisonOffset, $ = M ? Cr(M, e.periods.granularity) : void 0, g = Nr - (p ? 1 : 0), b = Math.max(0, v.length - g), S = /* @__PURE__ */ _("span", { className: "stmt__meta stmt__bounds", children: [
|
|
1403
1476
|
"Base: ",
|
|
1404
|
-
|
|
1477
|
+
h.min,
|
|
1405
1478
|
" a ",
|
|
1406
|
-
|
|
1479
|
+
h.max
|
|
1407
1480
|
] });
|
|
1408
|
-
let
|
|
1409
|
-
return t ?
|
|
1410
|
-
|
|
1481
|
+
let x;
|
|
1482
|
+
return t ? v.length === 0 ? x = /* @__PURE__ */ a("div", { className: "stmt__state", children: "Nenhum período na janela selecionada." }) : f.length === 0 ? x = /* @__PURE__ */ a("div", { className: "stmt__state", children: "Este demonstrativo não possui linhas." }) : m === "periods" ? x = /* @__PURE__ */ a(
|
|
1483
|
+
Er,
|
|
1411
1484
|
{
|
|
1412
1485
|
name: t.name,
|
|
1413
|
-
columns:
|
|
1414
|
-
lines:
|
|
1415
|
-
showTotal:
|
|
1486
|
+
columns: v,
|
|
1487
|
+
lines: f,
|
|
1488
|
+
showTotal: p,
|
|
1416
1489
|
totalLabel: e.periods.totalLabel,
|
|
1417
|
-
collapse:
|
|
1490
|
+
collapse: N
|
|
1418
1491
|
}
|
|
1419
|
-
) :
|
|
1420
|
-
|
|
1492
|
+
) : x = /* @__PURE__ */ a(
|
|
1493
|
+
xr,
|
|
1421
1494
|
{
|
|
1422
1495
|
name: t.name,
|
|
1423
|
-
columns:
|
|
1424
|
-
lines:
|
|
1425
|
-
showTotal:
|
|
1496
|
+
columns: v,
|
|
1497
|
+
lines: f,
|
|
1498
|
+
showTotal: p,
|
|
1426
1499
|
totalLabel: e.periods.totalLabel,
|
|
1427
|
-
showVertical:
|
|
1428
|
-
showHorizontal:
|
|
1500
|
+
showVertical: T,
|
|
1501
|
+
showHorizontal: A,
|
|
1429
1502
|
comparisonLabel: $,
|
|
1430
|
-
collapse:
|
|
1503
|
+
collapse: N
|
|
1431
1504
|
}
|
|
1432
|
-
) :
|
|
1433
|
-
/* @__PURE__ */
|
|
1434
|
-
e.filters.map((
|
|
1435
|
-
|
|
1505
|
+
) : x = /* @__PURE__ */ a("div", { className: "stmt__state", children: "Calculando..." }), /* @__PURE__ */ _(V, { children: [
|
|
1506
|
+
/* @__PURE__ */ _("div", { className: "stmt__toolbar", children: [
|
|
1507
|
+
e.filters.map((C) => /* @__PURE__ */ a(
|
|
1508
|
+
yr,
|
|
1436
1509
|
{
|
|
1437
|
-
definition:
|
|
1438
|
-
value: s[
|
|
1439
|
-
options: e.filterOptions[
|
|
1440
|
-
bounds:
|
|
1441
|
-
rangeUnit:
|
|
1442
|
-
|
|
1510
|
+
definition: C,
|
|
1511
|
+
value: s[C.id] ?? "",
|
|
1512
|
+
options: e.filterOptions[C.id] ?? [],
|
|
1513
|
+
bounds: h,
|
|
1514
|
+
rangeUnit: wr[e.periods.granularity] ?? "day",
|
|
1515
|
+
touched: i[C.id] ?? !1,
|
|
1516
|
+
onChange: (k) => l(C.id, k),
|
|
1517
|
+
onClear: () => o(C.id)
|
|
1443
1518
|
},
|
|
1444
|
-
|
|
1519
|
+
C.id
|
|
1445
1520
|
)),
|
|
1446
|
-
/* @__PURE__ */
|
|
1447
|
-
|
|
1448
|
-
|
|
1521
|
+
/* @__PURE__ */ _("div", { className: "stmt__toolbar-end", children: [
|
|
1522
|
+
m === "table" && S,
|
|
1523
|
+
N.hasSections && /* @__PURE__ */ _(V, { children: [
|
|
1449
1524
|
/* @__PURE__ */ a(
|
|
1450
1525
|
"button",
|
|
1451
1526
|
{
|
|
1452
1527
|
type: "button",
|
|
1453
1528
|
className: "stmt__outline",
|
|
1454
|
-
onClick:
|
|
1529
|
+
onClick: N.collapseToSummary,
|
|
1455
1530
|
children: "Recolher seções"
|
|
1456
1531
|
}
|
|
1457
1532
|
),
|
|
@@ -1460,53 +1535,53 @@ function Tr({
|
|
|
1460
1535
|
{
|
|
1461
1536
|
type: "button",
|
|
1462
1537
|
className: "stmt__outline",
|
|
1463
|
-
onClick:
|
|
1538
|
+
onClick: N.expandAll,
|
|
1464
1539
|
children: "Expandir tudo"
|
|
1465
1540
|
}
|
|
1466
1541
|
)
|
|
1467
1542
|
] }),
|
|
1468
|
-
|
|
1543
|
+
d && /* @__PURE__ */ a(
|
|
1469
1544
|
"button",
|
|
1470
1545
|
{
|
|
1471
1546
|
type: "button",
|
|
1472
1547
|
className: "stmt__download",
|
|
1473
1548
|
onClick: () => {
|
|
1474
|
-
if (
|
|
1475
|
-
|
|
1549
|
+
if (b > 0 && !w) {
|
|
1550
|
+
y(!0);
|
|
1476
1551
|
return;
|
|
1477
1552
|
}
|
|
1478
|
-
|
|
1553
|
+
y(!1), u();
|
|
1479
1554
|
},
|
|
1480
|
-
disabled:
|
|
1555
|
+
disabled: c || !t,
|
|
1481
1556
|
title: "Baixar o documento em PDF",
|
|
1482
|
-
children:
|
|
1557
|
+
children: c ? "Gerando..." : "Baixar PDF"
|
|
1483
1558
|
}
|
|
1484
1559
|
)
|
|
1485
1560
|
] })
|
|
1486
1561
|
] }),
|
|
1487
1562
|
r && /* @__PURE__ */ a("div", { className: "stmt__error", children: r }),
|
|
1488
|
-
|
|
1563
|
+
w && b > 0 && /* @__PURE__ */ _("div", { className: "stmt__warning", children: [
|
|
1489
1564
|
"O PDF cabe ",
|
|
1490
|
-
|
|
1565
|
+
g,
|
|
1491
1566
|
" períodos e este documento tem ",
|
|
1492
|
-
|
|
1567
|
+
v.length,
|
|
1493
1568
|
": o arquivo sairá com os ",
|
|
1494
|
-
|
|
1569
|
+
g,
|
|
1495
1570
|
" mais recentes",
|
|
1496
|
-
|
|
1571
|
+
p && ", e a coluna de total seguirá cobrindo a janela inteira",
|
|
1497
1572
|
'. Clique em "Baixar PDF" de novo para gerar assim, ou reduza o período.'
|
|
1498
1573
|
] }),
|
|
1499
|
-
(t == null ? void 0 : t.truncated) && /* @__PURE__ */
|
|
1574
|
+
(t == null ? void 0 : t.truncated) && /* @__PURE__ */ _("div", { className: "stmt__warning", children: [
|
|
1500
1575
|
"A janela pedida excede o limite de colunas: o documento mostra as primeiras ",
|
|
1501
|
-
|
|
1576
|
+
v.length,
|
|
1502
1577
|
". Escolha um período menor ou uma coluna mais larga."
|
|
1503
1578
|
] }),
|
|
1504
|
-
|
|
1505
|
-
|
|
1579
|
+
x,
|
|
1580
|
+
m === "periods" && S,
|
|
1506
1581
|
n && t && /* @__PURE__ */ a("div", { className: "stmt__recalculating", children: "Atualizando..." })
|
|
1507
1582
|
] });
|
|
1508
1583
|
}
|
|
1509
|
-
function
|
|
1584
|
+
function zr({
|
|
1510
1585
|
token: e,
|
|
1511
1586
|
palette: t,
|
|
1512
1587
|
showDownload: n = !0,
|
|
@@ -1517,35 +1592,39 @@ function Or({
|
|
|
1517
1592
|
layout: l,
|
|
1518
1593
|
renderData: i,
|
|
1519
1594
|
loading: o,
|
|
1520
|
-
error:
|
|
1595
|
+
error: u,
|
|
1521
1596
|
filters: c,
|
|
1522
|
-
setFilter:
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1597
|
+
setFilter: d,
|
|
1598
|
+
touched: m,
|
|
1599
|
+
clearFilter: h,
|
|
1600
|
+
downloadPdf: p,
|
|
1601
|
+
downloading: v
|
|
1602
|
+
} = nr(e), { ref: f, narrow: N } = pr(r === "auto"), w = r === "auto" ? N ? "periods" : "table" : r, y = ["stmt", `stmt--${w}`, s].filter(Boolean).join(" "), T = {
|
|
1526
1603
|
...t ? Ne(t) : {},
|
|
1527
|
-
...
|
|
1604
|
+
...vr(l == null ? void 0 : l.colors)
|
|
1528
1605
|
};
|
|
1529
|
-
let
|
|
1530
|
-
return
|
|
1531
|
-
|
|
1606
|
+
let A;
|
|
1607
|
+
return u && !l ? A = /* @__PURE__ */ a("div", { className: "stmt__error", children: u }) : l ? A = /* @__PURE__ */ a(
|
|
1608
|
+
Mr,
|
|
1532
1609
|
{
|
|
1533
1610
|
layout: l,
|
|
1534
1611
|
renderData: i,
|
|
1535
1612
|
loading: o,
|
|
1536
|
-
error:
|
|
1613
|
+
error: u,
|
|
1537
1614
|
filters: c,
|
|
1538
|
-
setFilter:
|
|
1539
|
-
|
|
1540
|
-
|
|
1615
|
+
setFilter: d,
|
|
1616
|
+
touched: m,
|
|
1617
|
+
clearFilter: h,
|
|
1618
|
+
downloadPdf: p,
|
|
1619
|
+
downloading: v,
|
|
1541
1620
|
showDownload: n,
|
|
1542
|
-
mode:
|
|
1621
|
+
mode: w
|
|
1543
1622
|
}
|
|
1544
|
-
) :
|
|
1623
|
+
) : A = /* @__PURE__ */ a("div", { className: "stmt__state", children: "Carregando demonstrativo..." }), /* @__PURE__ */ a("div", { ref: f, className: y, style: T, children: A });
|
|
1545
1624
|
}
|
|
1546
1625
|
export {
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1626
|
+
Vr as ApiError,
|
|
1627
|
+
Wr as Dashboard,
|
|
1628
|
+
zr as Statement
|
|
1550
1629
|
};
|
|
1551
1630
|
//# sourceMappingURL=index.js.map
|