react-semaphor 0.1.445 → 0.1.447

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 (91) hide show
  1. package/dist/analytics-protocol/index.js +8 -8
  2. package/dist/appearance/index.cjs +1 -1
  3. package/dist/appearance/index.js +1 -1
  4. package/dist/brand-studio/index.cjs +2 -2
  5. package/dist/brand-studio/index.js +9 -9
  6. package/dist/briefings/index.js +4 -4
  7. package/dist/chunks/{analyze-result-contract-DUv3QnMl.js → analyze-result-contract-T-0Ntzys.js} +1 -1
  8. package/dist/chunks/{braces-BdbUk_r9.js → braces-8TRlDwDw.js} +1 -1
  9. package/dist/chunks/{braces-BKimshER.cjs → braces-v55uLCAK.cjs} +1 -1
  10. package/dist/chunks/{catalog-field-grounding-AOGwWu0K.js → catalog-field-grounding-S2jKwKGD.js} +9 -9
  11. package/dist/chunks/{common-types-DFsDdpH7.js → common-types-B7Jk3Rtj.js} +5 -5
  12. package/dist/chunks/{dashboard-briefing-launcher-2SLNOaTg.js → dashboard-briefing-launcher-CDjcivK2.js} +192 -191
  13. package/dist/chunks/dashboard-briefing-launcher-D44Au-Qp.cjs +26 -0
  14. package/dist/chunks/dashboard-controls-DH3J4L1D.cjs +52 -0
  15. package/dist/chunks/dashboard-controls-tHwb3g3W.js +2409 -0
  16. package/dist/chunks/{dashboard-date-comparison-definition-BaYxjLi5.js → dashboard-date-comparison-definition-Ba-clViK.js} +1 -1
  17. package/dist/chunks/{dashboard-input-contract-BFpERluO.js → dashboard-input-contract-DSt8dGzP.js} +4 -4
  18. package/dist/chunks/{dashboard-json-BZwq3EcS.js → dashboard-json-Bihrrl5_.js} +11 -11
  19. package/dist/chunks/dashboard-json-VOXcUBqx.cjs +1 -0
  20. package/dist/chunks/edit-dashboard-visual-8XtuSSKG.cjs +177 -0
  21. package/dist/chunks/{edit-dashboard-visual-njLPYip3.js → edit-dashboard-visual-Dsc9mZnc.js} +7113 -7097
  22. package/dist/chunks/{editor-action-buttons-CBVMFipA.cjs → editor-action-buttons-BFqvBlLw.cjs} +1 -1
  23. package/dist/chunks/{editor-action-buttons-BhLX5Q6m.js → editor-action-buttons-BbVgPOda.js} +41 -41
  24. package/dist/chunks/{format-types-CZH5w1lo.js → format-types-DZGgYj39.js} +5 -5
  25. package/dist/chunks/index-BSTyv45D.cjs +1395 -0
  26. package/dist/chunks/{index-If0wlXGi.js → index-CJdxSyQq.js} +308 -308
  27. package/dist/chunks/{index-Dpm_VET4.cjs → index-DRlMUglg.cjs} +2 -2
  28. package/dist/chunks/{dashboard-u61yfU6u.js → index-srGACKDr.js} +148223 -151540
  29. package/dist/chunks/{layout-grid-D5tYJg1-.js → layout-grid-CiubineE.js} +1 -1
  30. package/dist/chunks/{layout-grid-3-HWzEwU.cjs → layout-grid-xm8pqtx0.cjs} +1 -1
  31. package/dist/chunks/{metric-comparison-BJ_Qu1ZF.js → metric-comparison-97zHGEx5.js} +7 -7
  32. package/dist/chunks/mouse-pointer-2-BZvGk45-.js +19 -0
  33. package/dist/chunks/mouse-pointer-2-DX4A_XZw.cjs +6 -0
  34. package/dist/chunks/{palette-DW_l7Jr0.cjs → palette-BN-jYtaK.cjs} +1 -1
  35. package/dist/chunks/{palette-jqaAcwiQ.js → palette-Cp1hqZtm.js} +1 -1
  36. package/dist/chunks/{pivot-result-identity-B6QCWOSi.js → pivot-result-identity-CwJWpKI7.js} +3 -3
  37. package/dist/chunks/{pivot-result-lifecycle-BM3Pl-D1.js → pivot-result-lifecycle-BBabQ_da.js} +27 -27
  38. package/dist/chunks/{presentation-execution-CGlb7YZ6.js → presentation-execution-BLfPTGX_.js} +10 -10
  39. package/dist/chunks/{report-preferences-dialog-D_NJu2wU.js → report-preferences-dialog-DZez53xw.js} +6 -6
  40. package/dist/chunks/report-preferences-dialog-TYTIHpHi.cjs +1 -0
  41. package/dist/chunks/{report-runtime-context-Qzn11HQe.js → report-runtime-context-bCy3CVzK.js} +1 -1
  42. package/dist/chunks/{save-4_uMnE6s.cjs → save-3dYRmehL.cjs} +1 -1
  43. package/dist/chunks/{save-HCJjjzdX.js → save-DgMfP0j8.js} +1 -1
  44. package/dist/chunks/{search-DHZCro8B.js → search-BHsQIWBV.js} +1 -1
  45. package/dist/chunks/{search-6ZmeMq55.cjs → search-BqqhaMx9.cjs} +1 -1
  46. package/dist/chunks/{code-editor-B4gTfvc5.js → switch-Bz2uj3q0.js} +9405 -9330
  47. package/dist/chunks/switch-rbwGjmad.cjs +138 -0
  48. package/dist/chunks/{temporal-bucket-authoring-BUZMuVca.js → temporal-bucket-authoring-CgOuakGW.js} +2 -2
  49. package/dist/chunks/{temporal-bucket-contract-B2bJ1oe4.js → temporal-bucket-contract-_F6vNhhH.js} +3 -3
  50. package/dist/chunks/{temporal-result-owner-Cb27SSG9.js → temporal-result-owner-6peubmhU.js} +3 -3
  51. package/dist/chunks/{token-types-DLo91nOf.js → token-types-BHR58aTy.js} +1 -1
  52. package/dist/chunks/{update-policy-eg59mQqv.js → update-policy-g0rCQ9BM.js} +9 -9
  53. package/dist/chunks/{validators-wZ2WlNHc.js → validators-Cs74WVie.js} +46 -46
  54. package/dist/chunks/x-B6ghREd2.cjs +31 -0
  55. package/dist/chunks/{index-xHCrHprY.js → x-CXDkqdur.js} +59 -59
  56. package/dist/dashboard/index.cjs +1 -1
  57. package/dist/dashboard/index.js +2 -2
  58. package/dist/dashboard-authoring/index.js +6 -6
  59. package/dist/data-app-builder/index.cjs +13 -18
  60. package/dist/data-app-builder/index.js +92 -106
  61. package/dist/data-app-codegen/index.js +2 -2
  62. package/dist/data-app-codegen-node/index.js +3 -3
  63. package/dist/data-app-sdk/index.cjs +1 -1
  64. package/dist/data-app-sdk/index.js +6 -6
  65. package/dist/data-app-sdk-adapters/index.js +2 -2
  66. package/dist/data-app-sdk-validation/index.js +4 -4
  67. package/dist/format-utils/index.js +8 -8
  68. package/dist/index.cjs +1 -1
  69. package/dist/index.js +16 -16
  70. package/dist/report-runtime-context/index.js +2 -2
  71. package/dist/style.css +1 -1
  72. package/dist/surfboard/index.cjs +1 -1
  73. package/dist/surfboard/index.js +3 -3
  74. package/dist/types/brand-studio.d.ts +2 -2
  75. package/dist/types/dashboard.d.ts +3 -2
  76. package/dist/types/data-app-builder.d.ts +2 -2
  77. package/dist/types/data-app-sdk.d.ts +1 -1
  78. package/dist/types/index.cjs +1 -1
  79. package/dist/types/index.js +7 -7
  80. package/dist/types/main.d.ts +27 -25
  81. package/dist/types/surfboard.d.ts +3 -2
  82. package/package.json +1 -2
  83. package/dist/chunks/code-editor-BYVorgOf.cjs +0 -138
  84. package/dist/chunks/dashboard-CAiwJW3L.cjs +0 -1397
  85. package/dist/chunks/dashboard-briefing-launcher-CHwjpUYz.cjs +0 -26
  86. package/dist/chunks/dashboard-controls-BfL14aqO.js +0 -2238
  87. package/dist/chunks/dashboard-controls-BgGTg4yw.cjs +0 -36
  88. package/dist/chunks/dashboard-json-BOv8tCa9.cjs +0 -1
  89. package/dist/chunks/edit-dashboard-visual-BdVCH0DJ.cjs +0 -182
  90. package/dist/chunks/index-jSrCwPQz.cjs +0 -31
  91. package/dist/chunks/report-preferences-dialog-r8QzOSFb.cjs +0 -1
@@ -1,27 +1,28 @@
1
1
  import { jsx as e, jsxs as r, Fragment as W } from "react/jsx-runtime";
2
2
  import jt, { useState as E, useEffect as J, useMemo as ee, useContext as Wt, useRef as he, useCallback as q } from "react";
