react-semaphor 0.1.443 → 0.1.445

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 (133) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/analytics-protocol/index.cjs +1 -1
  3. package/dist/analytics-protocol/index.js +123 -107
  4. package/dist/appearance/index.cjs +1 -1
  5. package/dist/brand-studio/index.cjs +2 -2
  6. package/dist/brand-studio/index.js +5 -4
  7. package/dist/briefings/index.cjs +1 -1
  8. package/dist/briefings/index.js +526 -457
  9. package/dist/chunks/analyze-result-contract-BHb7sUUW.cjs +1 -0
  10. package/dist/chunks/analyze-result-contract-DUv3QnMl.js +29 -0
  11. package/dist/chunks/{braces-CbO-aIwH.js → braces-BKimshER.cjs} +1 -1
  12. package/dist/chunks/{code-editor-BpADiIlq.js → code-editor-B4gTfvc5.js} +6800 -6560
  13. package/dist/chunks/code-editor-BYVorgOf.cjs +138 -0
  14. package/dist/chunks/common-types-CQ6SHfLk.cjs +1 -0
  15. package/dist/chunks/{common-types-ClkOI-3O.js → common-types-DFsDdpH7.js} +22 -21
  16. package/dist/chunks/dashboard-CAiwJW3L.cjs +1397 -0
  17. package/dist/chunks/{dashboard-briefing-launcher-C60n8LqW.js → dashboard-briefing-launcher-2SLNOaTg.js} +26 -24
  18. package/dist/chunks/{dashboard-briefing-launcher-BYMLjZxG.js → dashboard-briefing-launcher-CHwjpUYz.cjs} +2 -2
  19. package/dist/chunks/{dashboard-controls-ti9Rcel2.js → dashboard-controls-BfL14aqO.js} +11 -9
  20. package/dist/chunks/{dashboard-controls-BH_fZYDU.js → dashboard-controls-BgGTg4yw.cjs} +2 -2
  21. package/dist/chunks/dashboard-date-comparison-definition-DZq0htjG.cjs +1 -0
  22. package/dist/chunks/dashboard-json-BOv8tCa9.cjs +1 -0
  23. package/dist/chunks/{dashboard-json-Bturr634.js → dashboard-json-BZwq3EcS.js} +14 -12
  24. package/dist/chunks/{dashboard-Bd1Quco-.js → dashboard-u61yfU6u.js} +50081 -47351
  25. package/dist/chunks/edit-dashboard-visual-BdVCH0DJ.cjs +182 -0
  26. package/dist/chunks/{edit-dashboard-visual-DglMds57.js → edit-dashboard-visual-njLPYip3.js} +6825 -6656
  27. package/dist/chunks/{editor-action-buttons-CRi0fhVW.js → editor-action-buttons-BhLX5Q6m.js} +24 -23
  28. package/dist/chunks/{editor-action-buttons-Cxo7_tNG.js → editor-action-buttons-CBVMFipA.cjs} +1 -1
  29. package/dist/chunks/{index-D7KJindZ.js → format-types-CSv0V7mm.cjs} +1 -1
  30. package/dist/chunks/{index-CnujJ3fa.js → format-types-CZH5w1lo.js} +23 -17
  31. package/dist/chunks/{layout-grid-B08pP7v6.js → layout-grid-3-HWzEwU.cjs} +1 -1
  32. package/dist/chunks/{metric-comparison-CPoDx56y.js → metric-comparison-BJ_Qu1ZF.js} +1 -1
  33. package/dist/chunks/metric-comparison-CUAJ8n4y.cjs +1 -0
  34. package/dist/chunks/{palette-C0yjT5Tv.js → palette-DW_l7Jr0.cjs} +1 -1
  35. package/dist/chunks/pivot-result-identity-B6QCWOSi.js +94 -0
  36. package/dist/chunks/pivot-result-identity-CDLRT-YG.cjs +1 -0
  37. package/dist/chunks/pivot-result-lifecycle-BM3Pl-D1.js +914 -0
  38. package/dist/chunks/pivot-result-lifecycle-DPc0ANwk.cjs +4 -0
  39. package/dist/chunks/presentation-execution-BTV-Q43g.cjs +1 -0
  40. package/dist/chunks/presentation-execution-CGlb7YZ6.js +637 -0
  41. package/dist/chunks/{report-preferences-dialog-TtwdAuNn.js → report-preferences-dialog-D_NJu2wU.js} +7 -6
  42. package/dist/chunks/report-preferences-dialog-r8QzOSFb.cjs +1 -0
  43. package/dist/chunks/report-runtime-context-C8LZFsqV.cjs +1 -0
  44. package/dist/chunks/report-runtime-context-Qzn11HQe.js +387 -0
  45. package/dist/chunks/{save-Xdc4pnys.js → save-4_uMnE6s.cjs} +1 -1
  46. package/dist/chunks/{search-Dcud9ajy.js → search-6ZmeMq55.cjs} +1 -1
  47. package/dist/chunks/temporal-bucket-BnPxGrAi.js +446 -0
  48. package/dist/chunks/temporal-bucket-authoring-BUZMuVca.js +205 -0
  49. package/dist/chunks/temporal-bucket-authoring-CPTwHzvs.cjs +1 -0
  50. package/dist/chunks/temporal-bucket-contract-B2bJ1oe4.js +108 -0
  51. package/dist/chunks/temporal-bucket-contract-ChDBWX8I.cjs +1 -0
  52. package/dist/chunks/temporal-bucket-pMnV-4Nj.cjs +1 -0
  53. package/dist/chunks/{comparison-document-migration-Dj6xZMCb.js → temporal-result-owner-Cb27SSG9.js} +152 -123
  54. package/dist/chunks/temporal-result-owner-f6-i65Fb.cjs +1 -0
  55. package/dist/chunks/token-types-BdQ8kHBm.cjs +1 -0
  56. package/dist/chunks/token-types-DLo91nOf.js +8 -0
  57. package/dist/chunks/{update-policy-DnF_74zC.js → update-policy-BxvYMYz0.cjs} +1 -1
  58. package/dist/chunks/{update-policy-De2NswtM.js → update-policy-eg59mQqv.js} +1 -1
  59. package/dist/chunks/validators-9D4KBqKD.cjs +1 -0
  60. package/dist/chunks/validators-wZ2WlNHc.js +4640 -0
  61. package/dist/dashboard/index.cjs +1 -1
  62. package/dist/dashboard/index.js +2 -2
  63. package/dist/dashboard-authoring/index.cjs +3 -3
  64. package/dist/dashboard-authoring/index.js +136 -126
  65. package/dist/data-app-builder/index.cjs +1 -1
  66. package/dist/data-app-builder/index.js +2 -2
  67. package/dist/data-app-codegen/index.cjs +1 -1
  68. package/dist/data-app-codegen/index.js +2 -2
  69. package/dist/data-app-codegen-node/index.cjs +1 -1
  70. package/dist/data-app-codegen-node/index.js +3 -3
  71. package/dist/data-app-sdk/index.cjs +2 -2
  72. package/dist/data-app-sdk/index.js +34 -35
  73. package/dist/data-app-sdk-adapters/index.cjs +1 -1
  74. package/dist/data-app-sdk-adapters/index.js +5 -5
  75. package/dist/data-app-sdk-validation/index.cjs +1 -1
  76. package/dist/data-app-sdk-validation/index.js +9 -10
  77. package/dist/format-utils/index.cjs +3 -3
  78. package/dist/format-utils/index.js +155 -176
  79. package/dist/index.cjs +1 -1
  80. package/dist/index.js +180 -174
  81. package/dist/report-runtime-context/index.cjs +1 -1
  82. package/dist/report-runtime-context/index.js +7 -392
  83. package/dist/shared/index.cjs +1 -1
  84. package/dist/style.css +1 -1
  85. package/dist/surfboard/index.cjs +1 -1
  86. package/dist/surfboard/index.js +3 -3
  87. package/dist/types/analytics-protocol.d.ts +257 -48
  88. package/dist/types/briefings.d.ts +138 -50
  89. package/dist/types/dashboard-assistant.d.ts +207 -52
  90. package/dist/types/dashboard-authoring.d.ts +182 -50
  91. package/dist/types/dashboard.d.ts +290 -48
  92. package/dist/types/data-app-builder.d.ts +48 -42
  93. package/dist/types/data-app-codegen-node.d.ts +50 -44
  94. package/dist/types/data-app-codegen.d.ts +50 -44
  95. package/dist/types/data-app-sdk-adapters.d.ts +48 -42
  96. package/dist/types/data-app-sdk-validation.d.ts +81 -43
  97. package/dist/types/data-app-sdk.d.ts +83 -45
  98. package/dist/types/format-utils.d.ts +645 -67
  99. package/dist/types/index.cjs +1 -1
  100. package/dist/types/index.js +19 -19
  101. package/dist/types/main.d.ts +298 -94
  102. package/dist/types/report-runtime-context.d.ts +3 -0
  103. package/dist/types/shared.d.ts +116 -41
  104. package/dist/types/surfboard.d.ts +290 -48
  105. package/dist/types/types.d.ts +455 -65
  106. package/package.json +3 -1
  107. package/dist/chunks/analyze-result-contract-BswhsmWT.js +0 -1
  108. package/dist/chunks/analyze-result-contract-CfOBEwaC.js +0 -1998
  109. package/dist/chunks/code-editor-M7HTUhdF.js +0 -138
  110. package/dist/chunks/common-types-C73-Ud1-.js +0 -1
  111. package/dist/chunks/comparison-document-migration-DbU_BTxR.js +0 -1
  112. package/dist/chunks/csv-utils-BZDvO2Fw.js +0 -376
  113. package/dist/chunks/csv-utils-Co0WxHke.js +0 -4
  114. package/dist/chunks/dashboard-cB3xmTNn.js +0 -1402
  115. package/dist/chunks/dashboard-date-comparison-definition-DGZr3m-b.js +0 -1
  116. package/dist/chunks/dashboard-json-Dw_55vSZ.js +0 -1
  117. package/dist/chunks/edit-dashboard-visual-BUc3NBQ4.js +0 -182
  118. package/dist/chunks/metric-comparison-DVy3fll_.js +0 -1
  119. package/dist/chunks/numeric-presentation-BJs5lSar.js +0 -517
  120. package/dist/chunks/numeric-presentation-Dlb-Dk4c.js +0 -1
  121. package/dist/chunks/report-preferences-dialog-CCvFqH4Q.js +0 -1
  122. package/dist/chunks/source-identity-5OPV4gvg.js +0 -92
  123. package/dist/chunks/source-identity-Cbo2LOHQ.js +0 -1
  124. package/dist/chunks/validators-B2vUAqTf.js +0 -1
  125. package/dist/chunks/validators-Bce_J7Vd.js +0 -2448
  126. /package/dist/chunks/{card-config-utils-15sRtebL.js → card-config-utils-15sRtebL.cjs} +0 -0
  127. /package/dist/chunks/{catalog-field-grounding-Bnx-3tE0.js → catalog-field-grounding-Bnx-3tE0.cjs} +0 -0
  128. /package/dist/chunks/{dashboard-input-contract-DV3cshjz.js → dashboard-input-contract-DV3cshjz.cjs} +0 -0
  129. /package/dist/chunks/{index-Dpm_VET4.js → index-Dpm_VET4.cjs} +0 -0
  130. /package/dist/chunks/{index-jSrCwPQz.js → index-jSrCwPQz.cjs} +0 -0
  131. /package/dist/chunks/{normalize-dashboard-for-dirty-check-BXRUMVb2.js → normalize-dashboard-for-dirty-check-BXRUMVb2.cjs} +0 -0
  132. /package/dist/chunks/{operators-DrTQsJXv.js → operators-DrTQsJXv.cjs} +0 -0
  133. /package/dist/chunks/{use-debounced-dirty-check-XHSwAefL.js → use-debounced-dirty-check-XHSwAefL.cjs} +0 -0
