react-semaphor 0.1.449 → 0.1.454

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 (147) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +119 -112
  3. package/dist/appearance/index.cjs +1 -1
  4. package/dist/appearance/index.js +1 -1
  5. package/dist/brand-studio/index.cjs +4 -4
  6. package/dist/brand-studio/index.js +15 -13
  7. package/dist/briefings/index.cjs +1 -1
  8. package/dist/briefings/index.js +39 -2131
  9. package/dist/chunks/{analyze-result-contract-T-0Ntzys.js → analyze-result-contract-BbRJ-C06.js} +1 -1
  10. package/dist/chunks/{analyze-result-contract-BHb7sUUW.cjs → analyze-result-contract-LPDNldic.cjs} +1 -1
  11. package/dist/chunks/canonical-result-keys-BA0HCP4e.cjs +1 -0
  12. package/dist/chunks/canonical-result-keys-D6avdjpA.js +467 -0
  13. package/dist/chunks/color-CJvdlFM_.js +2162 -0
  14. package/dist/chunks/color-CyB5o13F.cjs +4 -0
  15. package/dist/chunks/{common-types-CQ6SHfLk.cjs → common-types-C57kJ59w.cjs} +1 -1
  16. package/dist/chunks/{common-types-B7Jk3Rtj.js → common-types-H51FLKB7.js} +1 -1
  17. package/dist/chunks/contracts-CoCOpd_i.js +11 -0
  18. package/dist/chunks/contracts-CtB2VONT.cjs +1 -0
  19. package/dist/chunks/dashboard-briefing-launcher-Dwj1i7lr.cjs +26 -0
  20. package/dist/chunks/{dashboard-briefing-launcher-DCHiEkLE.js → dashboard-briefing-launcher-SYroFdae.js} +86 -84
  21. package/dist/chunks/{dashboard-controls-DwRFCcHV.js → dashboard-controls-1LpeU2sz.js} +15 -13
  22. package/dist/chunks/{dashboard-controls-CaFioayc.cjs → dashboard-controls-CpFoh7-A.cjs} +1 -1
  23. package/dist/chunks/dashboard-date-comparison-definition-Ces4alFm.cjs +1 -0
  24. package/dist/chunks/{dashboard-date-comparison-definition-Ba-clViK.js → dashboard-date-comparison-definition-DC3ekV2S.js} +1 -1
  25. package/dist/chunks/{dashboard-json-WoILbfTe.js → dashboard-json-D-T-sQxU.js} +25 -23
  26. package/dist/chunks/dashboard-json-DwSQopc_.cjs +1 -0
  27. package/dist/chunks/edit-dashboard-visual-BEmoQAET.cjs +172 -0
  28. package/dist/chunks/{edit-dashboard-visual-ciFhxqaI.js → edit-dashboard-visual-DqxUq4Bs.js} +6925 -6947
  29. package/dist/chunks/editor-action-buttons-18r2xwei.cjs +16 -0
  30. package/dist/chunks/{editor-action-buttons-BPo_45pM.js → editor-action-buttons-B2l3WIRC.js} +41 -39
  31. package/dist/chunks/format-types-CFHQoIuk.js +1350 -0
  32. package/dist/chunks/format-types-PSZZ7hG8.cjs +1 -0
  33. package/dist/chunks/index-Bn5wlkHt.cjs +4 -0
  34. package/dist/chunks/index-ByFbacH7.cjs +1 -0
  35. package/dist/chunks/index-CACdoqu3.js +318 -0
  36. package/dist/chunks/index-CLB_NGZ8.cjs +1392 -0
  37. package/dist/chunks/index-Ca784dpx.js +3714 -0
  38. package/dist/chunks/{index-CPuawpXJ.js → index-DAoS4BNU.js} +48514 -48484
  39. package/dist/chunks/index-DSKR3nKn.js +421 -0
  40. package/dist/chunks/index-F25jnH0p.cjs +1 -0
  41. package/dist/chunks/matrix-result-contract-CofATICL.js +437 -0
  42. package/dist/chunks/matrix-result-contract-zamd9euI.cjs +1 -0
  43. package/dist/chunks/pivot-header-presentation-DhyQXxKq.cjs +4 -0
  44. package/dist/chunks/pivot-header-presentation-ckYOQ4aZ.js +557 -0
  45. package/dist/chunks/{pivot-result-identity-CDLRT-YG.cjs → pivot-result-identity-Bb4EixVN.cjs} +1 -1
  46. package/dist/chunks/{pivot-result-identity-CwJWpKI7.js → pivot-result-identity-DU1v-5Xk.js} +1 -1
  47. package/dist/chunks/pivot-result-lifecycle-DmcF1ris.cjs +1 -0
  48. package/dist/chunks/pivot-result-lifecycle-sjzIOpvp.js +1641 -0
  49. package/dist/chunks/raw-temporal-contract-BtjH_G-d.cjs +1 -0
  50. package/dist/chunks/raw-temporal-contract-CxncLze5.js +64 -0
  51. package/dist/chunks/report-preferences-dialog-BgSvlDXa.cjs +1 -0
  52. package/dist/chunks/report-preferences-dialog-DDc2WUa0.js +723 -0
  53. package/dist/chunks/{report-runtime-context-C8LZFsqV.cjs → report-runtime-context-DqxS4wbi.cjs} +1 -1
  54. package/dist/chunks/{report-runtime-context-bCy3CVzK.js → report-runtime-context-SM6YO61_.js} +5 -5
  55. package/dist/chunks/saved-temporal-bucket-format-CFfWXRl9.cjs +1 -0
  56. package/dist/chunks/saved-temporal-bucket-format-SGAV0ivR.js +922 -0
  57. package/dist/chunks/{switch-BXet-Sno.js → switch-BeZW-HnS.js} +4350 -5249
  58. package/dist/chunks/switch-D-CCcfhc.cjs +138 -0
  59. package/dist/chunks/temporal-bucket-5UYEotyQ.js +810 -0
  60. package/dist/chunks/temporal-bucket-DHY1y9lq.cjs +1 -0
  61. package/dist/chunks/temporal-bucket-authoring-K1kE6R_z.js +222 -0
  62. package/dist/chunks/temporal-bucket-authoring-o3Emn05L.cjs +1 -0
  63. package/dist/chunks/{temporal-bucket-contract-ChDBWX8I.cjs → temporal-bucket-contract-D2-93DGr.cjs} +1 -1
  64. package/dist/chunks/{temporal-bucket-contract-_F6vNhhH.js → temporal-bucket-contract-D5d-xEl3.js} +1 -1
  65. package/dist/chunks/{token-types-BdQ8kHBm.cjs → token-types-D7CaaI80.cjs} +1 -1
  66. package/dist/chunks/{token-types-BHR58aTy.js → token-types-GbxRUozo.js} +1 -1
  67. package/dist/chunks/{update-policy-BxvYMYz0.cjs → update-policy-BmiOd0PB.cjs} +1 -1
  68. package/dist/chunks/{update-policy-g0rCQ9BM.js → update-policy-hednMF-0.js} +1 -1
  69. package/dist/chunks/validators-BDYprKI9.cjs +1 -0
  70. package/dist/chunks/{validators-Cs74WVie.js → validators-DEmd8Sin.js} +1561 -1197
  71. package/dist/dashboard/index.cjs +1 -1
  72. package/dist/dashboard/index.js +2 -2
  73. package/dist/dashboard-authoring/index.cjs +3 -3
  74. package/dist/dashboard-authoring/index.js +35 -32
  75. package/dist/data-app-builder/index.cjs +1 -1
  76. package/dist/data-app-builder/index.js +2 -2
  77. package/dist/data-app-codegen/index.cjs +1 -1
  78. package/dist/data-app-codegen/index.js +2 -2
  79. package/dist/data-app-codegen-node/index.cjs +1 -1
  80. package/dist/data-app-codegen-node/index.js +3 -3
  81. package/dist/data-app-sdk/index.cjs +1 -1
  82. package/dist/data-app-sdk/index.js +78 -77
  83. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  84. package/dist/data-app-sdk-adapters/index.js +29 -30
  85. package/dist/data-app-sdk-validation/index.cjs +1 -1
  86. package/dist/data-app-sdk-validation/index.js +21 -21
  87. package/dist/format-utils/index.cjs +3 -3
  88. package/dist/format-utils/index.js +156 -140
  89. package/dist/index.cjs +1 -1
  90. package/dist/index.js +157 -155
  91. package/dist/report-runtime-context/index.cjs +1 -1
  92. package/dist/report-runtime-context/index.js +2 -2
  93. package/dist/style.css +1 -1
  94. package/dist/surfboard/index.cjs +1 -1
  95. package/dist/surfboard/index.js +3 -3
  96. package/dist/types/analytics-protocol.d.ts +81 -11
  97. package/dist/types/briefings.d.ts +727 -19
  98. package/dist/types/dashboard-assistant.d.ts +37 -17
  99. package/dist/types/dashboard-authoring.d.ts +61 -14
  100. package/dist/types/dashboard.d.ts +137 -12
  101. package/dist/types/data-app-builder.d.ts +28 -2
  102. package/dist/types/data-app-codegen-node.d.ts +29 -3
  103. package/dist/types/data-app-codegen.d.ts +29 -3
  104. package/dist/types/data-app-sdk-adapters.d.ts +28 -2
  105. package/dist/types/data-app-sdk-validation.d.ts +51 -7
  106. package/dist/types/data-app-sdk.d.ts +55 -10
  107. package/dist/types/format-utils.d.ts +190 -3
  108. package/dist/types/index.cjs +1 -1
  109. package/dist/types/index.js +4 -4
  110. package/dist/types/main.d.ts +128 -33
  111. package/dist/types/shared.d.ts +14 -12
  112. package/dist/types/surfboard.d.ts +138 -13
  113. package/dist/types/types.d.ts +117 -23
  114. package/dist/types/value-format-preferences.d.ts +3 -0
  115. package/package.json +2 -1
  116. package/dist/chunks/card-config-utils-15sRtebL.cjs +0 -1
  117. package/dist/chunks/card-config-utils-BYZ5MJOh.js +0 -16
  118. package/dist/chunks/catalog-field-grounding-Bnx-3tE0.cjs +0 -1
  119. package/dist/chunks/catalog-field-grounding-S2jKwKGD.js +0 -100
  120. package/dist/chunks/dashboard-briefing-launcher-DDgDr2s3.cjs +0 -26
  121. package/dist/chunks/dashboard-date-comparison-definition-DZq0htjG.cjs +0 -1
  122. package/dist/chunks/dashboard-input-contract-DSt8dGzP.js +0 -18
  123. package/dist/chunks/dashboard-input-contract-DV3cshjz.cjs +0 -1
  124. package/dist/chunks/dashboard-json-CYtvwtvj.cjs +0 -1
  125. package/dist/chunks/edit-dashboard-visual-DwKcvlsF.cjs +0 -177
  126. package/dist/chunks/editor-action-buttons-BVmsk0Aj.cjs +0 -16
  127. package/dist/chunks/format-types-CSv0V7mm.cjs +0 -1
  128. package/dist/chunks/format-types-DZGgYj39.js +0 -1663
  129. package/dist/chunks/index-CJdxSyQq.js +0 -2578
  130. package/dist/chunks/index-DPv8_Ild.cjs +0 -1395
  131. package/dist/chunks/index-DRlMUglg.cjs +0 -4
  132. package/dist/chunks/metric-comparison-97zHGEx5.js +0 -387
  133. package/dist/chunks/metric-comparison-CUAJ8n4y.cjs +0 -1
  134. package/dist/chunks/pivot-result-lifecycle-BBabQ_da.js +0 -914
  135. package/dist/chunks/pivot-result-lifecycle-DPc0ANwk.cjs +0 -4
  136. package/dist/chunks/presentation-execution-BLfPTGX_.js +0 -637
  137. package/dist/chunks/presentation-execution-BTV-Q43g.cjs +0 -1
  138. package/dist/chunks/report-preferences-dialog-D9ZCGh9l.js +0 -691
  139. package/dist/chunks/report-preferences-dialog-DaqTEcac.cjs +0 -1
  140. package/dist/chunks/switch-Cjk6G06r.cjs +0 -138
  141. package/dist/chunks/temporal-bucket-BnPxGrAi.js +0 -446
  142. package/dist/chunks/temporal-bucket-authoring-CPTwHzvs.cjs +0 -1
  143. package/dist/chunks/temporal-bucket-authoring-CgOuakGW.js +0 -205
  144. package/dist/chunks/temporal-bucket-pMnV-4Nj.cjs +0 -1
  145. package/dist/chunks/temporal-result-owner-6peubmhU.js +0 -443
  146. package/dist/chunks/temporal-result-owner-f6-i65Fb.cjs +0 -1
  147. package/dist/chunks/validators-9D4KBqKD.cjs +0 -1
