react-semaphor 0.1.334 → 0.1.335

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 (59) hide show
  1. package/dist/analytics-protocol/index.cjs +1 -1
  2. package/dist/analytics-protocol/index.js +68 -232
  3. package/dist/brand-studio/index.cjs +1 -1
  4. package/dist/brand-studio/index.js +3 -3
  5. package/dist/briefings/index.cjs +1 -1
  6. package/dist/briefings/index.js +435 -391
  7. package/dist/chunks/{braces-DlW7C5BH.js → braces-BLa_lORs.js} +1 -1
  8. package/dist/chunks/{braces-DYx37F5Z.js → braces-Q86XHDaD.js} +1 -1
  9. package/dist/chunks/{calendar-preferences-dialog-CB5MA9gF.js → calendar-preferences-dialog-Bm7ji3k9.js} +1 -1
  10. package/dist/chunks/{calendar-preferences-dialog-BLz4PrDX.js → calendar-preferences-dialog-Cocogo9H.js} +3 -3
  11. package/dist/chunks/catalog-field-grounding-DmT7aGUA.js +191 -0
  12. package/dist/chunks/catalog-field-grounding-VgVzDd25.js +1 -0
  13. package/dist/chunks/{chevrons-up-down-CP6oFMrt.js → chevrons-up-down-BBTZ5pAY.js} +1 -1
  14. package/dist/chunks/{chevrons-up-down-B_66pVv5.js → chevrons-up-down-CYuWasy_.js} +1 -1
  15. package/dist/chunks/{dashboard-briefing-launcher-Bwz4mKOI.js → dashboard-briefing-launcher-BtqtLx1-.js} +1 -1
  16. package/dist/chunks/{dashboard-briefing-launcher-B7AxiecS.js → dashboard-briefing-launcher-DF4CoaRn.js} +4 -4
  17. package/dist/chunks/{dashboard-controls-DlN7FGW-.js → dashboard-controls-0VMAeMoa.js} +1 -1
  18. package/dist/chunks/{dashboard-controls-CbuKeeeP.js → dashboard-controls-B5U-VUxs.js} +6 -6
  19. package/dist/chunks/{dashboard-json-CeVrYTnR.js → dashboard-json-CqbLOfnr.js} +1 -1
  20. package/dist/chunks/{dashboard-json-gcpeSd5I.js → dashboard-json-Hmc0Ri5z.js} +2 -2
  21. package/dist/chunks/{edit-dashboard-visual-Kn1wtj-Z.js → edit-dashboard-visual-C0EDM0QB.js} +3 -3
  22. package/dist/chunks/{edit-dashboard-visual-BggRcCO2.js → edit-dashboard-visual-D4VVu-QQ.js} +1302 -1302
  23. package/dist/chunks/{index-CP3_hN7P.js → index-DE0vIuYG.js} +4 -4
  24. package/dist/chunks/{index-TA0tBZ1g.js → index-DzyUhzV3.js} +262 -270
  25. package/dist/chunks/{palette-BW7lzLOY.js → palette-B9AbDw0n.js} +1 -1
  26. package/dist/chunks/{palette-BueS2ZEM.js → palette-DalASD28.js} +1 -1
  27. package/dist/chunks/{resource-management-panel-vDrPcmXs.js → resource-management-panel-C4YydU9I.js} +3 -3
  28. package/dist/chunks/{resource-management-panel-DBYcMHVL.js → resource-management-panel-P9iNqBM1.js} +1 -1
  29. package/dist/chunks/{switch-B6fK1sl9.js → switch-BAYfpAEb.js} +1967 -2008
  30. package/dist/chunks/{switch-BT7khJGF.js → switch-CyRoZr5T.js} +35 -35
  31. package/dist/chunks/{use-create-flow-overlay-state-T8Su6dzu.js → use-create-flow-overlay-state-CbhjxI3W.js} +1 -1
  32. package/dist/chunks/{use-create-flow-overlay-state-DPYHfe-S.js → use-create-flow-overlay-state-P1LMwQ89.js} +3 -3
  33. package/dist/chunks/{use-visual-utils-wqosOqyY.js → use-visual-utils-CV6_-y4p.js} +1 -1
  34. package/dist/chunks/{use-visual-utils-Daov8_1p.js → use-visual-utils-lB-3Zk0b.js} +2 -2
  35. package/dist/chunks/validators-BuaRUBQI.js +561 -0
  36. package/dist/chunks/validators-x74uYpnG.js +2 -0
  37. package/dist/dashboard/index.cjs +1 -1
  38. package/dist/dashboard/index.js +1 -1
  39. package/dist/dashboard-authoring/index.cjs +3 -3
  40. package/dist/dashboard-authoring/index.js +378 -377
  41. package/dist/data-app-builder/index.cjs +1 -1
  42. package/dist/data-app-builder/index.js +1 -1
  43. package/dist/data-app-builder-browser-runtime/index.cjs +1 -1
  44. package/dist/data-app-builder-browser-runtime/index.js +4 -9
  45. package/dist/data-app-sdk/index.cjs +1 -1
  46. package/dist/data-app-sdk/index.js +1 -1
  47. package/dist/index.cjs +1 -1
  48. package/dist/index.js +7 -7
  49. package/dist/surfboard/index.cjs +1 -1
  50. package/dist/surfboard/index.js +2 -2
  51. package/dist/types/analytics-protocol.d.ts +90 -0
  52. package/dist/types/briefings.d.ts +12 -0
  53. package/dist/types/dashboard-authoring.d.ts +14 -0
  54. package/dist/types/data-app-builder.d.ts +14 -0
  55. package/dist/types/data-app-sdk.d.ts +14 -0
  56. package/dist/types/main.d.ts +14 -0
  57. package/package.json +1 -1
  58. package/dist/chunks/validators-DDAweCzB.js +0 -371
  59. package/dist/chunks/validators-odlRJblR.js +0 -2
