react-semaphor 0.1.449 → 0.1.453

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 (134) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +115 -109
  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-BHb7sUUW.cjs → analyze-result-contract-Dxw66nUG.cjs} +1 -1
  10. package/dist/chunks/{analyze-result-contract-T-0Ntzys.js → analyze-result-contract-GHKFwThg.js} +1 -1
  11. package/dist/chunks/canonical-result-keys-Drc2x-lf.cjs +1 -0
  12. package/dist/chunks/canonical-result-keys-KLk__J_O.js +466 -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-Ci66eflG.cjs} +1 -1
  16. package/dist/chunks/{common-types-B7Jk3Rtj.js → common-types-F6qk6PPS.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-DCHiEkLE.js → dashboard-briefing-launcher-CFpX0WX3.js} +86 -84
  20. package/dist/chunks/dashboard-briefing-launcher-mUXWuiOZ.cjs +26 -0
  21. package/dist/chunks/{dashboard-controls-DwRFCcHV.js → dashboard-controls-BeYAmOJc.js} +15 -13
  22. package/dist/chunks/{dashboard-controls-CaFioayc.cjs → dashboard-controls-SoNubIu1.cjs} +1 -1
  23. package/dist/chunks/dashboard-json-BublPnQ4.cjs +1 -0
  24. package/dist/chunks/{dashboard-json-WoILbfTe.js → dashboard-json-DeLUagVV.js} +25 -23
  25. package/dist/chunks/edit-dashboard-visual-CrvPcO7A.cjs +172 -0
  26. package/dist/chunks/{edit-dashboard-visual-ciFhxqaI.js → edit-dashboard-visual-Go0h82DR.js} +6925 -6947
  27. package/dist/chunks/editor-action-buttons-1Lo0fIh7.cjs +16 -0
  28. package/dist/chunks/{editor-action-buttons-BPo_45pM.js → editor-action-buttons-BFNtjFzO.js} +41 -39
  29. package/dist/chunks/format-types-CFHQoIuk.js +1350 -0
  30. package/dist/chunks/format-types-PSZZ7hG8.cjs +1 -0
  31. package/dist/chunks/index-B3ZugihZ.js +3713 -0
  32. package/dist/chunks/{index-CPuawpXJ.js → index-BsH32bn1.js} +47472 -47845
  33. package/dist/chunks/index-ByFbacH7.cjs +1 -0
  34. package/dist/chunks/index-CACdoqu3.js +318 -0
  35. package/dist/chunks/index-DSKR3nKn.js +421 -0
  36. package/dist/chunks/index-DjiIh_9n.cjs +4 -0
  37. package/dist/chunks/index-F25jnH0p.cjs +1 -0
  38. package/dist/chunks/index-q12_nNUS.cjs +1392 -0
  39. package/dist/chunks/{metric-comparison-97zHGEx5.js → metric-comparison-D0T0MKRK.js} +1 -1
  40. package/dist/chunks/{metric-comparison-CUAJ8n4y.cjs → metric-comparison-DYR3RXam.cjs} +1 -1
  41. package/dist/chunks/pivot-header-presentation-DcfPaCiy.cjs +4 -0
  42. package/dist/chunks/pivot-header-presentation-nk604qc1.js +557 -0
  43. package/dist/chunks/{pivot-result-identity-CwJWpKI7.js → pivot-result-identity-C43Ai5Kr.js} +1 -1
  44. package/dist/chunks/{pivot-result-identity-CDLRT-YG.cjs → pivot-result-identity-CRUokNgm.cjs} +1 -1
  45. package/dist/chunks/pivot-result-lifecycle-4kSe0Hk1.js +1642 -0
  46. package/dist/chunks/pivot-result-lifecycle-BiJepH5S.cjs +1 -0
  47. package/dist/chunks/raw-temporal-contract-BF7PjBY9.js +64 -0
  48. package/dist/chunks/raw-temporal-contract-CxbRFwnd.cjs +1 -0
  49. package/dist/chunks/report-preferences-dialog-BEVZAE3m.cjs +1 -0
  50. package/dist/chunks/report-preferences-dialog-BNV7qXYH.js +723 -0
  51. package/dist/chunks/{report-runtime-context-bCy3CVzK.js → report-runtime-context-BJQDu2fV.js} +1 -1
  52. package/dist/chunks/{report-runtime-context-C8LZFsqV.cjs → report-runtime-context-DjYqLV-c.cjs} +1 -1
  53. package/dist/chunks/saved-temporal-bucket-format-DiZdQXOL.js +924 -0
  54. package/dist/chunks/saved-temporal-bucket-format-Gfbh4IiP.cjs +1 -0
  55. package/dist/chunks/switch-CjJ6FHYJ.cjs +138 -0
  56. package/dist/chunks/{switch-BXet-Sno.js → switch-DgLwr7O-.js} +4352 -5249
  57. package/dist/chunks/temporal-bucket-Dnj8qT9l.cjs +1 -0
  58. package/dist/chunks/temporal-bucket-FBZGrDCe.js +560 -0
  59. package/dist/chunks/temporal-bucket-authoring-7hv2laOG.cjs +1 -0
  60. package/dist/chunks/temporal-bucket-authoring-FIRnJz0e.js +221 -0
  61. package/dist/chunks/{temporal-bucket-contract-_F6vNhhH.js → temporal-bucket-contract-BQOj6Frl.js} +1 -1
  62. package/dist/chunks/{temporal-bucket-contract-ChDBWX8I.cjs → temporal-bucket-contract-anl4h-vg.cjs} +1 -1
  63. package/dist/chunks/{token-types-BHR58aTy.js → token-types-CRpQJ4kv.js} +1 -1
  64. package/dist/chunks/{token-types-BdQ8kHBm.cjs → token-types-D0i0IUX3.cjs} +1 -1
  65. package/dist/chunks/{update-policy-BxvYMYz0.cjs → update-policy-C1i9bgsy.cjs} +1 -1
  66. package/dist/chunks/{update-policy-g0rCQ9BM.js → update-policy-CaJz9aPG.js} +1 -1
  67. package/dist/chunks/{validators-Cs74WVie.js → validators-DeMXwRON.js} +253 -233
  68. package/dist/chunks/validators-Dm7Kpz6p.cjs +1 -0
  69. package/dist/dashboard/index.cjs +1 -1
  70. package/dist/dashboard/index.js +2 -2
  71. package/dist/dashboard-authoring/index.cjs +3 -3
  72. package/dist/dashboard-authoring/index.js +32 -29
  73. package/dist/data-app-builder/index.cjs +1 -1
  74. package/dist/data-app-builder/index.js +2 -2
  75. package/dist/data-app-codegen/index.cjs +1 -1
  76. package/dist/data-app-codegen/index.js +2 -2
  77. package/dist/data-app-codegen-node/index.cjs +1 -1
  78. package/dist/data-app-codegen-node/index.js +3 -3
  79. package/dist/data-app-sdk/index.cjs +1 -1
  80. package/dist/data-app-sdk/index.js +3 -3
  81. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  82. package/dist/data-app-sdk-adapters/index.js +2 -2
  83. package/dist/data-app-sdk-validation/index.cjs +1 -1
  84. package/dist/data-app-sdk-validation/index.js +3 -3
  85. package/dist/format-utils/index.cjs +3 -3
  86. package/dist/format-utils/index.js +162 -145
  87. package/dist/index.cjs +1 -1
  88. package/dist/index.js +157 -155
  89. package/dist/report-runtime-context/index.cjs +1 -1
  90. package/dist/report-runtime-context/index.js +2 -2
  91. package/dist/style.css +1 -1
  92. package/dist/surfboard/index.cjs +1 -1
  93. package/dist/surfboard/index.js +3 -3
  94. package/dist/types/analytics-protocol.d.ts +37 -0
  95. package/dist/types/briefings.d.ts +718 -7
  96. package/dist/types/dashboard-assistant.d.ts +18 -0
  97. package/dist/types/dashboard-authoring.d.ts +52 -2
  98. package/dist/types/dashboard.d.ts +128 -0
  99. package/dist/types/data-app-sdk-validation.d.ts +13 -0
  100. package/dist/types/data-app-sdk.d.ts +13 -0
  101. package/dist/types/format-utils.d.ts +190 -3
  102. package/dist/types/index.cjs +1 -1
  103. package/dist/types/index.js +4 -4
  104. package/dist/types/main.d.ts +103 -12
  105. package/dist/types/shared.d.ts +5 -0
  106. package/dist/types/surfboard.d.ts +129 -1
  107. package/dist/types/types.d.ts +98 -6
  108. package/dist/types/value-format-preferences.d.ts +3 -0
  109. package/package.json +2 -1
  110. package/dist/chunks/card-config-utils-15sRtebL.cjs +0 -1
  111. package/dist/chunks/card-config-utils-BYZ5MJOh.js +0 -16
  112. package/dist/chunks/dashboard-briefing-launcher-DDgDr2s3.cjs +0 -26
  113. package/dist/chunks/dashboard-json-CYtvwtvj.cjs +0 -1
  114. package/dist/chunks/edit-dashboard-visual-DwKcvlsF.cjs +0 -177
  115. package/dist/chunks/editor-action-buttons-BVmsk0Aj.cjs +0 -16
  116. package/dist/chunks/format-types-CSv0V7mm.cjs +0 -1
  117. package/dist/chunks/format-types-DZGgYj39.js +0 -1663
  118. package/dist/chunks/index-CJdxSyQq.js +0 -2578
  119. package/dist/chunks/index-DPv8_Ild.cjs +0 -1395
  120. package/dist/chunks/index-DRlMUglg.cjs +0 -4
  121. package/dist/chunks/pivot-result-lifecycle-BBabQ_da.js +0 -914
  122. package/dist/chunks/pivot-result-lifecycle-DPc0ANwk.cjs +0 -4
  123. package/dist/chunks/presentation-execution-BLfPTGX_.js +0 -637
  124. package/dist/chunks/presentation-execution-BTV-Q43g.cjs +0 -1
  125. package/dist/chunks/report-preferences-dialog-D9ZCGh9l.js +0 -691
  126. package/dist/chunks/report-preferences-dialog-DaqTEcac.cjs +0 -1
  127. package/dist/chunks/switch-Cjk6G06r.cjs +0 -138
  128. package/dist/chunks/temporal-bucket-BnPxGrAi.js +0 -446
  129. package/dist/chunks/temporal-bucket-authoring-CPTwHzvs.cjs +0 -1
  130. package/dist/chunks/temporal-bucket-authoring-CgOuakGW.js +0 -205
  131. package/dist/chunks/temporal-bucket-pMnV-4Nj.cjs +0 -1
  132. package/dist/chunks/temporal-result-owner-6peubmhU.js +0 -443
  133. package/dist/chunks/temporal-result-owner-f6-i65Fb.cjs +0 -1
  134. package/dist/chunks/validators-9D4KBqKD.cjs +0 -1
