react-semaphor 0.1.556 → 0.1.558

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 (79) hide show
  1. package/DATA_APP_SDK.md +6 -29
  2. package/dist/analytics-protocol/index.js +19 -20
  3. package/dist/assistant-context/index.js +1 -1
  4. package/dist/brand-studio/index.js +28 -29
  5. package/dist/briefings/index.js +55 -56
  6. package/dist/chunks/{assistant-chat-C7Acww1T.js → assistant-chat-BCWoP6Rf.js} +78 -80
  7. package/dist/chunks/{bookmark-state-7iZErWnR.js → bookmark-state-PjQpxbG7.js} +3 -3
  8. package/dist/chunks/{braces-o9UiRQes.js → braces-D5Ucy7q1.js} +1 -1
  9. package/dist/chunks/{comparison-window-caption-BseG5aOZ.js → comparison-window-caption-Dc7BaCMz.js} +186 -189
  10. package/dist/chunks/{custom-visual-inputs-ChuKjx27.js → custom-visual-inputs-B-DLRGrV.js} +1 -2
  11. package/dist/chunks/{dashboard-briefing-launcher-qrYd2zkN.js → dashboard-briefing-launcher-Coqghdn6.js} +148 -150
  12. package/dist/chunks/{dashboard-controls-BsapXI2H.js → dashboard-controls-BYWSM2RM.js} +170 -172
  13. package/dist/chunks/{dashboard-json-CJqPqYnI.js → dashboard-json-pPTB5gj0.js} +20 -21
  14. package/dist/chunks/{dashboard-BU6rE5kV.js → dashboard-wK6Bai4V.js} +1 -1
  15. package/dist/chunks/{document-dashboard-inputs-BNSprf5_.js → document-dashboard-inputs-PY_7Xm55.js} +31 -31
  16. package/dist/chunks/{edit-dashboard-visual-CjAdV-WG.js → edit-dashboard-visual-BODxuUeq.js} +7505 -7990
  17. package/dist/chunks/{filter-reach-copy-BTrqtFkh.js → filter-reach-copy-BvJH9JO-.js} +148 -149
  18. package/dist/chunks/{filter-value-text-CJTJDCym.js → filter-value-text-CUBpotVN.js} +3 -3
  19. package/dist/chunks/{global-date-filter-utils-CTVf3dG3.js → global-date-filter-utils-BsFqnnbA.js} +1396 -1391
  20. package/dist/chunks/{index-dIV-Gdsb.js → index-CJW5BdWT.js} +23 -24
  21. package/dist/chunks/{index-B_vIRa-q.js → index-DP_wQl0v.js} +70 -72
  22. package/dist/chunks/{layout-grid-Bgzth8vd.js → layout-grid-CkoXmv0L.js} +1 -1
  23. package/dist/chunks/{list-filter-DsaTbM3J.js → list-filter-B4i25kuc.js} +1 -1
  24. package/dist/chunks/{matrix-analytical-definition-Cg0ioFGQ.js → matrix-analytical-definition-4GTUDheD.js} +3 -3
  25. package/dist/chunks/{matrix-card-yYibXSw1.js → matrix-card-fS_4O7zA.js} +2 -2
  26. package/dist/chunks/{matrix-member-presentation-DEEauKXC.js → matrix-member-presentation-Dj7HaAHC.js} +1 -1
  27. package/dist/chunks/{matrix-operation-contract-C1G6AJNh.js → matrix-operation-contract-CpgLZ7E5.js} +21 -21
  28. package/dist/chunks/{metric-comparison-BfcmwxM1.js → metric-comparison-C8LY7GG5.js} +1 -1
  29. package/dist/chunks/{palette-D10o_yYX.js → palette-stlpjVk4.js} +1 -1
  30. package/dist/chunks/{matrix-formatter-C2kjsCDf.js → pivot-result-contract-expectations-DMk-mKhG.js} +444 -395
  31. package/dist/chunks/{pivot-result-identity-CWi5WrrY.js → pivot-result-identity-CrQ54Xbj.js} +1 -1
  32. package/dist/chunks/{raw-temporal-presentation-DWzLIHc3.js → raw-temporal-presentation-BI2z2LlB.js} +24 -25
  33. package/dist/chunks/report-preferences-dialog-Dc-YyVwf.js +2109 -0
  34. package/dist/chunks/{report-runtime-context-BgM-iNWB.js → report-runtime-context-CohdtiMg.js} +1 -1
  35. package/dist/chunks/{resolve-dashboard-input-context-Df8V5QHW.js → resolve-dashboard-input-context-BZYI1hB0.js} +225 -227
  36. package/dist/chunks/{save-CfJpQQ68.js → save-C1dgxgAu.js} +1 -1
  37. package/dist/chunks/{saved-dashboard-context-VvXI6r03.js → saved-dashboard-context-CIBoMq46.js} +8 -8
  38. package/dist/chunks/selection-reducer-_d6aKJnj.js +46 -0
  39. package/dist/chunks/{semaphor-ready-indicator-fejZmdq9.js → semaphor-ready-indicator-ERTLU7B4.js} +43497 -49629
  40. package/dist/chunks/{shelf-drop-preview-context-BuTCXe-S.js → shelf-drop-preview-context-fEnx6iL_.js} +6 -6
  41. package/dist/chunks/{source-entity-resolution-B46EZIzX.js → source-entity-resolution-DXW1HpKf.js} +1 -1
  42. package/dist/chunks/{switch-Bq92UGId.js → switch-BqUan2mN.js} +1430 -1341
  43. package/dist/chunks/{table-export-sheet-noKl8-en.js → table-export-sheet-CTCTA_bd.js} +1 -1
  44. package/dist/chunks/{table-settings-PpINOzw8.js → table-settings-DF1gdVQR.js} +2 -2
  45. package/dist/chunks/temporal-input-presentation-DoSniQj1.js +2939 -0
  46. package/dist/chunks/{token-types--0bgRCaO.js → token-types-DFyLflLY.js} +1 -1
  47. package/dist/chunks/{upload-BFX7apKV.js → upload-DcoyjkRV.js} +1 -1
  48. package/dist/chunks/{use-create-flow-overlay-state-Cz-ve64t.js → use-create-flow-overlay-state-xhb9YFg-.js} +124 -126
  49. package/dist/chunks/{validators-CZo_H4E6.js → validators-hmfNNQz8.js} +5 -5
  50. package/dist/chunks/zoned-wall-clock-E35Frf9v.js +191 -0
  51. package/dist/dashboard/index.js +2 -2
  52. package/dist/dashboard-authoring/index.js +131 -132
  53. package/dist/data-app-sdk/index.js +788 -4153
  54. package/dist/data-app-sdk-adapters/index.js +2 -2
  55. package/dist/data-app-sdk-validation/index.js +5 -5
  56. package/dist/format-utils/index.js +230 -233
  57. package/dist/index.js +217 -218
  58. package/dist/layouts/index.js +1 -1
  59. package/dist/report-runtime-context/index.js +1 -1
  60. package/dist/style.css +1 -1
  61. package/dist/surfboard/index.js +2 -2
  62. package/dist/types/data-app-sdk/contracts.d.ts +0 -146
  63. package/dist/types/data-app-sdk/index.d.ts +0 -2
  64. package/dist/types/index.js +6 -6
  65. package/dist/types/lib/charts/types.d.ts +1 -2
  66. package/dist/types/lib/types/common-types.d.ts +0 -10
  67. package/dist/types/shared/dashboard-authoring/filter-model/filter-definitions.d.ts +1 -7
  68. package/package.json +1 -4
  69. package/src/data-app-sdk/README.md +7 -31
  70. package/dist/chunks/pivot-result-contract-expectations-fKBHFPfz.js +0 -56
  71. package/dist/chunks/raw-temporal-contract-CjHaUIsE.js +0 -64
  72. package/dist/chunks/report-preferences-dialog-D_wrbIQt.js +0 -2261
  73. package/dist/chunks/selection-reducer-By4CSmEF.js +0 -111
  74. package/dist/chunks/temporal-bucket-DzyadxVY.js +0 -2071
  75. package/dist/chunks/temporal-input-presentation-CJWS4d0L.js +0 -879
  76. package/dist/chunks/x-4f5U2XwU.js +0 -100
  77. package/dist/chunks/zoned-wall-clock-MulfA26h.js +0 -129
  78. package/dist/types/data-app-sdk/devtools/index.d.ts +0 -49
  79. package/dist/types/data-app-sdk/devtools.d.ts +0 -1