@@ -1,5 +1,6 @@
1
- import { a as be, v as Ie } from "../chunks/validators-DDAweCzB.js";
2
- const ge = [
1
+ import { b as be } from "../chunks/catalog-field-grounding-DmT7aGUA.js";
2
+ import { c as Ie, v as ge } from "../chunks/validators-BuaRUBQI.js";
3
+ const ye = [
3
4
  "lg",
4
5
  "md",
5
6
  "sm",
@@ -12,12 +13,12 @@ function _(e) {
12
13
  function k(e) {
13
14
  return typeof e == "string" ? e : null;
14
15
  }
15
- function ye(e) {
16
- var t, n, r;
17
- return !!(e && typeof e == "object") && (((t = _(e)) == null ? void 0 : t.kind) === "semantic" || ((n = _(e)) == null ? void 0 : n.kind) === "physical" || ((r = _(e)) == null ? void 0 : r.kind) === "sql");
16
+ function _e(e) {
17
+ var t, n, a;
18
+ return !!(e && typeof e == "object") && (((t = _(e)) == null ? void 0 : t.kind) === "semantic" || ((n = _(e)) == null ? void 0 : n.kind) === "physical" || ((a = _(e)) == null ? void 0 : a.kind) === "sql");
18
19
  }
19
20
  function N(e) {
20
- return ye(e) ? e.kind === "semantic" ? !!(e.domainId && e.datasetName) : e.kind === "physical" ? !!(e.connectionId && e.tableName) : !1 : !1;
21
+ return _e(e) ? e.kind === "semantic" ? !!(e.domainId && e.datasetName) : e.kind === "physical" ? !!(e.connectionId && e.tableName) : !1 : !1;
21
22
  }
22
23
  function ee(e) {
23
24
  return e.kind === "semantic" ? [
@@ -36,10 +37,10 @@ function ee(e) {
36
37
  function O(e, t) {
37
38
  return e.domainId !== t.domainId ? !1 : e.datasetId && t.datasetId ? e.datasetId === t.datasetId : e.datasetName === t.datasetName;
38
39
  }
39
- function ae(e, t) {
40
+ function re(e, t) {
40
41
  return e.kind === "semantic" && t.kind === "semantic" ? O(e, t) : ee(e) === ee(t);
41
42
  }
42
- function _e(e, t) {
43
+ function we(e, t) {
43
44
  return e.kind !== "semantic" || t.kind !== "semantic" ? e : {
44
45
  ...e,
45
46
  datasetId: e.datasetId || t.datasetId,
@@ -50,23 +51,23 @@ function _e(e, t) {
50
51
  function q(e) {
51
52
  const t = [];
52
53
  for (const n of e) {
53
- const r = t.findIndex(
54
- (i) => ae(i, n)
54
+ const a = t.findIndex(
55
+ (i) => re(i, n)
55
56
  );
56
- r === -1 ? t.push(n) : t[r] = _e(
57
- t[r],
57
+ a === -1 ? t.push(n) : t[a] = we(
58
+ t[a],
58
59
  n
59
60
  );
60
61
  }
61
62
  return t;
62
63
  }
63
- function wt(e) {
64
+ function kt(e) {
64
65
  return q(e)[0];
65
66
  }
66
67
  function z(e, t) {
67
68
  return e.kind !== "semantic" || e.connectionId || (t == null ? void 0 : t.kind) !== "semantic" || !O(e, t) || !t.connectionId ? e : { ...e, connectionId: t.connectionId };
68
69
  }
69
- function L(e) {
70
+ function j(e) {
70
71
  return N(e) ? e : void 0;
71
72
  }
72
73
  function te(e, t) {
@@ -76,37 +77,37 @@ function te(e, t) {
76
77
  );
77
78
  }
78
79
  function v(e, t) {
79
- const n = L(e == null ? void 0 : e.source);
80
+ const n = j(e == null ? void 0 : e.source);
80
81
  return n ? z(n, t) : void 0;
81
82
  }
82
- function we({
83
+ function ve({
83
84
  explicitSource: e,
84
85
  field: t,
85
86
  defaultSource: n,
86
- fallbackSources: r
87
+ fallbackSources: a
87
88
  }) {
88
- const i = [n, ...r || []], a = L(e), s = a ? z(
89
- a,
90
- te(a, i)
89
+ const i = [n, ...a || []], r = j(e), o = r ? z(
90
+ r,
91
+ te(r, i)
91
92
  ) : void 0;
92
- if (s)
93
- return s;
93
+ if (o)
94
+ return o;
94
95
  if (e !== void 0)
95
96
  return;
96
- const d = v(t, n), o = d ? z(
97
+ const d = v(t, n), s = d ? z(
97
98
  d,
98
99
  te(d, i)
99
100
  ) : void 0;
100
- if (o)
101
- return o;
101
+ if (s)
102
+ return s;
102
103
  if ((t == null ? void 0 : t.source) === void 0)
103
- return L(n);
104
+ return j(n);
104
105
  }
105
- function ve(e, t) {
106
+ function ke(e, t) {
106
107
  if (!(e != null && e.name) || !(t != null && t.name) || e.name !== t.name)
107
108
  return !1;
108
- const n = v(e), r = v(t);
109
- return !n || !r ? !0 : ae(n, r);
109
+ const n = v(e), a = v(t);
110
+ return !n || !a ? !0 : re(n, a);
110
111
  }
111
112
  function A(e) {
112
113
  var t;
@@ -116,35 +117,35 @@ function ie(e) {
116
117
  var t, n;
117
118
  return A(e) !== "semantic" ? null : ((n = k((t = _(e)) == null ? void 0 : t.domainId)) == null ? void 0 : n.trim()) || null;
118
119
  }
119
- function ke(e) {
120
+ function Se(e) {
120
121
  var t;
121
122
  return A(e) !== "semantic" ? null : k((t = _(e)) == null ? void 0 : t.datasetName);
122
123
  }
123
- function Se(e) {
124
+ function Ae(e) {
124
125
  var t;
125
126
  return A(e) !== "semantic" ? null : k((t = _(e)) == null ? void 0 : t.datasetId);
126
127
  }
127
- function Ae(e) {
128
+ function Ce(e) {
128
129
  var t;
129
130
  return A(e) !== "physical" ? null : k((t = _(e)) == null ? void 0 : t.connectionId);
130
131
  }
131
- function Ce(e) {
132
+ function xe(e) {
132
133
  var t;
133
134
  return A(e) !== "physical" ? null : k((t = _(e)) == null ? void 0 : t.tableName);
134
135
  }
135
- function xe(e) {
136
+ function De(e) {
136
137
  var t;
137
138
  return A(e) !== "physical" ? "" : k((t = _(e)) == null ? void 0 : t.databaseName) || "";
138
139
  }
139
- function De(e) {
140
+ function Fe(e) {
140
141
  var t;
141
142
  return A(e) !== "physical" ? "" : k((t = _(e)) == null ? void 0 : t.schemaName) || "";
142
143
  }
143
- function Fe(e) {
144
+ function Ne(e) {
144
145
  if (e.analyticsIntent && typeof e.analyticsIntent == "object" && "source" in e.analyticsIntent)
145
146
  return e.analyticsIntent.source;
146
147
  }
147
- function Ne({
148
+ function Te({
148
149
  datasets: e,
149
150
  requireAtLeastOne: t
150
151
  }) {
@@ -152,19 +153,19 @@ function Ne({
152
153
  return { ok: !1, issue: "invalid_dataset_count" };
153
154
  if (e.length <= 1)
154
155
  return { ok: !0 };
155
- const n = e.map(ie), r = new Set(n.filter(Boolean));
156
- return n.some((i) => !i) || r.size !== 1 ? { ok: !1, issue: "invalid_multi_dataset_scope" } : { ok: !0 };
156
+ const n = e.map(ie), a = new Set(n.filter(Boolean));
157
+ return n.some((i) => !i) || a.size !== 1 ? { ok: !1, issue: "invalid_multi_dataset_scope" } : { ok: !0 };
157
158
  }
158
159
  function W(e, t) {
159
160
  if (!t)
160
161
  return !1;
161
162
  if (t.kind === "semantic") {
162
- const n = Se(e);
163
- return ie(e) === t.domainId ? n && t.datasetId ? n === t.datasetId : ke(e) === t.datasetName : !1;
163
+ const n = Ae(e);
164
+ return ie(e) === t.domainId ? n && t.datasetId ? n === t.datasetId : Se(e) === t.datasetName : !1;
164
165
  }
165
- return t.kind === "physical" ? Ae(e) === t.connectionId && Ce(e) === t.tableName && xe(e) === (t.databaseName || "") && De(e) === (t.schemaName || "") : !1;
166
+ return t.kind === "physical" ? Ce(e) === t.connectionId && xe(e) === t.tableName && De(e) === (t.databaseName || "") && Fe(e) === (t.schemaName || "") : !1;
166
167
  }
167
- function vt(e, t) {
168
+ function St(e, t) {
168
169
  return e.find(
169
170
  (n) => W(n, t)
170
171
  );
@@ -181,15 +182,15 @@ function $(e) {
181
182
  }
182
183
  return null;
183
184
  }
184
- function se({
185
+ function oe({
185
186
  card: e,
186
187
  datasets: t,
187
188
  errors: n
188
189
  }) {
189
190
  if (e.type === "text")
190
191
  return;
191
- const r = Fe(e);
192
- if (!r) {
192
+ const a = Ne(e);
193
+ if (!a) {
193
194
  if (t.length <= 1)
194
195
  return;
195
196
  n.push(
@@ -201,7 +202,7 @@ function se({
201
202
  );
202
203
  return;
203
204
  }
204
- t.some((i) => W(i, r)) || n.push(
205
+ t.some((i) => W(i, a)) || n.push(
205
206
  u(
206
207
  "invalid_card_analytics_source",
207
208
  "Dashboard cards with an explicit analytics source must use one of the selected datasets.",
@@ -209,7 +210,7 @@ function se({
209
210
  )
210
211
  );
211
212
  }
212
- function Te(e) {
213
+ function $e(e) {
213
214
  var t;
214
215
  return e ? [
215
216
  (t = e.dateFieldRef) == null ? void 0 : t.source,
@@ -218,15 +219,15 @@ function Te(e) {
218
219
  (n) => !!n
219
220
  ) : [];
220
221
  }
221
- function oe({
222
+ function se({
222
223
  card: e,
223
224
  datasets: t,
224
225
  errors: n
225
226
  }) {
226
227
  if (e.type !== "text") {
227
- for (const r of Te(e.query))
228
- if (r && !t.some(
229
- (i) => W(i, r)
228
+ for (const a of $e(e.query))
229
+ if (a && !t.some(
230
+ (i) => W(i, a)
230
231
  )) {
231
232
  n.push(
232
233
  u(
@@ -239,8 +240,8 @@ function oe({
239
240
  }
240
241
  }
241
242
  }
242
- function $e(e, t) {
243
- return e.length === t.length && e.every((n, r) => n === t[r]);
243
+ function Me(e, t) {
244
+ return e.length === t.length && e.every((n, a) => n === t[a]);
244
245
  }
245
246
  function de({
246
247
  card: e,
@@ -248,8 +249,8 @@ function de({
248
249
  }) {
249
250
  if (e.type === "text" || !e.query)
250
251
  return;
251
- const { dateField: n, dateFieldRef: r, dimensions: i, dimensionRefs: a } = e.query;
252
- if (r && r.name !== n) {
252
+ const { dateField: n, dateFieldRef: a, dimensions: i, dimensionRefs: r } = e.query;
253
+ if (a && a.name !== n) {
253
254
  t.push(
254
255
  u(
255
256
  "invalid_card_query_ref",
@@ -259,10 +260,10 @@ function de({
259
260
  );
260
261
  return;
261
262
  }
262
- if (!Array.isArray(a))
263
+ if (!Array.isArray(r))
263
264
  return;
264
- const s = Array.isArray(i) ? i : [], d = a.map((o) => o.name);
265
- $e(d, s) || t.push(
265
+ const o = Array.isArray(i) ? i : [], d = r.map((s) => s.name);
266
+ Me(d, o) || t.push(
266
267
  u(
267
268
  "invalid_card_query_ref",
268
269
  "Dashboard card source-aware dimension references must match the query dimensions.",
@@ -275,12 +276,12 @@ function ce({
275
276
  errors: t,
276
277
  requireAtLeastOne: n
277
278
  }) {
278
- const r = Ne({
279
+ const a = Te({
279
280
  datasets: e,
280
281
  requireAtLeastOne: n
281
282
  });
282
- if (!r.ok) {
283
- if (r.issue === "invalid_dataset_count") {
283
+ if (!a.ok) {
284
+ if (a.issue === "invalid_dataset_count") {
284
285
  t.push(
285
286
  u(
286
287
  "invalid_dataset_count",
@@ -297,7 +298,7 @@ function ce({
297
298
  );
298
299
  }
299
300
  }
300
- function Me(e) {
301
+ function qe(e) {
301
302
  var m, w;
302
303
  const t = [];
303
304
  if (!e || typeof e != "object")
@@ -311,29 +312,29 @@ function Me(e) {
311
312
  ],
312
313
  warnings: []
313
314
  };
314
- const n = e, r = [...n.warnings || []];
315
+ const n = e, a = [...n.warnings || []];
315
316
  n.version !== 1 && t.push(u("invalid_version", "Dashboard plan version must be 1.")), (m = n.title) != null && m.trim() || t.push(u("missing_title", "Dashboard plan needs a title."));
316
- const i = Array.isArray(n.datasets) ? n.datasets : [], a = Array.isArray(n.sheets) ? n.sheets : [];
317
- ce({ datasets: i, errors: t, requireAtLeastOne: !0 }), a.length !== 1 && t.push(
317
+ const i = Array.isArray(n.datasets) ? n.datasets : [], r = Array.isArray(n.sheets) ? n.sheets : [];
318
+ ce({ datasets: i, errors: t, requireAtLeastOne: !0 }), r.length !== 1 && t.push(
318
319
  u(
319
320
  "invalid_sheet_count",
320
321
  "MVP dashboard authoring creates exactly one dashboard sheet."
321
322
  )
322
323
  );
323
- const s = a[0];
324
- s && s.kind !== "dashboard" && t.push(
324
+ const o = r[0];
325
+ o && o.kind !== "dashboard" && t.push(
325
326
  u("invalid_sheet_kind", 'Generated sheet must use kind "dashboard".')
326
327
  );
327
- const d = (s == null ? void 0 : s.cards) || [];
328
+ const d = (o == null ? void 0 : o.cards) || [];
328
329
  d.length > M && t.push(
329
330
  u(
330
331
  "too_many_cards",
331
332
  `Generated dashboards can contain at most ${M} cards.`
332
333
  )
333
334
  );
334
- const o = $(d.map((l) => l.id));
335
- o && t.push(
336
- u("duplicate_card_id", `Duplicate generated card id: ${o}.`)
335
+ const s = $(d.map((l) => l.id));
336
+ s && t.push(
337
+ u("duplicate_card_id", `Duplicate generated card id: ${s}.`)
337
338
  );
338
339
  const f = $(d.map((l) => l.frameId));
339
340
  f && t.push(
@@ -349,13 +350,13 @@ function Me(e) {
349
350
  "Whole-dashboard authoring supports built-in visual types only.",
350
351
  l.id
351
352
  )
352
- ), l.type !== "text" && !l.query && r.push(
353
+ ), l.type !== "text" && !l.query && a.push(
353
354
  u(
354
355
  "missing_query_intent",
355
356
  "Non-text card has no query intent and may be skipped by the app layer.",
356
357
  l.id
357
358
  )
358
- ), se({ card: l, datasets: i, errors: t }), de({ card: l, errors: t }), oe({ card: l, datasets: i, errors: t });
359
+ ), oe({ card: l, datasets: i, errors: t }), de({ card: l, errors: t }), se({ card: l, datasets: i, errors: t });
359
360
  const p = Array.isArray(n.filterInputs) ? n.filterInputs : [], I = p.map((l) => l.id), y = $(I);
360
361
  y && t.push(
361
362
  u(
@@ -378,10 +379,10 @@ function Me(e) {
378
379
  `Creating domain calculated field "${l.name}" is outside MVP.`
379
380
  )
380
381
  );
381
- return { ok: t.length === 0, errors: t, warnings: r };
382
+ return { ok: t.length === 0, errors: t, warnings: a };
382
383
  }
383
- function qe(e) {
384
- var s;
384
+ function Re(e) {
385
+ var o;
385
386
  const t = [];
386
387
  if (!e || typeof e != "object")
387
388
  return {
@@ -394,17 +395,17 @@ function qe(e) {
394
395
  ],
395
396
  warnings: []
396
397
  };
397
- const n = e, r = [...n.warnings || []];
398
+ const n = e, a = [...n.warnings || []];
398
399
  n.version !== 1 && t.push(
399
400
  u("invalid_version", "Dashboard change plan version must be 1.")
400
- ), (s = n.dashboardId) != null && s.trim() || t.push(
401
+ ), (o = n.dashboardId) != null && o.trim() || t.push(
401
402
  u("missing_dashboard_id", "Dashboard change plan needs a dashboard id.")
402
403
  );
403
- const i = Array.isArray(n.datasets) ? n.datasets : [], a = Array.isArray(n.operations) ? n.operations : [];
404
+ const i = Array.isArray(n.datasets) ? n.datasets : [], r = Array.isArray(n.operations) ? n.operations : [];
404
405
  ce({ datasets: i, errors: t, requireAtLeastOne: !1 });
405
- for (const d of a) {
406
+ for (const d of r) {
406
407
  if (d.kind === "unsupported") {
407
- r.push(
408
+ a.push(
408
409
  u("unsupported_operation", d.reason || d.requestedAction)
409
410
  );
410
411
  continue;
@@ -415,14 +416,14 @@ function qe(e) {
415
416
  "Whole-dashboard authoring supports built-in visual types only.",
416
417
  d.card.id
417
418
  )
418
- ), d.kind === "addCard" && (se({
419
+ ), d.kind === "addCard" && (oe({
419
420
  card: d.card,
420
421
  datasets: i,
421
422
  errors: t
422
423
  }), de({
423
424
  card: d.card,
424
425
  errors: t
425
- }), oe({
426
+ }), se({
426
427
  card: d.card,
427
428
  datasets: i,
428
429
  errors: t
@@ -433,125 +434,125 @@ function qe(e) {
433
434
  )
434
435
  );
435
436
  }
436
- return { ok: t.length === 0, errors: t, warnings: r };
437
+ return { ok: t.length === 0, errors: t, warnings: a };
437
438
  }
438
- const Re = {
439
+ const Pe = {
439
440
  lg: 48,
440
441
  md: 36,
441
442
  sm: 24,
442
443
  xs: 12,
443
444
  xxs: 6
444
445
  };
445
- function Pe(e, t) {
446
- let n = 0, r = 0, i = 0;
447
- return e.map((a) => {
448
- const s = Math.min(a.w, t);
449
- n > 0 && n + s > t && (n = 0, r += i, i = 0);
446
+ function Be(e, t) {
447
+ let n = 0, a = 0, i = 0;
448
+ return e.map((r) => {
449
+ const o = Math.min(r.w, t);
450
+ n > 0 && n + o > t && (n = 0, a += i, i = 0);
450
451
  const d = {
451
- i: a.frameId,
452
+ i: r.frameId,
452
453
  x: n,
453
- y: r,
454
- w: s,
455
- h: a.h,
456
- minW: Math.min(a.minW, t),
457
- minH: a.minH,
454
+ y: a,
455
+ w: o,
456
+ h: r.h,
457
+ minW: Math.min(r.minW, t),
458
+ minH: r.minH,
458
459
  static: !1
459
460
  };
460
- return n += s, i = Math.max(i, a.h), d;
461
+ return n += o, i = Math.max(i, r.h), d;
461
462
  });
462
463
  }
463
- function Be(e) {
464
- const t = [...e].sort((o, f) => o.priority - f.priority), n = t.filter((o) => o.role === "kpi"), r = t.filter((o) => o.role === "chart"), i = t.filter((o) => o.role === "table"), a = t.filter((o) => o.role === "text"), s = a.slice(0, 1), d = a.slice(s.length);
465
- return { kpis: n, introText: s, charts: r, tables: i, supportingText: d };
464
+ function Ve(e) {
465
+ const t = [...e].sort((s, f) => s.priority - f.priority), n = t.filter((s) => s.role === "kpi"), a = t.filter((s) => s.role === "chart"), i = t.filter((s) => s.role === "table"), r = t.filter((s) => s.role === "text"), o = r.slice(0, 1), d = r.slice(o.length);
466
+ return { kpis: n, introText: o, charts: a, tables: i, supportingText: d };
466
467
  }
467
- function Ve(e, t, n) {
468
+ function ze(e, t, n) {
468
469
  return t === "xxs" || t === "xs" ? n : t === "sm" ? Math.min(12, n) : t === "md" ? e <= 1 || e === 2 ? 18 : 12 : e <= 1 || e === 2 ? 24 : e === 3 ? 16 : 12;
469
470
  }
470
- function ze(e, t, n, r) {
471
- return n === "xxs" || n === "xs" || n === "sm" || n === "md" || t === 1 || t % 2 === 1 && e === 0 ? r : r / 2;
471
+ function je(e, t, n, a) {
472
+ return n === "xxs" || n === "xs" || n === "sm" || n === "md" || t === 1 || t % 2 === 1 && e === 0 ? a : a / 2;
472
473
  }
473
474
  function Le(e) {
474
- const { item: t, band: n, index: r, bandCount: i, breakpoint: a, columns: s } = e;
475
+ const { item: t, band: n, index: a, bandCount: i, breakpoint: r, columns: o } = e;
475
476
  return n === "kpi" ? {
476
477
  ...t,
477
478
  band: n,
478
- w: Ve(i, a, s),
479
+ w: ze(i, r, o),
479
480
  h: 15,
480
- minW: Math.min(6, s),
481
+ minW: Math.min(6, o),
481
482
  minH: 12
482
483
  } : n === "table" ? {
483
484
  ...t,
484
485
  band: n,
485
- w: s,
486
- h: a === "xxs" || a === "xs" ? 34 : 38,
487
- minW: Math.min(12, s),
486
+ w: o,
487
+ h: r === "xxs" || r === "xs" ? 34 : 38,
488
+ minW: Math.min(12, o),
488
489
  minH: 18
489
490
  } : n === "introText" ? {
490
491
  ...t,
491
492
  band: n,
492
- w: s,
493
- h: a === "xxs" || a === "xs" ? 12 : 10,
494
- minW: Math.min(12, s),
493
+ w: o,
494
+ h: r === "xxs" || r === "xs" ? 12 : 10,
495
+ minW: Math.min(12, o),
495
496
  minH: 8
496
497
  } : n === "supportingText" ? {
497
498
  ...t,
498
499
  band: n,
499
- w: a === "lg" ? s / 2 : s,
500
- h: a === "xxs" || a === "xs" ? 12 : 10,
501
- minW: Math.min(12, s),
500
+ w: r === "lg" ? o / 2 : o,
501
+ h: r === "xxs" || r === "xs" ? 12 : 10,
502
+ minW: Math.min(12, o),
502
503
  minH: 8
503
504
  } : {
504
505
  ...t,
505
506
  band: n,
506
- w: ze(r, i, a, s),
507
- h: a === "xxs" || a === "xs" ? 28 : 30,
508
- minW: Math.min(12, s),
507
+ w: je(a, i, r, o),
508
+ h: r === "xxs" || r === "xs" ? 28 : 30,
509
+ minW: Math.min(12, o),
509
510
  minH: 16
510
511
  };
511
512
  }
512
- function D(e, t, n, r) {
513
+ function D(e, t, n, a) {
513
514
  return e.map(
514
- (i, a) => Le({
515
+ (i, r) => Le({
515
516
  item: i,
516
517
  band: t,
517
- index: a,
518
+ index: r,
518
519
  bandCount: e.length,
519
520
  breakpoint: n,
520
- columns: r
521
+ columns: a
521
522
  })
522
523
  );
523
524
  }
524
525
  function E(e) {
525
- const t = Be(e);
526
+ const t = Ve(e);
526
527
  return Object.fromEntries(
527
- ge.map((n) => {
528
- const r = Re[n], i = [
529
- ...D(t.introText, "introText", n, r),
530
- ...D(t.kpis, "kpi", n, r),
531
- ...D(t.charts, "chart", n, r),
532
- ...D(t.tables, "table", n, r),
533
- ...D(t.supportingText, "supportingText", n, r)
528
+ ye.map((n) => {
529
+ const a = Pe[n], i = [
530
+ ...D(t.introText, "introText", n, a),
531
+ ...D(t.kpis, "kpi", n, a),
532
+ ...D(t.charts, "chart", n, a),
533
+ ...D(t.tables, "table", n, a),
534
+ ...D(t.supportingText, "supportingText", n, a)
534
535
  ];
535
- return [n, Pe(i, r)];
536
+ return [n, Be(i, a)];
536
537
  })
537
538
  );
538
539
  }
539
- function je(e) {
540
- const t = String(e || "").trim().toLowerCase();
541
- return t.includes("date") || t.includes("time") || t.includes("timestamp") ? "date" : t.includes("int") || t.includes("float") || t.includes("double") || t.includes("decimal") || t.includes("numeric") || t.includes("number") || t.includes("currency") || t.includes("percent") ? "number" : t.includes("bool") ? "boolean" : "string";
542
- }
543
540
  function Oe(e) {
544
- return !!(e && typeof e == "object" && !Array.isArray(e));
541
+ const t = be(e);
542
+ return t === "datetime" ? "date" : t === "unknown" ? "string" : t;
545
543
  }
546
544
  function We(e) {
547
- return Oe(e) && typeof e.filterId == "string" && typeof e.operation == "string" && Array.isArray(e.values);
545
+ return !!(e && typeof e == "object" && !Array.isArray(e));
548
546
  }
549
547
  function Ee(e) {
548
+ return We(e) && typeof e.filterId == "string" && typeof e.operation == "string" && Array.isArray(e.values);
549
+ }
550
+ function He(e) {
550
551
  return e.filter(
551
552
  (t) => typeof t == "string" || typeof t == "number"
552
553
  );
553
554
  }
554
- function He(e) {
555
+ function Ge(e) {
555
556
  return e.filter(
556
557
  (t) => t instanceof Date || typeof t == "string"
557
558
  );
@@ -559,8 +560,8 @@ function He(e) {
559
560
  function H(e, t) {
560
561
  if (t === void 0)
561
562
  return;
562
- const n = je(e.dataType), r = e.operation || "in";
563
- if (We(t))
563
+ const n = Oe(e.dataType), a = e.operation || "in";
564
+ if (Ee(t))
564
565
  return {
565
566
  ...t,
566
567
  filterId: e.id,
@@ -570,92 +571,92 @@ function H(e, t) {
570
571
  fieldMeta: e.fieldMeta,
571
572
  semanticContext: e.semanticContext
572
573
  };
573
- if (r === "is null" || r === "is not null")
574
+ if (a === "is null" || a === "is not null")
574
575
  return {
575
576
  filterId: e.id,
576
577
  name: e.column,
577
- operation: r,
578
+ operation: a,
578
579
  valueType: n,
579
580
  values: [],
580
581
  dataType: e.dataType,
581
582
  fieldMeta: e.fieldMeta,
582
583
  semanticContext: e.semanticContext
583
584
  };
584
- const i = Array.isArray(t) ? t : [t], a = n === "date" ? He(i) : Ee(i);
585
- if (a.length !== 0 && !((r === "between" || r === "not between") && a.length < 2))
585
+ const i = Array.isArray(t) ? t : [t], r = n === "date" ? Ge(i) : He(i);
586
+ if (r.length !== 0 && !((a === "between" || a === "not between") && r.length < 2))
586
587
  return {
587
588
  filterId: e.id,
588
589
  name: e.column,
589
- operation: r,
590
+ operation: a,
590
591
  valueType: n,
591
- values: a,
592
+ values: r,
592
593
  dataType: e.dataType,
593
594
  fieldMeta: e.fieldMeta,
594
595
  semanticContext: e.semanticContext
595
596
  };
596
597
  }
597
- function Ge(e, t, n) {
598
+ function Ue(e, t, n) {
598
599
  return n ? { code: e, message: t, cardId: n } : { code: e, message: t };
599
600
  }
600
- function Ue(e, t, n) {
601
- const r = (t || []).filter(
601
+ function Ke(e, t, n) {
602
+ const a = (t || []).filter(
602
603
  (i) => i.scope === "card" && i.targetCardId === n
603
604
  ).map((i) => i.field).filter(Boolean);
604
- return r.length === 0 ? e : {
605
+ return a.length === 0 ? e : {
605
606
  ...e,
606
607
  calculatedFields: [
607
608
  ...e.calculatedFields || [],
608
- ...r
609
+ ...a
609
610
  ]
610
611
  };
611
612
  }
612
- function Ke(e) {
613
+ function Qe(e) {
613
614
  const t = {};
614
615
  return {
615
- inputs: (e.filterInputs || []).map((r, i) => {
616
- const a = H(
617
- r.filter,
618
- r.defaultValue
616
+ inputs: (e.filterInputs || []).map((a, i) => {
617
+ const r = H(
618
+ a.filter,
619
+ a.defaultValue
619
620
  );
620
- return a && (t.shared ?? (t.shared = {}), t.shared[r.id] = {
621
+ return r && (t.shared ?? (t.shared = {}), t.shared[a.id] = {
621
622
  status: "set",
622
623
  value: {
623
624
  kind: "filter",
624
- filterValue: a
625
+ filterValue: r
625
626
  }
626
627
  }), {
627
- id: r.id,
628
+ id: a.id,
628
629
  kind: "filter",
629
- label: r.label,
630
- variableName: r.variableName,
631
- scope: r.scope || { kind: "allSheets", sheetKinds: ["dashboard"] },
630
+ label: a.label,
631
+ variableName: a.variableName,
632
+ scope: a.scope || { kind: "allSheets", sheetKinds: ["dashboard"] },
632
633
  runtimeScope: "shared",
633
634
  presentation: {
634
635
  placement: "toolbar",
635
636
  order: i
636
637
  },
637
638
  exports: ["label", "value", "start", "end", "range"],
638
- filter: r.filter
639
+ filter: a.filter
639
640
  };
640
641
  }),
641
642
  defaultInputValues: t.shared && Object.keys(t.shared).length > 0 ? t : void 0
642
643
  };
643
644
  }
644
- function kt(e) {
645
+ function At(e) {
645
646
  var I, y;
646
- const t = Me(e.plan);
647
+ const t = qe(e.plan);
647
648
  if (!t.ok)
648
649
  throw new Error(
649
650
  t.errors.map((c) => c.message).join(`
650
651
  `) || "Dashboard plan is invalid."
651
652
  );
652
- const n = e.plan.sheets[0], r = [...t.warnings], i = [], a = new Map(
653
+ const n = e.plan.sheets[0], a = [...t.warnings], i = [], r = new Map(
653
654
  e.cardArtifacts.map((c) => [c.planCardId, c])
654
- ), s = [];
655
+ ), o = [];
655
656
  for (const c of n.cards) {
656
- const b = a.get(c.id);
657
+ const b = r.get(c.id);
657
658
  if (!b) {
658
- const m = Ge(
659
+ const m = Ue(
659
660
  "missing_card_artifact",
660
661
  `Card "${c.title}" was skipped because no generated artifact was supplied.`,
661
662
  c.id
@@ -663,22 +664,22 @@ function kt(e) {
663
664
  i.push(m);
664
665
  continue;
665
666
  }
666
- r.push(...b.warnings || []);
667
- const S = Ue(
667
+ a.push(...b.warnings || []);
668
+ const S = Ke(
668
669
  b.card,
669
670
  e.plan.calculatedFields,
670
671
  c.id
671
672
  );
672
- s.push({
673
+ o.push({
673
674
  id: c.frameId,
674
675
  cards: [S],
675
676
  activeCardId: S.id
676
677
  });
677
678
  }
678
- if (s.length === 0)
679
+ if (o.length === 0)
679
680
  throw new Error("Dashboard plan did not produce any persistable cards.");
680
- const { inputs: d, defaultInputValues: o } = Ke(e.plan), f = E(
681
- n.cards.filter((c) => s.some((b) => b.id === c.frameId)).map((c) => ({
681
+ const { inputs: d, defaultInputValues: s } = Qe(e.plan), f = E(
682
+ n.cards.filter((c) => o.some((b) => b.id === c.frameId)).map((c) => ({
682
683
  frameId: c.frameId,
683
684
  priority: c.priority,
684
685
  role: c.role
@@ -694,23 +695,23 @@ function kt(e) {
694
695
  kind: "dashboard",
695
696
  title: n.title,
696
697
  description: n.description,
697
- frames: s,
698
+ frames: o,
698
699
  layouts: f,
699
700
  calculatedFields: (I = e.plan.calculatedFields) == null ? void 0 : I.filter((c) => c.scope === "sheet" && c.field).map((c) => c.field)
700
701
  }
701
702
  ],
702
703
  calculatedFields: (y = e.plan.calculatedFields) == null ? void 0 : y.filter((c) => c.scope === "dashboard" && c.field).map((c) => c.field),
703
704
  inputs: d,
704
- ...o ? { defaultInputValues: o } : {}
705
- }, warnings: r, skippedOperations: i };
705
+ ...s ? { defaultInputValues: s } : {}
706
+ }, warnings: a, skippedOperations: i };
706
707
  }
707
708
  function C(e, t, n) {
708
709
  return n ? { code: e, message: t, cardId: n } : { code: e, message: t };
709
710
  }
710
- function Qe(e) {
711
+ function Je(e) {
711
712
  return JSON.parse(JSON.stringify(e));
712
713
  }
713
- function Je(e) {
714
+ function Xe(e) {
714
715
  var t;
715
716
  return (t = e.sheets) == null ? void 0 : t.find(
716
717
  (n) => (n.kind || "dashboard") === "dashboard"
@@ -718,43 +719,43 @@ function Je(e) {
718
719
  }
719
720
  function P(e, t) {
720
721
  var n;
721
- for (const r of e.sheets || [])
722
- for (const i of r.frames || []) {
723
- const a = (n = i.cards) == null ? void 0 : n.find((s) => s.id === t);
724
- if (a)
725
- return { sheet: r, frame: i, card: a };
722
+ for (const a of e.sheets || [])
723
+ for (const i of a.frames || []) {
724
+ const r = (n = i.cards) == null ? void 0 : n.find((o) => o.id === t);
725
+ if (r)
726
+ return { sheet: a, frame: i, card: r };
726
727
  }
727
728
  return null;
728
729
  }
729
730
  function le(e) {
730
- var n, r;
731
- const t = (r = (n = e.cards) == null ? void 0 : n[0]) == null ? void 0 : r.type;
731
+ var n, a;
732
+ const t = (a = (n = e.cards) == null ? void 0 : n[0]) == null ? void 0 : a.type;
732
733
  return t === "kpi" ? "kpi" : t === "table" || t === "detailTable" || t === "pivotTable" ? "table" : t === "text" ? "text" : "chart";
733
734
  }
734
- function Xe(e) {
735
+ function Ye(e) {
735
736
  var t;
736
737
  return new Map(
737
- (((t = e.layouts) == null ? void 0 : t.lg) || []).map((n, r) => [n.i, r])
738
+ (((t = e.layouts) == null ? void 0 : t.lg) || []).map((n, a) => [n.i, a])
738
739
  );
739
740
  }
740
741
  function ue(e, t = /* @__PURE__ */ new Map()) {
741
- const n = Xe(e), r = Math.max(
742
+ const n = Ye(e), a = Math.max(
742
743
  n.size,
743
744
  t.size
744
745
  ), i = (e.frames || []).map(
745
- (a, s) => ({
746
- frameId: a.id,
747
- role: le(a),
748
- priority: t.get(a.id) ?? n.get(a.id) ?? r + s
746
+ (r, o) => ({
747
+ frameId: r.id,
748
+ role: le(r),
749
+ priority: t.get(r.id) ?? n.get(r.id) ?? a + o
749
750
  })
750
751
  );
751
752
  e.layouts = E(i);
752
753
  }
753
- function Ye(e) {
754
+ function Ze(e) {
754
755
  return Object.values(e.layouts || {}).some((t) => t.length > 0);
755
756
  }
756
- function Ze(e, t) {
757
- if (!Ye(e)) {
757
+ function et(e, t) {
758
+ if (!Ze(e)) {
758
759
  ue(e);
759
760
  return;
760
761
  }
@@ -762,30 +763,30 @@ function Ze(e, t) {
762
763
  { frameId: t.id, role: le(t), priority: 0 }
763
764
  ]);
764
765
  e.layouts ?? (e.layouts = {});
765
- for (const [r, i] of Object.entries(n)) {
766
- const a = e.layouts[r] || [];
767
- if (a.some((o) => o.i === t.id))
766
+ for (const [a, i] of Object.entries(n)) {
767
+ const r = e.layouts[a] || [];
768
+ if (r.some((s) => s.i === t.id))
768
769
  continue;
769
- const s = i[0];
770
- if (!s)
770
+ const o = i[0];
771
+ if (!o)
771
772
  continue;
772
- const d = a.reduce(
773
- (o, f) => Math.max(o, f.y + f.h),
773
+ const d = r.reduce(
774
+ (s, f) => Math.max(s, f.y + f.h),
774
775
  0
775
776
  );
776
- e.layouts[r] = [
777
- ...a,
778
- { ...s, y: d }
777
+ e.layouts[a] = [
778
+ ...r,
779
+ { ...o, y: d }
779
780
  ];
780
781
  }
781
782
  }
782
- function et(e, t) {
783
- var r;
783
+ function tt(e, t) {
784
+ var a;
784
785
  const n = H(
785
786
  t.filter,
786
787
  t.defaultValue
787
788
  );
788
- n && (e.defaultInputValues ?? (e.defaultInputValues = {}), (r = e.defaultInputValues).shared ?? (r.shared = {}), e.defaultInputValues.shared[t.id] = {
789
+ n && (e.defaultInputValues ?? (e.defaultInputValues = {}), (a = e.defaultInputValues).shared ?? (a.shared = {}), e.defaultInputValues.shared[t.id] = {
789
790
  status: "set",
790
791
  value: {
791
792
  kind: "filter",
@@ -793,24 +794,24 @@ function et(e, t) {
793
794
  }
794
795
  });
795
796
  }
796
- function St(e) {
797
+ function Ct(e) {
797
798
  var d;
798
- const t = qe(e.changePlan);
799
+ const t = Re(e.changePlan);
799
800
  if (!t.ok)
800
801
  throw new Error(
801
- t.errors.map((o) => o.message).join(`
802
+ t.errors.map((s) => s.message).join(`
802
803
  `) || "Dashboard change plan is invalid."
803
804
  );
804
- const n = Qe(e.dashboard), r = [...t.warnings], i = [], a = new Map(
805
- e.cardArtifacts.map((o) => [o.planCardId, o])
806
- ), s = Je(n);
807
- if (!s)
805
+ const n = Je(e.dashboard), a = [...t.warnings], i = [], r = new Map(
806
+ e.cardArtifacts.map((s) => [s.planCardId, s])
807
+ ), o = Xe(n);
808
+ if (!o)
808
809
  throw new Error("Dashboard has no editable dashboard sheet.");
809
- s.frames ?? (s.frames = []);
810
- for (const o of e.changePlan.operations)
811
- switch (o.kind) {
810
+ o.frames ?? (o.frames = []);
811
+ for (const s of e.changePlan.operations)
812
+ switch (s.kind) {
812
813
  case "addCard": {
813
- if ((s.frames || []).reduce(
814
+ if ((o.frames || []).reduce(
814
815
  (y, c) => {
815
816
  var b;
816
817
  return y + (((b = c.cards) == null ? void 0 : b.length) || 0);
@@ -821,38 +822,38 @@ function St(e) {
821
822
  C(
822
823
  "generated_card_limit_reached",
823
824
  `MVP AI refinement is capped at ${M} cards.`,
824
- o.card.id
825
+ s.card.id
825
826
  )
826
827
  );
827
828
  break;
828
829
  }
829
- const p = a.get(o.card.id);
830
+ const p = r.get(s.card.id);
830
831
  if (!p) {
831
832
  i.push(
832
833
  C(
833
834
  "missing_card_artifact",
834
- `Card "${o.card.title}" was skipped because no generated artifact was supplied.`,
835
- o.card.id
835
+ `Card "${s.card.title}" was skipped because no generated artifact was supplied.`,
836
+ s.card.id
836
837
  )
837
838
  );
838
839
  break;
839
840
  }
840
841
  const I = {
841
- id: o.card.frameId,
842
+ id: s.card.frameId,
842
843
  cards: [p.card],
843
844
  activeCardId: p.card.id
844
845
  };
845
- s.frames.push(I), Ze(s, I);
846
+ o.frames.push(I), et(o, I);
846
847
  break;
847
848
  }
848
849
  case "addFilterInput": {
849
850
  n.inputs ?? (n.inputs = []);
850
851
  const f = {
851
- id: o.input.id,
852
+ id: s.input.id,
852
853
  kind: "filter",
853
- label: o.input.label,
854
- variableName: o.input.variableName,
855
- scope: o.input.scope || {
854
+ label: s.input.label,
855
+ variableName: s.input.variableName,
856
+ scope: s.input.scope || {
856
857
  kind: "allSheets",
857
858
  sheetKinds: ["dashboard"]
858
859
  },
@@ -862,66 +863,66 @@ function St(e) {
862
863
  order: n.inputs.length
863
864
  },
864
865
  exports: ["label", "value", "start", "end", "range"],
865
- filter: o.input.filter
866
+ filter: s.input.filter
866
867
  };
867
- n.inputs.push(f), et(n, o.input);
868
+ n.inputs.push(f), tt(n, s.input);
868
869
  break;
869
870
  }
870
871
  case "addCalculatedField": {
871
- if (o.field.scope === "dashboard" && o.field.field)
872
- n.calculatedFields ?? (n.calculatedFields = []), n.calculatedFields.push(o.field.field);
873
- else if (o.field.scope === "sheet" && o.field.field)
874
- s.calculatedFields ?? (s.calculatedFields = []), s.calculatedFields.push(o.field.field);
875
- else if (o.field.scope === "card" && o.field.field) {
876
- const f = o.field.targetCardId ? P(n, o.field.targetCardId) : null;
877
- f ? ((d = f.card).calculatedFields ?? (d.calculatedFields = []), f.card.calculatedFields.push(o.field.field)) : i.push(
872
+ if (s.field.scope === "dashboard" && s.field.field)
873
+ n.calculatedFields ?? (n.calculatedFields = []), n.calculatedFields.push(s.field.field);
874
+ else if (s.field.scope === "sheet" && s.field.field)
875
+ o.calculatedFields ?? (o.calculatedFields = []), o.calculatedFields.push(s.field.field);
876
+ else if (s.field.scope === "card" && s.field.field) {
877
+ const f = s.field.targetCardId ? P(n, s.field.targetCardId) : null;
878
+ f ? ((d = f.card).calculatedFields ?? (d.calculatedFields = []), f.card.calculatedFields.push(s.field.field)) : i.push(
878
879
  C(
879
880
  "missing_calculated_field_target",
880
- `Calculated field "${o.field.name}" needs a valid target card.`
881
+ `Calculated field "${s.field.name}" needs a valid target card.`
881
882
  )
882
883
  );
883
884
  }
884
885
  break;
885
886
  }
886
887
  case "renameCard": {
887
- const f = P(n, o.cardId);
888
+ const f = P(n, s.cardId);
888
889
  if (!f) {
889
890
  i.push(
890
891
  C(
891
892
  "card_not_found",
892
- `Card "${o.cardId}" could not be renamed because it was not found.`,
893
- o.cardId
893
+ `Card "${s.cardId}" could not be renamed because it was not found.`,
894
+ s.cardId
894
895
  )
895
896
  );
896
897
  break;
897
898
  }
898
- f.card.title = o.title, o.description !== void 0 && (f.card.description = o.description);
899
+ f.card.title = s.title, s.description !== void 0 && (f.card.description = s.description);
899
900
  break;
900
901
  }
901
902
  case "reorderCards": {
902
903
  const f = /* @__PURE__ */ new Map();
903
- for (let p = 0; p < o.cardIds.length; p += 1) {
904
- const I = o.cardIds[p], y = P(n, I);
904
+ for (let p = 0; p < s.cardIds.length; p += 1) {
905
+ const I = s.cardIds[p], y = P(n, I);
905
906
  y && f.set(y.frame.id, p);
906
907
  }
907
- ue(s, f);
908
+ ue(o, f);
908
909
  break;
909
910
  }
910
911
  case "reuseCalculatedField":
911
- r.push(
912
+ a.push(
912
913
  C(
913
914
  "reused_calculated_field",
914
- `Calculated field "${o.fieldId}" is reused by reference.`
915
+ `Calculated field "${s.fieldId}" is reused by reference.`
915
916
  )
916
917
  );
917
918
  break;
918
919
  case "unsupported":
919
920
  i.push(
920
- C("unsupported_operation", o.reason || o.requestedAction)
921
+ C("unsupported_operation", s.reason || s.requestedAction)
921
922
  );
922
923
  break;
923
924
  }
924
- return { dashboard: n, warnings: r, skippedOperations: i };
925
+ return { dashboard: n, warnings: a, skippedOperations: i };
925
926
  }
926
927
  function g(e, t, n) {
927
928
  return n ? { code: e, message: t, cardId: n } : { code: e, message: t };
@@ -932,10 +933,10 @@ function F(e, t) {
932
933
  function fe(e, t) {
933
934
  if (!t.has(e))
934
935
  return t.add(e), e;
935
- let n = 2, r = `${e}-${n}`;
936
- for (; t.has(r); )
937
- n += 1, r = `${e}-${n}`;
938
- return t.add(r), r;
936
+ let n = 2, a = `${e}-${n}`;
937
+ for (; t.has(a); )
938
+ n += 1, a = `${e}-${n}`;
939
+ return t.add(a), a;
939
940
  }
940
941
  function x(e) {
941
942
  return !!(e && typeof e == "object");
@@ -955,7 +956,7 @@ function U(e) {
955
956
  (t) => x(t)
956
957
  ) : [];
957
958
  }
958
- function tt(e) {
959
+ function nt(e) {
959
960
  return N(e) ? e.kind === "semantic" ? {
960
961
  kind: "semantic",
961
962
  domainId: e.domainId,
@@ -977,28 +978,28 @@ function B(e) {
977
978
  return [];
978
979
  const t = [];
979
980
  for (const n of e) {
980
- const r = v(n);
981
- r && t.push(r);
981
+ const a = v(n);
982
+ a && t.push(a);
982
983
  }
983
984
  return t;
984
985
  }
985
- function nt(e) {
986
+ function at(e) {
986
987
  if (!e)
987
988
  return [];
988
989
  const t = [];
989
990
  if (N(e.source) && t.push(e.source), e.kind === "metric") {
990
- const r = v(e.dateField);
991
- r && t.push(r), t.push(...B(e.dimensions));
991
+ const a = v(e.dateField);
992
+ a && t.push(a), t.push(...B(e.dimensions));
992
993
  } else if (e.kind === "records") {
993
- const r = v(e.dateField);
994
- r && t.push(r), t.push(...B(e.fields));
994
+ const a = v(e.dateField);
995
+ a && t.push(a), t.push(...B(e.fields));
995
996
  } else if (e.kind === "inputOptions") {
996
- const r = v(e.field);
997
- r && t.push(r);
997
+ const a = v(e.field);
998
+ a && t.push(a);
998
999
  } else e.kind === "sql" && t.push(...B(e.fields));
999
1000
  const n = "inputs" in e && Array.isArray(e.inputs) ? e.inputs : [];
1000
- for (const r of n) {
1001
- const i = v(r.field);
1001
+ for (const a of n) {
1002
+ const i = v(a.field);
1002
1003
  i && t.push(i);
1003
1004
  }
1004
1005
  return t;
@@ -1007,24 +1008,24 @@ function rt(e) {
1007
1008
  const t = [];
1008
1009
  for (const n of me(e)) {
1009
1010
  N(n.source) && t.push(n.source);
1010
- const r = v(n.field);
1011
- r && t.push(r);
1011
+ const a = v(n.field);
1012
+ a && t.push(a);
1012
1013
  }
1013
1014
  for (const n of G(e))
1014
- for (const r of U(n))
1015
- t.push(...nt(r.analytics));
1015
+ for (const a of U(n))
1016
+ t.push(...at(a.analytics));
1016
1017
  return t;
1017
1018
  }
1018
- function at(e) {
1019
+ function it(e) {
1019
1020
  var n;
1020
1021
  const t = [];
1021
- for (const r of G(e))
1022
- for (const i of U(r))
1022
+ for (const a of G(e))
1023
+ for (const i of U(a))
1023
1024
  N((n = i.analytics) == null ? void 0 : n.source) && t.push(i.analytics.source);
1024
1025
  return t;
1025
1026
  }
1026
- function it(e, t) {
1027
- const n = q(e).map(tt).filter((a) => !!a);
1027
+ function ot(e, t) {
1028
+ const n = q(e).map(nt).filter((r) => !!r);
1028
1029
  if (n.length === 0)
1029
1030
  return t.push(
1030
1031
  g(
@@ -1032,12 +1033,12 @@ function it(e, t) {
1032
1033
  "No semantic or physical source could be converted into the current dashboard authoring dataset reference."
1033
1034
  )
1034
1035
  ), [];
1035
- const r = n.every((a) => a.kind === "semantic"), i = Array.from(
1036
+ const a = n.every((r) => r.kind === "semantic"), i = Array.from(
1036
1037
  new Set(
1037
- n.filter((a) => a.kind === "semantic").map((a) => a.domainId)
1038
+ n.filter((r) => r.kind === "semantic").map((r) => r.domainId)
1038
1039
  )
1039
1040
  );
1040
- return n.length > 1 && (!r || i.length !== 1) ? (t.push(
1041
+ return n.length > 1 && (!a || i.length !== 1) ? (t.push(
1041
1042
  g(
1042
1043
  "multiple_datasets_out_of_scope",
1043
1044
  "The dashboard authoring compiler supports multiple datasets only within one semantic domain; using the first source and deferring the rest."
@@ -1045,27 +1046,27 @@ function it(e, t) {
1045
1046
  ), [n[0]]) : n;
1046
1047
  }
1047
1048
  function st(e, t) {
1048
- const n = G(e), r = me(e), i = q(rt(e)), a = q(
1049
- at(e)
1049
+ const n = G(e), a = me(e), i = q(rt(e)), r = q(
1050
+ it(e)
1050
1051
  );
1051
1052
  return {
1052
1053
  sections: n,
1053
- inputs: r,
1054
+ inputs: a,
1054
1055
  sources: i,
1055
- primarySources: a,
1056
- defaultSource: a.length === 1 ? a[0] : void 0,
1057
- datasets: it(i, t)
1056
+ primarySources: r,
1057
+ defaultSource: r.length === 1 ? r[0] : void 0,
1058
+ datasets: ot(i, t)
1058
1059
  };
1059
1060
  }
1060
- function ot(e) {
1061
+ function dt(e) {
1061
1062
  return pe(e).map((t) => t.name).filter(Boolean);
1062
1063
  }
1063
1064
  function pe(e) {
1064
1065
  return (Array.isArray(e.fields) ? e.fields : []).filter(
1065
- (t) => !ve(t, e.dateField)
1066
+ (t) => !ke(t, e.dateField)
1066
1067
  );
1067
1068
  }
1068
- function dt(e) {
1069
+ function ct(e) {
1069
1070
  const t = Array.isArray(e.metrics) ? e.metrics.filter(
1070
1071
  (n) => typeof n == "string" && n.trim().length > 0
1071
1072
  ) : [];
@@ -1077,20 +1078,20 @@ function dt(e) {
1077
1078
  )
1078
1079
  );
1079
1080
  }
1080
- function ct(e) {
1081
+ function lt(e) {
1081
1082
  return x(e) && typeof e.name == "string" && e.name.trim().length > 0;
1082
1083
  }
1083
- function lt(e) {
1084
+ function ut(e) {
1084
1085
  if (!Array.isArray(e.dimensions))
1085
1086
  return;
1086
- const t = e.dimensions.filter(ct).map((n) => n.name);
1087
+ const t = e.dimensions.filter(lt).map((n) => n.name);
1087
1088
  return t.length ? t : void 0;
1088
1089
  }
1089
1090
  function ne(e) {
1090
1091
  return e === "hour" ? "day" : e;
1091
1092
  }
1092
- function j(e, t = {}) {
1093
- var n, r;
1093
+ function L(e, t = {}) {
1094
+ var n, a;
1094
1095
  if (e != null && e.name) {
1095
1096
  if (((n = e.source) == null ? void 0 : n.kind) === "semantic")
1096
1097
  return !e.source.domainId || !e.source.datasetName ? void 0 : {
@@ -1104,7 +1105,7 @@ function j(e, t = {}) {
1104
1105
  connectionId: e.source.connectionId
1105
1106
  }
1106
1107
  };
1107
- if (((r = e.source) == null ? void 0 : r.kind) === "physical")
1108
+ if (((a = e.source) == null ? void 0 : a.kind) === "physical")
1108
1109
  return !e.source.connectionId || !e.source.tableName ? void 0 : {
1109
1110
  name: e.name,
1110
1111
  source: {
@@ -1120,43 +1121,43 @@ function j(e, t = {}) {
1120
1121
  return { name: e.name };
1121
1122
  }
1122
1123
  }
1123
- function re(e) {
1124
+ function ae(e) {
1124
1125
  if (!Array.isArray(e))
1125
1126
  return;
1126
- const t = e.map((n) => j(n, { includeUnsourced: !0 })).filter(Boolean);
1127
+ const t = e.map((n) => L(n, { includeUnsourced: !0 })).filter(Boolean);
1127
1128
  if (t.length === e.length)
1128
1129
  return t.some((n) => n.source) ? t : void 0;
1129
1130
  }
1130
- function ut(e) {
1131
+ function ft(e) {
1131
1132
  var t, n;
1132
1133
  if (e) {
1133
1134
  if (e.kind === "metric")
1134
1135
  return {
1135
1136
  metric: e.metric,
1136
- metrics: dt(e),
1137
+ metrics: ct(e),
1137
1138
  dateField: (t = e.dateField) == null ? void 0 : t.name,
1138
- dateFieldRef: j(e.dateField),
1139
+ dateFieldRef: L(e.dateField),
1139
1140
  timeGrain: ne(e.timeGrain),
1140
- dimensions: lt(e),
1141
- dimensionRefs: re(e.dimensions),
1141
+ dimensions: ut(e),
1142
+ dimensionRefs: ae(e.dimensions),
1142
1143
  limit: e.limit
1143
1144
  };
1144
1145
  if (e.kind === "records")
1145
1146
  return {
1146
1147
  metrics: e.measures,
1147
1148
  dateField: (n = e.dateField) == null ? void 0 : n.name,
1148
- dateFieldRef: j(e.dateField),
1149
+ dateFieldRef: L(e.dateField),
1149
1150
  timeGrain: ne(e.timeGrain),
1150
- dimensions: ot(e),
1151
- dimensionRefs: re(pe(e)),
1151
+ dimensions: dt(e),
1152
+ dimensionRefs: ae(pe(e)),
1152
1153
  limit: e.limit
1153
1154
  };
1154
1155
  }
1155
1156
  }
1156
- function ft(e) {
1157
- return e && Ie(e).ok ? e : void 0;
1158
- }
1159
1157
  function mt(e) {
1158
+ return e && ge(e).ok ? e : void 0;
1159
+ }
1160
+ function pt(e) {
1160
1161
  var t;
1161
1162
  switch ((t = e.presentation) == null ? void 0 : t.kind) {
1162
1163
  case "kpi":
@@ -1175,11 +1176,11 @@ function mt(e) {
1175
1176
  return null;
1176
1177
  }
1177
1178
  }
1178
- function pt(e) {
1179
- var t, n, r;
1180
- return ((t = e.presentation) == null ? void 0 : t.kind) === "kpi" ? "kpi" : ((n = e.presentation) == null ? void 0 : n.kind) === "table" ? "table" : ((r = e.presentation) == null ? void 0 : r.kind) === "text" ? "text" : "chart";
1181
- }
1182
1179
  function ht(e) {
1180
+ var t, n, a;
1181
+ return ((t = e.presentation) == null ? void 0 : t.kind) === "kpi" ? "kpi" : ((n = e.presentation) == null ? void 0 : n.kind) === "table" ? "table" : ((a = e.presentation) == null ? void 0 : a.kind) === "text" ? "text" : "chart";
1182
+ }
1183
+ function bt(e) {
1183
1184
  switch (e) {
1184
1185
  case "not_in":
1185
1186
  return "not in";
@@ -1189,36 +1190,36 @@ function ht(e) {
1189
1190
  return e || "in";
1190
1191
  }
1191
1192
  }
1192
- function bt(e) {
1193
+ function It(e) {
1193
1194
  return x(e.field) ? e.field.dataType === "datetime" ? "date" : e.field.dataType || "string" : "string";
1194
1195
  }
1195
- function It(e) {
1196
+ function gt(e) {
1196
1197
  if (!(!e || e.kind !== "physical"))
1197
1198
  return [e.databaseName, e.schemaName, e.tableName].filter(Boolean).join(".");
1198
1199
  }
1199
- function gt(e, t, n, r, i, a) {
1200
+ function yt(e, t, n, a, i, r) {
1200
1201
  if (e.kind !== "filter")
1201
- return a.push(
1202
+ return r.push(
1202
1203
  g(
1203
1204
  "control_inputs_deferred",
1204
1205
  `Control input "${e.label}" is represented in the protocol but not yet materialized by the dashboard authoring adapter.`
1205
1206
  )
1206
1207
  ), null;
1207
1208
  if (!x(e.field) || typeof e.field.name != "string")
1208
- return a.push(
1209
+ return r.push(
1209
1210
  g(
1210
1211
  "filter_requires_field",
1211
1212
  `Filter "${e.label || e.id}" needs a field before the dashboard compiler can materialize it.`
1212
1213
  )
1213
1214
  ), null;
1214
- const s = we({
1215
+ const o = ve({
1215
1216
  explicitSource: e.source,
1216
1217
  field: e.field,
1217
1218
  defaultSource: t,
1218
1219
  fallbackSources: n
1219
- }), d = (s == null ? void 0 : s.kind) === "semantic" || (s == null ? void 0 : s.kind) === "physical" ? s.connectionId : void 0;
1220
+ }), d = (o == null ? void 0 : o.kind) === "semantic" || (o == null ? void 0 : o.kind) === "physical" ? o.connectionId : void 0;
1220
1221
  if (!d)
1221
- return a.push(
1222
+ return r.push(
1222
1223
  g(
1223
1224
  "filter_requires_connection_id",
1224
1225
  `Filter "${e.label}" needs a source connectionId before the dashboard compiler can materialize it.`
@@ -1233,29 +1234,29 @@ function gt(e, t, n, r, i, a) {
1233
1234
  connectionId: d,
1234
1235
  title: e.label,
1235
1236
  column: e.field.name,
1236
- dataType: bt(e),
1237
- qualifiedTableName: It(s),
1237
+ dataType: It(e),
1238
+ qualifiedTableName: gt(o),
1238
1239
  sql: "",
1239
- operation: ht(e.operator),
1240
+ operation: bt(e.operator),
1240
1241
  type: e.multi === !1 ? "single" : "multiple",
1241
1242
  location: "dashboard",
1242
1243
  displayMode: "toolbar",
1243
- fieldMeta: (s == null ? void 0 : s.kind) === "semantic" ? {
1244
+ fieldMeta: (o == null ? void 0 : o.kind) === "semantic" ? {
1244
1245
  name: e.field.name,
1245
1246
  qualifiedFieldName: e.field.name,
1246
1247
  dataType: e.field.dataType,
1247
1248
  role: e.field.role === "measure" ? "metric" : "groupby"
1248
1249
  } : void 0,
1249
- semanticContext: (s == null ? void 0 : s.kind) === "semantic" ? {
1250
- semanticDomainId: s.domainId,
1251
- connectionId: s.connectionId
1250
+ semanticContext: (o == null ? void 0 : o.kind) === "semantic" ? {
1251
+ semanticDomainId: o.domainId,
1252
+ connectionId: o.connectionId
1252
1253
  } : void 0
1253
1254
  };
1254
1255
  return {
1255
1256
  id: e.id,
1256
1257
  label: e.label,
1257
1258
  variableName: e.id,
1258
- scope: r,
1259
+ scope: a,
1259
1260
  filter: p,
1260
1261
  defaultValue: H(
1261
1262
  p,
@@ -1265,9 +1266,9 @@ function gt(e, t, n, r, i, a) {
1265
1266
  }
1266
1267
  function V(e) {
1267
1268
  const t = [], n = [];
1268
- for (const r of e.viewIds) {
1269
- const i = e.viewIdToCardId.get(r);
1270
- i ? t.push(i) : n.push(r);
1269
+ for (const a of e.viewIds) {
1270
+ const i = e.viewIdToCardId.get(a);
1271
+ i ? t.push(i) : n.push(a);
1271
1272
  }
1272
1273
  return n.length > 0 && e.warnings.push(
1273
1274
  g(
@@ -1276,16 +1277,16 @@ function V(e) {
1276
1277
  )
1277
1278
  ), Array.from(new Set(t));
1278
1279
  }
1279
- function yt(e) {
1280
- var r, i;
1280
+ function _t(e) {
1281
+ var a, i;
1281
1282
  if (!e.protocolScope) {
1282
- const a = Array.from(new Set(e.boundCardIds));
1283
- return a.length > 0 && a.length < e.allCardIds.length ? { kind: "cards", cardIds: a } : void 0;
1283
+ const r = Array.from(new Set(e.boundCardIds));
1284
+ return r.length > 0 && r.length < e.allCardIds.length ? { kind: "cards", cardIds: r } : void 0;
1284
1285
  }
1285
1286
  if (e.protocolScope.level === "dashboard") {
1286
- if (!((r = e.protocolScope.excludeViewIds) != null && r.length))
1287
+ if (!((a = e.protocolScope.excludeViewIds) != null && a.length))
1287
1288
  return;
1288
- const a = new Set(
1289
+ const r = new Set(
1289
1290
  V({
1290
1291
  inputLabel: e.inputLabel,
1291
1292
  viewIds: e.protocolScope.excludeViewIds,
@@ -1295,22 +1296,22 @@ function yt(e) {
1295
1296
  );
1296
1297
  return {
1297
1298
  kind: "cards",
1298
- cardIds: e.allCardIds.filter((s) => !a.has(s))
1299
+ cardIds: e.allCardIds.filter((o) => !r.has(o))
1299
1300
  };
1300
1301
  }
1301
1302
  if (e.protocolScope.level === "view") {
1302
- const a = V({
1303
+ const r = V({
1303
1304
  inputLabel: e.inputLabel,
1304
1305
  viewIds: e.protocolScope.viewIds,
1305
1306
  viewIdToCardId: e.viewIdToCardId,
1306
1307
  warnings: e.warnings
1307
1308
  });
1308
- return a.length === 0 ? (e.warnings.push(
1309
+ return r.length === 0 ? (e.warnings.push(
1309
1310
  g(
1310
1311
  "input_scope_has_no_materialized_cards",
1311
1312
  `Filter "${e.inputLabel}" was deferred because its view scope does not match any materialized cards.`
1312
1313
  )
1313
- ), null) : { kind: "cards", cardIds: a };
1314
+ ), null) : { kind: "cards", cardIds: r };
1314
1315
  }
1315
1316
  const t = e.sectionIdToCardIds.get(e.protocolScope.sectionId) || [];
1316
1317
  if (t.length === 0)
@@ -1332,23 +1333,23 @@ function yt(e) {
1332
1333
  );
1333
1334
  return {
1334
1335
  kind: "cards",
1335
- cardIds: t.filter((a) => !n.has(a))
1336
+ cardIds: t.filter((r) => !n.has(r))
1336
1337
  };
1337
1338
  }
1338
- function At(e) {
1339
+ function xt(e) {
1339
1340
  var c, b, S;
1340
- const t = [], n = be(e);
1341
+ const t = [], n = Ie(e);
1341
1342
  for (const m of n.warnings)
1342
1343
  t.push(g(m.code, m.message));
1343
1344
  for (const m of n.errors)
1344
1345
  t.push(g(m.code, m.message));
1345
- const r = st(e, t), i = [], a = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Set();
1346
+ const a = st(e, t), i = [], r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Set();
1346
1347
  let p = 0;
1347
- for (const [m, w] of r.sections.entries()) {
1348
+ for (const [m, w] of a.sections.entries()) {
1348
1349
  const l = typeof w.title == "string" ? w.title : `Section ${m + 1}`, K = w.id || F(l, `section-${m + 1}`);
1349
- s.set(K, []);
1350
+ o.set(K, []);
1350
1351
  for (const [Q, h] of U(w).entries()) {
1351
- const J = mt(h), R = F(
1352
+ const J = pt(h), R = F(
1352
1353
  h.id || `${l}-${h.title || `View ${Q + 1}`}`,
1353
1354
  `card-${m + 1}-${Q + 1}`
1354
1355
  );
@@ -1372,8 +1373,8 @@ function At(e) {
1372
1373
  );
1373
1374
  continue;
1374
1375
  }
1375
- const X = fe(R, o), T = `card-${X}`;
1376
- h.id && a.set(h.id, T), (S = s.get(K)) == null || S.push(T);
1376
+ const X = fe(R, s), T = `card-${X}`;
1377
+ h.id && r.set(h.id, T), (S = o.get(K)) == null || S.push(T);
1377
1378
  const he = h.analytics && "inputs" in h.analytics ? h.analytics.inputs : void 0;
1378
1379
  for (const Y of he || []) {
1379
1380
  const Z = d.get(Y.inputId) || [];
@@ -1385,29 +1386,29 @@ function At(e) {
1385
1386
  title: h.title,
1386
1387
  description: h.description,
1387
1388
  type: J,
1388
- role: pt(h),
1389
+ role: ht(h),
1389
1390
  priority: p,
1390
1391
  section: l,
1391
- query: ut(h.analytics),
1392
- analyticsIntent: ft(h.analytics),
1392
+ query: ft(h.analytics),
1393
+ analyticsIntent: mt(h.analytics),
1393
1394
  text: h.text
1394
1395
  }), p += 1;
1395
1396
  }
1396
1397
  }
1397
- const I = r.inputs.map((m) => {
1398
- const w = yt({
1398
+ const I = a.inputs.map((m) => {
1399
+ const w = _t({
1399
1400
  protocolScope: m.scope,
1400
1401
  inputLabel: m.label,
1401
1402
  allCardIds: i.map((l) => l.id),
1402
1403
  boundCardIds: d.get(m.id) || [],
1403
- viewIdToCardId: a,
1404
- sectionIdToCardIds: s,
1404
+ viewIdToCardId: r,
1405
+ sectionIdToCardIds: o,
1405
1406
  warnings: t
1406
1407
  });
1407
- return w === null ? null : gt(
1408
+ return w === null ? null : yt(
1408
1409
  m,
1409
- r.defaultSource,
1410
- r.sources,
1410
+ a.defaultSource,
1411
+ a.sources,
1411
1412
  w,
1412
1413
  f,
1413
1414
  t
@@ -1418,7 +1419,7 @@ function At(e) {
1418
1419
  id: `plan-${F(e.title, "dashboard")}`,
1419
1420
  title: e.title,
1420
1421
  description: e.description,
1421
- datasets: r.datasets,
1422
+ datasets: a.datasets,
1422
1423
  sheets: [
1423
1424
  {
1424
1425
  id: `sheet-${F(e.title, "dashboard")}`,
@@ -1434,26 +1435,26 @@ function At(e) {
1434
1435
  }, warnings: t };
1435
1436
  }
1436
1437
  export {
1437
- ge as DASHBOARD_AUTHORING_BREAKPOINTS,
1438
+ ye as DASHBOARD_AUTHORING_BREAKPOINTS,
1438
1439
  M as DASHBOARD_AUTHORING_MAX_GENERATED_CARDS,
1439
- St as applyDashboardChangePlan,
1440
- kt as compileDashboardFromPlan,
1440
+ Ct as applyDashboardChangePlan,
1441
+ At as compileDashboardFromPlan,
1441
1442
  E as compileResponsiveDashboardLayouts,
1442
1443
  W as dashboardAuthoringDatasetMatchesSource,
1443
- ve as dashboardAuthoringFieldsReferToSameTarget,
1444
+ ke as dashboardAuthoringFieldsReferToSameTarget,
1444
1445
  v as dashboardAuthoringSourceFromField,
1445
1446
  ee as dashboardAuthoringSourceKey,
1446
- ae as dashboardAuthoringSourcesReferToSameDataset,
1447
- At as dashboardPlanFromSemaphorDashboardIntent,
1448
- vt as findDashboardAuthoringDatasetForSource,
1449
- Fe as getDashboardAuthoringCardSource,
1447
+ re as dashboardAuthoringSourcesReferToSameDataset,
1448
+ xt as dashboardPlanFromSemaphorDashboardIntent,
1449
+ St as findDashboardAuthoringDatasetForSource,
1450
+ Ne as getDashboardAuthoringCardSource,
1450
1451
  N as isMaterializableDashboardAuthoringSource,
1451
- ye as isSemaphorSourceRef,
1452
+ _e as isSemaphorSourceRef,
1452
1453
  q as mergeDashboardAuthoringSources,
1453
- _e as preferDashboardAuthoringSourceMetadata,
1454
- wt as preferredDashboardAuthoringSource,
1455
- we as resolveDashboardAuthoringSource,
1456
- Ne as validateDashboardAuthoringDatasetScope,
1457
- qe as validateDashboardChangePlan,
1458
- Me as validateDashboardPlan
1454
+ we as preferDashboardAuthoringSourceMetadata,
1455
+ kt as preferredDashboardAuthoringSource,
1456
+ ve as resolveDashboardAuthoringSource,
1457
+ Te as validateDashboardAuthoringDatasetScope,
1458
+ Re as validateDashboardChangePlan,
1459
+ qe as validateDashboardPlan
1459
1460
  };