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.
Files changed (38) hide show
  1. package/dist/chunks/{dashboard-controls-DIFPVHkq.js → dashboard-controls-Bbjg39W1.js} +1 -1
  2. package/dist/chunks/{dashboard-controls-m-rn9O15.js → dashboard-controls-CydTgB8b.js} +5 -5
  3. package/dist/chunks/{dashboard-json-CJ1HKDT6.js → dashboard-json-BqhlPxCk.js} +1 -1
  4. package/dist/chunks/{dashboard-json-HWBQuWn2.js → dashboard-json-Dh0BCAEU.js} +1 -1
  5. package/dist/chunks/{dashboard-summary-settings-dialog-DlwLS77e.js → dashboard-summary-settings-dialog-DMGeFM9N.js} +1 -1
  6. package/dist/chunks/{dashboard-summary-settings-dialog-DvLyjGhq.js → dashboard-summary-settings-dialog-DXEx7VYT.js} +1 -1
  7. package/dist/chunks/date-formatter-BeFtqSQ2.js +1978 -0
  8. package/dist/chunks/date-formatter-CZ8p6ngp.js +1 -0
  9. package/dist/chunks/{edit-dashboard-visual-BVlA_vRb.js → edit-dashboard-visual-BSHC5QiP.js} +3332 -3316
  10. package/dist/chunks/{edit-dashboard-visual-B5jatJ2M.js → edit-dashboard-visual-DcLZThas.js} +12 -12
  11. package/dist/chunks/{editor-action-buttons-Bq-ENC_B.js → editor-action-buttons-C_zLw3Aj.js} +1 -1
  12. package/dist/chunks/{editor-action-buttons-d64iA8wP.js → editor-action-buttons-lDMI1SQ2.js} +2 -2
  13. package/dist/chunks/{index-0u2X3G_x.js → index-C1qXov_Z.js} +29107 -28684
  14. package/dist/chunks/index-CYQV2kbT.js +1103 -0
  15. package/dist/chunks/{notification-bell-Cu4JA2Rs.js → notification-bell-CfYK7Cx6.js} +1 -1
  16. package/dist/chunks/{notification-bell-DpxVIL-E.js → notification-bell-CuEbhFaL.js} +18 -18
  17. package/dist/chunks/{resource-management-panel-CJXupZdG.js → resource-management-panel-G3XJbfPx.js} +2 -2
  18. package/dist/chunks/{resource-management-panel-JiF_3jpj.js → resource-management-panel-xwPhr6Lm.js} +1 -1
  19. package/dist/chunks/{use-visual-utils-yUJHf_h7.js → use-visual-utils-Cdm8jbGc.js} +1 -1
  20. package/dist/chunks/{use-visual-utils-C8_xz-xH.js → use-visual-utils-Du-m-SYb.js} +1 -1
  21. package/dist/dashboard/index.cjs +1 -1
  22. package/dist/dashboard/index.js +1 -1
  23. package/dist/format-utils/index.cjs +5 -5
  24. package/dist/format-utils/index.js +171 -305
  25. package/dist/index.cjs +1 -1
  26. package/dist/index.js +5 -5
  27. package/dist/surfboard/index.cjs +1 -1
  28. package/dist/surfboard/index.js +2 -2
  29. package/dist/types/dashboard.d.ts +54 -0
  30. package/dist/types/format-utils.d.ts +5 -0
  31. package/dist/types/main.d.ts +50 -4
  32. package/dist/types/shared.d.ts +49 -0
  33. package/dist/types/surfboard.d.ts +54 -0
  34. package/dist/types/types.d.ts +54 -0
  35. package/package.json +1 -1
  36. package/dist/chunks/date-formatter-Sz6QDaM8.js +0 -1
  37. package/dist/chunks/date-formatter-Y8Za1ib3.js +0 -1813
  38. package/dist/chunks/index-CyHBRhlz.js +0 -1103
