react-semaphor 0.1.550 → 0.1.552

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 (42) hide show
  1. package/dist/assistant-context/index.js +1 -1
  2. package/dist/assistant-protocol/index.js +64 -57
  3. package/dist/briefings/index.js +1 -1
  4. package/dist/chunks/{assistant-chat-ClAvjeNe.js → assistant-chat-sWQaBT61.js} +3197 -2841
  5. package/dist/chunks/{comparison-window-caption-C2xF-eWw.js → comparison-window-caption-CF90-I0i.js} +1 -1
  6. package/dist/chunks/{custom-visual-inputs-CwAcigQS.js → custom-visual-inputs-ByQUyWf4.js} +1 -1
  7. package/dist/chunks/{dashboard-DDQgKoss.js → dashboard-BjoJI7NN.js} +1 -1
  8. package/dist/chunks/{dashboard-briefing-launcher-CCYs8E4j.js → dashboard-briefing-launcher-DUJQv719.js} +7 -7
  9. package/dist/chunks/{dashboard-controls-DfSkQBsk.js → dashboard-controls-BjnvfcQp.js} +194 -207
  10. package/dist/chunks/{dashboard-json-BPhyn9pl.js → dashboard-json-BqcLekhd.js} +1 -1
  11. package/dist/chunks/{document-dashboard-inputs-DPQ_wUGD.js → document-dashboard-inputs-PoQihHLu.js} +3 -3
  12. package/dist/chunks/{edit-dashboard-visual-G7EmLuR0.js → edit-dashboard-visual-KNJQr60W.js} +9 -9
  13. package/dist/chunks/{filter-reach-copy-8vnDYToV.js → filter-reach-copy-zdhUFn6t.js} +4 -4
  14. package/dist/chunks/{global-date-filter-utils-CnumW4j2.js → global-date-filter-utils-C1jCNWdV.js} +8 -1
  15. package/dist/chunks/{index-DzsdV1o4.js → index-Dp0ta6KB.js} +3 -3
  16. package/dist/chunks/{matrix-formatter-DWEeC0_c.js → matrix-formatter-C_EpDP6o.js} +12 -12
  17. package/dist/chunks/model-change-B0rAK-5w.js +230 -0
  18. package/dist/chunks/{raw-temporal-presentation-CBKeEPYA.js → raw-temporal-presentation-D3i0mnUe.js} +1 -1
  19. package/dist/chunks/{report-preferences-dialog-D_fEDaS4.js → report-preferences-dialog-C0uGI0v7.js} +7 -7
  20. package/dist/chunks/{resolve-dashboard-input-context-DVWF7p5C.js → resolve-dashboard-input-context-Cm0b7s-d.js} +64 -64
  21. package/dist/chunks/{saved-dashboard-context-BMqMzNAo.js → saved-dashboard-context-DCtGmAWe.js} +4 -4
  22. package/dist/chunks/{semaphor-ready-indicator-Bz5BxITW.js → semaphor-ready-indicator-ChyotaWB.js} +10400 -10402
  23. package/dist/chunks/{shelf-drop-preview-context-B8kNwpWQ.js → shelf-drop-preview-context-D09ATIXv.js} +3 -3
  24. package/dist/chunks/{table-export-sheet-4X9mAG3V.js → table-export-sheet-DUS_s8Cj.js} +1 -1
  25. package/dist/chunks/{use-create-flow-overlay-state-RzJa7G8S.js → use-create-flow-overlay-state-t7JLE_LV.js} +2 -2
  26. package/dist/dashboard/index.js +1 -1
  27. package/dist/dashboard-authoring/index.js +7 -7
  28. package/dist/data-app-sdk/index.js +1 -1
  29. package/dist/format-utils/index.js +5 -5
  30. package/dist/index.js +12 -12
  31. package/dist/style.css +1 -1
  32. package/dist/surfboard/index.js +1 -1
  33. package/dist/types/shared/assistant-protocol/answer-text.d.ts +23 -0
  34. package/dist/types/shared/assistant-protocol/conversation-text.d.ts +29 -0
  35. package/dist/types/shared/assistant-protocol/conversation.d.ts +24 -3
  36. package/dist/types/shared/assistant-protocol/index.d.ts +2 -0
  37. package/dist/types/shared/assistant-protocol/model-change.d.ts +19 -0
  38. package/dist/types/shared/assistant-protocol/parts.d.ts +45 -1
  39. package/dist/types/shared/dashboard-authoring/changes/dashboard-change.d.ts +8 -3
  40. package/dist/types/shared/dashboard-authoring/changes/diagnostics.d.ts +7 -1
  41. package/package.json +1 -1
  42. package/dist/chunks/add-to-dashboard-BQRAAnc3.js +0 -102
@@ -1,9 +1,9 @@
1
1
  import { jsx as e, jsxs as o, Fragment as $ } from "react/jsx-runtime";
2
- import { bQ as Br, u as C, bR as Fr, bS as Gr, bT as st, bU as Vr, bV as jr, bW as zr, bX as Hr, bY as qr, bZ as Kr, b5 as J, b3 as ve, b_ as ye, bK as D, b$ as Qr, bL as Ft, bM as Gt, bO as et, bP as tt, c0 as Vt, aR as ot, a_ as re, c1 as Wr, c2 as Yr, c3 as jt, c4 as Jr, c5 as zt, bN as Xr, c6 as Zr, c7 as P, c8 as ea, c9 as ta, ca as ra, aC as aa, bh as na, by as sa, cb as oa, bz as ia, j as da, W as ca, a6 as Ct, i as _e, p as la, k as Je, cc as ua, cd as ma, Q as ha, ce as pa, s as fa, cf as ba, cg as ga, bk as xa, ch as va, ci as Dt, cj as Ht, ck as Et, cl as ya, bA as wa, cm as Na, cn as Sa, co as be, cp as Pe, cq as ka, cr as Ca, cs as Da, ct as It, o as Ea, cu as Ia, cv as Aa, cw as Oa, cx as La, cy as Ma, cz as _a, cA as Pa, cB as Ta, cC as At, cD as Ra } from "./semaphor-ready-indicator-Bz5BxITW.js";
3
- import { B as G, Z as Ua, _ as $a, $ as rt, L as Re, l as Ba, r as Fa, s as Ga, t as Va, u as ja, v as za, P as Ha, a as qa, b as Ka, m as Qa, n as Wa, o as Ya, I as Ja, p as Xa, c as qt } from "./switch-wJP6O7ZT.js";
4
- import { c as we, X as Kt, C as Za } from "./x-4f5U2XwU.js";
2
+ import { bQ as $r, u as C, bR as Br, bS as Fr, bT as st, bU as Gr, bV as Vr, bW as jr, bX as zr, bY as Hr, bZ as qr, b5 as J, b3 as ve, b_ as ye, bK as D, b$ as Kr, bL as Gt, bM as Vt, bO as et, bP as tt, c0 as jt, aR as ot, a_ as re, c1 as Qr, c2 as Wr, c3 as zt, c4 as Yr, c5 as Ht, bN as Jr, c6 as Xr, c7 as P, c8 as Zr, c9 as ea, ca as ta, aC as ra, bh as aa, by as na, cb as sa, bz as oa, j as ia, W as da, a6 as Ct, i as _e, p as ca, k as Je, cc as la, cd as ua, Q as ma, ce as ha, s as pa, cf as fa, cg as ba, bk as ga, ch as xa, ci as Dt, cj as Et, ck as It, cl as va, bA as ya, cm as wa, cn as Na, co as Sa, cp as be, cq as Pe, cr as ka, cs as Ca, ct as Da, cu as At, o as Ea, cv as Ia, cw as Aa, cx as Oa, cy as La, cz as Ma, cA as _a, cB as Pa, cC as Ta, cD as Ot } from "./semaphor-ready-indicator-ChyotaWB.js";
3
+ import { B as G, Z as Ra, _ as Ua, $ as rt, L as Re, l as $a, r as Ba, s as Fa, t as Ga, u as Va, v as ja, P as za, a as Ha, b as qa, m as Ka, n as Qa, o as Wa, I as Ya, p as Ja, c as qt } from "./switch-wJP6O7ZT.js";
4
+ import { c as we, X as Kt, C as Xa } from "./x-4f5U2XwU.js";
5
5
  import * as A from "react";
6
- import Qt, { useMemo as V, useState as N, useEffect as ge, useRef as Ot, useLayoutEffect as en } from "react";
6
+ import Qt, { useMemo as V, useState as N, useEffect as ge, useRef as Lt, useLayoutEffect as Za } from "react";
7
7
  import "./index-CuHybtft.js";
8
8
  import "./validators-C-aOQlTB.js";
9
9
  import "./matrix-operation-contract-D6vYkZK4.js";
@@ -11,18 +11,18 @@ import "./analytics-base-schemas-BKs3flFS.js";
11
11
  import "zod";
12
12
  import "../value-format-preferences/index.js";
13
13
  import { c as xe } from "./_commonjsHelpers-DimLPMtv.js";
14
- import { u as tn, d as rn, c as an, D as nn, A as sn, a as on, j as dn, V as cn, b as ln, e as un, S as mn, T as hn, i as pn, k as fn, U as bn } from "./dashboard-briefing-launcher-CCYs8E4j.js";
15
- import { I as gn } from "./use-create-flow-overlay-state-RzJa7G8S.js";
16
- import { u as xn, h as vn, R as yn, l as Wt } from "./report-preferences-dialog-D_fEDaS4.js";
14
+ import { u as en, d as tn, c as rn, D as an, A as nn, a as sn, j as on, V as dn, b as cn, e as ln, S as un, T as mn, i as hn, k as pn, U as fn } from "./dashboard-briefing-launcher-DUJQv719.js";
15
+ import { I as bn } from "./use-create-flow-overlay-state-t7JLE_LV.js";
16
+ import { u as gn, h as xn, R as vn, l as yn } from "./report-preferences-dialog-C0uGI0v7.js";
17
17
  import { createPortal as wn } from "react-dom";