@@ -1,35 +1,36 @@
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 D } from "../chunks/format-types-CFHQoIuk.js";
2
+ import { f as w, a as y, b as R } from "../chunks/pivot-result-lifecycle-4kSe0Hk1.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-4kSe0Hk1.js";
4
+ import { f as C, a as v, b as p, e as h } from "../chunks/pivot-header-presentation-nk604qc1.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 ze, k as je, r as qe } from "../chunks/pivot-header-presentation-nk604qc1.js";
6
+ import { D as De, T as _e, a as Le, f as He, i as Ge, b as Ke, p as Ue, r as We, c as Qe, t as Fe, v as Ye } from "../chunks/temporal-bucket-FBZGrDCe.js";
7
+ import { q as Xe } from "../chunks/validators-DeMXwRON.js";
8
+ import { a as er } from "../chunks/metric-comparison-D0T0MKRK.js";
9
+ import { P as or, b as tr, i as sr, c as nr, d as lr, r as ar, a as ir } from "../chunks/pivot-result-identity-C43Ai5Kr.js";
10
+ import { p as mr, v as cr } from "../chunks/raw-temporal-contract-BF7PjBY9.js";
10
11
  function S(r, e, t, o) {
11
12
  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
13
  if (e != null && e.useRelativeTime)
13
- return v(
14
+ return C(
14
15
  s,
15
16
  (e == null ? void 0 : e.sourceTimezone) || "auto"
16
17
  );
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(
18
+ const i = e != null && e.useCustomFormat && (e != null && e.customFormat) ? e.customFormat : (e == null ? void 0 : e.format) || "MM/dd/yyyy";
19
+ return v(
19
20
  s,
20
- a,
21
+ i,
21
22
  e != null && e.timezone && (e == null ? void 0 : e.timezone) !== "auto" ? e.timezone : n ? l : t,
22
23
  (e == null ? void 0 : e.sourceTimezone) || "auto"
23
24
  );
24
25
  }
25
- function P(r, e, t) {
26
+ function A(r, e, t) {
26
27
  if (r == null)
27
28
  return "";
28
29
  if (!t.useFormattedValues || !e)
29
30
  return String(r);
30
31
  switch (e.type) {
31
32
  case "number":
32
- return typeof r == "number" ? h(
33
+ return typeof r == "number" ? w(
33
34
  r,
34
35
  e.numberFormat,
35
36
  t.locale
@@ -54,42 +55,42 @@ function P(r, e, t) {
54
55
  return String(r);
55
56
  }
56
57
  }
57
- function R(r, e) {
58
+ function P(r, e) {
58
59
  return e.visibleColumns.map((t) => {
59
60
  const o = r[t], s = e.columnSettings[t];
60
- return P(o, s, {
61
+ return A(o, s, {
61
62
  useFormattedValues: e.useFormattedValues,
62
63
  timezone: e.timezone,
63
64
  locale: e.locale
64
65
  });
65
66
  });
66
67
  }
67
- function g(r, e) {
68
+ function d(r, e) {
68
69
  const t = [];
69
- e.includeHeaders && t.push(b(e.visibleColumns, e.delimiter));
70
+ e.includeHeaders && t.push(p(e.visibleColumns, e.delimiter));
70
71
  for (const o of r) {
71
- const s = R(o, e);
72
+ const s = P(o, e);
72
73
  t.push(
73
- s.map((l) => T(l, e.delimiter)).join(e.delimiter)
74
+ s.map((l) => h(l, e.delimiter)).join(e.delimiter)
74
75
  );
75
76
  }
76
77
  return t;
77
78
  }
78
- function x(r, e, t = `
79
+ function M(r, e, t = `
79
80
  `) {
80
- return g(r, e).join(t);
81
+ return d(r, e).join(t);
81
82
  }
82
- function y(r, e, t) {
83
+ function E(r, e, t) {
83
84
  for (const o of r) {
84
85
  if (o.level < t) {
85
86
  e[o.level].push(o.name);
86
87
  for (let s = 1; s < o.colspan; s++)
87
88
  e[o.level].push("");
88
89
  }
89
- o.children ? y(o.children, e, t) : o.columnKey && e[t].push(o.name);
90
+ o.children ? E(o.children, e, t) : o.columnKey && e[t].push(o.name);
90
91
  }
91
92
  }
92
- function $(r) {
93
+ function g(r) {
93
94
  const e = r.pivotByColumns.length, t = r.groupByColumns.length, o = Array.from(
94
95
  { length: e + 1 },
95
96
  () => []
@@ -98,20 +99,20 @@ function $(r) {
98
99
  o[s].push(...Array(t).fill(""));
99
100
  if (o[e].push(
100
101
  ...r.groupByColumns.map((s) => s.label || s.name)
101
- ), y(r.columnHeadersTree, o, e), r.showRowTotals) {
102
+ ), E(r.columnHeadersTree, o, e), r.showRowTotals) {
102
103
  for (let s = 0; s < e; s++)
103
104
  o[s].push("");
104
105
  o[e].push("Total");
105
106
  }
106
107
  return o;
107
108
  }
108
- function d(r, e, t) {
109
+ function $(r, e, t) {
109
110
  if (r == null)
110
111
  return "";
111
112
  if (!t.useFormattedValues)
112
113
  return String(r);
113
114
  const o = t.columnSettings[e];
114
- return typeof r == "number" && (o == null ? void 0 : o.type) === "number" ? h(
115
+ return typeof r == "number" && (o == null ? void 0 : o.type) === "number" ? w(
115
116
  r,
116
117
  o.numberFormat,
117
118
  t.locale
@@ -124,17 +125,17 @@ function V(r, e, t) {
124
125
  });
125
126
  let s = 0;
126
127
  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);
128
+ var a;
129
+ const n = (a = r.cells[l]) == null ? void 0 : a.value, i = $(n, l, t);
130
+ o.push(i), e.showRowTotals && typeof n == "number" && (s += n);
130
131
  }), e.showRowTotals && o.push(s.toLocaleString(t.locale)), o;
131
132
  }
132
- function I(r, e, t) {
133
+ function N(r, e, t) {
133
134
  const o = [];
134
135
  if (t.includeHeaders) {
135
- const s = $(e);
136
+ const s = g(e);
136
137
  for (const l of s)
137
- o.push(b(l, t.delimiter));
138
+ o.push(p(l, t.delimiter));
138
139
  }
139
140
  for (const s of r) {
140
141
  const l = V(
@@ -143,7 +144,7 @@ function I(r, e, t) {
143
144
  t
144
145
  );
145
146
  o.push(
146
- l.map((n) => T(n, t.delimiter)).join(t.delimiter)
147
+ l.map((n) => h(n, t.delimiter)).join(t.delimiter)
147
148
  );
148
149
  }
149
150
  return o;
@@ -154,53 +155,53 @@ function f(r) {
154
155
  const e = Object.getPrototypeOf(r);
155
156
  return e === null || e === Object.prototype;
156
157
  }
157
- function w(r, e, t) {
158
+ function T(r, e, t) {
158
159
  const o = new Set(e), s = Object.keys(r).find((l) => !o.has(l));
159
160
  if (s)
160
161
  throw new Error(`${t} contains unknown property "${s}"`);
161
162
  }
162
- function M(r, e = "tableTotalsRequest") {
163
+ function I(r, e = "tableTotalsRequest") {
163
164
  if (!f(r))
164
165
  throw new Error(`${e} must be an object`);
165
- if (w(r, ["source", "columns"], e), r.source !== "documentFlatTable")
166
+ if (T(r, ["source", "columns"], e), r.source !== "documentFlatTable")
166
167
  throw new Error(`${e}.source must be documentFlatTable`);
167
168
  if (!Array.isArray(r.columns) || r.columns.length === 0)
168
169
  throw new Error(`${e}.columns must be a non-empty array`);
169
170
  let t = 0;
170
- const o = r.columns.map((n, a) => {
171
- const i = `${e}.columns.${a}`;
171
+ const o = r.columns.map((n, i) => {
172
+ const a = `${e}.columns.${i}`;
172
173
  if (!f(n))
173
- throw new Error(`${i} must be an object`);
174
- w(
174
+ throw new Error(`${a} must be an object`);
175
+ T(
175
176
  n,
176
177
  ["fieldId", "role", "behavior", "metricAlias", "label"],
177
- i
178
+ a
178
179
  );
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`);
180
+ const b = typeof n.fieldId == "string" ? n.fieldId.trim() : "";
181
+ if (!b)
182
+ throw new Error(`${a}.fieldId must be a non-empty string`);
182
183
  if (n.role !== "detail" && n.role !== "groupby" && n.role !== "metric")
183
- throw new Error(`${i}.role is invalid`);
184
+ throw new Error(`${a}.role is invalid`);
184
185
  const u = n.role;
185
186
  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") {
187
+ throw new Error(`${a}.behavior is invalid`);
188
+ const c = n.behavior, m = typeof n.metricAlias == "string" ? n.metricAlias.trim() : void 0;
189
+ if (n.metricAlias !== void 0 && !m)
190
+ throw new Error(`${a}.metricAlias must be a non-empty string`);
191
+ if (m && u !== "metric")
192
+ throw new Error(`${a}.metricAlias requires metric role`);
193
+ if (c === "label") {
193
194
  if (t += 1, u === "metric")
194
- throw new Error(`${i}.behavior label requires a non-metric role`);
195
+ throw new Error(`${a}.behavior label requires a non-metric role`);
195
196
  } else if (u !== "metric")
196
- throw new Error(`${i}.${m} requires metric role`);
197
+ throw new Error(`${a}.${c} requires metric role`);
197
198
  if (n.label !== void 0 && typeof n.label != "string")
198
- throw new Error(`${i}.label must be a string`);
199
+ throw new Error(`${a}.label must be a string`);
199
200
  return {
200
- fieldId: p,
201
+ fieldId: b,
201
202
  role: u,
202
- behavior: m,
203
- ...c ? { metricAlias: c } : {},
203
+ behavior: c,
204
+ ...m ? { metricAlias: m } : {},
204
205
  ...n.label !== void 0 ? { label: n.label } : {}
205
206
  };
206
207
  }), s = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Set();
@@ -212,13 +213,13 @@ function M(r, e = "tableTotalsRequest") {
212
213
  );
213
214
  l.add(n.metricAlias);
214
215
  }
215
- const a = s.get(n.fieldId) ?? [];
216
- a.push(n), s.set(n.fieldId, a);
216
+ const i = s.get(n.fieldId) ?? [];
217
+ i.push(n), s.set(n.fieldId, i);
217
218
  }
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)
219
+ for (const [n, i] of s)
220
+ if (i.length !== 1) {
221
+ for (const a of i)
222
+ if (a.role !== "metric" || !a.metricAlias)
222
223
  throw new Error(
223
224
  `${e}.columns duplicates fieldId "${n}" without distinct metricAlias values`
224
225
  );
@@ -227,7 +228,7 @@ function M(r, e = "tableTotalsRequest") {
227
228
  throw new Error(`${e}.columns may contain at most one label`);
228
229
  return { source: "documentFlatTable", columns: o };
229
230
  }
230
- function j(r, e = "tableTotalsByColumnId") {
231
+ function z(r, e = "tableTotalsByColumnId") {
231
232
  if (!f(r))
232
233
  throw new Error(`${e} must be an object`);
233
234
  const t = {};
@@ -250,7 +251,7 @@ function k(r) {
250
251
  const e = Number(r);
251
252
  return Number.isFinite(e) ? e : null;
252
253
  }
253
- function z(r) {
254
+ function j(r) {
254
255
  const e = r.visibleColumns.map((t) => {
255
256
  const s = Object.prototype.hasOwnProperty.call(
256
257
  r.totalsByColumnId,
@@ -260,89 +261,105 @@ function z(r) {
260
261
  return "";
261
262
  if (!r.useFormattedValues)
262
263
  return String(s);
263
- const l = E({
264
+ const l = y({
264
265
  snapshot: r.snapshot,
265
266
  scope: r.scope,
266
267
  target: { kind: "column", columnKey: t }
267
268
  }), n = l ? k(s) : null;
268
- return l && n !== null ? A(n, l) : String(s);
269
+ return l && n !== null ? R(n, l) : String(s);
269
270
  });
270
- return `${b(e, r.delimiter)}
271
+ return `${p(e, r.delimiter)}
271
272
  `;
272
273
  }
273
274
  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,
283
- 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,
275
+ Ce as AGGREGATE_TOTAL_MEMBER_MARKER,
276
+ De as DEFAULT_RESOLVED_TEMPORAL_STYLE_SET,
277
+ L as MissingResolvedRawTemporalFormatError,
278
+ ve as PivotHeaderPresentationError,
279
+ or as PivotResultIdentityError,
280
+ H as PivotResultLifecycleError,
281
+ G as PresentationExecutionSnapshotError,
282
+ K as RawTemporalFormatContractError,
283
+ Xe as SEMAPHOR_GENERATED_COUNT_METRIC_ID,
284
+ _e as TEMPORAL_BUCKET_PATTERN_TOKENS,
285
+ Le as TemporalBucketContractError,
286
+ Se as arrayToCSV,
287
+ p as arrayToCSVRow,
288
+ U as assertRawTemporalChunkClassificationAgreement,
289
+ j as buildFlatTableExportTotalsFooter,
290
+ W as classifyDeclaredSqlTemporalColumn,
291
+ Q as createCanonicalPivotResultTransport,
292
+ F as createPresentationExecutionSnapshot,
293
+ Y as createRawTemporalChunkClassificationEvidence,
294
+ J as derivePivotResultContractExpectations,
295
+ h as escapeCSVValue,
296
+ y as findResolvedNumericFormat,
297
+ X as findResolvedRawTemporalFormat,
298
+ Z as findResolvedTemporalBucketFormat,
299
+ Ae as formatAggregateGrandTotalLabel,
300
+ Pe as formatAggregateGroupCell,
301
+ de as formatAggregateGroupRow,
302
+ ge as formatAggregateSubtotalLabel,
303
+ A as formatCellValue,
304
+ ee as formatCurrency,
305
+ v as formatDate,
306
+ $e as formatDuration,
307
+ Ve as formatMetricComparison,
308
+ re as formatNumber,
309
+ oe as formatNumberCustom,
310
+ w as formatNumberWithColumnSettings,
311
+ R as formatNumericCanonical,
312
+ te as formatPercent,
303
313
  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,
315
- _ as isNumericCanonicalFormat,
316
- Ge as isPivotEmptyTupleAllowed,
317
- Ke as isPivotSubtotalPrefix,
318
- ke as isTemporalBucketPreset,
319
- Ee as objectsToCSV,
320
- Ae as parseCanonicalPivotResultTransport,
321
- 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
314
+ N as formatPivotTableForCSV,
315
+ se as formatRawTemporalValue,
316
+ C as formatRelativeTime,
317
+ P as formatRowForExport,
318
+ ne as formatScientific,
319
+ d as formatTableForCSV,
320
+ He as formatTemporalBucket,
321
+ g as generatePivotHeaders,
322
+ M as generateTableCSV,
323
+ ke as getTimezoneAbbreviation,
324
+ xe as getTimezoneName,
325
+ Be as isAggregateTotalMemberMarker,
326
+ D as isNumericCanonicalFormat,
327
+ tr as isPivotEmptyTupleAllowed,
328
+ sr as isPivotSubtotalPrefix,
329
+ Ge as isTemporalBucketPreset,
330
+ Me as objectsToCSV,
331
+ le as parseCanonicalPivotResultTransport,
332
+ z as parseFlatTableExportTotalsByColumnId,
333
+ I as parseFlatTableExportTotalsRequest,
334
+ ae as parseNumericCanonicalFormat,
335
+ ie as parsePresentationExecutionSnapshot,
336
+ ue as parsePresentationScope,
337
+ me as parseRawTemporalChunkClassificationEvidence,
338
+ mr as parseRawTemporalValueMetadata,
339
+ ce as parseResolvedNumericCanonicalFormat,
340
+ fe as parseResolvedPresentationEntries,
341
+ pe as parseResolvedRawTemporalFormat,
342
+ Ke as parseResolvedTemporalBucketFormat,
343
+ Ue as parseTemporalBucketValue,
344
+ Ne as parseWithSourceTimezone,
345
+ be as prepareRawTemporalFormatter,
346
+ Ie as presentAggregateGroupRow,
347
+ ze as presentPivotHeader,
348
+ nr as requirePivotHeaderMembers,
349
+ lr as requirePivotResultColumnIdentities,
350
+ je as resolveAggregateTablePresentationContext,
351
+ We as resolveApplicableTemporalBucketFormat,
352
+ Te as resolveCurrencyFractionDigits,
353
+ er as resolveMetricResultAlias,
354
+ we as resolveNumericPresentation,
355
+ ar as resolveQueryColumnKeyMapEntry,
356
+ he as resolveRawTemporalFormat,
357
+ Qe as resolveTemporalBucketPresentation,
358
+ qe as resolveTimezone,
359
+ ir as resolveUniqueQueryColumnKeyMapEntry,
360
+ Fe as tokenizeTemporalBucketPattern,
361
+ Ee as validateCardExportNumericPresentationSnapshot,
362
+ ye as validateCardExportPresentationSnapshot,
363
+ cr as validateRawTemporalResultColumn,
364
+ Ye as validateTemporalBucketFormatApplicability
348
365
  };
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-q12_nNUS.cjs"),d=require("./chunks/common-types-Ci66eflG.cjs"),P=require("./chunks/report-preferences-dialog-BEVZAE3m.cjs"),i=require("react/jsx-runtime"),r=require("./chunks/switch-CjJ6FHYJ.cjs"),h=require("react"),N=require("./chunks/token-types-D0i0IUX3.cjs"),u=require("./chunks/dashboard-briefing-launcher-mUXWuiOZ.cjs"),R=require("./chunks/use-debounced-dirty-check-XHSwAefL.cjs");require("./value-format-preferences/index.cjs");require("./chunks/validators-Dm7Kpz6p.cjs");const _=require("./chunks/report-runtime-context-DjYqLV-c.cjs"),T=require("./chunks/pivot-result-identity-CRUokNgm.cjs");require("./chunks/analyze-result-contract-Dxw66nUG.cjs");require("./chunks/temporal-bucket-authoring-7hv2laOG.cjs");require("./chunks/canonical-result-keys-Drc2x-lf.cjs");require("./chunks/saved-temporal-bucket-format-Gfbh4IiP.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;