@@ -1,19 +1,16 @@
1
1
  var Ke = Object.defineProperty;
2
2
  var Ve = (e, t, r) => t in e ? Ke(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
3
  var ae = (e, t, r) => Ve(e, typeof t != "symbol" ? t + "" : t, r);
4
- import { i as Ue, h as N, l as je, c as Be, p as ze, J as He, f as V, E as Xe, F as Ge, G as qe, I as We } from "./temporal-bucket-DzyadxVY.js";
5
- import { i as Ee, m as J, j as Fe, k as Ye, l as Se, a as se, d as Ze, n as L } from "./matrix-formatter-C2kjsCDf.js";
6
- import { h as H, e as Je, p as Qe, k as et } from "./export-file-format-C-tJsxsf.js";
7
- import { aI as O, ab as tt, t as B, aH as rt, v as Q, u as nt } from "./validators-CZo_H4E6.js";
8
- import "./matrix-operation-contract-C1G6AJNh.js";
4
+ import { i as Ue, k as N, n as je, ad as Ee, c as Be, p as ze, a6 as He, a as Xe, b as V, Q as se, a1 as Ge, O as qe, a2 as We, a3 as Ye, P as ie, I as Ze, K as Je, S as Qe, a5 as et, aj as R } from "./temporal-input-presentation-DoSniQj1.js";
5
+ import { i as Se, m as J, l as Fe, n as tt, o as ke, a as le, d as rt, j as nt, q as L } from "./pivot-result-contract-expectations-DMk-mKhG.js";
6
+ import { h as H, e as ot, p as at, k as st } from "./export-file-format-C-tJsxsf.js";
7
+ import { aI as O, ab as it, t as B, aH as lt, v as Q, u as ct } from "./validators-hmfNNQz8.js";
8
+ import "./matrix-operation-contract-CpgLZ7E5.js";
9
9
  import "./analytics-base-schemas-BUFUoO6G.js";
10
10
  import "zod";
11
- import { y as ke, a as ot, t as ie, s as at, P as le, l as st, o as it, v as lt, E as R } from "./temporal-input-presentation-CJWS4d0L.js";
12
- import { PDF_SAFETY_LIMIT_EXCEEDED as Me, getUtf8ByteLength as ct, FAST_PDF_POLICY as mt } from "../pdf-export-policy/index.js";
13
- import { p as ut } from "./pivot-result-contract-expectations-fKBHFPfz.js";
14
- import { c as dt, b as ce } from "./pivot-result-identity-CWi5WrrY.js";
15
- import { v as ft } from "./raw-temporal-contract-CjHaUIsE.js";
16
- import { g as pt } from "./zoned-wall-clock-MulfA26h.js";
11
+ import { PDF_SAFETY_LIMIT_EXCEEDED as Me, getUtf8ByteLength as ut, FAST_PDF_POLICY as mt } from "../pdf-export-policy/index.js";
12
+ import { c as dt, b as ce } from "./pivot-result-identity-CrQ54Xbj.js";
13
+ import { v as ft, g as pt } from "./zoned-wall-clock-E35Frf9v.js";
17
14
  function yt(e, t, r) {
18
15
  const n = {
19
16
  ...t,
@@ -45,7 +42,7 @@ function W(e, t, r) {
45
42
  })
46
43
  } : { value: e, text: yt(e, t, r) };
47
44
  }