@@ -1,35 +1,35 @@
1
- import { i as _ } from "../chunks/format-types-DZGgYj39.js";
2
- import { f as h, a as E, b as A } from "../chunks/presentation-execution-BLfPTGX_.js";
3
- import { n as H, d as G, c as K, h as L, e as U, g as W, p as Q, m as J, k as X, i as Y, l as Z, r as F, j as ee, v as re, o as oe } from "../chunks/presentation-execution-BLfPTGX_.js";
4
- import { f as v, a as C, b, e as T } from "../chunks/pivot-result-lifecycle-BBabQ_da.js";
5
- import { A as se, P as ne, v as le, i as ie, x as ae, u as ue, m as ce, q as me, s as fe, l as be, c as pe, d as we, g as he, h as Te, j as ye, o as Ee, w as Ae, p as ve, n as Ce, t as Se, k as Pe, r as Re } from "../chunks/pivot-result-lifecycle-BBabQ_da.js";
6
- import { T as $e, a as de, f as Ve, i as ke, p as Be, b as Ne, r as xe, c as Ie, t as Me, v as je } from "../chunks/temporal-bucket-BnPxGrAi.js";
7
- import { q as qe } from "../chunks/validators-Cs74WVie.js";
8
- import { a as _e } from "../chunks/metric-comparison-97zHGEx5.js";
9
- import { P as He, b as Ge, i as Ke, c as Le, d as Ue, r as We, a as Qe } from "../chunks/pivot-result-identity-CwJWpKI7.js";
1
+ import { i as _ } from "../chunks/format-types-CFHQoIuk.js";
2
+ import { f as w, a as y, b as R } from "../chunks/pivot-result-lifecycle-sjzIOpvp.js";
3
+ import { M as L, D as H, P as G, R as K, z as U, w as W, F as Q, n as F, x as Y, C as J, o as X, q as Z, d as ee, c as re, h as oe, e as te, B as se, g as ne, E as le, p as ae, m as ie, k as ue, y as me, i as ce, l as fe, t as pe, A as be, r as Te, j as we, u as he, v as Ee, s as ye } from "../chunks/pivot-result-lifecycle-sjzIOpvp.js";
4
+ import { f as C, a as v, b as p, e as h } from "../chunks/pivot-header-presentation-ckYOQ4aZ.js";
5
+ import { A as Ce, P as ve, i as Se, m as Ae, q as Pe, s as de, l as ge, c as $e, d as Ve, g as ke, h as xe, j as Be, o as Me, p as Ne, n as Ie, t as je, k as ze, r as Oe } from "../chunks/pivot-header-presentation-ckYOQ4aZ.js";
6
+ import { x as _e, am as De, e as Le, an as He, al as Ge, d as Ke } from "../chunks/validators-DEmd8Sin.js";
7
+ import { i as We, T as Qe, f as Fe, j as Ye, p as Je, a as Xe, k as Ze } from "../chunks/temporal-bucket-5UYEotyQ.js";
8
+ import { P as rr, b as or, i as tr, c as sr, d as nr, r as lr, a as ar } from "../chunks/pivot-result-identity-DU1v-5Xk.js";
9
+ import { p as ur, v as mr } from "../chunks/raw-temporal-contract-CxncLze5.js";
10
10
  function S(r, e, t, o) {
11
11
  const s = r instanceof Date ? r.toISOString() : String(r), l = (o == null ? void 0 : o.browserTimezone) || t, n = (o == null ? void 0 : o.isSqlCard) ?? !1;
12
12
  if (e != null && e.useRelativeTime)
13
- return v(
13
+ return C(
14
14
  s,
15
15
  (e == null ? void 0 : e.sourceTimezone) || "auto"
16
16
  );
17
- const a = e != null && e.useCustomFormat && (e != null && e.customFormat) ? e.customFormat : (e == null ? void 0 : e.format) || "MM/dd/yyyy";
18
- return C(
17
+ const i = e != null && e.useCustomFormat && (e != null && e.customFormat) ? e.customFormat : (e == null ? void 0 : e.format) || "MM/dd/yyyy";
18
+ return v(
19
19
  s,
20
- a,
20
+ i,
21
21
  e != null && e.timezone && (e == null ? void 0 : e.timezone) !== "auto" ? e.timezone : n ? l : t,
22
22
  (e == null ? void 0 : e.sourceTimezone) || "auto"
23
23
  );
24
24
  }
25
- function P(r, e, t) {
25
+ function A(r, e, t) {
26
26
  if (r == null)
27
27
  return "";
28
28
  if (!t.useFormattedValues || !e)
29
29
  return String(r);
30
30
  switch (e.type) {
31
31
  case "number":
32
- return typeof r == "number" ? h(
32
+ return typeof r == "number" ? w(
33
33
  r,
34
34
  e.numberFormat,
35
35
  t.locale
@@ -54,42 +54,42 @@ function P(r, e, t) {
54
54
  return String(r);
55
55
  }
56
56
  }
57
- function R(r, e) {
57
+ function P(r, e) {
58
58
  return e.visibleColumns.map((t) => {
59
59
  const o = r[t], s = e.columnSettings[t];
60
- return P(o, s, {
60
+ return A(o, s, {
61
61
  useFormattedValues: e.useFormattedValues,
62
62
  timezone: e.timezone,
63
63
  locale: e.locale
64
64
  });
65
65
  });
66
66
  }
67
- function g(r, e) {
67
+ function d(r, e) {
68
68
  const t = [];
69
- e.includeHeaders && t.push(b(e.visibleColumns, e.delimiter));
69
+ e.includeHeaders && t.push(p(e.visibleColumns, e.delimiter));
70
70
  for (const o of r) {
71
- const s = R(o, e);
71
+ const s = P(o, e);
72
72
  t.push(
73
- s.map((l) => T(l, e.delimiter)).join(e.delimiter)
73
+ s.map((l) => h(l, e.delimiter)).join(e.delimiter)
74
74
  );
75
75
  }
76
76
  return t;
77
77
  }
78
- function x(r, e, t = `
78
+ function M(r, e, t = `
79
79
  `) {
80
- return g(r, e).join(t);
80
+ return d(r, e).join(t);
81
81
  }
82
- function y(r, e, t) {
82
+ function E(r, e, t) {
83
83
  for (const o of r) {
84
84
  if (o.level < t) {
85
85
  e[o.level].push(o.name);
86
86
  for (let s = 1; s < o.colspan; s++)
87
87
  e[o.level].push("");
88
88
  }
89
- o.children ? y(o.children, e, t) : o.columnKey && e[t].push(o.name);
89
+ o.children ? E(o.children, e, t) : o.columnKey && e[t].push(o.name);
90
90
  }
91
91
  }
92
- function $(r) {
92
+ function g(r) {
93
93
  const e = r.pivotByColumns.length, t = r.groupByColumns.length, o = Array.from(
94
94
  { length: e + 1 },
95
95
  () => []
@@ -98,20 +98,20 @@ function $(r) {
98
98
  o[s].push(...Array(t).fill(""));
99
99
  if (o[e].push(
100
100
  ...r.groupByColumns.map((s) => s.label || s.name)
101
- ), y(r.columnHeadersTree, o, e), r.showRowTotals) {
101
+ ), E(r.columnHeadersTree, o, e), r.showRowTotals) {
102
102
  for (let s = 0; s < e; s++)
103
103
  o[s].push("");
104
104
  o[e].push("Total");
105
105
  }
106
106
  return o;
107
107
  }
108
- function d(r, e, t) {
108
+ function $(r, e, t) {
109
109
  if (r == null)
110
110
  return "";
111
111
  if (!t.useFormattedValues)
112
112
  return String(r);
113
113
  const o = t.columnSettings[e];
114
- return typeof r == "number" && (o == null ? void 0 : o.type) === "number" ? h(
114
+ return typeof r == "number" && (o == null ? void 0 : o.type) === "number" ? w(
115
115
  r,
116
116
  o.numberFormat,
117
117
  t.locale
@@ -124,17 +124,17 @@ function V(r, e, t) {
124
124
  });
125
125
  let s = 0;
126
126
  return e.columnHeaders.forEach((l) => {
127
- var i;
128
- const n = (i = r.cells[l]) == null ? void 0 : i.value, a = d(n, l, t);
129
- o.push(a), e.showRowTotals && typeof n == "number" && (s += n);
127
+ var a;
128
+ const n = (a = r.cells[l]) == null ? void 0 : a.value, i = $(n, l, t);
129
+ o.push(i), e.showRowTotals && typeof n == "number" && (s += n);
130
130
  }), e.showRowTotals && o.push(s.toLocaleString(t.locale)), o;
131
131
  }
132
- function I(r, e, t) {
132
+ function N(r, e, t) {
133
133
  const o = [];
134
134
  if (t.includeHeaders) {
135
- const s = $(e);
135
+ const s = g(e);
136
136
  for (const l of s)
137
- o.push(b(l, t.delimiter));
137
+ o.push(p(l, t.delimiter));
138
138
  }
139
139
  for (const s of r) {
140
140
  const l = V(
@@ -143,7 +143,7 @@ function I(r, e, t) {
143
143
  t
144
144
  );
145
145
  o.push(
146
- l.map((n) => T(n, t.delimiter)).join(t.delimiter)
146
+ l.map((n) => h(n, t.delimiter)).join(t.delimiter)
147
147
  );
148
148
  }
149
149
  return o;
@@ -154,53 +154,53 @@ function f(r) {
154
154
  const e = Object.getPrototypeOf(r);
155
155
  return e === null || e === Object.prototype;
156
156
  }
157
- function w(r, e, t) {
157
+ function T(r, e, t) {
158
158
  const o = new Set(e), s = Object.keys(r).find((l) => !o.has(l));
159
159
  if (s)
160
160
  throw new Error(`${t} contains unknown property "${s}"`);
161
161
  }
162
- function M(r, e = "tableTotalsRequest") {
162
+ function I(r, e = "tableTotalsRequest") {
163
163
  if (!f(r))
164
164
  throw new Error(`${e} must be an object`);
165
- if (w(r, ["source", "columns"], e), r.source !== "documentFlatTable")
165
+ if (T(r, ["source", "columns"], e), r.source !== "documentFlatTable")
166
166
  throw new Error(`${e}.source must be documentFlatTable`);
167
167
  if (!Array.isArray(r.columns) || r.columns.length === 0)
168
168
  throw new Error(`${e}.columns must be a non-empty array`);
169
169
  let t = 0;
170
- const o = r.columns.map((n, a) => {
171
- const i = `${e}.columns.${a}`;
170
+ const o = r.columns.map((n, i) => {
171
+ const a = `${e}.columns.${i}`;
172
172
  if (!f(n))
173
- throw new Error(`${i} must be an object`);
174
- w(
173
+ throw new Error(`${a} must be an object`);
174
+ T(
175
175
  n,
176
176
  ["fieldId", "role", "behavior", "metricAlias", "label"],
177
- i
177
+ a
178
178
  );
179
- const p = typeof n.fieldId == "string" ? n.fieldId.trim() : "";
180
- if (!p)
181
- throw new Error(`${i}.fieldId must be a non-empty string`);
179
+ const b = typeof n.fieldId == "string" ? n.fieldId.trim() : "";
180
+ if (!b)
181
+ throw new Error(`${a}.fieldId must be a non-empty string`);
182
182
  if (n.role !== "detail" && n.role !== "groupby" && n.role !== "metric")
183
- throw new Error(`${i}.role is invalid`);
183
+ throw new Error(`${a}.role is invalid`);
184
184
  const u = n.role;
185
185
  if (n.behavior !== "sum" && n.behavior !== "avg" && n.behavior !== "count" && n.behavior !== "label")
186
- throw new Error(`${i}.behavior is invalid`);
187
- const m = n.behavior, c = typeof n.metricAlias == "string" ? n.metricAlias.trim() : void 0;
188
- if (n.metricAlias !== void 0 && !c)
189
- throw new Error(`${i}.metricAlias must be a non-empty string`);
190
- if (c && u !== "metric")
191
- throw new Error(`${i}.metricAlias requires metric role`);
192
- if (m === "label") {
186
+ throw new Error(`${a}.behavior is invalid`);
187
+ const c = n.behavior, m = typeof n.metricAlias == "string" ? n.metricAlias.trim() : void 0;
188
+ if (n.metricAlias !== void 0 && !m)
189
+ throw new Error(`${a}.metricAlias must be a non-empty string`);
190
+ if (m && u !== "metric")
191
+ throw new Error(`${a}.metricAlias requires metric role`);
192
+ if (c === "label") {
193
193
  if (t += 1, u === "metric")
194
- throw new Error(`${i}.behavior label requires a non-metric role`);
194
+ throw new Error(`${a}.behavior label requires a non-metric role`);
195
195
  } else if (u !== "metric")
196
- throw new Error(`${i}.${m} requires metric role`);
196
+ throw new Error(`${a}.${c} requires metric role`);
197
197
  if (n.label !== void 0 && typeof n.label != "string")
198
- throw new Error(`${i}.label must be a string`);
198
+ throw new Error(`${a}.label must be a string`);
199
199
  return {
200
- fieldId: p,
200
+ fieldId: b,
201
201
  role: u,
202
- behavior: m,
203
- ...c ? { metricAlias: c } : {},
202
+ behavior: c,
203
+ ...m ? { metricAlias: m } : {},
204
204
  ...n.label !== void 0 ? { label: n.label } : {}
205
205
  };
206
206
  }), s = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Set();
@@ -212,13 +212,13 @@ function M(r, e = "tableTotalsRequest") {
212
212
  );
213
213
  l.add(n.metricAlias);
214
214
  }
215
- const a = s.get(n.fieldId) ?? [];
216
- a.push(n), s.set(n.fieldId, a);
215
+ const i = s.get(n.fieldId) ?? [];
216
+ i.push(n), s.set(n.fieldId, i);
217
217
  }
218
- for (const [n, a] of s)
219
- if (a.length !== 1) {
220
- for (const i of a)
221
- if (i.role !== "metric" || !i.metricAlias)
218
+ for (const [n, i] of s)
219
+ if (i.length !== 1) {
220
+ for (const a of i)
221
+ if (a.role !== "metric" || !a.metricAlias)
222
222
  throw new Error(
223
223
  `${e}.columns duplicates fieldId "${n}" without distinct metricAlias values`
224
224
  );
@@ -260,89 +260,105 @@ function z(r) {
260
260
  return "";
261
261
  if (!r.useFormattedValues)
262
262
  return String(s);
263
- const l = E({
263
+ const l = y({
264
264
  snapshot: r.snapshot,
265
265
  scope: r.scope,
266
266
  target: { kind: "column", columnKey: t }
267
267
  }), n = l ? k(s) : null;
268
- return l && n !== null ? A(n, l) : String(s);
268
+ return l && n !== null ? R(n, l) : String(s);
269
269
  });
270
- return `${b(e, r.delimiter)}
270
+ return `${p(e, r.delimiter)}
271
271
  `;
272
272
  }
273
273
  export {
274
- se as AGGREGATE_TOTAL_MEMBER_MARKER,
275
- ne as PivotHeaderPresentationError,
276
- He as PivotResultIdentityError,
277
- le as PivotResultLifecycleError,
278
- qe as SEMAPHOR_GENERATED_COUNT_METRIC_ID,
279
- $e as TEMPORAL_BUCKET_PATTERN_TOKENS,
280
- de as TemporalBucketContractError,
281
- ie as arrayToCSV,
282
- b as arrayToCSVRow,
274
+ Ce as AGGREGATE_TOTAL_MEMBER_MARKER,
275
+ We as DEFAULT_RESOLVED_TEMPORAL_STYLE_SET,
276
+ L as MissingResolvedRawTemporalFormatError,
277
+ ve as PivotHeaderPresentationError,
278
+ rr as PivotResultIdentityError,
279
+ H as PivotResultLifecycleError,
280
+ G as PresentationExecutionSnapshotError,
281
+ K as RawTemporalFormatContractError,
282
+ _e as SEMAPHOR_GENERATED_COUNT_METRIC_ID,
283
+ De as TEMPORAL_BUCKET_PATTERN_TOKENS,
284
+ Qe as TemporalBucketContractError,
285
+ Se as arrayToCSV,
286
+ p as arrayToCSVRow,
287
+ U as assertRawTemporalChunkClassificationAgreement,
283
288
  z as buildFlatTableExportTotalsFooter,
284
- ae as createCanonicalPivotResultTransport,
285
- ue as derivePivotResultContractExpectations,
286
- T as escapeCSVValue,
287
- E as findResolvedNumericFormat,
288
- H as findResolvedTemporalBucketFormat,
289
- ce as formatAggregateGrandTotalLabel,
290
- me as formatAggregateGroupCell,
291
- fe as formatAggregateGroupRow,
292
- be as formatAggregateSubtotalLabel,
293
- P as formatCellValue,
294
- G as formatCurrency,
295
- C as formatDate,
296
- pe as formatDuration,
297
- we as formatMetricComparison,
298
- K as formatNumber,
299
- L as formatNumberCustom,
300
- h as formatNumberWithColumnSettings,
301
- A as formatNumericCanonical,
302
- U as formatPercent,
289
+ W as classifyDeclaredSqlTemporalColumn,
290
+ Q as createCanonicalPivotResultTransport,
291
+ F as createPresentationExecutionSnapshot,
292
+ Y as createRawTemporalChunkClassificationEvidence,
293
+ J as derivePivotResultContractExpectations,
294
+ h as escapeCSVValue,
295
+ y as findResolvedNumericFormat,
296
+ X as findResolvedRawTemporalFormat,
297
+ Z as findResolvedTemporalBucketFormat,
298
+ Ae as formatAggregateGrandTotalLabel,
299
+ Pe as formatAggregateGroupCell,
300
+ de as formatAggregateGroupRow,
301
+ ge as formatAggregateSubtotalLabel,
302
+ A as formatCellValue,
303
+ ee as formatCurrency,
304
+ v as formatDate,
305
+ $e as formatDuration,
306
+ Ve as formatMetricComparison,
307
+ re as formatNumber,
308
+ oe as formatNumberCustom,
309
+ w as formatNumberWithColumnSettings,
310
+ R as formatNumericCanonical,
311
+ te as formatPercent,
303
312
  V as formatPivotDataRow,
304
- I as formatPivotTableForCSV,
305
- v as formatRelativeTime,
306
- R as formatRowForExport,
307
- W as formatScientific,
308
- g as formatTableForCSV,
309
- Ve as formatTemporalBucket,
310
- $ as generatePivotHeaders,
311
- x as generateTableCSV,
312
- he as getTimezoneAbbreviation,
313
- Te as getTimezoneName,
314
- ye as isAggregateTotalMemberMarker,
313
+ N as formatPivotTableForCSV,
314
+ se as formatRawTemporalValue,
315
+ C as formatRelativeTime,
316
+ P as formatRowForExport,
317
+ ne as formatScientific,
318
+ d as formatTableForCSV,
319
+ Fe as formatTemporalBucket,
320
+ g as generatePivotHeaders,
321
+ M as generateTableCSV,
322
+ ke as getTimezoneAbbreviation,
323
+ xe as getTimezoneName,
324
+ Be as isAggregateTotalMemberMarker,
315
325
  _ as isNumericCanonicalFormat,
316
- Ge as isPivotEmptyTupleAllowed,
317
- Ke as isPivotSubtotalPrefix,
318
- ke as isTemporalBucketPreset,
319
- Ee as objectsToCSV,
320
- Ae as parseCanonicalPivotResultTransport,
326
+ or as isPivotEmptyTupleAllowed,
327
+ tr as isPivotSubtotalPrefix,
328
+ Le as isTemporalBucketPreset,
329
+ Me as objectsToCSV,
330
+ le as parseCanonicalPivotResultTransport,
321
331
  j as parseFlatTableExportTotalsByColumnId,
322
- M as parseFlatTableExportTotalsRequest,
323
- Q as parseNumericCanonicalFormat,
324
- J as parsePresentationExecutionSnapshot,
325
- X as parsePresentationScope,
326
- Y as parseResolvedNumericCanonicalFormat,
327
- Z as parseResolvedPresentationEntries,
328
- Be as parseResolvedTemporalBucketFormat,
329
- Ne as parseTemporalBucketValue,
330
- ve as parseWithSourceTimezone,
331
- Ce as presentAggregateGroupRow,
332
- Se as presentPivotHeader,
333
- Le as requirePivotHeaderMembers,
334
- Ue as requirePivotResultColumnIdentities,
335
- Pe as resolveAggregateTablePresentationContext,
336
- xe as resolveApplicableTemporalBucketFormat,
337
- F as resolveCurrencyFractionDigits,
338
- _e as resolveMetricResultAlias,
339
- ee as resolveNumericPresentation,
340
- We as resolveQueryColumnKeyMapEntry,
341
- Ie as resolveTemporalBucketPresentation,
342
- Re as resolveTimezone,
343
- Qe as resolveUniqueQueryColumnKeyMapEntry,
344
- Me as tokenizeTemporalBucketPattern,
345
- re as validateCardExportNumericPresentationSnapshot,
346
- oe as validateCardExportPresentationSnapshot,
347
- je as validateTemporalBucketFormatApplicability
332
+ I as parseFlatTableExportTotalsRequest,
333
+ ae as parseNumericCanonicalFormat,
334
+ ie as parsePresentationExecutionSnapshot,
335
+ ue as parsePresentationScope,
336
+ me as parseRawTemporalChunkClassificationEvidence,
337
+ ur as parseRawTemporalValueMetadata,
338
+ ce as parseResolvedNumericCanonicalFormat,
339
+ fe as parseResolvedPresentationEntries,
340
+ pe as parseResolvedRawTemporalFormat,
341
+ Ye as parseResolvedTemporalBucketFormat,
342
+ Je as parseTemporalBucketValue,
343
+ Ne as parseWithSourceTimezone,
344
+ be as prepareRawTemporalFormatter,
345
+ Ie as presentAggregateGroupRow,
346
+ je as presentPivotHeader,
347
+ sr as requirePivotHeaderMembers,
348
+ nr as requirePivotResultColumnIdentities,
349
+ ze as resolveAggregateTablePresentationContext,
350
+ He as resolveApplicableTemporalBucketFormat,
351
+ Te as resolveCurrencyFractionDigits,
352
+ Xe as resolveMetricResultAlias,
353
+ we as resolveNumericPresentation,
354
+ lr as resolveQueryColumnKeyMapEntry,
355
+ he as resolveRawTemporalFormat,
356
+ Ze as resolveTemporalBucketPresentation,
357
+ Oe as resolveTimezone,
358
+ ar as resolveUniqueQueryColumnKeyMapEntry,
359
+ Ge as tokenizeTemporalBucketPattern,
360
+ Ee as validateCardExportNumericPresentationSnapshot,
361
+ ye as validateCardExportPresentationSnapshot,
362
+ mr as validateRawTemporalResultColumn,
363
+ Ke as validateTemporalBucketFormatApplicability
348
364
  };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DPv8_Ild.cjs"),d=require("./chunks/common-types-CQ6SHfLk.cjs"),P=require("./chunks/report-preferences-dialog-DaqTEcac.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-Cjk6G06r.cjs"),h=require("react"),N=require("./chunks/token-types-BdQ8kHBm.cjs"),l=require("./chunks/dashboard-briefing-launcher-DDgDr2s3.cjs"),R=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");const _=require("./chunks/report-runtime-context-C8LZFsqV.cjs");require("./chunks/validators-9D4KBqKD.cjs");const T=require("./chunks/pivot-result-identity-CDLRT-YG.cjs");require("./chunks/analyze-result-contract-BHb7sUUW.cjs");require("./chunks/temporal-bucket-authoring-CPTwHzvs.cjs");require("./chunks/temporal-result-owner-f6-i65Fb.cjs");require("react-dom");require("./chunks/index-DRlMUglg.cjs");const B=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.cjs"),w=require("./chunks/x-B6ghREd2.cjs");function j(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const o in a)if(o!=="default"){const u=Object.getOwnPropertyDescriptor(a,o);Object.defineProperty(t,o,u.get?u:{enumerable:!0,get:()=>a[o]})}}return t.default=a,Object.freeze(t)}const C=j(h);function M(a){const{displayPreferences:t,cardId:o,...u}=a,n={...u,id:a.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:a.cardId}),i.jsx(e.UXProvider,{appearance:a.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:t,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(L,{cardId:o})})})})]})})}function L({cardId:a}){const t=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:u}=h.useMemo(()=>{const n=t==null?void 0:t.flatMap(s=>s.frames),c=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),D=c==null?void 0:c.find(s=>(s==null?void 0:s.id)===a),E=n==null?void 0:n.find(s=>{var m;return(m=s==null?void 0:s.cards)==null?void 0:m.find(g=>(g==null?void 0:g.id)===a)});return{card:D,frame:E}},[t,a]);return!o||!u?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${a}`}):i.jsx("main",{className:"flex h-full grow flex-col",children:i.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:c})=>i.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:i.jsx(e.DashboardCard,{card:o,frame:u})})})}function I(a,t,o,u){h.useEffect(()=>{a&&!o&&t&&u(e.cloneDeep(t))},[a,o,t,u])}function q({name:a,items:t,value:o,onChange:u,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:m=!1}){const g=C.useRef(null),[y,b]=C.useState(!1),[S,A]=C.useState("100%"),x=m?[...t||[],{id:"none",name:"None"}]:t;C.useLayoutEffect(()=>{g.current&&A(g.current.offsetWidth)},[]);function v(){var f;return n?"Loading...":c?"Error":o?(f=t==null?void 0:t.find(p=>p.id===o))==null?void 0:f.name:`Select ${a}`}function F(f,p){u(p),b(!1)}return i.jsxs(r.Popover,{open:y,onOpenChange:b,children:[i.jsx(r.PopoverTrigger,{asChild:!0,children:i.jsxs(r.Button,{ref:g,variant:"outline",role:"combobox","aria-expanded":y,className:r.cn("flex h-9 w-full justify-between",E),children:[i.jsxs("div",{className:"flex items-center gap-2",children:[s&&i.jsx("div",{className:"mr-2",children:s}),i.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:v()})]}),i.jsx(w.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:S},children:i.jsxs(e.Command,{children:[i.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[i.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),i.jsx(e.IconButton,{className:"h-7",onClick:D,children:i.jsx(e.RefreshCw,{className:r.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),i.jsxs(e.CommandList,{children:[i.jsxs(e.CommandEmpty,{children:["No ",a==null?void 0:a.toLowerCase()," found."]}),i.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>i.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:p=>F(p,f.id),children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(r.Check,{className:r.cn("size-4",o===f.id?"opacity-100":"opacity-0")}),i.jsx("div",{title:f.name,children:f.name})]})},f.id))})]})]})})]})}function U(a,t){h.useEffect(()=>(a&&t&&(window.__SEMAPHOR_PRINT_STATE__={...t}),()=>{a&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[a,t])}exports.BriefingAuthor=e.BriefingAuthor;exports.BriefingAuthorDialog=e.BriefingAuthorDialog;exports.BriefingUiCapabilitiesBoundary=e.BriefingUiCapabilitiesBoundary;exports.BriefingUiCapabilitiesProvider=e.BriefingUiCapabilitiesProvider;exports.BriefingsApiError=e.BriefingsApiError;exports.CardSummary=e.CardSummary;exports.Dashboard=e.Dashboard;exports.DashboardCreateDialogBase=e.DashboardCreateDialogBase;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.ExportError=e.ExportError;exports.MatrixTableVisual=e.MatrixTableVisual;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.applyBriefingFormPatch=e.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=e.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=e.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=e.briefingToFormDraft;exports.cancelBriefingPreviewRun=e.cancelBriefingPreviewRun;exports.cancelBriefingRun=e.cancelBriefingRun;exports.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createBriefing=e.createBriefing;exports.createBriefingFormDraft=e.createBriefingFormDraft;exports.createExport=e.createExport;exports.deleteBriefing=e.deleteBriefing;exports.deleteBriefingRun=e.deleteBriefingRun;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getBriefing=e.getBriefing;exports.getBriefingArtifact=e.getBriefingArtifact;exports.getBriefingEvidence=e.getBriefingEvidence;exports.getBriefingPreviewRun=e.getBriefingPreviewRun;exports.getBriefingRun=e.getBriefingRun;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.listBriefingRuns=e.listBriefingRuns;exports.listBriefingTenantSummaries=e.listBriefingTenantSummaries;exports.listBriefings=e.listBriefings;exports.pauseBriefing=e.pauseBriefing;exports.polishBriefingText=e.polishBriefingText;exports.previewBriefingPlan=e.previewBriefingPlan;exports.resumeBriefing=e.resumeBriefing;exports.runBriefingNow=e.runBriefingNow;exports.runBriefingPreview=e.runBriefingPreview;exports.updateBriefing=e.updateBriefing;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useBriefingUiCapabilities=e.useBriefingUiCapabilities;exports.useCard=e.useCard;exports.useCardSummary=e.useCardSummary;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorAside=e.useEditorAside;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useTextFilterHook=e.useTextFilterHook;exports.validateBriefingFormDraft=e.validateBriefingFormDraft;exports.CALCULATED_FIELD_ENTITY_MARKER=d.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=d.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=d.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=d.EMPTY_SELECTION;exports.PivotMarkerEnum=d.PivotMarkerEnum;exports.getFieldRuntimeColumnName=d.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=d.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=d.hasCalculatedFormulaInputs;exports.isCalculatedDimension=d.isCalculatedDimension;exports.isCalculatedField=d.isCalculatedField;exports.isCalculatedMetric=d.isCalculatedMetric;exports.ReportPreferencesDialog=P.ReportPreferencesDialog;exports.createEmptyKpiConfig=r.createEmptyKpiConfig;exports.createSqlGenConfig=r.createSqlGenConfig;exports.emitDashboardLoad=r.emitDashboardLoad;exports.emitDashboardUnload=r.emitDashboardUnload;exports.fmt=r.fmt;exports.getColumnDataType=r.getColumnDataType;exports.getFilterValueType=r.getFilterValueType;exports.getFormattedTableNameForQuery=r.getFormattedTableNameForQuery;exports.getQualifiedTableName=r.getQualifiedTableName;exports.getSql=r.getSql;exports.invalidateToken=r.invalidateToken;exports.isBooleanDataType=r.isBooleanDataType;exports.isColumnInSqlGen=r.isColumnInSqlGen;exports.isDateDataType=r.isDateDataType;exports.isNumberDataType=r.isNumberDataType;exports.isTextDataType=r.isTextDataType;exports.resolveDataType=r.resolveDataType;exports.resolveDatamodelName=r.resolveDatamodelName;exports.useCurrentActiveCard=r.useCurrentActiveCard;exports.useCurrentCardConfig=r.useCurrentCardConfig;exports.useCurrentSheetActiveCards=r.useCurrentSheetActiveCards;exports.useDashboardActions=r.useDashboardActions;exports.useDashboardStore=r.useDashboardStore;exports.useEditorActions=r.useEditorActions;exports.useEditorStore=r.useEditorStore;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=N.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=l.AdvancedModeToggle;exports.DashboardBriefingLauncher=l.DashboardBriefingLauncher;exports.DashboardControlsSettings=l.DashboardControlsSettings;exports.DashboardFilterControlsButton=l.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=l.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=l.DocumentControlsSettings;exports.ExportNotificationItem=l.ExportNotificationItem;exports.ExportNotificationList=l.ExportNotificationList;exports.NotificationBell=l.NotificationBell;exports.UnsavedChangesAlert=l.UnsavedChangesAlert;exports.VisualEditingControls=l.VisualEditingControls;exports.VisualsLibraryDialog=l.VisualsLibraryDialog;exports.WatchDashboardButton=l.WatchDashboardButton;exports.useExportPolling=l.useExportPolling;exports.useExportRecovery=l.useExportRecovery;exports.useDebouncedDirtyCheck=R.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=_.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=T.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=T.resolveUniqueQueryColumnKeyMapEntry;exports.normalizeDashboardForDirtyCheck=B.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=B.serializeDashboardForDirtyCheck;exports.Combobox=q;exports.Visual=M;exports.useExposePrintState=U;exports.usePristineSnapshotInitializer=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-CLB_NGZ8.cjs"),d=require("./chunks/common-types-C57kJ59w.cjs"),P=require("./chunks/report-preferences-dialog-BgSvlDXa.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-D-CCcfhc.cjs"),h=require("react"),N=require("./chunks/token-types-D7CaaI80.cjs"),u=require("./chunks/dashboard-briefing-launcher-Dwj1i7lr.cjs"),R=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");require("./chunks/validators-BDYprKI9.cjs");const _=require("./chunks/report-runtime-context-DqxS4wbi.cjs"),T=require("./chunks/pivot-result-identity-Bb4EixVN.cjs");require("./chunks/analyze-result-contract-LPDNldic.cjs");require("./chunks/temporal-bucket-authoring-o3Emn05L.cjs");require("./chunks/canonical-result-keys-BA0HCP4e.cjs");require("./chunks/saved-temporal-bucket-format-CFfWXRl9.cjs");require("react-dom");require("./chunks/color-CyB5o13F.cjs");require("./chunks/index-ByFbacH7.cjs");const B=require("./chunks/normalize-dashboard-for-dirty-check-BXRUMVb2.cjs"),w=require("./chunks/x-B6ghREd2.cjs");function j(a){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const o in a)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(a,o);Object.defineProperty(t,o,l.get?l:{enumerable:!0,get:()=>a[o]})}}return t.default=a,Object.freeze(t)}const C=j(h);function M(a){const{displayPreferences:t,cardId:o,...l}=a,n={...l,id:a.dashboardId};return i.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:i.jsxs(e.SemaphorContextProvider,{dashboardProps:n,children:[i.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:a.cardId}),i.jsx(e.UXProvider,{appearance:a.appearance,children:i.jsx(e.DisplayPreferencesProvider,{displayPreferences:t,children:i.jsx(e.Container,{type:"visual",cardId:o,...n,children:i.jsx(L,{cardId:o})})})})]})})}function L({cardId:a}){const t=r.useDashboardStore(n=>{var c;return(c=n.dashboard)==null?void 0:c.sheets}),{card:o,frame:l}=h.useMemo(()=>{const n=t==null?void 0:t.flatMap(s=>s.frames),c=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),D=c==null?void 0:c.find(s=>(s==null?void 0:s.id)===a),E=n==null?void 0:n.find(s=>{var m;return(m=s==null?void 0:s.cards)==null?void 0:m.find(g=>(g==null?void 0:g.id)===a)});return{card:D,frame:E}},[t,a]);return!o||!l?i.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${a}`}):i.jsx("main",{className:"flex h-full grow flex-col",children:i.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:c})=>i.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:c,customerFacingMessage:"Error creating visual. Please try again."}),children:i.jsx(e.DashboardCard,{card:o,frame:l})})})}function q(a,t,o,l){h.useEffect(()=>{a&&!o&&t&&l(e.cloneDeep(t))},[a,o,t,l])}function I({name:a,items:t,value:o,onChange:l,isLoading:n,isError:c,refetch:D,className:E,icon:s,showNone:m=!1}){const g=C.useRef(null),[y,b]=C.useState(!1),[S,A]=C.useState("100%"),x=m?[...t||[],{id:"none",name:"None"}]:t;C.useLayoutEffect(()=>{g.current&&A(g.current.offsetWidth)},[]);function v(){var f;return n?"Loading...":c?"Error":o?(f=t==null?void 0:t.find(p=>p.id===o))==null?void 0:f.name:`Select ${a}`}function F(f,p){l(p),b(!1)}return i.jsxs(r.Popover,{open:y,onOpenChange:b,children:[i.jsx(r.PopoverTrigger,{asChild:!0,children:i.jsxs(r.Button,{ref:g,variant:"outline",role:"combobox","aria-expanded":y,className:r.cn("flex h-9 w-full justify-between",E),children:[i.jsxs("div",{className:"flex items-center gap-2",children:[s&&i.jsx("div",{className:"mr-2",children:s}),i.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:v()})]}),i.jsx(w.ChevronDown,{className:"size-4 opacity-50"})]})}),i.jsx(r.PopoverContent,{className:"w-full p-0",style:{minWidth:S},children:i.jsxs(e.Command,{children:[i.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[i.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),i.jsx(e.IconButton,{className:"h-7",onClick:D,children:i.jsx(e.RefreshCw,{className:r.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),i.jsxs(e.CommandList,{children:[i.jsxs(e.CommandEmpty,{children:["No ",a==null?void 0:a.toLowerCase()," found."]}),i.jsx(e.CommandGroup,{children:x==null?void 0:x.map(f=>i.jsx(e.CommandItem,{className:"overflow-x-auto",value:f.name,onSelect:p=>F(p,f.id),children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(r.Check,{className:r.cn("size-4",o===f.id?"opacity-100":"opacity-0")}),i.jsx("div",{title:f.name,children:f.name})]})},f.id))})]})]})})]})}function U(a,t){h.useEffect(()=>(a&&t&&(window.__SEMAPHOR_PRINT_STATE__={...t}),()=>{a&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[a,t])}exports.BriefingAuthor=e.BriefingAuthor;exports.BriefingAuthorDialog=e.BriefingAuthorDialog;exports.BriefingUiCapabilitiesBoundary=e.BriefingUiCapabilitiesBoundary;exports.BriefingUiCapabilitiesProvider=e.BriefingUiCapabilitiesProvider;exports.BriefingsApiError=e.BriefingsApiError;exports.CardSummary=e.CardSummary;exports.Dashboard=e.Dashboard;exports.DashboardCreateDialogBase=e.DashboardCreateDialogBase;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.DisplayFormatPreferencesFields=e.DisplayFormatPreferencesFields;exports.ExportError=e.ExportError;exports.MatrixTableVisual=e.MatrixTableVisual;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.applyBriefingFormPatch=e.applyBriefingFormPatch;exports.briefingFormDraftToCreateRequest=e.briefingFormDraftToCreateRequest;exports.briefingFormDraftToUpdateRequest=e.briefingFormDraftToUpdateRequest;exports.briefingToFormDraft=e.briefingToFormDraft;exports.cancelBriefingPreviewRun=e.cancelBriefingPreviewRun;exports.cancelBriefingRun=e.cancelBriefingRun;exports.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createBriefing=e.createBriefing;exports.createBriefingFormDraft=e.createBriefingFormDraft;exports.createExport=e.createExport;exports.deleteBriefing=e.deleteBriefing;exports.deleteBriefingRun=e.deleteBriefingRun;exports.downloadDocumentPdf=e.downloadDocumentPdf;exports.downloadPdf=e.downloadPdf;exports.formatFileSize=e.formatFileSize;exports.getBriefing=e.getBriefing;exports.getBriefingArtifact=e.getBriefingArtifact;exports.getBriefingEvidence=e.getBriefingEvidence;exports.getBriefingPreviewRun=e.getBriefingPreviewRun;exports.getBriefingRun=e.getBriefingRun;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.listBriefingRuns=e.listBriefingRuns;exports.listBriefingTenantSummaries=e.listBriefingTenantSummaries;exports.listBriefings=e.listBriefings;exports.pauseBriefing=e.pauseBriefing;exports.polishBriefingText=e.polishBriefingText;exports.previewBriefingPlan=e.previewBriefingPlan;exports.resumeBriefing=e.resumeBriefing;exports.runBriefingNow=e.runBriefingNow;exports.runBriefingPreview=e.runBriefingPreview;exports.updateBriefing=e.updateBriefing;exports.useActiveExports=e.useActiveExports;exports.useAddNewFrame=e.useAddNewFrame;exports.useBriefingUiCapabilities=e.useBriefingUiCapabilities;exports.useCard=e.useCard;exports.useCardSummary=e.useCardSummary;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorAside=e.useEditorAside;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useTextFilterHook=e.useTextFilterHook;exports.validateBriefingFormDraft=e.validateBriefingFormDraft;exports.CALCULATED_FIELD_ENTITY_MARKER=d.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=d.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=d.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=d.EMPTY_SELECTION;exports.PivotMarkerEnum=d.PivotMarkerEnum;exports.getFieldRuntimeColumnName=d.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=d.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=d.hasCalculatedFormulaInputs;exports.isCalculatedDimension=d.isCalculatedDimension;exports.isCalculatedField=d.isCalculatedField;exports.isCalculatedMetric=d.isCalculatedMetric;exports.ReportPreferencesDialog=P.ReportPreferencesDialog;exports.createEmptyKpiConfig=r.createEmptyKpiConfig;exports.createSqlGenConfig=r.createSqlGenConfig;exports.emitDashboardLoad=r.emitDashboardLoad;exports.emitDashboardUnload=r.emitDashboardUnload;exports.fmt=r.fmt;exports.getColumnDataType=r.getColumnDataType;exports.getFilterValueType=r.getFilterValueType;exports.getFormattedTableNameForQuery=r.getFormattedTableNameForQuery;exports.getQualifiedTableName=r.getQualifiedTableName;exports.getSql=r.getSql;exports.invalidateToken=r.invalidateToken;exports.isBooleanDataType=r.isBooleanDataType;exports.isColumnInSqlGen=r.isColumnInSqlGen;exports.isDateDataType=r.isDateDataType;exports.isNumberDataType=r.isNumberDataType;exports.isTextDataType=r.isTextDataType;exports.resolveDataType=r.resolveDataType;exports.resolveDatamodelName=r.resolveDatamodelName;exports.useCurrentActiveCard=r.useCurrentActiveCard;exports.useCurrentCardConfig=r.useCurrentCardConfig;exports.useCurrentSheetActiveCards=r.useCurrentSheetActiveCards;exports.useDashboardActions=r.useDashboardActions;exports.useDashboardStore=r.useDashboardStore;exports.useEditorActions=r.useEditorActions;exports.useEditorStore=r.useEditorStore;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=N.DEFAULT_SEMANTIC_DOMAIN_ACCESS;exports.AdvancedModeToggle=u.AdvancedModeToggle;exports.DashboardBriefingLauncher=u.DashboardBriefingLauncher;exports.DashboardControlsSettings=u.DashboardControlsSettings;exports.DashboardFilterControlsButton=u.DashboardFilterControlsButton;exports.DashboardFilterControlsLauncher=u.DashboardFilterControlsLauncher;exports.DocumentControlsSettings=u.DocumentControlsSettings;exports.ExportNotificationItem=u.ExportNotificationItem;exports.ExportNotificationList=u.ExportNotificationList;exports.NotificationBell=u.NotificationBell;exports.UnsavedChangesAlert=u.UnsavedChangesAlert;exports.VisualEditingControls=u.VisualEditingControls;exports.VisualsLibraryDialog=u.VisualsLibraryDialog;exports.WatchDashboardButton=u.WatchDashboardButton;exports.useExportPolling=u.useExportPolling;exports.useExportRecovery=u.useExportRecovery;exports.useDebouncedDirtyCheck=R.useDebouncedDirtyCheck;exports.DEFAULT_CALENDAR_CONTEXT=_.DEFAULT_CALENDAR_CONTEXT;exports.resolveQueryColumnKeyMapEntry=T.resolveQueryColumnKeyMapEntry;exports.resolveUniqueQueryColumnKeyMapEntry=T.resolveUniqueQueryColumnKeyMapEntry;exports.normalizeDashboardForDirtyCheck=B.normalizeDashboardForDirtyCheck;exports.serializeDashboardForDirtyCheck=B.serializeDashboardForDirtyCheck;exports.Combobox=I;exports.Visual=M;exports.useExposePrintState=U;exports.usePristineSnapshotInitializer=q;