@@ -1,10 +1,10 @@
1
- import { D as P, a as Ie } from "../chunks/comparison-document-migration-Dj6xZMCb.js";
2
- import { t as Nt } from "../chunks/comparison-document-migration-Dj6xZMCb.js";
3
- import { c as ye, b as E, d as _e } from "../chunks/source-identity-5OPV4gvg.js";
4
- import { v as ae, c as we } from "../chunks/validators-Bce_J7Vd.js";
5
- import "../chunks/analyze-result-contract-CfOBEwaC.js";
1
+ import { D as P, a as Ie } from "../chunks/temporal-result-owner-Cb27SSG9.js";
2
+ import { S as Mt, i as Nt, r as Bt, s as Pt, t as Rt } from "../chunks/temporal-result-owner-Cb27SSG9.js";
3
+ import { l as ye, h as H, A as _e, j as ae, a2 as we } from "../chunks/validators-wZ2WlNHc.js";
4
+ import "../chunks/analyze-result-contract-DUv3QnMl.js";
6
5
  import { n as ve } from "../chunks/catalog-field-grounding-AOGwWu0K.js";
7
6
  import { n as Se } from "../chunks/operators-C8TxpM4C.js";
7
+ import { A as zt, g as Vt, a as qt, p as Lt, r as jt, b as Et } from "../chunks/temporal-bucket-authoring-BUZMuVca.js";
8
8
  function _(e) {
9
9
  return e && typeof e == "object" ? e : null;
10
10
  }