3
- import { aH as Se, aI as De, aK as ke, bb as Ct, b_ as Ht, co as Gt, cp as Kt, aZ as fe, cc as wt, bm as Ve, y as qt, w as Xt, cq as Yt, aP as Je, aS as et, aT as tt, aU as rt, aV as at, aW as nt, aX as st, aY as Nt, bl as ot, aG as O, cr as Zt, cs as Qt, ct as Ke, cd as Oe, ce as ze, cu as St, cf as _e, bY as K, b1 as Jt, bD as Re, cv as er, bX as tr, aJ as it, aL as lt, cw as rr, aF as ar, ba as nr, by as Dt, cx as sr, b$ as or, av as ir, aM as lr, b3 as cr, az as $e, at as ue, a6 as ct, a3 as kt, a2 as dt, as as At, a4 as dr, Y as ur, cj as hr, cy as mr, bw as pr, N as ft, R as fr, au as gr, cz as br, cA as xr, cB as vr, cC as yr, cD as Cr, cE as wr, cF as Nr, cG as Sr, cH as Et, cI as Dr, b4 as kr, cJ as Ar, cg as It, cK as Er, cL as Ir, cM as Be, cN as Fr, cO as Lr, cP as Br, o as Tr, aj as Vr, ae as Rr, T as Ur, ad as Pr, aa as Mr, Z as Or, a9 as zr, cQ as _r, cR as $r, cS as jr, cT as Wr, cU as Hr, B as Gr, cV as Kr, cW as qr, a1 as Xr, cX as Yr, cY as Zr, cZ as Qr } from "./dashboard-u61yfU6u.js";
4
- import { B, O as Ne, Z as Ze, L as te, M as Ft, d as Lt, c as X, K as Jr, E as ge, u as P, A as be, aH as gt, av as Bt, au as Qe, D as Tt, S as ut, P as Ue, a as Pe, b as Me, aI as ea, aJ as ta, aK as ra, aL as aa, aM as na, aF as sa } from "./code-editor-B4gTfvc5.js";
5
- import { L as ht } from "./layout-grid-D5tYJg1-.js";
6
- import { c as Ae, X as je, C as Vt } from "./index-xHCrHprY.js";
7
- import { u as mt, V as oa, E as qe, a as Xe, b as ia, c as la, L as ca, d as da, e as Rt, C as Ut, F as ua, f as ha } from "./editor-action-buttons-BhLX5Q6m.js";
8
- import "./validators-wZ2WlNHc.js";
9
- import "./analyze-result-contract-DUv3QnMl.js";
3
+ import { aH as Se, aI as De, aK as ke, bb as yt, b_ as Ht, co as Gt, cp as Kt, aZ as fe, cc as Ct, bm as Ve, s as qt, o as Xt, cq as Yt, aP as Je, aS as et, aT as tt, aU as rt, aV as at, aW as nt, aX as st, aY as wt, bl as ot, aG as O, cr as Zt, cs as Qt, ct as Ke, cd as Oe, ce as ze, cu as Nt, cf as _e, bY as K, b1 as Jt, bD as Re, cv as er, bX as tr, aJ as it, aL as lt, cw as rr, aF as ar, ba as nr, by as St, cx as sr, b$ as or, u as ir, aM as lr, b3 as cr, az as $e, O as ue, aw as ct, as as Dt, at as dt, P as kt, ar as dr, ay as ur, cj as hr, cy as mr, bw as pr, au as pt, R as fr, T as gr, cz as br, cA as xr, cB as vr, cC as yr, cD as Cr, cE as wr, cF as Nr, cG as Sr, cH as At, cI as Dr, b4 as kr, cJ as Ar, cg as Et, cK as Er, cL as Ir, cM as Be, cN as Fr, cO as Lr, cP as Br, an as Tr, ap as Vr, a3 as Rr, a2 as Ur, a1 as Pr, a0 as Mr, Z as Or, X as zr, cQ as _r, cR as $r, cS as jr, cT as Wr, cU as Hr, al as Gr, cV as Kr, cW as qr, a9 as Xr, cX as Yr, cY as Zr, cZ as Qr } from "./index-srGACKDr.js";
4
+ import { B, O as Ne, Z as Ze, L as te, M as It, d as Ft, c as X, K as Jr, D as ge, u as P, z as be, aG as ft, av as Lt, au as Qe, E as Bt, P as Ue, a as Pe, b as Me, aH as ea, aI as ta, S as Tt, aJ as ra, aK as aa, aL as na, aE as sa } from "./switch-Bz2uj3q0.js";
5
+ import { L as ut } from "./layout-grid-CiubineE.js";
6
+ import { c as Ae, X as je, C as Vt } from "./x-CXDkqdur.js";
7
+ import { u as ht, V as oa, E as qe, a as Xe, b as ia, c as la, L as ca, d as da, e as Rt, C as Ut, F as ua, f as ha } from "./editor-action-buttons-BbVgPOda.js";
8
+ import "./validators-Cs74WVie.js";
9
+ import "./analyze-result-contract-T-0Ntzys.js";
10
10
  import "../value-format-preferences/index.js";
11
- import { S as ma } from "./search-DHZCro8B.js";
12
- import { y as bt } from "./pivot-result-lifecycle-BM3Pl-D1.js";
13
- import "./index-If0wlXGi.js";
14
- import "./temporal-bucket-authoring-BUZMuVca.js";
15
- import "./temporal-result-owner-Cb27SSG9.js";
11
+ import { S as ma } from "./search-BHsQIWBV.js";
12
+ import { M as pa } from "./mouse-pointer-2-BZvGk45-.js";
13
+ import { y as gt } from "./pivot-result-lifecycle-BBabQ_da.js";
14
+ import "./index-CJdxSyQq.js";
15
+ import "./temporal-bucket-authoring-CgOuakGW.js";
16
+ import "./temporal-result-owner-6peubmhU.js";
16
17
  import "react-dom";
17
- import { getBriefingPresentation as se, describeBriefingSchedule as pa, getBriefingCreationIntents as fa } from "../briefings/index.js";
18
+ import { getBriefingPresentation as se, describeBriefingSchedule as fa, getBriefingCreationIntents as ga } from "../briefings/index.js";
18
19
  /**
19
20
  * @license lucide-react v0.453.0 - ISC
20
21
  *
21
22
  * This source code is licensed under the ISC license.
22
23
  * See the LICENSE file in the root directory of this source tree.
23
24
  */