@@ -1,174 +1,40 @@
1
- import { f as N, a as I } from "../chunks/date-formatter-Y8Za1ib3.js";
2
- import { g as Y, b as Z, p as F, r as p } from "../chunks/date-formatter-Y8Za1ib3.js";
3
- const b = [
4
- { value: 1e12, suffix: "T" },
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 N(
141
- l,
6
+ return V(
7
+ u,
142
8
  (e == null ? void 0 : e.sourceTimezone) || "auto"
143
9
  );
144
- const m = e != null && e.useCustomFormat && (e != null && e.customFormat) ? e.customFormat : (e == null ? void 0 : e.format) || "MM/dd/yyyy";
145
- return I(
146
- l,
147
- m,
148
- e != null && e.timezone && (e == null ? void 0 : e.timezone) !== "auto" ? e.timezone : i ? f : u,
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 P(r, e, u) {
18
+ function L(r, e, n) {
153
19
  if (r == null)
154
20
  return "";
155
- if (!u.useFormattedValues || !e)
21
+ if (!n.useFormattedValues || !e)
156
22
  return String(r);
157
23
  switch (e.type) {
158
24
  case "number":
159
- return typeof r == "number" ? d(
25
+ return typeof r == "number" ? h(
160
26
  r,
161
27
  e.numberFormat,
162
- u.locale
28
+ n.locale
163
29
  ) : String(r);
164
30
  case "date":
165
- return R(
31
+ return z(
166
32
  r,
167
33
  e.dateFormat,
168
- u.timezone,
34
+ n.timezone,
169
35
  {
170
- browserTimezone: u.browserTimezone,
171
- isSqlCard: u.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 A(r, e) {
185
- return e.visibleColumns.map((u) => {
186
- const c = r[u], l = e.columnSettings[u];
187
- return P(c, l, {
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 h(r, e = ",") {
60
+ function p(r, e = ",") {
195
61
  if (r == null)
196
62
  return "";
197
- const u = String(r);
198
- return u.includes(e) || u.includes('"') || u.includes(`
199
- `) || u.includes("\r") ? `"${u.replace(/"/g, '""')}"` : u;
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 S(r, e = ",") {
202
- return r.map((u) => h(u, e)).join(e);
67
+ function f(r, e = ",") {
68
+ return r.map((n) => p(n, e)).join(e);
203
69
  }
204
- function H(r, e = {}) {
205
- const { delimiter: u = ",", lineEnding: c = `
70
+ function E(r, e = {}) {
71
+ const { delimiter: n = ",", lineEnding: s = `
206
72
  ` } = e;
207
- return r.map((l) => S(l, u)).join(c);
73
+ return r.map((u) => f(u, n)).join(s);
208
74
  }
209
- function K(r, e = {}) {
75
+ function N(r, e = {}) {
210
76
  if (r.length === 0)
211
77
  return "";
212
78
  const {
213
- delimiter: u = ",",
214
- lineEnding: c = `
79
+ delimiter: n = ",",
80
+ lineEnding: s = `
215
81
  `,
216
- includeHeaders: l = !0,
217
- columns: f
218
- } = e, i = f || Object.keys(r[0]), m = [];
219
- l && m.push(i);
220
- for (const n of r) {
221
- const s = i.map((y) => {
222
- const a = n[y];
223
- return a == null ? "" : String(a);
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
- m.push(s);
91
+ o.push(m);
226
92
  }
227
- return H(m, { delimiter: u, lineEnding: c });
93
+ return E(o, { delimiter: n, lineEnding: s });
228
94
  }
229
- function C(r, e) {
230
- const u = [];
231
- e.includeHeaders && u.push(S(e.visibleColumns, e.delimiter));
232
- for (const c of r) {
233
- const l = A(c, e);
234
- u.push(
235
- l.map((f) => h(f, e.delimiter)).join(e.delimiter)
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 u;
104
+ return n;
239
105
  }
240
- function X(r, e, u = `
106
+ function P(r, e, n = `
241
107
  `) {
242
- return C(r, e).join(u);
108
+ return H(r, e).join(n);
243
109
  }
244
- function M(r, e, u) {
245
- return r == null ? "" : u.useFormattedValues ? typeof r == "number" && (e == null ? void 0 : e.type) === "number" ? d(
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
- u.locale
249
- ) : typeof r == "number" ? r.toLocaleString(u.locale) : String(r) : String(r);
114
+ n.locale
115
+ ) : typeof r == "number" ? r.toLocaleString(n.locale) : String(r) : String(r);
250
116
  }
251
- function j(r, e, u) {
252
- var l, f;
253
- const c = [];
117
+ function A(r, e, n) {
118
+ var u, l;
119
+ const s = [];
254
120
  if (r.isSubtotal && !r.isGrandTotal) {
255
- const i = e.groupByColumns.findIndex(
256
- (m) => m.alias === r.subtotalLevel
121
+ const t = e.groupByColumns.findIndex(
122
+ (o) => o.alias === r.subtotalLevel
257
123
  );
258
- e.groupByColumns.forEach((m, n) => {
259
- var s, y, a, x;
260
- if (n === i) {
261
- const w = (y = (s = e.rowAggregates) == null ? void 0 : s.find(
262
- (V) => V.groupLevel === r.subtotalLevel
263
- )) == null ? void 0 : y.label, g = (x = (a = r.subtotalContext) == null ? void 0 : a.groupByValues) == null ? void 0 : x[m.alias];
264
- c.push(w ?? `Subtotal (${g ?? "Total"})`);
265
- } else n < i ? c.push(String(r[m.alias] ?? "")) : c.push("");
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 i = (f = (l = e.rowAggregates) == null ? void 0 : l.find(
269
- (m) => m.groupLevel === "ALL"
270
- )) == null ? void 0 : f.label;
271
- c.push(i || "Grand Total"), e.groupByColumns.slice(1).forEach(() => c.push(""));
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((i) => {
274
- c.push(String(r[i.alias] ?? ""));
139
+ e.groupByColumns.forEach((t) => {
140
+ s.push(String(r[t.alias] ?? ""));
275
141
  });
276
- return e.pivotSchema.filter((i) => i.isMetricColumn).forEach((i) => {
277
- const m = r[i.alias], n = u.columnSettings[i.alias];
278
- c.push(M(m, n, u));
279
- }), c;
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 G(r) {
147
+ function B(r) {
282
148
  const e = r.groupByColumns.map(
283
- (c) => c.label || c.name
284
- ), u = r.pivotSchema.filter((c) => c.isMetricColumn).map((c) => c.displayLabel || c.metricLabel || c.metricName || c.alias);
285
- return [...e, ...u];
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 _(r, e, u) {
288
- const c = [];
289
- if (u.includeHeaders) {
290
- const l = G(e);
291
- c.push(S(l, u.delimiter));
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 l of r) {
294
- const f = j(
295
- l,
159
+ for (const u of r) {
160
+ const l = A(
161
+ u,
296
162
  e,
297
- u
163
+ n
298
164
  );
299
- c.push(
300
- f.map((i) => h(i, u.delimiter)).join(u.delimiter)
165
+ s.push(
166
+ l.map((t) => p(t, n.delimiter)).join(n.delimiter)
301
167
  );
302
168
  }
303
- return c;
169
+ return s;
304
170
  }
305
- function T(r, e, u) {
306
- for (const c of r) {
307
- if (c.level < u) {
308
- e[c.level].push(c.name);
309
- for (let l = 1; l < c.colspan; l++)
310
- e[c.level].push("");
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
- c.children ? T(c.children, e, u) : c.columnKey && e[u].push(c.name);
178
+ s.children ? S(s.children, e, n) : s.columnKey && e[n].push(s.name);
313
179
  }
314
180
  }
315
- function U(r) {
316
- const e = r.pivotByColumns.length, u = r.groupByColumns.length, c = Array.from(
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 l = 0; l < e; l++)
321
- c[l].push(...Array(u).fill(""));
322
- if (c[e].push(
323
- ...r.groupByColumns.map((l) => l.label || l.name)
324
- ), T(r.columnHeadersTree, c, e), r.showRowTotals) {
325
- for (let l = 0; l < e; l++)
326
- c[l].push("");
327
- c[e].push("Total");
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 c;
195
+ return s;
330
196
  }
331
- function q(r, e, u) {
197
+ function x(r, e, n) {
332
198
  if (r == null)
333
199
  return "";
334
- if (!u.useFormattedValues)
200
+ if (!n.useFormattedValues)
335
201
  return String(r);
336
- const c = u.columnSettings[e];
337
- return typeof r == "number" && (c == null ? void 0 : c.type) === "number" ? d(
202
+ const s = n.columnSettings[e];
203
+ return typeof r == "number" && (s == null ? void 0 : s.type) === "number" ? h(
338
204
  r,
339
- c.numberFormat,
340
- u.locale
341
- ) : typeof r == "number" ? r.toLocaleString(u.locale) : String(r);
205
+ s.numberFormat,
206
+ n.locale
207
+ ) : typeof r == "number" ? r.toLocaleString(n.locale) : String(r);
342
208
  }
343
- function O(r, e, u) {
344
- const c = [];
345
- r.fieldValues.forEach((f, i) => {
346
- r.isSubtotal && i === 0 ? c.push(`${f} Total`) : r.isSubtotal ? c.push("") : c.push(String(f ?? ""));
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 l = 0;
349
- return e.columnHeaders.forEach((f) => {
350
- var n;
351
- const i = (n = r.cells[f]) == null ? void 0 : n.value, m = q(i, f, u);
352
- c.push(m), e.showRowTotals && typeof i == "number" && (l += i);
353
- }), e.showRowTotals && c.push(l.toLocaleString(u.locale)), c;
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 v(r, e, u) {
356
- const c = [];
357
- if (u.includeHeaders) {
358
- const l = U(e);
359
- for (const f of l)
360
- c.push(S(f, u.delimiter));
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 l of r) {
363
- const f = O(
364
- l,
228
+ for (const u of r) {
229
+ const l = D(
230
+ u,
365
231
  e,
366
- u
232
+ n
367
233
  );
368
- c.push(
369
- f.map((i) => h(i, u.delimiter)).join(u.delimiter)
234
+ s.push(
235
+ l.map((t) => p(t, n.delimiter)).join(n.delimiter)
370
236
  );
371
237
  }
372
- return c;
238
+ return s;
373
239
  }
374
240
  export {
375
- H as arrayToCSV,
376
- S as arrayToCSVRow,
377
- h as escapeCSVValue,
378
- j as formatAggregateRow,
379
- _ as formatAggregateTableForCSV,
380
- P as formatCellValue,
381
- z as formatCurrency,
382
- I as formatDate,
383
- $ as formatNumber,
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
- d as formatNumberWithColumnSettings,
386
- B as formatPercent,
387
- O as formatPivotDataRow,
388
- v as formatPivotTableForCSV,
389
- N as formatRelativeTime,
390
- A as formatRowForExport,
391
- E as formatScientific,
392
- C as formatTableForCSV,
393
- G as generateAggregateHeaders,
394
- U as generatePivotHeaders,
395
- X as generateTableCSV,
396
- Y as getTimezoneAbbreviation,
397
- Z as getTimezoneName,
398
- K as objectsToCSV,
399
- F as parseWithSourceTimezone,
400
- p as resolveTimezone
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;