48
- function me(e, t, r, n) {
45
+ function ue(e, t, r, n) {
49
46
  return e === null ? { value: e, text: null } : n === "percent" ? {
50
47
  value: e,
51
48
  text: N(e, {
@@ -66,13 +63,13 @@ function me(e, t, r, n) {
66
63
  })
67
64
  };
68
65
  }
69
- function ue(e, t) {
66
+ function me(e, t) {
70
67
  if (e === void 0) return t;
71
68
  if (!Number.isInteger(e) || e < 0 || e > 6)
72
69
  throw new RangeError("Comparison precision must be an integer from 0 to 6.");
73
70
  return e;
74
71
  }
75
- function xr(e, t) {
72
+ function wr(e, t) {
76
73
  const r = {
77
74
  mode: t.displayMode,
78
75
  current: W(
@@ -90,22 +87,22 @@ function xr(e, t) {
90
87
  e.delta,
91
88
  t.metricFormat,
92
89
  t.locale
93
- )), (t.displayMode === "percent_change" || t.displayMode === "both") && (r.percentChange = me(
90
+ )), (t.displayMode === "percent_change" || t.displayMode === "both") && (r.percentChange = ue(
94
91
  e.percentChange,
95
- ue(t.precision, 1),
92
+ me(t.precision, 1),
96
93
  t.locale,
97
94
  "percent"
98
- )), t.displayMode === "ratio" && (r.ratio = me(
95
+ )), t.displayMode === "ratio" && (r.ratio = ue(
99
96
  e.ratio,
100
- ue(t.precision, 2),
97
+ me(t.precision, 2),
101
98
  t.locale,
102
99
  "ratio"
103
100
  )), r;
104
101
  }
105
- const ht = /* @__PURE__ */ new Set(["second", "minute", "hour", "day", "month"]);
106
- function bt(e) {
102
+ const bt = /* @__PURE__ */ new Set(["second", "minute", "hour", "day", "month"]);
103
+ function ht(e) {
107
104
  const { presentation: t } = e;
108
- return e.formattedValues ? (t == null ? void 0 : t.kind) === "text" || (t == null ? void 0 : t.kind) === "measure" && t.format.type === "duration" ? "text" : (t == null ? void 0 : t.kind) === "temporal_bucket" ? ht.has(t.grain) ? "date" : "text" : (t == null ? void 0 : t.kind) === "datetime" ? "date" : e.dataType === "number" ? "number" : e.dataType === "boolean" ? "boolean" : e.dataType === "unknown" ? "by_value" : "text" : "by_value";
105
+ return e.formattedValues ? (t == null ? void 0 : t.kind) === "text" || (t == null ? void 0 : t.kind) === "measure" && t.format.type === "duration" ? "text" : (t == null ? void 0 : t.kind) === "temporal_bucket" ? bt.has(t.grain) ? "date" : "text" : (t == null ? void 0 : t.kind) === "datetime" ? "date" : e.dataType === "number" ? "number" : e.dataType === "boolean" ? "boolean" : e.dataType === "unknown" ? "by_value" : "text" : "by_value";
109
106
  }
110
107
  function gt(e) {
111
108
  const t = (o, l) => Number.isInteger(o) ? Math.min(20, Math.max(0, o)) : l, r = t(e.minimumFractionDigits, 0), n = Math.max(r, t(e.maximumFractionDigits, 2));
@@ -159,7 +156,7 @@ function Ct(e, t) {
159
156
  }
160
157
  }
161
158
  function de(e) {
162
- const t = bt(e), r = Ct(e, t);
159
+ const t = ht(e), r = Ct(e, t);
163
160
  return Object.freeze({
164
161
  key: e.key,
165
162
  label: e.label,
@@ -177,7 +174,7 @@ function fe(e) {
177
174
  const n = Number(e);
178
175
  return Number.isFinite(n) && (n !== 0 || r.length === 0);
179
176
  }
180
- const Et = Date.UTC(1900, 2, 1), Ft = Date.UTC(1e4, 0, 1), St = Date.UTC(1899, 11, 30), kt = 864e5;
177
+ const Et = Date.UTC(1900, 2, 1), St = Date.UTC(1e4, 0, 1), Ft = Date.UTC(1899, 11, 30), kt = 864e5;
181
178
  function Mt(e) {
182
179
  const t = Date.UTC(
183
180
  e.year,
@@ -187,8 +184,8 @@ function Mt(e) {
187
184
  e.minute,
188
185
  e.second
189
186
  );
190
- if (!(e.year < 1900 || !Number.isFinite(t)) && !(t < Et || t >= Ft))
191
- return (t - St) / kt;
187
+ if (!(e.year < 1900 || !Number.isFinite(t)) && !(t < Et || t >= St))
188
+ return (t - Ft) / kt;
192
189
  }
193
190
  function pe(e, t, r) {
194
191
  if (typeof e == "number")
@@ -219,21 +216,21 @@ function U(e) {
219
216
  return typeof t == "boolean" ? { kind: "boolean", text: r, value: t } : pe(t, r, !1) ?? o;
220
217
  }
221
218
  }
222
- function Tr(e) {
219
+ function vr(e) {
223
220
  return e.kind === "empty" ? "" : e.text;
224
221
  }
225
- const $e = 1e4, It = 1e6, Er = 5e6, Fr = 1024 ** 3, Sr = 1024 ** 3;
226
- function kr(e) {
222
+ const $e = 1e4, It = 1e6, Cr = 5e6, xr = 1024 ** 3, Tr = 1024 ** 3;
223
+ function Er(e) {
227
224
  return e > $e;
228
225
  }
229
- function Mr(e) {
226
+ function Sr(e) {
230
227
  return e.cardType === "matrixTable" ? "try-direct" : e.loadedRowCount === null || e.loadedRowCount <= $e ? "direct" : e.loadedRowCount <= It ? "background" : "blocked";
231
228
  }
232
- const Ir = {
229
+ const Fr = {
233
230
  rowLabels: "tabular",
234
231
  subtotals: "after"
235
232
  };
236
- function $r(e, t) {
233
+ function kr(e, t) {
237
234
  const r = t.rowLabels === "outline" ? { kind: "compact" } : e.layout.kind === "tabular" ? e.layout : { kind: "tabular", repeatLabels: !1 }, n = e.totals.rows;
238
235
  return {
239
236
  ...e,
@@ -258,7 +255,7 @@ function Lt(e) {
258
255
  }
259
256
  function Pt(e, t, r) {
260
257
  const n = e.descriptors.measures.filter(
261
- (s) => r.measureFormats[s.id] === void 0 && s.semanticFormat === void 0 && tt(s.column.dataType) === "number"
258
+ (s) => r.measureFormats[s.id] === void 0 && s.semanticFormat === void 0 && it(s.column.dataType) === "number"
262
259
  );
263
260
  if (n.length === 0) return r;
264
261
  const o = /* @__PURE__ */ new Set();
@@ -305,41 +302,41 @@ function Le(e, t, r) {
305
302
  return !(r != null && r.hasTextAffixes) && t.kind === "value" && (typeof t.value == "number" || O(t.value)) ? e : H(e);
306
303
  }
307
304
  function Rt(e, t, r) {
308
- const n = Ee(e.descriptors, t.presentation, r), o = e.columns.map((m) => {
305
+ const n = Se(e.descriptors, t.presentation, r), o = e.columns.map((u) => {
309
306
  var a;
310
- return m.kind === "measure" && ((a = n.measureSemantics.get(m.measureId)) == null ? void 0 : a.isNumeric) === !0;
311
- }), l = (m) => J([m], n.levels), s = (m, a, u) => Fe(m, a, t.presentation.totals[u], n.levels), c = e.columns.map((m) => {
312
- if (m.kind !== "measure") return m.label;
313
- const a = m.columnPath.map(l);
314
- return m.role !== "member" && a.push(s(m.columnPath, m.role, "columns")), [...a, m.label].join(" / ");
307
+ return u.kind === "measure" && ((a = n.measureSemantics.get(u.measureId)) == null ? void 0 : a.isNumeric) === !0;
308
+ }), l = (u) => J([u], n.levels), s = (u, a, m) => Fe(u, a, t.presentation.totals[m], n.levels), c = e.columns.map((u) => {
309
+ if (u.kind !== "measure") return u.label;
310
+ const a = u.columnPath.map(l);
311
+ return u.role !== "member" && a.push(s(u.columnPath, u.role, "columns")), [...a, u.label].join(" / ");
315
312
  }), f = Math.min(t.spec.columns.length, Math.max(
316
313
  0,
317
- ...e.columns.map((m) => m.kind === "measure" ? m.columnPath.length + (m.role !== "member" ? 1 : 0) : 0)
318
- )), d = Array.from({ length: f + 1 }, (m, a) => e.columns.map((u) => a === f ? u.label : u.kind !== "measure" ? "" : a < u.columnPath.length ? l(u.columnPath[a]) : a === u.columnPath.length && u.role !== "member" ? s(u.columnPath, u.role, "columns") : "")), b = (m, a) => Ye({
319
- path: m.rowPath,
320
- role: m.kind === "layout" ? m.role : "member",
314
+ ...e.columns.map((u) => u.kind === "measure" ? u.columnPath.length + (u.role !== "member" ? 1 : 0) : 0)
315
+ )), d = Array.from({ length: f + 1 }, (u, a) => e.columns.map((m) => a === f ? m.label : m.kind !== "measure" ? "" : a < m.columnPath.length ? l(m.columnPath[a]) : a === m.columnPath.length && m.role !== "member" ? s(m.columnPath, m.role, "columns") : "")), h = (u, a) => tt({
316
+ path: u.rowPath,
317
+ role: u.kind === "layout" ? u.role : "member",
321
318
  levelCount: Math.max(1, t.spec.rows.length),
322
319
  repeatLabels: t.presentation.layout.kind !== "tabular" || t.presentation.layout.repeatLabels,
323
320
  previousPath: a == null ? void 0 : a.rowPath
324
- }), w = (m, a) => {
325
- if (m.kind !== "layout") throw new Error("Layout presentation requires layout rows.");
326
- if (m.values.length !== e.columns.length) throw new Error("Matrix row does not match its frozen layout.");
327
- const u = b(m, a);
328
- return e.columns.map((h, p) => {
329
- if (h.kind === "hierarchy")
330
- return `${" ".repeat(Math.max(0, m.rowPath.length - 1))}${s(m.rowPath, m.role, "rows")}`;
331
- if (h.kind === "level") {
332
- const v = t.spec.rows.findIndex((S) => S.id === h.levelId), C = u[v];
333
- return C != null && C.visible ? C.total ? s(m.rowPath, m.role, "rows") : J(C.path, n.levels) : "";
321
+ }), w = (u, a) => {
322
+ if (u.kind !== "layout") throw new Error("Layout presentation requires layout rows.");
323
+ if (u.values.length !== e.columns.length) throw new Error("Matrix row does not match its frozen layout.");
324
+ const m = h(u, a);
325
+ return e.columns.map((b, p) => {
326
+ if (b.kind === "hierarchy")
327
+ return `${" ".repeat(Math.max(0, u.rowPath.length - 1))}${s(u.rowPath, u.role, "rows")}`;
328
+ if (b.kind === "level") {
329
+ const v = t.spec.rows.findIndex((F) => F.id === b.levelId), C = m[v];
330
+ return C != null && C.visible ? C.total ? s(u.rowPath, u.role, "rows") : J(C.path, n.levels) : "";
334
331
  }
335
- const T = m.values[p], g = n.measures.get(h.measureId);
332
+ const T = u.values[p], g = n.measures.get(b.measureId);
336
333
  if (T.kind === "value" && !g)
337
334
  throw new Error("Matrix value is missing its measure descriptor.");
338
- return Se(T, g, t.presentation.absence);
335
+ return ke(T, g, t.presentation.absence);
339
336
  });
340
- }, x = (m, a) => w(m, a).map((u, h) => {
341
- const p = e.columns[h];
342
- return p.kind === "measure" ? Le(u, m.values[h], n.measureSemantics.get(p.measureId)) : H(u);
337
+ }, x = (u, a) => w(u, a).map((m, b) => {
338
+ const p = e.columns[b];
339
+ return p.kind === "measure" ? Le(m, u.values[b], n.measureSemantics.get(p.measureId)) : H(m);
343
340
  });
344
341
  return {
345
342
  headers: c,
@@ -348,25 +345,25 @@ function Rt(e, t, r) {
348
345
  /** The card's prepared formats this presentation formats with (the Excel form reads its measure formats). */
349
346
  formatting: n,
350
347
  /** A row's cells; after `previous`, a tabular layout prints each label once. */
351
- row: (m, a) => w(m, a),
348
+ row: (u, a) => w(u, a),
352
349
  /**
353
350
  * Level columns whose group label the row above shows, so this row
354
351
  * continues the group (Plan 2, 2d, C8). Only a member row after a member
355
352
  * row continues one: a total prints as a band, and its rules stay whole
356
353
  * above and below it.
357
354
  */
358
- continuedColumns: (m, a) => {
359
- const u = (p) => (p == null ? void 0 : p.kind) === "layout" && p.role === "member";
360
- if (!u(m) || !u(a)) return [];
361
- const h = b(m, a);
355
+ continuedColumns: (u, a) => {
356
+ const m = (p) => (p == null ? void 0 : p.kind) === "layout" && p.role === "member";
357
+ if (!m(u) || !m(a)) return [];
358
+ const b = h(u, a);
362
359
  return e.columns.flatMap((p, T) => {
363
360
  var v;
364
361
  if (p.kind !== "level") return [];
365
362
  const g = t.spec.rows.findIndex((C) => C.id === p.levelId);
366
- return g < m.rowPath.length && ((v = h[g]) == null ? void 0 : v.visible) === !1 ? [T] : [];
363
+ return g < u.rowPath.length && ((v = b[g]) == null ? void 0 : v.visible) === !1 ? [T] : [];
367
364
  });
368
365
  },
369
- csvRow: (m) => x(m),
366
+ csvRow: (u) => x(u),
370
367
  /**
371
368
  * `previousRow` is the row before `data[0]`, carried by the export's
372
369
  * continuation, so a tabular layout prints each label once across the
@@ -374,13 +371,13 @@ function Rt(e, t, r) {
374
371
  * formatter state or an earlier worker. Without it, the first row prints
375
372
  * its labels.
376
373
  */
377
- csvRows: (m, a) => m.map((u, h) => x(u, h ? m[h - 1] : a ?? void 0))
374
+ csvRows: (u, a) => u.map((m, b) => x(m, b ? u[b - 1] : a ?? void 0))
378
375
  };
379
376
  }
380
- function Lr(e) {
377
+ function Mr(e) {
381
378
  return e.columns.map((t) => H(t.label));
382
379
  }
383
- function Pr(e, t, r) {
380
+ function Ir(e, t, r) {
384
381
  return Nt(e, t, r).map((n, o) => {
385
382
  const l = t.columns[o];
386
383
  return l.kind === "measure" ? Le(n, e.values[o], r.measureSemantics.get(l.measureId)) : H(n);
@@ -394,7 +391,7 @@ function Nt(e, t, r) {
394
391
  if (o.kind === "measure") {
395
392
  const c = e.values[l], f = r.measures.get(o.measureId);
396
393
  if (c.kind === "value" && !f) throw new Error("Matrix value is missing its measure descriptor.");
397
- return Se(c, f, r.absence);
394
+ return ke(c, f, r.absence);
398
395
  }
399
396
  const s = o.kind === "level" ? n.find((c) => c.levelId === o.levelId) : void 0;
400
397
  if (!s) throw new Error("Flat Matrix row does not match its frozen layout.");
@@ -423,7 +420,7 @@ function Ot(e) {
423
420
  cells: [
424
421
  ...l ? [{ ...n("", 0, !0), colspan: l }] : [],
425
422
  {
426
- ...n(e.request.spec.columns.map((s) => ke(s, e.request.presentation)).join(" / "), l, !0),
423
+ ...n(e.request.spec.columns.map((s) => Ee(s, e.request.presentation)).join(" / "), l, !0),
427
424
  colspan: e.layout.columns.length - l,
428
425
  isNumeric: !1,
429
426
  className: ""
@@ -447,7 +444,7 @@ function Ot(e) {
447
444
  subtotalLevel: String(s.rowPath.length),
448
445
  // A tabular layout prints each label once unless it repeats them; the
449
446
  // blank cell continues its group, so a grid draws no rule above it.
450
- cells: t.row(s, e.rows[c - 1]).map((d, b) => f.has(b) ? { ...n(d, b, !1), className: At } : n(d, b, !1))
447
+ cells: t.row(s, e.rows[c - 1]).map((d, h) => f.has(h) ? { ...n(d, h, !1), className: At } : n(d, h, !1))
451
448
  };
452
449
  }),
453
450
  grandTotal: null,
@@ -465,9 +462,9 @@ function Ot(e) {
465
462
  };
466
463
  }
467
464
  function Kt(e, t, r) {
468
- const { levels: n } = Ee(e.descriptors, t.presentation, r), o = t.spec.columns.length > 0, l = [], s = [], c = e.columns.map((d, b) => {
465
+ const { levels: n } = Se(e.descriptors, t.presentation, r), o = t.spec.columns.length > 0, l = [], s = [], c = e.columns.map((d, h) => {
469
466
  if (d.kind !== "measure") return null;
470
- const w = o ? `${d.role}:${B(d.columnPath)}` : `measure:${b}`;
467
+ const w = o ? `${d.role}:${B(d.columnPath)}` : `measure:${h}`;
471
468
  let x = l.indexOf(w);
472
469
  return x < 0 && (x = l.push(w) - 1, s.push(o ? Fe(d.columnPath, d.role, t.presentation.totals.columns, n) : d.label)), x;
473
470
  }), f = t.spec.columns[t.spec.columns.length - 1];
@@ -475,16 +472,16 @@ function Kt(e, t, r) {
475
472
  columnGroups: c,
476
473
  groupLabels: s,
477
474
  /** What bands name their groups by: the innermost column level, or "Measures". */
478
- groupLevelLabel: f ? ke(f, t.presentation) : "Measures"
475
+ groupLevelLabel: f ? Ee(f, t.presentation) : "Measures"
479
476
  };
480
477
  }
481
- function Dr(e) {
478
+ function $r(e) {
482
479
  const { layout: t, rows: r, report: n } = e, o = {
483
480
  ...e.request,
484
481
  presentation: Pt(t, r, e.request.presentation)
485
482
  }, l = Ot({ layout: t, rows: r, request: o, report: n }), s = _t(r), c = Kt(t, o, n), f = {
486
483
  ...l,
487
- rows: l.rows.map((d, b) => ({ ...d, keepWithPrevious: s[b] })),
484
+ rows: l.rows.map((d, h) => ({ ...d, keepWithPrevious: s[h] })),
488
485
  metadata: { ...l.metadata, ...c }
489
486
  };
490
487
  return { request: o, table: f, ...c };
@@ -526,9 +523,9 @@ async function Ut(e) {
526
523
  return { message: t };
527
524
  }
528
525
  }
529
- async function _r(e) {
526
+ async function Lr(e) {
530
527
  if (!e.token) throw new Error("Missing auth token for PDF export");
531
- if (ct(e.serializedPayload) > mt.maxRequestBytes)
528
+ if (ut(e.serializedPayload) > mt.maxRequestBytes)
532
529
  throw new Error("Fast-path PDF request exceeds the structured body limit");
533
530
  const t = await (e.fetchImpl ?? fetch)(e.url, {
534
531
  method: "POST",
@@ -560,7 +557,7 @@ function De(e) {
560
557
  const t = e == null ? void 0 : e.sql, r = e == null ? void 0 : e.python;
561
558
  return (e == null ? void 0 : e.resultOwner) === "freeform" && typeof t == "string" && !!t.trim() && (typeof r != "string" || !r.trim());
562
559
  }
563
- function Ar(e) {
560
+ function Pr(e) {
564
561
  return e.formatting.useFormattedValues !== !1 && De(e.queryPayload) && Pe(e.formatting).size > 0;
565
562
  }
566
563
  function Bt(e, t) {
@@ -590,9 +587,9 @@ function zt(e) {
590
587
  ), l = De(e.queryPayload), s = /* @__PURE__ */ new Map();
591
588
  for (const [c, f] of t) {
592
589
  const d = o.get(c);
593
- let b;
590
+ let h;
594
591
  if (d != null && d.rawTemporal)
595
- b = ft(d, {
592
+ h = ft(d, {
596
593
  metadataRequired: !0
597
594
  }), r.add(c);
598
595
  else if (l) {
@@ -601,13 +598,13 @@ function zt(e) {
601
598
  columnKey: c,
602
599
  values: Bt(e.records, c)
603
600
  });
604
- s.set(c, w), w.status === "classified" && (b = w.metadata);
601
+ s.set(c, w), w.status === "classified" && (h = w.metadata);
605
602
  } else
606
603
  continue;
607
- b && n.set(c, {
608
- metadata: b,
604
+ h && n.set(c, {
605
+ metadata: h,
609
606
  format: f,
610
- formatValue: ze({ metadata: b, format: f })
607
+ formatValue: ze({ metadata: h, format: f })
611
608
  });
612
609
  }
613
610
  return {
@@ -633,7 +630,7 @@ function Ht(e) {
633
630
  const r = t.formatValue(e.value);
634
631
  return r.ok && r.wallClock ? { text: r.text, wallClock: r.wallClock } : { text: r.text };
635
632
  }
636
- function he(e, t) {
633
+ function be(e, t) {
637
634
  const r = e.byColumnKey.get(t);
638
635
  return r ? r.metadata.valueKind === "date" : void 0;
639
636
  }
@@ -644,7 +641,7 @@ function z(e) {
644
641
  function A(e) {
645
642
  return e.key || e.field || void 0;
646
643
  }
647
- function be(e) {
644
+ function he(e) {
648
645
  return e == null ? "" : typeof e == "string" ? e : O(e) ? e.value : e instanceof Date ? e.toISOString() : typeof e == "object" ? JSON.stringify(e) : String(e);
649
646
  }
650
647
  function ge(e, t) {
@@ -672,7 +669,7 @@ function Zt(e) {
672
669
  const t = Ie(e);
673
670
  if (t !== void 0)
674
671
  try {
675
- return rt(t, /[.eE]/.test(t) ? "decimal" : "integer");
672
+ return lt(t, /[.eE]/.test(t) ? "decimal" : "integer");
676
673
  } catch {
677
674
  return;
678
675
  }
@@ -680,60 +677,60 @@ function Zt(e) {
680
677
  function Jt(e) {
681
678
  return e.calendar.fiscalCalendar && (e.granularity === "quarter" || e.granularity === "year") ? "fiscal" : e.granularity;
682
679
  }
683
- function Rr(e) {
684
- const { formatting: t, queryPayload: r } = e, n = t.useFormattedValues, o = t.scope, l = (a) => ot({ snapshot: t.presentationExecutionSnapshot, scope: o, target: { kind: "column", columnKey: a } }), s = (a) => at({ snapshot: t.presentationExecutionSnapshot, scope: o, target: { kind: "column", columnKey: a } });
680
+ function Dr(e) {
681
+ const { formatting: t, queryPayload: r } = e, n = t.useFormattedValues, o = t.scope, l = (a) => Xe({ snapshot: t.presentationExecutionSnapshot, scope: o, target: { kind: "column", columnKey: a } }), s = (a) => qe({ snapshot: t.presentationExecutionSnapshot, scope: o, target: { kind: "column", columnKey: a } });
685
682
  function c(a) {
686
- var h;
687
- if ((h = t.visibleColumns) != null && h.length) return t.visibleColumns;
688
- const u = a.columns.map(A).filter((p) => !!p);
689
- return u.length > 0 ? u : a.records[0] ? Object.keys(a.records[0]) : [];
683
+ var b;
684
+ if ((b = t.visibleColumns) != null && b.length) return t.visibleColumns;
685
+ const m = a.columns.map(A).filter((p) => !!p);
686
+ return m.length > 0 ? m : a.records[0] ? Object.keys(a.records[0]) : [];
690
687
  }
691
- function f(a, u) {
692
- return t.columnLabels && Object.prototype.hasOwnProperty.call(t.columnLabels, a) && t.columnLabels[a] || void 0 || d(u) || (u == null ? void 0 : u.label) || (u == null ? void 0 : u.headerName) || a;
688
+ function f(a, m) {
689
+ return t.columnLabels && Object.prototype.hasOwnProperty.call(t.columnLabels, a) && t.columnLabels[a] || void 0 || d(m) || (m == null ? void 0 : m.label) || (m == null ? void 0 : m.headerName) || a;
693
690
  }
694
- function d(a, u) {
695
- const h = a == null ? void 0 : a.pivotIdentity;
696
- if (!h || !h.members || h.members.length === 0) return;
697
- const p = ce({ identity: h, columnKey: (a == null ? void 0 : a.key) || (a == null ? void 0 : a.field) || "" });
698
- return ut({
691
+ function d(a, m) {
692
+ const b = a == null ? void 0 : a.pivotIdentity;
693
+ if (!b || !b.members || b.members.length === 0) return;
694
+ const p = ce({ identity: b, columnKey: (a == null ? void 0 : a.key) || (a == null ? void 0 : a.field) || "" });
695
+ return nt({
699
696
  members: p,
700
697
  metricLabel: (a == null ? void 0 : a.label) || (a == null ? void 0 : a.headerName),
701
698
  mode: n ? "formatted" : "canonical",
702
699
  resolveTemporalFormat: (T) => {
703
700
  const g = p.find((C) => C.fieldId === T);
704
701
  if (!(g != null && g.temporalBucket)) return;
705
- const v = ie({
702
+ const v = se({
706
703
  snapshot: t.presentationExecutionSnapshot,
707
704
  scope: o,
708
705
  target: { kind: "field", fieldId: T, role: "pivotby" }
709
706
  });
710
- return v ? b(g.temporalBucket, v) : void 0;
707
+ return v ? h(g.temporalBucket, v) : void 0;
711
708
  }
712
709
  }).flattenedLabel;
713
710
  }
714
- function b(a, u) {
715
- return Xe({
711
+ function h(a, m) {
712
+ return Ge({
716
713
  metadata: a,
717
- cardFormat: u,
718
- locale: u.locale,
719
- ...u.presentation.mode === "auto" ? { styles: u.presentation.styles } : {}
714
+ cardFormat: m,
715
+ locale: m.locale,
716
+ ...m.presentation.mode === "auto" ? { styles: m.presentation.styles } : {}
720
717
  }).format;
721
718
  }
722
- function w(a, u) {
723
- const { records: h, columns: p } = a, T = z(r.cardConfig) ? r.cardConfig : void 0, g = T == null ? void 0 : T.pivotByColumns, v = Array.isArray(g) ? g.flatMap(
719
+ function w(a, m) {
720
+ const { records: b, columns: p } = a, T = z(r.cardConfig) ? r.cardConfig : void 0, g = T == null ? void 0 : T.pivotByColumns, v = Array.isArray(g) ? g.flatMap(
724
721
  (i) => z(i) && typeof i.id == "string" && i.id ? [i.id] : []
725
722
  ) : [];
726
723
  dt(
727
724
  p.map((i) => ({ key: A(i) || "<unknown>", pivotIdentity: i.pivotIdentity })),
728
725
  { expectedPivotFieldIds: v }
729
726
  );
730
- const C = c(a), S = new Map(
727
+ const C = c(a), F = new Map(
731
728
  p.flatMap((i) => {
732
729
  const y = A(i);
733
730
  return y ? [[y, i]] : [];
734
731
  })
735
732
  ), Re = new Map(a.resultColumns.map((i) => [i.key, i.dataType])), I = zt({
736
- records: h,
733
+ records: b,
737
734
  columns: p,
738
735
  formatting: t,
739
736
  queryPayload: r
@@ -744,7 +741,7 @@ function Rr(e) {
744
741
  })
745
742
  ), te = /* @__PURE__ */ new Map();
746
743
  for (const i of C) {
747
- const y = ie({
744
+ const y = se({
748
745
  snapshot: t.presentationExecutionSnapshot,
749
746
  scope: o,
750
747
  target: { kind: "column", columnKey: i }
@@ -753,21 +750,21 @@ function Rr(e) {
753
750
  if (y && !E) throw new Error(`Missing temporal bucket metadata for column "${i}"`);
754
751
  if (E && !y) throw new Error(`Missing resolved temporal presentation for column "${i}"`);
755
752
  }
756
- y && E && te.set(i, b(E, y));
753
+ y && E && te.set(i, h(E, y));
757
754
  }
758
755
  const G = C.map((i) => {
759
- const y = Re.get(i), E = y && Xt.has(y) ? y : "unknown", F = n ? x(i, I, X) : void 0, M = f(i, S.get(i)), P = n && I.activatedColumnKeys.has(i) && he(I, i) === void 0;
756
+ const y = Re.get(i), E = y && Xt.has(y) ? y : "unknown", S = n ? x(i, I, X) : void 0, M = f(i, F.get(i)), P = n && I.activatedColumnKeys.has(i) && be(I, i) === void 0;
760
757
  return {
761
758
  key: i,
762
759
  label: M,
763
760
  dataType: E,
764
- ...F ? { presentation: F } : {},
765
- xlsx: de({ key: i, label: M, formattedValues: n, dataType: E, presentation: F }),
761
+ ...S ? { presentation: S } : {},
762
+ xlsx: de({ key: i, label: M, formattedValues: n, dataType: E, presentation: S }),
766
763
  ...P ? { xlsxPending: !0 } : {}
767
764
  };
768
765
  });
769
- function Ne(i, y, E, F) {
770
- if (!n) return { text: be(i), value: i };
766
+ function Ne(i, y, E, S) {
767
+ if (!n) return { text: he(i), value: i };
771
768
  const M = Ht({ value: i, columnKey: y, rowIndex: E, resolution: I });
772
769
  if (M !== void 0) return { text: M.text, value: i, ...M.wallClock ? { wallClock: M.wallClock } : {} };
773
770
  const P = X.get(y);
@@ -776,9 +773,9 @@ function Rr(e) {
776
773
  if (!k) throw new Error(`Missing resolved temporal presentation for column "${y}"`);
777
774
  if (i != null && typeof i != "string")
778
775
  throw new Error(`Canonical temporal column "${y}" must contain a string or null`);
779
- const D = i ?? null, _ = Ge(D, P);
776
+ const D = i ?? null, _ = We(D, P);
780
777
  return {
781
- text: qe({ value: D, metadata: P, format: k }),
778
+ text: Ye({ value: D, metadata: P, format: k }),
782
779
  value: i,
783
780
  ..._ ? { wallClock: _ } : {}
784
781
  };
@@ -787,7 +784,7 @@ function Rr(e) {
787
784
  const q = s(y);
788
785
  if (q && typeof i == "number" && Number.isFinite(i))
789
786
  return {
790
- text: se(
787
+ text: le(
791
788
  new Date(i).toISOString(),
792
789
  q.pattern || _e,
793
790
  ve(q.timezone, t.timezone),
@@ -802,28 +799,28 @@ function Rr(e) {
802
799
  return { text: $ ? V(i, $) : i.value, value: i };
803
800
  const K = ge(t, y);
804
801
  if (K && (i instanceof Date || typeof i == "string" && Gt.test(i))) {
805
- const k = i instanceof Date ? i.toISOString() : i, D = typeof i == "string" && qt.test(i), _ = D ? "UTC" : ve(K.timezone, t.timezone), ne = D ? "UTC" : K.sourceTimezone || "auto", oe = Ze(k, _, ne);
802
+ const k = i instanceof Date ? i.toISOString() : i, D = typeof i == "string" && qt.test(i), _ = D ? "UTC" : ve(K.timezone, t.timezone), ne = D ? "UTC" : K.sourceTimezone || "auto", oe = rt(k, _, ne);
806
803
  return {
807
- text: se(k, we(K), _, ne),
804
+ text: le(k, we(K), _, ne),
808
805
  value: i,
809
806
  ...oe ? { wallClock: oe } : {}
810
807
  };
811
808
  }
812
- if (typeof i == "string" && $ && F.dataType === "number") {
809
+ if (typeof i == "string" && $ && S.dataType === "number") {
813
810
  const k = Zt(i);
814
811
  if (k) return { text: V(k, $), value: i };
815
812
  }
816
- return { text: be(i), value: i };
813
+ return { text: he(i), value: i };
817
814
  }
818
- const Oe = h.map(
815
+ const Oe = b.map(
819
816
  (i, y) => G.map((E) => {
820
- const F = Ne(i[E.key], E.key, y, E);
821
- return U({ value: F.value, text: F.text, column: E.xlsx, wallClock: F.wallClock });
817
+ const S = Ne(i[E.key], E.key, y, E);
818
+ return U({ value: S.value, text: S.text, column: E.xlsx, wallClock: S.wallClock });
822
819
  })
823
- ), re = (u == null ? void 0 : u.withHeader) !== !1 && t.includeHeaders;
820
+ ), re = (m == null ? void 0 : m.withHeader) !== !1 && t.includeHeaders;
824
821
  if (re)
825
822
  for (const i of C) {
826
- const y = S.get(i);
823
+ const y = F.get(i);
827
824
  y != null && y.pivotIdentity && ce({ identity: y.pivotIdentity, columnKey: A(y) || i });
828
825
  }
829
826
  return {
@@ -833,12 +830,12 @@ function Rr(e) {
833
830
  ...I.sqlChunkEvidence ? { rawTemporalClassification: I.sqlChunkEvidence } : {}
834
831
  };
835
832
  }
836
- function x(a, u, h) {
837
- if (u.activatedColumnKeys.has(a)) {
838
- const v = he(u, a);
833
+ function x(a, m, b) {
834
+ if (m.activatedColumnKeys.has(a)) {
835
+ const v = be(m, a);
839
836
  return v === void 0 ? { kind: "text" } : { kind: "datetime", dateOnly: v };
840
837
  }
841
- const p = h.get(a);
838
+ const p = b.get(a);
842
839
  if (p) return { kind: "temporal_bucket", grain: Jt(p) };
843
840
  if (s(a)) return { kind: "text" };
844
841
  const T = ge(t, a);
@@ -846,10 +843,10 @@ function Rr(e) {
846
843
  const g = l(a);
847
844
  return g ? { kind: "measure", format: g } : void 0;
848
845
  }
849
- function m(a, u) {
850
- if (!Number.isInteger(u) || u < 0)
846
+ function u(a, m) {
847
+ if (!Number.isInteger(m) || m < 0)
851
848
  throw new Error("totalRows must be a non-negative integer");
852
- return u === 0 ? void 0 : (t.visibleColumns ?? Object.keys(a)).map((p) => {
849
+ return m === 0 ? void 0 : (t.visibleColumns ?? Object.keys(a)).map((p) => {
853
850
  const g = Object.prototype.hasOwnProperty.call(a, p) ? a[p] : p === t.tableTotalsLabelColumnKey ? "Total" : null, v = n ? l(p) : void 0, C = de({
854
851
  key: p,
855
852
  label: p,
@@ -859,11 +856,11 @@ function Rr(e) {
859
856
  });
860
857
  if (g == null) return { kind: "empty" };
861
858
  if (!n) return U({ value: g, text: String(g), column: C });
862
- const S = v ? Yt(g) : null;
863
- return U(v && S !== null ? { value: S, text: V(S, v), column: C } : { value: g, text: String(g), column: C });
859
+ const F = v ? Yt(g) : null;
860
+ return U(v && F !== null ? { value: F, text: V(F, v), column: C } : { value: g, text: String(g), column: C });
864
861
  });
865
862
  }
866
- return { format: w, totals: m };
863
+ return { format: w, totals: u };
867
864
  }
868
865
  const Qt = /* @__PURE__ */ new Set([
869
866
  "scope",
@@ -890,14 +887,14 @@ function Ce(e, t) {
890
887
  return e;
891
888
  }
892
889
  }
893
- function Nr(e) {
890
+ function _r(e) {
894
891
  if (!ee(e))
895
892
  throw new Error("formatting must be an object");
896
893
  const t = ["reportContext", "resolvedFormats"].find(
897
894
  (a) => Object.prototype.hasOwnProperty.call(e, a)
898
895
  );
899
896
  if (t)
900
- throw new le(
897
+ throw new ie(
901
898
  `formatting.${t} is retired; formatting.presentationExecutionSnapshot is authoritative.`
902
899
  );
903
900
  const r = Object.keys(e).find((a) => !Qt.has(a));
@@ -906,17 +903,17 @@ function Nr(e) {
906
903
  const n = typeof e.timezone == "string" ? e.timezone.trim() : "";
907
904
  if (!n)
908
905
  throw new Error("formatting.timezone must be a non-empty string");
909
- const o = Je(e.delimiter);
906
+ const o = ot(e.delimiter);
910
907
  if (!o)
911
908
  throw new Error("formatting.delimiter must be a comma, semicolon or tab");
912
- const l = Qe(e.csvEncoding);
909
+ const l = at(e.csvEncoding);
913
910
  if (!l)
914
911
  throw new Error("formatting.csvEncoding must be 'utf-8-bom' or 'utf-8'");
915
912
  if (typeof e.includeHeaders != "boolean")
916
913
  throw new Error("formatting.includeHeaders must be a boolean");
917
914
  if (e.useFormattedValues !== void 0 && typeof e.useFormattedValues != "boolean")
918
915
  throw new Error("formatting.useFormattedValues must be a boolean");
919
- const s = e.fileFormat === void 0 ? void 0 : et(e.fileFormat);
916
+ const s = e.fileFormat === void 0 ? void 0 : st(e.fileFormat);
920
917
  if (e.fileFormat !== void 0 && !s)
921
918
  throw new Error("formatting.fileFormat must be 'csv' or 'xlsx'");
922
919
  if (e.title !== void 0 && typeof e.title != "string")
@@ -927,28 +924,28 @@ function Nr(e) {
927
924
  const f = Ce(e.columnLabels, "columnLabels");
928
925
  if (f && Object.values(f).some((a) => typeof a != "string"))
929
926
  throw new Error("formatting.columnLabels values must be strings");
930
- const d = Ce(e.columnSettings, "columnSettings"), b = e.tableTotalsLabelColumnKey === void 0 ? void 0 : typeof e.tableTotalsLabelColumnKey == "string" && e.tableTotalsLabelColumnKey.trim() ? e.tableTotalsLabelColumnKey : null;
931
- if (b === null)
927
+ const d = Ce(e.columnSettings, "columnSettings"), h = e.tableTotalsLabelColumnKey === void 0 ? void 0 : typeof e.tableTotalsLabelColumnKey == "string" && e.tableTotalsLabelColumnKey.trim() ? e.tableTotalsLabelColumnKey : null;
928
+ if (h === null)
932
929
  throw new Error("formatting.tableTotalsLabelColumnKey must be a non-empty string");
933
- if (b && !(c != null && c.includes(b)))
930
+ if (h && !(c != null && c.includes(h)))
934
931
  throw new Error("formatting.tableTotalsLabelColumnKey must identify a visible column");
935
- const w = st(e.scope, "formatting.scope");
932
+ const w = Ze(e.scope, "formatting.scope");
936
933
  if (!w.cardId || w.attachmentIndex !== void 0)
937
934
  throw new Error("formatting.scope must identify exactly one dashboard card");
938
- const x = e.useFormattedValues !== !1, m = it(e.presentationExecutionSnapshot);
939
- if (n !== m.reportContext.calendar.tz)
935
+ const x = e.useFormattedValues !== !1, u = Je(e.presentationExecutionSnapshot);
936
+ if (n !== u.reportContext.calendar.tz)
940
937
  throw new Error(
941
938
  "formatting.timezone must equal presentationExecutionSnapshot.reportContext.calendar.tz"
942
939
  );
943
940
  try {
944
- lt({
945
- snapshot: m,
941
+ Qe({
942
+ snapshot: u,
946
943
  expectedScope: { dashboardId: w.dashboardId, cardId: w.cardId },
947
944
  visibleColumns: c,
948
945
  useFormattedValues: x
949
946
  });
950
947
  } catch (a) {
951
- throw new le(
948
+ throw new ie(
952
949
  `formatting.presentationExecutionSnapshot.${a instanceof Error ? a.message : String(a)}`
953
950
  );
954
951
  }
@@ -956,19 +953,19 @@ function Nr(e) {
956
953
  scope: { dashboardId: w.dashboardId, cardId: w.cardId },
957
954
  useFormattedValues: x,
958
955
  timezone: n,
959
- presentationExecutionSnapshot: m,
956
+ presentationExecutionSnapshot: u,
960
957
  delimiter: o,
961
958
  csvEncoding: l,
962
959
  includeHeaders: e.includeHeaders,
963
960
  ...d ? { columnSettings: d } : {},
964
961
  ...c ? { visibleColumns: c } : {},
965
962
  ...f ? { columnLabels: f } : {},
966
- ...b ? { tableTotalsLabelColumnKey: b } : {},
963
+ ...h ? { tableTotalsLabelColumnKey: h } : {},
967
964
  ...s ? { fileFormat: s } : {},
968
965
  ...typeof e.title == "string" ? { title: e.title } : {}
969
966
  };
970
967
  }
971
- function Or(e) {
968
+ function Ar(e) {
972
969
  const t = e.formatOptions, r = (n) => ee(n) ? n : void 0;
973
970
  return {
974
971
  scope: { dashboardId: e.dashboardId, cardId: e.cardId },
@@ -1001,7 +998,7 @@ function tr(e) {
1001
998
  return;
1002
999
  const t = Q(e.relativeMeta);
1003
1000
  if (t)
1004
- return nt(t) || t.unit === "quarter" || t.unit === "year" ? t : void 0;
1001
+ return ct(t) || t.unit === "quarter" || t.unit === "year" ? t : void 0;
1005
1002
  }
1006
1003
  function rr(e, t) {
1007
1004
  if (t !== "label") return tr(e);
@@ -1019,30 +1016,30 @@ function Te(e, t = {}) {
1019
1016
  return n === "is null" ? `${s} is empty` : n === "is not null" ? `${s} is not empty` : "";
1020
1017
  const f = (d) => {
1021
1018
  if (l === "date" && d) {
1022
- const b = e.temporalPrecision === "minute", w = {
1019
+ const h = e.temporalPrecision === "minute", w = {
1023
1020
  year: "numeric",
1024
1021
  month: "short",
1025
1022
  day: "numeric",
1026
- ...b ? {
1023
+ ...h ? {
1027
1024
  hour: "numeric",
1028
1025
  minute: "2-digit"
1029
1026
  } : {}
1030
1027
  };
1031
1028
  if (typeof d == "string" && er.test(d)) {
1032
- const [m, a, u] = d.split("-").map(Number);
1029
+ const [u, a, m] = d.split("-").map(Number);
1033
1030
  return new Intl.DateTimeFormat(void 0, {
1034
1031
  year: "numeric",
1035
1032
  month: "short",
1036
1033
  day: "numeric",
1037
1034
  timeZone: "UTC"
1038
- }).format(new Date(Date.UTC(m, a - 1, u)));
1035
+ }).format(new Date(Date.UTC(u, a - 1, m)));
1039
1036
  }
1040
- if (typeof d == "string" && We(d) === "wall_datetime") {
1041
- const [m, a, u, h, p] = d.split(/[-T :.]/).map(Number);
1037
+ if (typeof d == "string" && et(d) === "wall_datetime") {
1038
+ const [u, a, m, b, p] = d.split(/[-T :.]/).map(Number);
1042
1039
  return new Intl.DateTimeFormat(void 0, {
1043
1040
  ...w,
1044
1041
  timeZone: "UTC"
1045
- }).format(new Date(Date.UTC(m, a - 1, u, h, p)));
1042
+ }).format(new Date(Date.UTC(u, a - 1, m, b, p)));
1046
1043
  }
1047
1044
  const x = new Date(d);
1048
1045
  if (!isNaN(x.getTime()))
@@ -1052,7 +1049,7 @@ function Te(e, t = {}) {
1052
1049
  ...t.timezone ? { timeZone: t.timezone } : {}
1053
1050
  }).format(x);
1054
1051
  } catch {
1055
- return b ? x.toLocaleString(void 0, w) : x.toLocaleDateString(void 0, w);
1052
+ return h ? x.toLocaleString(void 0, w) : x.toLocaleDateString(void 0, w);
1056
1053
  }
1057
1054
  }
1058
1055
  return String(d);
@@ -1087,7 +1084,7 @@ function Te(e, t = {}) {
1087
1084
  return `${s}: ${Z(o, f)}`;
1088
1085
  }
1089
1086
  }
1090
- function Kr(e, t = {}) {
1087
+ function Rr(e, t = {}) {
1091
1088
  if (!e || e.length === 0)
1092
1089
  return "";
1093
1090
  const r = /* @__PURE__ */ new Map();
@@ -1106,7 +1103,7 @@ function Kr(e, t = {}) {
1106
1103
  }
1107
1104
  }), n.join(" | ");
1108
1105
  }
1109
- function Vr(e) {
1106
+ function Nr(e) {
1110
1107
  return ((e == null ? void 0 : e.filterValues) ?? []).filter(nr).map(or);
1111
1108
  }
1112
1109
  function nr(e) {
@@ -1136,7 +1133,7 @@ function sr(e, t) {
1136
1133
  return;
1137
1134
  }
1138
1135
  }
1139
- function Ur(e, t, r, n = !1) {
1136
+ function Or(e, t, r, n = !1) {
1140
1137
  const o = ir(
1141
1138
  e,
1142
1139
  t,
@@ -1181,31 +1178,31 @@ function ir(e, t, r, n = !1) {
1181
1178
  return { start: e.start, end: `before ${e.end}` };
1182
1179
  }
1183
1180
  export {
1184
- Ar as A,
1181
+ Pr as A,
1185
1182
  xe as B,
1186
1183
  tr as C,
1187
1184
  $e as D,
1188
1185
  Te as E,
1189
1186
  It as F,
1190
- Kr as G,
1191
- Vr as H,
1187
+ Rr as G,
1188
+ Nr as H,
1192
1189
  ir as I,
1193
- Er as M,
1190
+ Cr as M,
1194
1191
  At as P,
1195
- xr as a,
1196
- Fr as b,
1197
- Sr as c,
1198
- kr as d,
1199
- Tr as e,
1200
- Ur as f,
1201
- Mr as g,
1202
- Lr as h,
1203
- Pr as i,
1192
+ wr as a,
1193
+ xr as b,
1194
+ Tr as c,
1195
+ Er as d,
1196
+ vr as e,
1197
+ Or as f,
1198
+ Sr as g,
1199
+ Mr as h,
1200
+ Ir as i,
1204
1201
  Ot as j,
1205
- Dr as k,
1206
- Ir as l,
1202
+ $r as k,
1203
+ Fr as l,
1207
1204
  Nt as m,
1208
- $r as n,
1205
+ kr as n,
1209
1206
  $t as o,
1210
1207
  Rt as p,
1211
1208
  Pt as q,
@@ -1214,8 +1211,8 @@ export {
1214
1211
  U as t,
1215
1212
  Vt as u,
1216
1213
  Ut as v,
1217
- _r as w,
1218
- Rr as x,
1219
- Nr as y,
1220
- Or as z
1214
+ Lr as w,
1215
+ Dr as x,
1216
+ _r as y,
1217
+ Ar as z
1221
1218
  };