18
- import { dr as Ne, ds as it, dt as Yt, as as Nn } from "./global-date-filter-utils-CnumW4j2.js";
18
+ import { dr as Ne, ds as it, dt as Wt, as as Nn } from "./global-date-filter-utils-C1jCNWdV.js";
19
19
  import { S as Sn, C as kn } from "./selection-reducer-CJzkTZio.js";
20
- import { o as Jt } from "./matrix-formatter-DWEeC0_c.js";
21
- import { ac as Lt, ad as Cn, ae as Dn, a as at } from "./resolve-dashboard-input-context-DVWF7p5C.js";
20
+ import { o as Yt } from "./matrix-formatter-C_EpDP6o.js";
21
+ import { ac as Mt, ad as Cn, ae as Dn, a as at } from "./resolve-dashboard-input-context-Cm0b7s-d.js";
22
22
  import { r as En } from "./export-file-format-C-tJsxsf.js";
23
23
  import { u as In, s as An } from "./normalize-dashboard-for-dirty-check-XKgH3GFX.js";
24
- import { K as Ue, u as Mt } from "./table-settings-WysCBj62.js";
25
- import { l as On, h as _t, e as Ln } from "./document-dashboard-inputs-DPQ_wUGD.js";
24
+ import { K as Ue, u as _t } from "./table-settings-WysCBj62.js";
25
+ import { l as On, h as Pt, e as Ln } from "./document-dashboard-inputs-PoQihHLu.js";
26
26
  import { S as Mn } from "./save-CfJpQQ68.js";
27
27
  import { P as _n } from "./palette-D10o_yYX.js";
28
28
  import { B as Pn } from "./braces-o9UiRQes.js";
