react-semaphor 0.1.239 → 0.1.241
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{dashboard-controls-DIFPVHkq.js → dashboard-controls-Bbjg39W1.js} +1 -1
- package/dist/chunks/{dashboard-controls-m-rn9O15.js → dashboard-controls-CydTgB8b.js} +5 -5
- package/dist/chunks/{dashboard-json-CJ1HKDT6.js → dashboard-json-BqhlPxCk.js} +1 -1
- package/dist/chunks/{dashboard-json-HWBQuWn2.js → dashboard-json-Dh0BCAEU.js} +1 -1
- package/dist/chunks/{dashboard-summary-settings-dialog-DlwLS77e.js → dashboard-summary-settings-dialog-DMGeFM9N.js} +1 -1
- package/dist/chunks/{dashboard-summary-settings-dialog-DvLyjGhq.js → dashboard-summary-settings-dialog-DXEx7VYT.js} +1 -1
- package/dist/chunks/date-formatter-BeFtqSQ2.js +1978 -0
- package/dist/chunks/date-formatter-CZ8p6ngp.js +1 -0
- package/dist/chunks/{edit-dashboard-visual-BVlA_vRb.js → edit-dashboard-visual-BSHC5QiP.js} +3332 -3316
- package/dist/chunks/{edit-dashboard-visual-B5jatJ2M.js → edit-dashboard-visual-DcLZThas.js} +12 -12
- package/dist/chunks/{editor-action-buttons-Bq-ENC_B.js → editor-action-buttons-C_zLw3Aj.js} +1 -1
- package/dist/chunks/{editor-action-buttons-d64iA8wP.js → editor-action-buttons-lDMI1SQ2.js} +2 -2
- package/dist/chunks/{index-0u2X3G_x.js → index-C1qXov_Z.js} +29107 -28684
- package/dist/chunks/index-CYQV2kbT.js +1103 -0
- package/dist/chunks/{notification-bell-Cu4JA2Rs.js → notification-bell-CfYK7Cx6.js} +1 -1
- package/dist/chunks/{notification-bell-DpxVIL-E.js → notification-bell-CuEbhFaL.js} +18 -18
- package/dist/chunks/{resource-management-panel-CJXupZdG.js → resource-management-panel-G3XJbfPx.js} +2 -2
- package/dist/chunks/{resource-management-panel-JiF_3jpj.js → resource-management-panel-xwPhr6Lm.js} +1 -1
- package/dist/chunks/{use-visual-utils-yUJHf_h7.js → use-visual-utils-Cdm8jbGc.js} +1 -1
- package/dist/chunks/{use-visual-utils-C8_xz-xH.js → use-visual-utils-Du-m-SYb.js} +1 -1
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/format-utils/index.cjs +5 -5
- package/dist/format-utils/index.js +171 -305
- package/dist/index.cjs +1 -1
- package/dist/index.js +5 -5
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/dashboard.d.ts +54 -0
- package/dist/types/format-utils.d.ts +5 -0
- package/dist/types/main.d.ts +50 -4
- package/dist/types/shared.d.ts +49 -0
- package/dist/types/surfboard.d.ts +54 -0
- package/dist/types/types.d.ts +54 -0
- package/package.json +1 -1
- package/dist/chunks/date-formatter-Sz6QDaM8.js +0 -1
- package/dist/chunks/date-formatter-Y8Za1ib3.js +0 -1813
- package/dist/chunks/index-CyHBRhlz.js +0 -1103
|
@@ -1,174 +1,40 @@
|
|
|
1
|
-
import { f as
|
|
2
|
-
import { g as
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
{ value: 1e9, suffix: "B" },
|
|
6
|
-
{ value: 1e7, suffix: "Cr" },
|
|
7
|
-
// Crore (Indian)
|
|
8
|
-
{ value: 1e6, suffix: "M" },
|
|
9
|
-
{ value: 1e5, suffix: "L" },
|
|
10
|
-
// Lakh (Indian)
|
|
11
|
-
{ value: 1e3, suffix: "K" }
|
|
12
|
-
];
|
|
13
|
-
function D(r) {
|
|
14
|
-
const e = Math.abs(r);
|
|
15
|
-
for (const { value: u, suffix: c } of b)
|
|
16
|
-
if (e >= u)
|
|
17
|
-
return { divisor: u, suffix: c };
|
|
18
|
-
return { divisor: 1, suffix: "" };
|
|
19
|
-
}
|
|
20
|
-
function L(r) {
|
|
21
|
-
try {
|
|
22
|
-
return new Intl.NumberFormat(r), !0;
|
|
23
|
-
} catch {
|
|
24
|
-
return !1;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
function t(r) {
|
|
28
|
-
return r && L(r) ? r : "en-US";
|
|
29
|
-
}
|
|
30
|
-
function $(r, e) {
|
|
31
|
-
if (r == null || isNaN(r))
|
|
32
|
-
return "";
|
|
33
|
-
const u = t(e == null ? void 0 : e.locale);
|
|
34
|
-
let c = r;
|
|
35
|
-
if (e != null && e.multiplyBy && (c *= e.multiplyBy), e != null && e.useSuffix) {
|
|
36
|
-
const { divisor: f, suffix: i } = D(c);
|
|
37
|
-
c = c / f;
|
|
38
|
-
const m = new Intl.NumberFormat(u, {
|
|
39
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
40
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2,
|
|
41
|
-
useGrouping: (e == null ? void 0 : e.useGrouping) ?? !0
|
|
42
|
-
}).format(c);
|
|
43
|
-
return `${(e == null ? void 0 : e.prefix) ?? ""}${m}${i}${(e == null ? void 0 : e.suffix) ?? ""}`;
|
|
44
|
-
}
|
|
45
|
-
const l = new Intl.NumberFormat(u, {
|
|
46
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
47
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2,
|
|
48
|
-
useGrouping: (e == null ? void 0 : e.useGrouping) ?? !0
|
|
49
|
-
}).format(c);
|
|
50
|
-
if (e != null && e.negativeInParentheses && c < 0) {
|
|
51
|
-
const f = l.replace("-", "");
|
|
52
|
-
return `${(e == null ? void 0 : e.prefix) ?? ""}(${f})${(e == null ? void 0 : e.suffix) ?? ""}`;
|
|
53
|
-
}
|
|
54
|
-
return `${(e == null ? void 0 : e.prefix) ?? ""}${l}${(e == null ? void 0 : e.suffix) ?? ""}`;
|
|
55
|
-
}
|
|
56
|
-
function z(r, e) {
|
|
57
|
-
if (r == null || isNaN(r))
|
|
58
|
-
return "";
|
|
59
|
-
const u = t(e == null ? void 0 : e.locale), c = (e == null ? void 0 : e.currency) || "USD";
|
|
60
|
-
if (e != null && e.useSuffix) {
|
|
61
|
-
const { divisor: l, suffix: f } = D(r), i = r / l;
|
|
62
|
-
return `${new Intl.NumberFormat(u, {
|
|
63
|
-
style: "currency",
|
|
64
|
-
currency: c,
|
|
65
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
66
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2
|
|
67
|
-
}).format(i)}${f}`;
|
|
68
|
-
}
|
|
69
|
-
return new Intl.NumberFormat(u, {
|
|
70
|
-
style: "currency",
|
|
71
|
-
currency: c,
|
|
72
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
73
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2
|
|
74
|
-
}).format(r);
|
|
75
|
-
}
|
|
76
|
-
function B(r, e) {
|
|
77
|
-
if (r == null || isNaN(r))
|
|
78
|
-
return "";
|
|
79
|
-
const u = t(e == null ? void 0 : e.locale), c = e != null && e.alreadyPercent ? r / 100 : r;
|
|
80
|
-
return new Intl.NumberFormat(u, {
|
|
81
|
-
style: "percent",
|
|
82
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
83
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2
|
|
84
|
-
}).format(c);
|
|
85
|
-
}
|
|
86
|
-
function E(r, e) {
|
|
87
|
-
if (r == null || isNaN(r))
|
|
88
|
-
return "";
|
|
89
|
-
const u = t(e == null ? void 0 : e.locale);
|
|
90
|
-
return new Intl.NumberFormat(u, {
|
|
91
|
-
notation: "scientific",
|
|
92
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
93
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2
|
|
94
|
-
}).format(r);
|
|
95
|
-
}
|
|
96
|
-
function d(r, e, u = "en-US") {
|
|
97
|
-
if (r == null || isNaN(r))
|
|
98
|
-
return "";
|
|
99
|
-
const c = t((e == null ? void 0 : e.locale) || u), l = (e == null ? void 0 : e.style) || "decimal";
|
|
100
|
-
return l === "percent" ? new Intl.NumberFormat(c, {
|
|
101
|
-
style: "percent",
|
|
102
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
103
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2
|
|
104
|
-
}).format(r / 100) : l === "currency" ? new Intl.NumberFormat(c, {
|
|
105
|
-
style: "currency",
|
|
106
|
-
currency: (e == null ? void 0 : e.currency) || "USD",
|
|
107
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
108
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2
|
|
109
|
-
}).format(r) : new Intl.NumberFormat(c, {
|
|
110
|
-
minimumFractionDigits: (e == null ? void 0 : e.minimumFractionDigits) ?? 0,
|
|
111
|
-
maximumFractionDigits: (e == null ? void 0 : e.maximumFractionDigits) ?? 2
|
|
112
|
-
}).format(r);
|
|
113
|
-
}
|
|
114
|
-
function k(r, e, u) {
|
|
115
|
-
const c = {
|
|
116
|
-
locale: u == null ? void 0 : u.locale,
|
|
117
|
-
currency: u == null ? void 0 : u.currency,
|
|
118
|
-
minimumFractionDigits: u == null ? void 0 : u.decimalPlaces,
|
|
119
|
-
maximumFractionDigits: u == null ? void 0 : u.decimalPlaces,
|
|
120
|
-
useSuffix: u == null ? void 0 : u.useSuffix,
|
|
121
|
-
prefix: u == null ? void 0 : u.prefix,
|
|
122
|
-
suffix: u == null ? void 0 : u.suffix,
|
|
123
|
-
negativeInParentheses: u == null ? void 0 : u.negativeInParentheses,
|
|
124
|
-
multiplyBy: u == null ? void 0 : u.multiplyBy
|
|
125
|
-
};
|
|
126
|
-
switch (e) {
|
|
127
|
-
case "currency":
|
|
128
|
-
return z(r, c);
|
|
129
|
-
case "percent":
|
|
130
|
-
return B(r, c);
|
|
131
|
-
case "scientific":
|
|
132
|
-
return E(r, c);
|
|
133
|
-
default:
|
|
134
|
-
return $(r, c);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
function R(r, e, u, c) {
|
|
138
|
-
const l = r instanceof Date ? r.toISOString() : String(r), f = (c == null ? void 0 : c.browserTimezone) || u, i = (c == null ? void 0 : c.isSqlCard) ?? !1;
|
|
1
|
+
import { f as h, a as V, b as w } from "../chunks/date-formatter-BeFtqSQ2.js";
|
|
2
|
+
import { d as O, c as W, h as k, e as I, g as J, i as K, j as Q, p as U, r as X } from "../chunks/date-formatter-BeFtqSQ2.js";
|
|
3
|
+
function z(r, e, n, s) {
|
|
4
|
+
const u = r instanceof Date ? r.toISOString() : String(r), l = (s == null ? void 0 : s.browserTimezone) || n, t = (s == null ? void 0 : s.isSqlCard) ?? !1;
|
|
139
5
|
if (e != null && e.useRelativeTime)
|
|
140
|
-
return
|
|
141
|
-
|
|
6
|
+
return V(
|
|
7
|
+
u,
|
|
142
8
|
(e == null ? void 0 : e.sourceTimezone) || "auto"
|
|
143
9
|
);
|
|
144
|
-
const
|
|
145
|
-
return
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
e != null && e.timezone && (e == null ? void 0 : e.timezone) !== "auto" ? e.timezone :
|
|
10
|
+
const o = e != null && e.useCustomFormat && (e != null && e.customFormat) ? e.customFormat : (e == null ? void 0 : e.format) || "MM/dd/yyyy";
|
|
11
|
+
return w(
|
|
12
|
+
u,
|
|
13
|
+
o,
|
|
14
|
+
e != null && e.timezone && (e == null ? void 0 : e.timezone) !== "auto" ? e.timezone : t ? l : n,
|
|
149
15
|
(e == null ? void 0 : e.sourceTimezone) || "auto"
|
|
150
16
|
);
|
|
151
17
|
}
|
|
152
|
-
function
|
|
18
|
+
function L(r, e, n) {
|
|
153
19
|
if (r == null)
|
|
154
20
|
return "";
|
|
155
|
-
if (!
|
|
21
|
+
if (!n.useFormattedValues || !e)
|
|
156
22
|
return String(r);
|
|
157
23
|
switch (e.type) {
|
|
158
24
|
case "number":
|
|
159
|
-
return typeof r == "number" ?
|
|
25
|
+
return typeof r == "number" ? h(
|
|
160
26
|
r,
|
|
161
27
|
e.numberFormat,
|
|
162
|
-
|
|
28
|
+
n.locale
|
|
163
29
|
) : String(r);
|
|
164
30
|
case "date":
|
|
165
|
-
return
|
|
31
|
+
return z(
|
|
166
32
|
r,
|
|
167
33
|
e.dateFormat,
|
|
168
|
-
|
|
34
|
+
n.timezone,
|
|
169
35
|
{
|
|
170
|
-
browserTimezone:
|
|
171
|
-
isSqlCard:
|
|
36
|
+
browserTimezone: n.browserTimezone,
|
|
37
|
+
isSqlCard: n.isSqlCard
|
|
172
38
|
}
|
|
173
39
|
);
|
|
174
40
|
case "progress":
|
|
@@ -181,221 +47,221 @@ function P(r, e, u) {
|
|
|
181
47
|
return String(r);
|
|
182
48
|
}
|
|
183
49
|
}
|
|
184
|
-
function
|
|
185
|
-
return e.visibleColumns.map((
|
|
186
|
-
const
|
|
187
|
-
return
|
|
50
|
+
function R(r, e) {
|
|
51
|
+
return e.visibleColumns.map((n) => {
|
|
52
|
+
const s = r[n], u = e.columnSettings[n];
|
|
53
|
+
return L(s, u, {
|
|
188
54
|
useFormattedValues: e.useFormattedValues,
|
|
189
55
|
timezone: e.timezone,
|
|
190
56
|
locale: e.locale
|
|
191
57
|
});
|
|
192
58
|
});
|
|
193
59
|
}
|
|
194
|
-
function
|
|
60
|
+
function p(r, e = ",") {
|
|
195
61
|
if (r == null)
|
|
196
62
|
return "";
|
|
197
|
-
const
|
|
198
|
-
return
|
|
199
|
-
`) ||
|
|
63
|
+
const n = String(r);
|
|
64
|
+
return n.includes(e) || n.includes('"') || n.includes(`
|
|
65
|
+
`) || n.includes("\r") ? `"${n.replace(/"/g, '""')}"` : n;
|
|
200
66
|
}
|
|
201
|
-
function
|
|
202
|
-
return r.map((
|
|
67
|
+
function f(r, e = ",") {
|
|
68
|
+
return r.map((n) => p(n, e)).join(e);
|
|
203
69
|
}
|
|
204
|
-
function
|
|
205
|
-
const { delimiter:
|
|
70
|
+
function E(r, e = {}) {
|
|
71
|
+
const { delimiter: n = ",", lineEnding: s = `
|
|
206
72
|
` } = e;
|
|
207
|
-
return r.map((
|
|
73
|
+
return r.map((u) => f(u, n)).join(s);
|
|
208
74
|
}
|
|
209
|
-
function
|
|
75
|
+
function N(r, e = {}) {
|
|
210
76
|
if (r.length === 0)
|
|
211
77
|
return "";
|
|
212
78
|
const {
|
|
213
|
-
delimiter:
|
|
214
|
-
lineEnding:
|
|
79
|
+
delimiter: n = ",",
|
|
80
|
+
lineEnding: s = `
|
|
215
81
|
`,
|
|
216
|
-
includeHeaders:
|
|
217
|
-
columns:
|
|
218
|
-
} = e,
|
|
219
|
-
|
|
220
|
-
for (const
|
|
221
|
-
const
|
|
222
|
-
const
|
|
223
|
-
return
|
|
82
|
+
includeHeaders: u = !0,
|
|
83
|
+
columns: l
|
|
84
|
+
} = e, t = l || Object.keys(r[0]), o = [];
|
|
85
|
+
u && o.push(t);
|
|
86
|
+
for (const i of r) {
|
|
87
|
+
const m = t.map((a) => {
|
|
88
|
+
const c = i[a];
|
|
89
|
+
return c == null ? "" : String(c);
|
|
224
90
|
});
|
|
225
|
-
|
|
91
|
+
o.push(m);
|
|
226
92
|
}
|
|
227
|
-
return
|
|
93
|
+
return E(o, { delimiter: n, lineEnding: s });
|
|
228
94
|
}
|
|
229
|
-
function
|
|
230
|
-
const
|
|
231
|
-
e.includeHeaders &&
|
|
232
|
-
for (const
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
|
|
95
|
+
function H(r, e) {
|
|
96
|
+
const n = [];
|
|
97
|
+
e.includeHeaders && n.push(f(e.visibleColumns, e.delimiter));
|
|
98
|
+
for (const s of r) {
|
|
99
|
+
const u = R(s, e);
|
|
100
|
+
n.push(
|
|
101
|
+
u.map((l) => p(l, e.delimiter)).join(e.delimiter)
|
|
236
102
|
);
|
|
237
103
|
}
|
|
238
|
-
return
|
|
104
|
+
return n;
|
|
239
105
|
}
|
|
240
|
-
function
|
|
106
|
+
function P(r, e, n = `
|
|
241
107
|
`) {
|
|
242
|
-
return
|
|
108
|
+
return H(r, e).join(n);
|
|
243
109
|
}
|
|
244
|
-
function
|
|
245
|
-
return r == null ? "" :
|
|
110
|
+
function j(r, e, n) {
|
|
111
|
+
return r == null ? "" : n.useFormattedValues ? typeof r == "number" && (e == null ? void 0 : e.type) === "number" ? h(
|
|
246
112
|
r,
|
|
247
113
|
e.numberFormat,
|
|
248
|
-
|
|
249
|
-
) : typeof r == "number" ? r.toLocaleString(
|
|
114
|
+
n.locale
|
|
115
|
+
) : typeof r == "number" ? r.toLocaleString(n.locale) : String(r) : String(r);
|
|
250
116
|
}
|
|
251
|
-
function
|
|
252
|
-
var
|
|
253
|
-
const
|
|
117
|
+
function A(r, e, n) {
|
|
118
|
+
var u, l;
|
|
119
|
+
const s = [];
|
|
254
120
|
if (r.isSubtotal && !r.isGrandTotal) {
|
|
255
|
-
const
|
|
256
|
-
(
|
|
121
|
+
const t = e.groupByColumns.findIndex(
|
|
122
|
+
(o) => o.alias === r.subtotalLevel
|
|
257
123
|
);
|
|
258
|
-
e.groupByColumns.forEach((
|
|
259
|
-
var
|
|
260
|
-
if (
|
|
261
|
-
const
|
|
262
|
-
(
|
|
263
|
-
)) == null ? void 0 :
|
|
264
|
-
|
|
265
|
-
} else
|
|
124
|
+
e.groupByColumns.forEach((o, i) => {
|
|
125
|
+
var m, a, c, b;
|
|
126
|
+
if (i === t) {
|
|
127
|
+
const d = (a = (m = e.rowAggregates) == null ? void 0 : m.find(
|
|
128
|
+
(T) => T.groupLevel === r.subtotalLevel
|
|
129
|
+
)) == null ? void 0 : a.label, y = (b = (c = r.subtotalContext) == null ? void 0 : c.groupByValues) == null ? void 0 : b[o.alias];
|
|
130
|
+
s.push(d ?? `Subtotal (${y ?? "Total"})`);
|
|
131
|
+
} else i < t ? s.push(String(r[o.alias] ?? "")) : s.push("");
|
|
266
132
|
});
|
|
267
133
|
} else if (r.isGrandTotal) {
|
|
268
|
-
const
|
|
269
|
-
(
|
|
270
|
-
)) == null ? void 0 :
|
|
271
|
-
|
|
134
|
+
const t = (l = (u = e.rowAggregates) == null ? void 0 : u.find(
|
|
135
|
+
(o) => o.groupLevel === "ALL"
|
|
136
|
+
)) == null ? void 0 : l.label;
|
|
137
|
+
s.push(t || "Grand Total"), e.groupByColumns.slice(1).forEach(() => s.push(""));
|
|
272
138
|
} else
|
|
273
|
-
e.groupByColumns.forEach((
|
|
274
|
-
|
|
139
|
+
e.groupByColumns.forEach((t) => {
|
|
140
|
+
s.push(String(r[t.alias] ?? ""));
|
|
275
141
|
});
|
|
276
|
-
return e.pivotSchema.filter((
|
|
277
|
-
const
|
|
278
|
-
|
|
279
|
-
}),
|
|
142
|
+
return e.pivotSchema.filter((t) => t.isMetricColumn).forEach((t) => {
|
|
143
|
+
const o = r[t.alias], i = n.columnSettings[t.alias];
|
|
144
|
+
s.push(j(o, i, n));
|
|
145
|
+
}), s;
|
|
280
146
|
}
|
|
281
|
-
function
|
|
147
|
+
function B(r) {
|
|
282
148
|
const e = r.groupByColumns.map(
|
|
283
|
-
(
|
|
284
|
-
),
|
|
285
|
-
return [...e, ...
|
|
149
|
+
(s) => s.label || s.name
|
|
150
|
+
), n = r.pivotSchema.filter((s) => s.isMetricColumn).map((s) => s.displayLabel || s.metricLabel || s.metricName || s.alias);
|
|
151
|
+
return [...e, ...n];
|
|
286
152
|
}
|
|
287
|
-
function
|
|
288
|
-
const
|
|
289
|
-
if (
|
|
290
|
-
const
|
|
291
|
-
|
|
153
|
+
function q(r, e, n) {
|
|
154
|
+
const s = [];
|
|
155
|
+
if (n.includeHeaders) {
|
|
156
|
+
const u = B(e);
|
|
157
|
+
s.push(f(u, n.delimiter));
|
|
292
158
|
}
|
|
293
|
-
for (const
|
|
294
|
-
const
|
|
295
|
-
|
|
159
|
+
for (const u of r) {
|
|
160
|
+
const l = A(
|
|
161
|
+
u,
|
|
296
162
|
e,
|
|
297
|
-
|
|
163
|
+
n
|
|
298
164
|
);
|
|
299
|
-
|
|
300
|
-
|
|
165
|
+
s.push(
|
|
166
|
+
l.map((t) => p(t, n.delimiter)).join(n.delimiter)
|
|
301
167
|
);
|
|
302
168
|
}
|
|
303
|
-
return
|
|
169
|
+
return s;
|
|
304
170
|
}
|
|
305
|
-
function
|
|
306
|
-
for (const
|
|
307
|
-
if (
|
|
308
|
-
e[
|
|
309
|
-
for (let
|
|
310
|
-
e[
|
|
171
|
+
function S(r, e, n) {
|
|
172
|
+
for (const s of r) {
|
|
173
|
+
if (s.level < n) {
|
|
174
|
+
e[s.level].push(s.name);
|
|
175
|
+
for (let u = 1; u < s.colspan; u++)
|
|
176
|
+
e[s.level].push("");
|
|
311
177
|
}
|
|
312
|
-
|
|
178
|
+
s.children ? S(s.children, e, n) : s.columnKey && e[n].push(s.name);
|
|
313
179
|
}
|
|
314
180
|
}
|
|
315
|
-
function
|
|
316
|
-
const e = r.pivotByColumns.length,
|
|
181
|
+
function C(r) {
|
|
182
|
+
const e = r.pivotByColumns.length, n = r.groupByColumns.length, s = Array.from(
|
|
317
183
|
{ length: e + 1 },
|
|
318
184
|
() => []
|
|
319
185
|
);
|
|
320
|
-
for (let
|
|
321
|
-
|
|
322
|
-
if (
|
|
323
|
-
...r.groupByColumns.map((
|
|
324
|
-
),
|
|
325
|
-
for (let
|
|
326
|
-
|
|
327
|
-
|
|
186
|
+
for (let u = 0; u < e; u++)
|
|
187
|
+
s[u].push(...Array(n).fill(""));
|
|
188
|
+
if (s[e].push(
|
|
189
|
+
...r.groupByColumns.map((u) => u.label || u.name)
|
|
190
|
+
), S(r.columnHeadersTree, s, e), r.showRowTotals) {
|
|
191
|
+
for (let u = 0; u < e; u++)
|
|
192
|
+
s[u].push("");
|
|
193
|
+
s[e].push("Total");
|
|
328
194
|
}
|
|
329
|
-
return
|
|
195
|
+
return s;
|
|
330
196
|
}
|
|
331
|
-
function
|
|
197
|
+
function x(r, e, n) {
|
|
332
198
|
if (r == null)
|
|
333
199
|
return "";
|
|
334
|
-
if (!
|
|
200
|
+
if (!n.useFormattedValues)
|
|
335
201
|
return String(r);
|
|
336
|
-
const
|
|
337
|
-
return typeof r == "number" && (
|
|
202
|
+
const s = n.columnSettings[e];
|
|
203
|
+
return typeof r == "number" && (s == null ? void 0 : s.type) === "number" ? h(
|
|
338
204
|
r,
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
) : typeof r == "number" ? r.toLocaleString(
|
|
205
|
+
s.numberFormat,
|
|
206
|
+
n.locale
|
|
207
|
+
) : typeof r == "number" ? r.toLocaleString(n.locale) : String(r);
|
|
342
208
|
}
|
|
343
|
-
function
|
|
344
|
-
const
|
|
345
|
-
r.fieldValues.forEach((
|
|
346
|
-
r.isSubtotal &&
|
|
209
|
+
function D(r, e, n) {
|
|
210
|
+
const s = [];
|
|
211
|
+
r.fieldValues.forEach((l, t) => {
|
|
212
|
+
r.isSubtotal && t === 0 ? s.push(`${l} Total`) : r.isSubtotal ? s.push("") : s.push(String(l ?? ""));
|
|
347
213
|
});
|
|
348
|
-
let
|
|
349
|
-
return e.columnHeaders.forEach((
|
|
350
|
-
var
|
|
351
|
-
const
|
|
352
|
-
|
|
353
|
-
}), e.showRowTotals &&
|
|
214
|
+
let u = 0;
|
|
215
|
+
return e.columnHeaders.forEach((l) => {
|
|
216
|
+
var i;
|
|
217
|
+
const t = (i = r.cells[l]) == null ? void 0 : i.value, o = x(t, l, n);
|
|
218
|
+
s.push(o), e.showRowTotals && typeof t == "number" && (u += t);
|
|
219
|
+
}), e.showRowTotals && s.push(u.toLocaleString(n.locale)), s;
|
|
354
220
|
}
|
|
355
|
-
function
|
|
356
|
-
const
|
|
357
|
-
if (
|
|
358
|
-
const
|
|
359
|
-
for (const
|
|
360
|
-
|
|
221
|
+
function $(r, e, n) {
|
|
222
|
+
const s = [];
|
|
223
|
+
if (n.includeHeaders) {
|
|
224
|
+
const u = C(e);
|
|
225
|
+
for (const l of u)
|
|
226
|
+
s.push(f(l, n.delimiter));
|
|
361
227
|
}
|
|
362
|
-
for (const
|
|
363
|
-
const
|
|
364
|
-
|
|
228
|
+
for (const u of r) {
|
|
229
|
+
const l = D(
|
|
230
|
+
u,
|
|
365
231
|
e,
|
|
366
|
-
|
|
232
|
+
n
|
|
367
233
|
);
|
|
368
|
-
|
|
369
|
-
|
|
234
|
+
s.push(
|
|
235
|
+
l.map((t) => p(t, n.delimiter)).join(n.delimiter)
|
|
370
236
|
);
|
|
371
237
|
}
|
|
372
|
-
return
|
|
238
|
+
return s;
|
|
373
239
|
}
|
|
374
240
|
export {
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
241
|
+
E as arrayToCSV,
|
|
242
|
+
f as arrayToCSVRow,
|
|
243
|
+
p as escapeCSVValue,
|
|
244
|
+
A as formatAggregateRow,
|
|
245
|
+
q as formatAggregateTableForCSV,
|
|
246
|
+
L as formatCellValue,
|
|
247
|
+
O as formatCurrency,
|
|
248
|
+
w as formatDate,
|
|
249
|
+
W as formatNumber,
|
|
384
250
|
k as formatNumberCustom,
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
251
|
+
h as formatNumberWithColumnSettings,
|
|
252
|
+
I as formatPercent,
|
|
253
|
+
D as formatPivotDataRow,
|
|
254
|
+
$ as formatPivotTableForCSV,
|
|
255
|
+
V as formatRelativeTime,
|
|
256
|
+
R as formatRowForExport,
|
|
257
|
+
J as formatScientific,
|
|
258
|
+
H as formatTableForCSV,
|
|
259
|
+
B as generateAggregateHeaders,
|
|
260
|
+
C as generatePivotHeaders,
|
|
261
|
+
P as generateTableCSV,
|
|
262
|
+
K as getTimezoneAbbreviation,
|
|
263
|
+
Q as getTimezoneName,
|
|
264
|
+
N as objectsToCSV,
|
|
265
|
+
U as parseWithSourceTimezone,
|
|
266
|
+
X as resolveTimezone
|
|
401
267
|
};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-CyHBRhlz.js"),D=require("./types/index.cjs"),E=require("./chunks/dashboard-summary-settings-dialog-DvLyjGhq.js"),t=require("react/jsx-runtime"),C=require("react"),v=require("./chunks/resource-management-panel-JiF_3jpj.js"),P=require("./chunks/use-debounced-dirty-check-XHSwAefL.js");require("react-dom");const p=require("./chunks/notification-bell-Cu4JA2Rs.js"),S=require("./chunks/normalize-dashboard-for-dirty-check-B7NQDI1H.js");function _(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(a,n,i.get?i:{enumerable:!0,get:()=>r[n]})}}return a.default=r,Object.freeze(a)}const A=_(C);function M(r){const{displayPreferences:a,...n}=r,i={...n,id:r.dashboardId};return t.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:t.jsxs(e.SemaphorContextProvider,{dashboardProps:i,children:[t.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:r.cardId}),t.jsx(e.UXProvider,{children:t.jsx(e.DisplayPreferencesProvider,{displayPreferences:a,children:t.jsx(e.Container,{type:"visual",...i,children:t.jsx(I,{cardId:r.cardId})})})})]})})}function I({cardId:r}){const a=e.useDashboardStore(o=>{var u;return(u=o.dashboard)==null?void 0:u.sheets}),{card:n,frame:i}=C.useMemo(()=>{const o=a==null?void 0:a.flatMap(s=>s.frames),u=o==null?void 0:o.flatMap(s=>s==null?void 0:s.cards),d=u==null?void 0:u.find(s=>(s==null?void 0:s.id)===r),l=o==null?void 0:o.find(s=>{var m;return(m=s==null?void 0:s.cards)==null?void 0:m.find(h=>(h==null?void 0:h.id)===r)});return{card:d,frame:l}},[a,r]);return!n||!i?t.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${r}`}):t.jsx("main",{className:"flex h-full grow flex-col",children:t.jsx(e.ErrorBoundary,{FallbackComponent:({error:o,resetErrorBoundary:u})=>t.jsx(e.FallbackVisual,{error:o,resetErrorBoundary:u,customerFacingMessage:"Error creating visual. Please try again."}),children:t.jsx(e.DashboardCard,{card:n,frame:i})})})}function F({name:r,items:a,value:n,onChange:i,isLoading:o,isError:u,refetch:d,className:l,icon:s,showNone:m=!1}){const h=A.useRef(null),[f,y]=A.useState(!1),[b,N]=A.useState("100%"),g=m?[...a||[],{id:"none",name:"None"}]:a;A.useLayoutEffect(()=>{h.current&&N(h.current.offsetWidth)},[]);function T(){var c;return o?"Loading...":u?"Error":n?(c=a==null?void 0:a.find(x=>x.id===n))==null?void 0:c.name:`Select ${r}`}function j(c,x){i(x),y(!1)}return t.jsxs(e.Popover,{open:f,onOpenChange:y,children:[t.jsx(e.PopoverTrigger,{asChild:!0,children:t.jsxs(e.Button,{ref:h,variant:"outline",role:"combobox","aria-expanded":f,className:e.cn("flex h-9 w-full justify-between",l),children:[t.jsxs("div",{className:"flex items-center gap-2",children:[s&&t.jsx("div",{className:"mr-2",children:s}),t.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:T()})]}),t.jsx(e.ChevronDown,{className:"size-4 opacity-50"})]})}),t.jsx(e.PopoverContent,{className:"w-full p-0",style:{minWidth:b},children:t.jsxs(e.Command,{children:[t.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[t.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),t.jsx(e.IconButton,{className:"h-7",onClick:d,children:t.jsx(e.RefreshCw,{className:e.cn("size-3.5 opacity-50",o&&"animate-spin")})})]}),t.jsxs(e.CommandList,{children:[t.jsxs(e.CommandEmpty,{children:["No ",r==null?void 0:r.toLowerCase()," found."]}),t.jsx(e.CommandGroup,{children:g==null?void 0:g.map(c=>t.jsx(e.CommandItem,{className:"overflow-x-auto",value:c.name,onSelect:x=>j(x,c.id),children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(e.Check,{className:e.cn("size-4",n===c.id?"opacity-100":"opacity-0")}),t.jsx("div",{title:c.name,children:c.name})]})},c.id))})]})]})})]})}function R({triggerButtonClassName:r,variant:a="ghost"}){const[n,i]=C.useState(!1),o=e.useDashboardStore(d=>{var l;return(l=d.dashboard)==null?void 0:l.id}),u=e.useDashboardStore(d=>{var l;return(l=d.dashboard)==null?void 0:l.title});return o?t.jsxs(t.Fragment,{children:[t.jsx(e.IconButton,{tooltip:"Schedule Dashboard",className:e.cn("h-7 p-2",r),buttonProps:{variant:a},onClick:()=>i(!0),children:t.jsx(e.Clock,{className:"size-4"})}),t.jsx(e.EmailScheduleDialog,{open:n,onOpenChange:i,dashboardId:o,dashboardName:u})]}):null}function w(r,a){C.useEffect(()=>(r&&a&&(window.__SEMAPHOR_PRINT_STATE__={...a}),()=>{r&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[r,a])}function k(){var u,d;const{quotasQuery:r,usageQuery:a}=e.useAlertQuotas(),n=((u=r.data)==null?void 0:u.quotas)||[],i=((d=a.data)==null?void 0:d.usage)||[],o=new Map(i.map(l=>[l.tenantId||"org",l]));return t.jsxs("div",{className:"space-y-4 p-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h2",{className:"text-xl font-semibold",children:"Alert Quotas"}),t.jsx(e.Button,{variant:"outline",size:"sm",onClick:()=>{r.refetch(),a.refetch()},children:"Refresh"})]}),r.isLoading||a.isLoading?t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading quota usage..."}):null,t.jsx("div",{className:"overflow-hidden rounded-lg border",children:t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{className:"bg-muted/40",children:t.jsxs("tr",{children:[t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Tenant"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Active Alerts"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Max Active"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Min Cadence"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Max Context Sources"})]})}),t.jsx("tbody",{children:n.map(l=>{const s=l.tenantId||"org",m=o.get(s);return t.jsxs("tr",{className:"border-t",children:[t.jsx("td",{className:"px-3 py-2",children:s}),t.jsx("td",{className:"px-3 py-2",children:(m==null?void 0:m.activeAlerts)??0}),t.jsx("td",{className:"px-3 py-2",children:l.policy.maxActiveAlerts}),t.jsxs("td",{className:"px-3 py-2",children:[l.policy.minCadenceMinutes," min"]}),t.jsx("td",{className:"px-3 py-2",children:l.policy.maxContextSources})]},s)})})]})})]})}exports.AlertCreationDialog=e.AlertCreationDialog;exports.AlertManagementPage=e.AlertManagementPage;exports.AlertsApiError=e.AlertsApiError;exports.CALCULATED_FIELD_ENTITY_MARKER=e.CALCULATED_FIELD_ENTITY_MARKER;exports.CardAlertIndicator=e.CardAlertIndicator;exports.CardSummary=e.CardSummary;exports.DATE_FORMAT_VALUES=e.DATE_FORMAT_VALUES;exports.Dashboard=e.Dashboard;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.EmailScheduleDialog=e.EmailScheduleDialog;exports.ExportError=e.ExportError;exports.PivotMarkerEnum=e.PivotMarkerEnum;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.backtestAlert=e.backtestAlert;exports.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createAlert=e.createAlert;exports.createEmptyKpiConfig=e.createEmptyKpiConfig;exports.createExport=e.createExport;exports.createSqlGenConfig=e.createSqlGenConfig;exports.deleteAlert=e.deleteAlert;exports.downloadPdf=e.downloadPdf;exports.emitDashboardLoad=e.emitDashboardLoad;exports.emitDashboardUnload=e.emitDashboardUnload;exports.fmt=e.fmt;exports.formatFileSize=e.formatFileSize;exports.getAlert=e.getAlert;exports.getAlertContextSources=e.getAlertContextSources;exports.getAlertHistory=e.getAlertHistory;exports.getAlertQuotaUsage=e.getAlertQuotaUsage;exports.getAlertRunDeliveries=e.getAlertRunDeliveries;exports.getAlertRunSteps=e.getAlertRunSteps;exports.getAlertRuns=e.getAlertRuns;exports.getAlertState=e.getAlertState;exports.getColumnDataType=e.getColumnDataType;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.getFilterValueType=e.getFilterValueType;exports.getFormattedTableNameForQuery=e.getFormattedTableNameForQuery;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.interpretAlertContext=e.interpretAlertContext;exports.invalidateToken=e.invalidateToken;exports.isBooleanDataType=e.isBooleanDataType;exports.isCalculatedDimension=e.isCalculatedDimension;exports.isCalculatedField=e.isCalculatedField;exports.isCalculatedMetric=e.isCalculatedMetric;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.isDateDataType=e.isDateDataType;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.isNumberDataType=e.isNumberDataType;exports.isTextDataType=e.isTextDataType;exports.listAlertQuotas=e.listAlertQuotas;exports.listAlerts=e.listAlerts;exports.previewAlertDeliverable=e.previewAlertDeliverable;exports.resolveDataType=e.resolveDataType;exports.resolveDatamodelName=e.resolveDatamodelName;exports.triggerAlertNow=e.triggerAlertNow;exports.updateAlert=e.updateAlert;exports.updateAlertContextSources=e.updateAlertContextSources;exports.updateAlertQuota=e.updateAlertQuota;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useAlertActions=e.useAlertActions;exports.useAlertBacktest=e.useAlertBacktest;exports.useAlertContextBuilder=e.useAlertContextBuilder;exports.useAlertDeliveries=e.useAlertDeliveries;exports.useAlertDetail=e.useAlertDetail;exports.useAlertDraft=e.useAlertDraft;exports.useAlertFilters=e.useAlertFilters;exports.useAlertHistory=e.useAlertHistory;exports.useAlertQuotas=e.useAlertQuotas;exports.useAlertRuns=e.useAlertRuns;exports.useAlertState=e.useAlertState;exports.useAlertStore=e.useAlertStore;exports.useAlerts=e.useAlerts;exports.useAlertsBootstrap=e.useAlertsBootstrap;exports.useAlertsById=e.useAlertsById;exports.useAlertsForCard=e.useAlertsForCard;exports.useCard=e.useCard;exports.useCardAlertMap=e.useCardAlertMap;exports.useCardSummary=e.useCardSummary;exports.useCurrentActiveCard=e.useCurrentActiveCard;exports.useCurrentCardConfig=e.useCurrentCardConfig;exports.useCurrentSheetActiveCards=e.useCurrentSheetActiveCards;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardStore=e.useDashboardStore;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorAside=e.useEditorAside;exports.useEditorStore=e.useEditorStore;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useSelectedAlertId=e.useSelectedAlertId;exports.useTextFilterHook=e.useTextFilterHook;exports.DEFAULT_CALENDAR_CONTEXT=D.DEFAULT_CALENDAR_CONTEXT;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=D.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.EMPTY_SELECTION=D.EMPTY_SELECTION;exports.CalendarPreferencesDialog=E.CalendarPreferencesDialog;exports.DashboardSummarySettingsDialog=E.DashboardSummarySettingsDialog;exports.ResourceManagementPanel=v.ResourceManagementPanel;exports.useDebouncedDirtyCheck=P.useDebouncedDirtyCheck;exports.AdvancedModeToggle=p.AdvancedModeToggle;exports.ExportNotificationItem=p.ExportNotificationItem;exports.ExportNotificationList=p.ExportNotificationList;exports.NotificationBell=p.NotificationBell;exports.UnsavedChangesAlert=p.UnsavedChangesAlert;exports.VisualEditingControls=p.VisualEditingControls;exports.useExportPolling=p.useExportPolling;exports.useExportRecovery=p.useExportRecovery;exports.usePristineSnapshotInitializer=p.usePristineSnapshotInitializer;exports.normalizeDashboardForDirtyCheck=S.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=S.serializeDashboardForDirtyCheck;exports.Combobox=F;exports.ScheduleDashboard=R;exports.TenantQuotaPage=k;exports.Visual=M;exports.useExposePrintState=w;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-CYQV2kbT.js"),D=require("./types/index.cjs"),E=require("./chunks/dashboard-summary-settings-dialog-DXEx7VYT.js"),t=require("react/jsx-runtime"),C=require("react"),v=require("./chunks/resource-management-panel-xwPhr6Lm.js"),P=require("./chunks/use-debounced-dirty-check-XHSwAefL.js");require("react-dom");const p=require("./chunks/notification-bell-CfYK7Cx6.js"),S=require("./chunks/normalize-dashboard-for-dirty-check-B7NQDI1H.js");function _(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const n in r)if(n!=="default"){const i=Object.getOwnPropertyDescriptor(r,n);Object.defineProperty(a,n,i.get?i:{enumerable:!0,get:()=>r[n]})}}return a.default=r,Object.freeze(a)}const A=_(C);function M(r){const{displayPreferences:a,...n}=r,i={...n,id:r.dashboardId};return t.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:t.jsxs(e.SemaphorContextProvider,{dashboardProps:i,children:[t.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:r.cardId}),t.jsx(e.UXProvider,{children:t.jsx(e.DisplayPreferencesProvider,{displayPreferences:a,children:t.jsx(e.Container,{type:"visual",...i,children:t.jsx(I,{cardId:r.cardId})})})})]})})}function I({cardId:r}){const a=e.useDashboardStore(o=>{var u;return(u=o.dashboard)==null?void 0:u.sheets}),{card:n,frame:i}=C.useMemo(()=>{const o=a==null?void 0:a.flatMap(s=>s.frames),u=o==null?void 0:o.flatMap(s=>s==null?void 0:s.cards),d=u==null?void 0:u.find(s=>(s==null?void 0:s.id)===r),l=o==null?void 0:o.find(s=>{var m;return(m=s==null?void 0:s.cards)==null?void 0:m.find(h=>(h==null?void 0:h.id)===r)});return{card:d,frame:l}},[a,r]);return!n||!i?t.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${r}`}):t.jsx("main",{className:"flex h-full grow flex-col",children:t.jsx(e.ErrorBoundary,{FallbackComponent:({error:o,resetErrorBoundary:u})=>t.jsx(e.FallbackVisual,{error:o,resetErrorBoundary:u,customerFacingMessage:"Error creating visual. Please try again."}),children:t.jsx(e.DashboardCard,{card:n,frame:i})})})}function F({name:r,items:a,value:n,onChange:i,isLoading:o,isError:u,refetch:d,className:l,icon:s,showNone:m=!1}){const h=A.useRef(null),[f,y]=A.useState(!1),[b,N]=A.useState("100%"),g=m?[...a||[],{id:"none",name:"None"}]:a;A.useLayoutEffect(()=>{h.current&&N(h.current.offsetWidth)},[]);function T(){var c;return o?"Loading...":u?"Error":n?(c=a==null?void 0:a.find(x=>x.id===n))==null?void 0:c.name:`Select ${r}`}function j(c,x){i(x),y(!1)}return t.jsxs(e.Popover,{open:f,onOpenChange:y,children:[t.jsx(e.PopoverTrigger,{asChild:!0,children:t.jsxs(e.Button,{ref:h,variant:"outline",role:"combobox","aria-expanded":f,className:e.cn("flex h-9 w-full justify-between",l),children:[t.jsxs("div",{className:"flex items-center gap-2",children:[s&&t.jsx("div",{className:"mr-2",children:s}),t.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:T()})]}),t.jsx(e.ChevronDown,{className:"size-4 opacity-50"})]})}),t.jsx(e.PopoverContent,{className:"w-full p-0",style:{minWidth:b},children:t.jsxs(e.Command,{children:[t.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[t.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),t.jsx(e.IconButton,{className:"h-7",onClick:d,children:t.jsx(e.RefreshCw,{className:e.cn("size-3.5 opacity-50",o&&"animate-spin")})})]}),t.jsxs(e.CommandList,{children:[t.jsxs(e.CommandEmpty,{children:["No ",r==null?void 0:r.toLowerCase()," found."]}),t.jsx(e.CommandGroup,{children:g==null?void 0:g.map(c=>t.jsx(e.CommandItem,{className:"overflow-x-auto",value:c.name,onSelect:x=>j(x,c.id),children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(e.Check,{className:e.cn("size-4",n===c.id?"opacity-100":"opacity-0")}),t.jsx("div",{title:c.name,children:c.name})]})},c.id))})]})]})})]})}function R({triggerButtonClassName:r,variant:a="ghost"}){const[n,i]=C.useState(!1),o=e.useDashboardStore(d=>{var l;return(l=d.dashboard)==null?void 0:l.id}),u=e.useDashboardStore(d=>{var l;return(l=d.dashboard)==null?void 0:l.title});return o?t.jsxs(t.Fragment,{children:[t.jsx(e.IconButton,{tooltip:"Schedule Dashboard",className:e.cn("h-7 p-2",r),buttonProps:{variant:a},onClick:()=>i(!0),children:t.jsx(e.Clock,{className:"size-4"})}),t.jsx(e.EmailScheduleDialog,{open:n,onOpenChange:i,dashboardId:o,dashboardName:u})]}):null}function w(r,a){C.useEffect(()=>(r&&a&&(window.__SEMAPHOR_PRINT_STATE__={...a}),()=>{r&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[r,a])}function k(){var u,d;const{quotasQuery:r,usageQuery:a}=e.useAlertQuotas(),n=((u=r.data)==null?void 0:u.quotas)||[],i=((d=a.data)==null?void 0:d.usage)||[],o=new Map(i.map(l=>[l.tenantId||"org",l]));return t.jsxs("div",{className:"space-y-4 p-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h2",{className:"text-xl font-semibold",children:"Alert Quotas"}),t.jsx(e.Button,{variant:"outline",size:"sm",onClick:()=>{r.refetch(),a.refetch()},children:"Refresh"})]}),r.isLoading||a.isLoading?t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading quota usage..."}):null,t.jsx("div",{className:"overflow-hidden rounded-lg border",children:t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{className:"bg-muted/40",children:t.jsxs("tr",{children:[t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Tenant"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Active Alerts"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Max Active"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Min Cadence"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Max Context Sources"})]})}),t.jsx("tbody",{children:n.map(l=>{const s=l.tenantId||"org",m=o.get(s);return t.jsxs("tr",{className:"border-t",children:[t.jsx("td",{className:"px-3 py-2",children:s}),t.jsx("td",{className:"px-3 py-2",children:(m==null?void 0:m.activeAlerts)??0}),t.jsx("td",{className:"px-3 py-2",children:l.policy.maxActiveAlerts}),t.jsxs("td",{className:"px-3 py-2",children:[l.policy.minCadenceMinutes," min"]}),t.jsx("td",{className:"px-3 py-2",children:l.policy.maxContextSources})]},s)})})]})})]})}exports.AlertCreationDialog=e.AlertCreationDialog;exports.AlertManagementPage=e.AlertManagementPage;exports.AlertsApiError=e.AlertsApiError;exports.CALCULATED_FIELD_ENTITY_MARKER=e.CALCULATED_FIELD_ENTITY_MARKER;exports.CardAlertIndicator=e.CardAlertIndicator;exports.CardSummary=e.CardSummary;exports.DATE_FORMAT_VALUES=e.DATE_FORMAT_VALUES;exports.Dashboard=e.Dashboard;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.EmailScheduleDialog=e.EmailScheduleDialog;exports.ExportError=e.ExportError;exports.PivotMarkerEnum=e.PivotMarkerEnum;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.backtestAlert=e.backtestAlert;exports.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createAlert=e.createAlert;exports.createEmptyKpiConfig=e.createEmptyKpiConfig;exports.createExport=e.createExport;exports.createSqlGenConfig=e.createSqlGenConfig;exports.deleteAlert=e.deleteAlert;exports.downloadPdf=e.downloadPdf;exports.emitDashboardLoad=e.emitDashboardLoad;exports.emitDashboardUnload=e.emitDashboardUnload;exports.fmt=e.fmt;exports.formatFileSize=e.formatFileSize;exports.getAlert=e.getAlert;exports.getAlertContextSources=e.getAlertContextSources;exports.getAlertHistory=e.getAlertHistory;exports.getAlertQuotaUsage=e.getAlertQuotaUsage;exports.getAlertRunDeliveries=e.getAlertRunDeliveries;exports.getAlertRunSteps=e.getAlertRunSteps;exports.getAlertRuns=e.getAlertRuns;exports.getAlertState=e.getAlertState;exports.getColumnDataType=e.getColumnDataType;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.getFilterValueType=e.getFilterValueType;exports.getFormattedTableNameForQuery=e.getFormattedTableNameForQuery;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.interpretAlertContext=e.interpretAlertContext;exports.invalidateToken=e.invalidateToken;exports.isBooleanDataType=e.isBooleanDataType;exports.isCalculatedDimension=e.isCalculatedDimension;exports.isCalculatedField=e.isCalculatedField;exports.isCalculatedMetric=e.isCalculatedMetric;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.isDateDataType=e.isDateDataType;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.isNumberDataType=e.isNumberDataType;exports.isTextDataType=e.isTextDataType;exports.listAlertQuotas=e.listAlertQuotas;exports.listAlerts=e.listAlerts;exports.previewAlertDeliverable=e.previewAlertDeliverable;exports.resolveDataType=e.resolveDataType;exports.resolveDatamodelName=e.resolveDatamodelName;exports.triggerAlertNow=e.triggerAlertNow;exports.updateAlert=e.updateAlert;exports.updateAlertContextSources=e.updateAlertContextSources;exports.updateAlertQuota=e.updateAlertQuota;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useAlertActions=e.useAlertActions;exports.useAlertBacktest=e.useAlertBacktest;exports.useAlertContextBuilder=e.useAlertContextBuilder;exports.useAlertDeliveries=e.useAlertDeliveries;exports.useAlertDetail=e.useAlertDetail;exports.useAlertDraft=e.useAlertDraft;exports.useAlertFilters=e.useAlertFilters;exports.useAlertHistory=e.useAlertHistory;exports.useAlertQuotas=e.useAlertQuotas;exports.useAlertRuns=e.useAlertRuns;exports.useAlertState=e.useAlertState;exports.useAlertStore=e.useAlertStore;exports.useAlerts=e.useAlerts;exports.useAlertsBootstrap=e.useAlertsBootstrap;exports.useAlertsById=e.useAlertsById;exports.useAlertsForCard=e.useAlertsForCard;exports.useCard=e.useCard;exports.useCardAlertMap=e.useCardAlertMap;exports.useCardSummary=e.useCardSummary;exports.useCurrentActiveCard=e.useCurrentActiveCard;exports.useCurrentCardConfig=e.useCurrentCardConfig;exports.useCurrentSheetActiveCards=e.useCurrentSheetActiveCards;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardStore=e.useDashboardStore;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorAside=e.useEditorAside;exports.useEditorStore=e.useEditorStore;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useSelectedAlertId=e.useSelectedAlertId;exports.useTextFilterHook=e.useTextFilterHook;exports.DEFAULT_CALENDAR_CONTEXT=D.DEFAULT_CALENDAR_CONTEXT;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=D.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.EMPTY_SELECTION=D.EMPTY_SELECTION;exports.CalendarPreferencesDialog=E.CalendarPreferencesDialog;exports.DashboardSummarySettingsDialog=E.DashboardSummarySettingsDialog;exports.ResourceManagementPanel=v.ResourceManagementPanel;exports.useDebouncedDirtyCheck=P.useDebouncedDirtyCheck;exports.AdvancedModeToggle=p.AdvancedModeToggle;exports.ExportNotificationItem=p.ExportNotificationItem;exports.ExportNotificationList=p.ExportNotificationList;exports.NotificationBell=p.NotificationBell;exports.UnsavedChangesAlert=p.UnsavedChangesAlert;exports.VisualEditingControls=p.VisualEditingControls;exports.useExportPolling=p.useExportPolling;exports.useExportRecovery=p.useExportRecovery;exports.usePristineSnapshotInitializer=p.usePristineSnapshotInitializer;exports.normalizeDashboardForDirtyCheck=S.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=S.serializeDashboardForDirtyCheck;exports.Combobox=F;exports.ScheduleDashboard=R;exports.TenantQuotaPage=k;exports.Visual=M;exports.useExposePrintState=w;
|