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