@@ -87,7 +87,7 @@ const $n = we("UserPlus", [
87
87
  * This source code is licensed under the ISC license.
88
88
  * See the LICENSE file in the root directory of this source tree.
89
89
  */
90
- const Xt = we("UserRound", [
90
+ const Jt = we("UserRound", [
91
91
  ["circle", { cx: "12", cy: "8", r: "5", key: "1hypcn" }],
92
92
  ["path", { d: "M20 21a8 8 0 0 0-16 0", key: "rfgkzh" }]
93
93
  ]);
@@ -101,10 +101,10 @@ var nt = { exports: {} }, Xe = {};
101
101
  * This source code is licensed under the MIT license found in the
102
102
  * LICENSE file in the root directory of this source tree.
103
103
  */
104
- var Pt;
104
+ var Tt;
105
105
  function Bn() {
106
- if (Pt) return Xe;
107
- Pt = 1;
106
+ if (Tt) return Xe;
107
+ Tt = 1;
108
108
  var t = Qt;
109
109
  function a(c, u) {
110
110
  return c === u && (c !== 0 || 1 / c === 1 / u) || c !== c && u !== u;
@@ -152,9 +152,9 @@ var Ze = {};
152
152
  * This source code is licensed under the MIT license found in the
153
153
  * LICENSE file in the root directory of this source tree.
154
154
  */
155
- var Tt;
155
+ var Rt;
156
156
  function Fn() {
157
- return Tt || (Tt = 1, process.env.NODE_ENV !== "production" && function() {
157
+ return Rt || (Rt = 1, process.env.NODE_ENV !== "production" && function() {
158
158
  function t(l, p) {
159
159
  return l === p && (l !== 0 || 1 / l === 1 / p) || l !== l && p !== p;
160
160
  }
@@ -209,14 +209,14 @@ process.env.NODE_ENV === "production" ? nt.exports = Bn() : nt.exports = Fn();
209
209
  var Gn = nt.exports;
210
210
  const Te = ["light", "dark", "system"];
211
211
  function Vn() {
212
- const { theme: t, setTheme: a } = Br(), n = C(
212
+ const { theme: t, setTheme: a } = $r(), n = C(
213
213
  (f) => f.actions.setDashboardTheme
214
214
  );
215
215
  function r() {
216
216
  const f = Te.includes(t) ? t : "system", h = Te[(Te.indexOf(f) + 1) % Te.length];
217
217
  a(h), n(h);
218
218
  }
219
- const s = t === "light" ? Un : t === "dark" ? Tn : Fr, d = t === "light" ? "Theme: light (click for dark)" : t === "dark" ? "Theme: dark (click for system)" : "Theme: system (click for light)";
219
+ const s = t === "light" ? Un : t === "dark" ? Tn : Br, d = t === "light" ? "Theme: light (click for dark)" : t === "dark" ? "Theme: dark (click for system)" : "Theme: system (click for light)";
220
220
  return /* @__PURE__ */ e(
221
221
  G,
222
222
  {
@@ -232,18 +232,18 @@ function Vn() {
232
232
  );
233
233
  }
234
234
  function jn() {
235
- const { displayPreferences: t, shouldShowElement: a } = Gr(), { currentUser: n, userContext: r } = st(), s = V(
236
- () => Vr(n),
235
+ const { displayPreferences: t, shouldShowElement: a } = Fr(), { currentUser: n, userContext: r } = st(), s = V(
236
+ () => Gr(n),
237
237
  [n]
238
238
  ), d = V(() => (h) => s && s[h] !== void 0 && s[h] === !1 ? !1 : a(h), [s, a, t]), f = V(
239
239
  () => {
240
240
  var h, g, v, m, c;
241
241
  return {
242
- canEdit: ((h = r == null ? void 0 : r.permissions) == null ? void 0 : h.canEdit) ?? Kr(n),
243
- canUseFilters: ((g = r == null ? void 0 : r.permissions) == null ? void 0 : g.canEdit) ?? qr(n),
244
- canManageDashboards: ((v = r == null ? void 0 : r.permissions) == null ? void 0 : v.canCreateDashboard) ?? Hr(n),
245
- canCreateDashboards: ((m = r == null ? void 0 : r.permissions) == null ? void 0 : m.canCreateDashboard) ?? zr(n),
246
- canAccessVisuals: ((c = r == null ? void 0 : r.permissions) == null ? void 0 : c.canEdit) ?? jr(n)
242
+ canEdit: ((h = r == null ? void 0 : r.permissions) == null ? void 0 : h.canEdit) ?? qr(n),
243
+ canUseFilters: ((g = r == null ? void 0 : r.permissions) == null ? void 0 : g.canEdit) ?? Hr(n),
244
+ canManageDashboards: ((v = r == null ? void 0 : r.permissions) == null ? void 0 : v.canCreateDashboard) ?? zr(n),
245
+ canCreateDashboards: ((m = r == null ? void 0 : r.permissions) == null ? void 0 : m.canCreateDashboard) ?? jr(n),
246
+ canAccessVisuals: ((c = r == null ? void 0 : r.permissions) == null ? void 0 : c.canEdit) ?? Vr(n)
247
247
  };
248
248
  },
249
249
  [n, r]
@@ -326,7 +326,7 @@ var qn = [
326
326
  "svg",
327
327
  "ul"
328
328
  ], dt = qn.reduce((t, a) => {
329
- const n = Ua(`Primitive.${a}`), r = A.forwardRef((s, d) => {
329
+ const n = Ra(`Primitive.${a}`), r = A.forwardRef((s, d) => {
330
330
  const { asChild: f, ...h } = s, g = f ? n : a;
331
331
  return typeof window < "u" && (window[Symbol.for("radix-ui")] = !0), /* @__PURE__ */ e(g, { ...h, ref: d });
332
332
  });
@@ -343,7 +343,7 @@ function Qn() {
343
343
  return () => {
344
344
  };
345
345
  }
346
- var ct = "Avatar", [Wn] = zn(ct), [Yn, Zt] = Wn(ct), er = A.forwardRef(
346
+ var ct = "Avatar", [Wn] = zn(ct), [Yn, Xt] = Wn(ct), Zt = A.forwardRef(
347
347
  (t, a) => {
348
348
  const { __scopeAvatar: n, ...r } = t, [s, d] = A.useState("idle");
349
349
  return /* @__PURE__ */ e(
@@ -357,11 +357,11 @@ var ct = "Avatar", [Wn] = zn(ct), [Yn, Zt] = Wn(ct), er = A.forwardRef(
357
357
  );
358
358
  }
359
359
  );
360
- er.displayName = ct;
361
- var tr = "AvatarImage", rr = A.forwardRef(
360
+ Zt.displayName = ct;
361
+ var er = "AvatarImage", tr = A.forwardRef(
362
362
  (t, a) => {
363
363
  const { __scopeAvatar: n, src: r, onLoadingStatusChange: s = () => {
364
- }, ...d } = t, f = Zt(tr, n), h = Jn(r, d), g = $a((v) => {
364
+ }, ...d } = t, f = Xt(er, n), h = Jn(r, d), g = Ua((v) => {
365
365
  s(v), f.onImageLoadingStatusChange(v);
366
366
  });
367
367
  return rt(() => {
@@ -369,10 +369,10 @@ var tr = "AvatarImage", rr = A.forwardRef(
369
369
  }, [h, g]), h === "loaded" ? /* @__PURE__ */ e(dt.img, { ...d, ref: a, src: r }) : null;
370
370
  }
371
371
  );
372
- rr.displayName = tr;
373
- var ar = "AvatarFallback", nr = A.forwardRef(
372
+ tr.displayName = er;
373
+ var rr = "AvatarFallback", ar = A.forwardRef(
374
374
  (t, a) => {
375
- const { __scopeAvatar: n, delayMs: r, ...s } = t, d = Zt(ar, n), [f, h] = A.useState(r === void 0);
375
+ const { __scopeAvatar: n, delayMs: r, ...s } = t, d = Xt(rr, n), [f, h] = A.useState(r === void 0);
376
376
  return A.useEffect(() => {
377
377
  if (r !== void 0) {
378
378
  const g = window.setTimeout(() => h(!0), r);
@@ -381,16 +381,16 @@ var ar = "AvatarFallback", nr = A.forwardRef(
381
381
  }, [r]), f && d.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ e(dt.span, { ...s, ref: a }) : null;
382
382
  }
383
383
  );
384
- nr.displayName = ar;
385
- function Rt(t, a) {
384
+ ar.displayName = rr;
385
+ function Ut(t, a) {
386
386
  return t ? a ? (t.src !== a && (t.src = a), t.complete && t.naturalWidth > 0 ? "loaded" : "loading") : "error" : "idle";
387
387
  }
388
388
  function Jn(t, { referrerPolicy: a, crossOrigin: n }) {
389
389
  const r = Kn(), s = A.useRef(null), d = r ? (s.current || (s.current = new window.Image()), s.current) : null, [f, h] = A.useState(
390
- () => Rt(d, t)
390
+ () => Ut(d, t)
391
391
  );
392
392
  return rt(() => {
393
- h(Rt(d, t));
393
+ h(Ut(d, t));
394
394
  }, [d, t]), rt(() => {
395
395
  const g = (c) => () => {
396
396
  h(c);
@@ -402,9 +402,9 @@ function Jn(t, { referrerPolicy: a, crossOrigin: n }) {
402
402
  };
403
403
  }, [d, n, a]), f;
404
404
  }
405
- var sr = er, or = rr, ir = nr;
406
- const dr = A.forwardRef(({ className: t, ...a }, n) => /* @__PURE__ */ e(
407
- sr,
405
+ var nr = Zt, sr = tr, or = ar;
406
+ const ir = A.forwardRef(({ className: t, ...a }, n) => /* @__PURE__ */ e(
407
+ nr,
408
408
  {
409
409
  ref: n,
410
410
  className: xe(
@@ -414,18 +414,18 @@ const dr = A.forwardRef(({ className: t, ...a }, n) => /* @__PURE__ */ e(
414
414
  ...a
415
415
  }
416
416
  ));
417
- dr.displayName = sr.displayName;
417
+ ir.displayName = nr.displayName;
418
418
  const Xn = A.forwardRef(({ className: t, ...a }, n) => /* @__PURE__ */ e(
419
- or,
419
+ sr,
420
420
  {
421
421
  ref: n,
422
422
  className: xe("aspect-square h-full w-full", t),
423
423
  ...a
424
424
  }
425
425
  ));
426
- Xn.displayName = or.displayName;
427
- const cr = A.forwardRef(({ className: t, ...a }, n) => /* @__PURE__ */ e(
428
- ir,
426
+ Xn.displayName = sr.displayName;
427
+ const dr = A.forwardRef(({ className: t, ...a }, n) => /* @__PURE__ */ e(
428
+ or,
429
429
  {
430
430
  ref: n,
431
431
  className: xe(
@@ -435,10 +435,10 @@ const cr = A.forwardRef(({ className: t, ...a }, n) => /* @__PURE__ */ e(
435
435
  ...a
436
436
  }
437
437
  ));
438
- cr.displayName = ir.displayName;
438
+ dr.displayName = or.displayName;
439
439
  const Zn = async (t, a, n) => {
440
440
  const r = `${t}/management/v1/groups`;
441
- return await Yt(r, a, n);
441
+ return await Wt(r, a, n);
442
442
  }, es = async (t, a, n, r) => {
443
443
  const s = `${t}/management/v1/groups/${n}`;
444
444
  return it(s, a, "PATCH", r);
@@ -447,7 +447,7 @@ const Zn = async (t, a, n) => {
447
447
  await it(r, a, "DELETE");
448
448
  }, rs = async (t, a, n, r) => {
449
449
  const s = `${t}/management/v1/groups/${n}/members`;
450
- return await Yt(s, a, r);
450
+ return await Wt(s, a, r);
451
451
  }, as = async (t, a, n, r) => {
452
452
  const s = `${t}/management/v1/groups/${n}/members`;
453
453
  await it(s, a, "DELETE", r);
@@ -546,11 +546,11 @@ function ls({
546
546
  isLoading: h,
547
547
  error: g,
548
548
  refetch: v
549
- } = Qr({
549
+ } = Kr({
550
550
  type: s ? "TENANT_GROUP" : "all",
551
551
  tenantId: s ? d : void 0,
552
552
  includeMembers: !1
553
- }), m = g ? lr(g, "Unable to load groups.") : null, [c, u] = N({ kind: "list" }), [l, p] = N(null), x = os();
553
+ }), m = g ? cr(g, "Unable to load groups.") : null, [c, u] = N({ kind: "list" }), [l, p] = N(null), x = os();
554
554
  ge(() => {
555
555
  t || (u({ kind: "list" }), p(null));
556
556
  }, [t]);
@@ -561,7 +561,7 @@ function ls({
561
561
  } catch {
562
562
  }
563
563
  };
564
- return /* @__PURE__ */ e(Ft, { open: t, onOpenChange: a, children: /* @__PURE__ */ o(Gt, { className: "flex max-h-[640px] w-[720px] max-w-[92vw] flex-col gap-0 overflow-hidden p-0", children: [
564
+ return /* @__PURE__ */ e(Gt, { open: t, onOpenChange: a, children: /* @__PURE__ */ o(Vt, { className: "flex max-h-[640px] w-[720px] max-w-[92vw] flex-col gap-0 overflow-hidden p-0", children: [
565
565
  c.kind === "list" ? /* @__PURE__ */ o("div", { className: "shrink-0 border-b border-border px-5 pt-4 pb-3.5", children: [
566
566
  /* @__PURE__ */ e(et, { className: "text-[15px] font-semibold tracking-tight", children: "Group management" }),
567
567
  /* @__PURE__ */ e(tt, { className: "mt-1 text-[12px] leading-[1.5] text-muted-foreground", children: "Organize people into groups for shared access." })
@@ -573,7 +573,7 @@ function ls({
573
573
  onClick: () => u({ kind: "list" }),
574
574
  "aria-label": "Back",
575
575
  className: "-ml-1 flex h-6 w-6 items-center justify-center rounded-[3px] text-muted-foreground hover:bg-accent hover:text-foreground",
576
- children: /* @__PURE__ */ e(Vt, { className: "h-3.5 w-3.5" })
576
+ children: /* @__PURE__ */ e(jt, { className: "h-3.5 w-3.5" })
577
577
  }
578
578
  ),
579
579
  /* @__PURE__ */ e(et, { className: "truncate text-[13px] font-medium", children: "New group" }),
@@ -712,7 +712,7 @@ function us({
712
712
  },
713
713
  c
714
714
  )) }) : n ? /* @__PURE__ */ e(
715
- ur,
715
+ lr,
716
716
  {
717
717
  title: "Can't load groups",
718
718
  message: n,
@@ -748,7 +748,7 @@ function ms({
748
748
  }) {
749
749
  let s = "";
750
750
  try {
751
- s = Jt(new Date(t.createdAt), "MMM d, yyyy");
751
+ s = Yt(new Date(t.createdAt), "MMM d, yyyy");
752
752
  } catch {
753
753
  s = "";
754
754
  }
@@ -759,12 +759,12 @@ function ms({
759
759
  onClick: n,
760
760
  className: "group flex w-full items-center gap-3 border-b border-border/60 px-5 py-2.5 text-left hover:bg-accent/40",
761
761
  children: [
762
- /* @__PURE__ */ e("div", { className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-[4px] border border-border bg-background text-muted-foreground", children: /* @__PURE__ */ e(Jr, { className: "h-3.5 w-3.5" }) }),
762
+ /* @__PURE__ */ e("div", { className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-[4px] border border-border bg-background text-muted-foreground", children: /* @__PURE__ */ e(Yr, { className: "h-3.5 w-3.5" }) }),
763
763
  /* @__PURE__ */ o("div", { className: "min-w-0 flex-1", children: [
764
764
  /* @__PURE__ */ e("div", { className: "truncate text-[13px] font-medium text-foreground", children: t.name }),
765
765
  /* @__PURE__ */ o("div", { className: "mt-0.5 flex items-center gap-2 text-[11px] text-muted-foreground", children: [
766
766
  /* @__PURE__ */ o("span", { className: "inline-flex items-center gap-1", children: [
767
- /* @__PURE__ */ e(Xt, { className: "h-2.5 w-2.5" }),
767
+ /* @__PURE__ */ e(Jt, { className: "h-2.5 w-2.5" }),
768
768
  t.memberCount,
769
769
  " member",
770
770
  t.memberCount === 1 ? "" : "s"
@@ -772,7 +772,7 @@ function ms({
772
772
  s && /* @__PURE__ */ o($, { children: [
773
773
  /* @__PURE__ */ e("span", { className: "text-border", children: "·" }),
774
774
  /* @__PURE__ */ o("span", { className: "inline-flex items-center gap-1", children: [
775
- /* @__PURE__ */ e(zt, { className: "h-2.5 w-2.5" }),
775
+ /* @__PURE__ */ e(Ht, { className: "h-2.5 w-2.5" }),
776
776
  s
777
777
  ] })
778
778
  ] }),
@@ -807,7 +807,7 @@ function ms({
807
807
  }
808
808
  function hs({ onCreate: t }) {
809
809
  return /* @__PURE__ */ o("div", { className: "flex h-full flex-col items-center justify-center gap-2 py-12 text-center", children: [
810
- /* @__PURE__ */ e("div", { className: "flex h-9 w-9 items-center justify-center rounded-full border border-border bg-muted/40 text-muted-foreground", children: /* @__PURE__ */ e(jt, { className: "h-4 w-4" }) }),
810
+ /* @__PURE__ */ e("div", { className: "flex h-9 w-9 items-center justify-center rounded-full border border-border bg-muted/40 text-muted-foreground", children: /* @__PURE__ */ e(zt, { className: "h-4 w-4" }) }),
811
811
  /* @__PURE__ */ e("div", { className: "text-[13px] font-medium text-foreground", children: "No groups yet" }),
812
812
  /* @__PURE__ */ e("div", { className: "max-w-[320px] text-[11.5px] leading-[1.55] text-muted-foreground", children: "Groups let you grant shared access to dashboards. Create one and add members." }),
813
813
  /* @__PURE__ */ o(
@@ -840,7 +840,7 @@ function ps({
840
840
  isLoading: m,
841
841
  error: c,
842
842
  refetch: u
843
- } = Wr(t.id), l = (v == null ? void 0 : v.members) ?? cs, p = c ? lr(c, "Unable to load members for this group.") : null, x = t.type === "TENANT_GROUP" ? "tenant" : "organization", { users: w } = Yr({
843
+ } = Qr(t.id), l = (v == null ? void 0 : v.members) ?? cs, p = c ? cr(c, "Unable to load members for this group.") : null, x = t.type === "TENANT_GROUP" ? "tenant" : "organization", { users: w } = Wr({
844
844
  type: x,
845
845
  tenantId: t.tenantId || void 0,
846
846
  active: !0,
@@ -899,7 +899,7 @@ function ps({
899
899
  };
900
900
  let ee = "";
901
901
  try {
902
- ee = Jt(new Date(t.createdAt), "MMM d, yyyy");
902
+ ee = Yt(new Date(t.createdAt), "MMM d, yyyy");
903
903
  } catch {
904
904
  ee = "";
905
905
  }
@@ -912,7 +912,7 @@ function ps({
912
912
  onClick: d,
913
913
  "aria-label": "Back",
914
914
  className: "-ml-1 flex h-6 w-6 items-center justify-center rounded-[3px] text-muted-foreground hover:bg-accent hover:text-foreground",
915
- children: /* @__PURE__ */ e(Vt, { className: "h-3.5 w-3.5" })
915
+ children: /* @__PURE__ */ e(jt, { className: "h-3.5 w-3.5" })
916
916
  }
917
917
  ),
918
918
  k ? /* @__PURE__ */ e(
@@ -941,7 +941,7 @@ function ps({
941
941
  }
942
942
  ),
943
943
  /* @__PURE__ */ o("span", { className: "ml-1 inline-flex shrink-0 items-center gap-1 text-[10.5px] text-muted-foreground", children: [
944
- /* @__PURE__ */ e(Xt, { className: "h-2.5 w-2.5" }),
944
+ /* @__PURE__ */ e(Jt, { className: "h-2.5 w-2.5" }),
945
945
  l.length,
946
946
  " member",
947
947
  l.length === 1 ? "" : "s"
@@ -1030,7 +1030,7 @@ function ps({
1030
1030
  },
1031
1031
  y
1032
1032
  )) }) : p ? /* @__PURE__ */ e(
1033
- ur,
1033
+ lr,
1034
1034
  {
1035
1035
  title: "Can't load members",
1036
1036
  message: p,
@@ -1046,7 +1046,7 @@ function ps({
1046
1046
  {
1047
1047
  className: "group flex items-center gap-2 border-b border-border/60 px-5 py-2",
1048
1048
  children: [
1049
- /* @__PURE__ */ e(mr, { name: ((B = y.user) == null ? void 0 : B.name) || ((H = y.user) == null ? void 0 : H.email) || "?" }),
1049
+ /* @__PURE__ */ e(ur, { name: ((B = y.user) == null ? void 0 : B.name) || ((H = y.user) == null ? void 0 : H.email) || "?" }),
1050
1050
  /* @__PURE__ */ o("div", { className: "min-w-0 flex-1", children: [
1051
1051
  /* @__PURE__ */ e("div", { className: "truncate text-[12.5px] font-medium text-foreground", children: ((q = y.user) == null ? void 0 : q.name) || ((K = y.user) == null ? void 0 : K.email) || "Unknown" }),
1052
1052
  ((de = y.user) == null ? void 0 : de.email) && y.user.name && /* @__PURE__ */ e("div", { className: "truncate text-[10.5px] text-muted-foreground", children: y.user.email })
@@ -1106,7 +1106,7 @@ function fs({
1106
1106
  };
1107
1107
  return /* @__PURE__ */ o("div", { className: "flex flex-1 flex-col overflow-hidden", children: [
1108
1108
  /* @__PURE__ */ o("div", { className: "flex-1 overflow-y-auto px-5 py-4", children: [
1109
- /* @__PURE__ */ e(Ut, { children: "Name" }),
1109
+ /* @__PURE__ */ e($t, { children: "Name" }),
1110
1110
  /* @__PURE__ */ e(
1111
1111
  "input",
1112
1112
  {
@@ -1120,7 +1120,7 @@ function fs({
1120
1120
  ),
1121
1121
  /* @__PURE__ */ e("div", { className: "mt-1 text-[10.5px] text-muted-foreground", children: "3–50 characters." }),
1122
1122
  /* @__PURE__ */ o("div", { className: "mt-4", children: [
1123
- /* @__PURE__ */ e(Ut, { children: "Description (optional)" }),
1123
+ /* @__PURE__ */ e($t, { children: "Description (optional)" }),
1124
1124
  /* @__PURE__ */ e(
1125
1125
  "textarea",
1126
1126
  {
@@ -1179,8 +1179,8 @@ function bs({
1179
1179
  onAdd: f,
1180
1180
  busy: h
1181
1181
  }) {
1182
- const g = Ot(null), v = Ot(null), [m, c] = N(null);
1183
- en(() => {
1182
+ const g = Lt(null), v = Lt(null), [m, c] = N(null);
1183
+ Za(() => {
1184
1184
  if (!n) {
1185
1185
  c(null);
1186
1186
  return;
@@ -1253,7 +1253,7 @@ function bs({
1253
1253
  onClick: () => f(l),
1254
1254
  className: "flex w-full items-center gap-2 border-b border-border/60 px-2.5 py-2 text-left last:border-b-0 hover:bg-accent",
1255
1255
  children: [
1256
- /* @__PURE__ */ e(mr, { name: l.name || l.email || "?" }),
1256
+ /* @__PURE__ */ e(ur, { name: l.name || l.email || "?" }),
1257
1257
  /* @__PURE__ */ o("div", { className: "min-w-0 flex-1", children: [
1258
1258
  /* @__PURE__ */ e("div", { className: "truncate text-[12px] font-medium text-foreground", children: l.name || l.email || "Unknown" }),
1259
1259
  l.email && l.name && /* @__PURE__ */ e("div", { className: "truncate text-[10.5px] text-muted-foreground", children: l.email })
@@ -1269,7 +1269,7 @@ function bs({
1269
1269
  )
1270
1270
  ] });
1271
1271
  }
1272
- function lr(t, a) {
1272
+ function cr(t, a) {
1273
1273
  if (!t) return a;
1274
1274
  if (t instanceof Error) {
1275
1275
  const n = t.message || "", r = n.match(/\{[\s\S]*"error"\s*:\s*"([^"]+)"[\s\S]*\}/);
@@ -1277,7 +1277,7 @@ function lr(t, a) {
1277
1277
  }
1278
1278
  return typeof t == "string" ? t : a;
1279
1279
  }
1280
- function ur({
1280
+ function lr({
1281
1281
  title: t,
1282
1282
  message: a,
1283
1283
  onRetry: n
@@ -1296,12 +1296,12 @@ function ur({
1296
1296
  )
1297
1297
  ] });
1298
1298
  }
1299
- function Ut({ children: t }) {
1299
+ function $t({ children: t }) {
1300
1300
  return /* @__PURE__ */ e("label", { className: "text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground", children: t });
1301
1301
  }
1302
- function mr({ name: t }) {
1302
+ function ur({ name: t }) {
1303
1303
  const a = t.split(" ").map((n) => n[0]).filter(Boolean).slice(0, 2).join("").toUpperCase();
1304
- return /* @__PURE__ */ e(dr, { className: "h-6 w-6 shrink-0", children: /* @__PURE__ */ e(cr, { className: "text-[9px] font-semibold", children: a || "?" }) });
1304
+ return /* @__PURE__ */ e(ir, { className: "h-6 w-6 shrink-0", children: /* @__PURE__ */ e(dr, { className: "text-[9px] font-semibold", children: a || "?" }) });
1305
1305
  }
1306
1306
  const gs = "text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground";
1307
1307
  function xs({
@@ -1318,21 +1318,21 @@ function xs({
1318
1318
  ), { setDashboardExportDefaults: r } = C(
1319
1319
  (s) => s.actions
1320
1320
  );
1321
- return /* @__PURE__ */ e(Ft, { open: t, onOpenChange: a, children: /* @__PURE__ */ o(Gt, { className: "rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control", children: [
1322
- /* @__PURE__ */ o(Xr, { children: [
1321
+ return /* @__PURE__ */ e(Gt, { open: t, onOpenChange: a, children: /* @__PURE__ */ o(Vt, { className: "rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control", children: [
1322
+ /* @__PURE__ */ o(Jr, { children: [
1323
1323
  /* @__PURE__ */ e(et, { className: "text-[15px]", children: "Download settings" }),
1324
1324
  /* @__PURE__ */ e(tt, { className: "text-[13px] leading-5", children: "Applies to every CSV downloaded or delivered from this dashboard. People can still change it for a single download." })
1325
1325
  ] }),
1326
1326
  /* @__PURE__ */ o("div", { className: "space-y-2", children: [
1327
- /* @__PURE__ */ e(Ba, { htmlFor: "dashboard-csv-encoding", className: gs, children: "CSV encoding" }),
1327
+ /* @__PURE__ */ e($a, { htmlFor: "dashboard-csv-encoding", className: gs, children: "CSV encoding" }),
1328
1328
  /* @__PURE__ */ o(
1329
- Fa,
1329
+ Ba,
1330
1330
  {
1331
1331
  value: n,
1332
1332
  onValueChange: (s) => r({ csvEncoding: s }),
1333
1333
  children: [
1334
- /* @__PURE__ */ e(Ga, { id: "dashboard-csv-encoding", size: "sm", children: /* @__PURE__ */ e(Va, {}) }),
1335
- /* @__PURE__ */ e(ja, { children: Zr.map((s) => /* @__PURE__ */ e(za, { value: s.value, children: s.label }, s.value)) })
1334
+ /* @__PURE__ */ e(Fa, { id: "dashboard-csv-encoding", size: "sm", children: /* @__PURE__ */ e(Ga, {}) }),
1335
+ /* @__PURE__ */ e(Va, { children: Xr.map((s) => /* @__PURE__ */ e(ja, { value: s.value, children: s.label }, s.value)) })
1336
1336
  ]
1337
1337
  }
1338
1338
  )
@@ -1445,7 +1445,7 @@ function ys({
1445
1445
  onSelect: a
1446
1446
  }) {
1447
1447
  return t ? /* @__PURE__ */ o(P, { onSelect: a, children: [
1448
- /* @__PURE__ */ e(ea, { className: "h-3.5 w-3.5" }),
1448
+ /* @__PURE__ */ e(Zr, { className: "h-3.5 w-3.5" }),
1449
1449
  "Schedule email report"
1450
1450
  ] }) : null;
1451
1451
  }
@@ -1473,7 +1473,7 @@ function Ns(t) {
1473
1473
  var v, m, c;
1474
1474
  const { saved: a, draft: n, usage: r } = t, s = [], d = On(a);
1475
1475
  for (const [u, l] of Object.entries(r.inputs))
1476
- !l || !_t(a, u) || _t(n, u) || s.push({
1476
+ !l || !Pt(a, u) || Pt(n, u) || s.push({
1477
1477
  target: "input",
1478
1478
  id: u,
1479
1479
  label: Ln(a, d, u),
@@ -1491,7 +1491,7 @@ function Ns(t) {
1491
1491
  remembered: 0
1492
1492
  });
1493
1493
  }
1494
- const h = Mt(a), g = Mt(n);
1494
+ const h = _t(a), g = _t(n);
1495
1495
  for (const [u, l] of Object.entries(r.tables)) {
1496
1496
  if (!h.has(u)) continue;
1497
1497
  const p = Ue(a, u), x = ((m = p == null ? void 0 : p.title) == null ? void 0 : m.trim()) || "Untitled table";
@@ -1505,7 +1505,7 @@ function Ns(t) {
1505
1505
  });
1506
1506
  continue;
1507
1507
  }
1508
- const w = p ? Lt(p) : void 0, S = Ue(n, u), b = S ? Lt(S) : void 0;
1508
+ const w = p ? Mt(p) : void 0, S = Ue(n, u), b = S ? Mt(S) : void 0;
1509
1509
  if (!(!p || !w || !b))
1510
1510
  for (const [L, M] of Object.entries(l.columns)) {
1511
1511
  if (!(M.bookmarks || M.remembered) || Cn(L) || !w.has(L) || b.has(L))
@@ -1526,7 +1526,7 @@ function Ns(t) {
1526
1526
  const Ss = "dashboard-bookmark-usage";
1527
1527
  function ks(t) {
1528
1528
  var g;
1529
- const a = C((v) => v.viewerStateClient), n = (g = t.saved) == null ? void 0 : g.id, s = ta({
1529
+ const a = C((v) => v.viewerStateClient), n = (g = t.saved) == null ? void 0 : g.id, s = ea({
1530
1530
  // Keyed by the viewer, never by the client object (TanStack drops functions when hashing).
1531
1531
  queryKey: [Ss, (a == null ? void 0 : a.viewerKey) ?? null],
1532
1532
  queryFn: () => a.bookmarks.usage(),
@@ -1536,13 +1536,13 @@ function ks(t) {
1536
1536
  }).data, { saved: d, draft: f, enabled: h } = t;
1537
1537
  return V(() => !h || !d || !s ? [] : !s.bookmarks && !Object.keys(s.tables).length ? [] : Ns({ saved: d, draft: f, usage: s }), [f, h, d, s]);
1538
1538
  }
1539
- function $t(t, a, n) {
1539
+ function Bt(t, a, n) {
1540
1540
  return `${t} ${t === 1 ? a : n}`;
1541
1541
  }
1542
1542
  function Cs(t) {
1543
1543
  const a = [
1544
- t.bookmarks ? $t(t.bookmarks, "bookmark", "bookmarks") : null,
1545
- t.remembered ? $t(t.remembered, "remembered layout", "remembered layouts") : null
1544
+ t.bookmarks ? Bt(t.bookmarks, "bookmark", "bookmarks") : null,
1545
+ t.remembered ? Bt(t.remembered, "remembered layout", "remembered layouts") : null
1546
1546
  ].filter(Boolean).join(", ");
1547
1547
  return t.target === "sheet" ? { name: `${t.label} sheet`, uses: a } : t.target === "table" ? { name: `${t.label} table`, uses: a } : { name: t.label, uses: a };
1548
1548
  }
@@ -1552,20 +1552,20 @@ function Ds({
1552
1552
  enabled: n
1553
1553
  }) {
1554
1554
  const r = ks({ saved: t, draft: a, enabled: n });
1555
- return r.length ? /* @__PURE__ */ o(Ha, { children: [
1556
- /* @__PURE__ */ e(qa, { asChild: !0, children: /* @__PURE__ */ o(
1555
+ return r.length ? /* @__PURE__ */ o(za, { children: [
1556
+ /* @__PURE__ */ e(Ha, { asChild: !0, children: /* @__PURE__ */ o(
1557
1557
  G,
1558
1558
  {
1559
1559
  variant: "ghost",
1560
1560
  size: "xs",
1561
1561
  className: "gap-1 text-muted-foreground hover:text-foreground",
1562
1562
  children: [
1563
- /* @__PURE__ */ e(ra, { className: "h-3.5 w-3.5", "aria-hidden": "true" }),
1563
+ /* @__PURE__ */ e(ta, { className: "h-3.5 w-3.5", "aria-hidden": "true" }),
1564
1564
  "Affects saved views"
1565
1565
  ]
1566
1566
  }
1567
1567
  ) }),
1568
- /* @__PURE__ */ o(Ka, { align: "end", className: "w-[320px] p-3 text-[12px]", children: [
1568
+ /* @__PURE__ */ o(qa, { align: "end", className: "w-[320px] p-3 text-[12px]", children: [
1569
1569
  /* @__PURE__ */ e("p", { className: "text-foreground", children: "This edit removes parts of the dashboard that viewers saved. Their views still open, with a note about what no longer applies." }),
1570
1570
  /* @__PURE__ */ e(
1571
1571
  "ul",
@@ -1591,39 +1591,39 @@ function Ds({
1591
1591
  ] })
1592
1592
  ] }) : null;
1593
1593
  }
1594
- function Bt(t, a) {
1594
+ function Ft(t, a) {
1595
1595
  return {
1596
1596
  dashboard: at(t),
1597
1597
  semanticExecutionPayload: at(a)
1598
1598
  };
1599
1599
  }
1600
- function ao() {
1600
+ function ro() {
1601
1601
  var wt, Nt, St, kt;
1602
1602
  const {
1603
1603
  authToken: t,
1604
1604
  tokenProps: a,
1605
1605
  id: n,
1606
1606
  showBriefings: r
1607
- } = J(), s = aa(), { isLocalDev: d, isConsoleMode: f } = na(), {
1607
+ } = J(), s = ra(), { isLocalDev: d, isConsoleMode: f } = aa(), {
1608
1608
  canEditDashboard: h,
1609
1609
  hasInspectionUser: g,
1610
1610
  inspectionMessage: v,
1611
1611
  isInspectionMode: m,
1612
1612
  isInspectionSurface: c
1613
- } = sa(), { openBrandStudioPreview: u } = oa(), { permissions: l } = jn(), p = ia(), { isLoading: x } = da(), w = C((i) => i.theme), S = C((i) => i.isDownloadingPdf), b = C((i) => i.dashboard), L = C((i) => i.selectedSheetId), M = (wt = b == null ? void 0 : b.sheets) == null ? void 0 : wt.find(
1613
+ } = na(), { openBrandStudioPreview: u } = sa(), { permissions: l } = jn(), p = oa(), { isLoading: x } = ia(), w = C((i) => i.theme), S = C((i) => i.isDownloadingPdf), b = C((i) => i.dashboard), L = C((i) => i.selectedSheetId), M = (wt = b == null ? void 0 : b.sheets) == null ? void 0 : wt.find(
1614
1614
  (i) => i.id === L
1615
1615
  ), k = Nn(M), E = k ? (Nt = M == null ? void 0 : M.document) == null ? void 0 : Nt.page : void 0, I = C(
1616
1616
  (i) => i.isDashboardEditing
1617
- ), { setDashboardTitle: X } = C((i) => i.actions), [$e, j] = N(!1), [ae, z] = N(!1), [ne, se] = N(!1), [Be, oe] = N(!1), [Se, Z] = N(null), [ie, ke] = N(null), { registerBriefingViewer: Ce } = ca();
1617
+ ), { setDashboardTitle: X } = C((i) => i.actions), [$e, j] = N(!1), [ae, z] = N(!1), [ne, se] = N(!1), [Be, oe] = N(!1), [Se, Z] = N(null), [ie, ke] = N(null), { registerBriefingViewer: Ce } = da();
1618
1618
  ge(
1619
1619
  () => Ce((i) => ke(i)),
1620
1620
  [Ce]
1621
1621
  );
1622
- const [ee, y] = N(!1), [B, H] = N(!1), [q, K] = N(null), [de, Q] = N([]), [lt, De] = N(!1), [hr, ut] = N(!1), U = C((i) => i.isVisualEditing);
1622
+ const [ee, y] = N(!1), [B, H] = N(!1), [q, K] = N(null), [de, Q] = N([]), [lt, De] = N(!1), [mr, ut] = N(!1), U = C((i) => i.isVisualEditing);
1623
1623
  Ct((i) => i.card);
1624
- const pr = _e(
1624
+ const hr = _e(
1625
1625
  (i) => i.selectedDashboard
1626
- ), fr = _e(
1626
+ ), pr = _e(
1627
1627
  (i) => i.initialDashboard
1628
1628
  );
1629
1629
  _e((i) => i.selectedVisual), C((i) => i.selectedFrameId), Ct((i) => i.frame);
@@ -1631,19 +1631,19 @@ function ao() {
1631
1631
  (i) => i.showDashboardJSON
1632
1632
  );
1633
1633
  C((i) => i.onSaveFunction);
1634
- const { setIsDashboardEditing: ht, setShowDashboardJSON: pt, markDashboardSaved: br } = C(
1634
+ const { setIsDashboardEditing: ht, setShowDashboardJSON: pt, markDashboardSaved: fr } = C(
1635
1635
  (i) => i.actions
1636
1636
  ), { setInitialDashboard: ft, clearSelectedDashboard: Fe } = _e(
1637
1637
  (i) => i.actions
1638
- ), ce = !!a.orgUserId || !!(a.tenantId && a.endUserId && a.endUserEmail), { resources: Ee } = la(Je.DASHBOARD), O = xn(), { currentUser: gr } = st(), xr = ua(gr), F = pr || fr, W = ma({
1638
+ ), ce = !!a.orgUserId || !!(a.tenantId && a.endUserId && a.endUserEmail), { resources: Ee } = ca(Je.DASHBOARD), O = gn(), { currentUser: br } = st(), gr = la(br), F = hr || pr, W = ua({
1639
1639
  config: a.config,
1640
1640
  canNavigateDashboardHub: ce,
1641
1641
  canShareDashboard: ((St = F == null ? void 0 : F.permissions) == null ? void 0 : St.canShare) === !0,
1642
- canManageGroups: xr
1642
+ canManageGroups: gr
1643
1643
  }), bt = F ? {
1644
1644
  id: F.id,
1645
1645
  title: (b == null ? void 0 : b.title) || F.title || "Dashboard"
1646
- } : null, { handleAddNewFrame: vr } = ha(), [Ge, Ve] = N(!1), [yr, le] = N(!1), [je, Ie] = N("close"), ue = pa(Je.DASHBOARD), [_, me] = N(null), wr = async (i, R) => {
1646
+ } : null, { handleAddNewFrame: xr } = ma(), [Ge, Ve] = N(!1), [vr, le] = N(!1), [je, Ie] = N("close"), ue = ha(Je.DASHBOARD), [_, me] = N(null), yr = async (i, R) => {
1647
1647
  if (!m) {
1648
1648
  if (!(b != null && b.id)) {
1649
1649
  console.log("No dashboard ID found");
@@ -1687,8 +1687,8 @@ function ao() {
1687
1687
  }
1688
1688
  }
1689
1689
  }, [Ee, b == null ? void 0 : b.id, ft]);
1690
- const Nr = a.orgUserId || a.tenantId, ze = V(
1691
- () => As({
1690
+ const wr = a.orgUserId || a.tenantId, ze = V(
1691
+ () => Is({
1692
1692
  accessToken: t == null ? void 0 : t.accessToken,
1693
1693
  dashboardId: (b == null ? void 0 : b.id) || n || a.dashboard_id,
1694
1694
  selectedSheetId: k ? L : void 0,
@@ -1707,9 +1707,9 @@ function ao() {
1707
1707
  w,
1708
1708
  a.dashboard_id
1709
1709
  ]
1710
- ), He = I && !U && !m && Nr && h, { setDashboard: qe } = C((i) => i.actions), Sr = C(
1710
+ ), He = I && !U && !m && wr && h, { setDashboard: qe } = C((i) => i.actions), Nr = C(
1711
1711
  (i) => i.semanticExecutionPayload
1712
- ), kr = () => {
1712
+ ), Sr = () => {
1713
1713
  ht(!0);
1714
1714
  }, Ae = () => {
1715
1715
  ht(!1), pt(!1), me(null);
@@ -1721,28 +1721,28 @@ function ao() {
1721
1721
  }
1722
1722
  if (_ || !b || x)
1723
1723
  return;
1724
- const i = fa(C.getState());
1724
+ const i = pa(C.getState());
1725
1725
  me(
1726
- Bt(i.dashboard, i.semanticExecutionPayload)
1726
+ Ft(i.dashboard, i.semanticExecutionPayload)
1727
1727
  );
1728
1728
  }, [
1729
1729
  b,
1730
1730
  _,
1731
1731
  I,
1732
1732
  x,
1733
- Sr
1733
+ Nr
1734
1734
  ]);
1735
- const Ke = (_ == null ? void 0 : _.dashboard) ?? null, { isDirty: Qe, isDirtyPending: Cr, resetDirty: he } = In(
1735
+ const Ke = (_ == null ? void 0 : _.dashboard) ?? null, { isDirty: Qe, isDirtyPending: kr, resetDirty: he } = In(
1736
1736
  b,
1737
1737
  Ke,
1738
1738
  300,
1739
1739
  1e3,
1740
1740
  An
1741
- ), gt = tn(
1741
+ ), gt = en(
1742
1742
  Ke,
1743
1743
  m,
1744
1744
  h
1745
- ), xt = Qe || Cr, Oe = Ge || ue.isPending, Dr = () => {
1745
+ ), xt = Qe || kr, Oe = Ge || ue.isPending, Cr = () => {
1746
1746
  if (m) {
1747
1747
  _ && qe(_.dashboard, {
1748
1748
  semanticExecutionPayload: _.semanticExecutionPayload
@@ -1750,21 +1750,21 @@ function ao() {
1750
1750
  return;
1751
1751
  }
1752
1752
  gt() ? (Ie("close"), le(!0)) : (Ae(), he());
1753
- }, Er = async () => {
1753
+ }, Dr = async () => {
1754
1754
  await We({
1755
1755
  closeAfterSave: !0,
1756
1756
  navigateHomeAfterSave: je === "home"
1757
1757
  });
1758
- }, Ir = () => {
1758
+ }, Er = () => {
1759
1759
  const i = je === "home" && !!ce;
1760
1760
  _ && qe(_.dashboard, {
1761
1761
  semanticExecutionPayload: _.semanticExecutionPayload
1762
1762
  }), Ae(), i && Fe(), Ie("close"), le(!1), he();
1763
- }, Ar = () => {
1763
+ }, Ir = () => {
1764
1764
  _ && (qe(_.dashboard, {
1765
1765
  semanticExecutionPayload: _.semanticExecutionPayload
1766
1766
  }), he());
1767
- }, Or = () => {
1767
+ }, Ar = () => {
1768
1768
  if (ce) {
1769
1769
  if (I && gt()) {
1770
1770
  Ie("home"), le(!0);
@@ -1781,35 +1781,35 @@ function ao() {
1781
1781
  return;
1782
1782
  const T = (i == null ? void 0 : i.closeAfterSave) ?? lt, te = (i == null ? void 0 : i.navigateHomeAfterSave) ?? !1;
1783
1783
  De(T), T && le(!1);
1784
- const Pr = at(R);
1784
+ const _r = at(R);
1785
1785
  H(!0), K(null), Q([]), Ve(!0);
1786
- const Tr = {
1786
+ const Pr = {
1787
1787
  template: R
1788
1788
  };
1789
1789
  ue.mutate(
1790
1790
  {
1791
1791
  resourceId: R.id,
1792
- data: Tr
1792
+ data: Pr
1793
1793
  },
1794
1794
  {
1795
1795
  onSuccess: () => {
1796
- Ve(!1), br(), D.success("Dashboard saved!"), me(
1797
- Bt(
1798
- Pr,
1796
+ Ve(!1), fr(), D.success("Dashboard saved!"), me(
1797
+ Ft(
1798
+ _r,
1799
1799
  C.getState().semanticExecutionPayload
1800
1800
  )
1801
1801
  ), H(!1), De(!1), T && (Ae(), he(), te && ce && Fe()), Ie("close");
1802
1802
  },
1803
- onError: (Rr) => {
1803
+ onError: (Tr) => {
1804
1804
  Ve(!1), K("Failed to save dashboard. Please try again.");
1805
- const Me = Rr.details, Ur = Array.isArray(
1805
+ const Me = Tr.details, Rr = Array.isArray(
1806
1806
  Me == null ? void 0 : Me.errors
1807
1807
  ) ? (Me.errors || []).filter(
1808
- ($r) => typeof $r == "string"
1808
+ (Ur) => typeof Ur == "string"
1809
1809
  ) : [];
1810
1810
  Q(
1811
1811
  vs({
1812
- errors: Ur,
1812
+ errors: Rr,
1813
1813
  dashboard: R || void 0
1814
1814
  })
1815
1815
  ), D.error("Failed to save dashboard");
@@ -1823,14 +1823,14 @@ function ao() {
1823
1823
  dashboardStateTitle: b.title,
1824
1824
  dashboardId: b == null ? void 0 : b.id
1825
1825
  });
1826
- const Lr = ce && !!(t != null && t.accessToken) && !!(a != null && a.apiServiceUrl), Mr = !m && W.showDashboardHub && Lr, _r = !m && p && W.showDashboardHub, Y = (b == null ? void 0 : b.id) || null, yt = ba(
1826
+ const Or = ce && !!(t != null && t.accessToken) && !!(a != null && a.apiServiceUrl), Lr = !m && W.showDashboardHub && Or, Mr = !m && p && W.showDashboardHub, Y = (b == null ? void 0 : b.id) || null, yt = fa(
1827
1827
  (kt = a.config) == null ? void 0 : kt.showBriefings,
1828
1828
  r
1829
- ), Le = rn(Y);
1829
+ ), Le = tn(Y);
1830
1830
  if (!p && !U)
1831
1831
  return null;
1832
1832
  const Ye = !U && p && !m;
1833
- return /* @__PURE__ */ e(an, { width: O.width, hasOverflowMenu: Ye, children: /* @__PURE__ */ o(
1833
+ return /* @__PURE__ */ e(rn, { width: O.width, hasOverflowMenu: Ye, children: /* @__PURE__ */ o(
1834
1834
  "div",
1835
1835
  {
1836
1836
  ref: O.measure,
@@ -1838,15 +1838,15 @@ function ao() {
1838
1838
  role: "dashboard-controls",
1839
1839
  children: [
1840
1840
  /* @__PURE__ */ o("div", { className: "flex min-w-[80px] flex-1 items-center gap-2", children: [
1841
- _r && !U && /* @__PURE__ */ e(
1842
- gn,
1841
+ Mr && !U && /* @__PURE__ */ e(
1842
+ bn,
1843
1843
  {
1844
1844
  "aria-label": "Dashboard Hub",
1845
1845
  tooltip: "Dashboard Hub",
1846
- onClick: Or,
1846
+ onClick: Ar,
1847
1847
  className: "h-7 w-7 px-0",
1848
1848
  buttonProps: { size: "xs" },
1849
- children: /* @__PURE__ */ e(ga, { className: "h-3.5 w-3.5" })
1849
+ children: /* @__PURE__ */ e(ba, { className: "h-3.5 w-3.5" })
1850
1850
  }
1851
1851
  ),
1852
1852
  !U && p && (x ? /* @__PURE__ */ e(
@@ -1859,7 +1859,7 @@ function ao() {
1859
1859
  }
1860
1860
  ) : /* @__PURE__ */ o("div", { className: "flex min-w-0 items-center gap-1", children: [
1861
1861
  /* @__PURE__ */ e(
1862
- xa,
1862
+ ga,
1863
1863
  {
1864
1864
  value: vt || "Untitled Dashboard",
1865
1865
  onSave: (i) => {
@@ -1869,9 +1869,9 @@ function ao() {
1869
1869
  dashboardId: b == null ? void 0 : b.id
1870
1870
  });
1871
1871
  const R = (b == null ? void 0 : b.title) || "";
1872
- X(i), wr(i, R);
1872
+ X(i), yr(i, R);
1873
1873
  },
1874
- isEditable: va({
1874
+ isEditable: xa({
1875
1875
  isDashboardEditing: I,
1876
1876
  canEditDashboard: h === !0 && !m
1877
1877
  }),
@@ -1881,17 +1881,17 @@ function ao() {
1881
1881
  isPending: ue.isPending
1882
1882
  }
1883
1883
  ),
1884
- !m && Y && /* @__PURE__ */ e(nn, { dashboardId: Y })
1884
+ !m && Y && /* @__PURE__ */ e(an, { dashboardId: Y })
1885
1885
  ] }))
1886
1886
  ] }),
1887
1887
  /* @__PURE__ */ o("div", { className: "flex min-w-0 items-center gap-1.5", children: [
1888
1888
  /* @__PURE__ */ o("div", { className: "-m-1 flex min-w-0 items-center gap-1.5 overflow-x-auto p-1 [scrollbar-width:thin] [&>*]:shrink-0", children: [
1889
1889
  U && /* @__PURE__ */ o($, { children: [
1890
- /* @__PURE__ */ e(sn, {}),
1891
- /* @__PURE__ */ e(on, {})
1890
+ /* @__PURE__ */ e(nn, {}),
1891
+ /* @__PURE__ */ e(sn, {})
1892
1892
  ] }),
1893
- p && !m && /* @__PURE__ */ e(vn, {}),
1894
- !U && I && !m && l.canUseFilters && p && /* @__PURE__ */ e(dn, {}),
1893
+ p && !m && /* @__PURE__ */ e(xn, {}),
1894
+ !U && I && !m && l.canUseFilters && p && /* @__PURE__ */ e(on, {}),
1895
1895
  I && !U && !m && p && !k && /* @__PURE__ */ o("div", { className: "inline-flex h-7 items-stretch overflow-hidden rounded-control border border-input bg-background", children: [
1896
1896
  /* @__PURE__ */ o(
1897
1897
  G,
@@ -1899,7 +1899,7 @@ function ao() {
1899
1899
  variant: "ghost",
1900
1900
  size: "xs",
1901
1901
  disabled: !I,
1902
- onClick: () => void vr(),
1902
+ onClick: () => void xr(),
1903
1903
  "aria-label": O.width === "sm" ? "Add visual" : void 0,
1904
1904
  title: O.width === "sm" ? "Add visual" : void 0,
1905
1905
  className: xe(
@@ -1913,7 +1913,7 @@ function ao() {
1913
1913
  }
1914
1914
  ),
1915
1915
  /* @__PURE__ */ o(Dt, { modal: !1, children: [
1916
- /* @__PURE__ */ e(Ht, { asChild: !0, children: /* @__PURE__ */ e(
1916
+ /* @__PURE__ */ e(Et, { asChild: !0, children: /* @__PURE__ */ e(
1917
1917
  G,
1918
1918
  {
1919
1919
  variant: "ghost",
@@ -1921,11 +1921,11 @@ function ao() {
1921
1921
  className: "h-full w-7 rounded-none border-0 border-l border-border/60 px-0 shadow-none hover:bg-accent",
1922
1922
  "aria-label": "Open visual options",
1923
1923
  disabled: !I,
1924
- children: /* @__PURE__ */ e(Za, { className: "h-3.5 w-3.5" })
1924
+ children: /* @__PURE__ */ e(Xa, { className: "h-3.5 w-3.5" })
1925
1925
  }
1926
1926
  ) }),
1927
1927
  /* @__PURE__ */ e(
1928
- Et,
1928
+ It,
1929
1929
  {
1930
1930
  align: "end",
1931
1931
  className: "z-[60] w-48 rounded-[6px] border-border/60 p-1 shadow-sm",
@@ -1937,40 +1937,40 @@ function ao() {
1937
1937
  )
1938
1938
  ] }),
1939
1939
  /* @__PURE__ */ e(
1940
- cn,
1940
+ dn,
1941
1941
  {
1942
- open: hr,
1942
+ open: mr,
1943
1943
  onOpenChange: ut
1944
1944
  }
1945
1945
  )
1946
1946
  ] }),
1947
- !m && p && /* @__PURE__ */ e(ln, {}),
1947
+ !m && p && /* @__PURE__ */ e(cn, {}),
1948
1948
  !U && !I && (h || m) && (!c || !g || h !== void 0) && p && /* @__PURE__ */ o("div", { className: "inline-flex items-center gap-1", children: [
1949
1949
  /* @__PURE__ */ o(
1950
1950
  G,
1951
1951
  {
1952
1952
  size: "xs",
1953
- onClick: kr,
1953
+ onClick: Sr,
1954
1954
  "aria-label": m ? "Inspect" : "Edit",
1955
1955
  title: O.width === "sm" ? m ? "Inspect" : "Edit" : void 0,
1956
1956
  className: O.width === "sm" ? "w-7 px-0" : void 0,
1957
1957
  children: [
1958
- /* @__PURE__ */ e(ya, { className: "h-3.5 w-3.5" }),
1958
+ /* @__PURE__ */ e(va, { className: "h-3.5 w-3.5" }),
1959
1959
  O.width !== "sm" && (m ? "Inspect" : "Edit")
1960
1960
  ]
1961
1961
  }
1962
1962
  ),
1963
- v ? /* @__PURE__ */ e(Qa, { children: /* @__PURE__ */ o(Wa, { children: [
1964
- /* @__PURE__ */ e(Ya, { asChild: !0, children: /* @__PURE__ */ e(
1963
+ v ? /* @__PURE__ */ e(Ka, { children: /* @__PURE__ */ o(Qa, { children: [
1964
+ /* @__PURE__ */ e(Wa, { asChild: !0, children: /* @__PURE__ */ e(
1965
1965
  "button",
1966
1966
  {
1967
1967
  type: "button",
1968
1968
  "aria-label": v,
1969
1969
  className: "inline-flex size-6 items-center justify-center rounded-control text-muted-foreground outline-none hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
1970
- children: /* @__PURE__ */ e(Ja, { "aria-hidden": "true", className: "size-3.5" })
1970
+ children: /* @__PURE__ */ e(Ya, { "aria-hidden": "true", className: "size-3.5" })
1971
1971
  }
1972
1972
  ) }),
1973
- /* @__PURE__ */ e(Xa, { children: /* @__PURE__ */ e("p", { children: v }) })
1973
+ /* @__PURE__ */ e(Ja, { children: /* @__PURE__ */ e("p", { children: v }) })
1974
1974
  ] }) }) : null
1975
1975
  ] }),
1976
1976
  He && p && Qe && /* @__PURE__ */ e(
@@ -1986,13 +1986,13 @@ function ao() {
1986
1986
  {
1987
1987
  variant: "outline",
1988
1988
  size: "xs",
1989
- onClick: Ar,
1989
+ onClick: Ir,
1990
1990
  disabled: Oe,
1991
1991
  "aria-label": "Undo",
1992
1992
  title: O.width === "sm" ? "Undo" : void 0,
1993
1993
  className: O.width === "sm" ? "w-7 px-0" : void 0,
1994
1994
  children: [
1995
- /* @__PURE__ */ e(wa, { className: "h-3.5 w-3.5" }),
1995
+ /* @__PURE__ */ e(ya, { className: "h-3.5 w-3.5" }),
1996
1996
  O.width !== "sm" && "Undo"
1997
1997
  ]
1998
1998
  }
@@ -2015,33 +2015,42 @@ function ao() {
2015
2015
  {
2016
2016
  variant: "outline",
2017
2017
  size: "xs",
2018
- onClick: Dr,
2018
+ onClick: Cr,
2019
2019
  "aria-label": "Close",
2020
2020
  title: O.width === "sm" ? "Close" : void 0,
2021
2021
  className: O.width === "sm" ? "w-7 px-0" : void 0,
2022
2022
  children: [
2023
- /* @__PURE__ */ e(Na, { className: "h-3.5 w-3.5" }),
2023
+ /* @__PURE__ */ e(wa, { className: "h-3.5 w-3.5" }),
2024
2024
  O.width !== "sm" && "Close"
2025
2025
  ]
2026
2026
  }
2027
2027
  )
2028
2028
  ] }),
2029
2029
  !U && p && /* @__PURE__ */ o($, { children: [
2030
- /* @__PURE__ */ e(un, {}),
2031
- f && h === !0 && !m && /* @__PURE__ */ e(mn, {})
2030
+ /* @__PURE__ */ e(ln, {}),
2031
+ f && h === !0 && !m && /* @__PURE__ */ e(un, {})
2032
2032
  ] }),
2033
2033
  !U && d && O.width === "lg" && /* @__PURE__ */ e(Vn, {}),
2034
- Ye && /* @__PURE__ */ e(hn, {}),
2034
+ Ye && /* @__PURE__ */ e(mn, {}),
2035
2035
  Ye && /* @__PURE__ */ o(Dt, { children: [
2036
- /* @__PURE__ */ e(Es, {}),
2036
+ /* @__PURE__ */ e(Et, { asChild: !0, children: /* @__PURE__ */ e(
2037
+ G,
2038
+ {
2039
+ variant: "ghost",
2040
+ size: "xs",
2041
+ className: "w-7 px-0",
2042
+ "aria-label": "More dashboard options",
2043
+ children: /* @__PURE__ */ e(Na, { className: "h-3.5 w-3.5" })
2044
+ }
2045
+ ) }),
2037
2046
  /* @__PURE__ */ o(
2038
- Et,
2047
+ It,
2039
2048
  {
2040
2049
  align: "end",
2041
2050
  className: "w-56 rounded-control border border-border/60 p-1 shadow-sm",
2042
2051
  children: [
2043
- /* @__PURE__ */ e(Is, {}),
2044
- Le.available && Mr && /* @__PURE__ */ o($, { children: [
2052
+ /* @__PURE__ */ e(Es, {}),
2053
+ Le.available && Lr && /* @__PURE__ */ o($, { children: [
2045
2054
  /* @__PURE__ */ o(
2046
2055
  P,
2047
2056
  {
@@ -2099,7 +2108,7 @@ function ao() {
2099
2108
  {
2100
2109
  onClick: () => z(!0),
2101
2110
  children: [
2102
- /* @__PURE__ */ e(jt, { className: "h-3.5 w-3.5" }),
2111
+ /* @__PURE__ */ e(zt, { className: "h-3.5 w-3.5" }),
2103
2112
  "Manage Groups"
2104
2113
  ]
2105
2114
  }
@@ -2108,7 +2117,7 @@ function ao() {
2108
2117
  ] }),
2109
2118
  /* @__PURE__ */ e(Pe, { children: "Preferences" }),
2110
2119
  /* @__PURE__ */ o(P, { onClick: () => se(!0), children: [
2111
- /* @__PURE__ */ e(zt, { className: "h-3.5 w-3.5" }),
2120
+ /* @__PURE__ */ e(Ht, { className: "h-3.5 w-3.5" }),
2112
2121
  "Report preferences"
2113
2122
  ] }),
2114
2123
  d && p && /* @__PURE__ */ o($, { children: [
@@ -2124,7 +2133,7 @@ function ao() {
2124
2133
  ).catch(() => D.error("Unable to copy token")) : D.error("Clipboard not available"));
2125
2134
  },
2126
2135
  children: [
2127
- /* @__PURE__ */ e(It, { className: "h-3.5 w-3.5" }),
2136
+ /* @__PURE__ */ e(At, { className: "h-3.5 w-3.5" }),
2128
2137
  "Copy token"
2129
2138
  ]
2130
2139
  }
@@ -2152,7 +2161,7 @@ function ao() {
2152
2161
  ) : D.error("Clipboard not available");
2153
2162
  },
2154
2163
  children: [
2155
- /* @__PURE__ */ e(It, { className: "h-3.5 w-3.5" }),
2164
+ /* @__PURE__ */ e(At, { className: "h-3.5 w-3.5" }),
2156
2165
  "Copy local document PDF URL"
2157
2166
  ]
2158
2167
  }
@@ -2160,7 +2169,7 @@ function ao() {
2160
2169
  /* @__PURE__ */ o(
2161
2170
  P,
2162
2171
  {
2163
- onSelect: () => pn(a.apiServiceUrl),
2172
+ onSelect: () => hn(a.apiServiceUrl),
2164
2173
  children: [
2165
2174
  /* @__PURE__ */ e(Rn, { className: "h-3.5 w-3.5" }),
2166
2175
  "Invalidate token"
@@ -2202,7 +2211,7 @@ function ao() {
2202
2211
  }
2203
2212
  ),
2204
2213
  /* @__PURE__ */ e(
2205
- yn,
2214
+ vn,
2206
2215
  {
2207
2216
  open: ne,
2208
2217
  onOpenChange: se
@@ -2216,7 +2225,7 @@ function ao() {
2216
2225
  }
2217
2226
  ),
2218
2227
  Y && (Se || ie) ? /* @__PURE__ */ e(
2219
- fn,
2228
+ pn,
2220
2229
  {
2221
2230
  dashboardId: Y,
2222
2231
  dashboardTitle: (b == null ? void 0 : b.title) || (F == null ? void 0 : F.title),
@@ -2264,7 +2273,7 @@ function ao() {
2264
2273
  }
2265
2274
  ),
2266
2275
  /* @__PURE__ */ e(
2267
- At,
2276
+ Ot,
2268
2277
  {
2269
2278
  onClick: () => We({
2270
2279
  closeAfterSave: lt,
@@ -2274,7 +2283,7 @@ function ao() {
2274
2283
  children: "Retry"
2275
2284
  }
2276
2285
  )
2277
- ] }) : /* @__PURE__ */ o(At, { disabled: !0, className: "m-0 cursor-default", children: [
2286
+ ] }) : /* @__PURE__ */ o(Ot, { disabled: !0, className: "m-0 cursor-default", children: [
2278
2287
  /* @__PURE__ */ e(Re, { className: "mr-2 h-4 w-4 animate-spin" }),
2279
2288
  "Saving..."
2280
2289
  ] }) })
@@ -2282,14 +2291,14 @@ function ao() {
2282
2291
  }
2283
2292
  ),
2284
2293
  /* @__PURE__ */ e(
2285
- bn,
2294
+ fn,
2286
2295
  {
2287
- open: yr,
2296
+ open: vr,
2288
2297
  onOpenChange: (i) => {
2289
2298
  le(i);
2290
2299
  },
2291
- onSave: Er,
2292
- onDiscard: Ir,
2300
+ onSave: Dr,
2301
+ onDiscard: Er,
2293
2302
  isSaving: Ge,
2294
2303
  saveLabel: "Save",
2295
2304
  discardLabel: "Discard changes"
@@ -2301,29 +2310,7 @@ function ao() {
2301
2310
  ) });
2302
2311
  }
2303
2312
  function Es() {
2304
- const t = Wt();
2305
- return /* @__PURE__ */ e(Ht, { asChild: !0, children: /* @__PURE__ */ o(
2306
- G,
2307
- {
2308
- variant: "ghost",
2309
- size: "xs",
2310
- className: "relative w-7 px-0",
2311
- "aria-label": "More dashboard options",
2312
- children: [
2313
- /* @__PURE__ */ e(Ra, { className: "h-3.5 w-3.5" }),
2314
- t.length > 0 && /* @__PURE__ */ e(
2315
- "span",
2316
- {
2317
- "aria-hidden": !0,
2318
- className: "pointer-events-none absolute right-0.5 top-0.5 h-1.5 w-1.5 rounded-full bg-muted-foreground/70"
2319
- }
2320
- )
2321
- ]
2322
- }
2323
- ) });
2324
- }
2325
- function Is() {
2326
- const t = Wt();
2313
+ const t = yn();
2327
2314
  return t.length === 0 ? null : /* @__PURE__ */ o($, { children: [
2328
2315
  t.map((a) => /* @__PURE__ */ o(P, { onSelect: a.onSelect, children: [
2329
2316
  a.icon,
@@ -2334,7 +2321,7 @@ function Is() {
2334
2321
  /* @__PURE__ */ e(be, {})
2335
2322
  ] });
2336
2323
  }
2337
- function As({
2324
+ function Is({
2338
2325
  accessToken: t,
2339
2326
  dashboardId: a,
2340
2327
  selectedSheetId: n,
@@ -2350,5 +2337,5 @@ function As({
2350
2337
  return h.searchParams.set("pdfMode", "document"), h.searchParams.set("pageSize", r || "letter"), h.searchParams.set("orientation", s || "portrait"), h.searchParams.set("url", f.toString()), h.toString();
2351
2338
  }
2352
2339
  export {
2353
- ao as default
2340
+ ro as default
2354
2341
  };