24
- const ga = Ae("ArrowUpRight", [
25
+ const ba = Ae("ArrowUpRight", [
25
26
  ["path", { d: "M7 7h10v10", key: "1tivn9" }],
26
27
  ["path", { d: "M7 17 17 7", key: "1vkiza" }]
27
28
  ]);
@@ -31,7 +32,7 @@ const ga = Ae("ArrowUpRight", [
31
32
  * This source code is licensed under the ISC license.
32
33
  * See the LICENSE file in the root directory of this source tree.
33
34
  */
34
- const ba = Ae("CalendarRange", [
35
+ const xa = Ae("CalendarRange", [
35
36
  ["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
36
37
  ["path", { d: "M16 2v4", key: "4m81vk" }],
37
38
  ["path", { d: "M3 10h18", key: "8toen8" }],
@@ -47,7 +48,7 @@ const ba = Ae("CalendarRange", [
47
48
  * This source code is licensed under the ISC license.
48
49
  * See the LICENSE file in the root directory of this source tree.
49
50
  */
50
- const xa = Ae("CircleX", [
51
+ const va = Ae("CircleX", [
51
52
  ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
52
53
  ["path", { d: "m15 9-6 6", key: "1uzhvr" }],
53
54
  ["path", { d: "m9 9 6 6", key: "z0biqf" }]
@@ -58,7 +59,7 @@ const xa = Ae("CircleX", [
58
59
  * This source code is licensed under the ISC license.
59
60
  * See the LICENSE file in the root directory of this source tree.
60
61
  */
61
- const xt = Ae("FileDown", [
62
+ const bt = Ae("FileDown", [
62
63
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
63
64
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
64
65
  ["path", { d: "M12 18v-6", key: "17g6i2" }],
@@ -70,7 +71,7 @@ const xt = Ae("FileDown", [
70
71
  * This source code is licensed under the ISC license.
71
72
  * See the LICENSE file in the root directory of this source tree.
72
73
  */
73
- const va = Ae("Newspaper", [
74
+ const ya = Ae("Newspaper", [
74
75
  [
75
76
  "path",
76
77
  {
@@ -82,7 +83,7 @@ const va = Ae("Newspaper", [
82
83
  ["path", { d: "M15 18h-5", key: "95g1m2" }],
83
84
  ["path", { d: "M10 6h8v4h-8V6Z", key: "smlsk5" }]
84
85
  ]);
85
- function ya() {
86
+ function Ca() {
86
87
  return /* @__PURE__ */ e("div", { className: "space-y-1.5 py-1", children: [...Array(5)].map((t, a) => /* @__PURE__ */ r(
87
88
  "div",
88
89
  {
@@ -98,7 +99,7 @@ function ya() {
98
99
  a
99
100
  )) });
100
101
  }
101
- function Ca({
102
+ function wa({
102
103
  open: t,
103
104
  onOpenChange: a,
104
105
  onSubmit: i,
@@ -121,7 +122,7 @@ function Ca({
121
122
  children: [
122
123
  /* @__PURE__ */ r("div", { className: "flex h-10 shrink-0 items-center justify-between gap-2 border-b border-border/60 px-3", children: [
123
124
  /* @__PURE__ */ r("div", { className: "flex min-w-0 items-center gap-2", children: [
124
- /* @__PURE__ */ e(ht, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
125
+ /* @__PURE__ */ e(ut, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
125
126
  /* @__PURE__ */ r("div", { className: "flex min-w-0 items-baseline gap-2", children: [
126
127
  /* @__PURE__ */ e(ke, { className: "truncate text-[13px] font-medium leading-none tracking-normal", children: "New library visual" }),
127
128
  /* @__PURE__ */ e("span", { className: "shrink-0 text-[10px] font-medium uppercase leading-none tracking-[0.08em] text-muted-foreground", children: "Visual" })
@@ -214,22 +215,22 @@ function Mt(t, a) {
214
215
  const i = (s = t.ownership.createdBy) == null ? void 0 : s.type;
215
216
  return i === "tenant" || i === "organization" && a;
216
217
  }
217
- function pt(t, a) {
218
+ function mt(t, a) {
218
219
  var i, s;
219
220
  return Mt(t, a) ? ((i = t.ownership.createdBy) == null ? void 0 : i.name) || ((s = t.createdByTenantUserRel) == null ? void 0 : s.name) || t.lastModifiedBy || "Unknown" : "Organization";
220
221
  }
221
- function wa(t, a) {
222
- return pt(t, a).split(/\s+/).filter(Boolean).slice(0, 2).map((s) => s.charAt(0).toUpperCase()).join("") || "?";
222
+ function Na(t, a) {
223
+ return mt(t, a).split(/\s+/).filter(Boolean).slice(0, 2).map((s) => s.charAt(0).toUpperCase()).join("") || "?";
223
224
  }
224
- function Na(t) {
225
+ function Sa(t) {
225
226
  const a = (t || "").toLowerCase();
226
- return a.includes("table") ? Ft : a.includes("pie") || a.includes("donut") ? Zt : a.includes("line") ? Qt : a.includes("bar") ? Jr : ht;
227
+ return a.includes("table") ? It : a.includes("pie") || a.includes("donut") ? Zt : a.includes("line") ? Qt : a.includes("bar") ? Jr : ut;
227
228
  }
228
- function Sa({ visual: t }) {
229
+ function Da({ visual: t }) {
229
230
  const a = t.ownership.status === "public" ? "Public" : t.ownership.status === "shared" || t.ownership.sharedCount > 0 ? "Shared" : "Private";
230
231
  return /* @__PURE__ */ e("span", { className: "inline-flex items-center rounded-[4px] border border-border/60 px-1.5 py-px text-[11px] text-muted-foreground", children: a });
231
232
  }
232
- function Mn({
233
+ function zn({
233
234
  open: t,
234
235
  onOpenChange: a
235
236
  }) {
@@ -241,7 +242,7 @@ function Mn({
241
242
  c(/* @__PURE__ */ new Set()), d(null), f(null), p(!1), y(null);
242
243
  }, g = () => {
243
244
  a(!1), N();
244
- }, { selectVisual: S } = Ct(), { handleAddLibraryVisual: k, handleEditLibraryVisual: U } = mt(), { isConsoleMode: b } = Ht(), {
245
+ }, { selectVisual: S } = yt(), { handleAddLibraryVisual: k, handleEditLibraryVisual: U } = ht(), { isConsoleMode: b } = Ht(), {
245
246
  resources: x,
246
247
  isLoading: T,
247
248
  isError: F,
@@ -382,7 +383,7 @@ function Mn({
382
383
  children: [
383
384
  /* @__PURE__ */ r("div", { className: "flex h-10 shrink-0 items-center justify-between gap-2 border-b border-border/60 px-3", children: [
384
385
  /* @__PURE__ */ r("div", { className: "flex min-w-0 items-center gap-2", children: [
385
- /* @__PURE__ */ e(Ft, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
386
+ /* @__PURE__ */ e(It, { className: "h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
386
387
  /* @__PURE__ */ r("div", { className: "flex min-w-0 items-baseline gap-2", children: [
387
388
  /* @__PURE__ */ e(ke, { className: "truncate text-[13px] font-medium leading-none tracking-normal", children: "Visuals library" }),
388
389
  /* @__PURE__ */ e("span", { className: "shrink-0 text-[10px] font-medium uppercase leading-none tracking-[0.08em] text-muted-foreground", children: "Add to dashboard" })
@@ -429,12 +430,12 @@ function Mn({
429
430
  }
430
431
  )
431
432
  ] }),
432
- /* @__PURE__ */ e("div", { className: "min-h-0 flex-1 overflow-auto", children: T ? /* @__PURE__ */ e("div", { className: "p-3", children: /* @__PURE__ */ e(ya, {}) }) : F ? /* @__PURE__ */ e("div", { className: "flex flex-col items-center gap-2 px-4 py-12 text-center", children: /* @__PURE__ */ e("p", { className: "text-[13px] text-destructive", children: "Failed to load visuals" }) }) : z.length === 0 ? /* @__PURE__ */ r("div", { className: "flex flex-col items-center gap-2 px-4 py-12 text-center", children: [
433
- /* @__PURE__ */ e(ht, { className: "h-5 w-5 text-muted-foreground/60" }),
433
+ /* @__PURE__ */ e("div", { className: "min-h-0 flex-1 overflow-auto", children: T ? /* @__PURE__ */ e("div", { className: "p-3", children: /* @__PURE__ */ e(Ca, {}) }) : F ? /* @__PURE__ */ e("div", { className: "flex flex-col items-center gap-2 px-4 py-12 text-center", children: /* @__PURE__ */ e("p", { className: "text-[13px] text-destructive", children: "Failed to load visuals" }) }) : z.length === 0 ? /* @__PURE__ */ r("div", { className: "flex flex-col items-center gap-2 px-4 py-12 text-center", children: [
434
+ /* @__PURE__ */ e(ut, { className: "h-5 w-5 text-muted-foreground/60" }),
434
435
  /* @__PURE__ */ e("p", { className: "text-[13px] font-medium", children: i ? "No visuals found" : "No visuals yet" }),
435
436
  /* @__PURE__ */ e("p", { className: "text-[12px] text-muted-foreground", children: i ? "Try a different search." : "Create a saved visual to add it here." })
436
437
  ] }) : /* @__PURE__ */ e(
437
- Da,
438
+ ka,
438
439
  {
439
440
  visuals: z,
440
441
  selectedIds: n,
@@ -479,7 +480,7 @@ function Mn({
479
480
  onClick: Ge,
480
481
  disabled: re.length !== 1 || le.length !== 1,
481
482
  children: [
482
- /* @__PURE__ */ e(wt, { className: "h-3.5 w-3.5" }),
483
+ /* @__PURE__ */ e(Ct, { className: "h-3.5 w-3.5" }),
483
484
  "Share"
484
485
  ]
485
486
  }
@@ -517,7 +518,7 @@ function Mn({
517
518
  onClick: _,
518
519
  disabled: n.size === 0,
519
520
  children: [
520
- /* @__PURE__ */ e(Lt, { className: "h-3.5 w-3.5" }),
521
+ /* @__PURE__ */ e(Ft, { className: "h-3.5 w-3.5" }),
521
522
  n.size === 0 ? "Add to dashboard" : `Add ${n.size} visual${n.size === 1 ? "" : "s"}`
522
523
  ]
523
524
  }
@@ -528,7 +529,7 @@ function Mn({
528
529
  }
529
530
  ) }),
530
531
  /* @__PURE__ */ e(
531
- Ca,
532
+ wa,
532
533
  {
533
534
  open: u,
534
535
  onOpenChange: m,
@@ -577,7 +578,7 @@ function Mn({
577
578
  /* @__PURE__ */ r(nt, { children: [
578
579
  /* @__PURE__ */ e(st, { disabled: G, children: "Cancel" }),
579
580
  /* @__PURE__ */ r(
580
- Nt,
581
+ wt,
581
582
  {
582
583
  onClick: (v) => {
583
584
  v.preventDefault(), Ie();
@@ -595,7 +596,7 @@ function Mn({
595
596
  )
596
597
  ] });
597
598
  }
598
- function Da({
599
+ function ka({
599
600
  visuals: t,
600
601
  selectedIds: a,
601
602
  allFilteredSelected: i,
@@ -630,7 +631,7 @@ function Da({
630
631
  /* @__PURE__ */ e("span", { className: "text-right", children: "Actions" })
631
632
  ] }),
632
633
  t.map((y) => /* @__PURE__ */ e(
633
- ka,
634
+ Aa,
634
635
  {
635
636
  visual: y,
636
637
  selected: a.has(y.id),
@@ -649,7 +650,7 @@ function Da({
649
650
  ))
650
651
  ] });
651
652
  }
652
- function ka({
653
+ function Aa({
653
654
  visual: t,
654
655
  selected: a,
655
656
  onToggleSelection: i,
@@ -664,7 +665,7 @@ function ka({
664
665
  isConsoleMode: f
665
666
  }) {
666
667
  var C;
667
- const h = Na(t.kind), p = () => {
668
+ const h = Sa(t.kind), p = () => {
668
669
  s(t);
669
670
  };
670
671
  return /* @__PURE__ */ r(
@@ -714,14 +715,14 @@ function ka({
714
715
  }
715
716
  ),
716
717
  /* @__PURE__ */ r("div", { className: "flex min-w-0 items-center gap-2", children: [
717
- /* @__PURE__ */ e("div", { className: "flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-muted text-[9px] font-medium text-muted-foreground", children: wa(t, f) }),
718
- /* @__PURE__ */ e("span", { className: "truncate text-muted-foreground", children: pt(t, f) })
718
+ /* @__PURE__ */ e("div", { className: "flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-muted text-[9px] font-medium text-muted-foreground", children: Na(t, f) }),
719
+ /* @__PURE__ */ e("span", { className: "truncate text-muted-foreground", children: mt(t, f) })
719
720
  ] }),
720
721
  /* @__PURE__ */ e("span", { className: "text-muted-foreground", children: Pt(t.updatedAt) }),
721
- /* @__PURE__ */ e(Sa, { visual: t }),
722
+ /* @__PURE__ */ e(Da, { visual: t }),
722
723
  /* @__PURE__ */ e("span", { className: "text-right tabular-nums text-muted-foreground", children: t.ownership.sharedCount > 0 ? t.ownership.sharedCount : "—" }),
723
724
  /* @__PURE__ */ e(
724
- Aa,
725
+ Ea,
725
726
  {
726
727
  visual: t,
727
728
  onOpenVisual: n,
@@ -738,7 +739,7 @@ function ka({
738
739
  }
739
740
  );
740
741
  }
741
- function Aa({
742
+ function Ea({
742
743
  visual: t,
743
744
  onOpenVisual: a,
744
745
  onEditDetails: i,
@@ -774,7 +775,7 @@ function Aa({
774
775
  variant: "ghost",
775
776
  className: "w-7 px-0",
776
777
  "aria-label": "More actions",
777
- children: /* @__PURE__ */ e(St, { className: "h-3.5 w-3.5" })
778
+ children: /* @__PURE__ */ e(Nt, { className: "h-3.5 w-3.5" })
778
779
  }
779
780
  ) }),
780
781
  /* @__PURE__ */ r(
@@ -803,7 +804,7 @@ function Aa({
803
804
  "Edit details"
804
805
  ] }),
805
806
  t.permissions.canShare && /* @__PURE__ */ r(K, { onClick: () => s(t), children: [
806
- /* @__PURE__ */ e(wt, { className: "h-3.5 w-3.5" }),
807
+ /* @__PURE__ */ e(Ct, { className: "h-3.5 w-3.5" }),
807
808
  "Share"
808
809
  ] }),
809
810
  t.permissions.canDelete && /* @__PURE__ */ r(W, { children: [
@@ -825,7 +826,7 @@ function Aa({
825
826
  /* @__PURE__ */ r("div", { className: "space-y-1 px-2 py-1.5 text-[11px] text-muted-foreground", children: [
826
827
  Mt(t, l) && /* @__PURE__ */ r("div", { className: "flex items-center gap-1.5", children: [
827
828
  /* @__PURE__ */ e(er, { className: "h-3 w-3" }),
828
- /* @__PURE__ */ e("span", { className: "truncate", children: pt(t, l) })
829
+ /* @__PURE__ */ e("span", { className: "truncate", children: mt(t, l) })
829
830
  ] }),
830
831
  /* @__PURE__ */ r("div", { className: "flex items-center gap-1.5", children: [
831
832
  /* @__PURE__ */ e(tr, { className: "h-3 w-3" }),
@@ -840,7 +841,7 @@ function Aa({
840
841
  }
841
842
  );
842
843
  }
843
- function Ea({
844
+ function Ia({
844
845
  open: t,
845
846
  onOpenChange: a,
846
847
  isLibraryVisual: i,
@@ -944,8 +945,8 @@ function Ea({
944
945
  ] })
945
946
  ] }) });
946
947
  }
947
- function Ia() {
948
- const [t, a] = E(!1), [i, s] = E(!1), [n, c] = E(null), [u, m] = E(null), l = ge((b) => b.frame), d = ge((b) => b.card), o = nr(), f = P((b) => b.selectedSheetId), h = P((b) => b.dashboard), { getUpdatedFrame: p } = mt(), { selectVisual: C } = Ct(), { addFrame: y, setSelectedFrameId: D, setIsVisualEditing: I } = be(), N = Dt(), g = !!(l != null && l.visualId), S = (() => {
948
+ function Fa() {
949
+ const [t, a] = E(!1), [i, s] = E(!1), [n, c] = E(null), [u, m] = E(null), l = ge((b) => b.frame), d = ge((b) => b.card), o = nr(), f = P((b) => b.selectedSheetId), h = P((b) => b.dashboard), { getUpdatedFrame: p } = ht(), { selectVisual: C } = yt(), { addFrame: y, setSelectedFrameId: D, setIsVisualEditing: I } = be(), N = St(), g = !!(l != null && l.visualId), S = (() => {
949
950
  var b, x;
950
951
  return ((b = l == null ? void 0 : l.cards) == null ? void 0 : b.length) === 1 && ((x = l.cards[0]) != null && x.title) ? l.cards[0].title : o != null && o.title ? o.title : (d == null ? void 0 : d.title) || "Untitled Visual";
951
952
  })(), k = sr((b) => {
@@ -953,7 +954,7 @@ function Ia() {
953
954
  try {
954
955
  const x = {
955
956
  ...n,
956
- id: gt(),
957
+ id: ft(),
957
958
  visualId: b.id
958
959
  // Link to the newly created library visual
959
960
  };
@@ -979,7 +980,7 @@ function Ia() {
979
980
  O.error("No sheet selected");
980
981
  return;
981
982
  }
982
- const x = p(), T = Bt(x);
983
+ const x = p(), T = Lt(x);
983
984
  if (T) {
984
985
  O.error(T);
985
986
  return;
@@ -1021,7 +1022,7 @@ function Ia() {
1021
1022
  const A = {
1022
1023
  ...H,
1023
1024
  // Card title already synced
1024
- id: gt(),
1025
+ id: ft(),
1025
1026
  visualId: void 0
1026
1027
  // Explicitly no visualId for local visuals
1027
1028
  };
@@ -1045,15 +1046,15 @@ function Ia() {
1045
1046
  isSaving: k.isPending
1046
1047
  };
1047
1048
  }
1048
- function On(t = {}) {
1049
- const { isInspectionMode: a } = or(), i = ge((A) => A.frame), s = ge((A) => A.editorContext), n = ir((A) => A.selectedVisual), c = P((A) => A.selectedFrameId), u = P((A) => A.selectedSheetId), m = P((A) => A.dashboard), { setIsVisualEditing: l, updateFrame: d } = be(), [o, f] = E(!1), [h, p] = E("both"), C = Dt(), y = (s == null ? void 0 : s.type) === "documentSection", D = !!(i != null && i.visualId || n != null && n.id), I = !!(i != null && i.visualId && c), N = D && !I, {
1049
+ function _n(t = {}) {
1050
+ const { isInspectionMode: a } = or(), i = ge((A) => A.frame), s = ge((A) => A.editorContext), n = ir((A) => A.selectedVisual), c = P((A) => A.selectedFrameId), u = P((A) => A.selectedSheetId), m = P((A) => A.dashboard), { setIsVisualEditing: l, updateFrame: d } = be(), [o, f] = E(!1), [h, p] = E("both"), C = St(), y = (s == null ? void 0 : s.type) === "documentSection", D = !!(i != null && i.visualId || n != null && n.id), I = !!(i != null && i.visualId && c), N = D && !I, {
1050
1051
  saveAsDialogOpen: g,
1051
1052
  setSaveAsDialogOpen: S,
1052
1053
  handleSaveAs: k,
1053
1054
  isLibraryVisual: U,
1054
1055
  currentVisualName: b,
1055
1056
  isSaving: x
1056
- } = Ia(), { getUpdatedFrame: T } = mt();
1057
+ } = Fa(), { getUpdatedFrame: T } = ht();
1057
1058
  if (a)
1058
1059
  return /* @__PURE__ */ r(W, { children: [
1059
1060
  /* @__PURE__ */ e(
@@ -1077,7 +1078,7 @@ function On(t = {}) {
1077
1078
  }
1078
1079
  if (o) return;
1079
1080
  f(!0);
1080
- const A = T(), V = Bt(A);
1081
+ const A = T(), V = Lt(A);
1081
1082
  if (V) {
1082
1083
  f(!1), O.error(V);
1083
1084
  return;
@@ -1135,7 +1136,7 @@ function On(t = {}) {
1135
1136
  onClick: F,
1136
1137
  disabled: o,
1137
1138
  children: [
1138
- /* @__PURE__ */ e(Lt, { className: "h-3.5 w-3.5" }),
1139
+ /* @__PURE__ */ e(Ft, { className: "h-3.5 w-3.5" }),
1139
1140
  o ? "Applying..." : "Apply Locally"
1140
1141
  ]
1141
1142
  }
@@ -1182,7 +1183,7 @@ function On(t = {}) {
1182
1183
  ] }),
1183
1184
  /* @__PURE__ */ e(Xe, {}),
1184
1185
  /* @__PURE__ */ e(
1185
- Ea,
1186
+ Ia,
1186
1187
  {
1187
1188
  open: g,
1188
1189
  onOpenChange: (A) => {
@@ -1197,11 +1198,11 @@ function On(t = {}) {
1197
1198
  )
1198
1199
  ] });
1199
1200
  }
1200
- function zn({ className: t }) {
1201
- const a = ge((d) => d.isDevMode), i = P((d) => d.isVisualEditing), { setIsDevMode: s } = Tt(), { config: n } = Wt(lr).tokenProps, c = (n == null ? void 0 : n.showAdvancedMode) !== !1;
1201
+ function $n({ className: t }) {
1202
+ const a = ge((d) => d.isDevMode), i = P((d) => d.isVisualEditing), { setIsDevMode: s } = Bt(), { config: n } = Wt(lr).tokenProps, c = (n == null ? void 0 : n.showAdvancedMode) !== !1;
1202
1203
  if (!i || !c)
1203
1204
  return null;
1204
- const u = a ? ut : cr, m = a ? "Drag & drop" : "SQL", l = a ? "Switch to drag-and-drop mode" : "Switch to SQL mode";
1205
+ const u = a ? pa : cr, m = a ? "Visual editor" : "SQL editor", l = a ? "Switch to visual editor" : "Switch to SQL editor";
1205
1206
  return /* @__PURE__ */ r(
1206
1207
  "button",
1207
1208
  {
@@ -1220,7 +1221,7 @@ function zn({ className: t }) {
1220
1221
  }
1221
1222
  );
1222
1223
  }
1223
- function _n({
1224
+ function jn({
1224
1225
  open: t,
1225
1226
  onOpenChange: a,
1226
1227
  onSave: i,
@@ -1260,12 +1261,12 @@ function _n({
1260
1261
  ] })
1261
1262
  ] }) });
1262
1263
  }
1263
- const Fa = 1e4, La = 15e3, Ba = 3e4, Ta = 3e4, Va = 12e4, vt = 2 * 60 * 60 * 1e3;
1264
- function Ra(t) {
1264
+ const La = 1e4, Ba = 15e3, Ta = 3e4, Va = 3e4, Ra = 12e4, xt = 2 * 60 * 60 * 1e3;
1265
+ function Ua(t) {
1265
1266
  const a = Date.now() - t.getTime();
1266
- return a < Ta ? Fa : a < Va ? La : Ba;
1267
+ return a < Va ? La : a < Ra ? Ba : Ta;
1267
1268
  }
1268
- function $n() {
1269
+ function Wn() {
1269
1270
  const { authToken: t, tokenProps: a } = $e(), i = ue((h) => h.activeExports), [s, n] = E(
1270
1271
  typeof document < "u" ? !document.hidden : !0
1271
1272
  ), c = he(null), u = he(!1), m = he(void 0), l = a == null ? void 0 : a.apiServiceUrl, d = t == null ? void 0 : t.accessToken, o = q(() => {
@@ -1294,7 +1295,7 @@ function $n() {
1294
1295
  return;
1295
1296
  }
1296
1297
  const p = Date.now(), C = h.filter(
1297
- (g) => p - g.startedAt.getTime() > vt
1298
+ (g) => p - g.startedAt.getTime() > xt
1298
1299
  );
1299
1300
  if (C.length > 0) {
1300
1301
  const { updateExport: g } = ue.getState().actions;
@@ -1306,7 +1307,7 @@ function $n() {
1306
1307
  });
1307
1308
  }
1308
1309
  const y = h.filter(
1309
- (g) => p - g.startedAt.getTime() <= vt
1310
+ (g) => p - g.startedAt.getTime() <= xt
1310
1311
  );
1311
1312
  if (y.length === 0) {
1312
1313
  u.current = !1;
@@ -1315,7 +1316,7 @@ function $n() {
1315
1316
  const D = await Promise.allSettled(
1316
1317
  y.map(async (g) => {
1317
1318
  try {
1318
- const S = await kt(l, d, g.id);
1319
+ const S = await Dt(l, d, g.id);
1319
1320
  let k;
1320
1321
  if (S.status === "completed")
1321
1322
  try {
@@ -1352,7 +1353,7 @@ function $n() {
1352
1353
  const g = N.reduce(
1353
1354
  (k, U) => U.startedAt < k ? U.startedAt : k,
1354
1355
  N[0].startedAt
1355
- ), S = Ra(g);
1356
+ ), S = Ua(g);
1356
1357
  c.current && clearTimeout(c.current), c.current = setTimeout(() => {
1357
1358
  var k;
1358
1359
  (k = m.current) == null || k.call(m);
@@ -1379,8 +1380,8 @@ function $n() {
1379
1380
  inProgressCount: o().length
1380
1381
  };
1381
1382
  }
1382
- function jn() {
1383
- const { authToken: t, tokenProps: a } = $e(), i = ue((m) => m.activeExports), { addExport: s } = At(), n = he(!1), c = a == null ? void 0 : a.apiServiceUrl, u = t == null ? void 0 : t.accessToken;
1383
+ function Hn() {
1384
+ const { authToken: t, tokenProps: a } = $e(), i = ue((m) => m.activeExports), { addExport: s } = kt(), n = he(!1), c = a == null ? void 0 : a.apiServiceUrl, u = t == null ? void 0 : t.accessToken;
1384
1385
  J(() => {
1385
1386
  if (n.current || !c || !u) return;
1386
1387
  (async () => {
@@ -1407,7 +1408,7 @@ function jn() {
1407
1408
  id: d.id,
1408
1409
  status: d.status,
1409
1410
  progress: o,
1410
- title: Ua(d),
1411
+ title: Pa(d),
1411
1412
  totalRows: d.totalRows,
1412
1413
  totalChunks: d.totalChunks,
1413
1414
  completedChunks: d.completedChunks,
@@ -1428,12 +1429,12 @@ function jn() {
1428
1429
  })();
1429
1430
  }, [c, u, s, i]);
1430
1431
  }
1431
- function Ua(t) {
1432
+ function Pa(t) {
1432
1433
  return t.title ? t.title : ct(
1433
1434
  t.status
1434
1435
  ) ? "Export in progress..." : t.status === "completed" ? "Export completed" : t.status === "failed" ? "Export failed" : "Export";
1435
1436
  }
1436
- function Pa({
1437
+ function Ma({
1437
1438
  export: t,
1438
1439
  onRemove: a
1439
1440
  }) {
@@ -1446,7 +1447,7 @@ function Pa({
1446
1447
  case "completed":
1447
1448
  return /* @__PURE__ */ e(pr, { className: "mt-0.5 h-5 w-5 shrink-0 text-green-600" });
1448
1449
  case "failed":
1449
- return /* @__PURE__ */ e(xa, { className: "mt-0.5 h-5 w-5 shrink-0 text-destructive" });
1450
+ return /* @__PURE__ */ e(va, { className: "mt-0.5 h-5 w-5 shrink-0 text-destructive" });
1450
1451
  default:
1451
1452
  return /* @__PURE__ */ e(te, { className: "text-foreground-muted mt-0.5 h-5 w-5 shrink-0 animate-spin" });
1452
1453
  }
@@ -1498,7 +1499,7 @@ function Pa({
1498
1499
  ] }),
1499
1500
  /* @__PURE__ */ r("div", { className: "ml-8", children: [
1500
1501
  t.status === "completed" && /* @__PURE__ */ r("div", { className: "flex items-center justify-between", children: [
1501
- /* @__PURE__ */ e("span", { className: "text-xs text-muted-foreground", children: bt(t.startedAt, { addSuffix: !0 }) }),
1502
+ /* @__PURE__ */ e("span", { className: "text-xs text-muted-foreground", children: gt(t.startedAt, { addSuffix: !0 }) }),
1502
1503
  t.downloadUrl && /* @__PURE__ */ r(
1503
1504
  B,
1504
1505
  {
@@ -1520,12 +1521,12 @@ function Pa({
1520
1521
  "% complete"
1521
1522
  ] })
1522
1523
  ] }),
1523
- t.status === "failed" && /* @__PURE__ */ e("span", { className: "text-xs text-muted-foreground", children: bt(t.startedAt, { addSuffix: !0 }) })
1524
+ t.status === "failed" && /* @__PURE__ */ e("span", { className: "text-xs text-muted-foreground", children: gt(t.startedAt, { addSuffix: !0 }) })
1524
1525
  ] })
1525
1526
  ] });
1526
1527
  }
1527
- function Ma() {
1528
- const { authToken: t, tokenProps: a } = $e(), i = ue((y) => y.activeExports), { clearCompleted: s, removeExport: n, updateExport: c } = At(), [u, m] = E(!1), [l, d] = E(!1), o = Array.from(i.values()).sort(
1528
+ function Oa() {
1529
+ const { authToken: t, tokenProps: a } = $e(), i = ue((y) => y.activeExports), { clearCompleted: s, removeExport: n, updateExport: c } = kt(), [u, m] = E(!1), [l, d] = E(!1), o = Array.from(i.values()).sort(
1529
1530
  (y, D) => D.startedAt.getTime() - y.startedAt.getTime()
1530
1531
  ), f = o.some(
1531
1532
  (y) => y.status === "completed" || y.status === "failed"
@@ -1538,7 +1539,7 @@ function Ma() {
1538
1539
  await Promise.all(
1539
1540
  I.map(async (N) => {
1540
1541
  try {
1541
- const g = await kt(y, D, N.id);
1542
+ const g = await Dt(y, D, N.id);
1542
1543
  let S;
1543
1544
  if (g.status === "completed")
1544
1545
  try {
@@ -1585,7 +1586,7 @@ function Ma() {
1585
1586
  const I = o.filter(
1586
1587
  (g) => g.status === "completed" || g.status === "failed"
1587
1588
  ), N = await Promise.allSettled(
1588
- I.map(async (g) => (await ft(y, D, g.id), g.id))
1589
+ I.map(async (g) => (await pt(y, D, g.id), g.id))
1589
1590
  );
1590
1591
  for (const g of N)
1591
1592
  g.status === "fulfilled" ? n(g.value) : console.error("Failed to delete export:", g.reason);
@@ -1603,7 +1604,7 @@ function Ma() {
1603
1604
  const D = a == null ? void 0 : a.apiServiceUrl, I = t == null ? void 0 : t.accessToken;
1604
1605
  if (D && I)
1605
1606
  try {
1606
- await ft(D, I, y), n(y);
1607
+ await pt(D, I, y), n(y);
1607
1608
  return;
1608
1609
  } catch (N) {
1609
1610
  console.error(`Failed to cancel export ${y}:`, N);
@@ -1613,13 +1614,13 @@ function Ma() {
1613
1614
  [a == null ? void 0 : a.apiServiceUrl, t == null ? void 0 : t.accessToken, n]
1614
1615
  );
1615
1616
  return o.length === 0 ? /* @__PURE__ */ r("div", { className: "p-6 text-center", children: [
1616
- /* @__PURE__ */ e(xt, { className: "mx-auto mb-2 h-8 w-8 text-muted-foreground" }),
1617
+ /* @__PURE__ */ e(bt, { className: "mx-auto mb-2 h-8 w-8 text-muted-foreground" }),
1617
1618
  /* @__PURE__ */ e("p", { className: "text-sm text-muted-foreground", children: "No active exports" }),
1618
1619
  /* @__PURE__ */ e("p", { className: "mt-1 text-xs text-muted-foreground", children: "Large exports will appear here" })
1619
1620
  ] }) : /* @__PURE__ */ r("div", { className: "flex flex-col", children: [
1620
1621
  /* @__PURE__ */ r("div", { className: "flex items-center justify-between border-b px-4 py-3", children: [
1621
1622
  /* @__PURE__ */ r("div", { className: "flex items-center gap-2", children: [
1622
- /* @__PURE__ */ e(xt, { className: "h-5 w-5 text-muted-foreground" }),
1623
+ /* @__PURE__ */ e(bt, { className: "h-5 w-5 text-muted-foreground" }),
1623
1624
  /* @__PURE__ */ e("h4", { className: "font-semibold", children: "Exports" })
1624
1625
  ] }),
1625
1626
  /* @__PURE__ */ r("div", { className: "flex items-center gap-1", children: [
@@ -1654,7 +1655,7 @@ function Ma() {
1654
1655
  ] })
1655
1656
  ] }),
1656
1657
  /* @__PURE__ */ e("div", { className: "max-h-[350px] overflow-y-auto", children: /* @__PURE__ */ e("div", { className: "divide-y", children: o.map((y) => /* @__PURE__ */ e(
1657
- Pa,
1658
+ Ma,
1658
1659
  {
1659
1660
  export: y,
1660
1661
  onRemove: C
@@ -1663,7 +1664,7 @@ function Ma() {
1663
1664
  )) }) })
1664
1665
  ] });
1665
1666
  }
1666
- function Wn({
1667
+ function Gn({
1667
1668
  variant: t
1668
1669
  }) {
1669
1670
  const a = ue((l) => l.activeExports), i = gr(), s = a.size > 0, n = Array.from(a.values()).some(
@@ -1689,10 +1690,10 @@ function Wn({
1689
1690
  ]
1690
1691
  }
1691
1692
  ) }),
1692
- /* @__PURE__ */ e(Me, { className: "w-80 p-0", align: "end", sideOffset: 8, children: /* @__PURE__ */ e(Ma, {}) })
1693
+ /* @__PURE__ */ e(Me, { className: "w-80 p-0", align: "end", sideOffset: 8, children: /* @__PURE__ */ e(Oa, {}) })
1693
1694
  ] });
1694
1695
  }
1695
- function Oa(t) {
1696
+ function za(t) {
1696
1697
  if (t)
1697
1698
  return {
1698
1699
  renamed: t.type === "rename" ? { oldId: t.oldId, newId: t.newId } : void 0,
@@ -1701,7 +1702,7 @@ function Oa(t) {
1701
1702
  affectedBindingControlIds: t.type === "add" || t.type === "update" ? t.affectedBindingControlIds : void 0
1702
1703
  };
1703
1704
  }
1704
- function za({
1705
+ function _a({
1705
1706
  open: t,
1706
1707
  onOpenChange: a,
1707
1708
  trigger: i,
@@ -1763,7 +1764,7 @@ function za({
1763
1764
  p(
1764
1765
  x,
1765
1766
  T,
1766
- Oa(F)
1767
+ za(F)
1767
1768
  );
1768
1769
  }, S = q(() => {
1769
1770
  if (c) {
@@ -1798,7 +1799,7 @@ function za({
1798
1799
  ] });
1799
1800
  return s ? /* @__PURE__ */ r(Ue, { open: o, onOpenChange: m, children: [
1800
1801
  /* @__PURE__ */ e(Pe, { asChild: !0, children: i || /* @__PURE__ */ r(B, { variant: "outline", className: "h-7 px-2", size: "sm", children: [
1801
- /* @__PURE__ */ e(ut, { className: "mr-2 h-4 w-4" }),
1802
+ /* @__PURE__ */ e(Tt, { className: "mr-2 h-4 w-4" }),
1802
1803
  "Controls"
1803
1804
  ] }) }),
1804
1805
  /* @__PURE__ */ e(
@@ -1839,7 +1840,7 @@ function za({
1839
1840
  }
1840
1841
  ) });
1841
1842
  }
1842
- const _a = [
1843
+ const $a = [
1843
1844
  "enum",
1844
1845
  "multi_enum",
1845
1846
  "text",
@@ -1847,7 +1848,7 @@ const _a = [
1847
1848
  "boolean",
1848
1849
  "date"
1849
1850
  ];
1850
- function $a({
1851
+ function ja({
1851
1852
  open: t,
1852
1853
  onOpenChange: a,
1853
1854
  initialMode: i = "manage"
@@ -1879,10 +1880,10 @@ function $a({
1879
1880
  () => D.map((x) => x.control),
1880
1881
  [D]
1881
1882
  ), N = ee(
1882
- () => Wa(I),
1883
+ () => Ha(I),
1883
1884
  [I]
1884
1885
  ), g = ee(
1885
- () => ja(o),
1886
+ () => Wa(o),
1886
1887
  [o]
1887
1888
  ), S = q(() => {
1888
1889
  if (s) {
@@ -1893,7 +1894,7 @@ function $a({
1893
1894
  }, [s, n, d]), k = q(
1894
1895
  (x, T, F) => {
1895
1896
  !C || !(p != null && p.document) || h(
1896
- Ga({
1897
+ Ka({
1897
1898
  allInputs: o.inputs || [],
1898
1899
  documentSheetId: p.id,
1899
1900
  currentDocumentInputs: y,
@@ -1940,7 +1941,7 @@ function $a({
1940
1941
  availableMetricChoices: [],
1941
1942
  structuralParticipants: [],
1942
1943
  structuralParticipantIdsByControlId: {},
1943
- allowedControlTypes: _a,
1944
+ allowedControlTypes: $a,
1944
1945
  initialCreateFlow: i === "create",
1945
1946
  onCreateFlowActiveChange: d,
1946
1947
  onCreateFlowComplete: S,
@@ -1952,22 +1953,22 @@ function $a({
1952
1953
  }
1953
1954
  ) });
1954
1955
  }
1955
- function ja(t) {
1956
+ function Wa(t) {
1956
1957
  return (t.controls || []).map((a) => a.id);
1957
1958
  }
1958
- function Wa(t) {
1959
+ function Ha(t) {
1959
1960
  const a = {};
1960
1961
  for (const i of t)
1961
1962
  i.defaultValue !== void 0 && (a[i.id] = i.defaultValue);
1962
1963
  return a;
1963
1964
  }
1964
- function Ha(t, a) {
1965
+ function Ga(t, a) {
1965
1966
  return a ? Object.prototype.hasOwnProperty.call(a, t.id) ? {
1966
1967
  ...t,
1967
1968
  defaultValue: a[t.id]
1968
1969
  } : t.defaultValue === void 0 ? t : { ...t, defaultValue: void 0 } : t.defaultValue === void 0 ? t : { ...t, defaultValue: void 0 };
1969
1970
  }
1970
- function Ga({
1971
+ function Ka({
1971
1972
  allInputs: t,
1972
1973
  documentSheetId: a,
1973
1974
  currentDocumentInputs: i,
@@ -1978,7 +1979,7 @@ function Ga({
1978
1979
  const u = new Map(
1979
1980
  s.map((h) => [
1980
1981
  h.id,
1981
- Ha(h, n)
1982
+ Ga(h, n)
1982
1983
  ])
1983
1984
  ), m = (c == null ? void 0 : c.type) === "rename" ? { oldId: c.oldId, newId: c.newId } : null, l = /* @__PURE__ */ new Set(), d = [];
1984
1985
  for (const h of i) {
@@ -2019,7 +2020,7 @@ function Ga({
2019
2020
  (h) => !o.has(h.id)
2020
2021
  ), ...d];
2021
2022
  }
2022
- function Ka({
2023
+ function qa({
2023
2024
  showFilters: t,
2024
2025
  onShowFiltersChange: a,
2025
2026
  pickerContent: i,
@@ -2055,7 +2056,7 @@ function Ka({
2055
2056
  u
2056
2057
  ),
2057
2058
  children: [
2058
- t ? /* @__PURE__ */ e(ua, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ e(Et, { className: "h-3.5 w-3.5" }),
2059
+ t ? /* @__PURE__ */ e(ua, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ e(At, { className: "h-3.5 w-3.5" }),
2059
2060
  "Filter"
2060
2061
  ]
2061
2062
  }
@@ -2106,9 +2107,9 @@ function Ka({
2106
2107
  }
2107
2108
  );
2108
2109
  }
2109
- function qa() {
2110
+ function Xa() {
2110
2111
  ha();
2111
- const t = P((l) => l.selectedSheetId), a = P((l) => l.selectedFrameId), i = P((l) => l.dashboard), s = P((l) => l.actions.getSelectedFrame), { setSelectedFrameId: n } = be(), { setCard: c } = Tt(), u = ge((l) => l.card.dataSource);
2112
+ const t = P((l) => l.selectedSheetId), a = P((l) => l.selectedFrameId), i = P((l) => l.dashboard), s = P((l) => l.actions.getSelectedFrame), { setSelectedFrameId: n } = be(), { setCard: c } = Bt(), u = ge((l) => l.card.dataSource);
2112
2113
  return J(() => {
2113
2114
  var d, o;
2114
2115
  let l = s();
@@ -2124,10 +2125,10 @@ function qa() {
2124
2125
  hasEntities: !!(u != null && u.selectedEntities && u.selectedEntities.length > 0)
2125
2126
  };
2126
2127
  }
2127
- function Xa() {
2128
+ function Ya() {
2128
2129
  const t = P((l) => l.dashboard), a = P(
2129
2130
  (l) => l.semanticExecutionPayload
2130
- ), i = P((l) => l.actions.addFilter), { hasEntities: s } = qa(), { isLoading: n } = Dr(), c = ee(
2131
+ ), i = P((l) => l.actions.addFilter), { hasEntities: s } = Xa(), { isLoading: n } = Dr(), c = ee(
2131
2132
  () => ra(t, a),
2132
2133
  [t, a]
2133
2134
  ), m = !aa(t.filters) && c.hasEligibleCards && !n;
@@ -2140,7 +2141,7 @@ function Xa() {
2140
2141
  title: `Applies to ${c.eligibleCardCount} of ${c.totalCardCount} date-aware cards`,
2141
2142
  className: "flex w-full items-start gap-2 rounded-[4px] px-2 py-1.5 text-left outline-none transition-colors hover:bg-muted/40 focus-visible:bg-muted/40 focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-border",
2142
2143
  children: [
2143
- /* @__PURE__ */ e(ba, { className: "mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
2144
+ /* @__PURE__ */ e(xa, { className: "mt-0.5 h-3.5 w-3.5 shrink-0 text-muted-foreground" }),
2144
2145
  /* @__PURE__ */ r("span", { className: "flex min-w-0 flex-col", children: [
2145
2146
  /* @__PURE__ */ e("span", { className: "text-[12px] font-medium text-foreground", children: "Add global date filter" }),
2146
2147
  /* @__PURE__ */ e("span", { className: "text-[11px] leading-[1.4] text-muted-foreground", children: "One date range across all date-aware cards." })
@@ -2156,8 +2157,8 @@ function Xa() {
2156
2157
  s && /* @__PURE__ */ e("div", { className: "flex flex-1 overflow-hidden", children: /* @__PURE__ */ e(Ar, { context: "filter" }) })
2157
2158
  ] });
2158
2159
  }
2159
- const yt = !1;
2160
- function Ya({
2160
+ const vt = !1;
2161
+ function Za({
2161
2162
  onAddFilter: t,
2162
2163
  onAddControl: a,
2163
2164
  onManageControls: i,
@@ -2173,7 +2174,7 @@ function Ya({
2173
2174
  /* @__PURE__ */ e(
2174
2175
  Ye,
2175
2176
  {
2176
- icon: Et,
2177
+ icon: At,
2177
2178
  label: "Add filter",
2178
2179
  onClick: () => {
2179
2180
  t(), s();
@@ -2183,7 +2184,7 @@ function Ya({
2183
2184
  /* @__PURE__ */ e(
2184
2185
  Ye,
2185
2186
  {
2186
- icon: ut,
2187
+ icon: Tt,
2187
2188
  label: "Add control",
2188
2189
  onClick: () => {
2189
2190
  a(), s();
@@ -2193,7 +2194,7 @@ function Ya({
2193
2194
  /* @__PURE__ */ e(
2194
2195
  Ye,
2195
2196
  {
2196
- icon: It,
2197
+ icon: Et,
2197
2198
  label: "Manage controls",
2198
2199
  onClick: () => {
2199
2200
  i(), s();
@@ -2204,9 +2205,9 @@ function Ya({
2204
2205
  /* @__PURE__ */ e("div", { className: "border-t border-border/60" }),
2205
2206
  /* @__PURE__ */ r("div", { className: "space-y-1 p-2", children: [
2206
2207
  /* @__PURE__ */ e("p", { className: "px-1 text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground", children: "Display" }),
2207
- yt,
2208
+ vt,
2208
2209
  /* @__PURE__ */ e(
2209
- Za,
2210
+ Qa,
2210
2211
  {
2211
2212
  id: "filter-display-wrap",
2212
2213
  label: "Wrap to multiple lines",
@@ -2214,7 +2215,7 @@ function Ya({
2214
2215
  onCheckedChange: (m) => c({ toolbarWrap: m === !0 })
2215
2216
  }
2216
2217
  ),
2217
- yt
2218
+ vt
2218
2219
  ] })
2219
2220
  ] });
2220
2221
  }
@@ -2236,7 +2237,7 @@ function Ye({
2236
2237
  }
2237
2238
  );
2238
2239
  }
2239
- function Za({
2240
+ function Qa({
2240
2241
  id: t,
2241
2242
  label: a,
2242
2243
  checked: i,
@@ -2254,7 +2255,7 @@ function Za({
2254
2255
  )
2255
2256
  ] });
2256
2257
  }
2257
- function Hn({
2258
+ function Kn({
2258
2259
  size: t,
2259
2260
  className: a,
2260
2261
  primaryButtonClassName: i,
@@ -2293,13 +2294,13 @@ function Hn({
2293
2294
  }, [I]);
2294
2295
  return /* @__PURE__ */ r(W, { children: [
2295
2296
  /* @__PURE__ */ e(
2296
- Ka,
2297
+ qa,
2297
2298
  {
2298
2299
  showFilters: D ? !1 : o,
2299
2300
  onShowFiltersChange: N,
2300
- pickerContent: /* @__PURE__ */ e(Xa, {}),
2301
+ pickerContent: /* @__PURE__ */ e(Ya, {}),
2301
2302
  settingsContent: (b) => /* @__PURE__ */ e(
2302
- Ya,
2303
+ Za,
2303
2304
  {
2304
2305
  onAddFilter: g,
2305
2306
  onAddControl: S,
@@ -2316,7 +2317,7 @@ function Hn({
2316
2317
  }
2317
2318
  ),
2318
2319
  u ? D ? /* @__PURE__ */ e(
2319
- $a,
2320
+ ja,
2320
2321
  {
2321
2322
  open: !0,
2322
2323
  onOpenChange: (b) => {
@@ -2325,7 +2326,7 @@ function Hn({
2325
2326
  initialMode: u
2326
2327
  }
2327
2328
  ) : /* @__PURE__ */ e(
2328
- za,
2329
+ _a,
2329
2330
  {
2330
2331
  open: !0,
2331
2332
  onOpenChange: (b) => {
@@ -2337,7 +2338,7 @@ function Hn({
2337
2338
  ) : null
2338
2339
  ] });
2339
2340
  }
2340
- function Qa({
2341
+ function Ja({
2341
2342
  disabled: t,
2342
2343
  briefingCount: a,
2343
2344
  className: i,
@@ -2355,18 +2356,18 @@ function Qa({
2355
2356
  onClick: s,
2356
2357
  "aria-label": "Reports & briefings",
2357
2358
  children: [
2358
- /* @__PURE__ */ e(va, { className: "h-3.5 w-3.5" }),
2359
+ /* @__PURE__ */ e(ya, { className: "h-3.5 w-3.5" }),
2359
2360
  "Reports & briefings",
2360
2361
  n ? /* @__PURE__ */ e("span", { className: "ml-0.5 rounded-control bg-muted px-1 text-[10px] tabular-nums text-foreground/70", children: a }) : null
2361
2362
  ]
2362
2363
  }
2363
2364
  );
2364
2365
  }
2365
- const Ja = "text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground", Ot = "inline-flex h-7 items-center gap-1.5 rounded-control px-2 text-[12px] text-muted-foreground hover:bg-muted hover:text-foreground disabled:opacity-50", Te = "inline-flex h-7 items-center gap-1.5 rounded-control bg-primary px-3 text-[12px] font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50";
2366
- function en(t) {
2366
+ const en = "text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground", Ot = "inline-flex h-7 items-center gap-1.5 rounded-control px-2 text-[12px] text-muted-foreground hover:bg-muted hover:text-foreground disabled:opacity-50", Te = "inline-flex h-7 items-center gap-1.5 rounded-control bg-primary px-3 text-[12px] font-medium text-primary-foreground hover:bg-primary/90 disabled:opacity-50";
2367
+ function tn(t) {
2367
2368
  return t === "dashboard" ? "This dashboard" : "Project";
2368
2369
  }
2369
- function tn(t) {
2370
+ function rn(t) {
2370
2371
  if (!t) return "Never";
2371
2372
  const a = new Date(t);
2372
2373
  if (Number.isNaN(a.getTime())) return "Unknown";
@@ -2380,13 +2381,13 @@ function tn(t) {
2380
2381
  const u = Math.round(c / 7);
2381
2382
  return u < 5 ? `${u}w ago` : `${Math.round(c / 30)}mo ago`;
2382
2383
  }
2383
- function rn(t) {
2384
- return t.scheduleExpr ? pa(
2384
+ function an(t) {
2385
+ return t.scheduleExpr ? fa(
2385
2386
  t.scheduleExpr,
2386
2387
  t.timezone || "UTC"
2387
2388
  ) ?? "Invalid schedule" : "On demand";
2388
2389
  }
2389
- function an(t) {
2390
+ function nn(t) {
2390
2391
  if (t.lastRunStatus) {
2391
2392
  const a = t.lastRunStatus.toString().toUpperCase();
2392
2393
  return a === "SUCCESS" ? "Last run completed." : a === "FAILED" ? "Last run failed." : `Last run ${t.lastRunStatus.toString().toLowerCase()}`;
@@ -2396,10 +2397,10 @@ function an(t) {
2396
2397
  function zt(t) {
2397
2398
  return t.hasActiveRun ? "Running" : t.lastRunStatus ? `Last run ${t.lastRunStatus.toString().toLowerCase()}` : "Idle";
2398
2399
  }
2399
- function nn(t) {
2400
+ function sn(t) {
2400
2401
  return t.source.type === "dashboard" ? "This dashboard" : "Project";
2401
2402
  }
2402
- function sn({
2403
+ function on({
2403
2404
  activeView: t,
2404
2405
  onChange: a
2405
2406
  }) {
@@ -2422,7 +2423,7 @@ function sn({
2422
2423
  "h-6 rounded-[3px] px-2 text-[11px] transition-colors",
2423
2424
  s ? "bg-background font-medium text-foreground shadow-sm" : "text-muted-foreground hover:text-foreground"
2424
2425
  ),
2425
- children: en(i)
2426
+ children: tn(i)
2426
2427
  },
2427
2428
  i
2428
2429
  );
@@ -2430,7 +2431,7 @@ function sn({
2430
2431
  }
2431
2432
  );
2432
2433
  }
2433
- function on({
2434
+ function ln({
2434
2435
  briefings: t,
2435
2436
  dashboardLabel: a,
2436
2437
  sourceView: i,
@@ -2461,7 +2462,7 @@ function on({
2461
2462
  children: [
2462
2463
  g ? null : /* @__PURE__ */ r("header", { className: "flex items-start justify-between gap-3 border-b border-border px-4 py-3", children: [
2463
2464
  /* @__PURE__ */ r("div", { className: "min-w-0", children: [
2464
- /* @__PURE__ */ e("div", { className: Ja, children: x }),
2465
+ /* @__PURE__ */ e("div", { className: en, children: x }),
2465
2466
  /* @__PURE__ */ e("h2", { className: "mt-0.5 truncate text-[14px] font-semibold leading-5", children: T })
2466
2467
  ] }),
2467
2468
  /* @__PURE__ */ e(
@@ -2478,7 +2479,7 @@ function on({
2478
2479
  /* @__PURE__ */ r("div", { className: "flex items-center justify-between gap-3 border-b border-border px-4 py-2", children: [
2479
2480
  /* @__PURE__ */ r("div", { className: "flex min-w-0 items-center gap-3", children: [
2480
2481
  /* @__PURE__ */ e(
2481
- sn,
2482
+ on,
2482
2483
  {
2483
2484
  activeView: i,
2484
2485
  onChange: c
@@ -2560,7 +2561,7 @@ function on({
2560
2561
  /* @__PURE__ */ r("div", { className: "flex-1 overflow-y-auto", children: [
2561
2562
  s ? /* @__PURE__ */ e("div", { className: "m-4 rounded-card border border-destructive/30 bg-destructive/10 px-3 py-2 text-[12px] text-destructive", children: s }) : null,
2562
2563
  !n && t.length === 0 && !s ? /* @__PURE__ */ e(
2563
- ln,
2564
+ cn,
2564
2565
  {
2565
2566
  onNew: l,
2566
2567
  canCreate: d,
@@ -2570,7 +2571,7 @@ function on({
2570
2571
  }
2571
2572
  ) : null,
2572
2573
  t.map((F) => /* @__PURE__ */ e(
2573
- dn,
2574
+ un,
2574
2575
  {
2575
2576
  briefing: F,
2576
2577
  isOpening: y === F.id,
@@ -2590,7 +2591,7 @@ function on({
2590
2591
  className: X(Ot, "h-6 px-1 text-[11px]"),
2591
2592
  children: [
2592
2593
  "Manage all reports & briefings",
2593
- /* @__PURE__ */ e(ga, { className: "h-3 w-3" })
2594
+ /* @__PURE__ */ e(ba, { className: "h-3 w-3" })
2594
2595
  ]
2595
2596
  }
2596
2597
  ) }) : null
@@ -2598,7 +2599,7 @@ function on({
2598
2599
  }
2599
2600
  );
2600
2601
  }
2601
- function ln({
2602
+ function cn({
2602
2603
  onNew: t,
2603
2604
  canCreate: a,
2604
2605
  canCreateScheduledReport: i,
@@ -2613,7 +2614,7 @@ function ln({
2613
2614
  description: "Create an analytical briefing to monitor this dashboard and brief your team."
2614
2615
  } : null;
2615
2616
  return /* @__PURE__ */ r("div", { className: "flex h-full flex-col items-center justify-center px-8 py-12 text-center", children: [
2616
- /* @__PURE__ */ e(cn, { className: "mb-5 h-[88px] w-[112px] text-border" }),
2617
+ /* @__PURE__ */ e(dn, { className: "mb-5 h-[88px] w-[112px] text-border" }),
2617
2618
  /* @__PURE__ */ e("div", { className: "text-[13px] font-medium text-foreground", children: (c == null ? void 0 : c.title) ?? "Have an analyst brief your team" }),
2618
2619
  /* @__PURE__ */ e("p", { className: "mt-1.5 max-w-[320px] text-[12px] leading-5 text-muted-foreground", children: (c == null ? void 0 : c.description) ?? "Describe what to watch. An analyst digs into this dashboard and the data behind it, then briefs your team on the cadence you choose." }),
2619
2620
  a ? /* @__PURE__ */ r("div", { className: "mt-4 flex flex-wrap justify-center gap-2", children: [
@@ -2639,7 +2640,7 @@ function ln({
2639
2640
  ] }) : null
2640
2641
  ] });
2641
2642
  }
2642
- function cn({ className: t }) {
2643
+ function dn({ className: t }) {
2643
2644
  return /* @__PURE__ */ r(
2644
2645
  "svg",
2645
2646
  {
@@ -2816,7 +2817,7 @@ function cn({ className: t }) {
2816
2817
  }
2817
2818
  );
2818
2819
  }
2819
- function dn({
2820
+ function un({
2820
2821
  briefing: t,
2821
2822
  isOpening: a,
2822
2823
  isBusy: i,
@@ -2825,7 +2826,7 @@ function dn({
2825
2826
  onTogglePause: c,
2826
2827
  onDelete: u
2827
2828
  }) {
2828
- const m = t.status === "PAUSED", l = t.hasActiveRun, d = an(t), o = tn(t.lastRunAt), f = t.lastRunStatus, h = se(t), p = f === "SUCCESS" ? Be.success.dot : f === "FAILED" ? Be.danger.dot : f ? Be.warning.dot : Be.neutral.dot;
2829
+ const m = t.status === "PAUSED", l = t.hasActiveRun, d = nn(t), o = rn(t.lastRunAt), f = t.lastRunStatus, h = se(t), p = f === "SUCCESS" ? Be.success.dot : f === "FAILED" ? Be.danger.dot : f ? Be.warning.dot : Be.neutral.dot;
2829
2830
  return /* @__PURE__ */ r(
2830
2831
  "div",
2831
2832
  {
@@ -2852,10 +2853,10 @@ function dn({
2852
2853
  /* @__PURE__ */ r("div", { className: "mt-1 flex flex-wrap items-center gap-x-1.5 text-[11px] text-muted-foreground", children: [
2853
2854
  /* @__PURE__ */ e("span", { children: h.typeLabel }),
2854
2855
  /* @__PURE__ */ e("span", { className: "text-border", children: "·" }),
2855
- /* @__PURE__ */ e("span", { children: nn(t) }),
2856
+ /* @__PURE__ */ e("span", { children: sn(t) }),
2856
2857
  /* @__PURE__ */ e("span", { className: "text-border", children: "·" }),
2857
2858
  /* @__PURE__ */ e(Ir, { className: "h-3 w-3" }),
2858
- /* @__PURE__ */ e("span", { className: "truncate", children: rn(t) }),
2859
+ /* @__PURE__ */ e("span", { className: "truncate", children: an(t) }),
2859
2860
  t.lastRunAt ? /* @__PURE__ */ r(W, { children: [
2860
2861
  /* @__PURE__ */ e("span", { className: "text-border", children: "·" }),
2861
2862
  /* @__PURE__ */ r("span", { children: [
@@ -2887,12 +2888,12 @@ function dn({
2887
2888
  onClick: (C) => C.stopPropagation(),
2888
2889
  className: "inline-flex h-6 w-6 items-center justify-center rounded-control text-muted-foreground/70 opacity-60 hover:bg-muted hover:text-foreground/80 focus-visible:opacity-100 group-hover:opacity-100",
2889
2890
  "aria-label": `${h.noun === "report" ? "Report" : "Briefing"} actions`,
2890
- children: /* @__PURE__ */ e(St, { className: "h-3.5 w-3.5" })
2891
+ children: /* @__PURE__ */ e(Nt, { className: "h-3.5 w-3.5" })
2891
2892
  }
2892
2893
  ) }),
2893
2894
  /* @__PURE__ */ r(_e, { align: "end", className: "w-44", children: [
2894
2895
  /* @__PURE__ */ r(K, { onClick: s, children: [
2895
- /* @__PURE__ */ e(It, { className: "h-3.5 w-3.5" }),
2896
+ /* @__PURE__ */ e(Et, { className: "h-3.5 w-3.5" }),
2896
2897
  "Edit ",
2897
2898
  h.noun
2898
2899
  ] }),
@@ -2944,19 +2945,19 @@ function dn({
2944
2945
  }
2945
2946
  );
2946
2947
  }
2947
- const un = 2e3, hn = 20 * 6e4;
2948
- function mn(t) {
2948
+ const hn = 2e3, mn = 20 * 6e4;
2949
+ function pn(t) {
2949
2950
  return (t == null ? void 0 : t.trim()) || "This dashboard";
2950
2951
  }
2951
- function pn(t) {
2952
+ function fn(t) {
2952
2953
  return t === "This dashboard" ? "Watch this dashboard" : `Watch ${t}`;
2953
2954
  }
2954
- function fn(t, a, i) {
2955
+ function gn(t, a, i) {
2955
2956
  return a !== "dashboard" ? t : t.filter(
2956
2957
  (s) => s.source.type === "dashboard" && s.source.dashboardId === i
2957
2958
  );
2958
2959
  }
2959
- async function gn(t) {
2960
+ async function bn(t) {
2960
2961
  const i = [];
2961
2962
  let s = 1, n = 0, c = Number.POSITIVE_INFINITY;
2962
2963
  for (; n < c; ) {
@@ -2970,7 +2971,7 @@ async function gn(t) {
2970
2971
  }
2971
2972
  return i;
2972
2973
  }
2973
- const bn = {
2974
+ const xn = {
2974
2975
  listBriefings: zr,
2975
2976
  getBriefing: Or,
2976
2977
  pauseBriefing: Mr,
@@ -2978,7 +2979,7 @@ const bn = {
2978
2979
  deleteBriefing: Ur,
2979
2980
  runBriefingNow: Rr
2980
2981
  };
2981
- function xn({
2982
+ function vn({
2982
2983
  briefingId: t,
2983
2984
  initialRun: a,
2984
2985
  apiServiceUrl: i,
@@ -2990,8 +2991,8 @@ function xn({
2990
2991
  const [m, l] = E(a), { startRun: d } = qr({
2991
2992
  apiServiceUrl: i,
2992
2993
  token: s,
2993
- intervalMs: un,
2994
- timeoutMs: hn,
2994
+ intervalMs: hn,
2995
+ timeoutMs: mn,
2995
2996
  fetchRun: ({
2996
2997
  apiServiceUrl: f,
2997
2998
  token: h,
@@ -3011,10 +3012,10 @@ function xn({
3011
3012
  o.current || (o.current = !0, Yr(a.status) ? d(a) : Zr(a.status) && n(a));
3012
3013
  }, [a, n, d]), /* @__PURE__ */ e(Qr, { run: m, onExpand: u });
3013
3014
  }
3014
- function Gn(t) {
3015
- return /* @__PURE__ */ e(Tr, { children: /* @__PURE__ */ e(vn, { ...t }) });
3015
+ function qn(t) {
3016
+ return /* @__PURE__ */ e(Tr, { children: /* @__PURE__ */ e(yn, { ...t }) });
3016
3017
  }
3017
- function vn({
3018
+ function yn({
3018
3019
  dashboardId: t,
3019
3020
  dashboardTitle: a,
3020
3021
  apiServiceUrl: i,
@@ -3045,8 +3046,8 @@ function vn({
3045
3046
  }, [N, o]);
3046
3047
  const [ce, me] = E(
3047
3048
  null
3048
- ), [Q, Ce] = E(null), _ = i ?? (p == null ? void 0 : p.apiServiceUrl), $ = s ?? (h == null ? void 0 : h.accessToken), ne = ee(() => ({ ...bn, ...f }), [f]), pe = mn(a), Ie = ee(() => {
3049
- const w = fn(
3049
+ ), [Q, Ce] = E(null), _ = i ?? (p == null ? void 0 : p.apiServiceUrl), $ = s ?? (h == null ? void 0 : h.accessToken), ne = ee(() => ({ ...xn, ...f }), [f]), pe = pn(a), Ie = ee(() => {
3050
+ const w = gn(
3050
3051
  F,
3051
3052
  x,
3052
3053
  t
@@ -3060,12 +3061,12 @@ function vn({
3060
3061
  }, [t, F, x, o]), Ge = ee(() => x === "dashboard" ? {
3061
3062
  source: { type: "dashboard", dashboardId: t },
3062
3063
  label: pe,
3063
- detail: pn(pe)
3064
+ detail: fn(pe)
3064
3065
  } : {
3065
3066
  source: { type: "project" },
3066
3067
  label: "This project",
3067
3068
  detail: "Use any data in this project."
3068
- }, [t, pe, x]), we = !!(_ && $), de = fa({
3069
+ }, [t, pe, x]), we = !!(_ && $), de = ga({
3069
3070
  canCreate: C.canCreate,
3070
3071
  analyticalBriefingsEnabled: C.analyticalBriefingsEnabled,
3071
3072
  scheduledReportAvailable: x === "dashboard"
@@ -3074,7 +3075,7 @@ function vn({
3074
3075
  G(!0), le(null);
3075
3076
  try {
3076
3077
  H(
3077
- await gn({
3078
+ await bn({
3078
3079
  apiClient: ne,
3079
3080
  apiServiceUrl: _,
3080
3081
  token: $
@@ -3122,7 +3123,7 @@ function vn({
3122
3123
  _,
3123
3124
  $,
3124
3125
  w.id,
3125
- { requestId: yn() }
3126
+ { requestId: Cn() }
3126
3127
  ), Y();
3127
3128
  } catch (R) {
3128
3129
  O.error(
@@ -3178,7 +3179,7 @@ function vn({
3178
3179
  }, $t = Ie.length;
3179
3180
  return C.surfaceVisible ? /* @__PURE__ */ r(_r, { open: N, onOpenChange: g, children: [
3180
3181
  d ? null : /* @__PURE__ */ e(
3181
- Qa,
3182
+ Ja,
3182
3183
  {
3183
3184
  disabled: n || !we,
3184
3185
  briefingCount: $t,
@@ -3257,7 +3258,7 @@ function vn({
3257
3258
  )
3258
3259
  ] }) : null,
3259
3260
  j === "list" ? /* @__PURE__ */ e(
3260
- on,
3261
+ ln,
3261
3262
  {
3262
3263
  briefings: Ie,
3263
3264
  dashboardLabel: pe,
@@ -3321,7 +3322,7 @@ function vn({
3321
3322
  }
3322
3323
  ),
3323
3324
  ce && _ && $ ? /* @__PURE__ */ e(
3324
- xn,
3325
+ vn,
3325
3326
  {
3326
3327
  briefingId: ce.briefing.id,
3327
3328
  initialRun: ce.run,
@@ -3382,7 +3383,7 @@ function vn({
3382
3383
  /* @__PURE__ */ r(nt, { children: [
3383
3384
  /* @__PURE__ */ e(st, { children: "Cancel" }),
3384
3385
  /* @__PURE__ */ r(
3385
- Nt,
3386
+ wt,
3386
3387
  {
3387
3388
  className: "bg-destructive/90 hover:bg-destructive",
3388
3389
  onClick: _t,
@@ -3399,23 +3400,23 @@ function vn({
3399
3400
  )
3400
3401
  ] }) : null;
3401
3402
  }
3402
- function yn() {
3403
+ function Cn() {
3403
3404
  return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `briefing-run-now-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
3404
3405
  }
3405
3406
  export {
3406
- zn as A,
3407
- Gn as D,
3408
- Pa as E,
3409
- Wn as N,
3410
- _n as U,
3411
- On as V,
3412
- Qa as W,
3413
- za as a,
3414
- Ka as b,
3407
+ $n as A,
3408
+ _a as D,
3409
+ Oa as E,
3410
+ Gn as N,
3411
+ jn as U,
3412
+ zn as V,
3413
+ Ja as W,
3414
+ _n as a,
3415
+ Ma as b,
3415
3416
  Hn as c,
3416
- $a as d,
3417
- Ma as e,
3418
- Mn as f,
3419
- jn as g,
3420
- $n as u
3417
+ ja as d,
3418
+ qa as e,
3419
+ Kn as f,
3420
+ qn as g,
3421
+ Wn as u
3421
3422
  };