@@ -18,16 +18,16 @@ function Ce(e) {
18
18
  function T(e) {
19
19
  return Ce(e) ? e.kind === "semantic" ? !!(e.domainId && e.datasetName) : e.kind === "physical" ? !!(e.connectionId && e.tableName) : !1 : !1;
20
20
  }
21
- function Ct(e) {
21
+ function St(e) {
22
22
  return ye(e);
23
23
  }
24
24
  function ie(e, t) {
25
- return E(e, t);
25
+ return H(e, t);
26
26
  }
27
27
  function ke(e, t) {
28
28
  return _e(e, t);
29
29
  }
30
- function z(e) {
30
+ function R(e) {
31
31
  const t = [];
32
32
  for (const n of e) {
33
33
  const r = t.findIndex(
@@ -40,11 +40,11 @@ function z(e) {
40
40
  }
41
41
  return t;
42
42
  }
43
- function kt(e) {
44
- return z(e)[0];
43
+ function Ct(e) {
44
+ return R(e)[0];
45
45
  }
46
46
  function L(e, t) {
47
- return e.kind !== "semantic" || e.connectionId || (t == null ? void 0 : t.kind) !== "semantic" || !E(e, t) || !t.connectionId ? e : { ...e, connectionId: t.connectionId };
47
+ return e.kind !== "semantic" || e.connectionId || (t == null ? void 0 : t.kind) !== "semantic" || !H(e, t) || !t.connectionId ? e : { ...e, connectionId: t.connectionId };
48
48
  }
49
49
  function j(e) {
50
50
  return T(e) ? e : void 0;
@@ -52,14 +52,14 @@ function j(e) {
52
52
  function ne(e, t) {
53
53
  if (!(e.kind !== "semantic" || e.connectionId))
54
54
  return t.find(
55
- (n) => (n == null ? void 0 : n.kind) === "semantic" && E(e, n) && !!n.connectionId
55
+ (n) => (n == null ? void 0 : n.kind) === "semantic" && H(e, n) && !!n.connectionId
56
56
  );
57
57
  }
58
58
  function S(e, t) {
59
59
  const n = j(e == null ? void 0 : e.source);
60
60
  return n ? L(n, t) : void 0;
61
61
  }
62
- function xe({
62
+ function Ae({
63
63
  explicitSource: e,
64
64
  field: t,
65
65
  defaultSource: n,
@@ -82,43 +82,43 @@ function xe({
82
82
  if ((t == null ? void 0 : t.source) === void 0)
83
83
  return j(n);
84
84
  }
85
- function xt(e, t) {
85
+ function kt(e, t) {
86
86
  if (!(e != null && e.name) || !(t != null && t.name) || e.name !== t.name)
87
87
  return !1;
88
88
  const n = S(e), r = S(t);
89
89
  return !n || !r ? !0 : ie(n, r);
90
90
  }
91
- function x(e) {
91
+ function A(e) {
92
92
  var t;
93
93
  return C((t = _(e)) == null ? void 0 : t.kind);
94
94
  }
95
95
  function oe(e) {
96
96
  var t, n;
97
- return x(e) !== "semantic" ? null : ((n = C((t = _(e)) == null ? void 0 : t.domainId)) == null ? void 0 : n.trim()) || null;
97
+ return A(e) !== "semantic" ? null : ((n = C((t = _(e)) == null ? void 0 : t.domainId)) == null ? void 0 : n.trim()) || null;
98
98
  }
99
- function De(e) {
99
+ function xe(e) {
100
100
  var t;
101
- return x(e) !== "semantic" ? null : C((t = _(e)) == null ? void 0 : t.datasetName);
101
+ return A(e) !== "semantic" ? null : C((t = _(e)) == null ? void 0 : t.datasetName);
102
102
  }
103
- function Ae(e) {
103
+ function De(e) {
104
104
  var t;
105
- return x(e) !== "semantic" ? null : C((t = _(e)) == null ? void 0 : t.datasetId);
105
+ return A(e) !== "semantic" ? null : C((t = _(e)) == null ? void 0 : t.datasetId);
106
106
  }
107
107
  function Fe(e) {
108
108
  var t;
109
- return x(e) !== "physical" ? null : C((t = _(e)) == null ? void 0 : t.connectionId);
109
+ return A(e) !== "physical" ? null : C((t = _(e)) == null ? void 0 : t.connectionId);
110
110
  }
111
111
  function Te(e) {
112
112
  var t;
113
- return x(e) !== "physical" ? null : C((t = _(e)) == null ? void 0 : t.tableName);
113
+ return A(e) !== "physical" ? null : C((t = _(e)) == null ? void 0 : t.tableName);
114
114
  }
115
115
  function $e(e) {
116
116
  var t;
117
- return x(e) !== "physical" ? "" : C((t = _(e)) == null ? void 0 : t.databaseName) || "";
117
+ return A(e) !== "physical" ? "" : C((t = _(e)) == null ? void 0 : t.databaseName) || "";
118
118
  }
119
119
  function Me(e) {
120
120
  var t;
121
- return x(e) !== "physical" ? "" : C((t = _(e)) == null ? void 0 : t.schemaName) || "";
121
+ return A(e) !== "physical" ? "" : C((t = _(e)) == null ? void 0 : t.schemaName) || "";
122
122
  }
123
123
  function Ne(e) {
124
124
  if (e.analyticsIntent && typeof e.analyticsIntent == "object" && "source" in e.analyticsIntent)
@@ -135,18 +135,18 @@ function Be({
135
135
  const n = e.map(oe), r = new Set(n.filter(Boolean));
136
136
  return n.some((o) => !o) || r.size !== 1 ? { ok: !1, issue: "invalid_multi_dataset_scope" } : { ok: !0 };
137
137
  }
138
- function H(e, t) {
138
+ function W(e, t) {
139
139
  if (!t)
140
140
  return !1;
141
141
  if (t.kind === "semantic") {
142
- const n = Ae(e);
143
- return oe(e) === t.domainId ? n && t.datasetId ? n === t.datasetId : De(e) === t.datasetName : !1;
142
+ const n = De(e);
143
+ return oe(e) === t.domainId ? n && t.datasetId ? n === t.datasetId : xe(e) === t.datasetName : !1;
144
144
  }
145
145
  return t.kind === "physical" ? Fe(e) === t.connectionId && Te(e) === t.tableName && $e(e) === (t.databaseName || "") && Me(e) === (t.schemaName || "") : !1;
146
146
  }
147
- function Dt(e, t) {
147
+ function At(e, t) {
148
148
  return e.find(
149
- (n) => H(n, t)
149
+ (n) => W(n, t)
150
150
  );
151
151
  }
152
152
  function p(e, t, n) {
@@ -181,7 +181,7 @@ function se({
181
181
  );
182
182
  return;
183
183
  }
184
- t.some((o) => H(o, r)) || n.push(
184
+ t.some((o) => W(o, r)) || n.push(
185
185
  p(
186
186
  "invalid_card_analytics_source",
187
187
  "Dashboard cards with an explicit analytics source must use one of the selected datasets.",
@@ -192,7 +192,7 @@ function se({
192
192
  function B(e) {
193
193
  return e.map((t) => t == null ? void 0 : t.source).filter((t) => !!t);
194
194
  }
195
- function q(e) {
195
+ function z(e) {
196
196
  return Array.isArray(e) ? e.filter(
197
197
  (t) => !!(t && typeof t == "object")
198
198
  ) : [];
@@ -209,15 +209,15 @@ function Pe(e) {
209
209
  const t = [e.source];
210
210
  return e.kind === "metric" ? t.push(
211
211
  ...B([
212
- ...q(e.measures),
212
+ ...z(e.measures),
213
213
  e.primaryMeasure,
214
214
  e.dateField,
215
- ...q(e.dimensions),
215
+ ...z(e.dimensions),
216
216
  ...re(e.filters).map((o) => o.field)
217
217
  ])
218
218
  ) : e.kind === "records" ? t.push(
219
219
  ...B([
220
- ...q(e.fields),
220
+ ...z(e.fields),
221
221
  e.dateField,
222
222
  (n = e.orderBy) == null ? void 0 : n.field,
223
223
  ...re(e.filters).map((o) => o.field)
@@ -239,7 +239,7 @@ function de({
239
239
  if (e.type !== "text") {
240
240
  for (const r of Pe(e.analyticsIntent))
241
241
  if (r && !t.some(
242
- (o) => H(o, r)
242
+ (o) => W(o, r)
243
243
  )) {
244
244
  n.push(
245
245
  p(
@@ -308,7 +308,7 @@ function ue({
308
308
  )
309
309
  );
310
310
  }
311
- function ze(e) {
311
+ function Re(e) {
312
312
  var f, g;
313
313
  const t = [];
314
314
  if (!e || typeof e != "object")
@@ -393,7 +393,7 @@ function ze(e) {
393
393
  );
394
394
  return { ok: t.length === 0, errors: t, warnings: r };
395
395
  }
396
- function Ve(e) {
396
+ function Oe(e) {
397
397
  var i;
398
398
  const t = [];
399
399
  if (!e || typeof e != "object")
@@ -448,14 +448,14 @@ function Ve(e) {
448
448
  }
449
449
  return { ok: t.length === 0, errors: t, warnings: r };
450
450
  }
451
- const qe = {
451
+ const ze = {
452
452
  lg: 48,
453
453
  md: 36,
454
454
  sm: 24,
455
455
  xs: 12,
456
456
  xxs: 6
457
457
  };
458
- function Re(e, t) {
458
+ function Ve(e, t) {
459
459
  let n = 0, r = 0, o = 0;
460
460
  return e.map((a) => {
461
461
  const i = Math.min(a.w, t);
@@ -473,7 +473,7 @@ function Re(e, t) {
473
473
  return n += i, o = Math.max(o, a.h), d;
474
474
  });
475
475
  }
476
- function Oe(e) {
476
+ function qe(e) {
477
477
  const t = [...e].sort((s, u) => s.priority - u.priority), n = t.filter((s) => s.role === "kpi"), r = t.filter((s) => s.role === "chart"), o = t.filter((s) => s.role === "table"), a = t.filter((s) => s.role === "text"), i = a.slice(0, 1), d = a.slice(i.length);
478
478
  return { kpis: n, introText: i, charts: r, tables: o, supportingText: d };
479
479
  }
@@ -483,7 +483,7 @@ function Le(e, t, n) {
483
483
  function je(e, t, n, r) {
484
484
  return n === "xxs" || n === "xs" || n === "sm" || n === "md" || t === 1 || t % 2 === 1 && e === 0 ? r : r / 2;
485
485
  }
486
- function We(e) {
486
+ function Ee(e) {
487
487
  const { item: t, band: n, index: r, bandCount: o, breakpoint: a, columns: i } = e;
488
488
  return n === "kpi" ? {
489
489
  ...t,
@@ -522,9 +522,9 @@ function We(e) {
522
522
  minH: 16
523
523
  };
524
524
  }
525
- function A(e, t, n, r) {
525
+ function D(e, t, n, r) {
526
526
  return e.map(
527
- (o, a) => We({
527
+ (o, a) => Ee({
528
528
  item: o,
529
529
  band: t,
530
530
  index: a,
@@ -534,32 +534,32 @@ function A(e, t, n, r) {
534
534
  })
535
535
  );
536
536
  }
537
- function G(e) {
538
- const t = Oe(e);
537
+ function K(e) {
538
+ const t = qe(e);
539
539
  return Object.fromEntries(
540
540
  Ie.map((n) => {
541
- const r = qe[n], o = [
542
- ...A(t.introText, "introText", n, r),
543
- ...A(t.kpis, "kpi", n, r),
544
- ...A(t.charts, "chart", n, r),
545
- ...A(t.tables, "table", n, r),
546
- ...A(t.supportingText, "supportingText", n, r)
541
+ const r = ze[n], o = [
542
+ ...D(t.introText, "introText", n, r),
543
+ ...D(t.kpis, "kpi", n, r),
544
+ ...D(t.charts, "chart", n, r),
545
+ ...D(t.tables, "table", n, r),
546
+ ...D(t.supportingText, "supportingText", n, r)
547
547
  ];
548
- return [n, Re(o, r)];
548
+ return [n, Ve(o, r)];
549
549
  })
550
550
  );
551
551
  }
552
- function Ee(e) {
552
+ function He(e) {
553
553
  const t = ve(e);
554
554
  return t === "datetime" ? "date" : t === "unknown" ? "string" : t;
555
555
  }
556
- function He(e) {
556
+ function We(e) {
557
557
  return !!(e && typeof e == "object" && !Array.isArray(e));
558
558
  }
559
- function Ge(e) {
560
- return He(e) && typeof e.filterId == "string" && typeof e.operation == "string" && Array.isArray(e.values);
561
- }
562
559
  function Ke(e) {
560
+ return We(e) && typeof e.filterId == "string" && typeof e.operation == "string" && Array.isArray(e.values);
561
+ }
562
+ function Ge(e) {
563
563
  return e.filter(
564
564
  (t) => typeof t == "string" || typeof t == "number"
565
565
  );
@@ -569,11 +569,11 @@ function Ue(e) {
569
569
  (t) => t instanceof Date || typeof t == "string"
570
570
  );
571
571
  }
572
- function K(e, t) {
572
+ function G(e, t) {
573
573
  if (t === void 0)
574
574
  return;
575
- const n = Ee(e.dataType), r = e.operation || "in";
576
- if (Ge(t))
575
+ const n = He(e.dataType), r = e.operation || "in";
576
+ if (Ke(t))
577
577
  return {
578
578
  ...t,
579
579
  filterId: e.id,
@@ -594,7 +594,7 @@ function K(e, t) {
594
594
  fieldMeta: e.fieldMeta,
595
595
  semanticContext: e.semanticContext
596
596
  };
597
- const o = Array.isArray(t) ? t : [t], a = n === "date" ? Ue(o) : Ke(o);
597
+ const o = Array.isArray(t) ? t : [t], a = n === "date" ? Ue(o) : Ge(o);
598
598
  if (a.length !== 0 && !((r === "between" || r === "not between") && a.length < 2))
599
599
  return {
600
600
  filterId: e.id,
@@ -622,42 +622,42 @@ function Qe(e, t, n) {
622
622
  ]
623
623
  };
624
624
  }
625
- function W(e, t) {
625
+ function E(e, t) {
626
626
  return Array.from(
627
627
  new Set(
628
628
  (e || []).map((n) => t.get(n)).filter((n) => !!n)
629
629
  )
630
630
  );
631
631
  }
632
- function Je(e, t) {
632
+ function Ye(e, t) {
633
633
  if ((e == null ? void 0 : e.kind) !== "cards")
634
634
  return e;
635
- const n = W(e.cardIds, t);
635
+ const n = E(e.cardIds, t);
636
636
  return n.length > 0 ? { ...e, cardIds: n } : null;
637
637
  }
638
- function Xe(e, t) {
638
+ function Je(e, t) {
639
639
  return !e.applyToCardIds && !e.excludeCardIds ? e : {
640
640
  ...e,
641
641
  ...e.applyToCardIds ? {
642
- applyToCardIds: W(
642
+ applyToCardIds: E(
643
643
  e.applyToCardIds,
644
644
  t
645
645
  )
646
646
  } : {},
647
647
  ...e.excludeCardIds ? {
648
- excludeCardIds: W(
648
+ excludeCardIds: E(
649
649
  e.excludeCardIds,
650
650
  t
651
651
  )
652
652
  } : {}
653
653
  };
654
654
  }
655
- function Ye(e, t) {
655
+ function Xe(e, t) {
656
656
  const n = {}, r = [];
657
657
  return {
658
658
  inputs: (e.filterInputs || []).flatMap(
659
659
  (a, i) => {
660
- const d = Je(a.scope, t);
660
+ const d = Ye(a.scope, t);
661
661
  if (d === null)
662
662
  return r.push(
663
663
  fe(
@@ -665,7 +665,7 @@ function Ye(e, t) {
665
665
  `Filter input "${a.label}" was skipped because all scoped cards were skipped during query validation.`
666
666
  )
667
667
  ), [];
668
- const s = K(
668
+ const s = G(
669
669
  a.filter,
670
670
  a.defaultValue
671
671
  );
@@ -688,7 +688,7 @@ function Ye(e, t) {
688
688
  order: i
689
689
  },
690
690
  exports: ["label", "value", "start", "end", "range"],
691
- filter: Xe(a.filter, t)
691
+ filter: Je(a.filter, t)
692
692
  }
693
693
  ];
694
694
  }
@@ -697,9 +697,9 @@ function Ye(e, t) {
697
697
  defaultInputValues: n.shared && Object.keys(n.shared).length > 0 ? n : void 0
698
698
  };
699
699
  }
700
- function At(e) {
700
+ function xt(e) {
701
701
  var v, y;
702
- const t = ze(e.plan);
702
+ const t = Re(e.plan);
703
703
  if (!t.ok)
704
704
  throw new Error(
705
705
  t.errors.map((c) => c.message).join(`
@@ -738,9 +738,9 @@ function At(e) {
738
738
  }
739
739
  if (d.length === 0)
740
740
  throw new Error("Dashboard plan did not produce any persistable cards.");
741
- const { inputs: s, defaultInputValues: u, warnings: h } = Ye(e.plan, i);
741
+ const { inputs: s, defaultInputValues: u, warnings: h } = Xe(e.plan, i);
742
742
  r.push(...h);
743
- const I = G(
743
+ const I = K(
744
744
  n.cards.filter((c) => d.some((f) => f.id === c.frameId)).map((c) => ({
745
745
  frameId: c.frameId,
746
746
  priority: c.priority,
@@ -767,7 +767,7 @@ function At(e) {
767
767
  ...u ? { defaultInputValues: u } : {}
768
768
  }, warnings: r, skippedOperations: o };
769
769
  }
770
- function D(e, t, n) {
770
+ function x(e, t, n) {
771
771
  return n ? { code: e, message: t, cardId: n } : { code: e, message: t };
772
772
  }
773
773
  function Ze(e) {
@@ -779,7 +779,7 @@ function et(e) {
779
779
  (n) => (n.kind || "dashboard") === "dashboard"
780
780
  );
781
781
  }
782
- function R(e, t) {
782
+ function V(e, t) {
783
783
  var n;
784
784
  for (const r of e.sheets || [])
785
785
  for (const o of r.frames || []) {
@@ -811,7 +811,7 @@ function he(e, t = /* @__PURE__ */ new Map()) {
811
811
  priority: t.get(a.id) ?? n.get(a.id) ?? r + i
812
812
  })
813
813
  );
814
- e.layouts = G(o);
814
+ e.layouts = K(o);
815
815
  }
816
816
  function nt(e) {
817
817
  return Object.values(e.layouts || {}).some((t) => t.length > 0);
@@ -821,7 +821,7 @@ function rt(e, t) {
821
821
  he(e);
822
822
  return;
823
823
  }
824
- const n = G([
824
+ const n = K([
825
825
  { frameId: t.id, role: pe(t), priority: 0 }
826
826
  ]);
827
827
  e.layouts ?? (e.layouts = {});
@@ -844,7 +844,7 @@ function rt(e, t) {
844
844
  }
845
845
  function at(e, t) {
846
846
  var r;
847
- const n = K(
847
+ const n = G(
848
848
  t.filter,
849
849
  t.defaultValue
850
850
  );
@@ -856,9 +856,9 @@ function at(e, t) {
856
856
  }
857
857
  });
858
858
  }
859
- function Ft(e) {
859
+ function Dt(e) {
860
860
  var d;
861
- const t = Ve(e.changePlan);
861
+ const t = Oe(e.changePlan);
862
862
  if (!t.ok)
863
863
  throw new Error(
864
864
  t.errors.map((s) => s.message).join(`
@@ -881,7 +881,7 @@ function Ft(e) {
881
881
  0
882
882
  ) >= P) {
883
883
  o.push(
884
- D(
884
+ x(
885
885
  "generated_card_limit_reached",
886
886
  `AI refinement is capped at ${P} cards.`,
887
887
  s.card.id
@@ -892,7 +892,7 @@ function Ft(e) {
892
892
  const h = a.get(s.card.id);
893
893
  if (!h) {
894
894
  o.push(
895
- D(
895
+ x(
896
896
  "missing_card_artifact",
897
897
  `Card "${s.card.title}" was skipped because no generated artifact was supplied.`,
898
898
  s.card.id
@@ -936,9 +936,9 @@ function Ft(e) {
936
936
  else if (s.field.scope === "sheet" && s.field.field)
937
937
  i.calculatedFields ?? (i.calculatedFields = []), i.calculatedFields.push(s.field.field);
938
938
  else if (s.field.scope === "card" && s.field.field) {
939
- const u = s.field.targetCardId ? R(n, s.field.targetCardId) : null;
939
+ const u = s.field.targetCardId ? V(n, s.field.targetCardId) : null;
940
940
  u ? ((d = u.card).calculatedFields ?? (d.calculatedFields = []), u.card.calculatedFields.push(s.field.field)) : o.push(
941
- D(
941
+ x(
942
942
  "missing_calculated_field_target",
943
943
  `Calculated field "${s.field.name}" needs a valid target card.`
944
944
  )
@@ -947,10 +947,10 @@ function Ft(e) {
947
947
  break;
948
948
  }
949
949
  case "renameCard": {
950
- const u = R(n, s.cardId);
950
+ const u = V(n, s.cardId);
951
951
  if (!u) {
952
952
  o.push(
953
- D(
953
+ x(
954
954
  "card_not_found",
955
955
  `Card "${s.cardId}" could not be renamed because it was not found.`,
956
956
  s.cardId
@@ -964,7 +964,7 @@ function Ft(e) {
964
964
  case "reorderCards": {
965
965
  const u = /* @__PURE__ */ new Map();
966
966
  for (let h = 0; h < s.cardIds.length; h += 1) {
967
- const I = s.cardIds[h], w = R(n, I);
967
+ const I = s.cardIds[h], w = V(n, I);
968
968
  w && u.set(w.frame.id, h);
969
969
  }
970
970
  he(i, u);
@@ -972,7 +972,7 @@ function Ft(e) {
972
972
  }
973
973
  case "reuseCalculatedField":
974
974
  r.push(
975
- D(
975
+ x(
976
976
  "reused_calculated_field",
977
977
  `Calculated field "${s.fieldId}" is reused by reference.`
978
978
  )
@@ -980,7 +980,7 @@ function Ft(e) {
980
980
  break;
981
981
  case "unsupported":
982
982
  o.push(
983
- D("unsupported_operation", s.reason || s.requestedAction)
983
+ x("unsupported_operation", s.reason || s.requestedAction)
984
984
  );
985
985
  break;
986
986
  }
@@ -1083,7 +1083,7 @@ function st(e) {
1083
1083
  return t;
1084
1084
  }
1085
1085
  function dt(e, t) {
1086
- const n = z(e).filter(T);
1086
+ const n = R(e).filter(T);
1087
1087
  if (n.length === 0)
1088
1088
  return t.push(
1089
1089
  b(
@@ -1104,7 +1104,7 @@ function dt(e, t) {
1104
1104
  ), [n[0]]) : n;
1105
1105
  }
1106
1106
  function ct(e, t) {
1107
- const n = U(e), r = ge(e), o = z(ot(e)), a = z(
1107
+ const n = U(e), r = ge(e), o = R(ot(e)), a = R(
1108
1108
  st(e)
1109
1109
  );
1110
1110
  return {
@@ -1179,7 +1179,7 @@ function gt(e, t, n, r, o, a) {
1179
1179
  `Filter "${e.label || e.id}" needs a field before the dashboard compiler can materialize it.`
1180
1180
  )
1181
1181
  ), null;
1182
- const i = xe({
1182
+ const i = Ae({
1183
1183
  explicitSource: void 0,
1184
1184
  field: e.field,
1185
1185
  defaultSource: t,
@@ -1225,13 +1225,13 @@ function gt(e, t, n, r, o, a) {
1225
1225
  variableName: e.id,
1226
1226
  scope: r,
1227
1227
  filter: h,
1228
- defaultValue: K(
1228
+ defaultValue: G(
1229
1229
  h,
1230
1230
  e.defaultValue
1231
1231
  )
1232
1232
  };
1233
1233
  }
1234
- function O(e) {
1234
+ function q(e) {
1235
1235
  const t = [], n = [];
1236
1236
  for (const r of e.viewIds) {
1237
1237
  const o = e.viewIdToCardId.get(r);
@@ -1254,7 +1254,7 @@ function bt(e) {
1254
1254
  if (!((r = e.protocolScope.excludeViewIds) != null && r.length))
1255
1255
  return;
1256
1256
  const a = new Set(
1257
- O({
1257
+ q({
1258
1258
  inputLabel: e.inputLabel,
1259
1259
  viewIds: e.protocolScope.excludeViewIds,
1260
1260
  viewIdToCardId: e.viewIdToCardId,
@@ -1267,7 +1267,7 @@ function bt(e) {
1267
1267
  };
1268
1268
  }
1269
1269
  if (e.protocolScope.level === "view") {
1270
- const a = O({
1270
+ const a = q({
1271
1271
  inputLabel: e.inputLabel,
1272
1272
  viewIds: e.protocolScope.viewIds,
1273
1273
  viewIdToCardId: e.viewIdToCardId,
@@ -1291,7 +1291,7 @@ function bt(e) {
1291
1291
  if (!((o = e.protocolScope.excludeViewIds) != null && o.length))
1292
1292
  return { kind: "cards", cardIds: t };
1293
1293
  const n = new Set(
1294
- O({
1294
+ q({
1295
1295
  inputLabel: e.inputLabel,
1296
1296
  viewIds: e.protocolScope.excludeViewIds,
1297
1297
  viewIdToCardId: e.viewIdToCardId,
@@ -1303,7 +1303,7 @@ function bt(e) {
1303
1303
  cardIds: t.filter((a) => !n.has(a))
1304
1304
  };
1305
1305
  }
1306
- function Tt(e) {
1306
+ function Ft(e) {
1307
1307
  var v, y, c;
1308
1308
  const t = [], n = we(e);
1309
1309
  for (const f of n.warnings)
@@ -1313,19 +1313,19 @@ function Tt(e) {
1313
1313
  const r = ct(e, t), o = [], a = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set();
1314
1314
  let h = 0;
1315
1315
  for (const [f, g] of r.sections.entries()) {
1316
- const l = typeof g.title == "string" ? g.title : `Section ${f + 1}`, J = g.id || F(l, `section-${f + 1}`);
1317
- i.set(J, []);
1318
- for (const [X, m] of Q(g).entries()) {
1319
- const Y = ut(m), V = F(
1320
- m.id || `${l}-${m.title || `View ${X + 1}`}`,
1321
- `card-${f + 1}-${X + 1}`
1316
+ const l = typeof g.title == "string" ? g.title : `Section ${f + 1}`, Y = g.id || F(l, `section-${f + 1}`);
1317
+ i.set(Y, []);
1318
+ for (const [J, m] of Q(g).entries()) {
1319
+ const X = ut(m), O = F(
1320
+ m.id || `${l}-${m.title || `View ${J + 1}`}`,
1321
+ `card-${f + 1}-${J + 1}`
1322
1322
  );
1323
- if (!Y) {
1323
+ if (!X) {
1324
1324
  t.push(
1325
1325
  b(
1326
1326
  "unsupported_presentation",
1327
1327
  `Dashboard presentation "${((v = m.presentation) == null ? void 0 : v.kind) || "unknown"}" is not supported by the dashboard authoring adapter.`,
1328
- `card-${V}`
1328
+ `card-${O}`
1329
1329
  )
1330
1330
  );
1331
1331
  continue;
@@ -1335,13 +1335,13 @@ function Tt(e) {
1335
1335
  b(
1336
1336
  "sql_intent_deferred",
1337
1337
  "SQL analytics intent is valid protocol, but the current dashboard authoring adapter only materializes semantic and physical config-card intents.",
1338
- `card-${V}`
1338
+ `card-${O}`
1339
1339
  )
1340
1340
  );
1341
1341
  continue;
1342
1342
  }
1343
- const Z = me(V, s), M = `card-${Z}`;
1344
- m.id && a.set(m.id, M), (c = i.get(J)) == null || c.push(M);
1343
+ const Z = me(O, s), M = `card-${Z}`;
1344
+ m.id && a.set(m.id, M), (c = i.get(Y)) == null || c.push(M);
1345
1345
  const be = m.analytics && "inputs" in m.analytics ? m.analytics.inputs : void 0;
1346
1346
  for (const ee of be || []) {
1347
1347
  const te = d.get(ee.inputId) || [];
@@ -1352,7 +1352,7 @@ function Tt(e) {
1352
1352
  frameId: `frame-${Z}`,
1353
1353
  title: m.title,
1354
1354
  description: m.description,
1355
- type: Y,
1355
+ type: X,
1356
1356
  role: ft(m),
1357
1357
  priority: h,
1358
1358
  section: l,
@@ -1401,27 +1401,37 @@ function Tt(e) {
1401
1401
  }, warnings: t };
1402
1402
  }
1403
1403
  export {
1404
+ zt as AUTOMATIC_TEMPORAL_BUCKET_FORMAT,
1404
1405
  Ie as DASHBOARD_AUTHORING_BREAKPOINTS,
1405
1406
  P as DASHBOARD_AUTHORING_MAX_GENERATED_CARDS,
1406
- Ft as applyDashboardChangePlan,
1407
- At as compileDashboardFromPlan,
1408
- G as compileResponsiveDashboardLayouts,
1409
- H as dashboardAuthoringDatasetMatchesSource,
1410
- xt as dashboardAuthoringFieldsReferToSameTarget,
1407
+ Mt as SEMAPHOR_CARTESIAN_CHART_TYPES,
1408
+ Dt as applyDashboardChangePlan,
1409
+ xt as compileDashboardFromPlan,
1410
+ K as compileResponsiveDashboardLayouts,
1411
+ W as dashboardAuthoringDatasetMatchesSource,
1412
+ kt as dashboardAuthoringFieldsReferToSameTarget,
1411
1413
  S as dashboardAuthoringSourceFromField,
1412
- Ct as dashboardAuthoringSourceKey,
1414
+ St as dashboardAuthoringSourceKey,
1413
1415
  ie as dashboardAuthoringSourcesReferToSameDataset,
1414
- Tt as dashboardPlanFromSemaphorDashboardIntent,
1415
- Dt as findDashboardAuthoringDatasetForSource,
1416
+ Ft as dashboardPlanFromSemaphorDashboardIntent,
1417
+ At as findDashboardAuthoringDatasetForSource,
1416
1418
  Ne as getDashboardAuthoringCardSource,
1419
+ Vt as getTemporalBucketAuthoringOptions,
1420
+ qt as getTemporalBucketAuthoringSelection,
1417
1421
  T as isMaterializableDashboardAuthoringSource,
1422
+ Nt as isSemaphorCartesianChartType,
1418
1423
  Ce as isSemaphorSourceRef,
1419
- z as mergeDashboardAuthoringSources,
1424
+ R as mergeDashboardAuthoringSources,
1420
1425
  ke as preferDashboardAuthoringSourceMetadata,
1421
- kt as preferredDashboardAuthoringSource,
1422
- xe as resolveDashboardAuthoringSource,
1423
- Nt as transformComparisonDocument,
1426
+ Ct as preferredDashboardAuthoringSource,
1427
+ Lt as previewTemporalBucketAuthoringFormat,
1428
+ jt as reconcileTemporalBucketAuthoringFormat,
1429
+ Ae as resolveDashboardAuthoringSource,
1430
+ Et as resolveTemporalBucketAuthoringFormat,
1431
+ Bt as resolveTemporalResultOwner,
1432
+ Pt as supportsCanonicalDashboardTemporalResult,
1433
+ Rt as transformComparisonDocument,
1424
1434
  Be as validateDashboardAuthoringDatasetScope,
1425
- Ve as validateDashboardChangePlan,
1426
- ze as validateDashboardPlan
1435
+ Oe as validateDashboardChangePlan,
1436
+ Re as validateDashboardPlan
1427
1437
  };